From 4cf2e30314119c0cfc1b61681e9da6ec11990eb7 Mon Sep 17 00:00:00 2001 From: patrickelectric Date: Wed, 3 Jan 2024 22:32:16 +0000 Subject: [PATCH] deploy: 76a28133e2de4220f507dca43072c2e639bfbb3b --- .../enum.AccelcalVehiclePos.html | 2 +- .../enum.ActuatorConfiguration.html | 2 +- .../enum.ActuatorOutputFunction.html | 2 +- .../ardupilotmega/enum.AdsbAltitudeType.html | 2 +- .../ardupilotmega/enum.AdsbEmitterType.html | 2 +- mavlink/ardupilotmega/enum.AisNavStatus.html | 2 +- mavlink/ardupilotmega/enum.AisType.html | 2 +- mavlink/ardupilotmega/enum.AutotuneAxis.html | 2 +- .../enum.CameraFeedbackFlags.html | 2 +- mavlink/ardupilotmega/enum.CameraMode.html | 2 +- .../ardupilotmega/enum.CameraStatusTypes.html | 2 +- .../enum.CameraTrackingMode.html | 2 +- .../enum.CameraTrackingStatusFlags.html | 2 +- .../enum.CameraTrackingTargetData.html | 2 +- .../ardupilotmega/enum.CameraZoomType.html | 2 +- mavlink/ardupilotmega/enum.CanFilterOp.html | 2 +- .../enum.CellularConfigResponse.html | 2 +- .../enum.CellularNetworkFailedReason.html | 2 +- .../enum.CellularNetworkRadioType.html | 2 +- .../enum.CellularStatusFlag.html | 2 +- .../ardupilotmega/enum.CompMetadataType.html | 2 +- mavlink/ardupilotmega/enum.CopterMode.html | 2 +- .../ardupilotmega/enum.DeepstallStage.html | 2 +- .../ardupilotmega/enum.DeviceOpBustype.html | 2 +- .../ardupilotmega/enum.EscConnectionType.html | 2 +- mavlink/ardupilotmega/enum.FailureType.html | 2 +- mavlink/ardupilotmega/enum.FailureUnit.html | 2 +- mavlink/ardupilotmega/enum.FenceAction.html | 2 +- mavlink/ardupilotmega/enum.FenceBreach.html | 2 +- mavlink/ardupilotmega/enum.FenceMitigate.html | 2 +- .../enum.FirmwareVersionType.html | 2 +- mavlink/ardupilotmega/enum.GimbalAxis.html | 2 +- .../enum.GimbalAxisCalibrationRequired.html | 2 +- .../enum.GimbalAxisCalibrationStatus.html | 2 +- .../enum.GimbalManagerFlags.html | 2 +- .../ardupilotmega/enum.GoproBurstRate.html | 2 +- .../ardupilotmega/enum.GoproCaptureMode.html | 2 +- mavlink/ardupilotmega/enum.GoproCharging.html | 2 +- mavlink/ardupilotmega/enum.GoproCommand.html | 2 +- .../ardupilotmega/enum.GoproFieldOfView.html | 2 +- .../ardupilotmega/enum.GoproFrameRate.html | 2 +- .../enum.GoproHeartbeatStatus.html | 2 +- mavlink/ardupilotmega/enum.GoproModel.html | 2 +- .../enum.GoproPhotoResolution.html | 2 +- .../enum.GoproProtuneColour.html | 2 +- .../enum.GoproProtuneExposure.html | 2 +- .../ardupilotmega/enum.GoproProtuneGain.html | 2 +- .../enum.GoproProtuneSharpness.html | 2 +- .../enum.GoproProtuneWhiteBalance.html | 2 +- .../enum.GoproRequestStatus.html | 2 +- .../ardupilotmega/enum.GoproResolution.html | 2 +- .../enum.GoproVideoSettingsFlags.html | 2 +- mavlink/ardupilotmega/enum.GpsFixType.html | 2 +- .../ardupilotmega/enum.GripperActions.html | 2 +- mavlink/ardupilotmega/enum.HeadingType.html | 2 +- .../ardupilotmega/enum.IcarousFmsState.html | 2 +- .../enum.IcarousTrackBandTypes.html | 2 +- .../ardupilotmega/enum.LandingTargetType.html | 2 +- .../ardupilotmega/enum.LedControlPattern.html | 2 +- mavlink/ardupilotmega/enum.LimitsState.html | 2 +- mavlink/ardupilotmega/enum.MagCalStatus.html | 2 +- .../enum.MavArmAuthDeniedReason.html | 2 +- mavlink/ardupilotmega/enum.MavAutopilot.html | 2 +- .../enum.MavBatteryChargeState.html | 2 +- .../ardupilotmega/enum.MavBatteryFault.html | 2 +- .../enum.MavBatteryFunction.html | 2 +- .../ardupilotmega/enum.MavBatteryMode.html | 2 +- .../ardupilotmega/enum.MavBatteryType.html | 2 +- mavlink/ardupilotmega/enum.MavCmd.html | 2 +- mavlink/ardupilotmega/enum.MavCmdAck.html | 2 +- .../enum.MavCmdDoAuxFunctionSwitchLevel.html | 2 +- .../enum.MavCollisionAction.html | 2 +- .../ardupilotmega/enum.MavCollisionSrc.html | 2 +- .../enum.MavCollisionThreatLevel.html | 2 +- mavlink/ardupilotmega/enum.MavComponent.html | 2 +- mavlink/ardupilotmega/enum.MavDataStream.html | 2 +- .../ardupilotmega/enum.MavDistanceSensor.html | 2 +- .../enum.MavDoRepositionFlags.html | 2 +- .../ardupilotmega/enum.MavEstimatorType.html | 2 +- .../enum.MavEventErrorReason.html | 2 +- mavlink/ardupilotmega/enum.MavFrame.html | 2 +- mavlink/ardupilotmega/enum.MavFtpErr.html | 2 +- mavlink/ardupilotmega/enum.MavFtpOpcode.html | 2 +- mavlink/ardupilotmega/enum.MavGoto.html | 2 +- .../ardupilotmega/enum.MavLandedState.html | 2 +- mavlink/ardupilotmega/enum.MavMessage.html | 536 +++++++++--------- .../ardupilotmega/enum.MavMissionResult.html | 2 +- .../ardupilotmega/enum.MavMissionType.html | 2 +- mavlink/ardupilotmega/enum.MavMode.html | 2 +- .../enum.MavModeFlagDecodePosition.html | 2 +- mavlink/ardupilotmega/enum.MavModeGimbal.html | 2 +- mavlink/ardupilotmega/enum.MavMountMode.html | 2 +- .../ardupilotmega/enum.MavOdidArmStatus.html | 2 +- .../ardupilotmega/enum.MavOdidAuthType.html | 2 +- .../ardupilotmega/enum.MavOdidCategoryEu.html | 2 +- .../ardupilotmega/enum.MavOdidClassEu.html | 2 +- .../enum.MavOdidClassificationType.html | 2 +- .../ardupilotmega/enum.MavOdidDescType.html | 2 +- .../ardupilotmega/enum.MavOdidHeightRef.html | 2 +- mavlink/ardupilotmega/enum.MavOdidHorAcc.html | 2 +- mavlink/ardupilotmega/enum.MavOdidIdType.html | 2 +- .../enum.MavOdidOperatorIdType.html | 2 +- .../enum.MavOdidOperatorLocationType.html | 2 +- .../ardupilotmega/enum.MavOdidSpeedAcc.html | 2 +- mavlink/ardupilotmega/enum.MavOdidStatus.html | 2 +- .../ardupilotmega/enum.MavOdidTimeAcc.html | 2 +- mavlink/ardupilotmega/enum.MavOdidUaType.html | 2 +- mavlink/ardupilotmega/enum.MavOdidVerAcc.html | 2 +- .../ardupilotmega/enum.MavParamExtType.html | 2 +- mavlink/ardupilotmega/enum.MavParamType.html | 2 +- .../enum.MavRemoteLogDataBlockCommands.html | 2 +- .../enum.MavRemoteLogDataBlockStatuses.html | 2 +- mavlink/ardupilotmega/enum.MavResult.html | 2 +- mavlink/ardupilotmega/enum.MavRoi.html | 2 +- .../enum.MavSensorOrientation.html | 2 +- mavlink/ardupilotmega/enum.MavSeverity.html | 2 +- mavlink/ardupilotmega/enum.MavState.html | 2 +- .../enum.MavSysStatusSensorExtended.html | 2 +- .../enum.MavTunnelPayloadType.html | 2 +- mavlink/ardupilotmega/enum.MavType.html | 2 +- mavlink/ardupilotmega/enum.MavVtolState.html | 2 +- .../enum.MavlinkDataStreamType.html | 2 +- mavlink/ardupilotmega/enum.MissionState.html | 2 +- .../ardupilotmega/enum.MotorTestOrder.html | 2 +- .../enum.MotorTestThrottleType.html | 2 +- .../enum.NavVtolLandOptions.html | 2 +- .../ardupilotmega/enum.OrbitYawBehaviour.html | 2 +- .../enum.OsdParamConfigError.html | 2 +- .../enum.OsdParamConfigType.html | 2 +- .../ardupilotmega/enum.ParachuteAction.html | 2 +- mavlink/ardupilotmega/enum.ParamAck.html | 2 +- mavlink/ardupilotmega/enum.PidTuningAxis.html | 2 +- mavlink/ardupilotmega/enum.PlaneMode.html | 2 +- .../ardupilotmega/enum.PrecisionLandMode.html | 2 +- .../enum.PreflightStorageMissionAction.html | 2 +- .../enum.PreflightStorageParameterAction.html | 2 +- mavlink/ardupilotmega/enum.RcType.html | 2 +- mavlink/ardupilotmega/enum.RoverMode.html | 2 +- .../enum.RtkBaselineCoordinateSystem.html | 2 +- mavlink/ardupilotmega/enum.ScriptingCmd.html | 2 +- .../ardupilotmega/enum.SerialControlDev.html | 2 +- mavlink/ardupilotmega/enum.SetFocusType.html | 2 +- mavlink/ardupilotmega/enum.SpeedType.html | 2 +- mavlink/ardupilotmega/enum.StorageStatus.html | 2 +- mavlink/ardupilotmega/enum.StorageType.html | 2 +- .../ardupilotmega/enum.StorageUsageFlag.html | 2 +- mavlink/ardupilotmega/enum.SubMode.html | 2 +- mavlink/ardupilotmega/enum.TrackerMode.html | 2 +- .../ardupilotmega/enum.UavcanNodeHealth.html | 2 +- .../ardupilotmega/enum.UavcanNodeMode.html | 2 +- .../enum.UavionixAdsbEmergencyStatus.html | 2 +- .../enum.UavionixAdsbOutCfgAircraftSize.html | 2 +- .../enum.UavionixAdsbOutCfgGpsOffsetLat.html | 2 +- .../enum.UavionixAdsbOutCfgGpsOffsetLon.html | 2 +- .../enum.UavionixAdsbOutDynamicGpsFix.html | 2 +- .../ardupilotmega/enum.UtmFlightState.html | 2 +- .../enum.VideoStreamStatusFlags.html | 2 +- .../ardupilotmega/enum.VideoStreamType.html | 2 +- .../enum.VtolTransitionHeading.html | 2 +- .../ardupilotmega/enum.WifiConfigApMode.html | 2 +- .../enum.WifiConfigApResponse.html | 2 +- mavlink/ardupilotmega/enum.WinchActions.html | 2 +- mavlink/ardupilotmega/struct.AdsbFlags.html | 16 +- mavlink/ardupilotmega/struct.AisFlags.html | 16 +- .../struct.AttitudeTargetTypemask.html | 8 +- .../ardupilotmega/struct.CameraCapFlags.html | 16 +- .../ardupilotmega/struct.EkfStatusFlags.html | 14 +- .../ardupilotmega/struct.EscFailureFlags.html | 16 +- .../struct.EstimatorStatusFlags.html | 16 +- .../struct.GimbalDeviceCapFlags.html | 12 +- .../struct.GimbalDeviceErrorFlags.html | 18 +- .../struct.GimbalDeviceFlags.html | 18 +- .../struct.GimbalManagerCapFlags.html | 14 +- .../struct.GoproHeartbeatFlags.html | 18 +- .../struct.GpsInputIgnoreFlags.html | 16 +- .../struct.HighresImuUpdatedFlags.html | 14 +- .../struct.HilSensorUpdatedFlags.html | 16 +- .../ardupilotmega/struct.HlFailureFlag.html | 14 +- mavlink/ardupilotmega/struct.LimitModule.html | 14 +- .../struct.MavEventCurrentSequenceFlags.html | 12 +- .../struct.MavGeneratorStatusFlag.html | 14 +- mavlink/ardupilotmega/struct.MavModeFlag.html | 16 +- .../ardupilotmega/struct.MavPowerStatus.html | 16 +- .../struct.MavProtocolCapability.html | 12 +- .../struct.MavSysStatusSensor.html | 14 +- .../struct.MavWinchStatusFlag.html | 12 +- .../struct.PositionTargetTypemask.html | 16 +- mavlink/ardupilotmega/struct.RallyFlags.html | 16 +- .../struct.SerialControlFlag.html | 16 +- mavlink/ardupilotmega/struct.TuneFormat.html | 14 +- .../struct.UavionixAdsbOutDynamicState.html | 16 +- .../struct.UavionixAdsbOutRfSelect.html | 18 +- .../struct.UavionixAdsbRfHealth.html | 18 +- .../struct.UtmDataAvailFlags.html | 18 +- .../common/enum.ActuatorConfiguration.html | 2 +- .../common/enum.ActuatorOutputFunction.html | 2 +- mavlink/common/enum.AdsbAltitudeType.html | 2 +- mavlink/common/enum.AdsbEmitterType.html | 2 +- mavlink/common/enum.AisNavStatus.html | 2 +- mavlink/common/enum.AisType.html | 2 +- mavlink/common/enum.AutotuneAxis.html | 2 +- mavlink/common/enum.CameraMode.html | 2 +- mavlink/common/enum.CameraTrackingMode.html | 2 +- .../enum.CameraTrackingStatusFlags.html | 2 +- .../common/enum.CameraTrackingTargetData.html | 2 +- mavlink/common/enum.CameraZoomType.html | 2 +- mavlink/common/enum.CanFilterOp.html | 2 +- .../common/enum.CellularConfigResponse.html | 2 +- .../enum.CellularNetworkFailedReason.html | 2 +- .../common/enum.CellularNetworkRadioType.html | 2 +- mavlink/common/enum.CellularStatusFlag.html | 2 +- mavlink/common/enum.CompMetadataType.html | 2 +- mavlink/common/enum.EscConnectionType.html | 2 +- mavlink/common/enum.FailureType.html | 2 +- mavlink/common/enum.FailureUnit.html | 2 +- mavlink/common/enum.FenceAction.html | 2 +- mavlink/common/enum.FenceBreach.html | 2 +- mavlink/common/enum.FenceMitigate.html | 2 +- mavlink/common/enum.FirmwareVersionType.html | 2 +- mavlink/common/enum.GimbalManagerFlags.html | 2 +- mavlink/common/enum.GpsFixType.html | 2 +- mavlink/common/enum.GripperActions.html | 2 +- mavlink/common/enum.LandingTargetType.html | 2 +- mavlink/common/enum.MagCalStatus.html | 2 +- .../common/enum.MavArmAuthDeniedReason.html | 2 +- mavlink/common/enum.MavAutopilot.html | 2 +- .../common/enum.MavBatteryChargeState.html | 2 +- mavlink/common/enum.MavBatteryFault.html | 2 +- mavlink/common/enum.MavBatteryFunction.html | 2 +- mavlink/common/enum.MavBatteryMode.html | 2 +- mavlink/common/enum.MavBatteryType.html | 2 +- mavlink/common/enum.MavCmd.html | 2 +- mavlink/common/enum.MavCmdAck.html | 2 +- mavlink/common/enum.MavCollisionAction.html | 2 +- mavlink/common/enum.MavCollisionSrc.html | 2 +- .../common/enum.MavCollisionThreatLevel.html | 2 +- mavlink/common/enum.MavComponent.html | 2 +- mavlink/common/enum.MavDataStream.html | 2 +- mavlink/common/enum.MavDistanceSensor.html | 2 +- mavlink/common/enum.MavDoRepositionFlags.html | 2 +- mavlink/common/enum.MavEstimatorType.html | 2 +- mavlink/common/enum.MavEventErrorReason.html | 2 +- mavlink/common/enum.MavFrame.html | 2 +- mavlink/common/enum.MavFtpErr.html | 2 +- mavlink/common/enum.MavFtpOpcode.html | 2 +- mavlink/common/enum.MavGoto.html | 2 +- mavlink/common/enum.MavLandedState.html | 2 +- mavlink/common/enum.MavMessage.html | 396 ++++++------- mavlink/common/enum.MavMissionResult.html | 2 +- mavlink/common/enum.MavMissionType.html | 2 +- mavlink/common/enum.MavMode.html | 2 +- .../enum.MavModeFlagDecodePosition.html | 2 +- mavlink/common/enum.MavMountMode.html | 2 +- mavlink/common/enum.MavOdidArmStatus.html | 2 +- mavlink/common/enum.MavOdidAuthType.html | 2 +- mavlink/common/enum.MavOdidCategoryEu.html | 2 +- mavlink/common/enum.MavOdidClassEu.html | 2 +- .../enum.MavOdidClassificationType.html | 2 +- mavlink/common/enum.MavOdidDescType.html | 2 +- mavlink/common/enum.MavOdidHeightRef.html | 2 +- mavlink/common/enum.MavOdidHorAcc.html | 2 +- mavlink/common/enum.MavOdidIdType.html | 2 +- .../common/enum.MavOdidOperatorIdType.html | 2 +- .../enum.MavOdidOperatorLocationType.html | 2 +- mavlink/common/enum.MavOdidSpeedAcc.html | 2 +- mavlink/common/enum.MavOdidStatus.html | 2 +- mavlink/common/enum.MavOdidTimeAcc.html | 2 +- mavlink/common/enum.MavOdidUaType.html | 2 +- mavlink/common/enum.MavOdidVerAcc.html | 2 +- mavlink/common/enum.MavParamExtType.html | 2 +- mavlink/common/enum.MavParamType.html | 2 +- mavlink/common/enum.MavResult.html | 2 +- mavlink/common/enum.MavRoi.html | 2 +- mavlink/common/enum.MavSensorOrientation.html | 2 +- mavlink/common/enum.MavSeverity.html | 2 +- mavlink/common/enum.MavState.html | 2 +- .../enum.MavSysStatusSensorExtended.html | 2 +- mavlink/common/enum.MavTunnelPayloadType.html | 2 +- mavlink/common/enum.MavType.html | 2 +- mavlink/common/enum.MavVtolState.html | 2 +- .../common/enum.MavlinkDataStreamType.html | 2 +- mavlink/common/enum.MissionState.html | 2 +- mavlink/common/enum.MotorTestOrder.html | 2 +- .../common/enum.MotorTestThrottleType.html | 2 +- mavlink/common/enum.NavVtolLandOptions.html | 2 +- mavlink/common/enum.OrbitYawBehaviour.html | 2 +- mavlink/common/enum.ParachuteAction.html | 2 +- mavlink/common/enum.ParamAck.html | 2 +- mavlink/common/enum.PrecisionLandMode.html | 2 +- .../enum.PreflightStorageMissionAction.html | 2 +- .../enum.PreflightStorageParameterAction.html | 2 +- mavlink/common/enum.RcType.html | 2 +- .../enum.RtkBaselineCoordinateSystem.html | 2 +- mavlink/common/enum.SerialControlDev.html | 2 +- mavlink/common/enum.SetFocusType.html | 2 +- mavlink/common/enum.StorageStatus.html | 2 +- mavlink/common/enum.StorageType.html | 2 +- mavlink/common/enum.StorageUsageFlag.html | 2 +- mavlink/common/enum.UavcanNodeHealth.html | 2 +- mavlink/common/enum.UavcanNodeMode.html | 2 +- mavlink/common/enum.UtmFlightState.html | 2 +- .../common/enum.VideoStreamStatusFlags.html | 2 +- mavlink/common/enum.VideoStreamType.html | 2 +- .../common/enum.VtolTransitionHeading.html | 2 +- mavlink/common/enum.WifiConfigApMode.html | 2 +- mavlink/common/enum.WifiConfigApResponse.html | 2 +- mavlink/common/enum.WinchActions.html | 2 +- mavlink/common/struct.AdsbFlags.html | 18 +- mavlink/common/struct.AisFlags.html | 16 +- .../common/struct.AttitudeTargetTypemask.html | 14 +- mavlink/common/struct.CameraCapFlags.html | 14 +- mavlink/common/struct.EscFailureFlags.html | 12 +- .../common/struct.EstimatorStatusFlags.html | 16 +- .../common/struct.GimbalDeviceCapFlags.html | 18 +- .../common/struct.GimbalDeviceErrorFlags.html | 16 +- mavlink/common/struct.GimbalDeviceFlags.html | 16 +- .../common/struct.GimbalManagerCapFlags.html | 18 +- .../common/struct.GpsInputIgnoreFlags.html | 18 +- .../common/struct.HighresImuUpdatedFlags.html | 16 +- .../common/struct.HilSensorUpdatedFlags.html | 16 +- mavlink/common/struct.HlFailureFlag.html | 16 +- .../struct.MavEventCurrentSequenceFlags.html | 16 +- .../common/struct.MavGeneratorStatusFlag.html | 14 +- mavlink/common/struct.MavModeFlag.html | 10 +- mavlink/common/struct.MavPowerStatus.html | 16 +- .../common/struct.MavProtocolCapability.html | 16 +- mavlink/common/struct.MavSysStatusSensor.html | 16 +- mavlink/common/struct.MavWinchStatusFlag.html | 14 +- .../common/struct.PositionTargetTypemask.html | 18 +- mavlink/common/struct.SerialControlFlag.html | 14 +- mavlink/common/struct.TuneFormat.html | 8 +- mavlink/common/struct.UtmDataAvailFlags.html | 16 +- mavlink/icarous/enum.IcarousFmsState.html | 2 +- .../icarous/enum.IcarousTrackBandTypes.html | 2 +- mavlink/icarous/enum.MavMessage.html | 6 +- .../uavionix/enum.ActuatorConfiguration.html | 2 +- .../uavionix/enum.ActuatorOutputFunction.html | 2 +- mavlink/uavionix/enum.AdsbAltitudeType.html | 2 +- mavlink/uavionix/enum.AdsbEmitterType.html | 2 +- mavlink/uavionix/enum.AisNavStatus.html | 2 +- mavlink/uavionix/enum.AisType.html | 2 +- mavlink/uavionix/enum.AutotuneAxis.html | 2 +- mavlink/uavionix/enum.CameraMode.html | 2 +- mavlink/uavionix/enum.CameraTrackingMode.html | 2 +- .../enum.CameraTrackingStatusFlags.html | 2 +- .../enum.CameraTrackingTargetData.html | 2 +- mavlink/uavionix/enum.CameraZoomType.html | 2 +- mavlink/uavionix/enum.CanFilterOp.html | 2 +- .../uavionix/enum.CellularConfigResponse.html | 2 +- .../enum.CellularNetworkFailedReason.html | 2 +- .../enum.CellularNetworkRadioType.html | 2 +- mavlink/uavionix/enum.CellularStatusFlag.html | 2 +- mavlink/uavionix/enum.CompMetadataType.html | 2 +- mavlink/uavionix/enum.EscConnectionType.html | 2 +- mavlink/uavionix/enum.FailureType.html | 2 +- mavlink/uavionix/enum.FailureUnit.html | 2 +- mavlink/uavionix/enum.FenceAction.html | 2 +- mavlink/uavionix/enum.FenceBreach.html | 2 +- mavlink/uavionix/enum.FenceMitigate.html | 2 +- .../uavionix/enum.FirmwareVersionType.html | 2 +- mavlink/uavionix/enum.GimbalManagerFlags.html | 2 +- mavlink/uavionix/enum.GpsFixType.html | 2 +- mavlink/uavionix/enum.GripperActions.html | 2 +- mavlink/uavionix/enum.LandingTargetType.html | 2 +- mavlink/uavionix/enum.MagCalStatus.html | 2 +- .../uavionix/enum.MavArmAuthDeniedReason.html | 2 +- mavlink/uavionix/enum.MavAutopilot.html | 2 +- .../uavionix/enum.MavBatteryChargeState.html | 2 +- mavlink/uavionix/enum.MavBatteryFault.html | 2 +- mavlink/uavionix/enum.MavBatteryFunction.html | 2 +- mavlink/uavionix/enum.MavBatteryMode.html | 2 +- mavlink/uavionix/enum.MavBatteryType.html | 2 +- mavlink/uavionix/enum.MavCmd.html | 2 +- mavlink/uavionix/enum.MavCmdAck.html | 2 +- mavlink/uavionix/enum.MavCollisionAction.html | 2 +- mavlink/uavionix/enum.MavCollisionSrc.html | 2 +- .../enum.MavCollisionThreatLevel.html | 2 +- mavlink/uavionix/enum.MavComponent.html | 2 +- mavlink/uavionix/enum.MavDataStream.html | 2 +- mavlink/uavionix/enum.MavDistanceSensor.html | 2 +- .../uavionix/enum.MavDoRepositionFlags.html | 2 +- mavlink/uavionix/enum.MavEstimatorType.html | 2 +- .../uavionix/enum.MavEventErrorReason.html | 2 +- mavlink/uavionix/enum.MavFrame.html | 2 +- mavlink/uavionix/enum.MavFtpErr.html | 2 +- mavlink/uavionix/enum.MavFtpOpcode.html | 2 +- mavlink/uavionix/enum.MavGoto.html | 2 +- mavlink/uavionix/enum.MavLandedState.html | 2 +- mavlink/uavionix/enum.MavMessage.html | 398 ++++++------- mavlink/uavionix/enum.MavMissionResult.html | 2 +- mavlink/uavionix/enum.MavMissionType.html | 2 +- mavlink/uavionix/enum.MavMode.html | 2 +- .../enum.MavModeFlagDecodePosition.html | 2 +- mavlink/uavionix/enum.MavMountMode.html | 2 +- mavlink/uavionix/enum.MavOdidArmStatus.html | 2 +- mavlink/uavionix/enum.MavOdidAuthType.html | 2 +- mavlink/uavionix/enum.MavOdidCategoryEu.html | 2 +- mavlink/uavionix/enum.MavOdidClassEu.html | 2 +- .../enum.MavOdidClassificationType.html | 2 +- mavlink/uavionix/enum.MavOdidDescType.html | 2 +- mavlink/uavionix/enum.MavOdidHeightRef.html | 2 +- mavlink/uavionix/enum.MavOdidHorAcc.html | 2 +- mavlink/uavionix/enum.MavOdidIdType.html | 2 +- .../uavionix/enum.MavOdidOperatorIdType.html | 2 +- .../enum.MavOdidOperatorLocationType.html | 2 +- mavlink/uavionix/enum.MavOdidSpeedAcc.html | 2 +- mavlink/uavionix/enum.MavOdidStatus.html | 2 +- mavlink/uavionix/enum.MavOdidTimeAcc.html | 2 +- mavlink/uavionix/enum.MavOdidUaType.html | 2 +- mavlink/uavionix/enum.MavOdidVerAcc.html | 2 +- mavlink/uavionix/enum.MavParamExtType.html | 2 +- mavlink/uavionix/enum.MavParamType.html | 2 +- mavlink/uavionix/enum.MavResult.html | 2 +- mavlink/uavionix/enum.MavRoi.html | 2 +- .../uavionix/enum.MavSensorOrientation.html | 2 +- mavlink/uavionix/enum.MavSeverity.html | 2 +- mavlink/uavionix/enum.MavState.html | 2 +- .../enum.MavSysStatusSensorExtended.html | 2 +- .../uavionix/enum.MavTunnelPayloadType.html | 2 +- mavlink/uavionix/enum.MavType.html | 2 +- mavlink/uavionix/enum.MavVtolState.html | 2 +- .../uavionix/enum.MavlinkDataStreamType.html | 2 +- mavlink/uavionix/enum.MissionState.html | 2 +- mavlink/uavionix/enum.MotorTestOrder.html | 2 +- .../uavionix/enum.MotorTestThrottleType.html | 2 +- mavlink/uavionix/enum.NavVtolLandOptions.html | 2 +- mavlink/uavionix/enum.OrbitYawBehaviour.html | 2 +- mavlink/uavionix/enum.ParachuteAction.html | 2 +- mavlink/uavionix/enum.ParamAck.html | 2 +- mavlink/uavionix/enum.PrecisionLandMode.html | 2 +- .../enum.PreflightStorageMissionAction.html | 2 +- .../enum.PreflightStorageParameterAction.html | 2 +- mavlink/uavionix/enum.RcType.html | 2 +- .../enum.RtkBaselineCoordinateSystem.html | 2 +- mavlink/uavionix/enum.SerialControlDev.html | 2 +- mavlink/uavionix/enum.SetFocusType.html | 2 +- mavlink/uavionix/enum.StorageStatus.html | 2 +- mavlink/uavionix/enum.StorageType.html | 2 +- mavlink/uavionix/enum.StorageUsageFlag.html | 2 +- mavlink/uavionix/enum.UavcanNodeHealth.html | 2 +- mavlink/uavionix/enum.UavcanNodeMode.html | 2 +- .../enum.UavionixAdsbEmergencyStatus.html | 2 +- .../enum.UavionixAdsbOutCfgAircraftSize.html | 2 +- .../enum.UavionixAdsbOutCfgGpsOffsetLat.html | 2 +- .../enum.UavionixAdsbOutCfgGpsOffsetLon.html | 2 +- .../enum.UavionixAdsbOutDynamicGpsFix.html | 2 +- mavlink/uavionix/enum.UtmFlightState.html | 2 +- .../uavionix/enum.VideoStreamStatusFlags.html | 2 +- mavlink/uavionix/enum.VideoStreamType.html | 2 +- .../uavionix/enum.VtolTransitionHeading.html | 2 +- mavlink/uavionix/enum.WifiConfigApMode.html | 2 +- .../uavionix/enum.WifiConfigApResponse.html | 2 +- mavlink/uavionix/enum.WinchActions.html | 2 +- mavlink/uavionix/struct.AdsbFlags.html | 8 +- mavlink/uavionix/struct.AisFlags.html | 14 +- .../struct.AttitudeTargetTypemask.html | 8 +- mavlink/uavionix/struct.CameraCapFlags.html | 14 +- mavlink/uavionix/struct.EscFailureFlags.html | 12 +- .../uavionix/struct.EstimatorStatusFlags.html | 10 +- .../uavionix/struct.GimbalDeviceCapFlags.html | 14 +- .../struct.GimbalDeviceErrorFlags.html | 14 +- .../uavionix/struct.GimbalDeviceFlags.html | 16 +- .../struct.GimbalManagerCapFlags.html | 16 +- .../uavionix/struct.GpsInputIgnoreFlags.html | 14 +- .../struct.HighresImuUpdatedFlags.html | 18 +- .../struct.HilSensorUpdatedFlags.html | 12 +- mavlink/uavionix/struct.HlFailureFlag.html | 14 +- .../struct.MavEventCurrentSequenceFlags.html | 12 +- .../struct.MavGeneratorStatusFlag.html | 18 +- mavlink/uavionix/struct.MavModeFlag.html | 16 +- mavlink/uavionix/struct.MavPowerStatus.html | 18 +- .../struct.MavProtocolCapability.html | 16 +- .../uavionix/struct.MavSysStatusSensor.html | 16 +- .../uavionix/struct.MavWinchStatusFlag.html | 16 +- .../struct.PositionTargetTypemask.html | 10 +- .../uavionix/struct.SerialControlFlag.html | 18 +- mavlink/uavionix/struct.TuneFormat.html | 16 +- .../struct.UavionixAdsbOutDynamicState.html | 16 +- .../struct.UavionixAdsbOutRfSelect.html | 10 +- .../uavionix/struct.UavionixAdsbRfHealth.html | 12 +- .../uavionix/struct.UtmDataAvailFlags.html | 16 +- search-index.js | 2 +- .../out/ardupilotmega.rs.html | 2 +- .../out/common.rs.html | 2 +- .../out/icarous.rs.html | 2 +- .../out/uavionix.rs.html | 2 +- trait.impl/core/clone/trait.Clone.js | 2 +- trait.impl/core/cmp/trait.Eq.js | 2 +- trait.impl/core/cmp/trait.Ord.js | 2 +- trait.impl/core/cmp/trait.PartialEq.js | 2 +- trait.impl/core/cmp/trait.PartialOrd.js | 2 +- trait.impl/core/default/trait.Default.js | 2 +- trait.impl/core/fmt/trait.Binary.js | 2 +- trait.impl/core/fmt/trait.Debug.js | 2 +- trait.impl/core/fmt/trait.LowerHex.js | 2 +- trait.impl/core/fmt/trait.Octal.js | 2 +- trait.impl/core/fmt/trait.UpperHex.js | 2 +- trait.impl/core/hash/trait.Hash.js | 2 +- .../core/iter/traits/collect/trait.Extend.js | 2 +- .../iter/traits/collect/trait.FromIterator.js | 2 +- trait.impl/core/marker/trait.Copy.js | 2 +- trait.impl/core/marker/trait.Freeze.js | 2 +- trait.impl/core/marker/trait.Send.js | 2 +- trait.impl/core/marker/trait.StructuralEq.js | 2 +- .../core/marker/trait.StructuralPartialEq.js | 2 +- trait.impl/core/marker/trait.Sync.js | 2 +- trait.impl/core/marker/trait.Unpin.js | 2 +- trait.impl/core/ops/arith/trait.Sub.js | 2 +- trait.impl/core/ops/arith/trait.SubAssign.js | 2 +- trait.impl/core/ops/bit/trait.BitAnd.js | 2 +- trait.impl/core/ops/bit/trait.BitAndAssign.js | 2 +- trait.impl/core/ops/bit/trait.BitOr.js | 2 +- trait.impl/core/ops/bit/trait.BitOrAssign.js | 2 +- trait.impl/core/ops/bit/trait.BitXor.js | 2 +- trait.impl/core/ops/bit/trait.BitXorAssign.js | 2 +- trait.impl/core/ops/bit/trait.Not.js | 2 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 2 +- .../panic/unwind_safe/trait.UnwindSafe.js | 2 +- trait.impl/serde/de/trait.Deserialize.js | 2 +- trait.impl/serde/ser/trait.Serialize.js | 2 +- 520 files changed, 1729 insertions(+), 1729 deletions(-) diff --git a/mavlink/ardupilotmega/enum.AccelcalVehiclePos.html b/mavlink/ardupilotmega/enum.AccelcalVehiclePos.html index 697d49fbad..e5a550a8b8 100644 --- a/mavlink/ardupilotmega/enum.AccelcalVehiclePos.html +++ b/mavlink/ardupilotmega/enum.AccelcalVehiclePos.html @@ -1,4 +1,4 @@ -AccelcalVehiclePos in mavlink::ardupilotmega - Rust
pub enum AccelcalVehiclePos {
+AccelcalVehiclePos in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum AccelcalVehiclePos { ACCELCAL_VEHICLE_POS_LEVEL = 1, ACCELCAL_VEHICLE_POS_LEFT = 2, ACCELCAL_VEHICLE_POS_RIGHT = 3, diff --git a/mavlink/ardupilotmega/enum.ActuatorConfiguration.html b/mavlink/ardupilotmega/enum.ActuatorConfiguration.html index d5dc3a62f2..7897c3b3ce 100644 --- a/mavlink/ardupilotmega/enum.ActuatorConfiguration.html +++ b/mavlink/ardupilotmega/enum.ActuatorConfiguration.html @@ -1,4 +1,4 @@ -ActuatorConfiguration in mavlink::ardupilotmega - Rust
pub enum ActuatorConfiguration {
+ActuatorConfiguration in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum ActuatorConfiguration { ACTUATOR_CONFIGURATION_NONE = 0, ACTUATOR_CONFIGURATION_BEEP = 1, ACTUATOR_CONFIGURATION_3D_MODE_ON = 2, diff --git a/mavlink/ardupilotmega/enum.ActuatorOutputFunction.html b/mavlink/ardupilotmega/enum.ActuatorOutputFunction.html index c11c6995b1..5bdd3e803f 100644 --- a/mavlink/ardupilotmega/enum.ActuatorOutputFunction.html +++ b/mavlink/ardupilotmega/enum.ActuatorOutputFunction.html @@ -1,4 +1,4 @@ -ActuatorOutputFunction in mavlink::ardupilotmega - Rust
pub enum ActuatorOutputFunction {
+ActuatorOutputFunction in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum ActuatorOutputFunction {
Show 33 variants ACTUATOR_OUTPUT_FUNCTION_NONE = 0, ACTUATOR_OUTPUT_FUNCTION_MOTOR1 = 1, ACTUATOR_OUTPUT_FUNCTION_MOTOR2 = 2, diff --git a/mavlink/ardupilotmega/enum.AdsbAltitudeType.html b/mavlink/ardupilotmega/enum.AdsbAltitudeType.html index 7132667e7a..d13e6217f5 100644 --- a/mavlink/ardupilotmega/enum.AdsbAltitudeType.html +++ b/mavlink/ardupilotmega/enum.AdsbAltitudeType.html @@ -1,4 +1,4 @@ -AdsbAltitudeType in mavlink::ardupilotmega - Rust
pub enum AdsbAltitudeType {
+AdsbAltitudeType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum AdsbAltitudeType { ADSB_ALTITUDE_TYPE_PRESSURE_QNH = 0, ADSB_ALTITUDE_TYPE_GEOMETRIC = 1, }

Variants§

§

ADSB_ALTITUDE_TYPE_PRESSURE_QNH = 0

§

ADSB_ALTITUDE_TYPE_GEOMETRIC = 1

Implementations§

source§

impl AdsbAltitudeType

source

pub const DEFAULT: Self = Self::ADSB_ALTITUDE_TYPE_PRESSURE_QNH

Trait Implementations§

source§

impl Clone for AdsbAltitudeType

source§

fn clone(&self) -> AdsbAltitudeType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AdsbAltitudeType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AdsbAltitudeType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AdsbAltitudeType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.AdsbEmitterType.html b/mavlink/ardupilotmega/enum.AdsbEmitterType.html index 071c13a4d4..3456150502 100644 --- a/mavlink/ardupilotmega/enum.AdsbEmitterType.html +++ b/mavlink/ardupilotmega/enum.AdsbEmitterType.html @@ -1,4 +1,4 @@ -AdsbEmitterType in mavlink::ardupilotmega - Rust
pub enum AdsbEmitterType {
+AdsbEmitterType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum AdsbEmitterType {
Show 20 variants ADSB_EMITTER_TYPE_NO_INFO = 0, ADSB_EMITTER_TYPE_LIGHT = 1, ADSB_EMITTER_TYPE_SMALL = 2, diff --git a/mavlink/ardupilotmega/enum.AisNavStatus.html b/mavlink/ardupilotmega/enum.AisNavStatus.html index 78bcb7d47a..4e4381a1c9 100644 --- a/mavlink/ardupilotmega/enum.AisNavStatus.html +++ b/mavlink/ardupilotmega/enum.AisNavStatus.html @@ -1,4 +1,4 @@ -AisNavStatus in mavlink::ardupilotmega - Rust
pub enum AisNavStatus {
+AisNavStatus in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum AisNavStatus {
Show 16 variants UNDER_WAY = 0, AIS_NAV_ANCHORED = 1, AIS_NAV_UN_COMMANDED = 2, diff --git a/mavlink/ardupilotmega/enum.AisType.html b/mavlink/ardupilotmega/enum.AisType.html index 2435415df9..5d0560e35b 100644 --- a/mavlink/ardupilotmega/enum.AisType.html +++ b/mavlink/ardupilotmega/enum.AisType.html @@ -1,4 +1,4 @@ -AisType in mavlink::ardupilotmega - Rust
pub enum AisType {
+AisType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum AisType {
Show 100 variants AIS_TYPE_UNKNOWN = 0, AIS_TYPE_RESERVED_1 = 1, AIS_TYPE_RESERVED_2 = 2, diff --git a/mavlink/ardupilotmega/enum.AutotuneAxis.html b/mavlink/ardupilotmega/enum.AutotuneAxis.html index eb78cfd5c8..03437daa7d 100644 --- a/mavlink/ardupilotmega/enum.AutotuneAxis.html +++ b/mavlink/ardupilotmega/enum.AutotuneAxis.html @@ -1,4 +1,4 @@ -AutotuneAxis in mavlink::ardupilotmega - Rust
pub enum AutotuneAxis {
+AutotuneAxis in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum AutotuneAxis { AUTOTUNE_AXIS_DEFAULT = 0, AUTOTUNE_AXIS_ROLL = 1, AUTOTUNE_AXIS_PITCH = 2, diff --git a/mavlink/ardupilotmega/enum.CameraFeedbackFlags.html b/mavlink/ardupilotmega/enum.CameraFeedbackFlags.html index 5908132a44..6b81c6ac92 100644 --- a/mavlink/ardupilotmega/enum.CameraFeedbackFlags.html +++ b/mavlink/ardupilotmega/enum.CameraFeedbackFlags.html @@ -1,4 +1,4 @@ -CameraFeedbackFlags in mavlink::ardupilotmega - Rust
pub enum CameraFeedbackFlags {
+CameraFeedbackFlags in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CameraFeedbackFlags { CAMERA_FEEDBACK_PHOTO = 0, CAMERA_FEEDBACK_VIDEO = 1, CAMERA_FEEDBACK_BADEXPOSURE = 2, diff --git a/mavlink/ardupilotmega/enum.CameraMode.html b/mavlink/ardupilotmega/enum.CameraMode.html index 9b35f121cf..e31329b0f2 100644 --- a/mavlink/ardupilotmega/enum.CameraMode.html +++ b/mavlink/ardupilotmega/enum.CameraMode.html @@ -1,4 +1,4 @@ -CameraMode in mavlink::ardupilotmega - Rust
pub enum CameraMode {
+CameraMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CameraMode { CAMERA_MODE_IMAGE = 0, CAMERA_MODE_VIDEO = 1, CAMERA_MODE_IMAGE_SURVEY = 2, diff --git a/mavlink/ardupilotmega/enum.CameraStatusTypes.html b/mavlink/ardupilotmega/enum.CameraStatusTypes.html index a7a35a9da6..35071a58ef 100644 --- a/mavlink/ardupilotmega/enum.CameraStatusTypes.html +++ b/mavlink/ardupilotmega/enum.CameraStatusTypes.html @@ -1,4 +1,4 @@ -CameraStatusTypes in mavlink::ardupilotmega - Rust
pub enum CameraStatusTypes {
+CameraStatusTypes in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CameraStatusTypes { CAMERA_STATUS_TYPE_HEARTBEAT = 0, CAMERA_STATUS_TYPE_TRIGGER = 1, CAMERA_STATUS_TYPE_DISCONNECT = 2, diff --git a/mavlink/ardupilotmega/enum.CameraTrackingMode.html b/mavlink/ardupilotmega/enum.CameraTrackingMode.html index f4180ea619..b521f1cb71 100644 --- a/mavlink/ardupilotmega/enum.CameraTrackingMode.html +++ b/mavlink/ardupilotmega/enum.CameraTrackingMode.html @@ -1,4 +1,4 @@ -CameraTrackingMode in mavlink::ardupilotmega - Rust
pub enum CameraTrackingMode {
+CameraTrackingMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CameraTrackingMode { CAMERA_TRACKING_MODE_NONE = 0, CAMERA_TRACKING_MODE_POINT = 1, CAMERA_TRACKING_MODE_RECTANGLE = 2, diff --git a/mavlink/ardupilotmega/enum.CameraTrackingStatusFlags.html b/mavlink/ardupilotmega/enum.CameraTrackingStatusFlags.html index aa18337fed..a5e40c1a7a 100644 --- a/mavlink/ardupilotmega/enum.CameraTrackingStatusFlags.html +++ b/mavlink/ardupilotmega/enum.CameraTrackingStatusFlags.html @@ -1,4 +1,4 @@ -CameraTrackingStatusFlags in mavlink::ardupilotmega - Rust
pub enum CameraTrackingStatusFlags {
+CameraTrackingStatusFlags in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CameraTrackingStatusFlags { CAMERA_TRACKING_STATUS_FLAGS_IDLE = 0, CAMERA_TRACKING_STATUS_FLAGS_ACTIVE = 1, CAMERA_TRACKING_STATUS_FLAGS_ERROR = 2, diff --git a/mavlink/ardupilotmega/enum.CameraTrackingTargetData.html b/mavlink/ardupilotmega/enum.CameraTrackingTargetData.html index defbaf08b9..9282668be6 100644 --- a/mavlink/ardupilotmega/enum.CameraTrackingTargetData.html +++ b/mavlink/ardupilotmega/enum.CameraTrackingTargetData.html @@ -1,4 +1,4 @@ -CameraTrackingTargetData in mavlink::ardupilotmega - Rust
pub enum CameraTrackingTargetData {
+CameraTrackingTargetData in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CameraTrackingTargetData { CAMERA_TRACKING_TARGET_DATA_NONE = 0, CAMERA_TRACKING_TARGET_DATA_EMBEDDED = 1, CAMERA_TRACKING_TARGET_DATA_RENDERED = 2, diff --git a/mavlink/ardupilotmega/enum.CameraZoomType.html b/mavlink/ardupilotmega/enum.CameraZoomType.html index a6759850c3..382f850123 100644 --- a/mavlink/ardupilotmega/enum.CameraZoomType.html +++ b/mavlink/ardupilotmega/enum.CameraZoomType.html @@ -1,4 +1,4 @@ -CameraZoomType in mavlink::ardupilotmega - Rust
pub enum CameraZoomType {
+CameraZoomType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CameraZoomType { ZOOM_TYPE_STEP = 0, ZOOM_TYPE_CONTINUOUS = 1, ZOOM_TYPE_RANGE = 2, diff --git a/mavlink/ardupilotmega/enum.CanFilterOp.html b/mavlink/ardupilotmega/enum.CanFilterOp.html index de77761c75..d556fe82a2 100644 --- a/mavlink/ardupilotmega/enum.CanFilterOp.html +++ b/mavlink/ardupilotmega/enum.CanFilterOp.html @@ -1,4 +1,4 @@ -CanFilterOp in mavlink::ardupilotmega - Rust
pub enum CanFilterOp {
+CanFilterOp in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CanFilterOp { CAN_FILTER_REPLACE = 0, CAN_FILTER_ADD = 1, CAN_FILTER_REMOVE = 2, diff --git a/mavlink/ardupilotmega/enum.CellularConfigResponse.html b/mavlink/ardupilotmega/enum.CellularConfigResponse.html index 13d77dbbc2..6bd634335d 100644 --- a/mavlink/ardupilotmega/enum.CellularConfigResponse.html +++ b/mavlink/ardupilotmega/enum.CellularConfigResponse.html @@ -1,4 +1,4 @@ -CellularConfigResponse in mavlink::ardupilotmega - Rust
pub enum CellularConfigResponse {
+CellularConfigResponse in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CellularConfigResponse { CELLULAR_CONFIG_RESPONSE_ACCEPTED = 0, CELLULAR_CONFIG_RESPONSE_APN_ERROR = 1, CELLULAR_CONFIG_RESPONSE_PIN_ERROR = 2, diff --git a/mavlink/ardupilotmega/enum.CellularNetworkFailedReason.html b/mavlink/ardupilotmega/enum.CellularNetworkFailedReason.html index a574d508d2..d930d82cbc 100644 --- a/mavlink/ardupilotmega/enum.CellularNetworkFailedReason.html +++ b/mavlink/ardupilotmega/enum.CellularNetworkFailedReason.html @@ -1,4 +1,4 @@ -CellularNetworkFailedReason in mavlink::ardupilotmega - Rust
pub enum CellularNetworkFailedReason {
+CellularNetworkFailedReason in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CellularNetworkFailedReason { CELLULAR_NETWORK_FAILED_REASON_NONE = 0, CELLULAR_NETWORK_FAILED_REASON_UNKNOWN = 1, CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING = 2, diff --git a/mavlink/ardupilotmega/enum.CellularNetworkRadioType.html b/mavlink/ardupilotmega/enum.CellularNetworkRadioType.html index 43e58cfd79..666b7043d1 100644 --- a/mavlink/ardupilotmega/enum.CellularNetworkRadioType.html +++ b/mavlink/ardupilotmega/enum.CellularNetworkRadioType.html @@ -1,4 +1,4 @@ -CellularNetworkRadioType in mavlink::ardupilotmega - Rust
pub enum CellularNetworkRadioType {
+CellularNetworkRadioType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CellularNetworkRadioType { CELLULAR_NETWORK_RADIO_TYPE_NONE = 0, CELLULAR_NETWORK_RADIO_TYPE_GSM = 1, CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2, diff --git a/mavlink/ardupilotmega/enum.CellularStatusFlag.html b/mavlink/ardupilotmega/enum.CellularStatusFlag.html index 3e2d665b08..2ad06fb657 100644 --- a/mavlink/ardupilotmega/enum.CellularStatusFlag.html +++ b/mavlink/ardupilotmega/enum.CellularStatusFlag.html @@ -1,4 +1,4 @@ -CellularStatusFlag in mavlink::ardupilotmega - Rust
pub enum CellularStatusFlag {
+CellularStatusFlag in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CellularStatusFlag {
Show 13 variants CELLULAR_STATUS_FLAG_UNKNOWN = 0, CELLULAR_STATUS_FLAG_FAILED = 1, CELLULAR_STATUS_FLAG_INITIALIZING = 2, diff --git a/mavlink/ardupilotmega/enum.CompMetadataType.html b/mavlink/ardupilotmega/enum.CompMetadataType.html index ddbf29c293..05df92f808 100644 --- a/mavlink/ardupilotmega/enum.CompMetadataType.html +++ b/mavlink/ardupilotmega/enum.CompMetadataType.html @@ -1,4 +1,4 @@ -CompMetadataType in mavlink::ardupilotmega - Rust
pub enum CompMetadataType {
+CompMetadataType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CompMetadataType { COMP_METADATA_TYPE_GENERAL = 0, COMP_METADATA_TYPE_PARAMETER = 1, COMP_METADATA_TYPE_COMMANDS = 2, diff --git a/mavlink/ardupilotmega/enum.CopterMode.html b/mavlink/ardupilotmega/enum.CopterMode.html index 330a3b3f68..8fd7c5063e 100644 --- a/mavlink/ardupilotmega/enum.CopterMode.html +++ b/mavlink/ardupilotmega/enum.CopterMode.html @@ -1,4 +1,4 @@ -CopterMode in mavlink::ardupilotmega - Rust
pub enum CopterMode {
+CopterMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum CopterMode {
Show 25 variants COPTER_MODE_STABILIZE = 0, COPTER_MODE_ACRO = 1, COPTER_MODE_ALT_HOLD = 2, diff --git a/mavlink/ardupilotmega/enum.DeepstallStage.html b/mavlink/ardupilotmega/enum.DeepstallStage.html index d62fefb842..c0f10e5237 100644 --- a/mavlink/ardupilotmega/enum.DeepstallStage.html +++ b/mavlink/ardupilotmega/enum.DeepstallStage.html @@ -1,4 +1,4 @@ -DeepstallStage in mavlink::ardupilotmega - Rust
pub enum DeepstallStage {
+DeepstallStage in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum DeepstallStage { DEEPSTALL_STAGE_FLY_TO_LANDING = 0, DEEPSTALL_STAGE_ESTIMATE_WIND = 1, DEEPSTALL_STAGE_WAIT_FOR_BREAKOUT = 2, diff --git a/mavlink/ardupilotmega/enum.DeviceOpBustype.html b/mavlink/ardupilotmega/enum.DeviceOpBustype.html index 6bd7871b01..2666f1e2e6 100644 --- a/mavlink/ardupilotmega/enum.DeviceOpBustype.html +++ b/mavlink/ardupilotmega/enum.DeviceOpBustype.html @@ -1,4 +1,4 @@ -DeviceOpBustype in mavlink::ardupilotmega - Rust
pub enum DeviceOpBustype {
+DeviceOpBustype in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum DeviceOpBustype { DEVICE_OP_BUSTYPE_I2C = 0, DEVICE_OP_BUSTYPE_SPI = 1, }

Variants§

§

DEVICE_OP_BUSTYPE_I2C = 0

§

DEVICE_OP_BUSTYPE_SPI = 1

Implementations§

source§

impl DeviceOpBustype

source

pub const DEFAULT: Self = Self::DEVICE_OP_BUSTYPE_I2C

Trait Implementations§

source§

impl Clone for DeviceOpBustype

source§

fn clone(&self) -> DeviceOpBustype

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DeviceOpBustype

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for DeviceOpBustype

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for DeviceOpBustype

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.EscConnectionType.html b/mavlink/ardupilotmega/enum.EscConnectionType.html index 4db34ceb57..5824a5cccd 100644 --- a/mavlink/ardupilotmega/enum.EscConnectionType.html +++ b/mavlink/ardupilotmega/enum.EscConnectionType.html @@ -1,4 +1,4 @@ -EscConnectionType in mavlink::ardupilotmega - Rust
pub enum EscConnectionType {
+EscConnectionType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum EscConnectionType { ESC_CONNECTION_TYPE_PPM = 0, ESC_CONNECTION_TYPE_SERIAL = 1, ESC_CONNECTION_TYPE_ONESHOT = 2, diff --git a/mavlink/ardupilotmega/enum.FailureType.html b/mavlink/ardupilotmega/enum.FailureType.html index 7bef07585a..224309c96f 100644 --- a/mavlink/ardupilotmega/enum.FailureType.html +++ b/mavlink/ardupilotmega/enum.FailureType.html @@ -1,4 +1,4 @@ -FailureType in mavlink::ardupilotmega - Rust
pub enum FailureType {
+FailureType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum FailureType { FAILURE_TYPE_OK = 0, FAILURE_TYPE_OFF = 1, FAILURE_TYPE_STUCK = 2, diff --git a/mavlink/ardupilotmega/enum.FailureUnit.html b/mavlink/ardupilotmega/enum.FailureUnit.html index 79301b4e55..0b1bdcff3d 100644 --- a/mavlink/ardupilotmega/enum.FailureUnit.html +++ b/mavlink/ardupilotmega/enum.FailureUnit.html @@ -1,4 +1,4 @@ -FailureUnit in mavlink::ardupilotmega - Rust
pub enum FailureUnit {
+FailureUnit in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum FailureUnit {
Show 15 variants FAILURE_UNIT_SENSOR_GYRO = 0, FAILURE_UNIT_SENSOR_ACCEL = 1, FAILURE_UNIT_SENSOR_MAG = 2, diff --git a/mavlink/ardupilotmega/enum.FenceAction.html b/mavlink/ardupilotmega/enum.FenceAction.html index ecb63c39f4..f079431225 100644 --- a/mavlink/ardupilotmega/enum.FenceAction.html +++ b/mavlink/ardupilotmega/enum.FenceAction.html @@ -1,4 +1,4 @@ -FenceAction in mavlink::ardupilotmega - Rust
pub enum FenceAction {
+FenceAction in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum FenceAction { FENCE_ACTION_NONE = 0, FENCE_ACTION_GUIDED = 1, FENCE_ACTION_REPORT = 2, diff --git a/mavlink/ardupilotmega/enum.FenceBreach.html b/mavlink/ardupilotmega/enum.FenceBreach.html index de320b86ab..6861f5d6ec 100644 --- a/mavlink/ardupilotmega/enum.FenceBreach.html +++ b/mavlink/ardupilotmega/enum.FenceBreach.html @@ -1,4 +1,4 @@ -FenceBreach in mavlink::ardupilotmega - Rust
pub enum FenceBreach {
+FenceBreach in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum FenceBreach { FENCE_BREACH_NONE = 0, FENCE_BREACH_MINALT = 1, FENCE_BREACH_MAXALT = 2, diff --git a/mavlink/ardupilotmega/enum.FenceMitigate.html b/mavlink/ardupilotmega/enum.FenceMitigate.html index 91a6424bc8..35a5aaaf28 100644 --- a/mavlink/ardupilotmega/enum.FenceMitigate.html +++ b/mavlink/ardupilotmega/enum.FenceMitigate.html @@ -1,4 +1,4 @@ -FenceMitigate in mavlink::ardupilotmega - Rust
pub enum FenceMitigate {
+FenceMitigate in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum FenceMitigate { FENCE_MITIGATE_UNKNOWN = 0, FENCE_MITIGATE_NONE = 1, FENCE_MITIGATE_VEL_LIMIT = 2, diff --git a/mavlink/ardupilotmega/enum.FirmwareVersionType.html b/mavlink/ardupilotmega/enum.FirmwareVersionType.html index 410b465281..49f2feccc2 100644 --- a/mavlink/ardupilotmega/enum.FirmwareVersionType.html +++ b/mavlink/ardupilotmega/enum.FirmwareVersionType.html @@ -1,4 +1,4 @@ -FirmwareVersionType in mavlink::ardupilotmega - Rust
pub enum FirmwareVersionType {
+FirmwareVersionType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum FirmwareVersionType { FIRMWARE_VERSION_TYPE_DEV = 0, FIRMWARE_VERSION_TYPE_ALPHA = 64, FIRMWARE_VERSION_TYPE_BETA = 128, diff --git a/mavlink/ardupilotmega/enum.GimbalAxis.html b/mavlink/ardupilotmega/enum.GimbalAxis.html index e935991b62..1e0c88e67d 100644 --- a/mavlink/ardupilotmega/enum.GimbalAxis.html +++ b/mavlink/ardupilotmega/enum.GimbalAxis.html @@ -1,4 +1,4 @@ -GimbalAxis in mavlink::ardupilotmega - Rust
pub enum GimbalAxis {
+GimbalAxis in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GimbalAxis { GIMBAL_AXIS_YAW = 0, GIMBAL_AXIS_PITCH = 1, GIMBAL_AXIS_ROLL = 2, diff --git a/mavlink/ardupilotmega/enum.GimbalAxisCalibrationRequired.html b/mavlink/ardupilotmega/enum.GimbalAxisCalibrationRequired.html index 852b4f19f7..7022aea4b7 100644 --- a/mavlink/ardupilotmega/enum.GimbalAxisCalibrationRequired.html +++ b/mavlink/ardupilotmega/enum.GimbalAxisCalibrationRequired.html @@ -1,4 +1,4 @@ -GimbalAxisCalibrationRequired in mavlink::ardupilotmega - Rust
pub enum GimbalAxisCalibrationRequired {
+GimbalAxisCalibrationRequired in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GimbalAxisCalibrationRequired { GIMBAL_AXIS_CALIBRATION_REQUIRED_UNKNOWN = 0, GIMBAL_AXIS_CALIBRATION_REQUIRED_TRUE = 1, GIMBAL_AXIS_CALIBRATION_REQUIRED_FALSE = 2, diff --git a/mavlink/ardupilotmega/enum.GimbalAxisCalibrationStatus.html b/mavlink/ardupilotmega/enum.GimbalAxisCalibrationStatus.html index 4751e0043e..bc6c6f8421 100644 --- a/mavlink/ardupilotmega/enum.GimbalAxisCalibrationStatus.html +++ b/mavlink/ardupilotmega/enum.GimbalAxisCalibrationStatus.html @@ -1,4 +1,4 @@ -GimbalAxisCalibrationStatus in mavlink::ardupilotmega - Rust
pub enum GimbalAxisCalibrationStatus {
+GimbalAxisCalibrationStatus in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GimbalAxisCalibrationStatus { GIMBAL_AXIS_CALIBRATION_STATUS_IN_PROGRESS = 0, GIMBAL_AXIS_CALIBRATION_STATUS_SUCCEEDED = 1, GIMBAL_AXIS_CALIBRATION_STATUS_FAILED = 2, diff --git a/mavlink/ardupilotmega/enum.GimbalManagerFlags.html b/mavlink/ardupilotmega/enum.GimbalManagerFlags.html index 3194a9dd63..9b9a2b28f8 100644 --- a/mavlink/ardupilotmega/enum.GimbalManagerFlags.html +++ b/mavlink/ardupilotmega/enum.GimbalManagerFlags.html @@ -1,4 +1,4 @@ -GimbalManagerFlags in mavlink::ardupilotmega - Rust
pub enum GimbalManagerFlags {
+GimbalManagerFlags in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GimbalManagerFlags { GIMBAL_MANAGER_FLAGS_RETRACT = 1, GIMBAL_MANAGER_FLAGS_NEUTRAL = 2, GIMBAL_MANAGER_FLAGS_ROLL_LOCK = 4, diff --git a/mavlink/ardupilotmega/enum.GoproBurstRate.html b/mavlink/ardupilotmega/enum.GoproBurstRate.html index ac03f728f0..1f7cc07a6b 100644 --- a/mavlink/ardupilotmega/enum.GoproBurstRate.html +++ b/mavlink/ardupilotmega/enum.GoproBurstRate.html @@ -1,4 +1,4 @@ -GoproBurstRate in mavlink::ardupilotmega - Rust
pub enum GoproBurstRate {
+GoproBurstRate in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproBurstRate { GOPRO_BURST_RATE_3_IN_1_SECOND = 0, GOPRO_BURST_RATE_5_IN_1_SECOND = 1, GOPRO_BURST_RATE_10_IN_1_SECOND = 2, diff --git a/mavlink/ardupilotmega/enum.GoproCaptureMode.html b/mavlink/ardupilotmega/enum.GoproCaptureMode.html index 039245f438..e737e4f481 100644 --- a/mavlink/ardupilotmega/enum.GoproCaptureMode.html +++ b/mavlink/ardupilotmega/enum.GoproCaptureMode.html @@ -1,4 +1,4 @@ -GoproCaptureMode in mavlink::ardupilotmega - Rust
pub enum GoproCaptureMode {
+GoproCaptureMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproCaptureMode { GOPRO_CAPTURE_MODE_VIDEO = 0, GOPRO_CAPTURE_MODE_PHOTO = 1, GOPRO_CAPTURE_MODE_BURST = 2, diff --git a/mavlink/ardupilotmega/enum.GoproCharging.html b/mavlink/ardupilotmega/enum.GoproCharging.html index ce6ded1fb7..db5193a0ec 100644 --- a/mavlink/ardupilotmega/enum.GoproCharging.html +++ b/mavlink/ardupilotmega/enum.GoproCharging.html @@ -1,4 +1,4 @@ -GoproCharging in mavlink::ardupilotmega - Rust
pub enum GoproCharging {
+GoproCharging in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproCharging { GOPRO_CHARGING_DISABLED = 0, GOPRO_CHARGING_ENABLED = 1, }

Variants§

§

GOPRO_CHARGING_DISABLED = 0

§

GOPRO_CHARGING_ENABLED = 1

Implementations§

source§

impl GoproCharging

source

pub const DEFAULT: Self = Self::GOPRO_CHARGING_DISABLED

Trait Implementations§

source§

impl Clone for GoproCharging

source§

fn clone(&self) -> GoproCharging

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GoproCharging

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GoproCharging

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GoproCharging

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.GoproCommand.html b/mavlink/ardupilotmega/enum.GoproCommand.html index c2238feb58..95c1ea68b4 100644 --- a/mavlink/ardupilotmega/enum.GoproCommand.html +++ b/mavlink/ardupilotmega/enum.GoproCommand.html @@ -1,4 +1,4 @@ -GoproCommand in mavlink::ardupilotmega - Rust
pub enum GoproCommand {
+GoproCommand in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproCommand {
Show 17 variants GOPRO_COMMAND_POWER = 0, GOPRO_COMMAND_CAPTURE_MODE = 1, GOPRO_COMMAND_SHUTTER = 2, diff --git a/mavlink/ardupilotmega/enum.GoproFieldOfView.html b/mavlink/ardupilotmega/enum.GoproFieldOfView.html index 9ec2bb57e7..35b0c211e2 100644 --- a/mavlink/ardupilotmega/enum.GoproFieldOfView.html +++ b/mavlink/ardupilotmega/enum.GoproFieldOfView.html @@ -1,4 +1,4 @@ -GoproFieldOfView in mavlink::ardupilotmega - Rust
pub enum GoproFieldOfView {
+GoproFieldOfView in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproFieldOfView { GOPRO_FIELD_OF_VIEW_WIDE = 0, GOPRO_FIELD_OF_VIEW_MEDIUM = 1, GOPRO_FIELD_OF_VIEW_NARROW = 2, diff --git a/mavlink/ardupilotmega/enum.GoproFrameRate.html b/mavlink/ardupilotmega/enum.GoproFrameRate.html index ce277e137a..94e7b016b5 100644 --- a/mavlink/ardupilotmega/enum.GoproFrameRate.html +++ b/mavlink/ardupilotmega/enum.GoproFrameRate.html @@ -1,4 +1,4 @@ -GoproFrameRate in mavlink::ardupilotmega - Rust
pub enum GoproFrameRate {
+GoproFrameRate in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproFrameRate {
Show 14 variants GOPRO_FRAME_RATE_12 = 0, GOPRO_FRAME_RATE_15 = 1, GOPRO_FRAME_RATE_24 = 2, diff --git a/mavlink/ardupilotmega/enum.GoproHeartbeatStatus.html b/mavlink/ardupilotmega/enum.GoproHeartbeatStatus.html index c01f596eeb..c703178981 100644 --- a/mavlink/ardupilotmega/enum.GoproHeartbeatStatus.html +++ b/mavlink/ardupilotmega/enum.GoproHeartbeatStatus.html @@ -1,4 +1,4 @@ -GoproHeartbeatStatus in mavlink::ardupilotmega - Rust
pub enum GoproHeartbeatStatus {
+GoproHeartbeatStatus in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproHeartbeatStatus { GOPRO_HEARTBEAT_STATUS_DISCONNECTED = 0, GOPRO_HEARTBEAT_STATUS_INCOMPATIBLE = 1, GOPRO_HEARTBEAT_STATUS_CONNECTED = 2, diff --git a/mavlink/ardupilotmega/enum.GoproModel.html b/mavlink/ardupilotmega/enum.GoproModel.html index 0191539cf9..b37efa2a53 100644 --- a/mavlink/ardupilotmega/enum.GoproModel.html +++ b/mavlink/ardupilotmega/enum.GoproModel.html @@ -1,4 +1,4 @@ -GoproModel in mavlink::ardupilotmega - Rust
pub enum GoproModel {
+GoproModel in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproModel { GOPRO_MODEL_UNKNOWN = 0, GOPRO_MODEL_HERO_3_PLUS_SILVER = 1, GOPRO_MODEL_HERO_3_PLUS_BLACK = 2, diff --git a/mavlink/ardupilotmega/enum.GoproPhotoResolution.html b/mavlink/ardupilotmega/enum.GoproPhotoResolution.html index d505312d46..590346f4d5 100644 --- a/mavlink/ardupilotmega/enum.GoproPhotoResolution.html +++ b/mavlink/ardupilotmega/enum.GoproPhotoResolution.html @@ -1,4 +1,4 @@ -GoproPhotoResolution in mavlink::ardupilotmega - Rust
pub enum GoproPhotoResolution {
+GoproPhotoResolution in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproPhotoResolution { GOPRO_PHOTO_RESOLUTION_5MP_MEDIUM = 0, GOPRO_PHOTO_RESOLUTION_7MP_MEDIUM = 1, GOPRO_PHOTO_RESOLUTION_7MP_WIDE = 2, diff --git a/mavlink/ardupilotmega/enum.GoproProtuneColour.html b/mavlink/ardupilotmega/enum.GoproProtuneColour.html index 2bd9c8e7f3..06705de1ec 100644 --- a/mavlink/ardupilotmega/enum.GoproProtuneColour.html +++ b/mavlink/ardupilotmega/enum.GoproProtuneColour.html @@ -1,4 +1,4 @@ -GoproProtuneColour in mavlink::ardupilotmega - Rust
pub enum GoproProtuneColour {
+GoproProtuneColour in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproProtuneColour { GOPRO_PROTUNE_COLOUR_STANDARD = 0, GOPRO_PROTUNE_COLOUR_NEUTRAL = 1, }

Variants§

§

GOPRO_PROTUNE_COLOUR_STANDARD = 0

§

GOPRO_PROTUNE_COLOUR_NEUTRAL = 1

Implementations§

source§

impl GoproProtuneColour

source

pub const DEFAULT: Self = Self::GOPRO_PROTUNE_COLOUR_STANDARD

Trait Implementations§

source§

impl Clone for GoproProtuneColour

source§

fn clone(&self) -> GoproProtuneColour

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GoproProtuneColour

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GoproProtuneColour

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GoproProtuneColour

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.GoproProtuneExposure.html b/mavlink/ardupilotmega/enum.GoproProtuneExposure.html index dc33e6971d..445b28346a 100644 --- a/mavlink/ardupilotmega/enum.GoproProtuneExposure.html +++ b/mavlink/ardupilotmega/enum.GoproProtuneExposure.html @@ -1,4 +1,4 @@ -GoproProtuneExposure in mavlink::ardupilotmega - Rust
pub enum GoproProtuneExposure {
+GoproProtuneExposure in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproProtuneExposure {
Show 21 variants GOPRO_PROTUNE_EXPOSURE_NEG_5_0 = 0, GOPRO_PROTUNE_EXPOSURE_NEG_4_5 = 1, GOPRO_PROTUNE_EXPOSURE_NEG_4_0 = 2, diff --git a/mavlink/ardupilotmega/enum.GoproProtuneGain.html b/mavlink/ardupilotmega/enum.GoproProtuneGain.html index 74e61c3411..d96c067b27 100644 --- a/mavlink/ardupilotmega/enum.GoproProtuneGain.html +++ b/mavlink/ardupilotmega/enum.GoproProtuneGain.html @@ -1,4 +1,4 @@ -GoproProtuneGain in mavlink::ardupilotmega - Rust
pub enum GoproProtuneGain {
+GoproProtuneGain in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproProtuneGain { GOPRO_PROTUNE_GAIN_400 = 0, GOPRO_PROTUNE_GAIN_800 = 1, GOPRO_PROTUNE_GAIN_1600 = 2, diff --git a/mavlink/ardupilotmega/enum.GoproProtuneSharpness.html b/mavlink/ardupilotmega/enum.GoproProtuneSharpness.html index 6b71aef7df..2848fb61fb 100644 --- a/mavlink/ardupilotmega/enum.GoproProtuneSharpness.html +++ b/mavlink/ardupilotmega/enum.GoproProtuneSharpness.html @@ -1,4 +1,4 @@ -GoproProtuneSharpness in mavlink::ardupilotmega - Rust
pub enum GoproProtuneSharpness {
+GoproProtuneSharpness in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproProtuneSharpness { GOPRO_PROTUNE_SHARPNESS_LOW = 0, GOPRO_PROTUNE_SHARPNESS_MEDIUM = 1, GOPRO_PROTUNE_SHARPNESS_HIGH = 2, diff --git a/mavlink/ardupilotmega/enum.GoproProtuneWhiteBalance.html b/mavlink/ardupilotmega/enum.GoproProtuneWhiteBalance.html index 417dbc3776..7666b8d21d 100644 --- a/mavlink/ardupilotmega/enum.GoproProtuneWhiteBalance.html +++ b/mavlink/ardupilotmega/enum.GoproProtuneWhiteBalance.html @@ -1,4 +1,4 @@ -GoproProtuneWhiteBalance in mavlink::ardupilotmega - Rust
pub enum GoproProtuneWhiteBalance {
+GoproProtuneWhiteBalance in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproProtuneWhiteBalance { GOPRO_PROTUNE_WHITE_BALANCE_AUTO = 0, GOPRO_PROTUNE_WHITE_BALANCE_3000K = 1, GOPRO_PROTUNE_WHITE_BALANCE_5500K = 2, diff --git a/mavlink/ardupilotmega/enum.GoproRequestStatus.html b/mavlink/ardupilotmega/enum.GoproRequestStatus.html index bb5f193658..fa1bef62e7 100644 --- a/mavlink/ardupilotmega/enum.GoproRequestStatus.html +++ b/mavlink/ardupilotmega/enum.GoproRequestStatus.html @@ -1,4 +1,4 @@ -GoproRequestStatus in mavlink::ardupilotmega - Rust
pub enum GoproRequestStatus {
+GoproRequestStatus in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproRequestStatus { GOPRO_REQUEST_SUCCESS = 0, GOPRO_REQUEST_FAILED = 1, }

Variants§

§

GOPRO_REQUEST_SUCCESS = 0

§

GOPRO_REQUEST_FAILED = 1

Implementations§

source§

impl GoproRequestStatus

source

pub const DEFAULT: Self = Self::GOPRO_REQUEST_SUCCESS

Trait Implementations§

source§

impl Clone for GoproRequestStatus

source§

fn clone(&self) -> GoproRequestStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GoproRequestStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GoproRequestStatus

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GoproRequestStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.GoproResolution.html b/mavlink/ardupilotmega/enum.GoproResolution.html index 4db56c87d2..6dbe46d6aa 100644 --- a/mavlink/ardupilotmega/enum.GoproResolution.html +++ b/mavlink/ardupilotmega/enum.GoproResolution.html @@ -1,4 +1,4 @@ -GoproResolution in mavlink::ardupilotmega - Rust
pub enum GoproResolution {
+GoproResolution in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproResolution {
Show 14 variants GOPRO_RESOLUTION_480p = 0, GOPRO_RESOLUTION_720p = 1, GOPRO_RESOLUTION_960p = 2, diff --git a/mavlink/ardupilotmega/enum.GoproVideoSettingsFlags.html b/mavlink/ardupilotmega/enum.GoproVideoSettingsFlags.html index 7d31bfaad7..f2f9a9a576 100644 --- a/mavlink/ardupilotmega/enum.GoproVideoSettingsFlags.html +++ b/mavlink/ardupilotmega/enum.GoproVideoSettingsFlags.html @@ -1,4 +1,4 @@ -GoproVideoSettingsFlags in mavlink::ardupilotmega - Rust
pub enum GoproVideoSettingsFlags {
+GoproVideoSettingsFlags in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GoproVideoSettingsFlags { GOPRO_VIDEO_SETTINGS_TV_MODE = 1, }

Variants§

§

GOPRO_VIDEO_SETTINGS_TV_MODE = 1

Implementations§

source§

impl GoproVideoSettingsFlags

source

pub const DEFAULT: Self = Self::GOPRO_VIDEO_SETTINGS_TV_MODE

Trait Implementations§

source§

impl Clone for GoproVideoSettingsFlags

source§

fn clone(&self) -> GoproVideoSettingsFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GoproVideoSettingsFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GoproVideoSettingsFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GoproVideoSettingsFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromPrimitive for GoproVideoSettingsFlags

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the diff --git a/mavlink/ardupilotmega/enum.GpsFixType.html b/mavlink/ardupilotmega/enum.GpsFixType.html index 39a820487e..ca7a117c44 100644 --- a/mavlink/ardupilotmega/enum.GpsFixType.html +++ b/mavlink/ardupilotmega/enum.GpsFixType.html @@ -1,4 +1,4 @@ -GpsFixType in mavlink::ardupilotmega - Rust
pub enum GpsFixType {
+GpsFixType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GpsFixType { GPS_FIX_TYPE_NO_GPS = 0, GPS_FIX_TYPE_NO_FIX = 1, GPS_FIX_TYPE_2D_FIX = 2, diff --git a/mavlink/ardupilotmega/enum.GripperActions.html b/mavlink/ardupilotmega/enum.GripperActions.html index 4f1f550000..ae16b3ba49 100644 --- a/mavlink/ardupilotmega/enum.GripperActions.html +++ b/mavlink/ardupilotmega/enum.GripperActions.html @@ -1,4 +1,4 @@ -GripperActions in mavlink::ardupilotmega - Rust
pub enum GripperActions {
+GripperActions in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum GripperActions { GRIPPER_ACTION_RELEASE = 0, GRIPPER_ACTION_GRAB = 1, }

Variants§

§

GRIPPER_ACTION_RELEASE = 0

§

GRIPPER_ACTION_GRAB = 1

Implementations§

source§

impl GripperActions

source

pub const DEFAULT: Self = Self::GRIPPER_ACTION_RELEASE

Trait Implementations§

source§

impl Clone for GripperActions

source§

fn clone(&self) -> GripperActions

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GripperActions

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GripperActions

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GripperActions

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.HeadingType.html b/mavlink/ardupilotmega/enum.HeadingType.html index b9fbcabbda..d843309c1c 100644 --- a/mavlink/ardupilotmega/enum.HeadingType.html +++ b/mavlink/ardupilotmega/enum.HeadingType.html @@ -1,4 +1,4 @@ -HeadingType in mavlink::ardupilotmega - Rust
pub enum HeadingType {
+HeadingType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum HeadingType { HEADING_TYPE_COURSE_OVER_GROUND = 0, HEADING_TYPE_HEADING = 1, }

Variants§

§

HEADING_TYPE_COURSE_OVER_GROUND = 0

§

HEADING_TYPE_HEADING = 1

Implementations§

source§

impl HeadingType

source

pub const DEFAULT: Self = Self::HEADING_TYPE_COURSE_OVER_GROUND

Trait Implementations§

source§

impl Clone for HeadingType

source§

fn clone(&self) -> HeadingType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HeadingType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HeadingType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HeadingType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.IcarousFmsState.html b/mavlink/ardupilotmega/enum.IcarousFmsState.html index 749a715620..697821045b 100644 --- a/mavlink/ardupilotmega/enum.IcarousFmsState.html +++ b/mavlink/ardupilotmega/enum.IcarousFmsState.html @@ -1,4 +1,4 @@ -IcarousFmsState in mavlink::ardupilotmega - Rust
pub enum IcarousFmsState {
+IcarousFmsState in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum IcarousFmsState { ICAROUS_FMS_STATE_IDLE = 0, ICAROUS_FMS_STATE_TAKEOFF = 1, ICAROUS_FMS_STATE_CLIMB = 2, diff --git a/mavlink/ardupilotmega/enum.IcarousTrackBandTypes.html b/mavlink/ardupilotmega/enum.IcarousTrackBandTypes.html index d74b52bcb9..27c377229d 100644 --- a/mavlink/ardupilotmega/enum.IcarousTrackBandTypes.html +++ b/mavlink/ardupilotmega/enum.IcarousTrackBandTypes.html @@ -1,4 +1,4 @@ -IcarousTrackBandTypes in mavlink::ardupilotmega - Rust
pub enum IcarousTrackBandTypes {
+IcarousTrackBandTypes in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum IcarousTrackBandTypes { ICAROUS_TRACK_BAND_TYPE_NONE = 0, ICAROUS_TRACK_BAND_TYPE_NEAR = 1, ICAROUS_TRACK_BAND_TYPE_RECOVERY = 2, diff --git a/mavlink/ardupilotmega/enum.LandingTargetType.html b/mavlink/ardupilotmega/enum.LandingTargetType.html index 0680c7cd00..daefcf6250 100644 --- a/mavlink/ardupilotmega/enum.LandingTargetType.html +++ b/mavlink/ardupilotmega/enum.LandingTargetType.html @@ -1,4 +1,4 @@ -LandingTargetType in mavlink::ardupilotmega - Rust
pub enum LandingTargetType {
+LandingTargetType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum LandingTargetType { LANDING_TARGET_TYPE_LIGHT_BEACON = 0, LANDING_TARGET_TYPE_RADIO_BEACON = 1, LANDING_TARGET_TYPE_VISION_FIDUCIAL = 2, diff --git a/mavlink/ardupilotmega/enum.LedControlPattern.html b/mavlink/ardupilotmega/enum.LedControlPattern.html index 1c4dad6ef1..ebe86d11b8 100644 --- a/mavlink/ardupilotmega/enum.LedControlPattern.html +++ b/mavlink/ardupilotmega/enum.LedControlPattern.html @@ -1,4 +1,4 @@ -LedControlPattern in mavlink::ardupilotmega - Rust
pub enum LedControlPattern {
+LedControlPattern in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum LedControlPattern { LED_CONTROL_PATTERN_OFF = 0, LED_CONTROL_PATTERN_FIRMWAREUPDATE = 1, LED_CONTROL_PATTERN_CUSTOM = 255, diff --git a/mavlink/ardupilotmega/enum.LimitsState.html b/mavlink/ardupilotmega/enum.LimitsState.html index 6f9b4e780d..044eb830f3 100644 --- a/mavlink/ardupilotmega/enum.LimitsState.html +++ b/mavlink/ardupilotmega/enum.LimitsState.html @@ -1,4 +1,4 @@ -LimitsState in mavlink::ardupilotmega - Rust
pub enum LimitsState {
+LimitsState in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum LimitsState { LIMITS_INIT = 0, LIMITS_DISABLED = 1, LIMITS_ENABLED = 2, diff --git a/mavlink/ardupilotmega/enum.MagCalStatus.html b/mavlink/ardupilotmega/enum.MagCalStatus.html index e62e546cde..42279c8325 100644 --- a/mavlink/ardupilotmega/enum.MagCalStatus.html +++ b/mavlink/ardupilotmega/enum.MagCalStatus.html @@ -1,4 +1,4 @@ -MagCalStatus in mavlink::ardupilotmega - Rust
pub enum MagCalStatus {
+MagCalStatus in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MagCalStatus { MAG_CAL_NOT_STARTED = 0, MAG_CAL_WAITING_TO_START = 1, MAG_CAL_RUNNING_STEP_ONE = 2, diff --git a/mavlink/ardupilotmega/enum.MavArmAuthDeniedReason.html b/mavlink/ardupilotmega/enum.MavArmAuthDeniedReason.html index 4c4f37513c..a8f136e333 100644 --- a/mavlink/ardupilotmega/enum.MavArmAuthDeniedReason.html +++ b/mavlink/ardupilotmega/enum.MavArmAuthDeniedReason.html @@ -1,4 +1,4 @@ -MavArmAuthDeniedReason in mavlink::ardupilotmega - Rust
pub enum MavArmAuthDeniedReason {
+MavArmAuthDeniedReason in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavArmAuthDeniedReason { MAV_ARM_AUTH_DENIED_REASON_GENERIC = 0, MAV_ARM_AUTH_DENIED_REASON_NONE = 1, MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT = 2, diff --git a/mavlink/ardupilotmega/enum.MavAutopilot.html b/mavlink/ardupilotmega/enum.MavAutopilot.html index 24296762a4..1bb366ff4f 100644 --- a/mavlink/ardupilotmega/enum.MavAutopilot.html +++ b/mavlink/ardupilotmega/enum.MavAutopilot.html @@ -1,4 +1,4 @@ -MavAutopilot in mavlink::ardupilotmega - Rust
pub enum MavAutopilot {
+MavAutopilot in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavAutopilot {
Show 21 variants MAV_AUTOPILOT_GENERIC = 0, MAV_AUTOPILOT_RESERVED = 1, MAV_AUTOPILOT_SLUGS = 2, diff --git a/mavlink/ardupilotmega/enum.MavBatteryChargeState.html b/mavlink/ardupilotmega/enum.MavBatteryChargeState.html index 2629ba7fc8..f699f76d38 100644 --- a/mavlink/ardupilotmega/enum.MavBatteryChargeState.html +++ b/mavlink/ardupilotmega/enum.MavBatteryChargeState.html @@ -1,4 +1,4 @@ -MavBatteryChargeState in mavlink::ardupilotmega - Rust
pub enum MavBatteryChargeState {
+MavBatteryChargeState in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavBatteryChargeState { MAV_BATTERY_CHARGE_STATE_UNDEFINED = 0, MAV_BATTERY_CHARGE_STATE_OK = 1, MAV_BATTERY_CHARGE_STATE_LOW = 2, diff --git a/mavlink/ardupilotmega/enum.MavBatteryFault.html b/mavlink/ardupilotmega/enum.MavBatteryFault.html index 5f34d9bd52..ce8d64ff2d 100644 --- a/mavlink/ardupilotmega/enum.MavBatteryFault.html +++ b/mavlink/ardupilotmega/enum.MavBatteryFault.html @@ -1,4 +1,4 @@ -MavBatteryFault in mavlink::ardupilotmega - Rust
pub enum MavBatteryFault {
+MavBatteryFault in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavBatteryFault { MAV_BATTERY_FAULT_DEEP_DISCHARGE = 1, MAV_BATTERY_FAULT_SPIKES = 2, MAV_BATTERY_FAULT_CELL_FAIL = 4, diff --git a/mavlink/ardupilotmega/enum.MavBatteryFunction.html b/mavlink/ardupilotmega/enum.MavBatteryFunction.html index b2b4f78f29..91ebe224eb 100644 --- a/mavlink/ardupilotmega/enum.MavBatteryFunction.html +++ b/mavlink/ardupilotmega/enum.MavBatteryFunction.html @@ -1,4 +1,4 @@ -MavBatteryFunction in mavlink::ardupilotmega - Rust
pub enum MavBatteryFunction {
+MavBatteryFunction in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavBatteryFunction { MAV_BATTERY_FUNCTION_UNKNOWN = 0, MAV_BATTERY_FUNCTION_ALL = 1, MAV_BATTERY_FUNCTION_PROPULSION = 2, diff --git a/mavlink/ardupilotmega/enum.MavBatteryMode.html b/mavlink/ardupilotmega/enum.MavBatteryMode.html index 44e1361564..62c67156fa 100644 --- a/mavlink/ardupilotmega/enum.MavBatteryMode.html +++ b/mavlink/ardupilotmega/enum.MavBatteryMode.html @@ -1,4 +1,4 @@ -MavBatteryMode in mavlink::ardupilotmega - Rust
pub enum MavBatteryMode {
+MavBatteryMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavBatteryMode { MAV_BATTERY_MODE_UNKNOWN = 0, MAV_BATTERY_MODE_AUTO_DISCHARGING = 1, MAV_BATTERY_MODE_HOT_SWAP = 2, diff --git a/mavlink/ardupilotmega/enum.MavBatteryType.html b/mavlink/ardupilotmega/enum.MavBatteryType.html index c09122c352..a59f226df7 100644 --- a/mavlink/ardupilotmega/enum.MavBatteryType.html +++ b/mavlink/ardupilotmega/enum.MavBatteryType.html @@ -1,4 +1,4 @@ -MavBatteryType in mavlink::ardupilotmega - Rust
pub enum MavBatteryType {
+MavBatteryType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavBatteryType { MAV_BATTERY_TYPE_UNKNOWN = 0, MAV_BATTERY_TYPE_LIPO = 1, MAV_BATTERY_TYPE_LIFE = 2, diff --git a/mavlink/ardupilotmega/enum.MavCmd.html b/mavlink/ardupilotmega/enum.MavCmd.html index ec4381f62d..04d3922d65 100644 --- a/mavlink/ardupilotmega/enum.MavCmd.html +++ b/mavlink/ardupilotmega/enum.MavCmd.html @@ -1,4 +1,4 @@ -MavCmd in mavlink::ardupilotmega - Rust
pub enum MavCmd {
+MavCmd in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavCmd {
Show 190 variants MAV_CMD_NAV_WAYPOINT = 16, MAV_CMD_NAV_LOITER_UNLIM = 17, MAV_CMD_NAV_LOITER_TURNS = 18, diff --git a/mavlink/ardupilotmega/enum.MavCmdAck.html b/mavlink/ardupilotmega/enum.MavCmdAck.html index dc1badfea9..2ccd28b122 100644 --- a/mavlink/ardupilotmega/enum.MavCmdAck.html +++ b/mavlink/ardupilotmega/enum.MavCmdAck.html @@ -1,4 +1,4 @@ -MavCmdAck in mavlink::ardupilotmega - Rust
pub enum MavCmdAck {
+MavCmdAck in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavCmdAck { MAV_CMD_ACK_OK = 0, MAV_CMD_ACK_ERR_FAIL = 1, MAV_CMD_ACK_ERR_ACCESS_DENIED = 2, diff --git a/mavlink/ardupilotmega/enum.MavCmdDoAuxFunctionSwitchLevel.html b/mavlink/ardupilotmega/enum.MavCmdDoAuxFunctionSwitchLevel.html index 7a11a4d990..0e96ad58cf 100644 --- a/mavlink/ardupilotmega/enum.MavCmdDoAuxFunctionSwitchLevel.html +++ b/mavlink/ardupilotmega/enum.MavCmdDoAuxFunctionSwitchLevel.html @@ -1,4 +1,4 @@ -MavCmdDoAuxFunctionSwitchLevel in mavlink::ardupilotmega - Rust
pub enum MavCmdDoAuxFunctionSwitchLevel {
+MavCmdDoAuxFunctionSwitchLevel in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavCmdDoAuxFunctionSwitchLevel { MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_LOW = 0, MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_MIDDLE = 1, MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_HIGH = 2, diff --git a/mavlink/ardupilotmega/enum.MavCollisionAction.html b/mavlink/ardupilotmega/enum.MavCollisionAction.html index c0eacf1913..3dbc34fedc 100644 --- a/mavlink/ardupilotmega/enum.MavCollisionAction.html +++ b/mavlink/ardupilotmega/enum.MavCollisionAction.html @@ -1,4 +1,4 @@ -MavCollisionAction in mavlink::ardupilotmega - Rust
pub enum MavCollisionAction {
+MavCollisionAction in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavCollisionAction { MAV_COLLISION_ACTION_NONE = 0, MAV_COLLISION_ACTION_REPORT = 1, MAV_COLLISION_ACTION_ASCEND_OR_DESCEND = 2, diff --git a/mavlink/ardupilotmega/enum.MavCollisionSrc.html b/mavlink/ardupilotmega/enum.MavCollisionSrc.html index 4ec62ff888..190fb1cd28 100644 --- a/mavlink/ardupilotmega/enum.MavCollisionSrc.html +++ b/mavlink/ardupilotmega/enum.MavCollisionSrc.html @@ -1,4 +1,4 @@ -MavCollisionSrc in mavlink::ardupilotmega - Rust
pub enum MavCollisionSrc {
+MavCollisionSrc in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavCollisionSrc { MAV_COLLISION_SRC_ADSB = 0, MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT = 1, }

Variants§

§

MAV_COLLISION_SRC_ADSB = 0

Implementations§

source§

impl MavCollisionSrc

source

pub const DEFAULT: Self = Self::MAV_COLLISION_SRC_ADSB

Trait Implementations§

source§

impl Clone for MavCollisionSrc

source§

fn clone(&self) -> MavCollisionSrc

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavCollisionSrc

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavCollisionSrc

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavCollisionSrc

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.MavCollisionThreatLevel.html b/mavlink/ardupilotmega/enum.MavCollisionThreatLevel.html index beeacc6cc7..9c2d088194 100644 --- a/mavlink/ardupilotmega/enum.MavCollisionThreatLevel.html +++ b/mavlink/ardupilotmega/enum.MavCollisionThreatLevel.html @@ -1,4 +1,4 @@ -MavCollisionThreatLevel in mavlink::ardupilotmega - Rust
pub enum MavCollisionThreatLevel {
+MavCollisionThreatLevel in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavCollisionThreatLevel { MAV_COLLISION_THREAT_LEVEL_NONE = 0, MAV_COLLISION_THREAT_LEVEL_LOW = 1, MAV_COLLISION_THREAT_LEVEL_HIGH = 2, diff --git a/mavlink/ardupilotmega/enum.MavComponent.html b/mavlink/ardupilotmega/enum.MavComponent.html index 1b05ed3681..fa23df5c7c 100644 --- a/mavlink/ardupilotmega/enum.MavComponent.html +++ b/mavlink/ardupilotmega/enum.MavComponent.html @@ -1,4 +1,4 @@ -MavComponent in mavlink::ardupilotmega - Rust
pub enum MavComponent {
+MavComponent in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavComponent {
Show 135 variants MAV_COMP_ID_ALL = 0, MAV_COMP_ID_AUTOPILOT1 = 1, MAV_COMP_ID_USER1 = 25, diff --git a/mavlink/ardupilotmega/enum.MavDataStream.html b/mavlink/ardupilotmega/enum.MavDataStream.html index 4c3f3b9036..89a53dde4f 100644 --- a/mavlink/ardupilotmega/enum.MavDataStream.html +++ b/mavlink/ardupilotmega/enum.MavDataStream.html @@ -1,4 +1,4 @@ -MavDataStream in mavlink::ardupilotmega - Rust
pub enum MavDataStream {
+MavDataStream in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavDataStream { MAV_DATA_STREAM_ALL = 0, MAV_DATA_STREAM_RAW_SENSORS = 1, MAV_DATA_STREAM_EXTENDED_STATUS = 2, diff --git a/mavlink/ardupilotmega/enum.MavDistanceSensor.html b/mavlink/ardupilotmega/enum.MavDistanceSensor.html index aa54329cbe..1274139337 100644 --- a/mavlink/ardupilotmega/enum.MavDistanceSensor.html +++ b/mavlink/ardupilotmega/enum.MavDistanceSensor.html @@ -1,4 +1,4 @@ -MavDistanceSensor in mavlink::ardupilotmega - Rust
pub enum MavDistanceSensor {
+MavDistanceSensor in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavDistanceSensor { MAV_DISTANCE_SENSOR_LASER = 0, MAV_DISTANCE_SENSOR_ULTRASOUND = 1, MAV_DISTANCE_SENSOR_INFRARED = 2, diff --git a/mavlink/ardupilotmega/enum.MavDoRepositionFlags.html b/mavlink/ardupilotmega/enum.MavDoRepositionFlags.html index ecbc3be0b7..72abd2246b 100644 --- a/mavlink/ardupilotmega/enum.MavDoRepositionFlags.html +++ b/mavlink/ardupilotmega/enum.MavDoRepositionFlags.html @@ -1,4 +1,4 @@ -MavDoRepositionFlags in mavlink::ardupilotmega - Rust
pub enum MavDoRepositionFlags {
+MavDoRepositionFlags in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavDoRepositionFlags { MAV_DO_REPOSITION_FLAGS_CHANGE_MODE = 1, }

Variants§

§

MAV_DO_REPOSITION_FLAGS_CHANGE_MODE = 1

Implementations§

source§

impl MavDoRepositionFlags

source

pub const DEFAULT: Self = Self::MAV_DO_REPOSITION_FLAGS_CHANGE_MODE

Trait Implementations§

source§

impl Clone for MavDoRepositionFlags

source§

fn clone(&self) -> MavDoRepositionFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavDoRepositionFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavDoRepositionFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavDoRepositionFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromPrimitive for MavDoRepositionFlags

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the diff --git a/mavlink/ardupilotmega/enum.MavEstimatorType.html b/mavlink/ardupilotmega/enum.MavEstimatorType.html index 7de959e40c..6f263e6fee 100644 --- a/mavlink/ardupilotmega/enum.MavEstimatorType.html +++ b/mavlink/ardupilotmega/enum.MavEstimatorType.html @@ -1,4 +1,4 @@ -MavEstimatorType in mavlink::ardupilotmega - Rust
pub enum MavEstimatorType {
+MavEstimatorType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavEstimatorType { MAV_ESTIMATOR_TYPE_UNKNOWN = 0, MAV_ESTIMATOR_TYPE_NAIVE = 1, MAV_ESTIMATOR_TYPE_VISION = 2, diff --git a/mavlink/ardupilotmega/enum.MavEventErrorReason.html b/mavlink/ardupilotmega/enum.MavEventErrorReason.html index 384f924390..bd8c118c0a 100644 --- a/mavlink/ardupilotmega/enum.MavEventErrorReason.html +++ b/mavlink/ardupilotmega/enum.MavEventErrorReason.html @@ -1,4 +1,4 @@ -MavEventErrorReason in mavlink::ardupilotmega - Rust
pub enum MavEventErrorReason {
+MavEventErrorReason in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavEventErrorReason { MAV_EVENT_ERROR_REASON_UNAVAILABLE = 0, }

Variants§

§

MAV_EVENT_ERROR_REASON_UNAVAILABLE = 0

Implementations§

source§

impl MavEventErrorReason

source

pub const DEFAULT: Self = Self::MAV_EVENT_ERROR_REASON_UNAVAILABLE

Trait Implementations§

source§

impl Clone for MavEventErrorReason

source§

fn clone(&self) -> MavEventErrorReason

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavEventErrorReason

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavEventErrorReason

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavEventErrorReason

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromPrimitive for MavEventErrorReason

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the diff --git a/mavlink/ardupilotmega/enum.MavFrame.html b/mavlink/ardupilotmega/enum.MavFrame.html index 7b229909c6..df01aedcfd 100644 --- a/mavlink/ardupilotmega/enum.MavFrame.html +++ b/mavlink/ardupilotmega/enum.MavFrame.html @@ -1,4 +1,4 @@ -MavFrame in mavlink::ardupilotmega - Rust
pub enum MavFrame {
+MavFrame in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavFrame {
Show 22 variants MAV_FRAME_GLOBAL = 0, MAV_FRAME_LOCAL_NED = 1, MAV_FRAME_MISSION = 2, diff --git a/mavlink/ardupilotmega/enum.MavFtpErr.html b/mavlink/ardupilotmega/enum.MavFtpErr.html index 72c57d7735..da84e23f4a 100644 --- a/mavlink/ardupilotmega/enum.MavFtpErr.html +++ b/mavlink/ardupilotmega/enum.MavFtpErr.html @@ -1,4 +1,4 @@ -MavFtpErr in mavlink::ardupilotmega - Rust
pub enum MavFtpErr {
+MavFtpErr in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavFtpErr { MAV_FTP_ERR_NONE = 0, MAV_FTP_ERR_FAIL = 1, MAV_FTP_ERR_FAILERRNO = 2, diff --git a/mavlink/ardupilotmega/enum.MavFtpOpcode.html b/mavlink/ardupilotmega/enum.MavFtpOpcode.html index f04549222a..fd60668544 100644 --- a/mavlink/ardupilotmega/enum.MavFtpOpcode.html +++ b/mavlink/ardupilotmega/enum.MavFtpOpcode.html @@ -1,4 +1,4 @@ -MavFtpOpcode in mavlink::ardupilotmega - Rust
pub enum MavFtpOpcode {
+MavFtpOpcode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavFtpOpcode {
Show 18 variants MAV_FTP_OPCODE_NONE = 0, MAV_FTP_OPCODE_TERMINATESESSION = 1, MAV_FTP_OPCODE_RESETSESSION = 2, diff --git a/mavlink/ardupilotmega/enum.MavGoto.html b/mavlink/ardupilotmega/enum.MavGoto.html index d984178c98..7b5bec0f6e 100644 --- a/mavlink/ardupilotmega/enum.MavGoto.html +++ b/mavlink/ardupilotmega/enum.MavGoto.html @@ -1,4 +1,4 @@ -MavGoto in mavlink::ardupilotmega - Rust
pub enum MavGoto {
+MavGoto in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavGoto { MAV_GOTO_DO_HOLD = 0, MAV_GOTO_DO_CONTINUE = 1, MAV_GOTO_HOLD_AT_CURRENT_POSITION = 2, diff --git a/mavlink/ardupilotmega/enum.MavLandedState.html b/mavlink/ardupilotmega/enum.MavLandedState.html index bfa509863a..2aa7e9e0fe 100644 --- a/mavlink/ardupilotmega/enum.MavLandedState.html +++ b/mavlink/ardupilotmega/enum.MavLandedState.html @@ -1,4 +1,4 @@ -MavLandedState in mavlink::ardupilotmega - Rust
pub enum MavLandedState {
+MavLandedState in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavLandedState { MAV_LANDED_STATE_UNDEFINED = 0, MAV_LANDED_STATE_ON_GROUND = 1, MAV_LANDED_STATE_IN_AIR = 2, diff --git a/mavlink/ardupilotmega/enum.MavMessage.html b/mavlink/ardupilotmega/enum.MavMessage.html index 8214e41859..dddb33072d 100644 --- a/mavlink/ardupilotmega/enum.MavMessage.html +++ b/mavlink/ardupilotmega/enum.MavMessage.html @@ -1,301 +1,301 @@ -MavMessage in mavlink::ardupilotmega - Rust
pub enum MavMessage {
-
Show 296 variants GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA), - COMPONENT_INFORMATION(COMPONENT_INFORMATION_DATA), - OSD_PARAM_CONFIG(OSD_PARAM_CONFIG_DATA), - MISSION_ITEM(MISSION_ITEM_DATA), - RADIO_STATUS(RADIO_STATUS_DATA), - FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA), - HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA), - VIBRATION(VIBRATION_DATA), - BATTERY_STATUS(BATTERY_STATUS_DATA), - WIND_COV(WIND_COV_DATA), - CAMERA_INFORMATION(CAMERA_INFORMATION_DATA), - RAW_IMU(RAW_IMU_DATA), - GPS_RTK(GPS_RTK_DATA), - RAW_RPM(RAW_RPM_DATA), - TERRAIN_CHECK(TERRAIN_CHECK_DATA), - REQUEST_EVENT(REQUEST_EVENT_DATA), - REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA), - HWSTATUS(HWSTATUS_DATA), - FOLLOW_TARGET(FOLLOW_TARGET_DATA), - GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA), - UAVCAN_NODE_INFO(UAVCAN_NODE_INFO_DATA), - AOA_SSA(AOA_SSA_DATA), - ISBD_LINK_STATUS(ISBD_LINK_STATUS_DATA), +MavMessage in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavMessage { +
Show 296 variants LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA), + AUTH_KEY(AUTH_KEY_DATA), + MISSION_REQUEST(MISSION_REQUEST_DATA), + OPEN_DRONE_ID_OPERATOR_ID(OPEN_DRONE_ID_OPERATOR_ID_DATA), + CELLULAR_CONFIG(CELLULAR_CONFIG_DATA), + SCALED_PRESSURE3(SCALED_PRESSURE3_DATA), + CUBEPILOT_RAW_RC(CUBEPILOT_RAW_RC_DATA), LED_CONTROL(LED_CONTROL_DATA), - WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA), - UAVIONIX_ADSB_OUT_DYNAMIC(UAVIONIX_ADSB_OUT_DYNAMIC_DATA), - EKF_STATUS_REPORT(EKF_STATUS_REPORT_DATA), - OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA), - GIMBAL_REPORT(GIMBAL_REPORT_DATA), - SYS_STATUS(SYS_STATUS_DATA), - MAG_CAL_PROGRESS(MAG_CAL_PROGRESS_DATA), - FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA), - PID_TUNING(PID_TUNING_DATA), - HIL_CONTROLS(HIL_CONTROLS_DATA), - OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA), - CAN_FRAME(CAN_FRAME_DATA), - CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA), - ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA), - SET_MAG_OFFSETS(SET_MAG_OFFSETS_DATA), - VISION_SPEED_ESTIMATE(VISION_SPEED_ESTIMATE_DATA), - MOUNT_CONTROL(MOUNT_CONTROL_DATA), - DEEPSTALL(DEEPSTALL_DATA), - PARAM_EXT_ACK(PARAM_EXT_ACK_DATA), - COLLISION(COLLISION_DATA), - GIMBAL_TORQUE_CMD_REPORT(GIMBAL_TORQUE_CMD_REPORT_DATA), GPS_GLOBAL_ORIGIN(GPS_GLOBAL_ORIGIN_DATA), - SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA), - EFI_STATUS(EFI_STATUS_DATA), - HIL_STATE(HIL_STATE_DATA), - ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA), - MCU_STATUS(MCU_STATUS_DATA), - PARAM_MAP_RC(PARAM_MAP_RC_DATA), - HEARTBEAT(HEARTBEAT_DATA), - OPEN_DRONE_ID_OPERATOR_ID(OPEN_DRONE_ID_OPERATOR_ID_DATA), - DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA), - ODOMETRY(ODOMETRY_DATA), - DISTANCE_SENSOR(DISTANCE_SENSOR_DATA), - OSD_PARAM_SHOW_CONFIG_REPLY(OSD_PARAM_SHOW_CONFIG_REPLY_DATA), - GOPRO_SET_REQUEST(GOPRO_SET_REQUEST_DATA), - ESC_INFO(ESC_INFO_DATA), - MANUAL_SETPOINT(MANUAL_SETPOINT_DATA), - LOG_DATA(LOG_DATA_DATA), - CAMERA_FEEDBACK(CAMERA_FEEDBACK_DATA), - FENCE_POINT(FENCE_POINT_DATA), - SUPPORTED_TUNES(SUPPORTED_TUNES_DATA), - LOGGING_ACK(LOGGING_ACK_DATA), - VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA), - AHRS(AHRS_DATA), - MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA), - RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA), - LOG_REQUEST_LIST(LOG_REQUEST_LIST_DATA), - RESOURCE_REQUEST(RESOURCE_REQUEST_DATA), + GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA), + AIS_VESSEL(AIS_VESSEL_DATA), + SCALED_IMU(SCALED_IMU_DATA), + CAMERA_INFORMATION(CAMERA_INFORMATION_DATA), GIMBAL_MANAGER_SET_ATTITUDE(GIMBAL_MANAGER_SET_ATTITUDE_DATA), - ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA), - LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA), - DIGICAM_CONFIGURE(DIGICAM_CONFIGURE_DATA), - ESC_TELEMETRY_9_TO_12(ESC_TELEMETRY_9_TO_12_DATA), - TRAJECTORY_REPRESENTATION_WAYPOINTS(TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA), - POSITION_TARGET_LOCAL_NED(POSITION_TARGET_LOCAL_NED_DATA), - SAFETY_ALLOWED_AREA(SAFETY_ALLOWED_AREA_DATA), - COMMAND_INT(COMMAND_INT_DATA), - GOPRO_GET_REQUEST(GOPRO_GET_REQUEST_DATA), - CAN_FILTER_MODIFY(CAN_FILTER_MODIFY_DATA), - STATUSTEXT(STATUSTEXT_DATA), - TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA), - MISSION_ITEM_INT(MISSION_ITEM_INT_DATA), - CUBEPILOT_FIRMWARE_UPDATE_RESP(CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA), - UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT(UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA), - MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA), - STORAGE_INFORMATION(STORAGE_INFORMATION_DATA), - UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA), - MEMINFO(MEMINFO_DATA), + SUPPORTED_TUNES(SUPPORTED_TUNES_DATA), + RANGEFINDER(RANGEFINDER_DATA), GLOBAL_VISION_POSITION_ESTIMATE(GLOBAL_VISION_POSITION_ESTIMATE_DATA), - GPS2_RAW(GPS2_RAW_DATA), - RALLY_POINT(RALLY_POINT_DATA), - AP_ADC(AP_ADC_DATA), - ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA), - LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA), - RC_CHANNELS(RC_CHANNELS_DATA), - NAMED_VALUE_INT(NAMED_VALUE_INT_DATA), - LINK_NODE_STATUS(LINK_NODE_STATUS_DATA), - NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA), - SERVO_OUTPUT_RAW(SERVO_OUTPUT_RAW_DATA), - CELLULAR_STATUS(CELLULAR_STATUS_DATA), - OPEN_DRONE_ID_LOCATION(OPEN_DRONE_ID_LOCATION_DATA), + GENERATOR_STATUS(GENERATOR_STATUS_DATA), + COLLISION(COLLISION_DATA), + OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA), + MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA), + TERRAIN_DATA(TERRAIN_DATA_DATA), + REMOTE_LOG_DATA_BLOCK(REMOTE_LOG_DATA_BLOCK_DATA), DEBUG_FLOAT_ARRAY(DEBUG_FLOAT_ARRAY_DATA), - POWER_STATUS(POWER_STATUS_DATA), - GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA), - BUTTON_CHANGE(BUTTON_CHANGE_DATA), - CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA), - PARAM_EXT_REQUEST_READ(PARAM_EXT_REQUEST_READ_DATA), - MOUNT_STATUS(MOUNT_STATUS_DATA), - MISSION_CURRENT(MISSION_CURRENT_DATA), - DEBUG_VECT(DEBUG_VECT_DATA), - CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA), - SCALED_PRESSURE3(SCALED_PRESSURE3_DATA), - MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA), - UAVIONIX_ADSB_OUT_CFG(UAVIONIX_ADSB_OUT_CFG_DATA), - PARAM_VALUE(PARAM_VALUE_DATA), - VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA), - TIMESYNC(TIMESYNC_DATA), - MANUAL_CONTROL(MANUAL_CONTROL_DATA), + OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA), + OPTICAL_FLOW(OPTICAL_FLOW_DATA), + VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA), + SCALED_PRESSURE(SCALED_PRESSURE_DATA), + HIGHRES_IMU(HIGHRES_IMU_DATA), + GPS_RTCM_DATA(GPS_RTCM_DATA_DATA), + UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT(UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA), + WIND(WIND_DATA), + RALLY_FETCH_POINT(RALLY_FETCH_POINT_DATA), + FOLLOW_TARGET(FOLLOW_TARGET_DATA), + GOPRO_HEARTBEAT(GOPRO_HEARTBEAT_DATA), + CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA), + MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA), MEMORY_VECT(MEMORY_VECT_DATA), - OBSTACLE_DISTANCE_3D(OBSTACLE_DISTANCE_3D_DATA), - COMPONENT_METADATA(COMPONENT_METADATA_DATA), - CAMERA_SETTINGS(CAMERA_SETTINGS_DATA), + ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA), + PARAM_MAP_RC(PARAM_MAP_RC_DATA), + LOGGING_ACK(LOGGING_ACK_DATA), + OPEN_DRONE_ID_MESSAGE_PACK(OPEN_DRONE_ID_MESSAGE_PACK_DATA), + PROTOCOL_VERSION(PROTOCOL_VERSION_DATA), + ATTITUDE(ATTITUDE_DATA), + AOA_SSA(AOA_SSA_DATA), + ESC_TELEMETRY_1_TO_4(ESC_TELEMETRY_1_TO_4_DATA), + LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA), + PLAY_TUNE(PLAY_TUNE_DATA), + SIM_STATE(SIM_STATE_DATA), + MANUAL_SETPOINT(MANUAL_SETPOINT_DATA), + VIBRATION(VIBRATION_DATA), + ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA), + DEEPSTALL(DEEPSTALL_DATA), MAG_CAL_REPORT(MAG_CAL_REPORT_DATA), - OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA), - ATTITUDE_TARGET(ATTITUDE_TARGET_DATA), - SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA), - WINCH_STATUS(WINCH_STATUS_DATA), - GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA), + TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA), + SCALED_IMU2(SCALED_IMU2_DATA), + GOPRO_GET_REQUEST(GOPRO_GET_REQUEST_DATA), + COMMAND_INT(COMMAND_INT_DATA), + UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA), + ODOMETRY(ODOMETRY_DATA), + HIGH_LATENCY2(HIGH_LATENCY2_DATA), + REQUEST_EVENT(REQUEST_EVENT_DATA), ICAROUS_HEARTBEAT(ICAROUS_HEARTBEAT_DATA), - GOPRO_GET_RESPONSE(GOPRO_GET_RESPONSE_DATA), + MISSION_COUNT(MISSION_COUNT_DATA), + AIRSPEED_AUTOCAL(AIRSPEED_AUTOCAL_DATA), + PARAM_EXT_REQUEST_READ(PARAM_EXT_REQUEST_READ_DATA), + CELLULAR_STATUS(CELLULAR_STATUS_DATA), + COMPASSMOT_STATUS(COMPASSMOT_STATUS_DATA), GPS_RAW_INT(GPS_RAW_INT_DATA), - PING(PING_DATA), - ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA), - ESC_TELEMETRY_1_TO_4(ESC_TELEMETRY_1_TO_4_DATA), - HERELINK_VIDEO_STREAM_INFORMATION(HERELINK_VIDEO_STREAM_INFORMATION_DATA), - COMMAND_LONG(COMMAND_LONG_DATA), - GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA), - SCALED_IMU2(SCALED_IMU2_DATA), + WIND_COV(WIND_COV_DATA), + V2_EXTENSION(V2_EXTENSION_DATA), + WHEEL_DISTANCE(WHEEL_DISTANCE_DATA), + LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA), + OSD_PARAM_CONFIG_REPLY(OSD_PARAM_CONFIG_REPLY_DATA), AHRS2(AHRS2_DATA), - ATT_POS_MOCAP(ATT_POS_MOCAP_DATA), - OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA), - NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA), - MISSION_ACK(MISSION_ACK_DATA), - PARAM_SET(PARAM_SET_DATA), - DEBUG(DEBUG_DATA), - AUTH_KEY(AUTH_KEY_DATA), - SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA), + BATTERY2(BATTERY2_DATA), + LOG_REQUEST_END(LOG_REQUEST_END_DATA), + FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA), + LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA), + PID_TUNING(PID_TUNING_DATA), + AUTOPILOT_STATE_FOR_GIMBAL_DEVICE(AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA), ICAROUS_KINEMATIC_BANDS(ICAROUS_KINEMATIC_BANDS_DATA), - MISSION_COUNT(MISSION_COUNT_DATA), - ADSB_VEHICLE(ADSB_VEHICLE_DATA), - ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA), - SCALED_PRESSURE(SCALED_PRESSURE_DATA), - MOUNT_CONFIGURE(MOUNT_CONFIGURE_DATA), - OSD_PARAM_CONFIG_REPLY(OSD_PARAM_CONFIG_REPLY_DATA), + ESC_INFO(ESC_INFO_DATA), + POSITION_TARGET_LOCAL_NED(POSITION_TARGET_LOCAL_NED_DATA), + CAMERA_TRIGGER(CAMERA_TRIGGER_DATA), + GPS_INPUT(GPS_INPUT_DATA), + BATTERY_STATUS(BATTERY_STATUS_DATA), + FENCE_FETCH_POINT(FENCE_FETCH_POINT_DATA), + SYS_STATUS(SYS_STATUS_DATA), + ISBD_LINK_STATUS(ISBD_LINK_STATUS_DATA), + DEBUG_VECT(DEBUG_VECT_DATA), + SIMSTATE(SIMSTATE_DATA), + FENCE_POINT(FENCE_POINT_DATA), + CUBEPILOT_FIRMWARE_UPDATE_RESP(CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA), SETUP_SIGNING(SETUP_SIGNING_DATA), - DATA32(DATA32_DATA), - LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA), - TUNNEL(TUNNEL_DATA), + COMPONENT_METADATA(COMPONENT_METADATA_DATA), + CAMERA_STATUS(CAMERA_STATUS_DATA), DATA96(DATA96_DATA), - ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA), + GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA), ALTITUDE(ALTITUDE_DATA), - GPS_RTCM_DATA(GPS_RTCM_DATA_DATA), - SCALED_IMU3(SCALED_IMU3_DATA), - AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA), - SET_HOME_POSITION(SET_HOME_POSITION_DATA), - GIMBAL_CONTROL(GIMBAL_CONTROL_DATA), - GOPRO_HEARTBEAT(GOPRO_HEARTBEAT_DATA), - HIL_STATE_QUATERNION(HIL_STATE_QUATERNION_DATA), - TERRAIN_REPORT(TERRAIN_REPORT_DATA), - WIND(WIND_DATA), - RAW_PRESSURE(RAW_PRESSURE_DATA), - MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA), - CUBEPILOT_FIRMWARE_UPDATE_START(CUBEPILOT_FIRMWARE_UPDATE_START_DATA), - GENERATOR_STATUS(GENERATOR_STATUS_DATA), - RADIO(RADIO_DATA), - DEVICE_OP_READ(DEVICE_OP_READ_DATA), - AIS_VESSEL(AIS_VESSEL_DATA), - CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA), - PARAM_EXT_VALUE(PARAM_EXT_VALUE_DATA), - UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA), - TRAJECTORY_REPRESENTATION_BEZIER(TRAJECTORY_REPRESENTATION_BEZIER_DATA), - WATER_DEPTH(WATER_DEPTH_DATA), - SIM_STATE(SIM_STATE_DATA), - TERRAIN_REQUEST(TERRAIN_REQUEST_DATA), - PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA), - GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA), - PLAY_TUNE_V2(PLAY_TUNE_V2_DATA), - OPEN_DRONE_ID_MESSAGE_PACK(OPEN_DRONE_ID_MESSAGE_PACK_DATA), - SYSTEM_TIME(SYSTEM_TIME_DATA), - GPS2_RTK(GPS2_RTK_DATA), - HIGH_LATENCY2(HIGH_LATENCY2_DATA), - MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA), - RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA), - GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA), - SENSOR_OFFSETS(SENSOR_OFFSETS_DATA), - FENCE_FETCH_POINT(FENCE_FETCH_POINT_DATA), - LIMITS_STATUS(LIMITS_STATUS_DATA), + OBSTACLE_DISTANCE_3D(OBSTACLE_DISTANCE_3D_DATA), + HERELINK_TELEM(HERELINK_TELEM_DATA), + GPS_STATUS(GPS_STATUS_DATA), + RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA), + RPM(RPM_DATA), + CANFD_FRAME(CANFD_FRAME_DATA), + GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA), POSITION_TARGET_GLOBAL_INT(POSITION_TARGET_GLOBAL_INT_DATA), - DATA64(DATA64_DATA), - HOME_POSITION(HOME_POSITION_DATA), - LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA), - AUTOPILOT_STATE_FOR_GIMBAL_DEVICE(AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA), AUTOPILOT_VERSION_REQUEST(AUTOPILOT_VERSION_REQUEST_DATA), - ATTITUDE(ATTITUDE_DATA), - REMOTE_LOG_BLOCK_STATUS(REMOTE_LOG_BLOCK_STATUS_DATA), - ADAP_TUNING(ADAP_TUNING_DATA), - PARAM_EXT_SET(PARAM_EXT_SET_DATA), + LOGGING_DATA(LOGGING_DATA_DATA), + CHANGE_OPERATOR_CONTROL(CHANGE_OPERATOR_CONTROL_DATA), + DIGICAM_CONTROL(DIGICAM_CONTROL_DATA), + FENCE_STATUS(FENCE_STATUS_DATA), + MISSION_ITEM(MISSION_ITEM_DATA), + MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA), + ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA), + AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA), + HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA), HIL_OPTICAL_FLOW(HIL_OPTICAL_FLOW_DATA), - RC_CHANNELS_SCALED(RC_CHANNELS_SCALED_DATA), - EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA), + DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA), + PLAY_TUNE_V2(PLAY_TUNE_V2_DATA), + GIMBAL_REPORT(GIMBAL_REPORT_DATA), + SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA), + HOME_POSITION(HOME_POSITION_DATA), + DATA64(DATA64_DATA), + ESC_STATUS(ESC_STATUS_DATA), + PARAM_EXT_SET(PARAM_EXT_SET_DATA), + VISION_SPEED_ESTIMATE(VISION_SPEED_ESTIMATE_DATA), CHANGE_OPERATOR_CONTROL_ACK(CHANGE_OPERATOR_CONTROL_ACK_DATA), - LOG_REQUEST_END(LOG_REQUEST_END_DATA), - OPTICAL_FLOW(OPTICAL_FLOW_DATA), - COMMAND_ACK(COMMAND_ACK_DATA), - SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA), - OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA), - MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA), + DISTANCE_SENSOR(DISTANCE_SENSOR_DATA), + GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA), + ATT_POS_MOCAP(ATT_POS_MOCAP_DATA), + SET_MAG_OFFSETS(SET_MAG_OFFSETS_DATA), + LINK_NODE_STATUS(LINK_NODE_STATUS_DATA), + MISSION_ACK(MISSION_ACK_DATA), + HWSTATUS(HWSTATUS_DATA), + PARAM_SET(PARAM_SET_DATA), + CAMERA_FEEDBACK(CAMERA_FEEDBACK_DATA), + COMPONENT_INFORMATION(COMPONENT_INFORMATION_DATA), + SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA), + OSD_PARAM_SHOW_CONFIG_REPLY(OSD_PARAM_SHOW_CONFIG_REPLY_DATA), + RADIO_STATUS(RADIO_STATUS_DATA), + CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA), MISSION_REQUEST_LIST(MISSION_REQUEST_LIST_DATA), + UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA), + HIL_CONTROLS(HIL_CONTROLS_DATA), + SERVO_OUTPUT_RAW(SERVO_OUTPUT_RAW_DATA), + SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA), + UAVCAN_NODE_INFO(UAVCAN_NODE_INFO_DATA), + ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA), + STATUSTEXT(STATUSTEXT_DATA), + GOPRO_SET_REQUEST(GOPRO_SET_REQUEST_DATA), + SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA), + OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA), + LANDING_TARGET(LANDING_TARGET_DATA), + CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA), + LOG_DATA(LOG_DATA_DATA), + UAVIONIX_ADSB_OUT_DYNAMIC(UAVIONIX_ADSB_OUT_DYNAMIC_DATA), + SENSOR_OFFSETS(SENSOR_OFFSETS_DATA), + WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA), + DEVICE_OP_READ(DEVICE_OP_READ_DATA), + GPS_RTK(GPS_RTK_DATA), PARAM_REQUEST_LIST(PARAM_REQUEST_LIST_DATA), - MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA), - CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA), + HERELINK_VIDEO_STREAM_INFORMATION(HERELINK_VIDEO_STREAM_INFORMATION_DATA), + REMOTE_LOG_BLOCK_STATUS(REMOTE_LOG_BLOCK_STATUS_DATA), + COMMAND_ACK(COMMAND_ACK_DATA), + CAMERA_SETTINGS(CAMERA_SETTINGS_DATA), + RAW_IMU(RAW_IMU_DATA), + RADIO(RADIO_DATA), + SAFETY_ALLOWED_AREA(SAFETY_ALLOWED_AREA_DATA), + CUBEPILOT_FIRMWARE_UPDATE_START(CUBEPILOT_FIRMWARE_UPDATE_START_DATA), + DEVICE_OP_WRITE(DEVICE_OP_WRITE_DATA), + OPEN_DRONE_ID_LOCATION(OPEN_DRONE_ID_LOCATION_DATA), + GIMBAL_CONTROL(GIMBAL_CONTROL_DATA), + MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA), + ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA), + RESOURCE_REQUEST(RESOURCE_REQUEST_DATA), + GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA), + STORAGE_INFORMATION(STORAGE_INFORMATION_DATA), + SYSTEM_TIME(SYSTEM_TIME_DATA), + MISSION_CURRENT(MISSION_CURRENT_DATA), + LOG_REQUEST_LIST(LOG_REQUEST_LIST_DATA), + MAG_CAL_PROGRESS(MAG_CAL_PROGRESS_DATA), + GPS2_RTK(GPS2_RTK_DATA), + OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA), + LOG_ENTRY(LOG_ENTRY_DATA), + MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA), + TERRAIN_CHECK(TERRAIN_CHECK_DATA), + HEARTBEAT(HEARTBEAT_DATA), + CAN_FILTER_MODIFY(CAN_FILTER_MODIFY_DATA), GIMBAL_MANAGER_SET_PITCHYAW(GIMBAL_MANAGER_SET_PITCHYAW_DATA), - SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA), - GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA), - LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA), - VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA), - SET_MODE(SET_MODE_DATA), - HERELINK_TELEM(HERELINK_TELEM_DATA), - GPS_INJECT_DATA(GPS_INJECT_DATA_DATA), + FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA), VFR_HUD(VFR_HUD_DATA), - HIGH_LATENCY(HIGH_LATENCY_DATA), - DIGICAM_CONTROL(DIGICAM_CONTROL_DATA), - WHEEL_DISTANCE(WHEEL_DISTANCE_DATA), - COMMAND_CANCEL(COMMAND_CANCEL_DATA), - SIMSTATE(SIMSTATE_DATA), - DATA16(DATA16_DATA), - MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA), - REMOTE_LOG_DATA_BLOCK(REMOTE_LOG_DATA_BLOCK_DATA), - RPM(RPM_DATA), + MOUNT_CONTROL(MOUNT_CONTROL_DATA), + WATER_DEPTH(WATER_DEPTH_DATA), + SET_MODE(SET_MODE_DATA), + OSD_PARAM_CONFIG(OSD_PARAM_CONFIG_DATA), + PING(PING_DATA), + PARAM_EXT_ACK(PARAM_EXT_ACK_DATA), + TIMESYNC(TIMESYNC_DATA), + ESC_TELEMETRY_5_TO_8(ESC_TELEMETRY_5_TO_8_DATA), + RAW_PRESSURE(RAW_PRESSURE_DATA), + SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA), + OBSTACLE_DISTANCE(OBSTACLE_DISTANCE_DATA), + CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA), + ATTITUDE_TARGET(ATTITUDE_TARGET_DATA), + GPS2_RAW(GPS2_RAW_DATA), + RC_CHANNELS(RC_CHANNELS_DATA), + DATA_STREAM(DATA_STREAM_DATA), + VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA), + HIL_GPS(HIL_GPS_DATA), VISION_POSITION_DELTA(VISION_POSITION_DELTA_DATA), + TERRAIN_REQUEST(TERRAIN_REQUEST_DATA), + HIGH_LATENCY(HIGH_LATENCY_DATA), + TUNNEL(TUNNEL_DATA), + LIMITS_STATUS(LIMITS_STATUS_DATA), + TRAJECTORY_REPRESENTATION_BEZIER(TRAJECTORY_REPRESENTATION_BEZIER_DATA), + SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA), + RC_CHANNELS_SCALED(RC_CHANNELS_SCALED_DATA), + OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA), + MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA), + GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA), + DEVICE_OP_READ_REPLY(DEVICE_OP_READ_REPLY_DATA), + SERIAL_CONTROL(SERIAL_CONTROL_DATA), + CAN_FRAME(CAN_FRAME_DATA), AHRS3(AHRS3_DATA), - OSD_PARAM_SHOW_CONFIG(OSD_PARAM_SHOW_CONFIG_DATA), - SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA), - SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA), - GOPRO_SET_RESPONSE(GOPRO_SET_RESPONSE_DATA), + PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA), + CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA), + SCALED_IMU3(SCALED_IMU3_DATA), + TRAJECTORY_REPRESENTATION_WAYPOINTS(TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA), + MISSION_ITEM_INT(MISSION_ITEM_INT_DATA), + ADAP_TUNING(ADAP_TUNING_DATA), + EFI_STATUS(EFI_STATUS_DATA), + TERRAIN_REPORT(TERRAIN_REPORT_DATA), SCALED_PRESSURE2(SCALED_PRESSURE2_DATA), - HIL_SENSOR(HIL_SENSOR_DATA), - CANFD_FRAME(CANFD_FRAME_DATA), - DATA_STREAM(DATA_STREAM_DATA), - HIGHRES_IMU(HIGHRES_IMU_DATA), - CHANGE_OPERATOR_CONTROL(CHANGE_OPERATOR_CONTROL_DATA), - MISSION_REQUEST(MISSION_REQUEST_DATA), - VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA), - SCALED_IMU(SCALED_IMU_DATA), - DEVICE_OP_WRITE(DEVICE_OP_WRITE_DATA), + SET_HOME_POSITION(SET_HOME_POSITION_DATA), + AP_ADC(AP_ADC_DATA), + GIMBAL_TORQUE_CMD_REPORT(GIMBAL_TORQUE_CMD_REPORT_DATA), + GOPRO_SET_RESPONSE(GOPRO_SET_RESPONSE_DATA), + ESC_TELEMETRY_9_TO_12(ESC_TELEMETRY_9_TO_12_DATA), HYGROMETER_SENSOR(HYGROMETER_SENSOR_DATA), - CUBEPILOT_RAW_RC(CUBEPILOT_RAW_RC_DATA), - GPS_STATUS(GPS_STATUS_DATA), + CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA), + BUTTON_CHANGE(BUTTON_CHANGE_DATA), + VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA), + HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA), + OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA), + HIL_STATE(HIL_STATE_DATA), + GOPRO_GET_RESPONSE(GOPRO_GET_RESPONSE_DATA), + POWER_STATUS(POWER_STATUS_DATA), + AHRS(AHRS_DATA), + SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA), + LOG_ERASE(LOG_ERASE_DATA), + ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA), + NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA), + ADSB_VEHICLE(ADSB_VEHICLE_DATA), + GPS_INJECT_DATA(GPS_INJECT_DATA_DATA), + NAMED_VALUE_INT(NAMED_VALUE_INT_DATA), + DIGICAM_CONFIGURE(DIGICAM_CONFIGURE_DATA), + EKF_STATUS_REPORT(EKF_STATUS_REPORT_DATA), + OSD_PARAM_SHOW_CONFIG(OSD_PARAM_SHOW_CONFIG_DATA), + REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA), + GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA), + HIL_SENSOR(HIL_SENSOR_DATA), + WINCH_STATUS(WINCH_STATUS_DATA), + GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA), + MOUNT_CONFIGURE(MOUNT_CONFIGURE_DATA), + DATA32(DATA32_DATA), + COMMAND_LONG(COMMAND_LONG_DATA), + NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA), + MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA), + VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA), + MEMINFO(MEMINFO_DATA), DEVICE_OP_WRITE_REPLY(DEVICE_OP_WRITE_REPLY_DATA), - CAMERA_TRIGGER(CAMERA_TRIGGER_DATA), - SERIAL_CONTROL(SERIAL_CONTROL_DATA), - OBSTACLE_DISTANCE(OBSTACLE_DISTANCE_DATA), - FENCE_STATUS(FENCE_STATUS_DATA), - ESC_STATUS(ESC_STATUS_DATA), - LANDING_TARGET(LANDING_TARGET_DATA), - OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA), - CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA), - BATTERY2(BATTERY2_DATA), - TERRAIN_DATA(TERRAIN_DATA_DATA), - GPS_INPUT(GPS_INPUT_DATA), - AIRSPEED_AUTOCAL(AIRSPEED_AUTOCAL_DATA), - CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA), - HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA), - OPEN_DRONE_ID_BASIC_ID(OPEN_DRONE_ID_BASIC_ID_DATA), + COMMAND_CANCEL(COMMAND_CANCEL_DATA), + RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA), + PARAM_EXT_VALUE(PARAM_EXT_VALUE_DATA), RESPONSE_EVENT_ERROR(RESPONSE_EVENT_ERROR_DATA), - LOG_ENTRY(LOG_ENTRY_DATA), - PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA), - LOG_ERASE(LOG_ERASE_DATA), + MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA), + HIL_STATE_QUATERNION(HIL_STATE_QUATERNION_DATA), + UAVIONIX_ADSB_OUT_CFG(UAVIONIX_ADSB_OUT_CFG_DATA), + ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA), + PARAM_VALUE(PARAM_VALUE_DATA), ORBIT_EXECUTION_STATUS(ORBIT_EXECUTION_STATUS_DATA), - COMPASSMOT_STATUS(COMPASSMOT_STATUS_DATA), - HIL_GPS(HIL_GPS_DATA), - LOGGING_DATA(LOGGING_DATA_DATA), - PLAY_TUNE(PLAY_TUNE_DATA), - PROTOCOL_VERSION(PROTOCOL_VERSION_DATA), - CELLULAR_CONFIG(CELLULAR_CONFIG_DATA), - DEVICE_OP_READ_REPLY(DEVICE_OP_READ_REPLY_DATA), + RALLY_POINT(RALLY_POINT_DATA), + MANUAL_CONTROL(MANUAL_CONTROL_DATA), + EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA), + DATA16(DATA16_DATA), + CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA), + MOUNT_STATUS(MOUNT_STATUS_DATA), + DEBUG(DEBUG_DATA), + OPEN_DRONE_ID_BASIC_ID(OPEN_DRONE_ID_BASIC_ID_DATA), EVENT(EVENT_DATA), - V2_EXTENSION(V2_EXTENSION_DATA), - RALLY_FETCH_POINT(RALLY_FETCH_POINT_DATA), - CAMERA_STATUS(CAMERA_STATUS_DATA), - RANGEFINDER(RANGEFINDER_DATA), - ESC_TELEMETRY_5_TO_8(ESC_TELEMETRY_5_TO_8_DATA), -
}

Variants§

§

GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA)

§

COMPONENT_INFORMATION(COMPONENT_INFORMATION_DATA)

§

OSD_PARAM_CONFIG(OSD_PARAM_CONFIG_DATA)

§

MISSION_ITEM(MISSION_ITEM_DATA)

§

RADIO_STATUS(RADIO_STATUS_DATA)

§

FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA)

§

HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA)

§

VIBRATION(VIBRATION_DATA)

§

BATTERY_STATUS(BATTERY_STATUS_DATA)

§

WIND_COV(WIND_COV_DATA)

§

CAMERA_INFORMATION(CAMERA_INFORMATION_DATA)

§

RAW_IMU(RAW_IMU_DATA)

§

GPS_RTK(GPS_RTK_DATA)

§

RAW_RPM(RAW_RPM_DATA)

§

TERRAIN_CHECK(TERRAIN_CHECK_DATA)

§

REQUEST_EVENT(REQUEST_EVENT_DATA)

§

REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA)

§

HWSTATUS(HWSTATUS_DATA)

§

FOLLOW_TARGET(FOLLOW_TARGET_DATA)

§

GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA)

§

UAVCAN_NODE_INFO(UAVCAN_NODE_INFO_DATA)

§

AOA_SSA(AOA_SSA_DATA)

§

LED_CONTROL(LED_CONTROL_DATA)

§

WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA)

§

UAVIONIX_ADSB_OUT_DYNAMIC(UAVIONIX_ADSB_OUT_DYNAMIC_DATA)

§

EKF_STATUS_REPORT(EKF_STATUS_REPORT_DATA)

§

OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA)

§

GIMBAL_REPORT(GIMBAL_REPORT_DATA)

§

SYS_STATUS(SYS_STATUS_DATA)

§

MAG_CAL_PROGRESS(MAG_CAL_PROGRESS_DATA)

§

FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA)

§

PID_TUNING(PID_TUNING_DATA)

§

HIL_CONTROLS(HIL_CONTROLS_DATA)

§

OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA)

§

CAN_FRAME(CAN_FRAME_DATA)

§

CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA)

§

ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA)

§

SET_MAG_OFFSETS(SET_MAG_OFFSETS_DATA)

§

VISION_SPEED_ESTIMATE(VISION_SPEED_ESTIMATE_DATA)

§

MOUNT_CONTROL(MOUNT_CONTROL_DATA)

§

DEEPSTALL(DEEPSTALL_DATA)

§

PARAM_EXT_ACK(PARAM_EXT_ACK_DATA)

§

COLLISION(COLLISION_DATA)

§

GIMBAL_TORQUE_CMD_REPORT(GIMBAL_TORQUE_CMD_REPORT_DATA)

§

GPS_GLOBAL_ORIGIN(GPS_GLOBAL_ORIGIN_DATA)

§

SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA)

§

EFI_STATUS(EFI_STATUS_DATA)

§

HIL_STATE(HIL_STATE_DATA)

§

ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA)

§

MCU_STATUS(MCU_STATUS_DATA)

§

PARAM_MAP_RC(PARAM_MAP_RC_DATA)

§

HEARTBEAT(HEARTBEAT_DATA)

§

OPEN_DRONE_ID_OPERATOR_ID(OPEN_DRONE_ID_OPERATOR_ID_DATA)

§

DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA)

§

ODOMETRY(ODOMETRY_DATA)

§

DISTANCE_SENSOR(DISTANCE_SENSOR_DATA)

§

OSD_PARAM_SHOW_CONFIG_REPLY(OSD_PARAM_SHOW_CONFIG_REPLY_DATA)

§

GOPRO_SET_REQUEST(GOPRO_SET_REQUEST_DATA)

§

ESC_INFO(ESC_INFO_DATA)

§

MANUAL_SETPOINT(MANUAL_SETPOINT_DATA)

§

LOG_DATA(LOG_DATA_DATA)

§

CAMERA_FEEDBACK(CAMERA_FEEDBACK_DATA)

§

FENCE_POINT(FENCE_POINT_DATA)

§

SUPPORTED_TUNES(SUPPORTED_TUNES_DATA)

§

LOGGING_ACK(LOGGING_ACK_DATA)

§

VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA)

§

AHRS(AHRS_DATA)

§

MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA)

§

RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA)

§

LOG_REQUEST_LIST(LOG_REQUEST_LIST_DATA)

§

RESOURCE_REQUEST(RESOURCE_REQUEST_DATA)

§

GIMBAL_MANAGER_SET_ATTITUDE(GIMBAL_MANAGER_SET_ATTITUDE_DATA)

§

ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA)

§

LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA)

§

DIGICAM_CONFIGURE(DIGICAM_CONFIGURE_DATA)

§

ESC_TELEMETRY_9_TO_12(ESC_TELEMETRY_9_TO_12_DATA)

§

TRAJECTORY_REPRESENTATION_WAYPOINTS(TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA)

§

POSITION_TARGET_LOCAL_NED(POSITION_TARGET_LOCAL_NED_DATA)

§

SAFETY_ALLOWED_AREA(SAFETY_ALLOWED_AREA_DATA)

§

COMMAND_INT(COMMAND_INT_DATA)

§

GOPRO_GET_REQUEST(GOPRO_GET_REQUEST_DATA)

§

CAN_FILTER_MODIFY(CAN_FILTER_MODIFY_DATA)

§

STATUSTEXT(STATUSTEXT_DATA)

§

TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA)

§

MISSION_ITEM_INT(MISSION_ITEM_INT_DATA)

§

CUBEPILOT_FIRMWARE_UPDATE_RESP(CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA)

§

UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT(UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA)

§

MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA)

§

STORAGE_INFORMATION(STORAGE_INFORMATION_DATA)

§

UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA)

§

MEMINFO(MEMINFO_DATA)

§

GLOBAL_VISION_POSITION_ESTIMATE(GLOBAL_VISION_POSITION_ESTIMATE_DATA)

§

GPS2_RAW(GPS2_RAW_DATA)

§

RALLY_POINT(RALLY_POINT_DATA)

§

AP_ADC(AP_ADC_DATA)

§

ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA)

§

LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA)

§

RC_CHANNELS(RC_CHANNELS_DATA)

§

NAMED_VALUE_INT(NAMED_VALUE_INT_DATA)

§

NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA)

§

SERVO_OUTPUT_RAW(SERVO_OUTPUT_RAW_DATA)

§

CELLULAR_STATUS(CELLULAR_STATUS_DATA)

§

OPEN_DRONE_ID_LOCATION(OPEN_DRONE_ID_LOCATION_DATA)

§

DEBUG_FLOAT_ARRAY(DEBUG_FLOAT_ARRAY_DATA)

§

POWER_STATUS(POWER_STATUS_DATA)

§

GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA)

§

BUTTON_CHANGE(BUTTON_CHANGE_DATA)

§

CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA)

§

PARAM_EXT_REQUEST_READ(PARAM_EXT_REQUEST_READ_DATA)

§

MOUNT_STATUS(MOUNT_STATUS_DATA)

§

MISSION_CURRENT(MISSION_CURRENT_DATA)

§

DEBUG_VECT(DEBUG_VECT_DATA)

§

CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA)

§

SCALED_PRESSURE3(SCALED_PRESSURE3_DATA)

§

MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA)

§

UAVIONIX_ADSB_OUT_CFG(UAVIONIX_ADSB_OUT_CFG_DATA)

§

PARAM_VALUE(PARAM_VALUE_DATA)

§

VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA)

§

TIMESYNC(TIMESYNC_DATA)

§

MANUAL_CONTROL(MANUAL_CONTROL_DATA)

§

MEMORY_VECT(MEMORY_VECT_DATA)

§

OBSTACLE_DISTANCE_3D(OBSTACLE_DISTANCE_3D_DATA)

§

COMPONENT_METADATA(COMPONENT_METADATA_DATA)

§

CAMERA_SETTINGS(CAMERA_SETTINGS_DATA)

§

MAG_CAL_REPORT(MAG_CAL_REPORT_DATA)

§

OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA)

§

ATTITUDE_TARGET(ATTITUDE_TARGET_DATA)

§

SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA)

§

WINCH_STATUS(WINCH_STATUS_DATA)

§

GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA)

§

ICAROUS_HEARTBEAT(ICAROUS_HEARTBEAT_DATA)

§

GOPRO_GET_RESPONSE(GOPRO_GET_RESPONSE_DATA)

§

GPS_RAW_INT(GPS_RAW_INT_DATA)

§

PING(PING_DATA)

§

ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA)

§

ESC_TELEMETRY_1_TO_4(ESC_TELEMETRY_1_TO_4_DATA)

§

COMMAND_LONG(COMMAND_LONG_DATA)

§

GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA)

§

SCALED_IMU2(SCALED_IMU2_DATA)

§

AHRS2(AHRS2_DATA)

§

ATT_POS_MOCAP(ATT_POS_MOCAP_DATA)

§

OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA)

§

NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA)

§

MISSION_ACK(MISSION_ACK_DATA)

§

PARAM_SET(PARAM_SET_DATA)

§

DEBUG(DEBUG_DATA)

§

AUTH_KEY(AUTH_KEY_DATA)

§

SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA)

§

ICAROUS_KINEMATIC_BANDS(ICAROUS_KINEMATIC_BANDS_DATA)

§

MISSION_COUNT(MISSION_COUNT_DATA)

§

ADSB_VEHICLE(ADSB_VEHICLE_DATA)

§

ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA)

§

SCALED_PRESSURE(SCALED_PRESSURE_DATA)

§

MOUNT_CONFIGURE(MOUNT_CONFIGURE_DATA)

§

OSD_PARAM_CONFIG_REPLY(OSD_PARAM_CONFIG_REPLY_DATA)

§

SETUP_SIGNING(SETUP_SIGNING_DATA)

§

DATA32(DATA32_DATA)

§

LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA)

§

TUNNEL(TUNNEL_DATA)

§

DATA96(DATA96_DATA)

§

ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA)

§

ALTITUDE(ALTITUDE_DATA)

§

GPS_RTCM_DATA(GPS_RTCM_DATA_DATA)

§

SCALED_IMU3(SCALED_IMU3_DATA)

§

AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA)

§

SET_HOME_POSITION(SET_HOME_POSITION_DATA)

§

GIMBAL_CONTROL(GIMBAL_CONTROL_DATA)

§

GOPRO_HEARTBEAT(GOPRO_HEARTBEAT_DATA)

§

HIL_STATE_QUATERNION(HIL_STATE_QUATERNION_DATA)

§

TERRAIN_REPORT(TERRAIN_REPORT_DATA)

§

WIND(WIND_DATA)

§

RAW_PRESSURE(RAW_PRESSURE_DATA)

§

MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA)

§

CUBEPILOT_FIRMWARE_UPDATE_START(CUBEPILOT_FIRMWARE_UPDATE_START_DATA)

§

GENERATOR_STATUS(GENERATOR_STATUS_DATA)

§

RADIO(RADIO_DATA)

§

DEVICE_OP_READ(DEVICE_OP_READ_DATA)

§

AIS_VESSEL(AIS_VESSEL_DATA)

§

CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA)

§

PARAM_EXT_VALUE(PARAM_EXT_VALUE_DATA)

§

UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA)

§

TRAJECTORY_REPRESENTATION_BEZIER(TRAJECTORY_REPRESENTATION_BEZIER_DATA)

§

WATER_DEPTH(WATER_DEPTH_DATA)

§

SIM_STATE(SIM_STATE_DATA)

§

TERRAIN_REQUEST(TERRAIN_REQUEST_DATA)

§

PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA)

§

GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA)

§

PLAY_TUNE_V2(PLAY_TUNE_V2_DATA)

§

OPEN_DRONE_ID_MESSAGE_PACK(OPEN_DRONE_ID_MESSAGE_PACK_DATA)

§

SYSTEM_TIME(SYSTEM_TIME_DATA)

§

GPS2_RTK(GPS2_RTK_DATA)

§

HIGH_LATENCY2(HIGH_LATENCY2_DATA)

§

MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA)

§

RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA)

§

GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA)

§

SENSOR_OFFSETS(SENSOR_OFFSETS_DATA)

§

FENCE_FETCH_POINT(FENCE_FETCH_POINT_DATA)

§

LIMITS_STATUS(LIMITS_STATUS_DATA)

§

POSITION_TARGET_GLOBAL_INT(POSITION_TARGET_GLOBAL_INT_DATA)

§

DATA64(DATA64_DATA)

§

HOME_POSITION(HOME_POSITION_DATA)

§

LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA)

§

AUTOPILOT_STATE_FOR_GIMBAL_DEVICE(AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA)

§

AUTOPILOT_VERSION_REQUEST(AUTOPILOT_VERSION_REQUEST_DATA)

§

ATTITUDE(ATTITUDE_DATA)

§

REMOTE_LOG_BLOCK_STATUS(REMOTE_LOG_BLOCK_STATUS_DATA)

§

ADAP_TUNING(ADAP_TUNING_DATA)

§

PARAM_EXT_SET(PARAM_EXT_SET_DATA)

§

HIL_OPTICAL_FLOW(HIL_OPTICAL_FLOW_DATA)

§

RC_CHANNELS_SCALED(RC_CHANNELS_SCALED_DATA)

§

EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA)

§

CHANGE_OPERATOR_CONTROL_ACK(CHANGE_OPERATOR_CONTROL_ACK_DATA)

§

LOG_REQUEST_END(LOG_REQUEST_END_DATA)

§

OPTICAL_FLOW(OPTICAL_FLOW_DATA)

§

COMMAND_ACK(COMMAND_ACK_DATA)

§

SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA)

§

OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA)

§

MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA)

§

MISSION_REQUEST_LIST(MISSION_REQUEST_LIST_DATA)

§

PARAM_REQUEST_LIST(PARAM_REQUEST_LIST_DATA)

§

MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA)

§

CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA)

§

GIMBAL_MANAGER_SET_PITCHYAW(GIMBAL_MANAGER_SET_PITCHYAW_DATA)

§

SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA)

§

GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA)

§

LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA)

§

VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA)

§

SET_MODE(SET_MODE_DATA)

§

GPS_INJECT_DATA(GPS_INJECT_DATA_DATA)

§

VFR_HUD(VFR_HUD_DATA)

§

HIGH_LATENCY(HIGH_LATENCY_DATA)

§

DIGICAM_CONTROL(DIGICAM_CONTROL_DATA)

§

WHEEL_DISTANCE(WHEEL_DISTANCE_DATA)

§

COMMAND_CANCEL(COMMAND_CANCEL_DATA)

§

SIMSTATE(SIMSTATE_DATA)

§

DATA16(DATA16_DATA)

§

MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA)

§

REMOTE_LOG_DATA_BLOCK(REMOTE_LOG_DATA_BLOCK_DATA)

§

RPM(RPM_DATA)

§

VISION_POSITION_DELTA(VISION_POSITION_DELTA_DATA)

§

AHRS3(AHRS3_DATA)

§

OSD_PARAM_SHOW_CONFIG(OSD_PARAM_SHOW_CONFIG_DATA)

§

SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA)

§

SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA)

§

GOPRO_SET_RESPONSE(GOPRO_SET_RESPONSE_DATA)

§

SCALED_PRESSURE2(SCALED_PRESSURE2_DATA)

§

HIL_SENSOR(HIL_SENSOR_DATA)

§

CANFD_FRAME(CANFD_FRAME_DATA)

§

DATA_STREAM(DATA_STREAM_DATA)

§

HIGHRES_IMU(HIGHRES_IMU_DATA)

§

CHANGE_OPERATOR_CONTROL(CHANGE_OPERATOR_CONTROL_DATA)

§

MISSION_REQUEST(MISSION_REQUEST_DATA)

§

VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA)

§

SCALED_IMU(SCALED_IMU_DATA)

§

DEVICE_OP_WRITE(DEVICE_OP_WRITE_DATA)

§

HYGROMETER_SENSOR(HYGROMETER_SENSOR_DATA)

§

CUBEPILOT_RAW_RC(CUBEPILOT_RAW_RC_DATA)

§

GPS_STATUS(GPS_STATUS_DATA)

§

DEVICE_OP_WRITE_REPLY(DEVICE_OP_WRITE_REPLY_DATA)

§

CAMERA_TRIGGER(CAMERA_TRIGGER_DATA)

§

SERIAL_CONTROL(SERIAL_CONTROL_DATA)

§

OBSTACLE_DISTANCE(OBSTACLE_DISTANCE_DATA)

§

FENCE_STATUS(FENCE_STATUS_DATA)

§

ESC_STATUS(ESC_STATUS_DATA)

§

LANDING_TARGET(LANDING_TARGET_DATA)

§

OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA)

§

CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA)

§

BATTERY2(BATTERY2_DATA)

§

TERRAIN_DATA(TERRAIN_DATA_DATA)

§

GPS_INPUT(GPS_INPUT_DATA)

§

AIRSPEED_AUTOCAL(AIRSPEED_AUTOCAL_DATA)

§

CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA)

§

HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA)

§

OPEN_DRONE_ID_BASIC_ID(OPEN_DRONE_ID_BASIC_ID_DATA)

§

RESPONSE_EVENT_ERROR(RESPONSE_EVENT_ERROR_DATA)

§

LOG_ENTRY(LOG_ENTRY_DATA)

§

PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA)

§

LOG_ERASE(LOG_ERASE_DATA)

§

ORBIT_EXECUTION_STATUS(ORBIT_EXECUTION_STATUS_DATA)

§

COMPASSMOT_STATUS(COMPASSMOT_STATUS_DATA)

§

HIL_GPS(HIL_GPS_DATA)

§

LOGGING_DATA(LOGGING_DATA_DATA)

§

PLAY_TUNE(PLAY_TUNE_DATA)

§

PROTOCOL_VERSION(PROTOCOL_VERSION_DATA)

§

CELLULAR_CONFIG(CELLULAR_CONFIG_DATA)

§

DEVICE_OP_READ_REPLY(DEVICE_OP_READ_REPLY_DATA)

§

EVENT(EVENT_DATA)

§

V2_EXTENSION(V2_EXTENSION_DATA)

§

RALLY_FETCH_POINT(RALLY_FETCH_POINT_DATA)

§

CAMERA_STATUS(CAMERA_STATUS_DATA)

§

RANGEFINDER(RANGEFINDER_DATA)

§

ESC_TELEMETRY_5_TO_8(ESC_TELEMETRY_5_TO_8_DATA)

Trait Implementations§

source§

impl Clone for MavMessage

source§

fn clone(&self) -> MavMessage

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavMessage

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for MavMessage

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + MCU_STATUS(MCU_STATUS_DATA), + LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA), + RAW_RPM(RAW_RPM_DATA), + PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA), +

}

Variants§

§

LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA)

§

AUTH_KEY(AUTH_KEY_DATA)

§

MISSION_REQUEST(MISSION_REQUEST_DATA)

§

OPEN_DRONE_ID_OPERATOR_ID(OPEN_DRONE_ID_OPERATOR_ID_DATA)

§

CELLULAR_CONFIG(CELLULAR_CONFIG_DATA)

§

SCALED_PRESSURE3(SCALED_PRESSURE3_DATA)

§

CUBEPILOT_RAW_RC(CUBEPILOT_RAW_RC_DATA)

§

LED_CONTROL(LED_CONTROL_DATA)

§

GPS_GLOBAL_ORIGIN(GPS_GLOBAL_ORIGIN_DATA)

§

GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA)

§

AIS_VESSEL(AIS_VESSEL_DATA)

§

SCALED_IMU(SCALED_IMU_DATA)

§

CAMERA_INFORMATION(CAMERA_INFORMATION_DATA)

§

GIMBAL_MANAGER_SET_ATTITUDE(GIMBAL_MANAGER_SET_ATTITUDE_DATA)

§

SUPPORTED_TUNES(SUPPORTED_TUNES_DATA)

§

RANGEFINDER(RANGEFINDER_DATA)

§

GLOBAL_VISION_POSITION_ESTIMATE(GLOBAL_VISION_POSITION_ESTIMATE_DATA)

§

GENERATOR_STATUS(GENERATOR_STATUS_DATA)

§

COLLISION(COLLISION_DATA)

§

OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA)

§

MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA)

§

TERRAIN_DATA(TERRAIN_DATA_DATA)

§

REMOTE_LOG_DATA_BLOCK(REMOTE_LOG_DATA_BLOCK_DATA)

§

DEBUG_FLOAT_ARRAY(DEBUG_FLOAT_ARRAY_DATA)

§

OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA)

§

OPTICAL_FLOW(OPTICAL_FLOW_DATA)

§

VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA)

§

SCALED_PRESSURE(SCALED_PRESSURE_DATA)

§

HIGHRES_IMU(HIGHRES_IMU_DATA)

§

GPS_RTCM_DATA(GPS_RTCM_DATA_DATA)

§

UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT(UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA)

§

WIND(WIND_DATA)

§

RALLY_FETCH_POINT(RALLY_FETCH_POINT_DATA)

§

FOLLOW_TARGET(FOLLOW_TARGET_DATA)

§

GOPRO_HEARTBEAT(GOPRO_HEARTBEAT_DATA)

§

CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA)

§

MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA)

§

MEMORY_VECT(MEMORY_VECT_DATA)

§

ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA)

§

PARAM_MAP_RC(PARAM_MAP_RC_DATA)

§

LOGGING_ACK(LOGGING_ACK_DATA)

§

OPEN_DRONE_ID_MESSAGE_PACK(OPEN_DRONE_ID_MESSAGE_PACK_DATA)

§

PROTOCOL_VERSION(PROTOCOL_VERSION_DATA)

§

ATTITUDE(ATTITUDE_DATA)

§

AOA_SSA(AOA_SSA_DATA)

§

ESC_TELEMETRY_1_TO_4(ESC_TELEMETRY_1_TO_4_DATA)

§

LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA)

§

PLAY_TUNE(PLAY_TUNE_DATA)

§

SIM_STATE(SIM_STATE_DATA)

§

MANUAL_SETPOINT(MANUAL_SETPOINT_DATA)

§

VIBRATION(VIBRATION_DATA)

§

ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA)

§

DEEPSTALL(DEEPSTALL_DATA)

§

MAG_CAL_REPORT(MAG_CAL_REPORT_DATA)

§

TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA)

§

SCALED_IMU2(SCALED_IMU2_DATA)

§

GOPRO_GET_REQUEST(GOPRO_GET_REQUEST_DATA)

§

COMMAND_INT(COMMAND_INT_DATA)

§

UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA)

§

ODOMETRY(ODOMETRY_DATA)

§

HIGH_LATENCY2(HIGH_LATENCY2_DATA)

§

REQUEST_EVENT(REQUEST_EVENT_DATA)

§

ICAROUS_HEARTBEAT(ICAROUS_HEARTBEAT_DATA)

§

MISSION_COUNT(MISSION_COUNT_DATA)

§

AIRSPEED_AUTOCAL(AIRSPEED_AUTOCAL_DATA)

§

PARAM_EXT_REQUEST_READ(PARAM_EXT_REQUEST_READ_DATA)

§

CELLULAR_STATUS(CELLULAR_STATUS_DATA)

§

COMPASSMOT_STATUS(COMPASSMOT_STATUS_DATA)

§

GPS_RAW_INT(GPS_RAW_INT_DATA)

§

WIND_COV(WIND_COV_DATA)

§

V2_EXTENSION(V2_EXTENSION_DATA)

§

WHEEL_DISTANCE(WHEEL_DISTANCE_DATA)

§

LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA)

§

OSD_PARAM_CONFIG_REPLY(OSD_PARAM_CONFIG_REPLY_DATA)

§

AHRS2(AHRS2_DATA)

§

BATTERY2(BATTERY2_DATA)

§

LOG_REQUEST_END(LOG_REQUEST_END_DATA)

§

FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA)

§

LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA)

§

PID_TUNING(PID_TUNING_DATA)

§

AUTOPILOT_STATE_FOR_GIMBAL_DEVICE(AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA)

§

ICAROUS_KINEMATIC_BANDS(ICAROUS_KINEMATIC_BANDS_DATA)

§

ESC_INFO(ESC_INFO_DATA)

§

POSITION_TARGET_LOCAL_NED(POSITION_TARGET_LOCAL_NED_DATA)

§

CAMERA_TRIGGER(CAMERA_TRIGGER_DATA)

§

GPS_INPUT(GPS_INPUT_DATA)

§

BATTERY_STATUS(BATTERY_STATUS_DATA)

§

FENCE_FETCH_POINT(FENCE_FETCH_POINT_DATA)

§

SYS_STATUS(SYS_STATUS_DATA)

§

DEBUG_VECT(DEBUG_VECT_DATA)

§

SIMSTATE(SIMSTATE_DATA)

§

FENCE_POINT(FENCE_POINT_DATA)

§

CUBEPILOT_FIRMWARE_UPDATE_RESP(CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA)

§

SETUP_SIGNING(SETUP_SIGNING_DATA)

§

COMPONENT_METADATA(COMPONENT_METADATA_DATA)

§

CAMERA_STATUS(CAMERA_STATUS_DATA)

§

DATA96(DATA96_DATA)

§

GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA)

§

ALTITUDE(ALTITUDE_DATA)

§

OBSTACLE_DISTANCE_3D(OBSTACLE_DISTANCE_3D_DATA)

§

GPS_STATUS(GPS_STATUS_DATA)

§

RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA)

§

RPM(RPM_DATA)

§

CANFD_FRAME(CANFD_FRAME_DATA)

§

GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA)

§

POSITION_TARGET_GLOBAL_INT(POSITION_TARGET_GLOBAL_INT_DATA)

§

AUTOPILOT_VERSION_REQUEST(AUTOPILOT_VERSION_REQUEST_DATA)

§

LOGGING_DATA(LOGGING_DATA_DATA)

§

CHANGE_OPERATOR_CONTROL(CHANGE_OPERATOR_CONTROL_DATA)

§

DIGICAM_CONTROL(DIGICAM_CONTROL_DATA)

§

FENCE_STATUS(FENCE_STATUS_DATA)

§

MISSION_ITEM(MISSION_ITEM_DATA)

§

MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA)

§

ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA)

§

AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA)

§

HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA)

§

HIL_OPTICAL_FLOW(HIL_OPTICAL_FLOW_DATA)

§

DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA)

§

PLAY_TUNE_V2(PLAY_TUNE_V2_DATA)

§

GIMBAL_REPORT(GIMBAL_REPORT_DATA)

§

SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA)

§

HOME_POSITION(HOME_POSITION_DATA)

§

DATA64(DATA64_DATA)

§

ESC_STATUS(ESC_STATUS_DATA)

§

PARAM_EXT_SET(PARAM_EXT_SET_DATA)

§

VISION_SPEED_ESTIMATE(VISION_SPEED_ESTIMATE_DATA)

§

CHANGE_OPERATOR_CONTROL_ACK(CHANGE_OPERATOR_CONTROL_ACK_DATA)

§

DISTANCE_SENSOR(DISTANCE_SENSOR_DATA)

§

GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA)

§

ATT_POS_MOCAP(ATT_POS_MOCAP_DATA)

§

SET_MAG_OFFSETS(SET_MAG_OFFSETS_DATA)

§

MISSION_ACK(MISSION_ACK_DATA)

§

HWSTATUS(HWSTATUS_DATA)

§

PARAM_SET(PARAM_SET_DATA)

§

CAMERA_FEEDBACK(CAMERA_FEEDBACK_DATA)

§

COMPONENT_INFORMATION(COMPONENT_INFORMATION_DATA)

§

SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA)

§

OSD_PARAM_SHOW_CONFIG_REPLY(OSD_PARAM_SHOW_CONFIG_REPLY_DATA)

§

RADIO_STATUS(RADIO_STATUS_DATA)

§

CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA)

§

MISSION_REQUEST_LIST(MISSION_REQUEST_LIST_DATA)

§

UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA)

§

HIL_CONTROLS(HIL_CONTROLS_DATA)

§

SERVO_OUTPUT_RAW(SERVO_OUTPUT_RAW_DATA)

§

SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA)

§

UAVCAN_NODE_INFO(UAVCAN_NODE_INFO_DATA)

§

ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA)

§

STATUSTEXT(STATUSTEXT_DATA)

§

GOPRO_SET_REQUEST(GOPRO_SET_REQUEST_DATA)

§

SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA)

§

OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA)

§

LANDING_TARGET(LANDING_TARGET_DATA)

§

CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA)

§

LOG_DATA(LOG_DATA_DATA)

§

UAVIONIX_ADSB_OUT_DYNAMIC(UAVIONIX_ADSB_OUT_DYNAMIC_DATA)

§

SENSOR_OFFSETS(SENSOR_OFFSETS_DATA)

§

WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA)

§

DEVICE_OP_READ(DEVICE_OP_READ_DATA)

§

GPS_RTK(GPS_RTK_DATA)

§

PARAM_REQUEST_LIST(PARAM_REQUEST_LIST_DATA)

§

REMOTE_LOG_BLOCK_STATUS(REMOTE_LOG_BLOCK_STATUS_DATA)

§

COMMAND_ACK(COMMAND_ACK_DATA)

§

CAMERA_SETTINGS(CAMERA_SETTINGS_DATA)

§

RAW_IMU(RAW_IMU_DATA)

§

RADIO(RADIO_DATA)

§

SAFETY_ALLOWED_AREA(SAFETY_ALLOWED_AREA_DATA)

§

CUBEPILOT_FIRMWARE_UPDATE_START(CUBEPILOT_FIRMWARE_UPDATE_START_DATA)

§

DEVICE_OP_WRITE(DEVICE_OP_WRITE_DATA)

§

OPEN_DRONE_ID_LOCATION(OPEN_DRONE_ID_LOCATION_DATA)

§

GIMBAL_CONTROL(GIMBAL_CONTROL_DATA)

§

MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA)

§

ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA)

§

RESOURCE_REQUEST(RESOURCE_REQUEST_DATA)

§

GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA)

§

STORAGE_INFORMATION(STORAGE_INFORMATION_DATA)

§

SYSTEM_TIME(SYSTEM_TIME_DATA)

§

MISSION_CURRENT(MISSION_CURRENT_DATA)

§

LOG_REQUEST_LIST(LOG_REQUEST_LIST_DATA)

§

MAG_CAL_PROGRESS(MAG_CAL_PROGRESS_DATA)

§

GPS2_RTK(GPS2_RTK_DATA)

§

OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA)

§

LOG_ENTRY(LOG_ENTRY_DATA)

§

MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA)

§

TERRAIN_CHECK(TERRAIN_CHECK_DATA)

§

HEARTBEAT(HEARTBEAT_DATA)

§

CAN_FILTER_MODIFY(CAN_FILTER_MODIFY_DATA)

§

GIMBAL_MANAGER_SET_PITCHYAW(GIMBAL_MANAGER_SET_PITCHYAW_DATA)

§

FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA)

§

VFR_HUD(VFR_HUD_DATA)

§

MOUNT_CONTROL(MOUNT_CONTROL_DATA)

§

WATER_DEPTH(WATER_DEPTH_DATA)

§

SET_MODE(SET_MODE_DATA)

§

OSD_PARAM_CONFIG(OSD_PARAM_CONFIG_DATA)

§

PING(PING_DATA)

§

PARAM_EXT_ACK(PARAM_EXT_ACK_DATA)

§

TIMESYNC(TIMESYNC_DATA)

§

ESC_TELEMETRY_5_TO_8(ESC_TELEMETRY_5_TO_8_DATA)

§

RAW_PRESSURE(RAW_PRESSURE_DATA)

§

SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA)

§

OBSTACLE_DISTANCE(OBSTACLE_DISTANCE_DATA)

§

CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA)

§

ATTITUDE_TARGET(ATTITUDE_TARGET_DATA)

§

GPS2_RAW(GPS2_RAW_DATA)

§

RC_CHANNELS(RC_CHANNELS_DATA)

§

DATA_STREAM(DATA_STREAM_DATA)

§

VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA)

§

HIL_GPS(HIL_GPS_DATA)

§

VISION_POSITION_DELTA(VISION_POSITION_DELTA_DATA)

§

TERRAIN_REQUEST(TERRAIN_REQUEST_DATA)

§

HIGH_LATENCY(HIGH_LATENCY_DATA)

§

TUNNEL(TUNNEL_DATA)

§

LIMITS_STATUS(LIMITS_STATUS_DATA)

§

TRAJECTORY_REPRESENTATION_BEZIER(TRAJECTORY_REPRESENTATION_BEZIER_DATA)

§

SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA)

§

RC_CHANNELS_SCALED(RC_CHANNELS_SCALED_DATA)

§

OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA)

§

MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA)

§

GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA)

§

DEVICE_OP_READ_REPLY(DEVICE_OP_READ_REPLY_DATA)

§

SERIAL_CONTROL(SERIAL_CONTROL_DATA)

§

CAN_FRAME(CAN_FRAME_DATA)

§

AHRS3(AHRS3_DATA)

§

PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA)

§

CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA)

§

SCALED_IMU3(SCALED_IMU3_DATA)

§

TRAJECTORY_REPRESENTATION_WAYPOINTS(TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA)

§

MISSION_ITEM_INT(MISSION_ITEM_INT_DATA)

§

ADAP_TUNING(ADAP_TUNING_DATA)

§

EFI_STATUS(EFI_STATUS_DATA)

§

TERRAIN_REPORT(TERRAIN_REPORT_DATA)

§

SCALED_PRESSURE2(SCALED_PRESSURE2_DATA)

§

SET_HOME_POSITION(SET_HOME_POSITION_DATA)

§

AP_ADC(AP_ADC_DATA)

§

GIMBAL_TORQUE_CMD_REPORT(GIMBAL_TORQUE_CMD_REPORT_DATA)

§

GOPRO_SET_RESPONSE(GOPRO_SET_RESPONSE_DATA)

§

ESC_TELEMETRY_9_TO_12(ESC_TELEMETRY_9_TO_12_DATA)

§

HYGROMETER_SENSOR(HYGROMETER_SENSOR_DATA)

§

CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA)

§

BUTTON_CHANGE(BUTTON_CHANGE_DATA)

§

VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA)

§

HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA)

§

OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA)

§

HIL_STATE(HIL_STATE_DATA)

§

GOPRO_GET_RESPONSE(GOPRO_GET_RESPONSE_DATA)

§

POWER_STATUS(POWER_STATUS_DATA)

§

AHRS(AHRS_DATA)

§

SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA)

§

LOG_ERASE(LOG_ERASE_DATA)

§

ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA)

§

NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA)

§

ADSB_VEHICLE(ADSB_VEHICLE_DATA)

§

GPS_INJECT_DATA(GPS_INJECT_DATA_DATA)

§

NAMED_VALUE_INT(NAMED_VALUE_INT_DATA)

§

DIGICAM_CONFIGURE(DIGICAM_CONFIGURE_DATA)

§

EKF_STATUS_REPORT(EKF_STATUS_REPORT_DATA)

§

OSD_PARAM_SHOW_CONFIG(OSD_PARAM_SHOW_CONFIG_DATA)

§

REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA)

§

GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA)

§

HIL_SENSOR(HIL_SENSOR_DATA)

§

WINCH_STATUS(WINCH_STATUS_DATA)

§

GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA)

§

MOUNT_CONFIGURE(MOUNT_CONFIGURE_DATA)

§

DATA32(DATA32_DATA)

§

COMMAND_LONG(COMMAND_LONG_DATA)

§

NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA)

§

MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA)

§

VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA)

§

MEMINFO(MEMINFO_DATA)

§

DEVICE_OP_WRITE_REPLY(DEVICE_OP_WRITE_REPLY_DATA)

§

COMMAND_CANCEL(COMMAND_CANCEL_DATA)

§

RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA)

§

PARAM_EXT_VALUE(PARAM_EXT_VALUE_DATA)

§

RESPONSE_EVENT_ERROR(RESPONSE_EVENT_ERROR_DATA)

§

MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA)

§

HIL_STATE_QUATERNION(HIL_STATE_QUATERNION_DATA)

§

UAVIONIX_ADSB_OUT_CFG(UAVIONIX_ADSB_OUT_CFG_DATA)

§

ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA)

§

PARAM_VALUE(PARAM_VALUE_DATA)

§

ORBIT_EXECUTION_STATUS(ORBIT_EXECUTION_STATUS_DATA)

§

RALLY_POINT(RALLY_POINT_DATA)

§

MANUAL_CONTROL(MANUAL_CONTROL_DATA)

§

EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA)

§

DATA16(DATA16_DATA)

§

CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA)

§

MOUNT_STATUS(MOUNT_STATUS_DATA)

§

DEBUG(DEBUG_DATA)

§

OPEN_DRONE_ID_BASIC_ID(OPEN_DRONE_ID_BASIC_ID_DATA)

§

EVENT(EVENT_DATA)

§

MCU_STATUS(MCU_STATUS_DATA)

§

LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA)

§

RAW_RPM(RAW_RPM_DATA)

§

PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA)

Trait Implementations§

source§

impl Clone for MavMessage

source§

fn clone(&self) -> MavMessage

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavMessage

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for MavMessage

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Message for MavMessage

source§

fn parse( version: MavlinkVersion, id: u32, diff --git a/mavlink/ardupilotmega/enum.MavMissionResult.html b/mavlink/ardupilotmega/enum.MavMissionResult.html index 8533b4bef6..942561b4e6 100644 --- a/mavlink/ardupilotmega/enum.MavMissionResult.html +++ b/mavlink/ardupilotmega/enum.MavMissionResult.html @@ -1,4 +1,4 @@ -MavMissionResult in mavlink::ardupilotmega - Rust
pub enum MavMissionResult {
+MavMissionResult in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavMissionResult {
Show 16 variants MAV_MISSION_ACCEPTED = 0, MAV_MISSION_ERROR = 1, MAV_MISSION_UNSUPPORTED_FRAME = 2, diff --git a/mavlink/ardupilotmega/enum.MavMissionType.html b/mavlink/ardupilotmega/enum.MavMissionType.html index 5723d636f6..1c64798a25 100644 --- a/mavlink/ardupilotmega/enum.MavMissionType.html +++ b/mavlink/ardupilotmega/enum.MavMissionType.html @@ -1,4 +1,4 @@ -MavMissionType in mavlink::ardupilotmega - Rust
pub enum MavMissionType {
+MavMissionType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavMissionType { MAV_MISSION_TYPE_MISSION = 0, MAV_MISSION_TYPE_FENCE = 1, MAV_MISSION_TYPE_RALLY = 2, diff --git a/mavlink/ardupilotmega/enum.MavMode.html b/mavlink/ardupilotmega/enum.MavMode.html index c876bf0853..fd0c043c89 100644 --- a/mavlink/ardupilotmega/enum.MavMode.html +++ b/mavlink/ardupilotmega/enum.MavMode.html @@ -1,4 +1,4 @@ -MavMode in mavlink::ardupilotmega - Rust
pub enum MavMode {
+MavMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavMode { MAV_MODE_PREFLIGHT = 0, MAV_MODE_STABILIZE_DISARMED = 80, MAV_MODE_STABILIZE_ARMED = 208, diff --git a/mavlink/ardupilotmega/enum.MavModeFlagDecodePosition.html b/mavlink/ardupilotmega/enum.MavModeFlagDecodePosition.html index 477e4f9558..5cf6f57d49 100644 --- a/mavlink/ardupilotmega/enum.MavModeFlagDecodePosition.html +++ b/mavlink/ardupilotmega/enum.MavModeFlagDecodePosition.html @@ -1,4 +1,4 @@ -MavModeFlagDecodePosition in mavlink::ardupilotmega - Rust
pub enum MavModeFlagDecodePosition {
+MavModeFlagDecodePosition in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavModeFlagDecodePosition { MAV_MODE_FLAG_DECODE_POSITION_SAFETY = 128, MAV_MODE_FLAG_DECODE_POSITION_MANUAL = 64, MAV_MODE_FLAG_DECODE_POSITION_HIL = 32, diff --git a/mavlink/ardupilotmega/enum.MavModeGimbal.html b/mavlink/ardupilotmega/enum.MavModeGimbal.html index 5def8eb03c..b65c12f7d3 100644 --- a/mavlink/ardupilotmega/enum.MavModeGimbal.html +++ b/mavlink/ardupilotmega/enum.MavModeGimbal.html @@ -1,4 +1,4 @@ -MavModeGimbal in mavlink::ardupilotmega - Rust
pub enum MavModeGimbal {
+MavModeGimbal in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavModeGimbal { MAV_MODE_GIMBAL_UNINITIALIZED = 0, MAV_MODE_GIMBAL_CALIBRATING_PITCH = 1, MAV_MODE_GIMBAL_CALIBRATING_ROLL = 2, diff --git a/mavlink/ardupilotmega/enum.MavMountMode.html b/mavlink/ardupilotmega/enum.MavMountMode.html index fcdef57386..acfe78fe6b 100644 --- a/mavlink/ardupilotmega/enum.MavMountMode.html +++ b/mavlink/ardupilotmega/enum.MavMountMode.html @@ -1,4 +1,4 @@ -MavMountMode in mavlink::ardupilotmega - Rust
pub enum MavMountMode {
+MavMountMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavMountMode { MAV_MOUNT_MODE_RETRACT = 0, MAV_MOUNT_MODE_NEUTRAL = 1, MAV_MOUNT_MODE_MAVLINK_TARGETING = 2, diff --git a/mavlink/ardupilotmega/enum.MavOdidArmStatus.html b/mavlink/ardupilotmega/enum.MavOdidArmStatus.html index 9d39978480..2b1027304f 100644 --- a/mavlink/ardupilotmega/enum.MavOdidArmStatus.html +++ b/mavlink/ardupilotmega/enum.MavOdidArmStatus.html @@ -1,4 +1,4 @@ -MavOdidArmStatus in mavlink::ardupilotmega - Rust
pub enum MavOdidArmStatus {
+MavOdidArmStatus in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidArmStatus { MAV_ODID_ARM_STATUS_GOOD_TO_ARM = 0, MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC = 1, }

Variants§

§

MAV_ODID_ARM_STATUS_GOOD_TO_ARM = 0

§

MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC = 1

Implementations§

source§

impl MavOdidArmStatus

source

pub const DEFAULT: Self = Self::MAV_ODID_ARM_STATUS_GOOD_TO_ARM

Trait Implementations§

source§

impl Clone for MavOdidArmStatus

source§

fn clone(&self) -> MavOdidArmStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavOdidArmStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavOdidArmStatus

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavOdidArmStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.MavOdidAuthType.html b/mavlink/ardupilotmega/enum.MavOdidAuthType.html index 87b0dd3389..0d76d36834 100644 --- a/mavlink/ardupilotmega/enum.MavOdidAuthType.html +++ b/mavlink/ardupilotmega/enum.MavOdidAuthType.html @@ -1,4 +1,4 @@ -MavOdidAuthType in mavlink::ardupilotmega - Rust
pub enum MavOdidAuthType {
+MavOdidAuthType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidAuthType { MAV_ODID_AUTH_TYPE_NONE = 0, MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE = 1, MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE = 2, diff --git a/mavlink/ardupilotmega/enum.MavOdidCategoryEu.html b/mavlink/ardupilotmega/enum.MavOdidCategoryEu.html index f753d68f7c..301f8fc317 100644 --- a/mavlink/ardupilotmega/enum.MavOdidCategoryEu.html +++ b/mavlink/ardupilotmega/enum.MavOdidCategoryEu.html @@ -1,4 +1,4 @@ -MavOdidCategoryEu in mavlink::ardupilotmega - Rust
pub enum MavOdidCategoryEu {
+MavOdidCategoryEu in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidCategoryEu { MAV_ODID_CATEGORY_EU_UNDECLARED = 0, MAV_ODID_CATEGORY_EU_OPEN = 1, MAV_ODID_CATEGORY_EU_SPECIFIC = 2, diff --git a/mavlink/ardupilotmega/enum.MavOdidClassEu.html b/mavlink/ardupilotmega/enum.MavOdidClassEu.html index be4e2be688..342c67f860 100644 --- a/mavlink/ardupilotmega/enum.MavOdidClassEu.html +++ b/mavlink/ardupilotmega/enum.MavOdidClassEu.html @@ -1,4 +1,4 @@ -MavOdidClassEu in mavlink::ardupilotmega - Rust
pub enum MavOdidClassEu {
+MavOdidClassEu in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidClassEu { MAV_ODID_CLASS_EU_UNDECLARED = 0, MAV_ODID_CLASS_EU_CLASS_0 = 1, MAV_ODID_CLASS_EU_CLASS_1 = 2, diff --git a/mavlink/ardupilotmega/enum.MavOdidClassificationType.html b/mavlink/ardupilotmega/enum.MavOdidClassificationType.html index 7323244aec..356f8a4d7e 100644 --- a/mavlink/ardupilotmega/enum.MavOdidClassificationType.html +++ b/mavlink/ardupilotmega/enum.MavOdidClassificationType.html @@ -1,4 +1,4 @@ -MavOdidClassificationType in mavlink::ardupilotmega - Rust
pub enum MavOdidClassificationType {
+MavOdidClassificationType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidClassificationType { MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED = 0, MAV_ODID_CLASSIFICATION_TYPE_EU = 1, }

Variants§

§

MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED = 0

§

MAV_ODID_CLASSIFICATION_TYPE_EU = 1

Implementations§

source§

impl MavOdidClassificationType

source

pub const DEFAULT: Self = Self::MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED

Trait Implementations§

source§

impl Clone for MavOdidClassificationType

source§

fn clone(&self) -> MavOdidClassificationType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavOdidClassificationType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavOdidClassificationType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavOdidClassificationType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.MavOdidDescType.html b/mavlink/ardupilotmega/enum.MavOdidDescType.html index fbe21291bf..d66d02cb99 100644 --- a/mavlink/ardupilotmega/enum.MavOdidDescType.html +++ b/mavlink/ardupilotmega/enum.MavOdidDescType.html @@ -1,4 +1,4 @@ -MavOdidDescType in mavlink::ardupilotmega - Rust
pub enum MavOdidDescType {
+MavOdidDescType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidDescType { MAV_ODID_DESC_TYPE_TEXT = 0, MAV_ODID_DESC_TYPE_EMERGENCY = 1, MAV_ODID_DESC_TYPE_EXTENDED_STATUS = 2, diff --git a/mavlink/ardupilotmega/enum.MavOdidHeightRef.html b/mavlink/ardupilotmega/enum.MavOdidHeightRef.html index 56596c4342..e353855ab2 100644 --- a/mavlink/ardupilotmega/enum.MavOdidHeightRef.html +++ b/mavlink/ardupilotmega/enum.MavOdidHeightRef.html @@ -1,4 +1,4 @@ -MavOdidHeightRef in mavlink::ardupilotmega - Rust
pub enum MavOdidHeightRef {
+MavOdidHeightRef in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidHeightRef { MAV_ODID_HEIGHT_REF_OVER_TAKEOFF = 0, MAV_ODID_HEIGHT_REF_OVER_GROUND = 1, }

Variants§

§

MAV_ODID_HEIGHT_REF_OVER_TAKEOFF = 0

§

MAV_ODID_HEIGHT_REF_OVER_GROUND = 1

Implementations§

source§

impl MavOdidHeightRef

source

pub const DEFAULT: Self = Self::MAV_ODID_HEIGHT_REF_OVER_TAKEOFF

Trait Implementations§

source§

impl Clone for MavOdidHeightRef

source§

fn clone(&self) -> MavOdidHeightRef

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavOdidHeightRef

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavOdidHeightRef

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavOdidHeightRef

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.MavOdidHorAcc.html b/mavlink/ardupilotmega/enum.MavOdidHorAcc.html index b8a5e170af..804fa4335c 100644 --- a/mavlink/ardupilotmega/enum.MavOdidHorAcc.html +++ b/mavlink/ardupilotmega/enum.MavOdidHorAcc.html @@ -1,4 +1,4 @@ -MavOdidHorAcc in mavlink::ardupilotmega - Rust
pub enum MavOdidHorAcc {
+MavOdidHorAcc in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidHorAcc {
Show 13 variants MAV_ODID_HOR_ACC_UNKNOWN = 0, MAV_ODID_HOR_ACC_10NM = 1, MAV_ODID_HOR_ACC_4NM = 2, diff --git a/mavlink/ardupilotmega/enum.MavOdidIdType.html b/mavlink/ardupilotmega/enum.MavOdidIdType.html index 817f57e977..18cde20f3d 100644 --- a/mavlink/ardupilotmega/enum.MavOdidIdType.html +++ b/mavlink/ardupilotmega/enum.MavOdidIdType.html @@ -1,4 +1,4 @@ -MavOdidIdType in mavlink::ardupilotmega - Rust
pub enum MavOdidIdType {
+MavOdidIdType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidIdType { MAV_ODID_ID_TYPE_NONE = 0, MAV_ODID_ID_TYPE_SERIAL_NUMBER = 1, MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID = 2, diff --git a/mavlink/ardupilotmega/enum.MavOdidOperatorIdType.html b/mavlink/ardupilotmega/enum.MavOdidOperatorIdType.html index e6a239a3a4..246e8f9560 100644 --- a/mavlink/ardupilotmega/enum.MavOdidOperatorIdType.html +++ b/mavlink/ardupilotmega/enum.MavOdidOperatorIdType.html @@ -1,4 +1,4 @@ -MavOdidOperatorIdType in mavlink::ardupilotmega - Rust
pub enum MavOdidOperatorIdType {
+MavOdidOperatorIdType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidOperatorIdType { MAV_ODID_OPERATOR_ID_TYPE_CAA = 0, }

Variants§

§

MAV_ODID_OPERATOR_ID_TYPE_CAA = 0

Implementations§

source§

impl MavOdidOperatorIdType

source

pub const DEFAULT: Self = Self::MAV_ODID_OPERATOR_ID_TYPE_CAA

Trait Implementations§

source§

impl Clone for MavOdidOperatorIdType

source§

fn clone(&self) -> MavOdidOperatorIdType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavOdidOperatorIdType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavOdidOperatorIdType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavOdidOperatorIdType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromPrimitive for MavOdidOperatorIdType

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the diff --git a/mavlink/ardupilotmega/enum.MavOdidOperatorLocationType.html b/mavlink/ardupilotmega/enum.MavOdidOperatorLocationType.html index 3aca4d1ead..1e4aa7a803 100644 --- a/mavlink/ardupilotmega/enum.MavOdidOperatorLocationType.html +++ b/mavlink/ardupilotmega/enum.MavOdidOperatorLocationType.html @@ -1,4 +1,4 @@ -MavOdidOperatorLocationType in mavlink::ardupilotmega - Rust
pub enum MavOdidOperatorLocationType {
+MavOdidOperatorLocationType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidOperatorLocationType { MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF = 0, MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS = 1, MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED = 2, diff --git a/mavlink/ardupilotmega/enum.MavOdidSpeedAcc.html b/mavlink/ardupilotmega/enum.MavOdidSpeedAcc.html index 7122f92f98..05d1bcbffb 100644 --- a/mavlink/ardupilotmega/enum.MavOdidSpeedAcc.html +++ b/mavlink/ardupilotmega/enum.MavOdidSpeedAcc.html @@ -1,4 +1,4 @@ -MavOdidSpeedAcc in mavlink::ardupilotmega - Rust
pub enum MavOdidSpeedAcc {
+MavOdidSpeedAcc in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidSpeedAcc { MAV_ODID_SPEED_ACC_UNKNOWN = 0, MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND = 1, MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND = 2, diff --git a/mavlink/ardupilotmega/enum.MavOdidStatus.html b/mavlink/ardupilotmega/enum.MavOdidStatus.html index d9dadfc1be..b55ac42883 100644 --- a/mavlink/ardupilotmega/enum.MavOdidStatus.html +++ b/mavlink/ardupilotmega/enum.MavOdidStatus.html @@ -1,4 +1,4 @@ -MavOdidStatus in mavlink::ardupilotmega - Rust
pub enum MavOdidStatus {
+MavOdidStatus in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidStatus { MAV_ODID_STATUS_UNDECLARED = 0, MAV_ODID_STATUS_GROUND = 1, MAV_ODID_STATUS_AIRBORNE = 2, diff --git a/mavlink/ardupilotmega/enum.MavOdidTimeAcc.html b/mavlink/ardupilotmega/enum.MavOdidTimeAcc.html index b3eb23b23c..2a9ef8f2a5 100644 --- a/mavlink/ardupilotmega/enum.MavOdidTimeAcc.html +++ b/mavlink/ardupilotmega/enum.MavOdidTimeAcc.html @@ -1,4 +1,4 @@ -MavOdidTimeAcc in mavlink::ardupilotmega - Rust
pub enum MavOdidTimeAcc {
+MavOdidTimeAcc in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidTimeAcc {
Show 16 variants MAV_ODID_TIME_ACC_UNKNOWN = 0, MAV_ODID_TIME_ACC_0_1_SECOND = 1, MAV_ODID_TIME_ACC_0_2_SECOND = 2, diff --git a/mavlink/ardupilotmega/enum.MavOdidUaType.html b/mavlink/ardupilotmega/enum.MavOdidUaType.html index 3c5003fb01..c22454c945 100644 --- a/mavlink/ardupilotmega/enum.MavOdidUaType.html +++ b/mavlink/ardupilotmega/enum.MavOdidUaType.html @@ -1,4 +1,4 @@ -MavOdidUaType in mavlink::ardupilotmega - Rust
pub enum MavOdidUaType {
+MavOdidUaType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidUaType {
Show 16 variants MAV_ODID_UA_TYPE_NONE = 0, MAV_ODID_UA_TYPE_AEROPLANE = 1, MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR = 2, diff --git a/mavlink/ardupilotmega/enum.MavOdidVerAcc.html b/mavlink/ardupilotmega/enum.MavOdidVerAcc.html index 6a1bf27cc0..79cf8906e3 100644 --- a/mavlink/ardupilotmega/enum.MavOdidVerAcc.html +++ b/mavlink/ardupilotmega/enum.MavOdidVerAcc.html @@ -1,4 +1,4 @@ -MavOdidVerAcc in mavlink::ardupilotmega - Rust
pub enum MavOdidVerAcc {
+MavOdidVerAcc in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavOdidVerAcc { MAV_ODID_VER_ACC_UNKNOWN = 0, MAV_ODID_VER_ACC_150_METER = 1, MAV_ODID_VER_ACC_45_METER = 2, diff --git a/mavlink/ardupilotmega/enum.MavParamExtType.html b/mavlink/ardupilotmega/enum.MavParamExtType.html index f57c5148b1..a91803bc33 100644 --- a/mavlink/ardupilotmega/enum.MavParamExtType.html +++ b/mavlink/ardupilotmega/enum.MavParamExtType.html @@ -1,4 +1,4 @@ -MavParamExtType in mavlink::ardupilotmega - Rust
pub enum MavParamExtType {
+MavParamExtType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavParamExtType { MAV_PARAM_EXT_TYPE_UINT8 = 1, MAV_PARAM_EXT_TYPE_INT8 = 2, MAV_PARAM_EXT_TYPE_UINT16 = 3, diff --git a/mavlink/ardupilotmega/enum.MavParamType.html b/mavlink/ardupilotmega/enum.MavParamType.html index 17cc6fdb14..e43ced6d90 100644 --- a/mavlink/ardupilotmega/enum.MavParamType.html +++ b/mavlink/ardupilotmega/enum.MavParamType.html @@ -1,4 +1,4 @@ -MavParamType in mavlink::ardupilotmega - Rust
pub enum MavParamType {
+MavParamType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavParamType { MAV_PARAM_TYPE_UINT8 = 1, MAV_PARAM_TYPE_INT8 = 2, MAV_PARAM_TYPE_UINT16 = 3, diff --git a/mavlink/ardupilotmega/enum.MavRemoteLogDataBlockCommands.html b/mavlink/ardupilotmega/enum.MavRemoteLogDataBlockCommands.html index 6bd5a4f423..bb4ab1f126 100644 --- a/mavlink/ardupilotmega/enum.MavRemoteLogDataBlockCommands.html +++ b/mavlink/ardupilotmega/enum.MavRemoteLogDataBlockCommands.html @@ -1,4 +1,4 @@ -MavRemoteLogDataBlockCommands in mavlink::ardupilotmega - Rust
pub enum MavRemoteLogDataBlockCommands {
+MavRemoteLogDataBlockCommands in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavRemoteLogDataBlockCommands { MAV_REMOTE_LOG_DATA_BLOCK_STOP = 2_147_483_645, MAV_REMOTE_LOG_DATA_BLOCK_START = 2_147_483_646, }

Variants§

§

MAV_REMOTE_LOG_DATA_BLOCK_STOP = 2_147_483_645

§

MAV_REMOTE_LOG_DATA_BLOCK_START = 2_147_483_646

Implementations§

source§

impl MavRemoteLogDataBlockCommands

source

pub const DEFAULT: Self = Self::MAV_REMOTE_LOG_DATA_BLOCK_STOP

Trait Implementations§

source§

impl Clone for MavRemoteLogDataBlockCommands

source§

fn clone(&self) -> MavRemoteLogDataBlockCommands

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavRemoteLogDataBlockCommands

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavRemoteLogDataBlockCommands

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavRemoteLogDataBlockCommands

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.MavRemoteLogDataBlockStatuses.html b/mavlink/ardupilotmega/enum.MavRemoteLogDataBlockStatuses.html index dc139fff5c..98686c9b85 100644 --- a/mavlink/ardupilotmega/enum.MavRemoteLogDataBlockStatuses.html +++ b/mavlink/ardupilotmega/enum.MavRemoteLogDataBlockStatuses.html @@ -1,4 +1,4 @@ -MavRemoteLogDataBlockStatuses in mavlink::ardupilotmega - Rust
pub enum MavRemoteLogDataBlockStatuses {
+MavRemoteLogDataBlockStatuses in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavRemoteLogDataBlockStatuses { MAV_REMOTE_LOG_DATA_BLOCK_NACK = 0, MAV_REMOTE_LOG_DATA_BLOCK_ACK = 1, }

Variants§

§

MAV_REMOTE_LOG_DATA_BLOCK_NACK = 0

§

MAV_REMOTE_LOG_DATA_BLOCK_ACK = 1

Implementations§

source§

impl MavRemoteLogDataBlockStatuses

source

pub const DEFAULT: Self = Self::MAV_REMOTE_LOG_DATA_BLOCK_NACK

Trait Implementations§

source§

impl Clone for MavRemoteLogDataBlockStatuses

source§

fn clone(&self) -> MavRemoteLogDataBlockStatuses

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavRemoteLogDataBlockStatuses

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavRemoteLogDataBlockStatuses

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavRemoteLogDataBlockStatuses

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.MavResult.html b/mavlink/ardupilotmega/enum.MavResult.html index 0451d91a0c..b4f4926649 100644 --- a/mavlink/ardupilotmega/enum.MavResult.html +++ b/mavlink/ardupilotmega/enum.MavResult.html @@ -1,4 +1,4 @@ -MavResult in mavlink::ardupilotmega - Rust
pub enum MavResult {
+MavResult in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavResult { MAV_RESULT_ACCEPTED = 0, MAV_RESULT_TEMPORARILY_REJECTED = 1, MAV_RESULT_DENIED = 2, diff --git a/mavlink/ardupilotmega/enum.MavRoi.html b/mavlink/ardupilotmega/enum.MavRoi.html index 9d6c0f3e66..1031bdb1bb 100644 --- a/mavlink/ardupilotmega/enum.MavRoi.html +++ b/mavlink/ardupilotmega/enum.MavRoi.html @@ -1,4 +1,4 @@ -MavRoi in mavlink::ardupilotmega - Rust
pub enum MavRoi {
+MavRoi in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavRoi { MAV_ROI_NONE = 0, MAV_ROI_WPNEXT = 1, MAV_ROI_WPINDEX = 2, diff --git a/mavlink/ardupilotmega/enum.MavSensorOrientation.html b/mavlink/ardupilotmega/enum.MavSensorOrientation.html index 9b25739699..8c2ebcea7d 100644 --- a/mavlink/ardupilotmega/enum.MavSensorOrientation.html +++ b/mavlink/ardupilotmega/enum.MavSensorOrientation.html @@ -1,4 +1,4 @@ -MavSensorOrientation in mavlink::ardupilotmega - Rust
pub enum MavSensorOrientation {
+MavSensorOrientation in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavSensorOrientation {
Show 42 variants MAV_SENSOR_ROTATION_NONE = 0, MAV_SENSOR_ROTATION_YAW_45 = 1, MAV_SENSOR_ROTATION_YAW_90 = 2, diff --git a/mavlink/ardupilotmega/enum.MavSeverity.html b/mavlink/ardupilotmega/enum.MavSeverity.html index 60a7bdb107..a2045f3707 100644 --- a/mavlink/ardupilotmega/enum.MavSeverity.html +++ b/mavlink/ardupilotmega/enum.MavSeverity.html @@ -1,4 +1,4 @@ -MavSeverity in mavlink::ardupilotmega - Rust
pub enum MavSeverity {
+MavSeverity in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavSeverity { MAV_SEVERITY_EMERGENCY = 0, MAV_SEVERITY_ALERT = 1, MAV_SEVERITY_CRITICAL = 2, diff --git a/mavlink/ardupilotmega/enum.MavState.html b/mavlink/ardupilotmega/enum.MavState.html index 9db58c2799..d6d2d1b3c0 100644 --- a/mavlink/ardupilotmega/enum.MavState.html +++ b/mavlink/ardupilotmega/enum.MavState.html @@ -1,4 +1,4 @@ -MavState in mavlink::ardupilotmega - Rust
pub enum MavState {
+MavState in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavState { MAV_STATE_UNINIT = 0, MAV_STATE_BOOT = 1, MAV_STATE_CALIBRATING = 2, diff --git a/mavlink/ardupilotmega/enum.MavSysStatusSensorExtended.html b/mavlink/ardupilotmega/enum.MavSysStatusSensorExtended.html index a42885af9d..56b1c367ac 100644 --- a/mavlink/ardupilotmega/enum.MavSysStatusSensorExtended.html +++ b/mavlink/ardupilotmega/enum.MavSysStatusSensorExtended.html @@ -1,4 +1,4 @@ -MavSysStatusSensorExtended in mavlink::ardupilotmega - Rust
pub enum MavSysStatusSensorExtended {
+MavSysStatusSensorExtended in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavSysStatusSensorExtended { MAV_SYS_STATUS_RECOVERY_SYSTEM = 1, }

Variants§

§

MAV_SYS_STATUS_RECOVERY_SYSTEM = 1

Implementations§

source§

impl MavSysStatusSensorExtended

source

pub const DEFAULT: Self = Self::MAV_SYS_STATUS_RECOVERY_SYSTEM

Trait Implementations§

source§

impl Clone for MavSysStatusSensorExtended

source§

fn clone(&self) -> MavSysStatusSensorExtended

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavSysStatusSensorExtended

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavSysStatusSensorExtended

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavSysStatusSensorExtended

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromPrimitive for MavSysStatusSensorExtended

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the diff --git a/mavlink/ardupilotmega/enum.MavTunnelPayloadType.html b/mavlink/ardupilotmega/enum.MavTunnelPayloadType.html index e52435ebce..d29a46e0eb 100644 --- a/mavlink/ardupilotmega/enum.MavTunnelPayloadType.html +++ b/mavlink/ardupilotmega/enum.MavTunnelPayloadType.html @@ -1,4 +1,4 @@ -MavTunnelPayloadType in mavlink::ardupilotmega - Rust
pub enum MavTunnelPayloadType {
+MavTunnelPayloadType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavTunnelPayloadType { MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN = 0, MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0 = 200, MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1 = 201, diff --git a/mavlink/ardupilotmega/enum.MavType.html b/mavlink/ardupilotmega/enum.MavType.html index dd1d4e74bb..1cf5242c0d 100644 --- a/mavlink/ardupilotmega/enum.MavType.html +++ b/mavlink/ardupilotmega/enum.MavType.html @@ -1,4 +1,4 @@ -MavType in mavlink::ardupilotmega - Rust
pub enum MavType {
+MavType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavType {
Show 43 variants MAV_TYPE_GENERIC = 0, MAV_TYPE_FIXED_WING = 1, MAV_TYPE_QUADROTOR = 2, diff --git a/mavlink/ardupilotmega/enum.MavVtolState.html b/mavlink/ardupilotmega/enum.MavVtolState.html index 5204a621fd..b0603e491b 100644 --- a/mavlink/ardupilotmega/enum.MavVtolState.html +++ b/mavlink/ardupilotmega/enum.MavVtolState.html @@ -1,4 +1,4 @@ -MavVtolState in mavlink::ardupilotmega - Rust
pub enum MavVtolState {
+MavVtolState in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavVtolState { MAV_VTOL_STATE_UNDEFINED = 0, MAV_VTOL_STATE_TRANSITION_TO_FW = 1, MAV_VTOL_STATE_TRANSITION_TO_MC = 2, diff --git a/mavlink/ardupilotmega/enum.MavlinkDataStreamType.html b/mavlink/ardupilotmega/enum.MavlinkDataStreamType.html index 27258d306e..297804fb33 100644 --- a/mavlink/ardupilotmega/enum.MavlinkDataStreamType.html +++ b/mavlink/ardupilotmega/enum.MavlinkDataStreamType.html @@ -1,4 +1,4 @@ -MavlinkDataStreamType in mavlink::ardupilotmega - Rust
pub enum MavlinkDataStreamType {
+MavlinkDataStreamType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MavlinkDataStreamType { MAVLINK_DATA_STREAM_IMG_JPEG = 0, MAVLINK_DATA_STREAM_IMG_BMP = 1, MAVLINK_DATA_STREAM_IMG_RAW8U = 2, diff --git a/mavlink/ardupilotmega/enum.MissionState.html b/mavlink/ardupilotmega/enum.MissionState.html index de5ad9518a..a024a8aa00 100644 --- a/mavlink/ardupilotmega/enum.MissionState.html +++ b/mavlink/ardupilotmega/enum.MissionState.html @@ -1,4 +1,4 @@ -MissionState in mavlink::ardupilotmega - Rust
pub enum MissionState {
+MissionState in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MissionState { MISSION_STATE_UNKNOWN = 0, MISSION_STATE_NO_MISSION = 1, MISSION_STATE_NOT_STARTED = 2, diff --git a/mavlink/ardupilotmega/enum.MotorTestOrder.html b/mavlink/ardupilotmega/enum.MotorTestOrder.html index 99796a6431..97753343a4 100644 --- a/mavlink/ardupilotmega/enum.MotorTestOrder.html +++ b/mavlink/ardupilotmega/enum.MotorTestOrder.html @@ -1,4 +1,4 @@ -MotorTestOrder in mavlink::ardupilotmega - Rust
pub enum MotorTestOrder {
+MotorTestOrder in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MotorTestOrder { MOTOR_TEST_ORDER_DEFAULT = 0, MOTOR_TEST_ORDER_SEQUENCE = 1, MOTOR_TEST_ORDER_BOARD = 2, diff --git a/mavlink/ardupilotmega/enum.MotorTestThrottleType.html b/mavlink/ardupilotmega/enum.MotorTestThrottleType.html index aee6d76e4c..99d7e00b60 100644 --- a/mavlink/ardupilotmega/enum.MotorTestThrottleType.html +++ b/mavlink/ardupilotmega/enum.MotorTestThrottleType.html @@ -1,4 +1,4 @@ -MotorTestThrottleType in mavlink::ardupilotmega - Rust
pub enum MotorTestThrottleType {
+MotorTestThrottleType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum MotorTestThrottleType { MOTOR_TEST_THROTTLE_PERCENT = 0, MOTOR_TEST_THROTTLE_PWM = 1, MOTOR_TEST_THROTTLE_PILOT = 2, diff --git a/mavlink/ardupilotmega/enum.NavVtolLandOptions.html b/mavlink/ardupilotmega/enum.NavVtolLandOptions.html index 05dd99ba04..ec40b74f46 100644 --- a/mavlink/ardupilotmega/enum.NavVtolLandOptions.html +++ b/mavlink/ardupilotmega/enum.NavVtolLandOptions.html @@ -1,4 +1,4 @@ -NavVtolLandOptions in mavlink::ardupilotmega - Rust
pub enum NavVtolLandOptions {
+NavVtolLandOptions in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum NavVtolLandOptions { NAV_VTOL_LAND_OPTIONS_DEFAULT = 0, NAV_VTOL_LAND_OPTIONS_FW_DESCENT = 1, NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT = 2, diff --git a/mavlink/ardupilotmega/enum.OrbitYawBehaviour.html b/mavlink/ardupilotmega/enum.OrbitYawBehaviour.html index 8b73fabf11..14e0f72890 100644 --- a/mavlink/ardupilotmega/enum.OrbitYawBehaviour.html +++ b/mavlink/ardupilotmega/enum.OrbitYawBehaviour.html @@ -1,4 +1,4 @@ -OrbitYawBehaviour in mavlink::ardupilotmega - Rust
pub enum OrbitYawBehaviour {
+OrbitYawBehaviour in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum OrbitYawBehaviour { ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER = 0, ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING = 1, ORBIT_YAW_BEHAVIOUR_UNCONTROLLED = 2, diff --git a/mavlink/ardupilotmega/enum.OsdParamConfigError.html b/mavlink/ardupilotmega/enum.OsdParamConfigError.html index 1cb7efd3ee..3414a4967d 100644 --- a/mavlink/ardupilotmega/enum.OsdParamConfigError.html +++ b/mavlink/ardupilotmega/enum.OsdParamConfigError.html @@ -1,4 +1,4 @@ -OsdParamConfigError in mavlink::ardupilotmega - Rust
pub enum OsdParamConfigError {
+OsdParamConfigError in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum OsdParamConfigError { OSD_PARAM_SUCCESS = 0, OSD_PARAM_INVALID_SCREEN = 1, OSD_PARAM_INVALID_PARAMETER_INDEX = 2, diff --git a/mavlink/ardupilotmega/enum.OsdParamConfigType.html b/mavlink/ardupilotmega/enum.OsdParamConfigType.html index 4dbd0b6d46..4351582fa8 100644 --- a/mavlink/ardupilotmega/enum.OsdParamConfigType.html +++ b/mavlink/ardupilotmega/enum.OsdParamConfigType.html @@ -1,4 +1,4 @@ -OsdParamConfigType in mavlink::ardupilotmega - Rust
pub enum OsdParamConfigType {
+OsdParamConfigType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum OsdParamConfigType { OSD_PARAM_NONE = 0, OSD_PARAM_SERIAL_PROTOCOL = 1, OSD_PARAM_SERVO_FUNCTION = 2, diff --git a/mavlink/ardupilotmega/enum.ParachuteAction.html b/mavlink/ardupilotmega/enum.ParachuteAction.html index ffa4d5d566..cd8cc3fe4a 100644 --- a/mavlink/ardupilotmega/enum.ParachuteAction.html +++ b/mavlink/ardupilotmega/enum.ParachuteAction.html @@ -1,4 +1,4 @@ -ParachuteAction in mavlink::ardupilotmega - Rust
pub enum ParachuteAction {
+ParachuteAction in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum ParachuteAction { PARACHUTE_DISABLE = 0, PARACHUTE_ENABLE = 1, PARACHUTE_RELEASE = 2, diff --git a/mavlink/ardupilotmega/enum.ParamAck.html b/mavlink/ardupilotmega/enum.ParamAck.html index 9767911124..c9bd315901 100644 --- a/mavlink/ardupilotmega/enum.ParamAck.html +++ b/mavlink/ardupilotmega/enum.ParamAck.html @@ -1,4 +1,4 @@ -ParamAck in mavlink::ardupilotmega - Rust
pub enum ParamAck {
+ParamAck in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum ParamAck { PARAM_ACK_ACCEPTED = 0, PARAM_ACK_VALUE_UNSUPPORTED = 1, PARAM_ACK_FAILED = 2, diff --git a/mavlink/ardupilotmega/enum.PidTuningAxis.html b/mavlink/ardupilotmega/enum.PidTuningAxis.html index 4c08145971..cf4634ca56 100644 --- a/mavlink/ardupilotmega/enum.PidTuningAxis.html +++ b/mavlink/ardupilotmega/enum.PidTuningAxis.html @@ -1,4 +1,4 @@ -PidTuningAxis in mavlink::ardupilotmega - Rust
pub enum PidTuningAxis {
+PidTuningAxis in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum PidTuningAxis { PID_TUNING_ROLL = 1, PID_TUNING_PITCH = 2, PID_TUNING_YAW = 3, diff --git a/mavlink/ardupilotmega/enum.PlaneMode.html b/mavlink/ardupilotmega/enum.PlaneMode.html index 084db0fba9..91e6378c44 100644 --- a/mavlink/ardupilotmega/enum.PlaneMode.html +++ b/mavlink/ardupilotmega/enum.PlaneMode.html @@ -1,4 +1,4 @@ -PlaneMode in mavlink::ardupilotmega - Rust
pub enum PlaneMode {
+PlaneMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum PlaneMode {
Show 24 variants PLANE_MODE_MANUAL = 0, PLANE_MODE_CIRCLE = 1, PLANE_MODE_STABILIZE = 2, diff --git a/mavlink/ardupilotmega/enum.PrecisionLandMode.html b/mavlink/ardupilotmega/enum.PrecisionLandMode.html index 37ac14840b..974b29d762 100644 --- a/mavlink/ardupilotmega/enum.PrecisionLandMode.html +++ b/mavlink/ardupilotmega/enum.PrecisionLandMode.html @@ -1,4 +1,4 @@ -PrecisionLandMode in mavlink::ardupilotmega - Rust
pub enum PrecisionLandMode {
+PrecisionLandMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum PrecisionLandMode { PRECISION_LAND_MODE_DISABLED = 0, PRECISION_LAND_MODE_OPPORTUNISTIC = 1, PRECISION_LAND_MODE_REQUIRED = 2, diff --git a/mavlink/ardupilotmega/enum.PreflightStorageMissionAction.html b/mavlink/ardupilotmega/enum.PreflightStorageMissionAction.html index c8f57108db..f86b2eb249 100644 --- a/mavlink/ardupilotmega/enum.PreflightStorageMissionAction.html +++ b/mavlink/ardupilotmega/enum.PreflightStorageMissionAction.html @@ -1,4 +1,4 @@ -PreflightStorageMissionAction in mavlink::ardupilotmega - Rust
pub enum PreflightStorageMissionAction {
+PreflightStorageMissionAction in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum PreflightStorageMissionAction { MISSION_READ_PERSISTENT = 0, MISSION_WRITE_PERSISTENT = 1, MISSION_RESET_DEFAULT = 2, diff --git a/mavlink/ardupilotmega/enum.PreflightStorageParameterAction.html b/mavlink/ardupilotmega/enum.PreflightStorageParameterAction.html index fa20ede567..6d67caa25e 100644 --- a/mavlink/ardupilotmega/enum.PreflightStorageParameterAction.html +++ b/mavlink/ardupilotmega/enum.PreflightStorageParameterAction.html @@ -1,4 +1,4 @@ -PreflightStorageParameterAction in mavlink::ardupilotmega - Rust
pub enum PreflightStorageParameterAction {
+PreflightStorageParameterAction in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum PreflightStorageParameterAction { PARAM_READ_PERSISTENT = 0, PARAM_WRITE_PERSISTENT = 1, PARAM_RESET_CONFIG_DEFAULT = 2, diff --git a/mavlink/ardupilotmega/enum.RcType.html b/mavlink/ardupilotmega/enum.RcType.html index 4c505b17f7..e279001b90 100644 --- a/mavlink/ardupilotmega/enum.RcType.html +++ b/mavlink/ardupilotmega/enum.RcType.html @@ -1,4 +1,4 @@ -RcType in mavlink::ardupilotmega - Rust
pub enum RcType {
+RcType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum RcType { RC_TYPE_SPEKTRUM_DSM2 = 0, RC_TYPE_SPEKTRUM_DSMX = 1, }

Variants§

§

RC_TYPE_SPEKTRUM_DSM2 = 0

§

RC_TYPE_SPEKTRUM_DSMX = 1

Implementations§

source§

impl RcType

source

pub const DEFAULT: Self = Self::RC_TYPE_SPEKTRUM_DSM2

Trait Implementations§

source§

impl Clone for RcType

source§

fn clone(&self) -> RcType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RcType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RcType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for RcType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.RoverMode.html b/mavlink/ardupilotmega/enum.RoverMode.html index 866c092974..aaf59a31e6 100644 --- a/mavlink/ardupilotmega/enum.RoverMode.html +++ b/mavlink/ardupilotmega/enum.RoverMode.html @@ -1,4 +1,4 @@ -RoverMode in mavlink::ardupilotmega - Rust
pub enum RoverMode {
+RoverMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum RoverMode { ROVER_MODE_MANUAL = 0, ROVER_MODE_ACRO = 1, ROVER_MODE_STEERING = 3, diff --git a/mavlink/ardupilotmega/enum.RtkBaselineCoordinateSystem.html b/mavlink/ardupilotmega/enum.RtkBaselineCoordinateSystem.html index 7de63a58fc..d9cd5042cc 100644 --- a/mavlink/ardupilotmega/enum.RtkBaselineCoordinateSystem.html +++ b/mavlink/ardupilotmega/enum.RtkBaselineCoordinateSystem.html @@ -1,4 +1,4 @@ -RtkBaselineCoordinateSystem in mavlink::ardupilotmega - Rust
pub enum RtkBaselineCoordinateSystem {
+RtkBaselineCoordinateSystem in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum RtkBaselineCoordinateSystem { RTK_BASELINE_COORDINATE_SYSTEM_ECEF = 0, RTK_BASELINE_COORDINATE_SYSTEM_NED = 1, }

Variants§

§

RTK_BASELINE_COORDINATE_SYSTEM_ECEF = 0

§

RTK_BASELINE_COORDINATE_SYSTEM_NED = 1

Implementations§

source§

impl RtkBaselineCoordinateSystem

source

pub const DEFAULT: Self = Self::RTK_BASELINE_COORDINATE_SYSTEM_ECEF

Trait Implementations§

source§

impl Clone for RtkBaselineCoordinateSystem

source§

fn clone(&self) -> RtkBaselineCoordinateSystem

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RtkBaselineCoordinateSystem

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RtkBaselineCoordinateSystem

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for RtkBaselineCoordinateSystem

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.ScriptingCmd.html b/mavlink/ardupilotmega/enum.ScriptingCmd.html index 65e4d1d7f7..9c0595e9b4 100644 --- a/mavlink/ardupilotmega/enum.ScriptingCmd.html +++ b/mavlink/ardupilotmega/enum.ScriptingCmd.html @@ -1,4 +1,4 @@ -ScriptingCmd in mavlink::ardupilotmega - Rust
pub enum ScriptingCmd {
+ScriptingCmd in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum ScriptingCmd { SCRIPTING_CMD_REPL_START = 0, SCRIPTING_CMD_REPL_STOP = 1, SCRIPTING_CMD_STOP = 2, diff --git a/mavlink/ardupilotmega/enum.SerialControlDev.html b/mavlink/ardupilotmega/enum.SerialControlDev.html index cfe0d7345c..07ebad43df 100644 --- a/mavlink/ardupilotmega/enum.SerialControlDev.html +++ b/mavlink/ardupilotmega/enum.SerialControlDev.html @@ -1,4 +1,4 @@ -SerialControlDev in mavlink::ardupilotmega - Rust
pub enum SerialControlDev {
+SerialControlDev in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum SerialControlDev {
Show 15 variants SERIAL_CONTROL_DEV_TELEM1 = 0, SERIAL_CONTROL_DEV_TELEM2 = 1, SERIAL_CONTROL_DEV_GPS1 = 2, diff --git a/mavlink/ardupilotmega/enum.SetFocusType.html b/mavlink/ardupilotmega/enum.SetFocusType.html index 2f219c7a44..126910faed 100644 --- a/mavlink/ardupilotmega/enum.SetFocusType.html +++ b/mavlink/ardupilotmega/enum.SetFocusType.html @@ -1,4 +1,4 @@ -SetFocusType in mavlink::ardupilotmega - Rust
pub enum SetFocusType {
+SetFocusType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum SetFocusType { FOCUS_TYPE_STEP = 0, FOCUS_TYPE_CONTINUOUS = 1, FOCUS_TYPE_RANGE = 2, diff --git a/mavlink/ardupilotmega/enum.SpeedType.html b/mavlink/ardupilotmega/enum.SpeedType.html index 423ffa4980..ae805b77f5 100644 --- a/mavlink/ardupilotmega/enum.SpeedType.html +++ b/mavlink/ardupilotmega/enum.SpeedType.html @@ -1,4 +1,4 @@ -SpeedType in mavlink::ardupilotmega - Rust
pub enum SpeedType {
+SpeedType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum SpeedType { SPEED_TYPE_AIRSPEED = 0, SPEED_TYPE_GROUNDSPEED = 1, }

Variants§

§

SPEED_TYPE_AIRSPEED = 0

§

SPEED_TYPE_GROUNDSPEED = 1

Implementations§

source§

impl SpeedType

source

pub const DEFAULT: Self = Self::SPEED_TYPE_AIRSPEED

Trait Implementations§

source§

impl Clone for SpeedType

source§

fn clone(&self) -> SpeedType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SpeedType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SpeedType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for SpeedType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.StorageStatus.html b/mavlink/ardupilotmega/enum.StorageStatus.html index 35deb46ac0..c71f972539 100644 --- a/mavlink/ardupilotmega/enum.StorageStatus.html +++ b/mavlink/ardupilotmega/enum.StorageStatus.html @@ -1,4 +1,4 @@ -StorageStatus in mavlink::ardupilotmega - Rust
pub enum StorageStatus {
+StorageStatus in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum StorageStatus { STORAGE_STATUS_EMPTY = 0, STORAGE_STATUS_UNFORMATTED = 1, STORAGE_STATUS_READY = 2, diff --git a/mavlink/ardupilotmega/enum.StorageType.html b/mavlink/ardupilotmega/enum.StorageType.html index 8065d593ac..2b906a0cf5 100644 --- a/mavlink/ardupilotmega/enum.StorageType.html +++ b/mavlink/ardupilotmega/enum.StorageType.html @@ -1,4 +1,4 @@ -StorageType in mavlink::ardupilotmega - Rust
pub enum StorageType {
+StorageType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum StorageType { STORAGE_TYPE_UNKNOWN = 0, STORAGE_TYPE_USB_STICK = 1, STORAGE_TYPE_SD = 2, diff --git a/mavlink/ardupilotmega/enum.StorageUsageFlag.html b/mavlink/ardupilotmega/enum.StorageUsageFlag.html index b54ecc8702..8421355714 100644 --- a/mavlink/ardupilotmega/enum.StorageUsageFlag.html +++ b/mavlink/ardupilotmega/enum.StorageUsageFlag.html @@ -1,4 +1,4 @@ -StorageUsageFlag in mavlink::ardupilotmega - Rust
pub enum StorageUsageFlag {
+StorageUsageFlag in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum StorageUsageFlag { STORAGE_USAGE_FLAG_SET = 1, STORAGE_USAGE_FLAG_PHOTO = 2, STORAGE_USAGE_FLAG_VIDEO = 4, diff --git a/mavlink/ardupilotmega/enum.SubMode.html b/mavlink/ardupilotmega/enum.SubMode.html index f44ec698c0..49ca887f1f 100644 --- a/mavlink/ardupilotmega/enum.SubMode.html +++ b/mavlink/ardupilotmega/enum.SubMode.html @@ -1,4 +1,4 @@ -SubMode in mavlink::ardupilotmega - Rust
pub enum SubMode {
+SubMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum SubMode { SUB_MODE_STABILIZE = 0, SUB_MODE_ACRO = 1, SUB_MODE_ALT_HOLD = 2, diff --git a/mavlink/ardupilotmega/enum.TrackerMode.html b/mavlink/ardupilotmega/enum.TrackerMode.html index 3dacffa03d..38c95beb1f 100644 --- a/mavlink/ardupilotmega/enum.TrackerMode.html +++ b/mavlink/ardupilotmega/enum.TrackerMode.html @@ -1,4 +1,4 @@ -TrackerMode in mavlink::ardupilotmega - Rust
pub enum TrackerMode {
+TrackerMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum TrackerMode { TRACKER_MODE_MANUAL = 0, TRACKER_MODE_STOP = 1, TRACKER_MODE_SCAN = 2, diff --git a/mavlink/ardupilotmega/enum.UavcanNodeHealth.html b/mavlink/ardupilotmega/enum.UavcanNodeHealth.html index 8a9bac9bd3..d18d0d5a7c 100644 --- a/mavlink/ardupilotmega/enum.UavcanNodeHealth.html +++ b/mavlink/ardupilotmega/enum.UavcanNodeHealth.html @@ -1,4 +1,4 @@ -UavcanNodeHealth in mavlink::ardupilotmega - Rust
pub enum UavcanNodeHealth {
+UavcanNodeHealth in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum UavcanNodeHealth { UAVCAN_NODE_HEALTH_OK = 0, UAVCAN_NODE_HEALTH_WARNING = 1, UAVCAN_NODE_HEALTH_ERROR = 2, diff --git a/mavlink/ardupilotmega/enum.UavcanNodeMode.html b/mavlink/ardupilotmega/enum.UavcanNodeMode.html index de9f2a4105..38de259a9d 100644 --- a/mavlink/ardupilotmega/enum.UavcanNodeMode.html +++ b/mavlink/ardupilotmega/enum.UavcanNodeMode.html @@ -1,4 +1,4 @@ -UavcanNodeMode in mavlink::ardupilotmega - Rust
pub enum UavcanNodeMode {
+UavcanNodeMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum UavcanNodeMode { UAVCAN_NODE_MODE_OPERATIONAL = 0, UAVCAN_NODE_MODE_INITIALIZATION = 1, UAVCAN_NODE_MODE_MAINTENANCE = 2, diff --git a/mavlink/ardupilotmega/enum.UavionixAdsbEmergencyStatus.html b/mavlink/ardupilotmega/enum.UavionixAdsbEmergencyStatus.html index c7cf1c3273..f2795ea9d6 100644 --- a/mavlink/ardupilotmega/enum.UavionixAdsbEmergencyStatus.html +++ b/mavlink/ardupilotmega/enum.UavionixAdsbEmergencyStatus.html @@ -1,4 +1,4 @@ -UavionixAdsbEmergencyStatus in mavlink::ardupilotmega - Rust
pub enum UavionixAdsbEmergencyStatus {
+UavionixAdsbEmergencyStatus in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum UavionixAdsbEmergencyStatus { UAVIONIX_ADSB_OUT_NO_EMERGENCY = 0, UAVIONIX_ADSB_OUT_GENERAL_EMERGENCY = 1, UAVIONIX_ADSB_OUT_LIFEGUARD_EMERGENCY = 2, diff --git a/mavlink/ardupilotmega/enum.UavionixAdsbOutCfgAircraftSize.html b/mavlink/ardupilotmega/enum.UavionixAdsbOutCfgAircraftSize.html index 13c571de1a..62ddb781a7 100644 --- a/mavlink/ardupilotmega/enum.UavionixAdsbOutCfgAircraftSize.html +++ b/mavlink/ardupilotmega/enum.UavionixAdsbOutCfgAircraftSize.html @@ -1,4 +1,4 @@ -UavionixAdsbOutCfgAircraftSize in mavlink::ardupilotmega - Rust
pub enum UavionixAdsbOutCfgAircraftSize {
+UavionixAdsbOutCfgAircraftSize in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum UavionixAdsbOutCfgAircraftSize {
Show 16 variants UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA = 0, UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L15M_W23M = 1, UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25M_W28P5M = 2, diff --git a/mavlink/ardupilotmega/enum.UavionixAdsbOutCfgGpsOffsetLat.html b/mavlink/ardupilotmega/enum.UavionixAdsbOutCfgGpsOffsetLat.html index a37d89d504..270bd54fa8 100644 --- a/mavlink/ardupilotmega/enum.UavionixAdsbOutCfgGpsOffsetLat.html +++ b/mavlink/ardupilotmega/enum.UavionixAdsbOutCfgGpsOffsetLat.html @@ -1,4 +1,4 @@ -UavionixAdsbOutCfgGpsOffsetLat in mavlink::ardupilotmega - Rust
pub enum UavionixAdsbOutCfgGpsOffsetLat {
+UavionixAdsbOutCfgGpsOffsetLat in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum UavionixAdsbOutCfgGpsOffsetLat { UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA = 0, UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_2M = 1, UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_4M = 2, diff --git a/mavlink/ardupilotmega/enum.UavionixAdsbOutCfgGpsOffsetLon.html b/mavlink/ardupilotmega/enum.UavionixAdsbOutCfgGpsOffsetLon.html index 413c056eb1..1d70a4aae3 100644 --- a/mavlink/ardupilotmega/enum.UavionixAdsbOutCfgGpsOffsetLon.html +++ b/mavlink/ardupilotmega/enum.UavionixAdsbOutCfgGpsOffsetLon.html @@ -1,4 +1,4 @@ -UavionixAdsbOutCfgGpsOffsetLon in mavlink::ardupilotmega - Rust
pub enum UavionixAdsbOutCfgGpsOffsetLon {
+UavionixAdsbOutCfgGpsOffsetLon in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum UavionixAdsbOutCfgGpsOffsetLon { UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA = 0, UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_APPLIED_BY_SENSOR = 1, }

Variants§

§

UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA = 0

§

UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_APPLIED_BY_SENSOR = 1

Implementations§

source§

impl UavionixAdsbOutCfgGpsOffsetLon

source

pub const DEFAULT: Self = Self::UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA

Trait Implementations§

source§

impl Clone for UavionixAdsbOutCfgGpsOffsetLon

source§

fn clone(&self) -> UavionixAdsbOutCfgGpsOffsetLon

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbOutCfgGpsOffsetLon

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbOutCfgGpsOffsetLon

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbOutCfgGpsOffsetLon

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.UavionixAdsbOutDynamicGpsFix.html b/mavlink/ardupilotmega/enum.UavionixAdsbOutDynamicGpsFix.html index 027ddc83a1..3786b70de3 100644 --- a/mavlink/ardupilotmega/enum.UavionixAdsbOutDynamicGpsFix.html +++ b/mavlink/ardupilotmega/enum.UavionixAdsbOutDynamicGpsFix.html @@ -1,4 +1,4 @@ -UavionixAdsbOutDynamicGpsFix in mavlink::ardupilotmega - Rust
pub enum UavionixAdsbOutDynamicGpsFix {
+UavionixAdsbOutDynamicGpsFix in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum UavionixAdsbOutDynamicGpsFix { UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0 = 0, UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_1 = 1, UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_2D = 2, diff --git a/mavlink/ardupilotmega/enum.UtmFlightState.html b/mavlink/ardupilotmega/enum.UtmFlightState.html index 026a47d8d6..b98d1efa57 100644 --- a/mavlink/ardupilotmega/enum.UtmFlightState.html +++ b/mavlink/ardupilotmega/enum.UtmFlightState.html @@ -1,4 +1,4 @@ -UtmFlightState in mavlink::ardupilotmega - Rust
pub enum UtmFlightState {
+UtmFlightState in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum UtmFlightState { UTM_FLIGHT_STATE_UNKNOWN = 1, UTM_FLIGHT_STATE_GROUND = 2, UTM_FLIGHT_STATE_AIRBORNE = 3, diff --git a/mavlink/ardupilotmega/enum.VideoStreamStatusFlags.html b/mavlink/ardupilotmega/enum.VideoStreamStatusFlags.html index fbf11fc99e..1c02db7f70 100644 --- a/mavlink/ardupilotmega/enum.VideoStreamStatusFlags.html +++ b/mavlink/ardupilotmega/enum.VideoStreamStatusFlags.html @@ -1,4 +1,4 @@ -VideoStreamStatusFlags in mavlink::ardupilotmega - Rust
pub enum VideoStreamStatusFlags {
+VideoStreamStatusFlags in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum VideoStreamStatusFlags { VIDEO_STREAM_STATUS_FLAGS_RUNNING = 1, VIDEO_STREAM_STATUS_FLAGS_THERMAL = 2, }

Variants§

§

VIDEO_STREAM_STATUS_FLAGS_RUNNING = 1

§

VIDEO_STREAM_STATUS_FLAGS_THERMAL = 2

Implementations§

source§

impl VideoStreamStatusFlags

source

pub const DEFAULT: Self = Self::VIDEO_STREAM_STATUS_FLAGS_RUNNING

Trait Implementations§

source§

impl Clone for VideoStreamStatusFlags

source§

fn clone(&self) -> VideoStreamStatusFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for VideoStreamStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for VideoStreamStatusFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for VideoStreamStatusFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/ardupilotmega/enum.VideoStreamType.html b/mavlink/ardupilotmega/enum.VideoStreamType.html index 0778b5769e..3bc907c282 100644 --- a/mavlink/ardupilotmega/enum.VideoStreamType.html +++ b/mavlink/ardupilotmega/enum.VideoStreamType.html @@ -1,4 +1,4 @@ -VideoStreamType in mavlink::ardupilotmega - Rust
pub enum VideoStreamType {
+VideoStreamType in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum VideoStreamType { VIDEO_STREAM_TYPE_RTSP = 0, VIDEO_STREAM_TYPE_RTPUDP = 1, VIDEO_STREAM_TYPE_TCP_MPEG = 2, diff --git a/mavlink/ardupilotmega/enum.VtolTransitionHeading.html b/mavlink/ardupilotmega/enum.VtolTransitionHeading.html index 1250c203cf..2067846ae1 100644 --- a/mavlink/ardupilotmega/enum.VtolTransitionHeading.html +++ b/mavlink/ardupilotmega/enum.VtolTransitionHeading.html @@ -1,4 +1,4 @@ -VtolTransitionHeading in mavlink::ardupilotmega - Rust
pub enum VtolTransitionHeading {
+VtolTransitionHeading in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum VtolTransitionHeading { VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT = 0, VTOL_TRANSITION_HEADING_NEXT_WAYPOINT = 1, VTOL_TRANSITION_HEADING_TAKEOFF = 2, diff --git a/mavlink/ardupilotmega/enum.WifiConfigApMode.html b/mavlink/ardupilotmega/enum.WifiConfigApMode.html index f6324df4fb..1cc651d93f 100644 --- a/mavlink/ardupilotmega/enum.WifiConfigApMode.html +++ b/mavlink/ardupilotmega/enum.WifiConfigApMode.html @@ -1,4 +1,4 @@ -WifiConfigApMode in mavlink::ardupilotmega - Rust
pub enum WifiConfigApMode {
+WifiConfigApMode in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum WifiConfigApMode { WIFI_CONFIG_AP_MODE_UNDEFINED = 0, WIFI_CONFIG_AP_MODE_AP = 1, WIFI_CONFIG_AP_MODE_STATION = 2, diff --git a/mavlink/ardupilotmega/enum.WifiConfigApResponse.html b/mavlink/ardupilotmega/enum.WifiConfigApResponse.html index 8a43561c27..5cb2fa4b68 100644 --- a/mavlink/ardupilotmega/enum.WifiConfigApResponse.html +++ b/mavlink/ardupilotmega/enum.WifiConfigApResponse.html @@ -1,4 +1,4 @@ -WifiConfigApResponse in mavlink::ardupilotmega - Rust
pub enum WifiConfigApResponse {
+WifiConfigApResponse in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum WifiConfigApResponse { WIFI_CONFIG_AP_RESPONSE_UNDEFINED = 0, WIFI_CONFIG_AP_RESPONSE_ACCEPTED = 1, WIFI_CONFIG_AP_RESPONSE_REJECTED = 2, diff --git a/mavlink/ardupilotmega/enum.WinchActions.html b/mavlink/ardupilotmega/enum.WinchActions.html index 6841ff04eb..95efa57cbe 100644 --- a/mavlink/ardupilotmega/enum.WinchActions.html +++ b/mavlink/ardupilotmega/enum.WinchActions.html @@ -1,4 +1,4 @@ -WinchActions in mavlink::ardupilotmega - Rust
pub enum WinchActions {
+WinchActions in mavlink::ardupilotmega - Rust
#[repr(u32)]
pub enum WinchActions { WINCH_RELAXED = 0, WINCH_RELATIVE_LENGTH_CONTROL = 1, WINCH_RATE_CONTROL = 2, diff --git a/mavlink/ardupilotmega/struct.AdsbFlags.html b/mavlink/ardupilotmega/struct.AdsbFlags.html index 5b178f7382..2270d26bcf 100644 --- a/mavlink/ardupilotmega/struct.AdsbFlags.html +++ b/mavlink/ardupilotmega/struct.AdsbFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-

source§

impl AdsbFlags

source

pub const DEFAULT: Self = Self::ADSB_FLAGS_VALID_COORDS

Trait Implementations§

source§

impl Binary for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AdsbFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = AdsbFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for AdsbFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl AdsbFlags

source

pub const DEFAULT: Self = Self::ADSB_FLAGS_VALID_COORDS

Trait Implementations§

source§

impl Binary for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AdsbFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = AdsbFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for AdsbFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for AdsbFlags

source§

fn bitor(self, other: AdsbFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = AdsbFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for AdsbFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = AdsbFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for AdsbFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for AdsbFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = AdsbFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AdsbFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for AdsbFlags

source§

fn clone(&self) -> AdsbFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AdsbFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AdsbFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = AdsbFlags

The resulting type after applying the ^ operator.

source§

impl BitXorAssign for AdsbFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for AdsbFlags

source§

fn clone(&self) -> AdsbFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AdsbFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AdsbFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<AdsbFlags> for AdsbFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<AdsbFlags> for AdsbFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for AdsbFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AdsbFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = AdsbFlags

The resulting type after applying the ! operator.
source§

impl Octal for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AdsbFlags

source§

fn cmp(&self, other: &AdsbFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

§

type Output = AdsbFlags

The resulting type after applying the ! operator.
source§

impl Octal for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AdsbFlags

source§

fn cmp(&self, other: &AdsbFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for AdsbFlags

source§

fn eq(&self, other: &AdsbFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for AdsbFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for AdsbFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = AdsbFlags

The resulting type after applying the - operator.
source§

impl SubAssign for AdsbFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AdsbFlags

source§

impl Eq for AdsbFlags

source§

impl StructuralEq for AdsbFlags

source§

impl StructuralPartialEq for AdsbFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = AdsbFlags

The resulting type after applying the - operator.

source§

impl SubAssign for AdsbFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AdsbFlags

source§

impl Eq for AdsbFlags

source§

impl StructuralEq for AdsbFlags

source§

impl StructuralPartialEq for AdsbFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.AisFlags.html b/mavlink/ardupilotmega/struct.AisFlags.html index bf5af17371..79ecdf6e1e 100644 --- a/mavlink/ardupilotmega/struct.AisFlags.html +++ b/mavlink/ardupilotmega/struct.AisFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl AisFlags

source

pub const DEFAULT: Self = Self::AIS_FLAGS_POSITION_ACCURACY

Trait Implementations§

source§

impl Binary for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AisFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = AisFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for AisFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl AisFlags

source

pub const DEFAULT: Self = Self::AIS_FLAGS_POSITION_ACCURACY

Trait Implementations§

source§

impl Binary for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AisFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = AisFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for AisFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for AisFlags

source§

fn bitor(self, other: AisFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = AisFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for AisFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = AisFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for AisFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for AisFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = AisFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AisFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for AisFlags

source§

fn clone(&self) -> AisFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AisFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AisFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

source§

impl Clone for AisFlags

source§

fn clone(&self) -> AisFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AisFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AisFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<AisFlags> for AisFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<AisFlags> for AisFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for AisFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AisFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = AisFlags

The resulting type after applying the ! operator.
source§

impl Octal for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AisFlags

source§

fn cmp(&self, other: &AisFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AisFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = AisFlags

The resulting type after applying the ! operator.
source§

impl Octal for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AisFlags

source§

fn cmp(&self, other: &AisFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for AisFlags

source§

fn eq(&self, other: &AisFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for AisFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for AisFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = AisFlags

The resulting type after applying the - operator.
source§

impl SubAssign for AisFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AisFlags

source§

impl Eq for AisFlags

source§

impl StructuralEq for AisFlags

source§

impl StructuralPartialEq for AisFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = AisFlags

The resulting type after applying the - operator.

source§

impl SubAssign for AisFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AisFlags

source§

impl Eq for AisFlags

source§

impl StructuralEq for AisFlags

source§

impl StructuralPartialEq for AisFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.AttitudeTargetTypemask.html b/mavlink/ardupilotmega/struct.AttitudeTargetTypemask.html index 1bb053dfe7..1c4fcae3d4 100644 --- a/mavlink/ardupilotmega/struct.AttitudeTargetTypemask.html +++ b/mavlink/ardupilotmega/struct.AttitudeTargetTypemask.html @@ -56,16 +56,16 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl AttitudeTargetTypemask

source

pub const DEFAULT: Self = Self::ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE

Trait Implementations§

source§

impl Binary for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AttitudeTargetTypemask

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
source§

impl AttitudeTargetTypemask

source

pub const DEFAULT: Self = Self::ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE

Trait Implementations§

source§

impl Binary for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AttitudeTargetTypemask

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = AttitudeTargetTypemask

The resulting type after applying the & operator.
source§

impl BitAndAssign for AttitudeTargetTypemask

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for AttitudeTargetTypemask

source§

fn bitor(self, other: AttitudeTargetTypemask) -> Self

Returns the union of the two sets of flags.

-
§

type Output = AttitudeTargetTypemask

The resulting type after applying the | operator.
source§

impl BitOrAssign for AttitudeTargetTypemask

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = AttitudeTargetTypemask

The resulting type after applying the | operator.
source§

impl BitOrAssign for AttitudeTargetTypemask

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for AttitudeTargetTypemask

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = AttitudeTargetTypemask

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AttitudeTargetTypemask

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
§

type Output = AttitudeTargetTypemask

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AttitudeTargetTypemask

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for AttitudeTargetTypemask

source§

fn clone(&self) -> AttitudeTargetTypemask

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AttitudeTargetTypemask

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AttitudeTargetTypemask

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<AttitudeTargetTypemask> for AttitudeTargetTypemask

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<AttitudeTargetTypemask> for AttitudeTargetTypemask

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for AttitudeTargetTypemask

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AttitudeTargetTypemask

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+ Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AttitudeTargetTypemask

source§

fn not(self) -> Self

Returns the complement of this set of flags.

§

type Output = AttitudeTargetTypemask

The resulting type after applying the ! operator.
source§

impl Octal for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AttitudeTargetTypemask

source§

fn cmp(&self, other: &AttitudeTargetTypemask) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere diff --git a/mavlink/ardupilotmega/struct.CameraCapFlags.html b/mavlink/ardupilotmega/struct.CameraCapFlags.html index ab44d5e8b4..7e0274ee0f 100644 --- a/mavlink/ardupilotmega/struct.CameraCapFlags.html +++ b/mavlink/ardupilotmega/struct.CameraCapFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-

source§

impl CameraCapFlags

source

pub const DEFAULT: Self = Self::CAMERA_CAP_FLAGS_CAPTURE_VIDEO

Trait Implementations§

source§

impl Binary for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for CameraCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = CameraCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for CameraCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl CameraCapFlags

source

pub const DEFAULT: Self = Self::CAMERA_CAP_FLAGS_CAPTURE_VIDEO

Trait Implementations§

source§

impl Binary for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for CameraCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = CameraCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for CameraCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for CameraCapFlags

source§

fn bitor(self, other: CameraCapFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = CameraCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for CameraCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = CameraCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for CameraCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for CameraCapFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = CameraCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for CameraCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for CameraCapFlags

source§

fn clone(&self) -> CameraCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CameraCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for CameraCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = CameraCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for CameraCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for CameraCapFlags

source§

fn clone(&self) -> CameraCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CameraCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for CameraCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<CameraCapFlags> for CameraCapFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<CameraCapFlags> for CameraCapFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for CameraCapFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for CameraCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = CameraCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for CameraCapFlags

source§

fn cmp(&self, other: &CameraCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

§

type Output = CameraCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for CameraCapFlags

source§

fn cmp(&self, other: &CameraCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for CameraCapFlags

source§

fn eq(&self, other: &CameraCapFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for CameraCapFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for CameraCapFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = CameraCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for CameraCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for CameraCapFlags

source§

impl Eq for CameraCapFlags

source§

impl StructuralEq for CameraCapFlags

source§

impl StructuralPartialEq for CameraCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = CameraCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for CameraCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for CameraCapFlags

source§

impl Eq for CameraCapFlags

source§

impl StructuralEq for CameraCapFlags

source§

impl StructuralPartialEq for CameraCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.EkfStatusFlags.html b/mavlink/ardupilotmega/struct.EkfStatusFlags.html index 3dea8beb80..c09458fa95 100644 --- a/mavlink/ardupilotmega/struct.EkfStatusFlags.html +++ b/mavlink/ardupilotmega/struct.EkfStatusFlags.html @@ -57,16 +57,16 @@
Safety

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

source§

impl EkfStatusFlags

source

pub const DEFAULT: Self = Self::EKF_ATTITUDE

Trait Implementations§

source§

impl Binary for EkfStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for EkfStatusFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = EkfStatusFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for EkfStatusFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
§

type Output = EkfStatusFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for EkfStatusFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for EkfStatusFlags

source§

fn bitor(self, other: EkfStatusFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = EkfStatusFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for EkfStatusFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = EkfStatusFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for EkfStatusFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for EkfStatusFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = EkfStatusFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for EkfStatusFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for EkfStatusFlags

source§

fn clone(&self) -> EkfStatusFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EkfStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EkfStatusFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for EkfStatusFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = EkfStatusFlags

The resulting type after applying the ^ operator.

source§

impl BitXorAssign for EkfStatusFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for EkfStatusFlags

source§

fn clone(&self) -> EkfStatusFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EkfStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EkfStatusFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for EkfStatusFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<EkfStatusFlags> for EkfStatusFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<EkfStatusFlags> for EkfStatusFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for EkfStatusFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for EkfStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for EkfStatusFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = EkfStatusFlags

The resulting type after applying the ! operator.
source§

impl Octal for EkfStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for EkfStatusFlags

source§

fn cmp(&self, other: &EkfStatusFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

§

type Output = EkfStatusFlags

The resulting type after applying the ! operator.
source§

impl Octal for EkfStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for EkfStatusFlags

source§

fn cmp(&self, other: &EkfStatusFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for EkfStatusFlags

source§

fn eq(&self, other: &EkfStatusFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for EkfStatusFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for EkfStatusFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = EkfStatusFlags

The resulting type after applying the - operator.
source§

impl SubAssign for EkfStatusFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for EkfStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for EkfStatusFlags

source§

impl Eq for EkfStatusFlags

source§

impl StructuralEq for EkfStatusFlags

source§

impl StructuralPartialEq for EkfStatusFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = EkfStatusFlags

The resulting type after applying the - operator.
source§

impl SubAssign for EkfStatusFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for EkfStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for EkfStatusFlags

source§

impl Eq for EkfStatusFlags

source§

impl StructuralEq for EkfStatusFlags

source§

impl StructuralPartialEq for EkfStatusFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.EscFailureFlags.html b/mavlink/ardupilotmega/struct.EscFailureFlags.html index 63293775c0..4d39978348 100644 --- a/mavlink/ardupilotmega/struct.EscFailureFlags.html +++ b/mavlink/ardupilotmega/struct.EscFailureFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl EscFailureFlags

source

pub const DEFAULT: Self = Self::ESC_FAILURE_NONE

Trait Implementations§

source§

impl Binary for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for EscFailureFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = EscFailureFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for EscFailureFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl EscFailureFlags

source

pub const DEFAULT: Self = Self::ESC_FAILURE_NONE

Trait Implementations§

source§

impl Binary for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for EscFailureFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = EscFailureFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for EscFailureFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for EscFailureFlags

source§

fn bitor(self, other: EscFailureFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = EscFailureFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for EscFailureFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = EscFailureFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for EscFailureFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for EscFailureFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = EscFailureFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for EscFailureFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for EscFailureFlags

source§

fn clone(&self) -> EscFailureFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EscFailureFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for EscFailureFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = EscFailureFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for EscFailureFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for EscFailureFlags

source§

fn clone(&self) -> EscFailureFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EscFailureFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for EscFailureFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<EscFailureFlags> for EscFailureFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<EscFailureFlags> for EscFailureFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for EscFailureFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for EscFailureFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = EscFailureFlags

The resulting type after applying the ! operator.
source§

impl Octal for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for EscFailureFlags

source§

fn cmp(&self, other: &EscFailureFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

§

type Output = EscFailureFlags

The resulting type after applying the ! operator.
source§

impl Octal for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for EscFailureFlags

source§

fn cmp(&self, other: &EscFailureFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for EscFailureFlags

source§

fn eq(&self, other: &EscFailureFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for EscFailureFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for EscFailureFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = EscFailureFlags

The resulting type after applying the - operator.
source§

impl SubAssign for EscFailureFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for EscFailureFlags

source§

impl Eq for EscFailureFlags

source§

impl StructuralEq for EscFailureFlags

source§

impl StructuralPartialEq for EscFailureFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = EscFailureFlags

The resulting type after applying the - operator.
source§

impl SubAssign for EscFailureFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for EscFailureFlags

source§

impl Eq for EscFailureFlags

source§

impl StructuralEq for EscFailureFlags

source§

impl StructuralPartialEq for EscFailureFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.EstimatorStatusFlags.html b/mavlink/ardupilotmega/struct.EstimatorStatusFlags.html index b02e7fd509..c3519bfab4 100644 --- a/mavlink/ardupilotmega/struct.EstimatorStatusFlags.html +++ b/mavlink/ardupilotmega/struct.EstimatorStatusFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl EstimatorStatusFlags

source

pub const DEFAULT: Self = Self::ESTIMATOR_ATTITUDE

Trait Implementations§

source§

impl Binary for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for EstimatorStatusFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = EstimatorStatusFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for EstimatorStatusFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl EstimatorStatusFlags

source

pub const DEFAULT: Self = Self::ESTIMATOR_ATTITUDE

Trait Implementations§

source§

impl Binary for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for EstimatorStatusFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = EstimatorStatusFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for EstimatorStatusFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for EstimatorStatusFlags

source§

fn bitor(self, other: EstimatorStatusFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = EstimatorStatusFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for EstimatorStatusFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = EstimatorStatusFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for EstimatorStatusFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for EstimatorStatusFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = EstimatorStatusFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for EstimatorStatusFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for EstimatorStatusFlags

source§

fn clone(&self) -> EstimatorStatusFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EstimatorStatusFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for EstimatorStatusFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = EstimatorStatusFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for EstimatorStatusFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for EstimatorStatusFlags

source§

fn clone(&self) -> EstimatorStatusFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EstimatorStatusFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for EstimatorStatusFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<EstimatorStatusFlags> for EstimatorStatusFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<EstimatorStatusFlags> for EstimatorStatusFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for EstimatorStatusFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for EstimatorStatusFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = EstimatorStatusFlags

The resulting type after applying the ! operator.
source§

impl Octal for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for EstimatorStatusFlags

source§

fn cmp(&self, other: &EstimatorStatusFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for EstimatorStatusFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = EstimatorStatusFlags

The resulting type after applying the ! operator.
source§

impl Octal for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for EstimatorStatusFlags

source§

fn cmp(&self, other: &EstimatorStatusFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for EstimatorStatusFlags

source§

fn eq(&self, other: &EstimatorStatusFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -76,7 +76,7 @@
Safety
operator. Read more
source§

impl Serialize for EstimatorStatusFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for EstimatorStatusFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

§

type Output = EstimatorStatusFlags

The resulting type after applying the - operator.
source§

impl SubAssign for EstimatorStatusFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for EstimatorStatusFlags

source§

impl Eq for EstimatorStatusFlags

source§

impl StructuralEq for EstimatorStatusFlags

source§

impl StructuralPartialEq for EstimatorStatusFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source§

impl UpperHex for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for EstimatorStatusFlags

source§

impl Eq for EstimatorStatusFlags

source§

impl StructuralEq for EstimatorStatusFlags

source§

impl StructuralPartialEq for EstimatorStatusFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.GimbalDeviceCapFlags.html b/mavlink/ardupilotmega/struct.GimbalDeviceCapFlags.html index f6a2802794..99b9c8d51a 100644 --- a/mavlink/ardupilotmega/struct.GimbalDeviceCapFlags.html +++ b/mavlink/ardupilotmega/struct.GimbalDeviceCapFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl GimbalDeviceCapFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl GimbalDeviceCapFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GimbalDeviceCapFlags

source§

fn bitor(self, other: GimbalDeviceCapFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GimbalDeviceCapFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = GimbalDeviceCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for GimbalDeviceCapFlags

source§

fn clone(&self) -> GimbalDeviceCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GimbalDeviceCapFlags> for GimbalDeviceCapFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GimbalDeviceCapFlags> for GimbalDeviceCapFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GimbalDeviceCapFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceCapFlags

source§

fn cmp(&self, other: &GimbalDeviceCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

§

type Output = GimbalDeviceCapFlags

The resulting type after applying the ! operator.

source§

impl Octal for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceCapFlags

source§

fn cmp(&self, other: &GimbalDeviceCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GimbalDeviceCapFlags

source§

fn eq(&self, other: &GimbalDeviceCapFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GimbalDeviceCapFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GimbalDeviceCapFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceCapFlags

source§

impl Eq for GimbalDeviceCapFlags

source§

impl StructuralEq for GimbalDeviceCapFlags

source§

impl StructuralPartialEq for GimbalDeviceCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = GimbalDeviceCapFlags

The resulting type after applying the - operator.

source§

impl SubAssign for GimbalDeviceCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceCapFlags

source§

impl Eq for GimbalDeviceCapFlags

source§

impl StructuralEq for GimbalDeviceCapFlags

source§

impl StructuralPartialEq for GimbalDeviceCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.GimbalDeviceErrorFlags.html b/mavlink/ardupilotmega/struct.GimbalDeviceErrorFlags.html index 6d6f35ed95..b1d65df7c9 100644 --- a/mavlink/ardupilotmega/struct.GimbalDeviceErrorFlags.html +++ b/mavlink/ardupilotmega/struct.GimbalDeviceErrorFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl GimbalDeviceErrorFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT

Trait Implementations§

source§

impl Binary for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceErrorFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceErrorFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl GimbalDeviceErrorFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT

Trait Implementations§

source§

impl Binary for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceErrorFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceErrorFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GimbalDeviceErrorFlags

source§

fn bitor(self, other: GimbalDeviceErrorFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceErrorFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceErrorFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GimbalDeviceErrorFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceErrorFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GimbalDeviceErrorFlags

source§

fn clone(&self) -> GimbalDeviceErrorFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceErrorFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceErrorFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceErrorFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for GimbalDeviceErrorFlags

source§

fn clone(&self) -> GimbalDeviceErrorFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceErrorFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceErrorFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GimbalDeviceErrorFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceErrorFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceErrorFlags

source§

fn cmp(&self, other: &GimbalDeviceErrorFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceErrorFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceErrorFlags

source§

fn cmp(&self, other: &GimbalDeviceErrorFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GimbalDeviceErrorFlags

source§

fn eq(&self, other: &GimbalDeviceErrorFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GimbalDeviceErrorFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GimbalDeviceErrorFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceErrorFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceErrorFlags

source§

impl Eq for GimbalDeviceErrorFlags

source§

impl StructuralEq for GimbalDeviceErrorFlags

source§

impl StructuralPartialEq for GimbalDeviceErrorFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the - operator.

source§

impl SubAssign for GimbalDeviceErrorFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceErrorFlags

source§

impl Eq for GimbalDeviceErrorFlags

source§

impl StructuralEq for GimbalDeviceErrorFlags

source§

impl StructuralPartialEq for GimbalDeviceErrorFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.GimbalDeviceFlags.html b/mavlink/ardupilotmega/struct.GimbalDeviceFlags.html index c04d8e46f2..df20b55bb2 100644 --- a/mavlink/ardupilotmega/struct.GimbalDeviceFlags.html +++ b/mavlink/ardupilotmega/struct.GimbalDeviceFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl GimbalDeviceFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_FLAGS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl GimbalDeviceFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_FLAGS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = GimbalDeviceFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GimbalDeviceFlags

source§

fn bitor(self, other: GimbalDeviceFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GimbalDeviceFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GimbalDeviceFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GimbalDeviceFlags

source§

fn clone(&self) -> GimbalDeviceFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = GimbalDeviceFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for GimbalDeviceFlags

source§

fn clone(&self) -> GimbalDeviceFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GimbalDeviceFlags> for GimbalDeviceFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GimbalDeviceFlags> for GimbalDeviceFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GimbalDeviceFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceFlags

source§

fn cmp(&self, other: &GimbalDeviceFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = GimbalDeviceFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceFlags

source§

fn cmp(&self, other: &GimbalDeviceFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GimbalDeviceFlags

source§

fn eq(&self, other: &GimbalDeviceFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GimbalDeviceFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GimbalDeviceFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceFlags

source§

impl Eq for GimbalDeviceFlags

source§

impl StructuralEq for GimbalDeviceFlags

source§

impl StructuralPartialEq for GimbalDeviceFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = GimbalDeviceFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceFlags

source§

impl Eq for GimbalDeviceFlags

source§

impl StructuralEq for GimbalDeviceFlags

source§

impl StructuralPartialEq for GimbalDeviceFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.GimbalManagerCapFlags.html b/mavlink/ardupilotmega/struct.GimbalManagerCapFlags.html index d4835ffb00..2b3cc3c6e6 100644 --- a/mavlink/ardupilotmega/struct.GimbalManagerCapFlags.html +++ b/mavlink/ardupilotmega/struct.GimbalManagerCapFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl GimbalManagerCapFlags

source

pub const DEFAULT: Self = Self::GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalManagerCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GimbalManagerCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalManagerCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl GimbalManagerCapFlags

source

pub const DEFAULT: Self = Self::GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalManagerCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = GimbalManagerCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalManagerCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GimbalManagerCapFlags

source§

fn bitor(self, other: GimbalManagerCapFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GimbalManagerCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalManagerCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GimbalManagerCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalManagerCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GimbalManagerCapFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = GimbalManagerCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalManagerCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GimbalManagerCapFlags

source§

fn clone(&self) -> GimbalManagerCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalManagerCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalManagerCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

source§

impl Clone for GimbalManagerCapFlags

source§

fn clone(&self) -> GimbalManagerCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalManagerCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalManagerCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GimbalManagerCapFlags> for GimbalManagerCapFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GimbalManagerCapFlags> for GimbalManagerCapFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GimbalManagerCapFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalManagerCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GimbalManagerCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalManagerCapFlags

source§

fn cmp(&self, other: &GimbalManagerCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalManagerCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = GimbalManagerCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalManagerCapFlags

source§

fn cmp(&self, other: &GimbalManagerCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GimbalManagerCapFlags

source§

fn eq(&self, other: &GimbalManagerCapFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,7 +75,7 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GimbalManagerCapFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GimbalManagerCapFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GimbalManagerCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalManagerCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
§

type Output = GimbalManagerCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalManagerCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

source§

impl UpperHex for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalManagerCapFlags

source§

impl Eq for GimbalManagerCapFlags

source§

impl StructuralEq for GimbalManagerCapFlags

source§

impl StructuralPartialEq for GimbalManagerCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/mavlink/ardupilotmega/struct.GoproHeartbeatFlags.html b/mavlink/ardupilotmega/struct.GoproHeartbeatFlags.html index 5a888d8988..0b7013cbf1 100644 --- a/mavlink/ardupilotmega/struct.GoproHeartbeatFlags.html +++ b/mavlink/ardupilotmega/struct.GoproHeartbeatFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-

source§

impl GoproHeartbeatFlags

source

pub const DEFAULT: Self = Self::GOPRO_FLAG_RECORDING

Trait Implementations§

source§

impl Binary for GoproHeartbeatFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GoproHeartbeatFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GoproHeartbeatFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GoproHeartbeatFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl GoproHeartbeatFlags

source

pub const DEFAULT: Self = Self::GOPRO_FLAG_RECORDING

Trait Implementations§

source§

impl Binary for GoproHeartbeatFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GoproHeartbeatFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = GoproHeartbeatFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GoproHeartbeatFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GoproHeartbeatFlags

source§

fn bitor(self, other: GoproHeartbeatFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GoproHeartbeatFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GoproHeartbeatFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GoproHeartbeatFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GoproHeartbeatFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GoproHeartbeatFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = GoproHeartbeatFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GoproHeartbeatFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GoproHeartbeatFlags

source§

fn clone(&self) -> GoproHeartbeatFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GoproHeartbeatFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GoproHeartbeatFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GoproHeartbeatFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = GoproHeartbeatFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GoproHeartbeatFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for GoproHeartbeatFlags

source§

fn clone(&self) -> GoproHeartbeatFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GoproHeartbeatFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GoproHeartbeatFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GoproHeartbeatFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GoproHeartbeatFlags> for GoproHeartbeatFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GoproHeartbeatFlags> for GoproHeartbeatFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GoproHeartbeatFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GoproHeartbeatFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GoproHeartbeatFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GoproHeartbeatFlags

The resulting type after applying the ! operator.
source§

impl Octal for GoproHeartbeatFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GoproHeartbeatFlags

source§

fn cmp(&self, other: &GoproHeartbeatFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GoproHeartbeatFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GoproHeartbeatFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = GoproHeartbeatFlags

The resulting type after applying the ! operator.
source§

impl Octal for GoproHeartbeatFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GoproHeartbeatFlags

source§

fn cmp(&self, other: &GoproHeartbeatFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GoproHeartbeatFlags

source§

fn eq(&self, other: &GoproHeartbeatFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GoproHeartbeatFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GoproHeartbeatFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GoproHeartbeatFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GoproHeartbeatFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GoproHeartbeatFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GoproHeartbeatFlags

source§

impl Eq for GoproHeartbeatFlags

source§

impl StructuralEq for GoproHeartbeatFlags

source§

impl StructuralPartialEq for GoproHeartbeatFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = GoproHeartbeatFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GoproHeartbeatFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for GoproHeartbeatFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GoproHeartbeatFlags

source§

impl Eq for GoproHeartbeatFlags

source§

impl StructuralEq for GoproHeartbeatFlags

source§

impl StructuralPartialEq for GoproHeartbeatFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.GpsInputIgnoreFlags.html b/mavlink/ardupilotmega/struct.GpsInputIgnoreFlags.html index f6cf10c353..fdd760a121 100644 --- a/mavlink/ardupilotmega/struct.GpsInputIgnoreFlags.html +++ b/mavlink/ardupilotmega/struct.GpsInputIgnoreFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl GpsInputIgnoreFlags

source

pub const DEFAULT: Self = Self::GPS_INPUT_IGNORE_FLAG_ALT

Trait Implementations§

source§

impl Binary for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GpsInputIgnoreFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
source§

impl GpsInputIgnoreFlags

source

pub const DEFAULT: Self = Self::GPS_INPUT_IGNORE_FLAG_ALT

Trait Implementations§

source§

impl Binary for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GpsInputIgnoreFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = GpsInputIgnoreFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GpsInputIgnoreFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GpsInputIgnoreFlags

source§

fn bitor(self, other: GpsInputIgnoreFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GpsInputIgnoreFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GpsInputIgnoreFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GpsInputIgnoreFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GpsInputIgnoreFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GpsInputIgnoreFlags

source§

fn clone(&self) -> GpsInputIgnoreFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GpsInputIgnoreFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GpsInputIgnoreFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = GpsInputIgnoreFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GpsInputIgnoreFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for GpsInputIgnoreFlags

source§

fn clone(&self) -> GpsInputIgnoreFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GpsInputIgnoreFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GpsInputIgnoreFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GpsInputIgnoreFlags> for GpsInputIgnoreFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GpsInputIgnoreFlags> for GpsInputIgnoreFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GpsInputIgnoreFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GpsInputIgnoreFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the ! operator.
source§

impl Octal for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GpsInputIgnoreFlags

source§

fn cmp(&self, other: &GpsInputIgnoreFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GpsInputIgnoreFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the ! operator.
source§

impl Octal for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GpsInputIgnoreFlags

source§

fn cmp(&self, other: &GpsInputIgnoreFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GpsInputIgnoreFlags

source§

fn eq(&self, other: &GpsInputIgnoreFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GpsInputIgnoreFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GpsInputIgnoreFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GpsInputIgnoreFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GpsInputIgnoreFlags

source§

impl Eq for GpsInputIgnoreFlags

source§

impl StructuralEq for GpsInputIgnoreFlags

source§

impl StructuralPartialEq for GpsInputIgnoreFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = GpsInputIgnoreFlags

The resulting type after applying the - operator.

source§

impl SubAssign for GpsInputIgnoreFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GpsInputIgnoreFlags

source§

impl Eq for GpsInputIgnoreFlags

source§

impl StructuralEq for GpsInputIgnoreFlags

source§

impl StructuralPartialEq for GpsInputIgnoreFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.HighresImuUpdatedFlags.html b/mavlink/ardupilotmega/struct.HighresImuUpdatedFlags.html index bc14ee8703..bba57b6692 100644 --- a/mavlink/ardupilotmega/struct.HighresImuUpdatedFlags.html +++ b/mavlink/ardupilotmega/struct.HighresImuUpdatedFlags.html @@ -57,16 +57,16 @@
Safety

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

source§

impl HighresImuUpdatedFlags

source

pub const DEFAULT: Self = Self::HIGHRES_IMU_UPDATED_NONE

Trait Implementations§

source§

impl Binary for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HighresImuUpdatedFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for HighresImuUpdatedFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for HighresImuUpdatedFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for HighresImuUpdatedFlags

source§

fn bitor(self, other: HighresImuUpdatedFlags) -> Self

Returns the union of the two sets of flags.

§

type Output = HighresImuUpdatedFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for HighresImuUpdatedFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for HighresImuUpdatedFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HighresImuUpdatedFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for HighresImuUpdatedFlags

source§

fn clone(&self) -> HighresImuUpdatedFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HighresImuUpdatedFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HighresImuUpdatedFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = HighresImuUpdatedFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HighresImuUpdatedFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for HighresImuUpdatedFlags

source§

fn clone(&self) -> HighresImuUpdatedFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HighresImuUpdatedFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HighresImuUpdatedFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<HighresImuUpdatedFlags> for HighresImuUpdatedFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<HighresImuUpdatedFlags> for HighresImuUpdatedFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for HighresImuUpdatedFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HighresImuUpdatedFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the ! operator.
source§

impl Octal for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HighresImuUpdatedFlags

source§

fn cmp(&self, other: &HighresImuUpdatedFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HighresImuUpdatedFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the ! operator.
source§

impl Octal for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HighresImuUpdatedFlags

source§

fn cmp(&self, other: &HighresImuUpdatedFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for HighresImuUpdatedFlags

source§

fn eq(&self, other: &HighresImuUpdatedFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for HighresImuUpdatedFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for HighresImuUpdatedFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the - operator.
source§

impl SubAssign for HighresImuUpdatedFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HighresImuUpdatedFlags

source§

impl Eq for HighresImuUpdatedFlags

source§

impl StructuralEq for HighresImuUpdatedFlags

source§

impl StructuralPartialEq for HighresImuUpdatedFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = HighresImuUpdatedFlags

The resulting type after applying the - operator.
source§

impl SubAssign for HighresImuUpdatedFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HighresImuUpdatedFlags

source§

impl Eq for HighresImuUpdatedFlags

source§

impl StructuralEq for HighresImuUpdatedFlags

source§

impl StructuralPartialEq for HighresImuUpdatedFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.HilSensorUpdatedFlags.html b/mavlink/ardupilotmega/struct.HilSensorUpdatedFlags.html index 0ae815bf60..e9d88e80a6 100644 --- a/mavlink/ardupilotmega/struct.HilSensorUpdatedFlags.html +++ b/mavlink/ardupilotmega/struct.HilSensorUpdatedFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl HilSensorUpdatedFlags

source

pub const DEFAULT: Self = Self::HIL_SENSOR_UPDATED_NONE

Trait Implementations§

source§

impl Binary for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HilSensorUpdatedFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for HilSensorUpdatedFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl HilSensorUpdatedFlags

source

pub const DEFAULT: Self = Self::HIL_SENSOR_UPDATED_NONE

Trait Implementations§

source§

impl Binary for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HilSensorUpdatedFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for HilSensorUpdatedFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for HilSensorUpdatedFlags

source§

fn bitor(self, other: HilSensorUpdatedFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for HilSensorUpdatedFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for HilSensorUpdatedFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for HilSensorUpdatedFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HilSensorUpdatedFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for HilSensorUpdatedFlags

source§

fn clone(&self) -> HilSensorUpdatedFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HilSensorUpdatedFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HilSensorUpdatedFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = HilSensorUpdatedFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HilSensorUpdatedFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for HilSensorUpdatedFlags

source§

fn clone(&self) -> HilSensorUpdatedFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HilSensorUpdatedFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HilSensorUpdatedFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<HilSensorUpdatedFlags> for HilSensorUpdatedFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<HilSensorUpdatedFlags> for HilSensorUpdatedFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for HilSensorUpdatedFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HilSensorUpdatedFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the ! operator.
source§

impl Octal for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HilSensorUpdatedFlags

source§

fn cmp(&self, other: &HilSensorUpdatedFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HilSensorUpdatedFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the ! operator.
source§

impl Octal for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HilSensorUpdatedFlags

source§

fn cmp(&self, other: &HilSensorUpdatedFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for HilSensorUpdatedFlags

source§

fn eq(&self, other: &HilSensorUpdatedFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,7 +75,7 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for HilSensorUpdatedFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for HilSensorUpdatedFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the - operator.
source§

impl SubAssign for HilSensorUpdatedFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the - operator.
source§

impl SubAssign for HilSensorUpdatedFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

source§

impl UpperHex for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HilSensorUpdatedFlags

source§

impl Eq for HilSensorUpdatedFlags

source§

impl StructuralEq for HilSensorUpdatedFlags

source§

impl StructuralPartialEq for HilSensorUpdatedFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/mavlink/ardupilotmega/struct.HlFailureFlag.html b/mavlink/ardupilotmega/struct.HlFailureFlag.html index 2e0c1f1f83..8099150938 100644 --- a/mavlink/ardupilotmega/struct.HlFailureFlag.html +++ b/mavlink/ardupilotmega/struct.HlFailureFlag.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-

source§

impl HlFailureFlag

source

pub const DEFAULT: Self = Self::HL_FAILURE_FLAG_GPS

Trait Implementations§

source§

impl Binary for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HlFailureFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
source§

impl HlFailureFlag

source

pub const DEFAULT: Self = Self::HL_FAILURE_FLAG_GPS

Trait Implementations§

source§

impl Binary for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HlFailureFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = HlFailureFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for HlFailureFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for HlFailureFlag

source§

fn bitor(self, other: HlFailureFlag) -> Self

Returns the union of the two sets of flags.

§

type Output = HlFailureFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for HlFailureFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for HlFailureFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = HlFailureFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HlFailureFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for HlFailureFlag

source§

fn clone(&self) -> HlFailureFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HlFailureFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HlFailureFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = HlFailureFlag

The resulting type after applying the ^ operator.

source§

impl BitXorAssign for HlFailureFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for HlFailureFlag

source§

fn clone(&self) -> HlFailureFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HlFailureFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HlFailureFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<HlFailureFlag> for HlFailureFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<HlFailureFlag> for HlFailureFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for HlFailureFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HlFailureFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = HlFailureFlag

The resulting type after applying the ! operator.
source§

impl Octal for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HlFailureFlag

source§

fn cmp(&self, other: &HlFailureFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HlFailureFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = HlFailureFlag

The resulting type after applying the ! operator.
source§

impl Octal for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HlFailureFlag

source§

fn cmp(&self, other: &HlFailureFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for HlFailureFlag

source§

fn eq(&self, other: &HlFailureFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for HlFailureFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for HlFailureFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = HlFailureFlag

The resulting type after applying the - operator.
source§

impl SubAssign for HlFailureFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HlFailureFlag

source§

impl Eq for HlFailureFlag

source§

impl StructuralEq for HlFailureFlag

source§

impl StructuralPartialEq for HlFailureFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = HlFailureFlag

The resulting type after applying the - operator.
source§

impl SubAssign for HlFailureFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HlFailureFlag

source§

impl Eq for HlFailureFlag

source§

impl StructuralEq for HlFailureFlag

source§

impl StructuralPartialEq for HlFailureFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.LimitModule.html b/mavlink/ardupilotmega/struct.LimitModule.html index b7f31cc593..f36f4bb754 100644 --- a/mavlink/ardupilotmega/struct.LimitModule.html +++ b/mavlink/ardupilotmega/struct.LimitModule.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl LimitModule

source

pub const DEFAULT: Self = Self::LIMIT_GPSLOCK

Trait Implementations§

source§

impl Binary for LimitModule

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for LimitModule

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = LimitModule

The resulting type after applying the & operator.
source§

impl BitAndAssign for LimitModule

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl LimitModule

source

pub const DEFAULT: Self = Self::LIMIT_GPSLOCK

Trait Implementations§

source§

impl Binary for LimitModule

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for LimitModule

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = LimitModule

The resulting type after applying the & operator.
source§

impl BitAndAssign for LimitModule

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for LimitModule

source§

fn bitor(self, other: LimitModule) -> Self

Returns the union of the two sets of flags.

§

type Output = LimitModule

The resulting type after applying the | operator.
source§

impl BitOrAssign for LimitModule

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for LimitModule

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = LimitModule

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for LimitModule

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
§

type Output = LimitModule

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for LimitModule

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for LimitModule

source§

fn clone(&self) -> LimitModule

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for LimitModule

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for LimitModule

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for LimitModule

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<LimitModule> for LimitModule

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<LimitModule> for LimitModule

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for LimitModule

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for LimitModule

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for LimitModule

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = LimitModule

The resulting type after applying the ! operator.
source§

impl Octal for LimitModule

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for LimitModule

source§

fn cmp(&self, other: &LimitModule) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for LimitModule

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for LimitModule

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = LimitModule

The resulting type after applying the ! operator.
source§

impl Octal for LimitModule

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for LimitModule

source§

fn cmp(&self, other: &LimitModule) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for LimitModule

source§

fn eq(&self, other: &LimitModule) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for LimitModule

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for LimitModule

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = LimitModule

The resulting type after applying the - operator.
source§

impl SubAssign for LimitModule

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for LimitModule

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for LimitModule

source§

impl Eq for LimitModule

source§

impl StructuralEq for LimitModule

source§

impl StructuralPartialEq for LimitModule

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = LimitModule

The resulting type after applying the - operator.
source§

impl SubAssign for LimitModule

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for LimitModule

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for LimitModule

source§

impl Eq for LimitModule

source§

impl StructuralEq for LimitModule

source§

impl StructuralPartialEq for LimitModule

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.MavEventCurrentSequenceFlags.html b/mavlink/ardupilotmega/struct.MavEventCurrentSequenceFlags.html index e0e9151052..0d107137fd 100644 --- a/mavlink/ardupilotmega/struct.MavEventCurrentSequenceFlags.html +++ b/mavlink/ardupilotmega/struct.MavEventCurrentSequenceFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavEventCurrentSequenceFlags

source

pub const DEFAULT: Self = Self::MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET

Trait Implementations§

source§

impl Binary for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavEventCurrentSequenceFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
source§

impl MavEventCurrentSequenceFlags

source

pub const DEFAULT: Self = Self::MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET

Trait Implementations§

source§

impl Binary for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavEventCurrentSequenceFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavEventCurrentSequenceFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavEventCurrentSequenceFlags

source§

fn bitor(self, other: MavEventCurrentSequenceFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavEventCurrentSequenceFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavEventCurrentSequenceFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavEventCurrentSequenceFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavEventCurrentSequenceFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavEventCurrentSequenceFlags

source§

fn clone(&self) -> MavEventCurrentSequenceFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavEventCurrentSequenceFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavEventCurrentSequenceFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavEventCurrentSequenceFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for MavEventCurrentSequenceFlags

source§

fn clone(&self) -> MavEventCurrentSequenceFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavEventCurrentSequenceFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavEventCurrentSequenceFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavEventCurrentSequenceFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavEventCurrentSequenceFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the ! operator.
source§

impl Octal for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavEventCurrentSequenceFlags

source§

fn cmp(&self, other: &MavEventCurrentSequenceFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavEventCurrentSequenceFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the ! operator.
source§

impl Octal for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavEventCurrentSequenceFlags

source§

fn cmp(&self, other: &MavEventCurrentSequenceFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavEventCurrentSequenceFlags

source§

fn eq(&self, other: &MavEventCurrentSequenceFlags) -> bool

This method tests for self and other values to be equal, and is used diff --git a/mavlink/ardupilotmega/struct.MavGeneratorStatusFlag.html b/mavlink/ardupilotmega/struct.MavGeneratorStatusFlag.html index ca5959bef6..6ddb957f39 100644 --- a/mavlink/ardupilotmega/struct.MavGeneratorStatusFlag.html +++ b/mavlink/ardupilotmega/struct.MavGeneratorStatusFlag.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavGeneratorStatusFlag

source

pub const DEFAULT: Self = Self::MAV_GENERATOR_STATUS_FLAG_OFF

Trait Implementations§

source§

impl Binary for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavGeneratorStatusFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavGeneratorStatusFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl MavGeneratorStatusFlag

source

pub const DEFAULT: Self = Self::MAV_GENERATOR_STATUS_FLAG_OFF

Trait Implementations§

source§

impl Binary for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavGeneratorStatusFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavGeneratorStatusFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavGeneratorStatusFlag

source§

fn bitor(self, other: MavGeneratorStatusFlag) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavGeneratorStatusFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavGeneratorStatusFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavGeneratorStatusFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = MavGeneratorStatusFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavGeneratorStatusFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for MavGeneratorStatusFlag

source§

fn clone(&self) -> MavGeneratorStatusFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavGeneratorStatusFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavGeneratorStatusFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavGeneratorStatusFlag> for MavGeneratorStatusFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavGeneratorStatusFlag> for MavGeneratorStatusFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavGeneratorStatusFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavGeneratorStatusFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavGeneratorStatusFlag

source§

fn cmp(&self, other: &MavGeneratorStatusFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavGeneratorStatusFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavGeneratorStatusFlag

source§

fn cmp(&self, other: &MavGeneratorStatusFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavGeneratorStatusFlag

source§

fn eq(&self, other: &MavGeneratorStatusFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavGeneratorStatusFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavGeneratorStatusFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavGeneratorStatusFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavGeneratorStatusFlag

source§

impl Eq for MavGeneratorStatusFlag

source§

impl StructuralEq for MavGeneratorStatusFlag

source§

impl StructuralPartialEq for MavGeneratorStatusFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = MavGeneratorStatusFlag

The resulting type after applying the - operator.

source§

impl SubAssign for MavGeneratorStatusFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavGeneratorStatusFlag

source§

impl Eq for MavGeneratorStatusFlag

source§

impl StructuralEq for MavGeneratorStatusFlag

source§

impl StructuralPartialEq for MavGeneratorStatusFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.MavModeFlag.html b/mavlink/ardupilotmega/struct.MavModeFlag.html index a51ca1eaef..26302b99c2 100644 --- a/mavlink/ardupilotmega/struct.MavModeFlag.html +++ b/mavlink/ardupilotmega/struct.MavModeFlag.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavModeFlag

source

pub const DEFAULT: Self = Self::MAV_MODE_FLAG_SAFETY_ARMED

Trait Implementations§

source§

impl Binary for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavModeFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavModeFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavModeFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl MavModeFlag

source

pub const DEFAULT: Self = Self::MAV_MODE_FLAG_SAFETY_ARMED

Trait Implementations§

source§

impl Binary for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavModeFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = MavModeFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavModeFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavModeFlag

source§

fn bitor(self, other: MavModeFlag) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavModeFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavModeFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavModeFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavModeFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavModeFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavModeFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavModeFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavModeFlag

source§

fn clone(&self) -> MavModeFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavModeFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavModeFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = MavModeFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavModeFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for MavModeFlag

source§

fn clone(&self) -> MavModeFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavModeFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavModeFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavModeFlag> for MavModeFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavModeFlag> for MavModeFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavModeFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavModeFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavModeFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavModeFlag

source§

fn cmp(&self, other: &MavModeFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavModeFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavModeFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavModeFlag

source§

fn cmp(&self, other: &MavModeFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavModeFlag

source§

fn eq(&self, other: &MavModeFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -75,7 +75,7 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavModeFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavModeFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavModeFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavModeFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
§

type Output = MavModeFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavModeFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

source§

impl UpperHex for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavModeFlag

source§

impl Eq for MavModeFlag

source§

impl StructuralEq for MavModeFlag

source§

impl StructuralPartialEq for MavModeFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/mavlink/ardupilotmega/struct.MavPowerStatus.html b/mavlink/ardupilotmega/struct.MavPowerStatus.html index 4238cead65..9d257a286b 100644 --- a/mavlink/ardupilotmega/struct.MavPowerStatus.html +++ b/mavlink/ardupilotmega/struct.MavPowerStatus.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-

source§

impl MavPowerStatus

source

pub const DEFAULT: Self = Self::MAV_POWER_STATUS_BRICK_VALID

Trait Implementations§

source§

impl Binary for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavPowerStatus

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavPowerStatus

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavPowerStatus

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl MavPowerStatus

source

pub const DEFAULT: Self = Self::MAV_POWER_STATUS_BRICK_VALID

Trait Implementations§

source§

impl Binary for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavPowerStatus

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = MavPowerStatus

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavPowerStatus

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavPowerStatus

source§

fn bitor(self, other: MavPowerStatus) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavPowerStatus

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavPowerStatus

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavPowerStatus

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavPowerStatus

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavPowerStatus

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavPowerStatus

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavPowerStatus

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavPowerStatus

source§

fn clone(&self) -> MavPowerStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavPowerStatus

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavPowerStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = MavPowerStatus

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavPowerStatus

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for MavPowerStatus

source§

fn clone(&self) -> MavPowerStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavPowerStatus

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavPowerStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavPowerStatus> for MavPowerStatus

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavPowerStatus> for MavPowerStatus

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavPowerStatus

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavPowerStatus

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavPowerStatus

The resulting type after applying the ! operator.
source§

impl Octal for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavPowerStatus

source§

fn cmp(&self, other: &MavPowerStatus) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavPowerStatus

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavPowerStatus

The resulting type after applying the ! operator.
source§

impl Octal for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavPowerStatus

source§

fn cmp(&self, other: &MavPowerStatus) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavPowerStatus

source§

fn eq(&self, other: &MavPowerStatus) -> bool

This method tests for self and other values to be equal, and is used @@ -76,7 +76,7 @@
Safety
operator. Read more
source§

impl Serialize for MavPowerStatus

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavPowerStatus

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

§

type Output = MavPowerStatus

The resulting type after applying the - operator.
source§

impl SubAssign for MavPowerStatus

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavPowerStatus

source§

impl Eq for MavPowerStatus

source§

impl StructuralEq for MavPowerStatus

source§

impl StructuralPartialEq for MavPowerStatus

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source§

impl UpperHex for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavPowerStatus

source§

impl Eq for MavPowerStatus

source§

impl StructuralEq for MavPowerStatus

source§

impl StructuralPartialEq for MavPowerStatus

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.MavProtocolCapability.html b/mavlink/ardupilotmega/struct.MavProtocolCapability.html index 06c6c0ad63..d47b28f9ff 100644 --- a/mavlink/ardupilotmega/struct.MavProtocolCapability.html +++ b/mavlink/ardupilotmega/struct.MavProtocolCapability.html @@ -57,15 +57,15 @@
Safety

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

source§

impl MavProtocolCapability

source

pub const DEFAULT: Self = Self::MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT

Trait Implementations§

source§

impl Binary for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavProtocolCapability

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavProtocolCapability

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavProtocolCapability

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
§

type Output = MavProtocolCapability

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavProtocolCapability

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavProtocolCapability

source§

fn bitor(self, other: MavProtocolCapability) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavProtocolCapability

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavProtocolCapability

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavProtocolCapability

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavProtocolCapability

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavProtocolCapability

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavProtocolCapability

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavProtocolCapability

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavProtocolCapability

source§

fn clone(&self) -> MavProtocolCapability

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavProtocolCapability

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavProtocolCapability

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = MavProtocolCapability

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavProtocolCapability

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for MavProtocolCapability

source§

fn clone(&self) -> MavProtocolCapability

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavProtocolCapability

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavProtocolCapability

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavProtocolCapability> for MavProtocolCapability

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavProtocolCapability> for MavProtocolCapability

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavProtocolCapability

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavProtocolCapability

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+ Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavProtocolCapability

source§

fn not(self) -> Self

Returns the complement of this set of flags.

§

type Output = MavProtocolCapability

The resulting type after applying the ! operator.
source§

impl Octal for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavProtocolCapability

source§

fn cmp(&self, other: &MavProtocolCapability) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere @@ -76,7 +76,7 @@
Safety
operator. Read more

source§

impl Serialize for MavProtocolCapability

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavProtocolCapability

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

§

type Output = MavProtocolCapability

The resulting type after applying the - operator.
source§

impl SubAssign for MavProtocolCapability

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavProtocolCapability

source§

impl Eq for MavProtocolCapability

source§

impl StructuralEq for MavProtocolCapability

source§

impl StructuralPartialEq for MavProtocolCapability

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source§

impl UpperHex for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavProtocolCapability

source§

impl Eq for MavProtocolCapability

source§

impl StructuralEq for MavProtocolCapability

source§

impl StructuralPartialEq for MavProtocolCapability

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.MavSysStatusSensor.html b/mavlink/ardupilotmega/struct.MavSysStatusSensor.html index 68a6519820..d9a6a304ab 100644 --- a/mavlink/ardupilotmega/struct.MavSysStatusSensor.html +++ b/mavlink/ardupilotmega/struct.MavSysStatusSensor.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavSysStatusSensor

source

pub const DEFAULT: Self = Self::MAV_SYS_STATUS_SENSOR_3D_GYRO

Trait Implementations§

source§

impl Binary for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavSysStatusSensor

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavSysStatusSensor

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavSysStatusSensor

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl MavSysStatusSensor

source

pub const DEFAULT: Self = Self::MAV_SYS_STATUS_SENSOR_3D_GYRO

Trait Implementations§

source§

impl Binary for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavSysStatusSensor

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = MavSysStatusSensor

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavSysStatusSensor

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavSysStatusSensor

source§

fn bitor(self, other: MavSysStatusSensor) -> Self

Returns the union of the two sets of flags.

§

type Output = MavSysStatusSensor

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavSysStatusSensor

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavSysStatusSensor

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = MavSysStatusSensor

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavSysStatusSensor

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavSysStatusSensor

source§

fn clone(&self) -> MavSysStatusSensor

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavSysStatusSensor

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavSysStatusSensor

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

source§

impl Clone for MavSysStatusSensor

source§

fn clone(&self) -> MavSysStatusSensor

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavSysStatusSensor

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavSysStatusSensor

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavSysStatusSensor> for MavSysStatusSensor

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavSysStatusSensor> for MavSysStatusSensor

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavSysStatusSensor

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavSysStatusSensor

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavSysStatusSensor

The resulting type after applying the ! operator.
source§

impl Octal for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavSysStatusSensor

source§

fn cmp(&self, other: &MavSysStatusSensor) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavSysStatusSensor

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavSysStatusSensor

The resulting type after applying the ! operator.
source§

impl Octal for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavSysStatusSensor

source§

fn cmp(&self, other: &MavSysStatusSensor) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavSysStatusSensor

source§

fn eq(&self, other: &MavSysStatusSensor) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavSysStatusSensor

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavSysStatusSensor

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavSysStatusSensor

The resulting type after applying the - operator.
source§

impl SubAssign for MavSysStatusSensor

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavSysStatusSensor

source§

impl Eq for MavSysStatusSensor

source§

impl StructuralEq for MavSysStatusSensor

source§

impl StructuralPartialEq for MavSysStatusSensor

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = MavSysStatusSensor

The resulting type after applying the - operator.
source§

impl SubAssign for MavSysStatusSensor

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavSysStatusSensor

source§

impl Eq for MavSysStatusSensor

source§

impl StructuralEq for MavSysStatusSensor

source§

impl StructuralPartialEq for MavSysStatusSensor

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.MavWinchStatusFlag.html b/mavlink/ardupilotmega/struct.MavWinchStatusFlag.html index 3e79c11b19..25231a4fd6 100644 --- a/mavlink/ardupilotmega/struct.MavWinchStatusFlag.html +++ b/mavlink/ardupilotmega/struct.MavWinchStatusFlag.html @@ -56,13 +56,13 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavWinchStatusFlag

source

pub const DEFAULT: Self = Self::MAV_WINCH_STATUS_HEALTHY

Trait Implementations§

source§

impl Binary for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavWinchStatusFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
source§

impl MavWinchStatusFlag

source

pub const DEFAULT: Self = Self::MAV_WINCH_STATUS_HEALTHY

Trait Implementations§

source§

impl Binary for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavWinchStatusFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = MavWinchStatusFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavWinchStatusFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavWinchStatusFlag

source§

fn bitor(self, other: MavWinchStatusFlag) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavWinchStatusFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavWinchStatusFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavWinchStatusFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavWinchStatusFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavWinchStatusFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavWinchStatusFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavWinchStatusFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavWinchStatusFlag

source§

fn clone(&self) -> MavWinchStatusFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavWinchStatusFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavWinchStatusFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = MavWinchStatusFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavWinchStatusFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for MavWinchStatusFlag

source§

fn clone(&self) -> MavWinchStatusFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavWinchStatusFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavWinchStatusFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavWinchStatusFlag> for MavWinchStatusFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavWinchStatusFlag> for MavWinchStatusFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavWinchStatusFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavWinchStatusFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

@@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavWinchStatusFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavWinchStatusFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavWinchStatusFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavWinchStatusFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavWinchStatusFlag

source§

impl Eq for MavWinchStatusFlag

source§

impl StructuralEq for MavWinchStatusFlag

source§

impl StructuralPartialEq for MavWinchStatusFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = MavWinchStatusFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavWinchStatusFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavWinchStatusFlag

source§

impl Eq for MavWinchStatusFlag

source§

impl StructuralEq for MavWinchStatusFlag

source§

impl StructuralPartialEq for MavWinchStatusFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.PositionTargetTypemask.html b/mavlink/ardupilotmega/struct.PositionTargetTypemask.html index ef55a91f6b..cba258dbb7 100644 --- a/mavlink/ardupilotmega/struct.PositionTargetTypemask.html +++ b/mavlink/ardupilotmega/struct.PositionTargetTypemask.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl PositionTargetTypemask

source

pub const DEFAULT: Self = Self::POSITION_TARGET_TYPEMASK_X_IGNORE

Trait Implementations§

source§

impl Binary for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for PositionTargetTypemask

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
source§

impl PositionTargetTypemask

source

pub const DEFAULT: Self = Self::POSITION_TARGET_TYPEMASK_X_IGNORE

Trait Implementations§

source§

impl Binary for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for PositionTargetTypemask

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = PositionTargetTypemask

The resulting type after applying the & operator.
source§

impl BitAndAssign for PositionTargetTypemask

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for PositionTargetTypemask

source§

fn bitor(self, other: PositionTargetTypemask) -> Self

Returns the union of the two sets of flags.

-
§

type Output = PositionTargetTypemask

The resulting type after applying the | operator.
source§

impl BitOrAssign for PositionTargetTypemask

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = PositionTargetTypemask

The resulting type after applying the | operator.
source§

impl BitOrAssign for PositionTargetTypemask

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for PositionTargetTypemask

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = PositionTargetTypemask

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for PositionTargetTypemask

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for PositionTargetTypemask

source§

fn clone(&self) -> PositionTargetTypemask

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PositionTargetTypemask

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for PositionTargetTypemask

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = PositionTargetTypemask

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for PositionTargetTypemask

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for PositionTargetTypemask

source§

fn clone(&self) -> PositionTargetTypemask

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PositionTargetTypemask

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for PositionTargetTypemask

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<PositionTargetTypemask> for PositionTargetTypemask

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<PositionTargetTypemask> for PositionTargetTypemask

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for PositionTargetTypemask

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for PositionTargetTypemask

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = PositionTargetTypemask

The resulting type after applying the ! operator.
source§

impl Octal for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for PositionTargetTypemask

source§

fn cmp(&self, other: &PositionTargetTypemask) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for PositionTargetTypemask

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = PositionTargetTypemask

The resulting type after applying the ! operator.
source§

impl Octal for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for PositionTargetTypemask

source§

fn cmp(&self, other: &PositionTargetTypemask) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for PositionTargetTypemask

source§

fn eq(&self, other: &PositionTargetTypemask) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for PositionTargetTypemask

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for PositionTargetTypemask

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = PositionTargetTypemask

The resulting type after applying the - operator.
source§

impl SubAssign for PositionTargetTypemask

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for PositionTargetTypemask

source§

impl Eq for PositionTargetTypemask

source§

impl StructuralEq for PositionTargetTypemask

source§

impl StructuralPartialEq for PositionTargetTypemask

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = PositionTargetTypemask

The resulting type after applying the - operator.
source§

impl SubAssign for PositionTargetTypemask

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for PositionTargetTypemask

source§

impl Eq for PositionTargetTypemask

source§

impl StructuralEq for PositionTargetTypemask

source§

impl StructuralPartialEq for PositionTargetTypemask

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.RallyFlags.html b/mavlink/ardupilotmega/struct.RallyFlags.html index f592154eff..dd0563c359 100644 --- a/mavlink/ardupilotmega/struct.RallyFlags.html +++ b/mavlink/ardupilotmega/struct.RallyFlags.html @@ -57,16 +57,16 @@
Safety

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

source§

impl RallyFlags

source

pub const DEFAULT: Self = Self::FAVORABLE_WIND

Trait Implementations§

source§

impl Binary for RallyFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for RallyFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = RallyFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for RallyFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
§

type Output = RallyFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for RallyFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for RallyFlags

source§

fn bitor(self, other: RallyFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = RallyFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for RallyFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = RallyFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for RallyFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for RallyFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = RallyFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for RallyFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for RallyFlags

source§

fn clone(&self) -> RallyFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RallyFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RallyFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for RallyFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = RallyFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for RallyFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for RallyFlags

source§

fn clone(&self) -> RallyFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RallyFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RallyFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for RallyFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<RallyFlags> for RallyFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<RallyFlags> for RallyFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for RallyFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for RallyFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for RallyFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = RallyFlags

The resulting type after applying the ! operator.
source§

impl Octal for RallyFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for RallyFlags

source§

fn cmp(&self, other: &RallyFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for RallyFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for RallyFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = RallyFlags

The resulting type after applying the ! operator.
source§

impl Octal for RallyFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for RallyFlags

source§

fn cmp(&self, other: &RallyFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for RallyFlags

source§

fn eq(&self, other: &RallyFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for RallyFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for RallyFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = RallyFlags

The resulting type after applying the - operator.
source§

impl SubAssign for RallyFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for RallyFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for RallyFlags

source§

impl Eq for RallyFlags

source§

impl StructuralEq for RallyFlags

source§

impl StructuralPartialEq for RallyFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = RallyFlags

The resulting type after applying the - operator.
source§

impl SubAssign for RallyFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for RallyFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for RallyFlags

source§

impl Eq for RallyFlags

source§

impl StructuralEq for RallyFlags

source§

impl StructuralPartialEq for RallyFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.SerialControlFlag.html b/mavlink/ardupilotmega/struct.SerialControlFlag.html index 2ed1ab0fe0..2c0ffaff2d 100644 --- a/mavlink/ardupilotmega/struct.SerialControlFlag.html +++ b/mavlink/ardupilotmega/struct.SerialControlFlag.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl SerialControlFlag

source

pub const DEFAULT: Self = Self::SERIAL_CONTROL_FLAG_REPLY

Trait Implementations§

source§

impl Binary for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for SerialControlFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = SerialControlFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for SerialControlFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl SerialControlFlag

source

pub const DEFAULT: Self = Self::SERIAL_CONTROL_FLAG_REPLY

Trait Implementations§

source§

impl Binary for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for SerialControlFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = SerialControlFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for SerialControlFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for SerialControlFlag

source§

fn bitor(self, other: SerialControlFlag) -> Self

Returns the union of the two sets of flags.

-
§

type Output = SerialControlFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for SerialControlFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = SerialControlFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for SerialControlFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for SerialControlFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = SerialControlFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for SerialControlFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for SerialControlFlag

source§

fn clone(&self) -> SerialControlFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SerialControlFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for SerialControlFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = SerialControlFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for SerialControlFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for SerialControlFlag

source§

fn clone(&self) -> SerialControlFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SerialControlFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for SerialControlFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<SerialControlFlag> for SerialControlFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<SerialControlFlag> for SerialControlFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for SerialControlFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for SerialControlFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = SerialControlFlag

The resulting type after applying the ! operator.
source§

impl Octal for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for SerialControlFlag

source§

fn cmp(&self, other: &SerialControlFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for SerialControlFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = SerialControlFlag

The resulting type after applying the ! operator.
source§

impl Octal for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for SerialControlFlag

source§

fn cmp(&self, other: &SerialControlFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for SerialControlFlag

source§

fn eq(&self, other: &SerialControlFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -76,7 +76,7 @@
Safety
operator. Read more
source§

impl Serialize for SerialControlFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for SerialControlFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

§

type Output = SerialControlFlag

The resulting type after applying the - operator.
source§

impl SubAssign for SerialControlFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for SerialControlFlag

source§

impl Eq for SerialControlFlag

source§

impl StructuralEq for SerialControlFlag

source§

impl StructuralPartialEq for SerialControlFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source§

impl UpperHex for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for SerialControlFlag

source§

impl Eq for SerialControlFlag

source§

impl StructuralEq for SerialControlFlag

source§

impl StructuralPartialEq for SerialControlFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.TuneFormat.html b/mavlink/ardupilotmega/struct.TuneFormat.html index daffbac397..985beb2af5 100644 --- a/mavlink/ardupilotmega/struct.TuneFormat.html +++ b/mavlink/ardupilotmega/struct.TuneFormat.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl TuneFormat

source

pub const DEFAULT: Self = Self::TUNE_FORMAT_QBASIC1_1

Trait Implementations§

source§

impl Binary for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for TuneFormat

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = TuneFormat

The resulting type after applying the & operator.
source§

impl BitAndAssign for TuneFormat

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl TuneFormat

source

pub const DEFAULT: Self = Self::TUNE_FORMAT_QBASIC1_1

Trait Implementations§

source§

impl Binary for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for TuneFormat

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = TuneFormat

The resulting type after applying the & operator.
source§

impl BitAndAssign for TuneFormat

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for TuneFormat

source§

fn bitor(self, other: TuneFormat) -> Self

Returns the union of the two sets of flags.

-
§

type Output = TuneFormat

The resulting type after applying the | operator.
source§

impl BitOrAssign for TuneFormat

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = TuneFormat

The resulting type after applying the | operator.
source§

impl BitOrAssign for TuneFormat

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for TuneFormat

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = TuneFormat

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for TuneFormat

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for TuneFormat

source§

fn clone(&self) -> TuneFormat

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TuneFormat

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for TuneFormat

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = TuneFormat

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for TuneFormat

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for TuneFormat

source§

fn clone(&self) -> TuneFormat

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TuneFormat

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for TuneFormat

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<TuneFormat> for TuneFormat

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<TuneFormat> for TuneFormat

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for TuneFormat

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for TuneFormat

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = TuneFormat

The resulting type after applying the ! operator.
source§

impl Octal for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for TuneFormat

source§

fn cmp(&self, other: &TuneFormat) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for TuneFormat

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = TuneFormat

The resulting type after applying the ! operator.
source§

impl Octal for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for TuneFormat

source§

fn cmp(&self, other: &TuneFormat) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for TuneFormat

source§

fn eq(&self, other: &TuneFormat) -> bool

This method tests for self and other values to be equal, and is used diff --git a/mavlink/ardupilotmega/struct.UavionixAdsbOutDynamicState.html b/mavlink/ardupilotmega/struct.UavionixAdsbOutDynamicState.html index a5f011a16b..4f9c9deccf 100644 --- a/mavlink/ardupilotmega/struct.UavionixAdsbOutDynamicState.html +++ b/mavlink/ardupilotmega/struct.UavionixAdsbOutDynamicState.html @@ -57,16 +57,16 @@
Safety

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

source§

impl UavionixAdsbOutDynamicState

source

pub const DEFAULT: Self = Self::UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE

Trait Implementations§

source§

impl Binary for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UavionixAdsbOutDynamicState

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the & operator.
source§

impl BitAndAssign for UavionixAdsbOutDynamicState

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the & operator.
source§

impl BitAndAssign for UavionixAdsbOutDynamicState

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for UavionixAdsbOutDynamicState

source§

fn bitor(self, other: UavionixAdsbOutDynamicState) -> Self

Returns the union of the two sets of flags.

-
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the | operator.
source§

impl BitOrAssign for UavionixAdsbOutDynamicState

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the | operator.
source§

impl BitOrAssign for UavionixAdsbOutDynamicState

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for UavionixAdsbOutDynamicState

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UavionixAdsbOutDynamicState

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for UavionixAdsbOutDynamicState

source§

fn clone(&self) -> UavionixAdsbOutDynamicState

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbOutDynamicState

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbOutDynamicState

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UavionixAdsbOutDynamicState

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for UavionixAdsbOutDynamicState

source§

fn clone(&self) -> UavionixAdsbOutDynamicState

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbOutDynamicState

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbOutDynamicState

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<UavionixAdsbOutDynamicState> for UavionixAdsbOutDynamicState

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<UavionixAdsbOutDynamicState> for UavionixAdsbOutDynamicState

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for UavionixAdsbOutDynamicState

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UavionixAdsbOutDynamicState

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the ! operator.
source§

impl Octal for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UavionixAdsbOutDynamicState

source§

fn cmp(&self, other: &UavionixAdsbOutDynamicState) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UavionixAdsbOutDynamicState

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the ! operator.
source§

impl Octal for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UavionixAdsbOutDynamicState

source§

fn cmp(&self, other: &UavionixAdsbOutDynamicState) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for UavionixAdsbOutDynamicState

source§

fn eq(&self, other: &UavionixAdsbOutDynamicState) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for UavionixAdsbOutDynamicState

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for UavionixAdsbOutDynamicState

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the - operator.
source§

impl SubAssign for UavionixAdsbOutDynamicState

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UavionixAdsbOutDynamicState

source§

impl Eq for UavionixAdsbOutDynamicState

source§

impl StructuralEq for UavionixAdsbOutDynamicState

source§

impl StructuralPartialEq for UavionixAdsbOutDynamicState

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the - operator.
source§

impl SubAssign for UavionixAdsbOutDynamicState

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UavionixAdsbOutDynamicState

source§

impl Eq for UavionixAdsbOutDynamicState

source§

impl StructuralEq for UavionixAdsbOutDynamicState

source§

impl StructuralPartialEq for UavionixAdsbOutDynamicState

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.UavionixAdsbOutRfSelect.html b/mavlink/ardupilotmega/struct.UavionixAdsbOutRfSelect.html index d048d6c747..f91c2221f8 100644 --- a/mavlink/ardupilotmega/struct.UavionixAdsbOutRfSelect.html +++ b/mavlink/ardupilotmega/struct.UavionixAdsbOutRfSelect.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl UavionixAdsbOutRfSelect

source

pub const DEFAULT: Self = Self::UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY

Trait Implementations§

source§

impl Binary for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UavionixAdsbOutRfSelect

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the & operator.
source§

impl BitAndAssign for UavionixAdsbOutRfSelect

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl UavionixAdsbOutRfSelect

source

pub const DEFAULT: Self = Self::UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY

Trait Implementations§

source§

impl Binary for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UavionixAdsbOutRfSelect

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the & operator.
source§

impl BitAndAssign for UavionixAdsbOutRfSelect

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for UavionixAdsbOutRfSelect

source§

fn bitor(self, other: UavionixAdsbOutRfSelect) -> Self

Returns the union of the two sets of flags.

-
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the | operator.
source§

impl BitOrAssign for UavionixAdsbOutRfSelect

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the | operator.
source§

impl BitOrAssign for UavionixAdsbOutRfSelect

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for UavionixAdsbOutRfSelect

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UavionixAdsbOutRfSelect

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for UavionixAdsbOutRfSelect

source§

fn clone(&self) -> UavionixAdsbOutRfSelect

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbOutRfSelect

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbOutRfSelect

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UavionixAdsbOutRfSelect

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for UavionixAdsbOutRfSelect

source§

fn clone(&self) -> UavionixAdsbOutRfSelect

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbOutRfSelect

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbOutRfSelect

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<UavionixAdsbOutRfSelect> for UavionixAdsbOutRfSelect

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<UavionixAdsbOutRfSelect> for UavionixAdsbOutRfSelect

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for UavionixAdsbOutRfSelect

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UavionixAdsbOutRfSelect

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the ! operator.
source§

impl Octal for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UavionixAdsbOutRfSelect

source§

fn cmp(&self, other: &UavionixAdsbOutRfSelect) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UavionixAdsbOutRfSelect

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the ! operator.
source§

impl Octal for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UavionixAdsbOutRfSelect

source§

fn cmp(&self, other: &UavionixAdsbOutRfSelect) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for UavionixAdsbOutRfSelect

source§

fn eq(&self, other: &UavionixAdsbOutRfSelect) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for UavionixAdsbOutRfSelect

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for UavionixAdsbOutRfSelect

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the - operator.
source§

impl SubAssign for UavionixAdsbOutRfSelect

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UavionixAdsbOutRfSelect

source§

impl Eq for UavionixAdsbOutRfSelect

source§

impl StructuralEq for UavionixAdsbOutRfSelect

source§

impl StructuralPartialEq for UavionixAdsbOutRfSelect

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the - operator.
source§

impl SubAssign for UavionixAdsbOutRfSelect

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UavionixAdsbOutRfSelect

source§

impl Eq for UavionixAdsbOutRfSelect

source§

impl StructuralEq for UavionixAdsbOutRfSelect

source§

impl StructuralPartialEq for UavionixAdsbOutRfSelect

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.UavionixAdsbRfHealth.html b/mavlink/ardupilotmega/struct.UavionixAdsbRfHealth.html index 079465156a..6a55cd90e9 100644 --- a/mavlink/ardupilotmega/struct.UavionixAdsbRfHealth.html +++ b/mavlink/ardupilotmega/struct.UavionixAdsbRfHealth.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl UavionixAdsbRfHealth

source

pub const DEFAULT: Self = Self::UAVIONIX_ADSB_RF_HEALTH_INITIALIZING

Trait Implementations§

source§

impl Binary for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UavionixAdsbRfHealth

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = UavionixAdsbRfHealth

The resulting type after applying the & operator.
source§

impl BitAndAssign for UavionixAdsbRfHealth

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl UavionixAdsbRfHealth

source

pub const DEFAULT: Self = Self::UAVIONIX_ADSB_RF_HEALTH_INITIALIZING

Trait Implementations§

source§

impl Binary for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UavionixAdsbRfHealth

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = UavionixAdsbRfHealth

The resulting type after applying the & operator.
source§

impl BitAndAssign for UavionixAdsbRfHealth

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for UavionixAdsbRfHealth

source§

fn bitor(self, other: UavionixAdsbRfHealth) -> Self

Returns the union of the two sets of flags.

-
§

type Output = UavionixAdsbRfHealth

The resulting type after applying the | operator.
source§

impl BitOrAssign for UavionixAdsbRfHealth

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = UavionixAdsbRfHealth

The resulting type after applying the | operator.
source§

impl BitOrAssign for UavionixAdsbRfHealth

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for UavionixAdsbRfHealth

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = UavionixAdsbRfHealth

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UavionixAdsbRfHealth

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for UavionixAdsbRfHealth

source§

fn clone(&self) -> UavionixAdsbRfHealth

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbRfHealth

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbRfHealth

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = UavionixAdsbRfHealth

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UavionixAdsbRfHealth

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for UavionixAdsbRfHealth

source§

fn clone(&self) -> UavionixAdsbRfHealth

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbRfHealth

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbRfHealth

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<UavionixAdsbRfHealth> for UavionixAdsbRfHealth

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<UavionixAdsbRfHealth> for UavionixAdsbRfHealth

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for UavionixAdsbRfHealth

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UavionixAdsbRfHealth

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = UavionixAdsbRfHealth

The resulting type after applying the ! operator.
source§

impl Octal for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UavionixAdsbRfHealth

source§

fn cmp(&self, other: &UavionixAdsbRfHealth) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UavionixAdsbRfHealth

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = UavionixAdsbRfHealth

The resulting type after applying the ! operator.
source§

impl Octal for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UavionixAdsbRfHealth

source§

fn cmp(&self, other: &UavionixAdsbRfHealth) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for UavionixAdsbRfHealth

source§

fn eq(&self, other: &UavionixAdsbRfHealth) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for UavionixAdsbRfHealth

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for UavionixAdsbRfHealth

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = UavionixAdsbRfHealth

The resulting type after applying the - operator.
source§

impl SubAssign for UavionixAdsbRfHealth

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UavionixAdsbRfHealth

source§

impl Eq for UavionixAdsbRfHealth

source§

impl StructuralEq for UavionixAdsbRfHealth

source§

impl StructuralPartialEq for UavionixAdsbRfHealth

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = UavionixAdsbRfHealth

The resulting type after applying the - operator.
source§

impl SubAssign for UavionixAdsbRfHealth

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UavionixAdsbRfHealth

source§

impl Eq for UavionixAdsbRfHealth

source§

impl StructuralEq for UavionixAdsbRfHealth

source§

impl StructuralPartialEq for UavionixAdsbRfHealth

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/ardupilotmega/struct.UtmDataAvailFlags.html b/mavlink/ardupilotmega/struct.UtmDataAvailFlags.html index 55636e83c0..1fe1e56bde 100644 --- a/mavlink/ardupilotmega/struct.UtmDataAvailFlags.html +++ b/mavlink/ardupilotmega/struct.UtmDataAvailFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl UtmDataAvailFlags

source

pub const DEFAULT: Self = Self::UTM_DATA_AVAIL_FLAGS_TIME_VALID

Trait Implementations§

source§

impl Binary for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UtmDataAvailFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = UtmDataAvailFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for UtmDataAvailFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl UtmDataAvailFlags

source

pub const DEFAULT: Self = Self::UTM_DATA_AVAIL_FLAGS_TIME_VALID

Trait Implementations§

source§

impl Binary for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UtmDataAvailFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = UtmDataAvailFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for UtmDataAvailFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for UtmDataAvailFlags

source§

fn bitor(self, other: UtmDataAvailFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = UtmDataAvailFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for UtmDataAvailFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = UtmDataAvailFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for UtmDataAvailFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for UtmDataAvailFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = UtmDataAvailFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UtmDataAvailFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for UtmDataAvailFlags

source§

fn clone(&self) -> UtmDataAvailFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UtmDataAvailFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UtmDataAvailFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = UtmDataAvailFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UtmDataAvailFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for UtmDataAvailFlags

source§

fn clone(&self) -> UtmDataAvailFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UtmDataAvailFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UtmDataAvailFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<UtmDataAvailFlags> for UtmDataAvailFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<UtmDataAvailFlags> for UtmDataAvailFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for UtmDataAvailFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UtmDataAvailFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = UtmDataAvailFlags

The resulting type after applying the ! operator.
source§

impl Octal for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UtmDataAvailFlags

source§

fn cmp(&self, other: &UtmDataAvailFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UtmDataAvailFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = UtmDataAvailFlags

The resulting type after applying the ! operator.
source§

impl Octal for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UtmDataAvailFlags

source§

fn cmp(&self, other: &UtmDataAvailFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for UtmDataAvailFlags

source§

fn eq(&self, other: &UtmDataAvailFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for UtmDataAvailFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for UtmDataAvailFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = UtmDataAvailFlags

The resulting type after applying the - operator.
source§

impl SubAssign for UtmDataAvailFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UtmDataAvailFlags

source§

impl Eq for UtmDataAvailFlags

source§

impl StructuralEq for UtmDataAvailFlags

source§

impl StructuralPartialEq for UtmDataAvailFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = UtmDataAvailFlags

The resulting type after applying the - operator.
source§

impl SubAssign for UtmDataAvailFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UtmDataAvailFlags

source§

impl Eq for UtmDataAvailFlags

source§

impl StructuralEq for UtmDataAvailFlags

source§

impl StructuralPartialEq for UtmDataAvailFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/enum.ActuatorConfiguration.html b/mavlink/common/enum.ActuatorConfiguration.html index 4b22f31063..5e5ee092b3 100644 --- a/mavlink/common/enum.ActuatorConfiguration.html +++ b/mavlink/common/enum.ActuatorConfiguration.html @@ -1,4 +1,4 @@ -ActuatorConfiguration in mavlink::common - Rust
pub enum ActuatorConfiguration {
+ActuatorConfiguration in mavlink::common - Rust
#[repr(u32)]
pub enum ActuatorConfiguration { ACTUATOR_CONFIGURATION_NONE = 0, ACTUATOR_CONFIGURATION_BEEP = 1, ACTUATOR_CONFIGURATION_3D_MODE_ON = 2, diff --git a/mavlink/common/enum.ActuatorOutputFunction.html b/mavlink/common/enum.ActuatorOutputFunction.html index e0a0ccbfe5..0174f281b2 100644 --- a/mavlink/common/enum.ActuatorOutputFunction.html +++ b/mavlink/common/enum.ActuatorOutputFunction.html @@ -1,4 +1,4 @@ -ActuatorOutputFunction in mavlink::common - Rust
pub enum ActuatorOutputFunction {
+ActuatorOutputFunction in mavlink::common - Rust
#[repr(u32)]
pub enum ActuatorOutputFunction {
Show 33 variants ACTUATOR_OUTPUT_FUNCTION_NONE = 0, ACTUATOR_OUTPUT_FUNCTION_MOTOR1 = 1, ACTUATOR_OUTPUT_FUNCTION_MOTOR2 = 2, diff --git a/mavlink/common/enum.AdsbAltitudeType.html b/mavlink/common/enum.AdsbAltitudeType.html index e56325a94b..b48bc2f7eb 100644 --- a/mavlink/common/enum.AdsbAltitudeType.html +++ b/mavlink/common/enum.AdsbAltitudeType.html @@ -1,4 +1,4 @@ -AdsbAltitudeType in mavlink::common - Rust
pub enum AdsbAltitudeType {
+AdsbAltitudeType in mavlink::common - Rust
#[repr(u32)]
pub enum AdsbAltitudeType { ADSB_ALTITUDE_TYPE_PRESSURE_QNH = 0, ADSB_ALTITUDE_TYPE_GEOMETRIC = 1, }

Variants§

§

ADSB_ALTITUDE_TYPE_PRESSURE_QNH = 0

§

ADSB_ALTITUDE_TYPE_GEOMETRIC = 1

Implementations§

source§

impl AdsbAltitudeType

source

pub const DEFAULT: Self = Self::ADSB_ALTITUDE_TYPE_PRESSURE_QNH

Trait Implementations§

source§

impl Clone for AdsbAltitudeType

source§

fn clone(&self) -> AdsbAltitudeType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AdsbAltitudeType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AdsbAltitudeType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AdsbAltitudeType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/common/enum.AdsbEmitterType.html b/mavlink/common/enum.AdsbEmitterType.html index 37f9087403..af54d15960 100644 --- a/mavlink/common/enum.AdsbEmitterType.html +++ b/mavlink/common/enum.AdsbEmitterType.html @@ -1,4 +1,4 @@ -AdsbEmitterType in mavlink::common - Rust
pub enum AdsbEmitterType {
+AdsbEmitterType in mavlink::common - Rust
#[repr(u32)]
pub enum AdsbEmitterType {
Show 20 variants ADSB_EMITTER_TYPE_NO_INFO = 0, ADSB_EMITTER_TYPE_LIGHT = 1, ADSB_EMITTER_TYPE_SMALL = 2, diff --git a/mavlink/common/enum.AisNavStatus.html b/mavlink/common/enum.AisNavStatus.html index 36832470d8..a5c4ca4baa 100644 --- a/mavlink/common/enum.AisNavStatus.html +++ b/mavlink/common/enum.AisNavStatus.html @@ -1,4 +1,4 @@ -AisNavStatus in mavlink::common - Rust
pub enum AisNavStatus {
+AisNavStatus in mavlink::common - Rust
#[repr(u32)]
pub enum AisNavStatus {
Show 16 variants UNDER_WAY = 0, AIS_NAV_ANCHORED = 1, AIS_NAV_UN_COMMANDED = 2, diff --git a/mavlink/common/enum.AisType.html b/mavlink/common/enum.AisType.html index af2d61add6..0a4fae7302 100644 --- a/mavlink/common/enum.AisType.html +++ b/mavlink/common/enum.AisType.html @@ -1,4 +1,4 @@ -AisType in mavlink::common - Rust

Enum mavlink::common::AisType

source ·
pub enum AisType {
+AisType in mavlink::common - Rust

Enum mavlink::common::AisType

source ·
#[repr(u32)]
pub enum AisType {
Show 100 variants AIS_TYPE_UNKNOWN = 0, AIS_TYPE_RESERVED_1 = 1, AIS_TYPE_RESERVED_2 = 2, diff --git a/mavlink/common/enum.AutotuneAxis.html b/mavlink/common/enum.AutotuneAxis.html index 47f2088611..d2caff32e3 100644 --- a/mavlink/common/enum.AutotuneAxis.html +++ b/mavlink/common/enum.AutotuneAxis.html @@ -1,4 +1,4 @@ -AutotuneAxis in mavlink::common - Rust
pub enum AutotuneAxis {
+AutotuneAxis in mavlink::common - Rust
#[repr(u32)]
pub enum AutotuneAxis { AUTOTUNE_AXIS_DEFAULT = 0, AUTOTUNE_AXIS_ROLL = 1, AUTOTUNE_AXIS_PITCH = 2, diff --git a/mavlink/common/enum.CameraMode.html b/mavlink/common/enum.CameraMode.html index a7a67a43e7..9e18d373c6 100644 --- a/mavlink/common/enum.CameraMode.html +++ b/mavlink/common/enum.CameraMode.html @@ -1,4 +1,4 @@ -CameraMode in mavlink::common - Rust
pub enum CameraMode {
+CameraMode in mavlink::common - Rust
#[repr(u32)]
pub enum CameraMode { CAMERA_MODE_IMAGE = 0, CAMERA_MODE_VIDEO = 1, CAMERA_MODE_IMAGE_SURVEY = 2, diff --git a/mavlink/common/enum.CameraTrackingMode.html b/mavlink/common/enum.CameraTrackingMode.html index a602a9899e..ed1b661be0 100644 --- a/mavlink/common/enum.CameraTrackingMode.html +++ b/mavlink/common/enum.CameraTrackingMode.html @@ -1,4 +1,4 @@ -CameraTrackingMode in mavlink::common - Rust
pub enum CameraTrackingMode {
+CameraTrackingMode in mavlink::common - Rust
#[repr(u32)]
pub enum CameraTrackingMode { CAMERA_TRACKING_MODE_NONE = 0, CAMERA_TRACKING_MODE_POINT = 1, CAMERA_TRACKING_MODE_RECTANGLE = 2, diff --git a/mavlink/common/enum.CameraTrackingStatusFlags.html b/mavlink/common/enum.CameraTrackingStatusFlags.html index ee5023063b..6c0d043414 100644 --- a/mavlink/common/enum.CameraTrackingStatusFlags.html +++ b/mavlink/common/enum.CameraTrackingStatusFlags.html @@ -1,4 +1,4 @@ -CameraTrackingStatusFlags in mavlink::common - Rust
pub enum CameraTrackingStatusFlags {
+CameraTrackingStatusFlags in mavlink::common - Rust
#[repr(u32)]
pub enum CameraTrackingStatusFlags { CAMERA_TRACKING_STATUS_FLAGS_IDLE = 0, CAMERA_TRACKING_STATUS_FLAGS_ACTIVE = 1, CAMERA_TRACKING_STATUS_FLAGS_ERROR = 2, diff --git a/mavlink/common/enum.CameraTrackingTargetData.html b/mavlink/common/enum.CameraTrackingTargetData.html index b5447e549f..cad32bce39 100644 --- a/mavlink/common/enum.CameraTrackingTargetData.html +++ b/mavlink/common/enum.CameraTrackingTargetData.html @@ -1,4 +1,4 @@ -CameraTrackingTargetData in mavlink::common - Rust
pub enum CameraTrackingTargetData {
+CameraTrackingTargetData in mavlink::common - Rust
#[repr(u32)]
pub enum CameraTrackingTargetData { CAMERA_TRACKING_TARGET_DATA_NONE = 0, CAMERA_TRACKING_TARGET_DATA_EMBEDDED = 1, CAMERA_TRACKING_TARGET_DATA_RENDERED = 2, diff --git a/mavlink/common/enum.CameraZoomType.html b/mavlink/common/enum.CameraZoomType.html index dec283b659..d3a7024611 100644 --- a/mavlink/common/enum.CameraZoomType.html +++ b/mavlink/common/enum.CameraZoomType.html @@ -1,4 +1,4 @@ -CameraZoomType in mavlink::common - Rust
pub enum CameraZoomType {
+CameraZoomType in mavlink::common - Rust
#[repr(u32)]
pub enum CameraZoomType { ZOOM_TYPE_STEP = 0, ZOOM_TYPE_CONTINUOUS = 1, ZOOM_TYPE_RANGE = 2, diff --git a/mavlink/common/enum.CanFilterOp.html b/mavlink/common/enum.CanFilterOp.html index c78897ba4e..521a3b762d 100644 --- a/mavlink/common/enum.CanFilterOp.html +++ b/mavlink/common/enum.CanFilterOp.html @@ -1,4 +1,4 @@ -CanFilterOp in mavlink::common - Rust
pub enum CanFilterOp {
+CanFilterOp in mavlink::common - Rust
#[repr(u32)]
pub enum CanFilterOp { CAN_FILTER_REPLACE = 0, CAN_FILTER_ADD = 1, CAN_FILTER_REMOVE = 2, diff --git a/mavlink/common/enum.CellularConfigResponse.html b/mavlink/common/enum.CellularConfigResponse.html index f26e60dcf1..6d1f32fe64 100644 --- a/mavlink/common/enum.CellularConfigResponse.html +++ b/mavlink/common/enum.CellularConfigResponse.html @@ -1,4 +1,4 @@ -CellularConfigResponse in mavlink::common - Rust
pub enum CellularConfigResponse {
+CellularConfigResponse in mavlink::common - Rust
#[repr(u32)]
pub enum CellularConfigResponse { CELLULAR_CONFIG_RESPONSE_ACCEPTED = 0, CELLULAR_CONFIG_RESPONSE_APN_ERROR = 1, CELLULAR_CONFIG_RESPONSE_PIN_ERROR = 2, diff --git a/mavlink/common/enum.CellularNetworkFailedReason.html b/mavlink/common/enum.CellularNetworkFailedReason.html index e9c640cf04..977b2d867e 100644 --- a/mavlink/common/enum.CellularNetworkFailedReason.html +++ b/mavlink/common/enum.CellularNetworkFailedReason.html @@ -1,4 +1,4 @@ -CellularNetworkFailedReason in mavlink::common - Rust
pub enum CellularNetworkFailedReason {
+CellularNetworkFailedReason in mavlink::common - Rust
#[repr(u32)]
pub enum CellularNetworkFailedReason { CELLULAR_NETWORK_FAILED_REASON_NONE = 0, CELLULAR_NETWORK_FAILED_REASON_UNKNOWN = 1, CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING = 2, diff --git a/mavlink/common/enum.CellularNetworkRadioType.html b/mavlink/common/enum.CellularNetworkRadioType.html index 71b1ab1655..e742be7eb5 100644 --- a/mavlink/common/enum.CellularNetworkRadioType.html +++ b/mavlink/common/enum.CellularNetworkRadioType.html @@ -1,4 +1,4 @@ -CellularNetworkRadioType in mavlink::common - Rust
pub enum CellularNetworkRadioType {
+CellularNetworkRadioType in mavlink::common - Rust
#[repr(u32)]
pub enum CellularNetworkRadioType { CELLULAR_NETWORK_RADIO_TYPE_NONE = 0, CELLULAR_NETWORK_RADIO_TYPE_GSM = 1, CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2, diff --git a/mavlink/common/enum.CellularStatusFlag.html b/mavlink/common/enum.CellularStatusFlag.html index 1e76392c6d..ff52a53d5f 100644 --- a/mavlink/common/enum.CellularStatusFlag.html +++ b/mavlink/common/enum.CellularStatusFlag.html @@ -1,4 +1,4 @@ -CellularStatusFlag in mavlink::common - Rust
pub enum CellularStatusFlag {
+CellularStatusFlag in mavlink::common - Rust
#[repr(u32)]
pub enum CellularStatusFlag {
Show 13 variants CELLULAR_STATUS_FLAG_UNKNOWN = 0, CELLULAR_STATUS_FLAG_FAILED = 1, CELLULAR_STATUS_FLAG_INITIALIZING = 2, diff --git a/mavlink/common/enum.CompMetadataType.html b/mavlink/common/enum.CompMetadataType.html index 6e71918492..a809aaae35 100644 --- a/mavlink/common/enum.CompMetadataType.html +++ b/mavlink/common/enum.CompMetadataType.html @@ -1,4 +1,4 @@ -CompMetadataType in mavlink::common - Rust
pub enum CompMetadataType {
+CompMetadataType in mavlink::common - Rust
#[repr(u32)]
pub enum CompMetadataType { COMP_METADATA_TYPE_GENERAL = 0, COMP_METADATA_TYPE_PARAMETER = 1, COMP_METADATA_TYPE_COMMANDS = 2, diff --git a/mavlink/common/enum.EscConnectionType.html b/mavlink/common/enum.EscConnectionType.html index 748ceb85cf..b10bf14d45 100644 --- a/mavlink/common/enum.EscConnectionType.html +++ b/mavlink/common/enum.EscConnectionType.html @@ -1,4 +1,4 @@ -EscConnectionType in mavlink::common - Rust
pub enum EscConnectionType {
+EscConnectionType in mavlink::common - Rust
#[repr(u32)]
pub enum EscConnectionType { ESC_CONNECTION_TYPE_PPM = 0, ESC_CONNECTION_TYPE_SERIAL = 1, ESC_CONNECTION_TYPE_ONESHOT = 2, diff --git a/mavlink/common/enum.FailureType.html b/mavlink/common/enum.FailureType.html index eaf11c1e6a..464d06bb1f 100644 --- a/mavlink/common/enum.FailureType.html +++ b/mavlink/common/enum.FailureType.html @@ -1,4 +1,4 @@ -FailureType in mavlink::common - Rust
pub enum FailureType {
+FailureType in mavlink::common - Rust
#[repr(u32)]
pub enum FailureType { FAILURE_TYPE_OK = 0, FAILURE_TYPE_OFF = 1, FAILURE_TYPE_STUCK = 2, diff --git a/mavlink/common/enum.FailureUnit.html b/mavlink/common/enum.FailureUnit.html index 6f7537ddeb..bdcfc09f32 100644 --- a/mavlink/common/enum.FailureUnit.html +++ b/mavlink/common/enum.FailureUnit.html @@ -1,4 +1,4 @@ -FailureUnit in mavlink::common - Rust
pub enum FailureUnit {
+FailureUnit in mavlink::common - Rust
#[repr(u32)]
pub enum FailureUnit {
Show 15 variants FAILURE_UNIT_SENSOR_GYRO = 0, FAILURE_UNIT_SENSOR_ACCEL = 1, FAILURE_UNIT_SENSOR_MAG = 2, diff --git a/mavlink/common/enum.FenceAction.html b/mavlink/common/enum.FenceAction.html index 63220de7af..2fc61e931b 100644 --- a/mavlink/common/enum.FenceAction.html +++ b/mavlink/common/enum.FenceAction.html @@ -1,4 +1,4 @@ -FenceAction in mavlink::common - Rust
pub enum FenceAction {
+FenceAction in mavlink::common - Rust
#[repr(u32)]
pub enum FenceAction { FENCE_ACTION_NONE = 0, FENCE_ACTION_GUIDED = 1, FENCE_ACTION_REPORT = 2, diff --git a/mavlink/common/enum.FenceBreach.html b/mavlink/common/enum.FenceBreach.html index f15728542f..0b017c31ab 100644 --- a/mavlink/common/enum.FenceBreach.html +++ b/mavlink/common/enum.FenceBreach.html @@ -1,4 +1,4 @@ -FenceBreach in mavlink::common - Rust
pub enum FenceBreach {
+FenceBreach in mavlink::common - Rust
#[repr(u32)]
pub enum FenceBreach { FENCE_BREACH_NONE = 0, FENCE_BREACH_MINALT = 1, FENCE_BREACH_MAXALT = 2, diff --git a/mavlink/common/enum.FenceMitigate.html b/mavlink/common/enum.FenceMitigate.html index 1d24fe9aa4..b14b17418b 100644 --- a/mavlink/common/enum.FenceMitigate.html +++ b/mavlink/common/enum.FenceMitigate.html @@ -1,4 +1,4 @@ -FenceMitigate in mavlink::common - Rust
pub enum FenceMitigate {
+FenceMitigate in mavlink::common - Rust
#[repr(u32)]
pub enum FenceMitigate { FENCE_MITIGATE_UNKNOWN = 0, FENCE_MITIGATE_NONE = 1, FENCE_MITIGATE_VEL_LIMIT = 2, diff --git a/mavlink/common/enum.FirmwareVersionType.html b/mavlink/common/enum.FirmwareVersionType.html index c8d9629b40..3bdc31761c 100644 --- a/mavlink/common/enum.FirmwareVersionType.html +++ b/mavlink/common/enum.FirmwareVersionType.html @@ -1,4 +1,4 @@ -FirmwareVersionType in mavlink::common - Rust
pub enum FirmwareVersionType {
+FirmwareVersionType in mavlink::common - Rust
#[repr(u32)]
pub enum FirmwareVersionType { FIRMWARE_VERSION_TYPE_DEV = 0, FIRMWARE_VERSION_TYPE_ALPHA = 64, FIRMWARE_VERSION_TYPE_BETA = 128, diff --git a/mavlink/common/enum.GimbalManagerFlags.html b/mavlink/common/enum.GimbalManagerFlags.html index baecd3e38b..6e469b75c6 100644 --- a/mavlink/common/enum.GimbalManagerFlags.html +++ b/mavlink/common/enum.GimbalManagerFlags.html @@ -1,4 +1,4 @@ -GimbalManagerFlags in mavlink::common - Rust
pub enum GimbalManagerFlags {
+GimbalManagerFlags in mavlink::common - Rust
#[repr(u32)]
pub enum GimbalManagerFlags { GIMBAL_MANAGER_FLAGS_RETRACT = 1, GIMBAL_MANAGER_FLAGS_NEUTRAL = 2, GIMBAL_MANAGER_FLAGS_ROLL_LOCK = 4, diff --git a/mavlink/common/enum.GpsFixType.html b/mavlink/common/enum.GpsFixType.html index 989abb7f10..d68443fa20 100644 --- a/mavlink/common/enum.GpsFixType.html +++ b/mavlink/common/enum.GpsFixType.html @@ -1,4 +1,4 @@ -GpsFixType in mavlink::common - Rust
pub enum GpsFixType {
+GpsFixType in mavlink::common - Rust
#[repr(u32)]
pub enum GpsFixType { GPS_FIX_TYPE_NO_GPS = 0, GPS_FIX_TYPE_NO_FIX = 1, GPS_FIX_TYPE_2D_FIX = 2, diff --git a/mavlink/common/enum.GripperActions.html b/mavlink/common/enum.GripperActions.html index 7481c15966..dbde3c73ee 100644 --- a/mavlink/common/enum.GripperActions.html +++ b/mavlink/common/enum.GripperActions.html @@ -1,4 +1,4 @@ -GripperActions in mavlink::common - Rust
pub enum GripperActions {
+GripperActions in mavlink::common - Rust
#[repr(u32)]
pub enum GripperActions { GRIPPER_ACTION_RELEASE = 0, GRIPPER_ACTION_GRAB = 1, }

Variants§

§

GRIPPER_ACTION_RELEASE = 0

§

GRIPPER_ACTION_GRAB = 1

Implementations§

source§

impl GripperActions

source

pub const DEFAULT: Self = Self::GRIPPER_ACTION_RELEASE

Trait Implementations§

source§

impl Clone for GripperActions

source§

fn clone(&self) -> GripperActions

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GripperActions

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GripperActions

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GripperActions

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/common/enum.LandingTargetType.html b/mavlink/common/enum.LandingTargetType.html index 7d87ebda89..0f8685588f 100644 --- a/mavlink/common/enum.LandingTargetType.html +++ b/mavlink/common/enum.LandingTargetType.html @@ -1,4 +1,4 @@ -LandingTargetType in mavlink::common - Rust
pub enum LandingTargetType {
+LandingTargetType in mavlink::common - Rust
#[repr(u32)]
pub enum LandingTargetType { LANDING_TARGET_TYPE_LIGHT_BEACON = 0, LANDING_TARGET_TYPE_RADIO_BEACON = 1, LANDING_TARGET_TYPE_VISION_FIDUCIAL = 2, diff --git a/mavlink/common/enum.MagCalStatus.html b/mavlink/common/enum.MagCalStatus.html index 541174e354..a28369ccaa 100644 --- a/mavlink/common/enum.MagCalStatus.html +++ b/mavlink/common/enum.MagCalStatus.html @@ -1,4 +1,4 @@ -MagCalStatus in mavlink::common - Rust
pub enum MagCalStatus {
+MagCalStatus in mavlink::common - Rust
#[repr(u32)]
pub enum MagCalStatus { MAG_CAL_NOT_STARTED = 0, MAG_CAL_WAITING_TO_START = 1, MAG_CAL_RUNNING_STEP_ONE = 2, diff --git a/mavlink/common/enum.MavArmAuthDeniedReason.html b/mavlink/common/enum.MavArmAuthDeniedReason.html index 38963a57f3..12344d35a0 100644 --- a/mavlink/common/enum.MavArmAuthDeniedReason.html +++ b/mavlink/common/enum.MavArmAuthDeniedReason.html @@ -1,4 +1,4 @@ -MavArmAuthDeniedReason in mavlink::common - Rust
pub enum MavArmAuthDeniedReason {
+MavArmAuthDeniedReason in mavlink::common - Rust
#[repr(u32)]
pub enum MavArmAuthDeniedReason { MAV_ARM_AUTH_DENIED_REASON_GENERIC = 0, MAV_ARM_AUTH_DENIED_REASON_NONE = 1, MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT = 2, diff --git a/mavlink/common/enum.MavAutopilot.html b/mavlink/common/enum.MavAutopilot.html index 562d14423e..fcb52bab76 100644 --- a/mavlink/common/enum.MavAutopilot.html +++ b/mavlink/common/enum.MavAutopilot.html @@ -1,4 +1,4 @@ -MavAutopilot in mavlink::common - Rust
pub enum MavAutopilot {
+MavAutopilot in mavlink::common - Rust
#[repr(u32)]
pub enum MavAutopilot {
Show 21 variants MAV_AUTOPILOT_GENERIC = 0, MAV_AUTOPILOT_RESERVED = 1, MAV_AUTOPILOT_SLUGS = 2, diff --git a/mavlink/common/enum.MavBatteryChargeState.html b/mavlink/common/enum.MavBatteryChargeState.html index 9444097749..30fec054f6 100644 --- a/mavlink/common/enum.MavBatteryChargeState.html +++ b/mavlink/common/enum.MavBatteryChargeState.html @@ -1,4 +1,4 @@ -MavBatteryChargeState in mavlink::common - Rust
pub enum MavBatteryChargeState {
+MavBatteryChargeState in mavlink::common - Rust
#[repr(u32)]
pub enum MavBatteryChargeState { MAV_BATTERY_CHARGE_STATE_UNDEFINED = 0, MAV_BATTERY_CHARGE_STATE_OK = 1, MAV_BATTERY_CHARGE_STATE_LOW = 2, diff --git a/mavlink/common/enum.MavBatteryFault.html b/mavlink/common/enum.MavBatteryFault.html index 61b32913bd..40d9ddb6ea 100644 --- a/mavlink/common/enum.MavBatteryFault.html +++ b/mavlink/common/enum.MavBatteryFault.html @@ -1,4 +1,4 @@ -MavBatteryFault in mavlink::common - Rust
pub enum MavBatteryFault {
+MavBatteryFault in mavlink::common - Rust
#[repr(u32)]
pub enum MavBatteryFault { MAV_BATTERY_FAULT_DEEP_DISCHARGE = 1, MAV_BATTERY_FAULT_SPIKES = 2, MAV_BATTERY_FAULT_CELL_FAIL = 4, diff --git a/mavlink/common/enum.MavBatteryFunction.html b/mavlink/common/enum.MavBatteryFunction.html index 7b6ebf00d5..acc5082c99 100644 --- a/mavlink/common/enum.MavBatteryFunction.html +++ b/mavlink/common/enum.MavBatteryFunction.html @@ -1,4 +1,4 @@ -MavBatteryFunction in mavlink::common - Rust
pub enum MavBatteryFunction {
+MavBatteryFunction in mavlink::common - Rust
#[repr(u32)]
pub enum MavBatteryFunction { MAV_BATTERY_FUNCTION_UNKNOWN = 0, MAV_BATTERY_FUNCTION_ALL = 1, MAV_BATTERY_FUNCTION_PROPULSION = 2, diff --git a/mavlink/common/enum.MavBatteryMode.html b/mavlink/common/enum.MavBatteryMode.html index 9c94817f82..6ed4ce5aa3 100644 --- a/mavlink/common/enum.MavBatteryMode.html +++ b/mavlink/common/enum.MavBatteryMode.html @@ -1,4 +1,4 @@ -MavBatteryMode in mavlink::common - Rust
pub enum MavBatteryMode {
+MavBatteryMode in mavlink::common - Rust
#[repr(u32)]
pub enum MavBatteryMode { MAV_BATTERY_MODE_UNKNOWN = 0, MAV_BATTERY_MODE_AUTO_DISCHARGING = 1, MAV_BATTERY_MODE_HOT_SWAP = 2, diff --git a/mavlink/common/enum.MavBatteryType.html b/mavlink/common/enum.MavBatteryType.html index 32017a33f7..c575f27213 100644 --- a/mavlink/common/enum.MavBatteryType.html +++ b/mavlink/common/enum.MavBatteryType.html @@ -1,4 +1,4 @@ -MavBatteryType in mavlink::common - Rust
pub enum MavBatteryType {
+MavBatteryType in mavlink::common - Rust
#[repr(u32)]
pub enum MavBatteryType { MAV_BATTERY_TYPE_UNKNOWN = 0, MAV_BATTERY_TYPE_LIPO = 1, MAV_BATTERY_TYPE_LIFE = 2, diff --git a/mavlink/common/enum.MavCmd.html b/mavlink/common/enum.MavCmd.html index 3819714bf8..c259f9c7d5 100644 --- a/mavlink/common/enum.MavCmd.html +++ b/mavlink/common/enum.MavCmd.html @@ -1,4 +1,4 @@ -MavCmd in mavlink::common - Rust

Enum mavlink::common::MavCmd

source ·
pub enum MavCmd {
+MavCmd in mavlink::common - Rust

Enum mavlink::common::MavCmd

source ·
#[repr(u32)]
pub enum MavCmd {
Show 159 variants MAV_CMD_NAV_WAYPOINT = 16, MAV_CMD_NAV_LOITER_UNLIM = 17, MAV_CMD_NAV_LOITER_TURNS = 18, diff --git a/mavlink/common/enum.MavCmdAck.html b/mavlink/common/enum.MavCmdAck.html index c3dcaa8939..7ee64c4178 100644 --- a/mavlink/common/enum.MavCmdAck.html +++ b/mavlink/common/enum.MavCmdAck.html @@ -1,4 +1,4 @@ -MavCmdAck in mavlink::common - Rust
pub enum MavCmdAck {
+MavCmdAck in mavlink::common - Rust
#[repr(u32)]
pub enum MavCmdAck { MAV_CMD_ACK_OK = 0, MAV_CMD_ACK_ERR_FAIL = 1, MAV_CMD_ACK_ERR_ACCESS_DENIED = 2, diff --git a/mavlink/common/enum.MavCollisionAction.html b/mavlink/common/enum.MavCollisionAction.html index cc8d8c91c0..8fd45dd886 100644 --- a/mavlink/common/enum.MavCollisionAction.html +++ b/mavlink/common/enum.MavCollisionAction.html @@ -1,4 +1,4 @@ -MavCollisionAction in mavlink::common - Rust
pub enum MavCollisionAction {
+MavCollisionAction in mavlink::common - Rust
#[repr(u32)]
pub enum MavCollisionAction { MAV_COLLISION_ACTION_NONE = 0, MAV_COLLISION_ACTION_REPORT = 1, MAV_COLLISION_ACTION_ASCEND_OR_DESCEND = 2, diff --git a/mavlink/common/enum.MavCollisionSrc.html b/mavlink/common/enum.MavCollisionSrc.html index 8d098b68cc..87c2fd5e08 100644 --- a/mavlink/common/enum.MavCollisionSrc.html +++ b/mavlink/common/enum.MavCollisionSrc.html @@ -1,4 +1,4 @@ -MavCollisionSrc in mavlink::common - Rust
pub enum MavCollisionSrc {
+MavCollisionSrc in mavlink::common - Rust
#[repr(u32)]
pub enum MavCollisionSrc { MAV_COLLISION_SRC_ADSB = 0, MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT = 1, }

Variants§

§

MAV_COLLISION_SRC_ADSB = 0

Implementations§

source§

impl MavCollisionSrc

source

pub const DEFAULT: Self = Self::MAV_COLLISION_SRC_ADSB

Trait Implementations§

source§

impl Clone for MavCollisionSrc

source§

fn clone(&self) -> MavCollisionSrc

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavCollisionSrc

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavCollisionSrc

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavCollisionSrc

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/common/enum.MavCollisionThreatLevel.html b/mavlink/common/enum.MavCollisionThreatLevel.html index 67f1580db1..c6795dd82c 100644 --- a/mavlink/common/enum.MavCollisionThreatLevel.html +++ b/mavlink/common/enum.MavCollisionThreatLevel.html @@ -1,4 +1,4 @@ -MavCollisionThreatLevel in mavlink::common - Rust
pub enum MavCollisionThreatLevel {
+MavCollisionThreatLevel in mavlink::common - Rust
#[repr(u32)]
pub enum MavCollisionThreatLevel { MAV_COLLISION_THREAT_LEVEL_NONE = 0, MAV_COLLISION_THREAT_LEVEL_LOW = 1, MAV_COLLISION_THREAT_LEVEL_HIGH = 2, diff --git a/mavlink/common/enum.MavComponent.html b/mavlink/common/enum.MavComponent.html index e2969a1d75..eb8b0e9f13 100644 --- a/mavlink/common/enum.MavComponent.html +++ b/mavlink/common/enum.MavComponent.html @@ -1,4 +1,4 @@ -MavComponent in mavlink::common - Rust
pub enum MavComponent {
+MavComponent in mavlink::common - Rust
#[repr(u32)]
pub enum MavComponent {
Show 135 variants MAV_COMP_ID_ALL = 0, MAV_COMP_ID_AUTOPILOT1 = 1, MAV_COMP_ID_USER1 = 25, diff --git a/mavlink/common/enum.MavDataStream.html b/mavlink/common/enum.MavDataStream.html index fa0dd38701..31d4bcd1af 100644 --- a/mavlink/common/enum.MavDataStream.html +++ b/mavlink/common/enum.MavDataStream.html @@ -1,4 +1,4 @@ -MavDataStream in mavlink::common - Rust
pub enum MavDataStream {
+MavDataStream in mavlink::common - Rust
#[repr(u32)]
pub enum MavDataStream { MAV_DATA_STREAM_ALL = 0, MAV_DATA_STREAM_RAW_SENSORS = 1, MAV_DATA_STREAM_EXTENDED_STATUS = 2, diff --git a/mavlink/common/enum.MavDistanceSensor.html b/mavlink/common/enum.MavDistanceSensor.html index 8466325f26..31e64be2f0 100644 --- a/mavlink/common/enum.MavDistanceSensor.html +++ b/mavlink/common/enum.MavDistanceSensor.html @@ -1,4 +1,4 @@ -MavDistanceSensor in mavlink::common - Rust
pub enum MavDistanceSensor {
+MavDistanceSensor in mavlink::common - Rust
#[repr(u32)]
pub enum MavDistanceSensor { MAV_DISTANCE_SENSOR_LASER = 0, MAV_DISTANCE_SENSOR_ULTRASOUND = 1, MAV_DISTANCE_SENSOR_INFRARED = 2, diff --git a/mavlink/common/enum.MavDoRepositionFlags.html b/mavlink/common/enum.MavDoRepositionFlags.html index 2a92d02472..848b24c492 100644 --- a/mavlink/common/enum.MavDoRepositionFlags.html +++ b/mavlink/common/enum.MavDoRepositionFlags.html @@ -1,4 +1,4 @@ -MavDoRepositionFlags in mavlink::common - Rust
pub enum MavDoRepositionFlags {
+MavDoRepositionFlags in mavlink::common - Rust
#[repr(u32)]
pub enum MavDoRepositionFlags { MAV_DO_REPOSITION_FLAGS_CHANGE_MODE = 1, }

Variants§

§

MAV_DO_REPOSITION_FLAGS_CHANGE_MODE = 1

Implementations§

source§

impl MavDoRepositionFlags

source

pub const DEFAULT: Self = Self::MAV_DO_REPOSITION_FLAGS_CHANGE_MODE

Trait Implementations§

source§

impl Clone for MavDoRepositionFlags

source§

fn clone(&self) -> MavDoRepositionFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavDoRepositionFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavDoRepositionFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavDoRepositionFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromPrimitive for MavDoRepositionFlags

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the diff --git a/mavlink/common/enum.MavEstimatorType.html b/mavlink/common/enum.MavEstimatorType.html index 57a69477f6..ddd5f2a3d0 100644 --- a/mavlink/common/enum.MavEstimatorType.html +++ b/mavlink/common/enum.MavEstimatorType.html @@ -1,4 +1,4 @@ -MavEstimatorType in mavlink::common - Rust
pub enum MavEstimatorType {
+MavEstimatorType in mavlink::common - Rust
#[repr(u32)]
pub enum MavEstimatorType { MAV_ESTIMATOR_TYPE_UNKNOWN = 0, MAV_ESTIMATOR_TYPE_NAIVE = 1, MAV_ESTIMATOR_TYPE_VISION = 2, diff --git a/mavlink/common/enum.MavEventErrorReason.html b/mavlink/common/enum.MavEventErrorReason.html index c8a98b888a..1edb880c0e 100644 --- a/mavlink/common/enum.MavEventErrorReason.html +++ b/mavlink/common/enum.MavEventErrorReason.html @@ -1,4 +1,4 @@ -MavEventErrorReason in mavlink::common - Rust
pub enum MavEventErrorReason {
+MavEventErrorReason in mavlink::common - Rust
#[repr(u32)]
pub enum MavEventErrorReason { MAV_EVENT_ERROR_REASON_UNAVAILABLE = 0, }

Variants§

§

MAV_EVENT_ERROR_REASON_UNAVAILABLE = 0

Implementations§

source§

impl MavEventErrorReason

source

pub const DEFAULT: Self = Self::MAV_EVENT_ERROR_REASON_UNAVAILABLE

Trait Implementations§

source§

impl Clone for MavEventErrorReason

source§

fn clone(&self) -> MavEventErrorReason

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavEventErrorReason

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavEventErrorReason

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavEventErrorReason

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromPrimitive for MavEventErrorReason

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the diff --git a/mavlink/common/enum.MavFrame.html b/mavlink/common/enum.MavFrame.html index cf9cb6e331..f61dc4ea7c 100644 --- a/mavlink/common/enum.MavFrame.html +++ b/mavlink/common/enum.MavFrame.html @@ -1,4 +1,4 @@ -MavFrame in mavlink::common - Rust

Enum mavlink::common::MavFrame

source ·
pub enum MavFrame {
+MavFrame in mavlink::common - Rust

Enum mavlink::common::MavFrame

source ·
#[repr(u32)]
pub enum MavFrame {
Show 22 variants MAV_FRAME_GLOBAL = 0, MAV_FRAME_LOCAL_NED = 1, MAV_FRAME_MISSION = 2, diff --git a/mavlink/common/enum.MavFtpErr.html b/mavlink/common/enum.MavFtpErr.html index 91900856ad..451d6fb4c0 100644 --- a/mavlink/common/enum.MavFtpErr.html +++ b/mavlink/common/enum.MavFtpErr.html @@ -1,4 +1,4 @@ -MavFtpErr in mavlink::common - Rust
pub enum MavFtpErr {
+MavFtpErr in mavlink::common - Rust
#[repr(u32)]
pub enum MavFtpErr { MAV_FTP_ERR_NONE = 0, MAV_FTP_ERR_FAIL = 1, MAV_FTP_ERR_FAILERRNO = 2, diff --git a/mavlink/common/enum.MavFtpOpcode.html b/mavlink/common/enum.MavFtpOpcode.html index 5648582c8d..1acb2c3bcc 100644 --- a/mavlink/common/enum.MavFtpOpcode.html +++ b/mavlink/common/enum.MavFtpOpcode.html @@ -1,4 +1,4 @@ -MavFtpOpcode in mavlink::common - Rust
pub enum MavFtpOpcode {
+MavFtpOpcode in mavlink::common - Rust
#[repr(u32)]
pub enum MavFtpOpcode {
Show 18 variants MAV_FTP_OPCODE_NONE = 0, MAV_FTP_OPCODE_TERMINATESESSION = 1, MAV_FTP_OPCODE_RESETSESSION = 2, diff --git a/mavlink/common/enum.MavGoto.html b/mavlink/common/enum.MavGoto.html index ef7cb0db43..e6752182a0 100644 --- a/mavlink/common/enum.MavGoto.html +++ b/mavlink/common/enum.MavGoto.html @@ -1,4 +1,4 @@ -MavGoto in mavlink::common - Rust

Enum mavlink::common::MavGoto

source ·
pub enum MavGoto {
+MavGoto in mavlink::common - Rust

Enum mavlink::common::MavGoto

source ·
#[repr(u32)]
pub enum MavGoto { MAV_GOTO_DO_HOLD = 0, MAV_GOTO_DO_CONTINUE = 1, MAV_GOTO_HOLD_AT_CURRENT_POSITION = 2, diff --git a/mavlink/common/enum.MavLandedState.html b/mavlink/common/enum.MavLandedState.html index aad0091706..047018b750 100644 --- a/mavlink/common/enum.MavLandedState.html +++ b/mavlink/common/enum.MavLandedState.html @@ -1,4 +1,4 @@ -MavLandedState in mavlink::common - Rust
pub enum MavLandedState {
+MavLandedState in mavlink::common - Rust
#[repr(u32)]
pub enum MavLandedState { MAV_LANDED_STATE_UNDEFINED = 0, MAV_LANDED_STATE_ON_GROUND = 1, MAV_LANDED_STATE_IN_AIR = 2, diff --git a/mavlink/common/enum.MavMessage.html b/mavlink/common/enum.MavMessage.html index 1b2034a612..a3f357b1ed 100644 --- a/mavlink/common/enum.MavMessage.html +++ b/mavlink/common/enum.MavMessage.html @@ -1,226 +1,226 @@ -MavMessage in mavlink::common - Rust
pub enum MavMessage {
-
Show 221 variants MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA), - COMMAND_INT(COMMAND_INT_DATA), - COLLISION(COLLISION_DATA), - RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA), - OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA), - LOGGING_ACK(LOGGING_ACK_DATA), - WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA), - MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA), - MANUAL_CONTROL(MANUAL_CONTROL_DATA), - SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA), - COMMAND_CANCEL(COMMAND_CANCEL_DATA), - LOG_ENTRY(LOG_ENTRY_DATA), - OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA), +MavMessage in mavlink::common - Rust
#[repr(u32)]
pub enum MavMessage { +
Show 221 variants LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA), + SAFETY_ALLOWED_AREA(SAFETY_ALLOWED_AREA_DATA), + MISSION_ACK(MISSION_ACK_DATA), SCALED_PRESSURE2(SCALED_PRESSURE2_DATA), - CAMERA_TRIGGER(CAMERA_TRIGGER_DATA), - SET_HOME_POSITION(SET_HOME_POSITION_DATA), - RAW_IMU(RAW_IMU_DATA), - SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA), - COMPONENT_METADATA(COMPONENT_METADATA_DATA), - GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA), - ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA), - MISSION_CURRENT(MISSION_CURRENT_DATA), - LOG_REQUEST_END(LOG_REQUEST_END_DATA), - FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA), - BATTERY_STATUS(BATTERY_STATUS_DATA), - LANDING_TARGET(LANDING_TARGET_DATA), - MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA), - WHEEL_DISTANCE(WHEEL_DISTANCE_DATA), - MISSION_COUNT(MISSION_COUNT_DATA), - AUTOPILOT_STATE_FOR_GIMBAL_DEVICE(AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA), - CHANGE_OPERATOR_CONTROL(CHANGE_OPERATOR_CONTROL_DATA), - HIL_STATE(HIL_STATE_DATA), - HIL_SENSOR(HIL_SENSOR_DATA), + SIM_STATE(SIM_STATE_DATA), + HIGH_LATENCY2(HIGH_LATENCY2_DATA), + STATUSTEXT(STATUSTEXT_DATA), + ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA), + GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA), + ESC_INFO(ESC_INFO_DATA), + LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA), + MISSION_ITEM(MISSION_ITEM_DATA), + GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA), PARAM_EXT_REQUEST_READ(PARAM_EXT_REQUEST_READ_DATA), - SCALED_PRESSURE(SCALED_PRESSURE_DATA), - SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA), - ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA), + MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA), + TERRAIN_CHECK(TERRAIN_CHECK_DATA), + GIMBAL_MANAGER_SET_ATTITUDE(GIMBAL_MANAGER_SET_ATTITUDE_DATA), + PARAM_EXT_SET(PARAM_EXT_SET_DATA), + CAN_FRAME(CAN_FRAME_DATA), COMPONENT_INFORMATION(COMPONENT_INFORMATION_DATA), - VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA), - GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA), + GPS_INJECT_DATA(GPS_INJECT_DATA_DATA), + CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA), + DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA), + FOLLOW_TARGET(FOLLOW_TARGET_DATA), + ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA), HIL_GPS(HIL_GPS_DATA), - GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA), - TERRAIN_REPORT(TERRAIN_REPORT_DATA), - AIS_VESSEL(AIS_VESSEL_DATA), - ODOMETRY(ODOMETRY_DATA), - SUPPORTED_TUNES(SUPPORTED_TUNES_DATA), - CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA), - OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA), - ATT_POS_MOCAP(ATT_POS_MOCAP_DATA), - LOGGING_DATA(LOGGING_DATA_DATA), - OPEN_DRONE_ID_MESSAGE_PACK(OPEN_DRONE_ID_MESSAGE_PACK_DATA), - MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA), - SETUP_SIGNING(SETUP_SIGNING_DATA), - PARAM_EXT_ACK(PARAM_EXT_ACK_DATA), - RADIO_STATUS(RADIO_STATUS_DATA), - RESPONSE_EVENT_ERROR(RESPONSE_EVENT_ERROR_DATA), - SIM_STATE(SIM_STATE_DATA), - FENCE_STATUS(FENCE_STATUS_DATA), - RESOURCE_REQUEST(RESOURCE_REQUEST_DATA), - TERRAIN_DATA(TERRAIN_DATA_DATA), - VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA), - EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA), - HEARTBEAT(HEARTBEAT_DATA), - VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA), - MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA), CAN_FILTER_MODIFY(CAN_FILTER_MODIFY_DATA), - MISSION_ITEM_INT(MISSION_ITEM_INT_DATA), - HIGHRES_IMU(HIGHRES_IMU_DATA), - SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA), - DEBUG(DEBUG_DATA), - CAMERA_SETTINGS(CAMERA_SETTINGS_DATA), - MISSION_REQUEST_LIST(MISSION_REQUEST_LIST_DATA), - POSITION_TARGET_LOCAL_NED(POSITION_TARGET_LOCAL_NED_DATA), - SCALED_IMU(SCALED_IMU_DATA), - WIND_COV(WIND_COV_DATA), - MISSION_REQUEST(MISSION_REQUEST_DATA), - SERIAL_CONTROL(SERIAL_CONTROL_DATA), - PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA), - GPS2_RTK(GPS2_RTK_DATA), - COMMAND_ACK(COMMAND_ACK_DATA), - POWER_STATUS(POWER_STATUS_DATA), - GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA), - GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA), - PARAM_SET(PARAM_SET_DATA), - OPTICAL_FLOW(OPTICAL_FLOW_DATA), + OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA), + LOG_DATA(LOG_DATA_DATA), + OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA), + HIGH_LATENCY(HIGH_LATENCY_DATA), + PLAY_TUNE(PLAY_TUNE_DATA), RC_CHANNELS_SCALED(RC_CHANNELS_SCALED_DATA), - GPS_INJECT_DATA(GPS_INJECT_DATA_DATA), - PARAM_VALUE(PARAM_VALUE_DATA), - RC_CHANNELS(RC_CHANNELS_DATA), - ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA), - TIMESYNC(TIMESYNC_DATA), - SCALED_PRESSURE3(SCALED_PRESSURE3_DATA), - DATA_STREAM(DATA_STREAM_DATA), - HOME_POSITION(HOME_POSITION_DATA), - MEMORY_VECT(MEMORY_VECT_DATA), - NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA), - NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA), - CHANGE_OPERATOR_CONTROL_ACK(CHANGE_OPERATOR_CONTROL_ACK_DATA), - STATUSTEXT(STATUSTEXT_DATA), - CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA), - GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA), - UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA), - GPS_GLOBAL_ORIGIN(GPS_GLOBAL_ORIGIN_DATA), + RAW_IMU(RAW_IMU_DATA), + SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA), + MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA), + CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA), + EVENT(EVENT_DATA), EFI_STATUS(EFI_STATUS_DATA), - ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA), - CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA), - TRAJECTORY_REPRESENTATION_WAYPOINTS(TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA), - CELLULAR_STATUS(CELLULAR_STATUS_DATA), - ORBIT_EXECUTION_STATUS(ORBIT_EXECUTION_STATUS_DATA), - TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA), - RAW_PRESSURE(RAW_PRESSURE_DATA), - WINCH_STATUS(WINCH_STATUS_DATA), + REQUEST_EVENT(REQUEST_EVENT_DATA), + HYGROMETER_SENSOR(HYGROMETER_SENSOR_DATA), + REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA), + V2_EXTENSION(V2_EXTENSION_DATA), + DEBUG_VECT(DEBUG_VECT_DATA), + LOGGING_ACK(LOGGING_ACK_DATA), OPEN_DRONE_ID_OPERATOR_ID(OPEN_DRONE_ID_OPERATOR_ID_DATA), - ATTITUDE_TARGET(ATTITUDE_TARGET_DATA), - GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA), ISBD_LINK_STATUS(ISBD_LINK_STATUS_DATA), - TUNNEL(TUNNEL_DATA), + CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA), OBSTACLE_DISTANCE(OBSTACLE_DISTANCE_DATA), - SAFETY_ALLOWED_AREA(SAFETY_ALLOWED_AREA_DATA), - DEBUG_FLOAT_ARRAY(DEBUG_FLOAT_ARRAY_DATA), + SCALED_IMU2(SCALED_IMU2_DATA), + PARAM_VALUE(PARAM_VALUE_DATA), SERVO_OUTPUT_RAW(SERVO_OUTPUT_RAW_DATA), - DISTANCE_SENSOR(DISTANCE_SENSOR_DATA), - PARAM_MAP_RC(PARAM_MAP_RC_DATA), + CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA), + SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA), + GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA), + GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA), + PARAM_REQUEST_LIST(PARAM_REQUEST_LIST_DATA), + UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA), + PARAM_SET(PARAM_SET_DATA), + SCALED_PRESSURE(SCALED_PRESSURE_DATA), + SYSTEM_TIME(SYSTEM_TIME_DATA), + ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA), + ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA), + SET_HOME_POSITION(SET_HOME_POSITION_DATA), + SYS_STATUS(SYS_STATUS_DATA), + TIMESYNC(TIMESYNC_DATA), + LOG_REQUEST_END(LOG_REQUEST_END_DATA), + TRAJECTORY_REPRESENTATION_WAYPOINTS(TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA), + AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA), + MEMORY_VECT(MEMORY_VECT_DATA), + VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA), + CHANGE_OPERATOR_CONTROL(CHANGE_OPERATOR_CONTROL_DATA), + GPS_INPUT(GPS_INPUT_DATA), + COLLISION(COLLISION_DATA), + SCALED_IMU3(SCALED_IMU3_DATA), + CAMERA_INFORMATION(CAMERA_INFORMATION_DATA), + SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA), + PARAM_EXT_ACK(PARAM_EXT_ACK_DATA), + ORBIT_EXECUTION_STATUS(ORBIT_EXECUTION_STATUS_DATA), + SERIAL_CONTROL(SERIAL_CONTROL_DATA), + LOGGING_DATA(LOGGING_DATA_DATA), TRAJECTORY_REPRESENTATION_BEZIER(TRAJECTORY_REPRESENTATION_BEZIER_DATA), - GENERATOR_STATUS(GENERATOR_STATUS_DATA), - SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA), - CAN_FRAME(CAN_FRAME_DATA), - SCALED_IMU2(SCALED_IMU2_DATA), + ALTITUDE(ALTITUDE_DATA), + RC_CHANNELS(RC_CHANNELS_DATA), + RESOURCE_REQUEST(RESOURCE_REQUEST_DATA), + COMPONENT_METADATA(COMPONENT_METADATA_DATA), + SUPPORTED_TUNES(SUPPORTED_TUNES_DATA), OPEN_DRONE_ID_LOCATION(OPEN_DRONE_ID_LOCATION_DATA), - COMMAND_LONG(COMMAND_LONG_DATA), - LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA), - POSITION_TARGET_GLOBAL_INT(POSITION_TARGET_GLOBAL_INT_DATA), - HIL_CONTROLS(HIL_CONTROLS_DATA), - CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA), - ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA), - REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA), - LOG_ERASE(LOG_ERASE_DATA), - GPS_RTCM_DATA(GPS_RTCM_DATA_DATA), - MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA), - OPEN_DRONE_ID_BASIC_ID(OPEN_DRONE_ID_BASIC_ID_DATA), - HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA), - MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA), - HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA), + OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA), + BUTTON_CHANGE(BUTTON_CHANGE_DATA), + GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA), + GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA), + ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA), + LANDING_TARGET(LANDING_TARGET_DATA), + LOG_ENTRY(LOG_ENTRY_DATA), + POSITION_TARGET_LOCAL_NED(POSITION_TARGET_LOCAL_NED_DATA), SET_MODE(SET_MODE_DATA), + AUTOPILOT_STATE_FOR_GIMBAL_DEVICE(AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA), + VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA), + DEBUG(DEBUG_DATA), + COMMAND_INT(COMMAND_INT_DATA), LOG_REQUEST_LIST(LOG_REQUEST_LIST_DATA), - HIGH_LATENCY2(HIGH_LATENCY2_DATA), - GIMBAL_MANAGER_SET_PITCHYAW(GIMBAL_MANAGER_SET_PITCHYAW_DATA), - PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA), - SYSTEM_TIME(SYSTEM_TIME_DATA), - MISSION_ITEM(MISSION_ITEM_DATA), + ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA), + UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA), + MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA), + AIS_VESSEL(AIS_VESSEL_DATA), + ATT_POS_MOCAP(ATT_POS_MOCAP_DATA), + HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA), + LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA), + TUNNEL(TUNNEL_DATA), + NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA), + AUTH_KEY(AUTH_KEY_DATA), + TERRAIN_DATA(TERRAIN_DATA_DATA), + OPEN_DRONE_ID_BASIC_ID(OPEN_DRONE_ID_BASIC_ID_DATA), + CELLULAR_CONFIG(CELLULAR_CONFIG_DATA), + HEARTBEAT(HEARTBEAT_DATA), + MISSION_COUNT(MISSION_COUNT_DATA), + PING(PING_DATA), + OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA), + GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA), + ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA), + OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA), + NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA), + PLAY_TUNE_V2(PLAY_TUNE_V2_DATA), + VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA), STORAGE_INFORMATION(STORAGE_INFORMATION_DATA), + SETUP_SIGNING(SETUP_SIGNING_DATA), + LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA), + LOG_ERASE(LOG_ERASE_DATA), GPS_RAW_INT(GPS_RAW_INT_DATA), - LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA), - RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA), - PROTOCOL_VERSION(PROTOCOL_VERSION_DATA), + GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA), + MISSION_ITEM_INT(MISSION_ITEM_INT_DATA), + WINCH_STATUS(WINCH_STATUS_DATA), + FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA), + GPS2_RAW(GPS2_RAW_DATA), + GPS_RTK(GPS_RTK_DATA), + VIBRATION(VIBRATION_DATA), + HIL_STATE(HIL_STATE_DATA), + GPS_STATUS(GPS_STATUS_DATA), + SCALED_IMU(SCALED_IMU_DATA), + HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA), + MISSION_REQUEST_LIST(MISSION_REQUEST_LIST_DATA), + PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA), PARAM_EXT_VALUE(PARAM_EXT_VALUE_DATA), - CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA), - PARAM_EXT_SET(PARAM_EXT_SET_DATA), - ESC_INFO(ESC_INFO_DATA), - GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA), + CELLULAR_STATUS(CELLULAR_STATUS_DATA), + CANFD_FRAME(CANFD_FRAME_DATA), + GPS_RTCM_DATA(GPS_RTCM_DATA_DATA), + MANUAL_CONTROL(MANUAL_CONTROL_DATA), + COMMAND_ACK(COMMAND_ACK_DATA), + RADIO_STATUS(RADIO_STATUS_DATA), + TERRAIN_REQUEST(TERRAIN_REQUEST_DATA), + VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA), + TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA), + CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA), + WHEEL_DISTANCE(WHEEL_DISTANCE_DATA), + MISSION_CURRENT(MISSION_CURRENT_DATA), + VFR_HUD(VFR_HUD_DATA), + SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA), + POSITION_TARGET_GLOBAL_INT(POSITION_TARGET_GLOBAL_INT_DATA), VISION_SPEED_ESTIMATE(VISION_SPEED_ESTIMATE_DATA), - LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA), - ESC_STATUS(ESC_STATUS_DATA), - PARAM_REQUEST_LIST(PARAM_REQUEST_LIST_DATA), - CAMERA_INFORMATION(CAMERA_INFORMATION_DATA), - ATTITUDE(ATTITUDE_DATA), - CELLULAR_CONFIG(CELLULAR_CONFIG_DATA), - GLOBAL_VISION_POSITION_ESTIMATE(GLOBAL_VISION_POSITION_ESTIMATE_DATA), - ALTITUDE(ALTITUDE_DATA), - GPS2_RAW(GPS2_RAW_DATA), - FOLLOW_TARGET(FOLLOW_TARGET_DATA), + BATTERY_STATUS(BATTERY_STATUS_DATA), + FENCE_STATUS(FENCE_STATUS_DATA), + PROTOCOL_VERSION(PROTOCOL_VERSION_DATA), + RAW_PRESSURE(RAW_PRESSURE_DATA), + SCALED_PRESSURE3(SCALED_PRESSURE3_DATA), + GPS_GLOBAL_ORIGIN(GPS_GLOBAL_ORIGIN_DATA), + MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA), + GIMBAL_MANAGER_SET_PITCHYAW(GIMBAL_MANAGER_SET_PITCHYAW_DATA), + RESPONSE_EVENT_ERROR(RESPONSE_EVENT_ERROR_DATA), LINK_NODE_STATUS(LINK_NODE_STATUS_DATA), - GPS_INPUT(GPS_INPUT_DATA), - DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA), - GPS_RTK(GPS_RTK_DATA), - TERRAIN_CHECK(TERRAIN_CHECK_DATA), - MANUAL_SETPOINT(MANUAL_SETPOINT_DATA), - SCALED_IMU3(SCALED_IMU3_DATA), + DATA_STREAM(DATA_STREAM_DATA), + HIL_SENSOR(HIL_SENSOR_DATA), + OPEN_DRONE_ID_MESSAGE_PACK(OPEN_DRONE_ID_MESSAGE_PACK_DATA), + WIND_COV(WIND_COV_DATA), + OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA), + TERRAIN_REPORT(TERRAIN_REPORT_DATA), + PARAM_MAP_RC(PARAM_MAP_RC_DATA), + CAMERA_TRIGGER(CAMERA_TRIGGER_DATA), + NAMED_VALUE_INT(NAMED_VALUE_INT_DATA), + CAMERA_SETTINGS(CAMERA_SETTINGS_DATA), + WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA), + HIGHRES_IMU(HIGHRES_IMU_DATA), + FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA), MAG_CAL_REPORT(MAG_CAL_REPORT_DATA), + ATTITUDE(ATTITUDE_DATA), + MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA), + POWER_STATUS(POWER_STATUS_DATA), + MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA), + SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA), + PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA), + COMMAND_LONG(COMMAND_LONG_DATA), + CHANGE_OPERATOR_CONTROL_ACK(CHANGE_OPERATOR_CONTROL_ACK_DATA), + OPTICAL_FLOW(OPTICAL_FLOW_DATA), + HIL_CONTROLS(HIL_CONTROLS_DATA), + CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA), + MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA), + COMMAND_CANCEL(COMMAND_CANCEL_DATA), + ODOMETRY(ODOMETRY_DATA), ADSB_VEHICLE(ADSB_VEHICLE_DATA), - DEBUG_VECT(DEBUG_VECT_DATA), - VIBRATION(VIBRATION_DATA), - PLAY_TUNE(PLAY_TUNE_DATA), - CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA), + MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA), + DISTANCE_SENSOR(DISTANCE_SENSOR_DATA), + RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA), + HOME_POSITION(HOME_POSITION_DATA), + MISSION_REQUEST(MISSION_REQUEST_DATA), HIL_STATE_QUATERNION(HIL_STATE_QUATERNION_DATA), + RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA), + SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA), + LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA), + EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA), + ATTITUDE_TARGET(ATTITUDE_TARGET_DATA), + MANUAL_SETPOINT(MANUAL_SETPOINT_DATA), + UAVCAN_NODE_INFO(UAVCAN_NODE_INFO_DATA), + SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA), + GLOBAL_VISION_POSITION_ESTIMATE(GLOBAL_VISION_POSITION_ESTIMATE_DATA), RAW_RPM(RAW_RPM_DATA), - SYS_STATUS(SYS_STATUS_DATA), - MISSION_ACK(MISSION_ACK_DATA), - LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA), - UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA), - OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA), - OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA), + GPS2_RTK(GPS2_RTK_DATA), HIL_OPTICAL_FLOW(HIL_OPTICAL_FLOW_DATA), - LOG_DATA(LOG_DATA_DATA), - BUTTON_CHANGE(BUTTON_CHANGE_DATA), - V2_EXTENSION(V2_EXTENSION_DATA), - FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA), - GIMBAL_MANAGER_SET_ATTITUDE(GIMBAL_MANAGER_SET_ATTITUDE_DATA), - EVENT(EVENT_DATA), - OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA), - AUTH_KEY(AUTH_KEY_DATA), - HYGROMETER_SENSOR(HYGROMETER_SENSOR_DATA), - GPS_STATUS(GPS_STATUS_DATA), - ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA), - NAMED_VALUE_INT(NAMED_VALUE_INT_DATA), - ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA), - PLAY_TUNE_V2(PLAY_TUNE_V2_DATA), - SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA), - CANFD_FRAME(CANFD_FRAME_DATA), - CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA), - REQUEST_EVENT(REQUEST_EVENT_DATA), - VFR_HUD(VFR_HUD_DATA), - LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA), - AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA), - VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA), - UAVCAN_NODE_INFO(UAVCAN_NODE_INFO_DATA), - TERRAIN_REQUEST(TERRAIN_REQUEST_DATA), - PING(PING_DATA), - MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA), - SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA), - HIGH_LATENCY(HIGH_LATENCY_DATA), -
}

Variants§

§

MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA)

§

COMMAND_INT(COMMAND_INT_DATA)

§

COLLISION(COLLISION_DATA)

§

RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA)

§

OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA)

§

LOGGING_ACK(LOGGING_ACK_DATA)

§

WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA)

§

MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA)

§

MANUAL_CONTROL(MANUAL_CONTROL_DATA)

§

SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA)

§

COMMAND_CANCEL(COMMAND_CANCEL_DATA)

§

LOG_ENTRY(LOG_ENTRY_DATA)

§

OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA)

§

SCALED_PRESSURE2(SCALED_PRESSURE2_DATA)

§

CAMERA_TRIGGER(CAMERA_TRIGGER_DATA)

§

SET_HOME_POSITION(SET_HOME_POSITION_DATA)

§

RAW_IMU(RAW_IMU_DATA)

§

SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA)

§

COMPONENT_METADATA(COMPONENT_METADATA_DATA)

§

GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA)

§

ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA)

§

MISSION_CURRENT(MISSION_CURRENT_DATA)

§

LOG_REQUEST_END(LOG_REQUEST_END_DATA)

§

FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA)

§

BATTERY_STATUS(BATTERY_STATUS_DATA)

§

LANDING_TARGET(LANDING_TARGET_DATA)

§

MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA)

§

WHEEL_DISTANCE(WHEEL_DISTANCE_DATA)

§

MISSION_COUNT(MISSION_COUNT_DATA)

§

AUTOPILOT_STATE_FOR_GIMBAL_DEVICE(AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA)

§

CHANGE_OPERATOR_CONTROL(CHANGE_OPERATOR_CONTROL_DATA)

§

HIL_STATE(HIL_STATE_DATA)

§

HIL_SENSOR(HIL_SENSOR_DATA)

§

PARAM_EXT_REQUEST_READ(PARAM_EXT_REQUEST_READ_DATA)

§

SCALED_PRESSURE(SCALED_PRESSURE_DATA)

§

SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA)

§

ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA)

§

COMPONENT_INFORMATION(COMPONENT_INFORMATION_DATA)

§

VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA)

§

GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA)

§

HIL_GPS(HIL_GPS_DATA)

§

GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA)

§

TERRAIN_REPORT(TERRAIN_REPORT_DATA)

§

AIS_VESSEL(AIS_VESSEL_DATA)

§

ODOMETRY(ODOMETRY_DATA)

§

SUPPORTED_TUNES(SUPPORTED_TUNES_DATA)

§

CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA)

§

OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA)

§

ATT_POS_MOCAP(ATT_POS_MOCAP_DATA)

§

LOGGING_DATA(LOGGING_DATA_DATA)

§

OPEN_DRONE_ID_MESSAGE_PACK(OPEN_DRONE_ID_MESSAGE_PACK_DATA)

§

MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA)

§

SETUP_SIGNING(SETUP_SIGNING_DATA)

§

PARAM_EXT_ACK(PARAM_EXT_ACK_DATA)

§

RADIO_STATUS(RADIO_STATUS_DATA)

§

RESPONSE_EVENT_ERROR(RESPONSE_EVENT_ERROR_DATA)

§

SIM_STATE(SIM_STATE_DATA)

§

FENCE_STATUS(FENCE_STATUS_DATA)

§

RESOURCE_REQUEST(RESOURCE_REQUEST_DATA)

§

TERRAIN_DATA(TERRAIN_DATA_DATA)

§

VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA)

§

EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA)

§

HEARTBEAT(HEARTBEAT_DATA)

§

VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA)

§

MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA)

§

CAN_FILTER_MODIFY(CAN_FILTER_MODIFY_DATA)

§

MISSION_ITEM_INT(MISSION_ITEM_INT_DATA)

§

HIGHRES_IMU(HIGHRES_IMU_DATA)

§

SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA)

§

DEBUG(DEBUG_DATA)

§

CAMERA_SETTINGS(CAMERA_SETTINGS_DATA)

§

MISSION_REQUEST_LIST(MISSION_REQUEST_LIST_DATA)

§

POSITION_TARGET_LOCAL_NED(POSITION_TARGET_LOCAL_NED_DATA)

§

SCALED_IMU(SCALED_IMU_DATA)

§

WIND_COV(WIND_COV_DATA)

§

MISSION_REQUEST(MISSION_REQUEST_DATA)

§

SERIAL_CONTROL(SERIAL_CONTROL_DATA)

§

PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA)

§

GPS2_RTK(GPS2_RTK_DATA)

§

COMMAND_ACK(COMMAND_ACK_DATA)

§

POWER_STATUS(POWER_STATUS_DATA)

§

GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA)

§

GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA)

§

PARAM_SET(PARAM_SET_DATA)

§

OPTICAL_FLOW(OPTICAL_FLOW_DATA)

§

RC_CHANNELS_SCALED(RC_CHANNELS_SCALED_DATA)

§

GPS_INJECT_DATA(GPS_INJECT_DATA_DATA)

§

PARAM_VALUE(PARAM_VALUE_DATA)

§

RC_CHANNELS(RC_CHANNELS_DATA)

§

ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA)

§

TIMESYNC(TIMESYNC_DATA)

§

SCALED_PRESSURE3(SCALED_PRESSURE3_DATA)

§

DATA_STREAM(DATA_STREAM_DATA)

§

HOME_POSITION(HOME_POSITION_DATA)

§

MEMORY_VECT(MEMORY_VECT_DATA)

§

NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA)

§

NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA)

§

CHANGE_OPERATOR_CONTROL_ACK(CHANGE_OPERATOR_CONTROL_ACK_DATA)

§

STATUSTEXT(STATUSTEXT_DATA)

§

CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA)

§

GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA)

§

UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA)

§

GPS_GLOBAL_ORIGIN(GPS_GLOBAL_ORIGIN_DATA)

§

EFI_STATUS(EFI_STATUS_DATA)

§

ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA)

§

CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA)

§

TRAJECTORY_REPRESENTATION_WAYPOINTS(TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA)

§

CELLULAR_STATUS(CELLULAR_STATUS_DATA)

§

ORBIT_EXECUTION_STATUS(ORBIT_EXECUTION_STATUS_DATA)

§

TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA)

§

RAW_PRESSURE(RAW_PRESSURE_DATA)

§

WINCH_STATUS(WINCH_STATUS_DATA)

§

OPEN_DRONE_ID_OPERATOR_ID(OPEN_DRONE_ID_OPERATOR_ID_DATA)

§

ATTITUDE_TARGET(ATTITUDE_TARGET_DATA)

§

GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA)

§

TUNNEL(TUNNEL_DATA)

§

OBSTACLE_DISTANCE(OBSTACLE_DISTANCE_DATA)

§

SAFETY_ALLOWED_AREA(SAFETY_ALLOWED_AREA_DATA)

§

DEBUG_FLOAT_ARRAY(DEBUG_FLOAT_ARRAY_DATA)

§

SERVO_OUTPUT_RAW(SERVO_OUTPUT_RAW_DATA)

§

DISTANCE_SENSOR(DISTANCE_SENSOR_DATA)

§

PARAM_MAP_RC(PARAM_MAP_RC_DATA)

§

TRAJECTORY_REPRESENTATION_BEZIER(TRAJECTORY_REPRESENTATION_BEZIER_DATA)

§

GENERATOR_STATUS(GENERATOR_STATUS_DATA)

§

SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA)

§

CAN_FRAME(CAN_FRAME_DATA)

§

SCALED_IMU2(SCALED_IMU2_DATA)

§

OPEN_DRONE_ID_LOCATION(OPEN_DRONE_ID_LOCATION_DATA)

§

COMMAND_LONG(COMMAND_LONG_DATA)

§

LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA)

§

POSITION_TARGET_GLOBAL_INT(POSITION_TARGET_GLOBAL_INT_DATA)

§

HIL_CONTROLS(HIL_CONTROLS_DATA)

§

CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA)

§

ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA)

§

REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA)

§

LOG_ERASE(LOG_ERASE_DATA)

§

GPS_RTCM_DATA(GPS_RTCM_DATA_DATA)

§

MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA)

§

OPEN_DRONE_ID_BASIC_ID(OPEN_DRONE_ID_BASIC_ID_DATA)

§

HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA)

§

MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA)

§

HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA)

§

SET_MODE(SET_MODE_DATA)

§

LOG_REQUEST_LIST(LOG_REQUEST_LIST_DATA)

§

HIGH_LATENCY2(HIGH_LATENCY2_DATA)

§

GIMBAL_MANAGER_SET_PITCHYAW(GIMBAL_MANAGER_SET_PITCHYAW_DATA)

§

PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA)

§

SYSTEM_TIME(SYSTEM_TIME_DATA)

§

MISSION_ITEM(MISSION_ITEM_DATA)

§

STORAGE_INFORMATION(STORAGE_INFORMATION_DATA)

§

GPS_RAW_INT(GPS_RAW_INT_DATA)

§

LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA)

§

RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA)

§

PROTOCOL_VERSION(PROTOCOL_VERSION_DATA)

§

PARAM_EXT_VALUE(PARAM_EXT_VALUE_DATA)

§

CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA)

§

PARAM_EXT_SET(PARAM_EXT_SET_DATA)

§

ESC_INFO(ESC_INFO_DATA)

§

GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA)

§

VISION_SPEED_ESTIMATE(VISION_SPEED_ESTIMATE_DATA)

§

LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA)

§

ESC_STATUS(ESC_STATUS_DATA)

§

PARAM_REQUEST_LIST(PARAM_REQUEST_LIST_DATA)

§

CAMERA_INFORMATION(CAMERA_INFORMATION_DATA)

§

ATTITUDE(ATTITUDE_DATA)

§

CELLULAR_CONFIG(CELLULAR_CONFIG_DATA)

§

GLOBAL_VISION_POSITION_ESTIMATE(GLOBAL_VISION_POSITION_ESTIMATE_DATA)

§

ALTITUDE(ALTITUDE_DATA)

§

GPS2_RAW(GPS2_RAW_DATA)

§

FOLLOW_TARGET(FOLLOW_TARGET_DATA)

§

GPS_INPUT(GPS_INPUT_DATA)

§

DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA)

§

GPS_RTK(GPS_RTK_DATA)

§

TERRAIN_CHECK(TERRAIN_CHECK_DATA)

§

MANUAL_SETPOINT(MANUAL_SETPOINT_DATA)

§

SCALED_IMU3(SCALED_IMU3_DATA)

§

MAG_CAL_REPORT(MAG_CAL_REPORT_DATA)

§

ADSB_VEHICLE(ADSB_VEHICLE_DATA)

§

DEBUG_VECT(DEBUG_VECT_DATA)

§

VIBRATION(VIBRATION_DATA)

§

PLAY_TUNE(PLAY_TUNE_DATA)

§

CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA)

§

HIL_STATE_QUATERNION(HIL_STATE_QUATERNION_DATA)

§

RAW_RPM(RAW_RPM_DATA)

§

SYS_STATUS(SYS_STATUS_DATA)

§

MISSION_ACK(MISSION_ACK_DATA)

§

LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA)

§

UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA)

§

OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA)

§

OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA)

§

HIL_OPTICAL_FLOW(HIL_OPTICAL_FLOW_DATA)

§

LOG_DATA(LOG_DATA_DATA)

§

BUTTON_CHANGE(BUTTON_CHANGE_DATA)

§

V2_EXTENSION(V2_EXTENSION_DATA)

§

FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA)

§

GIMBAL_MANAGER_SET_ATTITUDE(GIMBAL_MANAGER_SET_ATTITUDE_DATA)

§

EVENT(EVENT_DATA)

§

OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA)

§

AUTH_KEY(AUTH_KEY_DATA)

§

HYGROMETER_SENSOR(HYGROMETER_SENSOR_DATA)

§

GPS_STATUS(GPS_STATUS_DATA)

§

ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA)

§

NAMED_VALUE_INT(NAMED_VALUE_INT_DATA)

§

ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA)

§

PLAY_TUNE_V2(PLAY_TUNE_V2_DATA)

§

SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA)

§

CANFD_FRAME(CANFD_FRAME_DATA)

§

CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA)

§

REQUEST_EVENT(REQUEST_EVENT_DATA)

§

VFR_HUD(VFR_HUD_DATA)

§

LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA)

§

AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA)

§

VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA)

§

UAVCAN_NODE_INFO(UAVCAN_NODE_INFO_DATA)

§

TERRAIN_REQUEST(TERRAIN_REQUEST_DATA)

§

PING(PING_DATA)

§

MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA)

§

SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA)

§

HIGH_LATENCY(HIGH_LATENCY_DATA)

Trait Implementations§

source§

impl Clone for MavMessage

source§

fn clone(&self) -> MavMessage

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavMessage

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for MavMessage

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA), + DEBUG_FLOAT_ARRAY(DEBUG_FLOAT_ARRAY_DATA), + GENERATOR_STATUS(GENERATOR_STATUS_DATA), + ESC_STATUS(ESC_STATUS_DATA), +

}

Variants§

§

LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA)

§

SAFETY_ALLOWED_AREA(SAFETY_ALLOWED_AREA_DATA)

§

MISSION_ACK(MISSION_ACK_DATA)

§

SCALED_PRESSURE2(SCALED_PRESSURE2_DATA)

§

SIM_STATE(SIM_STATE_DATA)

§

HIGH_LATENCY2(HIGH_LATENCY2_DATA)

§

STATUSTEXT(STATUSTEXT_DATA)

§

ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA)

§

GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA)

§

ESC_INFO(ESC_INFO_DATA)

§

LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA)

§

MISSION_ITEM(MISSION_ITEM_DATA)

§

GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA)

§

PARAM_EXT_REQUEST_READ(PARAM_EXT_REQUEST_READ_DATA)

§

MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA)

§

TERRAIN_CHECK(TERRAIN_CHECK_DATA)

§

GIMBAL_MANAGER_SET_ATTITUDE(GIMBAL_MANAGER_SET_ATTITUDE_DATA)

§

PARAM_EXT_SET(PARAM_EXT_SET_DATA)

§

CAN_FRAME(CAN_FRAME_DATA)

§

COMPONENT_INFORMATION(COMPONENT_INFORMATION_DATA)

§

GPS_INJECT_DATA(GPS_INJECT_DATA_DATA)

§

CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA)

§

DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA)

§

FOLLOW_TARGET(FOLLOW_TARGET_DATA)

§

ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA)

§

HIL_GPS(HIL_GPS_DATA)

§

CAN_FILTER_MODIFY(CAN_FILTER_MODIFY_DATA)

§

OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA)

§

LOG_DATA(LOG_DATA_DATA)

§

OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA)

§

HIGH_LATENCY(HIGH_LATENCY_DATA)

§

PLAY_TUNE(PLAY_TUNE_DATA)

§

RC_CHANNELS_SCALED(RC_CHANNELS_SCALED_DATA)

§

RAW_IMU(RAW_IMU_DATA)

§

SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA)

§

MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA)

§

CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA)

§

EVENT(EVENT_DATA)

§

EFI_STATUS(EFI_STATUS_DATA)

§

REQUEST_EVENT(REQUEST_EVENT_DATA)

§

HYGROMETER_SENSOR(HYGROMETER_SENSOR_DATA)

§

REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA)

§

V2_EXTENSION(V2_EXTENSION_DATA)

§

DEBUG_VECT(DEBUG_VECT_DATA)

§

LOGGING_ACK(LOGGING_ACK_DATA)

§

OPEN_DRONE_ID_OPERATOR_ID(OPEN_DRONE_ID_OPERATOR_ID_DATA)

§

CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA)

§

OBSTACLE_DISTANCE(OBSTACLE_DISTANCE_DATA)

§

SCALED_IMU2(SCALED_IMU2_DATA)

§

PARAM_VALUE(PARAM_VALUE_DATA)

§

SERVO_OUTPUT_RAW(SERVO_OUTPUT_RAW_DATA)

§

CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA)

§

SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA)

§

GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA)

§

GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA)

§

PARAM_REQUEST_LIST(PARAM_REQUEST_LIST_DATA)

§

UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA)

§

PARAM_SET(PARAM_SET_DATA)

§

SCALED_PRESSURE(SCALED_PRESSURE_DATA)

§

SYSTEM_TIME(SYSTEM_TIME_DATA)

§

ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA)

§

ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA)

§

SET_HOME_POSITION(SET_HOME_POSITION_DATA)

§

SYS_STATUS(SYS_STATUS_DATA)

§

TIMESYNC(TIMESYNC_DATA)

§

LOG_REQUEST_END(LOG_REQUEST_END_DATA)

§

TRAJECTORY_REPRESENTATION_WAYPOINTS(TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA)

§

AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA)

§

MEMORY_VECT(MEMORY_VECT_DATA)

§

VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA)

§

CHANGE_OPERATOR_CONTROL(CHANGE_OPERATOR_CONTROL_DATA)

§

GPS_INPUT(GPS_INPUT_DATA)

§

COLLISION(COLLISION_DATA)

§

SCALED_IMU3(SCALED_IMU3_DATA)

§

CAMERA_INFORMATION(CAMERA_INFORMATION_DATA)

§

SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA)

§

PARAM_EXT_ACK(PARAM_EXT_ACK_DATA)

§

ORBIT_EXECUTION_STATUS(ORBIT_EXECUTION_STATUS_DATA)

§

SERIAL_CONTROL(SERIAL_CONTROL_DATA)

§

LOGGING_DATA(LOGGING_DATA_DATA)

§

TRAJECTORY_REPRESENTATION_BEZIER(TRAJECTORY_REPRESENTATION_BEZIER_DATA)

§

ALTITUDE(ALTITUDE_DATA)

§

RC_CHANNELS(RC_CHANNELS_DATA)

§

RESOURCE_REQUEST(RESOURCE_REQUEST_DATA)

§

COMPONENT_METADATA(COMPONENT_METADATA_DATA)

§

SUPPORTED_TUNES(SUPPORTED_TUNES_DATA)

§

OPEN_DRONE_ID_LOCATION(OPEN_DRONE_ID_LOCATION_DATA)

§

OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA)

§

BUTTON_CHANGE(BUTTON_CHANGE_DATA)

§

GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA)

§

GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA)

§

ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA)

§

LANDING_TARGET(LANDING_TARGET_DATA)

§

LOG_ENTRY(LOG_ENTRY_DATA)

§

POSITION_TARGET_LOCAL_NED(POSITION_TARGET_LOCAL_NED_DATA)

§

SET_MODE(SET_MODE_DATA)

§

AUTOPILOT_STATE_FOR_GIMBAL_DEVICE(AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA)

§

VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA)

§

DEBUG(DEBUG_DATA)

§

COMMAND_INT(COMMAND_INT_DATA)

§

LOG_REQUEST_LIST(LOG_REQUEST_LIST_DATA)

§

ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA)

§

UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA)

§

MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA)

§

AIS_VESSEL(AIS_VESSEL_DATA)

§

ATT_POS_MOCAP(ATT_POS_MOCAP_DATA)

§

HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA)

§

LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA)

§

TUNNEL(TUNNEL_DATA)

§

NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA)

§

AUTH_KEY(AUTH_KEY_DATA)

§

TERRAIN_DATA(TERRAIN_DATA_DATA)

§

OPEN_DRONE_ID_BASIC_ID(OPEN_DRONE_ID_BASIC_ID_DATA)

§

CELLULAR_CONFIG(CELLULAR_CONFIG_DATA)

§

HEARTBEAT(HEARTBEAT_DATA)

§

MISSION_COUNT(MISSION_COUNT_DATA)

§

PING(PING_DATA)

§

OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA)

§

GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA)

§

ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA)

§

OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA)

§

NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA)

§

PLAY_TUNE_V2(PLAY_TUNE_V2_DATA)

§

VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA)

§

STORAGE_INFORMATION(STORAGE_INFORMATION_DATA)

§

SETUP_SIGNING(SETUP_SIGNING_DATA)

§

LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA)

§

LOG_ERASE(LOG_ERASE_DATA)

§

GPS_RAW_INT(GPS_RAW_INT_DATA)

§

GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA)

§

MISSION_ITEM_INT(MISSION_ITEM_INT_DATA)

§

WINCH_STATUS(WINCH_STATUS_DATA)

§

FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA)

§

GPS2_RAW(GPS2_RAW_DATA)

§

GPS_RTK(GPS_RTK_DATA)

§

VIBRATION(VIBRATION_DATA)

§

HIL_STATE(HIL_STATE_DATA)

§

GPS_STATUS(GPS_STATUS_DATA)

§

SCALED_IMU(SCALED_IMU_DATA)

§

HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA)

§

MISSION_REQUEST_LIST(MISSION_REQUEST_LIST_DATA)

§

PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA)

§

PARAM_EXT_VALUE(PARAM_EXT_VALUE_DATA)

§

CELLULAR_STATUS(CELLULAR_STATUS_DATA)

§

CANFD_FRAME(CANFD_FRAME_DATA)

§

GPS_RTCM_DATA(GPS_RTCM_DATA_DATA)

§

MANUAL_CONTROL(MANUAL_CONTROL_DATA)

§

COMMAND_ACK(COMMAND_ACK_DATA)

§

RADIO_STATUS(RADIO_STATUS_DATA)

§

TERRAIN_REQUEST(TERRAIN_REQUEST_DATA)

§

VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA)

§

TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA)

§

CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA)

§

WHEEL_DISTANCE(WHEEL_DISTANCE_DATA)

§

MISSION_CURRENT(MISSION_CURRENT_DATA)

§

VFR_HUD(VFR_HUD_DATA)

§

SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA)

§

POSITION_TARGET_GLOBAL_INT(POSITION_TARGET_GLOBAL_INT_DATA)

§

VISION_SPEED_ESTIMATE(VISION_SPEED_ESTIMATE_DATA)

§

BATTERY_STATUS(BATTERY_STATUS_DATA)

§

FENCE_STATUS(FENCE_STATUS_DATA)

§

PROTOCOL_VERSION(PROTOCOL_VERSION_DATA)

§

RAW_PRESSURE(RAW_PRESSURE_DATA)

§

SCALED_PRESSURE3(SCALED_PRESSURE3_DATA)

§

GPS_GLOBAL_ORIGIN(GPS_GLOBAL_ORIGIN_DATA)

§

MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA)

§

GIMBAL_MANAGER_SET_PITCHYAW(GIMBAL_MANAGER_SET_PITCHYAW_DATA)

§

RESPONSE_EVENT_ERROR(RESPONSE_EVENT_ERROR_DATA)

§

DATA_STREAM(DATA_STREAM_DATA)

§

HIL_SENSOR(HIL_SENSOR_DATA)

§

OPEN_DRONE_ID_MESSAGE_PACK(OPEN_DRONE_ID_MESSAGE_PACK_DATA)

§

WIND_COV(WIND_COV_DATA)

§

OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA)

§

TERRAIN_REPORT(TERRAIN_REPORT_DATA)

§

PARAM_MAP_RC(PARAM_MAP_RC_DATA)

§

CAMERA_TRIGGER(CAMERA_TRIGGER_DATA)

§

NAMED_VALUE_INT(NAMED_VALUE_INT_DATA)

§

CAMERA_SETTINGS(CAMERA_SETTINGS_DATA)

§

WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA)

§

HIGHRES_IMU(HIGHRES_IMU_DATA)

§

FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA)

§

MAG_CAL_REPORT(MAG_CAL_REPORT_DATA)

§

ATTITUDE(ATTITUDE_DATA)

§

MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA)

§

POWER_STATUS(POWER_STATUS_DATA)

§

MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA)

§

SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA)

§

PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA)

§

COMMAND_LONG(COMMAND_LONG_DATA)

§

CHANGE_OPERATOR_CONTROL_ACK(CHANGE_OPERATOR_CONTROL_ACK_DATA)

§

OPTICAL_FLOW(OPTICAL_FLOW_DATA)

§

HIL_CONTROLS(HIL_CONTROLS_DATA)

§

CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA)

§

MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA)

§

COMMAND_CANCEL(COMMAND_CANCEL_DATA)

§

ODOMETRY(ODOMETRY_DATA)

§

ADSB_VEHICLE(ADSB_VEHICLE_DATA)

§

MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA)

§

DISTANCE_SENSOR(DISTANCE_SENSOR_DATA)

§

RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA)

§

HOME_POSITION(HOME_POSITION_DATA)

§

MISSION_REQUEST(MISSION_REQUEST_DATA)

§

HIL_STATE_QUATERNION(HIL_STATE_QUATERNION_DATA)

§

RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA)

§

SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA)

§

LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA)

§

EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA)

§

ATTITUDE_TARGET(ATTITUDE_TARGET_DATA)

§

MANUAL_SETPOINT(MANUAL_SETPOINT_DATA)

§

UAVCAN_NODE_INFO(UAVCAN_NODE_INFO_DATA)

§

SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA)

§

GLOBAL_VISION_POSITION_ESTIMATE(GLOBAL_VISION_POSITION_ESTIMATE_DATA)

§

RAW_RPM(RAW_RPM_DATA)

§

GPS2_RTK(GPS2_RTK_DATA)

§

HIL_OPTICAL_FLOW(HIL_OPTICAL_FLOW_DATA)

§

CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA)

§

DEBUG_FLOAT_ARRAY(DEBUG_FLOAT_ARRAY_DATA)

§

GENERATOR_STATUS(GENERATOR_STATUS_DATA)

§

ESC_STATUS(ESC_STATUS_DATA)

Trait Implementations§

source§

impl Clone for MavMessage

source§

fn clone(&self) -> MavMessage

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavMessage

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for MavMessage

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Message for MavMessage

source§

fn parse( version: MavlinkVersion, id: u32, diff --git a/mavlink/common/enum.MavMissionResult.html b/mavlink/common/enum.MavMissionResult.html index e155added5..b2d38bc851 100644 --- a/mavlink/common/enum.MavMissionResult.html +++ b/mavlink/common/enum.MavMissionResult.html @@ -1,4 +1,4 @@ -MavMissionResult in mavlink::common - Rust
pub enum MavMissionResult {
+MavMissionResult in mavlink::common - Rust
#[repr(u32)]
pub enum MavMissionResult {
Show 16 variants MAV_MISSION_ACCEPTED = 0, MAV_MISSION_ERROR = 1, MAV_MISSION_UNSUPPORTED_FRAME = 2, diff --git a/mavlink/common/enum.MavMissionType.html b/mavlink/common/enum.MavMissionType.html index 1dd295f041..f3612a8f3b 100644 --- a/mavlink/common/enum.MavMissionType.html +++ b/mavlink/common/enum.MavMissionType.html @@ -1,4 +1,4 @@ -MavMissionType in mavlink::common - Rust
pub enum MavMissionType {
+MavMissionType in mavlink::common - Rust
#[repr(u32)]
pub enum MavMissionType { MAV_MISSION_TYPE_MISSION = 0, MAV_MISSION_TYPE_FENCE = 1, MAV_MISSION_TYPE_RALLY = 2, diff --git a/mavlink/common/enum.MavMode.html b/mavlink/common/enum.MavMode.html index a15374e6c3..9a3675a6f0 100644 --- a/mavlink/common/enum.MavMode.html +++ b/mavlink/common/enum.MavMode.html @@ -1,4 +1,4 @@ -MavMode in mavlink::common - Rust

Enum mavlink::common::MavMode

source ·
pub enum MavMode {
+MavMode in mavlink::common - Rust

Enum mavlink::common::MavMode

source ·
#[repr(u32)]
pub enum MavMode { MAV_MODE_PREFLIGHT = 0, MAV_MODE_STABILIZE_DISARMED = 80, MAV_MODE_STABILIZE_ARMED = 208, diff --git a/mavlink/common/enum.MavModeFlagDecodePosition.html b/mavlink/common/enum.MavModeFlagDecodePosition.html index f0a1dfdc8d..77e12b40c9 100644 --- a/mavlink/common/enum.MavModeFlagDecodePosition.html +++ b/mavlink/common/enum.MavModeFlagDecodePosition.html @@ -1,4 +1,4 @@ -MavModeFlagDecodePosition in mavlink::common - Rust
pub enum MavModeFlagDecodePosition {
+MavModeFlagDecodePosition in mavlink::common - Rust
#[repr(u32)]
pub enum MavModeFlagDecodePosition { MAV_MODE_FLAG_DECODE_POSITION_SAFETY = 128, MAV_MODE_FLAG_DECODE_POSITION_MANUAL = 64, MAV_MODE_FLAG_DECODE_POSITION_HIL = 32, diff --git a/mavlink/common/enum.MavMountMode.html b/mavlink/common/enum.MavMountMode.html index f751a7de35..4ca138b9e7 100644 --- a/mavlink/common/enum.MavMountMode.html +++ b/mavlink/common/enum.MavMountMode.html @@ -1,4 +1,4 @@ -MavMountMode in mavlink::common - Rust
pub enum MavMountMode {
+MavMountMode in mavlink::common - Rust
#[repr(u32)]
pub enum MavMountMode { MAV_MOUNT_MODE_RETRACT = 0, MAV_MOUNT_MODE_NEUTRAL = 1, MAV_MOUNT_MODE_MAVLINK_TARGETING = 2, diff --git a/mavlink/common/enum.MavOdidArmStatus.html b/mavlink/common/enum.MavOdidArmStatus.html index c729dc1182..5ca6efef4d 100644 --- a/mavlink/common/enum.MavOdidArmStatus.html +++ b/mavlink/common/enum.MavOdidArmStatus.html @@ -1,4 +1,4 @@ -MavOdidArmStatus in mavlink::common - Rust
pub enum MavOdidArmStatus {
+MavOdidArmStatus in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidArmStatus { MAV_ODID_ARM_STATUS_GOOD_TO_ARM = 0, MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC = 1, }

Variants§

§

MAV_ODID_ARM_STATUS_GOOD_TO_ARM = 0

§

MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC = 1

Implementations§

source§

impl MavOdidArmStatus

source

pub const DEFAULT: Self = Self::MAV_ODID_ARM_STATUS_GOOD_TO_ARM

Trait Implementations§

source§

impl Clone for MavOdidArmStatus

source§

fn clone(&self) -> MavOdidArmStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavOdidArmStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavOdidArmStatus

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavOdidArmStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/common/enum.MavOdidAuthType.html b/mavlink/common/enum.MavOdidAuthType.html index ddb32dc0ef..2d6789cd80 100644 --- a/mavlink/common/enum.MavOdidAuthType.html +++ b/mavlink/common/enum.MavOdidAuthType.html @@ -1,4 +1,4 @@ -MavOdidAuthType in mavlink::common - Rust
pub enum MavOdidAuthType {
+MavOdidAuthType in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidAuthType { MAV_ODID_AUTH_TYPE_NONE = 0, MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE = 1, MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE = 2, diff --git a/mavlink/common/enum.MavOdidCategoryEu.html b/mavlink/common/enum.MavOdidCategoryEu.html index 11ed8017f5..0903588baf 100644 --- a/mavlink/common/enum.MavOdidCategoryEu.html +++ b/mavlink/common/enum.MavOdidCategoryEu.html @@ -1,4 +1,4 @@ -MavOdidCategoryEu in mavlink::common - Rust
pub enum MavOdidCategoryEu {
+MavOdidCategoryEu in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidCategoryEu { MAV_ODID_CATEGORY_EU_UNDECLARED = 0, MAV_ODID_CATEGORY_EU_OPEN = 1, MAV_ODID_CATEGORY_EU_SPECIFIC = 2, diff --git a/mavlink/common/enum.MavOdidClassEu.html b/mavlink/common/enum.MavOdidClassEu.html index 738b5d3a49..03275c6441 100644 --- a/mavlink/common/enum.MavOdidClassEu.html +++ b/mavlink/common/enum.MavOdidClassEu.html @@ -1,4 +1,4 @@ -MavOdidClassEu in mavlink::common - Rust
pub enum MavOdidClassEu {
+MavOdidClassEu in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidClassEu { MAV_ODID_CLASS_EU_UNDECLARED = 0, MAV_ODID_CLASS_EU_CLASS_0 = 1, MAV_ODID_CLASS_EU_CLASS_1 = 2, diff --git a/mavlink/common/enum.MavOdidClassificationType.html b/mavlink/common/enum.MavOdidClassificationType.html index 5a99eaf1ae..0e276b1017 100644 --- a/mavlink/common/enum.MavOdidClassificationType.html +++ b/mavlink/common/enum.MavOdidClassificationType.html @@ -1,4 +1,4 @@ -MavOdidClassificationType in mavlink::common - Rust
pub enum MavOdidClassificationType {
+MavOdidClassificationType in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidClassificationType { MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED = 0, MAV_ODID_CLASSIFICATION_TYPE_EU = 1, }

Variants§

§

MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED = 0

§

MAV_ODID_CLASSIFICATION_TYPE_EU = 1

Implementations§

source§

impl MavOdidClassificationType

source

pub const DEFAULT: Self = Self::MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED

Trait Implementations§

source§

impl Clone for MavOdidClassificationType

source§

fn clone(&self) -> MavOdidClassificationType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavOdidClassificationType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavOdidClassificationType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavOdidClassificationType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/common/enum.MavOdidDescType.html b/mavlink/common/enum.MavOdidDescType.html index 5b50040163..c78aac8f94 100644 --- a/mavlink/common/enum.MavOdidDescType.html +++ b/mavlink/common/enum.MavOdidDescType.html @@ -1,4 +1,4 @@ -MavOdidDescType in mavlink::common - Rust
pub enum MavOdidDescType {
+MavOdidDescType in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidDescType { MAV_ODID_DESC_TYPE_TEXT = 0, MAV_ODID_DESC_TYPE_EMERGENCY = 1, MAV_ODID_DESC_TYPE_EXTENDED_STATUS = 2, diff --git a/mavlink/common/enum.MavOdidHeightRef.html b/mavlink/common/enum.MavOdidHeightRef.html index 967b37f1c8..bcf69a0341 100644 --- a/mavlink/common/enum.MavOdidHeightRef.html +++ b/mavlink/common/enum.MavOdidHeightRef.html @@ -1,4 +1,4 @@ -MavOdidHeightRef in mavlink::common - Rust
pub enum MavOdidHeightRef {
+MavOdidHeightRef in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidHeightRef { MAV_ODID_HEIGHT_REF_OVER_TAKEOFF = 0, MAV_ODID_HEIGHT_REF_OVER_GROUND = 1, }

Variants§

§

MAV_ODID_HEIGHT_REF_OVER_TAKEOFF = 0

§

MAV_ODID_HEIGHT_REF_OVER_GROUND = 1

Implementations§

source§

impl MavOdidHeightRef

source

pub const DEFAULT: Self = Self::MAV_ODID_HEIGHT_REF_OVER_TAKEOFF

Trait Implementations§

source§

impl Clone for MavOdidHeightRef

source§

fn clone(&self) -> MavOdidHeightRef

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavOdidHeightRef

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavOdidHeightRef

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavOdidHeightRef

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/common/enum.MavOdidHorAcc.html b/mavlink/common/enum.MavOdidHorAcc.html index 407f7fa7ee..0231d1ff95 100644 --- a/mavlink/common/enum.MavOdidHorAcc.html +++ b/mavlink/common/enum.MavOdidHorAcc.html @@ -1,4 +1,4 @@ -MavOdidHorAcc in mavlink::common - Rust
pub enum MavOdidHorAcc {
+MavOdidHorAcc in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidHorAcc {
Show 13 variants MAV_ODID_HOR_ACC_UNKNOWN = 0, MAV_ODID_HOR_ACC_10NM = 1, MAV_ODID_HOR_ACC_4NM = 2, diff --git a/mavlink/common/enum.MavOdidIdType.html b/mavlink/common/enum.MavOdidIdType.html index 0254424d6c..0bc2f8afdf 100644 --- a/mavlink/common/enum.MavOdidIdType.html +++ b/mavlink/common/enum.MavOdidIdType.html @@ -1,4 +1,4 @@ -MavOdidIdType in mavlink::common - Rust
pub enum MavOdidIdType {
+MavOdidIdType in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidIdType { MAV_ODID_ID_TYPE_NONE = 0, MAV_ODID_ID_TYPE_SERIAL_NUMBER = 1, MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID = 2, diff --git a/mavlink/common/enum.MavOdidOperatorIdType.html b/mavlink/common/enum.MavOdidOperatorIdType.html index 184cc83e0d..5e474bd91b 100644 --- a/mavlink/common/enum.MavOdidOperatorIdType.html +++ b/mavlink/common/enum.MavOdidOperatorIdType.html @@ -1,4 +1,4 @@ -MavOdidOperatorIdType in mavlink::common - Rust
pub enum MavOdidOperatorIdType {
+MavOdidOperatorIdType in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidOperatorIdType { MAV_ODID_OPERATOR_ID_TYPE_CAA = 0, }

Variants§

§

MAV_ODID_OPERATOR_ID_TYPE_CAA = 0

Implementations§

source§

impl MavOdidOperatorIdType

source

pub const DEFAULT: Self = Self::MAV_ODID_OPERATOR_ID_TYPE_CAA

Trait Implementations§

source§

impl Clone for MavOdidOperatorIdType

source§

fn clone(&self) -> MavOdidOperatorIdType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavOdidOperatorIdType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavOdidOperatorIdType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavOdidOperatorIdType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromPrimitive for MavOdidOperatorIdType

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the diff --git a/mavlink/common/enum.MavOdidOperatorLocationType.html b/mavlink/common/enum.MavOdidOperatorLocationType.html index 43072dc581..71d919f49d 100644 --- a/mavlink/common/enum.MavOdidOperatorLocationType.html +++ b/mavlink/common/enum.MavOdidOperatorLocationType.html @@ -1,4 +1,4 @@ -MavOdidOperatorLocationType in mavlink::common - Rust
pub enum MavOdidOperatorLocationType {
+MavOdidOperatorLocationType in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidOperatorLocationType { MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF = 0, MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS = 1, MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED = 2, diff --git a/mavlink/common/enum.MavOdidSpeedAcc.html b/mavlink/common/enum.MavOdidSpeedAcc.html index 5afea0b9f2..bf3266b246 100644 --- a/mavlink/common/enum.MavOdidSpeedAcc.html +++ b/mavlink/common/enum.MavOdidSpeedAcc.html @@ -1,4 +1,4 @@ -MavOdidSpeedAcc in mavlink::common - Rust
pub enum MavOdidSpeedAcc {
+MavOdidSpeedAcc in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidSpeedAcc { MAV_ODID_SPEED_ACC_UNKNOWN = 0, MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND = 1, MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND = 2, diff --git a/mavlink/common/enum.MavOdidStatus.html b/mavlink/common/enum.MavOdidStatus.html index 7695131ea3..01f80800fe 100644 --- a/mavlink/common/enum.MavOdidStatus.html +++ b/mavlink/common/enum.MavOdidStatus.html @@ -1,4 +1,4 @@ -MavOdidStatus in mavlink::common - Rust
pub enum MavOdidStatus {
+MavOdidStatus in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidStatus { MAV_ODID_STATUS_UNDECLARED = 0, MAV_ODID_STATUS_GROUND = 1, MAV_ODID_STATUS_AIRBORNE = 2, diff --git a/mavlink/common/enum.MavOdidTimeAcc.html b/mavlink/common/enum.MavOdidTimeAcc.html index fd05365f54..1dce29e6e1 100644 --- a/mavlink/common/enum.MavOdidTimeAcc.html +++ b/mavlink/common/enum.MavOdidTimeAcc.html @@ -1,4 +1,4 @@ -MavOdidTimeAcc in mavlink::common - Rust
pub enum MavOdidTimeAcc {
+MavOdidTimeAcc in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidTimeAcc {
Show 16 variants MAV_ODID_TIME_ACC_UNKNOWN = 0, MAV_ODID_TIME_ACC_0_1_SECOND = 1, MAV_ODID_TIME_ACC_0_2_SECOND = 2, diff --git a/mavlink/common/enum.MavOdidUaType.html b/mavlink/common/enum.MavOdidUaType.html index dd8df1c8c2..7708d13cc9 100644 --- a/mavlink/common/enum.MavOdidUaType.html +++ b/mavlink/common/enum.MavOdidUaType.html @@ -1,4 +1,4 @@ -MavOdidUaType in mavlink::common - Rust
pub enum MavOdidUaType {
+MavOdidUaType in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidUaType {
Show 16 variants MAV_ODID_UA_TYPE_NONE = 0, MAV_ODID_UA_TYPE_AEROPLANE = 1, MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR = 2, diff --git a/mavlink/common/enum.MavOdidVerAcc.html b/mavlink/common/enum.MavOdidVerAcc.html index 9e00d922d2..2d8d33d058 100644 --- a/mavlink/common/enum.MavOdidVerAcc.html +++ b/mavlink/common/enum.MavOdidVerAcc.html @@ -1,4 +1,4 @@ -MavOdidVerAcc in mavlink::common - Rust
pub enum MavOdidVerAcc {
+MavOdidVerAcc in mavlink::common - Rust
#[repr(u32)]
pub enum MavOdidVerAcc { MAV_ODID_VER_ACC_UNKNOWN = 0, MAV_ODID_VER_ACC_150_METER = 1, MAV_ODID_VER_ACC_45_METER = 2, diff --git a/mavlink/common/enum.MavParamExtType.html b/mavlink/common/enum.MavParamExtType.html index e2d53073f7..7ec503a49f 100644 --- a/mavlink/common/enum.MavParamExtType.html +++ b/mavlink/common/enum.MavParamExtType.html @@ -1,4 +1,4 @@ -MavParamExtType in mavlink::common - Rust
pub enum MavParamExtType {
+MavParamExtType in mavlink::common - Rust
#[repr(u32)]
pub enum MavParamExtType { MAV_PARAM_EXT_TYPE_UINT8 = 1, MAV_PARAM_EXT_TYPE_INT8 = 2, MAV_PARAM_EXT_TYPE_UINT16 = 3, diff --git a/mavlink/common/enum.MavParamType.html b/mavlink/common/enum.MavParamType.html index f179aa98be..4da3b35896 100644 --- a/mavlink/common/enum.MavParamType.html +++ b/mavlink/common/enum.MavParamType.html @@ -1,4 +1,4 @@ -MavParamType in mavlink::common - Rust
pub enum MavParamType {
+MavParamType in mavlink::common - Rust
#[repr(u32)]
pub enum MavParamType { MAV_PARAM_TYPE_UINT8 = 1, MAV_PARAM_TYPE_INT8 = 2, MAV_PARAM_TYPE_UINT16 = 3, diff --git a/mavlink/common/enum.MavResult.html b/mavlink/common/enum.MavResult.html index 961a3ec701..6533c47f6a 100644 --- a/mavlink/common/enum.MavResult.html +++ b/mavlink/common/enum.MavResult.html @@ -1,4 +1,4 @@ -MavResult in mavlink::common - Rust
pub enum MavResult {
+MavResult in mavlink::common - Rust
#[repr(u32)]
pub enum MavResult { MAV_RESULT_ACCEPTED = 0, MAV_RESULT_TEMPORARILY_REJECTED = 1, MAV_RESULT_DENIED = 2, diff --git a/mavlink/common/enum.MavRoi.html b/mavlink/common/enum.MavRoi.html index a22852019b..c6523e3fb9 100644 --- a/mavlink/common/enum.MavRoi.html +++ b/mavlink/common/enum.MavRoi.html @@ -1,4 +1,4 @@ -MavRoi in mavlink::common - Rust

Enum mavlink::common::MavRoi

source ·
pub enum MavRoi {
+MavRoi in mavlink::common - Rust

Enum mavlink::common::MavRoi

source ·
#[repr(u32)]
pub enum MavRoi { MAV_ROI_NONE = 0, MAV_ROI_WPNEXT = 1, MAV_ROI_WPINDEX = 2, diff --git a/mavlink/common/enum.MavSensorOrientation.html b/mavlink/common/enum.MavSensorOrientation.html index 66d14cd29d..d6aa4fd2e9 100644 --- a/mavlink/common/enum.MavSensorOrientation.html +++ b/mavlink/common/enum.MavSensorOrientation.html @@ -1,4 +1,4 @@ -MavSensorOrientation in mavlink::common - Rust
pub enum MavSensorOrientation {
+MavSensorOrientation in mavlink::common - Rust
#[repr(u32)]
pub enum MavSensorOrientation {
Show 42 variants MAV_SENSOR_ROTATION_NONE = 0, MAV_SENSOR_ROTATION_YAW_45 = 1, MAV_SENSOR_ROTATION_YAW_90 = 2, diff --git a/mavlink/common/enum.MavSeverity.html b/mavlink/common/enum.MavSeverity.html index ab2d553b50..56027ca2e4 100644 --- a/mavlink/common/enum.MavSeverity.html +++ b/mavlink/common/enum.MavSeverity.html @@ -1,4 +1,4 @@ -MavSeverity in mavlink::common - Rust
pub enum MavSeverity {
+MavSeverity in mavlink::common - Rust
#[repr(u32)]
pub enum MavSeverity { MAV_SEVERITY_EMERGENCY = 0, MAV_SEVERITY_ALERT = 1, MAV_SEVERITY_CRITICAL = 2, diff --git a/mavlink/common/enum.MavState.html b/mavlink/common/enum.MavState.html index b3201a5492..179d7d4965 100644 --- a/mavlink/common/enum.MavState.html +++ b/mavlink/common/enum.MavState.html @@ -1,4 +1,4 @@ -MavState in mavlink::common - Rust

Enum mavlink::common::MavState

source ·
pub enum MavState {
+MavState in mavlink::common - Rust

Enum mavlink::common::MavState

source ·
#[repr(u32)]
pub enum MavState { MAV_STATE_UNINIT = 0, MAV_STATE_BOOT = 1, MAV_STATE_CALIBRATING = 2, diff --git a/mavlink/common/enum.MavSysStatusSensorExtended.html b/mavlink/common/enum.MavSysStatusSensorExtended.html index 0bcb22697f..df7020be4e 100644 --- a/mavlink/common/enum.MavSysStatusSensorExtended.html +++ b/mavlink/common/enum.MavSysStatusSensorExtended.html @@ -1,4 +1,4 @@ -MavSysStatusSensorExtended in mavlink::common - Rust
pub enum MavSysStatusSensorExtended {
+MavSysStatusSensorExtended in mavlink::common - Rust
#[repr(u32)]
pub enum MavSysStatusSensorExtended { MAV_SYS_STATUS_RECOVERY_SYSTEM = 1, }

Variants§

§

MAV_SYS_STATUS_RECOVERY_SYSTEM = 1

Implementations§

source§

impl MavSysStatusSensorExtended

source

pub const DEFAULT: Self = Self::MAV_SYS_STATUS_RECOVERY_SYSTEM

Trait Implementations§

source§

impl Clone for MavSysStatusSensorExtended

source§

fn clone(&self) -> MavSysStatusSensorExtended

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavSysStatusSensorExtended

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavSysStatusSensorExtended

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavSysStatusSensorExtended

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromPrimitive for MavSysStatusSensorExtended

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the diff --git a/mavlink/common/enum.MavTunnelPayloadType.html b/mavlink/common/enum.MavTunnelPayloadType.html index 4ad38f1d2f..372a8df783 100644 --- a/mavlink/common/enum.MavTunnelPayloadType.html +++ b/mavlink/common/enum.MavTunnelPayloadType.html @@ -1,4 +1,4 @@ -MavTunnelPayloadType in mavlink::common - Rust
pub enum MavTunnelPayloadType {
+MavTunnelPayloadType in mavlink::common - Rust
#[repr(u32)]
pub enum MavTunnelPayloadType { MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN = 0, MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0 = 200, MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1 = 201, diff --git a/mavlink/common/enum.MavType.html b/mavlink/common/enum.MavType.html index 856bd759a2..c460f88ea9 100644 --- a/mavlink/common/enum.MavType.html +++ b/mavlink/common/enum.MavType.html @@ -1,4 +1,4 @@ -MavType in mavlink::common - Rust

Enum mavlink::common::MavType

source ·
pub enum MavType {
+MavType in mavlink::common - Rust

Enum mavlink::common::MavType

source ·
#[repr(u32)]
pub enum MavType {
Show 43 variants MAV_TYPE_GENERIC = 0, MAV_TYPE_FIXED_WING = 1, MAV_TYPE_QUADROTOR = 2, diff --git a/mavlink/common/enum.MavVtolState.html b/mavlink/common/enum.MavVtolState.html index 4e8adf314e..3d65126aac 100644 --- a/mavlink/common/enum.MavVtolState.html +++ b/mavlink/common/enum.MavVtolState.html @@ -1,4 +1,4 @@ -MavVtolState in mavlink::common - Rust
pub enum MavVtolState {
+MavVtolState in mavlink::common - Rust
#[repr(u32)]
pub enum MavVtolState { MAV_VTOL_STATE_UNDEFINED = 0, MAV_VTOL_STATE_TRANSITION_TO_FW = 1, MAV_VTOL_STATE_TRANSITION_TO_MC = 2, diff --git a/mavlink/common/enum.MavlinkDataStreamType.html b/mavlink/common/enum.MavlinkDataStreamType.html index 69b7f3d90b..2e61828d88 100644 --- a/mavlink/common/enum.MavlinkDataStreamType.html +++ b/mavlink/common/enum.MavlinkDataStreamType.html @@ -1,4 +1,4 @@ -MavlinkDataStreamType in mavlink::common - Rust
pub enum MavlinkDataStreamType {
+MavlinkDataStreamType in mavlink::common - Rust
#[repr(u32)]
pub enum MavlinkDataStreamType { MAVLINK_DATA_STREAM_IMG_JPEG = 0, MAVLINK_DATA_STREAM_IMG_BMP = 1, MAVLINK_DATA_STREAM_IMG_RAW8U = 2, diff --git a/mavlink/common/enum.MissionState.html b/mavlink/common/enum.MissionState.html index 325f2f55ca..9f5e76197c 100644 --- a/mavlink/common/enum.MissionState.html +++ b/mavlink/common/enum.MissionState.html @@ -1,4 +1,4 @@ -MissionState in mavlink::common - Rust
pub enum MissionState {
+MissionState in mavlink::common - Rust
#[repr(u32)]
pub enum MissionState { MISSION_STATE_UNKNOWN = 0, MISSION_STATE_NO_MISSION = 1, MISSION_STATE_NOT_STARTED = 2, diff --git a/mavlink/common/enum.MotorTestOrder.html b/mavlink/common/enum.MotorTestOrder.html index 6ad97d9889..a58bcbac66 100644 --- a/mavlink/common/enum.MotorTestOrder.html +++ b/mavlink/common/enum.MotorTestOrder.html @@ -1,4 +1,4 @@ -MotorTestOrder in mavlink::common - Rust
pub enum MotorTestOrder {
+MotorTestOrder in mavlink::common - Rust
#[repr(u32)]
pub enum MotorTestOrder { MOTOR_TEST_ORDER_DEFAULT = 0, MOTOR_TEST_ORDER_SEQUENCE = 1, MOTOR_TEST_ORDER_BOARD = 2, diff --git a/mavlink/common/enum.MotorTestThrottleType.html b/mavlink/common/enum.MotorTestThrottleType.html index 86a9bc2127..f15a4d36cb 100644 --- a/mavlink/common/enum.MotorTestThrottleType.html +++ b/mavlink/common/enum.MotorTestThrottleType.html @@ -1,4 +1,4 @@ -MotorTestThrottleType in mavlink::common - Rust
pub enum MotorTestThrottleType {
+MotorTestThrottleType in mavlink::common - Rust
#[repr(u32)]
pub enum MotorTestThrottleType { MOTOR_TEST_THROTTLE_PERCENT = 0, MOTOR_TEST_THROTTLE_PWM = 1, MOTOR_TEST_THROTTLE_PILOT = 2, diff --git a/mavlink/common/enum.NavVtolLandOptions.html b/mavlink/common/enum.NavVtolLandOptions.html index 4844c97fbe..325b2517e8 100644 --- a/mavlink/common/enum.NavVtolLandOptions.html +++ b/mavlink/common/enum.NavVtolLandOptions.html @@ -1,4 +1,4 @@ -NavVtolLandOptions in mavlink::common - Rust
pub enum NavVtolLandOptions {
+NavVtolLandOptions in mavlink::common - Rust
#[repr(u32)]
pub enum NavVtolLandOptions { NAV_VTOL_LAND_OPTIONS_DEFAULT = 0, NAV_VTOL_LAND_OPTIONS_FW_DESCENT = 1, NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT = 2, diff --git a/mavlink/common/enum.OrbitYawBehaviour.html b/mavlink/common/enum.OrbitYawBehaviour.html index 1e316dc53e..5491f923cb 100644 --- a/mavlink/common/enum.OrbitYawBehaviour.html +++ b/mavlink/common/enum.OrbitYawBehaviour.html @@ -1,4 +1,4 @@ -OrbitYawBehaviour in mavlink::common - Rust
pub enum OrbitYawBehaviour {
+OrbitYawBehaviour in mavlink::common - Rust
#[repr(u32)]
pub enum OrbitYawBehaviour { ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER = 0, ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING = 1, ORBIT_YAW_BEHAVIOUR_UNCONTROLLED = 2, diff --git a/mavlink/common/enum.ParachuteAction.html b/mavlink/common/enum.ParachuteAction.html index a04ecae9c2..b74cb82bd4 100644 --- a/mavlink/common/enum.ParachuteAction.html +++ b/mavlink/common/enum.ParachuteAction.html @@ -1,4 +1,4 @@ -ParachuteAction in mavlink::common - Rust
pub enum ParachuteAction {
+ParachuteAction in mavlink::common - Rust
#[repr(u32)]
pub enum ParachuteAction { PARACHUTE_DISABLE = 0, PARACHUTE_ENABLE = 1, PARACHUTE_RELEASE = 2, diff --git a/mavlink/common/enum.ParamAck.html b/mavlink/common/enum.ParamAck.html index 6c1e162ef8..898df50128 100644 --- a/mavlink/common/enum.ParamAck.html +++ b/mavlink/common/enum.ParamAck.html @@ -1,4 +1,4 @@ -ParamAck in mavlink::common - Rust

Enum mavlink::common::ParamAck

source ·
pub enum ParamAck {
+ParamAck in mavlink::common - Rust

Enum mavlink::common::ParamAck

source ·
#[repr(u32)]
pub enum ParamAck { PARAM_ACK_ACCEPTED = 0, PARAM_ACK_VALUE_UNSUPPORTED = 1, PARAM_ACK_FAILED = 2, diff --git a/mavlink/common/enum.PrecisionLandMode.html b/mavlink/common/enum.PrecisionLandMode.html index b50ff0f1f9..338dc6715f 100644 --- a/mavlink/common/enum.PrecisionLandMode.html +++ b/mavlink/common/enum.PrecisionLandMode.html @@ -1,4 +1,4 @@ -PrecisionLandMode in mavlink::common - Rust
pub enum PrecisionLandMode {
+PrecisionLandMode in mavlink::common - Rust
#[repr(u32)]
pub enum PrecisionLandMode { PRECISION_LAND_MODE_DISABLED = 0, PRECISION_LAND_MODE_OPPORTUNISTIC = 1, PRECISION_LAND_MODE_REQUIRED = 2, diff --git a/mavlink/common/enum.PreflightStorageMissionAction.html b/mavlink/common/enum.PreflightStorageMissionAction.html index 7bcfd99c56..b22e307d50 100644 --- a/mavlink/common/enum.PreflightStorageMissionAction.html +++ b/mavlink/common/enum.PreflightStorageMissionAction.html @@ -1,4 +1,4 @@ -PreflightStorageMissionAction in mavlink::common - Rust
pub enum PreflightStorageMissionAction {
+PreflightStorageMissionAction in mavlink::common - Rust
#[repr(u32)]
pub enum PreflightStorageMissionAction { MISSION_READ_PERSISTENT = 0, MISSION_WRITE_PERSISTENT = 1, MISSION_RESET_DEFAULT = 2, diff --git a/mavlink/common/enum.PreflightStorageParameterAction.html b/mavlink/common/enum.PreflightStorageParameterAction.html index 18ddb25cc0..d0f89b83ae 100644 --- a/mavlink/common/enum.PreflightStorageParameterAction.html +++ b/mavlink/common/enum.PreflightStorageParameterAction.html @@ -1,4 +1,4 @@ -PreflightStorageParameterAction in mavlink::common - Rust
pub enum PreflightStorageParameterAction {
+PreflightStorageParameterAction in mavlink::common - Rust
#[repr(u32)]
pub enum PreflightStorageParameterAction { PARAM_READ_PERSISTENT = 0, PARAM_WRITE_PERSISTENT = 1, PARAM_RESET_CONFIG_DEFAULT = 2, diff --git a/mavlink/common/enum.RcType.html b/mavlink/common/enum.RcType.html index 71d7086dac..529014abda 100644 --- a/mavlink/common/enum.RcType.html +++ b/mavlink/common/enum.RcType.html @@ -1,4 +1,4 @@ -RcType in mavlink::common - Rust

Enum mavlink::common::RcType

source ·
pub enum RcType {
+RcType in mavlink::common - Rust

Enum mavlink::common::RcType

source ·
#[repr(u32)]
pub enum RcType { RC_TYPE_SPEKTRUM_DSM2 = 0, RC_TYPE_SPEKTRUM_DSMX = 1, }

Variants§

§

RC_TYPE_SPEKTRUM_DSM2 = 0

§

RC_TYPE_SPEKTRUM_DSMX = 1

Implementations§

source§

impl RcType

source

pub const DEFAULT: Self = Self::RC_TYPE_SPEKTRUM_DSM2

Trait Implementations§

source§

impl Clone for RcType

source§

fn clone(&self) -> RcType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RcType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RcType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for RcType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/common/enum.RtkBaselineCoordinateSystem.html b/mavlink/common/enum.RtkBaselineCoordinateSystem.html index 8f7fc0ddfc..e260c6403f 100644 --- a/mavlink/common/enum.RtkBaselineCoordinateSystem.html +++ b/mavlink/common/enum.RtkBaselineCoordinateSystem.html @@ -1,4 +1,4 @@ -RtkBaselineCoordinateSystem in mavlink::common - Rust
pub enum RtkBaselineCoordinateSystem {
+RtkBaselineCoordinateSystem in mavlink::common - Rust
#[repr(u32)]
pub enum RtkBaselineCoordinateSystem { RTK_BASELINE_COORDINATE_SYSTEM_ECEF = 0, RTK_BASELINE_COORDINATE_SYSTEM_NED = 1, }

Variants§

§

RTK_BASELINE_COORDINATE_SYSTEM_ECEF = 0

§

RTK_BASELINE_COORDINATE_SYSTEM_NED = 1

Implementations§

source§

impl RtkBaselineCoordinateSystem

source

pub const DEFAULT: Self = Self::RTK_BASELINE_COORDINATE_SYSTEM_ECEF

Trait Implementations§

source§

impl Clone for RtkBaselineCoordinateSystem

source§

fn clone(&self) -> RtkBaselineCoordinateSystem

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RtkBaselineCoordinateSystem

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RtkBaselineCoordinateSystem

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for RtkBaselineCoordinateSystem

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/common/enum.SerialControlDev.html b/mavlink/common/enum.SerialControlDev.html index af92c0dc0e..a2de805e5d 100644 --- a/mavlink/common/enum.SerialControlDev.html +++ b/mavlink/common/enum.SerialControlDev.html @@ -1,4 +1,4 @@ -SerialControlDev in mavlink::common - Rust
pub enum SerialControlDev {
+SerialControlDev in mavlink::common - Rust
#[repr(u32)]
pub enum SerialControlDev {
Show 15 variants SERIAL_CONTROL_DEV_TELEM1 = 0, SERIAL_CONTROL_DEV_TELEM2 = 1, SERIAL_CONTROL_DEV_GPS1 = 2, diff --git a/mavlink/common/enum.SetFocusType.html b/mavlink/common/enum.SetFocusType.html index ac763704d8..c1a1877111 100644 --- a/mavlink/common/enum.SetFocusType.html +++ b/mavlink/common/enum.SetFocusType.html @@ -1,4 +1,4 @@ -SetFocusType in mavlink::common - Rust
pub enum SetFocusType {
+SetFocusType in mavlink::common - Rust
#[repr(u32)]
pub enum SetFocusType { FOCUS_TYPE_STEP = 0, FOCUS_TYPE_CONTINUOUS = 1, FOCUS_TYPE_RANGE = 2, diff --git a/mavlink/common/enum.StorageStatus.html b/mavlink/common/enum.StorageStatus.html index 168e16a09d..18b39952b8 100644 --- a/mavlink/common/enum.StorageStatus.html +++ b/mavlink/common/enum.StorageStatus.html @@ -1,4 +1,4 @@ -StorageStatus in mavlink::common - Rust
pub enum StorageStatus {
+StorageStatus in mavlink::common - Rust
#[repr(u32)]
pub enum StorageStatus { STORAGE_STATUS_EMPTY = 0, STORAGE_STATUS_UNFORMATTED = 1, STORAGE_STATUS_READY = 2, diff --git a/mavlink/common/enum.StorageType.html b/mavlink/common/enum.StorageType.html index 6f1957bfdb..23a0c75039 100644 --- a/mavlink/common/enum.StorageType.html +++ b/mavlink/common/enum.StorageType.html @@ -1,4 +1,4 @@ -StorageType in mavlink::common - Rust
pub enum StorageType {
+StorageType in mavlink::common - Rust
#[repr(u32)]
pub enum StorageType { STORAGE_TYPE_UNKNOWN = 0, STORAGE_TYPE_USB_STICK = 1, STORAGE_TYPE_SD = 2, diff --git a/mavlink/common/enum.StorageUsageFlag.html b/mavlink/common/enum.StorageUsageFlag.html index f23e541a12..fa32dec304 100644 --- a/mavlink/common/enum.StorageUsageFlag.html +++ b/mavlink/common/enum.StorageUsageFlag.html @@ -1,4 +1,4 @@ -StorageUsageFlag in mavlink::common - Rust
pub enum StorageUsageFlag {
+StorageUsageFlag in mavlink::common - Rust
#[repr(u32)]
pub enum StorageUsageFlag { STORAGE_USAGE_FLAG_SET = 1, STORAGE_USAGE_FLAG_PHOTO = 2, STORAGE_USAGE_FLAG_VIDEO = 4, diff --git a/mavlink/common/enum.UavcanNodeHealth.html b/mavlink/common/enum.UavcanNodeHealth.html index 8a84448642..ed60be59da 100644 --- a/mavlink/common/enum.UavcanNodeHealth.html +++ b/mavlink/common/enum.UavcanNodeHealth.html @@ -1,4 +1,4 @@ -UavcanNodeHealth in mavlink::common - Rust
pub enum UavcanNodeHealth {
+UavcanNodeHealth in mavlink::common - Rust
#[repr(u32)]
pub enum UavcanNodeHealth { UAVCAN_NODE_HEALTH_OK = 0, UAVCAN_NODE_HEALTH_WARNING = 1, UAVCAN_NODE_HEALTH_ERROR = 2, diff --git a/mavlink/common/enum.UavcanNodeMode.html b/mavlink/common/enum.UavcanNodeMode.html index ba19ed6157..ad614de196 100644 --- a/mavlink/common/enum.UavcanNodeMode.html +++ b/mavlink/common/enum.UavcanNodeMode.html @@ -1,4 +1,4 @@ -UavcanNodeMode in mavlink::common - Rust
pub enum UavcanNodeMode {
+UavcanNodeMode in mavlink::common - Rust
#[repr(u32)]
pub enum UavcanNodeMode { UAVCAN_NODE_MODE_OPERATIONAL = 0, UAVCAN_NODE_MODE_INITIALIZATION = 1, UAVCAN_NODE_MODE_MAINTENANCE = 2, diff --git a/mavlink/common/enum.UtmFlightState.html b/mavlink/common/enum.UtmFlightState.html index 76886e10db..9035a9f71a 100644 --- a/mavlink/common/enum.UtmFlightState.html +++ b/mavlink/common/enum.UtmFlightState.html @@ -1,4 +1,4 @@ -UtmFlightState in mavlink::common - Rust
pub enum UtmFlightState {
+UtmFlightState in mavlink::common - Rust
#[repr(u32)]
pub enum UtmFlightState { UTM_FLIGHT_STATE_UNKNOWN = 1, UTM_FLIGHT_STATE_GROUND = 2, UTM_FLIGHT_STATE_AIRBORNE = 3, diff --git a/mavlink/common/enum.VideoStreamStatusFlags.html b/mavlink/common/enum.VideoStreamStatusFlags.html index 5c600b0970..3f4fd3c097 100644 --- a/mavlink/common/enum.VideoStreamStatusFlags.html +++ b/mavlink/common/enum.VideoStreamStatusFlags.html @@ -1,4 +1,4 @@ -VideoStreamStatusFlags in mavlink::common - Rust
pub enum VideoStreamStatusFlags {
+VideoStreamStatusFlags in mavlink::common - Rust
#[repr(u32)]
pub enum VideoStreamStatusFlags { VIDEO_STREAM_STATUS_FLAGS_RUNNING = 1, VIDEO_STREAM_STATUS_FLAGS_THERMAL = 2, }

Variants§

§

VIDEO_STREAM_STATUS_FLAGS_RUNNING = 1

§

VIDEO_STREAM_STATUS_FLAGS_THERMAL = 2

Implementations§

source§

impl VideoStreamStatusFlags

source

pub const DEFAULT: Self = Self::VIDEO_STREAM_STATUS_FLAGS_RUNNING

Trait Implementations§

source§

impl Clone for VideoStreamStatusFlags

source§

fn clone(&self) -> VideoStreamStatusFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for VideoStreamStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for VideoStreamStatusFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for VideoStreamStatusFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/common/enum.VideoStreamType.html b/mavlink/common/enum.VideoStreamType.html index 5799d0019e..f7cb36fcd7 100644 --- a/mavlink/common/enum.VideoStreamType.html +++ b/mavlink/common/enum.VideoStreamType.html @@ -1,4 +1,4 @@ -VideoStreamType in mavlink::common - Rust
pub enum VideoStreamType {
+VideoStreamType in mavlink::common - Rust
#[repr(u32)]
pub enum VideoStreamType { VIDEO_STREAM_TYPE_RTSP = 0, VIDEO_STREAM_TYPE_RTPUDP = 1, VIDEO_STREAM_TYPE_TCP_MPEG = 2, diff --git a/mavlink/common/enum.VtolTransitionHeading.html b/mavlink/common/enum.VtolTransitionHeading.html index 998ef9553e..2550f760f2 100644 --- a/mavlink/common/enum.VtolTransitionHeading.html +++ b/mavlink/common/enum.VtolTransitionHeading.html @@ -1,4 +1,4 @@ -VtolTransitionHeading in mavlink::common - Rust
pub enum VtolTransitionHeading {
+VtolTransitionHeading in mavlink::common - Rust
#[repr(u32)]
pub enum VtolTransitionHeading { VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT = 0, VTOL_TRANSITION_HEADING_NEXT_WAYPOINT = 1, VTOL_TRANSITION_HEADING_TAKEOFF = 2, diff --git a/mavlink/common/enum.WifiConfigApMode.html b/mavlink/common/enum.WifiConfigApMode.html index 73f3ed7b40..d417770546 100644 --- a/mavlink/common/enum.WifiConfigApMode.html +++ b/mavlink/common/enum.WifiConfigApMode.html @@ -1,4 +1,4 @@ -WifiConfigApMode in mavlink::common - Rust
pub enum WifiConfigApMode {
+WifiConfigApMode in mavlink::common - Rust
#[repr(u32)]
pub enum WifiConfigApMode { WIFI_CONFIG_AP_MODE_UNDEFINED = 0, WIFI_CONFIG_AP_MODE_AP = 1, WIFI_CONFIG_AP_MODE_STATION = 2, diff --git a/mavlink/common/enum.WifiConfigApResponse.html b/mavlink/common/enum.WifiConfigApResponse.html index 2008672927..f564b4b7d0 100644 --- a/mavlink/common/enum.WifiConfigApResponse.html +++ b/mavlink/common/enum.WifiConfigApResponse.html @@ -1,4 +1,4 @@ -WifiConfigApResponse in mavlink::common - Rust
pub enum WifiConfigApResponse {
+WifiConfigApResponse in mavlink::common - Rust
#[repr(u32)]
pub enum WifiConfigApResponse { WIFI_CONFIG_AP_RESPONSE_UNDEFINED = 0, WIFI_CONFIG_AP_RESPONSE_ACCEPTED = 1, WIFI_CONFIG_AP_RESPONSE_REJECTED = 2, diff --git a/mavlink/common/enum.WinchActions.html b/mavlink/common/enum.WinchActions.html index 20070e50a6..900755e974 100644 --- a/mavlink/common/enum.WinchActions.html +++ b/mavlink/common/enum.WinchActions.html @@ -1,4 +1,4 @@ -WinchActions in mavlink::common - Rust
pub enum WinchActions {
+WinchActions in mavlink::common - Rust
#[repr(u32)]
pub enum WinchActions { WINCH_RELAXED = 0, WINCH_RELATIVE_LENGTH_CONTROL = 1, WINCH_RATE_CONTROL = 2, diff --git a/mavlink/common/struct.AdsbFlags.html b/mavlink/common/struct.AdsbFlags.html index 1a305f791e..6400cf4d23 100644 --- a/mavlink/common/struct.AdsbFlags.html +++ b/mavlink/common/struct.AdsbFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-

source§

impl AdsbFlags

source

pub const DEFAULT: Self = Self::ADSB_FLAGS_VALID_COORDS

Trait Implementations§

source§

impl Binary for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AdsbFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = AdsbFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for AdsbFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl AdsbFlags

source

pub const DEFAULT: Self = Self::ADSB_FLAGS_VALID_COORDS

Trait Implementations§

source§

impl Binary for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AdsbFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = AdsbFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for AdsbFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for AdsbFlags

source§

fn bitor(self, other: AdsbFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = AdsbFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for AdsbFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = AdsbFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for AdsbFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for AdsbFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = AdsbFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AdsbFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for AdsbFlags

source§

fn clone(&self) -> AdsbFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AdsbFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AdsbFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = AdsbFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AdsbFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for AdsbFlags

source§

fn clone(&self) -> AdsbFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AdsbFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AdsbFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<AdsbFlags> for AdsbFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<AdsbFlags> for AdsbFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for AdsbFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AdsbFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = AdsbFlags

The resulting type after applying the ! operator.
source§

impl Octal for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AdsbFlags

source§

fn cmp(&self, other: &AdsbFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AdsbFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = AdsbFlags

The resulting type after applying the ! operator.
source§

impl Octal for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AdsbFlags

source§

fn cmp(&self, other: &AdsbFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for AdsbFlags

source§

fn eq(&self, other: &AdsbFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for AdsbFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for AdsbFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = AdsbFlags

The resulting type after applying the - operator.
source§

impl SubAssign for AdsbFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AdsbFlags

source§

impl Eq for AdsbFlags

source§

impl StructuralEq for AdsbFlags

source§

impl StructuralPartialEq for AdsbFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = AdsbFlags

The resulting type after applying the - operator.
source§

impl SubAssign for AdsbFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AdsbFlags

source§

impl Eq for AdsbFlags

source§

impl StructuralEq for AdsbFlags

source§

impl StructuralPartialEq for AdsbFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.AisFlags.html b/mavlink/common/struct.AisFlags.html index 8d90fab1ae..952e09357e 100644 --- a/mavlink/common/struct.AisFlags.html +++ b/mavlink/common/struct.AisFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl AisFlags

source

pub const DEFAULT: Self = Self::AIS_FLAGS_POSITION_ACCURACY

Trait Implementations§

source§

impl Binary for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AisFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = AisFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for AisFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl AisFlags

source

pub const DEFAULT: Self = Self::AIS_FLAGS_POSITION_ACCURACY

Trait Implementations§

source§

impl Binary for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AisFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = AisFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for AisFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for AisFlags

source§

fn bitor(self, other: AisFlags) -> Self

Returns the union of the two sets of flags.

§

type Output = AisFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for AisFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for AisFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = AisFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AisFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for AisFlags

source§

fn clone(&self) -> AisFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AisFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AisFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = AisFlags

The resulting type after applying the ^ operator.

source§

impl BitXorAssign for AisFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for AisFlags

source§

fn clone(&self) -> AisFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AisFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AisFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<AisFlags> for AisFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<AisFlags> for AisFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for AisFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AisFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = AisFlags

The resulting type after applying the ! operator.
source§

impl Octal for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AisFlags

source§

fn cmp(&self, other: &AisFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AisFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = AisFlags

The resulting type after applying the ! operator.
source§

impl Octal for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AisFlags

source§

fn cmp(&self, other: &AisFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for AisFlags

source§

fn eq(&self, other: &AisFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for AisFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for AisFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = AisFlags

The resulting type after applying the - operator.
source§

impl SubAssign for AisFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AisFlags

source§

impl Eq for AisFlags

source§

impl StructuralEq for AisFlags

source§

impl StructuralPartialEq for AisFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = AisFlags

The resulting type after applying the - operator.
source§

impl SubAssign for AisFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AisFlags

source§

impl Eq for AisFlags

source§

impl StructuralEq for AisFlags

source§

impl StructuralPartialEq for AisFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.AttitudeTargetTypemask.html b/mavlink/common/struct.AttitudeTargetTypemask.html index 0ce27bd0d3..f804ee853f 100644 --- a/mavlink/common/struct.AttitudeTargetTypemask.html +++ b/mavlink/common/struct.AttitudeTargetTypemask.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl AttitudeTargetTypemask

source

pub const DEFAULT: Self = Self::ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE

Trait Implementations§

source§

impl Binary for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AttitudeTargetTypemask

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = AttitudeTargetTypemask

The resulting type after applying the & operator.
source§

impl BitAndAssign for AttitudeTargetTypemask

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl AttitudeTargetTypemask

source

pub const DEFAULT: Self = Self::ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE

Trait Implementations§

source§

impl Binary for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AttitudeTargetTypemask

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = AttitudeTargetTypemask

The resulting type after applying the & operator.
source§

impl BitAndAssign for AttitudeTargetTypemask

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for AttitudeTargetTypemask

source§

fn bitor(self, other: AttitudeTargetTypemask) -> Self

Returns the union of the two sets of flags.

-
§

type Output = AttitudeTargetTypemask

The resulting type after applying the | operator.
source§

impl BitOrAssign for AttitudeTargetTypemask

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = AttitudeTargetTypemask

The resulting type after applying the | operator.
source§

impl BitOrAssign for AttitudeTargetTypemask

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for AttitudeTargetTypemask

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = AttitudeTargetTypemask

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AttitudeTargetTypemask

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for AttitudeTargetTypemask

source§

fn clone(&self) -> AttitudeTargetTypemask

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AttitudeTargetTypemask

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AttitudeTargetTypemask

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = AttitudeTargetTypemask

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AttitudeTargetTypemask

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for AttitudeTargetTypemask

source§

fn clone(&self) -> AttitudeTargetTypemask

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AttitudeTargetTypemask

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AttitudeTargetTypemask

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<AttitudeTargetTypemask> for AttitudeTargetTypemask

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<AttitudeTargetTypemask> for AttitudeTargetTypemask

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for AttitudeTargetTypemask

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AttitudeTargetTypemask

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = AttitudeTargetTypemask

The resulting type after applying the ! operator.
source§

impl Octal for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AttitudeTargetTypemask

source§

fn cmp(&self, other: &AttitudeTargetTypemask) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

§

type Output = AttitudeTargetTypemask

The resulting type after applying the ! operator.
source§

impl Octal for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AttitudeTargetTypemask

source§

fn cmp(&self, other: &AttitudeTargetTypemask) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for AttitudeTargetTypemask

source§

fn eq(&self, other: &AttitudeTargetTypemask) -> bool

This method tests for self and other values to be equal, and is used @@ -75,7 +75,7 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for AttitudeTargetTypemask

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for AttitudeTargetTypemask

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = AttitudeTargetTypemask

The resulting type after applying the - operator.
source§

impl SubAssign for AttitudeTargetTypemask

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
§

type Output = AttitudeTargetTypemask

The resulting type after applying the - operator.
source§

impl SubAssign for AttitudeTargetTypemask

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

source§

impl UpperHex for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AttitudeTargetTypemask

source§

impl Eq for AttitudeTargetTypemask

source§

impl StructuralEq for AttitudeTargetTypemask

source§

impl StructuralPartialEq for AttitudeTargetTypemask

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/mavlink/common/struct.CameraCapFlags.html b/mavlink/common/struct.CameraCapFlags.html index 7370dea58b..dc39725b2a 100644 --- a/mavlink/common/struct.CameraCapFlags.html +++ b/mavlink/common/struct.CameraCapFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-

source§

impl CameraCapFlags

source

pub const DEFAULT: Self = Self::CAMERA_CAP_FLAGS_CAPTURE_VIDEO

Trait Implementations§

source§

impl Binary for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for CameraCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = CameraCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for CameraCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl CameraCapFlags

source

pub const DEFAULT: Self = Self::CAMERA_CAP_FLAGS_CAPTURE_VIDEO

Trait Implementations§

source§

impl Binary for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for CameraCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = CameraCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for CameraCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for CameraCapFlags

source§

fn bitor(self, other: CameraCapFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = CameraCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for CameraCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = CameraCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for CameraCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for CameraCapFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = CameraCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for CameraCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for CameraCapFlags

source§

fn clone(&self) -> CameraCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CameraCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for CameraCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

source§

impl Clone for CameraCapFlags

source§

fn clone(&self) -> CameraCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CameraCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for CameraCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<CameraCapFlags> for CameraCapFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<CameraCapFlags> for CameraCapFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for CameraCapFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for CameraCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = CameraCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for CameraCapFlags

source§

fn cmp(&self, other: &CameraCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for CameraCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = CameraCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for CameraCapFlags

source§

fn cmp(&self, other: &CameraCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for CameraCapFlags

source§

fn eq(&self, other: &CameraCapFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,7 +75,7 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for CameraCapFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for CameraCapFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = CameraCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for CameraCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
§

type Output = CameraCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for CameraCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

source§

impl UpperHex for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for CameraCapFlags

source§

impl Eq for CameraCapFlags

source§

impl StructuralEq for CameraCapFlags

source§

impl StructuralPartialEq for CameraCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/mavlink/common/struct.EscFailureFlags.html b/mavlink/common/struct.EscFailureFlags.html index 469008fd1b..e907c7425f 100644 --- a/mavlink/common/struct.EscFailureFlags.html +++ b/mavlink/common/struct.EscFailureFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-

source§

impl EscFailureFlags

source

pub const DEFAULT: Self = Self::ESC_FAILURE_NONE

Trait Implementations§

source§

impl Binary for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for EscFailureFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
source§

impl EscFailureFlags

source

pub const DEFAULT: Self = Self::ESC_FAILURE_NONE

Trait Implementations§

source§

impl Binary for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for EscFailureFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = EscFailureFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for EscFailureFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for EscFailureFlags

source§

fn bitor(self, other: EscFailureFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = EscFailureFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for EscFailureFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = EscFailureFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for EscFailureFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for EscFailureFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = EscFailureFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for EscFailureFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
§

type Output = EscFailureFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for EscFailureFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for EscFailureFlags

source§

fn clone(&self) -> EscFailureFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EscFailureFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for EscFailureFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<EscFailureFlags> for EscFailureFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<EscFailureFlags> for EscFailureFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for EscFailureFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for EscFailureFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = EscFailureFlags

The resulting type after applying the ! operator.
source§

impl Octal for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for EscFailureFlags

source§

fn cmp(&self, other: &EscFailureFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for EscFailureFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = EscFailureFlags

The resulting type after applying the ! operator.
source§

impl Octal for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for EscFailureFlags

source§

fn cmp(&self, other: &EscFailureFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for EscFailureFlags

source§

fn eq(&self, other: &EscFailureFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,7 +75,7 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for EscFailureFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for EscFailureFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = EscFailureFlags

The resulting type after applying the - operator.
source§

impl SubAssign for EscFailureFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
§

type Output = EscFailureFlags

The resulting type after applying the - operator.
source§

impl SubAssign for EscFailureFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

source§

impl UpperHex for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for EscFailureFlags

source§

impl Eq for EscFailureFlags

source§

impl StructuralEq for EscFailureFlags

source§

impl StructuralPartialEq for EscFailureFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/mavlink/common/struct.EstimatorStatusFlags.html b/mavlink/common/struct.EstimatorStatusFlags.html index 8081148714..a766c1f567 100644 --- a/mavlink/common/struct.EstimatorStatusFlags.html +++ b/mavlink/common/struct.EstimatorStatusFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-

source§

impl EstimatorStatusFlags

source

pub const DEFAULT: Self = Self::ESTIMATOR_ATTITUDE

Trait Implementations§

source§

impl Binary for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for EstimatorStatusFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = EstimatorStatusFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for EstimatorStatusFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl EstimatorStatusFlags

source

pub const DEFAULT: Self = Self::ESTIMATOR_ATTITUDE

Trait Implementations§

source§

impl Binary for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for EstimatorStatusFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = EstimatorStatusFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for EstimatorStatusFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for EstimatorStatusFlags

source§

fn bitor(self, other: EstimatorStatusFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = EstimatorStatusFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for EstimatorStatusFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = EstimatorStatusFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for EstimatorStatusFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for EstimatorStatusFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = EstimatorStatusFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for EstimatorStatusFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for EstimatorStatusFlags

source§

fn clone(&self) -> EstimatorStatusFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EstimatorStatusFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for EstimatorStatusFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = EstimatorStatusFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for EstimatorStatusFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for EstimatorStatusFlags

source§

fn clone(&self) -> EstimatorStatusFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EstimatorStatusFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for EstimatorStatusFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<EstimatorStatusFlags> for EstimatorStatusFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<EstimatorStatusFlags> for EstimatorStatusFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for EstimatorStatusFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for EstimatorStatusFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = EstimatorStatusFlags

The resulting type after applying the ! operator.
source§

impl Octal for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for EstimatorStatusFlags

source§

fn cmp(&self, other: &EstimatorStatusFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for EstimatorStatusFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = EstimatorStatusFlags

The resulting type after applying the ! operator.
source§

impl Octal for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for EstimatorStatusFlags

source§

fn cmp(&self, other: &EstimatorStatusFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for EstimatorStatusFlags

source§

fn eq(&self, other: &EstimatorStatusFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,7 +75,7 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for EstimatorStatusFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for EstimatorStatusFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = EstimatorStatusFlags

The resulting type after applying the - operator.
source§

impl SubAssign for EstimatorStatusFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
§

type Output = EstimatorStatusFlags

The resulting type after applying the - operator.
source§

impl SubAssign for EstimatorStatusFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

source§

impl UpperHex for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for EstimatorStatusFlags

source§

impl Eq for EstimatorStatusFlags

source§

impl StructuralEq for EstimatorStatusFlags

source§

impl StructuralPartialEq for EstimatorStatusFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/mavlink/common/struct.GimbalDeviceCapFlags.html b/mavlink/common/struct.GimbalDeviceCapFlags.html index 55937fac86..a5190211bd 100644 --- a/mavlink/common/struct.GimbalDeviceCapFlags.html +++ b/mavlink/common/struct.GimbalDeviceCapFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-

source§

impl GimbalDeviceCapFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl GimbalDeviceCapFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GimbalDeviceCapFlags

source§

fn bitor(self, other: GimbalDeviceCapFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GimbalDeviceCapFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GimbalDeviceCapFlags

source§

fn clone(&self) -> GimbalDeviceCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = GimbalDeviceCapFlags

The resulting type after applying the ^ operator.

source§

impl BitXorAssign for GimbalDeviceCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for GimbalDeviceCapFlags

source§

fn clone(&self) -> GimbalDeviceCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GimbalDeviceCapFlags> for GimbalDeviceCapFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GimbalDeviceCapFlags> for GimbalDeviceCapFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GimbalDeviceCapFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceCapFlags

source§

fn cmp(&self, other: &GimbalDeviceCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceCapFlags

source§

fn cmp(&self, other: &GimbalDeviceCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GimbalDeviceCapFlags

source§

fn eq(&self, other: &GimbalDeviceCapFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GimbalDeviceCapFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GimbalDeviceCapFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceCapFlags

source§

impl Eq for GimbalDeviceCapFlags

source§

impl StructuralEq for GimbalDeviceCapFlags

source§

impl StructuralPartialEq for GimbalDeviceCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = GimbalDeviceCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceCapFlags

source§

impl Eq for GimbalDeviceCapFlags

source§

impl StructuralEq for GimbalDeviceCapFlags

source§

impl StructuralPartialEq for GimbalDeviceCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.GimbalDeviceErrorFlags.html b/mavlink/common/struct.GimbalDeviceErrorFlags.html index 72bec38ab0..d66e2ab3ef 100644 --- a/mavlink/common/struct.GimbalDeviceErrorFlags.html +++ b/mavlink/common/struct.GimbalDeviceErrorFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl GimbalDeviceErrorFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT

Trait Implementations§

source§

impl Binary for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceErrorFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceErrorFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl GimbalDeviceErrorFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT

Trait Implementations§

source§

impl Binary for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceErrorFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceErrorFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GimbalDeviceErrorFlags

source§

fn bitor(self, other: GimbalDeviceErrorFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceErrorFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceErrorFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GimbalDeviceErrorFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceErrorFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GimbalDeviceErrorFlags

source§

fn clone(&self) -> GimbalDeviceErrorFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceErrorFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceErrorFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

source§

impl Clone for GimbalDeviceErrorFlags

source§

fn clone(&self) -> GimbalDeviceErrorFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceErrorFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceErrorFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GimbalDeviceErrorFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceErrorFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceErrorFlags

source§

fn cmp(&self, other: &GimbalDeviceErrorFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceErrorFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceErrorFlags

source§

fn cmp(&self, other: &GimbalDeviceErrorFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GimbalDeviceErrorFlags

source§

fn eq(&self, other: &GimbalDeviceErrorFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GimbalDeviceErrorFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GimbalDeviceErrorFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceErrorFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceErrorFlags

source§

impl Eq for GimbalDeviceErrorFlags

source§

impl StructuralEq for GimbalDeviceErrorFlags

source§

impl StructuralPartialEq for GimbalDeviceErrorFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceErrorFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceErrorFlags

source§

impl Eq for GimbalDeviceErrorFlags

source§

impl StructuralEq for GimbalDeviceErrorFlags

source§

impl StructuralPartialEq for GimbalDeviceErrorFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.GimbalDeviceFlags.html b/mavlink/common/struct.GimbalDeviceFlags.html index d99cc239b9..9d07edc1f5 100644 --- a/mavlink/common/struct.GimbalDeviceFlags.html +++ b/mavlink/common/struct.GimbalDeviceFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl GimbalDeviceFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_FLAGS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl GimbalDeviceFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_FLAGS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = GimbalDeviceFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GimbalDeviceFlags

source§

fn bitor(self, other: GimbalDeviceFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GimbalDeviceFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GimbalDeviceFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
§

type Output = GimbalDeviceFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for GimbalDeviceFlags

source§

fn clone(&self) -> GimbalDeviceFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GimbalDeviceFlags> for GimbalDeviceFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GimbalDeviceFlags> for GimbalDeviceFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GimbalDeviceFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceFlags

source§

fn cmp(&self, other: &GimbalDeviceFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = GimbalDeviceFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceFlags

source§

fn cmp(&self, other: &GimbalDeviceFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GimbalDeviceFlags

source§

fn eq(&self, other: &GimbalDeviceFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GimbalDeviceFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GimbalDeviceFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceFlags

source§

impl Eq for GimbalDeviceFlags

source§

impl StructuralEq for GimbalDeviceFlags

source§

impl StructuralPartialEq for GimbalDeviceFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = GimbalDeviceFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceFlags

source§

impl Eq for GimbalDeviceFlags

source§

impl StructuralEq for GimbalDeviceFlags

source§

impl StructuralPartialEq for GimbalDeviceFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.GimbalManagerCapFlags.html b/mavlink/common/struct.GimbalManagerCapFlags.html index 4a9be6b634..1a327cba3a 100644 --- a/mavlink/common/struct.GimbalManagerCapFlags.html +++ b/mavlink/common/struct.GimbalManagerCapFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl GimbalManagerCapFlags

source

pub const DEFAULT: Self = Self::GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalManagerCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GimbalManagerCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalManagerCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl GimbalManagerCapFlags

source

pub const DEFAULT: Self = Self::GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalManagerCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = GimbalManagerCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalManagerCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GimbalManagerCapFlags

source§

fn bitor(self, other: GimbalManagerCapFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GimbalManagerCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalManagerCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GimbalManagerCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalManagerCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GimbalManagerCapFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = GimbalManagerCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalManagerCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GimbalManagerCapFlags

source§

fn clone(&self) -> GimbalManagerCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalManagerCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalManagerCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = GimbalManagerCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalManagerCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for GimbalManagerCapFlags

source§

fn clone(&self) -> GimbalManagerCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalManagerCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalManagerCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GimbalManagerCapFlags> for GimbalManagerCapFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GimbalManagerCapFlags> for GimbalManagerCapFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GimbalManagerCapFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalManagerCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GimbalManagerCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalManagerCapFlags

source§

fn cmp(&self, other: &GimbalManagerCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalManagerCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = GimbalManagerCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalManagerCapFlags

source§

fn cmp(&self, other: &GimbalManagerCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GimbalManagerCapFlags

source§

fn eq(&self, other: &GimbalManagerCapFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GimbalManagerCapFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GimbalManagerCapFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GimbalManagerCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalManagerCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalManagerCapFlags

source§

impl Eq for GimbalManagerCapFlags

source§

impl StructuralEq for GimbalManagerCapFlags

source§

impl StructuralPartialEq for GimbalManagerCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = GimbalManagerCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalManagerCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalManagerCapFlags

source§

impl Eq for GimbalManagerCapFlags

source§

impl StructuralEq for GimbalManagerCapFlags

source§

impl StructuralPartialEq for GimbalManagerCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.GpsInputIgnoreFlags.html b/mavlink/common/struct.GpsInputIgnoreFlags.html index 96a2c74c37..a56ef39229 100644 --- a/mavlink/common/struct.GpsInputIgnoreFlags.html +++ b/mavlink/common/struct.GpsInputIgnoreFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl GpsInputIgnoreFlags

source

pub const DEFAULT: Self = Self::GPS_INPUT_IGNORE_FLAG_ALT

Trait Implementations§

source§

impl Binary for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GpsInputIgnoreFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GpsInputIgnoreFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl GpsInputIgnoreFlags

source

pub const DEFAULT: Self = Self::GPS_INPUT_IGNORE_FLAG_ALT

Trait Implementations§

source§

impl Binary for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GpsInputIgnoreFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GpsInputIgnoreFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GpsInputIgnoreFlags

source§

fn bitor(self, other: GpsInputIgnoreFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GpsInputIgnoreFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GpsInputIgnoreFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GpsInputIgnoreFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GpsInputIgnoreFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GpsInputIgnoreFlags

source§

fn clone(&self) -> GpsInputIgnoreFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GpsInputIgnoreFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GpsInputIgnoreFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = GpsInputIgnoreFlags

The resulting type after applying the ^ operator.

source§

impl BitXorAssign for GpsInputIgnoreFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for GpsInputIgnoreFlags

source§

fn clone(&self) -> GpsInputIgnoreFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GpsInputIgnoreFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GpsInputIgnoreFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GpsInputIgnoreFlags> for GpsInputIgnoreFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GpsInputIgnoreFlags> for GpsInputIgnoreFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GpsInputIgnoreFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GpsInputIgnoreFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the ! operator.
source§

impl Octal for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GpsInputIgnoreFlags

source§

fn cmp(&self, other: &GpsInputIgnoreFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GpsInputIgnoreFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the ! operator.
source§

impl Octal for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GpsInputIgnoreFlags

source§

fn cmp(&self, other: &GpsInputIgnoreFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GpsInputIgnoreFlags

source§

fn eq(&self, other: &GpsInputIgnoreFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GpsInputIgnoreFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GpsInputIgnoreFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GpsInputIgnoreFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GpsInputIgnoreFlags

source§

impl Eq for GpsInputIgnoreFlags

source§

impl StructuralEq for GpsInputIgnoreFlags

source§

impl StructuralPartialEq for GpsInputIgnoreFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = GpsInputIgnoreFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GpsInputIgnoreFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GpsInputIgnoreFlags

source§

impl Eq for GpsInputIgnoreFlags

source§

impl StructuralEq for GpsInputIgnoreFlags

source§

impl StructuralPartialEq for GpsInputIgnoreFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.HighresImuUpdatedFlags.html b/mavlink/common/struct.HighresImuUpdatedFlags.html index 93f659d2dd..27f117f53a 100644 --- a/mavlink/common/struct.HighresImuUpdatedFlags.html +++ b/mavlink/common/struct.HighresImuUpdatedFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl HighresImuUpdatedFlags

source

pub const DEFAULT: Self = Self::HIGHRES_IMU_UPDATED_NONE

Trait Implementations§

source§

impl Binary for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HighresImuUpdatedFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for HighresImuUpdatedFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl HighresImuUpdatedFlags

source

pub const DEFAULT: Self = Self::HIGHRES_IMU_UPDATED_NONE

Trait Implementations§

source§

impl Binary for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HighresImuUpdatedFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for HighresImuUpdatedFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for HighresImuUpdatedFlags

source§

fn bitor(self, other: HighresImuUpdatedFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for HighresImuUpdatedFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for HighresImuUpdatedFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for HighresImuUpdatedFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HighresImuUpdatedFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for HighresImuUpdatedFlags

source§

fn clone(&self) -> HighresImuUpdatedFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HighresImuUpdatedFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HighresImuUpdatedFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = HighresImuUpdatedFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HighresImuUpdatedFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for HighresImuUpdatedFlags

source§

fn clone(&self) -> HighresImuUpdatedFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HighresImuUpdatedFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HighresImuUpdatedFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<HighresImuUpdatedFlags> for HighresImuUpdatedFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<HighresImuUpdatedFlags> for HighresImuUpdatedFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for HighresImuUpdatedFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HighresImuUpdatedFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the ! operator.
source§

impl Octal for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HighresImuUpdatedFlags

source§

fn cmp(&self, other: &HighresImuUpdatedFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HighresImuUpdatedFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the ! operator.
source§

impl Octal for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HighresImuUpdatedFlags

source§

fn cmp(&self, other: &HighresImuUpdatedFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for HighresImuUpdatedFlags

source§

fn eq(&self, other: &HighresImuUpdatedFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,7 +75,7 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for HighresImuUpdatedFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for HighresImuUpdatedFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the - operator.
source§

impl SubAssign for HighresImuUpdatedFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the - operator.
source§

impl SubAssign for HighresImuUpdatedFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

source§

impl UpperHex for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HighresImuUpdatedFlags

source§

impl Eq for HighresImuUpdatedFlags

source§

impl StructuralEq for HighresImuUpdatedFlags

source§

impl StructuralPartialEq for HighresImuUpdatedFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/mavlink/common/struct.HilSensorUpdatedFlags.html b/mavlink/common/struct.HilSensorUpdatedFlags.html index 34676bfc55..31e988ad27 100644 --- a/mavlink/common/struct.HilSensorUpdatedFlags.html +++ b/mavlink/common/struct.HilSensorUpdatedFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-

source§

impl HilSensorUpdatedFlags

source

pub const DEFAULT: Self = Self::HIL_SENSOR_UPDATED_NONE

Trait Implementations§

source§

impl Binary for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HilSensorUpdatedFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for HilSensorUpdatedFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl HilSensorUpdatedFlags

source

pub const DEFAULT: Self = Self::HIL_SENSOR_UPDATED_NONE

Trait Implementations§

source§

impl Binary for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HilSensorUpdatedFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for HilSensorUpdatedFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for HilSensorUpdatedFlags

source§

fn bitor(self, other: HilSensorUpdatedFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for HilSensorUpdatedFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for HilSensorUpdatedFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for HilSensorUpdatedFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HilSensorUpdatedFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for HilSensorUpdatedFlags

source§

fn clone(&self) -> HilSensorUpdatedFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HilSensorUpdatedFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HilSensorUpdatedFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = HilSensorUpdatedFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HilSensorUpdatedFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for HilSensorUpdatedFlags

source§

fn clone(&self) -> HilSensorUpdatedFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HilSensorUpdatedFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HilSensorUpdatedFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<HilSensorUpdatedFlags> for HilSensorUpdatedFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<HilSensorUpdatedFlags> for HilSensorUpdatedFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for HilSensorUpdatedFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HilSensorUpdatedFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the ! operator.
source§

impl Octal for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HilSensorUpdatedFlags

source§

fn cmp(&self, other: &HilSensorUpdatedFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

§

type Output = HilSensorUpdatedFlags

The resulting type after applying the ! operator.
source§

impl Octal for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HilSensorUpdatedFlags

source§

fn cmp(&self, other: &HilSensorUpdatedFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for HilSensorUpdatedFlags

source§

fn eq(&self, other: &HilSensorUpdatedFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for HilSensorUpdatedFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for HilSensorUpdatedFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the - operator.
source§

impl SubAssign for HilSensorUpdatedFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HilSensorUpdatedFlags

source§

impl Eq for HilSensorUpdatedFlags

source§

impl StructuralEq for HilSensorUpdatedFlags

source§

impl StructuralPartialEq for HilSensorUpdatedFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = HilSensorUpdatedFlags

The resulting type after applying the - operator.
source§

impl SubAssign for HilSensorUpdatedFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HilSensorUpdatedFlags

source§

impl Eq for HilSensorUpdatedFlags

source§

impl StructuralEq for HilSensorUpdatedFlags

source§

impl StructuralPartialEq for HilSensorUpdatedFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.HlFailureFlag.html b/mavlink/common/struct.HlFailureFlag.html index 54a974c9ad..fbc047c925 100644 --- a/mavlink/common/struct.HlFailureFlag.html +++ b/mavlink/common/struct.HlFailureFlag.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl HlFailureFlag

source

pub const DEFAULT: Self = Self::HL_FAILURE_FLAG_GPS

Trait Implementations§

source§

impl Binary for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HlFailureFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = HlFailureFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for HlFailureFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl HlFailureFlag

source

pub const DEFAULT: Self = Self::HL_FAILURE_FLAG_GPS

Trait Implementations§

source§

impl Binary for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HlFailureFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = HlFailureFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for HlFailureFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for HlFailureFlag

source§

fn bitor(self, other: HlFailureFlag) -> Self

Returns the union of the two sets of flags.

-
§

type Output = HlFailureFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for HlFailureFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = HlFailureFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for HlFailureFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for HlFailureFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = HlFailureFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HlFailureFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for HlFailureFlag

source§

fn clone(&self) -> HlFailureFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HlFailureFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HlFailureFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

source§

impl Clone for HlFailureFlag

source§

fn clone(&self) -> HlFailureFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HlFailureFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HlFailureFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<HlFailureFlag> for HlFailureFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<HlFailureFlag> for HlFailureFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for HlFailureFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HlFailureFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = HlFailureFlag

The resulting type after applying the ! operator.
source§

impl Octal for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HlFailureFlag

source§

fn cmp(&self, other: &HlFailureFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HlFailureFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = HlFailureFlag

The resulting type after applying the ! operator.
source§

impl Octal for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HlFailureFlag

source§

fn cmp(&self, other: &HlFailureFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for HlFailureFlag

source§

fn eq(&self, other: &HlFailureFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for HlFailureFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for HlFailureFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = HlFailureFlag

The resulting type after applying the - operator.
source§

impl SubAssign for HlFailureFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HlFailureFlag

source§

impl Eq for HlFailureFlag

source§

impl StructuralEq for HlFailureFlag

source§

impl StructuralPartialEq for HlFailureFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = HlFailureFlag

The resulting type after applying the - operator.
source§

impl SubAssign for HlFailureFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HlFailureFlag

source§

impl Eq for HlFailureFlag

source§

impl StructuralEq for HlFailureFlag

source§

impl StructuralPartialEq for HlFailureFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.MavEventCurrentSequenceFlags.html b/mavlink/common/struct.MavEventCurrentSequenceFlags.html index e6f5f8802d..a37898cefd 100644 --- a/mavlink/common/struct.MavEventCurrentSequenceFlags.html +++ b/mavlink/common/struct.MavEventCurrentSequenceFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavEventCurrentSequenceFlags

source

pub const DEFAULT: Self = Self::MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET

Trait Implementations§

source§

impl Binary for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavEventCurrentSequenceFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
source§

impl MavEventCurrentSequenceFlags

source

pub const DEFAULT: Self = Self::MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET

Trait Implementations§

source§

impl Binary for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavEventCurrentSequenceFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavEventCurrentSequenceFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavEventCurrentSequenceFlags

source§

fn bitor(self, other: MavEventCurrentSequenceFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavEventCurrentSequenceFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavEventCurrentSequenceFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavEventCurrentSequenceFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavEventCurrentSequenceFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavEventCurrentSequenceFlags

source§

fn clone(&self) -> MavEventCurrentSequenceFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavEventCurrentSequenceFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavEventCurrentSequenceFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavEventCurrentSequenceFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for MavEventCurrentSequenceFlags

source§

fn clone(&self) -> MavEventCurrentSequenceFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavEventCurrentSequenceFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavEventCurrentSequenceFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavEventCurrentSequenceFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavEventCurrentSequenceFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the ! operator.
source§

impl Octal for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavEventCurrentSequenceFlags

source§

fn cmp(&self, other: &MavEventCurrentSequenceFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavEventCurrentSequenceFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the ! operator.
source§

impl Octal for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavEventCurrentSequenceFlags

source§

fn cmp(&self, other: &MavEventCurrentSequenceFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavEventCurrentSequenceFlags

source§

fn eq(&self, other: &MavEventCurrentSequenceFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavEventCurrentSequenceFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavEventCurrentSequenceFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the - operator.
source§

impl SubAssign for MavEventCurrentSequenceFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavEventCurrentSequenceFlags

source§

impl Eq for MavEventCurrentSequenceFlags

source§

impl StructuralEq for MavEventCurrentSequenceFlags

source§

impl StructuralPartialEq for MavEventCurrentSequenceFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the - operator.
source§

impl SubAssign for MavEventCurrentSequenceFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavEventCurrentSequenceFlags

source§

impl Eq for MavEventCurrentSequenceFlags

source§

impl StructuralEq for MavEventCurrentSequenceFlags

source§

impl StructuralPartialEq for MavEventCurrentSequenceFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.MavGeneratorStatusFlag.html b/mavlink/common/struct.MavGeneratorStatusFlag.html index 65b7427a16..62787f7dd8 100644 --- a/mavlink/common/struct.MavGeneratorStatusFlag.html +++ b/mavlink/common/struct.MavGeneratorStatusFlag.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavGeneratorStatusFlag

source

pub const DEFAULT: Self = Self::MAV_GENERATOR_STATUS_FLAG_OFF

Trait Implementations§

source§

impl Binary for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavGeneratorStatusFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavGeneratorStatusFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl MavGeneratorStatusFlag

source

pub const DEFAULT: Self = Self::MAV_GENERATOR_STATUS_FLAG_OFF

Trait Implementations§

source§

impl Binary for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavGeneratorStatusFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavGeneratorStatusFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavGeneratorStatusFlag

source§

fn bitor(self, other: MavGeneratorStatusFlag) -> Self

Returns the union of the two sets of flags.

§

type Output = MavGeneratorStatusFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavGeneratorStatusFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavGeneratorStatusFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = MavGeneratorStatusFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavGeneratorStatusFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavGeneratorStatusFlag

source§

fn clone(&self) -> MavGeneratorStatusFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavGeneratorStatusFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavGeneratorStatusFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

source§

impl Clone for MavGeneratorStatusFlag

source§

fn clone(&self) -> MavGeneratorStatusFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavGeneratorStatusFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavGeneratorStatusFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavGeneratorStatusFlag> for MavGeneratorStatusFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavGeneratorStatusFlag> for MavGeneratorStatusFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavGeneratorStatusFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavGeneratorStatusFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavGeneratorStatusFlag

source§

fn cmp(&self, other: &MavGeneratorStatusFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavGeneratorStatusFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavGeneratorStatusFlag

source§

fn cmp(&self, other: &MavGeneratorStatusFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavGeneratorStatusFlag

source§

fn eq(&self, other: &MavGeneratorStatusFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavGeneratorStatusFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavGeneratorStatusFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavGeneratorStatusFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavGeneratorStatusFlag

source§

impl Eq for MavGeneratorStatusFlag

source§

impl StructuralEq for MavGeneratorStatusFlag

source§

impl StructuralPartialEq for MavGeneratorStatusFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = MavGeneratorStatusFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavGeneratorStatusFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavGeneratorStatusFlag

source§

impl Eq for MavGeneratorStatusFlag

source§

impl StructuralEq for MavGeneratorStatusFlag

source§

impl StructuralPartialEq for MavGeneratorStatusFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.MavModeFlag.html b/mavlink/common/struct.MavModeFlag.html index 25a4a1c581..28c4b12f15 100644 --- a/mavlink/common/struct.MavModeFlag.html +++ b/mavlink/common/struct.MavModeFlag.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavModeFlag

source

pub const DEFAULT: Self = Self::MAV_MODE_FLAG_SAFETY_ARMED

Trait Implementations§

source§

impl Binary for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavModeFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
source§

impl MavModeFlag

source

pub const DEFAULT: Self = Self::MAV_MODE_FLAG_SAFETY_ARMED

Trait Implementations§

source§

impl Binary for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavModeFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = MavModeFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavModeFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavModeFlag

source§

fn bitor(self, other: MavModeFlag) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavModeFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavModeFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavModeFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavModeFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavModeFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavModeFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavModeFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
§

type Output = MavModeFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavModeFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for MavModeFlag

source§

fn clone(&self) -> MavModeFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavModeFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavModeFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavModeFlag> for MavModeFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavModeFlag> for MavModeFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavModeFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavModeFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavModeFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavModeFlag

source§

fn cmp(&self, other: &MavModeFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

§

type Output = MavModeFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavModeFlag

source§

fn cmp(&self, other: &MavModeFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavModeFlag

source§

fn eq(&self, other: &MavModeFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -76,7 +76,7 @@
Safety
operator. Read more
source§

impl Serialize for MavModeFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavModeFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

§

type Output = MavModeFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavModeFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavModeFlag

source§

impl Eq for MavModeFlag

source§

impl StructuralEq for MavModeFlag

source§

impl StructuralPartialEq for MavModeFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source§

impl UpperHex for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavModeFlag

source§

impl Eq for MavModeFlag

source§

impl StructuralEq for MavModeFlag

source§

impl StructuralPartialEq for MavModeFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.MavPowerStatus.html b/mavlink/common/struct.MavPowerStatus.html index 1a399512c0..395bc030df 100644 --- a/mavlink/common/struct.MavPowerStatus.html +++ b/mavlink/common/struct.MavPowerStatus.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavPowerStatus

source

pub const DEFAULT: Self = Self::MAV_POWER_STATUS_BRICK_VALID

Trait Implementations§

source§

impl Binary for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavPowerStatus

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavPowerStatus

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavPowerStatus

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl MavPowerStatus

source

pub const DEFAULT: Self = Self::MAV_POWER_STATUS_BRICK_VALID

Trait Implementations§

source§

impl Binary for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavPowerStatus

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = MavPowerStatus

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavPowerStatus

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavPowerStatus

source§

fn bitor(self, other: MavPowerStatus) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavPowerStatus

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavPowerStatus

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavPowerStatus

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavPowerStatus

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavPowerStatus

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavPowerStatus

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavPowerStatus

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
§

type Output = MavPowerStatus

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavPowerStatus

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for MavPowerStatus

source§

fn clone(&self) -> MavPowerStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavPowerStatus

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavPowerStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavPowerStatus> for MavPowerStatus

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavPowerStatus> for MavPowerStatus

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavPowerStatus

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavPowerStatus

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavPowerStatus

The resulting type after applying the ! operator.
source§

impl Octal for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavPowerStatus

source§

fn cmp(&self, other: &MavPowerStatus) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavPowerStatus

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavPowerStatus

The resulting type after applying the ! operator.
source§

impl Octal for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavPowerStatus

source§

fn cmp(&self, other: &MavPowerStatus) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavPowerStatus

source§

fn eq(&self, other: &MavPowerStatus) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavPowerStatus

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavPowerStatus

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavPowerStatus

The resulting type after applying the - operator.
source§

impl SubAssign for MavPowerStatus

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavPowerStatus

source§

impl Eq for MavPowerStatus

source§

impl StructuralEq for MavPowerStatus

source§

impl StructuralPartialEq for MavPowerStatus

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = MavPowerStatus

The resulting type after applying the - operator.
source§

impl SubAssign for MavPowerStatus

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavPowerStatus

source§

impl Eq for MavPowerStatus

source§

impl StructuralEq for MavPowerStatus

source§

impl StructuralPartialEq for MavPowerStatus

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.MavProtocolCapability.html b/mavlink/common/struct.MavProtocolCapability.html index a053e94dde..6e0eaf97f5 100644 --- a/mavlink/common/struct.MavProtocolCapability.html +++ b/mavlink/common/struct.MavProtocolCapability.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavProtocolCapability

source

pub const DEFAULT: Self = Self::MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT

Trait Implementations§

source§

impl Binary for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavProtocolCapability

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavProtocolCapability

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavProtocolCapability

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl MavProtocolCapability

source

pub const DEFAULT: Self = Self::MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT

Trait Implementations§

source§

impl Binary for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavProtocolCapability

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = MavProtocolCapability

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavProtocolCapability

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavProtocolCapability

source§

fn bitor(self, other: MavProtocolCapability) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavProtocolCapability

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavProtocolCapability

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavProtocolCapability

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavProtocolCapability

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavProtocolCapability

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavProtocolCapability

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavProtocolCapability

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
§

type Output = MavProtocolCapability

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavProtocolCapability

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for MavProtocolCapability

source§

fn clone(&self) -> MavProtocolCapability

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavProtocolCapability

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavProtocolCapability

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavProtocolCapability> for MavProtocolCapability

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavProtocolCapability> for MavProtocolCapability

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavProtocolCapability

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavProtocolCapability

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavProtocolCapability

The resulting type after applying the ! operator.
source§

impl Octal for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavProtocolCapability

source§

fn cmp(&self, other: &MavProtocolCapability) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavProtocolCapability

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavProtocolCapability

The resulting type after applying the ! operator.
source§

impl Octal for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavProtocolCapability

source§

fn cmp(&self, other: &MavProtocolCapability) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavProtocolCapability

source§

fn eq(&self, other: &MavProtocolCapability) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavProtocolCapability

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavProtocolCapability

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavProtocolCapability

The resulting type after applying the - operator.
source§

impl SubAssign for MavProtocolCapability

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavProtocolCapability

source§

impl Eq for MavProtocolCapability

source§

impl StructuralEq for MavProtocolCapability

source§

impl StructuralPartialEq for MavProtocolCapability

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = MavProtocolCapability

The resulting type after applying the - operator.
source§

impl SubAssign for MavProtocolCapability

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavProtocolCapability

source§

impl Eq for MavProtocolCapability

source§

impl StructuralEq for MavProtocolCapability

source§

impl StructuralPartialEq for MavProtocolCapability

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.MavSysStatusSensor.html b/mavlink/common/struct.MavSysStatusSensor.html index e72d3582b1..4feeb70ea4 100644 --- a/mavlink/common/struct.MavSysStatusSensor.html +++ b/mavlink/common/struct.MavSysStatusSensor.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavSysStatusSensor

source

pub const DEFAULT: Self = Self::MAV_SYS_STATUS_SENSOR_3D_GYRO

Trait Implementations§

source§

impl Binary for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavSysStatusSensor

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavSysStatusSensor

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavSysStatusSensor

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl MavSysStatusSensor

source

pub const DEFAULT: Self = Self::MAV_SYS_STATUS_SENSOR_3D_GYRO

Trait Implementations§

source§

impl Binary for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavSysStatusSensor

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = MavSysStatusSensor

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavSysStatusSensor

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavSysStatusSensor

source§

fn bitor(self, other: MavSysStatusSensor) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavSysStatusSensor

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavSysStatusSensor

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavSysStatusSensor

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavSysStatusSensor

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavSysStatusSensor

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = MavSysStatusSensor

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavSysStatusSensor

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavSysStatusSensor

source§

fn clone(&self) -> MavSysStatusSensor

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavSysStatusSensor

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavSysStatusSensor

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

source§

impl Clone for MavSysStatusSensor

source§

fn clone(&self) -> MavSysStatusSensor

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavSysStatusSensor

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavSysStatusSensor

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavSysStatusSensor> for MavSysStatusSensor

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavSysStatusSensor> for MavSysStatusSensor

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavSysStatusSensor

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavSysStatusSensor

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavSysStatusSensor

The resulting type after applying the ! operator.
source§

impl Octal for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavSysStatusSensor

source§

fn cmp(&self, other: &MavSysStatusSensor) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavSysStatusSensor

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavSysStatusSensor

The resulting type after applying the ! operator.
source§

impl Octal for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavSysStatusSensor

source§

fn cmp(&self, other: &MavSysStatusSensor) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavSysStatusSensor

source§

fn eq(&self, other: &MavSysStatusSensor) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavSysStatusSensor

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavSysStatusSensor

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavSysStatusSensor

The resulting type after applying the - operator.
source§

impl SubAssign for MavSysStatusSensor

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavSysStatusSensor

source§

impl Eq for MavSysStatusSensor

source§

impl StructuralEq for MavSysStatusSensor

source§

impl StructuralPartialEq for MavSysStatusSensor

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = MavSysStatusSensor

The resulting type after applying the - operator.
source§

impl SubAssign for MavSysStatusSensor

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavSysStatusSensor

source§

impl Eq for MavSysStatusSensor

source§

impl StructuralEq for MavSysStatusSensor

source§

impl StructuralPartialEq for MavSysStatusSensor

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.MavWinchStatusFlag.html b/mavlink/common/struct.MavWinchStatusFlag.html index 604a681831..aef1bb8efb 100644 --- a/mavlink/common/struct.MavWinchStatusFlag.html +++ b/mavlink/common/struct.MavWinchStatusFlag.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavWinchStatusFlag

source

pub const DEFAULT: Self = Self::MAV_WINCH_STATUS_HEALTHY

Trait Implementations§

source§

impl Binary for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavWinchStatusFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
source§

impl MavWinchStatusFlag

source

pub const DEFAULT: Self = Self::MAV_WINCH_STATUS_HEALTHY

Trait Implementations§

source§

impl Binary for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavWinchStatusFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = MavWinchStatusFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavWinchStatusFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavWinchStatusFlag

source§

fn bitor(self, other: MavWinchStatusFlag) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavWinchStatusFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavWinchStatusFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavWinchStatusFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavWinchStatusFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavWinchStatusFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavWinchStatusFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavWinchStatusFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavWinchStatusFlag

source§

fn clone(&self) -> MavWinchStatusFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavWinchStatusFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavWinchStatusFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = MavWinchStatusFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavWinchStatusFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for MavWinchStatusFlag

source§

fn clone(&self) -> MavWinchStatusFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavWinchStatusFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavWinchStatusFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavWinchStatusFlag> for MavWinchStatusFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavWinchStatusFlag> for MavWinchStatusFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavWinchStatusFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavWinchStatusFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavWinchStatusFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavWinchStatusFlag

source§

fn cmp(&self, other: &MavWinchStatusFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavWinchStatusFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavWinchStatusFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavWinchStatusFlag

source§

fn cmp(&self, other: &MavWinchStatusFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavWinchStatusFlag

source§

fn eq(&self, other: &MavWinchStatusFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -76,7 +76,7 @@
Safety
operator. Read more
source§

impl Serialize for MavWinchStatusFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavWinchStatusFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

§

type Output = MavWinchStatusFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavWinchStatusFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavWinchStatusFlag

source§

impl Eq for MavWinchStatusFlag

source§

impl StructuralEq for MavWinchStatusFlag

source§

impl StructuralPartialEq for MavWinchStatusFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source§

impl UpperHex for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavWinchStatusFlag

source§

impl Eq for MavWinchStatusFlag

source§

impl StructuralEq for MavWinchStatusFlag

source§

impl StructuralPartialEq for MavWinchStatusFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.PositionTargetTypemask.html b/mavlink/common/struct.PositionTargetTypemask.html index c7b7491191..b59f7dfd44 100644 --- a/mavlink/common/struct.PositionTargetTypemask.html +++ b/mavlink/common/struct.PositionTargetTypemask.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl PositionTargetTypemask

source

pub const DEFAULT: Self = Self::POSITION_TARGET_TYPEMASK_X_IGNORE

Trait Implementations§

source§

impl Binary for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for PositionTargetTypemask

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = PositionTargetTypemask

The resulting type after applying the & operator.
source§

impl BitAndAssign for PositionTargetTypemask

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl PositionTargetTypemask

source

pub const DEFAULT: Self = Self::POSITION_TARGET_TYPEMASK_X_IGNORE

Trait Implementations§

source§

impl Binary for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for PositionTargetTypemask

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = PositionTargetTypemask

The resulting type after applying the & operator.
source§

impl BitAndAssign for PositionTargetTypemask

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for PositionTargetTypemask

source§

fn bitor(self, other: PositionTargetTypemask) -> Self

Returns the union of the two sets of flags.

-
§

type Output = PositionTargetTypemask

The resulting type after applying the | operator.
source§

impl BitOrAssign for PositionTargetTypemask

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = PositionTargetTypemask

The resulting type after applying the | operator.
source§

impl BitOrAssign for PositionTargetTypemask

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for PositionTargetTypemask

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = PositionTargetTypemask

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for PositionTargetTypemask

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for PositionTargetTypemask

source§

fn clone(&self) -> PositionTargetTypemask

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PositionTargetTypemask

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for PositionTargetTypemask

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = PositionTargetTypemask

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for PositionTargetTypemask

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for PositionTargetTypemask

source§

fn clone(&self) -> PositionTargetTypemask

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PositionTargetTypemask

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for PositionTargetTypemask

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<PositionTargetTypemask> for PositionTargetTypemask

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<PositionTargetTypemask> for PositionTargetTypemask

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for PositionTargetTypemask

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for PositionTargetTypemask

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = PositionTargetTypemask

The resulting type after applying the ! operator.
source§

impl Octal for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for PositionTargetTypemask

source§

fn cmp(&self, other: &PositionTargetTypemask) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for PositionTargetTypemask

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = PositionTargetTypemask

The resulting type after applying the ! operator.
source§

impl Octal for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for PositionTargetTypemask

source§

fn cmp(&self, other: &PositionTargetTypemask) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for PositionTargetTypemask

source§

fn eq(&self, other: &PositionTargetTypemask) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for PositionTargetTypemask

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for PositionTargetTypemask

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = PositionTargetTypemask

The resulting type after applying the - operator.
source§

impl SubAssign for PositionTargetTypemask

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for PositionTargetTypemask

source§

impl Eq for PositionTargetTypemask

source§

impl StructuralEq for PositionTargetTypemask

source§

impl StructuralPartialEq for PositionTargetTypemask

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = PositionTargetTypemask

The resulting type after applying the - operator.
source§

impl SubAssign for PositionTargetTypemask

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for PositionTargetTypemask

source§

impl Eq for PositionTargetTypemask

source§

impl StructuralEq for PositionTargetTypemask

source§

impl StructuralPartialEq for PositionTargetTypemask

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.SerialControlFlag.html b/mavlink/common/struct.SerialControlFlag.html index a5159bb9d1..344f2ec5bf 100644 --- a/mavlink/common/struct.SerialControlFlag.html +++ b/mavlink/common/struct.SerialControlFlag.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl SerialControlFlag

source

pub const DEFAULT: Self = Self::SERIAL_CONTROL_FLAG_REPLY

Trait Implementations§

source§

impl Binary for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for SerialControlFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = SerialControlFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for SerialControlFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl SerialControlFlag

source

pub const DEFAULT: Self = Self::SERIAL_CONTROL_FLAG_REPLY

Trait Implementations§

source§

impl Binary for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for SerialControlFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = SerialControlFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for SerialControlFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for SerialControlFlag

source§

fn bitor(self, other: SerialControlFlag) -> Self

Returns the union of the two sets of flags.

-
§

type Output = SerialControlFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for SerialControlFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = SerialControlFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for SerialControlFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for SerialControlFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = SerialControlFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for SerialControlFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for SerialControlFlag

source§

fn clone(&self) -> SerialControlFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SerialControlFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for SerialControlFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<SerialControlFlag> for SerialControlFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<SerialControlFlag> for SerialControlFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for SerialControlFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for SerialControlFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = SerialControlFlag

The resulting type after applying the ! operator.
source§

impl Octal for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for SerialControlFlag

source§

fn cmp(&self, other: &SerialControlFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for SerialControlFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = SerialControlFlag

The resulting type after applying the ! operator.
source§

impl Octal for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for SerialControlFlag

source§

fn cmp(&self, other: &SerialControlFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for SerialControlFlag

source§

fn eq(&self, other: &SerialControlFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for SerialControlFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for SerialControlFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = SerialControlFlag

The resulting type after applying the - operator.
source§

impl SubAssign for SerialControlFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for SerialControlFlag

source§

impl Eq for SerialControlFlag

source§

impl StructuralEq for SerialControlFlag

source§

impl StructuralPartialEq for SerialControlFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = SerialControlFlag

The resulting type after applying the - operator.
source§

impl SubAssign for SerialControlFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for SerialControlFlag

source§

impl Eq for SerialControlFlag

source§

impl StructuralEq for SerialControlFlag

source§

impl StructuralPartialEq for SerialControlFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.TuneFormat.html b/mavlink/common/struct.TuneFormat.html index fa16615935..8f2726e825 100644 --- a/mavlink/common/struct.TuneFormat.html +++ b/mavlink/common/struct.TuneFormat.html @@ -65,8 +65,8 @@
Safety
source§

impl Clone for TuneFormat

source§

fn clone(&self) -> TuneFormat

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TuneFormat

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for TuneFormat

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<TuneFormat> for TuneFormat

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<TuneFormat> for TuneFormat

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for TuneFormat

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for TuneFormat

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = TuneFormat

The resulting type after applying the ! operator.
source§

impl Octal for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for TuneFormat

source§

fn cmp(&self, other: &TuneFormat) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for TuneFormat

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = TuneFormat

The resulting type after applying the ! operator.
source§

impl Octal for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for TuneFormat

source§

fn cmp(&self, other: &TuneFormat) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for TuneFormat

source§

fn eq(&self, other: &TuneFormat) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for TuneFormat

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for TuneFormat

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = TuneFormat

The resulting type after applying the - operator.
source§

impl SubAssign for TuneFormat

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for TuneFormat

source§

impl Eq for TuneFormat

source§

impl StructuralEq for TuneFormat

source§

impl StructuralPartialEq for TuneFormat

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = TuneFormat

The resulting type after applying the - operator.
source§

impl SubAssign for TuneFormat

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for TuneFormat

source§

impl Eq for TuneFormat

source§

impl StructuralEq for TuneFormat

source§

impl StructuralPartialEq for TuneFormat

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/common/struct.UtmDataAvailFlags.html b/mavlink/common/struct.UtmDataAvailFlags.html index 01e1013753..8917c8b3bc 100644 --- a/mavlink/common/struct.UtmDataAvailFlags.html +++ b/mavlink/common/struct.UtmDataAvailFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl UtmDataAvailFlags

source

pub const DEFAULT: Self = Self::UTM_DATA_AVAIL_FLAGS_TIME_VALID

Trait Implementations§

source§

impl Binary for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UtmDataAvailFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = UtmDataAvailFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for UtmDataAvailFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl UtmDataAvailFlags

source

pub const DEFAULT: Self = Self::UTM_DATA_AVAIL_FLAGS_TIME_VALID

Trait Implementations§

source§

impl Binary for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UtmDataAvailFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = UtmDataAvailFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for UtmDataAvailFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for UtmDataAvailFlags

source§

fn bitor(self, other: UtmDataAvailFlags) -> Self

Returns the union of the two sets of flags.

§

type Output = UtmDataAvailFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for UtmDataAvailFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for UtmDataAvailFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = UtmDataAvailFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UtmDataAvailFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for UtmDataAvailFlags

source§

fn clone(&self) -> UtmDataAvailFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UtmDataAvailFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UtmDataAvailFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = UtmDataAvailFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UtmDataAvailFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for UtmDataAvailFlags

source§

fn clone(&self) -> UtmDataAvailFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UtmDataAvailFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UtmDataAvailFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<UtmDataAvailFlags> for UtmDataAvailFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<UtmDataAvailFlags> for UtmDataAvailFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for UtmDataAvailFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UtmDataAvailFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = UtmDataAvailFlags

The resulting type after applying the ! operator.
source§

impl Octal for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UtmDataAvailFlags

source§

fn cmp(&self, other: &UtmDataAvailFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UtmDataAvailFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = UtmDataAvailFlags

The resulting type after applying the ! operator.
source§

impl Octal for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UtmDataAvailFlags

source§

fn cmp(&self, other: &UtmDataAvailFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for UtmDataAvailFlags

source§

fn eq(&self, other: &UtmDataAvailFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for UtmDataAvailFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for UtmDataAvailFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = UtmDataAvailFlags

The resulting type after applying the - operator.
source§

impl SubAssign for UtmDataAvailFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UtmDataAvailFlags

source§

impl Eq for UtmDataAvailFlags

source§

impl StructuralEq for UtmDataAvailFlags

source§

impl StructuralPartialEq for UtmDataAvailFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = UtmDataAvailFlags

The resulting type after applying the - operator.
source§

impl SubAssign for UtmDataAvailFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UtmDataAvailFlags

source§

impl Eq for UtmDataAvailFlags

source§

impl StructuralEq for UtmDataAvailFlags

source§

impl StructuralPartialEq for UtmDataAvailFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/icarous/enum.IcarousFmsState.html b/mavlink/icarous/enum.IcarousFmsState.html index b1827065c0..76ebd1983a 100644 --- a/mavlink/icarous/enum.IcarousFmsState.html +++ b/mavlink/icarous/enum.IcarousFmsState.html @@ -1,4 +1,4 @@ -IcarousFmsState in mavlink::icarous - Rust
pub enum IcarousFmsState {
+IcarousFmsState in mavlink::icarous - Rust
#[repr(u32)]
pub enum IcarousFmsState { ICAROUS_FMS_STATE_IDLE = 0, ICAROUS_FMS_STATE_TAKEOFF = 1, ICAROUS_FMS_STATE_CLIMB = 2, diff --git a/mavlink/icarous/enum.IcarousTrackBandTypes.html b/mavlink/icarous/enum.IcarousTrackBandTypes.html index 47e3cb96d8..84077a27c3 100644 --- a/mavlink/icarous/enum.IcarousTrackBandTypes.html +++ b/mavlink/icarous/enum.IcarousTrackBandTypes.html @@ -1,4 +1,4 @@ -IcarousTrackBandTypes in mavlink::icarous - Rust
pub enum IcarousTrackBandTypes {
+IcarousTrackBandTypes in mavlink::icarous - Rust
#[repr(u32)]
pub enum IcarousTrackBandTypes { ICAROUS_TRACK_BAND_TYPE_NONE = 0, ICAROUS_TRACK_BAND_TYPE_NEAR = 1, ICAROUS_TRACK_BAND_TYPE_RECOVERY = 2, diff --git a/mavlink/icarous/enum.MavMessage.html b/mavlink/icarous/enum.MavMessage.html index 71ed874b71..1619c9d356 100644 --- a/mavlink/icarous/enum.MavMessage.html +++ b/mavlink/icarous/enum.MavMessage.html @@ -1,7 +1,7 @@ -MavMessage in mavlink::icarous - Rust
pub enum MavMessage {
-    ICAROUS_KINEMATIC_BANDS(ICAROUS_KINEMATIC_BANDS_DATA),
+MavMessage in mavlink::icarous - Rust
#[repr(u32)]
pub enum MavMessage { ICAROUS_HEARTBEAT(ICAROUS_HEARTBEAT_DATA), -}

Variants§

§

ICAROUS_KINEMATIC_BANDS(ICAROUS_KINEMATIC_BANDS_DATA)

§

ICAROUS_HEARTBEAT(ICAROUS_HEARTBEAT_DATA)

Trait Implementations§

source§

impl Clone for MavMessage

source§

fn clone(&self) -> MavMessage

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavMessage

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for MavMessage

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + ICAROUS_KINEMATIC_BANDS(ICAROUS_KINEMATIC_BANDS_DATA), +}

Variants§

§

ICAROUS_HEARTBEAT(ICAROUS_HEARTBEAT_DATA)

§

ICAROUS_KINEMATIC_BANDS(ICAROUS_KINEMATIC_BANDS_DATA)

Trait Implementations§

source§

impl Clone for MavMessage

source§

fn clone(&self) -> MavMessage

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavMessage

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for MavMessage

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Message for MavMessage

source§

fn parse( version: MavlinkVersion, id: u32, diff --git a/mavlink/uavionix/enum.ActuatorConfiguration.html b/mavlink/uavionix/enum.ActuatorConfiguration.html index 2ec848af90..24458bf53d 100644 --- a/mavlink/uavionix/enum.ActuatorConfiguration.html +++ b/mavlink/uavionix/enum.ActuatorConfiguration.html @@ -1,4 +1,4 @@ -ActuatorConfiguration in mavlink::uavionix - Rust
pub enum ActuatorConfiguration {
+ActuatorConfiguration in mavlink::uavionix - Rust
#[repr(u32)]
pub enum ActuatorConfiguration { ACTUATOR_CONFIGURATION_NONE = 0, ACTUATOR_CONFIGURATION_BEEP = 1, ACTUATOR_CONFIGURATION_3D_MODE_ON = 2, diff --git a/mavlink/uavionix/enum.ActuatorOutputFunction.html b/mavlink/uavionix/enum.ActuatorOutputFunction.html index 9ca2c5a082..66b48c93bf 100644 --- a/mavlink/uavionix/enum.ActuatorOutputFunction.html +++ b/mavlink/uavionix/enum.ActuatorOutputFunction.html @@ -1,4 +1,4 @@ -ActuatorOutputFunction in mavlink::uavionix - Rust
pub enum ActuatorOutputFunction {
+ActuatorOutputFunction in mavlink::uavionix - Rust
#[repr(u32)]
pub enum ActuatorOutputFunction {
Show 33 variants ACTUATOR_OUTPUT_FUNCTION_NONE = 0, ACTUATOR_OUTPUT_FUNCTION_MOTOR1 = 1, ACTUATOR_OUTPUT_FUNCTION_MOTOR2 = 2, diff --git a/mavlink/uavionix/enum.AdsbAltitudeType.html b/mavlink/uavionix/enum.AdsbAltitudeType.html index 20f0d15287..110386e363 100644 --- a/mavlink/uavionix/enum.AdsbAltitudeType.html +++ b/mavlink/uavionix/enum.AdsbAltitudeType.html @@ -1,4 +1,4 @@ -AdsbAltitudeType in mavlink::uavionix - Rust
pub enum AdsbAltitudeType {
+AdsbAltitudeType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum AdsbAltitudeType { ADSB_ALTITUDE_TYPE_PRESSURE_QNH = 0, ADSB_ALTITUDE_TYPE_GEOMETRIC = 1, }

Variants§

§

ADSB_ALTITUDE_TYPE_PRESSURE_QNH = 0

§

ADSB_ALTITUDE_TYPE_GEOMETRIC = 1

Implementations§

source§

impl AdsbAltitudeType

source

pub const DEFAULT: Self = Self::ADSB_ALTITUDE_TYPE_PRESSURE_QNH

Trait Implementations§

source§

impl Clone for AdsbAltitudeType

source§

fn clone(&self) -> AdsbAltitudeType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AdsbAltitudeType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AdsbAltitudeType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AdsbAltitudeType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/uavionix/enum.AdsbEmitterType.html b/mavlink/uavionix/enum.AdsbEmitterType.html index 19c5eb7b5e..6220e7609c 100644 --- a/mavlink/uavionix/enum.AdsbEmitterType.html +++ b/mavlink/uavionix/enum.AdsbEmitterType.html @@ -1,4 +1,4 @@ -AdsbEmitterType in mavlink::uavionix - Rust
pub enum AdsbEmitterType {
+AdsbEmitterType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum AdsbEmitterType {
Show 20 variants ADSB_EMITTER_TYPE_NO_INFO = 0, ADSB_EMITTER_TYPE_LIGHT = 1, ADSB_EMITTER_TYPE_SMALL = 2, diff --git a/mavlink/uavionix/enum.AisNavStatus.html b/mavlink/uavionix/enum.AisNavStatus.html index 3ea573eebe..b42b990f4a 100644 --- a/mavlink/uavionix/enum.AisNavStatus.html +++ b/mavlink/uavionix/enum.AisNavStatus.html @@ -1,4 +1,4 @@ -AisNavStatus in mavlink::uavionix - Rust
pub enum AisNavStatus {
+AisNavStatus in mavlink::uavionix - Rust
#[repr(u32)]
pub enum AisNavStatus {
Show 16 variants UNDER_WAY = 0, AIS_NAV_ANCHORED = 1, AIS_NAV_UN_COMMANDED = 2, diff --git a/mavlink/uavionix/enum.AisType.html b/mavlink/uavionix/enum.AisType.html index 3f95f93455..2467db2b77 100644 --- a/mavlink/uavionix/enum.AisType.html +++ b/mavlink/uavionix/enum.AisType.html @@ -1,4 +1,4 @@ -AisType in mavlink::uavionix - Rust
pub enum AisType {
+AisType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum AisType {
Show 100 variants AIS_TYPE_UNKNOWN = 0, AIS_TYPE_RESERVED_1 = 1, AIS_TYPE_RESERVED_2 = 2, diff --git a/mavlink/uavionix/enum.AutotuneAxis.html b/mavlink/uavionix/enum.AutotuneAxis.html index 190b7f68d0..58ecf57358 100644 --- a/mavlink/uavionix/enum.AutotuneAxis.html +++ b/mavlink/uavionix/enum.AutotuneAxis.html @@ -1,4 +1,4 @@ -AutotuneAxis in mavlink::uavionix - Rust
pub enum AutotuneAxis {
+AutotuneAxis in mavlink::uavionix - Rust
#[repr(u32)]
pub enum AutotuneAxis { AUTOTUNE_AXIS_DEFAULT = 0, AUTOTUNE_AXIS_ROLL = 1, AUTOTUNE_AXIS_PITCH = 2, diff --git a/mavlink/uavionix/enum.CameraMode.html b/mavlink/uavionix/enum.CameraMode.html index 68af1a8a16..415f776b3d 100644 --- a/mavlink/uavionix/enum.CameraMode.html +++ b/mavlink/uavionix/enum.CameraMode.html @@ -1,4 +1,4 @@ -CameraMode in mavlink::uavionix - Rust
pub enum CameraMode {
+CameraMode in mavlink::uavionix - Rust
#[repr(u32)]
pub enum CameraMode { CAMERA_MODE_IMAGE = 0, CAMERA_MODE_VIDEO = 1, CAMERA_MODE_IMAGE_SURVEY = 2, diff --git a/mavlink/uavionix/enum.CameraTrackingMode.html b/mavlink/uavionix/enum.CameraTrackingMode.html index aef7c8d43d..935a941ebc 100644 --- a/mavlink/uavionix/enum.CameraTrackingMode.html +++ b/mavlink/uavionix/enum.CameraTrackingMode.html @@ -1,4 +1,4 @@ -CameraTrackingMode in mavlink::uavionix - Rust
pub enum CameraTrackingMode {
+CameraTrackingMode in mavlink::uavionix - Rust
#[repr(u32)]
pub enum CameraTrackingMode { CAMERA_TRACKING_MODE_NONE = 0, CAMERA_TRACKING_MODE_POINT = 1, CAMERA_TRACKING_MODE_RECTANGLE = 2, diff --git a/mavlink/uavionix/enum.CameraTrackingStatusFlags.html b/mavlink/uavionix/enum.CameraTrackingStatusFlags.html index 04a47549ef..e0a805bd0d 100644 --- a/mavlink/uavionix/enum.CameraTrackingStatusFlags.html +++ b/mavlink/uavionix/enum.CameraTrackingStatusFlags.html @@ -1,4 +1,4 @@ -CameraTrackingStatusFlags in mavlink::uavionix - Rust
pub enum CameraTrackingStatusFlags {
+CameraTrackingStatusFlags in mavlink::uavionix - Rust
#[repr(u32)]
pub enum CameraTrackingStatusFlags { CAMERA_TRACKING_STATUS_FLAGS_IDLE = 0, CAMERA_TRACKING_STATUS_FLAGS_ACTIVE = 1, CAMERA_TRACKING_STATUS_FLAGS_ERROR = 2, diff --git a/mavlink/uavionix/enum.CameraTrackingTargetData.html b/mavlink/uavionix/enum.CameraTrackingTargetData.html index bf7d944511..d134052d22 100644 --- a/mavlink/uavionix/enum.CameraTrackingTargetData.html +++ b/mavlink/uavionix/enum.CameraTrackingTargetData.html @@ -1,4 +1,4 @@ -CameraTrackingTargetData in mavlink::uavionix - Rust
pub enum CameraTrackingTargetData {
+CameraTrackingTargetData in mavlink::uavionix - Rust
#[repr(u32)]
pub enum CameraTrackingTargetData { CAMERA_TRACKING_TARGET_DATA_NONE = 0, CAMERA_TRACKING_TARGET_DATA_EMBEDDED = 1, CAMERA_TRACKING_TARGET_DATA_RENDERED = 2, diff --git a/mavlink/uavionix/enum.CameraZoomType.html b/mavlink/uavionix/enum.CameraZoomType.html index a9d91cf237..3b2c36d71f 100644 --- a/mavlink/uavionix/enum.CameraZoomType.html +++ b/mavlink/uavionix/enum.CameraZoomType.html @@ -1,4 +1,4 @@ -CameraZoomType in mavlink::uavionix - Rust
pub enum CameraZoomType {
+CameraZoomType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum CameraZoomType { ZOOM_TYPE_STEP = 0, ZOOM_TYPE_CONTINUOUS = 1, ZOOM_TYPE_RANGE = 2, diff --git a/mavlink/uavionix/enum.CanFilterOp.html b/mavlink/uavionix/enum.CanFilterOp.html index 3941e4fee4..a9ccdc8af2 100644 --- a/mavlink/uavionix/enum.CanFilterOp.html +++ b/mavlink/uavionix/enum.CanFilterOp.html @@ -1,4 +1,4 @@ -CanFilterOp in mavlink::uavionix - Rust
pub enum CanFilterOp {
+CanFilterOp in mavlink::uavionix - Rust
#[repr(u32)]
pub enum CanFilterOp { CAN_FILTER_REPLACE = 0, CAN_FILTER_ADD = 1, CAN_FILTER_REMOVE = 2, diff --git a/mavlink/uavionix/enum.CellularConfigResponse.html b/mavlink/uavionix/enum.CellularConfigResponse.html index fb46377a97..b770be1163 100644 --- a/mavlink/uavionix/enum.CellularConfigResponse.html +++ b/mavlink/uavionix/enum.CellularConfigResponse.html @@ -1,4 +1,4 @@ -CellularConfigResponse in mavlink::uavionix - Rust
pub enum CellularConfigResponse {
+CellularConfigResponse in mavlink::uavionix - Rust
#[repr(u32)]
pub enum CellularConfigResponse { CELLULAR_CONFIG_RESPONSE_ACCEPTED = 0, CELLULAR_CONFIG_RESPONSE_APN_ERROR = 1, CELLULAR_CONFIG_RESPONSE_PIN_ERROR = 2, diff --git a/mavlink/uavionix/enum.CellularNetworkFailedReason.html b/mavlink/uavionix/enum.CellularNetworkFailedReason.html index 50effe399b..bf0d683283 100644 --- a/mavlink/uavionix/enum.CellularNetworkFailedReason.html +++ b/mavlink/uavionix/enum.CellularNetworkFailedReason.html @@ -1,4 +1,4 @@ -CellularNetworkFailedReason in mavlink::uavionix - Rust
pub enum CellularNetworkFailedReason {
+CellularNetworkFailedReason in mavlink::uavionix - Rust
#[repr(u32)]
pub enum CellularNetworkFailedReason { CELLULAR_NETWORK_FAILED_REASON_NONE = 0, CELLULAR_NETWORK_FAILED_REASON_UNKNOWN = 1, CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING = 2, diff --git a/mavlink/uavionix/enum.CellularNetworkRadioType.html b/mavlink/uavionix/enum.CellularNetworkRadioType.html index 8b4bb58820..090783b9c3 100644 --- a/mavlink/uavionix/enum.CellularNetworkRadioType.html +++ b/mavlink/uavionix/enum.CellularNetworkRadioType.html @@ -1,4 +1,4 @@ -CellularNetworkRadioType in mavlink::uavionix - Rust
pub enum CellularNetworkRadioType {
+CellularNetworkRadioType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum CellularNetworkRadioType { CELLULAR_NETWORK_RADIO_TYPE_NONE = 0, CELLULAR_NETWORK_RADIO_TYPE_GSM = 1, CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2, diff --git a/mavlink/uavionix/enum.CellularStatusFlag.html b/mavlink/uavionix/enum.CellularStatusFlag.html index c83b0a9ae1..b0c6c3fc43 100644 --- a/mavlink/uavionix/enum.CellularStatusFlag.html +++ b/mavlink/uavionix/enum.CellularStatusFlag.html @@ -1,4 +1,4 @@ -CellularStatusFlag in mavlink::uavionix - Rust
pub enum CellularStatusFlag {
+CellularStatusFlag in mavlink::uavionix - Rust
#[repr(u32)]
pub enum CellularStatusFlag {
Show 13 variants CELLULAR_STATUS_FLAG_UNKNOWN = 0, CELLULAR_STATUS_FLAG_FAILED = 1, CELLULAR_STATUS_FLAG_INITIALIZING = 2, diff --git a/mavlink/uavionix/enum.CompMetadataType.html b/mavlink/uavionix/enum.CompMetadataType.html index a9a248932b..8f77286797 100644 --- a/mavlink/uavionix/enum.CompMetadataType.html +++ b/mavlink/uavionix/enum.CompMetadataType.html @@ -1,4 +1,4 @@ -CompMetadataType in mavlink::uavionix - Rust
pub enum CompMetadataType {
+CompMetadataType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum CompMetadataType { COMP_METADATA_TYPE_GENERAL = 0, COMP_METADATA_TYPE_PARAMETER = 1, COMP_METADATA_TYPE_COMMANDS = 2, diff --git a/mavlink/uavionix/enum.EscConnectionType.html b/mavlink/uavionix/enum.EscConnectionType.html index b8867c7e6f..c6577af9a7 100644 --- a/mavlink/uavionix/enum.EscConnectionType.html +++ b/mavlink/uavionix/enum.EscConnectionType.html @@ -1,4 +1,4 @@ -EscConnectionType in mavlink::uavionix - Rust
pub enum EscConnectionType {
+EscConnectionType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum EscConnectionType { ESC_CONNECTION_TYPE_PPM = 0, ESC_CONNECTION_TYPE_SERIAL = 1, ESC_CONNECTION_TYPE_ONESHOT = 2, diff --git a/mavlink/uavionix/enum.FailureType.html b/mavlink/uavionix/enum.FailureType.html index 49438284ac..23f852e223 100644 --- a/mavlink/uavionix/enum.FailureType.html +++ b/mavlink/uavionix/enum.FailureType.html @@ -1,4 +1,4 @@ -FailureType in mavlink::uavionix - Rust
pub enum FailureType {
+FailureType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum FailureType { FAILURE_TYPE_OK = 0, FAILURE_TYPE_OFF = 1, FAILURE_TYPE_STUCK = 2, diff --git a/mavlink/uavionix/enum.FailureUnit.html b/mavlink/uavionix/enum.FailureUnit.html index 2e6fe3f83a..9dafecd399 100644 --- a/mavlink/uavionix/enum.FailureUnit.html +++ b/mavlink/uavionix/enum.FailureUnit.html @@ -1,4 +1,4 @@ -FailureUnit in mavlink::uavionix - Rust
pub enum FailureUnit {
+FailureUnit in mavlink::uavionix - Rust
#[repr(u32)]
pub enum FailureUnit {
Show 15 variants FAILURE_UNIT_SENSOR_GYRO = 0, FAILURE_UNIT_SENSOR_ACCEL = 1, FAILURE_UNIT_SENSOR_MAG = 2, diff --git a/mavlink/uavionix/enum.FenceAction.html b/mavlink/uavionix/enum.FenceAction.html index 21b5785441..a718654cf2 100644 --- a/mavlink/uavionix/enum.FenceAction.html +++ b/mavlink/uavionix/enum.FenceAction.html @@ -1,4 +1,4 @@ -FenceAction in mavlink::uavionix - Rust
pub enum FenceAction {
+FenceAction in mavlink::uavionix - Rust
#[repr(u32)]
pub enum FenceAction { FENCE_ACTION_NONE = 0, FENCE_ACTION_GUIDED = 1, FENCE_ACTION_REPORT = 2, diff --git a/mavlink/uavionix/enum.FenceBreach.html b/mavlink/uavionix/enum.FenceBreach.html index 9e1a90b197..45422aca1d 100644 --- a/mavlink/uavionix/enum.FenceBreach.html +++ b/mavlink/uavionix/enum.FenceBreach.html @@ -1,4 +1,4 @@ -FenceBreach in mavlink::uavionix - Rust
pub enum FenceBreach {
+FenceBreach in mavlink::uavionix - Rust
#[repr(u32)]
pub enum FenceBreach { FENCE_BREACH_NONE = 0, FENCE_BREACH_MINALT = 1, FENCE_BREACH_MAXALT = 2, diff --git a/mavlink/uavionix/enum.FenceMitigate.html b/mavlink/uavionix/enum.FenceMitigate.html index 3cf987c681..e8158aab74 100644 --- a/mavlink/uavionix/enum.FenceMitigate.html +++ b/mavlink/uavionix/enum.FenceMitigate.html @@ -1,4 +1,4 @@ -FenceMitigate in mavlink::uavionix - Rust
pub enum FenceMitigate {
+FenceMitigate in mavlink::uavionix - Rust
#[repr(u32)]
pub enum FenceMitigate { FENCE_MITIGATE_UNKNOWN = 0, FENCE_MITIGATE_NONE = 1, FENCE_MITIGATE_VEL_LIMIT = 2, diff --git a/mavlink/uavionix/enum.FirmwareVersionType.html b/mavlink/uavionix/enum.FirmwareVersionType.html index defe427f9c..736a74b6d8 100644 --- a/mavlink/uavionix/enum.FirmwareVersionType.html +++ b/mavlink/uavionix/enum.FirmwareVersionType.html @@ -1,4 +1,4 @@ -FirmwareVersionType in mavlink::uavionix - Rust
pub enum FirmwareVersionType {
+FirmwareVersionType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum FirmwareVersionType { FIRMWARE_VERSION_TYPE_DEV = 0, FIRMWARE_VERSION_TYPE_ALPHA = 64, FIRMWARE_VERSION_TYPE_BETA = 128, diff --git a/mavlink/uavionix/enum.GimbalManagerFlags.html b/mavlink/uavionix/enum.GimbalManagerFlags.html index 89eafe708e..52926674ec 100644 --- a/mavlink/uavionix/enum.GimbalManagerFlags.html +++ b/mavlink/uavionix/enum.GimbalManagerFlags.html @@ -1,4 +1,4 @@ -GimbalManagerFlags in mavlink::uavionix - Rust
pub enum GimbalManagerFlags {
+GimbalManagerFlags in mavlink::uavionix - Rust
#[repr(u32)]
pub enum GimbalManagerFlags { GIMBAL_MANAGER_FLAGS_RETRACT = 1, GIMBAL_MANAGER_FLAGS_NEUTRAL = 2, GIMBAL_MANAGER_FLAGS_ROLL_LOCK = 4, diff --git a/mavlink/uavionix/enum.GpsFixType.html b/mavlink/uavionix/enum.GpsFixType.html index 5ff755b301..ff2c9a658b 100644 --- a/mavlink/uavionix/enum.GpsFixType.html +++ b/mavlink/uavionix/enum.GpsFixType.html @@ -1,4 +1,4 @@ -GpsFixType in mavlink::uavionix - Rust
pub enum GpsFixType {
+GpsFixType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum GpsFixType { GPS_FIX_TYPE_NO_GPS = 0, GPS_FIX_TYPE_NO_FIX = 1, GPS_FIX_TYPE_2D_FIX = 2, diff --git a/mavlink/uavionix/enum.GripperActions.html b/mavlink/uavionix/enum.GripperActions.html index 6f66b08ddb..b2bfb570b9 100644 --- a/mavlink/uavionix/enum.GripperActions.html +++ b/mavlink/uavionix/enum.GripperActions.html @@ -1,4 +1,4 @@ -GripperActions in mavlink::uavionix - Rust
pub enum GripperActions {
+GripperActions in mavlink::uavionix - Rust
#[repr(u32)]
pub enum GripperActions { GRIPPER_ACTION_RELEASE = 0, GRIPPER_ACTION_GRAB = 1, }

Variants§

§

GRIPPER_ACTION_RELEASE = 0

§

GRIPPER_ACTION_GRAB = 1

Implementations§

source§

impl GripperActions

source

pub const DEFAULT: Self = Self::GRIPPER_ACTION_RELEASE

Trait Implementations§

source§

impl Clone for GripperActions

source§

fn clone(&self) -> GripperActions

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GripperActions

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GripperActions

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GripperActions

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/uavionix/enum.LandingTargetType.html b/mavlink/uavionix/enum.LandingTargetType.html index 63054593af..ac1190860f 100644 --- a/mavlink/uavionix/enum.LandingTargetType.html +++ b/mavlink/uavionix/enum.LandingTargetType.html @@ -1,4 +1,4 @@ -LandingTargetType in mavlink::uavionix - Rust
pub enum LandingTargetType {
+LandingTargetType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum LandingTargetType { LANDING_TARGET_TYPE_LIGHT_BEACON = 0, LANDING_TARGET_TYPE_RADIO_BEACON = 1, LANDING_TARGET_TYPE_VISION_FIDUCIAL = 2, diff --git a/mavlink/uavionix/enum.MagCalStatus.html b/mavlink/uavionix/enum.MagCalStatus.html index 5b06588059..073e5bd890 100644 --- a/mavlink/uavionix/enum.MagCalStatus.html +++ b/mavlink/uavionix/enum.MagCalStatus.html @@ -1,4 +1,4 @@ -MagCalStatus in mavlink::uavionix - Rust
pub enum MagCalStatus {
+MagCalStatus in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MagCalStatus { MAG_CAL_NOT_STARTED = 0, MAG_CAL_WAITING_TO_START = 1, MAG_CAL_RUNNING_STEP_ONE = 2, diff --git a/mavlink/uavionix/enum.MavArmAuthDeniedReason.html b/mavlink/uavionix/enum.MavArmAuthDeniedReason.html index 229c06076b..f72edd38b6 100644 --- a/mavlink/uavionix/enum.MavArmAuthDeniedReason.html +++ b/mavlink/uavionix/enum.MavArmAuthDeniedReason.html @@ -1,4 +1,4 @@ -MavArmAuthDeniedReason in mavlink::uavionix - Rust
pub enum MavArmAuthDeniedReason {
+MavArmAuthDeniedReason in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavArmAuthDeniedReason { MAV_ARM_AUTH_DENIED_REASON_GENERIC = 0, MAV_ARM_AUTH_DENIED_REASON_NONE = 1, MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT = 2, diff --git a/mavlink/uavionix/enum.MavAutopilot.html b/mavlink/uavionix/enum.MavAutopilot.html index 7b8cb81f2e..e8aae40eb7 100644 --- a/mavlink/uavionix/enum.MavAutopilot.html +++ b/mavlink/uavionix/enum.MavAutopilot.html @@ -1,4 +1,4 @@ -MavAutopilot in mavlink::uavionix - Rust
pub enum MavAutopilot {
+MavAutopilot in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavAutopilot {
Show 21 variants MAV_AUTOPILOT_GENERIC = 0, MAV_AUTOPILOT_RESERVED = 1, MAV_AUTOPILOT_SLUGS = 2, diff --git a/mavlink/uavionix/enum.MavBatteryChargeState.html b/mavlink/uavionix/enum.MavBatteryChargeState.html index daf6e2f929..66c06a8037 100644 --- a/mavlink/uavionix/enum.MavBatteryChargeState.html +++ b/mavlink/uavionix/enum.MavBatteryChargeState.html @@ -1,4 +1,4 @@ -MavBatteryChargeState in mavlink::uavionix - Rust
pub enum MavBatteryChargeState {
+MavBatteryChargeState in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavBatteryChargeState { MAV_BATTERY_CHARGE_STATE_UNDEFINED = 0, MAV_BATTERY_CHARGE_STATE_OK = 1, MAV_BATTERY_CHARGE_STATE_LOW = 2, diff --git a/mavlink/uavionix/enum.MavBatteryFault.html b/mavlink/uavionix/enum.MavBatteryFault.html index 9f621e68dc..fdcb13882e 100644 --- a/mavlink/uavionix/enum.MavBatteryFault.html +++ b/mavlink/uavionix/enum.MavBatteryFault.html @@ -1,4 +1,4 @@ -MavBatteryFault in mavlink::uavionix - Rust
pub enum MavBatteryFault {
+MavBatteryFault in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavBatteryFault { MAV_BATTERY_FAULT_DEEP_DISCHARGE = 1, MAV_BATTERY_FAULT_SPIKES = 2, MAV_BATTERY_FAULT_CELL_FAIL = 4, diff --git a/mavlink/uavionix/enum.MavBatteryFunction.html b/mavlink/uavionix/enum.MavBatteryFunction.html index ad6d6557eb..2ce2efa973 100644 --- a/mavlink/uavionix/enum.MavBatteryFunction.html +++ b/mavlink/uavionix/enum.MavBatteryFunction.html @@ -1,4 +1,4 @@ -MavBatteryFunction in mavlink::uavionix - Rust
pub enum MavBatteryFunction {
+MavBatteryFunction in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavBatteryFunction { MAV_BATTERY_FUNCTION_UNKNOWN = 0, MAV_BATTERY_FUNCTION_ALL = 1, MAV_BATTERY_FUNCTION_PROPULSION = 2, diff --git a/mavlink/uavionix/enum.MavBatteryMode.html b/mavlink/uavionix/enum.MavBatteryMode.html index 81390ab99a..0c3066b593 100644 --- a/mavlink/uavionix/enum.MavBatteryMode.html +++ b/mavlink/uavionix/enum.MavBatteryMode.html @@ -1,4 +1,4 @@ -MavBatteryMode in mavlink::uavionix - Rust
pub enum MavBatteryMode {
+MavBatteryMode in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavBatteryMode { MAV_BATTERY_MODE_UNKNOWN = 0, MAV_BATTERY_MODE_AUTO_DISCHARGING = 1, MAV_BATTERY_MODE_HOT_SWAP = 2, diff --git a/mavlink/uavionix/enum.MavBatteryType.html b/mavlink/uavionix/enum.MavBatteryType.html index 5f1afaee29..b53ea5f7f3 100644 --- a/mavlink/uavionix/enum.MavBatteryType.html +++ b/mavlink/uavionix/enum.MavBatteryType.html @@ -1,4 +1,4 @@ -MavBatteryType in mavlink::uavionix - Rust
pub enum MavBatteryType {
+MavBatteryType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavBatteryType { MAV_BATTERY_TYPE_UNKNOWN = 0, MAV_BATTERY_TYPE_LIPO = 1, MAV_BATTERY_TYPE_LIFE = 2, diff --git a/mavlink/uavionix/enum.MavCmd.html b/mavlink/uavionix/enum.MavCmd.html index 420a39c65f..26ab77c2d2 100644 --- a/mavlink/uavionix/enum.MavCmd.html +++ b/mavlink/uavionix/enum.MavCmd.html @@ -1,4 +1,4 @@ -MavCmd in mavlink::uavionix - Rust

Enum mavlink::uavionix::MavCmd

source ·
pub enum MavCmd {
+MavCmd in mavlink::uavionix - Rust

Enum mavlink::uavionix::MavCmd

source ·
#[repr(u32)]
pub enum MavCmd {
Show 159 variants MAV_CMD_NAV_WAYPOINT = 16, MAV_CMD_NAV_LOITER_UNLIM = 17, MAV_CMD_NAV_LOITER_TURNS = 18, diff --git a/mavlink/uavionix/enum.MavCmdAck.html b/mavlink/uavionix/enum.MavCmdAck.html index d23475bc73..904b10fe42 100644 --- a/mavlink/uavionix/enum.MavCmdAck.html +++ b/mavlink/uavionix/enum.MavCmdAck.html @@ -1,4 +1,4 @@ -MavCmdAck in mavlink::uavionix - Rust
pub enum MavCmdAck {
+MavCmdAck in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavCmdAck { MAV_CMD_ACK_OK = 0, MAV_CMD_ACK_ERR_FAIL = 1, MAV_CMD_ACK_ERR_ACCESS_DENIED = 2, diff --git a/mavlink/uavionix/enum.MavCollisionAction.html b/mavlink/uavionix/enum.MavCollisionAction.html index 72e8c5b590..d03fb0bd68 100644 --- a/mavlink/uavionix/enum.MavCollisionAction.html +++ b/mavlink/uavionix/enum.MavCollisionAction.html @@ -1,4 +1,4 @@ -MavCollisionAction in mavlink::uavionix - Rust
pub enum MavCollisionAction {
+MavCollisionAction in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavCollisionAction { MAV_COLLISION_ACTION_NONE = 0, MAV_COLLISION_ACTION_REPORT = 1, MAV_COLLISION_ACTION_ASCEND_OR_DESCEND = 2, diff --git a/mavlink/uavionix/enum.MavCollisionSrc.html b/mavlink/uavionix/enum.MavCollisionSrc.html index b81dfc76b2..06ccbb6795 100644 --- a/mavlink/uavionix/enum.MavCollisionSrc.html +++ b/mavlink/uavionix/enum.MavCollisionSrc.html @@ -1,4 +1,4 @@ -MavCollisionSrc in mavlink::uavionix - Rust
pub enum MavCollisionSrc {
+MavCollisionSrc in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavCollisionSrc { MAV_COLLISION_SRC_ADSB = 0, MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT = 1, }

Variants§

§

MAV_COLLISION_SRC_ADSB = 0

Implementations§

source§

impl MavCollisionSrc

source

pub const DEFAULT: Self = Self::MAV_COLLISION_SRC_ADSB

Trait Implementations§

source§

impl Clone for MavCollisionSrc

source§

fn clone(&self) -> MavCollisionSrc

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavCollisionSrc

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavCollisionSrc

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavCollisionSrc

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/uavionix/enum.MavCollisionThreatLevel.html b/mavlink/uavionix/enum.MavCollisionThreatLevel.html index 4720b2ae09..ea8377df07 100644 --- a/mavlink/uavionix/enum.MavCollisionThreatLevel.html +++ b/mavlink/uavionix/enum.MavCollisionThreatLevel.html @@ -1,4 +1,4 @@ -MavCollisionThreatLevel in mavlink::uavionix - Rust
pub enum MavCollisionThreatLevel {
+MavCollisionThreatLevel in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavCollisionThreatLevel { MAV_COLLISION_THREAT_LEVEL_NONE = 0, MAV_COLLISION_THREAT_LEVEL_LOW = 1, MAV_COLLISION_THREAT_LEVEL_HIGH = 2, diff --git a/mavlink/uavionix/enum.MavComponent.html b/mavlink/uavionix/enum.MavComponent.html index 52814eae16..b8050c2815 100644 --- a/mavlink/uavionix/enum.MavComponent.html +++ b/mavlink/uavionix/enum.MavComponent.html @@ -1,4 +1,4 @@ -MavComponent in mavlink::uavionix - Rust
pub enum MavComponent {
+MavComponent in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavComponent {
Show 135 variants MAV_COMP_ID_ALL = 0, MAV_COMP_ID_AUTOPILOT1 = 1, MAV_COMP_ID_USER1 = 25, diff --git a/mavlink/uavionix/enum.MavDataStream.html b/mavlink/uavionix/enum.MavDataStream.html index 592949ccd7..6a3c6bfdbf 100644 --- a/mavlink/uavionix/enum.MavDataStream.html +++ b/mavlink/uavionix/enum.MavDataStream.html @@ -1,4 +1,4 @@ -MavDataStream in mavlink::uavionix - Rust
pub enum MavDataStream {
+MavDataStream in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavDataStream { MAV_DATA_STREAM_ALL = 0, MAV_DATA_STREAM_RAW_SENSORS = 1, MAV_DATA_STREAM_EXTENDED_STATUS = 2, diff --git a/mavlink/uavionix/enum.MavDistanceSensor.html b/mavlink/uavionix/enum.MavDistanceSensor.html index f4302de2d0..c41d303dd4 100644 --- a/mavlink/uavionix/enum.MavDistanceSensor.html +++ b/mavlink/uavionix/enum.MavDistanceSensor.html @@ -1,4 +1,4 @@ -MavDistanceSensor in mavlink::uavionix - Rust
pub enum MavDistanceSensor {
+MavDistanceSensor in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavDistanceSensor { MAV_DISTANCE_SENSOR_LASER = 0, MAV_DISTANCE_SENSOR_ULTRASOUND = 1, MAV_DISTANCE_SENSOR_INFRARED = 2, diff --git a/mavlink/uavionix/enum.MavDoRepositionFlags.html b/mavlink/uavionix/enum.MavDoRepositionFlags.html index c62016cf5c..76e07af6fd 100644 --- a/mavlink/uavionix/enum.MavDoRepositionFlags.html +++ b/mavlink/uavionix/enum.MavDoRepositionFlags.html @@ -1,4 +1,4 @@ -MavDoRepositionFlags in mavlink::uavionix - Rust
pub enum MavDoRepositionFlags {
+MavDoRepositionFlags in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavDoRepositionFlags { MAV_DO_REPOSITION_FLAGS_CHANGE_MODE = 1, }

Variants§

§

MAV_DO_REPOSITION_FLAGS_CHANGE_MODE = 1

Implementations§

source§

impl MavDoRepositionFlags

source

pub const DEFAULT: Self = Self::MAV_DO_REPOSITION_FLAGS_CHANGE_MODE

Trait Implementations§

source§

impl Clone for MavDoRepositionFlags

source§

fn clone(&self) -> MavDoRepositionFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavDoRepositionFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavDoRepositionFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavDoRepositionFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromPrimitive for MavDoRepositionFlags

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the diff --git a/mavlink/uavionix/enum.MavEstimatorType.html b/mavlink/uavionix/enum.MavEstimatorType.html index c5bd1016c3..f9e782942d 100644 --- a/mavlink/uavionix/enum.MavEstimatorType.html +++ b/mavlink/uavionix/enum.MavEstimatorType.html @@ -1,4 +1,4 @@ -MavEstimatorType in mavlink::uavionix - Rust
pub enum MavEstimatorType {
+MavEstimatorType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavEstimatorType { MAV_ESTIMATOR_TYPE_UNKNOWN = 0, MAV_ESTIMATOR_TYPE_NAIVE = 1, MAV_ESTIMATOR_TYPE_VISION = 2, diff --git a/mavlink/uavionix/enum.MavEventErrorReason.html b/mavlink/uavionix/enum.MavEventErrorReason.html index 0f3b829506..622b643a8b 100644 --- a/mavlink/uavionix/enum.MavEventErrorReason.html +++ b/mavlink/uavionix/enum.MavEventErrorReason.html @@ -1,4 +1,4 @@ -MavEventErrorReason in mavlink::uavionix - Rust
pub enum MavEventErrorReason {
+MavEventErrorReason in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavEventErrorReason { MAV_EVENT_ERROR_REASON_UNAVAILABLE = 0, }

Variants§

§

MAV_EVENT_ERROR_REASON_UNAVAILABLE = 0

Implementations§

source§

impl MavEventErrorReason

source

pub const DEFAULT: Self = Self::MAV_EVENT_ERROR_REASON_UNAVAILABLE

Trait Implementations§

source§

impl Clone for MavEventErrorReason

source§

fn clone(&self) -> MavEventErrorReason

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavEventErrorReason

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavEventErrorReason

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavEventErrorReason

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromPrimitive for MavEventErrorReason

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the diff --git a/mavlink/uavionix/enum.MavFrame.html b/mavlink/uavionix/enum.MavFrame.html index 735f1bab6d..d94460a183 100644 --- a/mavlink/uavionix/enum.MavFrame.html +++ b/mavlink/uavionix/enum.MavFrame.html @@ -1,4 +1,4 @@ -MavFrame in mavlink::uavionix - Rust
pub enum MavFrame {
+MavFrame in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavFrame {
Show 22 variants MAV_FRAME_GLOBAL = 0, MAV_FRAME_LOCAL_NED = 1, MAV_FRAME_MISSION = 2, diff --git a/mavlink/uavionix/enum.MavFtpErr.html b/mavlink/uavionix/enum.MavFtpErr.html index 479974be7d..7309b4d089 100644 --- a/mavlink/uavionix/enum.MavFtpErr.html +++ b/mavlink/uavionix/enum.MavFtpErr.html @@ -1,4 +1,4 @@ -MavFtpErr in mavlink::uavionix - Rust
pub enum MavFtpErr {
+MavFtpErr in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavFtpErr { MAV_FTP_ERR_NONE = 0, MAV_FTP_ERR_FAIL = 1, MAV_FTP_ERR_FAILERRNO = 2, diff --git a/mavlink/uavionix/enum.MavFtpOpcode.html b/mavlink/uavionix/enum.MavFtpOpcode.html index 5f530233e7..65a775caec 100644 --- a/mavlink/uavionix/enum.MavFtpOpcode.html +++ b/mavlink/uavionix/enum.MavFtpOpcode.html @@ -1,4 +1,4 @@ -MavFtpOpcode in mavlink::uavionix - Rust
pub enum MavFtpOpcode {
+MavFtpOpcode in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavFtpOpcode {
Show 18 variants MAV_FTP_OPCODE_NONE = 0, MAV_FTP_OPCODE_TERMINATESESSION = 1, MAV_FTP_OPCODE_RESETSESSION = 2, diff --git a/mavlink/uavionix/enum.MavGoto.html b/mavlink/uavionix/enum.MavGoto.html index 16da08695b..66e7076b14 100644 --- a/mavlink/uavionix/enum.MavGoto.html +++ b/mavlink/uavionix/enum.MavGoto.html @@ -1,4 +1,4 @@ -MavGoto in mavlink::uavionix - Rust
pub enum MavGoto {
+MavGoto in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavGoto { MAV_GOTO_DO_HOLD = 0, MAV_GOTO_DO_CONTINUE = 1, MAV_GOTO_HOLD_AT_CURRENT_POSITION = 2, diff --git a/mavlink/uavionix/enum.MavLandedState.html b/mavlink/uavionix/enum.MavLandedState.html index c567914496..26ed739041 100644 --- a/mavlink/uavionix/enum.MavLandedState.html +++ b/mavlink/uavionix/enum.MavLandedState.html @@ -1,4 +1,4 @@ -MavLandedState in mavlink::uavionix - Rust
pub enum MavLandedState {
+MavLandedState in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavLandedState { MAV_LANDED_STATE_UNDEFINED = 0, MAV_LANDED_STATE_ON_GROUND = 1, MAV_LANDED_STATE_IN_AIR = 2, diff --git a/mavlink/uavionix/enum.MavMessage.html b/mavlink/uavionix/enum.MavMessage.html index 007f0d180f..a5b8035df1 100644 --- a/mavlink/uavionix/enum.MavMessage.html +++ b/mavlink/uavionix/enum.MavMessage.html @@ -1,229 +1,229 @@ -MavMessage in mavlink::uavionix - Rust
pub enum MavMessage {
-
Show 224 variants POWER_STATUS(POWER_STATUS_DATA), - GPS_RTCM_DATA(GPS_RTCM_DATA_DATA), - WIND_COV(WIND_COV_DATA), - HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA), - ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA), - LOG_REQUEST_END(LOG_REQUEST_END_DATA), - MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA), - COMPONENT_METADATA(COMPONENT_METADATA_DATA), - FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA), - SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA), - CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA), - LANDING_TARGET(LANDING_TARGET_DATA), - COMMAND_INT(COMMAND_INT_DATA), - ATT_POS_MOCAP(ATT_POS_MOCAP_DATA), - ALTITUDE(ALTITUDE_DATA), - FOLLOW_TARGET(FOLLOW_TARGET_DATA), - SIM_STATE(SIM_STATE_DATA), - MAG_CAL_REPORT(MAG_CAL_REPORT_DATA), - GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA), - HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA), - ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA), +MavMessage in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavMessage { +
Show 224 variants MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA), + AUTH_KEY(AUTH_KEY_DATA), + ATTITUDE_TARGET(ATTITUDE_TARGET_DATA), + SETUP_SIGNING(SETUP_SIGNING_DATA), + CELLULAR_CONFIG(CELLULAR_CONFIG_DATA), + UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA), + VFR_HUD(VFR_HUD_DATA), + UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT(UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA), + MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA), + ODOMETRY(ODOMETRY_DATA), + SERIAL_CONTROL(SERIAL_CONTROL_DATA), + RC_CHANNELS_SCALED(RC_CHANNELS_SCALED_DATA), COMPONENT_INFORMATION(COMPONENT_INFORMATION_DATA), - GPS2_RAW(GPS2_RAW_DATA), - BUTTON_CHANGE(BUTTON_CHANGE_DATA), + PARAM_EXT_VALUE(PARAM_EXT_VALUE_DATA), + OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA), UAVCAN_NODE_INFO(UAVCAN_NODE_INFO_DATA), - GLOBAL_VISION_POSITION_ESTIMATE(GLOBAL_VISION_POSITION_ESTIMATE_DATA), - COLLISION(COLLISION_DATA), - RAW_RPM(RAW_RPM_DATA), - SERIAL_CONTROL(SERIAL_CONTROL_DATA), - CAMERA_TRIGGER(CAMERA_TRIGGER_DATA), - SET_HOME_POSITION(SET_HOME_POSITION_DATA), - CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA), - OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA), - VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA), - LINK_NODE_STATUS(LINK_NODE_STATUS_DATA), + CAMERA_SETTINGS(CAMERA_SETTINGS_DATA), + RADIO_STATUS(RADIO_STATUS_DATA), + GPS_RAW_INT(GPS_RAW_INT_DATA), + CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA), + CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA), + TUNNEL(TUNNEL_DATA), + LOG_REQUEST_LIST(LOG_REQUEST_LIST_DATA), + REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA), + GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA), + CANFD_FRAME(CANFD_FRAME_DATA), + HIL_CONTROLS(HIL_CONTROLS_DATA), + POWER_STATUS(POWER_STATUS_DATA), HIL_STATE(HIL_STATE_DATA), - PARAM_SET(PARAM_SET_DATA), - SCALED_IMU(SCALED_IMU_DATA), - FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA), - TERRAIN_REQUEST(TERRAIN_REQUEST_DATA), - SCALED_PRESSURE(SCALED_PRESSURE_DATA), - GENERATOR_STATUS(GENERATOR_STATUS_DATA), - HIL_GPS(HIL_GPS_DATA), + LOGGING_DATA(LOGGING_DATA_DATA), + SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA), + RAW_PRESSURE(RAW_PRESSURE_DATA), + PARAM_EXT_SET(PARAM_EXT_SET_DATA), + VIBRATION(VIBRATION_DATA), + LOGGING_ACK(LOGGING_ACK_DATA), + SCALED_PRESSURE2(SCALED_PRESSURE2_DATA), + AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA), + NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA), + GPS_RTK(GPS_RTK_DATA), + UAVIONIX_ADSB_OUT_DYNAMIC(UAVIONIX_ADSB_OUT_DYNAMIC_DATA), + COMMAND_CANCEL(COMMAND_CANCEL_DATA), + CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA), + GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA), LOG_ERASE(LOG_ERASE_DATA), - RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA), - UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT(UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA), - CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA), - MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA), - LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA), - SUPPORTED_TUNES(SUPPORTED_TUNES_DATA), - VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA), - HYGROMETER_SENSOR(HYGROMETER_SENSOR_DATA), - SCALED_PRESSURE3(SCALED_PRESSURE3_DATA), - OBSTACLE_DISTANCE(OBSTACLE_DISTANCE_DATA), - REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA), - DISTANCE_SENSOR(DISTANCE_SENSOR_DATA), - LOG_REQUEST_LIST(LOG_REQUEST_LIST_DATA), + LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA), + LINK_NODE_STATUS(LINK_NODE_STATUS_DATA), + GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA), + STORAGE_INFORMATION(STORAGE_INFORMATION_DATA), + LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA), + DEBUG_FLOAT_ARRAY(DEBUG_FLOAT_ARRAY_DATA), + SCALED_IMU2(SCALED_IMU2_DATA), + COLLISION(COLLISION_DATA), + MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA), + SERVO_OUTPUT_RAW(SERVO_OUTPUT_RAW_DATA), + PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA), + TERRAIN_DATA(TERRAIN_DATA_DATA), RC_CHANNELS(RC_CHANNELS_DATA), - CAN_FILTER_MODIFY(CAN_FILTER_MODIFY_DATA), + HIL_SENSOR(HIL_SENSOR_DATA), + SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA), + GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA), + STATUSTEXT(STATUSTEXT_DATA), + RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA), + ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA), + MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA), SAFETY_ALLOWED_AREA(SAFETY_ALLOWED_AREA_DATA), - ATTITUDE(ATTITUDE_DATA), - SERVO_OUTPUT_RAW(SERVO_OUTPUT_RAW_DATA), - CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA), - VFR_HUD(VFR_HUD_DATA), - NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA), + EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA), + GPS_INJECT_DATA(GPS_INJECT_DATA_DATA), + HOME_POSITION(HOME_POSITION_DATA), + PARAM_EXT_REQUEST_READ(PARAM_EXT_REQUEST_READ_DATA), + OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA), + TRAJECTORY_REPRESENTATION_BEZIER(TRAJECTORY_REPRESENTATION_BEZIER_DATA), OPEN_DRONE_ID_BASIC_ID(OPEN_DRONE_ID_BASIC_ID_DATA), - EVENT(EVENT_DATA), - CAMERA_INFORMATION(CAMERA_INFORMATION_DATA), + ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA), + NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA), + RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA), + SET_HOME_POSITION(SET_HOME_POSITION_DATA), + HIL_OPTICAL_FLOW(HIL_OPTICAL_FLOW_DATA), + V2_EXTENSION(V2_EXTENSION_DATA), + HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA), + PARAM_MAP_RC(PARAM_MAP_RC_DATA), + TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA), + BUTTON_CHANGE(BUTTON_CHANGE_DATA), PARAM_REQUEST_LIST(PARAM_REQUEST_LIST_DATA), - WHEEL_DISTANCE(WHEEL_DISTANCE_DATA), CHANGE_OPERATOR_CONTROL(CHANGE_OPERATOR_CONTROL_DATA), - UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA), - PARAM_EXT_SET(PARAM_EXT_SET_DATA), - OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA), - MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA), - SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA), - OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA), - HIL_OPTICAL_FLOW(HIL_OPTICAL_FLOW_DATA), - LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA), + CHANGE_OPERATOR_CONTROL_ACK(CHANGE_OPERATOR_CONTROL_ACK_DATA), + OPEN_DRONE_ID_LOCATION(OPEN_DRONE_ID_LOCATION_DATA), BATTERY_STATUS(BATTERY_STATUS_DATA), - GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA), - MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA), - MISSION_ITEM(MISSION_ITEM_DATA), - GPS_RTK(GPS_RTK_DATA), + OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA), + GLOBAL_VISION_POSITION_ESTIMATE(GLOBAL_VISION_POSITION_ESTIMATE_DATA), + SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA), + GIMBAL_MANAGER_SET_PITCHYAW(GIMBAL_MANAGER_SET_PITCHYAW_DATA), + ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA), HIGHRES_IMU(HIGHRES_IMU_DATA), - RESOURCE_REQUEST(RESOURCE_REQUEST_DATA), - CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA), - GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA), - PARAM_EXT_VALUE(PARAM_EXT_VALUE_DATA), - RAW_IMU(RAW_IMU_DATA), - TUNNEL(TUNNEL_DATA), - GPS2_RTK(GPS2_RTK_DATA), - EFI_STATUS(EFI_STATUS_DATA), - ATTITUDE_TARGET(ATTITUDE_TARGET_DATA), - GPS_INJECT_DATA(GPS_INJECT_DATA_DATA), - CELLULAR_CONFIG(CELLULAR_CONFIG_DATA), - EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA), - ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA), - SETUP_SIGNING(SETUP_SIGNING_DATA), - PARAM_MAP_RC(PARAM_MAP_RC_DATA), - HIGH_LATENCY2(HIGH_LATENCY2_DATA), - SCALED_IMU2(SCALED_IMU2_DATA), - POSITION_TARGET_GLOBAL_INT(POSITION_TARGET_GLOBAL_INT_DATA), + PARAM_EXT_ACK(PARAM_EXT_ACK_DATA), + TERRAIN_CHECK(TERRAIN_CHECK_DATA), + HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA), + MISSION_ITEM_INT(MISSION_ITEM_INT_DATA), + ATT_POS_MOCAP(ATT_POS_MOCAP_DATA), TRAJECTORY_REPRESENTATION_WAYPOINTS(TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA), - VIBRATION(VIBRATION_DATA), - HIL_SENSOR(HIL_SENSOR_DATA), - WINCH_STATUS(WINCH_STATUS_DATA), - SET_MODE(SET_MODE_DATA), - RAW_PRESSURE(RAW_PRESSURE_DATA), + RESPONSE_EVENT_ERROR(RESPONSE_EVENT_ERROR_DATA), + ATTITUDE(ATTITUDE_DATA), + TERRAIN_REQUEST(TERRAIN_REQUEST_DATA), + FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA), + LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA), + TERRAIN_REPORT(TERRAIN_REPORT_DATA), + REQUEST_EVENT(REQUEST_EVENT_DATA), + ALTITUDE(ALTITUDE_DATA), + WIND_COV(WIND_COV_DATA), + GPS2_RAW(GPS2_RAW_DATA), + SYS_STATUS(SYS_STATUS_DATA), + SCALED_PRESSURE(SCALED_PRESSURE_DATA), + SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA), + LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA), + ORBIT_EXECUTION_STATUS(ORBIT_EXECUTION_STATUS_DATA), + PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA), + MEMORY_VECT(MEMORY_VECT_DATA), + SCALED_IMU(SCALED_IMU_DATA), + VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA), + GPS_STATUS(GPS_STATUS_DATA), + PING(PING_DATA), AUTOPILOT_STATE_FOR_GIMBAL_DEVICE(AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA), - LOG_DATA(LOG_DATA_DATA), + SCALED_PRESSURE3(SCALED_PRESSURE3_DATA), + WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA), + RAW_RPM(RAW_RPM_DATA), + MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA), TIMESYNC(TIMESYNC_DATA), - RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA), - GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA), - OPEN_DRONE_ID_OPERATOR_ID(OPEN_DRONE_ID_OPERATOR_ID_DATA), - PARAM_VALUE(PARAM_VALUE_DATA), - HIL_CONTROLS(HIL_CONTROLS_DATA), - GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA), - ADSB_VEHICLE(ADSB_VEHICLE_DATA), - PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA), - UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA), - COMMAND_ACK(COMMAND_ACK_DATA), + MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA), + DATA_STREAM(DATA_STREAM_DATA), ISBD_LINK_STATUS(ISBD_LINK_STATUS_DATA), - UAVIONIX_ADSB_OUT_CFG(UAVIONIX_ADSB_OUT_CFG_DATA), - AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA), - DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA), - DEBUG_FLOAT_ARRAY(DEBUG_FLOAT_ARRAY_DATA), - PLAY_TUNE_V2(PLAY_TUNE_V2_DATA), - SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA), - REQUEST_EVENT(REQUEST_EVENT_DATA), - TRAJECTORY_REPRESENTATION_BEZIER(TRAJECTORY_REPRESENTATION_BEZIER_DATA), + GPS2_RTK(GPS2_RTK_DATA), + SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA), + HIL_GPS(HIL_GPS_DATA), + MISSION_CURRENT(MISSION_CURRENT_DATA), + PARAM_VALUE(PARAM_VALUE_DATA), + FENCE_STATUS(FENCE_STATUS_DATA), + HIL_STATE_QUATERNION(HIL_STATE_QUATERNION_DATA), + OBSTACLE_DISTANCE(OBSTACLE_DISTANCE_DATA), + CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA), + DISTANCE_SENSOR(DISTANCE_SENSOR_DATA), NAMED_VALUE_INT(NAMED_VALUE_INT_DATA), + ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA), + GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA), + MISSION_REQUEST(MISSION_REQUEST_DATA), MISSION_REQUEST_LIST(MISSION_REQUEST_LIST_DATA), - LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA), - MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA), - VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA), - LOG_ENTRY(LOG_ENTRY_DATA), - AIS_VESSEL(AIS_VESSEL_DATA), - MISSION_ACK(MISSION_ACK_DATA), - RADIO_STATUS(RADIO_STATUS_DATA), - CELLULAR_STATUS(CELLULAR_STATUS_DATA), - DATA_STREAM(DATA_STREAM_DATA), - DEBUG_VECT(DEBUG_VECT_DATA), - MISSION_CURRENT(MISSION_CURRENT_DATA), + LOG_DATA(LOG_DATA_DATA), + UAVIONIX_ADSB_OUT_CFG(UAVIONIX_ADSB_OUT_CFG_DATA), PROTOCOL_VERSION(PROTOCOL_VERSION_DATA), - GPS_INPUT(GPS_INPUT_DATA), - TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA), - MISSION_ITEM_INT(MISSION_ITEM_INT_DATA), - GPS_STATUS(GPS_STATUS_DATA), - MANUAL_SETPOINT(MANUAL_SETPOINT_DATA), - FENCE_STATUS(FENCE_STATUS_DATA), - HOME_POSITION(HOME_POSITION_DATA), + OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA), + LANDING_TARGET(LANDING_TARGET_DATA), + ESC_STATUS(ESC_STATUS_DATA), + CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA), + GPS_GLOBAL_ORIGIN(GPS_GLOBAL_ORIGIN_DATA), + PLAY_TUNE_V2(PLAY_TUNE_V2_DATA), + DEBUG_VECT(DEBUG_VECT_DATA), + LOG_REQUEST_END(LOG_REQUEST_END_DATA), + RESOURCE_REQUEST(RESOURCE_REQUEST_DATA), + ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA), + HYGROMETER_SENSOR(HYGROMETER_SENSOR_DATA), + ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA), + CAMERA_INFORMATION(CAMERA_INFORMATION_DATA), ESC_INFO(ESC_INFO_DATA), - COMMAND_CANCEL(COMMAND_CANCEL_DATA), - PARAM_EXT_REQUEST_READ(PARAM_EXT_REQUEST_READ_DATA), + FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA), + HIGH_LATENCY2(HIGH_LATENCY2_DATA), + GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA), + SET_MODE(SET_MODE_DATA), + SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA), + GIMBAL_MANAGER_SET_ATTITUDE(GIMBAL_MANAGER_SET_ATTITUDE_DATA), + PARAM_SET(PARAM_SET_DATA), + SUPPORTED_TUNES(SUPPORTED_TUNES_DATA), + CAN_FILTER_MODIFY(CAN_FILTER_MODIFY_DATA), + VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA), PLAY_TUNE(PLAY_TUNE_DATA), - MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA), - ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA), - MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA), - PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA), - TERRAIN_DATA(TERRAIN_DATA_DATA), - GPS_RAW_INT(GPS_RAW_INT_DATA), - STORAGE_INFORMATION(STORAGE_INFORMATION_DATA), - RESPONSE_EVENT_ERROR(RESPONSE_EVENT_ERROR_DATA), - MANUAL_CONTROL(MANUAL_CONTROL_DATA), - NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA), - GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA), - SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA), - LOGGING_DATA(LOGGING_DATA_DATA), - STATUSTEXT(STATUSTEXT_DATA), - CHANGE_OPERATOR_CONTROL_ACK(CHANGE_OPERATOR_CONTROL_ACK_DATA), - ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA), - CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA), - PARAM_EXT_ACK(PARAM_EXT_ACK_DATA), - ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA), - SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA), - CAN_FRAME(CAN_FRAME_DATA), - COMMAND_LONG(COMMAND_LONG_DATA), - UAVIONIX_ADSB_OUT_DYNAMIC(UAVIONIX_ADSB_OUT_DYNAMIC_DATA), HEARTBEAT(HEARTBEAT_DATA), - ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA), - VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA), - ORBIT_EXECUTION_STATUS(ORBIT_EXECUTION_STATUS_DATA), - GIMBAL_MANAGER_SET_PITCHYAW(GIMBAL_MANAGER_SET_PITCHYAW_DATA), - SCALED_PRESSURE2(SCALED_PRESSURE2_DATA), + SIM_STATE(SIM_STATE_DATA), + CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA), + AIS_VESSEL(AIS_VESSEL_DATA), + CAMERA_TRIGGER(CAMERA_TRIGGER_DATA), + LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA), + LOG_ENTRY(LOG_ENTRY_DATA), OPEN_DRONE_ID_MESSAGE_PACK(OPEN_DRONE_ID_MESSAGE_PACK_DATA), - ODOMETRY(ODOMETRY_DATA), - CAMERA_SETTINGS(CAMERA_SETTINGS_DATA), - MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA), - GIMBAL_MANAGER_SET_ATTITUDE(GIMBAL_MANAGER_SET_ATTITUDE_DATA), - VISION_SPEED_ESTIMATE(VISION_SPEED_ESTIMATE_DATA), - OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA), - TERRAIN_REPORT(TERRAIN_REPORT_DATA), - LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA), + GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA), + MANUAL_SETPOINT(MANUAL_SETPOINT_DATA), + GPS_RTCM_DATA(GPS_RTCM_DATA_DATA), + RAW_IMU(RAW_IMU_DATA), + COMMAND_INT(COMMAND_INT_DATA), DEBUG(DEBUG_DATA), - GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA), - GPS_GLOBAL_ORIGIN(GPS_GLOBAL_ORIGIN_DATA), MISSION_COUNT(MISSION_COUNT_DATA), - HIGH_LATENCY(HIGH_LATENCY_DATA), - SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA), - CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA), - MEMORY_VECT(MEMORY_VECT_DATA), - MISSION_REQUEST(MISSION_REQUEST_DATA), - V2_EXTENSION(V2_EXTENSION_DATA), - ESC_STATUS(ESC_STATUS_DATA), - LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA), - CANFD_FRAME(CANFD_FRAME_DATA), - SCALED_IMU3(SCALED_IMU3_DATA), - GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA), - HIL_STATE_QUATERNION(HIL_STATE_QUATERNION_DATA), - AUTH_KEY(AUTH_KEY_DATA), - OPEN_DRONE_ID_LOCATION(OPEN_DRONE_ID_LOCATION_DATA), - LOGGING_ACK(LOGGING_ACK_DATA), - OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA), + VISION_SPEED_ESTIMATE(VISION_SPEED_ESTIMATE_DATA), + SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA), + GPS_INPUT(GPS_INPUT_DATA), + POSITION_TARGET_GLOBAL_INT(POSITION_TARGET_GLOBAL_INT_DATA), + UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA), + OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA), + COMMAND_ACK(COMMAND_ACK_DATA), + OPEN_DRONE_ID_OPERATOR_ID(OPEN_DRONE_ID_OPERATOR_ID_DATA), + CELLULAR_STATUS(CELLULAR_STATUS_DATA), SYSTEM_TIME(SYSTEM_TIME_DATA), - SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA), + EFI_STATUS(EFI_STATUS_DATA), + COMMAND_LONG(COMMAND_LONG_DATA), POSITION_TARGET_LOCAL_NED(POSITION_TARGET_LOCAL_NED_DATA), - TERRAIN_CHECK(TERRAIN_CHECK_DATA), - SYS_STATUS(SYS_STATUS_DATA), - WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA), - PING(PING_DATA), - RC_CHANNELS_SCALED(RC_CHANNELS_SCALED_DATA), + MAG_CAL_REPORT(MAG_CAL_REPORT_DATA), + WHEEL_DISTANCE(WHEEL_DISTANCE_DATA), + OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA), + SCALED_IMU3(SCALED_IMU3_DATA), + MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA), + GENERATOR_STATUS(GENERATOR_STATUS_DATA), + VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA), + MISSION_ITEM(MISSION_ITEM_DATA), + MANUAL_CONTROL(MANUAL_CONTROL_DATA), + ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA), + ADSB_VEHICLE(ADSB_VEHICLE_DATA), + GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA), + DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA), + MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA), + VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA), + CAN_FRAME(CAN_FRAME_DATA), + EVENT(EVENT_DATA), + COMPONENT_METADATA(COMPONENT_METADATA_DATA), + CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA), + MISSION_ACK(MISSION_ACK_DATA), OPTICAL_FLOW(OPTICAL_FLOW_DATA), - OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA), -
}

Variants§

§

POWER_STATUS(POWER_STATUS_DATA)

§

GPS_RTCM_DATA(GPS_RTCM_DATA_DATA)

§

WIND_COV(WIND_COV_DATA)

§

HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA)

§

ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA)

§

LOG_REQUEST_END(LOG_REQUEST_END_DATA)

§

MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA)

§

COMPONENT_METADATA(COMPONENT_METADATA_DATA)

§

FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA)

§

SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA)

§

CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA)

§

LANDING_TARGET(LANDING_TARGET_DATA)

§

COMMAND_INT(COMMAND_INT_DATA)

§

ATT_POS_MOCAP(ATT_POS_MOCAP_DATA)

§

ALTITUDE(ALTITUDE_DATA)

§

FOLLOW_TARGET(FOLLOW_TARGET_DATA)

§

SIM_STATE(SIM_STATE_DATA)

§

MAG_CAL_REPORT(MAG_CAL_REPORT_DATA)

§

GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA)

§

HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA)

§

ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA)

§

COMPONENT_INFORMATION(COMPONENT_INFORMATION_DATA)

§

GPS2_RAW(GPS2_RAW_DATA)

§

BUTTON_CHANGE(BUTTON_CHANGE_DATA)

§

UAVCAN_NODE_INFO(UAVCAN_NODE_INFO_DATA)

§

GLOBAL_VISION_POSITION_ESTIMATE(GLOBAL_VISION_POSITION_ESTIMATE_DATA)

§

COLLISION(COLLISION_DATA)

§

RAW_RPM(RAW_RPM_DATA)

§

SERIAL_CONTROL(SERIAL_CONTROL_DATA)

§

CAMERA_TRIGGER(CAMERA_TRIGGER_DATA)

§

SET_HOME_POSITION(SET_HOME_POSITION_DATA)

§

CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA)

§

OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA)

§

VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA)

§

HIL_STATE(HIL_STATE_DATA)

§

PARAM_SET(PARAM_SET_DATA)

§

SCALED_IMU(SCALED_IMU_DATA)

§

FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA)

§

TERRAIN_REQUEST(TERRAIN_REQUEST_DATA)

§

SCALED_PRESSURE(SCALED_PRESSURE_DATA)

§

GENERATOR_STATUS(GENERATOR_STATUS_DATA)

§

HIL_GPS(HIL_GPS_DATA)

§

LOG_ERASE(LOG_ERASE_DATA)

§

RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA)

§

UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT(UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA)

§

CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA)

§

MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA)

§

LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA)

§

SUPPORTED_TUNES(SUPPORTED_TUNES_DATA)

§

VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA)

§

HYGROMETER_SENSOR(HYGROMETER_SENSOR_DATA)

§

SCALED_PRESSURE3(SCALED_PRESSURE3_DATA)

§

OBSTACLE_DISTANCE(OBSTACLE_DISTANCE_DATA)

§

REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA)

§

DISTANCE_SENSOR(DISTANCE_SENSOR_DATA)

§

LOG_REQUEST_LIST(LOG_REQUEST_LIST_DATA)

§

RC_CHANNELS(RC_CHANNELS_DATA)

§

CAN_FILTER_MODIFY(CAN_FILTER_MODIFY_DATA)

§

SAFETY_ALLOWED_AREA(SAFETY_ALLOWED_AREA_DATA)

§

ATTITUDE(ATTITUDE_DATA)

§

SERVO_OUTPUT_RAW(SERVO_OUTPUT_RAW_DATA)

§

CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA)

§

VFR_HUD(VFR_HUD_DATA)

§

NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA)

§

OPEN_DRONE_ID_BASIC_ID(OPEN_DRONE_ID_BASIC_ID_DATA)

§

EVENT(EVENT_DATA)

§

CAMERA_INFORMATION(CAMERA_INFORMATION_DATA)

§

PARAM_REQUEST_LIST(PARAM_REQUEST_LIST_DATA)

§

WHEEL_DISTANCE(WHEEL_DISTANCE_DATA)

§

CHANGE_OPERATOR_CONTROL(CHANGE_OPERATOR_CONTROL_DATA)

§

UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA)

§

PARAM_EXT_SET(PARAM_EXT_SET_DATA)

§

OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA)

§

MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA)

§

SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA)

§

OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA)

§

HIL_OPTICAL_FLOW(HIL_OPTICAL_FLOW_DATA)

§

LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA)

§

BATTERY_STATUS(BATTERY_STATUS_DATA)

§

GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA)

§

MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA)

§

MISSION_ITEM(MISSION_ITEM_DATA)

§

GPS_RTK(GPS_RTK_DATA)

§

HIGHRES_IMU(HIGHRES_IMU_DATA)

§

RESOURCE_REQUEST(RESOURCE_REQUEST_DATA)

§

CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA)

§

GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA)

§

PARAM_EXT_VALUE(PARAM_EXT_VALUE_DATA)

§

RAW_IMU(RAW_IMU_DATA)

§

TUNNEL(TUNNEL_DATA)

§

GPS2_RTK(GPS2_RTK_DATA)

§

EFI_STATUS(EFI_STATUS_DATA)

§

ATTITUDE_TARGET(ATTITUDE_TARGET_DATA)

§

GPS_INJECT_DATA(GPS_INJECT_DATA_DATA)

§

CELLULAR_CONFIG(CELLULAR_CONFIG_DATA)

§

EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA)

§

ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA)

§

SETUP_SIGNING(SETUP_SIGNING_DATA)

§

PARAM_MAP_RC(PARAM_MAP_RC_DATA)

§

HIGH_LATENCY2(HIGH_LATENCY2_DATA)

§

SCALED_IMU2(SCALED_IMU2_DATA)

§

POSITION_TARGET_GLOBAL_INT(POSITION_TARGET_GLOBAL_INT_DATA)

§

TRAJECTORY_REPRESENTATION_WAYPOINTS(TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA)

§

VIBRATION(VIBRATION_DATA)

§

HIL_SENSOR(HIL_SENSOR_DATA)

§

WINCH_STATUS(WINCH_STATUS_DATA)

§

SET_MODE(SET_MODE_DATA)

§

RAW_PRESSURE(RAW_PRESSURE_DATA)

§

AUTOPILOT_STATE_FOR_GIMBAL_DEVICE(AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA)

§

LOG_DATA(LOG_DATA_DATA)

§

TIMESYNC(TIMESYNC_DATA)

§

RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA)

§

GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA)

§

OPEN_DRONE_ID_OPERATOR_ID(OPEN_DRONE_ID_OPERATOR_ID_DATA)

§

PARAM_VALUE(PARAM_VALUE_DATA)

§

HIL_CONTROLS(HIL_CONTROLS_DATA)

§

GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA)

§

ADSB_VEHICLE(ADSB_VEHICLE_DATA)

§

PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA)

§

UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA)

§

COMMAND_ACK(COMMAND_ACK_DATA)

§

UAVIONIX_ADSB_OUT_CFG(UAVIONIX_ADSB_OUT_CFG_DATA)

§

AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA)

§

DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA)

§

DEBUG_FLOAT_ARRAY(DEBUG_FLOAT_ARRAY_DATA)

§

PLAY_TUNE_V2(PLAY_TUNE_V2_DATA)

§

SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA)

§

REQUEST_EVENT(REQUEST_EVENT_DATA)

§

TRAJECTORY_REPRESENTATION_BEZIER(TRAJECTORY_REPRESENTATION_BEZIER_DATA)

§

NAMED_VALUE_INT(NAMED_VALUE_INT_DATA)

§

MISSION_REQUEST_LIST(MISSION_REQUEST_LIST_DATA)

§

LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA)

§

MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA)

§

VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA)

§

LOG_ENTRY(LOG_ENTRY_DATA)

§

AIS_VESSEL(AIS_VESSEL_DATA)

§

MISSION_ACK(MISSION_ACK_DATA)

§

RADIO_STATUS(RADIO_STATUS_DATA)

§

CELLULAR_STATUS(CELLULAR_STATUS_DATA)

§

DATA_STREAM(DATA_STREAM_DATA)

§

DEBUG_VECT(DEBUG_VECT_DATA)

§

MISSION_CURRENT(MISSION_CURRENT_DATA)

§

PROTOCOL_VERSION(PROTOCOL_VERSION_DATA)

§

GPS_INPUT(GPS_INPUT_DATA)

§

TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA)

§

MISSION_ITEM_INT(MISSION_ITEM_INT_DATA)

§

GPS_STATUS(GPS_STATUS_DATA)

§

MANUAL_SETPOINT(MANUAL_SETPOINT_DATA)

§

FENCE_STATUS(FENCE_STATUS_DATA)

§

HOME_POSITION(HOME_POSITION_DATA)

§

ESC_INFO(ESC_INFO_DATA)

§

COMMAND_CANCEL(COMMAND_CANCEL_DATA)

§

PARAM_EXT_REQUEST_READ(PARAM_EXT_REQUEST_READ_DATA)

§

PLAY_TUNE(PLAY_TUNE_DATA)

§

MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA)

§

ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA)

§

MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA)

§

PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA)

§

TERRAIN_DATA(TERRAIN_DATA_DATA)

§

GPS_RAW_INT(GPS_RAW_INT_DATA)

§

STORAGE_INFORMATION(STORAGE_INFORMATION_DATA)

§

RESPONSE_EVENT_ERROR(RESPONSE_EVENT_ERROR_DATA)

§

MANUAL_CONTROL(MANUAL_CONTROL_DATA)

§

NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA)

§

GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA)

§

SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA)

§

LOGGING_DATA(LOGGING_DATA_DATA)

§

STATUSTEXT(STATUSTEXT_DATA)

§

CHANGE_OPERATOR_CONTROL_ACK(CHANGE_OPERATOR_CONTROL_ACK_DATA)

§

ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA)

§

CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA)

§

PARAM_EXT_ACK(PARAM_EXT_ACK_DATA)

§

ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA)

§

SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA)

§

CAN_FRAME(CAN_FRAME_DATA)

§

COMMAND_LONG(COMMAND_LONG_DATA)

§

UAVIONIX_ADSB_OUT_DYNAMIC(UAVIONIX_ADSB_OUT_DYNAMIC_DATA)

§

HEARTBEAT(HEARTBEAT_DATA)

§

ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA)

§

VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA)

§

ORBIT_EXECUTION_STATUS(ORBIT_EXECUTION_STATUS_DATA)

§

GIMBAL_MANAGER_SET_PITCHYAW(GIMBAL_MANAGER_SET_PITCHYAW_DATA)

§

SCALED_PRESSURE2(SCALED_PRESSURE2_DATA)

§

OPEN_DRONE_ID_MESSAGE_PACK(OPEN_DRONE_ID_MESSAGE_PACK_DATA)

§

ODOMETRY(ODOMETRY_DATA)

§

CAMERA_SETTINGS(CAMERA_SETTINGS_DATA)

§

MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA)

§

GIMBAL_MANAGER_SET_ATTITUDE(GIMBAL_MANAGER_SET_ATTITUDE_DATA)

§

VISION_SPEED_ESTIMATE(VISION_SPEED_ESTIMATE_DATA)

§

OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA)

§

TERRAIN_REPORT(TERRAIN_REPORT_DATA)

§

LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA)

§

DEBUG(DEBUG_DATA)

§

GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA)

§

GPS_GLOBAL_ORIGIN(GPS_GLOBAL_ORIGIN_DATA)

§

MISSION_COUNT(MISSION_COUNT_DATA)

§

HIGH_LATENCY(HIGH_LATENCY_DATA)

§

SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA)

§

CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA)

§

MEMORY_VECT(MEMORY_VECT_DATA)

§

MISSION_REQUEST(MISSION_REQUEST_DATA)

§

V2_EXTENSION(V2_EXTENSION_DATA)

§

ESC_STATUS(ESC_STATUS_DATA)

§

LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA)

§

CANFD_FRAME(CANFD_FRAME_DATA)

§

SCALED_IMU3(SCALED_IMU3_DATA)

§

GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA)

§

HIL_STATE_QUATERNION(HIL_STATE_QUATERNION_DATA)

§

AUTH_KEY(AUTH_KEY_DATA)

§

OPEN_DRONE_ID_LOCATION(OPEN_DRONE_ID_LOCATION_DATA)

§

LOGGING_ACK(LOGGING_ACK_DATA)

§

OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA)

§

SYSTEM_TIME(SYSTEM_TIME_DATA)

§

SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA)

§

POSITION_TARGET_LOCAL_NED(POSITION_TARGET_LOCAL_NED_DATA)

§

TERRAIN_CHECK(TERRAIN_CHECK_DATA)

§

SYS_STATUS(SYS_STATUS_DATA)

§

WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA)

§

PING(PING_DATA)

§

RC_CHANNELS_SCALED(RC_CHANNELS_SCALED_DATA)

§

OPTICAL_FLOW(OPTICAL_FLOW_DATA)

§

OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA)

Trait Implementations§

source§

impl Clone for MavMessage

source§

fn clone(&self) -> MavMessage

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavMessage

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for MavMessage

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + WINCH_STATUS(WINCH_STATUS_DATA), + HIGH_LATENCY(HIGH_LATENCY_DATA), + FOLLOW_TARGET(FOLLOW_TARGET_DATA), +

}

Variants§

§

MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA)

§

AUTH_KEY(AUTH_KEY_DATA)

§

ATTITUDE_TARGET(ATTITUDE_TARGET_DATA)

§

SETUP_SIGNING(SETUP_SIGNING_DATA)

§

CELLULAR_CONFIG(CELLULAR_CONFIG_DATA)

§

UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA)

§

VFR_HUD(VFR_HUD_DATA)

§

UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT(UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA)

§

MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA)

§

ODOMETRY(ODOMETRY_DATA)

§

SERIAL_CONTROL(SERIAL_CONTROL_DATA)

§

RC_CHANNELS_SCALED(RC_CHANNELS_SCALED_DATA)

§

COMPONENT_INFORMATION(COMPONENT_INFORMATION_DATA)

§

PARAM_EXT_VALUE(PARAM_EXT_VALUE_DATA)

§

OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA)

§

UAVCAN_NODE_INFO(UAVCAN_NODE_INFO_DATA)

§

CAMERA_SETTINGS(CAMERA_SETTINGS_DATA)

§

RADIO_STATUS(RADIO_STATUS_DATA)

§

GPS_RAW_INT(GPS_RAW_INT_DATA)

§

CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA)

§

CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA)

§

TUNNEL(TUNNEL_DATA)

§

LOG_REQUEST_LIST(LOG_REQUEST_LIST_DATA)

§

REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA)

§

GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA)

§

CANFD_FRAME(CANFD_FRAME_DATA)

§

HIL_CONTROLS(HIL_CONTROLS_DATA)

§

POWER_STATUS(POWER_STATUS_DATA)

§

HIL_STATE(HIL_STATE_DATA)

§

LOGGING_DATA(LOGGING_DATA_DATA)

§

SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA)

§

RAW_PRESSURE(RAW_PRESSURE_DATA)

§

PARAM_EXT_SET(PARAM_EXT_SET_DATA)

§

VIBRATION(VIBRATION_DATA)

§

LOGGING_ACK(LOGGING_ACK_DATA)

§

SCALED_PRESSURE2(SCALED_PRESSURE2_DATA)

§

AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA)

§

NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA)

§

GPS_RTK(GPS_RTK_DATA)

§

UAVIONIX_ADSB_OUT_DYNAMIC(UAVIONIX_ADSB_OUT_DYNAMIC_DATA)

§

COMMAND_CANCEL(COMMAND_CANCEL_DATA)

§

CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA)

§

GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA)

§

LOG_ERASE(LOG_ERASE_DATA)

§

LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA)

§

GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA)

§

STORAGE_INFORMATION(STORAGE_INFORMATION_DATA)

§

LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA)

§

DEBUG_FLOAT_ARRAY(DEBUG_FLOAT_ARRAY_DATA)

§

SCALED_IMU2(SCALED_IMU2_DATA)

§

COLLISION(COLLISION_DATA)

§

MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA)

§

SERVO_OUTPUT_RAW(SERVO_OUTPUT_RAW_DATA)

§

PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA)

§

TERRAIN_DATA(TERRAIN_DATA_DATA)

§

RC_CHANNELS(RC_CHANNELS_DATA)

§

HIL_SENSOR(HIL_SENSOR_DATA)

§

SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA)

§

GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA)

§

STATUSTEXT(STATUSTEXT_DATA)

§

RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA)

§

ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA)

§

MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA)

§

SAFETY_ALLOWED_AREA(SAFETY_ALLOWED_AREA_DATA)

§

EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA)

§

GPS_INJECT_DATA(GPS_INJECT_DATA_DATA)

§

HOME_POSITION(HOME_POSITION_DATA)

§

PARAM_EXT_REQUEST_READ(PARAM_EXT_REQUEST_READ_DATA)

§

OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA)

§

TRAJECTORY_REPRESENTATION_BEZIER(TRAJECTORY_REPRESENTATION_BEZIER_DATA)

§

OPEN_DRONE_ID_BASIC_ID(OPEN_DRONE_ID_BASIC_ID_DATA)

§

ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA)

§

NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA)

§

RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA)

§

SET_HOME_POSITION(SET_HOME_POSITION_DATA)

§

HIL_OPTICAL_FLOW(HIL_OPTICAL_FLOW_DATA)

§

V2_EXTENSION(V2_EXTENSION_DATA)

§

HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA)

§

PARAM_MAP_RC(PARAM_MAP_RC_DATA)

§

TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA)

§

BUTTON_CHANGE(BUTTON_CHANGE_DATA)

§

PARAM_REQUEST_LIST(PARAM_REQUEST_LIST_DATA)

§

CHANGE_OPERATOR_CONTROL(CHANGE_OPERATOR_CONTROL_DATA)

§

CHANGE_OPERATOR_CONTROL_ACK(CHANGE_OPERATOR_CONTROL_ACK_DATA)

§

OPEN_DRONE_ID_LOCATION(OPEN_DRONE_ID_LOCATION_DATA)

§

BATTERY_STATUS(BATTERY_STATUS_DATA)

§

OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA)

§

GLOBAL_VISION_POSITION_ESTIMATE(GLOBAL_VISION_POSITION_ESTIMATE_DATA)

§

SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA)

§

GIMBAL_MANAGER_SET_PITCHYAW(GIMBAL_MANAGER_SET_PITCHYAW_DATA)

§

ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA)

§

HIGHRES_IMU(HIGHRES_IMU_DATA)

§

PARAM_EXT_ACK(PARAM_EXT_ACK_DATA)

§

TERRAIN_CHECK(TERRAIN_CHECK_DATA)

§

HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA)

§

MISSION_ITEM_INT(MISSION_ITEM_INT_DATA)

§

ATT_POS_MOCAP(ATT_POS_MOCAP_DATA)

§

TRAJECTORY_REPRESENTATION_WAYPOINTS(TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA)

§

RESPONSE_EVENT_ERROR(RESPONSE_EVENT_ERROR_DATA)

§

ATTITUDE(ATTITUDE_DATA)

§

TERRAIN_REQUEST(TERRAIN_REQUEST_DATA)

§

FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA)

§

LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA)

§

TERRAIN_REPORT(TERRAIN_REPORT_DATA)

§

REQUEST_EVENT(REQUEST_EVENT_DATA)

§

ALTITUDE(ALTITUDE_DATA)

§

WIND_COV(WIND_COV_DATA)

§

GPS2_RAW(GPS2_RAW_DATA)

§

SYS_STATUS(SYS_STATUS_DATA)

§

SCALED_PRESSURE(SCALED_PRESSURE_DATA)

§

SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA)

§

LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA)

§

ORBIT_EXECUTION_STATUS(ORBIT_EXECUTION_STATUS_DATA)

§

PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA)

§

MEMORY_VECT(MEMORY_VECT_DATA)

§

SCALED_IMU(SCALED_IMU_DATA)

§

VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA)

§

GPS_STATUS(GPS_STATUS_DATA)

§

PING(PING_DATA)

§

AUTOPILOT_STATE_FOR_GIMBAL_DEVICE(AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA)

§

SCALED_PRESSURE3(SCALED_PRESSURE3_DATA)

§

WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA)

§

RAW_RPM(RAW_RPM_DATA)

§

MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA)

§

TIMESYNC(TIMESYNC_DATA)

§

MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA)

§

DATA_STREAM(DATA_STREAM_DATA)

§

GPS2_RTK(GPS2_RTK_DATA)

§

SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA)

§

HIL_GPS(HIL_GPS_DATA)

§

MISSION_CURRENT(MISSION_CURRENT_DATA)

§

PARAM_VALUE(PARAM_VALUE_DATA)

§

FENCE_STATUS(FENCE_STATUS_DATA)

§

HIL_STATE_QUATERNION(HIL_STATE_QUATERNION_DATA)

§

OBSTACLE_DISTANCE(OBSTACLE_DISTANCE_DATA)

§

CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA)

§

DISTANCE_SENSOR(DISTANCE_SENSOR_DATA)

§

NAMED_VALUE_INT(NAMED_VALUE_INT_DATA)

§

ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA)

§

GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA)

§

MISSION_REQUEST(MISSION_REQUEST_DATA)

§

MISSION_REQUEST_LIST(MISSION_REQUEST_LIST_DATA)

§

LOG_DATA(LOG_DATA_DATA)

§

UAVIONIX_ADSB_OUT_CFG(UAVIONIX_ADSB_OUT_CFG_DATA)

§

PROTOCOL_VERSION(PROTOCOL_VERSION_DATA)

§

OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA)

§

LANDING_TARGET(LANDING_TARGET_DATA)

§

ESC_STATUS(ESC_STATUS_DATA)

§

CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA)

§

GPS_GLOBAL_ORIGIN(GPS_GLOBAL_ORIGIN_DATA)

§

PLAY_TUNE_V2(PLAY_TUNE_V2_DATA)

§

DEBUG_VECT(DEBUG_VECT_DATA)

§

LOG_REQUEST_END(LOG_REQUEST_END_DATA)

§

RESOURCE_REQUEST(RESOURCE_REQUEST_DATA)

§

ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA)

§

HYGROMETER_SENSOR(HYGROMETER_SENSOR_DATA)

§

ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA)

§

CAMERA_INFORMATION(CAMERA_INFORMATION_DATA)

§

ESC_INFO(ESC_INFO_DATA)

§

FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA)

§

HIGH_LATENCY2(HIGH_LATENCY2_DATA)

§

GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA)

§

SET_MODE(SET_MODE_DATA)

§

SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA)

§

GIMBAL_MANAGER_SET_ATTITUDE(GIMBAL_MANAGER_SET_ATTITUDE_DATA)

§

PARAM_SET(PARAM_SET_DATA)

§

SUPPORTED_TUNES(SUPPORTED_TUNES_DATA)

§

CAN_FILTER_MODIFY(CAN_FILTER_MODIFY_DATA)

§

VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA)

§

PLAY_TUNE(PLAY_TUNE_DATA)

§

HEARTBEAT(HEARTBEAT_DATA)

§

SIM_STATE(SIM_STATE_DATA)

§

CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA)

§

AIS_VESSEL(AIS_VESSEL_DATA)

§

CAMERA_TRIGGER(CAMERA_TRIGGER_DATA)

§

LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA)

§

LOG_ENTRY(LOG_ENTRY_DATA)

§

OPEN_DRONE_ID_MESSAGE_PACK(OPEN_DRONE_ID_MESSAGE_PACK_DATA)

§

GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA)

§

MANUAL_SETPOINT(MANUAL_SETPOINT_DATA)

§

GPS_RTCM_DATA(GPS_RTCM_DATA_DATA)

§

RAW_IMU(RAW_IMU_DATA)

§

COMMAND_INT(COMMAND_INT_DATA)

§

DEBUG(DEBUG_DATA)

§

MISSION_COUNT(MISSION_COUNT_DATA)

§

VISION_SPEED_ESTIMATE(VISION_SPEED_ESTIMATE_DATA)

§

SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA)

§

GPS_INPUT(GPS_INPUT_DATA)

§

POSITION_TARGET_GLOBAL_INT(POSITION_TARGET_GLOBAL_INT_DATA)

§

UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA)

§

OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA)

§

COMMAND_ACK(COMMAND_ACK_DATA)

§

OPEN_DRONE_ID_OPERATOR_ID(OPEN_DRONE_ID_OPERATOR_ID_DATA)

§

CELLULAR_STATUS(CELLULAR_STATUS_DATA)

§

SYSTEM_TIME(SYSTEM_TIME_DATA)

§

EFI_STATUS(EFI_STATUS_DATA)

§

COMMAND_LONG(COMMAND_LONG_DATA)

§

POSITION_TARGET_LOCAL_NED(POSITION_TARGET_LOCAL_NED_DATA)

§

MAG_CAL_REPORT(MAG_CAL_REPORT_DATA)

§

WHEEL_DISTANCE(WHEEL_DISTANCE_DATA)

§

OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA)

§

SCALED_IMU3(SCALED_IMU3_DATA)

§

MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA)

§

GENERATOR_STATUS(GENERATOR_STATUS_DATA)

§

VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA)

§

MISSION_ITEM(MISSION_ITEM_DATA)

§

MANUAL_CONTROL(MANUAL_CONTROL_DATA)

§

ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA)

§

ADSB_VEHICLE(ADSB_VEHICLE_DATA)

§

GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA)

§

DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA)

§

MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA)

§

VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA)

§

CAN_FRAME(CAN_FRAME_DATA)

§

EVENT(EVENT_DATA)

§

COMPONENT_METADATA(COMPONENT_METADATA_DATA)

§

CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA)

§

MISSION_ACK(MISSION_ACK_DATA)

§

OPTICAL_FLOW(OPTICAL_FLOW_DATA)

§

WINCH_STATUS(WINCH_STATUS_DATA)

§

HIGH_LATENCY(HIGH_LATENCY_DATA)

§

FOLLOW_TARGET(FOLLOW_TARGET_DATA)

Trait Implementations§

source§

impl Clone for MavMessage

source§

fn clone(&self) -> MavMessage

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavMessage

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for MavMessage

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Message for MavMessage

source§

fn parse( version: MavlinkVersion, id: u32, diff --git a/mavlink/uavionix/enum.MavMissionResult.html b/mavlink/uavionix/enum.MavMissionResult.html index 3ab6ccfe51..fd7d0c08b1 100644 --- a/mavlink/uavionix/enum.MavMissionResult.html +++ b/mavlink/uavionix/enum.MavMissionResult.html @@ -1,4 +1,4 @@ -MavMissionResult in mavlink::uavionix - Rust
pub enum MavMissionResult {
+MavMissionResult in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavMissionResult {
Show 16 variants MAV_MISSION_ACCEPTED = 0, MAV_MISSION_ERROR = 1, MAV_MISSION_UNSUPPORTED_FRAME = 2, diff --git a/mavlink/uavionix/enum.MavMissionType.html b/mavlink/uavionix/enum.MavMissionType.html index 228aaf5140..2a6e8dc815 100644 --- a/mavlink/uavionix/enum.MavMissionType.html +++ b/mavlink/uavionix/enum.MavMissionType.html @@ -1,4 +1,4 @@ -MavMissionType in mavlink::uavionix - Rust
pub enum MavMissionType {
+MavMissionType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavMissionType { MAV_MISSION_TYPE_MISSION = 0, MAV_MISSION_TYPE_FENCE = 1, MAV_MISSION_TYPE_RALLY = 2, diff --git a/mavlink/uavionix/enum.MavMode.html b/mavlink/uavionix/enum.MavMode.html index 3c3568edb4..67d2863325 100644 --- a/mavlink/uavionix/enum.MavMode.html +++ b/mavlink/uavionix/enum.MavMode.html @@ -1,4 +1,4 @@ -MavMode in mavlink::uavionix - Rust
pub enum MavMode {
+MavMode in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavMode { MAV_MODE_PREFLIGHT = 0, MAV_MODE_STABILIZE_DISARMED = 80, MAV_MODE_STABILIZE_ARMED = 208, diff --git a/mavlink/uavionix/enum.MavModeFlagDecodePosition.html b/mavlink/uavionix/enum.MavModeFlagDecodePosition.html index f76e8ba45e..b25b8cf682 100644 --- a/mavlink/uavionix/enum.MavModeFlagDecodePosition.html +++ b/mavlink/uavionix/enum.MavModeFlagDecodePosition.html @@ -1,4 +1,4 @@ -MavModeFlagDecodePosition in mavlink::uavionix - Rust
pub enum MavModeFlagDecodePosition {
+MavModeFlagDecodePosition in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavModeFlagDecodePosition { MAV_MODE_FLAG_DECODE_POSITION_SAFETY = 128, MAV_MODE_FLAG_DECODE_POSITION_MANUAL = 64, MAV_MODE_FLAG_DECODE_POSITION_HIL = 32, diff --git a/mavlink/uavionix/enum.MavMountMode.html b/mavlink/uavionix/enum.MavMountMode.html index 9723de4066..ee707c17de 100644 --- a/mavlink/uavionix/enum.MavMountMode.html +++ b/mavlink/uavionix/enum.MavMountMode.html @@ -1,4 +1,4 @@ -MavMountMode in mavlink::uavionix - Rust
pub enum MavMountMode {
+MavMountMode in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavMountMode { MAV_MOUNT_MODE_RETRACT = 0, MAV_MOUNT_MODE_NEUTRAL = 1, MAV_MOUNT_MODE_MAVLINK_TARGETING = 2, diff --git a/mavlink/uavionix/enum.MavOdidArmStatus.html b/mavlink/uavionix/enum.MavOdidArmStatus.html index 4f834a96f7..7f8e82a50f 100644 --- a/mavlink/uavionix/enum.MavOdidArmStatus.html +++ b/mavlink/uavionix/enum.MavOdidArmStatus.html @@ -1,4 +1,4 @@ -MavOdidArmStatus in mavlink::uavionix - Rust
pub enum MavOdidArmStatus {
+MavOdidArmStatus in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidArmStatus { MAV_ODID_ARM_STATUS_GOOD_TO_ARM = 0, MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC = 1, }

Variants§

§

MAV_ODID_ARM_STATUS_GOOD_TO_ARM = 0

§

MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC = 1

Implementations§

source§

impl MavOdidArmStatus

source

pub const DEFAULT: Self = Self::MAV_ODID_ARM_STATUS_GOOD_TO_ARM

Trait Implementations§

source§

impl Clone for MavOdidArmStatus

source§

fn clone(&self) -> MavOdidArmStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavOdidArmStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavOdidArmStatus

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavOdidArmStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/uavionix/enum.MavOdidAuthType.html b/mavlink/uavionix/enum.MavOdidAuthType.html index f84e8eac8d..9a36ba4f05 100644 --- a/mavlink/uavionix/enum.MavOdidAuthType.html +++ b/mavlink/uavionix/enum.MavOdidAuthType.html @@ -1,4 +1,4 @@ -MavOdidAuthType in mavlink::uavionix - Rust
pub enum MavOdidAuthType {
+MavOdidAuthType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidAuthType { MAV_ODID_AUTH_TYPE_NONE = 0, MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE = 1, MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE = 2, diff --git a/mavlink/uavionix/enum.MavOdidCategoryEu.html b/mavlink/uavionix/enum.MavOdidCategoryEu.html index 1e8f0a7ca7..88c640c6da 100644 --- a/mavlink/uavionix/enum.MavOdidCategoryEu.html +++ b/mavlink/uavionix/enum.MavOdidCategoryEu.html @@ -1,4 +1,4 @@ -MavOdidCategoryEu in mavlink::uavionix - Rust
pub enum MavOdidCategoryEu {
+MavOdidCategoryEu in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidCategoryEu { MAV_ODID_CATEGORY_EU_UNDECLARED = 0, MAV_ODID_CATEGORY_EU_OPEN = 1, MAV_ODID_CATEGORY_EU_SPECIFIC = 2, diff --git a/mavlink/uavionix/enum.MavOdidClassEu.html b/mavlink/uavionix/enum.MavOdidClassEu.html index 2f910c94f2..da8a804b94 100644 --- a/mavlink/uavionix/enum.MavOdidClassEu.html +++ b/mavlink/uavionix/enum.MavOdidClassEu.html @@ -1,4 +1,4 @@ -MavOdidClassEu in mavlink::uavionix - Rust
pub enum MavOdidClassEu {
+MavOdidClassEu in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidClassEu { MAV_ODID_CLASS_EU_UNDECLARED = 0, MAV_ODID_CLASS_EU_CLASS_0 = 1, MAV_ODID_CLASS_EU_CLASS_1 = 2, diff --git a/mavlink/uavionix/enum.MavOdidClassificationType.html b/mavlink/uavionix/enum.MavOdidClassificationType.html index d0efe4df4e..51088b0ed1 100644 --- a/mavlink/uavionix/enum.MavOdidClassificationType.html +++ b/mavlink/uavionix/enum.MavOdidClassificationType.html @@ -1,4 +1,4 @@ -MavOdidClassificationType in mavlink::uavionix - Rust
pub enum MavOdidClassificationType {
+MavOdidClassificationType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidClassificationType { MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED = 0, MAV_ODID_CLASSIFICATION_TYPE_EU = 1, }

Variants§

§

MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED = 0

§

MAV_ODID_CLASSIFICATION_TYPE_EU = 1

Implementations§

source§

impl MavOdidClassificationType

source

pub const DEFAULT: Self = Self::MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED

Trait Implementations§

source§

impl Clone for MavOdidClassificationType

source§

fn clone(&self) -> MavOdidClassificationType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavOdidClassificationType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavOdidClassificationType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavOdidClassificationType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/uavionix/enum.MavOdidDescType.html b/mavlink/uavionix/enum.MavOdidDescType.html index b16ae9b68b..3844600b56 100644 --- a/mavlink/uavionix/enum.MavOdidDescType.html +++ b/mavlink/uavionix/enum.MavOdidDescType.html @@ -1,4 +1,4 @@ -MavOdidDescType in mavlink::uavionix - Rust
pub enum MavOdidDescType {
+MavOdidDescType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidDescType { MAV_ODID_DESC_TYPE_TEXT = 0, MAV_ODID_DESC_TYPE_EMERGENCY = 1, MAV_ODID_DESC_TYPE_EXTENDED_STATUS = 2, diff --git a/mavlink/uavionix/enum.MavOdidHeightRef.html b/mavlink/uavionix/enum.MavOdidHeightRef.html index f5a0934472..3811da4a36 100644 --- a/mavlink/uavionix/enum.MavOdidHeightRef.html +++ b/mavlink/uavionix/enum.MavOdidHeightRef.html @@ -1,4 +1,4 @@ -MavOdidHeightRef in mavlink::uavionix - Rust
pub enum MavOdidHeightRef {
+MavOdidHeightRef in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidHeightRef { MAV_ODID_HEIGHT_REF_OVER_TAKEOFF = 0, MAV_ODID_HEIGHT_REF_OVER_GROUND = 1, }

Variants§

§

MAV_ODID_HEIGHT_REF_OVER_TAKEOFF = 0

§

MAV_ODID_HEIGHT_REF_OVER_GROUND = 1

Implementations§

source§

impl MavOdidHeightRef

source

pub const DEFAULT: Self = Self::MAV_ODID_HEIGHT_REF_OVER_TAKEOFF

Trait Implementations§

source§

impl Clone for MavOdidHeightRef

source§

fn clone(&self) -> MavOdidHeightRef

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavOdidHeightRef

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavOdidHeightRef

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavOdidHeightRef

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/uavionix/enum.MavOdidHorAcc.html b/mavlink/uavionix/enum.MavOdidHorAcc.html index 584f9cfeb1..5437926c75 100644 --- a/mavlink/uavionix/enum.MavOdidHorAcc.html +++ b/mavlink/uavionix/enum.MavOdidHorAcc.html @@ -1,4 +1,4 @@ -MavOdidHorAcc in mavlink::uavionix - Rust
pub enum MavOdidHorAcc {
+MavOdidHorAcc in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidHorAcc {
Show 13 variants MAV_ODID_HOR_ACC_UNKNOWN = 0, MAV_ODID_HOR_ACC_10NM = 1, MAV_ODID_HOR_ACC_4NM = 2, diff --git a/mavlink/uavionix/enum.MavOdidIdType.html b/mavlink/uavionix/enum.MavOdidIdType.html index 68c7504624..7be9845859 100644 --- a/mavlink/uavionix/enum.MavOdidIdType.html +++ b/mavlink/uavionix/enum.MavOdidIdType.html @@ -1,4 +1,4 @@ -MavOdidIdType in mavlink::uavionix - Rust
pub enum MavOdidIdType {
+MavOdidIdType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidIdType { MAV_ODID_ID_TYPE_NONE = 0, MAV_ODID_ID_TYPE_SERIAL_NUMBER = 1, MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID = 2, diff --git a/mavlink/uavionix/enum.MavOdidOperatorIdType.html b/mavlink/uavionix/enum.MavOdidOperatorIdType.html index f77182403c..41493457d7 100644 --- a/mavlink/uavionix/enum.MavOdidOperatorIdType.html +++ b/mavlink/uavionix/enum.MavOdidOperatorIdType.html @@ -1,4 +1,4 @@ -MavOdidOperatorIdType in mavlink::uavionix - Rust
pub enum MavOdidOperatorIdType {
+MavOdidOperatorIdType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidOperatorIdType { MAV_ODID_OPERATOR_ID_TYPE_CAA = 0, }

Variants§

§

MAV_ODID_OPERATOR_ID_TYPE_CAA = 0

Implementations§

source§

impl MavOdidOperatorIdType

source

pub const DEFAULT: Self = Self::MAV_ODID_OPERATOR_ID_TYPE_CAA

Trait Implementations§

source§

impl Clone for MavOdidOperatorIdType

source§

fn clone(&self) -> MavOdidOperatorIdType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavOdidOperatorIdType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavOdidOperatorIdType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavOdidOperatorIdType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromPrimitive for MavOdidOperatorIdType

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the diff --git a/mavlink/uavionix/enum.MavOdidOperatorLocationType.html b/mavlink/uavionix/enum.MavOdidOperatorLocationType.html index fa279afae2..152a029d67 100644 --- a/mavlink/uavionix/enum.MavOdidOperatorLocationType.html +++ b/mavlink/uavionix/enum.MavOdidOperatorLocationType.html @@ -1,4 +1,4 @@ -MavOdidOperatorLocationType in mavlink::uavionix - Rust
pub enum MavOdidOperatorLocationType {
+MavOdidOperatorLocationType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidOperatorLocationType { MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF = 0, MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS = 1, MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED = 2, diff --git a/mavlink/uavionix/enum.MavOdidSpeedAcc.html b/mavlink/uavionix/enum.MavOdidSpeedAcc.html index c568f112ad..84142d160d 100644 --- a/mavlink/uavionix/enum.MavOdidSpeedAcc.html +++ b/mavlink/uavionix/enum.MavOdidSpeedAcc.html @@ -1,4 +1,4 @@ -MavOdidSpeedAcc in mavlink::uavionix - Rust
pub enum MavOdidSpeedAcc {
+MavOdidSpeedAcc in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidSpeedAcc { MAV_ODID_SPEED_ACC_UNKNOWN = 0, MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND = 1, MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND = 2, diff --git a/mavlink/uavionix/enum.MavOdidStatus.html b/mavlink/uavionix/enum.MavOdidStatus.html index 83651ee5a6..27e3c51dbd 100644 --- a/mavlink/uavionix/enum.MavOdidStatus.html +++ b/mavlink/uavionix/enum.MavOdidStatus.html @@ -1,4 +1,4 @@ -MavOdidStatus in mavlink::uavionix - Rust
pub enum MavOdidStatus {
+MavOdidStatus in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidStatus { MAV_ODID_STATUS_UNDECLARED = 0, MAV_ODID_STATUS_GROUND = 1, MAV_ODID_STATUS_AIRBORNE = 2, diff --git a/mavlink/uavionix/enum.MavOdidTimeAcc.html b/mavlink/uavionix/enum.MavOdidTimeAcc.html index b9ea845fc2..35339a4df1 100644 --- a/mavlink/uavionix/enum.MavOdidTimeAcc.html +++ b/mavlink/uavionix/enum.MavOdidTimeAcc.html @@ -1,4 +1,4 @@ -MavOdidTimeAcc in mavlink::uavionix - Rust
pub enum MavOdidTimeAcc {
+MavOdidTimeAcc in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidTimeAcc {
Show 16 variants MAV_ODID_TIME_ACC_UNKNOWN = 0, MAV_ODID_TIME_ACC_0_1_SECOND = 1, MAV_ODID_TIME_ACC_0_2_SECOND = 2, diff --git a/mavlink/uavionix/enum.MavOdidUaType.html b/mavlink/uavionix/enum.MavOdidUaType.html index 7479fb29cd..19a68e8250 100644 --- a/mavlink/uavionix/enum.MavOdidUaType.html +++ b/mavlink/uavionix/enum.MavOdidUaType.html @@ -1,4 +1,4 @@ -MavOdidUaType in mavlink::uavionix - Rust
pub enum MavOdidUaType {
+MavOdidUaType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidUaType {
Show 16 variants MAV_ODID_UA_TYPE_NONE = 0, MAV_ODID_UA_TYPE_AEROPLANE = 1, MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR = 2, diff --git a/mavlink/uavionix/enum.MavOdidVerAcc.html b/mavlink/uavionix/enum.MavOdidVerAcc.html index 8fd5e478d0..af35ec552e 100644 --- a/mavlink/uavionix/enum.MavOdidVerAcc.html +++ b/mavlink/uavionix/enum.MavOdidVerAcc.html @@ -1,4 +1,4 @@ -MavOdidVerAcc in mavlink::uavionix - Rust
pub enum MavOdidVerAcc {
+MavOdidVerAcc in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavOdidVerAcc { MAV_ODID_VER_ACC_UNKNOWN = 0, MAV_ODID_VER_ACC_150_METER = 1, MAV_ODID_VER_ACC_45_METER = 2, diff --git a/mavlink/uavionix/enum.MavParamExtType.html b/mavlink/uavionix/enum.MavParamExtType.html index 8e39ee5b7a..8ff0d850c0 100644 --- a/mavlink/uavionix/enum.MavParamExtType.html +++ b/mavlink/uavionix/enum.MavParamExtType.html @@ -1,4 +1,4 @@ -MavParamExtType in mavlink::uavionix - Rust
pub enum MavParamExtType {
+MavParamExtType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavParamExtType { MAV_PARAM_EXT_TYPE_UINT8 = 1, MAV_PARAM_EXT_TYPE_INT8 = 2, MAV_PARAM_EXT_TYPE_UINT16 = 3, diff --git a/mavlink/uavionix/enum.MavParamType.html b/mavlink/uavionix/enum.MavParamType.html index d984eb6ad3..e07c0bde23 100644 --- a/mavlink/uavionix/enum.MavParamType.html +++ b/mavlink/uavionix/enum.MavParamType.html @@ -1,4 +1,4 @@ -MavParamType in mavlink::uavionix - Rust
pub enum MavParamType {
+MavParamType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavParamType { MAV_PARAM_TYPE_UINT8 = 1, MAV_PARAM_TYPE_INT8 = 2, MAV_PARAM_TYPE_UINT16 = 3, diff --git a/mavlink/uavionix/enum.MavResult.html b/mavlink/uavionix/enum.MavResult.html index ba074a3c64..79a84e49c7 100644 --- a/mavlink/uavionix/enum.MavResult.html +++ b/mavlink/uavionix/enum.MavResult.html @@ -1,4 +1,4 @@ -MavResult in mavlink::uavionix - Rust
pub enum MavResult {
+MavResult in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavResult { MAV_RESULT_ACCEPTED = 0, MAV_RESULT_TEMPORARILY_REJECTED = 1, MAV_RESULT_DENIED = 2, diff --git a/mavlink/uavionix/enum.MavRoi.html b/mavlink/uavionix/enum.MavRoi.html index dac89e4986..0cc9456b34 100644 --- a/mavlink/uavionix/enum.MavRoi.html +++ b/mavlink/uavionix/enum.MavRoi.html @@ -1,4 +1,4 @@ -MavRoi in mavlink::uavionix - Rust

Enum mavlink::uavionix::MavRoi

source ·
pub enum MavRoi {
+MavRoi in mavlink::uavionix - Rust

Enum mavlink::uavionix::MavRoi

source ·
#[repr(u32)]
pub enum MavRoi { MAV_ROI_NONE = 0, MAV_ROI_WPNEXT = 1, MAV_ROI_WPINDEX = 2, diff --git a/mavlink/uavionix/enum.MavSensorOrientation.html b/mavlink/uavionix/enum.MavSensorOrientation.html index 67b0d3c107..d066d79aa2 100644 --- a/mavlink/uavionix/enum.MavSensorOrientation.html +++ b/mavlink/uavionix/enum.MavSensorOrientation.html @@ -1,4 +1,4 @@ -MavSensorOrientation in mavlink::uavionix - Rust
pub enum MavSensorOrientation {
+MavSensorOrientation in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavSensorOrientation {
Show 42 variants MAV_SENSOR_ROTATION_NONE = 0, MAV_SENSOR_ROTATION_YAW_45 = 1, MAV_SENSOR_ROTATION_YAW_90 = 2, diff --git a/mavlink/uavionix/enum.MavSeverity.html b/mavlink/uavionix/enum.MavSeverity.html index 610c92d655..2daa43d123 100644 --- a/mavlink/uavionix/enum.MavSeverity.html +++ b/mavlink/uavionix/enum.MavSeverity.html @@ -1,4 +1,4 @@ -MavSeverity in mavlink::uavionix - Rust
pub enum MavSeverity {
+MavSeverity in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavSeverity { MAV_SEVERITY_EMERGENCY = 0, MAV_SEVERITY_ALERT = 1, MAV_SEVERITY_CRITICAL = 2, diff --git a/mavlink/uavionix/enum.MavState.html b/mavlink/uavionix/enum.MavState.html index cc176ed6e2..bf68f06fe1 100644 --- a/mavlink/uavionix/enum.MavState.html +++ b/mavlink/uavionix/enum.MavState.html @@ -1,4 +1,4 @@ -MavState in mavlink::uavionix - Rust
pub enum MavState {
+MavState in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavState { MAV_STATE_UNINIT = 0, MAV_STATE_BOOT = 1, MAV_STATE_CALIBRATING = 2, diff --git a/mavlink/uavionix/enum.MavSysStatusSensorExtended.html b/mavlink/uavionix/enum.MavSysStatusSensorExtended.html index 8da1c84a23..2b7951a9ed 100644 --- a/mavlink/uavionix/enum.MavSysStatusSensorExtended.html +++ b/mavlink/uavionix/enum.MavSysStatusSensorExtended.html @@ -1,4 +1,4 @@ -MavSysStatusSensorExtended in mavlink::uavionix - Rust
pub enum MavSysStatusSensorExtended {
+MavSysStatusSensorExtended in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavSysStatusSensorExtended { MAV_SYS_STATUS_RECOVERY_SYSTEM = 1, }

Variants§

§

MAV_SYS_STATUS_RECOVERY_SYSTEM = 1

Implementations§

source§

impl MavSysStatusSensorExtended

source

pub const DEFAULT: Self = Self::MAV_SYS_STATUS_RECOVERY_SYSTEM

Trait Implementations§

source§

impl Clone for MavSysStatusSensorExtended

source§

fn clone(&self) -> MavSysStatusSensorExtended

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavSysStatusSensorExtended

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavSysStatusSensorExtended

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavSysStatusSensorExtended

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromPrimitive for MavSysStatusSensorExtended

source§

fn from_i64(n: i64) -> Option<Self>

Converts an i64 to return an optional value of this type. If the diff --git a/mavlink/uavionix/enum.MavTunnelPayloadType.html b/mavlink/uavionix/enum.MavTunnelPayloadType.html index fecf221ec3..a26380cc77 100644 --- a/mavlink/uavionix/enum.MavTunnelPayloadType.html +++ b/mavlink/uavionix/enum.MavTunnelPayloadType.html @@ -1,4 +1,4 @@ -MavTunnelPayloadType in mavlink::uavionix - Rust
pub enum MavTunnelPayloadType {
+MavTunnelPayloadType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavTunnelPayloadType { MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN = 0, MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0 = 200, MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1 = 201, diff --git a/mavlink/uavionix/enum.MavType.html b/mavlink/uavionix/enum.MavType.html index 158ca22dd7..94c571205f 100644 --- a/mavlink/uavionix/enum.MavType.html +++ b/mavlink/uavionix/enum.MavType.html @@ -1,4 +1,4 @@ -MavType in mavlink::uavionix - Rust
pub enum MavType {
+MavType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavType {
Show 43 variants MAV_TYPE_GENERIC = 0, MAV_TYPE_FIXED_WING = 1, MAV_TYPE_QUADROTOR = 2, diff --git a/mavlink/uavionix/enum.MavVtolState.html b/mavlink/uavionix/enum.MavVtolState.html index f4dc0333d8..c47dce15b9 100644 --- a/mavlink/uavionix/enum.MavVtolState.html +++ b/mavlink/uavionix/enum.MavVtolState.html @@ -1,4 +1,4 @@ -MavVtolState in mavlink::uavionix - Rust
pub enum MavVtolState {
+MavVtolState in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavVtolState { MAV_VTOL_STATE_UNDEFINED = 0, MAV_VTOL_STATE_TRANSITION_TO_FW = 1, MAV_VTOL_STATE_TRANSITION_TO_MC = 2, diff --git a/mavlink/uavionix/enum.MavlinkDataStreamType.html b/mavlink/uavionix/enum.MavlinkDataStreamType.html index 8b6e311772..7bca7b3a57 100644 --- a/mavlink/uavionix/enum.MavlinkDataStreamType.html +++ b/mavlink/uavionix/enum.MavlinkDataStreamType.html @@ -1,4 +1,4 @@ -MavlinkDataStreamType in mavlink::uavionix - Rust
pub enum MavlinkDataStreamType {
+MavlinkDataStreamType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MavlinkDataStreamType { MAVLINK_DATA_STREAM_IMG_JPEG = 0, MAVLINK_DATA_STREAM_IMG_BMP = 1, MAVLINK_DATA_STREAM_IMG_RAW8U = 2, diff --git a/mavlink/uavionix/enum.MissionState.html b/mavlink/uavionix/enum.MissionState.html index 5e5e422da6..ae59dc0b87 100644 --- a/mavlink/uavionix/enum.MissionState.html +++ b/mavlink/uavionix/enum.MissionState.html @@ -1,4 +1,4 @@ -MissionState in mavlink::uavionix - Rust
pub enum MissionState {
+MissionState in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MissionState { MISSION_STATE_UNKNOWN = 0, MISSION_STATE_NO_MISSION = 1, MISSION_STATE_NOT_STARTED = 2, diff --git a/mavlink/uavionix/enum.MotorTestOrder.html b/mavlink/uavionix/enum.MotorTestOrder.html index 86f3b4f9cf..abd6d614e0 100644 --- a/mavlink/uavionix/enum.MotorTestOrder.html +++ b/mavlink/uavionix/enum.MotorTestOrder.html @@ -1,4 +1,4 @@ -MotorTestOrder in mavlink::uavionix - Rust
pub enum MotorTestOrder {
+MotorTestOrder in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MotorTestOrder { MOTOR_TEST_ORDER_DEFAULT = 0, MOTOR_TEST_ORDER_SEQUENCE = 1, MOTOR_TEST_ORDER_BOARD = 2, diff --git a/mavlink/uavionix/enum.MotorTestThrottleType.html b/mavlink/uavionix/enum.MotorTestThrottleType.html index 849e8470ed..1e898308cf 100644 --- a/mavlink/uavionix/enum.MotorTestThrottleType.html +++ b/mavlink/uavionix/enum.MotorTestThrottleType.html @@ -1,4 +1,4 @@ -MotorTestThrottleType in mavlink::uavionix - Rust
pub enum MotorTestThrottleType {
+MotorTestThrottleType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum MotorTestThrottleType { MOTOR_TEST_THROTTLE_PERCENT = 0, MOTOR_TEST_THROTTLE_PWM = 1, MOTOR_TEST_THROTTLE_PILOT = 2, diff --git a/mavlink/uavionix/enum.NavVtolLandOptions.html b/mavlink/uavionix/enum.NavVtolLandOptions.html index 888df3ded9..94529fdb96 100644 --- a/mavlink/uavionix/enum.NavVtolLandOptions.html +++ b/mavlink/uavionix/enum.NavVtolLandOptions.html @@ -1,4 +1,4 @@ -NavVtolLandOptions in mavlink::uavionix - Rust
pub enum NavVtolLandOptions {
+NavVtolLandOptions in mavlink::uavionix - Rust
#[repr(u32)]
pub enum NavVtolLandOptions { NAV_VTOL_LAND_OPTIONS_DEFAULT = 0, NAV_VTOL_LAND_OPTIONS_FW_DESCENT = 1, NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT = 2, diff --git a/mavlink/uavionix/enum.OrbitYawBehaviour.html b/mavlink/uavionix/enum.OrbitYawBehaviour.html index dbf37857d3..aad83cbb1c 100644 --- a/mavlink/uavionix/enum.OrbitYawBehaviour.html +++ b/mavlink/uavionix/enum.OrbitYawBehaviour.html @@ -1,4 +1,4 @@ -OrbitYawBehaviour in mavlink::uavionix - Rust
pub enum OrbitYawBehaviour {
+OrbitYawBehaviour in mavlink::uavionix - Rust
#[repr(u32)]
pub enum OrbitYawBehaviour { ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER = 0, ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING = 1, ORBIT_YAW_BEHAVIOUR_UNCONTROLLED = 2, diff --git a/mavlink/uavionix/enum.ParachuteAction.html b/mavlink/uavionix/enum.ParachuteAction.html index ab76015769..22c56cd42b 100644 --- a/mavlink/uavionix/enum.ParachuteAction.html +++ b/mavlink/uavionix/enum.ParachuteAction.html @@ -1,4 +1,4 @@ -ParachuteAction in mavlink::uavionix - Rust
pub enum ParachuteAction {
+ParachuteAction in mavlink::uavionix - Rust
#[repr(u32)]
pub enum ParachuteAction { PARACHUTE_DISABLE = 0, PARACHUTE_ENABLE = 1, PARACHUTE_RELEASE = 2, diff --git a/mavlink/uavionix/enum.ParamAck.html b/mavlink/uavionix/enum.ParamAck.html index 149b5a04a8..ec5e67eed8 100644 --- a/mavlink/uavionix/enum.ParamAck.html +++ b/mavlink/uavionix/enum.ParamAck.html @@ -1,4 +1,4 @@ -ParamAck in mavlink::uavionix - Rust
pub enum ParamAck {
+ParamAck in mavlink::uavionix - Rust
#[repr(u32)]
pub enum ParamAck { PARAM_ACK_ACCEPTED = 0, PARAM_ACK_VALUE_UNSUPPORTED = 1, PARAM_ACK_FAILED = 2, diff --git a/mavlink/uavionix/enum.PrecisionLandMode.html b/mavlink/uavionix/enum.PrecisionLandMode.html index 243beb1ead..0bfb3cbfe9 100644 --- a/mavlink/uavionix/enum.PrecisionLandMode.html +++ b/mavlink/uavionix/enum.PrecisionLandMode.html @@ -1,4 +1,4 @@ -PrecisionLandMode in mavlink::uavionix - Rust
pub enum PrecisionLandMode {
+PrecisionLandMode in mavlink::uavionix - Rust
#[repr(u32)]
pub enum PrecisionLandMode { PRECISION_LAND_MODE_DISABLED = 0, PRECISION_LAND_MODE_OPPORTUNISTIC = 1, PRECISION_LAND_MODE_REQUIRED = 2, diff --git a/mavlink/uavionix/enum.PreflightStorageMissionAction.html b/mavlink/uavionix/enum.PreflightStorageMissionAction.html index 9c9891d8c3..ca5e85f914 100644 --- a/mavlink/uavionix/enum.PreflightStorageMissionAction.html +++ b/mavlink/uavionix/enum.PreflightStorageMissionAction.html @@ -1,4 +1,4 @@ -PreflightStorageMissionAction in mavlink::uavionix - Rust
pub enum PreflightStorageMissionAction {
+PreflightStorageMissionAction in mavlink::uavionix - Rust
#[repr(u32)]
pub enum PreflightStorageMissionAction { MISSION_READ_PERSISTENT = 0, MISSION_WRITE_PERSISTENT = 1, MISSION_RESET_DEFAULT = 2, diff --git a/mavlink/uavionix/enum.PreflightStorageParameterAction.html b/mavlink/uavionix/enum.PreflightStorageParameterAction.html index ac6b4cf7f9..ccdb0d484b 100644 --- a/mavlink/uavionix/enum.PreflightStorageParameterAction.html +++ b/mavlink/uavionix/enum.PreflightStorageParameterAction.html @@ -1,4 +1,4 @@ -PreflightStorageParameterAction in mavlink::uavionix - Rust
pub enum PreflightStorageParameterAction {
+PreflightStorageParameterAction in mavlink::uavionix - Rust
#[repr(u32)]
pub enum PreflightStorageParameterAction { PARAM_READ_PERSISTENT = 0, PARAM_WRITE_PERSISTENT = 1, PARAM_RESET_CONFIG_DEFAULT = 2, diff --git a/mavlink/uavionix/enum.RcType.html b/mavlink/uavionix/enum.RcType.html index 928d47ab14..17c7d9ce49 100644 --- a/mavlink/uavionix/enum.RcType.html +++ b/mavlink/uavionix/enum.RcType.html @@ -1,4 +1,4 @@ -RcType in mavlink::uavionix - Rust

Enum mavlink::uavionix::RcType

source ·
pub enum RcType {
+RcType in mavlink::uavionix - Rust

Enum mavlink::uavionix::RcType

source ·
#[repr(u32)]
pub enum RcType { RC_TYPE_SPEKTRUM_DSM2 = 0, RC_TYPE_SPEKTRUM_DSMX = 1, }

Variants§

§

RC_TYPE_SPEKTRUM_DSM2 = 0

§

RC_TYPE_SPEKTRUM_DSMX = 1

Implementations§

source§

impl RcType

source

pub const DEFAULT: Self = Self::RC_TYPE_SPEKTRUM_DSM2

Trait Implementations§

source§

impl Clone for RcType

source§

fn clone(&self) -> RcType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RcType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RcType

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for RcType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/uavionix/enum.RtkBaselineCoordinateSystem.html b/mavlink/uavionix/enum.RtkBaselineCoordinateSystem.html index a72113072b..4e3f9e8bf9 100644 --- a/mavlink/uavionix/enum.RtkBaselineCoordinateSystem.html +++ b/mavlink/uavionix/enum.RtkBaselineCoordinateSystem.html @@ -1,4 +1,4 @@ -RtkBaselineCoordinateSystem in mavlink::uavionix - Rust
pub enum RtkBaselineCoordinateSystem {
+RtkBaselineCoordinateSystem in mavlink::uavionix - Rust
#[repr(u32)]
pub enum RtkBaselineCoordinateSystem { RTK_BASELINE_COORDINATE_SYSTEM_ECEF = 0, RTK_BASELINE_COORDINATE_SYSTEM_NED = 1, }

Variants§

§

RTK_BASELINE_COORDINATE_SYSTEM_ECEF = 0

§

RTK_BASELINE_COORDINATE_SYSTEM_NED = 1

Implementations§

source§

impl RtkBaselineCoordinateSystem

source

pub const DEFAULT: Self = Self::RTK_BASELINE_COORDINATE_SYSTEM_ECEF

Trait Implementations§

source§

impl Clone for RtkBaselineCoordinateSystem

source§

fn clone(&self) -> RtkBaselineCoordinateSystem

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RtkBaselineCoordinateSystem

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RtkBaselineCoordinateSystem

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for RtkBaselineCoordinateSystem

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/uavionix/enum.SerialControlDev.html b/mavlink/uavionix/enum.SerialControlDev.html index 83ca8fe045..0ef28bf100 100644 --- a/mavlink/uavionix/enum.SerialControlDev.html +++ b/mavlink/uavionix/enum.SerialControlDev.html @@ -1,4 +1,4 @@ -SerialControlDev in mavlink::uavionix - Rust
pub enum SerialControlDev {
+SerialControlDev in mavlink::uavionix - Rust
#[repr(u32)]
pub enum SerialControlDev {
Show 15 variants SERIAL_CONTROL_DEV_TELEM1 = 0, SERIAL_CONTROL_DEV_TELEM2 = 1, SERIAL_CONTROL_DEV_GPS1 = 2, diff --git a/mavlink/uavionix/enum.SetFocusType.html b/mavlink/uavionix/enum.SetFocusType.html index 84f89d3bf9..eef13f8296 100644 --- a/mavlink/uavionix/enum.SetFocusType.html +++ b/mavlink/uavionix/enum.SetFocusType.html @@ -1,4 +1,4 @@ -SetFocusType in mavlink::uavionix - Rust
pub enum SetFocusType {
+SetFocusType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum SetFocusType { FOCUS_TYPE_STEP = 0, FOCUS_TYPE_CONTINUOUS = 1, FOCUS_TYPE_RANGE = 2, diff --git a/mavlink/uavionix/enum.StorageStatus.html b/mavlink/uavionix/enum.StorageStatus.html index d455c120e7..148c768bdc 100644 --- a/mavlink/uavionix/enum.StorageStatus.html +++ b/mavlink/uavionix/enum.StorageStatus.html @@ -1,4 +1,4 @@ -StorageStatus in mavlink::uavionix - Rust
pub enum StorageStatus {
+StorageStatus in mavlink::uavionix - Rust
#[repr(u32)]
pub enum StorageStatus { STORAGE_STATUS_EMPTY = 0, STORAGE_STATUS_UNFORMATTED = 1, STORAGE_STATUS_READY = 2, diff --git a/mavlink/uavionix/enum.StorageType.html b/mavlink/uavionix/enum.StorageType.html index 6df5831147..668bdb560a 100644 --- a/mavlink/uavionix/enum.StorageType.html +++ b/mavlink/uavionix/enum.StorageType.html @@ -1,4 +1,4 @@ -StorageType in mavlink::uavionix - Rust
pub enum StorageType {
+StorageType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum StorageType { STORAGE_TYPE_UNKNOWN = 0, STORAGE_TYPE_USB_STICK = 1, STORAGE_TYPE_SD = 2, diff --git a/mavlink/uavionix/enum.StorageUsageFlag.html b/mavlink/uavionix/enum.StorageUsageFlag.html index 1c034e3504..b05169cc80 100644 --- a/mavlink/uavionix/enum.StorageUsageFlag.html +++ b/mavlink/uavionix/enum.StorageUsageFlag.html @@ -1,4 +1,4 @@ -StorageUsageFlag in mavlink::uavionix - Rust
pub enum StorageUsageFlag {
+StorageUsageFlag in mavlink::uavionix - Rust
#[repr(u32)]
pub enum StorageUsageFlag { STORAGE_USAGE_FLAG_SET = 1, STORAGE_USAGE_FLAG_PHOTO = 2, STORAGE_USAGE_FLAG_VIDEO = 4, diff --git a/mavlink/uavionix/enum.UavcanNodeHealth.html b/mavlink/uavionix/enum.UavcanNodeHealth.html index c51119070a..8044f86157 100644 --- a/mavlink/uavionix/enum.UavcanNodeHealth.html +++ b/mavlink/uavionix/enum.UavcanNodeHealth.html @@ -1,4 +1,4 @@ -UavcanNodeHealth in mavlink::uavionix - Rust
pub enum UavcanNodeHealth {
+UavcanNodeHealth in mavlink::uavionix - Rust
#[repr(u32)]
pub enum UavcanNodeHealth { UAVCAN_NODE_HEALTH_OK = 0, UAVCAN_NODE_HEALTH_WARNING = 1, UAVCAN_NODE_HEALTH_ERROR = 2, diff --git a/mavlink/uavionix/enum.UavcanNodeMode.html b/mavlink/uavionix/enum.UavcanNodeMode.html index ede6e4199d..2ee55bd433 100644 --- a/mavlink/uavionix/enum.UavcanNodeMode.html +++ b/mavlink/uavionix/enum.UavcanNodeMode.html @@ -1,4 +1,4 @@ -UavcanNodeMode in mavlink::uavionix - Rust
pub enum UavcanNodeMode {
+UavcanNodeMode in mavlink::uavionix - Rust
#[repr(u32)]
pub enum UavcanNodeMode { UAVCAN_NODE_MODE_OPERATIONAL = 0, UAVCAN_NODE_MODE_INITIALIZATION = 1, UAVCAN_NODE_MODE_MAINTENANCE = 2, diff --git a/mavlink/uavionix/enum.UavionixAdsbEmergencyStatus.html b/mavlink/uavionix/enum.UavionixAdsbEmergencyStatus.html index 9de586f483..ad8b423ab1 100644 --- a/mavlink/uavionix/enum.UavionixAdsbEmergencyStatus.html +++ b/mavlink/uavionix/enum.UavionixAdsbEmergencyStatus.html @@ -1,4 +1,4 @@ -UavionixAdsbEmergencyStatus in mavlink::uavionix - Rust
pub enum UavionixAdsbEmergencyStatus {
+UavionixAdsbEmergencyStatus in mavlink::uavionix - Rust
#[repr(u32)]
pub enum UavionixAdsbEmergencyStatus { UAVIONIX_ADSB_OUT_NO_EMERGENCY = 0, UAVIONIX_ADSB_OUT_GENERAL_EMERGENCY = 1, UAVIONIX_ADSB_OUT_LIFEGUARD_EMERGENCY = 2, diff --git a/mavlink/uavionix/enum.UavionixAdsbOutCfgAircraftSize.html b/mavlink/uavionix/enum.UavionixAdsbOutCfgAircraftSize.html index bb17301291..fcb302d851 100644 --- a/mavlink/uavionix/enum.UavionixAdsbOutCfgAircraftSize.html +++ b/mavlink/uavionix/enum.UavionixAdsbOutCfgAircraftSize.html @@ -1,4 +1,4 @@ -UavionixAdsbOutCfgAircraftSize in mavlink::uavionix - Rust
pub enum UavionixAdsbOutCfgAircraftSize {
+UavionixAdsbOutCfgAircraftSize in mavlink::uavionix - Rust
#[repr(u32)]
pub enum UavionixAdsbOutCfgAircraftSize {
Show 16 variants UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA = 0, UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L15M_W23M = 1, UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25M_W28P5M = 2, diff --git a/mavlink/uavionix/enum.UavionixAdsbOutCfgGpsOffsetLat.html b/mavlink/uavionix/enum.UavionixAdsbOutCfgGpsOffsetLat.html index 49cba1eda7..7b729ce08e 100644 --- a/mavlink/uavionix/enum.UavionixAdsbOutCfgGpsOffsetLat.html +++ b/mavlink/uavionix/enum.UavionixAdsbOutCfgGpsOffsetLat.html @@ -1,4 +1,4 @@ -UavionixAdsbOutCfgGpsOffsetLat in mavlink::uavionix - Rust
pub enum UavionixAdsbOutCfgGpsOffsetLat {
+UavionixAdsbOutCfgGpsOffsetLat in mavlink::uavionix - Rust
#[repr(u32)]
pub enum UavionixAdsbOutCfgGpsOffsetLat { UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA = 0, UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_2M = 1, UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_4M = 2, diff --git a/mavlink/uavionix/enum.UavionixAdsbOutCfgGpsOffsetLon.html b/mavlink/uavionix/enum.UavionixAdsbOutCfgGpsOffsetLon.html index 75ad29851b..82386ce936 100644 --- a/mavlink/uavionix/enum.UavionixAdsbOutCfgGpsOffsetLon.html +++ b/mavlink/uavionix/enum.UavionixAdsbOutCfgGpsOffsetLon.html @@ -1,4 +1,4 @@ -UavionixAdsbOutCfgGpsOffsetLon in mavlink::uavionix - Rust
pub enum UavionixAdsbOutCfgGpsOffsetLon {
+UavionixAdsbOutCfgGpsOffsetLon in mavlink::uavionix - Rust
#[repr(u32)]
pub enum UavionixAdsbOutCfgGpsOffsetLon { UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA = 0, UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_APPLIED_BY_SENSOR = 1, }

Variants§

§

UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA = 0

§

UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_APPLIED_BY_SENSOR = 1

Implementations§

source§

impl UavionixAdsbOutCfgGpsOffsetLon

source

pub const DEFAULT: Self = Self::UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA

Trait Implementations§

source§

impl Clone for UavionixAdsbOutCfgGpsOffsetLon

source§

fn clone(&self) -> UavionixAdsbOutCfgGpsOffsetLon

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbOutCfgGpsOffsetLon

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbOutCfgGpsOffsetLon

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbOutCfgGpsOffsetLon

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/uavionix/enum.UavionixAdsbOutDynamicGpsFix.html b/mavlink/uavionix/enum.UavionixAdsbOutDynamicGpsFix.html index 7ce9e7dfb6..234aaf4c1c 100644 --- a/mavlink/uavionix/enum.UavionixAdsbOutDynamicGpsFix.html +++ b/mavlink/uavionix/enum.UavionixAdsbOutDynamicGpsFix.html @@ -1,4 +1,4 @@ -UavionixAdsbOutDynamicGpsFix in mavlink::uavionix - Rust
pub enum UavionixAdsbOutDynamicGpsFix {
+UavionixAdsbOutDynamicGpsFix in mavlink::uavionix - Rust
#[repr(u32)]
pub enum UavionixAdsbOutDynamicGpsFix { UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0 = 0, UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_1 = 1, UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_2D = 2, diff --git a/mavlink/uavionix/enum.UtmFlightState.html b/mavlink/uavionix/enum.UtmFlightState.html index 1742e8769f..56c6e7f5cb 100644 --- a/mavlink/uavionix/enum.UtmFlightState.html +++ b/mavlink/uavionix/enum.UtmFlightState.html @@ -1,4 +1,4 @@ -UtmFlightState in mavlink::uavionix - Rust
pub enum UtmFlightState {
+UtmFlightState in mavlink::uavionix - Rust
#[repr(u32)]
pub enum UtmFlightState { UTM_FLIGHT_STATE_UNKNOWN = 1, UTM_FLIGHT_STATE_GROUND = 2, UTM_FLIGHT_STATE_AIRBORNE = 3, diff --git a/mavlink/uavionix/enum.VideoStreamStatusFlags.html b/mavlink/uavionix/enum.VideoStreamStatusFlags.html index 3224a27578..7432b3f640 100644 --- a/mavlink/uavionix/enum.VideoStreamStatusFlags.html +++ b/mavlink/uavionix/enum.VideoStreamStatusFlags.html @@ -1,4 +1,4 @@ -VideoStreamStatusFlags in mavlink::uavionix - Rust
pub enum VideoStreamStatusFlags {
+VideoStreamStatusFlags in mavlink::uavionix - Rust
#[repr(u32)]
pub enum VideoStreamStatusFlags { VIDEO_STREAM_STATUS_FLAGS_RUNNING = 1, VIDEO_STREAM_STATUS_FLAGS_THERMAL = 2, }

Variants§

§

VIDEO_STREAM_STATUS_FLAGS_RUNNING = 1

§

VIDEO_STREAM_STATUS_FLAGS_THERMAL = 2

Implementations§

source§

impl VideoStreamStatusFlags

source

pub const DEFAULT: Self = Self::VIDEO_STREAM_STATUS_FLAGS_RUNNING

Trait Implementations§

source§

impl Clone for VideoStreamStatusFlags

source§

fn clone(&self) -> VideoStreamStatusFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for VideoStreamStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for VideoStreamStatusFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for VideoStreamStatusFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where diff --git a/mavlink/uavionix/enum.VideoStreamType.html b/mavlink/uavionix/enum.VideoStreamType.html index 7b9c5e29d9..ab7ee4e298 100644 --- a/mavlink/uavionix/enum.VideoStreamType.html +++ b/mavlink/uavionix/enum.VideoStreamType.html @@ -1,4 +1,4 @@ -VideoStreamType in mavlink::uavionix - Rust
pub enum VideoStreamType {
+VideoStreamType in mavlink::uavionix - Rust
#[repr(u32)]
pub enum VideoStreamType { VIDEO_STREAM_TYPE_RTSP = 0, VIDEO_STREAM_TYPE_RTPUDP = 1, VIDEO_STREAM_TYPE_TCP_MPEG = 2, diff --git a/mavlink/uavionix/enum.VtolTransitionHeading.html b/mavlink/uavionix/enum.VtolTransitionHeading.html index 837c72dd13..cdf228774b 100644 --- a/mavlink/uavionix/enum.VtolTransitionHeading.html +++ b/mavlink/uavionix/enum.VtolTransitionHeading.html @@ -1,4 +1,4 @@ -VtolTransitionHeading in mavlink::uavionix - Rust
pub enum VtolTransitionHeading {
+VtolTransitionHeading in mavlink::uavionix - Rust
#[repr(u32)]
pub enum VtolTransitionHeading { VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT = 0, VTOL_TRANSITION_HEADING_NEXT_WAYPOINT = 1, VTOL_TRANSITION_HEADING_TAKEOFF = 2, diff --git a/mavlink/uavionix/enum.WifiConfigApMode.html b/mavlink/uavionix/enum.WifiConfigApMode.html index 8167199cd0..d54532c72e 100644 --- a/mavlink/uavionix/enum.WifiConfigApMode.html +++ b/mavlink/uavionix/enum.WifiConfigApMode.html @@ -1,4 +1,4 @@ -WifiConfigApMode in mavlink::uavionix - Rust
pub enum WifiConfigApMode {
+WifiConfigApMode in mavlink::uavionix - Rust
#[repr(u32)]
pub enum WifiConfigApMode { WIFI_CONFIG_AP_MODE_UNDEFINED = 0, WIFI_CONFIG_AP_MODE_AP = 1, WIFI_CONFIG_AP_MODE_STATION = 2, diff --git a/mavlink/uavionix/enum.WifiConfigApResponse.html b/mavlink/uavionix/enum.WifiConfigApResponse.html index 3179006501..2747dec6ce 100644 --- a/mavlink/uavionix/enum.WifiConfigApResponse.html +++ b/mavlink/uavionix/enum.WifiConfigApResponse.html @@ -1,4 +1,4 @@ -WifiConfigApResponse in mavlink::uavionix - Rust
pub enum WifiConfigApResponse {
+WifiConfigApResponse in mavlink::uavionix - Rust
#[repr(u32)]
pub enum WifiConfigApResponse { WIFI_CONFIG_AP_RESPONSE_UNDEFINED = 0, WIFI_CONFIG_AP_RESPONSE_ACCEPTED = 1, WIFI_CONFIG_AP_RESPONSE_REJECTED = 2, diff --git a/mavlink/uavionix/enum.WinchActions.html b/mavlink/uavionix/enum.WinchActions.html index 104ccba4c3..187512dea1 100644 --- a/mavlink/uavionix/enum.WinchActions.html +++ b/mavlink/uavionix/enum.WinchActions.html @@ -1,4 +1,4 @@ -WinchActions in mavlink::uavionix - Rust
pub enum WinchActions {
+WinchActions in mavlink::uavionix - Rust
#[repr(u32)]
pub enum WinchActions { WINCH_RELAXED = 0, WINCH_RELATIVE_LENGTH_CONTROL = 1, WINCH_RATE_CONTROL = 2, diff --git a/mavlink/uavionix/struct.AdsbFlags.html b/mavlink/uavionix/struct.AdsbFlags.html index 82eae90807..635060877f 100644 --- a/mavlink/uavionix/struct.AdsbFlags.html +++ b/mavlink/uavionix/struct.AdsbFlags.html @@ -57,16 +57,16 @@
Safety

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

source§

impl AdsbFlags

source

pub const DEFAULT: Self = Self::ADSB_FLAGS_VALID_COORDS

Trait Implementations§

source§

impl Binary for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AdsbFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = AdsbFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for AdsbFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
§

type Output = AdsbFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for AdsbFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for AdsbFlags

source§

fn bitor(self, other: AdsbFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = AdsbFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for AdsbFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = AdsbFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for AdsbFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for AdsbFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = AdsbFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AdsbFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for AdsbFlags

source§

fn clone(&self) -> AdsbFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AdsbFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AdsbFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<AdsbFlags> for AdsbFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<AdsbFlags> for AdsbFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for AdsbFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AdsbFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = AdsbFlags

The resulting type after applying the ! operator.
source§

impl Octal for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AdsbFlags

source§

fn cmp(&self, other: &AdsbFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

§

type Output = AdsbFlags

The resulting type after applying the ! operator.

source§

impl Octal for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AdsbFlags

source§

fn cmp(&self, other: &AdsbFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for AdsbFlags

source§

fn eq(&self, other: &AdsbFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,7 +75,7 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for AdsbFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for AdsbFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = AdsbFlags

The resulting type after applying the - operator.
source§

impl SubAssign for AdsbFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
§

type Output = AdsbFlags

The resulting type after applying the - operator.
source§

impl SubAssign for AdsbFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

source§

impl UpperHex for AdsbFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AdsbFlags

source§

impl Eq for AdsbFlags

source§

impl StructuralEq for AdsbFlags

source§

impl StructuralPartialEq for AdsbFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/mavlink/uavionix/struct.AisFlags.html b/mavlink/uavionix/struct.AisFlags.html index 6321e2486b..6ca94c692b 100644 --- a/mavlink/uavionix/struct.AisFlags.html +++ b/mavlink/uavionix/struct.AisFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-

source§

impl AisFlags

source

pub const DEFAULT: Self = Self::AIS_FLAGS_POSITION_ACCURACY

Trait Implementations§

source§

impl Binary for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AisFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = AisFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for AisFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl AisFlags

source

pub const DEFAULT: Self = Self::AIS_FLAGS_POSITION_ACCURACY

Trait Implementations§

source§

impl Binary for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AisFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = AisFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for AisFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for AisFlags

source§

fn bitor(self, other: AisFlags) -> Self

Returns the union of the two sets of flags.

§

type Output = AisFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for AisFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for AisFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = AisFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AisFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for AisFlags

source§

fn clone(&self) -> AisFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AisFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AisFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = AisFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AisFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for AisFlags

source§

fn clone(&self) -> AisFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AisFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AisFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<AisFlags> for AisFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<AisFlags> for AisFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for AisFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AisFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = AisFlags

The resulting type after applying the ! operator.
source§

impl Octal for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AisFlags

source§

fn cmp(&self, other: &AisFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AisFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = AisFlags

The resulting type after applying the ! operator.
source§

impl Octal for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AisFlags

source§

fn cmp(&self, other: &AisFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for AisFlags

source§

fn eq(&self, other: &AisFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -76,7 +76,7 @@
Safety
operator. Read more
source§

impl Serialize for AisFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for AisFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

§

type Output = AisFlags

The resulting type after applying the - operator.
source§

impl SubAssign for AisFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AisFlags

source§

impl Eq for AisFlags

source§

impl StructuralEq for AisFlags

source§

impl StructuralPartialEq for AisFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source§

impl UpperHex for AisFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AisFlags

source§

impl Eq for AisFlags

source§

impl StructuralEq for AisFlags

source§

impl StructuralPartialEq for AisFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.AttitudeTargetTypemask.html b/mavlink/uavionix/struct.AttitudeTargetTypemask.html index f578edcd3d..ae56827412 100644 --- a/mavlink/uavionix/struct.AttitudeTargetTypemask.html +++ b/mavlink/uavionix/struct.AttitudeTargetTypemask.html @@ -59,14 +59,14 @@
Safety
source§

impl AttitudeTargetTypemask

source

pub const DEFAULT: Self = Self::ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE

Trait Implementations§

source§

impl Binary for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for AttitudeTargetTypemask

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = AttitudeTargetTypemask

The resulting type after applying the & operator.
source§

impl BitAndAssign for AttitudeTargetTypemask

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for AttitudeTargetTypemask

source§

fn bitor(self, other: AttitudeTargetTypemask) -> Self

Returns the union of the two sets of flags.

-
§

type Output = AttitudeTargetTypemask

The resulting type after applying the | operator.
source§

impl BitOrAssign for AttitudeTargetTypemask

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = AttitudeTargetTypemask

The resulting type after applying the | operator.
source§

impl BitOrAssign for AttitudeTargetTypemask

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for AttitudeTargetTypemask

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = AttitudeTargetTypemask

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AttitudeTargetTypemask

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
§

type Output = AttitudeTargetTypemask

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for AttitudeTargetTypemask

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for AttitudeTargetTypemask

source§

fn clone(&self) -> AttitudeTargetTypemask

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AttitudeTargetTypemask

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AttitudeTargetTypemask

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<AttitudeTargetTypemask> for AttitudeTargetTypemask

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<AttitudeTargetTypemask> for AttitudeTargetTypemask

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for AttitudeTargetTypemask

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AttitudeTargetTypemask

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = AttitudeTargetTypemask

The resulting type after applying the ! operator.
source§

impl Octal for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AttitudeTargetTypemask

source§

fn cmp(&self, other: &AttitudeTargetTypemask) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

§

type Output = AttitudeTargetTypemask

The resulting type after applying the ! operator.

source§

impl Octal for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for AttitudeTargetTypemask

source§

fn cmp(&self, other: &AttitudeTargetTypemask) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for AttitudeTargetTypemask

source§

fn eq(&self, other: &AttitudeTargetTypemask) -> bool

This method tests for self and other values to be equal, and is used @@ -76,7 +76,7 @@
Safety
operator. Read more
source§

impl Serialize for AttitudeTargetTypemask

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for AttitudeTargetTypemask

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

§

type Output = AttitudeTargetTypemask

The resulting type after applying the - operator.
source§

impl SubAssign for AttitudeTargetTypemask

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AttitudeTargetTypemask

source§

impl Eq for AttitudeTargetTypemask

source§

impl StructuralEq for AttitudeTargetTypemask

source§

impl StructuralPartialEq for AttitudeTargetTypemask

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source§

impl UpperHex for AttitudeTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for AttitudeTargetTypemask

source§

impl Eq for AttitudeTargetTypemask

source§

impl StructuralEq for AttitudeTargetTypemask

source§

impl StructuralPartialEq for AttitudeTargetTypemask

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.CameraCapFlags.html b/mavlink/uavionix/struct.CameraCapFlags.html index 17e58d9e6e..8be520e88a 100644 --- a/mavlink/uavionix/struct.CameraCapFlags.html +++ b/mavlink/uavionix/struct.CameraCapFlags.html @@ -57,16 +57,16 @@
Safety

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

source§

impl CameraCapFlags

source

pub const DEFAULT: Self = Self::CAMERA_CAP_FLAGS_CAPTURE_VIDEO

Trait Implementations§

source§

impl Binary for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for CameraCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = CameraCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for CameraCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
§

type Output = CameraCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for CameraCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for CameraCapFlags

source§

fn bitor(self, other: CameraCapFlags) -> Self

Returns the union of the two sets of flags.

§

type Output = CameraCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for CameraCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for CameraCapFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = CameraCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for CameraCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for CameraCapFlags

source§

fn clone(&self) -> CameraCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CameraCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for CameraCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = CameraCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for CameraCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for CameraCapFlags

source§

fn clone(&self) -> CameraCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CameraCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for CameraCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<CameraCapFlags> for CameraCapFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<CameraCapFlags> for CameraCapFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for CameraCapFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for CameraCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = CameraCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for CameraCapFlags

source§

fn cmp(&self, other: &CameraCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for CameraCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = CameraCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for CameraCapFlags

source§

fn cmp(&self, other: &CameraCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for CameraCapFlags

source§

fn eq(&self, other: &CameraCapFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for CameraCapFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for CameraCapFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = CameraCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for CameraCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for CameraCapFlags

source§

impl Eq for CameraCapFlags

source§

impl StructuralEq for CameraCapFlags

source§

impl StructuralPartialEq for CameraCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = CameraCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for CameraCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for CameraCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for CameraCapFlags

source§

impl Eq for CameraCapFlags

source§

impl StructuralEq for CameraCapFlags

source§

impl StructuralPartialEq for CameraCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.EscFailureFlags.html b/mavlink/uavionix/struct.EscFailureFlags.html index 981ee4496c..3ab49ff887 100644 --- a/mavlink/uavionix/struct.EscFailureFlags.html +++ b/mavlink/uavionix/struct.EscFailureFlags.html @@ -57,16 +57,16 @@
Safety

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

source§

impl EscFailureFlags

source

pub const DEFAULT: Self = Self::ESC_FAILURE_NONE

Trait Implementations§

source§

impl Binary for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for EscFailureFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = EscFailureFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for EscFailureFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
§

type Output = EscFailureFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for EscFailureFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for EscFailureFlags

source§

fn bitor(self, other: EscFailureFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = EscFailureFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for EscFailureFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = EscFailureFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for EscFailureFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for EscFailureFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = EscFailureFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for EscFailureFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for EscFailureFlags

source§

fn clone(&self) -> EscFailureFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EscFailureFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for EscFailureFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = EscFailureFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for EscFailureFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for EscFailureFlags

source§

fn clone(&self) -> EscFailureFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EscFailureFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for EscFailureFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<EscFailureFlags> for EscFailureFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<EscFailureFlags> for EscFailureFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for EscFailureFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for EscFailureFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = EscFailureFlags

The resulting type after applying the ! operator.
source§

impl Octal for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for EscFailureFlags

source§

fn cmp(&self, other: &EscFailureFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for EscFailureFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = EscFailureFlags

The resulting type after applying the ! operator.
source§

impl Octal for EscFailureFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for EscFailureFlags

source§

fn cmp(&self, other: &EscFailureFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for EscFailureFlags

source§

fn eq(&self, other: &EscFailureFlags) -> bool

This method tests for self and other values to be equal, and is used diff --git a/mavlink/uavionix/struct.EstimatorStatusFlags.html b/mavlink/uavionix/struct.EstimatorStatusFlags.html index 7eec89afa2..b6842194c4 100644 --- a/mavlink/uavionix/struct.EstimatorStatusFlags.html +++ b/mavlink/uavionix/struct.EstimatorStatusFlags.html @@ -56,16 +56,16 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl EstimatorStatusFlags

source

pub const DEFAULT: Self = Self::ESTIMATOR_ATTITUDE

Trait Implementations§

source§

impl Binary for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for EstimatorStatusFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = EstimatorStatusFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for EstimatorStatusFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl EstimatorStatusFlags

source

pub const DEFAULT: Self = Self::ESTIMATOR_ATTITUDE

Trait Implementations§

source§

impl Binary for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for EstimatorStatusFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = EstimatorStatusFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for EstimatorStatusFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for EstimatorStatusFlags

source§

fn bitor(self, other: EstimatorStatusFlags) -> Self

Returns the union of the two sets of flags.

§

type Output = EstimatorStatusFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for EstimatorStatusFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for EstimatorStatusFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = EstimatorStatusFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for EstimatorStatusFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
§

type Output = EstimatorStatusFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for EstimatorStatusFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for EstimatorStatusFlags

source§

fn clone(&self) -> EstimatorStatusFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for EstimatorStatusFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for EstimatorStatusFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<EstimatorStatusFlags> for EstimatorStatusFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<EstimatorStatusFlags> for EstimatorStatusFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for EstimatorStatusFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for EstimatorStatusFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+ Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for EstimatorStatusFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

§

type Output = EstimatorStatusFlags

The resulting type after applying the ! operator.
source§

impl Octal for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for EstimatorStatusFlags

source§

fn cmp(&self, other: &EstimatorStatusFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere @@ -76,7 +76,7 @@
Safety
operator. Read more

source§

impl Serialize for EstimatorStatusFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for EstimatorStatusFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

§

type Output = EstimatorStatusFlags

The resulting type after applying the - operator.
source§

impl SubAssign for EstimatorStatusFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for EstimatorStatusFlags

source§

impl Eq for EstimatorStatusFlags

source§

impl StructuralEq for EstimatorStatusFlags

source§

impl StructuralPartialEq for EstimatorStatusFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source§

impl UpperHex for EstimatorStatusFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for EstimatorStatusFlags

source§

impl Eq for EstimatorStatusFlags

source§

impl StructuralEq for EstimatorStatusFlags

source§

impl StructuralPartialEq for EstimatorStatusFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.GimbalDeviceCapFlags.html b/mavlink/uavionix/struct.GimbalDeviceCapFlags.html index 4e41c6e63e..39d7e95d73 100644 --- a/mavlink/uavionix/struct.GimbalDeviceCapFlags.html +++ b/mavlink/uavionix/struct.GimbalDeviceCapFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl GimbalDeviceCapFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl GimbalDeviceCapFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GimbalDeviceCapFlags

source§

fn bitor(self, other: GimbalDeviceCapFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GimbalDeviceCapFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GimbalDeviceCapFlags

source§

fn clone(&self) -> GimbalDeviceCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = GimbalDeviceCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for GimbalDeviceCapFlags

source§

fn clone(&self) -> GimbalDeviceCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GimbalDeviceCapFlags> for GimbalDeviceCapFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GimbalDeviceCapFlags> for GimbalDeviceCapFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GimbalDeviceCapFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceCapFlags

source§

fn cmp(&self, other: &GimbalDeviceCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

§

type Output = GimbalDeviceCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceCapFlags

source§

fn cmp(&self, other: &GimbalDeviceCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GimbalDeviceCapFlags

source§

fn eq(&self, other: &GimbalDeviceCapFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,7 +75,7 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GimbalDeviceCapFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GimbalDeviceCapFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
§

type Output = GimbalDeviceCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

source§

impl UpperHex for GimbalDeviceCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceCapFlags

source§

impl Eq for GimbalDeviceCapFlags

source§

impl StructuralEq for GimbalDeviceCapFlags

source§

impl StructuralPartialEq for GimbalDeviceCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/mavlink/uavionix/struct.GimbalDeviceErrorFlags.html b/mavlink/uavionix/struct.GimbalDeviceErrorFlags.html index f0aa630f55..ad84f63fc9 100644 --- a/mavlink/uavionix/struct.GimbalDeviceErrorFlags.html +++ b/mavlink/uavionix/struct.GimbalDeviceErrorFlags.html @@ -57,16 +57,16 @@
Safety

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

source§

impl GimbalDeviceErrorFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT

Trait Implementations§

source§

impl Binary for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceErrorFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceErrorFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceErrorFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GimbalDeviceErrorFlags

source§

fn bitor(self, other: GimbalDeviceErrorFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceErrorFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceErrorFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GimbalDeviceErrorFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceErrorFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GimbalDeviceErrorFlags

source§

fn clone(&self) -> GimbalDeviceErrorFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceErrorFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceErrorFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceErrorFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for GimbalDeviceErrorFlags

source§

fn clone(&self) -> GimbalDeviceErrorFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceErrorFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceErrorFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GimbalDeviceErrorFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceErrorFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceErrorFlags

source§

fn cmp(&self, other: &GimbalDeviceErrorFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceErrorFlags

source§

fn cmp(&self, other: &GimbalDeviceErrorFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GimbalDeviceErrorFlags

source§

fn eq(&self, other: &GimbalDeviceErrorFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GimbalDeviceErrorFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GimbalDeviceErrorFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceErrorFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceErrorFlags

source§

impl Eq for GimbalDeviceErrorFlags

source§

impl StructuralEq for GimbalDeviceErrorFlags

source§

impl StructuralPartialEq for GimbalDeviceErrorFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = GimbalDeviceErrorFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceErrorFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for GimbalDeviceErrorFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceErrorFlags

source§

impl Eq for GimbalDeviceErrorFlags

source§

impl StructuralEq for GimbalDeviceErrorFlags

source§

impl StructuralPartialEq for GimbalDeviceErrorFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.GimbalDeviceFlags.html b/mavlink/uavionix/struct.GimbalDeviceFlags.html index be2ed8d52d..91bd8e8b4c 100644 --- a/mavlink/uavionix/struct.GimbalDeviceFlags.html +++ b/mavlink/uavionix/struct.GimbalDeviceFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl GimbalDeviceFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_FLAGS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl GimbalDeviceFlags

source

pub const DEFAULT: Self = Self::GIMBAL_DEVICE_FLAGS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalDeviceFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = GimbalDeviceFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalDeviceFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GimbalDeviceFlags

source§

fn bitor(self, other: GimbalDeviceFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GimbalDeviceFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalDeviceFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GimbalDeviceFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GimbalDeviceFlags

source§

fn clone(&self) -> GimbalDeviceFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = GimbalDeviceFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalDeviceFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for GimbalDeviceFlags

source§

fn clone(&self) -> GimbalDeviceFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalDeviceFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalDeviceFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GimbalDeviceFlags> for GimbalDeviceFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GimbalDeviceFlags> for GimbalDeviceFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GimbalDeviceFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GimbalDeviceFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceFlags

source§

fn cmp(&self, other: &GimbalDeviceFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalDeviceFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = GimbalDeviceFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalDeviceFlags

source§

fn cmp(&self, other: &GimbalDeviceFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GimbalDeviceFlags

source§

fn eq(&self, other: &GimbalDeviceFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -76,7 +76,7 @@
Safety
operator. Read more
source§

impl Serialize for GimbalDeviceFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GimbalDeviceFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

§

type Output = GimbalDeviceFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalDeviceFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceFlags

source§

impl Eq for GimbalDeviceFlags

source§

impl StructuralEq for GimbalDeviceFlags

source§

impl StructuralPartialEq for GimbalDeviceFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source§

impl UpperHex for GimbalDeviceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalDeviceFlags

source§

impl Eq for GimbalDeviceFlags

source§

impl StructuralEq for GimbalDeviceFlags

source§

impl StructuralPartialEq for GimbalDeviceFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.GimbalManagerCapFlags.html b/mavlink/uavionix/struct.GimbalManagerCapFlags.html index e70a2b1564..a2b2f42eeb 100644 --- a/mavlink/uavionix/struct.GimbalManagerCapFlags.html +++ b/mavlink/uavionix/struct.GimbalManagerCapFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl GimbalManagerCapFlags

source

pub const DEFAULT: Self = Self::GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalManagerCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = GimbalManagerCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalManagerCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl GimbalManagerCapFlags

source

pub const DEFAULT: Self = Self::GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT

Trait Implementations§

source§

impl Binary for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GimbalManagerCapFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = GimbalManagerCapFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GimbalManagerCapFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GimbalManagerCapFlags

source§

fn bitor(self, other: GimbalManagerCapFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GimbalManagerCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalManagerCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GimbalManagerCapFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GimbalManagerCapFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GimbalManagerCapFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = GimbalManagerCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalManagerCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GimbalManagerCapFlags

source§

fn clone(&self) -> GimbalManagerCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalManagerCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalManagerCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = GimbalManagerCapFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GimbalManagerCapFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for GimbalManagerCapFlags

source§

fn clone(&self) -> GimbalManagerCapFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GimbalManagerCapFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GimbalManagerCapFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GimbalManagerCapFlags> for GimbalManagerCapFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GimbalManagerCapFlags> for GimbalManagerCapFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GimbalManagerCapFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalManagerCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GimbalManagerCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalManagerCapFlags

source§

fn cmp(&self, other: &GimbalManagerCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GimbalManagerCapFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = GimbalManagerCapFlags

The resulting type after applying the ! operator.
source§

impl Octal for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GimbalManagerCapFlags

source§

fn cmp(&self, other: &GimbalManagerCapFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GimbalManagerCapFlags

source§

fn eq(&self, other: &GimbalManagerCapFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -76,7 +76,7 @@
Safety
operator. Read more
source§

impl Serialize for GimbalManagerCapFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GimbalManagerCapFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

§

type Output = GimbalManagerCapFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GimbalManagerCapFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalManagerCapFlags

source§

impl Eq for GimbalManagerCapFlags

source§

impl StructuralEq for GimbalManagerCapFlags

source§

impl StructuralPartialEq for GimbalManagerCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source§

impl UpperHex for GimbalManagerCapFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GimbalManagerCapFlags

source§

impl Eq for GimbalManagerCapFlags

source§

impl StructuralEq for GimbalManagerCapFlags

source§

impl StructuralPartialEq for GimbalManagerCapFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.GpsInputIgnoreFlags.html b/mavlink/uavionix/struct.GpsInputIgnoreFlags.html index ee38a9bf27..a6d3ace100 100644 --- a/mavlink/uavionix/struct.GpsInputIgnoreFlags.html +++ b/mavlink/uavionix/struct.GpsInputIgnoreFlags.html @@ -59,14 +59,14 @@
Safety
source§

impl GpsInputIgnoreFlags

source

pub const DEFAULT: Self = Self::GPS_INPUT_IGNORE_FLAG_ALT

Trait Implementations§

source§

impl Binary for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for GpsInputIgnoreFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = GpsInputIgnoreFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for GpsInputIgnoreFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for GpsInputIgnoreFlags

source§

fn bitor(self, other: GpsInputIgnoreFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GpsInputIgnoreFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for GpsInputIgnoreFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for GpsInputIgnoreFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for GpsInputIgnoreFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for GpsInputIgnoreFlags

source§

fn clone(&self) -> GpsInputIgnoreFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GpsInputIgnoreFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GpsInputIgnoreFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = GpsInputIgnoreFlags

The resulting type after applying the ^ operator.

source§

impl BitXorAssign for GpsInputIgnoreFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for GpsInputIgnoreFlags

source§

fn clone(&self) -> GpsInputIgnoreFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GpsInputIgnoreFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GpsInputIgnoreFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<GpsInputIgnoreFlags> for GpsInputIgnoreFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<GpsInputIgnoreFlags> for GpsInputIgnoreFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for GpsInputIgnoreFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GpsInputIgnoreFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the ! operator.
source§

impl Octal for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GpsInputIgnoreFlags

source§

fn cmp(&self, other: &GpsInputIgnoreFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for GpsInputIgnoreFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the ! operator.
source§

impl Octal for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for GpsInputIgnoreFlags

source§

fn cmp(&self, other: &GpsInputIgnoreFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GpsInputIgnoreFlags

source§

fn eq(&self, other: &GpsInputIgnoreFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for GpsInputIgnoreFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for GpsInputIgnoreFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = GpsInputIgnoreFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GpsInputIgnoreFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GpsInputIgnoreFlags

source§

impl Eq for GpsInputIgnoreFlags

source§

impl StructuralEq for GpsInputIgnoreFlags

source§

impl StructuralPartialEq for GpsInputIgnoreFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = GpsInputIgnoreFlags

The resulting type after applying the - operator.
source§

impl SubAssign for GpsInputIgnoreFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for GpsInputIgnoreFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for GpsInputIgnoreFlags

source§

impl Eq for GpsInputIgnoreFlags

source§

impl StructuralEq for GpsInputIgnoreFlags

source§

impl StructuralPartialEq for GpsInputIgnoreFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.HighresImuUpdatedFlags.html b/mavlink/uavionix/struct.HighresImuUpdatedFlags.html index 184df7d6ac..14c8ab60d1 100644 --- a/mavlink/uavionix/struct.HighresImuUpdatedFlags.html +++ b/mavlink/uavionix/struct.HighresImuUpdatedFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl HighresImuUpdatedFlags

source

pub const DEFAULT: Self = Self::HIGHRES_IMU_UPDATED_NONE

Trait Implementations§

source§

impl Binary for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HighresImuUpdatedFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for HighresImuUpdatedFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl HighresImuUpdatedFlags

source

pub const DEFAULT: Self = Self::HIGHRES_IMU_UPDATED_NONE

Trait Implementations§

source§

impl Binary for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HighresImuUpdatedFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for HighresImuUpdatedFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for HighresImuUpdatedFlags

source§

fn bitor(self, other: HighresImuUpdatedFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for HighresImuUpdatedFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for HighresImuUpdatedFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for HighresImuUpdatedFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HighresImuUpdatedFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for HighresImuUpdatedFlags

source§

fn clone(&self) -> HighresImuUpdatedFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HighresImuUpdatedFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HighresImuUpdatedFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = HighresImuUpdatedFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HighresImuUpdatedFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for HighresImuUpdatedFlags

source§

fn clone(&self) -> HighresImuUpdatedFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HighresImuUpdatedFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HighresImuUpdatedFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<HighresImuUpdatedFlags> for HighresImuUpdatedFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<HighresImuUpdatedFlags> for HighresImuUpdatedFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for HighresImuUpdatedFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HighresImuUpdatedFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the ! operator.
source§

impl Octal for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HighresImuUpdatedFlags

source§

fn cmp(&self, other: &HighresImuUpdatedFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HighresImuUpdatedFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the ! operator.
source§

impl Octal for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HighresImuUpdatedFlags

source§

fn cmp(&self, other: &HighresImuUpdatedFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for HighresImuUpdatedFlags

source§

fn eq(&self, other: &HighresImuUpdatedFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for HighresImuUpdatedFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for HighresImuUpdatedFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = HighresImuUpdatedFlags

The resulting type after applying the - operator.
source§

impl SubAssign for HighresImuUpdatedFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HighresImuUpdatedFlags

source§

impl Eq for HighresImuUpdatedFlags

source§

impl StructuralEq for HighresImuUpdatedFlags

source§

impl StructuralPartialEq for HighresImuUpdatedFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = HighresImuUpdatedFlags

The resulting type after applying the - operator.
source§

impl SubAssign for HighresImuUpdatedFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for HighresImuUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HighresImuUpdatedFlags

source§

impl Eq for HighresImuUpdatedFlags

source§

impl StructuralEq for HighresImuUpdatedFlags

source§

impl StructuralPartialEq for HighresImuUpdatedFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.HilSensorUpdatedFlags.html b/mavlink/uavionix/struct.HilSensorUpdatedFlags.html index 77ece806f6..3680bbd970 100644 --- a/mavlink/uavionix/struct.HilSensorUpdatedFlags.html +++ b/mavlink/uavionix/struct.HilSensorUpdatedFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl HilSensorUpdatedFlags

source

pub const DEFAULT: Self = Self::HIL_SENSOR_UPDATED_NONE

Trait Implementations§

source§

impl Binary for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HilSensorUpdatedFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for HilSensorUpdatedFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl HilSensorUpdatedFlags

source

pub const DEFAULT: Self = Self::HIL_SENSOR_UPDATED_NONE

Trait Implementations§

source§

impl Binary for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HilSensorUpdatedFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for HilSensorUpdatedFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for HilSensorUpdatedFlags

source§

fn bitor(self, other: HilSensorUpdatedFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for HilSensorUpdatedFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for HilSensorUpdatedFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for HilSensorUpdatedFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = HilSensorUpdatedFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HilSensorUpdatedFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for HilSensorUpdatedFlags

source§

fn clone(&self) -> HilSensorUpdatedFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HilSensorUpdatedFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HilSensorUpdatedFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<HilSensorUpdatedFlags> for HilSensorUpdatedFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<HilSensorUpdatedFlags> for HilSensorUpdatedFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for HilSensorUpdatedFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HilSensorUpdatedFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the ! operator.
source§

impl Octal for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HilSensorUpdatedFlags

source§

fn cmp(&self, other: &HilSensorUpdatedFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HilSensorUpdatedFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the ! operator.
source§

impl Octal for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HilSensorUpdatedFlags

source§

fn cmp(&self, other: &HilSensorUpdatedFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for HilSensorUpdatedFlags

source§

fn eq(&self, other: &HilSensorUpdatedFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,7 +75,7 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for HilSensorUpdatedFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for HilSensorUpdatedFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the - operator.
source§

impl SubAssign for HilSensorUpdatedFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
§

type Output = HilSensorUpdatedFlags

The resulting type after applying the - operator.
source§

impl SubAssign for HilSensorUpdatedFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

source§

impl UpperHex for HilSensorUpdatedFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HilSensorUpdatedFlags

source§

impl Eq for HilSensorUpdatedFlags

source§

impl StructuralEq for HilSensorUpdatedFlags

source§

impl StructuralPartialEq for HilSensorUpdatedFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/mavlink/uavionix/struct.HlFailureFlag.html b/mavlink/uavionix/struct.HlFailureFlag.html index ca9c5c2d6a..ecff0799ff 100644 --- a/mavlink/uavionix/struct.HlFailureFlag.html +++ b/mavlink/uavionix/struct.HlFailureFlag.html @@ -57,16 +57,16 @@
Safety

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

source§

impl HlFailureFlag

source

pub const DEFAULT: Self = Self::HL_FAILURE_FLAG_GPS

Trait Implementations§

source§

impl Binary for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for HlFailureFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = HlFailureFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for HlFailureFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
§

type Output = HlFailureFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for HlFailureFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for HlFailureFlag

source§

fn bitor(self, other: HlFailureFlag) -> Self

Returns the union of the two sets of flags.

§

type Output = HlFailureFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for HlFailureFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for HlFailureFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = HlFailureFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HlFailureFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for HlFailureFlag

source§

fn clone(&self) -> HlFailureFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HlFailureFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HlFailureFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = HlFailureFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for HlFailureFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for HlFailureFlag

source§

fn clone(&self) -> HlFailureFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for HlFailureFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for HlFailureFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<HlFailureFlag> for HlFailureFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<HlFailureFlag> for HlFailureFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for HlFailureFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HlFailureFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = HlFailureFlag

The resulting type after applying the ! operator.
source§

impl Octal for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HlFailureFlag

source§

fn cmp(&self, other: &HlFailureFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for HlFailureFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = HlFailureFlag

The resulting type after applying the ! operator.
source§

impl Octal for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for HlFailureFlag

source§

fn cmp(&self, other: &HlFailureFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for HlFailureFlag

source§

fn eq(&self, other: &HlFailureFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for HlFailureFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for HlFailureFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = HlFailureFlag

The resulting type after applying the - operator.
source§

impl SubAssign for HlFailureFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HlFailureFlag

source§

impl Eq for HlFailureFlag

source§

impl StructuralEq for HlFailureFlag

source§

impl StructuralPartialEq for HlFailureFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = HlFailureFlag

The resulting type after applying the - operator.

source§

impl SubAssign for HlFailureFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for HlFailureFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for HlFailureFlag

source§

impl Eq for HlFailureFlag

source§

impl StructuralEq for HlFailureFlag

source§

impl StructuralPartialEq for HlFailureFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.MavEventCurrentSequenceFlags.html b/mavlink/uavionix/struct.MavEventCurrentSequenceFlags.html index 421176c12a..b9d7a9e24b 100644 --- a/mavlink/uavionix/struct.MavEventCurrentSequenceFlags.html +++ b/mavlink/uavionix/struct.MavEventCurrentSequenceFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavEventCurrentSequenceFlags

source

pub const DEFAULT: Self = Self::MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET

Trait Implementations§

source§

impl Binary for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavEventCurrentSequenceFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavEventCurrentSequenceFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl MavEventCurrentSequenceFlags

source

pub const DEFAULT: Self = Self::MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET

Trait Implementations§

source§

impl Binary for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavEventCurrentSequenceFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavEventCurrentSequenceFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavEventCurrentSequenceFlags

source§

fn bitor(self, other: MavEventCurrentSequenceFlags) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavEventCurrentSequenceFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavEventCurrentSequenceFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavEventCurrentSequenceFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavEventCurrentSequenceFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavEventCurrentSequenceFlags

source§

fn clone(&self) -> MavEventCurrentSequenceFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavEventCurrentSequenceFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavEventCurrentSequenceFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

source§

impl Clone for MavEventCurrentSequenceFlags

source§

fn clone(&self) -> MavEventCurrentSequenceFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavEventCurrentSequenceFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavEventCurrentSequenceFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavEventCurrentSequenceFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavEventCurrentSequenceFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the ! operator.
source§

impl Octal for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavEventCurrentSequenceFlags

source§

fn cmp(&self, other: &MavEventCurrentSequenceFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavEventCurrentSequenceFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavEventCurrentSequenceFlags

The resulting type after applying the ! operator.
source§

impl Octal for MavEventCurrentSequenceFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavEventCurrentSequenceFlags

source§

fn cmp(&self, other: &MavEventCurrentSequenceFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavEventCurrentSequenceFlags

source§

fn eq(&self, other: &MavEventCurrentSequenceFlags) -> bool

This method tests for self and other values to be equal, and is used diff --git a/mavlink/uavionix/struct.MavGeneratorStatusFlag.html b/mavlink/uavionix/struct.MavGeneratorStatusFlag.html index b73598e53c..90ee7dbc47 100644 --- a/mavlink/uavionix/struct.MavGeneratorStatusFlag.html +++ b/mavlink/uavionix/struct.MavGeneratorStatusFlag.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavGeneratorStatusFlag

source

pub const DEFAULT: Self = Self::MAV_GENERATOR_STATUS_FLAG_OFF

Trait Implementations§

source§

impl Binary for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavGeneratorStatusFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavGeneratorStatusFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl MavGeneratorStatusFlag

source

pub const DEFAULT: Self = Self::MAV_GENERATOR_STATUS_FLAG_OFF

Trait Implementations§

source§

impl Binary for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavGeneratorStatusFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavGeneratorStatusFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavGeneratorStatusFlag

source§

fn bitor(self, other: MavGeneratorStatusFlag) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavGeneratorStatusFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavGeneratorStatusFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavGeneratorStatusFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavGeneratorStatusFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavGeneratorStatusFlag

source§

fn clone(&self) -> MavGeneratorStatusFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavGeneratorStatusFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavGeneratorStatusFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = MavGeneratorStatusFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavGeneratorStatusFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for MavGeneratorStatusFlag

source§

fn clone(&self) -> MavGeneratorStatusFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavGeneratorStatusFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavGeneratorStatusFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavGeneratorStatusFlag> for MavGeneratorStatusFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavGeneratorStatusFlag> for MavGeneratorStatusFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavGeneratorStatusFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavGeneratorStatusFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavGeneratorStatusFlag

source§

fn cmp(&self, other: &MavGeneratorStatusFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavGeneratorStatusFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavGeneratorStatusFlag

source§

fn cmp(&self, other: &MavGeneratorStatusFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavGeneratorStatusFlag

source§

fn eq(&self, other: &MavGeneratorStatusFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavGeneratorStatusFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavGeneratorStatusFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavGeneratorStatusFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavGeneratorStatusFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavGeneratorStatusFlag

source§

impl Eq for MavGeneratorStatusFlag

source§

impl StructuralEq for MavGeneratorStatusFlag

source§

impl StructuralPartialEq for MavGeneratorStatusFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = MavGeneratorStatusFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavGeneratorStatusFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for MavGeneratorStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavGeneratorStatusFlag

source§

impl Eq for MavGeneratorStatusFlag

source§

impl StructuralEq for MavGeneratorStatusFlag

source§

impl StructuralPartialEq for MavGeneratorStatusFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.MavModeFlag.html b/mavlink/uavionix/struct.MavModeFlag.html index 39625c4087..6304281104 100644 --- a/mavlink/uavionix/struct.MavModeFlag.html +++ b/mavlink/uavionix/struct.MavModeFlag.html @@ -57,16 +57,16 @@
Safety

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

source§

impl MavModeFlag

source

pub const DEFAULT: Self = Self::MAV_MODE_FLAG_SAFETY_ARMED

Trait Implementations§

source§

impl Binary for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavModeFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavModeFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavModeFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
§

type Output = MavModeFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavModeFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavModeFlag

source§

fn bitor(self, other: MavModeFlag) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavModeFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavModeFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavModeFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavModeFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavModeFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavModeFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavModeFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavModeFlag

source§

fn clone(&self) -> MavModeFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavModeFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavModeFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = MavModeFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavModeFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for MavModeFlag

source§

fn clone(&self) -> MavModeFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavModeFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavModeFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavModeFlag> for MavModeFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavModeFlag> for MavModeFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavModeFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavModeFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavModeFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavModeFlag

source§

fn cmp(&self, other: &MavModeFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavModeFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavModeFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavModeFlag

source§

fn cmp(&self, other: &MavModeFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavModeFlag

source§

fn eq(&self, other: &MavModeFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavModeFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavModeFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavModeFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavModeFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavModeFlag

source§

impl Eq for MavModeFlag

source§

impl StructuralEq for MavModeFlag

source§

impl StructuralPartialEq for MavModeFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = MavModeFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavModeFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for MavModeFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavModeFlag

source§

impl Eq for MavModeFlag

source§

impl StructuralEq for MavModeFlag

source§

impl StructuralPartialEq for MavModeFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.MavPowerStatus.html b/mavlink/uavionix/struct.MavPowerStatus.html index f61f191ed5..4637994228 100644 --- a/mavlink/uavionix/struct.MavPowerStatus.html +++ b/mavlink/uavionix/struct.MavPowerStatus.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavPowerStatus

source

pub const DEFAULT: Self = Self::MAV_POWER_STATUS_BRICK_VALID

Trait Implementations§

source§

impl Binary for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavPowerStatus

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavPowerStatus

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavPowerStatus

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl MavPowerStatus

source

pub const DEFAULT: Self = Self::MAV_POWER_STATUS_BRICK_VALID

Trait Implementations§

source§

impl Binary for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavPowerStatus

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = MavPowerStatus

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavPowerStatus

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavPowerStatus

source§

fn bitor(self, other: MavPowerStatus) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavPowerStatus

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavPowerStatus

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavPowerStatus

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavPowerStatus

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavPowerStatus

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavPowerStatus

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavPowerStatus

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavPowerStatus

source§

fn clone(&self) -> MavPowerStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavPowerStatus

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavPowerStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = MavPowerStatus

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavPowerStatus

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for MavPowerStatus

source§

fn clone(&self) -> MavPowerStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavPowerStatus

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavPowerStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavPowerStatus> for MavPowerStatus

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavPowerStatus> for MavPowerStatus

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavPowerStatus

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavPowerStatus

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavPowerStatus

The resulting type after applying the ! operator.
source§

impl Octal for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavPowerStatus

source§

fn cmp(&self, other: &MavPowerStatus) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavPowerStatus

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavPowerStatus

The resulting type after applying the ! operator.
source§

impl Octal for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavPowerStatus

source§

fn cmp(&self, other: &MavPowerStatus) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavPowerStatus

source§

fn eq(&self, other: &MavPowerStatus) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavPowerStatus

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavPowerStatus

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavPowerStatus

The resulting type after applying the - operator.
source§

impl SubAssign for MavPowerStatus

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavPowerStatus

source§

impl Eq for MavPowerStatus

source§

impl StructuralEq for MavPowerStatus

source§

impl StructuralPartialEq for MavPowerStatus

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = MavPowerStatus

The resulting type after applying the - operator.
source§

impl SubAssign for MavPowerStatus

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for MavPowerStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavPowerStatus

source§

impl Eq for MavPowerStatus

source§

impl StructuralEq for MavPowerStatus

source§

impl StructuralPartialEq for MavPowerStatus

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.MavProtocolCapability.html b/mavlink/uavionix/struct.MavProtocolCapability.html index 2db211931e..8e0bdc349d 100644 --- a/mavlink/uavionix/struct.MavProtocolCapability.html +++ b/mavlink/uavionix/struct.MavProtocolCapability.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl MavProtocolCapability

source

pub const DEFAULT: Self = Self::MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT

Trait Implementations§

source§

impl Binary for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavProtocolCapability

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavProtocolCapability

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavProtocolCapability

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl MavProtocolCapability

source

pub const DEFAULT: Self = Self::MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT

Trait Implementations§

source§

impl Binary for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavProtocolCapability

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = MavProtocolCapability

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavProtocolCapability

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavProtocolCapability

source§

fn bitor(self, other: MavProtocolCapability) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavProtocolCapability

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavProtocolCapability

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavProtocolCapability

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavProtocolCapability

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavProtocolCapability

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavProtocolCapability

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavProtocolCapability

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavProtocolCapability

source§

fn clone(&self) -> MavProtocolCapability

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavProtocolCapability

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavProtocolCapability

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = MavProtocolCapability

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavProtocolCapability

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for MavProtocolCapability

source§

fn clone(&self) -> MavProtocolCapability

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavProtocolCapability

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavProtocolCapability

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavProtocolCapability> for MavProtocolCapability

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavProtocolCapability> for MavProtocolCapability

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavProtocolCapability

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavProtocolCapability

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavProtocolCapability

The resulting type after applying the ! operator.
source§

impl Octal for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavProtocolCapability

source§

fn cmp(&self, other: &MavProtocolCapability) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavProtocolCapability

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavProtocolCapability

The resulting type after applying the ! operator.
source§

impl Octal for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavProtocolCapability

source§

fn cmp(&self, other: &MavProtocolCapability) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavProtocolCapability

source§

fn eq(&self, other: &MavProtocolCapability) -> bool

This method tests for self and other values to be equal, and is used @@ -75,7 +75,7 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavProtocolCapability

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavProtocolCapability

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavProtocolCapability

The resulting type after applying the - operator.
source§

impl SubAssign for MavProtocolCapability

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
§

type Output = MavProtocolCapability

The resulting type after applying the - operator.
source§

impl SubAssign for MavProtocolCapability

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

source§

impl UpperHex for MavProtocolCapability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavProtocolCapability

source§

impl Eq for MavProtocolCapability

source§

impl StructuralEq for MavProtocolCapability

source§

impl StructuralPartialEq for MavProtocolCapability

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/mavlink/uavionix/struct.MavSysStatusSensor.html b/mavlink/uavionix/struct.MavSysStatusSensor.html index 2979c05b8f..1921f54e0a 100644 --- a/mavlink/uavionix/struct.MavSysStatusSensor.html +++ b/mavlink/uavionix/struct.MavSysStatusSensor.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-

source§

impl MavSysStatusSensor

source

pub const DEFAULT: Self = Self::MAV_SYS_STATUS_SENSOR_3D_GYRO

Trait Implementations§

source§

impl Binary for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavSysStatusSensor

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavSysStatusSensor

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavSysStatusSensor

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl MavSysStatusSensor

source

pub const DEFAULT: Self = Self::MAV_SYS_STATUS_SENSOR_3D_GYRO

Trait Implementations§

source§

impl Binary for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavSysStatusSensor

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = MavSysStatusSensor

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavSysStatusSensor

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavSysStatusSensor

source§

fn bitor(self, other: MavSysStatusSensor) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavSysStatusSensor

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavSysStatusSensor

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavSysStatusSensor

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavSysStatusSensor

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavSysStatusSensor

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavSysStatusSensor

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavSysStatusSensor

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavSysStatusSensor

source§

fn clone(&self) -> MavSysStatusSensor

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavSysStatusSensor

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavSysStatusSensor

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = MavSysStatusSensor

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavSysStatusSensor

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for MavSysStatusSensor

source§

fn clone(&self) -> MavSysStatusSensor

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavSysStatusSensor

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavSysStatusSensor

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavSysStatusSensor> for MavSysStatusSensor

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavSysStatusSensor> for MavSysStatusSensor

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavSysStatusSensor

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavSysStatusSensor

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavSysStatusSensor

The resulting type after applying the ! operator.
source§

impl Octal for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavSysStatusSensor

source§

fn cmp(&self, other: &MavSysStatusSensor) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavSysStatusSensor

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavSysStatusSensor

The resulting type after applying the ! operator.
source§

impl Octal for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavSysStatusSensor

source§

fn cmp(&self, other: &MavSysStatusSensor) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavSysStatusSensor

source§

fn eq(&self, other: &MavSysStatusSensor) -> bool

This method tests for self and other values to be equal, and is used @@ -75,7 +75,7 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavSysStatusSensor

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavSysStatusSensor

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavSysStatusSensor

The resulting type after applying the - operator.
source§

impl SubAssign for MavSysStatusSensor

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
§

type Output = MavSysStatusSensor

The resulting type after applying the - operator.
source§

impl SubAssign for MavSysStatusSensor

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

source§

impl UpperHex for MavSysStatusSensor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavSysStatusSensor

source§

impl Eq for MavSysStatusSensor

source§

impl StructuralEq for MavSysStatusSensor

source§

impl StructuralPartialEq for MavSysStatusSensor

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/mavlink/uavionix/struct.MavWinchStatusFlag.html b/mavlink/uavionix/struct.MavWinchStatusFlag.html index dfe0b7eaa9..1fdda4f7f8 100644 --- a/mavlink/uavionix/struct.MavWinchStatusFlag.html +++ b/mavlink/uavionix/struct.MavWinchStatusFlag.html @@ -57,16 +57,16 @@
Safety

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

source§

impl MavWinchStatusFlag

source

pub const DEFAULT: Self = Self::MAV_WINCH_STATUS_HEALTHY

Trait Implementations§

source§

impl Binary for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MavWinchStatusFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = MavWinchStatusFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavWinchStatusFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
§

type Output = MavWinchStatusFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for MavWinchStatusFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for MavWinchStatusFlag

source§

fn bitor(self, other: MavWinchStatusFlag) -> Self

Returns the union of the two sets of flags.

-
§

type Output = MavWinchStatusFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavWinchStatusFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = MavWinchStatusFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for MavWinchStatusFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for MavWinchStatusFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = MavWinchStatusFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavWinchStatusFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for MavWinchStatusFlag

source§

fn clone(&self) -> MavWinchStatusFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavWinchStatusFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavWinchStatusFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = MavWinchStatusFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MavWinchStatusFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for MavWinchStatusFlag

source§

fn clone(&self) -> MavWinchStatusFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MavWinchStatusFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MavWinchStatusFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<MavWinchStatusFlag> for MavWinchStatusFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<MavWinchStatusFlag> for MavWinchStatusFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for MavWinchStatusFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavWinchStatusFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = MavWinchStatusFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavWinchStatusFlag

source§

fn cmp(&self, other: &MavWinchStatusFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MavWinchStatusFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = MavWinchStatusFlag

The resulting type after applying the ! operator.
source§

impl Octal for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for MavWinchStatusFlag

source§

fn cmp(&self, other: &MavWinchStatusFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MavWinchStatusFlag

source§

fn eq(&self, other: &MavWinchStatusFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for MavWinchStatusFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for MavWinchStatusFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = MavWinchStatusFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavWinchStatusFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavWinchStatusFlag

source§

impl Eq for MavWinchStatusFlag

source§

impl StructuralEq for MavWinchStatusFlag

source§

impl StructuralPartialEq for MavWinchStatusFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = MavWinchStatusFlag

The resulting type after applying the - operator.
source§

impl SubAssign for MavWinchStatusFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for MavWinchStatusFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MavWinchStatusFlag

source§

impl Eq for MavWinchStatusFlag

source§

impl StructuralEq for MavWinchStatusFlag

source§

impl StructuralPartialEq for MavWinchStatusFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.PositionTargetTypemask.html b/mavlink/uavionix/struct.PositionTargetTypemask.html index 0732c56704..287561e08b 100644 --- a/mavlink/uavionix/struct.PositionTargetTypemask.html +++ b/mavlink/uavionix/struct.PositionTargetTypemask.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl PositionTargetTypemask

source

pub const DEFAULT: Self = Self::POSITION_TARGET_TYPEMASK_X_IGNORE

Trait Implementations§

source§

impl Binary for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for PositionTargetTypemask

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
source§

impl PositionTargetTypemask

source

pub const DEFAULT: Self = Self::POSITION_TARGET_TYPEMASK_X_IGNORE

Trait Implementations§

source§

impl Binary for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for PositionTargetTypemask

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = PositionTargetTypemask

The resulting type after applying the & operator.
source§

impl BitAndAssign for PositionTargetTypemask

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for PositionTargetTypemask

source§

fn bitor(self, other: PositionTargetTypemask) -> Self

Returns the union of the two sets of flags.

§

type Output = PositionTargetTypemask

The resulting type after applying the | operator.
source§

impl BitOrAssign for PositionTargetTypemask

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for PositionTargetTypemask

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = PositionTargetTypemask

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for PositionTargetTypemask

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
§

type Output = PositionTargetTypemask

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for PositionTargetTypemask

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

source§

impl Clone for PositionTargetTypemask

source§

fn clone(&self) -> PositionTargetTypemask

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PositionTargetTypemask

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for PositionTargetTypemask

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<PositionTargetTypemask> for PositionTargetTypemask

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<PositionTargetTypemask> for PositionTargetTypemask

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for PositionTargetTypemask

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for PositionTargetTypemask

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = PositionTargetTypemask

The resulting type after applying the ! operator.
source§

impl Octal for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for PositionTargetTypemask

source§

fn cmp(&self, other: &PositionTargetTypemask) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for PositionTargetTypemask

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = PositionTargetTypemask

The resulting type after applying the ! operator.
source§

impl Octal for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for PositionTargetTypemask

source§

fn cmp(&self, other: &PositionTargetTypemask) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for PositionTargetTypemask

source§

fn eq(&self, other: &PositionTargetTypemask) -> bool

This method tests for self and other values to be equal, and is used @@ -76,7 +76,7 @@
Safety
operator. Read more
source§

impl Serialize for PositionTargetTypemask

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for PositionTargetTypemask

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

§

type Output = PositionTargetTypemask

The resulting type after applying the - operator.
source§

impl SubAssign for PositionTargetTypemask

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for PositionTargetTypemask

source§

impl Eq for PositionTargetTypemask

source§

impl StructuralEq for PositionTargetTypemask

source§

impl StructuralPartialEq for PositionTargetTypemask

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source§

impl UpperHex for PositionTargetTypemask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for PositionTargetTypemask

source§

impl Eq for PositionTargetTypemask

source§

impl StructuralEq for PositionTargetTypemask

source§

impl StructuralPartialEq for PositionTargetTypemask

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.SerialControlFlag.html b/mavlink/uavionix/struct.SerialControlFlag.html index fccb98c3e7..9d7157a8e7 100644 --- a/mavlink/uavionix/struct.SerialControlFlag.html +++ b/mavlink/uavionix/struct.SerialControlFlag.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl SerialControlFlag

source

pub const DEFAULT: Self = Self::SERIAL_CONTROL_FLAG_REPLY

Trait Implementations§

source§

impl Binary for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for SerialControlFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = SerialControlFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for SerialControlFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl SerialControlFlag

source

pub const DEFAULT: Self = Self::SERIAL_CONTROL_FLAG_REPLY

Trait Implementations§

source§

impl Binary for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for SerialControlFlag

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = SerialControlFlag

The resulting type after applying the & operator.
source§

impl BitAndAssign for SerialControlFlag

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for SerialControlFlag

source§

fn bitor(self, other: SerialControlFlag) -> Self

Returns the union of the two sets of flags.

-
§

type Output = SerialControlFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for SerialControlFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = SerialControlFlag

The resulting type after applying the | operator.
source§

impl BitOrAssign for SerialControlFlag

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for SerialControlFlag

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = SerialControlFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for SerialControlFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for SerialControlFlag

source§

fn clone(&self) -> SerialControlFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SerialControlFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for SerialControlFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = SerialControlFlag

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for SerialControlFlag

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for SerialControlFlag

source§

fn clone(&self) -> SerialControlFlag

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SerialControlFlag

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for SerialControlFlag

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<SerialControlFlag> for SerialControlFlag

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<SerialControlFlag> for SerialControlFlag

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for SerialControlFlag

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for SerialControlFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = SerialControlFlag

The resulting type after applying the ! operator.
source§

impl Octal for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for SerialControlFlag

source§

fn cmp(&self, other: &SerialControlFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for SerialControlFlag

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = SerialControlFlag

The resulting type after applying the ! operator.
source§

impl Octal for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for SerialControlFlag

source§

fn cmp(&self, other: &SerialControlFlag) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for SerialControlFlag

source§

fn eq(&self, other: &SerialControlFlag) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for SerialControlFlag

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for SerialControlFlag

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = SerialControlFlag

The resulting type after applying the - operator.
source§

impl SubAssign for SerialControlFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for SerialControlFlag

source§

impl Eq for SerialControlFlag

source§

impl StructuralEq for SerialControlFlag

source§

impl StructuralPartialEq for SerialControlFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = SerialControlFlag

The resulting type after applying the - operator.
source§

impl SubAssign for SerialControlFlag

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for SerialControlFlag

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for SerialControlFlag

source§

impl Eq for SerialControlFlag

source§

impl StructuralEq for SerialControlFlag

source§

impl StructuralPartialEq for SerialControlFlag

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.TuneFormat.html b/mavlink/uavionix/struct.TuneFormat.html index 25a7c246e8..00ccab469c 100644 --- a/mavlink/uavionix/struct.TuneFormat.html +++ b/mavlink/uavionix/struct.TuneFormat.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl TuneFormat

source

pub const DEFAULT: Self = Self::TUNE_FORMAT_QBASIC1_1

Trait Implementations§

source§

impl Binary for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for TuneFormat

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = TuneFormat

The resulting type after applying the & operator.
source§

impl BitAndAssign for TuneFormat

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl TuneFormat

source

pub const DEFAULT: Self = Self::TUNE_FORMAT_QBASIC1_1

Trait Implementations§

source§

impl Binary for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for TuneFormat

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = TuneFormat

The resulting type after applying the & operator.
source§

impl BitAndAssign for TuneFormat

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for TuneFormat

source§

fn bitor(self, other: TuneFormat) -> Self

Returns the union of the two sets of flags.

-
§

type Output = TuneFormat

The resulting type after applying the | operator.
source§

impl BitOrAssign for TuneFormat

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = TuneFormat

The resulting type after applying the | operator.
source§

impl BitOrAssign for TuneFormat

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for TuneFormat

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = TuneFormat

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for TuneFormat

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for TuneFormat

source§

fn clone(&self) -> TuneFormat

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TuneFormat

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for TuneFormat

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = TuneFormat

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for TuneFormat

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for TuneFormat

source§

fn clone(&self) -> TuneFormat

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TuneFormat

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for TuneFormat

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<TuneFormat> for TuneFormat

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<TuneFormat> for TuneFormat

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for TuneFormat

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for TuneFormat

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = TuneFormat

The resulting type after applying the ! operator.
source§

impl Octal for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for TuneFormat

source§

fn cmp(&self, other: &TuneFormat) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for TuneFormat

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = TuneFormat

The resulting type after applying the ! operator.
source§

impl Octal for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for TuneFormat

source§

fn cmp(&self, other: &TuneFormat) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for TuneFormat

source§

fn eq(&self, other: &TuneFormat) -> bool

This method tests for self and other values to be equal, and is used @@ -76,7 +76,7 @@
Safety
operator. Read more
source§

impl Serialize for TuneFormat

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for TuneFormat

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

§

type Output = TuneFormat

The resulting type after applying the - operator.
source§

impl SubAssign for TuneFormat

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for TuneFormat

source§

impl Eq for TuneFormat

source§

impl StructuralEq for TuneFormat

source§

impl StructuralPartialEq for TuneFormat

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

source§

impl UpperHex for TuneFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for TuneFormat

source§

impl Eq for TuneFormat

source§

impl StructuralEq for TuneFormat

source§

impl StructuralPartialEq for TuneFormat

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.UavionixAdsbOutDynamicState.html b/mavlink/uavionix/struct.UavionixAdsbOutDynamicState.html index 024de09618..b730131851 100644 --- a/mavlink/uavionix/struct.UavionixAdsbOutDynamicState.html +++ b/mavlink/uavionix/struct.UavionixAdsbOutDynamicState.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl UavionixAdsbOutDynamicState

source

pub const DEFAULT: Self = Self::UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE

Trait Implementations§

source§

impl Binary for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UavionixAdsbOutDynamicState

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the & operator.
source§

impl BitAndAssign for UavionixAdsbOutDynamicState

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl UavionixAdsbOutDynamicState

source

pub const DEFAULT: Self = Self::UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE

Trait Implementations§

source§

impl Binary for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UavionixAdsbOutDynamicState

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the & operator.
source§

impl BitAndAssign for UavionixAdsbOutDynamicState

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for UavionixAdsbOutDynamicState

source§

fn bitor(self, other: UavionixAdsbOutDynamicState) -> Self

Returns the union of the two sets of flags.

§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the | operator.
source§

impl BitOrAssign for UavionixAdsbOutDynamicState

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for UavionixAdsbOutDynamicState

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UavionixAdsbOutDynamicState

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for UavionixAdsbOutDynamicState

source§

fn clone(&self) -> UavionixAdsbOutDynamicState

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbOutDynamicState

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbOutDynamicState

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UavionixAdsbOutDynamicState

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for UavionixAdsbOutDynamicState

source§

fn clone(&self) -> UavionixAdsbOutDynamicState

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbOutDynamicState

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbOutDynamicState

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<UavionixAdsbOutDynamicState> for UavionixAdsbOutDynamicState

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<UavionixAdsbOutDynamicState> for UavionixAdsbOutDynamicState

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for UavionixAdsbOutDynamicState

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UavionixAdsbOutDynamicState

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the ! operator.
source§

impl Octal for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UavionixAdsbOutDynamicState

source§

fn cmp(&self, other: &UavionixAdsbOutDynamicState) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UavionixAdsbOutDynamicState

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the ! operator.
source§

impl Octal for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UavionixAdsbOutDynamicState

source§

fn cmp(&self, other: &UavionixAdsbOutDynamicState) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for UavionixAdsbOutDynamicState

source§

fn eq(&self, other: &UavionixAdsbOutDynamicState) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for UavionixAdsbOutDynamicState

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for UavionixAdsbOutDynamicState

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the - operator.
source§

impl SubAssign for UavionixAdsbOutDynamicState

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UavionixAdsbOutDynamicState

source§

impl Eq for UavionixAdsbOutDynamicState

source§

impl StructuralEq for UavionixAdsbOutDynamicState

source§

impl StructuralPartialEq for UavionixAdsbOutDynamicState

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = UavionixAdsbOutDynamicState

The resulting type after applying the - operator.
source§

impl SubAssign for UavionixAdsbOutDynamicState

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for UavionixAdsbOutDynamicState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UavionixAdsbOutDynamicState

source§

impl Eq for UavionixAdsbOutDynamicState

source§

impl StructuralEq for UavionixAdsbOutDynamicState

source§

impl StructuralPartialEq for UavionixAdsbOutDynamicState

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.UavionixAdsbOutRfSelect.html b/mavlink/uavionix/struct.UavionixAdsbOutRfSelect.html index 4de305d43d..ff984b378c 100644 --- a/mavlink/uavionix/struct.UavionixAdsbOutRfSelect.html +++ b/mavlink/uavionix/struct.UavionixAdsbOutRfSelect.html @@ -57,16 +57,16 @@
Safety

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

source§

impl UavionixAdsbOutRfSelect

source

pub const DEFAULT: Self = Self::UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY

Trait Implementations§

source§

impl Binary for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UavionixAdsbOutRfSelect

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the & operator.
source§

impl BitAndAssign for UavionixAdsbOutRfSelect

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the & operator.
source§

impl BitAndAssign for UavionixAdsbOutRfSelect

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for UavionixAdsbOutRfSelect

source§

fn bitor(self, other: UavionixAdsbOutRfSelect) -> Self

Returns the union of the two sets of flags.

-
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the | operator.
source§

impl BitOrAssign for UavionixAdsbOutRfSelect

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

+
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the | operator.
source§

impl BitOrAssign for UavionixAdsbOutRfSelect

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for UavionixAdsbOutRfSelect

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UavionixAdsbOutRfSelect

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for UavionixAdsbOutRfSelect

source§

fn clone(&self) -> UavionixAdsbOutRfSelect

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbOutRfSelect

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbOutRfSelect

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

source§

impl Clone for UavionixAdsbOutRfSelect

source§

fn clone(&self) -> UavionixAdsbOutRfSelect

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbOutRfSelect

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbOutRfSelect

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<UavionixAdsbOutRfSelect> for UavionixAdsbOutRfSelect

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<UavionixAdsbOutRfSelect> for UavionixAdsbOutRfSelect

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for UavionixAdsbOutRfSelect

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UavionixAdsbOutRfSelect

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the ! operator.
source§

impl Octal for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UavionixAdsbOutRfSelect

source§

fn cmp(&self, other: &UavionixAdsbOutRfSelect) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UavionixAdsbOutRfSelect

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = UavionixAdsbOutRfSelect

The resulting type after applying the ! operator.
source§

impl Octal for UavionixAdsbOutRfSelect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UavionixAdsbOutRfSelect

source§

fn cmp(&self, other: &UavionixAdsbOutRfSelect) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for UavionixAdsbOutRfSelect

source§

fn eq(&self, other: &UavionixAdsbOutRfSelect) -> bool

This method tests for self and other values to be equal, and is used diff --git a/mavlink/uavionix/struct.UavionixAdsbRfHealth.html b/mavlink/uavionix/struct.UavionixAdsbRfHealth.html index 8e78a46ed9..422b885e23 100644 --- a/mavlink/uavionix/struct.UavionixAdsbRfHealth.html +++ b/mavlink/uavionix/struct.UavionixAdsbRfHealth.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl UavionixAdsbRfHealth

source

pub const DEFAULT: Self = Self::UAVIONIX_ADSB_RF_HEALTH_INITIALIZING

Trait Implementations§

source§

impl Binary for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UavionixAdsbRfHealth

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
source§

impl UavionixAdsbRfHealth

source

pub const DEFAULT: Self = Self::UAVIONIX_ADSB_RF_HEALTH_INITIALIZING

Trait Implementations§

source§

impl Binary for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UavionixAdsbRfHealth

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

§

type Output = UavionixAdsbRfHealth

The resulting type after applying the & operator.
source§

impl BitAndAssign for UavionixAdsbRfHealth

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for UavionixAdsbRfHealth

source§

fn bitor(self, other: UavionixAdsbRfHealth) -> Self

Returns the union of the two sets of flags.

§

type Output = UavionixAdsbRfHealth

The resulting type after applying the | operator.
source§

impl BitOrAssign for UavionixAdsbRfHealth

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for UavionixAdsbRfHealth

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

§

type Output = UavionixAdsbRfHealth

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UavionixAdsbRfHealth

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for UavionixAdsbRfHealth

source§

fn clone(&self) -> UavionixAdsbRfHealth

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbRfHealth

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbRfHealth

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

source§

impl Clone for UavionixAdsbRfHealth

source§

fn clone(&self) -> UavionixAdsbRfHealth

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UavionixAdsbRfHealth

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UavionixAdsbRfHealth

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<UavionixAdsbRfHealth> for UavionixAdsbRfHealth

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<UavionixAdsbRfHealth> for UavionixAdsbRfHealth

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for UavionixAdsbRfHealth

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UavionixAdsbRfHealth

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = UavionixAdsbRfHealth

The resulting type after applying the ! operator.
source§

impl Octal for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UavionixAdsbRfHealth

source§

fn cmp(&self, other: &UavionixAdsbRfHealth) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UavionixAdsbRfHealth

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = UavionixAdsbRfHealth

The resulting type after applying the ! operator.
source§

impl Octal for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UavionixAdsbRfHealth

source§

fn cmp(&self, other: &UavionixAdsbRfHealth) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for UavionixAdsbRfHealth

source§

fn eq(&self, other: &UavionixAdsbRfHealth) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for UavionixAdsbRfHealth

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for UavionixAdsbRfHealth

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = UavionixAdsbRfHealth

The resulting type after applying the - operator.
source§

impl SubAssign for UavionixAdsbRfHealth

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UavionixAdsbRfHealth

source§

impl Eq for UavionixAdsbRfHealth

source§

impl StructuralEq for UavionixAdsbRfHealth

source§

impl StructuralPartialEq for UavionixAdsbRfHealth

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = UavionixAdsbRfHealth

The resulting type after applying the - operator.
source§

impl SubAssign for UavionixAdsbRfHealth

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for UavionixAdsbRfHealth

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UavionixAdsbRfHealth

source§

impl Eq for UavionixAdsbRfHealth

source§

impl StructuralEq for UavionixAdsbRfHealth

source§

impl StructuralPartialEq for UavionixAdsbRfHealth

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mavlink/uavionix/struct.UtmDataAvailFlags.html b/mavlink/uavionix/struct.UtmDataAvailFlags.html index 262050238b..c612d45480 100644 --- a/mavlink/uavionix/struct.UtmDataAvailFlags.html +++ b/mavlink/uavionix/struct.UtmDataAvailFlags.html @@ -56,17 +56,17 @@
Safety
between Self::all() and self (e.g. Self::all() - self)

This is equivalent to using the ! operator (e.g. ops::Not), as in !flags.

-
source§

impl UtmDataAvailFlags

source

pub const DEFAULT: Self = Self::UTM_DATA_AVAIL_FLAGS_TIME_VALID

Trait Implementations§

source§

impl Binary for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UtmDataAvailFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

-
§

type Output = UtmDataAvailFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for UtmDataAvailFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

+
source§

impl UtmDataAvailFlags

source

pub const DEFAULT: Self = Self::UTM_DATA_AVAIL_FLAGS_TIME_VALID

Trait Implementations§

source§

impl Binary for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for UtmDataAvailFlags

source§

fn bitand(self, other: Self) -> Self

Returns the intersection between the two sets of flags.

+
§

type Output = UtmDataAvailFlags

The resulting type after applying the & operator.
source§

impl BitAndAssign for UtmDataAvailFlags

source§

fn bitand_assign(&mut self, other: Self)

Disables all flags disabled in the set.

source§

impl BitOr for UtmDataAvailFlags

source§

fn bitor(self, other: UtmDataAvailFlags) -> Self

Returns the union of the two sets of flags.

§

type Output = UtmDataAvailFlags

The resulting type after applying the | operator.
source§

impl BitOrAssign for UtmDataAvailFlags

source§

fn bitor_assign(&mut self, other: Self)

Adds the set of flags.

source§

impl BitXor for UtmDataAvailFlags

source§

fn bitxor(self, other: Self) -> Self

Returns the left flags, but with all the right flags toggled.

-
§

type Output = UtmDataAvailFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UtmDataAvailFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

-
source§

impl Clone for UtmDataAvailFlags

source§

fn clone(&self) -> UtmDataAvailFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UtmDataAvailFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UtmDataAvailFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +

§

type Output = UtmDataAvailFlags

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for UtmDataAvailFlags

source§

fn bitxor_assign(&mut self, other: Self)

Toggles the set of flags.

+
source§

impl Clone for UtmDataAvailFlags

source§

fn clone(&self) -> UtmDataAvailFlags

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UtmDataAvailFlags

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UtmDataAvailFlags

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extend<UtmDataAvailFlags> for UtmDataAvailFlags

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl FromIterator<UtmDataAvailFlags> for UtmDataAvailFlags

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

Creates a value from an iterator. Read more
source§

impl Hash for UtmDataAvailFlags

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UtmDataAvailFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

-
§

type Output = UtmDataAvailFlags

The resulting type after applying the ! operator.
source§

impl Octal for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UtmDataAvailFlags

source§

fn cmp(&self, other: &UtmDataAvailFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl LowerHex for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for UtmDataAvailFlags

source§

fn not(self) -> Self

Returns the complement of this set of flags.

+
§

type Output = UtmDataAvailFlags

The resulting type after applying the ! operator.
source§

impl Octal for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Ord for UtmDataAvailFlags

source§

fn cmp(&self, other: &UtmDataAvailFlags) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for UtmDataAvailFlags

source§

fn eq(&self, other: &UtmDataAvailFlags) -> bool

This method tests for self and other values to be equal, and is used @@ -75,8 +75,8 @@
Safety
operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Serialize for UtmDataAvailFlags

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for UtmDataAvailFlags

source§

fn sub(self, other: Self) -> Self

Returns the set difference of the two sets of flags.

-
§

type Output = UtmDataAvailFlags

The resulting type after applying the - operator.
source§

impl SubAssign for UtmDataAvailFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

-
source§

impl UpperHex for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UtmDataAvailFlags

source§

impl Eq for UtmDataAvailFlags

source§

impl StructuralEq for UtmDataAvailFlags

source§

impl StructuralPartialEq for UtmDataAvailFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

§

type Output = UtmDataAvailFlags

The resulting type after applying the - operator.
source§

impl SubAssign for UtmDataAvailFlags

source§

fn sub_assign(&mut self, other: Self)

Disables all flags enabled in the set.

+
source§

impl UpperHex for UtmDataAvailFlags

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for UtmDataAvailFlags

source§

impl Eq for UtmDataAvailFlags

source§

impl StructuralEq for UtmDataAvailFlags

source§

impl StructuralPartialEq for UtmDataAvailFlags

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/search-index.js b/search-index.js index b4038494b3..a6d26c4e9a 100644 --- a/search-index.js +++ b/search-index.js @@ -4,7 +4,7 @@ var searchIndex = JSON.parse('{\ "crc_any":{"doc":"CRC Any","t":"EDNDNDNDNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL","n":["CRC","CRCu16","CRCu16","CRCu32","CRCu32","CRCu64","CRCu64","CRCu8","CRCu8","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","crc10","crc10","crc10cdma2000","crc10cdma2000","crc10gsm","crc10gsm","crc11","crc11","crc12","crc12","crc12cdma2000","crc12cdma2000","crc12gsm","crc12gsm","crc13bbc","crc13bbc","crc14darc","crc14darc","crc14gsm","crc14gsm","crc15can","crc15can","crc15mpt1327","crc15mpt1327","crc16","crc16","crc16_x25","crc16_x25","crc16aug_ccitt","crc16aug_ccitt","crc16buypass","crc16buypass","crc16ccitt_false","crc16ccitt_false","crc16cdma2000","crc16cdma2000","crc16dds_110","crc16dds_110","crc16dect_r","crc16dect_r","crc16dect_x","crc16dect_x","crc16dnp","crc16dnp","crc16en_13757","crc16en_13757","crc16genibus","crc16genibus","crc16kermit","crc16kermit","crc16maxim","crc16maxim","crc16mcrf4cc","crc16mcrf4cc","crc16modbus","crc16modbus","crc16riello","crc16riello","crc16t10_dif","crc16t10_dif","crc16teledisk","crc16teledisk","crc16tms13157","crc16tms13157","crc16usb","crc16usb","crc16xmodem","crc16xmodem","crc17can","crc17can","crc21can","crc21can","crc24","crc24","crc24ble","crc24ble","crc24flexray_a","crc24flexray_a","crc24flexray_b","crc24flexray_b","crc24lte_a","crc24lte_a","crc24lte_b","crc24lte_b","crc24os9","crc24os9","crc30cdma","crc30cdma","crc32","crc32","crc32bzip2","crc32bzip2","crc32c","crc32c","crc32d","crc32d","crc32jamcrc","crc32jamcrc","crc32mhash","crc32mhash","crc32mpeg2","crc32mpeg2","crc32posix","crc32posix","crc32q","crc32q","crc32xfer","crc32xfer","crc3gsm","crc3gsm","crc40gsm","crc40gsm","crc4interlaken","crc4interlaken","crc4itu","crc4itu","crc5epc","crc5epc","crc5itu","crc5itu","crc5usb","crc5usb","crc64","crc64","crc64iso","crc64iso","crc64jones","crc64jones","crc64we","crc64we","crc6cdma2000_a","crc6cdma2000_a","crc6cdma2000_b","crc6cdma2000_b","crc6darc","crc6darc","crc6gsm","crc6gsm","crc6itu","crc6itu","crc7","crc7","crc7umts","crc7umts","crc8","crc8","crc8cdma2000","crc8cdma2000","crc8darc","crc8darc","crc8dvb_s2","crc8dvb_s2","crc8ebu","crc8ebu","crc8icode","crc8icode","crc8itu","crc8itu","crc8maxim","crc8maxim","crc8rohc","crc8rohc","crc8wcdma","crc8wcdma","crc_a","crc_a","create_crc","create_crc","create_crc","create_crc","create_crc","create_crc_u16","create_crc_u32","create_crc_u64","create_crc_u8","digest","digest","digest","digest","digest","from","from","from","from","from","get_crc","get_crc","get_crc","get_crc","get_crc","into","into","into","into","into","reset","reset","reset","reset","reset","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id"],"q":[[0,"crc_any"],[234,"core::marker"],[235,"core::convert"],[236,"core::result"],[237,"core::any"]],"d":["This struct can help you compute a CRC value.","This struct can help you compute a CRC-16 (or CRC-x where x…","","This struct can help you compute a CRC-32 (or CRC-x where x…","","This struct can help you compute a CRC-64 (or CRC-x where x…","","This struct can help you compute a CRC-8 (or CRC-x where x …","","","","","","","","","","","","CheckPolyInitRefXorOut0x1990x2330x000false0x000","CheckPolyInitRefXorOut0x1990x2330x000false0x000","CheckPolyInitRefXorOut0x2330x3D90x3FFfalse0x000","CheckPolyInitRefXorOut0x2330x3D90x3FFfalse0x000","CheckPolyInitRefXorOut0x12A0x1750x000false0x3FF","CheckPolyInitRefXorOut0x12A0x1750x000false0x3FF","CheckPolyInitRefXorOut0x5A30x3850x01afalse0x000","CheckPolyInitRefXorOut0x5A30x3850x01afalse0x000","CheckPolyInitRefXorOut0xF5B0x80F0x000false0x000","CheckPolyInitRefXorOut0xF5B0x080F0x0000false0x0000","CheckPolyInitRefXorOut0xD4D0xF130xFFFfalse0x000","CheckPolyInitRefXorOut0xD4D0x0F130x0FFFfalse0x0000","CheckPolyInitRefXorOut0xB340xD310x000false0xFFF","CheckPolyInitRefXorOut0xB340x0D310x0000false0x0FFF","CheckPolyInitRefXorOut0x04FA0x1CF50x0000false0x0000","CheckPolyInitRefXorOut0x04FA0x1CF50x0000false0x0000","CheckPolyInitRefXorOut0x082D0x0805 (rev: 0x2804)0x0000true…","CheckPolyInitRefXorOut0x082D0x0805 (rev: 0x2804)0x0000true…","CheckPolyInitRefXorOut0x30AE0x202D0x0000false0x3FFF","CheckPolyInitRefXorOut0x30AE0x202D0x0000false0x3FFF","CheckPolyInitRefXorOut0x059E0x45990x0000false0x0000","CheckPolyInitRefXorOut0x059E0x45990x0000false0x0000","CheckPolyInitRefXorOut0x25660x68150x0000false0x0001","CheckPolyInitRefXorOut0x25660x68150x0000false0x0001","CheckPolyInitRefXorOut0xBB3D0x8005 (rev: 0xA001)0x0000true…","CheckPolyInitRefXorOut0xBB3D0x8005 (rev: 0xA001)0x0000true…","CheckPolyInitRefXorOut0x906E0x8005 (rev: 0xA001)0xFFFFtrue…","CheckPolyInitRefXorOut0x906E0x8005 (rev: 0xA001)0xFFFFtrue…","CheckPolyInitRefXorOut0xE5CC0x10210x1D0Ffalse0x0000","CheckPolyInitRefXorOut0xE5CC0x10210x1D0Ffalse0x0000","CheckPolyInitRefXorOut0xFEE80x80050x0000false0x0000","CheckPolyInitRefXorOut0xFEE80x80050x0000false0x0000","CheckPolyInitRefXorOut0x29B10x10210xFFFFfalse0x0000","CheckPolyInitRefXorOut0x29B10x10210xFFFFfalse0x0000","CheckPolyInitRefXorOut0x4C060xC8670xFFFFfalse0x0000","CheckPolyInitRefXorOut0x4C060xC8670xFFFFfalse0x0000","CheckPolyInitRefXorOut0x9ECF0x80050x800Dfalse0x0000","CheckPolyInitRefXorOut0x9ECF0x80050x800Dfalse0x0000","CheckPolyInitRefXorOut0x007E0x05890x0000false0x0001","CheckPolyInitRefXorOut0x007E0x05890x0000false0x0001","CheckPolyInitRefXorOut0x007F0x05890x0000false0x0000","CheckPolyInitRefXorOut0x007F0x05890x0000false0x0000","CheckPolyInitRefXorOut0xEA820x3D65 (rev: 0xA6BC)0x0000true…","CheckPolyInitRefXorOut0xEA820x3D65 (rev: 0xA6BC)0x0000true…","CheckPolyInitRefXorOut0xC2B70x3D650x0000false0xFFFF","CheckPolyInitRefXorOut0xC2B70x3D650x0000false0xFFFF","CheckPolyInitRefXorOut0xD64E0x10210xFFFFfalse0xFFFF","CheckPolyInitRefXorOut0xD64E0x10210xFFFFfalse0xFFFF","CheckPolyInitRefXorOut0x21890x1021 (rev: 0x8408)0x0000true…","CheckPolyInitRefXorOut0x21890x1021 (rev: 0x8408)0x0000true…","CheckPolyInitRefXorOut0x44C20x8005 (rev: 0xA001)0xFFFFtrue…","CheckPolyInitRefXorOut0x44C20x8005 (rev: 0xA001)0xFFFFtrue…","CheckPolyInitRefXorOut0x6F910x1021 (rev: 0x8408)0xFFFFtrue…","CheckPolyInitRefXorOut0x6F910x1021 (rev: 0x8408)0xFFFFtrue…","CheckPolyInitRefXorOut0x4B370x8005 (rev: 0xA001)0xFFFFtrue…","CheckPolyInitRefXorOut0x4B370x8005 (rev: 0xA001)0xFFFFtrue…","CheckPolyInitRefXorOut0x63D00x1021 (rev: 0x8408)0xB2AAtrue…","CheckPolyInitRefXorOut0x63D00x1021 (rev: 0x8408)0xB2AAtrue…","CheckPolyInitRefXorOut0xD0DB0x8BB70x0000false0x0000","CheckPolyInitRefXorOut0xD0DB0x8BB70x0000false0x0000","CheckPolyInitRefXorOut0x0FB30xA0970x0000false0x0000","CheckPolyInitRefXorOut0x0FB30xA0970x0000false0x0000","CheckPolyInitRefXorOut0x26B10x1021 (rev: 0x8408)0x89ECtrue…","CheckPolyInitRefXorOut0x26B10x1021 (rev: 0x8408)0x89ECtrue…","CheckPolyInitRefXorOut0xB4C80x8005 (rev: 0xA001)0xFFFFtrue…","CheckPolyInitRefXorOut0xB4C80x8005 (rev: 0xA001)0xFFFFtrue…","CheckPolyInitRefXorOut0x31C30x10210x0000false0x0000","CheckPolyInitRefXorOut0x31C30x10210x0000false0x0000","CheckPolyInitRefXorOut0x04F030x1685B0x00000false0x00000","CheckPolyInitRefXorOut0x04F030x1685B0x00000false0x00000","CheckPolyInitRefXorOut0x0ED8410x1028990x000000false0x000000","CheckPolyInitRefXorOut0x0ED8410x1028990x000000false0x000000","CheckPolyInitRefXorOut0x21CF020x864CFB0xB704CEfalse0x000000","CheckPolyInitRefXorOut0x21CF020x864CFB0xB704CEfalse0x000000","CheckPolyInitRefXorOut0xC25A560x00065B (rev: 0xDA6000)…","CheckPolyInitRefXorOut0xC25A560x00065B (rev: 0xDA6000)…","CheckPolyInitRefXorOut0x7979BD0x5D6DCB0xFEDCBAfalse0x000000","CheckPolyInitRefXorOut0x7979BD0x5D6DCB0xFEDCBAfalse0x000000","CheckPolyInitRefXorOut0x1F23B80x5D6DCB0xABCDEFfalse0x000000","CheckPolyInitRefXorOut0x1F23B80x5D6DCB0xABCDEFfalse0x000000","CheckPolyInitRefXorOut0xCDE7030x864CFB0x000000false0x000000","CheckPolyInitRefXorOut0xCDE7030x864CFB0x000000false0x000000","CheckPolyInitRefXorOut0x23EF520x8000630x000000false0x000000","CheckPolyInitRefXorOut0x23EF520x8000630x000000false0x000000","CheckPolyInitRefXorOut0x200FA50x8000630xFFFFFFfalse0xFFFFFF","CheckPolyInitRefXorOut0x200FA50x8000630xFFFFFFfalse0xFFFFFF","CheckPolyInitRefXorOut0x04C34ABF0x2030B9C70x3FFFFFFFfalse…","CheckPolyInitRefXorOut0x04C34ABF0x2030B9C70x3FFFFFFFfalse…","CheckPolyInitRefXorOut0xCBF439260x04C11DB7 (rev: …","CheckPolyInitRefXorOut0xCBF439260x04C11DB7 (rev: …","CheckPolyInitRefXorOut0xFC8919180x04C11DB70xFFFFFFFFfalse…","CheckPolyInitRefXorOut0xFC8919180x04C11DB70xFFFFFFFFfalse…","CheckPolyInitRefXorOut0xE30692830x1EDC6F41 (rev: …","CheckPolyInitRefXorOut0xE30692830x1EDC6F41 (rev: …","CheckPolyInitRefXorOut0x873155760xA833982B (rev: …","CheckPolyInitRefXorOut0x873155760xA833982B (rev: …","CheckPolyInitRefXorOut0x340BC6D90x04C11DB7 (rev: …","CheckPolyInitRefXorOut0x340BC6D90x04C11DB7 (rev: …","CheckPolyInitRefXorOut0x181989FC0x04C11DB70xFFFFFFFFfalse…","CheckPolyInitRefXorOut0x181989FC0x04C11DB70xFFFFFFFFfalse…","CheckPolyInitRefXorOut0x0376E6E70x04C11DB70xFFFFFFFFfalse…","CheckPolyInitRefXorOut0x0376E6E70x04C11DB70xFFFFFFFFfalse…","CheckPolyInitRefXorOut0x765E76800x04C11DB70x00000000false…","CheckPolyInitRefXorOut0x765E76800x04C11DB70x00000000false…","CheckPolyInitRefXorOut0x3010BF7F0x814141AB0x00000000false…","CheckPolyInitRefXorOut0x3010BF7F0x814141AB0x00000000false…","CheckPolyInitRefXorOut0xBD0BE3380x000000AF0x00000000false…","CheckPolyInitRefXorOut0xBD0BE3380x000000AF0x00000000false…","CheckPolyInitRefXorOut0x40x30x0false0x7","CheckPolyInitRefXorOut0x40x30x0false0x7","CheckPolyInitRefXorOut0xD4164FC6460x00048200090x0000000000…","CheckPolyInitRefXorOut0xD4164FC6460x00048200090x0000000000…","CheckPolyInitRefXorOut0xB0x30xFfalse0xF","CheckPolyInitRefXorOut0xB0x30xFfalse0xF","CheckPolyInitRefXorOut0x70x3 (rev: 0xC)0x0true0x0","CheckPolyInitRefXorOut0x70x3 (rev: 0xC)0x0true0x0","CheckPolyInitRefXorOut0x000x090x09false0x00","CheckPolyInitRefXorOut0x000x090x09false0x00","CheckPolyInitRefXorOut0x070x15 (rev: 0x15)0x00true0x00","CheckPolyInitRefXorOut0x070x15 (rev: 0x15)0x00true0x00","CheckPolyInitRefXorOut0x190x05 (rev: 0x14)0x1Ftrue0x1F","CheckPolyInitRefXorOut0x190x05 (rev: 0x14)0x1Ftrue0x1F","CheckPolyInitRefXorOut0x6C40DF5F0B4973470x42F0E1EBA9EA3693…","CheckPolyInitRefXorOut0x6C40DF5F0B4973470x42F0E1EBA9EA3693…","CheckPolyInitRefXorOut0xB90956C775A410010x000000000000001B …","CheckPolyInitRefXorOut0xB90956C775A410010x000000000000001B …","CheckPolyInitRefXorOut0xE9C6D914C4B8D9CA0xAD93D23594C935A9 …","CheckPolyInitRefXorOut0xE9C6D914C4B8D9CA0xAD93D23594C935A9 …","CheckPolyInitRefXorOut0x62EC59E3F1A4F00A0x42F0E1EBA9EA3693…","CheckPolyInitRefXorOut0x62EC59E3F1A4F00A0x42F0E1EBA9EA3693…","CheckPolyInitRefXorOut0x0D0x270x3Ffalse0x00","CheckPolyInitRefXorOut0x0D0x270x3Ffalse0x00","CheckPolyInitRefXorOut0x3B0x070x3Ffalse0x00","CheckPolyInitRefXorOut0x3B0x070x3Ffalse0x00","CheckPolyInitRefXorOut0x260x19 (rev: 0x26)0x00true0x00","CheckPolyInitRefXorOut0x260x19 (rev: 0x26)0x00true0x00","CheckPolyInitRefXorOut0x130x2F0x00false0x3F","CheckPolyInitRefXorOut0x130x2F0x00false0x3F","CheckPolyInitRefXorOut0x060x03 (rev: 0x30)0x00true0x00","CheckPolyInitRefXorOut0x060x03 (rev: 0x30)0x00true0x00","CheckPolyInitRefXorOut0x750x090x00false0x00","CheckPolyInitRefXorOut0x750x090x00false0x00","CheckPolyInitRefXorOut0x610x450x00false0x00","CheckPolyInitRefXorOut0x610x450x00false0x00","CheckPolyInitRefXorOut0xF40x070x00false0x00","CheckPolyInitRefXorOut0xF40x070x00false0x00","CheckPolyInitRefXorOut0xDA0x9B0xFFfalse0x00","CheckPolyInitRefXorOut0xDA0x9B0xFFfalse0x00","CheckPolyInitRefXorOut0x150x39 (rev: 0x9C)0x00true0x00","CheckPolyInitRefXorOut0xDA0x39 (rev: 0x9C)0x00true0x00","CheckPolyInitRefXorOut0xBC0xD50x00false0x00","CheckPolyInitRefXorOut0xBC0xD50x00false0x00","CheckPolyInitRefXorOut0x970x1D (rev: 0xB8)0xFFtrue0x00","CheckPolyInitRefXorOut0x970x1D (rev: 0xB8)0xFFtrue0x00","CheckPolyInitRefXorOut0x7E0x1D0xFDfalse0x00","CheckPolyInitRefXorOut0x7E0x1D0xFDfalse0x00","CheckPolyInitRefXorOut0xA10x070x00false0x55","CheckPolyInitRefXorOut0xA10x070x00false0x55","CheckPolyInitRefXorOut0xA10x31 (rev: 0x8C)0x00true0x00","CheckPolyInitRefXorOut0xA10x31 (rev: 0x8C)0x00true0x00","CheckPolyInitRefXorOut0xD00x07 (rev: 0xE0)0xFFtrue0x00","CheckPolyInitRefXorOut0xD00x07 (rev: 0xE0)0xFFtrue0x00","CheckPolyInitRefXorOut0x250x9B (rev: 0xD9)0x00true0x00","CheckPolyInitRefXorOut0x250x9B (rev: 0xD9)0x00true0x00","CheckPolyInitRefXorOut0xBF050x1021 (rev: 0x8408)0xC6C6true…","CheckPolyInitRefXorOut0xBF050x1021 (rev: 0x8408)0xC6C6true…","Create a CRCu16 instance by providing the length of bits, …","Create a CRCu32 instance by providing the length of bits, …","Create a CRCu64 instance by providing the length of bits, …","Create a CRCu8 instance by providing the length of bits, …","Create a CRC instance by providing the length of bits, …","Create a CRC instance by providing the length of bits, …","Create a CRC instance by providing the length of bits, …","Create a CRC instance by providing the length of bits, …","Create a CRC instance by providing the length of bits, …","Digest some data.","Digest some data.","Digest some data.","Digest some data.","Digest some data.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get the current CRC value (it always returns a u16 value). …","Get the current CRC value (it always returns a u32 value). …","Get the current CRC value (it always returns a u64 value). …","Get the current CRC value (it always returns a u8 value). …","Get the current CRC value (it always returns a u64 value). …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Reset the sum.","Reset the sum.","Reset the sum.","Reset the sum.","Reset the sum.","","","","","","","","","","","","","","",""],"i":[0,0,2,0,2,0,2,0,2,1,3,5,4,2,1,3,5,4,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,2,5,2,4,2,4,2,4,2,4,2,4,2,5,2,5,2,5,2,5,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,1,2,1,3,5,4,2,2,2,2,2,1,3,5,4,2,1,3,5,4,2,1,3,5,4,2,1,3,5,4,2,1,3,5,4,2,1,3,5,4,2,1,3,5,4,2,1,3,5,4,2],"f":[0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],1],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],3],[[],2],[[],4],[[],2],[[],5],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],5],[[],2],[[],5],[[],2],[[],5],[[],2],[[],5],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],4],[[],2],[[],1],[[],2],[[6,7,6,6,8],1],[[9,7,9,9,8],3],[[10,7,10,10,8],5],[[7,7,7,7,8],4],[[10,7,10,10,8],2],[[6,7,6,6,8],2],[[9,7,9,9,8],2],[[10,7,10,10,8],2],[[7,7,7,7,8],2],[[1,-1],11,[12,[14,[[13,[7]]]]]],[[3,-1],11,[12,[14,[[13,[7]]]]]],[[5,-1],11,[12,[14,[[13,[7]]]]]],[[4,-1],11,[12,[14,[[13,[7]]]]]],[[2,-1],11,[12,[14,[[13,[7]]]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[1,6],[3,9],[5,10],[4,7],[2,10],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[1,11],[3,11],[5,11],[4,11],[2,11],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,16,[]],[-1,16,[]],[-1,16,[]],[-1,16,[]],[-1,16,[]]],"c":[],"p":[[3,"CRCu16",0],[4,"CRC",0],[3,"CRCu32",0],[3,"CRCu8",0],[3,"CRCu64",0],[15,"u16"],[15,"u8"],[15,"bool"],[15,"u32"],[15,"u64"],[15,"tuple"],[8,"Sized",234],[15,"slice"],[8,"AsRef",235],[4,"Result",236],[3,"TypeId",237]],"b":[]},\ "ioctl_rs":{"doc":"","t":"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFFFFFFF","n":["FIOASYNC","FIOCLEX","FIOGETOWN","FIONBIO","FIONCLEX","FIONREAD","FIOSETOWN","SIOCADDMULTI","SIOCADDRT","SIOCDARP","SIOCDELMULTI","SIOCDELRT","SIOCDRARP","SIOCGARP","SIOCGIFADDR","SIOCGIFBRDADDR","SIOCGIFCONF","SIOCGIFDSTADDR","SIOCGIFENCAP","SIOCGIFFLAGS","SIOCGIFHWADDR","SIOCGIFMAP","SIOCGIFMEM","SIOCGIFMETRIC","SIOCGIFMTU","SIOCGIFNAME","SIOCGIFNETMASK","SIOCGIFSLAVE","SIOCGPGRP","SIOCGRARP","SIOCGSTAMP","SIOCSARP","SIOCSIFADDR","SIOCSIFBRDADDR","SIOCSIFDSTADDR","SIOCSIFENCAP","SIOCSIFFLAGS","SIOCSIFHWADDR","SIOCSIFLINK","SIOCSIFMAP","SIOCSIFMEM","SIOCSIFMETRIC","SIOCSIFMTU","SIOCSIFNETMASK","SIOCSIFSLAVE","SIOCSPGRP","SIOCSRARP","TCFLSH","TCGETA","TCGETS","TCSBRK","TCSBRKP","TCSETA","TCSETAF","TCSETAW","TCSETS","TCSETSF","TCSETSW","TCXONC","TIOCCONS","TIOCEXCL","TIOCGETD","TIOCGLCKTRMIOS","TIOCGPGRP","TIOCGSERIAL","TIOCGSOFTCAR","TIOCGWINSZ","TIOCINQ","TIOCLINUX","TIOCMBIC","TIOCMBIS","TIOCMGET","TIOCMSET","TIOCM_CAR","TIOCM_CD","TIOCM_CTS","TIOCM_DSR","TIOCM_DTR","TIOCM_LE","TIOCM_RI","TIOCM_RNG","TIOCM_RTS","TIOCM_SR","TIOCM_ST","TIOCNOTTY","TIOCNXCL","TIOCOUTQ","TIOCPKT","TIOCSCTTY","TIOCSERCONFIG","TIOCSERGETLSR","TIOCSERGETMULTI","TIOCSERGSTRUCT","TIOCSERGWILD","TIOCSERSETMULTI","TIOCSERSWILD","TIOCSETD","TIOCSLCKTRMIOS","TIOCSPGRP","TIOCSSERIAL","TIOCSSOFTCAR","TIOCSTI","TIOCSWINSZ","ioctl","tiocexcl","tiocmbic","tiocmbis","tiocmget","tiocmset","tiocnxcl"],"q":[[0,"ioctl_rs"],[110,"std::os::fd::raw"],[111,"std::io::error"],[112,"libc::unix"]],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Put the terminal in exclusive mode.","Clear the indicated modem bits.","Set the indicated modem bits.","Get the status of modem bits.","Set the status of modem bits.","Disable exclusive mode."],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,[[3,[2]]]],[[1,4],[[3,[2]]]],[[1,4],[[3,[2]]]],[1,[[3,[4]]]],[[1,4],[[3,[2]]]],[1,[[3,[2]]]]],"c":[],"p":[[6,"RawFd",110],[15,"tuple"],[6,"Result",111],[6,"c_int",112]],"b":[]},\ "libc":{"doc":"libc - Raw FFI bindings to platforms’ system libraries","t":"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFRRRRRRRRRRFRRRRRRRRFRFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFFFFFRRRFFFFFFFRFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRERRRRRRRRRRRDRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRGDDGGDGDDGGDDGGDGDGDGGRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFFFRFRRRRRRRERRRRRRRRRRRRRRRRRRRRRRRRRRRRRFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFRRFRRRRRRRRFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFRRRRRRRFRRRRRRRRRRRFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRGRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFRRRRRFRRRRRRRRRRFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFFFFRRRRRRRFFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFRFRFFFFRRRRFFRFRFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRTTDTDDDTDDFDGMMMMMGGGGGMMGDGGGGMMMMMMMMMMMFMDDDMMFFMMMMMFFFFMFMMMMMMDFFMDMMMMMMMMMFFMFMMMFMFMFFDFMMMMMMMMMMMMMMMMMMMMMDDDDFFFFFFMMMFMFGGGLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFMMMMMMMGGGMMGMMMMMMGGMMMMGGGGGGGEMFMMGMDDMMMMMDGDGMFFFFFFMMMMMMMMMFMFFFMMMFFFFFFFFGMGFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDFFFFMMMMDMMMMMFMMMMFDMMFFMFFMMMMMMMMMMMMMMMMFMMMMMMMMMMGFMDDFFFDFFFFMMMMFFFMMMMMMMMFMMMMMMMMMMMDFMFFFFMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMFMMMMMMMMMMMMFFFFFFMMMMFFFDFFFMMMMMFMFFGFMMFFFFFFFFFMMFMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMFMMFFDFFDFFFFFFFMMMDFFFFFFDDDMMDDDDDDFFFFFFFFFDFMMMMMMMMMMMMMMMFDFDFLMMFFMMFFFEEMFFFMMMFFFFMFFMMFFFMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMGFFFFFFFGDMMFFFFFFFFFFFFFFFMMFFMFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMMGMMMMMMMMFFDDFFFFFFFMMMMFGMDMMMMMMMMMMMFMMMMMMDFDMFFFGMMMGGFMFMDFFMMMMMMMDMMDMMMMMMMDMMMMMMMMMMMMMMMMMMMMMDDDDDGDGMMMMFGGFDFFFDDDDDMMGGGGMMMMMMMMMGLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLGFFFMMDMDDDDMMMMMDMMMMFFFFFFFFFFFFFMMMMDDMMMMMMDMMMFMMMMMMMGMFFMMMMMMMMMMMMFFFDMMMMMMMMMMMMFDFFFFFFMGFFFFGFFFFFFFFFMFMMFFFDFDFFFFFFMMDMMMDMMMFFFFFFFFFMFMFFFFFFFFFFFFFFFFFFDMMMMMMDMMGMMMMMFFDFMMFMMFFFFFFFGMMMMFFMMMMMMMMMMMMMMMMMMFFDDGMMMMMGFMFMMDFFFFMMMMMMMMMMMMMGFMFGFMMGFFDDMDMMDGMMMMMDDMMMMMMMMMMMMMMMFFFDMMMMMMGGMMMMFFDFFFFFFFDMMMMMMMMMMMMMMMMMMMMMMMMMMDMMMMDFFFMFFMMMGMMMGMFFFDFMMFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFDFFMMMFFFFFFFMFMGFFFFMMMMDFFFFFFFFFFFFFFFFFFDFFDFFFFFDFFFFFDFFFFFFFFDFFFFFFFFFFFFGFFFFFDFFFFFFFFFFFFDFGFFFDFFFFFFFFFFDFFFFFFFFFFFFFGGFDDDGFFFFFFFFFMMMMMMMFFFFFFFFFMMMMMMMMFFMMMMMMMMMMMMMMMMFFFFFFFFFFFFFMMMFFFFFFDFFDGMMFFFFFFMMMMFMMMMMMMMMFFMMMMMGMMMMGDDMMFMMMMMMMMMMMMMMMMMMMDMMMMMMMMMMMMMMMMDMMMMMMMMMMMMMMMMMMGMMMMMMMMMMMMFMFFFFFFFDMFFFFFGDDDDDDDMMDMMMDFFFFMFMFFMMMFMMFDFFFFMDFFDDMMMMMFMMMMFFFFFFDMMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMMMMMMMMMMMMMMMMMMMMMMMMMMMMFMMFFGFFFDFLMMLMLLLLLDFFFFFMMMMDFGDFFMFDMMFFDFFDFFMMMMMMMMMMMMMMMMMMMMMMMGFMMMMMMMMMMMMMMFDDDDDDDDDDDDDDDFFGMMMMMMMMMGFFDFFMMMMMMMMFMMMMMMMMMMMMMMMMMMMMGMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMDMMMMDFDFDFDFMDFDFDFDMFFFFFFFFFFFFFFFFFFFFFFMFFFFFFFFFFFFFFFMMMMMMMMMMMMMMMMMMMMMMMMGMMMMMMFFFMMMMMMMFFFFFFFFDFFMFMMFGFFFFFFFFFFDDMMFMMMGFFFFFFGFFFFDDDEMDDDDDMMMMMMMMMMMFFFDMMMMMFMMMFMMFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMDDMMGDDDDDGGGGGGFFFFFFFFFFMMMMGFDDDFMMMMMMMMMMMMDFFFFDFDMMMMMMMMMFFFFFFFMGFFMMDFFFMMMMDDDDDDDDDDM","n":["ABDAY_1","ABDAY_2","ABDAY_3","ABDAY_4","ABDAY_5","ABDAY_6","ABDAY_7","ABMON_1","ABMON_10","ABMON_11","ABMON_12","ABMON_2","ABMON_3","ABMON_4","ABMON_5","ABMON_6","ABMON_7","ABMON_8","ABMON_9","ABS_CNT","ABS_MAX","ACCOUNTING","ADDR_COMPAT_LAYOUT","ADDR_LIMIT_32BIT","ADDR_LIMIT_3GB","ADDR_NO_RANDOMIZE","ADFS_SUPER_MAGIC","ADJ_ESTERROR","ADJ_FREQUENCY","ADJ_MAXERROR","ADJ_MICRO","ADJ_NANO","ADJ_OFFSET","ADJ_OFFSET_SINGLESHOT","ADJ_OFFSET_SS_READ","ADJ_SETOFFSET","ADJ_STATUS","ADJ_TAI","ADJ_TICK","ADJ_TIMECONST","AFFS_SUPER_MAGIC","AFS_SUPER_MAGIC","AF_ALG","AF_APPLETALK","AF_ASH","AF_ATMPVC","AF_ATMSVC","AF_AX25","AF_BLUETOOTH","AF_BRIDGE","AF_CAIF","AF_CAN","AF_DECnet","AF_ECONET","AF_IB","AF_IEEE802154","AF_INET","AF_INET6","AF_IPX","AF_IRDA","AF_ISDN","AF_IUCV","AF_KEY","AF_LLC","AF_LOCAL","AF_MPLS","AF_NETBEUI","AF_NETLINK","AF_NETROM","AF_NFC","AF_PACKET","AF_PHONET","AF_PPPOX","AF_RDS","AF_ROSE","AF_ROUTE","AF_RXRPC","AF_SECURITY","AF_SNA","AF_TIPC","AF_UNIX","AF_UNSPEC","AF_VSOCK","AF_WANPIPE","AF_X25","AF_XDP","AIO_ALLDONE","AIO_CANCELED","AIO_NOTCANCELED","AI_ADDRCONFIG","AI_ALL","AI_CANONNAME","AI_NUMERICHOST","AI_NUMERICSERV","AI_PASSIVE","AI_V4MAPPED","ALG_OP_DECRYPT","ALG_OP_ENCRYPT","ALG_SET_AEAD_ASSOCLEN","ALG_SET_AEAD_AUTHSIZE","ALG_SET_DRBG_ENTROPY","ALG_SET_IV","ALG_SET_KEY","ALG_SET_KEY_BY_KEY_SERIAL","ALG_SET_OP","ALT_DIGITS","AM_STR","ARPD_FLUSH","ARPD_LOOKUP","ARPD_UPDATE","ARPHRD_ADAPT","ARPHRD_APPLETLK","ARPHRD_ARCNET","ARPHRD_ASH","ARPHRD_ATM","ARPHRD_AX25","ARPHRD_BIF","ARPHRD_CAN","ARPHRD_CHAOS","ARPHRD_CISCO","ARPHRD_CSLIP","ARPHRD_CSLIP6","ARPHRD_DDCMP","ARPHRD_DLCI","ARPHRD_ECONET","ARPHRD_EETHER","ARPHRD_ETHER","ARPHRD_EUI64","ARPHRD_FCAL","ARPHRD_FCFABRIC","ARPHRD_FCPL","ARPHRD_FCPP","ARPHRD_FDDI","ARPHRD_FRAD","ARPHRD_HDLC","ARPHRD_HIPPI","ARPHRD_HWX25","ARPHRD_IEEE1394","ARPHRD_IEEE802","ARPHRD_IEEE80211","ARPHRD_IEEE80211_PRISM","ARPHRD_IEEE80211_RADIOTAP","ARPHRD_IEEE802154","ARPHRD_IEEE802_TR","ARPHRD_INFINIBAND","ARPHRD_IPDDP","ARPHRD_IPGRE","ARPHRD_IRDA","ARPHRD_LAPB","ARPHRD_LOCALTLK","ARPHRD_LOOPBACK","ARPHRD_METRICOM","ARPHRD_NETROM","ARPHRD_NONE","ARPHRD_PIMREG","ARPHRD_PPP","ARPHRD_PRONET","ARPHRD_RAWHDLC","ARPHRD_ROSE","ARPHRD_RSRVD","ARPHRD_SIT","ARPHRD_SKIP","ARPHRD_SLIP","ARPHRD_SLIP6","ARPHRD_TUNNEL","ARPHRD_TUNNEL6","ARPHRD_VOID","ARPHRD_X25","ARPOP_InREPLY","ARPOP_InREQUEST","ARPOP_NAK","ARPOP_REPLY","ARPOP_REQUEST","ARPOP_RREPLY","ARPOP_RREQUEST","ATF_COM","ATF_DONTPUB","ATF_MAGIC","ATF_NETMASK","ATF_PERM","ATF_PUBL","ATF_USETRAILERS","AT_BASE","AT_BASE_PLATFORM","AT_CLKTCK","AT_EACCESS","AT_EGID","AT_EMPTY_PATH","AT_ENTRY","AT_EUID","AT_EXECFD","AT_EXECFN","AT_FDCWD","AT_FLAGS","AT_GID","AT_HWCAP","AT_HWCAP2","AT_IGNORE","AT_NOTELF","AT_NO_AUTOMOUNT","AT_NULL","AT_PAGESZ","AT_PHDR","AT_PHENT","AT_PHNUM","AT_PLATFORM","AT_RANDOM","AT_RECURSIVE","AT_REMOVEDIR","AT_SECURE","AT_STATX_DONT_SYNC","AT_STATX_FORCE_SYNC","AT_STATX_SYNC_AS_STAT","AT_STATX_SYNC_TYPE","AT_SYMLINK_FOLLOW","AT_SYMLINK_NOFOLLOW","AT_SYSINFO_EHDR","AT_UID","AUTOFS_SUPER_MAGIC","B0","B1000000","B110","B115200","B1152000","B1200","B134","B150","B1500000","B1800","B19200","B200","B2000000","B230400","B2400","B2500000","B300","B3000000","B3500000","B38400","B4000000","B460800","B4800","B50","B500000","B57600","B576000","B600","B75","B921600","B9600","BINDERFS_SUPER_MAGIC","BLKIOMIN","BLKIOOPT","BLKPBSZGET","BLKSSZGET","BOOT_TIME","BOTHER","BPF_ABS","BPF_ADD","BPF_ALU","BPF_AND","BPF_B","BPF_DIV","BPF_FS_MAGIC","BPF_H","BPF_IMM","BPF_IND","BPF_JA","BPF_JEQ","BPF_JGE","BPF_JGT","BPF_JMP","BPF_JSET","BPF_JUMP","BPF_K","BPF_LD","BPF_LDX","BPF_LEN","BPF_LL_OFF","BPF_LSH","BPF_MAXINSNS","BPF_MEM","BPF_MEMWORDS","BPF_MISC","BPF_MISCOP","BPF_MOD","BPF_MSH","BPF_MUL","BPF_NEG","BPF_NET_OFF","BPF_OR","BPF_RET","BPF_RSH","BPF_RVAL","BPF_ST","BPF_STMT","BPF_STX","BPF_SUB","BPF_W","BPF_X","BPF_XOR","BRKINT","BS0","BS1","BSDLY","BTRFS_SUPER_MAGIC","BUFSIZ","BUS_ADRALN","BUS_ADRERR","BUS_MCEERR_AO","BUS_MCEERR_AR","BUS_OBJERR","CANFD_BRS","CANFD_ESI","CANFD_MAX_DLC","CANFD_MAX_DLEN","CANFD_MTU","CANXL_HDR_SIZE","CANXL_MAX_DLC","CANXL_MAX_DLC_MASK","CANXL_MAX_DLEN","CANXL_MAX_MTU","CANXL_MIN_DLC","CANXL_MIN_DLEN","CANXL_MIN_MTU","CANXL_MTU","CANXL_PRIO_BITS","CANXL_PRIO_MASK","CANXL_SEC","CANXL_XLF","CAN_BCM","CAN_EFF_FLAG","CAN_EFF_ID_BITS","CAN_EFF_MASK","CAN_ERR_FLAG","CAN_ERR_MASK","CAN_INV_FILTER","CAN_ISOTP","CAN_J1939","CAN_MAX_DLC","CAN_MAX_DLEN","CAN_MCNET","CAN_MTU","CAN_NPROTO","CAN_RAW","CAN_RAW_ERR_FILTER","CAN_RAW_FD_FRAMES","CAN_RAW_FILTER","CAN_RAW_FILTER_MAX","CAN_RAW_JOIN_FILTERS","CAN_RAW_LOOPBACK","CAN_RAW_RECV_OWN_MSGS","CAN_RAW_XL_FRAMES","CAN_RTR_FLAG","CAN_SFF_ID_BITS","CAN_SFF_MASK","CAN_TP16","CAN_TP20","CBAUD","CBAUDEX","CGROUP2_SUPER_MAGIC","CGROUP_SUPER_MAGIC","CIBAUD","CLD_CONTINUED","CLD_DUMPED","CLD_EXITED","CLD_KILLED","CLD_STOPPED","CLD_TRAPPED","CLOCAL","CLOCK_BOOTTIME","CLOCK_BOOTTIME_ALARM","CLOCK_MONOTONIC","CLOCK_MONOTONIC_COARSE","CLOCK_MONOTONIC_RAW","CLOCK_PROCESS_CPUTIME_ID","CLOCK_REALTIME","CLOCK_REALTIME_ALARM","CLOCK_REALTIME_COARSE","CLOCK_TAI","CLOCK_THREAD_CPUTIME_ID","CLONE_CHILD_CLEARTID","CLONE_CHILD_SETTID","CLONE_CLEAR_SIGHAND","CLONE_DETACHED","CLONE_FILES","CLONE_FS","CLONE_INTO_CGROUP","CLONE_IO","CLONE_NEWCGROUP","CLONE_NEWIPC","CLONE_NEWNET","CLONE_NEWNS","CLONE_NEWPID","CLONE_NEWTIME","CLONE_NEWUSER","CLONE_NEWUTS","CLONE_PARENT","CLONE_PARENT_SETTID","CLONE_PIDFD","CLONE_PTRACE","CLONE_SETTLS","CLONE_SIGHAND","CLONE_SYSVSEM","CLONE_THREAD","CLONE_UNTRACED","CLONE_VFORK","CLONE_VM","CLOSE_RANGE_CLOEXEC","CLOSE_RANGE_UNSHARE","CMSG_DATA","CMSG_FIRSTHDR","CMSG_LEN","CMSG_NXTHDR","CMSG_SPACE","CMSPAR","CODA_SUPER_MAGIC","CODESET","CPU_ALLOC_SIZE","CPU_CLR","CPU_COUNT","CPU_COUNT_S","CPU_EQUAL","CPU_ISSET","CPU_SET","CPU_SETSIZE","CPU_ZERO","CR0","CR1","CR2","CR3","CRAMFS_MAGIC","CRDLY","CREAD","CRNCYSTR","CRTSCTS","CS","CS5","CS6","CS7","CS8","CSIZE","CSTOPB","CTL_ABI","CTL_BUS","CTL_BUS_ISA","CTL_CPU","CTL_DEBUG","CTL_DEV","CTL_FS","CTL_KERN","CTL_NET","CTL_VM","CTRL_ATTR_FAMILY_ID","CTRL_ATTR_FAMILY_NAME","CTRL_ATTR_HDRSIZE","CTRL_ATTR_MAXATTR","CTRL_ATTR_MCAST_GROUPS","CTRL_ATTR_MCAST_GRP_ID","CTRL_ATTR_MCAST_GRP_NAME","CTRL_ATTR_MCAST_GRP_UNSPEC","CTRL_ATTR_OPS","CTRL_ATTR_OP_FLAGS","CTRL_ATTR_OP_ID","CTRL_ATTR_OP_UNSPEC","CTRL_ATTR_UNSPEC","CTRL_ATTR_VERSION","CTRL_CMD_DELFAMILY","CTRL_CMD_DELMCAST_GRP","CTRL_CMD_DELOPS","CTRL_CMD_GETFAMILY","CTRL_CMD_GETMCAST_GRP","CTRL_CMD_GETOPS","CTRL_CMD_NEWFAMILY","CTRL_CMD_NEWMCAST_GRP","CTRL_CMD_NEWOPS","CTRL_CMD_UNSPEC","DAY_1","DAY_2","DAY_3","DAY_4","DAY_5","DAY_6","DAY_7","DCCP_SERVICE_LIST_MAX_LEN","DCCP_SOCKOPT_AVAILABLE_CCIDS","DCCP_SOCKOPT_CCID","DCCP_SOCKOPT_CCID_RX_INFO","DCCP_SOCKOPT_CCID_TX_INFO","DCCP_SOCKOPT_CHANGE_L","DCCP_SOCKOPT_CHANGE_R","DCCP_SOCKOPT_GET_CUR_MPS","DCCP_SOCKOPT_PACKET_SIZE","DCCP_SOCKOPT_QPOLICY_ID","DCCP_SOCKOPT_QPOLICY_TXQLEN","DCCP_SOCKOPT_RECV_CSCOV","DCCP_SOCKOPT_RX_CCID","DCCP_SOCKOPT_SEND_CSCOV","DCCP_SOCKOPT_SERVER_TIMEWAIT","DCCP_SOCKOPT_SERVICE","DCCP_SOCKOPT_TX_CCID","DEAD_PROCESS","DEBUGFS_MAGIC","DEVPTS_SUPER_MAGIC","DIR","DS","DT_BLK","DT_CHR","DT_DIR","DT_FIFO","DT_LNK","DT_REG","DT_SOCK","DT_UNKNOWN","D_FMT","D_T_FMT","Dl_info","E2BIG","EACCES","EADDRINUSE","EADDRNOTAVAIL","EADV","EAFNOSUPPORT","EAGAIN","EAI_AGAIN","EAI_BADFLAGS","EAI_FAIL","EAI_FAMILY","EAI_MEMORY","EAI_NODATA","EAI_NONAME","EAI_OVERFLOW","EAI_SERVICE","EAI_SOCKTYPE","EAI_SYSTEM","EALREADY","EBADE","EBADF","EBADFD","EBADMSG","EBADR","EBADRQC","EBADSLT","EBFONT","EBUSY","ECANCELED","ECHILD","ECHO","ECHOCTL","ECHOE","ECHOK","ECHOKE","ECHONL","ECHOPRT","ECHRNG","ECOMM","ECONNABORTED","ECONNREFUSED","ECONNRESET","ECRYPTFS_SUPER_MAGIC","EDEADLK","EDEADLOCK","EDESTADDRREQ","EDOM","EDOTDOT","EDQUOT","EEXIST","EFAULT","EFBIG","EFD_CLOEXEC","EFD_NONBLOCK","EFD_SEMAPHORE","EFLAGS","EFS_SUPER_MAGIC","EHOSTDOWN","EHOSTUNREACH","EHWPOISON","EIDRM","EILSEQ","EINPROGRESS","EINTR","EINVAL","EIO","EISCONN","EISDIR","EISNAM","EI_ABIVERSION","EI_CLASS","EI_DATA","EI_MAG0","EI_MAG1","EI_MAG2","EI_MAG3","EI_NIDENT","EI_OSABI","EI_PAD","EI_VERSION","EKEYEXPIRED","EKEYREJECTED","EKEYREVOKED","EL2HLT","EL2NSYNC","EL3HLT","EL3RST","ELFCLASS32","ELFCLASS64","ELFCLASSNONE","ELFCLASSNUM","ELFDATA2LSB","ELFDATA2MSB","ELFDATANONE","ELFDATANUM","ELFMAG0","ELFMAG1","ELFMAG2","ELFMAG3","ELFOSABI_AIX","ELFOSABI_ARM","ELFOSABI_ARM_AEABI","ELFOSABI_FREEBSD","ELFOSABI_GNU","ELFOSABI_HPUX","ELFOSABI_IRIX","ELFOSABI_LINUX","ELFOSABI_MODESTO","ELFOSABI_NETBSD","ELFOSABI_NONE","ELFOSABI_OPENBSD","ELFOSABI_SOLARIS","ELFOSABI_STANDALONE","ELFOSABI_SYSV","ELFOSABI_TRU64","ELIBACC","ELIBBAD","ELIBEXEC","ELIBMAX","ELIBSCN","ELNRNG","ELOOP","EMEDIUMTYPE","EMFILE","EMLINK","EMPTY","EMSGSIZE","EMULTIHOP","EM_386","EM_68HC05","EM_68HC08","EM_68HC11","EM_68HC12","EM_68HC16","EM_68K","EM_860","EM_88K","EM_960","EM_AARCH64","EM_ALPHA","EM_ARC","EM_ARC_A5","EM_ARM","EM_AVR","EM_COLDFIRE","EM_CRIS","EM_D10V","EM_D30V","EM_FAKE_ALPHA","EM_FIREPATH","EM_FR20","EM_FR30","EM_FX66","EM_H8S","EM_H8_300","EM_H8_300H","EM_H8_500","EM_HUANY","EM_IA_64","EM_JAVELIN","EM_M32","EM_M32R","EM_ME16","EM_MIPS","EM_MIPS_RS3_LE","EM_MIPS_X","EM_MMA","EM_MMIX","EM_MN10200","EM_MN10300","EM_NCPU","EM_NDR1","EM_NONE","EM_OPENRISC","EM_PARISC","EM_PCP","EM_PDSP","EM_PJ","EM_PPC","EM_PPC64","EM_PRISM","EM_RCE","EM_RH32","EM_S370","EM_S390","EM_SH","EM_SPARC","EM_SPARC32PLUS","EM_SPARCV9","EM_ST100","EM_ST19","EM_ST7","EM_ST9PLUS","EM_STARCORE","EM_SVX","EM_TILEGX","EM_TILEPRO","EM_TINYJ","EM_TRICORE","EM_V800","EM_V850","EM_VAX","EM_VPP500","EM_X86_64","EM_XTENSA","EM_ZSP","ENAMETOOLONG","ENAVAIL","ENETDOWN","ENETRESET","ENETUNREACH","ENFILE","ENOANO","ENOATTR","ENOBUFS","ENOCSI","ENODATA","ENODEV","ENOENT","ENOEXEC","ENOKEY","ENOLCK","ENOLINK","ENOMEDIUM","ENOMEM","ENOMSG","ENONET","ENOPKG","ENOPROTOOPT","ENOSPC","ENOSR","ENOSTR","ENOSYS","ENOTBLK","ENOTCONN","ENOTDIR","ENOTEMPTY","ENOTNAM","ENOTRECOVERABLE","ENOTSOCK","ENOTSUP","ENOTTY","ENOTUNIQ","ENXIO","EOF","EOPNOTSUPP","EOVERFLOW","EOWNERDEAD","EPERM","EPFNOSUPPORT","EPIPE","EPOLLERR","EPOLLET","EPOLLEXCLUSIVE","EPOLLHUP","EPOLLIN","EPOLLMSG","EPOLLONESHOT","EPOLLOUT","EPOLLPRI","EPOLLRDBAND","EPOLLRDHUP","EPOLLRDNORM","EPOLLWAKEUP","EPOLLWRBAND","EPOLLWRNORM","EPOLL_CLOEXEC","EPOLL_CTL_ADD","EPOLL_CTL_DEL","EPOLL_CTL_MOD","EPROTO","EPROTONOSUPPORT","EPROTOTYPE","ERA","ERANGE","ERA_D_FMT","ERA_D_T_FMT","ERA_T_FMT","EREMCHG","EREMOTE","EREMOTEIO","ERESTART","ERFKILL","EROFS","ES","ESHUTDOWN","ESOCKTNOSUPPORT","ESPIPE","ESRCH","ESRMNT","ESTALE","ESTRPIPE","ETH_ALEN","ETH_DATA_LEN","ETH_FCS_LEN","ETH_FRAME_LEN","ETH_HLEN","ETH_P_1588","ETH_P_8021AD","ETH_P_8021AH","ETH_P_8021Q","ETH_P_80221","ETH_P_802_2","ETH_P_802_3","ETH_P_802_3_MIN","ETH_P_802_EX1","ETH_P_AARP","ETH_P_AF_IUCV","ETH_P_ALL","ETH_P_AOE","ETH_P_ARCNET","ETH_P_ARP","ETH_P_ATALK","ETH_P_ATMFATE","ETH_P_ATMMPOA","ETH_P_AX25","ETH_P_BATMAN","ETH_P_BPQ","ETH_P_CAIF","ETH_P_CANFD","ETH_P_CONTROL","ETH_P_CUST","ETH_P_DDCMP","ETH_P_DEC","ETH_P_DIAG","ETH_P_DNA_DL","ETH_P_DNA_RC","ETH_P_DNA_RT","ETH_P_DSA","ETH_P_ECONET","ETH_P_EDSA","ETH_P_FCOE","ETH_P_FIP","ETH_P_HDLC","ETH_P_IEEE802154","ETH_P_IEEEPUP","ETH_P_IEEEPUPAT","ETH_P_IP","ETH_P_IPV6","ETH_P_IPX","ETH_P_IRDA","ETH_P_LAT","ETH_P_LINK_CTL","ETH_P_LOCALTALK","ETH_P_LOOP","ETH_P_LOOPBACK","ETH_P_MACSEC","ETH_P_MOBITEX","ETH_P_MPLS_MC","ETH_P_MPLS_UC","ETH_P_MVRP","ETH_P_PAE","ETH_P_PAUSE","ETH_P_PHONET","ETH_P_PPPTALK","ETH_P_PPP_DISC","ETH_P_PPP_MP","ETH_P_PPP_SES","ETH_P_PRP","ETH_P_PUP","ETH_P_PUPAT","ETH_P_QINQ1","ETH_P_QINQ2","ETH_P_QINQ3","ETH_P_RARP","ETH_P_SCA","ETH_P_SLOW","ETH_P_SNAP","ETH_P_TDLS","ETH_P_TEB","ETH_P_TIPC","ETH_P_TRAILER","ETH_P_TR_802_2","ETH_P_WAN_PPP","ETH_P_WCCP","ETH_P_X25","ETH_ZLEN","ETIME","ETIMEDOUT","ETOOMANYREFS","ETXTBSY","ET_CORE","ET_DYN","ET_EXEC","ET_HIOS","ET_HIPROC","ET_LOOS","ET_LOPROC","ET_NONE","ET_NUM","ET_REL","EUCLEAN","EUNATCH","EUSERS","EV_CNT","EV_CURRENT","EV_MAX","EV_NONE","EV_NUM","EWOULDBLOCK","EXDEV","EXFULL","EXIT_FAILURE","EXIT_SUCCESS","EXT2_SUPER_MAGIC","EXT3_SUPER_MAGIC","EXT4_SUPER_MAGIC","EXTA","EXTB","EXTPROC","Elf32_Addr","Elf32_Chdr","Elf32_Ehdr","Elf32_Half","Elf32_Off","Elf32_Phdr","Elf32_Section","Elf32_Shdr","Elf32_Sym","Elf32_Word","Elf64_Addr","Elf64_Chdr","Elf64_Ehdr","Elf64_Half","Elf64_Off","Elf64_Phdr","Elf64_Section","Elf64_Shdr","Elf64_Sxword","Elf64_Sym","Elf64_Word","Elf64_Xword","F2FS_SUPER_MAGIC","FALLOC_FL_COLLAPSE_RANGE","FALLOC_FL_INSERT_RANGE","FALLOC_FL_KEEP_SIZE","FALLOC_FL_PUNCH_HOLE","FALLOC_FL_UNSHARE_RANGE","FALLOC_FL_ZERO_RANGE","FANOTIFY_METADATA_VERSION","FAN_ACCESS","FAN_ACCESS_PERM","FAN_ALLOW","FAN_ATTRIB","FAN_AUDIT","FAN_CLASS_CONTENT","FAN_CLASS_NOTIF","FAN_CLASS_PRE_CONTENT","FAN_CLOEXEC","FAN_CLOSE","FAN_CLOSE_NOWRITE","FAN_CLOSE_WRITE","FAN_CREATE","FAN_DELETE","FAN_DELETE_SELF","FAN_DENY","FAN_ENABLE_AUDIT","FAN_EPIDFD","FAN_EVENT_INFO_TYPE_DFID","FAN_EVENT_INFO_TYPE_DFID_NAME","FAN_EVENT_INFO_TYPE_ERROR","FAN_EVENT_INFO_TYPE_FID","FAN_EVENT_INFO_TYPE_NEW_DFID_NAME","FAN_EVENT_INFO_TYPE_OLD_DFID_NAME","FAN_EVENT_INFO_TYPE_PIDFD","FAN_EVENT_ON_CHILD","FAN_FS_ERROR","FAN_INFO","FAN_MARK_ADD","FAN_MARK_DONT_FOLLOW","FAN_MARK_EVICTABLE","FAN_MARK_FILESYSTEM","FAN_MARK_FLUSH","FAN_MARK_IGNORE","FAN_MARK_IGNORED_MASK","FAN_MARK_IGNORED_SURV_MODIFY","FAN_MARK_IGNORE_SURV","FAN_MARK_INODE","FAN_MARK_MOUNT","FAN_MARK_ONLYDIR","FAN_MARK_REMOVE","FAN_MODIFY","FAN_MOVE","FAN_MOVED_FROM","FAN_MOVED_TO","FAN_MOVE_SELF","FAN_NOFD","FAN_NONBLOCK","FAN_NOPIDFD","FAN_ONDIR","FAN_OPEN","FAN_OPEN_EXEC","FAN_OPEN_EXEC_PERM","FAN_OPEN_PERM","FAN_Q_OVERFLOW","FAN_RENAME","FAN_REPORT_DFID_NAME","FAN_REPORT_DFID_NAME_TARGET","FAN_REPORT_DIR_FID","FAN_REPORT_FID","FAN_REPORT_NAME","FAN_REPORT_PIDFD","FAN_REPORT_TARGET_FID","FAN_REPORT_TID","FAN_RESPONSE_INFO_AUDIT_RULE","FAN_RESPONSE_INFO_NONE","FAN_UNLIMITED_MARKS","FAN_UNLIMITED_QUEUE","FDPIC_FUNCPTRS","FD_CLOEXEC","FD_CLR","FD_ISSET","FD_SET","FD_SETSIZE","FD_ZERO","FF0","FF1","FFDLY","FF_CNT","FF_MAX","FICLONE","FICLONERANGE","FILE","FILENAME_MAX","FIOASYNC","FIOCLEX","FIONBIO","FIONCLEX","FIONREAD","FIOQSIZE","FLUSHO","FOPEN_MAX","FS","FS_BASE","FS_IOC32_GETFLAGS","FS_IOC32_GETVERSION","FS_IOC32_SETFLAGS","FS_IOC32_SETVERSION","FS_IOC_GETFLAGS","FS_IOC_GETVERSION","FS_IOC_SETFLAGS","FS_IOC_SETVERSION","FUSE_SUPER_MAGIC","FUTEXFS_SUPER_MAGIC","FUTEX_BITSET_MATCH_ANY","FUTEX_CLOCK_REALTIME","FUTEX_CMD_MASK","FUTEX_CMP_REQUEUE","FUTEX_CMP_REQUEUE_PI","FUTEX_FD","FUTEX_LOCK_PI","FUTEX_LOCK_PI2","FUTEX_OP","FUTEX_OP_ADD","FUTEX_OP_ANDN","FUTEX_OP_CMP_EQ","FUTEX_OP_CMP_GE","FUTEX_OP_CMP_GT","FUTEX_OP_CMP_LE","FUTEX_OP_CMP_LT","FUTEX_OP_CMP_NE","FUTEX_OP_OPARG_SHIFT","FUTEX_OP_OR","FUTEX_OP_SET","FUTEX_OP_XOR","FUTEX_PRIVATE_FLAG","FUTEX_REQUEUE","FUTEX_TRYLOCK_PI","FUTEX_UNLOCK_PI","FUTEX_WAIT","FUTEX_WAIT_BITSET","FUTEX_WAIT_REQUEUE_PI","FUTEX_WAKE","FUTEX_WAKE_BITSET","FUTEX_WAKE_OP","F_ADD_SEALS","F_CANCELLK","F_DUPFD","F_DUPFD_CLOEXEC","F_GETFD","F_GETFL","F_GETLEASE","F_GETLK","F_GETOWN","F_GETPIPE_SZ","F_GET_SEALS","F_LOCK","F_NOTIFY","F_OFD_GETLK","F_OFD_SETLK","F_OFD_SETLKW","F_OK","F_RDLCK","F_SEAL_FUTURE_WRITE","F_SEAL_GROW","F_SEAL_SEAL","F_SEAL_SHRINK","F_SEAL_WRITE","F_SETFD","F_SETFL","F_SETLEASE","F_SETLK","F_SETLKW","F_SETOWN","F_SETPIPE_SZ","F_TEST","F_TLOCK","F_ULOCK","F_UNLCK","F_WRLCK","GENL_ADMIN_PERM","GENL_CMD_CAP_DO","GENL_CMD_CAP_DUMP","GENL_CMD_CAP_HASPOL","GENL_ID_CTRL","GENL_ID_PMCRAID","GENL_ID_VFS_DQUOT","GENL_MAX_ID","GENL_MIN_ID","GENL_NAMSIZ","GENL_UNS_ADMIN_PERM","GLOB_ABORTED","GLOB_ALTDIRFUNC","GLOB_APPEND","GLOB_BRACE","GLOB_DOOFFS","GLOB_ERR","GLOB_MARK","GLOB_NOCHECK","GLOB_NOESCAPE","GLOB_NOMAGIC","GLOB_NOMATCH","GLOB_NOSORT","GLOB_NOSPACE","GLOB_ONLYDIR","GLOB_PERIOD","GLOB_TILDE","GLOB_TILDE_CHECK","GRND_INSECURE","GRND_NONBLOCK","GRND_RANDOM","GRPQUOTA","GS","GS_BASE","HOSTFS_SUPER_MAGIC","HPFS_SUPER_MAGIC","HUGETLBFS_MAGIC","HUGETLB_FLAG_ENCODE_16GB","HUGETLB_FLAG_ENCODE_16MB","HUGETLB_FLAG_ENCODE_1GB","HUGETLB_FLAG_ENCODE_1MB","HUGETLB_FLAG_ENCODE_256MB","HUGETLB_FLAG_ENCODE_2GB","HUGETLB_FLAG_ENCODE_2MB","HUGETLB_FLAG_ENCODE_32MB","HUGETLB_FLAG_ENCODE_512KB","HUGETLB_FLAG_ENCODE_512MB","HUGETLB_FLAG_ENCODE_64KB","HUGETLB_FLAG_ENCODE_8MB","HUGETLB_FLAG_ENCODE_MASK","HUGETLB_FLAG_ENCODE_SHIFT","HUPCL","HWTSTAMP_FILTER_ALL","HWTSTAMP_FILTER_NONE","HWTSTAMP_FILTER_NTP_ALL","HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ","HWTSTAMP_FILTER_PTP_V1_L4_EVENT","HWTSTAMP_FILTER_PTP_V1_L4_SYNC","HWTSTAMP_FILTER_PTP_V2_DELAY_REQ","HWTSTAMP_FILTER_PTP_V2_EVENT","HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ","HWTSTAMP_FILTER_PTP_V2_L2_EVENT","HWTSTAMP_FILTER_PTP_V2_L2_SYNC","HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ","HWTSTAMP_FILTER_PTP_V2_L4_EVENT","HWTSTAMP_FILTER_PTP_V2_L4_SYNC","HWTSTAMP_FILTER_PTP_V2_SYNC","HWTSTAMP_FILTER_SOME","HWTSTAMP_TX_OFF","HWTSTAMP_TX_ON","HWTSTAMP_TX_ONESTEP_P2P","HWTSTAMP_TX_ONESTEP_SYNC","IBSHIFT","ICANON","ICRNL","IEXTEN","IFA_ADDRESS","IFA_ANYCAST","IFA_BROADCAST","IFA_CACHEINFO","IFA_FLAGS","IFA_F_DADFAILED","IFA_F_DEPRECATED","IFA_F_HOMEADDRESS","IFA_F_MANAGETEMPADDR","IFA_F_MCAUTOJOIN","IFA_F_NODAD","IFA_F_NOPREFIXROUTE","IFA_F_OPTIMISTIC","IFA_F_PERMANENT","IFA_F_SECONDARY","IFA_F_STABLE_PRIVACY","IFA_F_TEMPORARY","IFA_F_TENTATIVE","IFA_LABEL","IFA_LOCAL","IFA_MULTICAST","IFA_UNSPEC","IFF_ALLMULTI","IFF_ATTACH_QUEUE","IFF_AUTOMEDIA","IFF_BROADCAST","IFF_DEBUG","IFF_DETACH_QUEUE","IFF_DORMANT","IFF_DYNAMIC","IFF_ECHO","IFF_LOOPBACK","IFF_LOWER_UP","IFF_MASTER","IFF_MULTICAST","IFF_MULTI_QUEUE","IFF_NAPI","IFF_NAPI_FRAGS","IFF_NOARP","IFF_NOFILTER","IFF_NOTRAILERS","IFF_NO_CARRIER","IFF_NO_PI","IFF_ONE_QUEUE","IFF_PERSIST","IFF_POINTOPOINT","IFF_PORTSEL","IFF_PROMISC","IFF_RUNNING","IFF_SLAVE","IFF_TAP","IFF_TUN","IFF_TUN_EXCL","IFF_UP","IFF_VNET_HDR","IFLA_ADDRESS","IFLA_AF_SPEC","IFLA_ALLMULTI","IFLA_ALT_IFNAME","IFLA_BROADCAST","IFLA_CARRIER","IFLA_CARRIER_CHANGES","IFLA_CARRIER_DOWN_COUNT","IFLA_CARRIER_UP_COUNT","IFLA_COST","IFLA_EVENT","IFLA_EXT_MASK","IFLA_GROUP","IFLA_GRO_MAX_SIZE","IFLA_GSO_MAX_SEGS","IFLA_GSO_MAX_SIZE","IFLA_IFALIAS","IFLA_IFNAME","IFLA_IF_NETNSID","IFLA_INFO_DATA","IFLA_INFO_KIND","IFLA_INFO_SLAVE_DATA","IFLA_INFO_SLAVE_KIND","IFLA_INFO_UNSPEC","IFLA_INFO_XSTATS","IFLA_LINK","IFLA_LINKINFO","IFLA_LINKMODE","IFLA_LINK_NETNSID","IFLA_MAP","IFLA_MASTER","IFLA_MAX_MTU","IFLA_MIN_MTU","IFLA_MTU","IFLA_NET_NS_FD","IFLA_NET_NS_PID","IFLA_NEW_IFINDEX","IFLA_NEW_NETNSID","IFLA_NUM_RX_QUEUES","IFLA_NUM_TX_QUEUES","IFLA_NUM_VF","IFLA_OPERSTATE","IFLA_PAD","IFLA_PARENT_DEV_BUS_NAME","IFLA_PARENT_DEV_NAME","IFLA_PERM_ADDRESS","IFLA_PHYS_PORT_ID","IFLA_PHYS_PORT_NAME","IFLA_PHYS_SWITCH_ID","IFLA_PORT_SELF","IFLA_PRIORITY","IFLA_PROMISCUITY","IFLA_PROP_LIST","IFLA_PROTINFO","IFLA_PROTO_DOWN","IFLA_PROTO_DOWN_REASON","IFLA_QDISC","IFLA_STATS","IFLA_STATS64","IFLA_TARGET_NETNSID","IFLA_TSO_MAX_SEGS","IFLA_TSO_MAX_SIZE","IFLA_TXQLEN","IFLA_UNSPEC","IFLA_VFINFO_LIST","IFLA_VF_PORTS","IFLA_WEIGHT","IFLA_WIRELESS","IFLA_XDP","IFNAMSIZ","IF_LINK_MODE_DEFAULT","IF_LINK_MODE_DORMANT","IF_LINK_MODE_TESTING","IF_NAMESIZE","IF_OPER_DORMANT","IF_OPER_DOWN","IF_OPER_LOWERLAYERDOWN","IF_OPER_NOTPRESENT","IF_OPER_TESTING","IF_OPER_UNKNOWN","IF_OPER_UP","IGNBRK","IGNCR","IGNPAR","IMAXBEL","INADDR_ANY","INADDR_BROADCAST","INADDR_LOOPBACK","INADDR_NONE","INIT_PROCESS","INLCR","INOTIFY_MAX_QUEUED_EVENTS","INOTIFY_MAX_USER_INSTANCES","INOTIFY_MAX_USER_WATCHES","INPCK","INPUT_PROP_CNT","INPUT_PROP_MAX","INT_MAX","INT_MIN","IN_ACCESS","IN_ALL_EVENTS","IN_ATTRIB","IN_CLOEXEC","IN_CLOSE","IN_CLOSE_NOWRITE","IN_CLOSE_WRITE","IN_CREATE","IN_DELETE","IN_DELETE_SELF","IN_DONT_FOLLOW","IN_EXCL_UNLINK","IN_IGNORED","IN_ISDIR","IN_MASK_ADD","IN_MASK_CREATE","IN_MODIFY","IN_MOVE","IN_MOVED_FROM","IN_MOVED_TO","IN_MOVE_SELF","IN_NONBLOCK","IN_ONESHOT","IN_ONLYDIR","IN_OPEN","IN_Q_OVERFLOW","IN_UNMOUNT","IP6T_SO_ORIGINAL_DST","IPC_CREAT","IPC_EXCL","IPC_INFO","IPC_NOWAIT","IPC_PRIVATE","IPC_RMID","IPC_SET","IPC_STAT","IPDEFTTL","IPOPT_CLASS","IPOPT_CLASS_MASK","IPOPT_CONTROL","IPOPT_COPIED","IPOPT_COPY","IPOPT_END","IPOPT_EOL","IPOPT_LSRR","IPOPT_MEASUREMENT","IPOPT_MINOFF","IPOPT_NOOP","IPOPT_NOP","IPOPT_NUMBER","IPOPT_NUMBER_MASK","IPOPT_OFFSET","IPOPT_OLEN","IPOPT_OPTVAL","IPOPT_RA","IPOPT_RESERVED1","IPOPT_RESERVED2","IPOPT_RR","IPOPT_SEC","IPOPT_SID","IPOPT_SSRR","IPOPT_TIMESTAMP","IPOPT_TS","IPOPT_TS_PRESPEC","IPOPT_TS_TSANDADDR","IPOPT_TS_TSONLY","IPPROTO_AH","IPPROTO_BEETPH","IPPROTO_COMP","IPPROTO_DCCP","IPPROTO_DSTOPTS","IPPROTO_EGP","IPPROTO_ENCAP","IPPROTO_ESP","IPPROTO_ETHERNET","IPPROTO_FRAGMENT","IPPROTO_GRE","IPPROTO_HOPOPTS","IPPROTO_ICMP","IPPROTO_ICMPV6","IPPROTO_IDP","IPPROTO_IGMP","IPPROTO_IP","IPPROTO_IPIP","IPPROTO_IPV6","IPPROTO_MAX","IPPROTO_MH","IPPROTO_MPLS","IPPROTO_MPTCP","IPPROTO_MTP","IPPROTO_NONE","IPPROTO_PIM","IPPROTO_PUP","IPPROTO_RAW","IPPROTO_ROUTING","IPPROTO_RSVP","IPPROTO_SCTP","IPPROTO_TCP","IPPROTO_TP","IPPROTO_UDP","IPPROTO_UDPLITE","IPTOS_ECN","IPTOS_ECN_CE","IPTOS_ECN_ECT0","IPTOS_ECN_ECT1","IPTOS_ECN_MASK","IPTOS_ECN_NOT_ECT","IPTOS_LOWDELAY","IPTOS_MINCOST","IPTOS_PREC","IPTOS_PREC_CRITIC_ECP","IPTOS_PREC_FLASH","IPTOS_PREC_FLASHOVERRIDE","IPTOS_PREC_IMMEDIATE","IPTOS_PREC_INTERNETCONTROL","IPTOS_PREC_MASK","IPTOS_PREC_NETCONTROL","IPTOS_PREC_PRIORITY","IPTOS_PREC_ROUTINE","IPTOS_RELIABILITY","IPTOS_THROUGHPUT","IPTOS_TOS","IPTOS_TOS_MASK","IPV6_2292DSTOPTS","IPV6_2292HOPLIMIT","IPV6_2292HOPOPTS","IPV6_2292PKTINFO","IPV6_2292PKTOPTIONS","IPV6_2292RTHDR","IPV6_ADDRFORM","IPV6_ADDR_PREFERENCES","IPV6_ADD_MEMBERSHIP","IPV6_AUTHHDR","IPV6_AUTOFLOWLABEL","IPV6_CHECKSUM","IPV6_DONTFRAG","IPV6_DROP_MEMBERSHIP","IPV6_DSTOPTS","IPV6_FLOWINFO","IPV6_FLOWINFO_FLOWLABEL","IPV6_FLOWINFO_PRIORITY","IPV6_FLOWINFO_SEND","IPV6_FLOWLABEL_MGR","IPV6_FREEBIND","IPV6_HDRINCL","IPV6_HOPLIMIT","IPV6_HOPOPTS","IPV6_IPSEC_POLICY","IPV6_JOIN_ANYCAST","IPV6_LEAVE_ANYCAST","IPV6_MINHOPCOUNT","IPV6_MTU","IPV6_MTU_DISCOVER","IPV6_MULTICAST_ALL","IPV6_MULTICAST_HOPS","IPV6_MULTICAST_IF","IPV6_MULTICAST_LOOP","IPV6_NEXTHOP","IPV6_ORIGDSTADDR","IPV6_PATHMTU","IPV6_PKTINFO","IPV6_PMTUDISC_DO","IPV6_PMTUDISC_DONT","IPV6_PMTUDISC_INTERFACE","IPV6_PMTUDISC_OMIT","IPV6_PMTUDISC_PROBE","IPV6_PMTUDISC_WANT","IPV6_PREFER_SRC_CGA","IPV6_PREFER_SRC_COA","IPV6_PREFER_SRC_HOME","IPV6_PREFER_SRC_NONCGA","IPV6_PREFER_SRC_PUBLIC","IPV6_PREFER_SRC_PUBTMP_DEFAULT","IPV6_PREFER_SRC_TMP","IPV6_RECVDSTOPTS","IPV6_RECVERR","IPV6_RECVFRAGSIZE","IPV6_RECVHOPLIMIT","IPV6_RECVHOPOPTS","IPV6_RECVORIGDSTADDR","IPV6_RECVPATHMTU","IPV6_RECVPKTINFO","IPV6_RECVRTHDR","IPV6_RECVTCLASS","IPV6_ROUTER_ALERT","IPV6_ROUTER_ALERT_ISOLATE","IPV6_RTHDR","IPV6_RTHDRDSTOPTS","IPV6_RTHDR_LOOSE","IPV6_RTHDR_STRICT","IPV6_TCLASS","IPV6_TRANSPARENT","IPV6_UNICAST_HOPS","IPV6_UNICAST_IF","IPV6_V6ONLY","IPV6_XFRM_POLICY","IPVERSION","IP_ADD_MEMBERSHIP","IP_ADD_SOURCE_MEMBERSHIP","IP_BIND_ADDRESS_NO_PORT","IP_BLOCK_SOURCE","IP_CHECKSUM","IP_DEFAULT_MULTICAST_LOOP","IP_DEFAULT_MULTICAST_TTL","IP_DROP_MEMBERSHIP","IP_DROP_SOURCE_MEMBERSHIP","IP_FREEBIND","IP_HDRINCL","IP_IPSEC_POLICY","IP_MINTTL","IP_MSFILTER","IP_MTU","IP_MTU_DISCOVER","IP_MULTICAST_ALL","IP_MULTICAST_IF","IP_MULTICAST_LOOP","IP_MULTICAST_TTL","IP_NODEFRAG","IP_OPTIONS","IP_ORIGDSTADDR","IP_PASSSEC","IP_PKTINFO","IP_PKTOPTIONS","IP_PMTUDISC_DO","IP_PMTUDISC_DONT","IP_PMTUDISC_INTERFACE","IP_PMTUDISC_OMIT","IP_PMTUDISC_PROBE","IP_PMTUDISC_WANT","IP_RECVERR","IP_RECVFRAGSIZE","IP_RECVOPTS","IP_RECVORIGDSTADDR","IP_RECVTOS","IP_RECVTTL","IP_RETOPTS","IP_ROUTER_ALERT","IP_TOS","IP_TRANSPARENT","IP_TTL","IP_UNBLOCK_SOURCE","IP_UNICAST_IF","IP_XFRM_POLICY","ISIG","ISOFS_SUPER_MAGIC","ISTRIP","ITIMER_PROF","ITIMER_REAL","ITIMER_VIRTUAL","IUTF8","IWEVASSOCREQIE","IWEVASSOCRESPIE","IWEVCUSTOM","IWEVEXPIRED","IWEVFIRST","IWEVGENIE","IWEVMICHAELMICFAILURE","IWEVPMKIDCAND","IWEVQUAL","IWEVREGISTERED","IWEVTXDROP","IW_AUTH_80211_AUTH_ALG","IW_AUTH_ALG_LEAP","IW_AUTH_ALG_OPEN_SYSTEM","IW_AUTH_ALG_SHARED_KEY","IW_AUTH_CIPHER_AES_CMAC","IW_AUTH_CIPHER_CCMP","IW_AUTH_CIPHER_GROUP","IW_AUTH_CIPHER_GROUP_MGMT","IW_AUTH_CIPHER_NONE","IW_AUTH_CIPHER_PAIRWISE","IW_AUTH_CIPHER_TKIP","IW_AUTH_CIPHER_WEP104","IW_AUTH_CIPHER_WEP40","IW_AUTH_DROP_UNENCRYPTED","IW_AUTH_FLAGS","IW_AUTH_INDEX","IW_AUTH_KEY_MGMT","IW_AUTH_KEY_MGMT_802_1X","IW_AUTH_KEY_MGMT_PSK","IW_AUTH_MFP","IW_AUTH_MFP_DISABLED","IW_AUTH_MFP_OPTIONAL","IW_AUTH_MFP_REQUIRED","IW_AUTH_PRIVACY_INVOKED","IW_AUTH_ROAMING_CONTROL","IW_AUTH_ROAMING_DISABLE","IW_AUTH_ROAMING_ENABLE","IW_AUTH_RX_UNENCRYPTED_EAPOL","IW_AUTH_TKIP_COUNTERMEASURES","IW_AUTH_WPA_ENABLED","IW_AUTH_WPA_VERSION","IW_AUTH_WPA_VERSION_DISABLED","IW_AUTH_WPA_VERSION_WPA","IW_AUTH_WPA_VERSION_WPA2","IW_CUSTOM_MAX","IW_ENCODE_ALG_AES_CMAC","IW_ENCODE_ALG_CCMP","IW_ENCODE_ALG_NONE","IW_ENCODE_ALG_PMK","IW_ENCODE_ALG_TKIP","IW_ENCODE_ALG_WEP","IW_ENCODE_DISABLED","IW_ENCODE_ENABLED","IW_ENCODE_EXT_GROUP_KEY","IW_ENCODE_EXT_RX_SEQ_VALID","IW_ENCODE_EXT_SET_TX_KEY","IW_ENCODE_EXT_TX_SEQ_VALID","IW_ENCODE_FLAGS","IW_ENCODE_INDEX","IW_ENCODE_MODE","IW_ENCODE_NOKEY","IW_ENCODE_OPEN","IW_ENCODE_RESTRICTED","IW_ENCODE_SEQ_MAX_SIZE","IW_ENCODE_TEMP","IW_ENCODING_TOKEN_MAX","IW_ENC_CAPA_4WAY_HANDSHAKE","IW_ENC_CAPA_CIPHER_CCMP","IW_ENC_CAPA_CIPHER_TKIP","IW_ENC_CAPA_WPA","IW_ENC_CAPA_WPA2","IW_ESSID_MAX_SIZE","IW_EV_CHAR_PK_LEN","IW_EV_LCP_PK_LEN","IW_EV_POINT_PK_LEN","IW_FREQ_AUTO","IW_FREQ_FIXED","IW_GENERIC_IE_MAX","IW_MAX_AP","IW_MAX_BITRATES","IW_MAX_ENCODING_SIZES","IW_MAX_FREQUENCIES","IW_MAX_SPY","IW_MAX_TXPOWER","IW_MICFAILURE_COUNT","IW_MICFAILURE_GROUP","IW_MICFAILURE_KEY_ID","IW_MICFAILURE_PAIRWISE","IW_MICFAILURE_STAKEY","IW_MLME_ASSOC","IW_MLME_AUTH","IW_MLME_DEAUTH","IW_MLME_DISASSOC","IW_MODE_ADHOC","IW_MODE_AUTO","IW_MODE_INFRA","IW_MODE_MASTER","IW_MODE_MESH","IW_MODE_MONITOR","IW_MODE_REPEAT","IW_MODE_SECOND","IW_PMKID_CAND_PREAUTH","IW_PMKID_LEN","IW_PMKSA_ADD","IW_PMKSA_FLUSH","IW_PMKSA_REMOVE","IW_POWER_ALL_R","IW_POWER_FORCE_S","IW_POWER_MAX","IW_POWER_MIN","IW_POWER_MODE","IW_POWER_MODIFIER","IW_POWER_MULTICAST_R","IW_POWER_ON","IW_POWER_PERIOD","IW_POWER_RELATIVE","IW_POWER_REPEATER","IW_POWER_TIMEOUT","IW_POWER_TYPE","IW_POWER_UNICAST_R","IW_PRIV_SIZE_FIXED","IW_PRIV_SIZE_MASK","IW_PRIV_TYPE_ADDR","IW_PRIV_TYPE_BYTE","IW_PRIV_TYPE_CHAR","IW_PRIV_TYPE_FLOAT","IW_PRIV_TYPE_INT","IW_PRIV_TYPE_MASK","IW_PRIV_TYPE_NONE","IW_QUAL_ALL_INVALID","IW_QUAL_ALL_UPDATED","IW_QUAL_DBM","IW_QUAL_LEVEL_INVALID","IW_QUAL_LEVEL_UPDATED","IW_QUAL_NOISE_INVALID","IW_QUAL_NOISE_UPDATED","IW_QUAL_QUAL_INVALID","IW_QUAL_QUAL_UPDATED","IW_QUAL_RCPI","IW_RETRY_LIFETIME","IW_RETRY_LIMIT","IW_RETRY_LONG","IW_RETRY_MAX","IW_RETRY_MIN","IW_RETRY_MODIFIER","IW_RETRY_ON","IW_RETRY_RELATIVE","IW_RETRY_SHORT","IW_RETRY_TYPE","IW_SCAN_ALL_ESSID","IW_SCAN_ALL_FREQ","IW_SCAN_ALL_MODE","IW_SCAN_ALL_RATE","IW_SCAN_CAPA_BSSID","IW_SCAN_CAPA_CHANNEL","IW_SCAN_CAPA_ESSID","IW_SCAN_CAPA_MODE","IW_SCAN_CAPA_NONE","IW_SCAN_CAPA_RATE","IW_SCAN_CAPA_TIME","IW_SCAN_CAPA_TYPE","IW_SCAN_DEFAULT","IW_SCAN_MAX_DATA","IW_SCAN_THIS_ESSID","IW_SCAN_THIS_FREQ","IW_SCAN_THIS_MODE","IW_SCAN_THIS_RATE","IW_SCAN_TYPE_ACTIVE","IW_SCAN_TYPE_PASSIVE","IW_TXPOW_DBM","IW_TXPOW_MWATT","IW_TXPOW_RANGE","IW_TXPOW_RELATIVE","IW_TXPOW_TYPE","IXANY","IXOFF","IXON","J1939_EE_INFO_NONE","J1939_EE_INFO_RX_ABORT","J1939_EE_INFO_RX_DPO","J1939_EE_INFO_RX_RTS","J1939_EE_INFO_TX_ABORT","J1939_FILTER_MAX","J1939_IDLE_ADDR","J1939_MAX_UNICAST_ADDR","J1939_NLA_BYTES_ACKED","J1939_NLA_DEST_ADDR","J1939_NLA_DEST_NAME","J1939_NLA_PAD","J1939_NLA_PGN","J1939_NLA_SRC_ADDR","J1939_NLA_SRC_NAME","J1939_NLA_TOTAL_SIZE","J1939_NO_ADDR","J1939_NO_NAME","J1939_NO_PGN","J1939_PGN_ADDRESS_CLAIMED","J1939_PGN_ADDRESS_COMMANDED","J1939_PGN_MAX","J1939_PGN_PDU1_MAX","J1939_PGN_REQUEST","JFFS2_SUPER_MAGIC","KERNEL_VERSION","KERN_ACCT","KERN_ACPI_VIDEO_FLAGS","KERN_BOOTLOADER_TYPE","KERN_CADPID","KERN_COMPAT_LOG","KERN_CORE_PATTERN","KERN_CORE_USES_PID","KERN_CTLALTDEL","KERN_DOMAINNAME","KERN_HOTPLUG","KERN_HPPA_PWRSW","KERN_HPPA_UNALIGNED","KERN_HZ_TIMER","KERN_IA64_UNALIGNED","KERN_IEEE_EMULATION_WARNINGS","KERN_MAX_LOCK_DEPTH","KERN_MAX_THREADS","KERN_MODPROBE","KERN_MSGMAX","KERN_MSGMNB","KERN_MSGMNI","KERN_MSGPOOL","KERN_NAMETRANS","KERN_NGROUPS_MAX","KERN_NMI_WATCHDOG","KERN_NODENAME","KERN_OSRELEASE","KERN_OSREV","KERN_OSTYPE","KERN_OVERFLOWGID","KERN_OVERFLOWUID","KERN_PANIC","KERN_PANIC_ON_NMI","KERN_PANIC_ON_OOPS","KERN_PIDMAX","KERN_PPC_HTABRECLAIM","KERN_PPC_L2CR","KERN_PPC_POWERSAVE_NAP","KERN_PPC_ZEROPAGED","KERN_PRINTK","KERN_PRINTK_RATELIMIT","KERN_PRINTK_RATELIMIT_BURST","KERN_PROF","KERN_PTY","KERN_RANDOM","KERN_RANDOMIZE","KERN_REALROOTDEV","KERN_RTSIGMAX","KERN_RTSIGNR","KERN_S390_USER_DEBUG_LOGGING","KERN_SECUREMASK","KERN_SEM","KERN_SETUID_DUMPABLE","KERN_SG_BIG_BUFF","KERN_SHMALL","KERN_SHMMAX","KERN_SHMMNI","KERN_SHMPATH","KERN_SPARC_REBOOT","KERN_SPARC_SCONS_PWROFF","KERN_SPARC_STOP_A","KERN_SPIN_RETRY","KERN_SYSRQ","KERN_TAINTED","KERN_UNKNOWN_NMI_PANIC","KERN_VERSION","KEXEC_ARCH_MASK","KEXEC_FILE_NO_INITRAMFS","KEXEC_FILE_ON_CRASH","KEXEC_FILE_UNLOAD","KEXEC_ON_CRASH","KEXEC_PRESERVE_CONTEXT","KEYCTL_ASSUME_AUTHORITY","KEYCTL_CAPABILITIES","KEYCTL_CAPS0_BIG_KEY","KEYCTL_CAPS0_CAPABILITIES","KEYCTL_CAPS0_DIFFIE_HELLMAN","KEYCTL_CAPS0_INVALIDATE","KEYCTL_CAPS0_MOVE","KEYCTL_CAPS0_PERSISTENT_KEYRINGS","KEYCTL_CAPS0_PUBLIC_KEY","KEYCTL_CAPS0_RESTRICT_KEYRING","KEYCTL_CAPS1_NS_KEYRING_NAME","KEYCTL_CAPS1_NS_KEY_TAG","KEYCTL_CHOWN","KEYCTL_CLEAR","KEYCTL_DESCRIBE","KEYCTL_DH_COMPUTE","KEYCTL_GET_KEYRING_ID","KEYCTL_GET_PERSISTENT","KEYCTL_GET_SECURITY","KEYCTL_INSTANTIATE","KEYCTL_INSTANTIATE_IOV","KEYCTL_INVALIDATE","KEYCTL_JOIN_SESSION_KEYRING","KEYCTL_LINK","KEYCTL_MOVE","KEYCTL_NEGATE","KEYCTL_PKEY_DECRYPT","KEYCTL_PKEY_ENCRYPT","KEYCTL_PKEY_QUERY","KEYCTL_PKEY_SIGN","KEYCTL_PKEY_VERIFY","KEYCTL_READ","KEYCTL_REJECT","KEYCTL_RESTRICT_KEYRING","KEYCTL_REVOKE","KEYCTL_SEARCH","KEYCTL_SESSION_TO_PARENT","KEYCTL_SETPERM","KEYCTL_SET_REQKEY_KEYRING","KEYCTL_SET_TIMEOUT","KEYCTL_SUPPORTS_DECRYPT","KEYCTL_SUPPORTS_ENCRYPT","KEYCTL_SUPPORTS_SIGN","KEYCTL_SUPPORTS_VERIFY","KEYCTL_UNLINK","KEYCTL_UPDATE","KEY_CNT","KEY_MAX","KEY_REQKEY_DEFL_DEFAULT","KEY_REQKEY_DEFL_GROUP_KEYRING","KEY_REQKEY_DEFL_NO_CHANGE","KEY_REQKEY_DEFL_PROCESS_KEYRING","KEY_REQKEY_DEFL_REQUESTOR_KEYRING","KEY_REQKEY_DEFL_SESSION_KEYRING","KEY_REQKEY_DEFL_THREAD_KEYRING","KEY_REQKEY_DEFL_USER_KEYRING","KEY_REQKEY_DEFL_USER_SESSION_KEYRING","KEY_SPEC_GROUP_KEYRING","KEY_SPEC_PROCESS_KEYRING","KEY_SPEC_REQKEY_AUTH_KEY","KEY_SPEC_REQUESTOR_KEYRING","KEY_SPEC_SESSION_KEYRING","KEY_SPEC_THREAD_KEYRING","KEY_SPEC_USER_KEYRING","KEY_SPEC_USER_SESSION_KEYRING","LC_ADDRESS","LC_ADDRESS_MASK","LC_ALL","LC_ALL_MASK","LC_COLLATE","LC_COLLATE_MASK","LC_CTYPE","LC_CTYPE_MASK","LC_IDENTIFICATION","LC_IDENTIFICATION_MASK","LC_MEASUREMENT","LC_MEASUREMENT_MASK","LC_MESSAGES","LC_MESSAGES_MASK","LC_MONETARY","LC_MONETARY_MASK","LC_NAME","LC_NAME_MASK","LC_NUMERIC","LC_NUMERIC_MASK","LC_PAPER","LC_PAPER_MASK","LC_TELEPHONE","LC_TELEPHONE_MASK","LC_TIME","LC_TIME_MASK","LED_CNT","LED_MAX","LINUX_REBOOT_CMD_CAD_OFF","LINUX_REBOOT_CMD_CAD_ON","LINUX_REBOOT_CMD_HALT","LINUX_REBOOT_CMD_KEXEC","LINUX_REBOOT_CMD_POWER_OFF","LINUX_REBOOT_CMD_RESTART","LINUX_REBOOT_CMD_RESTART2","LINUX_REBOOT_CMD_SW_SUSPEND","LINUX_REBOOT_MAGIC1","LINUX_REBOOT_MAGIC2","LINUX_REBOOT_MAGIC2A","LINUX_REBOOT_MAGIC2B","LINUX_REBOOT_MAGIC2C","LIO_NOP","LIO_NOWAIT","LIO_READ","LIO_WAIT","LIO_WRITE","LM_ID_BASE","LM_ID_NEWLM","LOCK_EX","LOCK_NB","LOCK_SH","LOCK_UN","LOGIN_PROCESS","LOG_ALERT","LOG_AUTH","LOG_AUTHPRIV","LOG_CONS","LOG_CRIT","LOG_CRON","LOG_DAEMON","LOG_DEBUG","LOG_EMERG","LOG_ERR","LOG_FACMASK","LOG_FTP","LOG_INFO","LOG_KERN","LOG_LOCAL0","LOG_LOCAL1","LOG_LOCAL2","LOG_LOCAL3","LOG_LOCAL4","LOG_LOCAL5","LOG_LOCAL6","LOG_LOCAL7","LOG_LPR","LOG_MAIL","LOG_NDELAY","LOG_NEWS","LOG_NFACILITIES","LOG_NOTICE","LOG_NOWAIT","LOG_ODELAY","LOG_PERROR","LOG_PID","LOG_PRIMASK","LOG_SYSLOG","LOG_USER","LOG_UUCP","LOG_WARNING","L_tmpnam","Lmid_t","MADV_COLD","MADV_COLLAPSE","MADV_DODUMP","MADV_DOFORK","MADV_DONTDUMP","MADV_DONTFORK","MADV_DONTNEED","MADV_DONTNEED_LOCKED","MADV_FREE","MADV_HUGEPAGE","MADV_HWPOISON","MADV_KEEPONFORK","MADV_MERGEABLE","MADV_NOHUGEPAGE","MADV_NORMAL","MADV_PAGEOUT","MADV_POPULATE_READ","MADV_POPULATE_WRITE","MADV_RANDOM","MADV_REMOVE","MADV_SEQUENTIAL","MADV_SOFT_OFFLINE","MADV_UNMERGEABLE","MADV_WILLNEED","MADV_WIPEONFORK","MAP_32BIT","MAP_ANON","MAP_ANONYMOUS","MAP_DENYWRITE","MAP_EXECUTABLE","MAP_FAILED","MAP_FILE","MAP_FIXED","MAP_FIXED_NOREPLACE","MAP_GROWSDOWN","MAP_HUGETLB","MAP_HUGE_16GB","MAP_HUGE_16MB","MAP_HUGE_1GB","MAP_HUGE_1MB","MAP_HUGE_256MB","MAP_HUGE_2GB","MAP_HUGE_2MB","MAP_HUGE_32MB","MAP_HUGE_512KB","MAP_HUGE_512MB","MAP_HUGE_64KB","MAP_HUGE_8MB","MAP_HUGE_MASK","MAP_HUGE_SHIFT","MAP_LOCKED","MAP_NONBLOCK","MAP_NORESERVE","MAP_POPULATE","MAP_PRIVATE","MAP_SHARED","MAP_SHARED_VALIDATE","MAP_STACK","MAP_SYNC","MAP_TYPE","MAXTC","MAXTTL","MAX_ADDR_LEN","MAX_IPOPTLEN","MAX_LINKS","MCAST_BLOCK_SOURCE","MCAST_EXCLUDE","MCAST_INCLUDE","MCAST_JOIN_GROUP","MCAST_JOIN_SOURCE_GROUP","MCAST_LEAVE_GROUP","MCAST_LEAVE_SOURCE_GROUP","MCAST_MSFILTER","MCAST_UNBLOCK_SOURCE","MCL_CURRENT","MCL_FUTURE","MCL_ONFAULT","MEMBARRIER_CMD_GLOBAL","MEMBARRIER_CMD_GLOBAL_EXPEDITED","MEMBARRIER_CMD_PRIVATE_EXPEDITED","MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ","MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE","MEMBARRIER_CMD_QUERY","MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED","MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED","MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ","MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE","MFD_ALLOW_SEALING","MFD_CLOEXEC","MFD_HUGETLB","MFD_HUGE_16GB","MFD_HUGE_16MB","MFD_HUGE_1GB","MFD_HUGE_1MB","MFD_HUGE_256MB","MFD_HUGE_2GB","MFD_HUGE_2MB","MFD_HUGE_32MB","MFD_HUGE_512KB","MFD_HUGE_512MB","MFD_HUGE_64KB","MFD_HUGE_8MB","MFD_HUGE_MASK","MFD_HUGE_SHIFT","MINIX2_SUPER_MAGIC","MINIX2_SUPER_MAGIC2","MINIX3_SUPER_MAGIC","MINIX_SUPER_MAGIC","MINIX_SUPER_MAGIC2","MINSIGSTKSZ","MLOCK_ONFAULT","MMAP_PAGE_ZERO","MNT_DETACH","MNT_EXPIRE","MNT_FORCE","MODULE_INIT_IGNORE_MODVERSIONS","MODULE_INIT_IGNORE_VERMAGIC","MOD_CLKA","MOD_CLKB","MOD_ESTERROR","MOD_FREQUENCY","MOD_MAXERROR","MOD_MICRO","MOD_NANO","MOD_OFFSET","MOD_STATUS","MOD_TAI","MOD_TIMECONST","MON_1","MON_10","MON_11","MON_12","MON_2","MON_3","MON_4","MON_5","MON_6","MON_7","MON_8","MON_9","MOVE_MOUNT_BENEATH","MOVE_MOUNT_F_AUTOMOUNTS","MOVE_MOUNT_F_EMPTY_PATH","MOVE_MOUNT_F_SYMLINKS","MOVE_MOUNT_SET_GROUP","MOVE_MOUNT_T_AUTOMOUNTS","MOVE_MOUNT_T_EMPTY_PATH","MOVE_MOUNT_T_SYMLINKS","MPOL_BIND","MPOL_DEFAULT","MPOL_F_NUMA_BALANCING","MPOL_F_RELATIVE_NODES","MPOL_F_STATIC_NODES","MPOL_INTERLEAVE","MPOL_LOCAL","MPOL_PREFERRED","MREMAP_DONTUNMAP","MREMAP_FIXED","MREMAP_MAYMOVE","MSC_CNT","MSC_MAX","MSDOS_SUPER_MAGIC","MSG_CMSG_CLOEXEC","MSG_CONFIRM","MSG_COPY","MSG_CTRUNC","MSG_DONTROUTE","MSG_DONTWAIT","MSG_EOR","MSG_ERRQUEUE","MSG_EXCEPT","MSG_FASTOPEN","MSG_FIN","MSG_INFO","MSG_MORE","MSG_NOERROR","MSG_NOSIGNAL","MSG_NOTIFICATION","MSG_OOB","MSG_PEEK","MSG_RST","MSG_STAT","MSG_SYN","MSG_TRUNC","MSG_TRYHARD","MSG_WAITALL","MSG_WAITFORONE","MSG_ZEROCOPY","MS_ACTIVE","MS_ASYNC","MS_BIND","MS_DIRSYNC","MS_INVALIDATE","MS_I_VERSION","MS_KERNMOUNT","MS_LAZYTIME","MS_MANDLOCK","MS_MGC_MSK","MS_MGC_VAL","MS_MOVE","MS_NOATIME","MS_NODEV","MS_NODIRATIME","MS_NOEXEC","MS_NOSUID","MS_NOUSER","MS_POSIXACL","MS_PRIVATE","MS_RDONLY","MS_REC","MS_RELATIME","MS_REMOUNT","MS_RMT_MASK","MS_SHARED","MS_SILENT","MS_SLAVE","MS_STRICTATIME","MS_SYNC","MS_SYNCHRONOUS","MS_UNBINDABLE","M_ARENA_MAX","M_ARENA_TEST","M_CHECK_ACTION","M_GRAIN","M_KEEP","M_MMAP_MAX","M_MMAP_THRESHOLD","M_MXFAST","M_NLBLKS","M_PERTURB","M_TOP_PAD","M_TRIM_THRESHOLD","NCCS","NCP_SUPER_MAGIC","NDA_CACHEINFO","NDA_DST","NDA_IFINDEX","NDA_LINK_NETNSID","NDA_LLADDR","NDA_MASTER","NDA_PORT","NDA_PROBES","NDA_SRC_VNI","NDA_UNSPEC","NDA_VLAN","NDA_VNI","NETLINK_ADD_MEMBERSHIP","NETLINK_AUDIT","NETLINK_BROADCAST_ERROR","NETLINK_CAP_ACK","NETLINK_CONNECTOR","NETLINK_CRYPTO","NETLINK_DNRTMSG","NETLINK_DROP_MEMBERSHIP","NETLINK_ECRYPTFS","NETLINK_EXT_ACK","NETLINK_FIB_LOOKUP","NETLINK_FIREWALL","NETLINK_GENERIC","NETLINK_GET_STRICT_CHK","NETLINK_INET_DIAG","NETLINK_IP6_FW","NETLINK_ISCSI","NETLINK_KOBJECT_UEVENT","NETLINK_LISTEN_ALL_NSID","NETLINK_LIST_MEMBERSHIPS","NETLINK_NETFILTER","NETLINK_NFLOG","NETLINK_NO_ENOBUFS","NETLINK_PKTINFO","NETLINK_RDMA","NETLINK_ROUTE","NETLINK_RX_RING","NETLINK_SCSITRANSPORT","NETLINK_SELINUX","NETLINK_SOCK_DIAG","NETLINK_TX_RING","NETLINK_UNUSED","NETLINK_USERSOCK","NETLINK_XFRM","NET_802","NET_ATALK","NET_AX25","NET_BRIDGE","NET_CORE","NET_DCCP","NET_DECNET","NET_ECONET","NET_ETHER","NET_IPV4","NET_IPV6","NET_IPX","NET_IRDA","NET_LLC","NET_NETFILTER","NET_NETROM","NET_ROSE","NET_SCTP","NET_TR","NET_UNIX","NET_X25","NEW_TIME","NFNETLINK_V0","NFNLGRP_ACCT_QUOTA","NFNLGRP_CONNTRACK_DESTROY","NFNLGRP_CONNTRACK_EXP_DESTROY","NFNLGRP_CONNTRACK_EXP_NEW","NFNLGRP_CONNTRACK_EXP_UPDATE","NFNLGRP_CONNTRACK_NEW","NFNLGRP_CONNTRACK_UPDATE","NFNLGRP_NFTABLES","NFNLGRP_NFTRACE","NFNLGRP_NONE","NFNL_BATCH_GENID","NFNL_BATCH_UNSPEC","NFNL_MSG_BATCH_BEGIN","NFNL_MSG_BATCH_END","NFNL_SUBSYS_ACCT","NFNL_SUBSYS_COUNT","NFNL_SUBSYS_CTHELPER","NFNL_SUBSYS_CTNETLINK","NFNL_SUBSYS_CTNETLINK_EXP","NFNL_SUBSYS_CTNETLINK_TIMEOUT","NFNL_SUBSYS_HOOK","NFNL_SUBSYS_IPSET","NFNL_SUBSYS_NFTABLES","NFNL_SUBSYS_NFT_COMPAT","NFNL_SUBSYS_NONE","NFNL_SUBSYS_OSF","NFNL_SUBSYS_QUEUE","NFNL_SUBSYS_ULOG","NFPROTO_ARP","NFPROTO_BRIDGE","NFPROTO_DECNET","NFPROTO_INET","NFPROTO_IPV4","NFPROTO_IPV6","NFPROTO_NETDEV","NFPROTO_NUMPROTO","NFPROTO_UNSPEC","NFQA_CAP_LEN","NFQA_CFG_CMD","NFQA_CFG_FLAGS","NFQA_CFG_F_CONNTRACK","NFQA_CFG_F_FAIL_OPEN","NFQA_CFG_F_GSO","NFQA_CFG_F_MAX","NFQA_CFG_F_SECCTX","NFQA_CFG_F_UID_GID","NFQA_CFG_MASK","NFQA_CFG_PARAMS","NFQA_CFG_QUEUE_MAXLEN","NFQA_CFG_UNSPEC","NFQA_CT","NFQA_CT_INFO","NFQA_EXP","NFQA_GID","NFQA_HWADDR","NFQA_IFINDEX_INDEV","NFQA_IFINDEX_OUTDEV","NFQA_IFINDEX_PHYSINDEV","NFQA_IFINDEX_PHYSOUTDEV","NFQA_L2HDR","NFQA_MARK","NFQA_PACKET_HDR","NFQA_PAYLOAD","NFQA_PRIORITY","NFQA_SECCTX","NFQA_SKB_CSUMNOTREADY","NFQA_SKB_CSUM_NOTVERIFIED","NFQA_SKB_GSO","NFQA_SKB_INFO","NFQA_TIMESTAMP","NFQA_UID","NFQA_UNSPEC","NFQA_VERDICT_HDR","NFQA_VLAN","NFQA_VLAN_PROTO","NFQA_VLAN_TCI","NFQA_VLAN_UNSPEC","NFQNL_CFG_CMD_BIND","NFQNL_CFG_CMD_NONE","NFQNL_CFG_CMD_PF_BIND","NFQNL_CFG_CMD_PF_UNBIND","NFQNL_CFG_CMD_UNBIND","NFQNL_COPY_META","NFQNL_COPY_NONE","NFQNL_COPY_PACKET","NFQNL_MSG_CONFIG","NFQNL_MSG_PACKET","NFQNL_MSG_VERDICT","NFQNL_MSG_VERDICT_BATCH","NFS_SUPER_MAGIC","NFT_BREAK","NFT_BYTEORDER_HTON","NFT_BYTEORDER_NTOH","NFT_CHAIN_MAXNAMELEN","NFT_CMP_EQ","NFT_CMP_GT","NFT_CMP_GTE","NFT_CMP_LT","NFT_CMP_LTE","NFT_CMP_NEQ","NFT_CONTINUE","NFT_CT_BYTES","NFT_CT_DIRECTION","NFT_CT_DST","NFT_CT_EXPIRATION","NFT_CT_HELPER","NFT_CT_L3PROTOCOL","NFT_CT_LABELS","NFT_CT_MARK","NFT_CT_PKTS","NFT_CT_PROTOCOL","NFT_CT_PROTO_DST","NFT_CT_PROTO_SRC","NFT_CT_SECMARK","NFT_CT_SRC","NFT_CT_STATE","NFT_CT_STATUS","NFT_DATA_RESERVED_MASK","NFT_DATA_VALUE","NFT_DATA_VALUE_MAXLEN","NFT_DATA_VERDICT","NFT_DYNSET_F_INV","NFT_DYNSET_OP_ADD","NFT_DYNSET_OP_UPDATE","NFT_GOTO","NFT_JUMP","NFT_LIMIT_F_INV","NFT_LIMIT_PKTS","NFT_LIMIT_PKT_BYTES","NFT_LOOKUP_F_INV","NFT_META_BRI_IIFNAME","NFT_META_BRI_OIFNAME","NFT_META_CGROUP","NFT_META_CPU","NFT_META_IIF","NFT_META_IIFGROUP","NFT_META_IIFNAME","NFT_META_IIFTYPE","NFT_META_L4PROTO","NFT_META_LEN","NFT_META_MARK","NFT_META_NFPROTO","NFT_META_NFTRACE","NFT_META_OIF","NFT_META_OIFGROUP","NFT_META_OIFNAME","NFT_META_OIFTYPE","NFT_META_PKTTYPE","NFT_META_PRANDOM","NFT_META_PRIORITY","NFT_META_PROTOCOL","NFT_META_RTCLASSID","NFT_META_SECMARK","NFT_META_SKGID","NFT_META_SKUID","NFT_MSG_DELCHAIN","NFT_MSG_DELOBJ","NFT_MSG_DELRULE","NFT_MSG_DELSET","NFT_MSG_DELSETELEM","NFT_MSG_DELTABLE","NFT_MSG_GETCHAIN","NFT_MSG_GETGEN","NFT_MSG_GETOBJ","NFT_MSG_GETOBJ_RESET","NFT_MSG_GETRULE","NFT_MSG_GETSET","NFT_MSG_GETSETELEM","NFT_MSG_GETTABLE","NFT_MSG_MAX","NFT_MSG_NEWCHAIN","NFT_MSG_NEWGEN","NFT_MSG_NEWOBJ","NFT_MSG_NEWRULE","NFT_MSG_NEWSET","NFT_MSG_NEWSETELEM","NFT_MSG_NEWTABLE","NFT_MSG_TRACE","NFT_NAT_DNAT","NFT_NAT_SNAT","NFT_NG_INCREMENTAL","NFT_NG_RANDOM","NFT_OBJ_MAXNAMELEN","NFT_PAYLOAD_CSUM_INET","NFT_PAYLOAD_CSUM_NONE","NFT_PAYLOAD_LL_HEADER","NFT_PAYLOAD_NETWORK_HEADER","NFT_PAYLOAD_TRANSPORT_HEADER","NFT_QUEUE_FLAG_BYPASS","NFT_QUEUE_FLAG_CPU_FANOUT","NFT_QUEUE_FLAG_MASK","NFT_QUOTA_F_INV","NFT_RANGE_EQ","NFT_RANGE_NEQ","NFT_REG32_00","NFT_REG32_01","NFT_REG32_02","NFT_REG32_03","NFT_REG32_04","NFT_REG32_05","NFT_REG32_06","NFT_REG32_07","NFT_REG32_08","NFT_REG32_09","NFT_REG32_10","NFT_REG32_11","NFT_REG32_12","NFT_REG32_13","NFT_REG32_14","NFT_REG32_15","NFT_REG32_SIZE","NFT_REG_1","NFT_REG_2","NFT_REG_3","NFT_REG_4","NFT_REG_SIZE","NFT_REG_VERDICT","NFT_REJECT_ICMPX_ADMIN_PROHIBITED","NFT_REJECT_ICMPX_HOST_UNREACH","NFT_REJECT_ICMPX_NO_ROUTE","NFT_REJECT_ICMPX_PORT_UNREACH","NFT_REJECT_ICMPX_UNREACH","NFT_REJECT_ICMP_UNREACH","NFT_REJECT_TCP_RST","NFT_RETURN","NFT_SET_ANONYMOUS","NFT_SET_CONSTANT","NFT_SET_ELEM_INTERVAL_END","NFT_SET_EVAL","NFT_SET_INTERVAL","NFT_SET_MAP","NFT_SET_MAXNAMELEN","NFT_SET_POL_MEMORY","NFT_SET_POL_PERFORMANCE","NFT_SET_TIMEOUT","NFT_TABLE_MAXNAMELEN","NFT_TRACETYPE_POLICY","NFT_TRACETYPE_RETURN","NFT_TRACETYPE_RULE","NFT_TRACETYPE_UNSPEC","NFT_USERDATA_MAXLEN","NFULA_CFG_CMD","NFULA_CFG_FLAGS","NFULA_CFG_MODE","NFULA_CFG_NLBUFSIZ","NFULA_CFG_QTHRESH","NFULA_CFG_TIMEOUT","NFULA_CFG_UNSPEC","NFULA_CT","NFULA_CT_INFO","NFULA_GID","NFULA_HWADDR","NFULA_HWHEADER","NFULA_HWLEN","NFULA_HWTYPE","NFULA_IFINDEX_INDEV","NFULA_IFINDEX_OUTDEV","NFULA_IFINDEX_PHYSINDEV","NFULA_IFINDEX_PHYSOUTDEV","NFULA_L2HDR","NFULA_MARK","NFULA_PACKET_HDR","NFULA_PAYLOAD","NFULA_PREFIX","NFULA_SEQ","NFULA_SEQ_GLOBAL","NFULA_TIMESTAMP","NFULA_UID","NFULA_UNSPEC","NFULA_VLAN","NFULA_VLAN_PROTO","NFULA_VLAN_TCI","NFULA_VLAN_UNSPEC","NFULNL_CFG_CMD_BIND","NFULNL_CFG_CMD_NONE","NFULNL_CFG_CMD_PF_BIND","NFULNL_CFG_CMD_PF_UNBIND","NFULNL_CFG_CMD_UNBIND","NFULNL_CFG_F_CONNTRACK","NFULNL_CFG_F_SEQ","NFULNL_CFG_F_SEQ_GLOBAL","NFULNL_COPY_META","NFULNL_COPY_NONE","NFULNL_COPY_PACKET","NFULNL_MSG_CONFIG","NFULNL_MSG_PACKET","NF_ACCEPT","NF_DROP","NF_INET_FORWARD","NF_INET_LOCAL_IN","NF_INET_LOCAL_OUT","NF_INET_NUMHOOKS","NF_INET_POST_ROUTING","NF_INET_PRE_ROUTING","NF_IP6_FORWARD","NF_IP6_LOCAL_IN","NF_IP6_LOCAL_OUT","NF_IP6_NUMHOOKS","NF_IP6_POST_ROUTING","NF_IP6_PRE_ROUTING","NF_IP6_PRI_CONNTRACK","NF_IP6_PRI_CONNTRACK_DEFRAG","NF_IP6_PRI_CONNTRACK_HELPER","NF_IP6_PRI_FILTER","NF_IP6_PRI_FIRST","NF_IP6_PRI_LAST","NF_IP6_PRI_MANGLE","NF_IP6_PRI_NAT_DST","NF_IP6_PRI_NAT_SRC","NF_IP6_PRI_RAW","NF_IP6_PRI_SECURITY","NF_IP6_PRI_SELINUX_FIRST","NF_IP6_PRI_SELINUX_LAST","NF_IP_FORWARD","NF_IP_LOCAL_IN","NF_IP_LOCAL_OUT","NF_IP_NUMHOOKS","NF_IP_POST_ROUTING","NF_IP_PRE_ROUTING","NF_IP_PRI_CONNTRACK","NF_IP_PRI_CONNTRACK_CONFIRM","NF_IP_PRI_CONNTRACK_DEFRAG","NF_IP_PRI_CONNTRACK_HELPER","NF_IP_PRI_FILTER","NF_IP_PRI_FIRST","NF_IP_PRI_LAST","NF_IP_PRI_MANGLE","NF_IP_PRI_NAT_DST","NF_IP_PRI_NAT_SRC","NF_IP_PRI_RAW","NF_IP_PRI_SECURITY","NF_IP_PRI_SELINUX_FIRST","NF_IP_PRI_SELINUX_LAST","NF_MAX_VERDICT","NF_NETDEV_INGRESS","NF_NETDEV_NUMHOOKS","NF_QUEUE","NF_REPEAT","NF_STOLEN","NF_STOP","NF_VERDICT_BITS","NF_VERDICT_FLAG_QUEUE_BYPASS","NF_VERDICT_MASK","NF_VERDICT_QBITS","NF_VERDICT_QMASK","NILFS_SUPER_MAGIC","NI_DGRAM","NI_IDN","NI_MAXHOST","NI_NAMEREQD","NI_NOFQDN","NI_NUMERICHOST","NI_NUMERICSERV","NL0","NL1","NLA_ALIGN","NLA_ALIGNTO","NLA_F_NESTED","NLA_F_NET_BYTEORDER","NLA_TYPE_MASK","NLDLY","NLMSG_DONE","NLMSG_ERROR","NLMSG_MIN_TYPE","NLMSG_NOOP","NLMSG_OVERRUN","NLM_F_ACK","NLM_F_APPEND","NLM_F_ATOMIC","NLM_F_CREATE","NLM_F_DUMP","NLM_F_DUMP_FILTERED","NLM_F_DUMP_INTR","NLM_F_ECHO","NLM_F_EXCL","NLM_F_MATCH","NLM_F_MULTI","NLM_F_REPLACE","NLM_F_REQUEST","NLM_F_ROOT","NOEXPR","NOFLSH","NOSTR","NSFS_MAGIC","NTF_EXT_LEARNED","NTF_MASTER","NTF_OFFLOADED","NTF_PROXY","NTF_ROUTER","NTF_SELF","NTF_USE","NTP_API","NT_ASRS","NT_AUXV","NT_FPREGSET","NT_GWINDOWS","NT_LWPSINFO","NT_LWPSTATUS","NT_PLATFORM","NT_PRCRED","NT_PRFPREG","NT_PRFPXREG","NT_PRPSINFO","NT_PRSTATUS","NT_PRXREG","NT_PSINFO","NT_PSTATUS","NT_TASKSTRUCT","NT_UTSNAME","NUD_DELAY","NUD_FAILED","NUD_INCOMPLETE","NUD_NOARP","NUD_NONE","NUD_PERMANENT","NUD_PROBE","NUD_REACHABLE","NUD_STALE","OCFS2_SUPER_MAGIC","OCRNL","OFDEL","OFILL","OLCUC","OLD_TIME","ONLCR","ONLRET","ONOCR","OPENPROM_SUPER_MAGIC","OPEN_TREE_CLOEXEC","OPEN_TREE_CLONE","OPOST","ORIG_RAX","OVERLAYFS_SUPER_MAGIC","O_ACCMODE","O_APPEND","O_ASYNC","O_CLOEXEC","O_CREAT","O_DIRECT","O_DIRECTORY","O_DSYNC","O_EXCL","O_FSYNC","O_LARGEFILE","O_NDELAY","O_NOATIME","O_NOCTTY","O_NOFOLLOW","O_NONBLOCK","O_PATH","O_RDONLY","O_RDWR","O_RSYNC","O_SYNC","O_TMPFILE","O_TRUNC","O_WRONLY","PACKET_ADD_MEMBERSHIP","PACKET_DROP_MEMBERSHIP","PACKET_MR_ALLMULTI","PACKET_MR_MULTICAST","PACKET_MR_PROMISC","PACKET_MR_UNICAST","PARENB","PARMRK","PARODD","PATH_MAX","PENDIN","PF_ALG","PF_APPLETALK","PF_ASH","PF_ATMPVC","PF_ATMSVC","PF_AX25","PF_BLUETOOTH","PF_BRIDGE","PF_CAIF","PF_CAN","PF_DECnet","PF_ECONET","PF_IB","PF_IEEE802154","PF_INET","PF_INET6","PF_IPX","PF_IRDA","PF_ISDN","PF_IUCV","PF_KEY","PF_LLC","PF_LOCAL","PF_MASKOS","PF_MASKPROC","PF_MPLS","PF_NETBEUI","PF_NETLINK","PF_NETROM","PF_NFC","PF_PACKET","PF_PHONET","PF_PPPOX","PF_R","PF_RDS","PF_ROSE","PF_ROUTE","PF_RXRPC","PF_SECURITY","PF_SNA","PF_TIPC","PF_UNIX","PF_UNSPEC","PF_VSOCK","PF_W","PF_WANPIPE","PF_X","PF_X25","PF_XDP","PIDFD_NONBLOCK","PIPE_BUF","PM_STR","POLLERR","POLLHUP","POLLIN","POLLNVAL","POLLOUT","POLLPRI","POLLRDBAND","POLLRDHUP","POLLRDNORM","POLLWRBAND","POLLWRNORM","POSIX_FADV_DONTNEED","POSIX_FADV_NOREUSE","POSIX_FADV_NORMAL","POSIX_FADV_RANDOM","POSIX_FADV_SEQUENTIAL","POSIX_FADV_WILLNEED","POSIX_MADV_DONTNEED","POSIX_MADV_NORMAL","POSIX_MADV_RANDOM","POSIX_MADV_SEQUENTIAL","POSIX_MADV_WILLNEED","POSIX_SPAWN_RESETIDS","POSIX_SPAWN_SETPGROUP","POSIX_SPAWN_SETSCHEDPARAM","POSIX_SPAWN_SETSCHEDULER","POSIX_SPAWN_SETSID","POSIX_SPAWN_SETSIGDEF","POSIX_SPAWN_SETSIGMASK","POSIX_SPAWN_USEVFORK","PRIO_MAX","PRIO_MIN","PRIO_PGRP","PRIO_PROCESS","PRIO_USER","PROC_SUPER_MAGIC","PROT_EXEC","PROT_GROWSDOWN","PROT_GROWSUP","PROT_NONE","PROT_READ","PROT_WRITE","PR_CAPBSET_DROP","PR_CAPBSET_READ","PR_CAP_AMBIENT","PR_CAP_AMBIENT_CLEAR_ALL","PR_CAP_AMBIENT_IS_SET","PR_CAP_AMBIENT_LOWER","PR_CAP_AMBIENT_RAISE","PR_ENDIAN_BIG","PR_ENDIAN_LITTLE","PR_ENDIAN_PPC_LITTLE","PR_FPEMU_NOPRINT","PR_FPEMU_SIGFPE","PR_FP_EXC_ASYNC","PR_FP_EXC_DISABLED","PR_FP_EXC_DIV","PR_FP_EXC_INV","PR_FP_EXC_NONRECOV","PR_FP_EXC_OVF","PR_FP_EXC_PRECISE","PR_FP_EXC_RES","PR_FP_EXC_SW_ENABLE","PR_FP_EXC_UND","PR_FP_MODE_FR","PR_FP_MODE_FRE","PR_GET_CHILD_SUBREAPER","PR_GET_DUMPABLE","PR_GET_ENDIAN","PR_GET_FPEMU","PR_GET_FPEXC","PR_GET_FP_MODE","PR_GET_KEEPCAPS","PR_GET_NAME","PR_GET_NO_NEW_PRIVS","PR_GET_PDEATHSIG","PR_GET_SECCOMP","PR_GET_SECUREBITS","PR_GET_SPECULATION_CTRL","PR_GET_THP_DISABLE","PR_GET_TID_ADDRESS","PR_GET_TIMERSLACK","PR_GET_TIMING","PR_GET_TSC","PR_GET_UNALIGN","PR_MCE_KILL","PR_MCE_KILL_CLEAR","PR_MCE_KILL_DEFAULT","PR_MCE_KILL_EARLY","PR_MCE_KILL_GET","PR_MCE_KILL_LATE","PR_MCE_KILL_SET","PR_MPX_DISABLE_MANAGEMENT","PR_MPX_ENABLE_MANAGEMENT","PR_SCHED_CORE","PR_SCHED_CORE_CREATE","PR_SCHED_CORE_GET","PR_SCHED_CORE_MAX","PR_SCHED_CORE_SCOPE_PROCESS_GROUP","PR_SCHED_CORE_SCOPE_THREAD","PR_SCHED_CORE_SCOPE_THREAD_GROUP","PR_SCHED_CORE_SHARE_FROM","PR_SCHED_CORE_SHARE_TO","PR_SET_CHILD_SUBREAPER","PR_SET_DUMPABLE","PR_SET_ENDIAN","PR_SET_FPEMU","PR_SET_FPEXC","PR_SET_FP_MODE","PR_SET_KEEPCAPS","PR_SET_MM","PR_SET_MM_ARG_END","PR_SET_MM_ARG_START","PR_SET_MM_AUXV","PR_SET_MM_BRK","PR_SET_MM_END_CODE","PR_SET_MM_END_DATA","PR_SET_MM_ENV_END","PR_SET_MM_ENV_START","PR_SET_MM_EXE_FILE","PR_SET_MM_MAP","PR_SET_MM_MAP_SIZE","PR_SET_MM_START_BRK","PR_SET_MM_START_CODE","PR_SET_MM_START_DATA","PR_SET_MM_START_STACK","PR_SET_NAME","PR_SET_NO_NEW_PRIVS","PR_SET_PDEATHSIG","PR_SET_PTRACER","PR_SET_PTRACER_ANY","PR_SET_SECCOMP","PR_SET_SECUREBITS","PR_SET_SPECULATION_CTRL","PR_SET_THP_DISABLE","PR_SET_TIMERSLACK","PR_SET_TIMING","PR_SET_TSC","PR_SET_UNALIGN","PR_SET_VMA","PR_SET_VMA_ANON_NAME","PR_SPEC_DISABLE","PR_SPEC_DISABLE_NOEXEC","PR_SPEC_ENABLE","PR_SPEC_FORCE_DISABLE","PR_SPEC_INDIRECT_BRANCH","PR_SPEC_NOT_AFFECTED","PR_SPEC_PRCTL","PR_SPEC_STORE_BYPASS","PR_TASK_PERF_EVENTS_DISABLE","PR_TASK_PERF_EVENTS_ENABLE","PR_TIMING_STATISTICAL","PR_TIMING_TIMESTAMP","PR_TSC_ENABLE","PR_TSC_SIGSEGV","PR_UNALIGN_NOPRINT","PR_UNALIGN_SIGBUS","PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP","PTHREAD_COND_INITIALIZER","PTHREAD_CREATE_DETACHED","PTHREAD_CREATE_JOINABLE","PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP","PTHREAD_EXPLICIT_SCHED","PTHREAD_INHERIT_SCHED","PTHREAD_MUTEX_ADAPTIVE_NP","PTHREAD_MUTEX_DEFAULT","PTHREAD_MUTEX_ERRORCHECK","PTHREAD_MUTEX_INITIALIZER","PTHREAD_MUTEX_NORMAL","PTHREAD_MUTEX_RECURSIVE","PTHREAD_MUTEX_ROBUST","PTHREAD_MUTEX_STALLED","PTHREAD_ONCE_INIT","PTHREAD_PRIO_INHERIT","PTHREAD_PRIO_NONE","PTHREAD_PRIO_PROTECT","PTHREAD_PROCESS_PRIVATE","PTHREAD_PROCESS_SHARED","PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP","PTHREAD_RWLOCK_INITIALIZER","PTHREAD_STACK_MIN","PTRACE_ATTACH","PTRACE_CONT","PTRACE_DETACH","PTRACE_EVENT_CLONE","PTRACE_EVENT_EXEC","PTRACE_EVENT_EXIT","PTRACE_EVENT_FORK","PTRACE_EVENT_SECCOMP","PTRACE_EVENT_STOP","PTRACE_EVENT_VFORK","PTRACE_EVENT_VFORK_DONE","PTRACE_GETEVENTMSG","PTRACE_GETFPREGS","PTRACE_GETFPXREGS","PTRACE_GETREGS","PTRACE_GETREGSET","PTRACE_GETSIGINFO","PTRACE_GETSIGMASK","PTRACE_GET_RSEQ_CONFIGURATION","PTRACE_GET_SYSCALL_INFO","PTRACE_INTERRUPT","PTRACE_KILL","PTRACE_LISTEN","PTRACE_O_EXITKILL","PTRACE_O_MASK","PTRACE_O_SUSPEND_SECCOMP","PTRACE_O_TRACECLONE","PTRACE_O_TRACEEXEC","PTRACE_O_TRACEEXIT","PTRACE_O_TRACEFORK","PTRACE_O_TRACESECCOMP","PTRACE_O_TRACESYSGOOD","PTRACE_O_TRACEVFORK","PTRACE_O_TRACEVFORKDONE","PTRACE_PEEKDATA","PTRACE_PEEKSIGINFO","PTRACE_PEEKSIGINFO_SHARED","PTRACE_PEEKTEXT","PTRACE_PEEKUSER","PTRACE_POKEDATA","PTRACE_POKETEXT","PTRACE_POKEUSER","PTRACE_SEIZE","PTRACE_SETFPREGS","PTRACE_SETFPXREGS","PTRACE_SETOPTIONS","PTRACE_SETREGS","PTRACE_SETREGSET","PTRACE_SETSIGINFO","PTRACE_SETSIGMASK","PTRACE_SINGLESTEP","PTRACE_SYSCALL","PTRACE_SYSCALL_INFO_ENTRY","PTRACE_SYSCALL_INFO_EXIT","PTRACE_SYSCALL_INFO_NONE","PTRACE_SYSCALL_INFO_SECCOMP","PTRACE_SYSEMU","PTRACE_SYSEMU_SINGLESTEP","PTRACE_TRACEME","PT_DYNAMIC","PT_GNU_EH_FRAME","PT_GNU_RELRO","PT_GNU_STACK","PT_HIOS","PT_HIPROC","PT_HISUNW","PT_INTERP","PT_LOAD","PT_LOOS","PT_LOPROC","PT_LOSUNW","PT_NOTE","PT_NULL","PT_NUM","PT_PHDR","PT_SHLIB","PT_SUNWBSS","PT_SUNWSTACK","PT_TLS","P_ALL","P_PGID","P_PID","P_PIDFD","QCMD","QFMT_VFS_OLD","QFMT_VFS_V0","QFMT_VFS_V1","QIF_ALL","QIF_BLIMITS","QIF_BTIME","QIF_ILIMITS","QIF_INODES","QIF_ITIME","QIF_LIMITS","QIF_SPACE","QIF_TIMES","QIF_USAGE","QNX4_SUPER_MAGIC","QNX6_SUPER_MAGIC","Q_GETFMT","Q_GETINFO","Q_GETQUOTA","Q_QUOTAOFF","Q_QUOTAON","Q_SETINFO","Q_SETQUOTA","Q_SYNC","R10","R11","R12","R13","R14","R15","R8","R9","RADIXCHAR","RAND_MAX","RAX","RBP","RBX","RB_AUTOBOOT","RB_DISABLE_CAD","RB_ENABLE_CAD","RB_HALT_SYSTEM","RB_KEXEC","RB_POWER_OFF","RB_SW_SUSPEND","RCX","RDI","RDTGROUP_SUPER_MAGIC","RDX","READ_IMPLIES_EXEC","REG_BADBR","REG_BADPAT","REG_BADRPT","REG_CR2","REG_CSGSFS","REG_EBRACE","REG_EBRACK","REG_ECOLLATE","REG_ECTYPE","REG_EEND","REG_EESCAPE","REG_EFL","REG_ENOSYS","REG_EPAREN","REG_ERANGE","REG_ERPAREN","REG_ERR","REG_ESIZE","REG_ESPACE","REG_ESUBREG","REG_EXTENDED","REG_ICASE","REG_NEWLINE","REG_NOMATCH","REG_NOSUB","REG_NOTBOL","REG_NOTEOL","REG_OLDMASK","REG_R10","REG_R11","REG_R12","REG_R13","REG_R14","REG_R15","REG_R8","REG_R9","REG_RAX","REG_RBP","REG_RBX","REG_RCX","REG_RDI","REG_RDX","REG_RIP","REG_RSI","REG_RSP","REG_STARTEND","REG_TRAPNO","REISERFS_SUPER_MAGIC","REL_CNT","REL_MAX","RENAME_EXCHANGE","RENAME_NOREPLACE","RENAME_WHITEOUT","REP_CNT","REP_MAX","RESOLVE_BENEATH","RESOLVE_CACHED","RESOLVE_IN_ROOT","RESOLVE_NO_MAGICLINKS","RESOLVE_NO_SYMLINKS","RESOLVE_NO_XDEV","RIP","RLIM64_INFINITY","RLIMIT_AS","RLIMIT_CORE","RLIMIT_CPU","RLIMIT_DATA","RLIMIT_FSIZE","RLIMIT_LOCKS","RLIMIT_MEMLOCK","RLIMIT_MSGQUEUE","RLIMIT_NICE","RLIMIT_NLIMITS","RLIMIT_NOFILE","RLIMIT_NPROC","RLIMIT_RSS","RLIMIT_RTPRIO","RLIMIT_RTTIME","RLIMIT_SIGPENDING","RLIMIT_STACK","RLIM_INFINITY","RLIM_NLIMITS","RLIM_SAVED_CUR","RLIM_SAVED_MAX","RSI","RSP","RTA_CACHEINFO","RTA_DST","RTA_ENCAP","RTA_ENCAP_TYPE","RTA_EXPIRES","RTA_FLOW","RTA_GATEWAY","RTA_IIF","RTA_MARK","RTA_METRICS","RTA_MFC_STATS","RTA_MP_ALGO","RTA_MULTIPATH","RTA_NEWDST","RTA_OIF","RTA_PAD","RTA_PREF","RTA_PREFSRC","RTA_PRIORITY","RTA_PROTOINFO","RTA_SESSION","RTA_SRC","RTA_TABLE","RTA_TTL_PROPAGATE","RTA_UID","RTA_UNSPEC","RTA_VIA","RTCF_DIRECTSRC","RTCF_DOREDIRECT","RTCF_LOG","RTCF_MASQ","RTCF_NAT","RTCF_VALVE","RTEXT_FILTER_BRVLAN","RTEXT_FILTER_BRVLAN_COMPRESSED","RTEXT_FILTER_CFM_CONFIG","RTEXT_FILTER_CFM_STATUS","RTEXT_FILTER_MRP","RTEXT_FILTER_SKIP_STATS","RTEXT_FILTER_VF","RTF_ADDRCLASSMASK","RTF_ADDRCONF","RTF_ALLONLINK","RTF_BROADCAST","RTF_CACHE","RTF_DEFAULT","RTF_DYNAMIC","RTF_FLOW","RTF_GATEWAY","RTF_HOST","RTF_INTERFACE","RTF_IRTT","RTF_LINKRT","RTF_LOCAL","RTF_MODIFIED","RTF_MSS","RTF_MTU","RTF_MULTICAST","RTF_NAT","RTF_NOFORWARD","RTF_NONEXTHOP","RTF_NOPMTUDISC","RTF_POLICY","RTF_REINSTATE","RTF_REJECT","RTF_STATIC","RTF_THROW","RTF_UP","RTF_WINDOW","RTF_XRESOLVE","RTLD_DEEPBIND","RTLD_DEFAULT","RTLD_DI_CONFIGADDR","RTLD_DI_LINKMAP","RTLD_DI_LMID","RTLD_DI_ORIGIN","RTLD_DI_PROFILENAME","RTLD_DI_PROFILEOUT","RTLD_DI_SERINFO","RTLD_DI_SERINFOSIZE","RTLD_DI_TLS_DATA","RTLD_DI_TLS_MODID","RTLD_GLOBAL","RTLD_LAZY","RTLD_LOCAL","RTLD_NEXT","RTLD_NODELETE","RTLD_NOLOAD","RTLD_NOW","RTMGRP_DECnet_IFADDR","RTMGRP_DECnet_ROUTE","RTMGRP_IPV4_IFADDR","RTMGRP_IPV4_MROUTE","RTMGRP_IPV4_ROUTE","RTMGRP_IPV4_RULE","RTMGRP_IPV6_IFADDR","RTMGRP_IPV6_IFINFO","RTMGRP_IPV6_MROUTE","RTMGRP_IPV6_PREFIX","RTMGRP_IPV6_ROUTE","RTMGRP_LINK","RTMGRP_NEIGH","RTMGRP_NOTIFY","RTMGRP_TC","RTMSG_AR_FAILED","RTMSG_CONTROL","RTMSG_DELDEVICE","RTMSG_DELROUTE","RTMSG_DELRULE","RTMSG_NEWDEVICE","RTMSG_NEWROUTE","RTMSG_NEWRULE","RTMSG_OVERRUN","RTM_DELACTION","RTM_DELADDR","RTM_DELADDRLABEL","RTM_DELLINK","RTM_DELMDB","RTM_DELNEIGH","RTM_DELNETCONF","RTM_DELNSID","RTM_DELQDISC","RTM_DELROUTE","RTM_DELRULE","RTM_DELTCLASS","RTM_DELTFILTER","RTM_F_CLONED","RTM_F_EQUALIZE","RTM_F_FIB_MATCH","RTM_F_LOOKUP_TABLE","RTM_F_NOTIFY","RTM_F_PREFIX","RTM_GETACTION","RTM_GETADDR","RTM_GETADDRLABEL","RTM_GETANYCAST","RTM_GETDCB","RTM_GETLINK","RTM_GETMDB","RTM_GETMULTICAST","RTM_GETNEIGH","RTM_GETNEIGHTBL","RTM_GETNETCONF","RTM_GETNSID","RTM_GETQDISC","RTM_GETROUTE","RTM_GETRULE","RTM_GETSTATS","RTM_GETTCLASS","RTM_GETTFILTER","RTM_NEWACTION","RTM_NEWADDR","RTM_NEWADDRLABEL","RTM_NEWCACHEREPORT","RTM_NEWLINK","RTM_NEWMDB","RTM_NEWNDUSEROPT","RTM_NEWNEIGH","RTM_NEWNEIGHTBL","RTM_NEWNETCONF","RTM_NEWNSID","RTM_NEWPREFIX","RTM_NEWQDISC","RTM_NEWROUTE","RTM_NEWRULE","RTM_NEWSTATS","RTM_NEWTCLASS","RTM_NEWTFILTER","RTM_SETDCB","RTM_SETLINK","RTM_SETNEIGHTBL","RTNLGRP_BRVLAN","RTNLGRP_DCB","RTNLGRP_DECnet_IFADDR","RTNLGRP_DECnet_ROUTE","RTNLGRP_DECnet_RULE","RTNLGRP_IPV4_IFADDR","RTNLGRP_IPV4_MROUTE","RTNLGRP_IPV4_MROUTE_R","RTNLGRP_IPV4_NETCONF","RTNLGRP_IPV4_ROUTE","RTNLGRP_IPV4_RULE","RTNLGRP_IPV6_IFADDR","RTNLGRP_IPV6_IFINFO","RTNLGRP_IPV6_MROUTE","RTNLGRP_IPV6_MROUTE_R","RTNLGRP_IPV6_NETCONF","RTNLGRP_IPV6_PREFIX","RTNLGRP_IPV6_ROUTE","RTNLGRP_IPV6_RULE","RTNLGRP_LINK","RTNLGRP_MCTP_IFADDR","RTNLGRP_MDB","RTNLGRP_MPLS_NETCONF","RTNLGRP_MPLS_ROUTE","RTNLGRP_ND_USEROPT","RTNLGRP_NEIGH","RTNLGRP_NEXTHOP","RTNLGRP_NONE","RTNLGRP_NOP2","RTNLGRP_NOP4","RTNLGRP_NOTIFY","RTNLGRP_NSID","RTNLGRP_PHONET_IFADDR","RTNLGRP_PHONET_ROUTE","RTNLGRP_STATS","RTNLGRP_TC","RTNLGRP_TUNNEL","RTN_ANYCAST","RTN_BLACKHOLE","RTN_BROADCAST","RTN_LOCAL","RTN_MULTICAST","RTN_NAT","RTN_PROHIBIT","RTN_THROW","RTN_UNICAST","RTN_UNREACHABLE","RTN_UNSPEC","RTN_XRESOLVE","RTPROT_BOOT","RTPROT_KERNEL","RTPROT_REDIRECT","RTPROT_STATIC","RTPROT_UNSPEC","RT_ADDRCLASS","RT_CLASS_DEFAULT","RT_CLASS_LOCAL","RT_CLASS_MAIN","RT_CLASS_MAX","RT_CLASS_UNSPEC","RT_LOCALADDR","RT_SCOPE_HOST","RT_SCOPE_LINK","RT_SCOPE_NOWHERE","RT_SCOPE_SITE","RT_SCOPE_UNIVERSE","RT_TABLE_COMPAT","RT_TABLE_DEFAULT","RT_TABLE_LOCAL","RT_TABLE_MAIN","RT_TABLE_UNSPEC","RT_TOS","RUN_LVL","RUSAGE_CHILDREN","RUSAGE_SELF","RUSAGE_THREAD","RWF_APPEND","RWF_DSYNC","RWF_HIPRI","RWF_NOWAIT","RWF_SYNC","R_OK","SA_NOCLDSTOP","SA_NOCLDWAIT","SA_NODEFER","SA_ONSTACK","SA_RESETHAND","SA_RESTART","SA_SIGINFO","SCHED_BATCH","SCHED_FIFO","SCHED_IDLE","SCHED_OTHER","SCHED_RESET_ON_FORK","SCHED_RR","SCM_CREDENTIALS","SCM_J1939_DEST_ADDR","SCM_J1939_DEST_NAME","SCM_J1939_ERRQUEUE","SCM_J1939_PRIO","SCM_RIGHTS","SCM_TIMESTAMP","SCM_TIMESTAMPING","SCM_TIMESTAMPING_OPT_STATS","SCM_TIMESTAMPING_PKTINFO","SCM_TIMESTAMPNS","SCM_TXTIME","SCM_WIFI_STATUS","SCTP_ABORT","SCTP_ADAPTATION_LAYER","SCTP_ADDR_OVER","SCTP_ALL_ASSOC","SCTP_ASSOCINFO","SCTP_AUTHINFO","SCTP_AUTH_ACTIVE_KEY","SCTP_AUTH_CHUNK","SCTP_AUTH_DEACTIVATE_KEY","SCTP_AUTH_DELETE_KEY","SCTP_AUTH_KEY","SCTP_AUTOCLOSE","SCTP_AUTO_ASCONF","SCTP_CONTEXT","SCTP_CURRENT_ASSOC","SCTP_DEFAULT_SEND_PARAM","SCTP_DEFAULT_SNDINFO","SCTP_DELAYED_ACK","SCTP_DELAYED_ACK_TIME","SCTP_DELAYED_SACK","SCTP_DISABLE_FRAGMENTS","SCTP_DSTADDRV4","SCTP_DSTADDRV6","SCTP_ENABLE_CHANGE_ASSOC_REQ","SCTP_ENABLE_RESET_ASSOC_REQ","SCTP_ENABLE_RESET_STREAM_REQ","SCTP_ENABLE_STRRESET_MASK","SCTP_EOF","SCTP_EVENTS","SCTP_FRAGMENT_INTERLEAVE","SCTP_FUTURE_ASSOC","SCTP_GET_ASSOC_ID_LIST","SCTP_GET_ASSOC_NUMBER","SCTP_GET_PEER_ADDR_INFO","SCTP_HMAC_IDENT","SCTP_INIT","SCTP_INITMSG","SCTP_I_WANT_MAPPED_V4_ADDR","SCTP_LOCAL_AUTH_CHUNKS","SCTP_MAXSEG","SCTP_MAX_BURST","SCTP_NODELAY","SCTP_NOTIFICATION","SCTP_NXTINFO","SCTP_PARTIAL_DELIVERY_POINT","SCTP_PEER_ADDR_PARAMS","SCTP_PEER_ADDR_THLDS","SCTP_PEER_ADDR_THLDS_V2","SCTP_PEER_AUTH_CHUNKS","SCTP_PRIMARY_ADDR","SCTP_PRINFO","SCTP_PR_INDEX","SCTP_PR_POLICY","SCTP_PR_PRIO_ENABLED","SCTP_PR_RTX_ENABLED","SCTP_PR_SCTP_ALL","SCTP_PR_SCTP_MASK","SCTP_PR_SCTP_MAX","SCTP_PR_SCTP_NONE","SCTP_PR_SCTP_PRIO","SCTP_PR_SCTP_RTX","SCTP_PR_SCTP_TTL","SCTP_PR_SET_POLICY","SCTP_PR_TTL_ENABLED","SCTP_RCVINFO","SCTP_RECVNXTINFO","SCTP_RECVRCVINFO","SCTP_REUSE_PORT","SCTP_RTOINFO","SCTP_SACK_IMMEDIATELY","SCTP_SENDALL","SCTP_SET_PEER_PRIMARY_ADDR","SCTP_SNDINFO","SCTP_SNDRCV","SCTP_STATUS","SCTP_STREAM_RESET_INCOMING","SCTP_STREAM_RESET_OUTGOING","SCTP_UNORDERED","SECCOMP_FILTER_FLAG_LOG","SECCOMP_FILTER_FLAG_SPEC_ALLOW","SECCOMP_FILTER_FLAG_TSYNC","SECCOMP_GET_ACTION_AVAIL","SECCOMP_GET_NOTIF_SIZES","SECCOMP_MODE_DISABLED","SECCOMP_MODE_FILTER","SECCOMP_MODE_STRICT","SECCOMP_RET_ACTION","SECCOMP_RET_ACTION_FULL","SECCOMP_RET_ALLOW","SECCOMP_RET_DATA","SECCOMP_RET_ERRNO","SECCOMP_RET_KILL","SECCOMP_RET_KILL_PROCESS","SECCOMP_RET_KILL_THREAD","SECCOMP_RET_LOG","SECCOMP_RET_TRACE","SECCOMP_RET_TRAP","SECCOMP_SET_MODE_FILTER","SECCOMP_SET_MODE_STRICT","SECURITYFS_MAGIC","SEEK_CUR","SEEK_DATA","SEEK_END","SEEK_HOLE","SEEK_SET","SELFMAG","SELINUX_MAGIC","SEM_FAILED","SFD_CLOEXEC","SFD_NONBLOCK","SHM_EXEC","SHM_HUGETLB","SHM_LOCK","SHM_NORESERVE","SHM_R","SHM_RDONLY","SHM_REMAP","SHM_RND","SHM_UNLOCK","SHM_W","SHORT_INODE","SHUT_RD","SHUT_RDWR","SHUT_WR","SIGABRT","SIGALRM","SIGBUS","SIGCHLD","SIGCONT","SIGEV_NONE","SIGEV_SIGNAL","SIGEV_THREAD","SIGEV_THREAD_ID","SIGFPE","SIGHUP","SIGILL","SIGINT","SIGIO","SIGIOT","SIGKILL","SIGPIPE","SIGPOLL","SIGPROF","SIGPWR","SIGQUIT","SIGRTMAX","SIGRTMIN","SIGSEGV","SIGSTKFLT","SIGSTKSZ","SIGSTOP","SIGSYS","SIGTERM","SIGTRAP","SIGTSTP","SIGTTIN","SIGTTOU","SIGUNUSED","SIGURG","SIGUSR1","SIGUSR2","SIGVTALRM","SIGWINCH","SIGXCPU","SIGXFSZ","SIG_BLOCK","SIG_DFL","SIG_ERR","SIG_IGN","SIG_SETMASK","SIG_UNBLOCK","SIOCADDMULTI","SIOCADDRT","SIOCDARP","SIOCDELMULTI","SIOCDELRT","SIOCDIFADDR","SIOCDRARP","SIOCETHTOOL","SIOCGARP","SIOCGHWTSTAMP","SIOCGIFADDR","SIOCGIFBR","SIOCGIFBRDADDR","SIOCGIFCONF","SIOCGIFCOUNT","SIOCGIFDSTADDR","SIOCGIFENCAP","SIOCGIFFLAGS","SIOCGIFHWADDR","SIOCGIFINDEX","SIOCGIFMAP","SIOCGIFMEM","SIOCGIFMETRIC","SIOCGIFMTU","SIOCGIFNAME","SIOCGIFNETMASK","SIOCGIFPFLAGS","SIOCGIFSLAVE","SIOCGIFTXQLEN","SIOCGIWAP","SIOCGIWAPLIST","SIOCGIWAUTH","SIOCGIWENCODE","SIOCGIWENCODEEXT","SIOCGIWESSID","SIOCGIWFRAG","SIOCGIWFREQ","SIOCGIWGENIE","SIOCGIWMODE","SIOCGIWNAME","SIOCGIWNICKN","SIOCGIWNWID","SIOCGIWPOWER","SIOCGIWPRIV","SIOCGIWRANGE","SIOCGIWRATE","SIOCGIWRETRY","SIOCGIWRTS","SIOCGIWSCAN","SIOCGIWSENS","SIOCGIWSPY","SIOCGIWSTATS","SIOCGIWTHRSPY","SIOCGIWTXPOW","SIOCGMIIPHY","SIOCGMIIREG","SIOCGRARP","SIOCGSKNS","SIOCIWFIRST","SIOCIWFIRSTPRIV","SIOCIWLAST","SIOCIWLASTPRIV","SIOCOUTQNSD","SIOCSARP","SIOCSHWTSTAMP","SIOCSIFADDR","SIOCSIFBR","SIOCSIFBRDADDR","SIOCSIFDSTADDR","SIOCSIFENCAP","SIOCSIFFLAGS","SIOCSIFHWADDR","SIOCSIFHWBROADCAST","SIOCSIFLINK","SIOCSIFMAP","SIOCSIFMEM","SIOCSIFMETRIC","SIOCSIFMTU","SIOCSIFNAME","SIOCSIFNETMASK","SIOCSIFPFLAGS","SIOCSIFSLAVE","SIOCSIFTXQLEN","SIOCSIWAP","SIOCSIWAUTH","SIOCSIWCOMMIT","SIOCSIWENCODE","SIOCSIWENCODEEXT","SIOCSIWESSID","SIOCSIWFRAG","SIOCSIWFREQ","SIOCSIWGENIE","SIOCSIWMLME","SIOCSIWMODE","SIOCSIWNICKN","SIOCSIWNWID","SIOCSIWPMKSA","SIOCSIWPOWER","SIOCSIWPRIV","SIOCSIWRANGE","SIOCSIWRATE","SIOCSIWRETRY","SIOCSIWRTS","SIOCSIWSCAN","SIOCSIWSENS","SIOCSIWSPY","SIOCSIWSTATS","SIOCSIWTHRSPY","SIOCSIWTXPOW","SIOCSMIIREG","SIOCSRARP","SIOCWANDEV","SIOGIFINDEX","SI_LOAD_SHIFT","SKF_AD_ALU_XOR_X","SKF_AD_CPU","SKF_AD_HATYPE","SKF_AD_IFINDEX","SKF_AD_MARK","SKF_AD_MAX","SKF_AD_NLATTR","SKF_AD_NLATTR_NEST","SKF_AD_OFF","SKF_AD_PAY_OFFSET","SKF_AD_PKTTYPE","SKF_AD_PROTOCOL","SKF_AD_QUEUE","SKF_AD_RANDOM","SKF_AD_RXHASH","SKF_AD_VLAN_TAG","SKF_AD_VLAN_TAG_PRESENT","SKF_AD_VLAN_TPID","SKF_LL_OFF","SKF_NET_OFF","SK_MEMINFO_BACKLOG","SK_MEMINFO_DROPS","SK_MEMINFO_FWD_ALLOC","SK_MEMINFO_OPTMEM","SK_MEMINFO_RCVBUF","SK_MEMINFO_RMEM_ALLOC","SK_MEMINFO_SNDBUF","SK_MEMINFO_WMEM_ALLOC","SK_MEMINFO_WMEM_QUEUED","SMACK_MAGIC","SMB_SUPER_MAGIC","SND_CNT","SND_MAX","SOCK_CLOEXEC","SOCK_DCCP","SOCK_DGRAM","SOCK_NONBLOCK","SOCK_PACKET","SOCK_RAW","SOCK_RDM","SOCK_SEQPACKET","SOCK_STREAM","SOF_TIMESTAMPING_OPT_CMSG","SOF_TIMESTAMPING_OPT_ID","SOF_TIMESTAMPING_OPT_PKTINFO","SOF_TIMESTAMPING_OPT_STATS","SOF_TIMESTAMPING_OPT_TSONLY","SOF_TIMESTAMPING_OPT_TX_SWHW","SOF_TIMESTAMPING_RAW_HARDWARE","SOF_TIMESTAMPING_RX_HARDWARE","SOF_TIMESTAMPING_RX_SOFTWARE","SOF_TIMESTAMPING_SOFTWARE","SOF_TIMESTAMPING_SYS_HARDWARE","SOF_TIMESTAMPING_TX_ACK","SOF_TIMESTAMPING_TX_HARDWARE","SOF_TIMESTAMPING_TX_SCHED","SOF_TIMESTAMPING_TX_SOFTWARE","SOF_TXTIME_DEADLINE_MODE","SOF_TXTIME_REPORT_ERRORS","SOL_AAL","SOL_ALG","SOL_ATM","SOL_BLUETOOTH","SOL_CAIF","SOL_CAN_BASE","SOL_CAN_J1939","SOL_CAN_RAW","SOL_DCCP","SOL_DECNET","SOL_ICMPV6","SOL_IP","SOL_IPV6","SOL_IRDA","SOL_IUCV","SOL_LLC","SOL_NETBEUI","SOL_NETLINK","SOL_NFC","SOL_PACKET","SOL_PNPIPE","SOL_PPPOL2TP","SOL_RAW","SOL_RDS","SOL_RXRPC","SOL_SOCKET","SOL_TCP","SOL_TIPC","SOL_TLS","SOL_UDP","SOL_X25","SOL_XDP","SOMAXCONN","SO_ACCEPTCONN","SO_ATTACH_BPF","SO_ATTACH_FILTER","SO_ATTACH_REUSEPORT_CBPF","SO_ATTACH_REUSEPORT_EBPF","SO_BINDTODEVICE","SO_BINDTOIFINDEX","SO_BPF_EXTENSIONS","SO_BROADCAST","SO_BSDCOMPAT","SO_BUSY_POLL","SO_CNX_ADVICE","SO_COOKIE","SO_DEBUG","SO_DETACH_BPF","SO_DETACH_FILTER","SO_DETACH_REUSEPORT_BPF","SO_DOMAIN","SO_DONTROUTE","SO_EE_OFFENDER","SO_EE_ORIGIN_ICMP","SO_EE_ORIGIN_ICMP6","SO_EE_ORIGIN_LOCAL","SO_EE_ORIGIN_NONE","SO_EE_ORIGIN_TIMESTAMPING","SO_EE_ORIGIN_TXSTATUS","SO_ERROR","SO_GET_FILTER","SO_INCOMING_CPU","SO_INCOMING_NAPI_ID","SO_J1939_ERRQUEUE","SO_J1939_FILTER","SO_J1939_PROMISC","SO_J1939_SEND_PRIO","SO_KEEPALIVE","SO_LINGER","SO_LOCK_FILTER","SO_MARK","SO_MAX_PACING_RATE","SO_MEMINFO","SO_NOFCS","SO_NO_CHECK","SO_OOBINLINE","SO_ORIGINAL_DST","SO_PASSCRED","SO_PASSSEC","SO_PEEK_OFF","SO_PEERCRED","SO_PEERGROUPS","SO_PEERNAME","SO_PEERSEC","SO_PRIORITY","SO_PROTOCOL","SO_RCVBUF","SO_RCVBUFFORCE","SO_RCVLOWAT","SO_RCVTIMEO","SO_RCVTIMEO_NEW","SO_REUSEADDR","SO_REUSEPORT","SO_RXQ_OVFL","SO_SECURITY_AUTHENTICATION","SO_SECURITY_ENCRYPTION_NETWORK","SO_SECURITY_ENCRYPTION_TRANSPORT","SO_SELECT_ERR_QUEUE","SO_SNDBUF","SO_SNDBUFFORCE","SO_SNDLOWAT","SO_SNDTIMEO","SO_SNDTIMEO_NEW","SO_TIMESTAMP","SO_TIMESTAMPING","SO_TIMESTAMPING_NEW","SO_TIMESTAMPNS","SO_TIMESTAMPNS_NEW","SO_TIMESTAMP_NEW","SO_TXTIME","SO_TYPE","SO_WIFI_STATUS","SO_ZEROCOPY","SPLICE_F_GIFT","SPLICE_F_MORE","SPLICE_F_MOVE","SPLICE_F_NONBLOCK","SS","SS_DISABLE","SS_ONSTACK","STATX_ALL","STATX_ATIME","STATX_ATTR_APPEND","STATX_ATTR_AUTOMOUNT","STATX_ATTR_COMPRESSED","STATX_ATTR_DAX","STATX_ATTR_ENCRYPTED","STATX_ATTR_IMMUTABLE","STATX_ATTR_MOUNT_ROOT","STATX_ATTR_NODUMP","STATX_ATTR_VERITY","STATX_BASIC_STATS","STATX_BLOCKS","STATX_BTIME","STATX_CTIME","STATX_DIOALIGN","STATX_GID","STATX_INO","STATX_MNT_ID","STATX_MODE","STATX_MTIME","STATX_NLINK","STATX_SIZE","STATX_TYPE","STATX_UID","STATX__RESERVED","STA_CLK","STA_CLOCKERR","STA_DEL","STA_FLL","STA_FREQHOLD","STA_INS","STA_MODE","STA_NANO","STA_PLL","STA_PPSERROR","STA_PPSFREQ","STA_PPSJITTER","STA_PPSSIGNAL","STA_PPSTIME","STA_PPSWANDER","STA_RONLY","STA_UNSYNC","STDERR_FILENO","STDIN_FILENO","STDOUT_FILENO","STICKY_TIMEOUTS","ST_APPEND","ST_IMMUTABLE","ST_MANDLOCK","ST_NOATIME","ST_NODEV","ST_NODIRATIME","ST_NOEXEC","ST_NOSUID","ST_RDONLY","ST_RELATIME","ST_SYNCHRONOUS","ST_WRITE","SW_CNT","SW_MAX","SYNC_FILE_RANGE_WAIT_AFTER","SYNC_FILE_RANGE_WAIT_BEFORE","SYNC_FILE_RANGE_WRITE","SYN_CNT","SYN_MAX","SYSFS_MAGIC","SYS__sysctl","SYS_accept","SYS_accept4","SYS_access","SYS_acct","SYS_add_key","SYS_adjtimex","SYS_afs_syscall","SYS_alarm","SYS_arch_prctl","SYS_bind","SYS_bpf","SYS_brk","SYS_capget","SYS_capset","SYS_chdir","SYS_chmod","SYS_chown","SYS_chroot","SYS_clock_adjtime","SYS_clock_getres","SYS_clock_gettime","SYS_clock_nanosleep","SYS_clock_settime","SYS_clone","SYS_clone3","SYS_close","SYS_close_range","SYS_connect","SYS_copy_file_range","SYS_creat","SYS_create_module","SYS_delete_module","SYS_dup","SYS_dup2","SYS_dup3","SYS_epoll_create","SYS_epoll_create1","SYS_epoll_ctl","SYS_epoll_ctl_old","SYS_epoll_pwait","SYS_epoll_pwait2","SYS_epoll_wait","SYS_epoll_wait_old","SYS_eventfd","SYS_eventfd2","SYS_execve","SYS_execveat","SYS_exit","SYS_exit_group","SYS_faccessat","SYS_faccessat2","SYS_fadvise64","SYS_fallocate","SYS_fanotify_init","SYS_fanotify_mark","SYS_fchdir","SYS_fchmod","SYS_fchmodat","SYS_fchown","SYS_fchownat","SYS_fcntl","SYS_fdatasync","SYS_fgetxattr","SYS_finit_module","SYS_flistxattr","SYS_flock","SYS_fork","SYS_fremovexattr","SYS_fsconfig","SYS_fsetxattr","SYS_fsmount","SYS_fsopen","SYS_fspick","SYS_fstat","SYS_fstatfs","SYS_fsync","SYS_ftruncate","SYS_futex","SYS_futex_waitv","SYS_futimesat","SYS_get_kernel_syms","SYS_get_mempolicy","SYS_get_robust_list","SYS_get_thread_area","SYS_getcpu","SYS_getcwd","SYS_getdents","SYS_getdents64","SYS_getegid","SYS_geteuid","SYS_getgid","SYS_getgroups","SYS_getitimer","SYS_getpeername","SYS_getpgid","SYS_getpgrp","SYS_getpid","SYS_getpmsg","SYS_getppid","SYS_getpriority","SYS_getrandom","SYS_getresgid","SYS_getresuid","SYS_getrlimit","SYS_getrusage","SYS_getsid","SYS_getsockname","SYS_getsockopt","SYS_gettid","SYS_gettimeofday","SYS_getuid","SYS_getxattr","SYS_init_module","SYS_inotify_add_watch","SYS_inotify_init","SYS_inotify_init1","SYS_inotify_rm_watch","SYS_io_cancel","SYS_io_destroy","SYS_io_getevents","SYS_io_setup","SYS_io_submit","SYS_io_uring_enter","SYS_io_uring_register","SYS_io_uring_setup","SYS_ioctl","SYS_ioperm","SYS_iopl","SYS_ioprio_get","SYS_ioprio_set","SYS_kcmp","SYS_kexec_file_load","SYS_kexec_load","SYS_keyctl","SYS_kill","SYS_landlock_add_rule","SYS_landlock_create_ruleset","SYS_landlock_restrict_self","SYS_lchown","SYS_lgetxattr","SYS_link","SYS_linkat","SYS_listen","SYS_listxattr","SYS_llistxattr","SYS_lookup_dcookie","SYS_lremovexattr","SYS_lseek","SYS_lsetxattr","SYS_lstat","SYS_madvise","SYS_mbind","SYS_membarrier","SYS_memfd_create","SYS_memfd_secret","SYS_migrate_pages","SYS_mincore","SYS_mkdir","SYS_mkdirat","SYS_mknod","SYS_mknodat","SYS_mlock","SYS_mlock2","SYS_mlockall","SYS_mmap","SYS_modify_ldt","SYS_mount","SYS_mount_setattr","SYS_move_mount","SYS_move_pages","SYS_mprotect","SYS_mq_getsetattr","SYS_mq_notify","SYS_mq_open","SYS_mq_timedreceive","SYS_mq_timedsend","SYS_mq_unlink","SYS_mremap","SYS_msgctl","SYS_msgget","SYS_msgrcv","SYS_msgsnd","SYS_msync","SYS_munlock","SYS_munlockall","SYS_munmap","SYS_name_to_handle_at","SYS_nanosleep","SYS_newfstatat","SYS_nfsservctl","SYS_open","SYS_open_by_handle_at","SYS_open_tree","SYS_openat","SYS_openat2","SYS_pause","SYS_perf_event_open","SYS_personality","SYS_pidfd_getfd","SYS_pidfd_open","SYS_pidfd_send_signal","SYS_pipe","SYS_pipe2","SYS_pivot_root","SYS_pkey_alloc","SYS_pkey_free","SYS_pkey_mprotect","SYS_poll","SYS_ppoll","SYS_prctl","SYS_pread64","SYS_preadv","SYS_preadv2","SYS_prlimit64","SYS_process_madvise","SYS_process_mrelease","SYS_process_vm_readv","SYS_process_vm_writev","SYS_pselect6","SYS_ptrace","SYS_putpmsg","SYS_pwrite64","SYS_pwritev","SYS_pwritev2","SYS_query_module","SYS_quotactl","SYS_quotactl_fd","SYS_read","SYS_readahead","SYS_readlink","SYS_readlinkat","SYS_readv","SYS_reboot","SYS_recvfrom","SYS_recvmmsg","SYS_recvmsg","SYS_remap_file_pages","SYS_removexattr","SYS_rename","SYS_renameat","SYS_renameat2","SYS_request_key","SYS_restart_syscall","SYS_rmdir","SYS_rseq","SYS_rt_sigaction","SYS_rt_sigpending","SYS_rt_sigprocmask","SYS_rt_sigqueueinfo","SYS_rt_sigreturn","SYS_rt_sigsuspend","SYS_rt_sigtimedwait","SYS_rt_tgsigqueueinfo","SYS_sched_get_priority_max","SYS_sched_get_priority_min","SYS_sched_getaffinity","SYS_sched_getattr","SYS_sched_getparam","SYS_sched_getscheduler","SYS_sched_rr_get_interval","SYS_sched_setaffinity","SYS_sched_setattr","SYS_sched_setparam","SYS_sched_setscheduler","SYS_sched_yield","SYS_seccomp","SYS_security","SYS_select","SYS_semctl","SYS_semget","SYS_semop","SYS_semtimedop","SYS_sendfile","SYS_sendmmsg","SYS_sendmsg","SYS_sendto","SYS_set_mempolicy","SYS_set_mempolicy_home_node","SYS_set_robust_list","SYS_set_thread_area","SYS_set_tid_address","SYS_setdomainname","SYS_setfsgid","SYS_setfsuid","SYS_setgid","SYS_setgroups","SYS_sethostname","SYS_setitimer","SYS_setns","SYS_setpgid","SYS_setpriority","SYS_setregid","SYS_setresgid","SYS_setresuid","SYS_setreuid","SYS_setrlimit","SYS_setsid","SYS_setsockopt","SYS_settimeofday","SYS_setuid","SYS_setxattr","SYS_shmat","SYS_shmctl","SYS_shmdt","SYS_shmget","SYS_shutdown","SYS_sigaltstack","SYS_signalfd","SYS_signalfd4","SYS_socket","SYS_socketpair","SYS_splice","SYS_stat","SYS_statfs","SYS_statx","SYS_swapoff","SYS_swapon","SYS_symlink","SYS_symlinkat","SYS_sync","SYS_sync_file_range","SYS_syncfs","SYS_sysfs","SYS_sysinfo","SYS_syslog","SYS_tee","SYS_tgkill","SYS_time","SYS_timer_create","SYS_timer_delete","SYS_timer_getoverrun","SYS_timer_gettime","SYS_timer_settime","SYS_timerfd_create","SYS_timerfd_gettime","SYS_timerfd_settime","SYS_times","SYS_tkill","SYS_truncate","SYS_tuxcall","SYS_umask","SYS_umount2","SYS_uname","SYS_unlink","SYS_unlinkat","SYS_unshare","SYS_uselib","SYS_userfaultfd","SYS_ustat","SYS_utime","SYS_utimensat","SYS_utimes","SYS_vfork","SYS_vhangup","SYS_vmsplice","SYS_vserver","SYS_wait4","SYS_waitid","SYS_write","SYS_writev","S_IEXEC","S_IFBLK","S_IFCHR","S_IFDIR","S_IFIFO","S_IFLNK","S_IFMT","S_IFREG","S_IFSOCK","S_IREAD","S_IRGRP","S_IROTH","S_IRUSR","S_IRWXG","S_IRWXO","S_IRWXU","S_ISGID","S_ISUID","S_ISVTX","S_IWGRP","S_IWOTH","S_IWRITE","S_IWUSR","S_IXGRP","S_IXOTH","S_IXUSR","TAB0","TAB1","TAB2","TAB3","TABDLY","TCA_CHAIN","TCA_DUMP_INVISIBLE","TCA_FCNT","TCA_HW_OFFLOAD","TCA_KIND","TCA_OPTIONS","TCA_PAD","TCA_RATE","TCA_STAB","TCA_STATS","TCA_STATS2","TCA_UNSPEC","TCA_XSTATS","TCFLSH","TCGETA","TCGETS","TCGETS2","TCGETX","TCIFLUSH","TCIOFF","TCIOFLUSH","TCION","TCOFLUSH","TCOOFF","TCOON","TCP_CC_INFO","TCP_CM_INQ","TCP_CONGESTION","TCP_COOKIE_TRANSACTIONS","TCP_CORK","TCP_DEFER_ACCEPT","TCP_FASTOPEN","TCP_FASTOPEN_CONNECT","TCP_FASTOPEN_KEY","TCP_FASTOPEN_NO_COOKIE","TCP_INFO","TCP_INQ","TCP_KEEPCNT","TCP_KEEPIDLE","TCP_KEEPINTVL","TCP_LINGER2","TCP_MAXSEG","TCP_MD5SIG","TCP_MD5SIG_EXT","TCP_MD5SIG_MAXKEYLEN","TCP_NODELAY","TCP_NOTSENT_LOWAT","TCP_QUEUE_SEQ","TCP_QUICKACK","TCP_REPAIR","TCP_REPAIR_OPTIONS","TCP_REPAIR_QUEUE","TCP_REPAIR_WINDOW","TCP_SAVED_SYN","TCP_SAVE_SYN","TCP_SYNCNT","TCP_THIN_DUPACK","TCP_THIN_LINEAR_TIMEOUTS","TCP_TIMESTAMP","TCP_ULP","TCP_USER_TIMEOUT","TCP_WINDOW_CLAMP","TCP_ZEROCOPY_RECEIVE","TCSADRAIN","TCSAFLUSH","TCSANOW","TCSBRK","TCSBRKP","TCSETA","TCSETAF","TCSETAW","TCSETS","TCSETS2","TCSETSF","TCSETSF2","TCSETSW","TCSETSW2","TCSETX","TCSETXF","TCSETXW","TCXONC","TFD_CLOEXEC","TFD_NONBLOCK","TFD_TIMER_ABSTIME","TFD_TIMER_CANCEL_ON_SET","THOUSEP","TIMER_ABSTIME","TIME_BAD","TIME_DEL","TIME_ERROR","TIME_INS","TIME_OK","TIME_OOP","TIME_WAIT","TIOCCBRK","TIOCCONS","TIOCEXCL","TIOCGDEV","TIOCGETD","TIOCGEXCL","TIOCGICOUNT","TIOCGLCKTRMIOS","TIOCGPGRP","TIOCGPKT","TIOCGPTLCK","TIOCGPTN","TIOCGPTPEER","TIOCGRS485","TIOCGSERIAL","TIOCGSID","TIOCGSOFTCAR","TIOCGWINSZ","TIOCINQ","TIOCLINUX","TIOCMBIC","TIOCMBIS","TIOCMGET","TIOCMIWAIT","TIOCMSET","TIOCM_CAR","TIOCM_CD","TIOCM_CTS","TIOCM_DSR","TIOCM_DTR","TIOCM_LE","TIOCM_RI","TIOCM_RNG","TIOCM_RTS","TIOCM_SR","TIOCM_ST","TIOCNOTTY","TIOCNXCL","TIOCOUTQ","TIOCPKT","TIOCSBRK","TIOCSCTTY","TIOCSERCONFIG","TIOCSERGETLSR","TIOCSERGETMULTI","TIOCSERGSTRUCT","TIOCSERGWILD","TIOCSERSETMULTI","TIOCSERSWILD","TIOCSETD","TIOCSIG","TIOCSLCKTRMIOS","TIOCSPGRP","TIOCSPTLCK","TIOCSRS485","TIOCSSERIAL","TIOCSSOFTCAR","TIOCSTI","TIOCSWINSZ","TIOCVHANGUP","TLS_1_2_VERSION","TLS_1_2_VERSION_MAJOR","TLS_1_2_VERSION_MINOR","TLS_1_3_VERSION","TLS_1_3_VERSION_MAJOR","TLS_1_3_VERSION_MINOR","TLS_CIPHER_AES_GCM_128","TLS_CIPHER_AES_GCM_128_IV_SIZE","TLS_CIPHER_AES_GCM_128_KEY_SIZE","TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE","TLS_CIPHER_AES_GCM_128_SALT_SIZE","TLS_CIPHER_AES_GCM_128_TAG_SIZE","TLS_CIPHER_AES_GCM_256","TLS_CIPHER_AES_GCM_256_IV_SIZE","TLS_CIPHER_AES_GCM_256_KEY_SIZE","TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE","TLS_CIPHER_AES_GCM_256_SALT_SIZE","TLS_CIPHER_AES_GCM_256_TAG_SIZE","TLS_CIPHER_CHACHA20_POLY1305","TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE","TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE","TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE","TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE","TLS_CIPHER_CHACHA20_POLY1305_TAG_SIZE","TLS_GET_RECORD_TYPE","TLS_RX","TLS_SET_RECORD_TYPE","TLS_TX","TMPFS_MAGIC","TMP_MAX","TOSTOP","TRACEFS_MAGIC","TUN_FLT_ALLMULTI","TUN_F_CSUM","TUN_F_TSO4","TUN_F_TSO6","TUN_F_TSO_ECN","TUN_F_UFO","TUN_F_USO4","TUN_F_USO6","TUN_PKT_STRIP","TUN_READQ_SIZE","TUN_TAP_DEV","TUN_TUN_DEV","TUN_TX_TIMESTAMP","TUN_TYPE_MASK","T_FMT","T_FMT_AMPM","UDF_SUPER_MAGIC","UDP_CORK","UDP_ENCAP","UDP_GRO","UDP_NO_CHECK6_RX","UDP_NO_CHECK6_TX","UDP_SEGMENT","UINPUT_MAX_NAME_SIZE","UINPUT_VERSION","UIO_MAXIOV","UMOUNT_NOFOLLOW","UNAME26","USBDEVICE_SUPER_MAGIC","USER_PROCESS","USRQUOTA","UTIME_NOW","UTIME_OMIT","VDISCARD","VEOF","VEOL","VEOL2","VERASE","VINTR","VKILL","VLNEXT","VMADDR_CID_ANY","VMADDR_CID_HOST","VMADDR_CID_HYPERVISOR","VMADDR_CID_LOCAL","VMADDR_CID_RESERVED","VMADDR_PORT_ANY","VMIN","VM_BLOCK_DUMP","VM_DIRTY_BACKGROUND","VM_DIRTY_EXPIRE_CS","VM_DIRTY_RATIO","VM_DIRTY_WB_CS","VM_DROP_PAGECACHE","VM_HUGETLB_GROUP","VM_HUGETLB_PAGES","VM_LAPTOP_MODE","VM_LEGACY_VA_LAYOUT","VM_LOWMEM_RESERVE_RATIO","VM_MAX_MAP_COUNT","VM_MIN_FREE_KBYTES","VM_MIN_SLAB","VM_MIN_UNMAPPED","VM_NR_PDFLUSH_THREADS","VM_OVERCOMMIT_MEMORY","VM_OVERCOMMIT_RATIO","VM_PAGEBUF","VM_PAGE_CLUSTER","VM_PANIC_ON_OOM","VM_PERCPU_PAGELIST_FRACTION","VM_SWAPPINESS","VM_SWAP_TOKEN_TIMEOUT","VM_VDSO_ENABLED","VM_VFS_CACHE_PRESSURE","VM_ZONE_RECLAIM_MODE","VQUIT","VREPRINT","VSTART","VSTOP","VSUSP","VSWTC","VT0","VT1","VTDLY","VTIME","VWERASE","WCONTINUED","WCOREDUMP","WEXITED","WEXITSTATUS","WHOLE_SECONDS","WIFCONTINUED","WIFEXITED","WIFSIGNALED","WIFSTOPPED","WIRELESS_EXT","WNOHANG","WNOWAIT","WSTOPPED","WSTOPSIG","WTERMSIG","WUNTRACED","W_EXITCODE","W_OK","W_STOPCODE","XATTR_CREATE","XATTR_REPLACE","XDP_COPY","XDP_MMAP_OFFSETS","XDP_OPTIONS","XDP_OPTIONS_ZEROCOPY","XDP_PGOFF_RX_RING","XDP_PGOFF_TX_RING","XDP_PKT_CONTD","XDP_RING_NEED_WAKEUP","XDP_RX_RING","XDP_SHARED_UMEM","XDP_STATISTICS","XDP_TX_RING","XDP_UMEM_COMPLETION_RING","XDP_UMEM_FILL_RING","XDP_UMEM_PGOFF_COMPLETION_RING","XDP_UMEM_PGOFF_FILL_RING","XDP_UMEM_REG","XDP_UMEM_UNALIGNED_CHUNK_FLAG","XDP_USE_NEED_WAKEUP","XDP_USE_SG","XDP_ZEROCOPY","XENFS_SUPER_MAGIC","XFS_SUPER_MAGIC","XSK_UNALIGNED_BUF_ADDR_MASK","XSK_UNALIGNED_BUF_OFFSET_SHIFT","XTABS","X_OK","YESEXPR","YESSTR","_IOFBF","_IOLBF","_IONBF","_PC_2_SYMLINKS","_PC_ALLOC_SIZE_MIN","_PC_ASYNC_IO","_PC_CHOWN_RESTRICTED","_PC_FILESIZEBITS","_PC_LINK_MAX","_PC_MAX_CANON","_PC_MAX_INPUT","_PC_NAME_MAX","_PC_NO_TRUNC","_PC_PATH_MAX","_PC_PIPE_BUF","_PC_PRIO_IO","_PC_REC_INCR_XFER_SIZE","_PC_REC_MAX_XFER_SIZE","_PC_REC_MIN_XFER_SIZE","_PC_REC_XFER_ALIGN","_PC_SOCK_MAXBUF","_PC_SYMLINK_MAX","_PC_SYNC_IO","_PC_VDISABLE","_POSIX_VDISABLE","_SC_2_CHAR_TERM","_SC_2_C_BIND","_SC_2_C_DEV","_SC_2_C_VERSION","_SC_2_FORT_DEV","_SC_2_FORT_RUN","_SC_2_LOCALEDEF","_SC_2_PBS","_SC_2_PBS_ACCOUNTING","_SC_2_PBS_CHECKPOINT","_SC_2_PBS_LOCATE","_SC_2_PBS_MESSAGE","_SC_2_PBS_TRACK","_SC_2_SW_DEV","_SC_2_UPE","_SC_2_VERSION","_SC_ADVISORY_INFO","_SC_AIO_LISTIO_MAX","_SC_AIO_MAX","_SC_AIO_PRIO_DELTA_MAX","_SC_ARG_MAX","_SC_ASYNCHRONOUS_IO","_SC_ATEXIT_MAX","_SC_AVPHYS_PAGES","_SC_BARRIERS","_SC_BASE","_SC_BC_BASE_MAX","_SC_BC_DIM_MAX","_SC_BC_SCALE_MAX","_SC_BC_STRING_MAX","_SC_CHARCLASS_NAME_MAX","_SC_CHAR_BIT","_SC_CHAR_MAX","_SC_CHAR_MIN","_SC_CHILD_MAX","_SC_CLK_TCK","_SC_CLOCK_SELECTION","_SC_COLL_WEIGHTS_MAX","_SC_CPUTIME","_SC_C_LANG_SUPPORT","_SC_C_LANG_SUPPORT_R","_SC_DELAYTIMER_MAX","_SC_DEVICE_IO","_SC_DEVICE_SPECIFIC","_SC_DEVICE_SPECIFIC_R","_SC_EQUIV_CLASS_MAX","_SC_EXPR_NEST_MAX","_SC_FD_MGMT","_SC_FIFO","_SC_FILE_ATTRIBUTES","_SC_FILE_LOCKING","_SC_FILE_SYSTEM","_SC_FSYNC","_SC_GETGR_R_SIZE_MAX","_SC_GETPW_R_SIZE_MAX","_SC_HOST_NAME_MAX","_SC_INT_MAX","_SC_INT_MIN","_SC_IOV_MAX","_SC_IPV6","_SC_JOB_CONTROL","_SC_LEVEL1_DCACHE_ASSOC","_SC_LEVEL1_DCACHE_LINESIZE","_SC_LEVEL1_DCACHE_SIZE","_SC_LEVEL1_ICACHE_ASSOC","_SC_LEVEL1_ICACHE_LINESIZE","_SC_LEVEL1_ICACHE_SIZE","_SC_LEVEL2_CACHE_ASSOC","_SC_LEVEL2_CACHE_LINESIZE","_SC_LEVEL2_CACHE_SIZE","_SC_LEVEL3_CACHE_ASSOC","_SC_LEVEL3_CACHE_LINESIZE","_SC_LEVEL3_CACHE_SIZE","_SC_LEVEL4_CACHE_ASSOC","_SC_LEVEL4_CACHE_LINESIZE","_SC_LEVEL4_CACHE_SIZE","_SC_LINE_MAX","_SC_LOGIN_NAME_MAX","_SC_LONG_BIT","_SC_MAPPED_FILES","_SC_MB_LEN_MAX","_SC_MEMLOCK","_SC_MEMLOCK_RANGE","_SC_MEMORY_PROTECTION","_SC_MESSAGE_PASSING","_SC_MONOTONIC_CLOCK","_SC_MQ_OPEN_MAX","_SC_MQ_PRIO_MAX","_SC_MULTI_PROCESS","_SC_NETWORKING","_SC_NGROUPS_MAX","_SC_NL_ARGMAX","_SC_NL_LANGMAX","_SC_NL_MSGMAX","_SC_NL_NMAX","_SC_NL_SETMAX","_SC_NL_TEXTMAX","_SC_NPROCESSORS_CONF","_SC_NPROCESSORS_ONLN","_SC_NZERO","_SC_OPEN_MAX","_SC_PAGESIZE","_SC_PAGE_SIZE","_SC_PASS_MAX","_SC_PHYS_PAGES","_SC_PII","_SC_PII_INTERNET","_SC_PII_INTERNET_DGRAM","_SC_PII_INTERNET_STREAM","_SC_PII_OSI","_SC_PII_OSI_CLTS","_SC_PII_OSI_COTS","_SC_PII_OSI_M","_SC_PII_SOCKET","_SC_PII_XTI","_SC_PIPE","_SC_POLL","_SC_PRIORITIZED_IO","_SC_PRIORITY_SCHEDULING","_SC_RAW_SOCKETS","_SC_READER_WRITER_LOCKS","_SC_REALTIME_SIGNALS","_SC_REGEXP","_SC_REGEX_VERSION","_SC_RE_DUP_MAX","_SC_RTSIG_MAX","_SC_SAVED_IDS","_SC_SCHAR_MAX","_SC_SCHAR_MIN","_SC_SELECT","_SC_SEMAPHORES","_SC_SEM_NSEMS_MAX","_SC_SEM_VALUE_MAX","_SC_SHARED_MEMORY_OBJECTS","_SC_SHELL","_SC_SHRT_MAX","_SC_SHRT_MIN","_SC_SIGNALS","_SC_SIGQUEUE_MAX","_SC_SINGLE_PROCESS","_SC_SPAWN","_SC_SPIN_LOCKS","_SC_SPORADIC_SERVER","_SC_SSIZE_MAX","_SC_SS_REPL_MAX","_SC_STREAMS","_SC_STREAM_MAX","_SC_SYMLOOP_MAX","_SC_SYNCHRONIZED_IO","_SC_SYSTEM_DATABASE","_SC_SYSTEM_DATABASE_R","_SC_THREADS","_SC_THREAD_ATTR_STACKADDR","_SC_THREAD_ATTR_STACKSIZE","_SC_THREAD_CPUTIME","_SC_THREAD_DESTRUCTOR_ITERATIONS","_SC_THREAD_KEYS_MAX","_SC_THREAD_PRIORITY_SCHEDULING","_SC_THREAD_PRIO_INHERIT","_SC_THREAD_PRIO_PROTECT","_SC_THREAD_PROCESS_SHARED","_SC_THREAD_ROBUST_PRIO_INHERIT","_SC_THREAD_ROBUST_PRIO_PROTECT","_SC_THREAD_SAFE_FUNCTIONS","_SC_THREAD_SPORADIC_SERVER","_SC_THREAD_STACK_MIN","_SC_THREAD_THREADS_MAX","_SC_TIMEOUTS","_SC_TIMERS","_SC_TIMER_MAX","_SC_TRACE","_SC_TRACE_EVENT_FILTER","_SC_TRACE_EVENT_NAME_MAX","_SC_TRACE_INHERIT","_SC_TRACE_LOG","_SC_TRACE_NAME_MAX","_SC_TRACE_SYS_MAX","_SC_TRACE_USER_EVENT_MAX","_SC_TTY_NAME_MAX","_SC_TYPED_MEMORY_OBJECTS","_SC_TZNAME_MAX","_SC_T_IOV_MAX","_SC_UCHAR_MAX","_SC_UINT_MAX","_SC_UIO_MAXIOV","_SC_ULONG_MAX","_SC_USER_GROUPS","_SC_USER_GROUPS_R","_SC_USHRT_MAX","_SC_V6_ILP32_OFF32","_SC_V6_ILP32_OFFBIG","_SC_V6_LP64_OFF64","_SC_V6_LPBIG_OFFBIG","_SC_V7_ILP32_OFF32","_SC_V7_ILP32_OFFBIG","_SC_V7_LP64_OFF64","_SC_V7_LPBIG_OFFBIG","_SC_VERSION","_SC_WORD_BIT","_SC_XBS5_ILP32_OFF32","_SC_XBS5_ILP32_OFFBIG","_SC_XBS5_LP64_OFF64","_SC_XBS5_LPBIG_OFFBIG","_SC_XOPEN_CRYPT","_SC_XOPEN_ENH_I18N","_SC_XOPEN_LEGACY","_SC_XOPEN_REALTIME","_SC_XOPEN_REALTIME_THREADS","_SC_XOPEN_SHM","_SC_XOPEN_STREAMS","_SC_XOPEN_UNIX","_SC_XOPEN_VERSION","_SC_XOPEN_XCU_VERSION","_SC_XOPEN_XPG2","_SC_XOPEN_XPG3","_SC_XOPEN_XPG4","__NFT_REG_MAX","__SIZEOF_PTHREAD_BARRIERATTR_T","__SIZEOF_PTHREAD_BARRIER_T","__SIZEOF_PTHREAD_CONDATTR_T","__SIZEOF_PTHREAD_COND_T","__SIZEOF_PTHREAD_MUTEXATTR_T","__SIZEOF_PTHREAD_MUTEX_T","__SIZEOF_PTHREAD_RWLOCKATTR_T","__SIZEOF_PTHREAD_RWLOCK_T","__UT_HOSTSIZE","__UT_LINESIZE","__UT_NAMESIZE","__WALL","__WCLONE","__WNOTHREAD","__c_anonymous_ifc_ifcu","__c_anonymous_ifr_ifru","__c_anonymous_ifru_map","__c_anonymous_ptrace_syscall_info_data","__c_anonymous_ptrace_syscall_info_entry","__c_anonymous_ptrace_syscall_info_exit","__c_anonymous_ptrace_syscall_info_seccomp","__c_anonymous_sockaddr_can_can_addr","__c_anonymous_sockaddr_can_j1939","__c_anonymous_sockaddr_can_tp","__errno_location","__exit_status","__fsword_t","__glibc_reserved1","__glibc_reserved2","__glibc_reserved3","__glibc_reserved4","__key","__priority_which_t","__rlimit_resource_t","__s16","__s32","__s64","__seq","__statx_timestamp_pad1","__syscall_ulong_t","__timeval","__u16","__u32","__u64","__u8","__unused1","__unused10","__unused11","__unused2","__unused3","__unused4","__unused5","__unused6","__unused7","__unused8","__unused9","_exit","_f","_libc_fpstate","_libc_fpxreg","_libc_xmmreg","_st","_xmm","abort","abs","absflat","absfuzz","absinfo","absmax","absmin","accept","accept4","access","acct","actime","addmntent","addr","addr","addr","addr","addr","addr_mask","addrinfo","adjtime","adjtimex","af","af_alg_iv","ai_addr","ai_addrlen","ai_canonname","ai_family","ai_flags","ai_next","ai_protocol","ai_socktype","aio_buf","aio_cancel","aio_error","aio_fildes","aio_fsync","aio_lio_opcode","aio_nbytes","aio_offset","aio_read","aio_reqprio","aio_return","aio_sigevent","aio_suspend","aio_write","aiocb","alarm","ar_hln","ar_hrd","ar_op","ar_pln","ar_pro","arch","arch","arena","arena","args","args","args","arp_dev","arp_flags","arp_flags","arp_ha","arp_ha","arp_netmask","arp_netmask","arp_pa","arp_pa","arpd_request","arphdr","arpreq","arpreq_old","asctime_r","atexit","atof","atoi","atol","atoll","attack_length","attack_level","auth_keynumber","backtrace","base_addr","bind","blkcnt64_t","blkcnt_t","blksize_t","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","brk","bsearch","bufferram","bustype","button","c_cc","c_cc","c_cflag","c_cflag","c_char","c_double","c_float","c_iflag","c_iflag","c_int","c_ispeed","c_ispeed","c_lflag","c_lflag","c_line","c_line","c_long","c_longlong","c_oflag","c_oflag","c_ospeed","c_ospeed","c_schar","c_short","c_uchar","c_uint","c_ulong","c_ulonglong","c_ushort","c_void","calcnt","calloc","can_addr","can_dlc","can_err_mask_t","can_family","can_filter","can_frame","can_id","can_id","can_id","can_ifindex","can_mask","canfd_frame","canid_t","canxl_frame","cc_t","center","cfgetispeed","cfgetospeed","cfmakeraw","cfsetispeed","cfsetospeed","cfsetspeed","cgid","cgroup","ch_addralign","ch_addralign","ch_reserved","ch_size","ch_size","ch_type","ch_type","chdir","child_tid","chmod","chown","chroot","chunk_size","chunk_size","cipher_type","clearenv","clearerr","clock_adjtime","clock_getcpuclockid","clock_getres","clock_gettime","clock_nanosleep","clock_settime","clock_t","clockid","clockid_t","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_args","close","close_range","closedir","closelog","cmd","cmsg_len","cmsg_level","cmsg_type","cmsghdr","code","code","code","codes_ptr","codes_size","connect","constant","consumer","consumer","cookie","copy_file_range","cpu_set_t","cr","cr","creat","creat64","cs","ctermid","ctime_r","cuid","currency_symbol","custom_data","custom_len","cwd","cwd","d_ino","d_ino","d_name","d_name","d_off","d_off","d_reclen","d_reclen","d_type","d_type","daemon","data","data","data","deadband","decimal_point","delay","desc","desc","dest_offset","dev","dev_t","difftime","direction","dirent","dirent64","dirfd","dirname","dl_iterate_phdr","dl_phdr_info","dladdr","dladdr1","dlclose","dlerror","dli_fbase","dli_fname","dli_saddr","dli_sname","dlinfo","dlmopen","dlopen","dlpi_addr","dlpi_adds","dlpi_name","dlpi_phdr","dlpi_phnum","dlpi_subs","dlpi_tls_data","dlpi_tls_modid","dlsym","dma","domainname","dqb_bhardlimit","dqb_bsoftlimit","dqb_btime","dqb_curinodes","dqb_curspace","dqb_ihardlimit","dqb_isoftlimit","dqb_itime","dqb_valid","dqblk","drand48","ds","dup","dup2","dup3","duplocale","e_ehsize","e_ehsize","e_entry","e_entry","e_exit","e_flags","e_flags","e_ident","e_ident","e_machine","e_machine","e_phentsize","e_phentsize","e_phnum","e_phnum","e_phoff","e_phoff","e_shentsize","e_shentsize","e_shnum","e_shnum","e_shoff","e_shoff","e_shstrndx","e_shstrndx","e_termination","e_type","e_type","e_version","e_version","eaccess","ee_code","ee_data","ee_errno","ee_info","ee_origin","ee_pad","ee_type","effect","effect_id","eflags","element","end_level","endgrent","endmntent","endpwent","endservent","endspent","endutxent","entry","envelope","envelope","envelope","epoll_create","epoll_create1","epoll_ctl","epoll_event","epoll_pwait","epoll_wait","erand48","errcnt","error","es","esterror","esterror","euidaccess","event_len","eventfd","eventfd_read","eventfd_t","eventfd_write","events","events","execl","execle","execlp","execv","execve","execveat","execvp","execvpe","exit","exit","exit_signal","explicit_bzero","exponent","f_bavail","f_bavail","f_bavail","f_bavail","f_bfree","f_bfree","f_bfree","f_bfree","f_blocks","f_blocks","f_blocks","f_blocks","f_bsize","f_bsize","f_bsize","f_bsize","f_favail","f_favail","f_ffree","f_ffree","f_ffree","f_ffree","f_files","f_files","f_files","f_files","f_flag","f_flag","f_flags","f_frsize","f_frsize","f_frsize","f_frsize","f_fsid","f_fsid","f_fsid","f_fsid","f_namelen","f_namelen","f_namemax","f_namemax","f_spare","f_type","f_type","faccessat","fade_length","fade_level","fallocate","fallocate64","fanotify_event_metadata","fanotify_init","fanotify_mark","fanotify_response","fchdir","fchmod","fchmodat","fchown","fchownat","fclose","fcntl","fd","fd","fd","fd_set","fdatasync","fdopen","fdopendir","feof","ferror","fexecve","ff_condition_effect","ff_constant_effect","ff_effect","ff_effects_max","ff_effects_max","ff_envelope","ff_periodic_effect","ff_ramp_effect","ff_replay","ff_rumble_effect","ff_trigger","fflush","fgetc","fgetgrent_r","fgetpos","fgetpos64","fgetpwent_r","fgets","fgetspent_r","fgetxattr","file_clone_range","fileno","filter","flag","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flat","flistxattr","flock","flock","flock64","fmemopen","fmt","fop","fop","fopen","fopen64","fordblks","fordblks","fork","forkpty","fpathconf","fpos64_t","fpos_t","fpregs","fprintf","fputc","fputs","fr","fr","frac_digits","fread","fread_unlocked","free","freeaddrinfo","freehigh","freeifaddrs","freelocale","freeram","freeswap","fremovexattr","freopen","freopen64","freq","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","fs","fs_base","fsblkcnt_t","fscanf","fseek","fseeko","fseeko64","fsetpos","fsetpos64","fsetxattr","fsfilcnt_t","fsid_t","fsmblks","fsmblks","fstat","fstat64","fstatat","fstatat64","fstatfs","fstatfs64","fstatvfs","fstatvfs64","fsync","ftell","ftello","ftello64","ftok","ftruncate","ftruncate64","ftw","ftw","futimens","futimes","fuzz","fwrite","gai_strerror","genlmsghdr","getaddrinfo","getauxval","getchar","getchar_unlocked","getcontext","getcwd","getdomainname","getdtablesize","getegid","getentropy","getenv","geteuid","getgid","getgrent","getgrent_r","getgrgid","getgrgid_r","getgrnam","getgrnam_r","getgrouplist","getgroups","gethostid","gethostname","getifaddrs","getline","getloadavg","getlogin","getmntent","getmntent_r","getnameinfo","getopt","getopt_long","getpeername","getpgid","getpgrp","getpid","getppid","getpriority","getprotobyname","getprotobynumber","getpt","getpwent","getpwent_r","getpwnam","getpwnam_r","getpwuid","getpwuid_r","getrandom","getresgid","getresuid","getrlimit","getrlimit64","getrusage","getservbyname","getservbyport","getservent","getsid","getsockname","getsockopt","getspent","getspent_r","getspnam","getspnam_r","gettid","gettimeofday","getuid","getutxent","getutxid","getutxline","getxattr","gid","gid","gid_t","gl_flags","gl_flags","gl_offs","gl_offs","gl_pathc","gl_pathc","gl_pathv","gl_pathv","glob","glob64","glob64_t","glob_t","globfree","globfree64","gmtime","gmtime_r","gnu_basename","gnu_get_libc_release","gnu_get_libc_version","gr_gid","gr_mem","gr_name","gr_passwd","grantpt","greg_t","gregs","group","group","grouping","gs","gs_base","h_addr_list","h_addrtype","h_aliases","h_length","h_name","ha","has_arg","hasmntopt","hblkhd","hblkhd","hblks","hblks","headroom","headroom","hostent","hstrerror","hwtstamp_config","i387","iconv","iconv_close","iconv_open","iconv_t","id","id","id","id_t","idtype_t","if_freenameindex","if_index","if_indextoname","if_name","if_nameindex","if_nameindex","if_nametoindex","ifa_addr","ifa_data","ifa_flags","ifa_ifu","ifa_name","ifa_netmask","ifa_next","ifaddrs","ifc_ifcu","ifc_len","ifconf","ifcu_buf","ifcu_req","ifr6_addr","ifr6_ifindex","ifr6_prefixlen","ifr_ifru","ifr_name","ifreq","ifru_addr","ifru_broadaddr","ifru_data","ifru_dstaddr","ifru_flags","ifru_hwaddr","ifru_ifindex","ifru_map","ifru_metric","ifru_mtu","ifru_netmask","ifru_newname","ifru_slave","imr_address","imr_ifindex","imr_interface","imr_interface","imr_multiaddr","imr_multiaddr","imr_multiaddr","imr_sourceaddr","in6_addr","in6_ifreq","in6_pktinfo","in6_rtmsg","in_addr","in_addr_t","in_pktinfo","in_port_t","index","info","info","info","initgroups","ino64_t","ino_t","inotify_add_watch","inotify_event","inotify_init","inotify_init1","inotify_rm_watch","input_absinfo","input_event","input_id","input_keymap_entry","input_mask","instruction_pointer","instruction_pointer","int16_t","int32_t","int64_t","int8_t","int_curr_symbol","int_frac_digits","int_n_cs_precedes","int_n_sep_by_space","int_n_sign_posn","int_p_cs_precedes","int_p_sep_by_space","int_p_sign_posn","interval","intmax_t","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","intptr_t","ioctl","ioperm","iopl","iov_base","iov_len","iovec","ip","ip_mreq","ip_mreq_source","ip_mreqn","ipc_perm","ipi6_addr","ipi6_ifindex","ipi_addr","ipi_ifindex","ipi_spec_dst","ipv6_mreq","ipv6mr_interface","ipv6mr_multiaddr","irq","is_error","isalnum","isalpha","isatty","isblank","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","it_interval","it_interval","it_value","it_value","itimerspec","itimerval","iv","iv","iv","iv","ivlen","j1939","j1939_filter","jf","jitcnt","jitter","jrand48","jt","k","keepcost","keepcost","key","key","key","key_t","keycode","kill","killpg","l_len","l_len","l_linger","l_onoff","l_pid","l_pid","l_start","l_start","l_type","l_type","l_whence","l_whence","labs","lchown","lcong48","lconv","left_coeff","left_saturation","len","len","len","len","len","len","len","len","length","level","lgetxattr","linger","link","linkat","lio_listio","listen","listxattr","llistxattr","loads","locale_t","localeconv","localtime","localtime_r","lockf","loff_t","login_tty","lrand48","lremovexattr","lseek","lseek64","lsetxattr","lstat","lstat64","lutimes","machine","madvise","magic","magnitude","major","makecontext","makedev","mallinfo","mallinfo","mallinfo2","mallinfo2","malloc","malloc_info","malloc_trim","malloc_usable_size","mallopt","mask","mask","max_align_t","maxerror","maxerror","maximum","mcontext_t","mem_end","mem_start","mem_unit","memalign","memchr","memcmp","memcpy","memfd_create","memmem","memmove","memrchr","memset","metadata_len","mincore","minimum","minor","mkdir","mkdirat","mkdtemp","mkfifo","mkfifoat","mknod","mknodat","mkostemp","mkostemps","mkstemp","mkstemps","mktime","mlock","mlock2","mlockall","mmap","mmap64","mmsghdr","mnt_dir","mnt_freq","mnt_fsname","mnt_opts","mnt_passno","mnt_type","mntent","mode","mode","mode_t","modes","modtime","mon_decimal_point","mon_grouping","mon_thousands_sep","mount","mprotect","mq_attr","mq_close","mq_curmsgs","mq_flags","mq_getattr","mq_maxmsg","mq_msgsize","mq_open","mq_receive","mq_send","mq_setattr","mq_timedreceive","mq_timedsend","mq_unlink","mqd_t","mr_address","mr_alen","mr_ifindex","mr_type","mrand48","mremap","msg","msg_control","msg_controllen","msg_ctime","msg_flags","msg_hdr","msg_iov","msg_iovlen","msg_len","msg_lrpid","msg_lspid","msg_name","msg_namelen","msg_perm","msg_qbytes","msg_qnum","msg_rtime","msg_stime","msgctl","msgget","msghdr","msginfo","msglen_t","msgmap","msgmax","msgmnb","msgmni","msgpool","msgqnum_t","msgrcv","msgseg","msgsnd","msgssz","msgtql","msqid_ds","msync","munlock","munlockall","munmap","mxcr_mask","mxcr_mask","mxcsr","mxcsr","n_cs_precedes","n_sep_by_space","n_sign_posn","name","name","name","name","name","name_mask","name_t","nanosleep","negative_sign","newlocale","nfds_t","nice","nl_family","nl_groups","nl_item","nl_langinfo","nl_langinfo_l","nl_mmap_hdr","nl_mmap_req","nl_pid","nl_pktinfo","nla_len","nla_type","nlattr","nlink_t","nlmsg_flags","nlmsg_len","nlmsg_pid","nlmsg_seq","nlmsg_type","nlmsgerr","nlmsghdr","nm_block_nr","nm_block_size","nm_frame_nr","nm_frame_size","nm_gid","nm_group","nm_len","nm_pid","nm_status","nm_uid","nodename","nr","nr","nr","nr","nrand48","ntp_adjtime","ntp_gettime","ntptimeval","nxt_assoc_id","nxt_flags","nxt_length","nxt_ppid","nxt_sid","off","off64_t","off_t","offset","offset","old","op","open","open64","open_how","open_memstream","open_wmemstream","openat","openat64","opendir","openlog","openpty","option","options","ordblks","ordblks","orig_rax","p_aliases","p_align","p_align","p_cs_precedes","p_filesz","p_filesz","p_flags","p_flags","p_memsz","p_memsz","p_name","p_offset","p_offset","p_paddr","p_paddr","p_proto","p_sep_by_space","p_sign_posn","p_type","p_type","p_vaddr","p_vaddr","packet_mreq","pad","pad","pad","parent_tid","passwd","pathconf","pause","pclose","period","perror","personality","pgn","pgn","pgn_mask","pgn_t","phase","pid","pid","pid_t","pidfd","pipe","pipe2","poll","pollfd","popen","port","positive_sign","posix_basename","posix_fadvise","posix_fadvise64","posix_fallocate","posix_fallocate64","posix_madvise","posix_memalign","posix_openpt","posix_spawn","posix_spawn_file_actions_addchdir_np","posix_spawn_file_actions_addclose","posix_spawn_file_actions_addclosefrom_np","posix_spawn_file_actions_adddup2","posix_spawn_file_actions_addfchdir_np","posix_spawn_file_actions_addopen","posix_spawn_file_actions_addtcsetpgrp_np","posix_spawn_file_actions_destroy","posix_spawn_file_actions_init","posix_spawn_file_actions_t","posix_spawnattr_destroy","posix_spawnattr_getflags","posix_spawnattr_getpgroup","posix_spawnattr_getschedparam","posix_spawnattr_getschedpolicy","posix_spawnattr_getsigdefault","posix_spawnattr_getsigmask","posix_spawnattr_init","posix_spawnattr_setflags","posix_spawnattr_setpgroup","posix_spawnattr_setschedparam","posix_spawnattr_setschedpolicy","posix_spawnattr_setsigdefault","posix_spawnattr_setsigmask","posix_spawnattr_t","posix_spawnp","ppoll","ppsfreq","pr_policy","pr_value","prctl","pread","pread64","preadv","preadv2","preadv64","preadv64v2","precision","printf","prio","priority_t","prlimit","prlimit64","process_vm_readv","process_vm_writev","procs","producer","producer","product","protoent","pselect","pthread_atfork","pthread_attr_destroy","pthread_attr_getaffinity_np","pthread_attr_getguardsize","pthread_attr_getinheritsched","pthread_attr_getschedparam","pthread_attr_getschedpolicy","pthread_attr_getstack","pthread_attr_getstacksize","pthread_attr_init","pthread_attr_setaffinity_np","pthread_attr_setdetachstate","pthread_attr_setguardsize","pthread_attr_setinheritsched","pthread_attr_setschedparam","pthread_attr_setschedpolicy","pthread_attr_setstacksize","pthread_attr_t","pthread_barrier_destroy","pthread_barrier_init","pthread_barrier_t","pthread_barrier_wait","pthread_barrierattr_destroy","pthread_barrierattr_getpshared","pthread_barrierattr_init","pthread_barrierattr_setpshared","pthread_barrierattr_t","pthread_cancel","pthread_cond_broadcast","pthread_cond_destroy","pthread_cond_init","pthread_cond_signal","pthread_cond_t","pthread_cond_timedwait","pthread_cond_wait","pthread_condattr_destroy","pthread_condattr_getclock","pthread_condattr_getpshared","pthread_condattr_init","pthread_condattr_setclock","pthread_condattr_setpshared","pthread_condattr_t","pthread_create","pthread_detach","pthread_exit","pthread_getaffinity_np","pthread_getattr_np","pthread_getcpuclockid","pthread_getname_np","pthread_getschedparam","pthread_getspecific","pthread_join","pthread_key_create","pthread_key_delete","pthread_key_t","pthread_kill","pthread_mutex_consistent","pthread_mutex_destroy","pthread_mutex_init","pthread_mutex_lock","pthread_mutex_t","pthread_mutex_timedlock","pthread_mutex_trylock","pthread_mutex_unlock","pthread_mutexattr_destroy","pthread_mutexattr_getprotocol","pthread_mutexattr_getpshared","pthread_mutexattr_getrobust","pthread_mutexattr_init","pthread_mutexattr_setprotocol","pthread_mutexattr_setpshared","pthread_mutexattr_setrobust","pthread_mutexattr_settype","pthread_mutexattr_t","pthread_once","pthread_once_t","pthread_rwlock_destroy","pthread_rwlock_init","pthread_rwlock_rdlock","pthread_rwlock_t","pthread_rwlock_tryrdlock","pthread_rwlock_trywrlock","pthread_rwlock_unlock","pthread_rwlock_wrlock","pthread_rwlockattr_destroy","pthread_rwlockattr_getkind_np","pthread_rwlockattr_getpshared","pthread_rwlockattr_init","pthread_rwlockattr_setkind_np","pthread_rwlockattr_setpshared","pthread_rwlockattr_t","pthread_self","pthread_setaffinity_np","pthread_setname_np","pthread_setschedparam","pthread_setschedprio","pthread_setspecific","pthread_sigmask","pthread_sigqueue","pthread_spin_destroy","pthread_spin_init","pthread_spin_lock","pthread_spin_trylock","pthread_spin_unlock","pthread_spinlock_t","pthread_t","ptrace","ptrace_peeksiginfo_args","ptrace_rseq_configuration","ptrace_syscall_info","ptrdiff_t","ptsname","ptsname_r","putchar","putchar_unlocked","putenv","putgrent","putpwent","puts","pututxline","pw_dir","pw_gecos","pw_gid","pw_name","pw_passwd","pw_shell","pw_uid","pwrite","pwrite64","pwritev","pwritev2","pwritev64","pwritev64v2","qsort","qsort_r","quotactl","r10","r11","r12","r13","r14","r15","r8","r9","raise","rand","rax","rbp","rbx","rcv_assoc_id","rcv_context","rcv_cumtsn","rcv_flags","rcv_ppid","rcv_sid","rcv_ssn","rcv_tsn","rcx","rdi","rdp","rdp","rdx","read","readahead","readdir","readdir64","readdir64_r","readdir_r","readlink","readlinkat","readv","realloc","reallocarray","realpath","reboot","rec_seq","rec_seq","rec_seq","recv","recvfrom","recvmmsg","recvmsg","regcomp","regerror","regex_t","regexec","regfree","regmatch_t","regoff_t","regs","release","remap_file_pages","remove","removexattr","rename","renameat","renameat2","replay","req","request_id","request_id","res_init","reserved","reserved","resolution","resolve","response","ret_data","retval","retval","revents","rewind","rewinddir","right_coeff","right_saturation","rip","rip","rip","rlim64_t","rlim_cur","rlim_cur","rlim_max","rlim_max","rlim_t","rlimit","rlimit64","rm_eo","rm_so","rmdir","rseq_abi_pointer","rseq_abi_size","rsi","rsp","rt_class","rt_dev","rt_dst","rt_flags","rt_gateway","rt_genmask","rt_irtt","rt_metric","rt_mtu","rt_pad1","rt_pad2","rt_pad3","rt_pad4","rt_tos","rt_window","rtentry","ru_idrss","ru_inblock","ru_isrss","ru_ixrss","ru_majflt","ru_maxrss","ru_minflt","ru_msgrcv","ru_msgsnd","ru_nivcsw","ru_nsignals","ru_nswap","ru_nvcsw","ru_oublock","ru_stime","ru_utime","rusage","rx","rx","rx_dropped","rx_dropped","rx_fill_ring_empty_descs","rx_filter","rx_id","rx_invalid_descs","rx_invalid_descs","rx_ring_full","s6_addr","s_addr","s_aliases","s_name","s_port","s_proto","sa_data","sa_family","sa_family_t","sa_flags","sa_mask","sa_restorer","sa_sigaction","salg_family","salg_feat","salg_mask","salg_name","salg_type","salt","salt","salt","sbrk","scancode","scanf","sched_get_priority_max","sched_get_priority_min","sched_getaffinity","sched_getcpu","sched_getparam","sched_getscheduler","sched_param","sched_priority","sched_rr_get_interval","sched_setaffinity","sched_setparam","sched_setscheduler","sched_yield","sctp_assoc_t","sctp_authinfo","sctp_initmsg","sctp_nxtinfo","sctp_prinfo","sctp_rcvinfo","sctp_sndinfo","sctp_sndrcvinfo","sdt","seccomp","seccomp_data","seccomp_data","seccomp_notif","seccomp_notif_resp","seccomp_notif_sizes","seed48","seekdir","select","sem_close","sem_ctime","sem_destroy","sem_flg","sem_getvalue","sem_init","sem_nsems","sem_num","sem_op","sem_open","sem_otime","sem_perm","sem_post","sem_t","sem_timedwait","sem_trywait","sem_unlink","sem_wait","semaem","sembuf","semctl","semget","semid_ds","seminfo","semmap","semmni","semmns","semmnu","semmsl","semop","semopm","semume","semusz","semvmx","send","sendfile","sendfile64","sendmmsg","sendmsg","sendto","servent","set_tid","set_tid_size","setbuf","setcontext","setdomainname","setegid","setenv","seteuid","setfsgid","setfsuid","setgid","setgrent","setgroups","sethostid","sethostname","setlocale","setlogmask","setmntent","setns","setpgid","setpriority","setpwent","setregid","setresgid","setresuid","setreuid","setrlimit","setrlimit64","setservent","setsid","setsockopt","setspent","settimeofday","setuid","setutxent","setvbuf","setxattr","sgetspent_r","sh_addr","sh_addr","sh_addralign","sh_addralign","sh_entsize","sh_entsize","sh_flags","sh_flags","sh_info","sh_info","sh_link","sh_link","sh_name","sh_name","sh_offset","sh_offset","sh_size","sh_size","sh_type","sh_type","sharedram","shift","shm_atime","shm_cpid","shm_ctime","shm_dtime","shm_lpid","shm_nattch","shm_open","shm_perm","shm_segsz","shm_unlink","shmat","shmatt_t","shmctl","shmdt","shmget","shmid_ds","shutdown","si_addr","si_code","si_errno","si_pid","si_signo","si_status","si_stime","si_uid","si_utime","si_value","sigaction","sigaction","sigaddset","sigaltstack","sigdelset","sigemptyset","sigev_notify","sigev_notify_thread_id","sigev_signo","sigev_value","sigevent","sigfillset","sighandler_t","siginfo_t","sigismember","signal","signal","signalfd","signalfd_siginfo","signature","significand","sigpending","sigprocmask","sigset_t","sigsuspend","sigtimedwait","sigval","sigwait","sigwaitinfo","sin6_addr","sin6_family","sin6_flowinfo","sin6_port","sin6_scope_id","sin_addr","sin_family","sin_port","sin_zero","sinfo_assoc_id","sinfo_context","sinfo_cumtsn","sinfo_flags","sinfo_ppid","sinfo_ssn","sinfo_stream","sinfo_timetolive","sinfo_tsn","sinit_max_attempts","sinit_max_init_timeo","sinit_max_instreams","sinit_num_ostreams","sival_ptr","size_t","sleep","sll_addr","sll_family","sll_halen","sll_hatype","sll_ifindex","sll_pkttype","sll_protocol","smblks","smblks","snd_assoc_id","snd_context","snd_flags","snd_ppid","snd_sid","snprintf","sock_extended_err","sock_filter","sock_fprog","sock_txtime","sockaddr","sockaddr_alg","sockaddr_can","sockaddr_in","sockaddr_in6","sockaddr_ll","sockaddr_nl","sockaddr_storage","sockaddr_un","sockaddr_vm","sockaddr_xdp","socket","socketpair","socklen_t","sp_expire","sp_flag","sp_inact","sp_lstchg","sp_max","sp_min","sp_namp","sp_pwdp","sp_warn","speed_t","splice","sprintf","spwd","srand","srand48","src_fd","src_length","src_offset","ss","ss_family","ss_flags","ss_size","ss_sp","sscanf","ssi_addr","ssi_addr_lsb","ssi_arch","ssi_band","ssi_call_addr","ssi_code","ssi_errno","ssi_fd","ssi_int","ssi_overrun","ssi_pid","ssi_ptr","ssi_signo","ssi_status","ssi_stime","ssi_syscall","ssi_tid","ssi_trapno","ssi_uid","ssi_utime","ssize_t","st_atime","st_atime","st_atime_nsec","st_atime_nsec","st_blksize","st_blksize","st_blocks","st_blocks","st_ctime","st_ctime","st_ctime_nsec","st_ctime_nsec","st_dev","st_dev","st_gid","st_gid","st_info","st_info","st_ino","st_ino","st_mode","st_mode","st_mtime","st_mtime","st_mtime_nsec","st_mtime_nsec","st_name","st_name","st_nlink","st_nlink","st_other","st_other","st_rdev","st_rdev","st_shndx","st_shndx","st_size","st_size","st_size","st_size","st_space","st_uid","st_uid","st_value","st_value","stabil","stack","stack_pointer","stack_size","stack_t","stamp","start_code","start_level","start_stack","stat","stat","stat64","stat64","statfs","statfs","statfs64","statfs64","status","statvfs","statvfs","statvfs64","statvfs64","statx","statx","statx_timestamp","stbcnt","stpcpy","stpncpy","strcasecmp","strcasestr","strcat","strchr","strchrnul","strcmp","strcoll","strcpy","strcspn","strdup","strerror","strerror_r","strftime","strlen","strncasecmp","strncat","strncmp","strncpy","strndup","strnlen","strong_magnitude","strpbrk","strptime","strrchr","strsignal","strspn","strstr","strtod","strtof","strtok","strtok_r","strtol","strtoll","strtoul","strtoull","strxfrm","stx_atime","stx_attributes","stx_attributes_mask","stx_blksize","stx_blocks","stx_btime","stx_ctime","stx_dev_major","stx_dev_minor","stx_dio_mem_align","stx_dio_offset_align","stx_gid","stx_ino","stx_mask","stx_mnt_id","stx_mode","stx_mtime","stx_nlink","stx_rdev_major","stx_rdev_minor","stx_size","stx_uid","sun_family","sun_path","suseconds_t","sval","svm_cid","svm_family","svm_port","svm_reserved1","svm_zero","swapcontext","swapoff","swapon","swd","swd","sxdp_family","sxdp_flags","sxdp_ifindex","sxdp_queue_id","sxdp_shared_umem_fd","symlink","symlinkat","sync","sync_file_range","syncfs","syscall","sysconf","sysctl","sysinfo","sysinfo","syslog","sysname","system","tai","tai","tcdrain","tcflag_t","tcflow","tcflush","tcgetattr","tcgetpgrp","tcgetsid","tcsendbreak","tcsetattr","tcsetpgrp","tee","telldir","termios","termios2","thousands_sep","tick","time","time","time","time","time_t","timegm","timer_create","timer_delete","timer_getoverrun","timer_gettime","timer_settime","timer_t","timerfd_create","timerfd_gettime","timerfd_settime","times","timespec","timeval","timex","timezone","tls","tls12_crypto_info_aes_gcm_128","tls12_crypto_info_aes_gcm_256","tls12_crypto_info_chacha20_poly1305","tls_crypto_info","tm","tm_gmtoff","tm_hour","tm_isdst","tm_mday","tm_min","tm_mon","tm_sec","tm_wday","tm_yday","tm_year","tm_zone","tmpfile","tmpfile64","tmpnam","tms","tms_cstime","tms_cutime","tms_stime","tms_utime","tolerance","tolower","totalhigh","totalram","totalswap","toupper","tp","trigger","truncate","truncate64","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ttyname","ttyname_r","tv_nsec","tv_nsec","tv_sec","tv_sec","tv_sec","tv_sec","tv_usec","tv_usec","tx","tx","tx_id","tx_invalid_descs","tx_invalid_descs","tx_ring_empty_descs","tx_type","type_","type_","type_","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","u","u","u64","u_ar0","u_comm","u_debugreg","u_dsize","u_fpstate","u_fpvalid","u_ssize","u_tsize","uc_flags","uc_link","uc_mcontext","uc_sigmask","uc_stack","ucontext_t","ucred","uid","uid","uid_t","uinput_abs_setup","uinput_ff_erase","uinput_ff_upload","uinput_setup","uinput_user_dev","uint16_t","uint32_t","uint64_t","uint8_t","uintmax_t","uintptr_t","umask","umount","umount2","uname","ungetc","unlink","unlinkat","unlockpt","unsetenv","unshare","uordblks","uordblks","updated","uptime","useconds_t","uselocale","user","user_fpregs_struct","user_regs_struct","usleep","usmblks","usmblks","ut_addr_v6","ut_exit","ut_host","ut_id","ut_line","ut_pid","ut_session","ut_tv","ut_type","ut_user","utimbuf","utime","utimensat","utimes","utmpname","utmpx","utmpxname","utsname","val","value","value","vendor","vers","version","version","version","version","vfork","vhangup","vmsplice","wait","wait4","waitid","waitpid","waveform","wchar_t","wcslen","wcstombs","wd","weak_magnitude","winsize","wmemchr","write","writev","ws_col","ws_row","ws_xpixel","ws_ypixel","xdp_desc","xdp_mmap_offsets","xdp_mmap_offsets_v1","xdp_options","xdp_ring_offset","xdp_ring_offset_v1","xdp_statistics","xdp_statistics_v1","xdp_umem_reg","xdp_umem_reg_v1","xmm_space"],"q":[[0,"libc"],[9062,"core::fmt"],[9063,"core::fmt"],[9064,"core::any"]],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","maximum number of services provided on the same listening …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","IP6 Auth Header","","IP Payload Comp. Protocol","DCCP","IP6 destination option","exterior gateway protocol","encapsulation header","IP6 Encap Sec. Payload","Ethernet-within-IPv6 encapsulation.","IP6 fragmentation header","General Routing Encap.","Hop-by-hop option header","","","xns idp","group mgmt protocol","","for compatibility","","","","","Multipath TCP","","IP6 no next header","Protocol indep. multicast","pup","raw IP packet","IP6 routing header","resource reservation","SCTP","","tp-4 w/ class negotiation","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","WARNING: The PartialEq, Eq and Hash implementations of this","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to C’s void type when used as a pointer.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","GNU version of basename(3), defined in string.h.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","interface name, e.g. “en0”","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","POSIX version of basename(3), defined in libgen.h.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The 64-bit libc on Solaris and illumos only has readdir_r. …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,164,164,164,208,0,0,0,0,0,208,151,0,0,0,0,0,0,163,163,163,163,163,163,163,163,163,163,163,0,188,0,0,0,204,204,0,0,138,138,88,138,138,0,0,0,0,21,0,110,112,179,180,184,112,0,0,0,230,0,43,43,43,43,43,43,43,43,152,0,0,152,0,152,152,152,0,152,0,152,0,0,0,0,54,54,54,54,54,114,173,157,158,114,170,172,52,52,53,52,53,52,53,52,53,0,0,0,0,0,0,0,0,0,0,79,79,128,0,119,0,0,0,0,242,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,243,244,245,37,38,39,40,19,41,42,43,44,15,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,246,61,62,63,64,65,233,66,67,68,12,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,18,109,110,111,112,4,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,7,5,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,242,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,243,244,245,37,38,39,40,19,41,42,43,44,15,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,246,61,62,63,64,65,233,66,67,68,12,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,18,109,110,111,112,4,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,7,5,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,0,0,188,73,78,156,218,156,218,0,0,0,156,218,0,156,218,156,218,156,218,0,0,156,218,156,218,0,0,0,0,0,0,0,0,163,0,149,228,0,149,0,0,111,228,229,149,111,0,0,0,0,82,0,0,0,0,0,0,208,216,166,167,166,166,167,166,167,0,216,0,0,0,179,180,130,0,0,0,0,0,0,0,0,0,147,0,0,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,19,41,42,43,44,15,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,12,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,18,109,110,111,112,4,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,7,5,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,0,0,0,0,0,102,5,5,5,0,72,88,4,76,76,0,163,175,177,105,0,0,176,178,0,0,205,0,0,208,48,83,83,204,212,135,146,135,146,135,146,135,146,135,146,0,228,229,230,82,48,77,175,177,118,104,0,0,85,0,0,0,0,0,0,0,0,0,0,47,47,47,47,0,0,0,89,89,89,89,89,89,89,89,0,119,59,64,64,64,64,64,64,64,64,64,0,0,205,0,0,0,0,90,91,90,91,153,90,91,90,91,90,91,90,91,90,91,90,91,90,91,90,91,90,91,90,91,153,90,91,90,91,0,18,18,18,18,18,18,18,86,87,205,203,81,0,0,0,0,0,0,185,80,81,83,0,0,0,0,0,0,0,163,116,205,163,164,0,223,0,0,0,0,29,56,0,0,0,0,0,0,0,0,0,185,216,0,202,192,199,200,214,192,199,200,214,192,199,200,214,192,199,200,214,200,214,192,199,200,214,192,199,200,214,200,214,199,192,199,200,214,192,199,200,214,192,199,200,214,199,192,199,0,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,29,106,223,0,0,0,0,0,0,0,0,0,0,137,138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,121,75,145,147,169,175,179,183,211,216,229,230,231,74,0,0,0,0,0,233,204,212,0,0,157,158,0,0,0,0,0,207,0,0,0,176,178,48,0,0,0,0,188,0,0,188,188,0,0,0,163,242,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,243,244,245,37,38,39,40,19,41,42,43,44,15,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,246,61,62,63,64,65,233,66,67,68,12,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,18,109,110,111,112,4,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,7,5,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,205,205,0,0,0,0,0,0,0,0,0,0,157,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,212,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,208,0,61,155,61,155,61,155,61,155,0,0,0,0,0,0,0,0,0,0,0,20,20,20,20,0,0,207,0,159,48,205,205,27,27,27,27,27,104,121,0,157,158,157,158,179,180,0,0,0,206,0,0,0,0,85,137,138,0,0,0,69,0,69,0,0,0,50,50,50,50,50,50,50,0,144,144,0,143,143,120,120,120,142,142,0,141,141,141,141,141,141,141,141,141,141,141,141,141,39,39,38,40,38,39,40,40,0,0,0,0,0,0,0,0,75,131,132,133,0,0,0,0,0,0,0,0,0,0,0,0,0,114,173,0,0,0,0,48,48,48,48,48,48,48,48,78,0,242,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,243,244,245,37,38,39,40,19,41,42,43,44,15,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,246,61,62,63,64,65,233,66,67,68,12,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,18,109,110,111,112,4,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,7,5,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,0,0,0,0,28,28,0,104,0,0,0,0,103,103,49,49,49,0,26,26,119,171,0,0,0,0,0,0,0,0,0,0,0,0,0,33,66,33,66,0,0,131,132,133,139,139,148,0,4,163,163,0,4,4,157,158,131,132,133,0,75,0,0,193,194,31,31,193,194,193,194,193,194,193,194,0,0,0,0,82,82,75,105,113,179,180,184,229,230,77,80,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,0,206,83,0,0,0,0,0,0,0,0,0,0,0,0,105,223,0,163,164,74,0,119,119,188,0,0,0,0,0,0,0,0,0,223,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,99,99,99,99,99,0,208,231,0,163,21,48,48,48,0,0,0,0,140,140,0,140,140,0,0,0,0,0,0,0,0,68,68,68,68,0,0,116,7,7,189,7,55,7,7,55,189,189,7,7,189,189,189,189,189,0,0,0,0,0,70,70,70,70,70,0,0,70,0,70,70,0,0,0,0,0,204,212,204,212,48,48,48,110,112,121,137,138,112,0,0,48,0,0,0,134,134,0,0,0,0,0,134,0,117,117,0,0,115,115,115,115,115,0,0,160,160,160,160,161,161,161,161,161,161,59,114,169,170,172,0,0,0,0,126,126,126,126,126,169,0,0,83,163,86,173,0,0,0,0,0,0,0,0,0,0,0,184,157,158,205,36,94,95,48,94,95,94,95,94,95,36,94,95,94,95,36,48,48,94,95,94,95,0,173,188,211,216,0,0,0,0,83,0,0,110,112,112,0,83,98,223,0,216,0,0,0,0,0,119,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,127,127,0,0,0,0,0,0,0,163,0,230,0,0,0,0,0,188,175,177,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,62,62,62,62,62,62,0,0,0,0,0,0,0,0,0,205,205,205,205,205,205,205,205,0,0,205,205,205,125,125,125,125,125,125,125,125,205,205,204,212,205,0,0,0,0,0,0,0,0,0,0,0,0,0,131,132,133,0,0,0,0,0,0,0,0,0,0,0,206,59,0,0,0,0,0,0,85,104,86,87,0,102,223,74,231,106,172,86,87,29,0,0,82,82,204,205,212,0,24,129,24,129,0,0,0,108,108,0,211,211,205,205,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,176,178,181,182,181,145,109,181,182,181,232,37,35,35,35,35,19,19,0,191,191,191,191,136,136,136,136,136,131,132,133,0,75,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,230,185,0,210,210,210,0,0,0,0,0,190,0,71,0,0,190,71,71,0,190,190,0,0,0,0,0,0,168,0,0,0,0,0,168,168,168,168,168,0,168,168,168,168,0,0,0,0,0,0,0,216,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,97,96,97,96,97,96,97,96,97,96,97,96,97,96,97,96,97,96,97,188,163,209,209,209,209,209,209,0,209,209,0,0,0,0,0,0,0,0,195,195,195,195,195,195,195,195,195,195,0,0,0,0,0,0,60,60,60,60,0,0,0,0,0,0,206,0,0,211,202,0,0,0,0,0,0,0,0,42,42,42,42,42,41,41,41,41,123,123,123,123,123,123,123,123,123,122,122,122,122,32,0,0,44,44,44,44,44,44,44,157,158,124,124,124,124,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,63,63,63,63,63,63,63,63,0,0,0,0,0,0,118,118,118,205,58,196,196,196,0,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,0,197,198,197,198,197,198,197,198,197,198,197,198,197,198,197,198,92,93,197,198,197,198,197,198,197,198,92,93,197,198,92,93,197,198,92,93,92,93,197,198,212,197,198,92,93,163,216,173,216,0,104,206,81,206,0,0,0,0,0,0,0,0,163,0,0,0,0,0,0,0,163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,57,57,0,171,107,107,107,107,107,0,0,0,204,212,174,174,174,174,174,0,0,0,0,0,0,0,0,0,0,0,59,0,163,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,163,0,72,163,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,0,0,0,0,0,45,45,45,45,45,45,45,45,45,45,45,0,0,0,0,34,34,34,34,163,0,188,188,188,0,148,85,0,0,242,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,243,244,245,37,38,39,40,19,41,42,43,44,15,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,246,61,62,63,64,65,233,66,67,68,12,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,18,109,110,111,112,4,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,7,5,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,242,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,243,244,245,37,38,39,40,19,41,42,43,44,15,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,246,61,62,63,64,65,233,66,67,68,12,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,18,109,110,111,112,4,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,7,5,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,0,0,23,151,22,23,151,154,22,154,176,178,109,181,182,181,145,72,76,85,242,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,243,244,245,37,38,39,40,19,41,42,43,44,15,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,246,61,62,63,64,65,233,66,67,68,12,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,18,109,110,111,112,4,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,7,5,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,85,173,56,206,206,206,206,206,206,206,206,213,213,213,213,213,0,0,98,208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,158,104,188,0,0,0,0,0,0,157,158,186,186,186,186,186,186,186,186,186,186,0,0,0,0,0,0,0,0,121,72,74,73,223,59,73,102,130,0,0,0,0,0,0,0,83,0,0,0,105,84,0,0,0,0,30,30,30,30,0,0,0,0,0,0,0,0,0,0,212],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,2,3,3],4],0,0,0,0,0,0,0,0,0,0,[2,2],0,0,0,0,0,0,0,0,[2,2],0,[[1,2],4],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[5,6],[7,5],[8,8],[[7,5],5],[8,8],0,0,0,[9,10],[[11,12],13],[12,9],[[11,12],9],[[12,12],14],[[11,12],14],[[11,12],13],0,[12,13],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[9,15],13],[[9,15],14],[[9,15],13],0,[15,13],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[9,9,9,9],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[16,16],0,0,[16,16],0,0,0,0,0,0,0,0,[16,16],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[16,16],0,0,0,0,0,0,0,[16,16],0,0,0,0,0,0,0,0,0,0,0,[16,16],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[17,17,17],17],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[9,9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[9,9],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[17,17],0,0,0,0,0,[17,14],0,0,0,0,0,0,0,0,0,0,[16,16],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[9,9],[9,9],[9,14],[9,14],0,0,0,0,0,0,0,[[9,9],13],[9,14],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],9],[[],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[18,19],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[9,14],0,[9,9],0,[9,14],[9,14],[9,14],[9,14],0,0,0,0,[9,9],[9,9],0,[[9,9],9],0,[9,9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[20,20],[21,21],[22,22],[23,23],[24,24],[25,25],[26,26],[27,27],[28,28],[29,29],[30,30],[31,31],[32,32],[33,33],[34,34],[35,35],[36,36],[37,37],[38,38],[39,39],[40,40],[19,19],[41,41],[42,42],[43,43],[44,44],[15,15],[45,45],[46,46],[47,47],[48,48],[49,49],[50,50],[51,51],[52,52],[53,53],[54,54],[55,55],[56,56],[57,57],[58,58],[59,59],[60,60],[61,61],[62,62],[63,63],[64,64],[65,65],[66,66],[67,67],[68,68],[12,12],[69,69],[70,70],[71,71],[72,72],[73,73],[74,74],[75,75],[76,76],[77,77],[78,78],[79,79],[80,80],[81,81],[82,82],[83,83],[84,84],[85,85],[86,86],[87,87],[88,88],[89,89],[90,90],[91,91],[92,92],[93,93],[94,94],[95,95],[96,96],[97,97],[98,98],[99,99],[100,100],[101,101],[102,102],[103,103],[104,104],[105,105],[106,106],[107,107],[108,108],[18,18],[109,109],[110,110],[111,111],[112,112],[4,4],[113,113],[114,114],[115,115],[116,116],[117,117],[118,118],[119,119],[120,120],[121,121],[122,122],[123,123],[124,124],[125,125],[126,126],[127,127],[128,128],[129,129],[130,130],[131,131],[132,132],[133,133],[134,134],[135,135],[136,136],[137,137],[138,138],[139,139],[140,140],[141,141],[142,142],[143,143],[144,144],[145,145],[146,146],[147,147],[148,148],[149,149],[150,150],[151,151],[152,152],[153,153],[154,154],[155,155],[7,7],[5,5],[156,156],[157,157],[158,158],[159,159],[160,160],[161,161],[162,162],[163,163],[164,164],[165,165],[166,166],[167,167],[168,168],[169,169],[170,170],[171,171],[172,172],[173,173],[174,174],[175,175],[176,176],[177,177],[178,178],[179,179],[180,180],[181,181],[182,182],[183,183],[184,184],[185,185],[186,186],[187,187],[188,188],[189,189],[190,190],[191,191],[192,192],[193,193],[194,194],[195,195],[196,196],[197,197],[198,198],[199,199],[200,200],[201,201],[202,202],[203,203],[204,204],[205,205],[206,206],[207,207],[208,208],[209,209],[210,210],[211,211],[212,212],[213,213],[214,214],[215,215],[216,216],[217,217],[218,218],[219,219],[220,220],[221,221],[222,222],[223,223],[224,224],[225,225],[226,226],[227,227],[228,228],[229,229],[230,230],[231,231],[232,232],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[233,234],[[236,[13,235]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[237,8],0,[[8,8],237],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[237,8],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[195,233],0,0,[195,238],0,[195,9],[195,239],[195,240],[195,239],[195,32],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],[-1,[[236,[-2]]],[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],[-1,241,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"c":[730,1442,3248,3257,3698,4695,5114,6740,6741,6742,6743,7024,7025,8975,8976,8977,8978,9030],"p":[[6,"__u16",0],[6,"__u32",0],[6,"__u8",0],[3,"sock_filter",0],[3,"cmsghdr",0],[6,"c_uchar",0],[3,"msghdr",0],[6,"c_uint",0],[6,"c_int",0],[6,"size_t",0],[15,"usize"],[3,"cpu_set_t",0],[15,"tuple"],[15,"bool"],[3,"fd_set",0],[15,"u8"],[15,"u32"],[3,"sock_extended_err",0],[3,"sockaddr",0],[3,"group",0],[3,"utimbuf",0],[3,"timeval",0],[3,"timespec",0],[3,"rlimit",0],[3,"rusage",0],[3,"ipv6_mreq",0],[3,"hostent",0],[3,"iovec",0],[3,"pollfd",0],[3,"winsize",0],[3,"linger",0],[3,"sigval",0],[3,"itimerval",0],[3,"tms",0],[3,"servent",0],[3,"protoent",0],[3,"in_addr",0],[3,"ip_mreq",0],[3,"ip_mreqn",0],[3,"ip_mreq_source",0],[3,"sockaddr_in",0],[3,"sockaddr_in6",0],[3,"addrinfo",0],[3,"sockaddr_ll",0],[3,"tm",0],[3,"sched_param",0],[3,"Dl_info",0],[3,"lconv",0],[3,"in_pktinfo",0],[3,"ifaddrs",0],[3,"in6_rtmsg",0],[3,"arpreq",0],[3,"arpreq_old",0],[3,"arphdr",0],[3,"mmsghdr",0],[3,"epoll_event",0],[3,"sockaddr_un",0],[3,"sockaddr_storage",0],[3,"utsname",0],[3,"sigevent",0],[3,"glob_t",0],[3,"passwd",0],[3,"spwd",0],[3,"dqblk",0],[3,"signalfd_siginfo",0],[3,"itimerspec",0],[3,"fsid_t",0],[3,"packet_mreq",0],[3,"if_nameindex",0],[3,"msginfo",0],[3,"sembuf",0],[3,"input_event",0],[3,"input_id",0],[3,"input_absinfo",0],[3,"input_keymap_entry",0],[3,"input_mask",0],[3,"ff_replay",0],[3,"ff_trigger",0],[3,"ff_envelope",0],[3,"ff_constant_effect",0],[3,"ff_ramp_effect",0],[3,"ff_condition_effect",0],[3,"ff_periodic_effect",0],[3,"ff_rumble_effect",0],[3,"ff_effect",0],[3,"uinput_ff_upload",0],[3,"uinput_ff_erase",0],[3,"uinput_abs_setup",0],[3,"dl_phdr_info",0],[3,"Elf32_Ehdr",0],[3,"Elf64_Ehdr",0],[3,"Elf32_Sym",0],[3,"Elf64_Sym",0],[3,"Elf32_Phdr",0],[3,"Elf64_Phdr",0],[3,"Elf32_Shdr",0],[3,"Elf64_Shdr",0],[3,"ucred",0],[3,"mntent",0],[3,"posix_spawn_file_actions_t",0],[3,"posix_spawnattr_t",0],[3,"genlmsghdr",0],[3,"in6_pktinfo",0],[3,"arpd_request",0],[3,"inotify_event",0],[3,"fanotify_response",0],[3,"sockaddr_vm",0],[3,"regmatch_t",0],[3,"__c_anonymous_sockaddr_can_tp",0],[3,"__c_anonymous_sockaddr_can_j1939",0],[3,"can_filter",0],[3,"j1939_filter",0],[3,"sock_fprog",0],[3,"seccomp_data",0],[3,"nlmsghdr",0],[3,"nlmsgerr",0],[3,"nlattr",0],[3,"file_clone_range",0],[3,"__c_anonymous_ifru_map",0],[3,"in6_ifreq",0],[3,"option",0],[3,"sctp_initmsg",0],[3,"sctp_sndrcvinfo",0],[3,"sctp_sndinfo",0],[3,"sctp_rcvinfo",0],[3,"sctp_nxtinfo",0],[3,"sctp_prinfo",0],[3,"sctp_authinfo",0],[3,"rlimit64",0],[3,"tls_crypto_info",0],[3,"tls12_crypto_info_aes_gcm_128",0],[3,"tls12_crypto_info_aes_gcm_256",0],[3,"tls12_crypto_info_chacha20_poly1305",0],[3,"sockaddr_nl",0],[3,"dirent",0],[3,"sockaddr_alg",0],[3,"uinput_setup",0],[3,"uinput_user_dev",0],[3,"af_alg_iv",0],[3,"mq_attr",0],[19,"__c_anonymous_ifr_ifru",0],[3,"ifreq",0],[19,"__c_anonymous_ifc_ifcu",0],[3,"ifconf",0],[3,"hwtstamp_config",0],[3,"dirent64",0],[3,"sock_txtime",0],[19,"__c_anonymous_sockaddr_can_can_addr",0],[3,"sockaddr_can",0],[3,"statx",0],[3,"statx_timestamp",0],[3,"aiocb",0],[3,"__exit_status",0],[3,"__timeval",0],[3,"glob64_t",0],[3,"termios",0],[3,"mallinfo",0],[3,"mallinfo2",0],[3,"nl_pktinfo",0],[3,"nl_mmap_req",0],[3,"nl_mmap_hdr",0],[3,"rtentry",0],[3,"timex",0],[3,"ntptimeval",0],[3,"regex_t",0],[3,"Elf64_Chdr",0],[3,"Elf32_Chdr",0],[3,"seminfo",0],[3,"ptrace_peeksiginfo_args",0],[3,"__c_anonymous_ptrace_syscall_info_entry",0],[3,"__c_anonymous_ptrace_syscall_info_exit",0],[3,"__c_anonymous_ptrace_syscall_info_seccomp",0],[3,"ptrace_syscall_info",0],[3,"sockaddr_xdp",0],[3,"xdp_ring_offset",0],[3,"xdp_mmap_offsets",0],[3,"xdp_ring_offset_v1",0],[3,"xdp_mmap_offsets_v1",0],[3,"xdp_umem_reg",0],[3,"xdp_umem_reg_v1",0],[3,"xdp_statistics",0],[3,"xdp_statistics_v1",0],[3,"xdp_options",0],[3,"xdp_desc",0],[19,"__c_anonymous_ptrace_syscall_info_data",0],[3,"utmpx",0],[3,"sigset_t",0],[3,"sysinfo",0],[3,"msqid_ds",0],[3,"semid_ds",0],[3,"sigaction",0],[3,"statfs",0],[3,"flock",0],[3,"flock64",0],[3,"siginfo_t",0],[3,"stack_t",0],[3,"stat",0],[3,"stat64",0],[3,"statfs64",0],[3,"statvfs64",0],[3,"pthread_attr_t",0],[3,"_libc_fpxreg",0],[3,"_libc_xmmreg",0],[3,"_libc_fpstate",0],[3,"user_regs_struct",0],[3,"user",0],[3,"mcontext_t",0],[3,"ipc_perm",0],[3,"shmid_ds",0],[3,"seccomp_notif_sizes",0],[3,"ptrace_rseq_configuration",0],[3,"user_fpregs_struct",0],[3,"ucontext_t",0],[3,"statvfs",0],[3,"max_align_t",0],[3,"clone_args",0],[3,"sem_t",0],[3,"termios2",0],[3,"pthread_mutexattr_t",0],[3,"pthread_rwlockattr_t",0],[3,"pthread_condattr_t",0],[3,"pthread_barrierattr_t",0],[3,"fanotify_event_metadata",0],[3,"pthread_cond_t",0],[3,"pthread_mutex_t",0],[3,"pthread_rwlock_t",0],[3,"pthread_barrier_t",0],[3,"can_frame",0],[3,"canfd_frame",0],[3,"canxl_frame",0],[3,"open_how",0],[3,"in6_addr",0],[4,"c_void",0],[3,"Formatter",9062],[3,"Error",9062],[4,"Result",9063],[6,"dev_t",0],[6,"pid_t",0],[6,"c_long",0],[6,"uid_t",0],[3,"TypeId",9064],[4,"DIR",0],[4,"FILE",0],[4,"fpos_t",0],[4,"timezone",0],[4,"fpos64_t",0]],"b":[]},\ -"mavlink":{"doc":"The MAVLink message set.","t":"SSSDDRRRIDDEIQISNNALLLLLLLLLLAALLLLLLLLLLLLALLLMFLLLKKLLLLLLAKLLLLLLLLLLKLLLLLMALLLLLLKLLKKMLLKLLLLMLLFFFFFKLLKLLLLLLMKKLLLLLLLLKLLMLLLLLLLLLLLLLLLLLLLLAFFFNNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSNDNNDNDDNDSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDMNDNDNDNNDDNDSSSSSSNDNDNDNDNDNNNNEEEEEDDEEDENDNNDNDNDSSSSSSSSSSSSNNNDNNNNDNDNDNNNNDNDNNNNNNNNDNDNNNNNNNNNNNDNDNNDNNNDNNDNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNDDMNDNDNDNDNDNDNDNDNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNDNDDEEEEEEEEEEEEEMMMEMNDNDNDNDNDNDNDNDNDNDNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNNNDNDNDNDNDNDNDEEMNDSSSSSSSSNDSSSNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNSSSSSSSSNDNDNDNDNDSSSSSSSSSSNDSSNDNDDEDDNNNNNNNNNNNNNNNNNNNNNNNSNNNNNNNNNNNNNDNNNNDNDMNDNNNNNNDNNNNNNNNDEEEEEENDNNNNNNNNNNDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNDNDSSSSSSSSSSSSSSSSNNNNNNNNNNNDNDNDNDNDNDNDNNDDNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSNNNNNNNNNNNNNNNDNDNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNNDNDNNNNNNNNNNDNDNDSSSSSSSSNDNDNDNDNNEEEDDDDEEEEEEEDEEEEEEEEEEEEDENNNDNDNDNDSSSSSSSSSSSSSSSNNDDNDNDNDNDNDNDSSSSSSSSSSSSSSSNDNDSSSSSSSSSSSSSSNDNDNDEDDDMMMMNNNNNNNDNDNNNNDEENDNNNNSNDNNNNNNNNNDNSSSNDNNDDNDNDNNDDNDNDNDNDNDNDEEDENNNNNDNDNNNNNDNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSNNNNNNNNSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSNSSSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSNDMMMMNDNDNDNDNDNDNDNDNDNDNNDNDNDNDNNDNNNNNNNDNMNNNNNNNNDNDNDNDEEEEEEEEEEEEEEEEEEEDEEEEDEEEEEEDEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEDEEEEDEEEENDNDNDNNNENNDDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNNNNNNNDNDNNNNNNNNNNNNDNDNEEEMNNNNNNNNDNDNDNDNDNDNNDNDNNNNDNDNNNDNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNDNDNDNDSSSSSSSSSSSSNDNNNNDEEMMMEEDEEENDNDNDNDNDNDNDNDNDNDNDNDNNNDNDNDNDNDNDNNNNNNNNNNNNNDNNDEEENDNDNNDNDDNNDNDDNNNNNDNDNNNNNSSSSSNNNNNNNNNNNDNDNDNDNDNDNDNDNDNDNDNDNDNNMNDNDNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNDEEDEEEEEENDNDNDNDNDNDNNNNNNNDNDSSNDEDNNNNNDNNNNNNDNNNNNNNNNNNNNNNNNDNNNNNNNNNNNNDNNNNNNSSSSSNNNNNNSSSNSSSSNDNSSSSSSSSNNNNNNDEEEEEEEDDDDENDNDNDNDNDNDNNNNNNNDNDNDNNNNNMMMEEMENDNDNDNNNNNNNNNNNNNNNNNNNNNDNNDDEEENNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMDLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSNDSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNDNNDDNDSSSSSSNDNDNDNDNNNNEEEEDDEEDENNDNDNDSSSSSSSSSSSSNDNDNDNNNNDNDNDNNNNNNNNNNNDNDNNDNNNDNNDNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNDDMNDNDNDNDNDNDNDNNNNNNNDNDDEEEEEEEEEEENDNDNDNDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNDNDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNSSSSSSSSNDNDSSSSSSSSSSNDSSNDNDEDDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNNNNNNDNNNNNNNNDEEEEEENDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNDNDSSSSSSSSSSSSSSSSNNNNNNNNNNNDNDNDNDNDNNDDNDNDNDNNNNNNNNNNDNDNDSSSSSSSSNDNDNDNDNNDDDDEEDENDNDSSSSSSSSSSSSSSSNNDDNDNDNDNDNDNDSSSSSSSSSSSSSSSNDNDSSSSSSSSSSSSSSNDNDDDDMNDNDNNNNNDNNDDNDNDNNDDNDNDNDNDNDNDENNNNNDNNNNNDNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSNNNNNNNNSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSNSSSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSNDNDNDNDNDNDNDNDNDNNDNDNDNDNNDNNNNNNNDNMNNNNNNNNDEEEEEEEEEEEEEEEEEEDEEEEDEEEEEEDEEEEEEEEEEEEEEEEEEEEDDEEEEEDEEEEDEEEENDNDNDNNNENDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNNNNNENNNNNNNNDNDNDNDNDNDNNDNDNNNNDNDNNDNDNDNDNDSSSSSSSSSSSSNDNNNNDEEDEEENDNDNDNDNDNDNDNDNNNDNDNDNDNNEENDNDNNDNDDNNDNDDNDNNNNNSSSSSNNNNNNNNNNNDNDNDNDNDNDNDNDNDNDNDNDNDNNNNNNNNNNNNNNNNNNDNDNDEDEEEENDNDNDNDNDNDNDNDSSNDDNNNNNDNNNNNNDNSSSSSSSSNNNNNNDEEDENDNDNDNDNDNDNNNNNNNDNDNNNNNMEEMENDNDNNNNNNNNNNNNNNNNNNNNNDNDEEENNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNEENENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMSSSSSSNNNNNNNDNDNNNEEELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLMMMMMMLLLLLLLLLMLLLLLLLLLLLLLLLLLLLMMMMMLLLLLNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSNDSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNDNNDDNDSSSSSSNDNDNDNDNNNNEEEEDDEEDENNDNDNDSSSSSSSSSSSSNDNDNDNNNNDNDNDNNNNNNNNNNNDNDNNDNNNDNNDNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNDDMNDNDNDNDNDNDNDNNNNNNNDNDDEEEEEEEEEEENDNDNDNDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNDNDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNSSSSSSSSNDNDSSSSSSSSSSNDSSNDNDEDDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNNNNNNDNNNNNNNNDEEEEEENDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNDNDSSSSSSSSSSSSSSSSNNNNNNNNNNNDNDNDNDNDNNDDNDNDNDNNNNNNNNNNDNDNDSSSSSSSSNDNDNDNDNNDDDDEEDENDNDSSSSSSSSSSSSSSSNNDDNDNDNDNDNDNDSSSSSSSSSSSSSSSNDNDSSSSSSSSSSSSSSNDNDDDDMMNDNDNNNNNDNNDDNDNDNNDDNDNDNDNDNDNDENNNNNDNNNNNDNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSNNNNNNNNSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSNSSSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSNDNDNDNDNDNDNDNDNDNNDNDNDNDNNDNNNNNNNDNMNNNNNNNNDEEEEEEEEEEEEEEEEEEDEEEEDEEEEEEDEEEEEEEEEEEEEEEEEEEEDDEEEEEDEEEEDEEEENDNDNDNNNENDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNNNNNENNNNNNNNDNDNDNDNDNDNNDNDNNNNDNDNNDNDNDNDNDSSSSSSSSSSSSNDNNNNDEEDEEENDNDNDNDNDNDNDNDNNNDNDNDNDNNEENDNDNNDNDDNNDNDDNDNNNNNSSSSSNNNNNNNNNNNDNDNDNDNDNDNDNDNDNDNDNDNDNNNNNNNNNNNNNNNNNNDNDNDEDEEEENDNDNDNDNDNDNDNDSSNDDNNNNNDNNNNNNDNNNNNNNNNNNNNNNNNDNNNNNNNNNNNNDNNNNNNSSSSSNNNNNNSSSNSSSSNDNSSSSSSSSNNNNNNDEEEEEEEDDDDENDNDNDNDNDNDNNNNNNNDNDNNNNNMMEEMENDNDNNNNNNNNNNNNNNNNNNNNNDNDEEENNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM","n":["ENCODED_LEN","EXTRA_CRC","ID","MAVLinkV1MessageRaw","MAVLinkV2MessageRaw","MAV_STX","MAV_STX_V2","MAX_FRAME_SIZE","MavConnection","MavFrame","MavHeader","MavlinkVersion","Message","Message","MessageData","NAME","V1","V2","ardupilotmega","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bytes","bytes_mut","checksum","checksum","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","common","compatibility_flags","component_id","component_id","component_id","connect","default","default","default","default_message_from_id","deser","deser","deserialize","eq","eq","eq","eq","error","extra_crc","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","get_protocol_version","has_valid_crc","has_valid_crc","header","header","header","header","icarous","incompatibility_flags","into","into","into","into","into","message_id","message_id","message_id","message_id_from_name","message_name","msg","new","new","parse","payload","payload","payload_length","payload_length","protocol_version","raw_bytes","raw_bytes","read_v1_msg","read_v1_raw_message","read_v2_msg","read_v2_raw_message","read_versioned_msg","recv","recv_frame","recv_frame","send","send_default","send_default","send_frame","send_frame","sequence","sequence","sequence","ser","ser","ser","serialize","serialize","serialize","serialize_message","serialize_message","serialize_message_data","serialize_message_data","set_protocol_version","system_id","system_id","system_id","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","uavionix","write_v1_msg","write_v2_msg","write_versioned_msg","ACCELCAL_VEHICLE_POS_BACK","ACCELCAL_VEHICLE_POS_FAILED","ACCELCAL_VEHICLE_POS_LEFT","ACCELCAL_VEHICLE_POS_LEVEL","ACCELCAL_VEHICLE_POS_NOSEDOWN","ACCELCAL_VEHICLE_POS_NOSEUP","ACCELCAL_VEHICLE_POS_RIGHT","ACCELCAL_VEHICLE_POS_SUCCESS","ACTUATOR_CONFIGURATION_3D_MODE_OFF","ACTUATOR_CONFIGURATION_3D_MODE_ON","ACTUATOR_CONFIGURATION_BEEP","ACTUATOR_CONFIGURATION_NONE","ACTUATOR_CONFIGURATION_SPIN_DIRECTION1","ACTUATOR_CONFIGURATION_SPIN_DIRECTION2","ACTUATOR_CONTROL_TARGET","ACTUATOR_CONTROL_TARGET_DATA","ACTUATOR_OUTPUT_FUNCTION_MOTOR1","ACTUATOR_OUTPUT_FUNCTION_MOTOR10","ACTUATOR_OUTPUT_FUNCTION_MOTOR11","ACTUATOR_OUTPUT_FUNCTION_MOTOR12","ACTUATOR_OUTPUT_FUNCTION_MOTOR13","ACTUATOR_OUTPUT_FUNCTION_MOTOR14","ACTUATOR_OUTPUT_FUNCTION_MOTOR15","ACTUATOR_OUTPUT_FUNCTION_MOTOR16","ACTUATOR_OUTPUT_FUNCTION_MOTOR2","ACTUATOR_OUTPUT_FUNCTION_MOTOR3","ACTUATOR_OUTPUT_FUNCTION_MOTOR4","ACTUATOR_OUTPUT_FUNCTION_MOTOR5","ACTUATOR_OUTPUT_FUNCTION_MOTOR6","ACTUATOR_OUTPUT_FUNCTION_MOTOR7","ACTUATOR_OUTPUT_FUNCTION_MOTOR8","ACTUATOR_OUTPUT_FUNCTION_MOTOR9","ACTUATOR_OUTPUT_FUNCTION_NONE","ACTUATOR_OUTPUT_FUNCTION_SERVO1","ACTUATOR_OUTPUT_FUNCTION_SERVO10","ACTUATOR_OUTPUT_FUNCTION_SERVO11","ACTUATOR_OUTPUT_FUNCTION_SERVO12","ACTUATOR_OUTPUT_FUNCTION_SERVO13","ACTUATOR_OUTPUT_FUNCTION_SERVO14","ACTUATOR_OUTPUT_FUNCTION_SERVO15","ACTUATOR_OUTPUT_FUNCTION_SERVO16","ACTUATOR_OUTPUT_FUNCTION_SERVO2","ACTUATOR_OUTPUT_FUNCTION_SERVO3","ACTUATOR_OUTPUT_FUNCTION_SERVO4","ACTUATOR_OUTPUT_FUNCTION_SERVO5","ACTUATOR_OUTPUT_FUNCTION_SERVO6","ACTUATOR_OUTPUT_FUNCTION_SERVO7","ACTUATOR_OUTPUT_FUNCTION_SERVO8","ACTUATOR_OUTPUT_FUNCTION_SERVO9","ACTUATOR_OUTPUT_STATUS","ACTUATOR_OUTPUT_STATUS_DATA","ADAP_TUNING","ADAP_TUNING_DATA","ADSB_ALTITUDE_TYPE_GEOMETRIC","ADSB_ALTITUDE_TYPE_PRESSURE_QNH","ADSB_EMITTER_TYPE_EMERGENCY_SURFACE","ADSB_EMITTER_TYPE_GLIDER","ADSB_EMITTER_TYPE_HEAVY","ADSB_EMITTER_TYPE_HIGHLY_MANUV","ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE","ADSB_EMITTER_TYPE_LARGE","ADSB_EMITTER_TYPE_LIGHT","ADSB_EMITTER_TYPE_LIGHTER_AIR","ADSB_EMITTER_TYPE_NO_INFO","ADSB_EMITTER_TYPE_PARACHUTE","ADSB_EMITTER_TYPE_POINT_OBSTACLE","ADSB_EMITTER_TYPE_ROTOCRAFT","ADSB_EMITTER_TYPE_SERVICE_SURFACE","ADSB_EMITTER_TYPE_SMALL","ADSB_EMITTER_TYPE_SPACE","ADSB_EMITTER_TYPE_UAV","ADSB_EMITTER_TYPE_ULTRA_LIGHT","ADSB_EMITTER_TYPE_UNASSGINED3","ADSB_EMITTER_TYPE_UNASSIGNED","ADSB_EMITTER_TYPE_UNASSIGNED2","ADSB_FLAGS_BARO_VALID","ADSB_FLAGS_SIMULATED","ADSB_FLAGS_SOURCE_UAT","ADSB_FLAGS_VALID_ALTITUDE","ADSB_FLAGS_VALID_CALLSIGN","ADSB_FLAGS_VALID_COORDS","ADSB_FLAGS_VALID_HEADING","ADSB_FLAGS_VALID_SQUAWK","ADSB_FLAGS_VALID_VELOCITY","ADSB_FLAGS_VERTICAL_VELOCITY_VALID","ADSB_VEHICLE","ADSB_VEHICLE_DATA","AHRS","AHRS2","AHRS2_DATA","AHRS3","AHRS3_DATA","AHRS_DATA","AIRSPEED_AUTOCAL","AIRSPEED_AUTOCAL_DATA","AIS_FLAGS_HIGH_VELOCITY","AIS_FLAGS_LARGE_BOW_DIMENSION","AIS_FLAGS_LARGE_PORT_DIMENSION","AIS_FLAGS_LARGE_STARBOARD_DIMENSION","AIS_FLAGS_LARGE_STERN_DIMENSION","AIS_FLAGS_POSITION_ACCURACY","AIS_FLAGS_TURN_RATE_SIGN_ONLY","AIS_FLAGS_VALID_CALLSIGN","AIS_FLAGS_VALID_COG","AIS_FLAGS_VALID_DIMENSIONS","AIS_FLAGS_VALID_NAME","AIS_FLAGS_VALID_TURN_RATE","AIS_FLAGS_VALID_VELOCITY","AIS_NAV_AGROUND","AIS_NAV_AIS_SART","AIS_NAV_ANCHORED","AIS_NAV_DRAUGHT_CONSTRAINED","AIS_NAV_FISHING","AIS_NAV_MOORED","AIS_NAV_RESERVED_1","AIS_NAV_RESERVED_2","AIS_NAV_RESERVED_3","AIS_NAV_RESERVED_HSC","AIS_NAV_RESERVED_WIG","AIS_NAV_RESTRICTED_MANOEUVERABILITY","AIS_NAV_SAILING","AIS_NAV_UNKNOWN","AIS_NAV_UN_COMMANDED","AIS_TYPE_ANTI_POLLUTION","AIS_TYPE_CARGO","AIS_TYPE_CARGO_HAZARDOUS_A","AIS_TYPE_CARGO_HAZARDOUS_B","AIS_TYPE_CARGO_HAZARDOUS_C","AIS_TYPE_CARGO_HAZARDOUS_D","AIS_TYPE_CARGO_RESERVED_1","AIS_TYPE_CARGO_RESERVED_2","AIS_TYPE_CARGO_RESERVED_3","AIS_TYPE_CARGO_RESERVED_4","AIS_TYPE_CARGO_UNKNOWN","AIS_TYPE_DIVING","AIS_TYPE_DREDGING","AIS_TYPE_FISHING","AIS_TYPE_HSC","AIS_TYPE_HSC_HAZARDOUS_A","AIS_TYPE_HSC_HAZARDOUS_B","AIS_TYPE_HSC_HAZARDOUS_C","AIS_TYPE_HSC_HAZARDOUS_D","AIS_TYPE_HSC_RESERVED_1","AIS_TYPE_HSC_RESERVED_2","AIS_TYPE_HSC_RESERVED_3","AIS_TYPE_HSC_RESERVED_4","AIS_TYPE_HSC_UNKNOWN","AIS_TYPE_LAW_ENFORCEMENT","AIS_TYPE_MEDICAL_TRANSPORT","AIS_TYPE_MILITARY","AIS_TYPE_NONECOMBATANT","AIS_TYPE_OTHER","AIS_TYPE_OTHER_HAZARDOUS_A","AIS_TYPE_OTHER_HAZARDOUS_B","AIS_TYPE_OTHER_HAZARDOUS_C","AIS_TYPE_OTHER_HAZARDOUS_D","AIS_TYPE_OTHER_RESERVED_1","AIS_TYPE_OTHER_RESERVED_2","AIS_TYPE_OTHER_RESERVED_3","AIS_TYPE_OTHER_RESERVED_4","AIS_TYPE_OTHER_UNKNOWN","AIS_TYPE_PASSENGER","AIS_TYPE_PASSENGER_HAZARDOUS_A","AIS_TYPE_PASSENGER_HAZARDOUS_B","AIS_TYPE_PASSENGER_HAZARDOUS_C","AIS_TYPE_PASSENGER_HAZARDOUS_D","AIS_TYPE_PASSENGER_RESERVED_1","AIS_TYPE_PASSENGER_RESERVED_2","AIS_TYPE_PASSENGER_RESERVED_3","AIS_TYPE_PASSENGER_RESERVED_4","AIS_TYPE_PASSENGER_UNKNOWN","AIS_TYPE_PILOT","AIS_TYPE_PLEASURE","AIS_TYPE_PORT_TENDER","AIS_TYPE_RESERVED_1","AIS_TYPE_RESERVED_10","AIS_TYPE_RESERVED_11","AIS_TYPE_RESERVED_12","AIS_TYPE_RESERVED_13","AIS_TYPE_RESERVED_14","AIS_TYPE_RESERVED_15","AIS_TYPE_RESERVED_16","AIS_TYPE_RESERVED_17","AIS_TYPE_RESERVED_18","AIS_TYPE_RESERVED_19","AIS_TYPE_RESERVED_2","AIS_TYPE_RESERVED_20","AIS_TYPE_RESERVED_21","AIS_TYPE_RESERVED_3","AIS_TYPE_RESERVED_4","AIS_TYPE_RESERVED_5","AIS_TYPE_RESERVED_6","AIS_TYPE_RESERVED_7","AIS_TYPE_RESERVED_8","AIS_TYPE_RESERVED_9","AIS_TYPE_SAILING","AIS_TYPE_SAR","AIS_TYPE_SPARE_LOCAL_1","AIS_TYPE_SPARE_LOCAL_2","AIS_TYPE_TANKER","AIS_TYPE_TANKER_HAZARDOUS_A","AIS_TYPE_TANKER_HAZARDOUS_B","AIS_TYPE_TANKER_HAZARDOUS_C","AIS_TYPE_TANKER_HAZARDOUS_D","AIS_TYPE_TANKER_RESERVED_1","AIS_TYPE_TANKER_RESERVED_2","AIS_TYPE_TANKER_RESERVED_3","AIS_TYPE_TANKER_RESERVED_4","AIS_TYPE_TANKER_UNKNOWN","AIS_TYPE_TOWING","AIS_TYPE_TOWING_LARGE","AIS_TYPE_TUG","AIS_TYPE_UNKNOWN","AIS_TYPE_WIG","AIS_TYPE_WIG_HAZARDOUS_A","AIS_TYPE_WIG_HAZARDOUS_B","AIS_TYPE_WIG_HAZARDOUS_C","AIS_TYPE_WIG_HAZARDOUS_D","AIS_TYPE_WIG_RESERVED_1","AIS_TYPE_WIG_RESERVED_2","AIS_TYPE_WIG_RESERVED_3","AIS_TYPE_WIG_RESERVED_4","AIS_TYPE_WIG_RESERVED_5","AIS_VESSEL","AIS_VESSEL_DATA","ALTITUDE","ALTITUDE_DATA","AOA","AOA_SSA","AOA_SSA_DATA","AP_ADC","AP_ADC_DATA","ATTITUDE","ATTITUDE_DATA","ATTITUDE_QUATERNION","ATTITUDE_QUATERNION_COV","ATTITUDE_QUATERNION_COV_DATA","ATTITUDE_QUATERNION_DATA","ATTITUDE_TARGET","ATTITUDE_TARGET_DATA","ATTITUDE_TARGET_TYPEMASK_ATTITUDE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_PITCH_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_YAW_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_THROTTLE_IGNORE","ATTITUDE_TARGET_TYPEMASK_THRUST_BODY_SET","ATT_POS_MOCAP","ATT_POS_MOCAP_DATA","AUTH_KEY","AUTH_KEY_DATA","AUTOPILOT_STATE_FOR_GIMBAL_DEVICE","AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA","AUTOPILOT_VERSION","AUTOPILOT_VERSION_DATA","AUTOPILOT_VERSION_REQUEST","AUTOPILOT_VERSION_REQUEST_DATA","AUTOTUNE_AXIS_DEFAULT","AUTOTUNE_AXIS_PITCH","AUTOTUNE_AXIS_ROLL","AUTOTUNE_AXIS_YAW","AccelcalVehiclePos","ActuatorConfiguration","ActuatorOutputFunction","AdsbAltitudeType","AdsbEmitterType","AdsbFlags","AisFlags","AisNavStatus","AisType","AttitudeTargetTypemask","AutotuneAxis","BATTERY2","BATTERY2_DATA","BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION","BATTERY_STATUS","BATTERY_STATUS_DATA","BUTTON_CHANGE","BUTTON_CHANGE_DATA","CAMERA_CAPTURE_STATUS","CAMERA_CAPTURE_STATUS_DATA","CAMERA_CAP_FLAGS_CAN_CAPTURE_IMAGE_IN_VIDEO_MODE","CAMERA_CAP_FLAGS_CAN_CAPTURE_VIDEO_IN_IMAGE_MODE","CAMERA_CAP_FLAGS_CAPTURE_IMAGE","CAMERA_CAP_FLAGS_CAPTURE_VIDEO","CAMERA_CAP_FLAGS_HAS_BASIC_FOCUS","CAMERA_CAP_FLAGS_HAS_BASIC_ZOOM","CAMERA_CAP_FLAGS_HAS_IMAGE_SURVEY_MODE","CAMERA_CAP_FLAGS_HAS_MODES","CAMERA_CAP_FLAGS_HAS_TRACKING_GEO_STATUS","CAMERA_CAP_FLAGS_HAS_TRACKING_POINT","CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE","CAMERA_CAP_FLAGS_HAS_VIDEO_STREAM","CAMERA_FEEDBACK","CAMERA_FEEDBACK_BADEXPOSURE","CAMERA_FEEDBACK_CLOSEDLOOP","CAMERA_FEEDBACK_DATA","CAMERA_FEEDBACK_OPENLOOP","CAMERA_FEEDBACK_PHOTO","CAMERA_FEEDBACK_VIDEO","CAMERA_FOV_STATUS","CAMERA_FOV_STATUS_DATA","CAMERA_IMAGE_CAPTURED","CAMERA_IMAGE_CAPTURED_DATA","CAMERA_INFORMATION","CAMERA_INFORMATION_DATA","CAMERA_MODE_IMAGE","CAMERA_MODE_IMAGE_SURVEY","CAMERA_MODE_VIDEO","CAMERA_SETTINGS","CAMERA_SETTINGS_DATA","CAMERA_STATUS","CAMERA_STATUS_DATA","CAMERA_STATUS_TYPE_DISCONNECT","CAMERA_STATUS_TYPE_ERROR","CAMERA_STATUS_TYPE_HEARTBEAT","CAMERA_STATUS_TYPE_LOWBATT","CAMERA_STATUS_TYPE_LOWSTORE","CAMERA_STATUS_TYPE_LOWSTOREV","CAMERA_STATUS_TYPE_TRIGGER","CAMERA_TRACKING_GEO_STATUS","CAMERA_TRACKING_GEO_STATUS_DATA","CAMERA_TRACKING_IMAGE_STATUS","CAMERA_TRACKING_IMAGE_STATUS_DATA","CAMERA_TRACKING_MODE_NONE","CAMERA_TRACKING_MODE_POINT","CAMERA_TRACKING_MODE_RECTANGLE","CAMERA_TRACKING_STATUS_FLAGS_ACTIVE","CAMERA_TRACKING_STATUS_FLAGS_ERROR","CAMERA_TRACKING_STATUS_FLAGS_IDLE","CAMERA_TRACKING_TARGET_DATA_EMBEDDED","CAMERA_TRACKING_TARGET_DATA_IN_STATUS","CAMERA_TRACKING_TARGET_DATA_NONE","CAMERA_TRACKING_TARGET_DATA_RENDERED","CAMERA_TRIGGER","CAMERA_TRIGGER_DATA","CANFD_FRAME","CANFD_FRAME_DATA","CAN_FILTER_ADD","CAN_FILTER_MODIFY","CAN_FILTER_MODIFY_DATA","CAN_FILTER_REMOVE","CAN_FILTER_REPLACE","CAN_FRAME","CAN_FRAME_DATA","CELLULAR_CONFIG","CELLULAR_CONFIG_BLOCKED_PUK_REQUIRED","CELLULAR_CONFIG_DATA","CELLULAR_CONFIG_RESPONSE_ACCEPTED","CELLULAR_CONFIG_RESPONSE_APN_ERROR","CELLULAR_CONFIG_RESPONSE_PIN_ERROR","CELLULAR_CONFIG_RESPONSE_REJECTED","CELLULAR_NETWORK_FAILED_REASON_NONE","CELLULAR_NETWORK_FAILED_REASON_SIM_ERROR","CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING","CELLULAR_NETWORK_FAILED_REASON_UNKNOWN","CELLULAR_NETWORK_RADIO_TYPE_CDMA","CELLULAR_NETWORK_RADIO_TYPE_GSM","CELLULAR_NETWORK_RADIO_TYPE_LTE","CELLULAR_NETWORK_RADIO_TYPE_NONE","CELLULAR_NETWORK_RADIO_TYPE_WCDMA","CELLULAR_STATUS","CELLULAR_STATUS_DATA","CELLULAR_STATUS_FLAG_CONNECTED","CELLULAR_STATUS_FLAG_CONNECTING","CELLULAR_STATUS_FLAG_DISABLED","CELLULAR_STATUS_FLAG_DISABLING","CELLULAR_STATUS_FLAG_DISCONNECTING","CELLULAR_STATUS_FLAG_ENABLED","CELLULAR_STATUS_FLAG_ENABLING","CELLULAR_STATUS_FLAG_FAILED","CELLULAR_STATUS_FLAG_INITIALIZING","CELLULAR_STATUS_FLAG_LOCKED","CELLULAR_STATUS_FLAG_REGISTERED","CELLULAR_STATUS_FLAG_SEARCHING","CELLULAR_STATUS_FLAG_UNKNOWN","CHANGE_OPERATOR_CONTROL","CHANGE_OPERATOR_CONTROL_ACK","CHANGE_OPERATOR_CONTROL_ACK_DATA","CHANGE_OPERATOR_CONTROL_DATA","COG","COLLISION","COLLISION_DATA","COMMAND_ACK","COMMAND_ACK_DATA","COMMAND_CANCEL","COMMAND_CANCEL_DATA","COMMAND_INT","COMMAND_INT_DATA","COMMAND_LONG","COMMAND_LONG_DATA","COMPASSMOT_STATUS","COMPASSMOT_STATUS_DATA","COMPONENT_INFORMATION","COMPONENT_INFORMATION_DATA","COMPONENT_METADATA","COMPONENT_METADATA_DATA","COMP_METADATA_TYPE_ACTUATORS","COMP_METADATA_TYPE_COMMANDS","COMP_METADATA_TYPE_EVENTS","COMP_METADATA_TYPE_GENERAL","COMP_METADATA_TYPE_PARAMETER","COMP_METADATA_TYPE_PERIPHERALS","CONTROL_SYSTEM_STATE","CONTROL_SYSTEM_STATE_DATA","COPTER_MODE_ACRO","COPTER_MODE_ALT_HOLD","COPTER_MODE_AUTO","COPTER_MODE_AUTOROTATE","COPTER_MODE_AUTOTUNE","COPTER_MODE_AUTO_RTL","COPTER_MODE_AVOID_ADSB","COPTER_MODE_BRAKE","COPTER_MODE_CIRCLE","COPTER_MODE_DRIFT","COPTER_MODE_FLIP","COPTER_MODE_FLOWHOLD","COPTER_MODE_FOLLOW","COPTER_MODE_GUIDED","COPTER_MODE_GUIDED_NOGPS","COPTER_MODE_LAND","COPTER_MODE_LOITER","COPTER_MODE_POSHOLD","COPTER_MODE_RTL","COPTER_MODE_SMART_RTL","COPTER_MODE_SPORT","COPTER_MODE_STABILIZE","COPTER_MODE_SYSTEMID","COPTER_MODE_THROW","COPTER_MODE_ZIGZAG","CUBEPILOT_FIRMWARE_UPDATE_RESP","CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA","CUBEPILOT_FIRMWARE_UPDATE_START","CUBEPILOT_FIRMWARE_UPDATE_START_DATA","CUBEPILOT_RAW_RC","CUBEPILOT_RAW_RC_DATA","CURRENT_EVENT_SEQUENCE","CURRENT_EVENT_SEQUENCE_DATA","CameraCapFlags","CameraFeedbackFlags","CameraMode","CameraStatusTypes","CameraTrackingMode","CameraTrackingStatusFlags","CameraTrackingTargetData","CameraZoomType","CanFilterOp","CellularConfigResponse","CellularNetworkFailedReason","CellularNetworkRadioType","CellularStatusFlag","CompMetadataType","CompensationX","CompensationY","CompensationZ","CopterMode","D","DATA16","DATA16_DATA","DATA32","DATA32_DATA","DATA64","DATA64_DATA","DATA96","DATA96_DATA","DATA_STREAM","DATA_STREAM_DATA","DATA_TRANSMISSION_HANDSHAKE","DATA_TRANSMISSION_HANDSHAKE_DATA","DEBUG","DEBUG_DATA","DEBUG_FLOAT_ARRAY","DEBUG_FLOAT_ARRAY_DATA","DEBUG_VECT","DEBUG_VECT_DATA","DEEPSTALL","DEEPSTALL_DATA","DEEPSTALL_STAGE_APPROACH","DEEPSTALL_STAGE_ARC","DEEPSTALL_STAGE_ESTIMATE_WIND","DEEPSTALL_STAGE_FLY_TO_ARC","DEEPSTALL_STAGE_FLY_TO_LANDING","DEEPSTALL_STAGE_LAND","DEEPSTALL_STAGE_WAIT_FOR_BREAKOUT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEVICE_OP_BUSTYPE_I2C","DEVICE_OP_BUSTYPE_SPI","DEVICE_OP_READ","DEVICE_OP_READ_DATA","DEVICE_OP_READ_REPLY","DEVICE_OP_READ_REPLY_DATA","DEVICE_OP_WRITE","DEVICE_OP_WRITE_DATA","DEVICE_OP_WRITE_REPLY","DEVICE_OP_WRITE_REPLY_DATA","DIGICAM_CONFIGURE","DIGICAM_CONFIGURE_DATA","DIGICAM_CONTROL","DIGICAM_CONTROL_DATA","DISTANCE_SENSOR","DISTANCE_SENSOR_DATA","DeepstallStage","DeviceOpBustype","EAS2TAS","EFI_STATUS","EFI_STATUS_DATA","EKF_ATTITUDE","EKF_CONST_POS_MODE","EKF_POS_HORIZ_ABS","EKF_POS_HORIZ_REL","EKF_POS_VERT_ABS","EKF_POS_VERT_AGL","EKF_PRED_POS_HORIZ_ABS","EKF_PRED_POS_HORIZ_REL","EKF_STATUS_REPORT","EKF_STATUS_REPORT_DATA","EKF_UNINITIALIZED","EKF_VELOCITY_HORIZ","EKF_VELOCITY_VERT","ENCAPSULATED_DATA","ENCAPSULATED_DATA_DATA","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ESC_CONNECTION_TYPE_CAN","ESC_CONNECTION_TYPE_DSHOT","ESC_CONNECTION_TYPE_I2C","ESC_CONNECTION_TYPE_ONESHOT","ESC_CONNECTION_TYPE_PPM","ESC_CONNECTION_TYPE_SERIAL","ESC_FAILURE_GENERIC","ESC_FAILURE_INCONSISTENT_CMD","ESC_FAILURE_MOTOR_STUCK","ESC_FAILURE_NONE","ESC_FAILURE_OVER_CURRENT","ESC_FAILURE_OVER_RPM","ESC_FAILURE_OVER_TEMPERATURE","ESC_FAILURE_OVER_VOLTAGE","ESC_INFO","ESC_INFO_DATA","ESC_STATUS","ESC_STATUS_DATA","ESC_TELEMETRY_1_TO_4","ESC_TELEMETRY_1_TO_4_DATA","ESC_TELEMETRY_5_TO_8","ESC_TELEMETRY_5_TO_8_DATA","ESC_TELEMETRY_9_TO_12","ESC_TELEMETRY_9_TO_12_DATA","ESTIMATOR_ACCEL_ERROR","ESTIMATOR_ATTITUDE","ESTIMATOR_CONST_POS_MODE","ESTIMATOR_GPS_GLITCH","ESTIMATOR_POS_HORIZ_ABS","ESTIMATOR_POS_HORIZ_REL","ESTIMATOR_POS_VERT_ABS","ESTIMATOR_POS_VERT_AGL","ESTIMATOR_PRED_POS_HORIZ_ABS","ESTIMATOR_PRED_POS_HORIZ_REL","ESTIMATOR_STATUS","ESTIMATOR_STATUS_DATA","ESTIMATOR_VELOCITY_HORIZ","ESTIMATOR_VELOCITY_VERT","EVENT","EVENT_DATA","EXTENDED_SYS_STATE","EXTENDED_SYS_STATE_DATA","EkfStatusFlags","EscConnectionType","EscFailureFlags","EstimatorStatusFlags","FAILURE_TYPE_DELAYED","FAILURE_TYPE_GARBAGE","FAILURE_TYPE_INTERMITTENT","FAILURE_TYPE_OFF","FAILURE_TYPE_OK","FAILURE_TYPE_SLOW","FAILURE_TYPE_STUCK","FAILURE_TYPE_WRONG","FAILURE_UNIT_SENSOR_ACCEL","FAILURE_UNIT_SENSOR_AIRSPEED","FAILURE_UNIT_SENSOR_BARO","FAILURE_UNIT_SENSOR_DISTANCE_SENSOR","FAILURE_UNIT_SENSOR_GPS","FAILURE_UNIT_SENSOR_GYRO","FAILURE_UNIT_SENSOR_MAG","FAILURE_UNIT_SENSOR_OPTICAL_FLOW","FAILURE_UNIT_SENSOR_VIO","FAILURE_UNIT_SYSTEM_AVOIDANCE","FAILURE_UNIT_SYSTEM_BATTERY","FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL","FAILURE_UNIT_SYSTEM_MOTOR","FAILURE_UNIT_SYSTEM_RC_SIGNAL","FAILURE_UNIT_SYSTEM_SERVO","FAVORABLE_WIND","FENCE_ACTION_GUIDED","FENCE_ACTION_GUIDED_THR_PASS","FENCE_ACTION_HOLD","FENCE_ACTION_LAND","FENCE_ACTION_NONE","FENCE_ACTION_REPORT","FENCE_ACTION_RTL","FENCE_ACTION_TERMINATE","FENCE_BREACH_BOUNDARY","FENCE_BREACH_MAXALT","FENCE_BREACH_MINALT","FENCE_BREACH_NONE","FENCE_FETCH_POINT","FENCE_FETCH_POINT_DATA","FENCE_MITIGATE_NONE","FENCE_MITIGATE_UNKNOWN","FENCE_MITIGATE_VEL_LIMIT","FENCE_POINT","FENCE_POINT_DATA","FENCE_STATUS","FENCE_STATUS_DATA","FF","FILE_TRANSFER_PROTOCOL","FILE_TRANSFER_PROTOCOL_DATA","FIRMWARE_VERSION_TYPE_ALPHA","FIRMWARE_VERSION_TYPE_BETA","FIRMWARE_VERSION_TYPE_DEV","FIRMWARE_VERSION_TYPE_OFFICIAL","FIRMWARE_VERSION_TYPE_RC","FLIGHT_INFORMATION","FLIGHT_INFORMATION_DATA","FOCUS_TYPE_AUTO","FOCUS_TYPE_AUTO_CONTINUOUS","FOCUS_TYPE_AUTO_SINGLE","FOCUS_TYPE_CONTINUOUS","FOCUS_TYPE_METERS","FOCUS_TYPE_RANGE","FOCUS_TYPE_STEP","FOLLOW_TARGET","FOLLOW_TARGET_DATA","FailureType","FailureUnit","FenceAction","FenceBreach","FenceMitigate","FirmwareVersionType","GENERATOR_STATUS","GENERATOR_STATUS_DATA","GIMBAL_AXIS_CALIBRATION_REQUIRED_FALSE","GIMBAL_AXIS_CALIBRATION_REQUIRED_TRUE","GIMBAL_AXIS_CALIBRATION_REQUIRED_UNKNOWN","GIMBAL_AXIS_CALIBRATION_STATUS_FAILED","GIMBAL_AXIS_CALIBRATION_STATUS_IN_PROGRESS","GIMBAL_AXIS_CALIBRATION_STATUS_SUCCEEDED","GIMBAL_AXIS_PITCH","GIMBAL_AXIS_ROLL","GIMBAL_AXIS_YAW","GIMBAL_CONTROL","GIMBAL_CONTROL_DATA","GIMBAL_DEVICE_ATTITUDE_STATUS","GIMBAL_DEVICE_ATTITUDE_STATUS_DATA","GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK","GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS","GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK","GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW","GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_ERROR_FLAGS_AT_PITCH_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_AT_YAW_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING","GIMBAL_DEVICE_ERROR_FLAGS_COMMS_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_ENCODER_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_MOTOR_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_NO_MANAGER","GIMBAL_DEVICE_ERROR_FLAGS_POWER_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_SOFTWARE_ERROR","GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_FLAGS_NEUTRAL","GIMBAL_DEVICE_FLAGS_PITCH_LOCK","GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE","GIMBAL_DEVICE_FLAGS_RC_MIXED","GIMBAL_DEVICE_FLAGS_RETRACT","GIMBAL_DEVICE_FLAGS_ROLL_LOCK","GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME","GIMBAL_DEVICE_FLAGS_YAW_LOCK","GIMBAL_DEVICE_INFORMATION","GIMBAL_DEVICE_INFORMATION_DATA","GIMBAL_DEVICE_SET_ATTITUDE","GIMBAL_DEVICE_SET_ATTITUDE_DATA","GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_GLOBAL","GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_LOCAL","GIMBAL_MANAGER_CAP_FLAGS_HAS_NEUTRAL","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_LOCK","GIMBAL_MANAGER_CAP_FLAGS_HAS_RC_INPUTS","GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_LOCK","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_LOCK","GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_INFINITE_YAW","GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_NEUTRAL","GIMBAL_MANAGER_FLAGS_PITCH_LOCK","GIMBAL_MANAGER_FLAGS_RC_EXCLUSIVE","GIMBAL_MANAGER_FLAGS_RC_MIXED","GIMBAL_MANAGER_FLAGS_RETRACT","GIMBAL_MANAGER_FLAGS_ROLL_LOCK","GIMBAL_MANAGER_FLAGS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_YAW_IN_VEHICLE_FRAME","GIMBAL_MANAGER_FLAGS_YAW_LOCK","GIMBAL_MANAGER_INFORMATION","GIMBAL_MANAGER_INFORMATION_DATA","GIMBAL_MANAGER_SET_ATTITUDE","GIMBAL_MANAGER_SET_ATTITUDE_DATA","GIMBAL_MANAGER_SET_MANUAL_CONTROL","GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA","GIMBAL_MANAGER_SET_PITCHYAW","GIMBAL_MANAGER_SET_PITCHYAW_DATA","GIMBAL_MANAGER_STATUS","GIMBAL_MANAGER_STATUS_DATA","GIMBAL_REPORT","GIMBAL_REPORT_DATA","GIMBAL_TORQUE_CMD_REPORT","GIMBAL_TORQUE_CMD_REPORT_DATA","GLOBAL_POSITION_INT","GLOBAL_POSITION_INT_COV","GLOBAL_POSITION_INT_COV_DATA","GLOBAL_POSITION_INT_DATA","GLOBAL_VISION_POSITION_ESTIMATE","GLOBAL_VISION_POSITION_ESTIMATE_DATA","GOPRO_BURST_RATE_10_IN_1_SECOND","GOPRO_BURST_RATE_10_IN_2_SECOND","GOPRO_BURST_RATE_10_IN_3_SECOND","GOPRO_BURST_RATE_30_IN_1_SECOND","GOPRO_BURST_RATE_30_IN_2_SECOND","GOPRO_BURST_RATE_30_IN_3_SECOND","GOPRO_BURST_RATE_30_IN_6_SECOND","GOPRO_BURST_RATE_3_IN_1_SECOND","GOPRO_BURST_RATE_5_IN_1_SECOND","GOPRO_CAPTURE_MODE_BURST","GOPRO_CAPTURE_MODE_MULTI_SHOT","GOPRO_CAPTURE_MODE_PHOTO","GOPRO_CAPTURE_MODE_PLAYBACK","GOPRO_CAPTURE_MODE_SETUP","GOPRO_CAPTURE_MODE_TIME_LAPSE","GOPRO_CAPTURE_MODE_UNKNOWN","GOPRO_CAPTURE_MODE_VIDEO","GOPRO_CHARGING_DISABLED","GOPRO_CHARGING_ENABLED","GOPRO_COMMAND_BATTERY","GOPRO_COMMAND_CAPTURE_MODE","GOPRO_COMMAND_CHARGING","GOPRO_COMMAND_LOW_LIGHT","GOPRO_COMMAND_MODEL","GOPRO_COMMAND_PHOTO_BURST_RATE","GOPRO_COMMAND_PHOTO_RESOLUTION","GOPRO_COMMAND_POWER","GOPRO_COMMAND_PROTUNE","GOPRO_COMMAND_PROTUNE_COLOUR","GOPRO_COMMAND_PROTUNE_EXPOSURE","GOPRO_COMMAND_PROTUNE_GAIN","GOPRO_COMMAND_PROTUNE_SHARPNESS","GOPRO_COMMAND_PROTUNE_WHITE_BALANCE","GOPRO_COMMAND_SHUTTER","GOPRO_COMMAND_TIME","GOPRO_COMMAND_VIDEO_SETTINGS","GOPRO_FIELD_OF_VIEW_MEDIUM","GOPRO_FIELD_OF_VIEW_NARROW","GOPRO_FIELD_OF_VIEW_WIDE","GOPRO_FLAG_RECORDING","GOPRO_FRAME_RATE_100","GOPRO_FRAME_RATE_12","GOPRO_FRAME_RATE_120","GOPRO_FRAME_RATE_12_5","GOPRO_FRAME_RATE_15","GOPRO_FRAME_RATE_24","GOPRO_FRAME_RATE_240","GOPRO_FRAME_RATE_25","GOPRO_FRAME_RATE_30","GOPRO_FRAME_RATE_48","GOPRO_FRAME_RATE_50","GOPRO_FRAME_RATE_60","GOPRO_FRAME_RATE_80","GOPRO_FRAME_RATE_90","GOPRO_GET_REQUEST","GOPRO_GET_REQUEST_DATA","GOPRO_GET_RESPONSE","GOPRO_GET_RESPONSE_DATA","GOPRO_HEARTBEAT","GOPRO_HEARTBEAT_DATA","GOPRO_HEARTBEAT_STATUS_CONNECTED","GOPRO_HEARTBEAT_STATUS_DISCONNECTED","GOPRO_HEARTBEAT_STATUS_ERROR","GOPRO_HEARTBEAT_STATUS_INCOMPATIBLE","GOPRO_MODEL_HERO_3_PLUS_BLACK","GOPRO_MODEL_HERO_3_PLUS_SILVER","GOPRO_MODEL_HERO_4_BLACK","GOPRO_MODEL_HERO_4_SILVER","GOPRO_MODEL_UNKNOWN","GOPRO_PHOTO_RESOLUTION_10MP_WIDE","GOPRO_PHOTO_RESOLUTION_12MP_WIDE","GOPRO_PHOTO_RESOLUTION_5MP_MEDIUM","GOPRO_PHOTO_RESOLUTION_7MP_MEDIUM","GOPRO_PHOTO_RESOLUTION_7MP_WIDE","GOPRO_PROTUNE_COLOUR_NEUTRAL","GOPRO_PROTUNE_COLOUR_STANDARD","GOPRO_PROTUNE_EXPOSURE_NEG_0_5","GOPRO_PROTUNE_EXPOSURE_NEG_1_0","GOPRO_PROTUNE_EXPOSURE_NEG_1_5","GOPRO_PROTUNE_EXPOSURE_NEG_2_0","GOPRO_PROTUNE_EXPOSURE_NEG_2_5","GOPRO_PROTUNE_EXPOSURE_NEG_3_0","GOPRO_PROTUNE_EXPOSURE_NEG_3_5","GOPRO_PROTUNE_EXPOSURE_NEG_4_0","GOPRO_PROTUNE_EXPOSURE_NEG_4_5","GOPRO_PROTUNE_EXPOSURE_NEG_5_0","GOPRO_PROTUNE_EXPOSURE_POS_0_5","GOPRO_PROTUNE_EXPOSURE_POS_1_0","GOPRO_PROTUNE_EXPOSURE_POS_1_5","GOPRO_PROTUNE_EXPOSURE_POS_2_0","GOPRO_PROTUNE_EXPOSURE_POS_2_5","GOPRO_PROTUNE_EXPOSURE_POS_3_0","GOPRO_PROTUNE_EXPOSURE_POS_3_5","GOPRO_PROTUNE_EXPOSURE_POS_4_0","GOPRO_PROTUNE_EXPOSURE_POS_4_5","GOPRO_PROTUNE_EXPOSURE_POS_5_0","GOPRO_PROTUNE_EXPOSURE_ZERO","GOPRO_PROTUNE_GAIN_1600","GOPRO_PROTUNE_GAIN_3200","GOPRO_PROTUNE_GAIN_400","GOPRO_PROTUNE_GAIN_6400","GOPRO_PROTUNE_GAIN_800","GOPRO_PROTUNE_SHARPNESS_HIGH","GOPRO_PROTUNE_SHARPNESS_LOW","GOPRO_PROTUNE_SHARPNESS_MEDIUM","GOPRO_PROTUNE_WHITE_BALANCE_3000K","GOPRO_PROTUNE_WHITE_BALANCE_5500K","GOPRO_PROTUNE_WHITE_BALANCE_6500K","GOPRO_PROTUNE_WHITE_BALANCE_AUTO","GOPRO_PROTUNE_WHITE_BALANCE_RAW","GOPRO_REQUEST_FAILED","GOPRO_REQUEST_SUCCESS","GOPRO_RESOLUTION_1080p","GOPRO_RESOLUTION_1080p_SUPERVIEW","GOPRO_RESOLUTION_1440p","GOPRO_RESOLUTION_2_7k_16_9","GOPRO_RESOLUTION_2_7k_17_9","GOPRO_RESOLUTION_2_7k_4_3","GOPRO_RESOLUTION_2_7k_SUPERVIEW","GOPRO_RESOLUTION_480p","GOPRO_RESOLUTION_4k_16_9","GOPRO_RESOLUTION_4k_17_9","GOPRO_RESOLUTION_4k_SUPERVIEW","GOPRO_RESOLUTION_720p","GOPRO_RESOLUTION_720p_SUPERVIEW","GOPRO_RESOLUTION_960p","GOPRO_SET_REQUEST","GOPRO_SET_REQUEST_DATA","GOPRO_SET_RESPONSE","GOPRO_SET_RESPONSE_DATA","GOPRO_VIDEO_SETTINGS_TV_MODE","GPS2_RAW","GPS2_RAW_DATA","GPS2_RTK","GPS2_RTK_DATA","GPS_FIX_TYPE_2D_FIX","GPS_FIX_TYPE_3D_FIX","GPS_FIX_TYPE_DGPS","GPS_FIX_TYPE_NO_FIX","GPS_FIX_TYPE_NO_GPS","GPS_FIX_TYPE_PPP","GPS_FIX_TYPE_RTK_FIXED","GPS_FIX_TYPE_RTK_FLOAT","GPS_FIX_TYPE_STATIC","GPS_GLOBAL_ORIGIN","GPS_GLOBAL_ORIGIN_DATA","GPS_INJECT_DATA","GPS_INJECT_DATA_DATA","GPS_INPUT","GPS_INPUT_DATA","GPS_INPUT_IGNORE_FLAG_ALT","GPS_INPUT_IGNORE_FLAG_HDOP","GPS_INPUT_IGNORE_FLAG_HORIZONTAL_ACCURACY","GPS_INPUT_IGNORE_FLAG_SPEED_ACCURACY","GPS_INPUT_IGNORE_FLAG_VDOP","GPS_INPUT_IGNORE_FLAG_VEL_HORIZ","GPS_INPUT_IGNORE_FLAG_VEL_VERT","GPS_INPUT_IGNORE_FLAG_VERTICAL_ACCURACY","GPS_RAW_INT","GPS_RAW_INT_DATA","GPS_RTCM_DATA","GPS_RTCM_DATA_DATA","GPS_RTK","GPS_RTK_DATA","GPS_STATUS","GPS_STATUS_DATA","GRIPPER_ACTION_GRAB","GRIPPER_ACTION_RELEASE","GimbalAxis","GimbalAxisCalibrationRequired","GimbalAxisCalibrationStatus","GimbalDeviceCapFlags","GimbalDeviceErrorFlags","GimbalDeviceFlags","GimbalManagerCapFlags","GimbalManagerFlags","GoproBurstRate","GoproCaptureMode","GoproCharging","GoproCommand","GoproFieldOfView","GoproFrameRate","GoproHeartbeatFlags","GoproHeartbeatStatus","GoproModel","GoproPhotoResolution","GoproProtuneColour","GoproProtuneExposure","GoproProtuneGain","GoproProtuneSharpness","GoproProtuneWhiteBalance","GoproRequestStatus","GoproResolution","GoproVideoSettingsFlags","GpsFixType","GpsInputIgnoreFlags","GripperActions","HEADING_TYPE_COURSE_OVER_GROUND","HEADING_TYPE_HEADING","HEARTBEAT","HEARTBEAT_DATA","HERELINK_TELEM","HERELINK_TELEM_DATA","HERELINK_VIDEO_STREAM_INFORMATION","HERELINK_VIDEO_STREAM_INFORMATION_DATA","HIGHRES_IMU","HIGHRES_IMU_DATA","HIGHRES_IMU_UPDATED_ABS_PRESSURE","HIGHRES_IMU_UPDATED_ALL","HIGHRES_IMU_UPDATED_DIFF_PRESSURE","HIGHRES_IMU_UPDATED_NONE","HIGHRES_IMU_UPDATED_PRESSURE_ALT","HIGHRES_IMU_UPDATED_TEMPERATURE","HIGHRES_IMU_UPDATED_XACC","HIGHRES_IMU_UPDATED_XGYRO","HIGHRES_IMU_UPDATED_XMAG","HIGHRES_IMU_UPDATED_YACC","HIGHRES_IMU_UPDATED_YGYRO","HIGHRES_IMU_UPDATED_YMAG","HIGHRES_IMU_UPDATED_ZACC","HIGHRES_IMU_UPDATED_ZGYRO","HIGHRES_IMU_UPDATED_ZMAG","HIGH_LATENCY","HIGH_LATENCY2","HIGH_LATENCY2_DATA","HIGH_LATENCY_DATA","HIL_ACTUATOR_CONTROLS","HIL_ACTUATOR_CONTROLS_DATA","HIL_CONTROLS","HIL_CONTROLS_DATA","HIL_GPS","HIL_GPS_DATA","HIL_OPTICAL_FLOW","HIL_OPTICAL_FLOW_DATA","HIL_RC_INPUTS_RAW","HIL_RC_INPUTS_RAW_DATA","HIL_SENSOR","HIL_SENSOR_DATA","HIL_SENSOR_UPDATED_ABS_PRESSURE","HIL_SENSOR_UPDATED_DIFF_PRESSURE","HIL_SENSOR_UPDATED_NONE","HIL_SENSOR_UPDATED_PRESSURE_ALT","HIL_SENSOR_UPDATED_RESET","HIL_SENSOR_UPDATED_TEMPERATURE","HIL_SENSOR_UPDATED_XACC","HIL_SENSOR_UPDATED_XGYRO","HIL_SENSOR_UPDATED_XMAG","HIL_SENSOR_UPDATED_YACC","HIL_SENSOR_UPDATED_YGYRO","HIL_SENSOR_UPDATED_YMAG","HIL_SENSOR_UPDATED_ZACC","HIL_SENSOR_UPDATED_ZGYRO","HIL_SENSOR_UPDATED_ZMAG","HIL_STATE","HIL_STATE_DATA","HIL_STATE_QUATERNION","HIL_STATE_QUATERNION_DATA","HL_FAILURE_FLAG_3D_ACCEL","HL_FAILURE_FLAG_3D_GYRO","HL_FAILURE_FLAG_3D_MAG","HL_FAILURE_FLAG_ABSOLUTE_PRESSURE","HL_FAILURE_FLAG_BATTERY","HL_FAILURE_FLAG_DIFFERENTIAL_PRESSURE","HL_FAILURE_FLAG_ENGINE","HL_FAILURE_FLAG_ESTIMATOR","HL_FAILURE_FLAG_GEOFENCE","HL_FAILURE_FLAG_GPS","HL_FAILURE_FLAG_MISSION","HL_FAILURE_FLAG_OFFBOARD_LINK","HL_FAILURE_FLAG_RC_RECEIVER","HL_FAILURE_FLAG_TERRAIN","HOME_POSITION","HOME_POSITION_DATA","HWSTATUS","HWSTATUS_DATA","HYGROMETER_SENSOR","HYGROMETER_SENSOR_DATA","HeadingType","HighresImuUpdatedFlags","HilSensorUpdatedFlags","HlFailureFlag","I","I2Cerr","ICAO","ICAO_address","ICAROUS_FMS_STATE_APPROACH","ICAROUS_FMS_STATE_CLIMB","ICAROUS_FMS_STATE_CRUISE","ICAROUS_FMS_STATE_IDLE","ICAROUS_FMS_STATE_LAND","ICAROUS_FMS_STATE_TAKEOFF","ICAROUS_HEARTBEAT","ICAROUS_HEARTBEAT_DATA","ICAROUS_KINEMATIC_BANDS","ICAROUS_KINEMATIC_BANDS_DATA","ICAROUS_TRACK_BAND_TYPE_NEAR","ICAROUS_TRACK_BAND_TYPE_NONE","ICAROUS_TRACK_BAND_TYPE_RECOVERY","ISBD_LINK_STATUS","ISBD_LINK_STATUS_DATA","IcarousFmsState","IcarousTrackBandTypes","LANDING_TARGET","LANDING_TARGET_DATA","LANDING_TARGET_TYPE_LIGHT_BEACON","LANDING_TARGET_TYPE_RADIO_BEACON","LANDING_TARGET_TYPE_VISION_FIDUCIAL","LANDING_TARGET_TYPE_VISION_OTHER","LAND_IMMEDIATELY","LED_CONTROL","LED_CONTROL_DATA","LED_CONTROL_PATTERN_CUSTOM","LED_CONTROL_PATTERN_FIRMWAREUPDATE","LED_CONTROL_PATTERN_OFF","LIMITS_DISABLED","LIMITS_ENABLED","LIMITS_INIT","LIMITS_RECOVERED","LIMITS_RECOVERING","LIMITS_STATUS","LIMITS_STATUS_DATA","LIMITS_TRIGGERED","LIMIT_ALTITUDE","LIMIT_GEOFENCE","LIMIT_GPSLOCK","LINK_NODE_STATUS","LINK_NODE_STATUS_DATA","LOCAL_POSITION_NED","LOCAL_POSITION_NED_COV","LOCAL_POSITION_NED_COV_DATA","LOCAL_POSITION_NED_DATA","LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET","LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA","LOGGING_ACK","LOGGING_ACK_DATA","LOGGING_DATA","LOGGING_DATA_ACKED","LOGGING_DATA_ACKED_DATA","LOGGING_DATA_DATA","LOG_DATA","LOG_DATA_DATA","LOG_ENTRY","LOG_ENTRY_DATA","LOG_ERASE","LOG_ERASE_DATA","LOG_REQUEST_DATA","LOG_REQUEST_DATA_DATA","LOG_REQUEST_END","LOG_REQUEST_END_DATA","LOG_REQUEST_LIST","LOG_REQUEST_LIST_DATA","LandingTargetType","LedControlPattern","LimitModule","LimitsState","MAG_CAL_BAD_ORIENTATION","MAG_CAL_BAD_RADIUS","MAG_CAL_FAILED","MAG_CAL_NOT_STARTED","MAG_CAL_PROGRESS","MAG_CAL_PROGRESS_DATA","MAG_CAL_REPORT","MAG_CAL_REPORT_DATA","MAG_CAL_RUNNING_STEP_ONE","MAG_CAL_RUNNING_STEP_TWO","MAG_CAL_SUCCESS","MAG_CAL_WAITING_TO_START","MANUAL_CONTROL","MANUAL_CONTROL_DATA","MANUAL_SETPOINT","MANUAL_SETPOINT_DATA","MAVLINK_DATA_STREAM_IMG_BMP","MAVLINK_DATA_STREAM_IMG_JPEG","MAVLINK_DATA_STREAM_IMG_PGM","MAVLINK_DATA_STREAM_IMG_PNG","MAVLINK_DATA_STREAM_IMG_RAW32U","MAVLINK_DATA_STREAM_IMG_RAW8U","MAV_ARM_AUTH_DENIED_REASON_AIRSPACE_IN_USE","MAV_ARM_AUTH_DENIED_REASON_BAD_WEATHER","MAV_ARM_AUTH_DENIED_REASON_GENERIC","MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT","MAV_ARM_AUTH_DENIED_REASON_NONE","MAV_ARM_AUTH_DENIED_REASON_TIMEOUT","MAV_AUTOPILOT_AEROB","MAV_AUTOPILOT_AIRRAILS","MAV_AUTOPILOT_ARDUPILOTMEGA","MAV_AUTOPILOT_ARMAZILA","MAV_AUTOPILOT_ASLUAV","MAV_AUTOPILOT_AUTOQUAD","MAV_AUTOPILOT_FP","MAV_AUTOPILOT_GENERIC","MAV_AUTOPILOT_GENERIC_MISSION_FULL","MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY","MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY","MAV_AUTOPILOT_INVALID","MAV_AUTOPILOT_OPENPILOT","MAV_AUTOPILOT_PPZ","MAV_AUTOPILOT_PX4","MAV_AUTOPILOT_REFLEX","MAV_AUTOPILOT_RESERVED","MAV_AUTOPILOT_SLUGS","MAV_AUTOPILOT_SMACCMPILOT","MAV_AUTOPILOT_SMARTAP","MAV_AUTOPILOT_UDB","MAV_BATTERY_CHARGE_STATE_CHARGING","MAV_BATTERY_CHARGE_STATE_CRITICAL","MAV_BATTERY_CHARGE_STATE_EMERGENCY","MAV_BATTERY_CHARGE_STATE_FAILED","MAV_BATTERY_CHARGE_STATE_LOW","MAV_BATTERY_CHARGE_STATE_OK","MAV_BATTERY_CHARGE_STATE_UNDEFINED","MAV_BATTERY_CHARGE_STATE_UNHEALTHY","MAV_BATTERY_FAULT_CELL_FAIL","MAV_BATTERY_FAULT_DEEP_DISCHARGE","MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE","MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE","MAV_BATTERY_FAULT_OVER_CURRENT","MAV_BATTERY_FAULT_OVER_TEMPERATURE","MAV_BATTERY_FAULT_SPIKES","MAV_BATTERY_FAULT_UNDER_TEMPERATURE","MAV_BATTERY_FUNCTION_ALL","MAV_BATTERY_FUNCTION_AVIONICS","MAV_BATTERY_FUNCTION_PAYLOAD","MAV_BATTERY_FUNCTION_PROPULSION","MAV_BATTERY_FUNCTION_UNKNOWN","MAV_BATTERY_MODE_AUTO_DISCHARGING","MAV_BATTERY_MODE_HOT_SWAP","MAV_BATTERY_MODE_UNKNOWN","MAV_BATTERY_TYPE_LIFE","MAV_BATTERY_TYPE_LION","MAV_BATTERY_TYPE_LIPO","MAV_BATTERY_TYPE_NIMH","MAV_BATTERY_TYPE_UNKNOWN","MAV_CMD_ACCELCAL_VEHICLE_POS","MAV_CMD_ACK_ERR_ACCESS_DENIED","MAV_CMD_ACK_ERR_COORDINATES_OUT_OF_RANGE","MAV_CMD_ACK_ERR_COORDINATE_FRAME_NOT_SUPPORTED","MAV_CMD_ACK_ERR_FAIL","MAV_CMD_ACK_ERR_NOT_SUPPORTED","MAV_CMD_ACK_ERR_X_LAT_OUT_OF_RANGE","MAV_CMD_ACK_ERR_Y_LON_OUT_OF_RANGE","MAV_CMD_ACK_ERR_Z_ALT_OUT_OF_RANGE","MAV_CMD_ACK_OK","MAV_CMD_ACTUATOR_TEST","MAV_CMD_AIRFRAME_CONFIGURATION","MAV_CMD_ARM_AUTHORIZATION_REQUEST","MAV_CMD_BATTERY_RESET","MAV_CMD_CAMERA_STOP_TRACKING","MAV_CMD_CAMERA_TRACK_POINT","MAV_CMD_CAMERA_TRACK_RECTANGLE","MAV_CMD_CAN_FORWARD","MAV_CMD_COMPONENT_ARM_DISARM","MAV_CMD_CONDITION_CHANGE_ALT","MAV_CMD_CONDITION_DELAY","MAV_CMD_CONDITION_DISTANCE","MAV_CMD_CONDITION_GATE","MAV_CMD_CONDITION_LAST","MAV_CMD_CONDITION_YAW","MAV_CMD_CONFIGURE_ACTUATOR","MAV_CMD_CONTROL_HIGH_LATENCY","MAV_CMD_DEBUG_TRAP","MAV_CMD_DO_ACCEPT_MAG_CAL","MAV_CMD_DO_ADSB_OUT_IDENT","MAV_CMD_DO_AUTOTUNE_ENABLE","MAV_CMD_DO_AUX_FUNCTION","MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_HIGH","MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_LOW","MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_MIDDLE","MAV_CMD_DO_CANCEL_MAG_CAL","MAV_CMD_DO_CHANGE_ALTITUDE","MAV_CMD_DO_CHANGE_SPEED","MAV_CMD_DO_CONTROL_VIDEO","MAV_CMD_DO_DIGICAM_CONFIGURE","MAV_CMD_DO_DIGICAM_CONTROL","MAV_CMD_DO_ENGINE_CONTROL","MAV_CMD_DO_FENCE_ENABLE","MAV_CMD_DO_FLIGHTTERMINATION","MAV_CMD_DO_FOLLOW","MAV_CMD_DO_FOLLOW_REPOSITION","MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE","MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW","MAV_CMD_DO_GO_AROUND","MAV_CMD_DO_GRIPPER","MAV_CMD_DO_GUIDED_LIMITS","MAV_CMD_DO_GUIDED_MASTER","MAV_CMD_DO_INVERTED_FLIGHT","MAV_CMD_DO_JUMP","MAV_CMD_DO_JUMP_TAG","MAV_CMD_DO_LAND_START","MAV_CMD_DO_LAST","MAV_CMD_DO_MOTOR_TEST","MAV_CMD_DO_MOUNT_CONFIGURE","MAV_CMD_DO_MOUNT_CONTROL","MAV_CMD_DO_MOUNT_CONTROL_QUAT","MAV_CMD_DO_ORBIT","MAV_CMD_DO_PARACHUTE","MAV_CMD_DO_PAUSE_CONTINUE","MAV_CMD_DO_RALLY_LAND","MAV_CMD_DO_REPEAT_RELAY","MAV_CMD_DO_REPEAT_SERVO","MAV_CMD_DO_REPOSITION","MAV_CMD_DO_SEND_BANNER","MAV_CMD_DO_SEND_SCRIPT_MESSAGE","MAV_CMD_DO_SET_ACTUATOR","MAV_CMD_DO_SET_CAM_TRIGG_DIST","MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL","MAV_CMD_DO_SET_HOME","MAV_CMD_DO_SET_MISSION_CURRENT","MAV_CMD_DO_SET_MODE","MAV_CMD_DO_SET_PARAMETER","MAV_CMD_DO_SET_RELAY","MAV_CMD_DO_SET_RESUME_REPEAT_DIST","MAV_CMD_DO_SET_REVERSE","MAV_CMD_DO_SET_ROI","MAV_CMD_DO_SET_ROI_LOCATION","MAV_CMD_DO_SET_ROI_NONE","MAV_CMD_DO_SET_ROI_SYSID","MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET","MAV_CMD_DO_SET_SERVO","MAV_CMD_DO_SPRAYER","MAV_CMD_DO_START_MAG_CAL","MAV_CMD_DO_TRIGGER_CONTROL","MAV_CMD_DO_VTOL_TRANSITION","MAV_CMD_DO_WINCH","MAV_CMD_FIXED_MAG_CAL","MAV_CMD_FIXED_MAG_CAL_FIELD","MAV_CMD_FIXED_MAG_CAL_YAW","MAV_CMD_FLASH_BOOTLOADER","MAV_CMD_GET_HOME_POSITION","MAV_CMD_GET_MESSAGE_INTERVAL","MAV_CMD_GIMBAL_AXIS_CALIBRATION_STATUS","MAV_CMD_GIMBAL_FULL_RESET","MAV_CMD_GIMBAL_REQUEST_AXIS_CALIBRATION","MAV_CMD_GIMBAL_RESET","MAV_CMD_GUIDED_CHANGE_ALTITUDE","MAV_CMD_GUIDED_CHANGE_HEADING","MAV_CMD_GUIDED_CHANGE_SPEED","MAV_CMD_ILLUMINATOR_ON_OFF","MAV_CMD_IMAGE_START_CAPTURE","MAV_CMD_IMAGE_STOP_CAPTURE","MAV_CMD_INJECT_FAILURE","MAV_CMD_JUMP_TAG","MAV_CMD_LOGGING_START","MAV_CMD_LOGGING_STOP","MAV_CMD_MISSION_START","MAV_CMD_NAV_ALTITUDE_WAIT","MAV_CMD_NAV_ATTITUDE_TIME","MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT","MAV_CMD_NAV_DELAY","MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION","MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION","MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION","MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION","MAV_CMD_NAV_FENCE_RETURN_POINT","MAV_CMD_NAV_FOLLOW","MAV_CMD_NAV_GUIDED_ENABLE","MAV_CMD_NAV_LAND","MAV_CMD_NAV_LAND_LOCAL","MAV_CMD_NAV_LAST","MAV_CMD_NAV_LOITER_TIME","MAV_CMD_NAV_LOITER_TO_ALT","MAV_CMD_NAV_LOITER_TURNS","MAV_CMD_NAV_LOITER_UNLIM","MAV_CMD_NAV_PATHPLANNING","MAV_CMD_NAV_PAYLOAD_PLACE","MAV_CMD_NAV_RALLY_POINT","MAV_CMD_NAV_RETURN_TO_LAUNCH","MAV_CMD_NAV_ROI","MAV_CMD_NAV_SCRIPT_TIME","MAV_CMD_NAV_SET_YAW_SPEED","MAV_CMD_NAV_SPLINE_WAYPOINT","MAV_CMD_NAV_TAKEOFF","MAV_CMD_NAV_TAKEOFF_LOCAL","MAV_CMD_NAV_VTOL_LAND","MAV_CMD_NAV_VTOL_TAKEOFF","MAV_CMD_NAV_WAYPOINT","MAV_CMD_OBLIQUE_SURVEY","MAV_CMD_OVERRIDE_GOTO","MAV_CMD_PANORAMA_CREATE","MAV_CMD_PAYLOAD_CONTROL_DEPLOY","MAV_CMD_PAYLOAD_PREPARE_DEPLOY","MAV_CMD_POWER_OFF_INITIATED","MAV_CMD_PREFLIGHT_CALIBRATION","MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN","MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS","MAV_CMD_PREFLIGHT_STORAGE","MAV_CMD_PREFLIGHT_UAVCAN","MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES","MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS","MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE","MAV_CMD_REQUEST_CAMERA_INFORMATION","MAV_CMD_REQUEST_CAMERA_SETTINGS","MAV_CMD_REQUEST_FLIGHT_INFORMATION","MAV_CMD_REQUEST_MESSAGE","MAV_CMD_REQUEST_PROTOCOL_VERSION","MAV_CMD_REQUEST_STORAGE_INFORMATION","MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION","MAV_CMD_REQUEST_VIDEO_STREAM_STATUS","MAV_CMD_RESET_CAMERA_SETTINGS","MAV_CMD_RUN_PREARM_CHECKS","MAV_CMD_SCRIPTING","MAV_CMD_SET_CAMERA_FOCUS","MAV_CMD_SET_CAMERA_MODE","MAV_CMD_SET_CAMERA_ZOOM","MAV_CMD_SET_EKF_SOURCE_SET","MAV_CMD_SET_FACTORY_TEST_MODE","MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE","MAV_CMD_SET_GUIDED_SUBMODE_STANDARD","MAV_CMD_SET_MESSAGE_INTERVAL","MAV_CMD_SET_STORAGE_USAGE","MAV_CMD_SOLO_BTN_FLY_CLICK","MAV_CMD_SOLO_BTN_FLY_HOLD","MAV_CMD_SOLO_BTN_PAUSE_CLICK","MAV_CMD_SPATIAL_USER_1","MAV_CMD_SPATIAL_USER_2","MAV_CMD_SPATIAL_USER_3","MAV_CMD_SPATIAL_USER_4","MAV_CMD_SPATIAL_USER_5","MAV_CMD_START_RX_PAIR","MAV_CMD_STORAGE_FORMAT","MAV_CMD_UAVCAN_GET_NODE_INFO","MAV_CMD_USER_1","MAV_CMD_USER_2","MAV_CMD_USER_3","MAV_CMD_USER_4","MAV_CMD_USER_5","MAV_CMD_VIDEO_START_CAPTURE","MAV_CMD_VIDEO_START_STREAMING","MAV_CMD_VIDEO_STOP_CAPTURE","MAV_CMD_VIDEO_STOP_STREAMING","MAV_CMD_WAYPOINT_USER_1","MAV_CMD_WAYPOINT_USER_2","MAV_CMD_WAYPOINT_USER_3","MAV_CMD_WAYPOINT_USER_4","MAV_CMD_WAYPOINT_USER_5","MAV_COLLISION_ACTION_ASCEND_OR_DESCEND","MAV_COLLISION_ACTION_HOVER","MAV_COLLISION_ACTION_MOVE_HORIZONTALLY","MAV_COLLISION_ACTION_MOVE_PERPENDICULAR","MAV_COLLISION_ACTION_NONE","MAV_COLLISION_ACTION_REPORT","MAV_COLLISION_ACTION_RTL","MAV_COLLISION_SRC_ADSB","MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT","MAV_COLLISION_THREAT_LEVEL_HIGH","MAV_COLLISION_THREAT_LEVEL_LOW","MAV_COLLISION_THREAT_LEVEL_NONE","MAV_COMP_ID_ADSB","MAV_COMP_ID_ALL","MAV_COMP_ID_AUTOPILOT1","MAV_COMP_ID_BATTERY","MAV_COMP_ID_BATTERY2","MAV_COMP_ID_CAMERA","MAV_COMP_ID_CAMERA2","MAV_COMP_ID_CAMERA3","MAV_COMP_ID_CAMERA4","MAV_COMP_ID_CAMERA5","MAV_COMP_ID_CAMERA6","MAV_COMP_ID_FLARM","MAV_COMP_ID_GIMBAL","MAV_COMP_ID_GIMBAL2","MAV_COMP_ID_GIMBAL3","MAV_COMP_ID_GIMBAL4","MAV_COMP_ID_GIMBAL5","MAV_COMP_ID_GIMBAL6","MAV_COMP_ID_GPS","MAV_COMP_ID_GPS2","MAV_COMP_ID_IMU","MAV_COMP_ID_IMU_2","MAV_COMP_ID_IMU_3","MAV_COMP_ID_LOG","MAV_COMP_ID_MAVCAN","MAV_COMP_ID_MISSIONPLANNER","MAV_COMP_ID_OBSTACLE_AVOIDANCE","MAV_COMP_ID_ODID_TXRX_1","MAV_COMP_ID_ODID_TXRX_2","MAV_COMP_ID_ODID_TXRX_3","MAV_COMP_ID_ONBOARD_COMPUTER","MAV_COMP_ID_ONBOARD_COMPUTER2","MAV_COMP_ID_ONBOARD_COMPUTER3","MAV_COMP_ID_ONBOARD_COMPUTER4","MAV_COMP_ID_OSD","MAV_COMP_ID_PAIRING_MANAGER","MAV_COMP_ID_PARACHUTE","MAV_COMP_ID_PATHPLANNER","MAV_COMP_ID_PERIPHERAL","MAV_COMP_ID_QX1_GIMBAL","MAV_COMP_ID_SERVO1","MAV_COMP_ID_SERVO10","MAV_COMP_ID_SERVO11","MAV_COMP_ID_SERVO12","MAV_COMP_ID_SERVO13","MAV_COMP_ID_SERVO14","MAV_COMP_ID_SERVO2","MAV_COMP_ID_SERVO3","MAV_COMP_ID_SERVO4","MAV_COMP_ID_SERVO5","MAV_COMP_ID_SERVO6","MAV_COMP_ID_SERVO7","MAV_COMP_ID_SERVO8","MAV_COMP_ID_SERVO9","MAV_COMP_ID_SYSTEM_CONTROL","MAV_COMP_ID_TELEMETRY_RADIO","MAV_COMP_ID_TUNNEL_NODE","MAV_COMP_ID_UART_BRIDGE","MAV_COMP_ID_UDP_BRIDGE","MAV_COMP_ID_USER1","MAV_COMP_ID_USER10","MAV_COMP_ID_USER11","MAV_COMP_ID_USER12","MAV_COMP_ID_USER13","MAV_COMP_ID_USER14","MAV_COMP_ID_USER15","MAV_COMP_ID_USER16","MAV_COMP_ID_USER17","MAV_COMP_ID_USER18","MAV_COMP_ID_USER19","MAV_COMP_ID_USER2","MAV_COMP_ID_USER20","MAV_COMP_ID_USER21","MAV_COMP_ID_USER22","MAV_COMP_ID_USER23","MAV_COMP_ID_USER24","MAV_COMP_ID_USER25","MAV_COMP_ID_USER26","MAV_COMP_ID_USER27","MAV_COMP_ID_USER28","MAV_COMP_ID_USER29","MAV_COMP_ID_USER3","MAV_COMP_ID_USER30","MAV_COMP_ID_USER31","MAV_COMP_ID_USER32","MAV_COMP_ID_USER33","MAV_COMP_ID_USER34","MAV_COMP_ID_USER35","MAV_COMP_ID_USER36","MAV_COMP_ID_USER37","MAV_COMP_ID_USER38","MAV_COMP_ID_USER39","MAV_COMP_ID_USER4","MAV_COMP_ID_USER40","MAV_COMP_ID_USER41","MAV_COMP_ID_USER42","MAV_COMP_ID_USER43","MAV_COMP_ID_USER45","MAV_COMP_ID_USER46","MAV_COMP_ID_USER47","MAV_COMP_ID_USER48","MAV_COMP_ID_USER49","MAV_COMP_ID_USER5","MAV_COMP_ID_USER50","MAV_COMP_ID_USER51","MAV_COMP_ID_USER52","MAV_COMP_ID_USER53","MAV_COMP_ID_USER54","MAV_COMP_ID_USER55","MAV_COMP_ID_USER56","MAV_COMP_ID_USER57","MAV_COMP_ID_USER58","MAV_COMP_ID_USER59","MAV_COMP_ID_USER6","MAV_COMP_ID_USER60","MAV_COMP_ID_USER61","MAV_COMP_ID_USER62","MAV_COMP_ID_USER63","MAV_COMP_ID_USER64","MAV_COMP_ID_USER65","MAV_COMP_ID_USER66","MAV_COMP_ID_USER67","MAV_COMP_ID_USER68","MAV_COMP_ID_USER69","MAV_COMP_ID_USER7","MAV_COMP_ID_USER70","MAV_COMP_ID_USER71","MAV_COMP_ID_USER72","MAV_COMP_ID_USER73","MAV_COMP_ID_USER74","MAV_COMP_ID_USER75","MAV_COMP_ID_USER8","MAV_COMP_ID_USER9","MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY","MAV_COMP_ID_WINCH","MAV_DATA_STREAM_ALL","MAV_DATA_STREAM_EXTENDED_STATUS","MAV_DATA_STREAM_EXTRA1","MAV_DATA_STREAM_EXTRA2","MAV_DATA_STREAM_EXTRA3","MAV_DATA_STREAM_POSITION","MAV_DATA_STREAM_RAW_CONTROLLER","MAV_DATA_STREAM_RAW_SENSORS","MAV_DATA_STREAM_RC_CHANNELS","MAV_DISTANCE_SENSOR_INFRARED","MAV_DISTANCE_SENSOR_LASER","MAV_DISTANCE_SENSOR_RADAR","MAV_DISTANCE_SENSOR_ULTRASOUND","MAV_DISTANCE_SENSOR_UNKNOWN","MAV_DO_REPOSITION_FLAGS_CHANGE_MODE","MAV_ESTIMATOR_TYPE_AUTOPILOT","MAV_ESTIMATOR_TYPE_GPS","MAV_ESTIMATOR_TYPE_GPS_INS","MAV_ESTIMATOR_TYPE_LIDAR","MAV_ESTIMATOR_TYPE_MOCAP","MAV_ESTIMATOR_TYPE_NAIVE","MAV_ESTIMATOR_TYPE_UNKNOWN","MAV_ESTIMATOR_TYPE_VIO","MAV_ESTIMATOR_TYPE_VISION","MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET","MAV_EVENT_ERROR_REASON_UNAVAILABLE","MAV_FRAME_BODY_FRD","MAV_FRAME_BODY_NED","MAV_FRAME_BODY_OFFSET_NED","MAV_FRAME_GLOBAL","MAV_FRAME_GLOBAL_INT","MAV_FRAME_GLOBAL_RELATIVE_ALT","MAV_FRAME_GLOBAL_RELATIVE_ALT_INT","MAV_FRAME_GLOBAL_TERRAIN_ALT","MAV_FRAME_GLOBAL_TERRAIN_ALT_INT","MAV_FRAME_LOCAL_ENU","MAV_FRAME_LOCAL_FLU","MAV_FRAME_LOCAL_FRD","MAV_FRAME_LOCAL_NED","MAV_FRAME_LOCAL_OFFSET_NED","MAV_FRAME_MISSION","MAV_FRAME_RESERVED_13","MAV_FRAME_RESERVED_14","MAV_FRAME_RESERVED_15","MAV_FRAME_RESERVED_16","MAV_FRAME_RESERVED_17","MAV_FRAME_RESERVED_18","MAV_FRAME_RESERVED_19","MAV_FTP_ERR_EOF","MAV_FTP_ERR_FAIL","MAV_FTP_ERR_FAILERRNO","MAV_FTP_ERR_FILEEXISTS","MAV_FTP_ERR_FILENOTFOUND","MAV_FTP_ERR_FILEPROTECTED","MAV_FTP_ERR_INVALIDDATASIZE","MAV_FTP_ERR_INVALIDSESSION","MAV_FTP_ERR_NONE","MAV_FTP_ERR_NOSESSIONSAVAILABLE","MAV_FTP_ERR_UNKNOWNCOMMAND","MAV_FTP_OPCODE_ACK","MAV_FTP_OPCODE_BURSTREADFILE","MAV_FTP_OPCODE_CALCFILECRC","MAV_FTP_OPCODE_CREATEDIRECTORY","MAV_FTP_OPCODE_CREATEFILE","MAV_FTP_OPCODE_LISTDIRECTORY","MAV_FTP_OPCODE_NAK","MAV_FTP_OPCODE_NONE","MAV_FTP_OPCODE_OPENFILERO","MAV_FTP_OPCODE_OPENFILEWO","MAV_FTP_OPCODE_READFILE","MAV_FTP_OPCODE_REMOVEDIRECTORY","MAV_FTP_OPCODE_REMOVEFILE","MAV_FTP_OPCODE_RENAME","MAV_FTP_OPCODE_RESETSESSION","MAV_FTP_OPCODE_TERMINATESESSION","MAV_FTP_OPCODE_TRUNCATEFILE","MAV_FTP_OPCODE_WRITEFILE","MAV_GENERATOR_STATUS_FLAG_BATTERY_OVERCHARGE_CURRENT_FAULT","MAV_GENERATOR_STATUS_FLAG_BATTERY_UNDERVOLT_FAULT","MAV_GENERATOR_STATUS_FLAG_CHARGING","MAV_GENERATOR_STATUS_FLAG_COMMUNICATION_WARNING","MAV_GENERATOR_STATUS_FLAG_COOLING_WARNING","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_FAULT","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_FAULT","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_WARNING","MAV_GENERATOR_STATUS_FLAG_GENERATING","MAV_GENERATOR_STATUS_FLAG_IDLE","MAV_GENERATOR_STATUS_FLAG_MAINTENANCE_REQUIRED","MAV_GENERATOR_STATUS_FLAG_MAXPOWER","MAV_GENERATOR_STATUS_FLAG_OFF","MAV_GENERATOR_STATUS_FLAG_OVERCURRENT_FAULT","MAV_GENERATOR_STATUS_FLAG_OVERTEMP_FAULT","MAV_GENERATOR_STATUS_FLAG_OVERTEMP_WARNING","MAV_GENERATOR_STATUS_FLAG_OVERVOLTAGE_FAULT","MAV_GENERATOR_STATUS_FLAG_POWERSOURCE_FAULT","MAV_GENERATOR_STATUS_FLAG_POWER_RAIL_FAULT","MAV_GENERATOR_STATUS_FLAG_READY","MAV_GENERATOR_STATUS_FLAG_REDUCED_POWER","MAV_GENERATOR_STATUS_FLAG_START_INHIBITED","MAV_GENERATOR_STATUS_FLAG_WARMING_UP","MAV_GOTO_DO_CONTINUE","MAV_GOTO_DO_HOLD","MAV_GOTO_HOLD_AT_CURRENT_POSITION","MAV_GOTO_HOLD_AT_SPECIFIED_POSITION","MAV_LANDED_STATE_IN_AIR","MAV_LANDED_STATE_LANDING","MAV_LANDED_STATE_ON_GROUND","MAV_LANDED_STATE_TAKEOFF","MAV_LANDED_STATE_UNDEFINED","MAV_MISSION_ACCEPTED","MAV_MISSION_DENIED","MAV_MISSION_ERROR","MAV_MISSION_INVALID","MAV_MISSION_INVALID_PARAM1","MAV_MISSION_INVALID_PARAM2","MAV_MISSION_INVALID_PARAM3","MAV_MISSION_INVALID_PARAM4","MAV_MISSION_INVALID_PARAM5_X","MAV_MISSION_INVALID_PARAM6_Y","MAV_MISSION_INVALID_PARAM7","MAV_MISSION_INVALID_SEQUENCE","MAV_MISSION_NO_SPACE","MAV_MISSION_OPERATION_CANCELLED","MAV_MISSION_TYPE_ALL","MAV_MISSION_TYPE_FENCE","MAV_MISSION_TYPE_MISSION","MAV_MISSION_TYPE_RALLY","MAV_MISSION_UNSUPPORTED","MAV_MISSION_UNSUPPORTED_FRAME","MAV_MODE_AUTO_ARMED","MAV_MODE_AUTO_DISARMED","MAV_MODE_FLAG_AUTO_ENABLED","MAV_MODE_FLAG_CUSTOM_MODE_ENABLED","MAV_MODE_FLAG_DECODE_POSITION_AUTO","MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE","MAV_MODE_FLAG_DECODE_POSITION_GUIDED","MAV_MODE_FLAG_DECODE_POSITION_HIL","MAV_MODE_FLAG_DECODE_POSITION_MANUAL","MAV_MODE_FLAG_DECODE_POSITION_SAFETY","MAV_MODE_FLAG_DECODE_POSITION_STABILIZE","MAV_MODE_FLAG_DECODE_POSITION_TEST","MAV_MODE_FLAG_GUIDED_ENABLED","MAV_MODE_FLAG_HIL_ENABLED","MAV_MODE_FLAG_MANUAL_INPUT_ENABLED","MAV_MODE_FLAG_SAFETY_ARMED","MAV_MODE_FLAG_STABILIZE_ENABLED","MAV_MODE_FLAG_TEST_ENABLED","MAV_MODE_GIMBAL_ACTIVE","MAV_MODE_GIMBAL_CALIBRATING_PITCH","MAV_MODE_GIMBAL_CALIBRATING_ROLL","MAV_MODE_GIMBAL_CALIBRATING_YAW","MAV_MODE_GIMBAL_INITIALIZED","MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT","MAV_MODE_GIMBAL_UNINITIALIZED","MAV_MODE_GUIDED_ARMED","MAV_MODE_GUIDED_DISARMED","MAV_MODE_MANUAL_ARMED","MAV_MODE_MANUAL_DISARMED","MAV_MODE_PREFLIGHT","MAV_MODE_STABILIZE_ARMED","MAV_MODE_STABILIZE_DISARMED","MAV_MODE_TEST_ARMED","MAV_MODE_TEST_DISARMED","MAV_MOUNT_MODE_GPS_POINT","MAV_MOUNT_MODE_HOME_LOCATION","MAV_MOUNT_MODE_MAVLINK_TARGETING","MAV_MOUNT_MODE_NEUTRAL","MAV_MOUNT_MODE_RC_TARGETING","MAV_MOUNT_MODE_RETRACT","MAV_MOUNT_MODE_SYSID_TARGET","MAV_ODID_ARM_STATUS_GOOD_TO_ARM","MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC","MAV_ODID_AUTH_TYPE_MESSAGE_SET_SIGNATURE","MAV_ODID_AUTH_TYPE_NETWORK_REMOTE_ID","MAV_ODID_AUTH_TYPE_NONE","MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE","MAV_ODID_AUTH_TYPE_SPECIFIC_AUTHENTICATION","MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE","MAV_ODID_CATEGORY_EU_CERTIFIED","MAV_ODID_CATEGORY_EU_OPEN","MAV_ODID_CATEGORY_EU_SPECIFIC","MAV_ODID_CATEGORY_EU_UNDECLARED","MAV_ODID_CLASSIFICATION_TYPE_EU","MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED","MAV_ODID_CLASS_EU_CLASS_0","MAV_ODID_CLASS_EU_CLASS_1","MAV_ODID_CLASS_EU_CLASS_2","MAV_ODID_CLASS_EU_CLASS_3","MAV_ODID_CLASS_EU_CLASS_4","MAV_ODID_CLASS_EU_CLASS_5","MAV_ODID_CLASS_EU_CLASS_6","MAV_ODID_CLASS_EU_UNDECLARED","MAV_ODID_DESC_TYPE_EMERGENCY","MAV_ODID_DESC_TYPE_EXTENDED_STATUS","MAV_ODID_DESC_TYPE_TEXT","MAV_ODID_HEIGHT_REF_OVER_GROUND","MAV_ODID_HEIGHT_REF_OVER_TAKEOFF","MAV_ODID_HOR_ACC_0_05NM","MAV_ODID_HOR_ACC_0_1NM","MAV_ODID_HOR_ACC_0_3NM","MAV_ODID_HOR_ACC_0_5NM","MAV_ODID_HOR_ACC_10NM","MAV_ODID_HOR_ACC_10_METER","MAV_ODID_HOR_ACC_1NM","MAV_ODID_HOR_ACC_1_METER","MAV_ODID_HOR_ACC_2NM","MAV_ODID_HOR_ACC_30_METER","MAV_ODID_HOR_ACC_3_METER","MAV_ODID_HOR_ACC_4NM","MAV_ODID_HOR_ACC_UNKNOWN","MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID","MAV_ODID_ID_TYPE_NONE","MAV_ODID_ID_TYPE_SERIAL_NUMBER","MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID","MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID","MAV_ODID_OPERATOR_ID_TYPE_CAA","MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED","MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS","MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF","MAV_ODID_SPEED_ACC_0_3_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_1_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_UNKNOWN","MAV_ODID_STATUS_AIRBORNE","MAV_ODID_STATUS_EMERGENCY","MAV_ODID_STATUS_GROUND","MAV_ODID_STATUS_REMOTE_ID_SYSTEM_FAILURE","MAV_ODID_STATUS_UNDECLARED","MAV_ODID_TIME_ACC_0_1_SECOND","MAV_ODID_TIME_ACC_0_2_SECOND","MAV_ODID_TIME_ACC_0_3_SECOND","MAV_ODID_TIME_ACC_0_4_SECOND","MAV_ODID_TIME_ACC_0_5_SECOND","MAV_ODID_TIME_ACC_0_6_SECOND","MAV_ODID_TIME_ACC_0_7_SECOND","MAV_ODID_TIME_ACC_0_8_SECOND","MAV_ODID_TIME_ACC_0_9_SECOND","MAV_ODID_TIME_ACC_1_0_SECOND","MAV_ODID_TIME_ACC_1_1_SECOND","MAV_ODID_TIME_ACC_1_2_SECOND","MAV_ODID_TIME_ACC_1_3_SECOND","MAV_ODID_TIME_ACC_1_4_SECOND","MAV_ODID_TIME_ACC_1_5_SECOND","MAV_ODID_TIME_ACC_UNKNOWN","MAV_ODID_UA_TYPE_AEROPLANE","MAV_ODID_UA_TYPE_AIRSHIP","MAV_ODID_UA_TYPE_CAPTIVE_BALLOON","MAV_ODID_UA_TYPE_FREE_BALLOON","MAV_ODID_UA_TYPE_FREE_FALL_PARACHUTE","MAV_ODID_UA_TYPE_GLIDER","MAV_ODID_UA_TYPE_GROUND_OBSTACLE","MAV_ODID_UA_TYPE_GYROPLANE","MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR","MAV_ODID_UA_TYPE_HYBRID_LIFT","MAV_ODID_UA_TYPE_KITE","MAV_ODID_UA_TYPE_NONE","MAV_ODID_UA_TYPE_ORNITHOPTER","MAV_ODID_UA_TYPE_OTHER","MAV_ODID_UA_TYPE_ROCKET","MAV_ODID_UA_TYPE_TETHERED_POWERED_AIRCRAFT","MAV_ODID_VER_ACC_10_METER","MAV_ODID_VER_ACC_150_METER","MAV_ODID_VER_ACC_1_METER","MAV_ODID_VER_ACC_25_METER","MAV_ODID_VER_ACC_3_METER","MAV_ODID_VER_ACC_45_METER","MAV_ODID_VER_ACC_UNKNOWN","MAV_PARAM_EXT_TYPE_CUSTOM","MAV_PARAM_EXT_TYPE_INT16","MAV_PARAM_EXT_TYPE_INT32","MAV_PARAM_EXT_TYPE_INT64","MAV_PARAM_EXT_TYPE_INT8","MAV_PARAM_EXT_TYPE_REAL32","MAV_PARAM_EXT_TYPE_REAL64","MAV_PARAM_EXT_TYPE_UINT16","MAV_PARAM_EXT_TYPE_UINT32","MAV_PARAM_EXT_TYPE_UINT64","MAV_PARAM_EXT_TYPE_UINT8","MAV_PARAM_TYPE_INT16","MAV_PARAM_TYPE_INT32","MAV_PARAM_TYPE_INT64","MAV_PARAM_TYPE_INT8","MAV_PARAM_TYPE_REAL32","MAV_PARAM_TYPE_REAL64","MAV_PARAM_TYPE_UINT16","MAV_PARAM_TYPE_UINT32","MAV_PARAM_TYPE_UINT64","MAV_PARAM_TYPE_UINT8","MAV_POWER_STATUS_BRICK_VALID","MAV_POWER_STATUS_CHANGED","MAV_POWER_STATUS_PERIPH_HIPOWER_OVERCURRENT","MAV_POWER_STATUS_PERIPH_OVERCURRENT","MAV_POWER_STATUS_SERVO_VALID","MAV_POWER_STATUS_USB_CONNECTED","MAV_PROTOCOL_CAPABILITY_COMMAND_INT","MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION","MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION","MAV_PROTOCOL_CAPABILITY_FTP","MAV_PROTOCOL_CAPABILITY_MAVLINK2","MAV_PROTOCOL_CAPABILITY_MISSION_FENCE","MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT","MAV_PROTOCOL_CAPABILITY_MISSION_INT","MAV_PROTOCOL_CAPABILITY_MISSION_RALLY","MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE","MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST","MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT","MAV_PROTOCOL_CAPABILITY_RESERVED2","MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET","MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET","MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT","MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED","MAV_PROTOCOL_CAPABILITY_TERRAIN","MAV_REMOTE_LOG_DATA_BLOCK_ACK","MAV_REMOTE_LOG_DATA_BLOCK_NACK","MAV_REMOTE_LOG_DATA_BLOCK_START","MAV_REMOTE_LOG_DATA_BLOCK_STOP","MAV_RESULT_ACCEPTED","MAV_RESULT_CANCELLED","MAV_RESULT_DENIED","MAV_RESULT_FAILED","MAV_RESULT_IN_PROGRESS","MAV_RESULT_TEMPORARILY_REJECTED","MAV_RESULT_UNSUPPORTED","MAV_ROI_LOCATION","MAV_ROI_NONE","MAV_ROI_TARGET","MAV_ROI_WPINDEX","MAV_ROI_WPNEXT","MAV_SENSOR_ROTATION_CUSTOM","MAV_SENSOR_ROTATION_NONE","MAV_SENSOR_ROTATION_PITCH_180","MAV_SENSOR_ROTATION_PITCH_180_YAW_270","MAV_SENSOR_ROTATION_PITCH_180_YAW_90","MAV_SENSOR_ROTATION_PITCH_270","MAV_SENSOR_ROTATION_PITCH_315","MAV_SENSOR_ROTATION_PITCH_90","MAV_SENSOR_ROTATION_ROLL_180","MAV_SENSOR_ROTATION_ROLL_180_PITCH_270","MAV_SENSOR_ROTATION_ROLL_180_PITCH_90","MAV_SENSOR_ROTATION_ROLL_180_YAW_135","MAV_SENSOR_ROTATION_ROLL_180_YAW_225","MAV_SENSOR_ROTATION_ROLL_180_YAW_270","MAV_SENSOR_ROTATION_ROLL_180_YAW_315","MAV_SENSOR_ROTATION_ROLL_180_YAW_45","MAV_SENSOR_ROTATION_ROLL_180_YAW_90","MAV_SENSOR_ROTATION_ROLL_270","MAV_SENSOR_ROTATION_ROLL_270_PITCH_180","MAV_SENSOR_ROTATION_ROLL_270_PITCH_270","MAV_SENSOR_ROTATION_ROLL_270_PITCH_90","MAV_SENSOR_ROTATION_ROLL_270_YAW_135","MAV_SENSOR_ROTATION_ROLL_270_YAW_45","MAV_SENSOR_ROTATION_ROLL_270_YAW_90","MAV_SENSOR_ROTATION_ROLL_90","MAV_SENSOR_ROTATION_ROLL_90_PITCH_180","MAV_SENSOR_ROTATION_ROLL_90_PITCH_180_YAW_90","MAV_SENSOR_ROTATION_ROLL_90_PITCH_270","MAV_SENSOR_ROTATION_ROLL_90_PITCH_315","MAV_SENSOR_ROTATION_ROLL_90_PITCH_68_YAW_293","MAV_SENSOR_ROTATION_ROLL_90_PITCH_90","MAV_SENSOR_ROTATION_ROLL_90_YAW_135","MAV_SENSOR_ROTATION_ROLL_90_YAW_270","MAV_SENSOR_ROTATION_ROLL_90_YAW_45","MAV_SENSOR_ROTATION_ROLL_90_YAW_90","MAV_SENSOR_ROTATION_YAW_135","MAV_SENSOR_ROTATION_YAW_180","MAV_SENSOR_ROTATION_YAW_225","MAV_SENSOR_ROTATION_YAW_270","MAV_SENSOR_ROTATION_YAW_315","MAV_SENSOR_ROTATION_YAW_45","MAV_SENSOR_ROTATION_YAW_90","MAV_SEVERITY_ALERT","MAV_SEVERITY_CRITICAL","MAV_SEVERITY_DEBUG","MAV_SEVERITY_EMERGENCY","MAV_SEVERITY_ERROR","MAV_SEVERITY_INFO","MAV_SEVERITY_NOTICE","MAV_SEVERITY_WARNING","MAV_STATE_ACTIVE","MAV_STATE_BOOT","MAV_STATE_CALIBRATING","MAV_STATE_CRITICAL","MAV_STATE_EMERGENCY","MAV_STATE_FLIGHT_TERMINATION","MAV_STATE_POWEROFF","MAV_STATE_STANDBY","MAV_STATE_UNINIT","MAV_SYS_STATUS_AHRS","MAV_SYS_STATUS_EXTENSION_USED","MAV_SYS_STATUS_GEOFENCE","MAV_SYS_STATUS_LOGGING","MAV_SYS_STATUS_OBSTACLE_AVOIDANCE","MAV_SYS_STATUS_PREARM_CHECK","MAV_SYS_STATUS_RECOVERY_SYSTEM","MAV_SYS_STATUS_REVERSE_MOTOR","MAV_SYS_STATUS_SENSOR_3D_ACCEL","MAV_SYS_STATUS_SENSOR_3D_ACCEL2","MAV_SYS_STATUS_SENSOR_3D_GYRO","MAV_SYS_STATUS_SENSOR_3D_GYRO2","MAV_SYS_STATUS_SENSOR_3D_MAG","MAV_SYS_STATUS_SENSOR_3D_MAG2","MAV_SYS_STATUS_SENSOR_ABSOLUTE_PRESSURE","MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL","MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION","MAV_SYS_STATUS_SENSOR_BATTERY","MAV_SYS_STATUS_SENSOR_DIFFERENTIAL_PRESSURE","MAV_SYS_STATUS_SENSOR_EXTERNAL_GROUND_TRUTH","MAV_SYS_STATUS_SENSOR_GPS","MAV_SYS_STATUS_SENSOR_LASER_POSITION","MAV_SYS_STATUS_SENSOR_MOTOR_OUTPUTS","MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW","MAV_SYS_STATUS_SENSOR_PROPULSION","MAV_SYS_STATUS_SENSOR_PROXIMITY","MAV_SYS_STATUS_SENSOR_RC_RECEIVER","MAV_SYS_STATUS_SENSOR_SATCOM","MAV_SYS_STATUS_SENSOR_VISION_POSITION","MAV_SYS_STATUS_SENSOR_XY_POSITION_CONTROL","MAV_SYS_STATUS_SENSOR_YAW_POSITION","MAV_SYS_STATUS_SENSOR_Z_ALTITUDE_CONTROL","MAV_SYS_STATUS_TERRAIN","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED2","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED3","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED4","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED5","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED6","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED7","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED8","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED9","MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN","MAV_TYPE_ADSB","MAV_TYPE_AIRSHIP","MAV_TYPE_ANTENNA_TRACKER","MAV_TYPE_BATTERY","MAV_TYPE_CAMERA","MAV_TYPE_CHARGING_STATION","MAV_TYPE_COAXIAL","MAV_TYPE_DECAROTOR","MAV_TYPE_DODECAROTOR","MAV_TYPE_FIXED_WING","MAV_TYPE_FLAPPING_WING","MAV_TYPE_FLARM","MAV_TYPE_FREE_BALLOON","MAV_TYPE_GCS","MAV_TYPE_GENERIC","MAV_TYPE_GIMBAL","MAV_TYPE_GPS","MAV_TYPE_GROUND_ROVER","MAV_TYPE_HELICOPTER","MAV_TYPE_HEXAROTOR","MAV_TYPE_IMU","MAV_TYPE_KITE","MAV_TYPE_LOG","MAV_TYPE_OCTOROTOR","MAV_TYPE_ODID","MAV_TYPE_ONBOARD_CONTROLLER","MAV_TYPE_OSD","MAV_TYPE_PARACHUTE","MAV_TYPE_PARAFOIL","MAV_TYPE_QUADROTOR","MAV_TYPE_ROCKET","MAV_TYPE_SERVO","MAV_TYPE_SUBMARINE","MAV_TYPE_SURFACE_BOAT","MAV_TYPE_TRICOPTER","MAV_TYPE_VTOL_FIXEDROTOR","MAV_TYPE_VTOL_RESERVED5","MAV_TYPE_VTOL_TAILSITTER","MAV_TYPE_VTOL_TAILSITTER_DUOROTOR","MAV_TYPE_VTOL_TAILSITTER_QUADROTOR","MAV_TYPE_VTOL_TILTROTOR","MAV_TYPE_VTOL_TILTWING","MAV_TYPE_WINCH","MAV_VTOL_STATE_FW","MAV_VTOL_STATE_MC","MAV_VTOL_STATE_TRANSITION_TO_FW","MAV_VTOL_STATE_TRANSITION_TO_MC","MAV_VTOL_STATE_UNDEFINED","MAV_WINCH_STATUS_ABANDON_LINE","MAV_WINCH_STATUS_ARRESTING","MAV_WINCH_STATUS_CLUTCH_ENGAGED","MAV_WINCH_STATUS_DROPPING","MAV_WINCH_STATUS_FULLY_RETRACTED","MAV_WINCH_STATUS_GROUND_SENSE","MAV_WINCH_STATUS_HEALTHY","MAV_WINCH_STATUS_LOAD_LINE","MAV_WINCH_STATUS_LOAD_PAYLOAD","MAV_WINCH_STATUS_LOCKED","MAV_WINCH_STATUS_LOCKING","MAV_WINCH_STATUS_MOVING","MAV_WINCH_STATUS_REDELIVER","MAV_WINCH_STATUS_RETRACTING","MCU_STATUS","MCU_STATUS_DATA","MCU_temperature","MCU_voltage","MCU_voltage_max","MCU_voltage_min","MEMINFO","MEMINFO_DATA","MEMORY_VECT","MEMORY_VECT_DATA","MESSAGE_INTERVAL","MESSAGE_INTERVAL_DATA","MISSION_ACK","MISSION_ACK_DATA","MISSION_CLEAR_ALL","MISSION_CLEAR_ALL_DATA","MISSION_COUNT","MISSION_COUNT_DATA","MISSION_CURRENT","MISSION_CURRENT_DATA","MISSION_ITEM","MISSION_ITEM_DATA","MISSION_ITEM_INT","MISSION_ITEM_INT_DATA","MISSION_ITEM_REACHED","MISSION_ITEM_REACHED_DATA","MISSION_READ_PERSISTENT","MISSION_REQUEST","MISSION_REQUEST_DATA","MISSION_REQUEST_INT","MISSION_REQUEST_INT_DATA","MISSION_REQUEST_LIST","MISSION_REQUEST_LIST_DATA","MISSION_REQUEST_PARTIAL_LIST","MISSION_REQUEST_PARTIAL_LIST_DATA","MISSION_RESET_DEFAULT","MISSION_SET_CURRENT","MISSION_SET_CURRENT_DATA","MISSION_STATE_ACTIVE","MISSION_STATE_COMPLETE","MISSION_STATE_NOT_STARTED","MISSION_STATE_NO_MISSION","MISSION_STATE_PAUSED","MISSION_STATE_UNKNOWN","MISSION_WRITE_PARTIAL_LIST","MISSION_WRITE_PARTIAL_LIST_DATA","MISSION_WRITE_PERSISTENT","MMSI","MOTOR_TEST_COMPASS_CAL","MOTOR_TEST_ORDER_BOARD","MOTOR_TEST_ORDER_DEFAULT","MOTOR_TEST_ORDER_SEQUENCE","MOTOR_TEST_THROTTLE_PERCENT","MOTOR_TEST_THROTTLE_PILOT","MOTOR_TEST_THROTTLE_PWM","MOUNT_CONFIGURE","MOUNT_CONFIGURE_DATA","MOUNT_CONTROL","MOUNT_CONTROL_DATA","MOUNT_ORIENTATION","MOUNT_ORIENTATION_DATA","MOUNT_STATUS","MOUNT_STATUS_DATA","MagCalStatus","MavArmAuthDeniedReason","MavAutopilot","MavBatteryChargeState","MavBatteryFault","MavBatteryFunction","MavBatteryMode","MavBatteryType","MavCmd","MavCmdAck","MavCmdDoAuxFunctionSwitchLevel","MavCollisionAction","MavCollisionSrc","MavCollisionThreatLevel","MavComponent","MavDataStream","MavDistanceSensor","MavDoRepositionFlags","MavEstimatorType","MavEventCurrentSequenceFlags","MavEventErrorReason","MavFrame","MavFtpErr","MavFtpOpcode","MavGeneratorStatusFlag","MavGoto","MavLandedState","MavMessage","MavMissionResult","MavMissionType","MavMode","MavModeFlag","MavModeFlagDecodePosition","MavModeGimbal","MavMountMode","MavOdidArmStatus","MavOdidAuthType","MavOdidCategoryEu","MavOdidClassEu","MavOdidClassificationType","MavOdidDescType","MavOdidHeightRef","MavOdidHorAcc","MavOdidIdType","MavOdidOperatorIdType","MavOdidOperatorLocationType","MavOdidSpeedAcc","MavOdidStatus","MavOdidTimeAcc","MavOdidUaType","MavOdidVerAcc","MavParamExtType","MavParamType","MavPowerStatus","MavProtocolCapability","MavRemoteLogDataBlockCommands","MavRemoteLogDataBlockStatuses","MavResult","MavRoi","MavSensorOrientation","MavSeverity","MavState","MavSysStatusSensor","MavSysStatusSensorExtended","MavTunnelPayloadType","MavType","MavVtolState","MavWinchStatusFlag","MavlinkDataStreamType","MissionState","MotorTestOrder","MotorTestThrottleType","NAMED_VALUE_FLOAT","NAMED_VALUE_FLOAT_DATA","NAMED_VALUE_INT","NAMED_VALUE_INT_DATA","NAV_CONTROLLER_OUTPUT","NAV_CONTROLLER_OUTPUT_DATA","NAV_VTOL_LAND_OPTIONS_DEFAULT","NAV_VTOL_LAND_OPTIONS_FW_DESCENT","NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT","NavVtolLandOptions","OBSTACLE_DISTANCE","OBSTACLE_DISTANCE_3D","OBSTACLE_DISTANCE_3D_DATA","OBSTACLE_DISTANCE_DATA","ODOMETRY","ODOMETRY_DATA","ONBOARD_COMPUTER_STATUS","ONBOARD_COMPUTER_STATUS_DATA","OPEN_DRONE_ID_ARM_STATUS","OPEN_DRONE_ID_ARM_STATUS_DATA","OPEN_DRONE_ID_AUTHENTICATION","OPEN_DRONE_ID_AUTHENTICATION_DATA","OPEN_DRONE_ID_BASIC_ID","OPEN_DRONE_ID_BASIC_ID_DATA","OPEN_DRONE_ID_LOCATION","OPEN_DRONE_ID_LOCATION_DATA","OPEN_DRONE_ID_MESSAGE_PACK","OPEN_DRONE_ID_MESSAGE_PACK_DATA","OPEN_DRONE_ID_OPERATOR_ID","OPEN_DRONE_ID_OPERATOR_ID_DATA","OPEN_DRONE_ID_SELF_ID","OPEN_DRONE_ID_SELF_ID_DATA","OPEN_DRONE_ID_SYSTEM","OPEN_DRONE_ID_SYSTEM_DATA","OPEN_DRONE_ID_SYSTEM_UPDATE","OPEN_DRONE_ID_SYSTEM_UPDATE_DATA","OPTICAL_FLOW","OPTICAL_FLOW_DATA","OPTICAL_FLOW_RAD","OPTICAL_FLOW_RAD_DATA","ORBIT_EXECUTION_STATUS","ORBIT_EXECUTION_STATUS_DATA","ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE","ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER","ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING","ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED","ORBIT_YAW_BEHAVIOUR_UNCONTROLLED","OSD_PARAM_AUX_FUNCTION","OSD_PARAM_CONFIG","OSD_PARAM_CONFIG_DATA","OSD_PARAM_CONFIG_REPLY","OSD_PARAM_CONFIG_REPLY_DATA","OSD_PARAM_FAILSAFE_ACTION","OSD_PARAM_FAILSAFE_ACTION_1","OSD_PARAM_FAILSAFE_ACTION_2","OSD_PARAM_FLIGHT_MODE","OSD_PARAM_INVALID_PARAMETER","OSD_PARAM_INVALID_PARAMETER_INDEX","OSD_PARAM_INVALID_SCREEN","OSD_PARAM_NONE","OSD_PARAM_NUM_TYPES","OSD_PARAM_SERIAL_PROTOCOL","OSD_PARAM_SERVO_FUNCTION","OSD_PARAM_SHOW_CONFIG","OSD_PARAM_SHOW_CONFIG_DATA","OSD_PARAM_SHOW_CONFIG_REPLY","OSD_PARAM_SHOW_CONFIG_REPLY_DATA","OSD_PARAM_SUCCESS","OrbitYawBehaviour","OsdParamConfigError","OsdParamConfigType","P","PARACHUTE_DISABLE","PARACHUTE_ENABLE","PARACHUTE_RELEASE","PARAM_ACK_ACCEPTED","PARAM_ACK_FAILED","PARAM_ACK_IN_PROGRESS","PARAM_ACK_VALUE_UNSUPPORTED","PARAM_EXT_ACK","PARAM_EXT_ACK_DATA","PARAM_EXT_REQUEST_LIST","PARAM_EXT_REQUEST_LIST_DATA","PARAM_EXT_REQUEST_READ","PARAM_EXT_REQUEST_READ_DATA","PARAM_EXT_SET","PARAM_EXT_SET_DATA","PARAM_EXT_VALUE","PARAM_EXT_VALUE_DATA","PARAM_MAP_RC","PARAM_MAP_RC_DATA","PARAM_READ_PERSISTENT","PARAM_REQUEST_LIST","PARAM_REQUEST_LIST_DATA","PARAM_REQUEST_READ","PARAM_REQUEST_READ_DATA","PARAM_RESET_ALL_DEFAULT","PARAM_RESET_CONFIG_DEFAULT","PARAM_RESET_SENSOR_DEFAULT","PARAM_SET","PARAM_SET_DATA","PARAM_VALUE","PARAM_VALUE_DATA","PARAM_WRITE_PERSISTENT","PID_TUNING","PID_TUNING_ACCZ","PID_TUNING_DATA","PID_TUNING_LANDING","PID_TUNING_PITCH","PID_TUNING_ROLL","PID_TUNING_STEER","PID_TUNING_YAW","PING","PING_DATA","PLANE_MODE_ACRO","PLANE_MODE_AUTO","PLANE_MODE_AUTOTUNE","PLANE_MODE_AVOID_ADSB","PLANE_MODE_CIRCLE","PLANE_MODE_CRUISE","PLANE_MODE_FLY_BY_WIRE_A","PLANE_MODE_FLY_BY_WIRE_B","PLANE_MODE_GUIDED","PLANE_MODE_INITIALIZING","PLANE_MODE_LOITER","PLANE_MODE_MANUAL","PLANE_MODE_QACRO","PLANE_MODE_QAUTOTUNE","PLANE_MODE_QHOVER","PLANE_MODE_QLAND","PLANE_MODE_QLOITER","PLANE_MODE_QRTL","PLANE_MODE_QSTABILIZE","PLANE_MODE_RTL","PLANE_MODE_STABILIZE","PLANE_MODE_TAKEOFF","PLANE_MODE_THERMAL","PLANE_MODE_TRAINING","PLAY_TUNE","PLAY_TUNE_DATA","PLAY_TUNE_V2","PLAY_TUNE_V2_DATA","POSITION_TARGET_GLOBAL_INT","POSITION_TARGET_GLOBAL_INT_DATA","POSITION_TARGET_LOCAL_NED","POSITION_TARGET_LOCAL_NED_DATA","POSITION_TARGET_TYPEMASK_AX_IGNORE","POSITION_TARGET_TYPEMASK_AY_IGNORE","POSITION_TARGET_TYPEMASK_AZ_IGNORE","POSITION_TARGET_TYPEMASK_FORCE_SET","POSITION_TARGET_TYPEMASK_VX_IGNORE","POSITION_TARGET_TYPEMASK_VY_IGNORE","POSITION_TARGET_TYPEMASK_VZ_IGNORE","POSITION_TARGET_TYPEMASK_X_IGNORE","POSITION_TARGET_TYPEMASK_YAW_IGNORE","POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE","POSITION_TARGET_TYPEMASK_Y_IGNORE","POSITION_TARGET_TYPEMASK_Z_IGNORE","POWER_STATUS","POWER_STATUS_DATA","PRECISION_LAND_MODE_DISABLED","PRECISION_LAND_MODE_OPPORTUNISTIC","PRECISION_LAND_MODE_REQUIRED","PROTOCOL_VERSION","PROTOCOL_VERSION_DATA","ParachuteAction","ParamAck","Pax","Pby","Pcz","PidTuningAxis","PlaneMode","PositionTargetTypemask","PrecisionLandMode","PreflightStorageMissionAction","PreflightStorageParameterAction","RADIO","RADIO_DATA","RADIO_STATUS","RADIO_STATUS_DATA","RALLY_FETCH_POINT","RALLY_FETCH_POINT_DATA","RALLY_POINT","RALLY_POINT_DATA","RANGEFINDER","RANGEFINDER_DATA","RAW_IMU","RAW_IMU_DATA","RAW_PRESSURE","RAW_PRESSURE_DATA","RAW_RPM","RAW_RPM_DATA","RC_CHANNELS","RC_CHANNELS_DATA","RC_CHANNELS_OVERRIDE","RC_CHANNELS_OVERRIDE_DATA","RC_CHANNELS_RAW","RC_CHANNELS_RAW_DATA","RC_CHANNELS_SCALED","RC_CHANNELS_SCALED_DATA","RC_TYPE_SPEKTRUM_DSM2","RC_TYPE_SPEKTRUM_DSMX","REMOTE_LOG_BLOCK_STATUS","REMOTE_LOG_BLOCK_STATUS_DATA","REMOTE_LOG_DATA_BLOCK","REMOTE_LOG_DATA_BLOCK_DATA","REQUEST_DATA_STREAM","REQUEST_DATA_STREAM_DATA","REQUEST_EVENT","REQUEST_EVENT_DATA","RESOURCE_REQUEST","RESOURCE_REQUEST_DATA","RESPONSE_EVENT_ERROR","RESPONSE_EVENT_ERROR_DATA","ROVER_MODE_ACRO","ROVER_MODE_AUTO","ROVER_MODE_FOLLOW","ROVER_MODE_GUIDED","ROVER_MODE_HOLD","ROVER_MODE_INITIALIZING","ROVER_MODE_LOITER","ROVER_MODE_MANUAL","ROVER_MODE_RTL","ROVER_MODE_SIMPLE","ROVER_MODE_SMART_RTL","ROVER_MODE_STEERING","RPM","RPM_DATA","RTK_BASELINE_COORDINATE_SYSTEM_ECEF","RTK_BASELINE_COORDINATE_SYSTEM_NED","RallyFlags","RcType","RoverMode","RtkBaselineCoordinateSystem","SAFETY_ALLOWED_AREA","SAFETY_ALLOWED_AREA_DATA","SAFETY_SET_ALLOWED_AREA","SAFETY_SET_ALLOWED_AREA_DATA","SCALED_IMU","SCALED_IMU2","SCALED_IMU2_DATA","SCALED_IMU3","SCALED_IMU3_DATA","SCALED_IMU_DATA","SCALED_PRESSURE","SCALED_PRESSURE2","SCALED_PRESSURE2_DATA","SCALED_PRESSURE3","SCALED_PRESSURE3_DATA","SCALED_PRESSURE_DATA","SCRIPTING_CMD_REPL_START","SCRIPTING_CMD_REPL_STOP","SCRIPTING_CMD_STOP","SCRIPTING_CMD_STOP_AND_RESTART","SENSOR_OFFSETS","SENSOR_OFFSETS_DATA","SERIAL_CONTROL","SERIAL_CONTROL_DATA","SERIAL_CONTROL_DEV_GPS1","SERIAL_CONTROL_DEV_GPS2","SERIAL_CONTROL_DEV_SHELL","SERIAL_CONTROL_DEV_TELEM1","SERIAL_CONTROL_DEV_TELEM2","SERIAL_CONTROL_FLAG_BLOCKING","SERIAL_CONTROL_FLAG_EXCLUSIVE","SERIAL_CONTROL_FLAG_MULTI","SERIAL_CONTROL_FLAG_REPLY","SERIAL_CONTROL_FLAG_RESPOND","SERIAL_CONTROL_SERIAL0","SERIAL_CONTROL_SERIAL1","SERIAL_CONTROL_SERIAL2","SERIAL_CONTROL_SERIAL3","SERIAL_CONTROL_SERIAL4","SERIAL_CONTROL_SERIAL5","SERIAL_CONTROL_SERIAL6","SERIAL_CONTROL_SERIAL7","SERIAL_CONTROL_SERIAL8","SERIAL_CONTROL_SERIAL9","SERVO_OUTPUT_RAW","SERVO_OUTPUT_RAW_DATA","SETUP_SIGNING","SETUP_SIGNING_DATA","SET_ACTUATOR_CONTROL_TARGET","SET_ACTUATOR_CONTROL_TARGET_DATA","SET_ATTITUDE_TARGET","SET_ATTITUDE_TARGET_DATA","SET_GPS_GLOBAL_ORIGIN","SET_GPS_GLOBAL_ORIGIN_DATA","SET_HOME_POSITION","SET_HOME_POSITION_DATA","SET_MAG_OFFSETS","SET_MAG_OFFSETS_DATA","SET_MODE","SET_MODE_DATA","SET_POSITION_TARGET_GLOBAL_INT","SET_POSITION_TARGET_GLOBAL_INT_DATA","SET_POSITION_TARGET_LOCAL_NED","SET_POSITION_TARGET_LOCAL_NED_DATA","SIMSTATE","SIMSTATE_DATA","SIM_STATE","SIM_STATE_DATA","SMART_BATTERY_INFO","SMART_BATTERY_INFO_DATA","SPEED_TYPE_AIRSPEED","SPEED_TYPE_GROUNDSPEED","SSA","STATUSTEXT","STATUSTEXT_DATA","STORAGE_INFORMATION","STORAGE_INFORMATION_DATA","STORAGE_STATUS_EMPTY","STORAGE_STATUS_NOT_SUPPORTED","STORAGE_STATUS_READY","STORAGE_STATUS_UNFORMATTED","STORAGE_TYPE_CF","STORAGE_TYPE_CFE","STORAGE_TYPE_HD","STORAGE_TYPE_MICROSD","STORAGE_TYPE_OTHER","STORAGE_TYPE_SD","STORAGE_TYPE_UNKNOWN","STORAGE_TYPE_USB_STICK","STORAGE_TYPE_XQD","STORAGE_USAGE_FLAG_LOGS","STORAGE_USAGE_FLAG_PHOTO","STORAGE_USAGE_FLAG_SET","STORAGE_USAGE_FLAG_VIDEO","SUB_MODE_ACRO","SUB_MODE_ALT_HOLD","SUB_MODE_AUTO","SUB_MODE_CIRCLE","SUB_MODE_GUIDED","SUB_MODE_MANUAL","SUB_MODE_POSHOLD","SUB_MODE_STABILIZE","SUB_MODE_SURFACE","SUPPORTED_TUNES","SUPPORTED_TUNES_DATA","SYSTEM_TIME","SYSTEM_TIME_DATA","SYS_STATUS","SYS_STATUS_DATA","ScriptingCmd","SerialControlDev","SerialControlFlag","SetFocusType","SpeedType","StorageStatus","StorageType","StorageUsageFlag","SubMode","TERRAIN_CHECK","TERRAIN_CHECK_DATA","TERRAIN_DATA","TERRAIN_DATA_DATA","TERRAIN_REPORT","TERRAIN_REPORT_DATA","TERRAIN_REQUEST","TERRAIN_REQUEST_DATA","TIMESYNC","TIMESYNC_DATA","TIME_ESTIMATE_TO_TARGET","TIME_ESTIMATE_TO_TARGET_DATA","TRACKER_MODE_AUTO","TRACKER_MODE_INITIALIZING","TRACKER_MODE_MANUAL","TRACKER_MODE_SCAN","TRACKER_MODE_SERVO_TEST","TRACKER_MODE_STOP","TRAJECTORY_REPRESENTATION_BEZIER","TRAJECTORY_REPRESENTATION_BEZIER_DATA","TRAJECTORY_REPRESENTATION_WAYPOINTS","TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA","TUNE_FORMAT_MML_MODERN","TUNE_FORMAT_QBASIC1_1","TUNNEL","TUNNEL_DATA","TrackerMode","TuneFormat","UAVCAN_NODE_HEALTH_CRITICAL","UAVCAN_NODE_HEALTH_ERROR","UAVCAN_NODE_HEALTH_OK","UAVCAN_NODE_HEALTH_WARNING","UAVCAN_NODE_INFO","UAVCAN_NODE_INFO_DATA","UAVCAN_NODE_MODE_INITIALIZATION","UAVCAN_NODE_MODE_MAINTENANCE","UAVCAN_NODE_MODE_OFFLINE","UAVCAN_NODE_MODE_OPERATIONAL","UAVCAN_NODE_MODE_SOFTWARE_UPDATE","UAVCAN_NODE_STATUS","UAVCAN_NODE_STATUS_DATA","UAVIONIX_ADSB_OUT_CFG","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L15M_W23M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25M_W28P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25_34M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_33M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_38M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_39P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_45M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_45M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_52M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_59P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_67M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W72P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W80M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W80M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W90M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA","UAVIONIX_ADSB_OUT_CFG_DATA","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_2M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_4M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_6M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_0M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_2M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_4M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_6M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_APPLIED_BY_SENSOR","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA","UAVIONIX_ADSB_OUT_DOWNED_AIRCRAFT_EMERGENCY","UAVIONIX_ADSB_OUT_DYNAMIC","UAVIONIX_ADSB_OUT_DYNAMIC_DATA","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_2D","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_3D","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_DGPS","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_1","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_RTK","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_AUTOPILOT_ENABLED","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_IDENT","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_NICBARO_CROSSCHECKED","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_ON_GROUND","UAVIONIX_ADSB_OUT_GENERAL_EMERGENCY","UAVIONIX_ADSB_OUT_LIFEGUARD_EMERGENCY","UAVIONIX_ADSB_OUT_MINIMUM_FUEL_EMERGENCY","UAVIONIX_ADSB_OUT_NO_COMM_EMERGENCY","UAVIONIX_ADSB_OUT_NO_EMERGENCY","UAVIONIX_ADSB_OUT_RESERVED","UAVIONIX_ADSB_OUT_RF_SELECT_RX_ENABLED","UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY","UAVIONIX_ADSB_OUT_RF_SELECT_TX_ENABLED","UAVIONIX_ADSB_OUT_UNLAWFUL_INTERFERANCE_EMERGENCY","UAVIONIX_ADSB_RF_HEALTH_FAIL_RX","UAVIONIX_ADSB_RF_HEALTH_FAIL_TX","UAVIONIX_ADSB_RF_HEALTH_INITIALIZING","UAVIONIX_ADSB_RF_HEALTH_OK","UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT","UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA","UNDER_WAY","UTM_DATA_AVAIL_FLAGS_ALTITUDE_AVAILABLE","UTM_DATA_AVAIL_FLAGS_HORIZONTAL_VELO_AVAILABLE","UTM_DATA_AVAIL_FLAGS_NEXT_WAYPOINT_AVAILABLE","UTM_DATA_AVAIL_FLAGS_POSITION_AVAILABLE","UTM_DATA_AVAIL_FLAGS_RELATIVE_ALTITUDE_AVAILABLE","UTM_DATA_AVAIL_FLAGS_TIME_VALID","UTM_DATA_AVAIL_FLAGS_UAS_ID_AVAILABLE","UTM_DATA_AVAIL_FLAGS_VERTICAL_VELO_AVAILABLE","UTM_FLIGHT_STATE_AIRBORNE","UTM_FLIGHT_STATE_EMERGENCY","UTM_FLIGHT_STATE_GROUND","UTM_FLIGHT_STATE_NOCTRL","UTM_FLIGHT_STATE_UNKNOWN","UTM_GLOBAL_POSITION","UTM_GLOBAL_POSITION_DATA","UavcanNodeHealth","UavcanNodeMode","UavionixAdsbEmergencyStatus","UavionixAdsbOutCfgAircraftSize","UavionixAdsbOutCfgGpsOffsetLat","UavionixAdsbOutCfgGpsOffsetLon","UavionixAdsbOutDynamicGpsFix","UavionixAdsbOutDynamicState","UavionixAdsbOutRfSelect","UavionixAdsbRfHealth","UtmDataAvailFlags","UtmFlightState","V2_EXTENSION","V2_EXTENSION_DATA","VFR_HUD","VFR_HUD_DATA","VIBRATION","VIBRATION_DATA","VICON_POSITION_ESTIMATE","VICON_POSITION_ESTIMATE_DATA","VIDEO_STREAM_INFORMATION","VIDEO_STREAM_INFORMATION_DATA","VIDEO_STREAM_STATUS","VIDEO_STREAM_STATUS_DATA","VIDEO_STREAM_STATUS_FLAGS_RUNNING","VIDEO_STREAM_STATUS_FLAGS_THERMAL","VIDEO_STREAM_TYPE_MPEG_TS_H264","VIDEO_STREAM_TYPE_RTPUDP","VIDEO_STREAM_TYPE_RTSP","VIDEO_STREAM_TYPE_TCP_MPEG","VISION_POSITION_DELTA","VISION_POSITION_DELTA_DATA","VISION_POSITION_ESTIMATE","VISION_POSITION_ESTIMATE_DATA","VISION_SPEED_ESTIMATE","VISION_SPEED_ESTIMATE_DATA","VTOL_TRANSITION_HEADING_ANY","VTOL_TRANSITION_HEADING_NEXT_WAYPOINT","VTOL_TRANSITION_HEADING_SPECIFIED","VTOL_TRANSITION_HEADING_TAKEOFF","VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT","Vcc","Vcc","VelEW","VideoStreamStatusFlags","VideoStreamType","Vservo","VtolTransitionHeading","WATER_DEPTH","WATER_DEPTH_DATA","WHEEL_DISTANCE","WHEEL_DISTANCE_DATA","WIFI_CONFIG_AP","WIFI_CONFIG_AP_DATA","WIFI_CONFIG_AP_MODE_AP","WIFI_CONFIG_AP_MODE_DISABLED","WIFI_CONFIG_AP_MODE_STATION","WIFI_CONFIG_AP_MODE_UNDEFINED","WIFI_CONFIG_AP_RESPONSE_ACCEPTED","WIFI_CONFIG_AP_RESPONSE_MODE_ERROR","WIFI_CONFIG_AP_RESPONSE_PASSWORD_ERROR","WIFI_CONFIG_AP_RESPONSE_REJECTED","WIFI_CONFIG_AP_RESPONSE_SSID_ERROR","WIFI_CONFIG_AP_RESPONSE_UNDEFINED","WINCH_ABANDON_LINE","WINCH_DELIVER","WINCH_HOLD","WINCH_LOAD_LINE","WINCH_LOAD_PAYLOAD","WINCH_LOCK","WINCH_RATE_CONTROL","WINCH_RELATIVE_LENGTH_CONTROL","WINCH_RELAXED","WINCH_RETRACT","WINCH_STATUS","WINCH_STATUS_DATA","WIND","WIND_COV","WIND_COV_DATA","WIND_DATA","WifiConfigApMode","WifiConfigApResponse","WinchActions","ZOOM_TYPE_CONTINUOUS","ZOOM_TYPE_FOCAL_LENGTH","ZOOM_TYPE_RANGE","ZOOM_TYPE_STEP","abs_pressure","abs_pressure","acc","acc_x","acc_y","acc_z","accel_cal_x","accel_cal_y","accel_cal_z","accel_weight","accuracy","accuracy","accuracyHor","accuracyVel","accuracyVert","achieved","achieved","ack","action","active","actuator","adc1","adc2","adc3","adc4","adc5","adc6","address","address","address","afx","afx","afx","afx","afy","afy","afy","afy","afz","afz","afz","afz","aircraftSize","airspeed","airspeed","airspeed","airspeed","airspeed_sp","airspeed_sp","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt_camera","alt_error","alt_image","alt_msl","alt_rel","altitude","altitude","altitude","altitude","altitude","altitude","altitude","altitude","altitude","altitude_amsl","altitude_amsl","altitude_barometric","altitude_geodetic","altitude_local","altitude_minimum_delta","altitude_monotonic","altitude_relative","altitude_sp","altitude_terrain","altitude_type","angle_delta","angle_x","angle_y","angular_velocity_x","angular_velocity_x","angular_velocity_x","angular_velocity_y","angular_velocity_y","angular_velocity_y","angular_velocity_z","angular_velocity_z","angular_velocity_z","aperture","apn","approach_x","approach_x","approach_y","approach_y","approach_z","approach_z","arc_entry_lat","arc_entry_lon","area_ceiling","area_count","area_floor","area_radius","arguments","arming_time_utc","array_id","aspd_error","attempt","attitude_q","attitude_quaternion","authentication_data","authentication_type","autocontinue","autocontinue","autocontinue","autopilot","autopilot","autosaved","aux1","aux2","aux3","aux4","available_capacity","available_capacity","ax","axis","axis","ay","az","az_torque_cmd","baroAltMSL","barometer_accuracy","barometric_pressure","base_mode","base_mode","base_mode","baseline_a_mm","baseline_a_mm","baseline_b_mm","baseline_b_mm","baseline_c_mm","baseline_c_mm","baseline_coords_type","baseline_coords_type","bat_current_setpoint","battery","battery_current","battery_function","battery_function","battery_remaining","battery_remaining","battery_remaining","baudrate","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitrate","bitrate","bitrate","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","board_version","body_pitch_rate","body_pitch_rate","body_roll_rate","body_roll_rate","body_yaw_rate","body_yaw_rate","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bottom_clearance","breach_count","breach_count","breach_status","breach_time","breach_type","break_alt","brkval","bus","bus","bus","bus","bus","bus_voltage","busname","busname","bustype","bustype","buttons","cal_mask","cal_mask","cal_status","cal_status","callsign","callsign","callsign","cam_definition_uri","cam_definition_version","cam_idx","cam_idx","camera_id","camera_id","cap_flags","cap_flags","capabilities","capacity_full","capacity_full_specification","capture_mode","capture_result","category_eu","chan10_raw","chan10_raw","chan11_raw","chan11_raw","chan12_raw","chan12_raw","chan13_raw","chan14_raw","chan15_raw","chan16_raw","chan17_raw","chan18_raw","chan1_raw","chan1_raw","chan1_raw","chan1_raw","chan1_scaled","chan2_raw","chan2_raw","chan2_raw","chan2_raw","chan2_scaled","chan3_raw","chan3_raw","chan3_raw","chan3_raw","chan3_scaled","chan4_raw","chan4_raw","chan4_raw","chan4_raw","chan4_scaled","chan5_raw","chan5_raw","chan5_raw","chan5_raw","chan5_scaled","chan6_raw","chan6_raw","chan6_raw","chan6_raw","chan6_scaled","chan7_raw","chan7_raw","chan7_raw","chan7_raw","chan7_scaled","chan8_raw","chan8_raw","chan8_raw","chan8_raw","chan8_scaled","chan9_raw","chan9_raw","chancount","charging_minimum_voltage","child_frame_id","class_eu","classification_type","climb","climb_rate","climb_rate","clipping_0","clipping_1","clipping_2","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmd_id","cmd_id","cmd_id","cmd_id","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cog","cog","cog","command","command","command","command","command","command","command","command_id","command_id","commanded_action","compass_id","compass_id","compass_variance","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","completion_mask","completion_pct","confidence","config_type","config_type","confirmation","connection_type","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","control_request","control_request","controls","controls","controls","coordinate_frame","coordinate_frame","coordinate_frame","coordinate_frame","count","count","count","count","count","count","count","count","count","count","count","count","count","count","count","counter","covariance","covariance","covariance","covariance","cpu_combined","cpu_cores","crc","cross_track_error","current","current","current","current","current","current","current","current","current","current_battery","current_battery","current_battery","current_consumed","current_distance","current_height","custom0","custom1","custom2","custom_bytes","custom_cap_flags","custom_len","custom_mode","custom_mode","custom_mode","custom_mode","custom_name","custom_state","cycle_count","cylinder_head_temperature","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data_page","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default_message_from_id","delta","delta_angle_x","delta_angle_y","delta_angle_z","delta_time","delta_velocity_x","delta_velocity_y","delta_velocity_z","demanded_rate_x","demanded_rate_y","demanded_rate_z","description","description_type","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","desired","desired","destination_component","destination_system","device","device_name","dgps_age","dgps_numch","diag_x","diag_y","diag_z","diff_pressure","diff_pressure","diff_pressure","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","dimension_bow","dimension_port","dimension_starboard","dimension_stern","direction","direction","direction_x","direction_y","direction_z","discharge_minimum_voltage","dist","distance","distance","distance","distance","distance","distance","distances","drop_rate_comm","ecu_index","el_torque_cmd","emergencyStatus","emitterType","emitter_type","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","enable_lte","enable_pin","end","end_index","end_index","energy_consumed","engine_cut_off","engine_load","eph","eph","eph","eph","epv","epv","epv","epv","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","error","error","error_count","error_rp","error_yaw","errors_comm","errors_count1","errors_count2","errors_count3","errors_count4","est_capabilities","estimator_status","estimator_type","estimator_type","event_id","event_time_boot_ms","exhaust_gas_temperature","expected_travel_distance","exposure_type","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extra_crc","extra_param","extra_param","extra_value","extra_value","f","f_dot","failed_sessions","failsafe","failure_flags","failure_flags","failure_flags","failure_reason","fan_speed","feed_forward_angular_velocity_z","fields_updated","fields_updated","file_crc","file_url","firmware_version","firmware_version","first_message_offset","first_message_offset","first_sequence","fitness","fix_type","fix_type","fix_type","fix_type","fixed","fixed","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flight_custom_version","flight_state","flight_sw_version","flight_uuid","flow_comp_m_x","flow_comp_m_y","flow_x","flow_y","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","foc_len","focal_length","focus_lock","format","format","frame","frame","frame","frame","frame","frame","frame","frame","frame_id","framerate","framerate","framerate","freemem","frequency","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","fuel_consumed","fuel_flow","gcs_system_id","general_metadata_file_crc","general_metadata_uri","generator_speed","generator_temperature","gimbal_device_id","gimbal_device_id","gimbal_device_id","gimbal_device_id","gimbal_device_id","gpsAlt","gpsFix","gpsLat","gpsLon","gpsOffsetLat","gpsOffsetLon","gps_fix_type","gps_id","gps_nsat","gpu_combined","gpu_cores","grid_spacing","grid_spacing","gridbit","ground_distance","groundspeed","groundspeed","groundspeed","group_mlx","group_mlx","gyro_cal_x","gyro_cal_y","gyro_cal_z","h_acc","h_acc","hagl_ratio","hardware_version","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hdg","hdg","hdg_acc","hdop","heading","heading","heading","heading","heading","heading_sp","health","health","healthy","height","height","height_reference","hfov","hfov","hfov","hor_velocity","horiz_accuracy","horiz_accuracy","horizontal_accuracy","horizontal_minimum_delta","humidity","hw_unique_id","hw_version_major","hw_version_minor","iar_num_hypotheses","iar_num_hypotheses","id","id","id","id","id","id","id","id","id","id","id","id","id","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_type","ids","idx","idx","idx","idx","ignition_timing","ignore_flags","image_index","image_interval","image_status","img_idx","img_idx","increment","increment","increment","ind","ind_airspeed","index","index","index","info","initial_timestamp","injection_time","input_a","input_b","input_c","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","instance","intake_manifold_pressure","intake_manifold_temperature","integrated_x","integrated_x","integrated_xgyro","integrated_xgyro","integrated_y","integrated_y","integrated_ygyro","integrated_ygyro","integrated_zgyro","integrated_zgyro","integration_time_us","integration_time_us","interference","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","interval_us","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","iso","joint_az","joint_el","joint_roll","jpg_quality","key","lac","land","land_dir","landed_state","landed_state","landed_state","landing_lat","landing_lon","last_action","last_change_ms","last_clear","last_heartbeat","last_log_num","last_page_index","last_recovery","last_sequence","last_trigger","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat_camera","lat_image","lat_int","lat_int","latitude","latitude","latitude","latitude","latitude","latitude","latitude","len","len","len","len","len","len","len","len","length","length","length","lens_id","library_version_hash","limits_state","line_length","link_rx_max","link_rx_rate","link_tx_max","link_tx_rate","link_type","lng","lng","lng","lng","lng","lng","lng","load","load_current","loaded","log_levels","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon_camera","lon_image","lon_int","lon_int","longitude","longitude","longitude","longitude","longitude","longitude","longitude","mag_declination","mag_ofs_x","mag_ofs_x","mag_ofs_y","mag_ofs_y","mag_ofs_z","mag_ofs_z","mag_ratio","manual_override_switch","mask","mavlink_version","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","max1","max2","max3","max4","max5","max_distance","max_distance","max_distance","max_value","max_value","max_version","mcc","message_id","message_id","message_id_from_name","message_name","message_rate","message_type","messages","messages_lost","messages_received","messages_sent","middleware_custom_version","middleware_sw_version","min1","min2","min3","min4","min5","min_distance","min_distance","min_distance","min_value","min_value","min_version","mission_end","mission_next_item","mnc","mode","mode","mode","mode","mode_id","mode_switch","model_name","model_name","mods_enabled","mods_required","mods_triggered","mount_mode","msg_pack_size","name","name","name","name","name","name","name","nav_bearing","nav_mode","nav_pitch","nav_roll","navigational_status","new_pin","next_alt","next_lat","next_lon","noise","noise","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","nsats","nsats","numBands","numSats","num_ids","num_logs","obstacle_id","offdiag_x","offdiag_y","offdiag_z","offset","ofs","ofs","ofs_x","ofs_y","ofs_z","omega","omegaIx","omegaIy","omegaIz","omega_dot","on_off","onboard_control_sensors_enabled","onboard_control_sensors_health","onboard_control_sensors_present","operation","operator_altitude_geo","operator_altitude_geo","operator_id","operator_id_type","operator_latitude","operator_latitude","operator_location_type","operator_longitude","operator_longitude","orientation","os_custom_version","os_sw_version","osd_index","osd_index","osd_screen","osd_screen","p1","p1x","p1x","p1y","p1y","p1z","p1z","p2","p2x","p2x","p2y","p2y","p2z","p2z","p3","p4","packets","param1","param1","param1","param1","param2","param2","param2","param2","param3","param3","param3","param3","param4","param4","param4","param4","param5","param6","param7","param_count","param_count","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_index","param_index","param_index","param_index","param_index","param_result","param_type","param_type","param_type","param_type","param_type","param_value","param_value","param_value","param_value","param_value","param_value0","param_value_max","param_value_min","parameter_rc_channel_index","parse","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","passkey","password","path_lat","path_lon","pattern","payload","payload","payload","payload","payload_length","payload_type","pending","peripherals_metadata_file_crc","peripherals_metadata_uri","pin","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch_elevator","pitch_max","pitch_max","pitch_min","pitch_min","pitch_rate","pitch_rate","pitch_rate","pitchspeed","pitchspeed","pitchspeed","pitchspeed","pitchspeed","pitchspeed","point_x","point_y","pointing_a","pointing_b","pointing_c","port","port","port","pos_horiz_accuracy","pos_horiz_ratio","pos_horiz_variance","pos_variance","pos_vert_accuracy","pos_vert_ratio","pos_vert_variance","pos_x","pos_x","pos_y","pos_y","pos_yaw","pos_yaw","pos_z","pos_z","pose_covariance","position_cov","position_delta","power_generated","press_abs","press_abs","press_abs","press_abs","press_diff","press_diff","press_diff","press_diff1","press_diff2","pressure_alt","pressure_alt","primary_control_compid","primary_control_sysid","product_id","pt_compensation","puk","q","q","q","q","q","q","q","q","q","q","q","q","q","q","q1","q1","q2","q2","q3","q3","q4","q4","q_estimated_delay_us","quality","quality","quality","quality","r","radius","radius","ram_total","ram_usage","rates","ratio","raw_press","raw_temp","read_speed","reason","rec_bottom_x","rec_bottom_y","rec_top_x","rec_top_y","recording_time_ms","rectifier_temperature","regstart","regstart","regstart","relative_alt","relative_alt","relative_alt","relative_alt","remnoise","remnoise","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remrssi","remrssi","renorm_val","req_message_rate","req_stream_id","request_id","request_id","request_id","request_id","request_id","request_id","request_id","request_id","request_id","resolution_h","resolution_h","resolution_h","resolution_h","resolution_v","resolution_v","resolution_v","resolution_v","response","resting_minimum_voltage","result","result","result","result","result","rfHealth","rfSelect","ring_pending","rl_torque_cmd","roaming","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll_ailerons","roll_max","roll_max","roll_min","roll_min","roll_rate","rollspeed","rollspeed","rollspeed","rollspeed","rollspeed","rollspeed","rotation","rotation","rotation","rpm","rpm","rpm","rpm","rpm","rpm1","rpm2","rssi","rssi","rssi","rssi","rssi","rssi","rtk_health","rtk_health","rtk_rate","rtk_rate","rtk_receiver_id","rtk_receiver_id","runtime","rx_buf","rx_overflows","rx_parse_err","rx_rate","rx_session_pending","rxerrors","rxerrors","safe_return","satellite_azimuth","satellite_elevation","satellite_prn","satellite_snr","satellite_used","satellites_visible","satellites_visible","satellites_visible","satellites_visible","satellites_visible","save_position","scale","secondary_control_compid","secondary_control_sysid","secret_key","sensor_id","sensor_id","sensor_id","sensor_size_h","sensor_size_v","sensor_type","sensor_type","seq","seq","seq","seq","seq","seq","seq","seq","seq","seqno","seqno","seqnr","sequence","sequence","sequence","sequence","sequence","sequence","sequence_oldest_available","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","serial_number","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","servo1_raw","servo2_raw","servo3_raw","servo4_raw","servo5_raw","servo6_raw","servo7_raw","servo8_raw","session","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","severity","shot","shutter_speed","sigma","sigma_dot","signal_quality","single_message_size","size","size","size","size_x","size_y","spacing","spark_dwell_time","spec_version_hash","speed","speed","speed_accuracy","speed_accuracy","speed_horizontal","speed_vertical","speed_z","squawk","squawk","src","ssid","stab_pitch","stab_roll","stab_yaw","stage","stallSpeed","start","start_index","start_index","start_stop","state","state","state_x","state_y","state_z","status","status","status","status","status","status","status","status","status","status","status","status","std_dev_horz","std_dev_vert","storage","storage_count","storage_id","storage_total","storage_type","storage_usage","stream_id","stream_id","stream_id","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_mode","successful_sessions","sw_vcs_commit","sw_version_major","sw_version_minor","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","system_status","takeoff_time_utc","target","target_altitude","target_bearing","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_data","target_distance","target_heading","target_network","target_network","target_num","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","tas_ratio","tc1","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature_air","temperature_air","temperature_board","temperature_core","tension","terrain_alt_variance","terrain_height","text","theta","theta_dot","threat_level","throttle","throttle","throttle","throttle","throttle","throttle_out","throttle_position","thrust","thrust","thrust","time","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_us","time_delta_distance_us","time_delta_distance_us","time_delta_usec","time_last_baseline_ms","time_last_baseline_ms","time_to_minimum_delta","time_unix_usec","time_until_maintenance","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_utc","time_utc","time_week","time_week_ms","timeout","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp_accuracy","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","total_capacity","totalcurrent","totalcurrent","totalcurrent","tow","tow","tracking_mode","tracking_status","tracking_status","transfer_type","true_airspeed","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ts1","tslc","tslc","tune","tune","turn_rate","tx_buf","tx_overflows","tx_rate","tx_session_pending","txbuf","txbuf","type1","type2","type3","type4","type5","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_mask","type_mask","type_mask","type_mask","type_mask","type_mask","u","ua_type","uas_id","uas_id","uid","uid","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","update_rate","uptime","uptime_sec","uptime_sec","uri","uri","uri","uri","uri_type","usec","usec","usec","usec","used_capacity","utcTime","v1","v2","v3","v4","v_acc","v_acc","v_estimated_delay_us","valid_points","valid_points","value","value","value","value","value","value","var_horiz","var_vert","vd","vd","vd","vdop","ve","ve","ve","vel","vel","vel","vel","velNS","velVert","vel_acc","vel_acc","vel_d","vel_e","vel_n","vel_ratio","vel_variance","vel_x","vel_y","vel_yaw","vel_z","velocity","velocity_covariance","velocity_variance","vendor_id","vendor_name","vendor_name","vendor_specific_status_code","ver","ver_velocity","version","version","vert_accuracy","vert_accuracy","vertical_accuracy","vfov","vibration_x","vibration_y","vibration_z","video_status","vn","vn","vn","voltage","voltage","voltage","voltage","voltage","voltage","voltage","voltage_battery","voltages","vtol_state","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","weight","width","wind_alt","wind_heading","wind_x","wind_y","wind_z","windspeed","wn","wn","wp_dist","wp_distance","wp_num","wp_num","write_speed","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x_acc","x_pos","x_vel","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xmag","xmag","xmag","xmag","xmag","xmag","xtrack_error","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y_acc","y_pos","y_vel","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw_max","yaw_max","yaw_min","yaw_min","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rudder","yawspeed","yawspeed","yawspeed","yawspeed","yawspeed","yawspeed","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ymag","ymag","ymag","ymag","ymag","ymag","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z_acc","z_pos","z_vel","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zmag","zmag","zmag","zmag","zmag","zmag","zoom_pos","zoom_step","Bytes","borrow","borrow_mut","from","get_array","get_bytes","get_f32_le","get_f64_le","get_i16_le","get_i24_le","get_i32_le","get_i64_le","get_i8","get_u16_le","get_u24_le","get_u32_le","get_u64_le","get_u8","into","new","remaining_bytes","try_from","try_into","type_id","BytesMut","borrow","borrow_mut","from","into","is_empty","len","new","put_f32_le","put_f64_le","put_i16_le","put_i24_le","put_i32_le","put_i64_le","put_i8","put_slice","put_u16_le","put_u24_le","put_u32_le","put_u64_le","put_u8","remaining","try_from","try_into","type_id","ACTUATOR_CONFIGURATION_3D_MODE_OFF","ACTUATOR_CONFIGURATION_3D_MODE_ON","ACTUATOR_CONFIGURATION_BEEP","ACTUATOR_CONFIGURATION_NONE","ACTUATOR_CONFIGURATION_SPIN_DIRECTION1","ACTUATOR_CONFIGURATION_SPIN_DIRECTION2","ACTUATOR_CONTROL_TARGET","ACTUATOR_CONTROL_TARGET_DATA","ACTUATOR_OUTPUT_FUNCTION_MOTOR1","ACTUATOR_OUTPUT_FUNCTION_MOTOR10","ACTUATOR_OUTPUT_FUNCTION_MOTOR11","ACTUATOR_OUTPUT_FUNCTION_MOTOR12","ACTUATOR_OUTPUT_FUNCTION_MOTOR13","ACTUATOR_OUTPUT_FUNCTION_MOTOR14","ACTUATOR_OUTPUT_FUNCTION_MOTOR15","ACTUATOR_OUTPUT_FUNCTION_MOTOR16","ACTUATOR_OUTPUT_FUNCTION_MOTOR2","ACTUATOR_OUTPUT_FUNCTION_MOTOR3","ACTUATOR_OUTPUT_FUNCTION_MOTOR4","ACTUATOR_OUTPUT_FUNCTION_MOTOR5","ACTUATOR_OUTPUT_FUNCTION_MOTOR6","ACTUATOR_OUTPUT_FUNCTION_MOTOR7","ACTUATOR_OUTPUT_FUNCTION_MOTOR8","ACTUATOR_OUTPUT_FUNCTION_MOTOR9","ACTUATOR_OUTPUT_FUNCTION_NONE","ACTUATOR_OUTPUT_FUNCTION_SERVO1","ACTUATOR_OUTPUT_FUNCTION_SERVO10","ACTUATOR_OUTPUT_FUNCTION_SERVO11","ACTUATOR_OUTPUT_FUNCTION_SERVO12","ACTUATOR_OUTPUT_FUNCTION_SERVO13","ACTUATOR_OUTPUT_FUNCTION_SERVO14","ACTUATOR_OUTPUT_FUNCTION_SERVO15","ACTUATOR_OUTPUT_FUNCTION_SERVO16","ACTUATOR_OUTPUT_FUNCTION_SERVO2","ACTUATOR_OUTPUT_FUNCTION_SERVO3","ACTUATOR_OUTPUT_FUNCTION_SERVO4","ACTUATOR_OUTPUT_FUNCTION_SERVO5","ACTUATOR_OUTPUT_FUNCTION_SERVO6","ACTUATOR_OUTPUT_FUNCTION_SERVO7","ACTUATOR_OUTPUT_FUNCTION_SERVO8","ACTUATOR_OUTPUT_FUNCTION_SERVO9","ACTUATOR_OUTPUT_STATUS","ACTUATOR_OUTPUT_STATUS_DATA","ADSB_ALTITUDE_TYPE_GEOMETRIC","ADSB_ALTITUDE_TYPE_PRESSURE_QNH","ADSB_EMITTER_TYPE_EMERGENCY_SURFACE","ADSB_EMITTER_TYPE_GLIDER","ADSB_EMITTER_TYPE_HEAVY","ADSB_EMITTER_TYPE_HIGHLY_MANUV","ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE","ADSB_EMITTER_TYPE_LARGE","ADSB_EMITTER_TYPE_LIGHT","ADSB_EMITTER_TYPE_LIGHTER_AIR","ADSB_EMITTER_TYPE_NO_INFO","ADSB_EMITTER_TYPE_PARACHUTE","ADSB_EMITTER_TYPE_POINT_OBSTACLE","ADSB_EMITTER_TYPE_ROTOCRAFT","ADSB_EMITTER_TYPE_SERVICE_SURFACE","ADSB_EMITTER_TYPE_SMALL","ADSB_EMITTER_TYPE_SPACE","ADSB_EMITTER_TYPE_UAV","ADSB_EMITTER_TYPE_ULTRA_LIGHT","ADSB_EMITTER_TYPE_UNASSGINED3","ADSB_EMITTER_TYPE_UNASSIGNED","ADSB_EMITTER_TYPE_UNASSIGNED2","ADSB_FLAGS_BARO_VALID","ADSB_FLAGS_SIMULATED","ADSB_FLAGS_SOURCE_UAT","ADSB_FLAGS_VALID_ALTITUDE","ADSB_FLAGS_VALID_CALLSIGN","ADSB_FLAGS_VALID_COORDS","ADSB_FLAGS_VALID_HEADING","ADSB_FLAGS_VALID_SQUAWK","ADSB_FLAGS_VALID_VELOCITY","ADSB_FLAGS_VERTICAL_VELOCITY_VALID","ADSB_VEHICLE","ADSB_VEHICLE_DATA","AIS_FLAGS_HIGH_VELOCITY","AIS_FLAGS_LARGE_BOW_DIMENSION","AIS_FLAGS_LARGE_PORT_DIMENSION","AIS_FLAGS_LARGE_STARBOARD_DIMENSION","AIS_FLAGS_LARGE_STERN_DIMENSION","AIS_FLAGS_POSITION_ACCURACY","AIS_FLAGS_TURN_RATE_SIGN_ONLY","AIS_FLAGS_VALID_CALLSIGN","AIS_FLAGS_VALID_COG","AIS_FLAGS_VALID_DIMENSIONS","AIS_FLAGS_VALID_NAME","AIS_FLAGS_VALID_TURN_RATE","AIS_FLAGS_VALID_VELOCITY","AIS_NAV_AGROUND","AIS_NAV_AIS_SART","AIS_NAV_ANCHORED","AIS_NAV_DRAUGHT_CONSTRAINED","AIS_NAV_FISHING","AIS_NAV_MOORED","AIS_NAV_RESERVED_1","AIS_NAV_RESERVED_2","AIS_NAV_RESERVED_3","AIS_NAV_RESERVED_HSC","AIS_NAV_RESERVED_WIG","AIS_NAV_RESTRICTED_MANOEUVERABILITY","AIS_NAV_SAILING","AIS_NAV_UNKNOWN","AIS_NAV_UN_COMMANDED","AIS_TYPE_ANTI_POLLUTION","AIS_TYPE_CARGO","AIS_TYPE_CARGO_HAZARDOUS_A","AIS_TYPE_CARGO_HAZARDOUS_B","AIS_TYPE_CARGO_HAZARDOUS_C","AIS_TYPE_CARGO_HAZARDOUS_D","AIS_TYPE_CARGO_RESERVED_1","AIS_TYPE_CARGO_RESERVED_2","AIS_TYPE_CARGO_RESERVED_3","AIS_TYPE_CARGO_RESERVED_4","AIS_TYPE_CARGO_UNKNOWN","AIS_TYPE_DIVING","AIS_TYPE_DREDGING","AIS_TYPE_FISHING","AIS_TYPE_HSC","AIS_TYPE_HSC_HAZARDOUS_A","AIS_TYPE_HSC_HAZARDOUS_B","AIS_TYPE_HSC_HAZARDOUS_C","AIS_TYPE_HSC_HAZARDOUS_D","AIS_TYPE_HSC_RESERVED_1","AIS_TYPE_HSC_RESERVED_2","AIS_TYPE_HSC_RESERVED_3","AIS_TYPE_HSC_RESERVED_4","AIS_TYPE_HSC_UNKNOWN","AIS_TYPE_LAW_ENFORCEMENT","AIS_TYPE_MEDICAL_TRANSPORT","AIS_TYPE_MILITARY","AIS_TYPE_NONECOMBATANT","AIS_TYPE_OTHER","AIS_TYPE_OTHER_HAZARDOUS_A","AIS_TYPE_OTHER_HAZARDOUS_B","AIS_TYPE_OTHER_HAZARDOUS_C","AIS_TYPE_OTHER_HAZARDOUS_D","AIS_TYPE_OTHER_RESERVED_1","AIS_TYPE_OTHER_RESERVED_2","AIS_TYPE_OTHER_RESERVED_3","AIS_TYPE_OTHER_RESERVED_4","AIS_TYPE_OTHER_UNKNOWN","AIS_TYPE_PASSENGER","AIS_TYPE_PASSENGER_HAZARDOUS_A","AIS_TYPE_PASSENGER_HAZARDOUS_B","AIS_TYPE_PASSENGER_HAZARDOUS_C","AIS_TYPE_PASSENGER_HAZARDOUS_D","AIS_TYPE_PASSENGER_RESERVED_1","AIS_TYPE_PASSENGER_RESERVED_2","AIS_TYPE_PASSENGER_RESERVED_3","AIS_TYPE_PASSENGER_RESERVED_4","AIS_TYPE_PASSENGER_UNKNOWN","AIS_TYPE_PILOT","AIS_TYPE_PLEASURE","AIS_TYPE_PORT_TENDER","AIS_TYPE_RESERVED_1","AIS_TYPE_RESERVED_10","AIS_TYPE_RESERVED_11","AIS_TYPE_RESERVED_12","AIS_TYPE_RESERVED_13","AIS_TYPE_RESERVED_14","AIS_TYPE_RESERVED_15","AIS_TYPE_RESERVED_16","AIS_TYPE_RESERVED_17","AIS_TYPE_RESERVED_18","AIS_TYPE_RESERVED_19","AIS_TYPE_RESERVED_2","AIS_TYPE_RESERVED_20","AIS_TYPE_RESERVED_21","AIS_TYPE_RESERVED_3","AIS_TYPE_RESERVED_4","AIS_TYPE_RESERVED_5","AIS_TYPE_RESERVED_6","AIS_TYPE_RESERVED_7","AIS_TYPE_RESERVED_8","AIS_TYPE_RESERVED_9","AIS_TYPE_SAILING","AIS_TYPE_SAR","AIS_TYPE_SPARE_LOCAL_1","AIS_TYPE_SPARE_LOCAL_2","AIS_TYPE_TANKER","AIS_TYPE_TANKER_HAZARDOUS_A","AIS_TYPE_TANKER_HAZARDOUS_B","AIS_TYPE_TANKER_HAZARDOUS_C","AIS_TYPE_TANKER_HAZARDOUS_D","AIS_TYPE_TANKER_RESERVED_1","AIS_TYPE_TANKER_RESERVED_2","AIS_TYPE_TANKER_RESERVED_3","AIS_TYPE_TANKER_RESERVED_4","AIS_TYPE_TANKER_UNKNOWN","AIS_TYPE_TOWING","AIS_TYPE_TOWING_LARGE","AIS_TYPE_TUG","AIS_TYPE_UNKNOWN","AIS_TYPE_WIG","AIS_TYPE_WIG_HAZARDOUS_A","AIS_TYPE_WIG_HAZARDOUS_B","AIS_TYPE_WIG_HAZARDOUS_C","AIS_TYPE_WIG_HAZARDOUS_D","AIS_TYPE_WIG_RESERVED_1","AIS_TYPE_WIG_RESERVED_2","AIS_TYPE_WIG_RESERVED_3","AIS_TYPE_WIG_RESERVED_4","AIS_TYPE_WIG_RESERVED_5","AIS_VESSEL","AIS_VESSEL_DATA","ALTITUDE","ALTITUDE_DATA","ATTITUDE","ATTITUDE_DATA","ATTITUDE_QUATERNION","ATTITUDE_QUATERNION_COV","ATTITUDE_QUATERNION_COV_DATA","ATTITUDE_QUATERNION_DATA","ATTITUDE_TARGET","ATTITUDE_TARGET_DATA","ATTITUDE_TARGET_TYPEMASK_ATTITUDE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_PITCH_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_YAW_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_THROTTLE_IGNORE","ATTITUDE_TARGET_TYPEMASK_THRUST_BODY_SET","ATT_POS_MOCAP","ATT_POS_MOCAP_DATA","AUTH_KEY","AUTH_KEY_DATA","AUTOPILOT_STATE_FOR_GIMBAL_DEVICE","AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA","AUTOPILOT_VERSION","AUTOPILOT_VERSION_DATA","AUTOTUNE_AXIS_DEFAULT","AUTOTUNE_AXIS_PITCH","AUTOTUNE_AXIS_ROLL","AUTOTUNE_AXIS_YAW","ActuatorConfiguration","ActuatorOutputFunction","AdsbAltitudeType","AdsbEmitterType","AdsbFlags","AisFlags","AisNavStatus","AisType","AttitudeTargetTypemask","AutotuneAxis","BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION","BATTERY_STATUS","BATTERY_STATUS_DATA","BUTTON_CHANGE","BUTTON_CHANGE_DATA","CAMERA_CAPTURE_STATUS","CAMERA_CAPTURE_STATUS_DATA","CAMERA_CAP_FLAGS_CAN_CAPTURE_IMAGE_IN_VIDEO_MODE","CAMERA_CAP_FLAGS_CAN_CAPTURE_VIDEO_IN_IMAGE_MODE","CAMERA_CAP_FLAGS_CAPTURE_IMAGE","CAMERA_CAP_FLAGS_CAPTURE_VIDEO","CAMERA_CAP_FLAGS_HAS_BASIC_FOCUS","CAMERA_CAP_FLAGS_HAS_BASIC_ZOOM","CAMERA_CAP_FLAGS_HAS_IMAGE_SURVEY_MODE","CAMERA_CAP_FLAGS_HAS_MODES","CAMERA_CAP_FLAGS_HAS_TRACKING_GEO_STATUS","CAMERA_CAP_FLAGS_HAS_TRACKING_POINT","CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE","CAMERA_CAP_FLAGS_HAS_VIDEO_STREAM","CAMERA_FOV_STATUS","CAMERA_FOV_STATUS_DATA","CAMERA_IMAGE_CAPTURED","CAMERA_IMAGE_CAPTURED_DATA","CAMERA_INFORMATION","CAMERA_INFORMATION_DATA","CAMERA_MODE_IMAGE","CAMERA_MODE_IMAGE_SURVEY","CAMERA_MODE_VIDEO","CAMERA_SETTINGS","CAMERA_SETTINGS_DATA","CAMERA_TRACKING_GEO_STATUS","CAMERA_TRACKING_GEO_STATUS_DATA","CAMERA_TRACKING_IMAGE_STATUS","CAMERA_TRACKING_IMAGE_STATUS_DATA","CAMERA_TRACKING_MODE_NONE","CAMERA_TRACKING_MODE_POINT","CAMERA_TRACKING_MODE_RECTANGLE","CAMERA_TRACKING_STATUS_FLAGS_ACTIVE","CAMERA_TRACKING_STATUS_FLAGS_ERROR","CAMERA_TRACKING_STATUS_FLAGS_IDLE","CAMERA_TRACKING_TARGET_DATA_EMBEDDED","CAMERA_TRACKING_TARGET_DATA_IN_STATUS","CAMERA_TRACKING_TARGET_DATA_NONE","CAMERA_TRACKING_TARGET_DATA_RENDERED","CAMERA_TRIGGER","CAMERA_TRIGGER_DATA","CANFD_FRAME","CANFD_FRAME_DATA","CAN_FILTER_ADD","CAN_FILTER_MODIFY","CAN_FILTER_MODIFY_DATA","CAN_FILTER_REMOVE","CAN_FILTER_REPLACE","CAN_FRAME","CAN_FRAME_DATA","CELLULAR_CONFIG","CELLULAR_CONFIG_BLOCKED_PUK_REQUIRED","CELLULAR_CONFIG_DATA","CELLULAR_CONFIG_RESPONSE_ACCEPTED","CELLULAR_CONFIG_RESPONSE_APN_ERROR","CELLULAR_CONFIG_RESPONSE_PIN_ERROR","CELLULAR_CONFIG_RESPONSE_REJECTED","CELLULAR_NETWORK_FAILED_REASON_NONE","CELLULAR_NETWORK_FAILED_REASON_SIM_ERROR","CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING","CELLULAR_NETWORK_FAILED_REASON_UNKNOWN","CELLULAR_NETWORK_RADIO_TYPE_CDMA","CELLULAR_NETWORK_RADIO_TYPE_GSM","CELLULAR_NETWORK_RADIO_TYPE_LTE","CELLULAR_NETWORK_RADIO_TYPE_NONE","CELLULAR_NETWORK_RADIO_TYPE_WCDMA","CELLULAR_STATUS","CELLULAR_STATUS_DATA","CELLULAR_STATUS_FLAG_CONNECTED","CELLULAR_STATUS_FLAG_CONNECTING","CELLULAR_STATUS_FLAG_DISABLED","CELLULAR_STATUS_FLAG_DISABLING","CELLULAR_STATUS_FLAG_DISCONNECTING","CELLULAR_STATUS_FLAG_ENABLED","CELLULAR_STATUS_FLAG_ENABLING","CELLULAR_STATUS_FLAG_FAILED","CELLULAR_STATUS_FLAG_INITIALIZING","CELLULAR_STATUS_FLAG_LOCKED","CELLULAR_STATUS_FLAG_REGISTERED","CELLULAR_STATUS_FLAG_SEARCHING","CELLULAR_STATUS_FLAG_UNKNOWN","CHANGE_OPERATOR_CONTROL","CHANGE_OPERATOR_CONTROL_ACK","CHANGE_OPERATOR_CONTROL_ACK_DATA","CHANGE_OPERATOR_CONTROL_DATA","COG","COLLISION","COLLISION_DATA","COMMAND_ACK","COMMAND_ACK_DATA","COMMAND_CANCEL","COMMAND_CANCEL_DATA","COMMAND_INT","COMMAND_INT_DATA","COMMAND_LONG","COMMAND_LONG_DATA","COMPONENT_INFORMATION","COMPONENT_INFORMATION_DATA","COMPONENT_METADATA","COMPONENT_METADATA_DATA","COMP_METADATA_TYPE_ACTUATORS","COMP_METADATA_TYPE_COMMANDS","COMP_METADATA_TYPE_EVENTS","COMP_METADATA_TYPE_GENERAL","COMP_METADATA_TYPE_PARAMETER","COMP_METADATA_TYPE_PERIPHERALS","CONTROL_SYSTEM_STATE","CONTROL_SYSTEM_STATE_DATA","CURRENT_EVENT_SEQUENCE","CURRENT_EVENT_SEQUENCE_DATA","CameraCapFlags","CameraMode","CameraTrackingMode","CameraTrackingStatusFlags","CameraTrackingTargetData","CameraZoomType","CanFilterOp","CellularConfigResponse","CellularNetworkFailedReason","CellularNetworkRadioType","CellularStatusFlag","CompMetadataType","DATA_STREAM","DATA_STREAM_DATA","DATA_TRANSMISSION_HANDSHAKE","DATA_TRANSMISSION_HANDSHAKE_DATA","DEBUG","DEBUG_DATA","DEBUG_FLOAT_ARRAY","DEBUG_FLOAT_ARRAY_DATA","DEBUG_VECT","DEBUG_VECT_DATA","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DISTANCE_SENSOR","DISTANCE_SENSOR_DATA","EFI_STATUS","EFI_STATUS_DATA","ENCAPSULATED_DATA","ENCAPSULATED_DATA_DATA","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ESC_CONNECTION_TYPE_CAN","ESC_CONNECTION_TYPE_DSHOT","ESC_CONNECTION_TYPE_I2C","ESC_CONNECTION_TYPE_ONESHOT","ESC_CONNECTION_TYPE_PPM","ESC_CONNECTION_TYPE_SERIAL","ESC_FAILURE_GENERIC","ESC_FAILURE_INCONSISTENT_CMD","ESC_FAILURE_MOTOR_STUCK","ESC_FAILURE_NONE","ESC_FAILURE_OVER_CURRENT","ESC_FAILURE_OVER_RPM","ESC_FAILURE_OVER_TEMPERATURE","ESC_FAILURE_OVER_VOLTAGE","ESC_INFO","ESC_INFO_DATA","ESC_STATUS","ESC_STATUS_DATA","ESTIMATOR_ACCEL_ERROR","ESTIMATOR_ATTITUDE","ESTIMATOR_CONST_POS_MODE","ESTIMATOR_GPS_GLITCH","ESTIMATOR_POS_HORIZ_ABS","ESTIMATOR_POS_HORIZ_REL","ESTIMATOR_POS_VERT_ABS","ESTIMATOR_POS_VERT_AGL","ESTIMATOR_PRED_POS_HORIZ_ABS","ESTIMATOR_PRED_POS_HORIZ_REL","ESTIMATOR_STATUS","ESTIMATOR_STATUS_DATA","ESTIMATOR_VELOCITY_HORIZ","ESTIMATOR_VELOCITY_VERT","EVENT","EVENT_DATA","EXTENDED_SYS_STATE","EXTENDED_SYS_STATE_DATA","EscConnectionType","EscFailureFlags","EstimatorStatusFlags","FAILURE_TYPE_DELAYED","FAILURE_TYPE_GARBAGE","FAILURE_TYPE_INTERMITTENT","FAILURE_TYPE_OFF","FAILURE_TYPE_OK","FAILURE_TYPE_SLOW","FAILURE_TYPE_STUCK","FAILURE_TYPE_WRONG","FAILURE_UNIT_SENSOR_ACCEL","FAILURE_UNIT_SENSOR_AIRSPEED","FAILURE_UNIT_SENSOR_BARO","FAILURE_UNIT_SENSOR_DISTANCE_SENSOR","FAILURE_UNIT_SENSOR_GPS","FAILURE_UNIT_SENSOR_GYRO","FAILURE_UNIT_SENSOR_MAG","FAILURE_UNIT_SENSOR_OPTICAL_FLOW","FAILURE_UNIT_SENSOR_VIO","FAILURE_UNIT_SYSTEM_AVOIDANCE","FAILURE_UNIT_SYSTEM_BATTERY","FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL","FAILURE_UNIT_SYSTEM_MOTOR","FAILURE_UNIT_SYSTEM_RC_SIGNAL","FAILURE_UNIT_SYSTEM_SERVO","FENCE_ACTION_GUIDED","FENCE_ACTION_GUIDED_THR_PASS","FENCE_ACTION_HOLD","FENCE_ACTION_LAND","FENCE_ACTION_NONE","FENCE_ACTION_REPORT","FENCE_ACTION_RTL","FENCE_ACTION_TERMINATE","FENCE_BREACH_BOUNDARY","FENCE_BREACH_MAXALT","FENCE_BREACH_MINALT","FENCE_BREACH_NONE","FENCE_MITIGATE_NONE","FENCE_MITIGATE_UNKNOWN","FENCE_MITIGATE_VEL_LIMIT","FENCE_STATUS","FENCE_STATUS_DATA","FILE_TRANSFER_PROTOCOL","FILE_TRANSFER_PROTOCOL_DATA","FIRMWARE_VERSION_TYPE_ALPHA","FIRMWARE_VERSION_TYPE_BETA","FIRMWARE_VERSION_TYPE_DEV","FIRMWARE_VERSION_TYPE_OFFICIAL","FIRMWARE_VERSION_TYPE_RC","FLIGHT_INFORMATION","FLIGHT_INFORMATION_DATA","FOCUS_TYPE_AUTO","FOCUS_TYPE_AUTO_CONTINUOUS","FOCUS_TYPE_AUTO_SINGLE","FOCUS_TYPE_CONTINUOUS","FOCUS_TYPE_METERS","FOCUS_TYPE_RANGE","FOCUS_TYPE_STEP","FOLLOW_TARGET","FOLLOW_TARGET_DATA","FailureType","FailureUnit","FenceAction","FenceBreach","FenceMitigate","FirmwareVersionType","GENERATOR_STATUS","GENERATOR_STATUS_DATA","GIMBAL_DEVICE_ATTITUDE_STATUS","GIMBAL_DEVICE_ATTITUDE_STATUS_DATA","GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK","GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS","GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK","GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW","GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_ERROR_FLAGS_AT_PITCH_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_AT_YAW_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING","GIMBAL_DEVICE_ERROR_FLAGS_COMMS_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_ENCODER_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_MOTOR_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_NO_MANAGER","GIMBAL_DEVICE_ERROR_FLAGS_POWER_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_SOFTWARE_ERROR","GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_FLAGS_NEUTRAL","GIMBAL_DEVICE_FLAGS_PITCH_LOCK","GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE","GIMBAL_DEVICE_FLAGS_RC_MIXED","GIMBAL_DEVICE_FLAGS_RETRACT","GIMBAL_DEVICE_FLAGS_ROLL_LOCK","GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME","GIMBAL_DEVICE_FLAGS_YAW_LOCK","GIMBAL_DEVICE_INFORMATION","GIMBAL_DEVICE_INFORMATION_DATA","GIMBAL_DEVICE_SET_ATTITUDE","GIMBAL_DEVICE_SET_ATTITUDE_DATA","GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_GLOBAL","GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_LOCAL","GIMBAL_MANAGER_CAP_FLAGS_HAS_NEUTRAL","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_LOCK","GIMBAL_MANAGER_CAP_FLAGS_HAS_RC_INPUTS","GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_LOCK","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_LOCK","GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_INFINITE_YAW","GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_NEUTRAL","GIMBAL_MANAGER_FLAGS_PITCH_LOCK","GIMBAL_MANAGER_FLAGS_RC_EXCLUSIVE","GIMBAL_MANAGER_FLAGS_RC_MIXED","GIMBAL_MANAGER_FLAGS_RETRACT","GIMBAL_MANAGER_FLAGS_ROLL_LOCK","GIMBAL_MANAGER_FLAGS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_YAW_IN_VEHICLE_FRAME","GIMBAL_MANAGER_FLAGS_YAW_LOCK","GIMBAL_MANAGER_INFORMATION","GIMBAL_MANAGER_INFORMATION_DATA","GIMBAL_MANAGER_SET_ATTITUDE","GIMBAL_MANAGER_SET_ATTITUDE_DATA","GIMBAL_MANAGER_SET_MANUAL_CONTROL","GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA","GIMBAL_MANAGER_SET_PITCHYAW","GIMBAL_MANAGER_SET_PITCHYAW_DATA","GIMBAL_MANAGER_STATUS","GIMBAL_MANAGER_STATUS_DATA","GLOBAL_POSITION_INT","GLOBAL_POSITION_INT_COV","GLOBAL_POSITION_INT_COV_DATA","GLOBAL_POSITION_INT_DATA","GLOBAL_VISION_POSITION_ESTIMATE","GLOBAL_VISION_POSITION_ESTIMATE_DATA","GPS2_RAW","GPS2_RAW_DATA","GPS2_RTK","GPS2_RTK_DATA","GPS_FIX_TYPE_2D_FIX","GPS_FIX_TYPE_3D_FIX","GPS_FIX_TYPE_DGPS","GPS_FIX_TYPE_NO_FIX","GPS_FIX_TYPE_NO_GPS","GPS_FIX_TYPE_PPP","GPS_FIX_TYPE_RTK_FIXED","GPS_FIX_TYPE_RTK_FLOAT","GPS_FIX_TYPE_STATIC","GPS_GLOBAL_ORIGIN","GPS_GLOBAL_ORIGIN_DATA","GPS_INJECT_DATA","GPS_INJECT_DATA_DATA","GPS_INPUT","GPS_INPUT_DATA","GPS_INPUT_IGNORE_FLAG_ALT","GPS_INPUT_IGNORE_FLAG_HDOP","GPS_INPUT_IGNORE_FLAG_HORIZONTAL_ACCURACY","GPS_INPUT_IGNORE_FLAG_SPEED_ACCURACY","GPS_INPUT_IGNORE_FLAG_VDOP","GPS_INPUT_IGNORE_FLAG_VEL_HORIZ","GPS_INPUT_IGNORE_FLAG_VEL_VERT","GPS_INPUT_IGNORE_FLAG_VERTICAL_ACCURACY","GPS_RAW_INT","GPS_RAW_INT_DATA","GPS_RTCM_DATA","GPS_RTCM_DATA_DATA","GPS_RTK","GPS_RTK_DATA","GPS_STATUS","GPS_STATUS_DATA","GRIPPER_ACTION_GRAB","GRIPPER_ACTION_RELEASE","GimbalDeviceCapFlags","GimbalDeviceErrorFlags","GimbalDeviceFlags","GimbalManagerCapFlags","GimbalManagerFlags","GpsFixType","GpsInputIgnoreFlags","GripperActions","HEARTBEAT","HEARTBEAT_DATA","HIGHRES_IMU","HIGHRES_IMU_DATA","HIGHRES_IMU_UPDATED_ABS_PRESSURE","HIGHRES_IMU_UPDATED_ALL","HIGHRES_IMU_UPDATED_DIFF_PRESSURE","HIGHRES_IMU_UPDATED_NONE","HIGHRES_IMU_UPDATED_PRESSURE_ALT","HIGHRES_IMU_UPDATED_TEMPERATURE","HIGHRES_IMU_UPDATED_XACC","HIGHRES_IMU_UPDATED_XGYRO","HIGHRES_IMU_UPDATED_XMAG","HIGHRES_IMU_UPDATED_YACC","HIGHRES_IMU_UPDATED_YGYRO","HIGHRES_IMU_UPDATED_YMAG","HIGHRES_IMU_UPDATED_ZACC","HIGHRES_IMU_UPDATED_ZGYRO","HIGHRES_IMU_UPDATED_ZMAG","HIGH_LATENCY","HIGH_LATENCY2","HIGH_LATENCY2_DATA","HIGH_LATENCY_DATA","HIL_ACTUATOR_CONTROLS","HIL_ACTUATOR_CONTROLS_DATA","HIL_CONTROLS","HIL_CONTROLS_DATA","HIL_GPS","HIL_GPS_DATA","HIL_OPTICAL_FLOW","HIL_OPTICAL_FLOW_DATA","HIL_RC_INPUTS_RAW","HIL_RC_INPUTS_RAW_DATA","HIL_SENSOR","HIL_SENSOR_DATA","HIL_SENSOR_UPDATED_ABS_PRESSURE","HIL_SENSOR_UPDATED_DIFF_PRESSURE","HIL_SENSOR_UPDATED_NONE","HIL_SENSOR_UPDATED_PRESSURE_ALT","HIL_SENSOR_UPDATED_RESET","HIL_SENSOR_UPDATED_TEMPERATURE","HIL_SENSOR_UPDATED_XACC","HIL_SENSOR_UPDATED_XGYRO","HIL_SENSOR_UPDATED_XMAG","HIL_SENSOR_UPDATED_YACC","HIL_SENSOR_UPDATED_YGYRO","HIL_SENSOR_UPDATED_YMAG","HIL_SENSOR_UPDATED_ZACC","HIL_SENSOR_UPDATED_ZGYRO","HIL_SENSOR_UPDATED_ZMAG","HIL_STATE","HIL_STATE_DATA","HIL_STATE_QUATERNION","HIL_STATE_QUATERNION_DATA","HL_FAILURE_FLAG_3D_ACCEL","HL_FAILURE_FLAG_3D_GYRO","HL_FAILURE_FLAG_3D_MAG","HL_FAILURE_FLAG_ABSOLUTE_PRESSURE","HL_FAILURE_FLAG_BATTERY","HL_FAILURE_FLAG_DIFFERENTIAL_PRESSURE","HL_FAILURE_FLAG_ENGINE","HL_FAILURE_FLAG_ESTIMATOR","HL_FAILURE_FLAG_GEOFENCE","HL_FAILURE_FLAG_GPS","HL_FAILURE_FLAG_MISSION","HL_FAILURE_FLAG_OFFBOARD_LINK","HL_FAILURE_FLAG_RC_RECEIVER","HL_FAILURE_FLAG_TERRAIN","HOME_POSITION","HOME_POSITION_DATA","HYGROMETER_SENSOR","HYGROMETER_SENSOR_DATA","HighresImuUpdatedFlags","HilSensorUpdatedFlags","HlFailureFlag","ICAO_address","ISBD_LINK_STATUS","ISBD_LINK_STATUS_DATA","LANDING_TARGET","LANDING_TARGET_DATA","LANDING_TARGET_TYPE_LIGHT_BEACON","LANDING_TARGET_TYPE_RADIO_BEACON","LANDING_TARGET_TYPE_VISION_FIDUCIAL","LANDING_TARGET_TYPE_VISION_OTHER","LINK_NODE_STATUS","LINK_NODE_STATUS_DATA","LOCAL_POSITION_NED","LOCAL_POSITION_NED_COV","LOCAL_POSITION_NED_COV_DATA","LOCAL_POSITION_NED_DATA","LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET","LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA","LOGGING_ACK","LOGGING_ACK_DATA","LOGGING_DATA","LOGGING_DATA_ACKED","LOGGING_DATA_ACKED_DATA","LOGGING_DATA_DATA","LOG_DATA","LOG_DATA_DATA","LOG_ENTRY","LOG_ENTRY_DATA","LOG_ERASE","LOG_ERASE_DATA","LOG_REQUEST_DATA","LOG_REQUEST_DATA_DATA","LOG_REQUEST_END","LOG_REQUEST_END_DATA","LOG_REQUEST_LIST","LOG_REQUEST_LIST_DATA","LandingTargetType","MAG_CAL_BAD_ORIENTATION","MAG_CAL_BAD_RADIUS","MAG_CAL_FAILED","MAG_CAL_NOT_STARTED","MAG_CAL_REPORT","MAG_CAL_REPORT_DATA","MAG_CAL_RUNNING_STEP_ONE","MAG_CAL_RUNNING_STEP_TWO","MAG_CAL_SUCCESS","MAG_CAL_WAITING_TO_START","MANUAL_CONTROL","MANUAL_CONTROL_DATA","MANUAL_SETPOINT","MANUAL_SETPOINT_DATA","MAVLINK_DATA_STREAM_IMG_BMP","MAVLINK_DATA_STREAM_IMG_JPEG","MAVLINK_DATA_STREAM_IMG_PGM","MAVLINK_DATA_STREAM_IMG_PNG","MAVLINK_DATA_STREAM_IMG_RAW32U","MAVLINK_DATA_STREAM_IMG_RAW8U","MAV_ARM_AUTH_DENIED_REASON_AIRSPACE_IN_USE","MAV_ARM_AUTH_DENIED_REASON_BAD_WEATHER","MAV_ARM_AUTH_DENIED_REASON_GENERIC","MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT","MAV_ARM_AUTH_DENIED_REASON_NONE","MAV_ARM_AUTH_DENIED_REASON_TIMEOUT","MAV_AUTOPILOT_AEROB","MAV_AUTOPILOT_AIRRAILS","MAV_AUTOPILOT_ARDUPILOTMEGA","MAV_AUTOPILOT_ARMAZILA","MAV_AUTOPILOT_ASLUAV","MAV_AUTOPILOT_AUTOQUAD","MAV_AUTOPILOT_FP","MAV_AUTOPILOT_GENERIC","MAV_AUTOPILOT_GENERIC_MISSION_FULL","MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY","MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY","MAV_AUTOPILOT_INVALID","MAV_AUTOPILOT_OPENPILOT","MAV_AUTOPILOT_PPZ","MAV_AUTOPILOT_PX4","MAV_AUTOPILOT_REFLEX","MAV_AUTOPILOT_RESERVED","MAV_AUTOPILOT_SLUGS","MAV_AUTOPILOT_SMACCMPILOT","MAV_AUTOPILOT_SMARTAP","MAV_AUTOPILOT_UDB","MAV_BATTERY_CHARGE_STATE_CHARGING","MAV_BATTERY_CHARGE_STATE_CRITICAL","MAV_BATTERY_CHARGE_STATE_EMERGENCY","MAV_BATTERY_CHARGE_STATE_FAILED","MAV_BATTERY_CHARGE_STATE_LOW","MAV_BATTERY_CHARGE_STATE_OK","MAV_BATTERY_CHARGE_STATE_UNDEFINED","MAV_BATTERY_CHARGE_STATE_UNHEALTHY","MAV_BATTERY_FAULT_CELL_FAIL","MAV_BATTERY_FAULT_DEEP_DISCHARGE","MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE","MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE","MAV_BATTERY_FAULT_OVER_CURRENT","MAV_BATTERY_FAULT_OVER_TEMPERATURE","MAV_BATTERY_FAULT_SPIKES","MAV_BATTERY_FAULT_UNDER_TEMPERATURE","MAV_BATTERY_FUNCTION_ALL","MAV_BATTERY_FUNCTION_AVIONICS","MAV_BATTERY_FUNCTION_PAYLOAD","MAV_BATTERY_FUNCTION_PROPULSION","MAV_BATTERY_FUNCTION_UNKNOWN","MAV_BATTERY_MODE_AUTO_DISCHARGING","MAV_BATTERY_MODE_HOT_SWAP","MAV_BATTERY_MODE_UNKNOWN","MAV_BATTERY_TYPE_LIFE","MAV_BATTERY_TYPE_LION","MAV_BATTERY_TYPE_LIPO","MAV_BATTERY_TYPE_NIMH","MAV_BATTERY_TYPE_UNKNOWN","MAV_CMD_ACK_ERR_ACCESS_DENIED","MAV_CMD_ACK_ERR_COORDINATES_OUT_OF_RANGE","MAV_CMD_ACK_ERR_COORDINATE_FRAME_NOT_SUPPORTED","MAV_CMD_ACK_ERR_FAIL","MAV_CMD_ACK_ERR_NOT_SUPPORTED","MAV_CMD_ACK_ERR_X_LAT_OUT_OF_RANGE","MAV_CMD_ACK_ERR_Y_LON_OUT_OF_RANGE","MAV_CMD_ACK_ERR_Z_ALT_OUT_OF_RANGE","MAV_CMD_ACK_OK","MAV_CMD_ACTUATOR_TEST","MAV_CMD_AIRFRAME_CONFIGURATION","MAV_CMD_ARM_AUTHORIZATION_REQUEST","MAV_CMD_CAMERA_STOP_TRACKING","MAV_CMD_CAMERA_TRACK_POINT","MAV_CMD_CAMERA_TRACK_RECTANGLE","MAV_CMD_CAN_FORWARD","MAV_CMD_COMPONENT_ARM_DISARM","MAV_CMD_CONDITION_CHANGE_ALT","MAV_CMD_CONDITION_DELAY","MAV_CMD_CONDITION_DISTANCE","MAV_CMD_CONDITION_GATE","MAV_CMD_CONDITION_LAST","MAV_CMD_CONDITION_YAW","MAV_CMD_CONFIGURE_ACTUATOR","MAV_CMD_CONTROL_HIGH_LATENCY","MAV_CMD_DO_ADSB_OUT_IDENT","MAV_CMD_DO_AUTOTUNE_ENABLE","MAV_CMD_DO_CHANGE_ALTITUDE","MAV_CMD_DO_CHANGE_SPEED","MAV_CMD_DO_CONTROL_VIDEO","MAV_CMD_DO_DIGICAM_CONFIGURE","MAV_CMD_DO_DIGICAM_CONTROL","MAV_CMD_DO_ENGINE_CONTROL","MAV_CMD_DO_FENCE_ENABLE","MAV_CMD_DO_FLIGHTTERMINATION","MAV_CMD_DO_FOLLOW","MAV_CMD_DO_FOLLOW_REPOSITION","MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE","MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW","MAV_CMD_DO_GO_AROUND","MAV_CMD_DO_GRIPPER","MAV_CMD_DO_GUIDED_LIMITS","MAV_CMD_DO_GUIDED_MASTER","MAV_CMD_DO_INVERTED_FLIGHT","MAV_CMD_DO_JUMP","MAV_CMD_DO_JUMP_TAG","MAV_CMD_DO_LAND_START","MAV_CMD_DO_LAST","MAV_CMD_DO_MOTOR_TEST","MAV_CMD_DO_MOUNT_CONFIGURE","MAV_CMD_DO_MOUNT_CONTROL","MAV_CMD_DO_MOUNT_CONTROL_QUAT","MAV_CMD_DO_ORBIT","MAV_CMD_DO_PARACHUTE","MAV_CMD_DO_PAUSE_CONTINUE","MAV_CMD_DO_RALLY_LAND","MAV_CMD_DO_REPEAT_RELAY","MAV_CMD_DO_REPEAT_SERVO","MAV_CMD_DO_REPOSITION","MAV_CMD_DO_SET_ACTUATOR","MAV_CMD_DO_SET_CAM_TRIGG_DIST","MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL","MAV_CMD_DO_SET_HOME","MAV_CMD_DO_SET_MISSION_CURRENT","MAV_CMD_DO_SET_MODE","MAV_CMD_DO_SET_PARAMETER","MAV_CMD_DO_SET_RELAY","MAV_CMD_DO_SET_REVERSE","MAV_CMD_DO_SET_ROI","MAV_CMD_DO_SET_ROI_LOCATION","MAV_CMD_DO_SET_ROI_NONE","MAV_CMD_DO_SET_ROI_SYSID","MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET","MAV_CMD_DO_SET_SERVO","MAV_CMD_DO_TRIGGER_CONTROL","MAV_CMD_DO_VTOL_TRANSITION","MAV_CMD_DO_WINCH","MAV_CMD_FIXED_MAG_CAL_YAW","MAV_CMD_GET_HOME_POSITION","MAV_CMD_GET_MESSAGE_INTERVAL","MAV_CMD_ILLUMINATOR_ON_OFF","MAV_CMD_IMAGE_START_CAPTURE","MAV_CMD_IMAGE_STOP_CAPTURE","MAV_CMD_INJECT_FAILURE","MAV_CMD_JUMP_TAG","MAV_CMD_LOGGING_START","MAV_CMD_LOGGING_STOP","MAV_CMD_MISSION_START","MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT","MAV_CMD_NAV_DELAY","MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION","MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION","MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION","MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION","MAV_CMD_NAV_FENCE_RETURN_POINT","MAV_CMD_NAV_FOLLOW","MAV_CMD_NAV_GUIDED_ENABLE","MAV_CMD_NAV_LAND","MAV_CMD_NAV_LAND_LOCAL","MAV_CMD_NAV_LAST","MAV_CMD_NAV_LOITER_TIME","MAV_CMD_NAV_LOITER_TO_ALT","MAV_CMD_NAV_LOITER_TURNS","MAV_CMD_NAV_LOITER_UNLIM","MAV_CMD_NAV_PATHPLANNING","MAV_CMD_NAV_PAYLOAD_PLACE","MAV_CMD_NAV_RALLY_POINT","MAV_CMD_NAV_RETURN_TO_LAUNCH","MAV_CMD_NAV_ROI","MAV_CMD_NAV_SET_YAW_SPEED","MAV_CMD_NAV_SPLINE_WAYPOINT","MAV_CMD_NAV_TAKEOFF","MAV_CMD_NAV_TAKEOFF_LOCAL","MAV_CMD_NAV_VTOL_LAND","MAV_CMD_NAV_VTOL_TAKEOFF","MAV_CMD_NAV_WAYPOINT","MAV_CMD_OBLIQUE_SURVEY","MAV_CMD_OVERRIDE_GOTO","MAV_CMD_PANORAMA_CREATE","MAV_CMD_PAYLOAD_CONTROL_DEPLOY","MAV_CMD_PAYLOAD_PREPARE_DEPLOY","MAV_CMD_PREFLIGHT_CALIBRATION","MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN","MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS","MAV_CMD_PREFLIGHT_STORAGE","MAV_CMD_PREFLIGHT_UAVCAN","MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES","MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS","MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE","MAV_CMD_REQUEST_CAMERA_INFORMATION","MAV_CMD_REQUEST_CAMERA_SETTINGS","MAV_CMD_REQUEST_FLIGHT_INFORMATION","MAV_CMD_REQUEST_MESSAGE","MAV_CMD_REQUEST_PROTOCOL_VERSION","MAV_CMD_REQUEST_STORAGE_INFORMATION","MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION","MAV_CMD_REQUEST_VIDEO_STREAM_STATUS","MAV_CMD_RESET_CAMERA_SETTINGS","MAV_CMD_RUN_PREARM_CHECKS","MAV_CMD_SET_CAMERA_FOCUS","MAV_CMD_SET_CAMERA_MODE","MAV_CMD_SET_CAMERA_ZOOM","MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE","MAV_CMD_SET_GUIDED_SUBMODE_STANDARD","MAV_CMD_SET_MESSAGE_INTERVAL","MAV_CMD_SET_STORAGE_USAGE","MAV_CMD_SPATIAL_USER_1","MAV_CMD_SPATIAL_USER_2","MAV_CMD_SPATIAL_USER_3","MAV_CMD_SPATIAL_USER_4","MAV_CMD_SPATIAL_USER_5","MAV_CMD_START_RX_PAIR","MAV_CMD_STORAGE_FORMAT","MAV_CMD_UAVCAN_GET_NODE_INFO","MAV_CMD_USER_1","MAV_CMD_USER_2","MAV_CMD_USER_3","MAV_CMD_USER_4","MAV_CMD_USER_5","MAV_CMD_VIDEO_START_CAPTURE","MAV_CMD_VIDEO_START_STREAMING","MAV_CMD_VIDEO_STOP_CAPTURE","MAV_CMD_VIDEO_STOP_STREAMING","MAV_CMD_WAYPOINT_USER_1","MAV_CMD_WAYPOINT_USER_2","MAV_CMD_WAYPOINT_USER_3","MAV_CMD_WAYPOINT_USER_4","MAV_CMD_WAYPOINT_USER_5","MAV_COLLISION_ACTION_ASCEND_OR_DESCEND","MAV_COLLISION_ACTION_HOVER","MAV_COLLISION_ACTION_MOVE_HORIZONTALLY","MAV_COLLISION_ACTION_MOVE_PERPENDICULAR","MAV_COLLISION_ACTION_NONE","MAV_COLLISION_ACTION_REPORT","MAV_COLLISION_ACTION_RTL","MAV_COLLISION_SRC_ADSB","MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT","MAV_COLLISION_THREAT_LEVEL_HIGH","MAV_COLLISION_THREAT_LEVEL_LOW","MAV_COLLISION_THREAT_LEVEL_NONE","MAV_COMP_ID_ADSB","MAV_COMP_ID_ALL","MAV_COMP_ID_AUTOPILOT1","MAV_COMP_ID_BATTERY","MAV_COMP_ID_BATTERY2","MAV_COMP_ID_CAMERA","MAV_COMP_ID_CAMERA2","MAV_COMP_ID_CAMERA3","MAV_COMP_ID_CAMERA4","MAV_COMP_ID_CAMERA5","MAV_COMP_ID_CAMERA6","MAV_COMP_ID_FLARM","MAV_COMP_ID_GIMBAL","MAV_COMP_ID_GIMBAL2","MAV_COMP_ID_GIMBAL3","MAV_COMP_ID_GIMBAL4","MAV_COMP_ID_GIMBAL5","MAV_COMP_ID_GIMBAL6","MAV_COMP_ID_GPS","MAV_COMP_ID_GPS2","MAV_COMP_ID_IMU","MAV_COMP_ID_IMU_2","MAV_COMP_ID_IMU_3","MAV_COMP_ID_LOG","MAV_COMP_ID_MAVCAN","MAV_COMP_ID_MISSIONPLANNER","MAV_COMP_ID_OBSTACLE_AVOIDANCE","MAV_COMP_ID_ODID_TXRX_1","MAV_COMP_ID_ODID_TXRX_2","MAV_COMP_ID_ODID_TXRX_3","MAV_COMP_ID_ONBOARD_COMPUTER","MAV_COMP_ID_ONBOARD_COMPUTER2","MAV_COMP_ID_ONBOARD_COMPUTER3","MAV_COMP_ID_ONBOARD_COMPUTER4","MAV_COMP_ID_OSD","MAV_COMP_ID_PAIRING_MANAGER","MAV_COMP_ID_PARACHUTE","MAV_COMP_ID_PATHPLANNER","MAV_COMP_ID_PERIPHERAL","MAV_COMP_ID_QX1_GIMBAL","MAV_COMP_ID_SERVO1","MAV_COMP_ID_SERVO10","MAV_COMP_ID_SERVO11","MAV_COMP_ID_SERVO12","MAV_COMP_ID_SERVO13","MAV_COMP_ID_SERVO14","MAV_COMP_ID_SERVO2","MAV_COMP_ID_SERVO3","MAV_COMP_ID_SERVO4","MAV_COMP_ID_SERVO5","MAV_COMP_ID_SERVO6","MAV_COMP_ID_SERVO7","MAV_COMP_ID_SERVO8","MAV_COMP_ID_SERVO9","MAV_COMP_ID_SYSTEM_CONTROL","MAV_COMP_ID_TELEMETRY_RADIO","MAV_COMP_ID_TUNNEL_NODE","MAV_COMP_ID_UART_BRIDGE","MAV_COMP_ID_UDP_BRIDGE","MAV_COMP_ID_USER1","MAV_COMP_ID_USER10","MAV_COMP_ID_USER11","MAV_COMP_ID_USER12","MAV_COMP_ID_USER13","MAV_COMP_ID_USER14","MAV_COMP_ID_USER15","MAV_COMP_ID_USER16","MAV_COMP_ID_USER17","MAV_COMP_ID_USER18","MAV_COMP_ID_USER19","MAV_COMP_ID_USER2","MAV_COMP_ID_USER20","MAV_COMP_ID_USER21","MAV_COMP_ID_USER22","MAV_COMP_ID_USER23","MAV_COMP_ID_USER24","MAV_COMP_ID_USER25","MAV_COMP_ID_USER26","MAV_COMP_ID_USER27","MAV_COMP_ID_USER28","MAV_COMP_ID_USER29","MAV_COMP_ID_USER3","MAV_COMP_ID_USER30","MAV_COMP_ID_USER31","MAV_COMP_ID_USER32","MAV_COMP_ID_USER33","MAV_COMP_ID_USER34","MAV_COMP_ID_USER35","MAV_COMP_ID_USER36","MAV_COMP_ID_USER37","MAV_COMP_ID_USER38","MAV_COMP_ID_USER39","MAV_COMP_ID_USER4","MAV_COMP_ID_USER40","MAV_COMP_ID_USER41","MAV_COMP_ID_USER42","MAV_COMP_ID_USER43","MAV_COMP_ID_USER45","MAV_COMP_ID_USER46","MAV_COMP_ID_USER47","MAV_COMP_ID_USER48","MAV_COMP_ID_USER49","MAV_COMP_ID_USER5","MAV_COMP_ID_USER50","MAV_COMP_ID_USER51","MAV_COMP_ID_USER52","MAV_COMP_ID_USER53","MAV_COMP_ID_USER54","MAV_COMP_ID_USER55","MAV_COMP_ID_USER56","MAV_COMP_ID_USER57","MAV_COMP_ID_USER58","MAV_COMP_ID_USER59","MAV_COMP_ID_USER6","MAV_COMP_ID_USER60","MAV_COMP_ID_USER61","MAV_COMP_ID_USER62","MAV_COMP_ID_USER63","MAV_COMP_ID_USER64","MAV_COMP_ID_USER65","MAV_COMP_ID_USER66","MAV_COMP_ID_USER67","MAV_COMP_ID_USER68","MAV_COMP_ID_USER69","MAV_COMP_ID_USER7","MAV_COMP_ID_USER70","MAV_COMP_ID_USER71","MAV_COMP_ID_USER72","MAV_COMP_ID_USER73","MAV_COMP_ID_USER74","MAV_COMP_ID_USER75","MAV_COMP_ID_USER8","MAV_COMP_ID_USER9","MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY","MAV_COMP_ID_WINCH","MAV_DATA_STREAM_ALL","MAV_DATA_STREAM_EXTENDED_STATUS","MAV_DATA_STREAM_EXTRA1","MAV_DATA_STREAM_EXTRA2","MAV_DATA_STREAM_EXTRA3","MAV_DATA_STREAM_POSITION","MAV_DATA_STREAM_RAW_CONTROLLER","MAV_DATA_STREAM_RAW_SENSORS","MAV_DATA_STREAM_RC_CHANNELS","MAV_DISTANCE_SENSOR_INFRARED","MAV_DISTANCE_SENSOR_LASER","MAV_DISTANCE_SENSOR_RADAR","MAV_DISTANCE_SENSOR_ULTRASOUND","MAV_DISTANCE_SENSOR_UNKNOWN","MAV_DO_REPOSITION_FLAGS_CHANGE_MODE","MAV_ESTIMATOR_TYPE_AUTOPILOT","MAV_ESTIMATOR_TYPE_GPS","MAV_ESTIMATOR_TYPE_GPS_INS","MAV_ESTIMATOR_TYPE_LIDAR","MAV_ESTIMATOR_TYPE_MOCAP","MAV_ESTIMATOR_TYPE_NAIVE","MAV_ESTIMATOR_TYPE_UNKNOWN","MAV_ESTIMATOR_TYPE_VIO","MAV_ESTIMATOR_TYPE_VISION","MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET","MAV_EVENT_ERROR_REASON_UNAVAILABLE","MAV_FRAME_BODY_FRD","MAV_FRAME_BODY_NED","MAV_FRAME_BODY_OFFSET_NED","MAV_FRAME_GLOBAL","MAV_FRAME_GLOBAL_INT","MAV_FRAME_GLOBAL_RELATIVE_ALT","MAV_FRAME_GLOBAL_RELATIVE_ALT_INT","MAV_FRAME_GLOBAL_TERRAIN_ALT","MAV_FRAME_GLOBAL_TERRAIN_ALT_INT","MAV_FRAME_LOCAL_ENU","MAV_FRAME_LOCAL_FLU","MAV_FRAME_LOCAL_FRD","MAV_FRAME_LOCAL_NED","MAV_FRAME_LOCAL_OFFSET_NED","MAV_FRAME_MISSION","MAV_FRAME_RESERVED_13","MAV_FRAME_RESERVED_14","MAV_FRAME_RESERVED_15","MAV_FRAME_RESERVED_16","MAV_FRAME_RESERVED_17","MAV_FRAME_RESERVED_18","MAV_FRAME_RESERVED_19","MAV_FTP_ERR_EOF","MAV_FTP_ERR_FAIL","MAV_FTP_ERR_FAILERRNO","MAV_FTP_ERR_FILEEXISTS","MAV_FTP_ERR_FILENOTFOUND","MAV_FTP_ERR_FILEPROTECTED","MAV_FTP_ERR_INVALIDDATASIZE","MAV_FTP_ERR_INVALIDSESSION","MAV_FTP_ERR_NONE","MAV_FTP_ERR_NOSESSIONSAVAILABLE","MAV_FTP_ERR_UNKNOWNCOMMAND","MAV_FTP_OPCODE_ACK","MAV_FTP_OPCODE_BURSTREADFILE","MAV_FTP_OPCODE_CALCFILECRC","MAV_FTP_OPCODE_CREATEDIRECTORY","MAV_FTP_OPCODE_CREATEFILE","MAV_FTP_OPCODE_LISTDIRECTORY","MAV_FTP_OPCODE_NAK","MAV_FTP_OPCODE_NONE","MAV_FTP_OPCODE_OPENFILERO","MAV_FTP_OPCODE_OPENFILEWO","MAV_FTP_OPCODE_READFILE","MAV_FTP_OPCODE_REMOVEDIRECTORY","MAV_FTP_OPCODE_REMOVEFILE","MAV_FTP_OPCODE_RENAME","MAV_FTP_OPCODE_RESETSESSION","MAV_FTP_OPCODE_TERMINATESESSION","MAV_FTP_OPCODE_TRUNCATEFILE","MAV_FTP_OPCODE_WRITEFILE","MAV_GENERATOR_STATUS_FLAG_BATTERY_OVERCHARGE_CURRENT_FAULT","MAV_GENERATOR_STATUS_FLAG_BATTERY_UNDERVOLT_FAULT","MAV_GENERATOR_STATUS_FLAG_CHARGING","MAV_GENERATOR_STATUS_FLAG_COMMUNICATION_WARNING","MAV_GENERATOR_STATUS_FLAG_COOLING_WARNING","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_FAULT","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_FAULT","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_WARNING","MAV_GENERATOR_STATUS_FLAG_GENERATING","MAV_GENERATOR_STATUS_FLAG_IDLE","MAV_GENERATOR_STATUS_FLAG_MAINTENANCE_REQUIRED","MAV_GENERATOR_STATUS_FLAG_MAXPOWER","MAV_GENERATOR_STATUS_FLAG_OFF","MAV_GENERATOR_STATUS_FLAG_OVERCURRENT_FAULT","MAV_GENERATOR_STATUS_FLAG_OVERTEMP_FAULT","MAV_GENERATOR_STATUS_FLAG_OVERTEMP_WARNING","MAV_GENERATOR_STATUS_FLAG_OVERVOLTAGE_FAULT","MAV_GENERATOR_STATUS_FLAG_POWERSOURCE_FAULT","MAV_GENERATOR_STATUS_FLAG_POWER_RAIL_FAULT","MAV_GENERATOR_STATUS_FLAG_READY","MAV_GENERATOR_STATUS_FLAG_REDUCED_POWER","MAV_GENERATOR_STATUS_FLAG_START_INHIBITED","MAV_GENERATOR_STATUS_FLAG_WARMING_UP","MAV_GOTO_DO_CONTINUE","MAV_GOTO_DO_HOLD","MAV_GOTO_HOLD_AT_CURRENT_POSITION","MAV_GOTO_HOLD_AT_SPECIFIED_POSITION","MAV_LANDED_STATE_IN_AIR","MAV_LANDED_STATE_LANDING","MAV_LANDED_STATE_ON_GROUND","MAV_LANDED_STATE_TAKEOFF","MAV_LANDED_STATE_UNDEFINED","MAV_MISSION_ACCEPTED","MAV_MISSION_DENIED","MAV_MISSION_ERROR","MAV_MISSION_INVALID","MAV_MISSION_INVALID_PARAM1","MAV_MISSION_INVALID_PARAM2","MAV_MISSION_INVALID_PARAM3","MAV_MISSION_INVALID_PARAM4","MAV_MISSION_INVALID_PARAM5_X","MAV_MISSION_INVALID_PARAM6_Y","MAV_MISSION_INVALID_PARAM7","MAV_MISSION_INVALID_SEQUENCE","MAV_MISSION_NO_SPACE","MAV_MISSION_OPERATION_CANCELLED","MAV_MISSION_TYPE_ALL","MAV_MISSION_TYPE_FENCE","MAV_MISSION_TYPE_MISSION","MAV_MISSION_TYPE_RALLY","MAV_MISSION_UNSUPPORTED","MAV_MISSION_UNSUPPORTED_FRAME","MAV_MODE_AUTO_ARMED","MAV_MODE_AUTO_DISARMED","MAV_MODE_FLAG_AUTO_ENABLED","MAV_MODE_FLAG_CUSTOM_MODE_ENABLED","MAV_MODE_FLAG_DECODE_POSITION_AUTO","MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE","MAV_MODE_FLAG_DECODE_POSITION_GUIDED","MAV_MODE_FLAG_DECODE_POSITION_HIL","MAV_MODE_FLAG_DECODE_POSITION_MANUAL","MAV_MODE_FLAG_DECODE_POSITION_SAFETY","MAV_MODE_FLAG_DECODE_POSITION_STABILIZE","MAV_MODE_FLAG_DECODE_POSITION_TEST","MAV_MODE_FLAG_GUIDED_ENABLED","MAV_MODE_FLAG_HIL_ENABLED","MAV_MODE_FLAG_MANUAL_INPUT_ENABLED","MAV_MODE_FLAG_SAFETY_ARMED","MAV_MODE_FLAG_STABILIZE_ENABLED","MAV_MODE_FLAG_TEST_ENABLED","MAV_MODE_GUIDED_ARMED","MAV_MODE_GUIDED_DISARMED","MAV_MODE_MANUAL_ARMED","MAV_MODE_MANUAL_DISARMED","MAV_MODE_PREFLIGHT","MAV_MODE_STABILIZE_ARMED","MAV_MODE_STABILIZE_DISARMED","MAV_MODE_TEST_ARMED","MAV_MODE_TEST_DISARMED","MAV_MOUNT_MODE_GPS_POINT","MAV_MOUNT_MODE_HOME_LOCATION","MAV_MOUNT_MODE_MAVLINK_TARGETING","MAV_MOUNT_MODE_NEUTRAL","MAV_MOUNT_MODE_RC_TARGETING","MAV_MOUNT_MODE_RETRACT","MAV_MOUNT_MODE_SYSID_TARGET","MAV_ODID_ARM_STATUS_GOOD_TO_ARM","MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC","MAV_ODID_AUTH_TYPE_MESSAGE_SET_SIGNATURE","MAV_ODID_AUTH_TYPE_NETWORK_REMOTE_ID","MAV_ODID_AUTH_TYPE_NONE","MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE","MAV_ODID_AUTH_TYPE_SPECIFIC_AUTHENTICATION","MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE","MAV_ODID_CATEGORY_EU_CERTIFIED","MAV_ODID_CATEGORY_EU_OPEN","MAV_ODID_CATEGORY_EU_SPECIFIC","MAV_ODID_CATEGORY_EU_UNDECLARED","MAV_ODID_CLASSIFICATION_TYPE_EU","MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED","MAV_ODID_CLASS_EU_CLASS_0","MAV_ODID_CLASS_EU_CLASS_1","MAV_ODID_CLASS_EU_CLASS_2","MAV_ODID_CLASS_EU_CLASS_3","MAV_ODID_CLASS_EU_CLASS_4","MAV_ODID_CLASS_EU_CLASS_5","MAV_ODID_CLASS_EU_CLASS_6","MAV_ODID_CLASS_EU_UNDECLARED","MAV_ODID_DESC_TYPE_EMERGENCY","MAV_ODID_DESC_TYPE_EXTENDED_STATUS","MAV_ODID_DESC_TYPE_TEXT","MAV_ODID_HEIGHT_REF_OVER_GROUND","MAV_ODID_HEIGHT_REF_OVER_TAKEOFF","MAV_ODID_HOR_ACC_0_05NM","MAV_ODID_HOR_ACC_0_1NM","MAV_ODID_HOR_ACC_0_3NM","MAV_ODID_HOR_ACC_0_5NM","MAV_ODID_HOR_ACC_10NM","MAV_ODID_HOR_ACC_10_METER","MAV_ODID_HOR_ACC_1NM","MAV_ODID_HOR_ACC_1_METER","MAV_ODID_HOR_ACC_2NM","MAV_ODID_HOR_ACC_30_METER","MAV_ODID_HOR_ACC_3_METER","MAV_ODID_HOR_ACC_4NM","MAV_ODID_HOR_ACC_UNKNOWN","MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID","MAV_ODID_ID_TYPE_NONE","MAV_ODID_ID_TYPE_SERIAL_NUMBER","MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID","MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID","MAV_ODID_OPERATOR_ID_TYPE_CAA","MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED","MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS","MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF","MAV_ODID_SPEED_ACC_0_3_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_1_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_UNKNOWN","MAV_ODID_STATUS_AIRBORNE","MAV_ODID_STATUS_EMERGENCY","MAV_ODID_STATUS_GROUND","MAV_ODID_STATUS_REMOTE_ID_SYSTEM_FAILURE","MAV_ODID_STATUS_UNDECLARED","MAV_ODID_TIME_ACC_0_1_SECOND","MAV_ODID_TIME_ACC_0_2_SECOND","MAV_ODID_TIME_ACC_0_3_SECOND","MAV_ODID_TIME_ACC_0_4_SECOND","MAV_ODID_TIME_ACC_0_5_SECOND","MAV_ODID_TIME_ACC_0_6_SECOND","MAV_ODID_TIME_ACC_0_7_SECOND","MAV_ODID_TIME_ACC_0_8_SECOND","MAV_ODID_TIME_ACC_0_9_SECOND","MAV_ODID_TIME_ACC_1_0_SECOND","MAV_ODID_TIME_ACC_1_1_SECOND","MAV_ODID_TIME_ACC_1_2_SECOND","MAV_ODID_TIME_ACC_1_3_SECOND","MAV_ODID_TIME_ACC_1_4_SECOND","MAV_ODID_TIME_ACC_1_5_SECOND","MAV_ODID_TIME_ACC_UNKNOWN","MAV_ODID_UA_TYPE_AEROPLANE","MAV_ODID_UA_TYPE_AIRSHIP","MAV_ODID_UA_TYPE_CAPTIVE_BALLOON","MAV_ODID_UA_TYPE_FREE_BALLOON","MAV_ODID_UA_TYPE_FREE_FALL_PARACHUTE","MAV_ODID_UA_TYPE_GLIDER","MAV_ODID_UA_TYPE_GROUND_OBSTACLE","MAV_ODID_UA_TYPE_GYROPLANE","MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR","MAV_ODID_UA_TYPE_HYBRID_LIFT","MAV_ODID_UA_TYPE_KITE","MAV_ODID_UA_TYPE_NONE","MAV_ODID_UA_TYPE_ORNITHOPTER","MAV_ODID_UA_TYPE_OTHER","MAV_ODID_UA_TYPE_ROCKET","MAV_ODID_UA_TYPE_TETHERED_POWERED_AIRCRAFT","MAV_ODID_VER_ACC_10_METER","MAV_ODID_VER_ACC_150_METER","MAV_ODID_VER_ACC_1_METER","MAV_ODID_VER_ACC_25_METER","MAV_ODID_VER_ACC_3_METER","MAV_ODID_VER_ACC_45_METER","MAV_ODID_VER_ACC_UNKNOWN","MAV_PARAM_EXT_TYPE_CUSTOM","MAV_PARAM_EXT_TYPE_INT16","MAV_PARAM_EXT_TYPE_INT32","MAV_PARAM_EXT_TYPE_INT64","MAV_PARAM_EXT_TYPE_INT8","MAV_PARAM_EXT_TYPE_REAL32","MAV_PARAM_EXT_TYPE_REAL64","MAV_PARAM_EXT_TYPE_UINT16","MAV_PARAM_EXT_TYPE_UINT32","MAV_PARAM_EXT_TYPE_UINT64","MAV_PARAM_EXT_TYPE_UINT8","MAV_PARAM_TYPE_INT16","MAV_PARAM_TYPE_INT32","MAV_PARAM_TYPE_INT64","MAV_PARAM_TYPE_INT8","MAV_PARAM_TYPE_REAL32","MAV_PARAM_TYPE_REAL64","MAV_PARAM_TYPE_UINT16","MAV_PARAM_TYPE_UINT32","MAV_PARAM_TYPE_UINT64","MAV_PARAM_TYPE_UINT8","MAV_POWER_STATUS_BRICK_VALID","MAV_POWER_STATUS_CHANGED","MAV_POWER_STATUS_PERIPH_HIPOWER_OVERCURRENT","MAV_POWER_STATUS_PERIPH_OVERCURRENT","MAV_POWER_STATUS_SERVO_VALID","MAV_POWER_STATUS_USB_CONNECTED","MAV_PROTOCOL_CAPABILITY_COMMAND_INT","MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION","MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION","MAV_PROTOCOL_CAPABILITY_FTP","MAV_PROTOCOL_CAPABILITY_MAVLINK2","MAV_PROTOCOL_CAPABILITY_MISSION_FENCE","MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT","MAV_PROTOCOL_CAPABILITY_MISSION_INT","MAV_PROTOCOL_CAPABILITY_MISSION_RALLY","MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE","MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST","MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT","MAV_PROTOCOL_CAPABILITY_RESERVED2","MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET","MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET","MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT","MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED","MAV_PROTOCOL_CAPABILITY_TERRAIN","MAV_RESULT_ACCEPTED","MAV_RESULT_CANCELLED","MAV_RESULT_DENIED","MAV_RESULT_FAILED","MAV_RESULT_IN_PROGRESS","MAV_RESULT_TEMPORARILY_REJECTED","MAV_RESULT_UNSUPPORTED","MAV_ROI_LOCATION","MAV_ROI_NONE","MAV_ROI_TARGET","MAV_ROI_WPINDEX","MAV_ROI_WPNEXT","MAV_SENSOR_ROTATION_CUSTOM","MAV_SENSOR_ROTATION_NONE","MAV_SENSOR_ROTATION_PITCH_180","MAV_SENSOR_ROTATION_PITCH_180_YAW_270","MAV_SENSOR_ROTATION_PITCH_180_YAW_90","MAV_SENSOR_ROTATION_PITCH_270","MAV_SENSOR_ROTATION_PITCH_315","MAV_SENSOR_ROTATION_PITCH_90","MAV_SENSOR_ROTATION_ROLL_180","MAV_SENSOR_ROTATION_ROLL_180_PITCH_270","MAV_SENSOR_ROTATION_ROLL_180_PITCH_90","MAV_SENSOR_ROTATION_ROLL_180_YAW_135","MAV_SENSOR_ROTATION_ROLL_180_YAW_225","MAV_SENSOR_ROTATION_ROLL_180_YAW_270","MAV_SENSOR_ROTATION_ROLL_180_YAW_315","MAV_SENSOR_ROTATION_ROLL_180_YAW_45","MAV_SENSOR_ROTATION_ROLL_180_YAW_90","MAV_SENSOR_ROTATION_ROLL_270","MAV_SENSOR_ROTATION_ROLL_270_PITCH_180","MAV_SENSOR_ROTATION_ROLL_270_PITCH_270","MAV_SENSOR_ROTATION_ROLL_270_PITCH_90","MAV_SENSOR_ROTATION_ROLL_270_YAW_135","MAV_SENSOR_ROTATION_ROLL_270_YAW_45","MAV_SENSOR_ROTATION_ROLL_270_YAW_90","MAV_SENSOR_ROTATION_ROLL_90","MAV_SENSOR_ROTATION_ROLL_90_PITCH_180","MAV_SENSOR_ROTATION_ROLL_90_PITCH_180_YAW_90","MAV_SENSOR_ROTATION_ROLL_90_PITCH_270","MAV_SENSOR_ROTATION_ROLL_90_PITCH_315","MAV_SENSOR_ROTATION_ROLL_90_PITCH_68_YAW_293","MAV_SENSOR_ROTATION_ROLL_90_PITCH_90","MAV_SENSOR_ROTATION_ROLL_90_YAW_135","MAV_SENSOR_ROTATION_ROLL_90_YAW_270","MAV_SENSOR_ROTATION_ROLL_90_YAW_45","MAV_SENSOR_ROTATION_ROLL_90_YAW_90","MAV_SENSOR_ROTATION_YAW_135","MAV_SENSOR_ROTATION_YAW_180","MAV_SENSOR_ROTATION_YAW_225","MAV_SENSOR_ROTATION_YAW_270","MAV_SENSOR_ROTATION_YAW_315","MAV_SENSOR_ROTATION_YAW_45","MAV_SENSOR_ROTATION_YAW_90","MAV_SEVERITY_ALERT","MAV_SEVERITY_CRITICAL","MAV_SEVERITY_DEBUG","MAV_SEVERITY_EMERGENCY","MAV_SEVERITY_ERROR","MAV_SEVERITY_INFO","MAV_SEVERITY_NOTICE","MAV_SEVERITY_WARNING","MAV_STATE_ACTIVE","MAV_STATE_BOOT","MAV_STATE_CALIBRATING","MAV_STATE_CRITICAL","MAV_STATE_EMERGENCY","MAV_STATE_FLIGHT_TERMINATION","MAV_STATE_POWEROFF","MAV_STATE_STANDBY","MAV_STATE_UNINIT","MAV_SYS_STATUS_AHRS","MAV_SYS_STATUS_EXTENSION_USED","MAV_SYS_STATUS_GEOFENCE","MAV_SYS_STATUS_LOGGING","MAV_SYS_STATUS_OBSTACLE_AVOIDANCE","MAV_SYS_STATUS_PREARM_CHECK","MAV_SYS_STATUS_RECOVERY_SYSTEM","MAV_SYS_STATUS_REVERSE_MOTOR","MAV_SYS_STATUS_SENSOR_3D_ACCEL","MAV_SYS_STATUS_SENSOR_3D_ACCEL2","MAV_SYS_STATUS_SENSOR_3D_GYRO","MAV_SYS_STATUS_SENSOR_3D_GYRO2","MAV_SYS_STATUS_SENSOR_3D_MAG","MAV_SYS_STATUS_SENSOR_3D_MAG2","MAV_SYS_STATUS_SENSOR_ABSOLUTE_PRESSURE","MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL","MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION","MAV_SYS_STATUS_SENSOR_BATTERY","MAV_SYS_STATUS_SENSOR_DIFFERENTIAL_PRESSURE","MAV_SYS_STATUS_SENSOR_EXTERNAL_GROUND_TRUTH","MAV_SYS_STATUS_SENSOR_GPS","MAV_SYS_STATUS_SENSOR_LASER_POSITION","MAV_SYS_STATUS_SENSOR_MOTOR_OUTPUTS","MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW","MAV_SYS_STATUS_SENSOR_PROPULSION","MAV_SYS_STATUS_SENSOR_PROXIMITY","MAV_SYS_STATUS_SENSOR_RC_RECEIVER","MAV_SYS_STATUS_SENSOR_SATCOM","MAV_SYS_STATUS_SENSOR_VISION_POSITION","MAV_SYS_STATUS_SENSOR_XY_POSITION_CONTROL","MAV_SYS_STATUS_SENSOR_YAW_POSITION","MAV_SYS_STATUS_SENSOR_Z_ALTITUDE_CONTROL","MAV_SYS_STATUS_TERRAIN","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED2","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED3","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED4","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED5","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED6","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED7","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED8","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED9","MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN","MAV_TYPE_ADSB","MAV_TYPE_AIRSHIP","MAV_TYPE_ANTENNA_TRACKER","MAV_TYPE_BATTERY","MAV_TYPE_CAMERA","MAV_TYPE_CHARGING_STATION","MAV_TYPE_COAXIAL","MAV_TYPE_DECAROTOR","MAV_TYPE_DODECAROTOR","MAV_TYPE_FIXED_WING","MAV_TYPE_FLAPPING_WING","MAV_TYPE_FLARM","MAV_TYPE_FREE_BALLOON","MAV_TYPE_GCS","MAV_TYPE_GENERIC","MAV_TYPE_GIMBAL","MAV_TYPE_GPS","MAV_TYPE_GROUND_ROVER","MAV_TYPE_HELICOPTER","MAV_TYPE_HEXAROTOR","MAV_TYPE_IMU","MAV_TYPE_KITE","MAV_TYPE_LOG","MAV_TYPE_OCTOROTOR","MAV_TYPE_ODID","MAV_TYPE_ONBOARD_CONTROLLER","MAV_TYPE_OSD","MAV_TYPE_PARACHUTE","MAV_TYPE_PARAFOIL","MAV_TYPE_QUADROTOR","MAV_TYPE_ROCKET","MAV_TYPE_SERVO","MAV_TYPE_SUBMARINE","MAV_TYPE_SURFACE_BOAT","MAV_TYPE_TRICOPTER","MAV_TYPE_VTOL_FIXEDROTOR","MAV_TYPE_VTOL_RESERVED5","MAV_TYPE_VTOL_TAILSITTER","MAV_TYPE_VTOL_TAILSITTER_DUOROTOR","MAV_TYPE_VTOL_TAILSITTER_QUADROTOR","MAV_TYPE_VTOL_TILTROTOR","MAV_TYPE_VTOL_TILTWING","MAV_TYPE_WINCH","MAV_VTOL_STATE_FW","MAV_VTOL_STATE_MC","MAV_VTOL_STATE_TRANSITION_TO_FW","MAV_VTOL_STATE_TRANSITION_TO_MC","MAV_VTOL_STATE_UNDEFINED","MAV_WINCH_STATUS_ABANDON_LINE","MAV_WINCH_STATUS_ARRESTING","MAV_WINCH_STATUS_CLUTCH_ENGAGED","MAV_WINCH_STATUS_DROPPING","MAV_WINCH_STATUS_FULLY_RETRACTED","MAV_WINCH_STATUS_GROUND_SENSE","MAV_WINCH_STATUS_HEALTHY","MAV_WINCH_STATUS_LOAD_LINE","MAV_WINCH_STATUS_LOAD_PAYLOAD","MAV_WINCH_STATUS_LOCKED","MAV_WINCH_STATUS_LOCKING","MAV_WINCH_STATUS_MOVING","MAV_WINCH_STATUS_REDELIVER","MAV_WINCH_STATUS_RETRACTING","MEMORY_VECT","MEMORY_VECT_DATA","MESSAGE_INTERVAL","MESSAGE_INTERVAL_DATA","MISSION_ACK","MISSION_ACK_DATA","MISSION_CLEAR_ALL","MISSION_CLEAR_ALL_DATA","MISSION_COUNT","MISSION_COUNT_DATA","MISSION_CURRENT","MISSION_CURRENT_DATA","MISSION_ITEM","MISSION_ITEM_DATA","MISSION_ITEM_INT","MISSION_ITEM_INT_DATA","MISSION_ITEM_REACHED","MISSION_ITEM_REACHED_DATA","MISSION_READ_PERSISTENT","MISSION_REQUEST","MISSION_REQUEST_DATA","MISSION_REQUEST_INT","MISSION_REQUEST_INT_DATA","MISSION_REQUEST_LIST","MISSION_REQUEST_LIST_DATA","MISSION_REQUEST_PARTIAL_LIST","MISSION_REQUEST_PARTIAL_LIST_DATA","MISSION_RESET_DEFAULT","MISSION_SET_CURRENT","MISSION_SET_CURRENT_DATA","MISSION_STATE_ACTIVE","MISSION_STATE_COMPLETE","MISSION_STATE_NOT_STARTED","MISSION_STATE_NO_MISSION","MISSION_STATE_PAUSED","MISSION_STATE_UNKNOWN","MISSION_WRITE_PARTIAL_LIST","MISSION_WRITE_PARTIAL_LIST_DATA","MISSION_WRITE_PERSISTENT","MMSI","MOTOR_TEST_COMPASS_CAL","MOTOR_TEST_ORDER_BOARD","MOTOR_TEST_ORDER_DEFAULT","MOTOR_TEST_ORDER_SEQUENCE","MOTOR_TEST_THROTTLE_PERCENT","MOTOR_TEST_THROTTLE_PILOT","MOTOR_TEST_THROTTLE_PWM","MOUNT_ORIENTATION","MOUNT_ORIENTATION_DATA","MagCalStatus","MavArmAuthDeniedReason","MavAutopilot","MavBatteryChargeState","MavBatteryFault","MavBatteryFunction","MavBatteryMode","MavBatteryType","MavCmd","MavCmdAck","MavCollisionAction","MavCollisionSrc","MavCollisionThreatLevel","MavComponent","MavDataStream","MavDistanceSensor","MavDoRepositionFlags","MavEstimatorType","MavEventCurrentSequenceFlags","MavEventErrorReason","MavFrame","MavFtpErr","MavFtpOpcode","MavGeneratorStatusFlag","MavGoto","MavLandedState","MavMessage","MavMissionResult","MavMissionType","MavMode","MavModeFlag","MavModeFlagDecodePosition","MavMountMode","MavOdidArmStatus","MavOdidAuthType","MavOdidCategoryEu","MavOdidClassEu","MavOdidClassificationType","MavOdidDescType","MavOdidHeightRef","MavOdidHorAcc","MavOdidIdType","MavOdidOperatorIdType","MavOdidOperatorLocationType","MavOdidSpeedAcc","MavOdidStatus","MavOdidTimeAcc","MavOdidUaType","MavOdidVerAcc","MavParamExtType","MavParamType","MavPowerStatus","MavProtocolCapability","MavResult","MavRoi","MavSensorOrientation","MavSeverity","MavState","MavSysStatusSensor","MavSysStatusSensorExtended","MavTunnelPayloadType","MavType","MavVtolState","MavWinchStatusFlag","MavlinkDataStreamType","MissionState","MotorTestOrder","MotorTestThrottleType","NAMED_VALUE_FLOAT","NAMED_VALUE_FLOAT_DATA","NAMED_VALUE_INT","NAMED_VALUE_INT_DATA","NAV_CONTROLLER_OUTPUT","NAV_CONTROLLER_OUTPUT_DATA","NAV_VTOL_LAND_OPTIONS_DEFAULT","NAV_VTOL_LAND_OPTIONS_FW_DESCENT","NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT","NavVtolLandOptions","OBSTACLE_DISTANCE","OBSTACLE_DISTANCE_DATA","ODOMETRY","ODOMETRY_DATA","ONBOARD_COMPUTER_STATUS","ONBOARD_COMPUTER_STATUS_DATA","OPEN_DRONE_ID_ARM_STATUS","OPEN_DRONE_ID_ARM_STATUS_DATA","OPEN_DRONE_ID_AUTHENTICATION","OPEN_DRONE_ID_AUTHENTICATION_DATA","OPEN_DRONE_ID_BASIC_ID","OPEN_DRONE_ID_BASIC_ID_DATA","OPEN_DRONE_ID_LOCATION","OPEN_DRONE_ID_LOCATION_DATA","OPEN_DRONE_ID_MESSAGE_PACK","OPEN_DRONE_ID_MESSAGE_PACK_DATA","OPEN_DRONE_ID_OPERATOR_ID","OPEN_DRONE_ID_OPERATOR_ID_DATA","OPEN_DRONE_ID_SELF_ID","OPEN_DRONE_ID_SELF_ID_DATA","OPEN_DRONE_ID_SYSTEM","OPEN_DRONE_ID_SYSTEM_DATA","OPEN_DRONE_ID_SYSTEM_UPDATE","OPEN_DRONE_ID_SYSTEM_UPDATE_DATA","OPTICAL_FLOW","OPTICAL_FLOW_DATA","OPTICAL_FLOW_RAD","OPTICAL_FLOW_RAD_DATA","ORBIT_EXECUTION_STATUS","ORBIT_EXECUTION_STATUS_DATA","ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE","ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER","ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING","ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED","ORBIT_YAW_BEHAVIOUR_UNCONTROLLED","OrbitYawBehaviour","PARACHUTE_DISABLE","PARACHUTE_ENABLE","PARACHUTE_RELEASE","PARAM_ACK_ACCEPTED","PARAM_ACK_FAILED","PARAM_ACK_IN_PROGRESS","PARAM_ACK_VALUE_UNSUPPORTED","PARAM_EXT_ACK","PARAM_EXT_ACK_DATA","PARAM_EXT_REQUEST_LIST","PARAM_EXT_REQUEST_LIST_DATA","PARAM_EXT_REQUEST_READ","PARAM_EXT_REQUEST_READ_DATA","PARAM_EXT_SET","PARAM_EXT_SET_DATA","PARAM_EXT_VALUE","PARAM_EXT_VALUE_DATA","PARAM_MAP_RC","PARAM_MAP_RC_DATA","PARAM_READ_PERSISTENT","PARAM_REQUEST_LIST","PARAM_REQUEST_LIST_DATA","PARAM_REQUEST_READ","PARAM_REQUEST_READ_DATA","PARAM_RESET_ALL_DEFAULT","PARAM_RESET_CONFIG_DEFAULT","PARAM_RESET_SENSOR_DEFAULT","PARAM_SET","PARAM_SET_DATA","PARAM_VALUE","PARAM_VALUE_DATA","PARAM_WRITE_PERSISTENT","PING","PING_DATA","PLAY_TUNE","PLAY_TUNE_DATA","PLAY_TUNE_V2","PLAY_TUNE_V2_DATA","POSITION_TARGET_GLOBAL_INT","POSITION_TARGET_GLOBAL_INT_DATA","POSITION_TARGET_LOCAL_NED","POSITION_TARGET_LOCAL_NED_DATA","POSITION_TARGET_TYPEMASK_AX_IGNORE","POSITION_TARGET_TYPEMASK_AY_IGNORE","POSITION_TARGET_TYPEMASK_AZ_IGNORE","POSITION_TARGET_TYPEMASK_FORCE_SET","POSITION_TARGET_TYPEMASK_VX_IGNORE","POSITION_TARGET_TYPEMASK_VY_IGNORE","POSITION_TARGET_TYPEMASK_VZ_IGNORE","POSITION_TARGET_TYPEMASK_X_IGNORE","POSITION_TARGET_TYPEMASK_YAW_IGNORE","POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE","POSITION_TARGET_TYPEMASK_Y_IGNORE","POSITION_TARGET_TYPEMASK_Z_IGNORE","POWER_STATUS","POWER_STATUS_DATA","PRECISION_LAND_MODE_DISABLED","PRECISION_LAND_MODE_OPPORTUNISTIC","PRECISION_LAND_MODE_REQUIRED","PROTOCOL_VERSION","PROTOCOL_VERSION_DATA","ParachuteAction","ParamAck","PositionTargetTypemask","PrecisionLandMode","PreflightStorageMissionAction","PreflightStorageParameterAction","RADIO_STATUS","RADIO_STATUS_DATA","RAW_IMU","RAW_IMU_DATA","RAW_PRESSURE","RAW_PRESSURE_DATA","RAW_RPM","RAW_RPM_DATA","RC_CHANNELS","RC_CHANNELS_DATA","RC_CHANNELS_OVERRIDE","RC_CHANNELS_OVERRIDE_DATA","RC_CHANNELS_RAW","RC_CHANNELS_RAW_DATA","RC_CHANNELS_SCALED","RC_CHANNELS_SCALED_DATA","RC_TYPE_SPEKTRUM_DSM2","RC_TYPE_SPEKTRUM_DSMX","REQUEST_DATA_STREAM","REQUEST_DATA_STREAM_DATA","REQUEST_EVENT","REQUEST_EVENT_DATA","RESOURCE_REQUEST","RESOURCE_REQUEST_DATA","RESPONSE_EVENT_ERROR","RESPONSE_EVENT_ERROR_DATA","RTK_BASELINE_COORDINATE_SYSTEM_ECEF","RTK_BASELINE_COORDINATE_SYSTEM_NED","RcType","RtkBaselineCoordinateSystem","SAFETY_ALLOWED_AREA","SAFETY_ALLOWED_AREA_DATA","SAFETY_SET_ALLOWED_AREA","SAFETY_SET_ALLOWED_AREA_DATA","SCALED_IMU","SCALED_IMU2","SCALED_IMU2_DATA","SCALED_IMU3","SCALED_IMU3_DATA","SCALED_IMU_DATA","SCALED_PRESSURE","SCALED_PRESSURE2","SCALED_PRESSURE2_DATA","SCALED_PRESSURE3","SCALED_PRESSURE3_DATA","SCALED_PRESSURE_DATA","SERIAL_CONTROL","SERIAL_CONTROL_DATA","SERIAL_CONTROL_DEV_GPS1","SERIAL_CONTROL_DEV_GPS2","SERIAL_CONTROL_DEV_SHELL","SERIAL_CONTROL_DEV_TELEM1","SERIAL_CONTROL_DEV_TELEM2","SERIAL_CONTROL_FLAG_BLOCKING","SERIAL_CONTROL_FLAG_EXCLUSIVE","SERIAL_CONTROL_FLAG_MULTI","SERIAL_CONTROL_FLAG_REPLY","SERIAL_CONTROL_FLAG_RESPOND","SERIAL_CONTROL_SERIAL0","SERIAL_CONTROL_SERIAL1","SERIAL_CONTROL_SERIAL2","SERIAL_CONTROL_SERIAL3","SERIAL_CONTROL_SERIAL4","SERIAL_CONTROL_SERIAL5","SERIAL_CONTROL_SERIAL6","SERIAL_CONTROL_SERIAL7","SERIAL_CONTROL_SERIAL8","SERIAL_CONTROL_SERIAL9","SERVO_OUTPUT_RAW","SERVO_OUTPUT_RAW_DATA","SETUP_SIGNING","SETUP_SIGNING_DATA","SET_ACTUATOR_CONTROL_TARGET","SET_ACTUATOR_CONTROL_TARGET_DATA","SET_ATTITUDE_TARGET","SET_ATTITUDE_TARGET_DATA","SET_GPS_GLOBAL_ORIGIN","SET_GPS_GLOBAL_ORIGIN_DATA","SET_HOME_POSITION","SET_HOME_POSITION_DATA","SET_MODE","SET_MODE_DATA","SET_POSITION_TARGET_GLOBAL_INT","SET_POSITION_TARGET_GLOBAL_INT_DATA","SET_POSITION_TARGET_LOCAL_NED","SET_POSITION_TARGET_LOCAL_NED_DATA","SIM_STATE","SIM_STATE_DATA","SMART_BATTERY_INFO","SMART_BATTERY_INFO_DATA","STATUSTEXT","STATUSTEXT_DATA","STORAGE_INFORMATION","STORAGE_INFORMATION_DATA","STORAGE_STATUS_EMPTY","STORAGE_STATUS_NOT_SUPPORTED","STORAGE_STATUS_READY","STORAGE_STATUS_UNFORMATTED","STORAGE_TYPE_CF","STORAGE_TYPE_CFE","STORAGE_TYPE_HD","STORAGE_TYPE_MICROSD","STORAGE_TYPE_OTHER","STORAGE_TYPE_SD","STORAGE_TYPE_UNKNOWN","STORAGE_TYPE_USB_STICK","STORAGE_TYPE_XQD","STORAGE_USAGE_FLAG_LOGS","STORAGE_USAGE_FLAG_PHOTO","STORAGE_USAGE_FLAG_SET","STORAGE_USAGE_FLAG_VIDEO","SUPPORTED_TUNES","SUPPORTED_TUNES_DATA","SYSTEM_TIME","SYSTEM_TIME_DATA","SYS_STATUS","SYS_STATUS_DATA","SerialControlDev","SerialControlFlag","SetFocusType","StorageStatus","StorageType","StorageUsageFlag","TERRAIN_CHECK","TERRAIN_CHECK_DATA","TERRAIN_DATA","TERRAIN_DATA_DATA","TERRAIN_REPORT","TERRAIN_REPORT_DATA","TERRAIN_REQUEST","TERRAIN_REQUEST_DATA","TIMESYNC","TIMESYNC_DATA","TIME_ESTIMATE_TO_TARGET","TIME_ESTIMATE_TO_TARGET_DATA","TRAJECTORY_REPRESENTATION_BEZIER","TRAJECTORY_REPRESENTATION_BEZIER_DATA","TRAJECTORY_REPRESENTATION_WAYPOINTS","TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA","TUNE_FORMAT_MML_MODERN","TUNE_FORMAT_QBASIC1_1","TUNNEL","TUNNEL_DATA","TuneFormat","UAVCAN_NODE_HEALTH_CRITICAL","UAVCAN_NODE_HEALTH_ERROR","UAVCAN_NODE_HEALTH_OK","UAVCAN_NODE_HEALTH_WARNING","UAVCAN_NODE_INFO","UAVCAN_NODE_INFO_DATA","UAVCAN_NODE_MODE_INITIALIZATION","UAVCAN_NODE_MODE_MAINTENANCE","UAVCAN_NODE_MODE_OFFLINE","UAVCAN_NODE_MODE_OPERATIONAL","UAVCAN_NODE_MODE_SOFTWARE_UPDATE","UAVCAN_NODE_STATUS","UAVCAN_NODE_STATUS_DATA","UNDER_WAY","UTM_DATA_AVAIL_FLAGS_ALTITUDE_AVAILABLE","UTM_DATA_AVAIL_FLAGS_HORIZONTAL_VELO_AVAILABLE","UTM_DATA_AVAIL_FLAGS_NEXT_WAYPOINT_AVAILABLE","UTM_DATA_AVAIL_FLAGS_POSITION_AVAILABLE","UTM_DATA_AVAIL_FLAGS_RELATIVE_ALTITUDE_AVAILABLE","UTM_DATA_AVAIL_FLAGS_TIME_VALID","UTM_DATA_AVAIL_FLAGS_UAS_ID_AVAILABLE","UTM_DATA_AVAIL_FLAGS_VERTICAL_VELO_AVAILABLE","UTM_FLIGHT_STATE_AIRBORNE","UTM_FLIGHT_STATE_EMERGENCY","UTM_FLIGHT_STATE_GROUND","UTM_FLIGHT_STATE_NOCTRL","UTM_FLIGHT_STATE_UNKNOWN","UTM_GLOBAL_POSITION","UTM_GLOBAL_POSITION_DATA","UavcanNodeHealth","UavcanNodeMode","UtmDataAvailFlags","UtmFlightState","V2_EXTENSION","V2_EXTENSION_DATA","VFR_HUD","VFR_HUD_DATA","VIBRATION","VIBRATION_DATA","VICON_POSITION_ESTIMATE","VICON_POSITION_ESTIMATE_DATA","VIDEO_STREAM_INFORMATION","VIDEO_STREAM_INFORMATION_DATA","VIDEO_STREAM_STATUS","VIDEO_STREAM_STATUS_DATA","VIDEO_STREAM_STATUS_FLAGS_RUNNING","VIDEO_STREAM_STATUS_FLAGS_THERMAL","VIDEO_STREAM_TYPE_MPEG_TS_H264","VIDEO_STREAM_TYPE_RTPUDP","VIDEO_STREAM_TYPE_RTSP","VIDEO_STREAM_TYPE_TCP_MPEG","VISION_POSITION_ESTIMATE","VISION_POSITION_ESTIMATE_DATA","VISION_SPEED_ESTIMATE","VISION_SPEED_ESTIMATE_DATA","VTOL_TRANSITION_HEADING_ANY","VTOL_TRANSITION_HEADING_NEXT_WAYPOINT","VTOL_TRANSITION_HEADING_SPECIFIED","VTOL_TRANSITION_HEADING_TAKEOFF","VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT","Vcc","VideoStreamStatusFlags","VideoStreamType","Vservo","VtolTransitionHeading","WHEEL_DISTANCE","WHEEL_DISTANCE_DATA","WIFI_CONFIG_AP","WIFI_CONFIG_AP_DATA","WIFI_CONFIG_AP_MODE_AP","WIFI_CONFIG_AP_MODE_DISABLED","WIFI_CONFIG_AP_MODE_STATION","WIFI_CONFIG_AP_MODE_UNDEFINED","WIFI_CONFIG_AP_RESPONSE_ACCEPTED","WIFI_CONFIG_AP_RESPONSE_MODE_ERROR","WIFI_CONFIG_AP_RESPONSE_PASSWORD_ERROR","WIFI_CONFIG_AP_RESPONSE_REJECTED","WIFI_CONFIG_AP_RESPONSE_SSID_ERROR","WIFI_CONFIG_AP_RESPONSE_UNDEFINED","WINCH_ABANDON_LINE","WINCH_DELIVER","WINCH_HOLD","WINCH_LOAD_LINE","WINCH_LOAD_PAYLOAD","WINCH_LOCK","WINCH_RATE_CONTROL","WINCH_RELATIVE_LENGTH_CONTROL","WINCH_RELAXED","WINCH_RETRACT","WINCH_STATUS","WINCH_STATUS_DATA","WIND_COV","WIND_COV_DATA","WifiConfigApMode","WifiConfigApResponse","WinchActions","ZOOM_TYPE_CONTINUOUS","ZOOM_TYPE_FOCAL_LENGTH","ZOOM_TYPE_RANGE","ZOOM_TYPE_STEP","abs_pressure","abs_pressure","acc","acc_x","acc_y","acc_z","accuracy","accuracy","ack","action","active","actuator","address","afx","afx","afx","afx","afy","afy","afy","afy","afz","afz","afz","afz","airspeed","airspeed","airspeed","airspeed","airspeed_sp","airspeed_sp","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt_camera","alt_error","alt_image","altitude","altitude","altitude","altitude","altitude","altitude","altitude_amsl","altitude_amsl","altitude_barometric","altitude_geodetic","altitude_local","altitude_minimum_delta","altitude_monotonic","altitude_relative","altitude_sp","altitude_terrain","altitude_type","angle_x","angle_y","angular_velocity_x","angular_velocity_x","angular_velocity_x","angular_velocity_y","angular_velocity_y","angular_velocity_y","angular_velocity_z","angular_velocity_z","angular_velocity_z","apn","approach_x","approach_x","approach_y","approach_y","approach_z","approach_z","area_ceiling","area_count","area_floor","area_radius","arguments","arming_time_utc","array_id","aspd_error","attitude_q","attitude_quaternion","authentication_data","authentication_type","autocontinue","autocontinue","autocontinue","autopilot","autopilot","autosaved","aux1","aux2","aux3","aux4","available_capacity","available_capacity","ax","ay","az","barometer_accuracy","barometric_pressure","base_mode","base_mode","base_mode","baseline_a_mm","baseline_a_mm","baseline_b_mm","baseline_b_mm","baseline_c_mm","baseline_c_mm","baseline_coords_type","baseline_coords_type","bat_current_setpoint","battery","battery_current","battery_function","battery_function","battery_remaining","battery_remaining","battery_remaining","baudrate","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitrate","bitrate","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","board_version","body_pitch_rate","body_pitch_rate","body_roll_rate","body_roll_rate","body_yaw_rate","body_yaw_rate","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bottom_clearance","breach_count","breach_status","breach_time","breach_type","bus","bus","bus","bus_voltage","buttons","cal_mask","cal_status","callsign","callsign","cam_definition_uri","cam_definition_version","camera_id","cap_flags","cap_flags","capabilities","capacity_full","capacity_full_specification","capture_result","category_eu","chan10_raw","chan10_raw","chan11_raw","chan11_raw","chan12_raw","chan12_raw","chan13_raw","chan14_raw","chan15_raw","chan16_raw","chan17_raw","chan18_raw","chan1_raw","chan1_raw","chan1_raw","chan1_raw","chan1_scaled","chan2_raw","chan2_raw","chan2_raw","chan2_raw","chan2_scaled","chan3_raw","chan3_raw","chan3_raw","chan3_raw","chan3_scaled","chan4_raw","chan4_raw","chan4_raw","chan4_raw","chan4_scaled","chan5_raw","chan5_raw","chan5_raw","chan5_raw","chan5_scaled","chan6_raw","chan6_raw","chan6_raw","chan6_raw","chan6_scaled","chan7_raw","chan7_raw","chan7_raw","chan7_raw","chan7_scaled","chan8_raw","chan8_raw","chan8_raw","chan8_raw","chan8_scaled","chan9_raw","chan9_raw","chancount","charging_minimum_voltage","child_frame_id","class_eu","classification_type","climb","climb_rate","climb_rate","clipping_0","clipping_1","clipping_2","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cog","cog","cog","command","command","command","command","command","command","command","commanded_action","compass_id","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","confirmation","connection_type","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","control_request","control_request","controls","controls","controls","coordinate_frame","coordinate_frame","coordinate_frame","coordinate_frame","count","count","count","count","count","count","count","counter","covariance","covariance","covariance","covariance","cpu_combined","cpu_cores","current","current","current","current","current","current_battery","current_battery","current_consumed","current_distance","current_height","custom0","custom1","custom2","custom_cap_flags","custom_mode","custom_mode","custom_mode","custom_mode","custom_name","custom_state","cycle_count","cylinder_head_temperature","data","data","data","data","data","data","data","data","data","data","data_page","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default_message_from_id","delta","description","description_type","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destination_component","destination_system","device","device_name","dgps_age","dgps_numch","diag_x","diag_y","diag_z","diff_pressure","diff_pressure","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","dimension_bow","dimension_port","dimension_starboard","dimension_stern","direction","discharge_minimum_voltage","dist","distance","distance","distance","distance","distances","drop_rate_comm","ecu_index","emitter_type","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","enable_lte","enable_pin","end","end_index","end_index","energy_consumed","engine_load","eph","eph","eph","eph","epv","epv","epv","epv","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","error","error_count","errors_comm","errors_count1","errors_count2","errors_count3","errors_count4","est_capabilities","estimator_status","estimator_type","estimator_type","event_time_boot_ms","exhaust_gas_temperature","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extra_crc","failed_sessions","failsafe","failure_flags","failure_flags","failure_flags","failure_reason","fan_speed","feed_forward_angular_velocity_z","fields_updated","fields_updated","file_crc","file_url","firmware_version","firmware_version","first_message_offset","first_message_offset","first_sequence","fitness","fix_type","fix_type","fix_type","fix_type","fixed","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flight_custom_version","flight_state","flight_sw_version","flight_uuid","flow_comp_m_x","flow_comp_m_y","flow_x","flow_y","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","focal_length","format","format","frame","frame","frame","frame","frame","frame","frame","frame_id","framerate","framerate","frequency","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","fuel_consumed","fuel_flow","gcs_system_id","general_metadata_file_crc","general_metadata_uri","generator_speed","generator_temperature","gimbal_device_id","gimbal_device_id","gimbal_device_id","gimbal_device_id","gimbal_device_id","gps_fix_type","gps_id","gps_nsat","gpu_combined","gpu_cores","grid_spacing","grid_spacing","gridbit","ground_distance","groundspeed","groundspeed","groundspeed","group_mlx","group_mlx","h_acc","h_acc","hagl_ratio","hardware_version","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hdg","hdg","hdg_acc","hdop","heading","heading","heading","heading","heading","heading_sp","health","health","height","height","height_reference","hfov","hfov","hfov","hor_velocity","horiz_accuracy","horiz_accuracy","horizontal_accuracy","horizontal_minimum_delta","humidity","hw_unique_id","hw_version_major","hw_version_minor","iar_num_hypotheses","iar_num_hypotheses","id","id","id","id","id","id","id","id","id","id","id","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_type","ids","ignition_timing","ignore_flags","image_index","image_interval","image_status","increment","ind","ind_airspeed","index","index","index","info","initial_timestamp","injection_time","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","intake_manifold_pressure","intake_manifold_temperature","integrated_x","integrated_x","integrated_xgyro","integrated_xgyro","integrated_y","integrated_y","integrated_ygyro","integrated_ygyro","integrated_zgyro","integrated_zgyro","integration_time_us","integration_time_us","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","interval_us","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","jpg_quality","key","lac","land","landed_state","landed_state","landed_state","last_change_ms","last_heartbeat","last_log_num","last_page_index","last_sequence","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat_camera","lat_image","lat_int","lat_int","latitude","latitude","latitude","latitude","latitude","latitude","latitude","len","len","len","len","length","length","length","lens_id","library_version_hash","line_length","link_rx_max","link_rx_rate","link_tx_max","link_tx_rate","link_type","load","load_current","loaded","log_levels","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon_camera","lon_image","lon_int","lon_int","longitude","longitude","longitude","longitude","longitude","longitude","longitude","mag_ratio","manual_override_switch","mask","mavlink_version","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","max_distance","max_distance","max_version","mcc","message_id","message_id","message_id_from_name","message_name","message_rate","message_type","messages","messages_lost","messages_received","messages_sent","middleware_custom_version","middleware_sw_version","min_distance","min_distance","min_version","mission_end","mission_next_item","mnc","mode","mode","mode","mode_id","mode_switch","model_name","model_name","msg_pack_size","name","name","name","name","name","name","name","nav_bearing","nav_mode","nav_pitch","nav_roll","navigational_status","new_pin","next_alt","next_lat","next_lon","noise","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","nsats","nsats","num_ids","num_logs","offdiag_x","offdiag_y","offdiag_z","ofs","ofs","ofs_x","ofs_y","ofs_z","on_off","onboard_control_sensors_enabled","onboard_control_sensors_health","onboard_control_sensors_present","operation","operator_altitude_geo","operator_altitude_geo","operator_id","operator_id_type","operator_latitude","operator_latitude","operator_location_type","operator_longitude","operator_longitude","orientation","os_custom_version","os_sw_version","p1x","p1x","p1y","p1y","p1z","p1z","p2x","p2x","p2y","p2y","p2z","p2z","packets","param1","param1","param1","param1","param2","param2","param2","param2","param3","param3","param3","param3","param4","param4","param4","param4","param5","param6","param7","param_count","param_count","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_index","param_index","param_index","param_index","param_index","param_result","param_type","param_type","param_type","param_type","param_type","param_value","param_value","param_value","param_value","param_value","param_value0","param_value_max","param_value_min","parameter_rc_channel_index","parse","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","passkey","password","payload","payload","payload","payload","payload_length","payload_type","pending","peripherals_metadata_file_crc","peripherals_metadata_uri","pin","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch_elevator","pitch_max","pitch_max","pitch_min","pitch_min","pitch_rate","pitch_rate","pitch_rate","pitchspeed","pitchspeed","pitchspeed","pitchspeed","pitchspeed","pitchspeed","point_x","point_y","port","port","port","pos_horiz_accuracy","pos_horiz_ratio","pos_variance","pos_vert_accuracy","pos_vert_ratio","pos_x","pos_x","pos_y","pos_y","pos_yaw","pos_yaw","pos_z","pos_z","pose_covariance","position_cov","power_generated","press_abs","press_abs","press_abs","press_abs","press_diff","press_diff","press_diff","press_diff1","press_diff2","pressure_alt","pressure_alt","primary_control_compid","primary_control_sysid","product_id","pt_compensation","puk","q","q","q","q","q","q","q","q","q","q","q","q","q","q","q1","q1","q2","q2","q3","q3","q4","q4","q_estimated_delay_us","quality","quality","quality","quality","r","radius","radius","ram_total","ram_usage","rates","read_speed","reason","rec_bottom_x","rec_bottom_y","rec_top_x","rec_top_y","recording_time_ms","rectifier_temperature","relative_alt","relative_alt","relative_alt","relative_alt","remnoise","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remrssi","req_message_rate","req_stream_id","request_id","resolution_h","resolution_h","resolution_h","resolution_v","resolution_v","resolution_v","response","resting_minimum_voltage","result","ring_pending","roaming","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll_ailerons","roll_max","roll_max","roll_min","roll_min","roll_rate","rollspeed","rollspeed","rollspeed","rollspeed","rollspeed","rollspeed","rotation","rotation","rpm","rpm","rssi","rssi","rssi","rssi","rssi","rtk_health","rtk_health","rtk_rate","rtk_rate","rtk_receiver_id","rtk_receiver_id","runtime","rx_buf","rx_overflows","rx_parse_err","rx_rate","rx_session_pending","rxerrors","safe_return","satellite_azimuth","satellite_elevation","satellite_prn","satellite_snr","satellite_used","satellites_visible","satellites_visible","satellites_visible","satellites_visible","satellites_visible","scale","secondary_control_compid","secondary_control_sysid","secret_key","sensor_id","sensor_id","sensor_id","sensor_size_h","sensor_size_v","sensor_type","seq","seq","seq","seq","seq","seq","seq","seq","seq","seqnr","sequence","sequence","sequence","sequence","sequence","sequence","sequence_oldest_available","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","serial_number","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","servo1_raw","servo2_raw","servo3_raw","servo4_raw","servo5_raw","servo6_raw","servo7_raw","servo8_raw","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","severity","signal_quality","single_message_size","size","size","size_x","size_y","spacing","spark_dwell_time","spec_version_hash","speed","speed_accuracy","speed_accuracy","speed_horizontal","speed_vertical","squawk","src","ssid","start","start_index","start_index","start_stop","state","status","status","status","status","status","status","std_dev_horz","std_dev_vert","storage","storage_count","storage_id","storage_total","storage_type","storage_usage","stream_id","stream_id","stream_id","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_mode","successful_sessions","sw_vcs_commit","sw_version_major","sw_version_minor","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","system_status","takeoff_time_utc","target","target_altitude","target_bearing","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_data","target_distance","target_heading","target_network","target_network","target_num","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","tas_ratio","tc1","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature_air","temperature_air","temperature_board","temperature_core","tension","terrain_height","text","threat_level","throttle","throttle","throttle","throttle","throttle_out","throttle_position","thrust","thrust","thrust","time","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_us","time_delta_distance_us","time_delta_distance_us","time_last_baseline_ms","time_last_baseline_ms","time_to_minimum_delta","time_unix_usec","time_until_maintenance","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_utc","time_utc","time_week","time_week_ms","timeout","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp_accuracy","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","total_capacity","tow","tow","tracking_mode","tracking_status","tracking_status","transfer_type","true_airspeed","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ts1","tslc","tslc","tune","tune","turn_rate","tx_buf","tx_overflows","tx_rate","tx_session_pending","txbuf","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_mask","type_mask","type_mask","type_mask","type_mask","type_mask","ua_type","uas_id","uas_id","uid","uid","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","update_rate","uptime","uptime_sec","uptime_sec","uri","uri","uri","uri_type","usec","usec","usec","usec","used_capacity","v_acc","v_acc","v_estimated_delay_us","valid_points","valid_points","value","value","value","value","var_horiz","var_vert","vd","vd","vd","vdop","ve","ve","ve","vel","vel","vel","vel","vel_acc","vel_acc","vel_d","vel_e","vel_n","vel_ratio","vel_variance","vel_x","vel_y","vel_yaw","vel_z","velocity","velocity_covariance","vendor_id","vendor_name","vendor_name","vendor_specific_status_code","ver","ver_velocity","version","version","vert_accuracy","vert_accuracy","vertical_accuracy","vfov","vibration_x","vibration_y","vibration_z","video_status","vn","vn","vn","voltage","voltage","voltage_battery","voltages","vtol_state","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","weight","width","wind_alt","wind_heading","wind_x","wind_y","wind_z","windspeed","wn","wn","wp_dist","wp_distance","wp_num","wp_num","write_speed","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x_acc","x_pos","x_vel","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xmag","xmag","xmag","xmag","xmag","xmag","xtrack_error","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y_acc","y_pos","y_vel","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw_max","yaw_max","yaw_min","yaw_min","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rudder","yawspeed","yawspeed","yawspeed","yawspeed","yawspeed","yawspeed","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ymag","ymag","ymag","ymag","ymag","ymag","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z_acc","z_pos","z_vel","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zmag","zmag","zmag","zmag","zmag","zmag","InvalidEnum","InvalidFlag","Io","Io","MessageReadError","MessageWriteError","Parse","ParserError","UnknownMessage","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","to_string","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","enum_type","flag_type","id","value","value","DEFAULT","DEFAULT","DEFAULT","DEFAULT","ENCODED_LEN","ENCODED_LEN","ICAROUS_FMS_STATE_APPROACH","ICAROUS_FMS_STATE_CLIMB","ICAROUS_FMS_STATE_CRUISE","ICAROUS_FMS_STATE_IDLE","ICAROUS_FMS_STATE_LAND","ICAROUS_FMS_STATE_TAKEOFF","ICAROUS_HEARTBEAT","ICAROUS_HEARTBEAT_DATA","ICAROUS_KINEMATIC_BANDS","ICAROUS_KINEMATIC_BANDS_DATA","ICAROUS_TRACK_BAND_TYPE_NEAR","ICAROUS_TRACK_BAND_TYPE_NONE","ICAROUS_TRACK_BAND_TYPE_RECOVERY","IcarousFmsState","IcarousTrackBandTypes","MavMessage","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","default","default","default_message_from_id","deser","deser","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","extra_crc","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_i64","from_i64","from_u64","from_u64","into","into","into","into","into","max1","max2","max3","max4","max5","message_id","message_id_from_name","message_name","min1","min2","min3","min4","min5","numBands","parse","ser","ser","ser","serialize","serialize","serialize","serialize","serialize","status","to_i64","to_i64","to_owned","to_owned","to_owned","to_owned","to_owned","to_u64","to_u64","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type1","type2","type3","type4","type5","type_id","type_id","type_id","type_id","type_id","ACTUATOR_CONFIGURATION_3D_MODE_OFF","ACTUATOR_CONFIGURATION_3D_MODE_ON","ACTUATOR_CONFIGURATION_BEEP","ACTUATOR_CONFIGURATION_NONE","ACTUATOR_CONFIGURATION_SPIN_DIRECTION1","ACTUATOR_CONFIGURATION_SPIN_DIRECTION2","ACTUATOR_CONTROL_TARGET","ACTUATOR_CONTROL_TARGET_DATA","ACTUATOR_OUTPUT_FUNCTION_MOTOR1","ACTUATOR_OUTPUT_FUNCTION_MOTOR10","ACTUATOR_OUTPUT_FUNCTION_MOTOR11","ACTUATOR_OUTPUT_FUNCTION_MOTOR12","ACTUATOR_OUTPUT_FUNCTION_MOTOR13","ACTUATOR_OUTPUT_FUNCTION_MOTOR14","ACTUATOR_OUTPUT_FUNCTION_MOTOR15","ACTUATOR_OUTPUT_FUNCTION_MOTOR16","ACTUATOR_OUTPUT_FUNCTION_MOTOR2","ACTUATOR_OUTPUT_FUNCTION_MOTOR3","ACTUATOR_OUTPUT_FUNCTION_MOTOR4","ACTUATOR_OUTPUT_FUNCTION_MOTOR5","ACTUATOR_OUTPUT_FUNCTION_MOTOR6","ACTUATOR_OUTPUT_FUNCTION_MOTOR7","ACTUATOR_OUTPUT_FUNCTION_MOTOR8","ACTUATOR_OUTPUT_FUNCTION_MOTOR9","ACTUATOR_OUTPUT_FUNCTION_NONE","ACTUATOR_OUTPUT_FUNCTION_SERVO1","ACTUATOR_OUTPUT_FUNCTION_SERVO10","ACTUATOR_OUTPUT_FUNCTION_SERVO11","ACTUATOR_OUTPUT_FUNCTION_SERVO12","ACTUATOR_OUTPUT_FUNCTION_SERVO13","ACTUATOR_OUTPUT_FUNCTION_SERVO14","ACTUATOR_OUTPUT_FUNCTION_SERVO15","ACTUATOR_OUTPUT_FUNCTION_SERVO16","ACTUATOR_OUTPUT_FUNCTION_SERVO2","ACTUATOR_OUTPUT_FUNCTION_SERVO3","ACTUATOR_OUTPUT_FUNCTION_SERVO4","ACTUATOR_OUTPUT_FUNCTION_SERVO5","ACTUATOR_OUTPUT_FUNCTION_SERVO6","ACTUATOR_OUTPUT_FUNCTION_SERVO7","ACTUATOR_OUTPUT_FUNCTION_SERVO8","ACTUATOR_OUTPUT_FUNCTION_SERVO9","ACTUATOR_OUTPUT_STATUS","ACTUATOR_OUTPUT_STATUS_DATA","ADSB_ALTITUDE_TYPE_GEOMETRIC","ADSB_ALTITUDE_TYPE_PRESSURE_QNH","ADSB_EMITTER_TYPE_EMERGENCY_SURFACE","ADSB_EMITTER_TYPE_GLIDER","ADSB_EMITTER_TYPE_HEAVY","ADSB_EMITTER_TYPE_HIGHLY_MANUV","ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE","ADSB_EMITTER_TYPE_LARGE","ADSB_EMITTER_TYPE_LIGHT","ADSB_EMITTER_TYPE_LIGHTER_AIR","ADSB_EMITTER_TYPE_NO_INFO","ADSB_EMITTER_TYPE_PARACHUTE","ADSB_EMITTER_TYPE_POINT_OBSTACLE","ADSB_EMITTER_TYPE_ROTOCRAFT","ADSB_EMITTER_TYPE_SERVICE_SURFACE","ADSB_EMITTER_TYPE_SMALL","ADSB_EMITTER_TYPE_SPACE","ADSB_EMITTER_TYPE_UAV","ADSB_EMITTER_TYPE_ULTRA_LIGHT","ADSB_EMITTER_TYPE_UNASSGINED3","ADSB_EMITTER_TYPE_UNASSIGNED","ADSB_EMITTER_TYPE_UNASSIGNED2","ADSB_FLAGS_BARO_VALID","ADSB_FLAGS_SIMULATED","ADSB_FLAGS_SOURCE_UAT","ADSB_FLAGS_VALID_ALTITUDE","ADSB_FLAGS_VALID_CALLSIGN","ADSB_FLAGS_VALID_COORDS","ADSB_FLAGS_VALID_HEADING","ADSB_FLAGS_VALID_SQUAWK","ADSB_FLAGS_VALID_VELOCITY","ADSB_FLAGS_VERTICAL_VELOCITY_VALID","ADSB_VEHICLE","ADSB_VEHICLE_DATA","AIS_FLAGS_HIGH_VELOCITY","AIS_FLAGS_LARGE_BOW_DIMENSION","AIS_FLAGS_LARGE_PORT_DIMENSION","AIS_FLAGS_LARGE_STARBOARD_DIMENSION","AIS_FLAGS_LARGE_STERN_DIMENSION","AIS_FLAGS_POSITION_ACCURACY","AIS_FLAGS_TURN_RATE_SIGN_ONLY","AIS_FLAGS_VALID_CALLSIGN","AIS_FLAGS_VALID_COG","AIS_FLAGS_VALID_DIMENSIONS","AIS_FLAGS_VALID_NAME","AIS_FLAGS_VALID_TURN_RATE","AIS_FLAGS_VALID_VELOCITY","AIS_NAV_AGROUND","AIS_NAV_AIS_SART","AIS_NAV_ANCHORED","AIS_NAV_DRAUGHT_CONSTRAINED","AIS_NAV_FISHING","AIS_NAV_MOORED","AIS_NAV_RESERVED_1","AIS_NAV_RESERVED_2","AIS_NAV_RESERVED_3","AIS_NAV_RESERVED_HSC","AIS_NAV_RESERVED_WIG","AIS_NAV_RESTRICTED_MANOEUVERABILITY","AIS_NAV_SAILING","AIS_NAV_UNKNOWN","AIS_NAV_UN_COMMANDED","AIS_TYPE_ANTI_POLLUTION","AIS_TYPE_CARGO","AIS_TYPE_CARGO_HAZARDOUS_A","AIS_TYPE_CARGO_HAZARDOUS_B","AIS_TYPE_CARGO_HAZARDOUS_C","AIS_TYPE_CARGO_HAZARDOUS_D","AIS_TYPE_CARGO_RESERVED_1","AIS_TYPE_CARGO_RESERVED_2","AIS_TYPE_CARGO_RESERVED_3","AIS_TYPE_CARGO_RESERVED_4","AIS_TYPE_CARGO_UNKNOWN","AIS_TYPE_DIVING","AIS_TYPE_DREDGING","AIS_TYPE_FISHING","AIS_TYPE_HSC","AIS_TYPE_HSC_HAZARDOUS_A","AIS_TYPE_HSC_HAZARDOUS_B","AIS_TYPE_HSC_HAZARDOUS_C","AIS_TYPE_HSC_HAZARDOUS_D","AIS_TYPE_HSC_RESERVED_1","AIS_TYPE_HSC_RESERVED_2","AIS_TYPE_HSC_RESERVED_3","AIS_TYPE_HSC_RESERVED_4","AIS_TYPE_HSC_UNKNOWN","AIS_TYPE_LAW_ENFORCEMENT","AIS_TYPE_MEDICAL_TRANSPORT","AIS_TYPE_MILITARY","AIS_TYPE_NONECOMBATANT","AIS_TYPE_OTHER","AIS_TYPE_OTHER_HAZARDOUS_A","AIS_TYPE_OTHER_HAZARDOUS_B","AIS_TYPE_OTHER_HAZARDOUS_C","AIS_TYPE_OTHER_HAZARDOUS_D","AIS_TYPE_OTHER_RESERVED_1","AIS_TYPE_OTHER_RESERVED_2","AIS_TYPE_OTHER_RESERVED_3","AIS_TYPE_OTHER_RESERVED_4","AIS_TYPE_OTHER_UNKNOWN","AIS_TYPE_PASSENGER","AIS_TYPE_PASSENGER_HAZARDOUS_A","AIS_TYPE_PASSENGER_HAZARDOUS_B","AIS_TYPE_PASSENGER_HAZARDOUS_C","AIS_TYPE_PASSENGER_HAZARDOUS_D","AIS_TYPE_PASSENGER_RESERVED_1","AIS_TYPE_PASSENGER_RESERVED_2","AIS_TYPE_PASSENGER_RESERVED_3","AIS_TYPE_PASSENGER_RESERVED_4","AIS_TYPE_PASSENGER_UNKNOWN","AIS_TYPE_PILOT","AIS_TYPE_PLEASURE","AIS_TYPE_PORT_TENDER","AIS_TYPE_RESERVED_1","AIS_TYPE_RESERVED_10","AIS_TYPE_RESERVED_11","AIS_TYPE_RESERVED_12","AIS_TYPE_RESERVED_13","AIS_TYPE_RESERVED_14","AIS_TYPE_RESERVED_15","AIS_TYPE_RESERVED_16","AIS_TYPE_RESERVED_17","AIS_TYPE_RESERVED_18","AIS_TYPE_RESERVED_19","AIS_TYPE_RESERVED_2","AIS_TYPE_RESERVED_20","AIS_TYPE_RESERVED_21","AIS_TYPE_RESERVED_3","AIS_TYPE_RESERVED_4","AIS_TYPE_RESERVED_5","AIS_TYPE_RESERVED_6","AIS_TYPE_RESERVED_7","AIS_TYPE_RESERVED_8","AIS_TYPE_RESERVED_9","AIS_TYPE_SAILING","AIS_TYPE_SAR","AIS_TYPE_SPARE_LOCAL_1","AIS_TYPE_SPARE_LOCAL_2","AIS_TYPE_TANKER","AIS_TYPE_TANKER_HAZARDOUS_A","AIS_TYPE_TANKER_HAZARDOUS_B","AIS_TYPE_TANKER_HAZARDOUS_C","AIS_TYPE_TANKER_HAZARDOUS_D","AIS_TYPE_TANKER_RESERVED_1","AIS_TYPE_TANKER_RESERVED_2","AIS_TYPE_TANKER_RESERVED_3","AIS_TYPE_TANKER_RESERVED_4","AIS_TYPE_TANKER_UNKNOWN","AIS_TYPE_TOWING","AIS_TYPE_TOWING_LARGE","AIS_TYPE_TUG","AIS_TYPE_UNKNOWN","AIS_TYPE_WIG","AIS_TYPE_WIG_HAZARDOUS_A","AIS_TYPE_WIG_HAZARDOUS_B","AIS_TYPE_WIG_HAZARDOUS_C","AIS_TYPE_WIG_HAZARDOUS_D","AIS_TYPE_WIG_RESERVED_1","AIS_TYPE_WIG_RESERVED_2","AIS_TYPE_WIG_RESERVED_3","AIS_TYPE_WIG_RESERVED_4","AIS_TYPE_WIG_RESERVED_5","AIS_VESSEL","AIS_VESSEL_DATA","ALTITUDE","ALTITUDE_DATA","ATTITUDE","ATTITUDE_DATA","ATTITUDE_QUATERNION","ATTITUDE_QUATERNION_COV","ATTITUDE_QUATERNION_COV_DATA","ATTITUDE_QUATERNION_DATA","ATTITUDE_TARGET","ATTITUDE_TARGET_DATA","ATTITUDE_TARGET_TYPEMASK_ATTITUDE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_PITCH_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_YAW_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_THROTTLE_IGNORE","ATTITUDE_TARGET_TYPEMASK_THRUST_BODY_SET","ATT_POS_MOCAP","ATT_POS_MOCAP_DATA","AUTH_KEY","AUTH_KEY_DATA","AUTOPILOT_STATE_FOR_GIMBAL_DEVICE","AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA","AUTOPILOT_VERSION","AUTOPILOT_VERSION_DATA","AUTOTUNE_AXIS_DEFAULT","AUTOTUNE_AXIS_PITCH","AUTOTUNE_AXIS_ROLL","AUTOTUNE_AXIS_YAW","ActuatorConfiguration","ActuatorOutputFunction","AdsbAltitudeType","AdsbEmitterType","AdsbFlags","AisFlags","AisNavStatus","AisType","AttitudeTargetTypemask","AutotuneAxis","BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION","BATTERY_STATUS","BATTERY_STATUS_DATA","BUTTON_CHANGE","BUTTON_CHANGE_DATA","CAMERA_CAPTURE_STATUS","CAMERA_CAPTURE_STATUS_DATA","CAMERA_CAP_FLAGS_CAN_CAPTURE_IMAGE_IN_VIDEO_MODE","CAMERA_CAP_FLAGS_CAN_CAPTURE_VIDEO_IN_IMAGE_MODE","CAMERA_CAP_FLAGS_CAPTURE_IMAGE","CAMERA_CAP_FLAGS_CAPTURE_VIDEO","CAMERA_CAP_FLAGS_HAS_BASIC_FOCUS","CAMERA_CAP_FLAGS_HAS_BASIC_ZOOM","CAMERA_CAP_FLAGS_HAS_IMAGE_SURVEY_MODE","CAMERA_CAP_FLAGS_HAS_MODES","CAMERA_CAP_FLAGS_HAS_TRACKING_GEO_STATUS","CAMERA_CAP_FLAGS_HAS_TRACKING_POINT","CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE","CAMERA_CAP_FLAGS_HAS_VIDEO_STREAM","CAMERA_FOV_STATUS","CAMERA_FOV_STATUS_DATA","CAMERA_IMAGE_CAPTURED","CAMERA_IMAGE_CAPTURED_DATA","CAMERA_INFORMATION","CAMERA_INFORMATION_DATA","CAMERA_MODE_IMAGE","CAMERA_MODE_IMAGE_SURVEY","CAMERA_MODE_VIDEO","CAMERA_SETTINGS","CAMERA_SETTINGS_DATA","CAMERA_TRACKING_GEO_STATUS","CAMERA_TRACKING_GEO_STATUS_DATA","CAMERA_TRACKING_IMAGE_STATUS","CAMERA_TRACKING_IMAGE_STATUS_DATA","CAMERA_TRACKING_MODE_NONE","CAMERA_TRACKING_MODE_POINT","CAMERA_TRACKING_MODE_RECTANGLE","CAMERA_TRACKING_STATUS_FLAGS_ACTIVE","CAMERA_TRACKING_STATUS_FLAGS_ERROR","CAMERA_TRACKING_STATUS_FLAGS_IDLE","CAMERA_TRACKING_TARGET_DATA_EMBEDDED","CAMERA_TRACKING_TARGET_DATA_IN_STATUS","CAMERA_TRACKING_TARGET_DATA_NONE","CAMERA_TRACKING_TARGET_DATA_RENDERED","CAMERA_TRIGGER","CAMERA_TRIGGER_DATA","CANFD_FRAME","CANFD_FRAME_DATA","CAN_FILTER_ADD","CAN_FILTER_MODIFY","CAN_FILTER_MODIFY_DATA","CAN_FILTER_REMOVE","CAN_FILTER_REPLACE","CAN_FRAME","CAN_FRAME_DATA","CELLULAR_CONFIG","CELLULAR_CONFIG_BLOCKED_PUK_REQUIRED","CELLULAR_CONFIG_DATA","CELLULAR_CONFIG_RESPONSE_ACCEPTED","CELLULAR_CONFIG_RESPONSE_APN_ERROR","CELLULAR_CONFIG_RESPONSE_PIN_ERROR","CELLULAR_CONFIG_RESPONSE_REJECTED","CELLULAR_NETWORK_FAILED_REASON_NONE","CELLULAR_NETWORK_FAILED_REASON_SIM_ERROR","CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING","CELLULAR_NETWORK_FAILED_REASON_UNKNOWN","CELLULAR_NETWORK_RADIO_TYPE_CDMA","CELLULAR_NETWORK_RADIO_TYPE_GSM","CELLULAR_NETWORK_RADIO_TYPE_LTE","CELLULAR_NETWORK_RADIO_TYPE_NONE","CELLULAR_NETWORK_RADIO_TYPE_WCDMA","CELLULAR_STATUS","CELLULAR_STATUS_DATA","CELLULAR_STATUS_FLAG_CONNECTED","CELLULAR_STATUS_FLAG_CONNECTING","CELLULAR_STATUS_FLAG_DISABLED","CELLULAR_STATUS_FLAG_DISABLING","CELLULAR_STATUS_FLAG_DISCONNECTING","CELLULAR_STATUS_FLAG_ENABLED","CELLULAR_STATUS_FLAG_ENABLING","CELLULAR_STATUS_FLAG_FAILED","CELLULAR_STATUS_FLAG_INITIALIZING","CELLULAR_STATUS_FLAG_LOCKED","CELLULAR_STATUS_FLAG_REGISTERED","CELLULAR_STATUS_FLAG_SEARCHING","CELLULAR_STATUS_FLAG_UNKNOWN","CHANGE_OPERATOR_CONTROL","CHANGE_OPERATOR_CONTROL_ACK","CHANGE_OPERATOR_CONTROL_ACK_DATA","CHANGE_OPERATOR_CONTROL_DATA","COG","COLLISION","COLLISION_DATA","COMMAND_ACK","COMMAND_ACK_DATA","COMMAND_CANCEL","COMMAND_CANCEL_DATA","COMMAND_INT","COMMAND_INT_DATA","COMMAND_LONG","COMMAND_LONG_DATA","COMPONENT_INFORMATION","COMPONENT_INFORMATION_DATA","COMPONENT_METADATA","COMPONENT_METADATA_DATA","COMP_METADATA_TYPE_ACTUATORS","COMP_METADATA_TYPE_COMMANDS","COMP_METADATA_TYPE_EVENTS","COMP_METADATA_TYPE_GENERAL","COMP_METADATA_TYPE_PARAMETER","COMP_METADATA_TYPE_PERIPHERALS","CONTROL_SYSTEM_STATE","CONTROL_SYSTEM_STATE_DATA","CURRENT_EVENT_SEQUENCE","CURRENT_EVENT_SEQUENCE_DATA","CameraCapFlags","CameraMode","CameraTrackingMode","CameraTrackingStatusFlags","CameraTrackingTargetData","CameraZoomType","CanFilterOp","CellularConfigResponse","CellularNetworkFailedReason","CellularNetworkRadioType","CellularStatusFlag","CompMetadataType","DATA_STREAM","DATA_STREAM_DATA","DATA_TRANSMISSION_HANDSHAKE","DATA_TRANSMISSION_HANDSHAKE_DATA","DEBUG","DEBUG_DATA","DEBUG_FLOAT_ARRAY","DEBUG_FLOAT_ARRAY_DATA","DEBUG_VECT","DEBUG_VECT_DATA","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DISTANCE_SENSOR","DISTANCE_SENSOR_DATA","EFI_STATUS","EFI_STATUS_DATA","ENCAPSULATED_DATA","ENCAPSULATED_DATA_DATA","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ESC_CONNECTION_TYPE_CAN","ESC_CONNECTION_TYPE_DSHOT","ESC_CONNECTION_TYPE_I2C","ESC_CONNECTION_TYPE_ONESHOT","ESC_CONNECTION_TYPE_PPM","ESC_CONNECTION_TYPE_SERIAL","ESC_FAILURE_GENERIC","ESC_FAILURE_INCONSISTENT_CMD","ESC_FAILURE_MOTOR_STUCK","ESC_FAILURE_NONE","ESC_FAILURE_OVER_CURRENT","ESC_FAILURE_OVER_RPM","ESC_FAILURE_OVER_TEMPERATURE","ESC_FAILURE_OVER_VOLTAGE","ESC_INFO","ESC_INFO_DATA","ESC_STATUS","ESC_STATUS_DATA","ESTIMATOR_ACCEL_ERROR","ESTIMATOR_ATTITUDE","ESTIMATOR_CONST_POS_MODE","ESTIMATOR_GPS_GLITCH","ESTIMATOR_POS_HORIZ_ABS","ESTIMATOR_POS_HORIZ_REL","ESTIMATOR_POS_VERT_ABS","ESTIMATOR_POS_VERT_AGL","ESTIMATOR_PRED_POS_HORIZ_ABS","ESTIMATOR_PRED_POS_HORIZ_REL","ESTIMATOR_STATUS","ESTIMATOR_STATUS_DATA","ESTIMATOR_VELOCITY_HORIZ","ESTIMATOR_VELOCITY_VERT","EVENT","EVENT_DATA","EXTENDED_SYS_STATE","EXTENDED_SYS_STATE_DATA","EscConnectionType","EscFailureFlags","EstimatorStatusFlags","FAILURE_TYPE_DELAYED","FAILURE_TYPE_GARBAGE","FAILURE_TYPE_INTERMITTENT","FAILURE_TYPE_OFF","FAILURE_TYPE_OK","FAILURE_TYPE_SLOW","FAILURE_TYPE_STUCK","FAILURE_TYPE_WRONG","FAILURE_UNIT_SENSOR_ACCEL","FAILURE_UNIT_SENSOR_AIRSPEED","FAILURE_UNIT_SENSOR_BARO","FAILURE_UNIT_SENSOR_DISTANCE_SENSOR","FAILURE_UNIT_SENSOR_GPS","FAILURE_UNIT_SENSOR_GYRO","FAILURE_UNIT_SENSOR_MAG","FAILURE_UNIT_SENSOR_OPTICAL_FLOW","FAILURE_UNIT_SENSOR_VIO","FAILURE_UNIT_SYSTEM_AVOIDANCE","FAILURE_UNIT_SYSTEM_BATTERY","FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL","FAILURE_UNIT_SYSTEM_MOTOR","FAILURE_UNIT_SYSTEM_RC_SIGNAL","FAILURE_UNIT_SYSTEM_SERVO","FENCE_ACTION_GUIDED","FENCE_ACTION_GUIDED_THR_PASS","FENCE_ACTION_HOLD","FENCE_ACTION_LAND","FENCE_ACTION_NONE","FENCE_ACTION_REPORT","FENCE_ACTION_RTL","FENCE_ACTION_TERMINATE","FENCE_BREACH_BOUNDARY","FENCE_BREACH_MAXALT","FENCE_BREACH_MINALT","FENCE_BREACH_NONE","FENCE_MITIGATE_NONE","FENCE_MITIGATE_UNKNOWN","FENCE_MITIGATE_VEL_LIMIT","FENCE_STATUS","FENCE_STATUS_DATA","FILE_TRANSFER_PROTOCOL","FILE_TRANSFER_PROTOCOL_DATA","FIRMWARE_VERSION_TYPE_ALPHA","FIRMWARE_VERSION_TYPE_BETA","FIRMWARE_VERSION_TYPE_DEV","FIRMWARE_VERSION_TYPE_OFFICIAL","FIRMWARE_VERSION_TYPE_RC","FLIGHT_INFORMATION","FLIGHT_INFORMATION_DATA","FOCUS_TYPE_AUTO","FOCUS_TYPE_AUTO_CONTINUOUS","FOCUS_TYPE_AUTO_SINGLE","FOCUS_TYPE_CONTINUOUS","FOCUS_TYPE_METERS","FOCUS_TYPE_RANGE","FOCUS_TYPE_STEP","FOLLOW_TARGET","FOLLOW_TARGET_DATA","FailureType","FailureUnit","FenceAction","FenceBreach","FenceMitigate","FirmwareVersionType","GENERATOR_STATUS","GENERATOR_STATUS_DATA","GIMBAL_DEVICE_ATTITUDE_STATUS","GIMBAL_DEVICE_ATTITUDE_STATUS_DATA","GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK","GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS","GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK","GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW","GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_ERROR_FLAGS_AT_PITCH_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_AT_YAW_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING","GIMBAL_DEVICE_ERROR_FLAGS_COMMS_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_ENCODER_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_MOTOR_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_NO_MANAGER","GIMBAL_DEVICE_ERROR_FLAGS_POWER_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_SOFTWARE_ERROR","GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_FLAGS_NEUTRAL","GIMBAL_DEVICE_FLAGS_PITCH_LOCK","GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE","GIMBAL_DEVICE_FLAGS_RC_MIXED","GIMBAL_DEVICE_FLAGS_RETRACT","GIMBAL_DEVICE_FLAGS_ROLL_LOCK","GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME","GIMBAL_DEVICE_FLAGS_YAW_LOCK","GIMBAL_DEVICE_INFORMATION","GIMBAL_DEVICE_INFORMATION_DATA","GIMBAL_DEVICE_SET_ATTITUDE","GIMBAL_DEVICE_SET_ATTITUDE_DATA","GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_GLOBAL","GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_LOCAL","GIMBAL_MANAGER_CAP_FLAGS_HAS_NEUTRAL","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_LOCK","GIMBAL_MANAGER_CAP_FLAGS_HAS_RC_INPUTS","GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_LOCK","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_LOCK","GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_INFINITE_YAW","GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_NEUTRAL","GIMBAL_MANAGER_FLAGS_PITCH_LOCK","GIMBAL_MANAGER_FLAGS_RC_EXCLUSIVE","GIMBAL_MANAGER_FLAGS_RC_MIXED","GIMBAL_MANAGER_FLAGS_RETRACT","GIMBAL_MANAGER_FLAGS_ROLL_LOCK","GIMBAL_MANAGER_FLAGS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_YAW_IN_VEHICLE_FRAME","GIMBAL_MANAGER_FLAGS_YAW_LOCK","GIMBAL_MANAGER_INFORMATION","GIMBAL_MANAGER_INFORMATION_DATA","GIMBAL_MANAGER_SET_ATTITUDE","GIMBAL_MANAGER_SET_ATTITUDE_DATA","GIMBAL_MANAGER_SET_MANUAL_CONTROL","GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA","GIMBAL_MANAGER_SET_PITCHYAW","GIMBAL_MANAGER_SET_PITCHYAW_DATA","GIMBAL_MANAGER_STATUS","GIMBAL_MANAGER_STATUS_DATA","GLOBAL_POSITION_INT","GLOBAL_POSITION_INT_COV","GLOBAL_POSITION_INT_COV_DATA","GLOBAL_POSITION_INT_DATA","GLOBAL_VISION_POSITION_ESTIMATE","GLOBAL_VISION_POSITION_ESTIMATE_DATA","GPS2_RAW","GPS2_RAW_DATA","GPS2_RTK","GPS2_RTK_DATA","GPS_FIX_TYPE_2D_FIX","GPS_FIX_TYPE_3D_FIX","GPS_FIX_TYPE_DGPS","GPS_FIX_TYPE_NO_FIX","GPS_FIX_TYPE_NO_GPS","GPS_FIX_TYPE_PPP","GPS_FIX_TYPE_RTK_FIXED","GPS_FIX_TYPE_RTK_FLOAT","GPS_FIX_TYPE_STATIC","GPS_GLOBAL_ORIGIN","GPS_GLOBAL_ORIGIN_DATA","GPS_INJECT_DATA","GPS_INJECT_DATA_DATA","GPS_INPUT","GPS_INPUT_DATA","GPS_INPUT_IGNORE_FLAG_ALT","GPS_INPUT_IGNORE_FLAG_HDOP","GPS_INPUT_IGNORE_FLAG_HORIZONTAL_ACCURACY","GPS_INPUT_IGNORE_FLAG_SPEED_ACCURACY","GPS_INPUT_IGNORE_FLAG_VDOP","GPS_INPUT_IGNORE_FLAG_VEL_HORIZ","GPS_INPUT_IGNORE_FLAG_VEL_VERT","GPS_INPUT_IGNORE_FLAG_VERTICAL_ACCURACY","GPS_RAW_INT","GPS_RAW_INT_DATA","GPS_RTCM_DATA","GPS_RTCM_DATA_DATA","GPS_RTK","GPS_RTK_DATA","GPS_STATUS","GPS_STATUS_DATA","GRIPPER_ACTION_GRAB","GRIPPER_ACTION_RELEASE","GimbalDeviceCapFlags","GimbalDeviceErrorFlags","GimbalDeviceFlags","GimbalManagerCapFlags","GimbalManagerFlags","GpsFixType","GpsInputIgnoreFlags","GripperActions","HEARTBEAT","HEARTBEAT_DATA","HIGHRES_IMU","HIGHRES_IMU_DATA","HIGHRES_IMU_UPDATED_ABS_PRESSURE","HIGHRES_IMU_UPDATED_ALL","HIGHRES_IMU_UPDATED_DIFF_PRESSURE","HIGHRES_IMU_UPDATED_NONE","HIGHRES_IMU_UPDATED_PRESSURE_ALT","HIGHRES_IMU_UPDATED_TEMPERATURE","HIGHRES_IMU_UPDATED_XACC","HIGHRES_IMU_UPDATED_XGYRO","HIGHRES_IMU_UPDATED_XMAG","HIGHRES_IMU_UPDATED_YACC","HIGHRES_IMU_UPDATED_YGYRO","HIGHRES_IMU_UPDATED_YMAG","HIGHRES_IMU_UPDATED_ZACC","HIGHRES_IMU_UPDATED_ZGYRO","HIGHRES_IMU_UPDATED_ZMAG","HIGH_LATENCY","HIGH_LATENCY2","HIGH_LATENCY2_DATA","HIGH_LATENCY_DATA","HIL_ACTUATOR_CONTROLS","HIL_ACTUATOR_CONTROLS_DATA","HIL_CONTROLS","HIL_CONTROLS_DATA","HIL_GPS","HIL_GPS_DATA","HIL_OPTICAL_FLOW","HIL_OPTICAL_FLOW_DATA","HIL_RC_INPUTS_RAW","HIL_RC_INPUTS_RAW_DATA","HIL_SENSOR","HIL_SENSOR_DATA","HIL_SENSOR_UPDATED_ABS_PRESSURE","HIL_SENSOR_UPDATED_DIFF_PRESSURE","HIL_SENSOR_UPDATED_NONE","HIL_SENSOR_UPDATED_PRESSURE_ALT","HIL_SENSOR_UPDATED_RESET","HIL_SENSOR_UPDATED_TEMPERATURE","HIL_SENSOR_UPDATED_XACC","HIL_SENSOR_UPDATED_XGYRO","HIL_SENSOR_UPDATED_XMAG","HIL_SENSOR_UPDATED_YACC","HIL_SENSOR_UPDATED_YGYRO","HIL_SENSOR_UPDATED_YMAG","HIL_SENSOR_UPDATED_ZACC","HIL_SENSOR_UPDATED_ZGYRO","HIL_SENSOR_UPDATED_ZMAG","HIL_STATE","HIL_STATE_DATA","HIL_STATE_QUATERNION","HIL_STATE_QUATERNION_DATA","HL_FAILURE_FLAG_3D_ACCEL","HL_FAILURE_FLAG_3D_GYRO","HL_FAILURE_FLAG_3D_MAG","HL_FAILURE_FLAG_ABSOLUTE_PRESSURE","HL_FAILURE_FLAG_BATTERY","HL_FAILURE_FLAG_DIFFERENTIAL_PRESSURE","HL_FAILURE_FLAG_ENGINE","HL_FAILURE_FLAG_ESTIMATOR","HL_FAILURE_FLAG_GEOFENCE","HL_FAILURE_FLAG_GPS","HL_FAILURE_FLAG_MISSION","HL_FAILURE_FLAG_OFFBOARD_LINK","HL_FAILURE_FLAG_RC_RECEIVER","HL_FAILURE_FLAG_TERRAIN","HOME_POSITION","HOME_POSITION_DATA","HYGROMETER_SENSOR","HYGROMETER_SENSOR_DATA","HighresImuUpdatedFlags","HilSensorUpdatedFlags","HlFailureFlag","ICAO","ICAO_address","ISBD_LINK_STATUS","ISBD_LINK_STATUS_DATA","LANDING_TARGET","LANDING_TARGET_DATA","LANDING_TARGET_TYPE_LIGHT_BEACON","LANDING_TARGET_TYPE_RADIO_BEACON","LANDING_TARGET_TYPE_VISION_FIDUCIAL","LANDING_TARGET_TYPE_VISION_OTHER","LINK_NODE_STATUS","LINK_NODE_STATUS_DATA","LOCAL_POSITION_NED","LOCAL_POSITION_NED_COV","LOCAL_POSITION_NED_COV_DATA","LOCAL_POSITION_NED_DATA","LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET","LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA","LOGGING_ACK","LOGGING_ACK_DATA","LOGGING_DATA","LOGGING_DATA_ACKED","LOGGING_DATA_ACKED_DATA","LOGGING_DATA_DATA","LOG_DATA","LOG_DATA_DATA","LOG_ENTRY","LOG_ENTRY_DATA","LOG_ERASE","LOG_ERASE_DATA","LOG_REQUEST_DATA","LOG_REQUEST_DATA_DATA","LOG_REQUEST_END","LOG_REQUEST_END_DATA","LOG_REQUEST_LIST","LOG_REQUEST_LIST_DATA","LandingTargetType","MAG_CAL_BAD_ORIENTATION","MAG_CAL_BAD_RADIUS","MAG_CAL_FAILED","MAG_CAL_NOT_STARTED","MAG_CAL_REPORT","MAG_CAL_REPORT_DATA","MAG_CAL_RUNNING_STEP_ONE","MAG_CAL_RUNNING_STEP_TWO","MAG_CAL_SUCCESS","MAG_CAL_WAITING_TO_START","MANUAL_CONTROL","MANUAL_CONTROL_DATA","MANUAL_SETPOINT","MANUAL_SETPOINT_DATA","MAVLINK_DATA_STREAM_IMG_BMP","MAVLINK_DATA_STREAM_IMG_JPEG","MAVLINK_DATA_STREAM_IMG_PGM","MAVLINK_DATA_STREAM_IMG_PNG","MAVLINK_DATA_STREAM_IMG_RAW32U","MAVLINK_DATA_STREAM_IMG_RAW8U","MAV_ARM_AUTH_DENIED_REASON_AIRSPACE_IN_USE","MAV_ARM_AUTH_DENIED_REASON_BAD_WEATHER","MAV_ARM_AUTH_DENIED_REASON_GENERIC","MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT","MAV_ARM_AUTH_DENIED_REASON_NONE","MAV_ARM_AUTH_DENIED_REASON_TIMEOUT","MAV_AUTOPILOT_AEROB","MAV_AUTOPILOT_AIRRAILS","MAV_AUTOPILOT_ARDUPILOTMEGA","MAV_AUTOPILOT_ARMAZILA","MAV_AUTOPILOT_ASLUAV","MAV_AUTOPILOT_AUTOQUAD","MAV_AUTOPILOT_FP","MAV_AUTOPILOT_GENERIC","MAV_AUTOPILOT_GENERIC_MISSION_FULL","MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY","MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY","MAV_AUTOPILOT_INVALID","MAV_AUTOPILOT_OPENPILOT","MAV_AUTOPILOT_PPZ","MAV_AUTOPILOT_PX4","MAV_AUTOPILOT_REFLEX","MAV_AUTOPILOT_RESERVED","MAV_AUTOPILOT_SLUGS","MAV_AUTOPILOT_SMACCMPILOT","MAV_AUTOPILOT_SMARTAP","MAV_AUTOPILOT_UDB","MAV_BATTERY_CHARGE_STATE_CHARGING","MAV_BATTERY_CHARGE_STATE_CRITICAL","MAV_BATTERY_CHARGE_STATE_EMERGENCY","MAV_BATTERY_CHARGE_STATE_FAILED","MAV_BATTERY_CHARGE_STATE_LOW","MAV_BATTERY_CHARGE_STATE_OK","MAV_BATTERY_CHARGE_STATE_UNDEFINED","MAV_BATTERY_CHARGE_STATE_UNHEALTHY","MAV_BATTERY_FAULT_CELL_FAIL","MAV_BATTERY_FAULT_DEEP_DISCHARGE","MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE","MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE","MAV_BATTERY_FAULT_OVER_CURRENT","MAV_BATTERY_FAULT_OVER_TEMPERATURE","MAV_BATTERY_FAULT_SPIKES","MAV_BATTERY_FAULT_UNDER_TEMPERATURE","MAV_BATTERY_FUNCTION_ALL","MAV_BATTERY_FUNCTION_AVIONICS","MAV_BATTERY_FUNCTION_PAYLOAD","MAV_BATTERY_FUNCTION_PROPULSION","MAV_BATTERY_FUNCTION_UNKNOWN","MAV_BATTERY_MODE_AUTO_DISCHARGING","MAV_BATTERY_MODE_HOT_SWAP","MAV_BATTERY_MODE_UNKNOWN","MAV_BATTERY_TYPE_LIFE","MAV_BATTERY_TYPE_LION","MAV_BATTERY_TYPE_LIPO","MAV_BATTERY_TYPE_NIMH","MAV_BATTERY_TYPE_UNKNOWN","MAV_CMD_ACK_ERR_ACCESS_DENIED","MAV_CMD_ACK_ERR_COORDINATES_OUT_OF_RANGE","MAV_CMD_ACK_ERR_COORDINATE_FRAME_NOT_SUPPORTED","MAV_CMD_ACK_ERR_FAIL","MAV_CMD_ACK_ERR_NOT_SUPPORTED","MAV_CMD_ACK_ERR_X_LAT_OUT_OF_RANGE","MAV_CMD_ACK_ERR_Y_LON_OUT_OF_RANGE","MAV_CMD_ACK_ERR_Z_ALT_OUT_OF_RANGE","MAV_CMD_ACK_OK","MAV_CMD_ACTUATOR_TEST","MAV_CMD_AIRFRAME_CONFIGURATION","MAV_CMD_ARM_AUTHORIZATION_REQUEST","MAV_CMD_CAMERA_STOP_TRACKING","MAV_CMD_CAMERA_TRACK_POINT","MAV_CMD_CAMERA_TRACK_RECTANGLE","MAV_CMD_CAN_FORWARD","MAV_CMD_COMPONENT_ARM_DISARM","MAV_CMD_CONDITION_CHANGE_ALT","MAV_CMD_CONDITION_DELAY","MAV_CMD_CONDITION_DISTANCE","MAV_CMD_CONDITION_GATE","MAV_CMD_CONDITION_LAST","MAV_CMD_CONDITION_YAW","MAV_CMD_CONFIGURE_ACTUATOR","MAV_CMD_CONTROL_HIGH_LATENCY","MAV_CMD_DO_ADSB_OUT_IDENT","MAV_CMD_DO_AUTOTUNE_ENABLE","MAV_CMD_DO_CHANGE_ALTITUDE","MAV_CMD_DO_CHANGE_SPEED","MAV_CMD_DO_CONTROL_VIDEO","MAV_CMD_DO_DIGICAM_CONFIGURE","MAV_CMD_DO_DIGICAM_CONTROL","MAV_CMD_DO_ENGINE_CONTROL","MAV_CMD_DO_FENCE_ENABLE","MAV_CMD_DO_FLIGHTTERMINATION","MAV_CMD_DO_FOLLOW","MAV_CMD_DO_FOLLOW_REPOSITION","MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE","MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW","MAV_CMD_DO_GO_AROUND","MAV_CMD_DO_GRIPPER","MAV_CMD_DO_GUIDED_LIMITS","MAV_CMD_DO_GUIDED_MASTER","MAV_CMD_DO_INVERTED_FLIGHT","MAV_CMD_DO_JUMP","MAV_CMD_DO_JUMP_TAG","MAV_CMD_DO_LAND_START","MAV_CMD_DO_LAST","MAV_CMD_DO_MOTOR_TEST","MAV_CMD_DO_MOUNT_CONFIGURE","MAV_CMD_DO_MOUNT_CONTROL","MAV_CMD_DO_MOUNT_CONTROL_QUAT","MAV_CMD_DO_ORBIT","MAV_CMD_DO_PARACHUTE","MAV_CMD_DO_PAUSE_CONTINUE","MAV_CMD_DO_RALLY_LAND","MAV_CMD_DO_REPEAT_RELAY","MAV_CMD_DO_REPEAT_SERVO","MAV_CMD_DO_REPOSITION","MAV_CMD_DO_SET_ACTUATOR","MAV_CMD_DO_SET_CAM_TRIGG_DIST","MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL","MAV_CMD_DO_SET_HOME","MAV_CMD_DO_SET_MISSION_CURRENT","MAV_CMD_DO_SET_MODE","MAV_CMD_DO_SET_PARAMETER","MAV_CMD_DO_SET_RELAY","MAV_CMD_DO_SET_REVERSE","MAV_CMD_DO_SET_ROI","MAV_CMD_DO_SET_ROI_LOCATION","MAV_CMD_DO_SET_ROI_NONE","MAV_CMD_DO_SET_ROI_SYSID","MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET","MAV_CMD_DO_SET_SERVO","MAV_CMD_DO_TRIGGER_CONTROL","MAV_CMD_DO_VTOL_TRANSITION","MAV_CMD_DO_WINCH","MAV_CMD_FIXED_MAG_CAL_YAW","MAV_CMD_GET_HOME_POSITION","MAV_CMD_GET_MESSAGE_INTERVAL","MAV_CMD_ILLUMINATOR_ON_OFF","MAV_CMD_IMAGE_START_CAPTURE","MAV_CMD_IMAGE_STOP_CAPTURE","MAV_CMD_INJECT_FAILURE","MAV_CMD_JUMP_TAG","MAV_CMD_LOGGING_START","MAV_CMD_LOGGING_STOP","MAV_CMD_MISSION_START","MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT","MAV_CMD_NAV_DELAY","MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION","MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION","MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION","MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION","MAV_CMD_NAV_FENCE_RETURN_POINT","MAV_CMD_NAV_FOLLOW","MAV_CMD_NAV_GUIDED_ENABLE","MAV_CMD_NAV_LAND","MAV_CMD_NAV_LAND_LOCAL","MAV_CMD_NAV_LAST","MAV_CMD_NAV_LOITER_TIME","MAV_CMD_NAV_LOITER_TO_ALT","MAV_CMD_NAV_LOITER_TURNS","MAV_CMD_NAV_LOITER_UNLIM","MAV_CMD_NAV_PATHPLANNING","MAV_CMD_NAV_PAYLOAD_PLACE","MAV_CMD_NAV_RALLY_POINT","MAV_CMD_NAV_RETURN_TO_LAUNCH","MAV_CMD_NAV_ROI","MAV_CMD_NAV_SET_YAW_SPEED","MAV_CMD_NAV_SPLINE_WAYPOINT","MAV_CMD_NAV_TAKEOFF","MAV_CMD_NAV_TAKEOFF_LOCAL","MAV_CMD_NAV_VTOL_LAND","MAV_CMD_NAV_VTOL_TAKEOFF","MAV_CMD_NAV_WAYPOINT","MAV_CMD_OBLIQUE_SURVEY","MAV_CMD_OVERRIDE_GOTO","MAV_CMD_PANORAMA_CREATE","MAV_CMD_PAYLOAD_CONTROL_DEPLOY","MAV_CMD_PAYLOAD_PREPARE_DEPLOY","MAV_CMD_PREFLIGHT_CALIBRATION","MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN","MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS","MAV_CMD_PREFLIGHT_STORAGE","MAV_CMD_PREFLIGHT_UAVCAN","MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES","MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS","MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE","MAV_CMD_REQUEST_CAMERA_INFORMATION","MAV_CMD_REQUEST_CAMERA_SETTINGS","MAV_CMD_REQUEST_FLIGHT_INFORMATION","MAV_CMD_REQUEST_MESSAGE","MAV_CMD_REQUEST_PROTOCOL_VERSION","MAV_CMD_REQUEST_STORAGE_INFORMATION","MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION","MAV_CMD_REQUEST_VIDEO_STREAM_STATUS","MAV_CMD_RESET_CAMERA_SETTINGS","MAV_CMD_RUN_PREARM_CHECKS","MAV_CMD_SET_CAMERA_FOCUS","MAV_CMD_SET_CAMERA_MODE","MAV_CMD_SET_CAMERA_ZOOM","MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE","MAV_CMD_SET_GUIDED_SUBMODE_STANDARD","MAV_CMD_SET_MESSAGE_INTERVAL","MAV_CMD_SET_STORAGE_USAGE","MAV_CMD_SPATIAL_USER_1","MAV_CMD_SPATIAL_USER_2","MAV_CMD_SPATIAL_USER_3","MAV_CMD_SPATIAL_USER_4","MAV_CMD_SPATIAL_USER_5","MAV_CMD_START_RX_PAIR","MAV_CMD_STORAGE_FORMAT","MAV_CMD_UAVCAN_GET_NODE_INFO","MAV_CMD_USER_1","MAV_CMD_USER_2","MAV_CMD_USER_3","MAV_CMD_USER_4","MAV_CMD_USER_5","MAV_CMD_VIDEO_START_CAPTURE","MAV_CMD_VIDEO_START_STREAMING","MAV_CMD_VIDEO_STOP_CAPTURE","MAV_CMD_VIDEO_STOP_STREAMING","MAV_CMD_WAYPOINT_USER_1","MAV_CMD_WAYPOINT_USER_2","MAV_CMD_WAYPOINT_USER_3","MAV_CMD_WAYPOINT_USER_4","MAV_CMD_WAYPOINT_USER_5","MAV_COLLISION_ACTION_ASCEND_OR_DESCEND","MAV_COLLISION_ACTION_HOVER","MAV_COLLISION_ACTION_MOVE_HORIZONTALLY","MAV_COLLISION_ACTION_MOVE_PERPENDICULAR","MAV_COLLISION_ACTION_NONE","MAV_COLLISION_ACTION_REPORT","MAV_COLLISION_ACTION_RTL","MAV_COLLISION_SRC_ADSB","MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT","MAV_COLLISION_THREAT_LEVEL_HIGH","MAV_COLLISION_THREAT_LEVEL_LOW","MAV_COLLISION_THREAT_LEVEL_NONE","MAV_COMP_ID_ADSB","MAV_COMP_ID_ALL","MAV_COMP_ID_AUTOPILOT1","MAV_COMP_ID_BATTERY","MAV_COMP_ID_BATTERY2","MAV_COMP_ID_CAMERA","MAV_COMP_ID_CAMERA2","MAV_COMP_ID_CAMERA3","MAV_COMP_ID_CAMERA4","MAV_COMP_ID_CAMERA5","MAV_COMP_ID_CAMERA6","MAV_COMP_ID_FLARM","MAV_COMP_ID_GIMBAL","MAV_COMP_ID_GIMBAL2","MAV_COMP_ID_GIMBAL3","MAV_COMP_ID_GIMBAL4","MAV_COMP_ID_GIMBAL5","MAV_COMP_ID_GIMBAL6","MAV_COMP_ID_GPS","MAV_COMP_ID_GPS2","MAV_COMP_ID_IMU","MAV_COMP_ID_IMU_2","MAV_COMP_ID_IMU_3","MAV_COMP_ID_LOG","MAV_COMP_ID_MAVCAN","MAV_COMP_ID_MISSIONPLANNER","MAV_COMP_ID_OBSTACLE_AVOIDANCE","MAV_COMP_ID_ODID_TXRX_1","MAV_COMP_ID_ODID_TXRX_2","MAV_COMP_ID_ODID_TXRX_3","MAV_COMP_ID_ONBOARD_COMPUTER","MAV_COMP_ID_ONBOARD_COMPUTER2","MAV_COMP_ID_ONBOARD_COMPUTER3","MAV_COMP_ID_ONBOARD_COMPUTER4","MAV_COMP_ID_OSD","MAV_COMP_ID_PAIRING_MANAGER","MAV_COMP_ID_PARACHUTE","MAV_COMP_ID_PATHPLANNER","MAV_COMP_ID_PERIPHERAL","MAV_COMP_ID_QX1_GIMBAL","MAV_COMP_ID_SERVO1","MAV_COMP_ID_SERVO10","MAV_COMP_ID_SERVO11","MAV_COMP_ID_SERVO12","MAV_COMP_ID_SERVO13","MAV_COMP_ID_SERVO14","MAV_COMP_ID_SERVO2","MAV_COMP_ID_SERVO3","MAV_COMP_ID_SERVO4","MAV_COMP_ID_SERVO5","MAV_COMP_ID_SERVO6","MAV_COMP_ID_SERVO7","MAV_COMP_ID_SERVO8","MAV_COMP_ID_SERVO9","MAV_COMP_ID_SYSTEM_CONTROL","MAV_COMP_ID_TELEMETRY_RADIO","MAV_COMP_ID_TUNNEL_NODE","MAV_COMP_ID_UART_BRIDGE","MAV_COMP_ID_UDP_BRIDGE","MAV_COMP_ID_USER1","MAV_COMP_ID_USER10","MAV_COMP_ID_USER11","MAV_COMP_ID_USER12","MAV_COMP_ID_USER13","MAV_COMP_ID_USER14","MAV_COMP_ID_USER15","MAV_COMP_ID_USER16","MAV_COMP_ID_USER17","MAV_COMP_ID_USER18","MAV_COMP_ID_USER19","MAV_COMP_ID_USER2","MAV_COMP_ID_USER20","MAV_COMP_ID_USER21","MAV_COMP_ID_USER22","MAV_COMP_ID_USER23","MAV_COMP_ID_USER24","MAV_COMP_ID_USER25","MAV_COMP_ID_USER26","MAV_COMP_ID_USER27","MAV_COMP_ID_USER28","MAV_COMP_ID_USER29","MAV_COMP_ID_USER3","MAV_COMP_ID_USER30","MAV_COMP_ID_USER31","MAV_COMP_ID_USER32","MAV_COMP_ID_USER33","MAV_COMP_ID_USER34","MAV_COMP_ID_USER35","MAV_COMP_ID_USER36","MAV_COMP_ID_USER37","MAV_COMP_ID_USER38","MAV_COMP_ID_USER39","MAV_COMP_ID_USER4","MAV_COMP_ID_USER40","MAV_COMP_ID_USER41","MAV_COMP_ID_USER42","MAV_COMP_ID_USER43","MAV_COMP_ID_USER45","MAV_COMP_ID_USER46","MAV_COMP_ID_USER47","MAV_COMP_ID_USER48","MAV_COMP_ID_USER49","MAV_COMP_ID_USER5","MAV_COMP_ID_USER50","MAV_COMP_ID_USER51","MAV_COMP_ID_USER52","MAV_COMP_ID_USER53","MAV_COMP_ID_USER54","MAV_COMP_ID_USER55","MAV_COMP_ID_USER56","MAV_COMP_ID_USER57","MAV_COMP_ID_USER58","MAV_COMP_ID_USER59","MAV_COMP_ID_USER6","MAV_COMP_ID_USER60","MAV_COMP_ID_USER61","MAV_COMP_ID_USER62","MAV_COMP_ID_USER63","MAV_COMP_ID_USER64","MAV_COMP_ID_USER65","MAV_COMP_ID_USER66","MAV_COMP_ID_USER67","MAV_COMP_ID_USER68","MAV_COMP_ID_USER69","MAV_COMP_ID_USER7","MAV_COMP_ID_USER70","MAV_COMP_ID_USER71","MAV_COMP_ID_USER72","MAV_COMP_ID_USER73","MAV_COMP_ID_USER74","MAV_COMP_ID_USER75","MAV_COMP_ID_USER8","MAV_COMP_ID_USER9","MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY","MAV_COMP_ID_WINCH","MAV_DATA_STREAM_ALL","MAV_DATA_STREAM_EXTENDED_STATUS","MAV_DATA_STREAM_EXTRA1","MAV_DATA_STREAM_EXTRA2","MAV_DATA_STREAM_EXTRA3","MAV_DATA_STREAM_POSITION","MAV_DATA_STREAM_RAW_CONTROLLER","MAV_DATA_STREAM_RAW_SENSORS","MAV_DATA_STREAM_RC_CHANNELS","MAV_DISTANCE_SENSOR_INFRARED","MAV_DISTANCE_SENSOR_LASER","MAV_DISTANCE_SENSOR_RADAR","MAV_DISTANCE_SENSOR_ULTRASOUND","MAV_DISTANCE_SENSOR_UNKNOWN","MAV_DO_REPOSITION_FLAGS_CHANGE_MODE","MAV_ESTIMATOR_TYPE_AUTOPILOT","MAV_ESTIMATOR_TYPE_GPS","MAV_ESTIMATOR_TYPE_GPS_INS","MAV_ESTIMATOR_TYPE_LIDAR","MAV_ESTIMATOR_TYPE_MOCAP","MAV_ESTIMATOR_TYPE_NAIVE","MAV_ESTIMATOR_TYPE_UNKNOWN","MAV_ESTIMATOR_TYPE_VIO","MAV_ESTIMATOR_TYPE_VISION","MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET","MAV_EVENT_ERROR_REASON_UNAVAILABLE","MAV_FRAME_BODY_FRD","MAV_FRAME_BODY_NED","MAV_FRAME_BODY_OFFSET_NED","MAV_FRAME_GLOBAL","MAV_FRAME_GLOBAL_INT","MAV_FRAME_GLOBAL_RELATIVE_ALT","MAV_FRAME_GLOBAL_RELATIVE_ALT_INT","MAV_FRAME_GLOBAL_TERRAIN_ALT","MAV_FRAME_GLOBAL_TERRAIN_ALT_INT","MAV_FRAME_LOCAL_ENU","MAV_FRAME_LOCAL_FLU","MAV_FRAME_LOCAL_FRD","MAV_FRAME_LOCAL_NED","MAV_FRAME_LOCAL_OFFSET_NED","MAV_FRAME_MISSION","MAV_FRAME_RESERVED_13","MAV_FRAME_RESERVED_14","MAV_FRAME_RESERVED_15","MAV_FRAME_RESERVED_16","MAV_FRAME_RESERVED_17","MAV_FRAME_RESERVED_18","MAV_FRAME_RESERVED_19","MAV_FTP_ERR_EOF","MAV_FTP_ERR_FAIL","MAV_FTP_ERR_FAILERRNO","MAV_FTP_ERR_FILEEXISTS","MAV_FTP_ERR_FILENOTFOUND","MAV_FTP_ERR_FILEPROTECTED","MAV_FTP_ERR_INVALIDDATASIZE","MAV_FTP_ERR_INVALIDSESSION","MAV_FTP_ERR_NONE","MAV_FTP_ERR_NOSESSIONSAVAILABLE","MAV_FTP_ERR_UNKNOWNCOMMAND","MAV_FTP_OPCODE_ACK","MAV_FTP_OPCODE_BURSTREADFILE","MAV_FTP_OPCODE_CALCFILECRC","MAV_FTP_OPCODE_CREATEDIRECTORY","MAV_FTP_OPCODE_CREATEFILE","MAV_FTP_OPCODE_LISTDIRECTORY","MAV_FTP_OPCODE_NAK","MAV_FTP_OPCODE_NONE","MAV_FTP_OPCODE_OPENFILERO","MAV_FTP_OPCODE_OPENFILEWO","MAV_FTP_OPCODE_READFILE","MAV_FTP_OPCODE_REMOVEDIRECTORY","MAV_FTP_OPCODE_REMOVEFILE","MAV_FTP_OPCODE_RENAME","MAV_FTP_OPCODE_RESETSESSION","MAV_FTP_OPCODE_TERMINATESESSION","MAV_FTP_OPCODE_TRUNCATEFILE","MAV_FTP_OPCODE_WRITEFILE","MAV_GENERATOR_STATUS_FLAG_BATTERY_OVERCHARGE_CURRENT_FAULT","MAV_GENERATOR_STATUS_FLAG_BATTERY_UNDERVOLT_FAULT","MAV_GENERATOR_STATUS_FLAG_CHARGING","MAV_GENERATOR_STATUS_FLAG_COMMUNICATION_WARNING","MAV_GENERATOR_STATUS_FLAG_COOLING_WARNING","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_FAULT","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_FAULT","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_WARNING","MAV_GENERATOR_STATUS_FLAG_GENERATING","MAV_GENERATOR_STATUS_FLAG_IDLE","MAV_GENERATOR_STATUS_FLAG_MAINTENANCE_REQUIRED","MAV_GENERATOR_STATUS_FLAG_MAXPOWER","MAV_GENERATOR_STATUS_FLAG_OFF","MAV_GENERATOR_STATUS_FLAG_OVERCURRENT_FAULT","MAV_GENERATOR_STATUS_FLAG_OVERTEMP_FAULT","MAV_GENERATOR_STATUS_FLAG_OVERTEMP_WARNING","MAV_GENERATOR_STATUS_FLAG_OVERVOLTAGE_FAULT","MAV_GENERATOR_STATUS_FLAG_POWERSOURCE_FAULT","MAV_GENERATOR_STATUS_FLAG_POWER_RAIL_FAULT","MAV_GENERATOR_STATUS_FLAG_READY","MAV_GENERATOR_STATUS_FLAG_REDUCED_POWER","MAV_GENERATOR_STATUS_FLAG_START_INHIBITED","MAV_GENERATOR_STATUS_FLAG_WARMING_UP","MAV_GOTO_DO_CONTINUE","MAV_GOTO_DO_HOLD","MAV_GOTO_HOLD_AT_CURRENT_POSITION","MAV_GOTO_HOLD_AT_SPECIFIED_POSITION","MAV_LANDED_STATE_IN_AIR","MAV_LANDED_STATE_LANDING","MAV_LANDED_STATE_ON_GROUND","MAV_LANDED_STATE_TAKEOFF","MAV_LANDED_STATE_UNDEFINED","MAV_MISSION_ACCEPTED","MAV_MISSION_DENIED","MAV_MISSION_ERROR","MAV_MISSION_INVALID","MAV_MISSION_INVALID_PARAM1","MAV_MISSION_INVALID_PARAM2","MAV_MISSION_INVALID_PARAM3","MAV_MISSION_INVALID_PARAM4","MAV_MISSION_INVALID_PARAM5_X","MAV_MISSION_INVALID_PARAM6_Y","MAV_MISSION_INVALID_PARAM7","MAV_MISSION_INVALID_SEQUENCE","MAV_MISSION_NO_SPACE","MAV_MISSION_OPERATION_CANCELLED","MAV_MISSION_TYPE_ALL","MAV_MISSION_TYPE_FENCE","MAV_MISSION_TYPE_MISSION","MAV_MISSION_TYPE_RALLY","MAV_MISSION_UNSUPPORTED","MAV_MISSION_UNSUPPORTED_FRAME","MAV_MODE_AUTO_ARMED","MAV_MODE_AUTO_DISARMED","MAV_MODE_FLAG_AUTO_ENABLED","MAV_MODE_FLAG_CUSTOM_MODE_ENABLED","MAV_MODE_FLAG_DECODE_POSITION_AUTO","MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE","MAV_MODE_FLAG_DECODE_POSITION_GUIDED","MAV_MODE_FLAG_DECODE_POSITION_HIL","MAV_MODE_FLAG_DECODE_POSITION_MANUAL","MAV_MODE_FLAG_DECODE_POSITION_SAFETY","MAV_MODE_FLAG_DECODE_POSITION_STABILIZE","MAV_MODE_FLAG_DECODE_POSITION_TEST","MAV_MODE_FLAG_GUIDED_ENABLED","MAV_MODE_FLAG_HIL_ENABLED","MAV_MODE_FLAG_MANUAL_INPUT_ENABLED","MAV_MODE_FLAG_SAFETY_ARMED","MAV_MODE_FLAG_STABILIZE_ENABLED","MAV_MODE_FLAG_TEST_ENABLED","MAV_MODE_GUIDED_ARMED","MAV_MODE_GUIDED_DISARMED","MAV_MODE_MANUAL_ARMED","MAV_MODE_MANUAL_DISARMED","MAV_MODE_PREFLIGHT","MAV_MODE_STABILIZE_ARMED","MAV_MODE_STABILIZE_DISARMED","MAV_MODE_TEST_ARMED","MAV_MODE_TEST_DISARMED","MAV_MOUNT_MODE_GPS_POINT","MAV_MOUNT_MODE_HOME_LOCATION","MAV_MOUNT_MODE_MAVLINK_TARGETING","MAV_MOUNT_MODE_NEUTRAL","MAV_MOUNT_MODE_RC_TARGETING","MAV_MOUNT_MODE_RETRACT","MAV_MOUNT_MODE_SYSID_TARGET","MAV_ODID_ARM_STATUS_GOOD_TO_ARM","MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC","MAV_ODID_AUTH_TYPE_MESSAGE_SET_SIGNATURE","MAV_ODID_AUTH_TYPE_NETWORK_REMOTE_ID","MAV_ODID_AUTH_TYPE_NONE","MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE","MAV_ODID_AUTH_TYPE_SPECIFIC_AUTHENTICATION","MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE","MAV_ODID_CATEGORY_EU_CERTIFIED","MAV_ODID_CATEGORY_EU_OPEN","MAV_ODID_CATEGORY_EU_SPECIFIC","MAV_ODID_CATEGORY_EU_UNDECLARED","MAV_ODID_CLASSIFICATION_TYPE_EU","MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED","MAV_ODID_CLASS_EU_CLASS_0","MAV_ODID_CLASS_EU_CLASS_1","MAV_ODID_CLASS_EU_CLASS_2","MAV_ODID_CLASS_EU_CLASS_3","MAV_ODID_CLASS_EU_CLASS_4","MAV_ODID_CLASS_EU_CLASS_5","MAV_ODID_CLASS_EU_CLASS_6","MAV_ODID_CLASS_EU_UNDECLARED","MAV_ODID_DESC_TYPE_EMERGENCY","MAV_ODID_DESC_TYPE_EXTENDED_STATUS","MAV_ODID_DESC_TYPE_TEXT","MAV_ODID_HEIGHT_REF_OVER_GROUND","MAV_ODID_HEIGHT_REF_OVER_TAKEOFF","MAV_ODID_HOR_ACC_0_05NM","MAV_ODID_HOR_ACC_0_1NM","MAV_ODID_HOR_ACC_0_3NM","MAV_ODID_HOR_ACC_0_5NM","MAV_ODID_HOR_ACC_10NM","MAV_ODID_HOR_ACC_10_METER","MAV_ODID_HOR_ACC_1NM","MAV_ODID_HOR_ACC_1_METER","MAV_ODID_HOR_ACC_2NM","MAV_ODID_HOR_ACC_30_METER","MAV_ODID_HOR_ACC_3_METER","MAV_ODID_HOR_ACC_4NM","MAV_ODID_HOR_ACC_UNKNOWN","MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID","MAV_ODID_ID_TYPE_NONE","MAV_ODID_ID_TYPE_SERIAL_NUMBER","MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID","MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID","MAV_ODID_OPERATOR_ID_TYPE_CAA","MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED","MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS","MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF","MAV_ODID_SPEED_ACC_0_3_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_1_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_UNKNOWN","MAV_ODID_STATUS_AIRBORNE","MAV_ODID_STATUS_EMERGENCY","MAV_ODID_STATUS_GROUND","MAV_ODID_STATUS_REMOTE_ID_SYSTEM_FAILURE","MAV_ODID_STATUS_UNDECLARED","MAV_ODID_TIME_ACC_0_1_SECOND","MAV_ODID_TIME_ACC_0_2_SECOND","MAV_ODID_TIME_ACC_0_3_SECOND","MAV_ODID_TIME_ACC_0_4_SECOND","MAV_ODID_TIME_ACC_0_5_SECOND","MAV_ODID_TIME_ACC_0_6_SECOND","MAV_ODID_TIME_ACC_0_7_SECOND","MAV_ODID_TIME_ACC_0_8_SECOND","MAV_ODID_TIME_ACC_0_9_SECOND","MAV_ODID_TIME_ACC_1_0_SECOND","MAV_ODID_TIME_ACC_1_1_SECOND","MAV_ODID_TIME_ACC_1_2_SECOND","MAV_ODID_TIME_ACC_1_3_SECOND","MAV_ODID_TIME_ACC_1_4_SECOND","MAV_ODID_TIME_ACC_1_5_SECOND","MAV_ODID_TIME_ACC_UNKNOWN","MAV_ODID_UA_TYPE_AEROPLANE","MAV_ODID_UA_TYPE_AIRSHIP","MAV_ODID_UA_TYPE_CAPTIVE_BALLOON","MAV_ODID_UA_TYPE_FREE_BALLOON","MAV_ODID_UA_TYPE_FREE_FALL_PARACHUTE","MAV_ODID_UA_TYPE_GLIDER","MAV_ODID_UA_TYPE_GROUND_OBSTACLE","MAV_ODID_UA_TYPE_GYROPLANE","MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR","MAV_ODID_UA_TYPE_HYBRID_LIFT","MAV_ODID_UA_TYPE_KITE","MAV_ODID_UA_TYPE_NONE","MAV_ODID_UA_TYPE_ORNITHOPTER","MAV_ODID_UA_TYPE_OTHER","MAV_ODID_UA_TYPE_ROCKET","MAV_ODID_UA_TYPE_TETHERED_POWERED_AIRCRAFT","MAV_ODID_VER_ACC_10_METER","MAV_ODID_VER_ACC_150_METER","MAV_ODID_VER_ACC_1_METER","MAV_ODID_VER_ACC_25_METER","MAV_ODID_VER_ACC_3_METER","MAV_ODID_VER_ACC_45_METER","MAV_ODID_VER_ACC_UNKNOWN","MAV_PARAM_EXT_TYPE_CUSTOM","MAV_PARAM_EXT_TYPE_INT16","MAV_PARAM_EXT_TYPE_INT32","MAV_PARAM_EXT_TYPE_INT64","MAV_PARAM_EXT_TYPE_INT8","MAV_PARAM_EXT_TYPE_REAL32","MAV_PARAM_EXT_TYPE_REAL64","MAV_PARAM_EXT_TYPE_UINT16","MAV_PARAM_EXT_TYPE_UINT32","MAV_PARAM_EXT_TYPE_UINT64","MAV_PARAM_EXT_TYPE_UINT8","MAV_PARAM_TYPE_INT16","MAV_PARAM_TYPE_INT32","MAV_PARAM_TYPE_INT64","MAV_PARAM_TYPE_INT8","MAV_PARAM_TYPE_REAL32","MAV_PARAM_TYPE_REAL64","MAV_PARAM_TYPE_UINT16","MAV_PARAM_TYPE_UINT32","MAV_PARAM_TYPE_UINT64","MAV_PARAM_TYPE_UINT8","MAV_POWER_STATUS_BRICK_VALID","MAV_POWER_STATUS_CHANGED","MAV_POWER_STATUS_PERIPH_HIPOWER_OVERCURRENT","MAV_POWER_STATUS_PERIPH_OVERCURRENT","MAV_POWER_STATUS_SERVO_VALID","MAV_POWER_STATUS_USB_CONNECTED","MAV_PROTOCOL_CAPABILITY_COMMAND_INT","MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION","MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION","MAV_PROTOCOL_CAPABILITY_FTP","MAV_PROTOCOL_CAPABILITY_MAVLINK2","MAV_PROTOCOL_CAPABILITY_MISSION_FENCE","MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT","MAV_PROTOCOL_CAPABILITY_MISSION_INT","MAV_PROTOCOL_CAPABILITY_MISSION_RALLY","MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE","MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST","MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT","MAV_PROTOCOL_CAPABILITY_RESERVED2","MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET","MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET","MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT","MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED","MAV_PROTOCOL_CAPABILITY_TERRAIN","MAV_RESULT_ACCEPTED","MAV_RESULT_CANCELLED","MAV_RESULT_DENIED","MAV_RESULT_FAILED","MAV_RESULT_IN_PROGRESS","MAV_RESULT_TEMPORARILY_REJECTED","MAV_RESULT_UNSUPPORTED","MAV_ROI_LOCATION","MAV_ROI_NONE","MAV_ROI_TARGET","MAV_ROI_WPINDEX","MAV_ROI_WPNEXT","MAV_SENSOR_ROTATION_CUSTOM","MAV_SENSOR_ROTATION_NONE","MAV_SENSOR_ROTATION_PITCH_180","MAV_SENSOR_ROTATION_PITCH_180_YAW_270","MAV_SENSOR_ROTATION_PITCH_180_YAW_90","MAV_SENSOR_ROTATION_PITCH_270","MAV_SENSOR_ROTATION_PITCH_315","MAV_SENSOR_ROTATION_PITCH_90","MAV_SENSOR_ROTATION_ROLL_180","MAV_SENSOR_ROTATION_ROLL_180_PITCH_270","MAV_SENSOR_ROTATION_ROLL_180_PITCH_90","MAV_SENSOR_ROTATION_ROLL_180_YAW_135","MAV_SENSOR_ROTATION_ROLL_180_YAW_225","MAV_SENSOR_ROTATION_ROLL_180_YAW_270","MAV_SENSOR_ROTATION_ROLL_180_YAW_315","MAV_SENSOR_ROTATION_ROLL_180_YAW_45","MAV_SENSOR_ROTATION_ROLL_180_YAW_90","MAV_SENSOR_ROTATION_ROLL_270","MAV_SENSOR_ROTATION_ROLL_270_PITCH_180","MAV_SENSOR_ROTATION_ROLL_270_PITCH_270","MAV_SENSOR_ROTATION_ROLL_270_PITCH_90","MAV_SENSOR_ROTATION_ROLL_270_YAW_135","MAV_SENSOR_ROTATION_ROLL_270_YAW_45","MAV_SENSOR_ROTATION_ROLL_270_YAW_90","MAV_SENSOR_ROTATION_ROLL_90","MAV_SENSOR_ROTATION_ROLL_90_PITCH_180","MAV_SENSOR_ROTATION_ROLL_90_PITCH_180_YAW_90","MAV_SENSOR_ROTATION_ROLL_90_PITCH_270","MAV_SENSOR_ROTATION_ROLL_90_PITCH_315","MAV_SENSOR_ROTATION_ROLL_90_PITCH_68_YAW_293","MAV_SENSOR_ROTATION_ROLL_90_PITCH_90","MAV_SENSOR_ROTATION_ROLL_90_YAW_135","MAV_SENSOR_ROTATION_ROLL_90_YAW_270","MAV_SENSOR_ROTATION_ROLL_90_YAW_45","MAV_SENSOR_ROTATION_ROLL_90_YAW_90","MAV_SENSOR_ROTATION_YAW_135","MAV_SENSOR_ROTATION_YAW_180","MAV_SENSOR_ROTATION_YAW_225","MAV_SENSOR_ROTATION_YAW_270","MAV_SENSOR_ROTATION_YAW_315","MAV_SENSOR_ROTATION_YAW_45","MAV_SENSOR_ROTATION_YAW_90","MAV_SEVERITY_ALERT","MAV_SEVERITY_CRITICAL","MAV_SEVERITY_DEBUG","MAV_SEVERITY_EMERGENCY","MAV_SEVERITY_ERROR","MAV_SEVERITY_INFO","MAV_SEVERITY_NOTICE","MAV_SEVERITY_WARNING","MAV_STATE_ACTIVE","MAV_STATE_BOOT","MAV_STATE_CALIBRATING","MAV_STATE_CRITICAL","MAV_STATE_EMERGENCY","MAV_STATE_FLIGHT_TERMINATION","MAV_STATE_POWEROFF","MAV_STATE_STANDBY","MAV_STATE_UNINIT","MAV_SYS_STATUS_AHRS","MAV_SYS_STATUS_EXTENSION_USED","MAV_SYS_STATUS_GEOFENCE","MAV_SYS_STATUS_LOGGING","MAV_SYS_STATUS_OBSTACLE_AVOIDANCE","MAV_SYS_STATUS_PREARM_CHECK","MAV_SYS_STATUS_RECOVERY_SYSTEM","MAV_SYS_STATUS_REVERSE_MOTOR","MAV_SYS_STATUS_SENSOR_3D_ACCEL","MAV_SYS_STATUS_SENSOR_3D_ACCEL2","MAV_SYS_STATUS_SENSOR_3D_GYRO","MAV_SYS_STATUS_SENSOR_3D_GYRO2","MAV_SYS_STATUS_SENSOR_3D_MAG","MAV_SYS_STATUS_SENSOR_3D_MAG2","MAV_SYS_STATUS_SENSOR_ABSOLUTE_PRESSURE","MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL","MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION","MAV_SYS_STATUS_SENSOR_BATTERY","MAV_SYS_STATUS_SENSOR_DIFFERENTIAL_PRESSURE","MAV_SYS_STATUS_SENSOR_EXTERNAL_GROUND_TRUTH","MAV_SYS_STATUS_SENSOR_GPS","MAV_SYS_STATUS_SENSOR_LASER_POSITION","MAV_SYS_STATUS_SENSOR_MOTOR_OUTPUTS","MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW","MAV_SYS_STATUS_SENSOR_PROPULSION","MAV_SYS_STATUS_SENSOR_PROXIMITY","MAV_SYS_STATUS_SENSOR_RC_RECEIVER","MAV_SYS_STATUS_SENSOR_SATCOM","MAV_SYS_STATUS_SENSOR_VISION_POSITION","MAV_SYS_STATUS_SENSOR_XY_POSITION_CONTROL","MAV_SYS_STATUS_SENSOR_YAW_POSITION","MAV_SYS_STATUS_SENSOR_Z_ALTITUDE_CONTROL","MAV_SYS_STATUS_TERRAIN","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED2","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED3","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED4","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED5","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED6","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED7","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED8","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED9","MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN","MAV_TYPE_ADSB","MAV_TYPE_AIRSHIP","MAV_TYPE_ANTENNA_TRACKER","MAV_TYPE_BATTERY","MAV_TYPE_CAMERA","MAV_TYPE_CHARGING_STATION","MAV_TYPE_COAXIAL","MAV_TYPE_DECAROTOR","MAV_TYPE_DODECAROTOR","MAV_TYPE_FIXED_WING","MAV_TYPE_FLAPPING_WING","MAV_TYPE_FLARM","MAV_TYPE_FREE_BALLOON","MAV_TYPE_GCS","MAV_TYPE_GENERIC","MAV_TYPE_GIMBAL","MAV_TYPE_GPS","MAV_TYPE_GROUND_ROVER","MAV_TYPE_HELICOPTER","MAV_TYPE_HEXAROTOR","MAV_TYPE_IMU","MAV_TYPE_KITE","MAV_TYPE_LOG","MAV_TYPE_OCTOROTOR","MAV_TYPE_ODID","MAV_TYPE_ONBOARD_CONTROLLER","MAV_TYPE_OSD","MAV_TYPE_PARACHUTE","MAV_TYPE_PARAFOIL","MAV_TYPE_QUADROTOR","MAV_TYPE_ROCKET","MAV_TYPE_SERVO","MAV_TYPE_SUBMARINE","MAV_TYPE_SURFACE_BOAT","MAV_TYPE_TRICOPTER","MAV_TYPE_VTOL_FIXEDROTOR","MAV_TYPE_VTOL_RESERVED5","MAV_TYPE_VTOL_TAILSITTER","MAV_TYPE_VTOL_TAILSITTER_DUOROTOR","MAV_TYPE_VTOL_TAILSITTER_QUADROTOR","MAV_TYPE_VTOL_TILTROTOR","MAV_TYPE_VTOL_TILTWING","MAV_TYPE_WINCH","MAV_VTOL_STATE_FW","MAV_VTOL_STATE_MC","MAV_VTOL_STATE_TRANSITION_TO_FW","MAV_VTOL_STATE_TRANSITION_TO_MC","MAV_VTOL_STATE_UNDEFINED","MAV_WINCH_STATUS_ABANDON_LINE","MAV_WINCH_STATUS_ARRESTING","MAV_WINCH_STATUS_CLUTCH_ENGAGED","MAV_WINCH_STATUS_DROPPING","MAV_WINCH_STATUS_FULLY_RETRACTED","MAV_WINCH_STATUS_GROUND_SENSE","MAV_WINCH_STATUS_HEALTHY","MAV_WINCH_STATUS_LOAD_LINE","MAV_WINCH_STATUS_LOAD_PAYLOAD","MAV_WINCH_STATUS_LOCKED","MAV_WINCH_STATUS_LOCKING","MAV_WINCH_STATUS_MOVING","MAV_WINCH_STATUS_REDELIVER","MAV_WINCH_STATUS_RETRACTING","MEMORY_VECT","MEMORY_VECT_DATA","MESSAGE_INTERVAL","MESSAGE_INTERVAL_DATA","MISSION_ACK","MISSION_ACK_DATA","MISSION_CLEAR_ALL","MISSION_CLEAR_ALL_DATA","MISSION_COUNT","MISSION_COUNT_DATA","MISSION_CURRENT","MISSION_CURRENT_DATA","MISSION_ITEM","MISSION_ITEM_DATA","MISSION_ITEM_INT","MISSION_ITEM_INT_DATA","MISSION_ITEM_REACHED","MISSION_ITEM_REACHED_DATA","MISSION_READ_PERSISTENT","MISSION_REQUEST","MISSION_REQUEST_DATA","MISSION_REQUEST_INT","MISSION_REQUEST_INT_DATA","MISSION_REQUEST_LIST","MISSION_REQUEST_LIST_DATA","MISSION_REQUEST_PARTIAL_LIST","MISSION_REQUEST_PARTIAL_LIST_DATA","MISSION_RESET_DEFAULT","MISSION_SET_CURRENT","MISSION_SET_CURRENT_DATA","MISSION_STATE_ACTIVE","MISSION_STATE_COMPLETE","MISSION_STATE_NOT_STARTED","MISSION_STATE_NO_MISSION","MISSION_STATE_PAUSED","MISSION_STATE_UNKNOWN","MISSION_WRITE_PARTIAL_LIST","MISSION_WRITE_PARTIAL_LIST_DATA","MISSION_WRITE_PERSISTENT","MMSI","MOTOR_TEST_COMPASS_CAL","MOTOR_TEST_ORDER_BOARD","MOTOR_TEST_ORDER_DEFAULT","MOTOR_TEST_ORDER_SEQUENCE","MOTOR_TEST_THROTTLE_PERCENT","MOTOR_TEST_THROTTLE_PILOT","MOTOR_TEST_THROTTLE_PWM","MOUNT_ORIENTATION","MOUNT_ORIENTATION_DATA","MagCalStatus","MavArmAuthDeniedReason","MavAutopilot","MavBatteryChargeState","MavBatteryFault","MavBatteryFunction","MavBatteryMode","MavBatteryType","MavCmd","MavCmdAck","MavCollisionAction","MavCollisionSrc","MavCollisionThreatLevel","MavComponent","MavDataStream","MavDistanceSensor","MavDoRepositionFlags","MavEstimatorType","MavEventCurrentSequenceFlags","MavEventErrorReason","MavFrame","MavFtpErr","MavFtpOpcode","MavGeneratorStatusFlag","MavGoto","MavLandedState","MavMessage","MavMissionResult","MavMissionType","MavMode","MavModeFlag","MavModeFlagDecodePosition","MavMountMode","MavOdidArmStatus","MavOdidAuthType","MavOdidCategoryEu","MavOdidClassEu","MavOdidClassificationType","MavOdidDescType","MavOdidHeightRef","MavOdidHorAcc","MavOdidIdType","MavOdidOperatorIdType","MavOdidOperatorLocationType","MavOdidSpeedAcc","MavOdidStatus","MavOdidTimeAcc","MavOdidUaType","MavOdidVerAcc","MavParamExtType","MavParamType","MavPowerStatus","MavProtocolCapability","MavResult","MavRoi","MavSensorOrientation","MavSeverity","MavState","MavSysStatusSensor","MavSysStatusSensorExtended","MavTunnelPayloadType","MavType","MavVtolState","MavWinchStatusFlag","MavlinkDataStreamType","MissionState","MotorTestOrder","MotorTestThrottleType","NAMED_VALUE_FLOAT","NAMED_VALUE_FLOAT_DATA","NAMED_VALUE_INT","NAMED_VALUE_INT_DATA","NAV_CONTROLLER_OUTPUT","NAV_CONTROLLER_OUTPUT_DATA","NAV_VTOL_LAND_OPTIONS_DEFAULT","NAV_VTOL_LAND_OPTIONS_FW_DESCENT","NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT","NavVtolLandOptions","OBSTACLE_DISTANCE","OBSTACLE_DISTANCE_DATA","ODOMETRY","ODOMETRY_DATA","ONBOARD_COMPUTER_STATUS","ONBOARD_COMPUTER_STATUS_DATA","OPEN_DRONE_ID_ARM_STATUS","OPEN_DRONE_ID_ARM_STATUS_DATA","OPEN_DRONE_ID_AUTHENTICATION","OPEN_DRONE_ID_AUTHENTICATION_DATA","OPEN_DRONE_ID_BASIC_ID","OPEN_DRONE_ID_BASIC_ID_DATA","OPEN_DRONE_ID_LOCATION","OPEN_DRONE_ID_LOCATION_DATA","OPEN_DRONE_ID_MESSAGE_PACK","OPEN_DRONE_ID_MESSAGE_PACK_DATA","OPEN_DRONE_ID_OPERATOR_ID","OPEN_DRONE_ID_OPERATOR_ID_DATA","OPEN_DRONE_ID_SELF_ID","OPEN_DRONE_ID_SELF_ID_DATA","OPEN_DRONE_ID_SYSTEM","OPEN_DRONE_ID_SYSTEM_DATA","OPEN_DRONE_ID_SYSTEM_UPDATE","OPEN_DRONE_ID_SYSTEM_UPDATE_DATA","OPTICAL_FLOW","OPTICAL_FLOW_DATA","OPTICAL_FLOW_RAD","OPTICAL_FLOW_RAD_DATA","ORBIT_EXECUTION_STATUS","ORBIT_EXECUTION_STATUS_DATA","ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE","ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER","ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING","ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED","ORBIT_YAW_BEHAVIOUR_UNCONTROLLED","OrbitYawBehaviour","PARACHUTE_DISABLE","PARACHUTE_ENABLE","PARACHUTE_RELEASE","PARAM_ACK_ACCEPTED","PARAM_ACK_FAILED","PARAM_ACK_IN_PROGRESS","PARAM_ACK_VALUE_UNSUPPORTED","PARAM_EXT_ACK","PARAM_EXT_ACK_DATA","PARAM_EXT_REQUEST_LIST","PARAM_EXT_REQUEST_LIST_DATA","PARAM_EXT_REQUEST_READ","PARAM_EXT_REQUEST_READ_DATA","PARAM_EXT_SET","PARAM_EXT_SET_DATA","PARAM_EXT_VALUE","PARAM_EXT_VALUE_DATA","PARAM_MAP_RC","PARAM_MAP_RC_DATA","PARAM_READ_PERSISTENT","PARAM_REQUEST_LIST","PARAM_REQUEST_LIST_DATA","PARAM_REQUEST_READ","PARAM_REQUEST_READ_DATA","PARAM_RESET_ALL_DEFAULT","PARAM_RESET_CONFIG_DEFAULT","PARAM_RESET_SENSOR_DEFAULT","PARAM_SET","PARAM_SET_DATA","PARAM_VALUE","PARAM_VALUE_DATA","PARAM_WRITE_PERSISTENT","PING","PING_DATA","PLAY_TUNE","PLAY_TUNE_DATA","PLAY_TUNE_V2","PLAY_TUNE_V2_DATA","POSITION_TARGET_GLOBAL_INT","POSITION_TARGET_GLOBAL_INT_DATA","POSITION_TARGET_LOCAL_NED","POSITION_TARGET_LOCAL_NED_DATA","POSITION_TARGET_TYPEMASK_AX_IGNORE","POSITION_TARGET_TYPEMASK_AY_IGNORE","POSITION_TARGET_TYPEMASK_AZ_IGNORE","POSITION_TARGET_TYPEMASK_FORCE_SET","POSITION_TARGET_TYPEMASK_VX_IGNORE","POSITION_TARGET_TYPEMASK_VY_IGNORE","POSITION_TARGET_TYPEMASK_VZ_IGNORE","POSITION_TARGET_TYPEMASK_X_IGNORE","POSITION_TARGET_TYPEMASK_YAW_IGNORE","POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE","POSITION_TARGET_TYPEMASK_Y_IGNORE","POSITION_TARGET_TYPEMASK_Z_IGNORE","POWER_STATUS","POWER_STATUS_DATA","PRECISION_LAND_MODE_DISABLED","PRECISION_LAND_MODE_OPPORTUNISTIC","PRECISION_LAND_MODE_REQUIRED","PROTOCOL_VERSION","PROTOCOL_VERSION_DATA","ParachuteAction","ParamAck","PositionTargetTypemask","PrecisionLandMode","PreflightStorageMissionAction","PreflightStorageParameterAction","RADIO_STATUS","RADIO_STATUS_DATA","RAW_IMU","RAW_IMU_DATA","RAW_PRESSURE","RAW_PRESSURE_DATA","RAW_RPM","RAW_RPM_DATA","RC_CHANNELS","RC_CHANNELS_DATA","RC_CHANNELS_OVERRIDE","RC_CHANNELS_OVERRIDE_DATA","RC_CHANNELS_RAW","RC_CHANNELS_RAW_DATA","RC_CHANNELS_SCALED","RC_CHANNELS_SCALED_DATA","RC_TYPE_SPEKTRUM_DSM2","RC_TYPE_SPEKTRUM_DSMX","REQUEST_DATA_STREAM","REQUEST_DATA_STREAM_DATA","REQUEST_EVENT","REQUEST_EVENT_DATA","RESOURCE_REQUEST","RESOURCE_REQUEST_DATA","RESPONSE_EVENT_ERROR","RESPONSE_EVENT_ERROR_DATA","RTK_BASELINE_COORDINATE_SYSTEM_ECEF","RTK_BASELINE_COORDINATE_SYSTEM_NED","RcType","RtkBaselineCoordinateSystem","SAFETY_ALLOWED_AREA","SAFETY_ALLOWED_AREA_DATA","SAFETY_SET_ALLOWED_AREA","SAFETY_SET_ALLOWED_AREA_DATA","SCALED_IMU","SCALED_IMU2","SCALED_IMU2_DATA","SCALED_IMU3","SCALED_IMU3_DATA","SCALED_IMU_DATA","SCALED_PRESSURE","SCALED_PRESSURE2","SCALED_PRESSURE2_DATA","SCALED_PRESSURE3","SCALED_PRESSURE3_DATA","SCALED_PRESSURE_DATA","SERIAL_CONTROL","SERIAL_CONTROL_DATA","SERIAL_CONTROL_DEV_GPS1","SERIAL_CONTROL_DEV_GPS2","SERIAL_CONTROL_DEV_SHELL","SERIAL_CONTROL_DEV_TELEM1","SERIAL_CONTROL_DEV_TELEM2","SERIAL_CONTROL_FLAG_BLOCKING","SERIAL_CONTROL_FLAG_EXCLUSIVE","SERIAL_CONTROL_FLAG_MULTI","SERIAL_CONTROL_FLAG_REPLY","SERIAL_CONTROL_FLAG_RESPOND","SERIAL_CONTROL_SERIAL0","SERIAL_CONTROL_SERIAL1","SERIAL_CONTROL_SERIAL2","SERIAL_CONTROL_SERIAL3","SERIAL_CONTROL_SERIAL4","SERIAL_CONTROL_SERIAL5","SERIAL_CONTROL_SERIAL6","SERIAL_CONTROL_SERIAL7","SERIAL_CONTROL_SERIAL8","SERIAL_CONTROL_SERIAL9","SERVO_OUTPUT_RAW","SERVO_OUTPUT_RAW_DATA","SETUP_SIGNING","SETUP_SIGNING_DATA","SET_ACTUATOR_CONTROL_TARGET","SET_ACTUATOR_CONTROL_TARGET_DATA","SET_ATTITUDE_TARGET","SET_ATTITUDE_TARGET_DATA","SET_GPS_GLOBAL_ORIGIN","SET_GPS_GLOBAL_ORIGIN_DATA","SET_HOME_POSITION","SET_HOME_POSITION_DATA","SET_MODE","SET_MODE_DATA","SET_POSITION_TARGET_GLOBAL_INT","SET_POSITION_TARGET_GLOBAL_INT_DATA","SET_POSITION_TARGET_LOCAL_NED","SET_POSITION_TARGET_LOCAL_NED_DATA","SIM_STATE","SIM_STATE_DATA","SMART_BATTERY_INFO","SMART_BATTERY_INFO_DATA","STATUSTEXT","STATUSTEXT_DATA","STORAGE_INFORMATION","STORAGE_INFORMATION_DATA","STORAGE_STATUS_EMPTY","STORAGE_STATUS_NOT_SUPPORTED","STORAGE_STATUS_READY","STORAGE_STATUS_UNFORMATTED","STORAGE_TYPE_CF","STORAGE_TYPE_CFE","STORAGE_TYPE_HD","STORAGE_TYPE_MICROSD","STORAGE_TYPE_OTHER","STORAGE_TYPE_SD","STORAGE_TYPE_UNKNOWN","STORAGE_TYPE_USB_STICK","STORAGE_TYPE_XQD","STORAGE_USAGE_FLAG_LOGS","STORAGE_USAGE_FLAG_PHOTO","STORAGE_USAGE_FLAG_SET","STORAGE_USAGE_FLAG_VIDEO","SUPPORTED_TUNES","SUPPORTED_TUNES_DATA","SYSTEM_TIME","SYSTEM_TIME_DATA","SYS_STATUS","SYS_STATUS_DATA","SerialControlDev","SerialControlFlag","SetFocusType","StorageStatus","StorageType","StorageUsageFlag","TERRAIN_CHECK","TERRAIN_CHECK_DATA","TERRAIN_DATA","TERRAIN_DATA_DATA","TERRAIN_REPORT","TERRAIN_REPORT_DATA","TERRAIN_REQUEST","TERRAIN_REQUEST_DATA","TIMESYNC","TIMESYNC_DATA","TIME_ESTIMATE_TO_TARGET","TIME_ESTIMATE_TO_TARGET_DATA","TRAJECTORY_REPRESENTATION_BEZIER","TRAJECTORY_REPRESENTATION_BEZIER_DATA","TRAJECTORY_REPRESENTATION_WAYPOINTS","TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA","TUNE_FORMAT_MML_MODERN","TUNE_FORMAT_QBASIC1_1","TUNNEL","TUNNEL_DATA","TuneFormat","UAVCAN_NODE_HEALTH_CRITICAL","UAVCAN_NODE_HEALTH_ERROR","UAVCAN_NODE_HEALTH_OK","UAVCAN_NODE_HEALTH_WARNING","UAVCAN_NODE_INFO","UAVCAN_NODE_INFO_DATA","UAVCAN_NODE_MODE_INITIALIZATION","UAVCAN_NODE_MODE_MAINTENANCE","UAVCAN_NODE_MODE_OFFLINE","UAVCAN_NODE_MODE_OPERATIONAL","UAVCAN_NODE_MODE_SOFTWARE_UPDATE","UAVCAN_NODE_STATUS","UAVCAN_NODE_STATUS_DATA","UAVIONIX_ADSB_OUT_CFG","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L15M_W23M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25M_W28P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25_34M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_33M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_38M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_39P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_45M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_45M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_52M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_59P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_67M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W72P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W80M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W80M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W90M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA","UAVIONIX_ADSB_OUT_CFG_DATA","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_2M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_4M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_6M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_0M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_2M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_4M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_6M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_APPLIED_BY_SENSOR","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA","UAVIONIX_ADSB_OUT_DOWNED_AIRCRAFT_EMERGENCY","UAVIONIX_ADSB_OUT_DYNAMIC","UAVIONIX_ADSB_OUT_DYNAMIC_DATA","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_2D","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_3D","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_DGPS","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_1","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_RTK","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_AUTOPILOT_ENABLED","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_IDENT","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_NICBARO_CROSSCHECKED","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_ON_GROUND","UAVIONIX_ADSB_OUT_GENERAL_EMERGENCY","UAVIONIX_ADSB_OUT_LIFEGUARD_EMERGENCY","UAVIONIX_ADSB_OUT_MINIMUM_FUEL_EMERGENCY","UAVIONIX_ADSB_OUT_NO_COMM_EMERGENCY","UAVIONIX_ADSB_OUT_NO_EMERGENCY","UAVIONIX_ADSB_OUT_RESERVED","UAVIONIX_ADSB_OUT_RF_SELECT_RX_ENABLED","UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY","UAVIONIX_ADSB_OUT_RF_SELECT_TX_ENABLED","UAVIONIX_ADSB_OUT_UNLAWFUL_INTERFERANCE_EMERGENCY","UAVIONIX_ADSB_RF_HEALTH_FAIL_RX","UAVIONIX_ADSB_RF_HEALTH_FAIL_TX","UAVIONIX_ADSB_RF_HEALTH_INITIALIZING","UAVIONIX_ADSB_RF_HEALTH_OK","UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT","UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA","UNDER_WAY","UTM_DATA_AVAIL_FLAGS_ALTITUDE_AVAILABLE","UTM_DATA_AVAIL_FLAGS_HORIZONTAL_VELO_AVAILABLE","UTM_DATA_AVAIL_FLAGS_NEXT_WAYPOINT_AVAILABLE","UTM_DATA_AVAIL_FLAGS_POSITION_AVAILABLE","UTM_DATA_AVAIL_FLAGS_RELATIVE_ALTITUDE_AVAILABLE","UTM_DATA_AVAIL_FLAGS_TIME_VALID","UTM_DATA_AVAIL_FLAGS_UAS_ID_AVAILABLE","UTM_DATA_AVAIL_FLAGS_VERTICAL_VELO_AVAILABLE","UTM_FLIGHT_STATE_AIRBORNE","UTM_FLIGHT_STATE_EMERGENCY","UTM_FLIGHT_STATE_GROUND","UTM_FLIGHT_STATE_NOCTRL","UTM_FLIGHT_STATE_UNKNOWN","UTM_GLOBAL_POSITION","UTM_GLOBAL_POSITION_DATA","UavcanNodeHealth","UavcanNodeMode","UavionixAdsbEmergencyStatus","UavionixAdsbOutCfgAircraftSize","UavionixAdsbOutCfgGpsOffsetLat","UavionixAdsbOutCfgGpsOffsetLon","UavionixAdsbOutDynamicGpsFix","UavionixAdsbOutDynamicState","UavionixAdsbOutRfSelect","UavionixAdsbRfHealth","UtmDataAvailFlags","UtmFlightState","V2_EXTENSION","V2_EXTENSION_DATA","VFR_HUD","VFR_HUD_DATA","VIBRATION","VIBRATION_DATA","VICON_POSITION_ESTIMATE","VICON_POSITION_ESTIMATE_DATA","VIDEO_STREAM_INFORMATION","VIDEO_STREAM_INFORMATION_DATA","VIDEO_STREAM_STATUS","VIDEO_STREAM_STATUS_DATA","VIDEO_STREAM_STATUS_FLAGS_RUNNING","VIDEO_STREAM_STATUS_FLAGS_THERMAL","VIDEO_STREAM_TYPE_MPEG_TS_H264","VIDEO_STREAM_TYPE_RTPUDP","VIDEO_STREAM_TYPE_RTSP","VIDEO_STREAM_TYPE_TCP_MPEG","VISION_POSITION_ESTIMATE","VISION_POSITION_ESTIMATE_DATA","VISION_SPEED_ESTIMATE","VISION_SPEED_ESTIMATE_DATA","VTOL_TRANSITION_HEADING_ANY","VTOL_TRANSITION_HEADING_NEXT_WAYPOINT","VTOL_TRANSITION_HEADING_SPECIFIED","VTOL_TRANSITION_HEADING_TAKEOFF","VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT","Vcc","VelEW","VideoStreamStatusFlags","VideoStreamType","Vservo","VtolTransitionHeading","WHEEL_DISTANCE","WHEEL_DISTANCE_DATA","WIFI_CONFIG_AP","WIFI_CONFIG_AP_DATA","WIFI_CONFIG_AP_MODE_AP","WIFI_CONFIG_AP_MODE_DISABLED","WIFI_CONFIG_AP_MODE_STATION","WIFI_CONFIG_AP_MODE_UNDEFINED","WIFI_CONFIG_AP_RESPONSE_ACCEPTED","WIFI_CONFIG_AP_RESPONSE_MODE_ERROR","WIFI_CONFIG_AP_RESPONSE_PASSWORD_ERROR","WIFI_CONFIG_AP_RESPONSE_REJECTED","WIFI_CONFIG_AP_RESPONSE_SSID_ERROR","WIFI_CONFIG_AP_RESPONSE_UNDEFINED","WINCH_ABANDON_LINE","WINCH_DELIVER","WINCH_HOLD","WINCH_LOAD_LINE","WINCH_LOAD_PAYLOAD","WINCH_LOCK","WINCH_RATE_CONTROL","WINCH_RELATIVE_LENGTH_CONTROL","WINCH_RELAXED","WINCH_RETRACT","WINCH_STATUS","WINCH_STATUS_DATA","WIND_COV","WIND_COV_DATA","WifiConfigApMode","WifiConfigApResponse","WinchActions","ZOOM_TYPE_CONTINUOUS","ZOOM_TYPE_FOCAL_LENGTH","ZOOM_TYPE_RANGE","ZOOM_TYPE_STEP","abs_pressure","abs_pressure","acc","acc_x","acc_y","acc_z","accuracy","accuracy","accuracyHor","accuracyVel","accuracyVert","ack","action","active","actuator","address","afx","afx","afx","afx","afy","afy","afy","afy","afz","afz","afz","afz","aircraftSize","airspeed","airspeed","airspeed","airspeed","airspeed_sp","airspeed_sp","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt_camera","alt_error","alt_image","altitude","altitude","altitude","altitude","altitude","altitude","altitude_amsl","altitude_amsl","altitude_barometric","altitude_geodetic","altitude_local","altitude_minimum_delta","altitude_monotonic","altitude_relative","altitude_sp","altitude_terrain","altitude_type","angle_x","angle_y","angular_velocity_x","angular_velocity_x","angular_velocity_x","angular_velocity_y","angular_velocity_y","angular_velocity_y","angular_velocity_z","angular_velocity_z","angular_velocity_z","apn","approach_x","approach_x","approach_y","approach_y","approach_z","approach_z","area_ceiling","area_count","area_floor","area_radius","arguments","arming_time_utc","array_id","aspd_error","attitude_q","attitude_quaternion","authentication_data","authentication_type","autocontinue","autocontinue","autocontinue","autopilot","autopilot","autosaved","aux1","aux2","aux3","aux4","available_capacity","available_capacity","ax","ay","az","baroAltMSL","barometer_accuracy","barometric_pressure","base_mode","base_mode","base_mode","baseline_a_mm","baseline_a_mm","baseline_b_mm","baseline_b_mm","baseline_c_mm","baseline_c_mm","baseline_coords_type","baseline_coords_type","bat_current_setpoint","battery","battery_current","battery_function","battery_function","battery_remaining","battery_remaining","battery_remaining","baudrate","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitrate","bitrate","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","board_version","body_pitch_rate","body_pitch_rate","body_roll_rate","body_roll_rate","body_yaw_rate","body_yaw_rate","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bottom_clearance","breach_count","breach_status","breach_time","breach_type","bus","bus","bus","bus_voltage","buttons","cal_mask","cal_status","callsign","callsign","callsign","cam_definition_uri","cam_definition_version","camera_id","cap_flags","cap_flags","capabilities","capacity_full","capacity_full_specification","capture_result","category_eu","chan10_raw","chan10_raw","chan11_raw","chan11_raw","chan12_raw","chan12_raw","chan13_raw","chan14_raw","chan15_raw","chan16_raw","chan17_raw","chan18_raw","chan1_raw","chan1_raw","chan1_raw","chan1_raw","chan1_scaled","chan2_raw","chan2_raw","chan2_raw","chan2_raw","chan2_scaled","chan3_raw","chan3_raw","chan3_raw","chan3_raw","chan3_scaled","chan4_raw","chan4_raw","chan4_raw","chan4_raw","chan4_scaled","chan5_raw","chan5_raw","chan5_raw","chan5_raw","chan5_scaled","chan6_raw","chan6_raw","chan6_raw","chan6_raw","chan6_scaled","chan7_raw","chan7_raw","chan7_raw","chan7_raw","chan7_scaled","chan8_raw","chan8_raw","chan8_raw","chan8_raw","chan8_scaled","chan9_raw","chan9_raw","chancount","charging_minimum_voltage","child_frame_id","class_eu","classification_type","climb","climb_rate","climb_rate","clipping_0","clipping_1","clipping_2","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cog","cog","cog","command","command","command","command","command","command","command","commanded_action","compass_id","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","confirmation","connection_type","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","control_request","control_request","controls","controls","controls","coordinate_frame","coordinate_frame","coordinate_frame","coordinate_frame","count","count","count","count","count","count","count","counter","covariance","covariance","covariance","covariance","cpu_combined","cpu_cores","current","current","current","current","current","current_battery","current_battery","current_consumed","current_distance","current_height","custom0","custom1","custom2","custom_cap_flags","custom_mode","custom_mode","custom_mode","custom_mode","custom_name","custom_state","cycle_count","cylinder_head_temperature","data","data","data","data","data","data","data","data","data","data","data_page","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default_message_from_id","delta","description","description_type","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destination_component","destination_system","device","device_name","dgps_age","dgps_numch","diag_x","diag_y","diag_z","diff_pressure","diff_pressure","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","dimension_bow","dimension_port","dimension_starboard","dimension_stern","direction","discharge_minimum_voltage","dist","distance","distance","distance","distance","distances","drop_rate_comm","ecu_index","emergencyStatus","emitterType","emitter_type","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","enable_lte","enable_pin","end","end_index","end_index","energy_consumed","engine_load","eph","eph","eph","eph","epv","epv","epv","epv","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","error","error_count","errors_comm","errors_count1","errors_count2","errors_count3","errors_count4","est_capabilities","estimator_status","estimator_type","estimator_type","event_time_boot_ms","exhaust_gas_temperature","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extra_crc","failed_sessions","failsafe","failure_flags","failure_flags","failure_flags","failure_reason","fan_speed","feed_forward_angular_velocity_z","fields_updated","fields_updated","file_crc","file_url","firmware_version","firmware_version","first_message_offset","first_message_offset","first_sequence","fitness","fix_type","fix_type","fix_type","fix_type","fixed","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flight_custom_version","flight_state","flight_sw_version","flight_uuid","flow_comp_m_x","flow_comp_m_y","flow_x","flow_y","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","focal_length","format","format","frame","frame","frame","frame","frame","frame","frame","frame_id","framerate","framerate","frequency","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","fuel_consumed","fuel_flow","gcs_system_id","general_metadata_file_crc","general_metadata_uri","generator_speed","generator_temperature","gimbal_device_id","gimbal_device_id","gimbal_device_id","gimbal_device_id","gimbal_device_id","gpsAlt","gpsFix","gpsLat","gpsLon","gpsOffsetLat","gpsOffsetLon","gps_fix_type","gps_id","gps_nsat","gpu_combined","gpu_cores","grid_spacing","grid_spacing","gridbit","ground_distance","groundspeed","groundspeed","groundspeed","group_mlx","group_mlx","h_acc","h_acc","hagl_ratio","hardware_version","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hdg","hdg","hdg_acc","hdop","heading","heading","heading","heading","heading","heading_sp","health","health","height","height","height_reference","hfov","hfov","hfov","hor_velocity","horiz_accuracy","horiz_accuracy","horizontal_accuracy","horizontal_minimum_delta","humidity","hw_unique_id","hw_version_major","hw_version_minor","iar_num_hypotheses","iar_num_hypotheses","id","id","id","id","id","id","id","id","id","id","id","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_type","ids","ignition_timing","ignore_flags","image_index","image_interval","image_status","increment","ind","ind_airspeed","index","index","index","info","initial_timestamp","injection_time","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","intake_manifold_pressure","intake_manifold_temperature","integrated_x","integrated_x","integrated_xgyro","integrated_xgyro","integrated_y","integrated_y","integrated_ygyro","integrated_ygyro","integrated_zgyro","integrated_zgyro","integration_time_us","integration_time_us","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","interval_us","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","jpg_quality","key","lac","land","landed_state","landed_state","landed_state","last_change_ms","last_heartbeat","last_log_num","last_page_index","last_sequence","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat_camera","lat_image","lat_int","lat_int","latitude","latitude","latitude","latitude","latitude","latitude","latitude","len","len","len","len","length","length","length","lens_id","library_version_hash","line_length","link_rx_max","link_rx_rate","link_tx_max","link_tx_rate","link_type","load","load_current","loaded","log_levels","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon_camera","lon_image","lon_int","lon_int","longitude","longitude","longitude","longitude","longitude","longitude","longitude","mag_ratio","manual_override_switch","mask","mavlink_version","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","max_distance","max_distance","max_version","mcc","message_id","message_id","message_id_from_name","message_name","message_rate","message_type","messages","messages_lost","messages_received","messages_sent","middleware_custom_version","middleware_sw_version","min_distance","min_distance","min_version","mission_end","mission_next_item","mnc","mode","mode","mode","mode_id","mode_switch","model_name","model_name","msg_pack_size","name","name","name","name","name","name","name","nav_bearing","nav_mode","nav_pitch","nav_roll","navigational_status","new_pin","next_alt","next_lat","next_lon","noise","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","nsats","nsats","numSats","num_ids","num_logs","offdiag_x","offdiag_y","offdiag_z","ofs","ofs","ofs_x","ofs_y","ofs_z","on_off","onboard_control_sensors_enabled","onboard_control_sensors_health","onboard_control_sensors_present","operation","operator_altitude_geo","operator_altitude_geo","operator_id","operator_id_type","operator_latitude","operator_latitude","operator_location_type","operator_longitude","operator_longitude","orientation","os_custom_version","os_sw_version","p1x","p1x","p1y","p1y","p1z","p1z","p2x","p2x","p2y","p2y","p2z","p2z","packets","param1","param1","param1","param1","param2","param2","param2","param2","param3","param3","param3","param3","param4","param4","param4","param4","param5","param6","param7","param_count","param_count","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_index","param_index","param_index","param_index","param_index","param_result","param_type","param_type","param_type","param_type","param_type","param_value","param_value","param_value","param_value","param_value","param_value0","param_value_max","param_value_min","parameter_rc_channel_index","parse","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","passkey","password","payload","payload","payload","payload","payload_length","payload_type","pending","peripherals_metadata_file_crc","peripherals_metadata_uri","pin","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch_elevator","pitch_max","pitch_max","pitch_min","pitch_min","pitch_rate","pitch_rate","pitch_rate","pitchspeed","pitchspeed","pitchspeed","pitchspeed","pitchspeed","pitchspeed","point_x","point_y","port","port","port","pos_horiz_accuracy","pos_horiz_ratio","pos_variance","pos_vert_accuracy","pos_vert_ratio","pos_x","pos_x","pos_y","pos_y","pos_yaw","pos_yaw","pos_z","pos_z","pose_covariance","position_cov","power_generated","press_abs","press_abs","press_abs","press_abs","press_diff","press_diff","press_diff","press_diff1","press_diff2","pressure_alt","pressure_alt","primary_control_compid","primary_control_sysid","product_id","pt_compensation","puk","q","q","q","q","q","q","q","q","q","q","q","q","q","q","q1","q1","q2","q2","q3","q3","q4","q4","q_estimated_delay_us","quality","quality","quality","quality","r","radius","radius","ram_total","ram_usage","rates","read_speed","reason","rec_bottom_x","rec_bottom_y","rec_top_x","rec_top_y","recording_time_ms","rectifier_temperature","relative_alt","relative_alt","relative_alt","relative_alt","remnoise","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remrssi","req_message_rate","req_stream_id","request_id","resolution_h","resolution_h","resolution_h","resolution_v","resolution_v","resolution_v","response","resting_minimum_voltage","result","rfHealth","rfSelect","ring_pending","roaming","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll_ailerons","roll_max","roll_max","roll_min","roll_min","roll_rate","rollspeed","rollspeed","rollspeed","rollspeed","rollspeed","rollspeed","rotation","rotation","rpm","rpm","rssi","rssi","rssi","rssi","rssi","rtk_health","rtk_health","rtk_rate","rtk_rate","rtk_receiver_id","rtk_receiver_id","runtime","rx_buf","rx_overflows","rx_parse_err","rx_rate","rx_session_pending","rxerrors","safe_return","satellite_azimuth","satellite_elevation","satellite_prn","satellite_snr","satellite_used","satellites_visible","satellites_visible","satellites_visible","satellites_visible","satellites_visible","scale","secondary_control_compid","secondary_control_sysid","secret_key","sensor_id","sensor_id","sensor_id","sensor_size_h","sensor_size_v","sensor_type","seq","seq","seq","seq","seq","seq","seq","seq","seq","seqnr","sequence","sequence","sequence","sequence","sequence","sequence","sequence_oldest_available","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","serial_number","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","servo1_raw","servo2_raw","servo3_raw","servo4_raw","servo5_raw","servo6_raw","servo7_raw","servo8_raw","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","severity","signal_quality","single_message_size","size","size","size_x","size_y","spacing","spark_dwell_time","spec_version_hash","speed","speed_accuracy","speed_accuracy","speed_horizontal","speed_vertical","squawk","squawk","src","ssid","stallSpeed","start","start_index","start_index","start_stop","state","state","status","status","status","status","status","status","std_dev_horz","std_dev_vert","storage","storage_count","storage_id","storage_total","storage_type","storage_usage","stream_id","stream_id","stream_id","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_mode","successful_sessions","sw_vcs_commit","sw_version_major","sw_version_minor","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","system_status","takeoff_time_utc","target","target_altitude","target_bearing","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_data","target_distance","target_heading","target_network","target_network","target_num","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","tas_ratio","tc1","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature_air","temperature_air","temperature_board","temperature_core","tension","terrain_height","text","threat_level","throttle","throttle","throttle","throttle","throttle_out","throttle_position","thrust","thrust","thrust","time","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_us","time_delta_distance_us","time_delta_distance_us","time_last_baseline_ms","time_last_baseline_ms","time_to_minimum_delta","time_unix_usec","time_until_maintenance","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_utc","time_utc","time_week","time_week_ms","timeout","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp_accuracy","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","total_capacity","tow","tow","tracking_mode","tracking_status","tracking_status","transfer_type","true_airspeed","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ts1","tslc","tslc","tune","tune","turn_rate","tx_buf","tx_overflows","tx_rate","tx_session_pending","txbuf","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_mask","type_mask","type_mask","type_mask","type_mask","type_mask","ua_type","uas_id","uas_id","uid","uid","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","update_rate","uptime","uptime_sec","uptime_sec","uri","uri","uri","uri_type","usec","usec","usec","usec","used_capacity","utcTime","v_acc","v_acc","v_estimated_delay_us","valid_points","valid_points","value","value","value","value","var_horiz","var_vert","vd","vd","vd","vdop","ve","ve","ve","vel","vel","vel","vel","velNS","velVert","vel_acc","vel_acc","vel_d","vel_e","vel_n","vel_ratio","vel_variance","vel_x","vel_y","vel_yaw","vel_z","velocity","velocity_covariance","vendor_id","vendor_name","vendor_name","vendor_specific_status_code","ver","ver_velocity","version","version","vert_accuracy","vert_accuracy","vertical_accuracy","vfov","vibration_x","vibration_y","vibration_z","video_status","vn","vn","vn","voltage","voltage","voltage_battery","voltages","vtol_state","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","weight","width","wind_alt","wind_heading","wind_x","wind_y","wind_z","windspeed","wn","wn","wp_dist","wp_distance","wp_num","wp_num","write_speed","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x_acc","x_pos","x_vel","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xmag","xmag","xmag","xmag","xmag","xmag","xtrack_error","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y_acc","y_pos","y_vel","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw_max","yaw_max","yaw_min","yaw_min","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rudder","yawspeed","yawspeed","yawspeed","yawspeed","yawspeed","yawspeed","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ymag","ymag","ymag","ymag","ymag","ymag","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z_acc","z_pos","z_vel","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zmag","zmag","zmag","zmag","zmag","zmag"],"q":[[0,"mavlink"],[156,"mavlink::ardupilotmega"],[15498,"mavlink::bytes"],[15522,"mavlink::bytes_mut"],[15547,"mavlink::common"],[27060,"mavlink::error"],[27102,"mavlink::error::ParserError"],[27107,"mavlink::icarous"],[27239,"mavlink::uavionix"],[39159,"core::clone"],[39160,"alloc::boxed"],[39161,"std::io::error"],[39162,"core::result"],[39163,"serde::de"],[39164,"core::fmt"],[39165,"core::fmt"],[39166,"serde::ser"],[39167,"serde::ser"],[39168,"std::io"],[39169,"core::iter::traits::collect"],[39170,"core::option"],[39171,"core::hash"],[39172,"std::io::error"]],"d":["","","","","","Message framing marker for mavlink v1","Message framing marker for mavlink v2","","A MAVLink connection","Encapsulation of the Mavlink message and the header, …","Metadata from a MAVLink packet header","Versions of the Mavlink protocol that we support","","","","","","","This file was automatically generated, do not edit","","","","","","","","","","","","","","","","","","","","","","","","","This file was automatically generated, do not edit","","","","","Connect to a MAVLink node by address string.","","","","","","Deserialize MavFrame from a slice that has been received …","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Return the frame header","","","","This file was automatically generated, do not edit","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","Read a MAVLink v1 message from a Read stream.","Return a raw buffer with the mavlink message V1 maximum …","Read a MAVLink v2 message from a Read stream.","Return a raw buffer with the mavlink message V2 maximum …","","Receive a mavlink message.","Read whole frame","Read whole frame","Send a mavlink message","Send a message with default header","Send a message with default header","Write whole frame","Write whole frame","","","","Serialize Message into byte slice and return count of …","","Create a new frame with given message Serialize MavFrame …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This file was automatically generated, do not edit","Write a MAVLink v1 message to a Write stream.","Write a MAVLink v2 message to a Write stream.","Write a message using the given mavlink version","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","","","","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","","","","","","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","","","","","","","","","","","","","","","","","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","","","","","","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","","","","","","","","","Calls U::from(self).","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","","","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","","","","","","","","","","","","","","","","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","","","","","","","","","","","","","","","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","","","","","","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","","","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","","","","","","","","","","","","","","","","","","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","","","","","","","","","","","","","","","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","","","","","","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[30,30,30,0,0,0,0,0,0,0,0,0,0,30,0,30,5,5,0,4,5,6,1,3,4,5,6,1,3,0,0,1,3,4,5,6,1,3,4,5,6,1,3,0,3,1,3,4,0,4,1,3,8,30,6,4,4,5,1,3,0,8,4,5,6,1,3,4,5,6,1,3,12,1,3,6,1,3,6,0,3,4,5,6,1,3,8,1,3,8,8,6,1,3,8,1,3,1,3,6,1,3,0,0,0,0,0,12,12,12,12,12,12,12,12,1,3,4,8,30,6,4,5,6,1,3,1,3,12,1,3,4,4,5,6,1,3,4,5,6,1,3,4,5,6,1,3,4,5,6,1,3,0,0,0,0,448,448,448,448,448,448,448,448,439,439,439,439,439,439,66,0,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,484,66,0,66,0,449,449,469,469,469,469,469,469,469,469,469,469,469,469,469,469,469,469,469,469,469,469,37,37,37,37,37,37,37,37,37,37,66,0,66,66,0,66,0,0,66,0,61,61,61,61,61,61,61,61,61,61,61,61,61,522,522,522,522,522,522,522,522,522,522,522,522,522,522,522,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,66,0,66,0,341,66,0,66,0,66,0,66,66,0,0,66,0,47,47,47,47,47,47,66,0,66,0,66,0,66,0,66,0,491,491,491,491,0,0,0,0,0,0,0,0,0,0,0,66,0,396,66,0,66,0,66,0,46,46,46,46,46,46,46,46,46,46,46,46,66,515,515,0,515,515,515,66,0,66,0,66,0,402,402,402,66,0,66,0,486,486,486,486,486,486,486,66,0,66,0,443,443,443,397,397,397,467,467,467,467,66,0,66,0,482,66,0,482,482,66,0,66,442,0,442,442,442,442,364,364,364,364,464,464,464,464,464,66,0,511,511,511,511,511,511,511,511,511,511,511,511,511,66,66,0,0,182,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,420,420,420,420,420,420,66,0,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,66,0,66,0,66,0,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,0,330,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,415,415,415,415,415,415,415,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,475,475,66,0,66,0,66,0,66,0,66,0,66,0,66,0,0,0,88,66,0,42,42,42,42,42,42,42,42,66,0,42,42,42,66,0,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,398,398,398,398,398,398,52,52,52,52,52,52,52,52,66,0,66,0,66,0,66,0,66,0,35,35,35,35,35,35,35,35,35,35,66,0,35,35,66,0,66,0,0,0,0,0,434,434,434,434,434,434,434,434,507,507,507,507,507,507,507,507,507,507,507,507,507,507,507,49,465,465,465,465,465,465,465,465,433,433,433,433,66,0,423,423,423,66,0,66,0,330,66,0,410,410,410,410,410,66,0,520,520,520,520,520,520,520,66,0,0,0,0,0,0,0,66,0,446,446,446,478,478,478,382,382,382,66,0,66,0,36,36,36,36,36,36,36,36,36,36,36,36,36,36,39,39,39,39,39,39,39,39,39,39,59,59,59,59,59,59,59,59,59,59,66,0,66,0,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,497,497,497,497,497,497,497,497,497,497,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,66,0,0,66,0,508,508,508,508,508,508,508,508,508,421,421,421,421,421,421,421,421,392,392,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,386,386,386,48,509,509,509,509,509,509,509,509,509,509,509,509,509,509,66,0,66,0,66,0,419,419,419,419,371,371,371,371,371,456,456,456,456,456,365,365,418,418,418,418,418,418,418,418,418,418,418,418,418,418,418,418,418,418,418,418,418,378,378,378,378,378,512,512,512,369,369,369,369,369,477,477,516,516,516,516,516,516,516,516,516,516,516,516,516,516,66,0,66,0,374,66,0,66,0,387,387,387,387,387,387,387,387,387,66,0,66,0,66,0,40,40,40,40,40,40,40,40,66,0,66,0,66,0,66,0,453,453,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,372,372,66,0,66,0,66,0,66,0,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,66,66,0,0,66,0,66,0,66,0,66,0,66,0,66,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,66,0,66,0,63,63,63,63,63,63,63,63,63,63,63,63,63,63,66,0,66,0,66,0,0,0,0,0,330,345,245,209,521,521,521,521,521,521,66,0,66,0,403,403,403,66,0,0,0,66,0,381,381,381,381,49,66,0,496,496,496,426,426,426,426,426,66,0,426,50,50,50,66,0,66,66,0,0,66,0,66,0,66,66,0,0,66,0,66,0,66,0,66,0,66,0,66,0,0,0,0,0,490,490,490,490,66,0,66,0,490,490,490,490,66,0,66,0,428,428,428,428,428,428,431,431,431,431,431,431,413,413,413,413,413,413,413,413,413,413,413,413,413,413,413,413,413,413,413,413,413,462,462,462,462,462,462,462,462,396,396,396,396,396,396,396,396,429,429,429,429,429,480,480,480,498,498,498,498,498,440,437,437,437,437,437,437,437,437,437,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,476,476,476,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,460,460,460,460,460,460,460,473,473,412,412,412,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,510,501,501,501,501,501,501,501,501,501,411,411,411,411,411,500,499,499,499,499,499,499,499,499,499,34,489,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,377,377,377,377,377,377,377,377,377,377,377,451,451,451,451,451,451,451,451,451,451,451,451,451,451,451,451,451,451,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,447,447,447,447,463,463,463,463,463,455,455,455,455,455,455,455,455,455,455,455,455,455,455,483,483,483,483,455,455,425,425,56,56,502,502,502,502,502,502,502,502,56,56,56,56,56,56,461,461,461,461,461,461,461,425,425,425,425,425,425,425,425,425,394,394,394,394,394,394,394,373,373,370,370,370,370,370,370,441,441,441,441,424,424,458,458,458,458,458,458,458,458,506,506,506,366,366,409,409,409,409,409,409,409,409,409,409,409,409,409,519,519,519,519,519,422,494,494,494,479,479,479,479,479,457,457,457,457,457,408,408,408,408,408,408,408,408,408,408,408,408,408,408,408,408,407,407,407,407,407,407,407,407,407,407,407,407,407,407,407,407,383,383,383,383,383,383,383,388,388,388,388,388,388,388,388,388,388,388,459,459,459,459,459,459,459,459,459,459,64,64,64,64,64,64,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,416,416,417,417,432,432,432,432,432,432,432,485,485,485,485,485,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,393,393,393,393,393,393,393,393,481,481,481,481,481,481,481,481,481,38,38,38,38,38,38,391,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,389,389,389,389,389,389,389,389,389,389,389,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,436,436,436,436,436,45,45,45,45,45,45,45,45,45,45,45,45,45,45,66,0,312,312,312,312,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,471,66,0,66,0,66,0,66,0,471,66,0,430,430,430,430,430,430,66,0,471,182,376,380,380,380,376,376,376,66,0,66,0,66,0,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,0,66,0,66,0,518,518,518,0,66,66,0,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,466,466,466,466,466,367,66,0,66,0,367,367,367,367,414,414,414,367,367,367,367,66,0,66,0,414,0,0,0,330,474,474,474,492,492,492,492,66,0,66,0,66,0,66,0,66,0,66,0,495,66,0,66,0,495,495,495,66,0,66,0,495,66,401,0,401,401,401,401,401,66,0,493,493,493,493,493,493,493,493,493,493,493,493,493,493,493,493,493,493,493,493,493,493,493,493,66,0,66,0,66,0,66,0,60,60,60,60,60,60,60,60,60,60,60,60,66,0,514,514,514,66,0,0,0,88,88,88,0,0,0,0,0,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,400,400,66,0,66,0,66,0,66,0,66,0,66,0,445,445,445,445,445,445,445,445,445,445,445,445,66,0,399,399,0,0,0,0,66,0,66,0,66,66,0,66,0,0,66,66,0,66,0,0,363,363,363,363,66,0,66,0,468,468,468,468,468,53,53,53,53,53,468,468,468,468,468,468,468,468,468,468,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,368,368,341,66,0,66,0,404,404,404,404,488,488,488,488,488,488,488,488,488,406,406,406,406,390,390,390,390,390,390,390,390,390,66,0,66,0,66,0,0,0,0,0,0,0,0,0,0,66,0,66,0,66,0,66,0,66,0,66,0,385,385,385,385,385,385,66,0,66,0,62,62,66,0,0,0,513,513,513,513,66,0,384,384,384,384,384,66,0,66,444,444,444,444,444,444,444,444,444,444,444,444,444,444,444,444,0,405,405,405,405,405,405,405,405,450,450,505,66,0,375,375,375,375,375,375,58,58,58,58,58,505,505,505,505,505,505,55,55,55,505,33,33,33,33,66,0,522,44,44,44,44,44,44,44,44,470,470,470,470,470,66,0,0,0,0,0,0,0,0,0,0,0,0,0,66,0,66,0,66,0,66,0,66,0,66,0,454,454,379,379,379,379,66,0,66,0,66,0,517,517,517,517,517,256,345,337,0,0,256,0,66,0,66,0,66,0,395,395,395,395,472,472,472,472,472,472,523,523,523,523,523,523,523,523,523,523,66,0,66,66,0,0,0,0,0,452,452,452,452,109,112,344,285,285,285,164,164,164,295,169,350,337,337,337,153,330,148,319,313,313,267,267,267,267,267,267,104,183,240,161,233,284,316,161,233,284,316,161,233,284,316,245,128,129,138,168,128,168,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,78,87,89,129,161,173,176,177,191,228,233,268,269,272,314,326,343,344,248,217,248,300,300,116,118,159,168,194,209,220,317,321,128,198,258,258,198,319,198,198,128,198,209,119,94,94,255,290,362,255,290,362,255,290,362,287,74,159,194,159,194,159,194,321,321,235,235,235,235,72,357,257,217,332,344,191,143,143,277,282,359,168,310,236,329,329,329,329,92,273,134,153,330,134,134,318,337,258,315,128,132,310,169,350,169,350,169,350,169,350,185,168,185,136,354,128,333,354,98,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,106,133,224,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,195,115,234,115,234,115,234,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,198,96,162,96,96,96,268,271,104,111,183,280,327,185,104,183,104,183,241,236,332,236,332,182,209,245,352,352,69,300,87,224,222,231,195,136,136,192,87,235,264,356,264,356,264,356,264,264,264,264,264,264,166,264,293,356,150,166,264,293,356,150,166,264,293,356,150,166,264,293,356,150,166,264,293,356,150,166,264,293,356,150,166,264,293,356,150,166,264,293,356,150,264,356,264,136,307,235,235,129,128,168,355,355,355,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,114,229,281,304,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,78,228,269,125,145,223,277,282,285,359,127,287,278,236,332,336,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,332,332,119,305,360,223,303,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,108,148,86,144,266,161,233,284,316,67,73,98,104,106,126,158,183,210,225,268,286,299,301,303,303,134,306,325,343,289,289,186,321,67,79,95,225,232,277,282,286,359,91,333,354,354,306,190,168,168,168,339,231,339,128,132,168,310,231,344,136,315,73,77,90,98,104,111,121,123,130,160,197,200,203,208,265,301,327,143,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,66,178,334,334,334,334,334,334,334,193,193,193,93,93,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,153,330,72,72,98,136,269,269,236,236,236,88,109,112,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,182,182,182,182,189,258,332,332,332,136,326,68,94,126,151,177,218,97,333,315,318,337,245,209,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,74,74,292,142,187,354,287,315,78,168,228,269,78,168,228,269,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,153,335,303,295,295,333,333,333,333,333,344,157,134,343,69,72,315,321,287,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,66,127,287,127,287,153,153,340,128,168,255,303,259,289,157,109,112,238,87,231,352,77,265,347,236,78,89,228,269,184,358,86,98,106,133,135,137,165,182,192,197,199,209,253,255,256,268,272,290,300,336,352,362,195,272,195,357,146,146,146,146,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,33,33,33,33,369,370,371,372,373,374,375,376,377,378,379,380,34,34,34,34,34,381,382,383,35,35,35,35,35,384,36,36,36,36,36,385,386,37,37,37,37,37,387,388,389,390,391,392,393,38,38,38,38,38,394,395,39,39,39,39,39,396,397,398,399,40,40,40,40,40,400,401,402,403,41,41,41,41,41,42,42,42,42,42,404,405,406,407,43,43,43,43,43,408,409,44,44,44,44,44,45,45,45,45,45,410,411,412,413,414,415,416,417,418,46,46,46,46,46,419,420,421,422,423,424,425,426,427,47,47,47,47,47,428,429,48,48,48,48,48,49,49,49,49,49,430,431,432,433,434,50,50,50,50,50,435,436,437,438,439,51,51,51,51,51,440,52,52,52,52,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,53,53,53,53,54,54,54,54,54,455,456,457,458,459,55,55,55,55,55,460,461,462,463,464,465,466,467,56,56,56,56,56,468,469,470,471,472,473,474,57,57,57,57,57,475,476,477,478,58,58,58,58,58,479,480,481,59,59,59,59,59,60,60,60,60,60,482,483,484,485,486,487,488,489,61,61,61,61,61,490,491,492,493,494,62,62,62,62,62,495,496,497,63,63,63,63,63,498,499,500,501,502,503,504,505,506,64,64,64,64,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,300,352,127,172,298,80,94,212,239,277,282,283,359,307,106,133,224,271,349,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,315,315,148,361,361,185,185,135,137,165,222,290,337,337,337,337,245,245,128,89,128,289,289,90,175,90,146,128,129,168,144,266,164,164,164,272,326,199,231,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,173,326,326,89,128,129,168,182,209,128,179,315,177,258,308,258,106,133,248,209,89,353,258,319,103,342,342,342,169,350,72,83,103,111,136,158,177,301,306,312,319,327,354,85,93,143,171,235,258,309,85,280,70,163,268,299,315,89,87,92,92,69,300,97,305,360,214,191,95,303,349,303,204,315,322,322,322,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,339,315,315,151,218,151,218,151,218,151,218,151,218,151,218,79,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,294,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,287,334,334,334,308,213,259,278,268,128,149,157,321,321,162,254,162,340,83,143,162,347,162,78,87,89,90,118,124,173,175,176,177,182,190,191,209,220,228,268,269,272,299,300,314,326,343,344,348,248,248,161,233,116,128,159,168,194,258,317,111,123,130,160,197,200,203,327,77,143,265,352,75,162,232,289,289,289,289,289,118,124,177,220,268,299,300,333,185,190,72,78,87,89,90,173,175,176,182,190,191,209,228,269,272,314,326,343,344,348,248,248,161,233,116,128,159,168,194,258,317,164,164,324,164,324,164,324,199,302,175,310,106,123,136,160,168,182,200,203,216,240,259,289,306,308,310,354,211,211,211,211,211,97,239,306,305,360,75,259,66,294,66,66,110,71,171,262,262,262,195,195,211,211,211,211,211,97,239,306,305,360,75,278,278,259,86,179,287,329,237,302,231,352,162,162,162,206,171,106,182,249,257,261,263,342,217,329,217,217,182,74,272,272,272,184,358,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,169,350,211,337,280,83,239,236,236,236,276,158,301,236,236,236,153,295,295,295,153,110,333,333,333,280,235,328,309,309,235,328,235,235,328,306,195,195,117,360,117,360,69,212,283,212,283,212,283,69,212,283,212,283,212,283,69,69,308,223,277,282,359,223,277,282,359,223,277,282,359,223,277,282,359,223,223,223,180,244,152,174,180,215,244,252,305,311,320,360,174,180,244,252,311,320,152,180,215,244,320,152,180,215,244,320,311,311,311,311,66,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,108,338,321,321,339,71,201,308,331,201,201,190,361,361,74,118,124,128,135,137,155,167,176,177,202,220,243,270,296,300,302,314,329,222,231,222,231,135,137,138,155,191,226,307,314,325,181,181,251,251,251,150,166,260,199,199,336,138,199,199,336,178,285,178,285,178,285,178,285,307,344,119,185,113,188,207,247,113,207,247,188,188,109,112,165,165,195,315,74,87,115,138,157,159,194,219,234,248,255,290,307,325,362,176,226,176,226,176,226,176,226,157,146,151,218,259,241,80,181,289,289,344,88,164,164,273,84,181,181,181,181,92,185,73,104,183,87,173,272,343,184,358,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,184,358,295,346,346,73,100,104,117,183,205,291,305,360,106,133,224,352,106,133,224,352,74,136,73,100,145,205,305,275,245,340,318,74,118,124,128,155,167,176,177,202,220,243,270,296,300,302,314,329,222,231,222,231,138,155,191,226,307,314,325,106,133,224,67,95,225,286,315,120,120,150,166,184,264,356,358,169,350,169,350,169,350,185,262,262,262,262,340,184,358,278,101,101,101,101,101,78,89,101,228,269,322,311,165,165,204,146,151,218,352,352,97,239,99,107,139,227,246,250,274,277,359,121,154,208,72,77,84,253,265,297,84,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,136,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,260,260,260,260,260,260,260,260,127,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,279,127,287,153,153,340,171,83,186,308,94,94,190,315,75,189,232,89,258,258,258,189,209,337,319,338,206,206,206,321,245,292,142,187,346,254,337,88,88,88,114,154,185,192,224,229,230,232,258,259,273,335,176,176,291,273,273,289,289,289,106,110,133,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,179,340,342,342,342,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,310,357,241,168,217,70,71,76,77,81,82,84,85,93,104,107,111,115,117,121,122,125,127,130,135,137,139,140,141,142,143,144,147,152,154,156,157,158,163,171,172,174,183,186,187,193,201,204,206,210,212,215,216,223,227,233,235,251,252,255,258,265,268,274,276,277,280,281,282,287,290,292,293,297,298,299,304,309,311,316,318,322,324,327,328,331,334,339,346,347,359,360,362,181,168,168,71,331,94,69,70,71,76,77,81,82,84,85,93,104,107,108,111,115,116,117,121,122,125,127,130,132,135,137,139,140,141,142,143,144,147,152,154,156,157,158,163,171,172,174,183,186,187,193,194,201,204,206,210,212,215,216,223,227,233,235,251,252,255,258,265,268,274,276,277,280,281,282,287,290,292,293,297,298,299,300,304,309,311,316,318,322,324,327,328,331,334,339,346,347,359,360,362,199,242,67,103,109,112,113,128,151,177,188,207,218,225,232,247,286,303,354,128,168,289,289,232,336,190,279,153,153,319,79,128,129,168,329,315,315,115,234,302,272,87,92,105,113,115,150,155,161,165,166,167,170,173,177,196,202,207,214,221,222,226,231,233,234,237,238,239,247,248,254,255,261,263,264,273,284,288,302,306,316,352,357,361,157,151,218,119,169,350,319,170,185,69,78,80,86,89,94,95,97,99,109,112,119,126,134,138,144,146,151,178,179,188,191,198,199,218,219,227,228,232,249,257,260,266,269,285,289,300,303,307,313,314,325,329,341,342,343,351,353,355,356,83,87,89,89,98,143,168,235,258,262,328,340,344,258,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,273,67,225,286,169,350,181,181,326,291,191,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,242,182,209,76,172,182,262,262,262,340,184,358,211,211,211,211,211,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,33,369,370,371,372,373,374,375,376,377,378,379,380,34,381,382,383,35,384,36,385,386,37,387,388,389,390,391,392,393,38,394,395,39,396,397,398,399,40,400,401,402,403,41,42,404,405,406,407,43,408,409,44,45,410,411,412,413,414,415,416,417,418,46,419,420,421,422,423,424,425,426,427,47,428,429,48,49,430,431,432,433,434,50,435,436,437,438,439,51,440,52,441,442,443,444,445,446,447,448,449,450,451,452,453,454,53,54,455,456,457,458,459,55,460,461,462,463,464,465,466,467,56,468,469,470,471,472,473,474,57,475,476,477,478,58,479,480,481,59,60,482,483,484,485,486,487,488,489,61,490,491,492,493,494,62,495,496,497,63,498,499,500,501,502,503,504,505,506,64,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,115,161,233,234,284,316,153,85,85,272,195,231,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,272,289,179,342,106,224,238,291,291,243,270,296,323,273,337,118,118,118,118,272,326,157,178,285,214,229,240,261,263,304,353,353,78,89,176,89,78,89,176,78,228,269,344,337,337,272,326,326,326,326,199,138,285,285,285,285,182,307,336,195,231,352,179,240,209,75,108,89,353,258,248,355,355,355,92,78,89,176,67,68,91,95,225,232,286,333,354,149,88,134,157,161,173,191,233,272,284,288,307,314,316,343,88,134,157,161,173,191,233,272,284,288,307,314,316,343,88,134,157,161,173,191,233,272,284,288,307,314,316,343,136,308,353,168,353,353,353,168,169,350,217,128,128,168,273,80,134,159,194,202,219,239,241,243,249,270,277,282,284,288,296,307,316,323,359,138,138,138,105,109,112,124,176,191,196,221,314,351,105,109,112,124,176,196,221,351,105,109,112,196,221,351,217,80,134,159,194,202,219,239,241,243,249,270,277,282,284,288,296,307,316,323,359,138,138,138,105,109,112,124,176,191,196,221,314,351,118,124,135,137,155,161,167,176,177,202,220,233,243,270,284,296,300,302,314,316,222,231,222,231,135,137,138,161,233,284,316,329,155,191,226,307,314,325,105,109,112,124,176,196,221,351,105,109,112,196,221,351,80,134,159,194,202,219,239,241,243,249,270,277,282,284,288,296,307,316,323,359,138,138,138,105,109,112,124,176,191,196,221,314,351,105,109,112,124,176,196,221,351,105,109,112,196,221,351,127,127,0,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,0,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,842,842,842,842,842,842,562,0,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,562,0,876,876,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,555,555,555,555,555,555,555,555,555,555,562,0,558,558,558,558,558,558,558,558,558,558,558,558,558,872,872,872,872,872,872,872,872,872,872,872,872,872,872,872,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,865,562,0,562,0,562,0,562,562,0,0,562,0,548,548,548,548,548,548,562,0,562,0,562,0,562,0,794,794,794,794,0,0,0,0,0,0,0,0,0,0,787,562,0,562,0,562,0,543,543,543,543,543,543,543,543,543,543,543,543,562,0,562,0,562,0,813,813,813,562,0,562,0,562,0,806,806,806,829,829,829,814,814,814,814,562,0,562,0,863,562,0,863,863,562,0,562,852,0,852,852,852,852,890,890,890,890,889,889,889,889,889,562,0,807,807,807,807,807,807,807,807,807,807,807,807,807,562,562,0,0,740,562,0,562,0,562,0,562,0,562,0,562,0,562,0,883,883,883,883,883,883,562,0,562,0,0,0,0,0,0,0,0,0,0,0,0,0,562,0,562,0,562,0,562,0,562,0,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,562,0,562,0,562,0,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,812,812,812,812,812,812,537,537,537,537,537,537,537,537,562,0,562,0,553,553,553,553,553,553,553,553,553,553,562,0,553,553,562,0,562,0,0,0,0,840,840,840,840,840,840,840,840,892,892,892,892,892,892,892,892,892,892,892,892,892,892,892,804,804,804,804,804,804,804,804,859,859,859,859,855,855,855,562,0,562,0,894,894,894,894,894,562,0,786,786,786,786,786,786,786,562,0,0,0,0,0,0,0,562,0,562,0,551,551,551,551,551,551,551,551,551,551,551,551,551,551,547,547,547,547,547,547,547,547,547,547,550,550,550,550,550,550,550,550,550,550,562,0,562,0,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,826,826,826,826,826,826,826,826,826,826,562,0,562,0,562,0,562,0,562,0,562,562,0,0,562,0,562,0,562,0,875,875,875,875,875,875,875,875,875,562,0,562,0,562,0,540,540,540,540,540,540,540,540,562,0,562,0,562,0,562,0,885,885,0,0,0,0,0,0,0,0,562,0,562,0,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,562,562,0,0,562,0,562,0,562,0,562,0,562,0,562,0,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,562,0,562,0,545,545,545,545,545,545,545,545,545,545,545,545,545,545,562,0,562,0,0,0,0,604,562,0,562,0,849,849,849,849,562,0,562,562,0,0,562,0,562,0,562,562,0,0,562,0,562,0,562,0,562,0,562,0,562,0,0,871,871,871,871,562,0,871,871,871,871,562,0,562,0,857,857,857,857,857,857,795,795,795,795,795,795,893,893,893,893,893,893,893,893,893,893,893,893,893,893,893,893,893,893,893,893,893,854,854,854,854,854,854,854,854,787,787,787,787,787,787,787,787,868,868,868,868,868,790,790,790,823,823,823,823,823,878,878,878,878,878,878,878,878,878,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,824,816,816,816,816,816,816,816,831,831,848,848,848,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,832,832,832,832,832,832,832,832,832,879,879,879,879,879,792,841,841,841,841,841,841,841,841,841,552,846,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,853,853,853,853,853,853,853,853,853,853,853,862,862,862,862,862,862,862,862,862,862,862,862,862,862,862,862,862,862,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,835,835,835,835,788,788,788,788,788,808,808,808,808,808,808,808,808,808,808,808,808,808,808,801,801,801,801,808,808,881,881,561,561,837,837,837,837,837,837,837,837,561,561,561,561,561,561,881,881,881,881,881,881,881,881,881,856,856,856,856,856,856,856,887,887,827,827,827,827,827,827,869,869,869,869,880,880,891,891,891,891,891,891,891,891,864,864,864,785,785,809,809,809,809,809,809,809,809,809,809,809,809,809,888,888,888,888,888,851,799,799,799,850,850,850,850,850,820,820,820,820,820,791,791,791,791,791,791,791,791,791,791,791,791,791,791,791,791,821,821,821,821,821,821,821,821,821,821,821,821,821,821,821,821,845,845,845,845,845,845,845,810,810,810,810,810,810,810,810,810,810,810,838,838,838,838,838,838,838,838,838,838,541,541,541,541,541,541,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,798,798,798,798,798,798,798,866,866,866,866,866,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,802,858,858,858,858,858,858,858,858,860,860,860,860,860,860,860,860,860,549,549,549,549,549,549,789,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,847,847,847,847,847,847,847,847,847,847,847,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,861,861,861,861,861,560,560,560,560,560,560,560,560,560,560,560,560,560,560,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,818,562,0,562,0,562,0,562,0,818,562,0,797,797,797,797,797,797,562,0,818,740,844,784,784,784,844,844,844,562,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,562,0,562,0,562,0,886,886,886,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,843,843,843,843,843,0,884,884,884,874,874,874,874,562,0,562,0,562,0,562,0,562,0,562,0,839,562,0,562,0,839,839,839,562,0,562,0,839,562,0,562,0,562,0,562,0,562,0,559,559,559,559,559,559,559,559,559,559,559,559,562,0,803,803,803,562,0,0,0,0,0,0,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,828,828,562,0,562,0,562,0,562,0,819,819,0,0,562,0,562,0,562,562,0,562,0,0,562,562,0,562,0,0,562,0,833,833,833,833,833,557,557,557,557,557,833,833,833,833,833,833,833,833,833,833,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,796,796,796,796,817,817,817,817,817,817,817,817,817,836,836,836,836,562,0,562,0,562,0,0,0,0,0,0,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,556,556,562,0,0,811,811,811,811,562,0,877,877,877,877,877,562,0,872,544,544,544,544,544,544,544,544,793,793,793,793,793,562,0,0,0,0,0,562,0,562,0,562,0,562,0,562,0,562,0,830,830,805,805,805,805,562,0,562,0,834,834,834,834,834,703,0,0,703,0,562,0,562,0,867,867,867,867,895,895,895,895,895,895,822,822,822,822,822,822,822,822,822,822,562,0,562,0,0,0,0,870,870,870,870,716,751,613,677,677,677,609,705,686,781,578,578,689,564,652,658,711,564,652,658,711,564,652,658,711,563,572,638,737,563,638,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,564,572,594,599,611,613,614,632,652,678,684,701,727,742,743,752,600,687,600,604,638,681,690,748,768,563,615,655,655,615,781,615,615,563,615,604,758,758,586,624,669,586,624,669,586,624,669,617,690,768,690,768,690,768,736,736,736,736,585,587,664,687,613,599,771,771,634,717,782,638,721,605,651,651,651,651,574,633,631,631,631,655,680,563,640,721,609,705,609,705,609,705,609,705,659,638,659,759,774,563,597,759,707,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,720,745,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,570,576,670,576,670,576,670,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,615,726,726,726,726,575,657,718,659,775,605,605,604,740,619,619,678,744,764,570,774,774,678,736,643,695,643,695,643,695,695,695,695,695,695,695,630,643,695,780,698,630,643,695,780,698,630,643,695,780,698,630,643,695,780,698,630,643,695,780,698,630,643,695,780,698,630,643,695,780,698,630,643,695,780,698,643,695,695,774,739,736,736,572,563,638,602,602,602,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,614,632,743,634,654,677,704,717,773,782,674,605,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,654,625,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,686,753,641,715,763,564,652,658,711,590,595,625,707,720,755,756,625,631,649,662,742,580,580,621,634,672,717,782,597,759,759,662,741,638,638,638,744,563,638,640,721,744,613,774,680,575,590,622,646,657,697,707,724,734,747,771,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,562,660,593,593,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,585,585,707,774,614,614,605,605,605,716,751,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,740,740,740,740,655,774,684,591,756,758,779,666,597,680,604,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,617,617,639,732,776,759,680,614,632,638,743,614,632,638,743,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,592,625,597,597,597,597,597,613,754,631,742,585,680,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,668,563,625,638,669,676,580,754,716,751,765,678,619,744,622,734,573,605,611,614,632,743,729,586,594,604,619,624,627,637,641,646,669,683,694,702,703,707,720,740,745,570,594,570,587,699,699,699,699,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,537,537,537,537,784,538,538,538,538,538,785,786,787,788,789,790,791,792,793,539,539,539,539,539,794,795,796,797,798,799,800,801,802,803,804,805,540,540,540,540,540,806,541,541,541,541,541,807,808,542,542,542,542,542,809,810,811,812,813,814,543,543,543,543,543,815,816,817,818,819,544,544,544,544,544,545,545,545,545,545,820,821,822,823,824,546,546,546,546,546,825,826,547,547,547,547,547,827,548,548,548,548,548,828,829,830,831,832,549,549,549,549,549,833,550,550,550,550,550,834,551,551,551,551,551,835,552,552,552,552,552,836,837,838,839,840,553,553,553,553,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,554,554,554,554,855,856,555,555,555,555,555,857,858,556,556,556,556,556,557,557,557,557,557,859,860,861,862,863,864,865,558,558,558,558,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,559,559,559,559,879,880,881,882,883,884,560,560,560,560,560,885,886,887,561,561,561,561,561,888,889,890,891,892,893,894,895,619,577,738,634,665,675,717,758,766,782,739,720,745,598,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,680,680,686,746,746,659,659,586,637,683,702,764,563,611,563,580,580,567,724,724,699,563,572,638,715,763,594,684,694,744,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,684,701,684,611,563,572,604,638,740,563,680,682,610,655,655,600,720,745,604,611,709,655,781,582,568,568,568,609,705,575,582,585,590,595,657,662,759,772,774,781,593,644,655,671,733,736,771,644,718,680,611,678,574,574,666,714,599,598,621,625,625,731,680,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,680,680,591,779,591,779,591,779,591,779,591,779,591,779,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,757,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,610,583,676,674,563,722,754,589,668,772,771,573,567,594,599,604,608,611,613,614,632,678,684,701,724,727,740,741,742,743,752,600,600,564,652,563,638,655,681,690,748,768,575,646,657,697,622,734,771,619,629,672,580,580,580,580,580,597,659,741,585,567,594,599,604,608,611,613,614,632,678,684,701,724,727,740,741,742,743,752,600,600,564,652,563,638,655,681,690,748,768,694,607,567,721,580,596,610,638,662,676,689,720,721,740,759,774,662,666,629,676,562,757,562,562,691,588,733,612,612,612,570,570,662,666,629,674,674,676,641,651,682,713,607,619,744,733,568,579,603,664,688,720,740,687,651,687,687,740,617,594,594,594,729,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,609,705,718,772,605,605,605,590,595,605,605,605,691,597,597,597,718,584,736,671,671,584,736,736,584,736,662,570,570,665,766,665,766,665,766,665,766,665,766,665,766,610,634,654,717,782,634,654,717,782,634,654,717,782,634,654,717,782,654,654,654,628,696,626,628,661,696,700,706,730,750,628,661,696,706,750,730,626,628,696,700,730,626,628,696,700,730,661,661,661,661,562,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,753,777,588,610,667,760,667,667,741,746,746,617,563,569,607,616,618,637,645,653,683,723,727,752,651,744,764,744,764,637,683,737,599,618,649,679,739,752,650,650,663,698,780,694,694,737,694,694,660,677,660,677,660,677,660,677,739,613,659,673,692,749,770,692,749,770,673,673,716,751,702,702,570,680,617,576,586,600,624,649,669,670,678,690,735,737,739,754,768,679,727,679,727,679,727,679,727,754,591,676,699,779,775,650,675,580,580,613,633,728,650,650,650,650,574,659,594,678,701,742,729,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,729,648,648,725,619,720,745,619,720,745,617,774,704,668,617,563,569,607,616,618,645,653,723,727,752,651,744,764,744,764,737,599,618,649,679,739,752,720,745,621,680,643,695,698,729,780,609,705,609,705,609,705,659,612,612,612,612,668,729,674,581,581,581,581,581,581,611,614,632,743,661,702,702,731,591,699,779,619,619,666,565,566,634,642,708,717,719,762,769,747,585,622,627,728,734,778,728,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,774,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,663,663,663,663,663,663,663,663,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,685,668,733,610,772,758,758,741,680,629,672,611,655,655,655,604,781,777,639,732,776,648,589,592,633,655,659,672,676,727,727,725,633,633,580,580,580,691,720,745,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,682,668,568,568,568,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,721,587,775,638,687,564,565,566,573,575,576,577,584,586,588,593,595,596,601,620,622,624,626,630,634,636,637,639,644,647,648,654,655,657,658,661,667,669,671,683,697,700,706,708,712,715,717,718,719,728,731,732,733,734,736,738,750,754,755,760,761,766,771,773,776,778,782,783,650,638,638,588,760,758,564,565,566,573,575,576,577,584,586,588,593,595,596,601,620,622,624,626,630,634,636,637,639,640,644,647,648,654,655,657,658,661,667,669,671,683,697,700,706,708,712,715,717,718,719,728,731,732,733,734,736,738,748,750,753,754,755,760,761,766,768,771,773,776,778,782,783,694,693,563,582,591,625,672,673,692,716,749,751,759,770,779,563,638,580,580,672,741,685,781,563,572,638,651,680,680,576,607,670,594,564,571,574,576,579,587,589,600,606,607,618,619,633,635,645,652,653,656,658,662,669,670,678,679,688,692,695,698,701,702,710,711,713,714,744,746,749,764,765,770,780,754,591,779,609,705,781,635,659,566,568,578,580,591,599,602,603,611,614,615,621,625,631,632,641,643,649,651,660,663,664,666,672,673,675,677,682,694,699,709,715,716,735,737,739,742,743,751,752,756,758,763,767,769,779,678,772,611,611,707,584,612,613,638,655,668,736,771,655,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,633,609,705,650,650,684,725,599,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,693,604,740,577,601,740,612,612,612,668,729,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,537,784,538,785,786,787,788,789,790,791,792,793,539,794,795,796,797,798,799,800,801,802,803,804,805,540,806,541,807,808,542,809,810,811,812,813,814,543,815,816,817,818,819,544,545,820,821,822,823,824,546,825,826,547,827,548,828,829,830,831,832,549,833,550,834,551,835,552,836,837,838,839,840,553,841,842,843,844,845,846,847,848,849,850,851,852,853,854,554,855,856,555,857,858,556,557,859,860,861,862,863,864,865,558,866,867,868,869,870,871,872,873,874,875,876,877,878,559,879,880,881,882,883,884,560,885,886,887,561,888,889,890,891,892,893,894,895,564,576,652,658,670,711,644,594,644,570,744,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,594,580,568,682,720,725,765,725,569,616,623,723,633,594,684,754,660,677,579,688,689,714,709,709,611,727,743,611,611,727,743,613,614,632,743,594,684,684,684,684,694,737,677,677,677,677,740,739,570,619,744,682,689,604,629,753,611,709,655,600,602,602,602,574,611,727,743,621,672,597,759,722,564,571,594,599,631,652,658,701,711,739,742,752,754,564,571,594,599,631,652,658,701,711,739,742,752,754,564,571,594,599,631,652,658,701,711,739,742,752,754,774,610,709,638,709,709,709,638,609,705,687,563,563,638,633,569,571,603,616,623,631,634,653,658,675,690,711,717,723,735,739,768,775,782,737,737,737,599,606,656,710,716,727,751,752,767,606,656,710,716,727,751,767,606,656,710,716,751,767,687,569,571,603,616,623,631,634,653,658,675,690,711,717,723,735,739,768,775,782,737,737,737,599,606,656,710,716,727,751,752,767,564,569,607,616,618,637,645,652,653,658,683,711,723,727,752,744,764,744,764,564,637,652,658,683,711,737,651,599,618,649,679,739,752,606,656,710,716,727,751,767,606,656,710,716,751,767,569,571,603,616,623,631,634,653,658,675,690,711,717,723,735,739,768,775,782,737,737,737,599,606,656,710,716,727,751,752,767,606,656,710,716,727,751,767,606,656,710,716,751,767,18,18,24,27,0,0,24,0,18,18,24,27,18,24,27,18,18,24,24,27,27,18,24,24,24,27,27,18,24,27,18,24,27,18,24,27,18,24,27,18,24,27,1273,1274,1275,1274,1273,899,900,901,902,899,900,902,902,902,902,902,902,898,0,898,0,901,901,901,0,0,0,898,899,900,901,902,898,899,900,901,902,898,899,900,901,902,898,899,900,901,902,899,900,901,902,898,899,900,898,899,900,901,902,898,899,900,901,902,898,898,899,900,901,902,898,899,900,901,902,901,902,901,902,898,899,900,901,902,900,900,900,900,900,898,898,898,900,900,900,900,900,900,898,898,899,900,898,899,900,901,902,899,901,902,898,899,900,901,902,901,902,898,899,900,901,902,898,899,900,901,902,900,900,900,900,900,898,899,900,901,902,1218,1218,1218,1218,1218,1218,931,0,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,1169,931,0,1201,1201,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,917,917,917,917,917,917,917,917,917,917,931,0,914,914,914,914,914,914,914,914,914,914,914,914,914,1164,1164,1164,1164,1164,1164,1164,1164,1164,1164,1164,1164,1164,1164,1164,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,1237,931,0,931,0,931,0,931,931,0,0,931,0,930,930,930,930,930,930,931,0,931,0,931,0,931,0,1166,1166,1166,1166,0,0,0,0,0,0,0,0,0,0,1229,931,0,931,0,931,0,929,929,929,929,929,929,929,929,929,929,929,929,931,0,931,0,931,0,1271,1271,1271,931,0,931,0,931,0,1176,1176,1176,1163,1163,1163,1235,1235,1235,1235,931,0,931,0,1215,931,0,1215,1215,931,0,931,1207,0,1207,1207,1207,1207,1270,1270,1270,1270,1266,1266,1266,1266,1266,931,0,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,931,931,0,0,1018,931,0,931,0,931,0,931,0,931,0,931,0,931,0,1196,1196,1196,1196,1196,1196,931,0,931,0,0,0,0,0,0,0,0,0,0,0,0,0,931,0,931,0,931,0,931,0,931,0,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,931,0,931,0,931,0,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1221,1221,1221,1221,1221,1221,912,912,912,912,912,912,912,912,931,0,931,0,926,926,926,926,926,926,926,926,926,926,931,0,926,926,931,0,931,0,0,0,0,1186,1186,1186,1186,1186,1186,1186,1186,1182,1182,1182,1182,1182,1182,1182,1182,1182,1182,1182,1182,1182,1182,1182,1236,1236,1236,1236,1236,1236,1236,1236,1200,1200,1200,1200,1243,1243,1243,931,0,931,0,1208,1208,1208,1208,1208,931,0,1167,1167,1167,1167,1167,1167,1167,931,0,0,0,0,0,0,0,931,0,931,0,923,923,923,923,923,923,923,923,923,923,923,923,923,923,909,909,909,909,909,909,909,909,909,909,913,913,913,913,913,913,913,913,913,913,931,0,931,0,916,916,916,916,916,916,916,916,916,916,916,916,916,916,916,916,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,931,0,931,0,931,0,931,0,931,0,931,931,0,0,931,0,931,0,931,0,1198,1198,1198,1198,1198,1198,1198,1198,1198,931,0,931,0,931,0,920,920,920,920,920,920,920,920,931,0,931,0,931,0,931,0,1179,1179,0,0,0,0,0,0,0,0,931,0,931,0,910,910,910,910,910,910,910,910,910,910,910,910,910,910,910,931,931,0,0,931,0,931,0,931,0,931,0,931,0,931,0,924,924,924,924,924,924,924,924,924,924,924,924,924,924,924,931,0,931,0,919,919,919,919,919,919,919,919,919,919,919,919,919,919,931,0,931,0,0,0,0,1032,1037,931,0,931,0,1209,1209,1209,1209,931,0,931,931,0,0,931,0,931,0,931,931,0,0,931,0,931,0,931,0,931,0,931,0,931,0,0,1225,1225,1225,1225,931,0,1225,1225,1225,1225,931,0,931,0,1249,1249,1249,1249,1249,1249,1227,1227,1227,1227,1227,1227,1247,1247,1247,1247,1247,1247,1247,1247,1247,1247,1247,1247,1247,1247,1247,1247,1247,1247,1247,1247,1247,1257,1257,1257,1257,1257,1257,1257,1257,1229,1229,1229,1229,1229,1229,1229,1229,1264,1264,1264,1264,1264,1178,1178,1178,1251,1251,1251,1251,1251,1234,1234,1234,1234,1234,1234,1234,1234,1234,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1258,1258,1258,1258,1258,1258,1258,1261,1261,1263,1263,1263,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1250,1250,1250,1250,1250,1250,1250,1250,1250,1206,1206,1206,1206,1206,1212,1230,1230,1230,1230,1230,1230,1230,1230,1230,911,1256,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,1252,1252,1252,1252,1181,1181,1181,1181,1181,1187,1187,1187,1187,1187,1187,1187,1187,1187,1187,1187,1187,1187,1187,1160,1160,1160,1160,1187,1187,1241,1241,927,927,1262,1262,1262,1262,1262,1262,1262,1262,927,927,927,927,927,927,1241,1241,1241,1241,1241,1241,1241,1241,1241,1174,1174,1174,1174,1174,1174,1174,1223,1223,1246,1246,1246,1246,1246,1246,1211,1211,1211,1211,1165,1165,1202,1202,1202,1202,1202,1202,1202,1202,1217,1217,1217,1213,1213,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1245,1245,1245,1245,1245,1216,1248,1248,1248,1184,1184,1184,1184,1184,1171,1171,1171,1171,1171,1195,1195,1195,1195,1195,1195,1195,1195,1195,1195,1195,1195,1195,1195,1195,1195,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1189,1189,1189,1189,1189,1189,1189,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1183,1183,1183,1183,1183,1183,1183,1183,1183,1183,907,907,907,907,907,907,921,921,921,921,921,921,921,921,921,921,921,921,921,921,921,921,921,921,1190,1190,1190,1190,1190,1190,1190,1185,1185,1185,1185,1185,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1156,1156,1156,1156,1156,1156,1156,1156,1224,1224,1224,1224,1224,1224,1224,1224,1224,922,922,922,922,922,922,1259,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,1173,1173,1173,1173,1173,1173,1173,1173,1173,1173,1173,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1233,1233,1233,1233,1233,915,915,915,915,915,915,915,915,915,915,915,915,915,915,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,1205,931,0,931,0,931,0,931,0,1205,931,0,1197,1197,1197,1197,1197,1197,931,0,1205,1018,1210,1220,1220,1220,1210,1210,1210,931,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,931,0,931,0,931,0,1188,1188,1188,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,1222,1222,1222,1222,1222,0,1172,1172,1172,1192,1192,1192,1192,931,0,931,0,931,0,931,0,931,0,931,0,1260,931,0,931,0,1260,1260,1260,931,0,931,0,1260,931,0,931,0,931,0,931,0,931,0,908,908,908,908,908,908,908,908,908,908,908,908,931,0,1231,1231,1231,931,0,0,0,0,0,0,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,1177,1177,931,0,931,0,931,0,931,0,1191,1191,0,0,931,0,931,0,931,931,0,931,0,0,931,931,0,931,0,0,931,0,1193,1193,1193,1193,1193,905,905,905,905,905,1193,1193,1193,1193,1193,1193,1193,1193,1193,1193,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,1238,1238,1238,1238,1162,1162,1162,1162,1162,1162,1162,1162,1162,1244,1244,1244,1244,931,0,931,0,931,0,0,0,0,0,0,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,918,918,931,0,0,1199,1199,1199,1199,931,0,1175,1175,1175,1175,1175,931,0,931,1194,1194,1194,1194,1194,1194,1194,1194,1194,1194,1194,1194,1194,1194,1194,1194,0,1267,1267,1267,1267,1267,1267,1267,1267,1255,1255,1228,931,0,1265,1265,1265,1265,1265,1265,928,928,928,928,928,1228,1228,1228,1228,1228,1228,925,925,925,1228,903,903,903,903,931,0,1164,904,904,904,904,904,904,904,904,1203,1203,1203,1203,1203,931,0,0,0,0,0,0,0,0,0,0,0,0,0,931,0,931,0,931,0,931,0,931,0,931,0,1214,1214,1170,1170,1170,1170,931,0,931,0,1232,1232,1232,1232,1232,1155,977,0,0,1155,0,931,0,931,0,1269,1269,1269,1269,1268,1268,1268,1268,1268,1268,1168,1168,1168,1168,1168,1168,1168,1168,1168,1168,931,0,931,0,0,0,0,1180,1180,1180,1180,1050,1071,1140,1052,1052,1052,1064,1072,977,977,977,985,1129,1135,1135,954,939,956,980,1053,939,956,980,1053,939,956,980,1053,1032,957,1055,1069,1092,957,1055,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,946,947,956,983,994,1010,1035,1053,1075,1092,1113,1120,1133,1139,1140,1145,1124,1091,1124,959,988,1004,1037,1055,1125,957,1141,944,944,1141,1129,1141,1141,957,1141,1037,1144,1144,960,966,1038,960,966,1038,960,966,1038,1060,1004,1125,1004,1125,1004,1125,1082,1082,1082,1082,1089,1147,1029,1091,1140,946,964,964,1008,1073,1143,976,1055,1138,1039,1039,1039,1039,993,1093,1077,1077,1077,977,944,1063,957,976,1048,1064,1072,1064,1072,1064,1072,1064,1072,1114,1055,1114,1076,1080,937,957,1076,1127,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1105,1122,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1031,940,1062,940,1062,940,1062,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,1141,1005,1005,1005,1005,949,979,1097,1114,991,1138,1138,1018,1032,1037,1088,1088,983,1042,1068,1031,1080,1080,983,1082,1098,1152,1098,1152,1098,1152,1098,1098,1098,1098,1098,1098,1043,1098,1111,1152,934,1043,1098,1111,1152,934,1043,1098,1111,1152,934,1043,1098,1111,1152,934,1043,1098,1111,1152,934,1043,1098,1111,1152,934,1043,1098,1111,1152,934,1043,1098,1111,1152,934,1098,1152,1098,1080,969,1082,1082,1092,957,1055,1051,1051,1051,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,994,1113,1133,978,1002,1008,1034,1052,1073,1143,1009,1138,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,978,1003,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,985,1085,981,1027,1136,939,956,980,1053,958,1003,1022,1045,1086,1122,1127,1003,947,998,1077,1100,1058,1058,951,1008,1049,1073,1143,937,1076,1076,1100,963,1055,1055,1055,1068,957,976,1048,1055,1068,1140,1080,1063,949,950,979,987,995,1045,1061,1127,1151,1154,964,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,931,1025,932,932,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,1089,1089,1127,1080,1133,1133,1138,1138,1138,1050,1071,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1018,1018,1018,1018,944,1080,1145,1078,1079,1086,1144,1102,937,1063,977,1032,1037,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1060,1060,1099,1081,1108,1076,1063,994,1055,1113,1133,994,1055,1113,1133,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,1123,1003,937,937,937,937,937,1140,1046,947,1077,1089,1063,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,1033,957,960,1003,1055,1015,1058,1046,1050,1071,1148,983,1068,1088,950,987,1026,1138,994,1010,1113,1133,1016,955,960,966,972,984,989,1018,1035,1037,1038,1088,1105,1122,1127,1136,1137,1154,1155,1031,1035,1031,1147,933,933,933,933,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,903,903,903,903,1159,1160,1161,1162,904,904,904,904,904,1163,1164,1165,1166,905,905,905,905,905,1167,1168,1169,1170,1171,906,906,906,906,906,1172,1173,1174,907,907,907,907,907,908,908,908,908,908,909,909,909,909,909,1175,1176,910,910,910,910,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,911,911,911,911,1186,1187,912,912,912,912,912,1188,1189,913,913,913,913,913,1190,1191,914,914,914,914,914,1192,1193,1194,1195,1196,1197,915,915,915,915,915,916,916,916,916,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,917,917,917,917,1207,1208,1209,1210,1211,918,918,918,918,918,1212,1213,1214,1215,1216,1217,919,919,919,919,919,1218,1219,920,920,920,920,920,1220,1221,921,921,921,921,921,1222,1223,1224,1225,922,922,922,922,922,1226,1227,923,923,923,923,923,1228,924,924,924,924,924,1229,1230,1231,925,925,925,925,925,926,926,926,926,926,1232,1233,927,927,927,927,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,928,928,928,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,929,929,929,929,1258,1259,1260,1261,1262,1263,1264,1265,930,930,930,930,930,1266,1267,1268,1269,1270,1271,1272,1088,1028,1106,973,1008,1073,1096,1143,1144,1146,969,1105,1122,1128,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1063,1063,985,1134,1134,1114,1114,966,972,989,1042,1137,977,977,977,977,1032,1032,957,1010,957,1058,1058,995,1116,995,933,957,1055,1092,981,1027,1035,1145,984,1068,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1075,1145,1145,1010,957,1018,1037,1055,1092,957,1063,1084,944,1030,944,1105,1122,1124,1037,1010,1153,944,1129,1104,1131,1131,1131,1064,1072,949,979,1019,1022,1045,1076,1080,1089,1100,1104,1129,932,944,964,970,1041,1082,1090,1090,1097,1063,1010,983,1093,1093,1102,961,946,951,1003,1128,1003,1057,1063,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1063,1063,1078,1079,1078,1079,1078,1079,1078,1079,1078,1079,1078,1079,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1021,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1030,945,1015,1009,957,1046,1059,1132,1033,1019,964,1026,938,946,947,963,983,994,995,1010,1018,1035,1037,1075,1113,1116,1120,1133,1139,1140,1145,1124,1124,956,1053,944,957,959,988,1004,1055,1125,949,979,1061,1154,950,964,987,1088,1011,1049,1058,1058,1058,1058,1058,937,1114,963,1089,938,946,947,963,983,994,995,1010,1018,1035,1037,1075,1113,1116,1120,1133,1139,1140,1145,1124,1124,956,1053,944,957,959,988,1004,1055,1125,984,1006,1116,976,954,976,1015,1017,1018,1030,1055,1058,1076,1080,1100,1122,1100,1102,1011,1015,931,1021,931,931,1014,952,970,1121,1121,1121,1031,1031,1100,1102,1011,1009,1009,1015,1039,1084,1136,968,1006,1068,1088,970,990,1013,1018,1024,1029,1122,1131,1091,1039,1091,1091,1018,1060,1035,1035,1035,1016,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1064,1072,977,1097,1019,1138,1138,1138,1022,1045,1138,1138,1138,1014,937,937,937,1097,942,1082,1041,1041,942,1082,1082,942,1082,1100,1031,1031,1096,1146,1096,1146,1096,1146,1096,1146,1096,1146,1096,1146,1030,978,1008,1073,1143,978,1008,1073,1143,978,1008,1073,1143,978,1008,1073,1143,978,978,978,1040,1067,982,996,1001,1040,1056,1067,1083,1119,996,1001,1040,1056,1067,982,982,1040,1067,1083,1119,982,1040,1067,1083,1119,1056,1056,1056,1056,931,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1085,936,952,1030,1065,1117,1065,1065,963,1134,1134,1060,957,972,974,1006,1020,1074,1095,1107,1120,1130,1137,1139,1039,1042,1068,1042,1068,972,1069,1137,946,969,975,998,1095,1120,1109,1109,934,1043,1094,984,984,1069,984,984,1025,1052,1025,1052,1025,1052,1025,1052,969,1140,1114,971,1047,1103,1115,971,1103,1115,1047,1047,1050,1071,989,989,1031,1063,1060,940,960,966,969,983,998,1004,1038,1046,1062,1069,1124,1125,1142,975,1139,975,1139,975,1139,975,1139,1046,933,1015,1078,1079,991,973,1109,1058,1058,1140,993,992,1109,1109,1109,1109,1093,1114,947,983,1035,1075,1016,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1016,1101,1101,1070,1088,1105,1122,1088,1105,1122,1060,1080,1034,1110,1032,1033,1060,957,974,1006,1020,1074,1095,1107,1120,1130,1139,1039,1042,1068,1042,1068,1069,946,969,975,998,1095,1120,1105,1122,951,1063,934,1016,1043,1098,1152,1064,1072,1064,1072,1064,1072,1114,1121,1121,1121,1121,1033,1016,1009,1007,1007,1007,1007,1007,994,1007,1010,1113,1133,1056,989,989,1057,933,1078,1079,1088,1088,1102,935,953,997,999,1008,1012,1073,1126,1149,1151,943,950,955,987,992,1089,992,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1080,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,1094,1094,1094,1094,1094,1094,1094,1094,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,986,1033,970,1019,1030,1144,1144,963,1063,1011,1049,944,1010,944,944,977,1037,1129,936,1032,1099,1081,1108,1101,977,1132,944,993,1015,1049,1114,1123,1139,1139,1070,993,993,1058,1058,1058,1014,1105,1122,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1084,1033,1131,1131,1131,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,976,1147,991,1055,1091,932,935,940,942,943,944,949,950,952,953,956,958,960,964,966,967,970,972,978,979,980,987,992,996,999,1000,1001,1002,1008,1017,1022,1023,1026,1027,1028,1036,1038,1041,1046,1056,1057,1061,1065,1073,1081,1082,1083,1087,1090,1097,1099,1101,1106,1108,1111,1112,1117,1119,1137,1143,1146,1149,1150,1109,1055,1055,952,1117,1144,932,935,940,942,943,944,949,950,952,953,956,958,960,964,966,967,970,972,978,979,980,987,988,992,996,999,1000,1001,1002,1008,1017,1022,1023,1026,1027,1028,1036,1038,1041,1046,1048,1056,1057,1061,1065,1073,1081,1082,1083,1085,1087,1090,1097,1099,1101,1106,1108,1111,1112,1117,1119,1125,1137,1143,1146,1149,1150,984,1044,957,971,1003,1047,1049,1050,1071,1076,1078,1079,1103,1104,1115,957,1055,1058,1058,1049,963,986,1129,957,1039,1055,1092,1063,1063,940,1006,1062,1035,934,939,940,941,948,956,960,961,962,968,971,975,980,983,989,990,993,1006,1024,1042,1043,1053,1054,1062,1068,1074,1075,1088,1093,1095,1098,1100,1103,1107,1115,1118,1124,1132,1134,1147,1148,1046,1078,1079,1064,1072,1129,941,1114,933,935,946,947,951,969,973,981,984,994,998,1003,1010,1013,1025,1027,1029,1039,1047,1049,1050,1051,1052,1058,1066,1069,1071,1077,1078,1079,1084,1086,1094,1102,1113,1120,1126,1131,1133,1135,1136,1141,1142,1144,1152,1153,983,1019,1010,1010,1127,942,944,964,1033,1055,1082,1121,1140,944,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,993,1064,1072,1109,1109,1145,1070,946,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,1044,1018,1037,1000,1028,1018,1121,1121,1121,1033,1016,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,903,1159,1160,1161,1162,904,1163,1164,1165,1166,905,1167,1168,1169,1170,1171,906,1172,1173,1174,907,908,909,1175,1176,910,1177,1178,1179,1180,1181,1182,1183,1184,1185,911,1186,1187,912,1188,1189,913,1190,1191,914,1192,1193,1194,1195,1196,1197,915,916,1198,1199,1200,1201,1202,1203,1204,1205,1206,917,1207,1208,1209,1210,1211,918,1212,1213,1214,1215,1216,1217,919,1218,1219,920,1220,1221,921,1222,1223,1224,1225,922,1226,1227,923,1228,924,1229,1230,1231,925,926,1232,1233,927,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,928,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,929,1258,1259,1260,1261,1262,1263,1264,1265,930,1266,1267,1268,1269,1270,1271,1272,939,940,956,980,1053,1062,1090,1035,1090,1031,1068,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1035,1058,1084,1131,1070,1122,1148,1070,965,974,1020,1130,993,977,1035,1145,1046,1025,1052,954,961,990,1024,1153,1153,1010,1113,1139,1010,1010,1113,1139,994,1113,1133,1140,977,977,1035,1145,1145,1145,1145,984,1069,1052,1052,1052,1052,1018,969,1031,1068,1088,1084,954,1037,1011,1085,1010,1153,944,1124,1051,1051,1051,1093,1010,1113,1139,951,1049,937,1076,1059,939,946,947,956,962,969,980,1035,1046,1053,1075,1077,1120,939,946,947,956,962,969,980,1035,1046,1053,1075,1077,1120,939,946,947,956,962,969,980,1035,1046,1053,1075,1077,1120,1080,1030,1153,1055,1153,1153,1153,1055,1064,1072,1091,957,957,1055,993,939,962,965,969,973,974,980,991,1004,1008,1013,1020,1073,1077,1107,1125,1130,1142,1143,1069,1069,1069,946,948,1050,1054,1066,1071,1118,1120,1139,948,1050,1054,1066,1071,1118,1139,948,1050,1054,1066,1071,1118,1091,939,962,965,969,973,974,980,991,1004,1008,1013,1020,1073,1077,1107,1125,1130,1142,1143,1069,1069,1069,946,948,1050,1054,1066,1071,1118,1120,1139,939,956,972,974,980,1006,1020,1053,1074,1095,1107,1120,1130,1137,1139,1042,1068,1042,1068,939,956,972,980,1053,1069,1137,1039,946,969,975,998,1095,1120,948,1050,1054,1066,1071,1118,1139,948,1050,1054,1066,1071,1118,939,962,965,969,973,974,980,991,1004,1008,1013,1020,1073,1077,1107,1125,1130,1142,1143,1069,1069,1069,946,948,1050,1054,1066,1071,1118,1120,1139,948,1050,1054,1066,1071,1118,1139,948,1050,1054,1066,1071,1118],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[1,2],[3,2],[4,4],[5,5],[[[6,[-1]]],[[6,[-1]]],[7,8]],[1,1],[3,3],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],0,[3,10],[1,10],[3,10],0,[11,[[14,[[13,[12]]]]]],[[],4],[[],1],[[],3],[15,[[16,[-1,11]]],[]],[[5,[17,[10]]],[[16,[-1,18]]],[]],[[5,[17,[10]]],[[16,[[6,[-1]],18]]],8],[-1,[[16,[4]]],19],[[4,4],20],[[5,5],20],[[1,1],20],[[3,3],20],0,[15,10],[[4,21],22],[[5,21],22],[[[6,[-1]],21],22,[23,8]],[[1,21],22],[[3,21],22],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,5,[]],[1,20],[3,20],[[[6,[-1]]],4,8],[1,[[17,[10]]]],[3,[[17,[10]]]],0,0,[3,10],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,15,[]],[1,10],[3,15],[11,[[16,[15,11]]]],[-1,11,[]],0,[[],1],[[],3],[[5,15,[17,[10]]],[[16,[-1,18]]],[]],[1,[[17,[10]]]],[3,[[17,[10]]]],[1,10],[3,10],0,[1,[[17,[10]]]],[3,[[17,[10]]]],[-1,[[16,[[9,[4,-2]],24]]],25,8],[-1,[[16,[1,24]]],25],[-1,[[16,[[9,[4,-2]],24]]],25,8],[-1,[[16,[3,24]]],25],[[-1,5],[[16,[[9,[4,-2]],24]]],25,8],[-1,[[16,[[9,[4,-2]],24]]],[],[]],[-1,[[16,[[6,[-2]],24]]],[],[]],[-1,[[16,[[6,[-2]],24]]],[],[]],[[-1,4,-2],[[16,[26,27]]],[],[]],[[-1,-2],[[16,[26,27]]],[],[]],[[-1,-2],[[16,[26,27]]],[],[]],[[-1,[6,[-2]]],[[16,[26,27]]],[],[]],[[-1,[6,[-2]]],[[16,[26,27]]],[],[]],[1,10],[3,10],0,[[-1,5,[17,[10]]],26,[]],[[-1,5,[17,[10]]],26,[]],[[[6,[-1]],[17,[10]]],26,8],[[4,-1],16,28],[[5,-1],16,28],[[[6,[-1]],-2],16,[29,8],28],[[1,4,-1],9,8],[[3,4,-1],9,8],[[1,4,-1],9,30],[[3,4,-1],9,30],[[-1,5],9,[]],[1,10],[3,10],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],0,[[-1,4,-2],[[16,[26,27]]],32,8],[[-1,4,-2],[[16,[26,27]]],32,8],[[-1,5,4,-2],[[16,[26,27]]],32,8],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],33],[[],34],[[],35],[[],36],[[],37],[[],38],[[],39],[[],40],[[],41],[[],42],[[],43],[[],44],[[],45],[[],46],[[],47],[[],48],[[],49],[[],50],[[],51],[[],52],[[],53],[[],54],[[],55],[[],56],[[],57],[[],58],[[],59],[[],60],[[],61],[[],62],[[],63],[[],64],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],0,0,0,[33,10],[34,10],[35,2],[36,2],[37,2],[38,15],[39,15],[40,2],[41,2],[42,2],[43,65],[44,10],[45,15],[46,15],[47,10],[48,10],[49,10],[50,10],[51,65],[52,2],[53,10],[54,15],[55,10],[56,10],[57,15],[58,2],[59,2],[60,2],[61,2],[62,15],[63,2],[64,2],[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[66,66],[67,67],[68,68],[69,69],[70,70],[71,71],[72,72],[73,73],[74,74],[75,75],[76,76],[77,77],[78,78],[79,79],[80,80],[81,81],[82,82],[83,83],[84,84],[85,85],[86,86],[87,87],[88,88],[89,89],[90,90],[91,91],[92,92],[93,93],[94,94],[95,95],[96,96],[97,97],[98,98],[99,99],[100,100],[101,101],[102,102],[103,103],[104,104],[105,105],[106,106],[107,107],[108,108],[109,109],[110,110],[111,111],[112,112],[113,113],[114,114],[115,115],[116,116],[117,117],[118,118],[119,119],[120,120],[121,121],[122,122],[123,123],[124,124],[125,125],[126,126],[127,127],[128,128],[129,129],[130,130],[131,131],[132,132],[133,133],[134,134],[135,135],[136,136],[137,137],[138,138],[139,139],[140,140],[141,141],[142,142],[143,143],[144,144],[145,145],[146,146],[147,147],[148,148],[149,149],[150,150],[151,151],[152,152],[153,153],[154,154],[155,155],[156,156],[157,157],[158,158],[159,159],[160,160],[161,161],[162,162],[163,163],[164,164],[165,165],[166,166],[167,167],[168,168],[169,169],[170,170],[171,171],[172,172],[173,173],[174,174],[175,175],[176,176],[177,177],[178,178],[179,179],[180,180],[181,181],[182,182],[183,183],[184,184],[185,185],[186,186],[187,187],[188,188],[189,189],[190,190],[191,191],[192,192],[193,193],[194,194],[195,195],[196,196],[197,197],[198,198],[199,199],[200,200],[201,201],[202,202],[203,203],[204,204],[205,205],[206,206],[207,207],[208,208],[209,209],[210,210],[211,211],[212,212],[213,213],[214,214],[215,215],[216,216],[217,217],[218,218],[219,219],[220,220],[221,221],[222,222],[223,223],[224,224],[225,225],[226,226],[227,227],[228,228],[229,229],[230,230],[231,231],[232,232],[233,233],[234,234],[235,235],[236,236],[237,237],[238,238],[239,239],[240,240],[241,241],[242,242],[243,243],[244,244],[245,245],[246,246],[247,247],[248,248],[249,249],[250,250],[251,251],[252,252],[253,253],[254,254],[255,255],[256,256],[257,257],[258,258],[259,259],[260,260],[261,261],[262,262],[263,263],[264,264],[265,265],[266,266],[267,267],[268,268],[269,269],[270,270],[271,271],[272,272],[273,273],[274,274],[275,275],[276,276],[277,277],[278,278],[279,279],[280,280],[281,281],[282,282],[283,283],[284,284],[285,285],[286,286],[287,287],[288,288],[289,289],[290,290],[291,291],[292,292],[293,293],[294,294],[295,295],[296,296],[297,297],[298,298],[299,299],[300,300],[301,301],[302,302],[303,303],[304,304],[305,305],[306,306],[307,307],[308,308],[309,309],[310,310],[311,311],[312,312],[313,313],[314,314],[315,315],[316,316],[317,317],[318,318],[319,319],[320,320],[321,321],[322,322],[323,323],[324,324],[325,325],[326,326],[327,327],[328,328],[329,329],[330,330],[331,331],[332,332],[333,333],[334,334],[335,335],[336,336],[337,337],[338,338],[339,339],[340,340],[341,341],[342,342],[343,343],[344,344],[345,345],[346,346],[347,347],[348,348],[349,349],[350,350],[351,351],[352,352],[353,353],[354,354],[355,355],[356,356],[357,357],[358,358],[359,359],[360,360],[361,361],[362,362],[363,363],[364,364],[365,365],[366,366],[367,367],[368,368],[33,33],[369,369],[370,370],[371,371],[372,372],[373,373],[374,374],[375,375],[376,376],[377,377],[378,378],[379,379],[380,380],[34,34],[381,381],[382,382],[383,383],[35,35],[384,384],[36,36],[385,385],[386,386],[37,37],[387,387],[388,388],[389,389],[390,390],[391,391],[392,392],[393,393],[38,38],[394,394],[395,395],[39,39],[396,396],[397,397],[398,398],[399,399],[40,40],[400,400],[401,401],[402,402],[403,403],[41,41],[42,42],[404,404],[405,405],[406,406],[407,407],[43,43],[408,408],[409,409],[44,44],[45,45],[410,410],[411,411],[412,412],[413,413],[414,414],[415,415],[416,416],[417,417],[418,418],[46,46],[419,419],[420,420],[421,421],[422,422],[423,423],[424,424],[425,425],[426,426],[427,427],[47,47],[428,428],[429,429],[48,48],[49,49],[430,430],[431,431],[432,432],[433,433],[434,434],[50,50],[435,435],[436,436],[437,437],[438,438],[439,439],[51,51],[440,440],[52,52],[441,441],[442,442],[443,443],[444,444],[445,445],[446,446],[447,447],[448,448],[449,449],[450,450],[451,451],[452,452],[453,453],[454,454],[53,53],[54,54],[455,455],[456,456],[457,457],[458,458],[459,459],[55,55],[460,460],[461,461],[462,462],[463,463],[464,464],[465,465],[466,466],[467,467],[56,56],[468,468],[469,469],[470,470],[471,471],[472,472],[473,473],[474,474],[57,57],[475,475],[476,476],[477,477],[478,478],[58,58],[479,479],[480,480],[481,481],[59,59],[60,60],[482,482],[483,483],[484,484],[485,485],[486,486],[487,487],[488,488],[489,489],[61,61],[490,490],[491,491],[492,492],[493,493],[494,494],[62,62],[495,495],[496,496],[497,497],[63,63],[498,498],[499,499],[500,500],[501,501],[502,502],[503,503],[504,504],[505,505],[506,506],[64,64],[507,507],[508,508],[509,509],[510,510],[511,511],[512,512],[513,513],[514,514],[515,515],[516,516],[517,517],[518,518],[519,519],[520,520],[521,521],[522,522],[523,523],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],0,0,0,0,[[33,33],524],[[34,34],524],[[35,35],524],[[36,36],524],[[37,37],524],[[38,38],524],[[39,39],524],[[40,40],524],[[41,41],524],[[42,42],524],[[43,43],524],[[44,44],524],[[45,45],524],[[46,46],524],[[47,47],524],[[48,48],524],[[49,49],524],[[50,50],524],[[51,51],524],[[52,52],524],[[53,53],524],[[54,54],524],[[55,55],524],[[56,56],524],[[57,57],524],[[58,58],524],[[59,59],524],[[60,60],524],[[61,61],524],[[62,62],524],[[63,63],524],[[64,64],524],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[33,33],[34,34],[35,35],[36,36],[37,37],[38,38],[39,39],[40,40],[41,41],[42,42],[43,43],[44,44],[45,45],[46,46],[47,47],[48,48],[49,49],[50,50],[51,51],[52,52],[53,53],[54,54],[55,55],[56,56],[57,57],[58,58],[59,59],[60,60],[61,61],[62,62],[63,63],[64,64],0,0,0,0,0,0,0,[[33,33],20],[[34,34],20],[[35,35],20],[[36,36],20],[[37,37],20],[[38,38],20],[[39,39],20],[[40,40],20],[[41,41],20],[[42,42],20],[[43,43],20],[[44,44],20],[[45,45],20],[[46,46],20],[[47,47],20],[[48,48],20],[[49,49],20],[[50,50],20],[[51,51],20],[[52,52],20],[[53,53],20],[[54,54],20],[[55,55],20],[[56,56],20],[[57,57],20],[[58,58],20],[[59,59],20],[[60,60],20],[[61,61],20],[[62,62],20],[[63,63],20],[[64,64],20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],67],[[],68],[[],69],[[],70],[[],71],[[],72],[[],73],[[],74],[[],75],[[],76],[[],77],[[],78],[[],79],[[],80],[[],81],[[],82],[[],83],[[],84],[[],85],[[],86],[[],87],[[],88],[[],89],[[],90],[[],91],[[],92],[[],93],[[],94],[[],95],[[],96],[[],97],[[],98],[[],99],[[],100],[[],101],[[],102],[[],103],[[],104],[[],105],[[],106],[[],107],[[],108],[[],109],[[],110],[[],111],[[],112],[[],113],[[],114],[[],115],[[],116],[[],117],[[],118],[[],119],[[],120],[[],121],[[],122],[[],123],[[],124],[[],125],[[],126],[[],127],[[],128],[[],129],[[],130],[[],131],[[],132],[[],133],[[],134],[[],135],[[],136],[[],137],[[],138],[[],139],[[],140],[[],141],[[],142],[[],143],[[],144],[[],145],[[],146],[[],147],[[],148],[[],149],[[],150],[[],151],[[],152],[[],153],[[],154],[[],155],[[],156],[[],157],[[],158],[[],159],[[],160],[[],161],[[],162],[[],163],[[],164],[[],165],[[],166],[[],167],[[],168],[[],169],[[],170],[[],171],[[],172],[[],173],[[],174],[[],175],[[],176],[[],177],[[],178],[[],179],[[],180],[[],181],[[],182],[[],183],[[],184],[[],185],[[],186],[[],187],[[],188],[[],189],[[],190],[[],191],[[],192],[[],193],[[],194],[[],195],[[],196],[[],197],[[],198],[[],199],[[],200],[[],201],[[],202],[[],203],[[],204],[[],205],[[],206],[[],207],[[],208],[[],209],[[],210],[[],211],[[],212],[[],213],[[],214],[[],215],[[],216],[[],217],[[],218],[[],219],[[],220],[[],221],[[],222],[[],223],[[],224],[[],225],[[],226],[[],227],[[],228],[[],229],[[],230],[[],231],[[],232],[[],233],[[],234],[[],235],[[],236],[[],237],[[],238],[[],239],[[],240],[[],241],[[],242],[[],243],[[],244],[[],245],[[],246],[[],247],[[],248],[[],249],[[],250],[[],251],[[],252],[[],253],[[],254],[[],255],[[],256],[[],257],[[],258],[[],259],[[],260],[[],261],[[],262],[[],263],[[],264],[[],265],[[],266],[[],267],[[],268],[[],269],[[],270],[[],271],[[],272],[[],273],[[],274],[[],275],[[],276],[[],277],[[],278],[[],279],[[],280],[[],281],[[],282],[[],283],[[],284],[[],285],[[],286],[[],287],[[],288],[[],289],[[],290],[[],291],[[],292],[[],293],[[],294],[[],295],[[],296],[[],297],[[],298],[[],299],[[],300],[[],301],[[],302],[[],303],[[],304],[[],305],[[],306],[[],307],[[],308],[[],309],[[],310],[[],311],[[],312],[[],313],[[],314],[[],315],[[],316],[[],317],[[],318],[[],319],[[],320],[[],321],[[],322],[[],323],[[],324],[[],325],[[],326],[[],327],[[],328],[[],329],[[],330],[[],331],[[],332],[[],333],[[],334],[[],335],[[],336],[[],337],[[],338],[[],339],[[],340],[[],341],[[],342],[[],343],[[],344],[[],345],[[],346],[[],347],[[],348],[[],349],[[],350],[[],351],[[],352],[[],353],[[],354],[[],355],[[],356],[[],357],[[],358],[[],359],[[],360],[[],361],[[],362],[[],363],[[],364],[[],365],[[],366],[[],367],[[],368],[[],33],[[],369],[[],370],[[],371],[[],372],[[],373],[[],374],[[],375],[[],376],[[],377],[[],378],[[],379],[[],380],[[],34],[[],381],[[],382],[[],383],[[],35],[[],384],[[],36],[[],385],[[],386],[[],37],[[],387],[[],388],[[],389],[[],390],[[],391],[[],392],[[],393],[[],38],[[],394],[[],395],[[],39],[[],396],[[],397],[[],398],[[],399],[[],40],[[],400],[[],401],[[],402],[[],403],[[],41],[[],42],[[],404],[[],405],[[],406],[[],407],[[],43],[[],408],[[],409],[[],44],[[],45],[[],410],[[],411],[[],412],[[],413],[[],414],[[],415],[[],416],[[],417],[[],418],[[],46],[[],419],[[],420],[[],421],[[],422],[[],423],[[],424],[[],425],[[],426],[[],427],[[],47],[[],428],[[],429],[[],48],[[],49],[[],430],[[],431],[[],432],[[],433],[[],434],[[],50],[[],435],[[],436],[[],437],[[],438],[[],439],[[],51],[[],440],[[],52],[[],441],[[],442],[[],443],[[],444],[[],445],[[],446],[[],447],[[],448],[[],449],[[],450],[[],451],[[],452],[[],453],[[],454],[[],53],[[],54],[[],455],[[],456],[[],457],[[],458],[[],459],[[],55],[[],460],[[],461],[[],462],[[],463],[[],464],[[],465],[[],466],[[],467],[[],56],[[],468],[[],469],[[],470],[[],471],[[],472],[[],473],[[],474],[[],57],[[],475],[[],476],[[],477],[[],478],[[],58],[[],479],[[],480],[[],481],[[],59],[[],60],[[],482],[[],483],[[],484],[[],485],[[],486],[[],487],[[],488],[[],489],[[],61],[[],490],[[],491],[[],492],[[],493],[[],494],[[],62],[[],495],[[],496],[[],497],[[],63],[[],498],[[],499],[[],500],[[],501],[[],502],[[],503],[[],504],[[],505],[[],506],[[],64],[[],507],[[],508],[[],509],[[],510],[[],511],[[],512],[[],513],[[],514],[[],515],[[],516],[[],517],[[],518],[[],519],[[],520],[[],521],[[],522],[[],523],[15,[[16,[66,11]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[5,[17,[10]]],[[16,[67,18]]]],[[5,[17,[10]]],[[16,[68,18]]]],[[5,[17,[10]]],[[16,[69,18]]]],[[5,[17,[10]]],[[16,[70,18]]]],[[5,[17,[10]]],[[16,[71,18]]]],[[5,[17,[10]]],[[16,[72,18]]]],[[5,[17,[10]]],[[16,[73,18]]]],[[5,[17,[10]]],[[16,[74,18]]]],[[5,[17,[10]]],[[16,[75,18]]]],[[5,[17,[10]]],[[16,[76,18]]]],[[5,[17,[10]]],[[16,[77,18]]]],[[5,[17,[10]]],[[16,[78,18]]]],[[5,[17,[10]]],[[16,[79,18]]]],[[5,[17,[10]]],[[16,[80,18]]]],[[5,[17,[10]]],[[16,[81,18]]]],[[5,[17,[10]]],[[16,[82,18]]]],[[5,[17,[10]]],[[16,[83,18]]]],[[5,[17,[10]]],[[16,[84,18]]]],[[5,[17,[10]]],[[16,[85,18]]]],[[5,[17,[10]]],[[16,[86,18]]]],[[5,[17,[10]]],[[16,[87,18]]]],[[5,[17,[10]]],[[16,[88,18]]]],[[5,[17,[10]]],[[16,[89,18]]]],[[5,[17,[10]]],[[16,[90,18]]]],[[5,[17,[10]]],[[16,[91,18]]]],[[5,[17,[10]]],[[16,[92,18]]]],[[5,[17,[10]]],[[16,[93,18]]]],[[5,[17,[10]]],[[16,[94,18]]]],[[5,[17,[10]]],[[16,[95,18]]]],[[5,[17,[10]]],[[16,[96,18]]]],[[5,[17,[10]]],[[16,[97,18]]]],[[5,[17,[10]]],[[16,[98,18]]]],[[5,[17,[10]]],[[16,[99,18]]]],[[5,[17,[10]]],[[16,[100,18]]]],[[5,[17,[10]]],[[16,[101,18]]]],[[5,[17,[10]]],[[16,[102,18]]]],[[5,[17,[10]]],[[16,[103,18]]]],[[5,[17,[10]]],[[16,[104,18]]]],[[5,[17,[10]]],[[16,[105,18]]]],[[5,[17,[10]]],[[16,[106,18]]]],[[5,[17,[10]]],[[16,[107,18]]]],[[5,[17,[10]]],[[16,[108,18]]]],[[5,[17,[10]]],[[16,[109,18]]]],[[5,[17,[10]]],[[16,[110,18]]]],[[5,[17,[10]]],[[16,[111,18]]]],[[5,[17,[10]]],[[16,[112,18]]]],[[5,[17,[10]]],[[16,[113,18]]]],[[5,[17,[10]]],[[16,[114,18]]]],[[5,[17,[10]]],[[16,[115,18]]]],[[5,[17,[10]]],[[16,[116,18]]]],[[5,[17,[10]]],[[16,[117,18]]]],[[5,[17,[10]]],[[16,[118,18]]]],[[5,[17,[10]]],[[16,[119,18]]]],[[5,[17,[10]]],[[16,[120,18]]]],[[5,[17,[10]]],[[16,[121,18]]]],[[5,[17,[10]]],[[16,[122,18]]]],[[5,[17,[10]]],[[16,[123,18]]]],[[5,[17,[10]]],[[16,[124,18]]]],[[5,[17,[10]]],[[16,[125,18]]]],[[5,[17,[10]]],[[16,[126,18]]]],[[5,[17,[10]]],[[16,[127,18]]]],[[5,[17,[10]]],[[16,[128,18]]]],[[5,[17,[10]]],[[16,[129,18]]]],[[5,[17,[10]]],[[16,[130,18]]]],[[5,[17,[10]]],[[16,[131,18]]]],[[5,[17,[10]]],[[16,[132,18]]]],[[5,[17,[10]]],[[16,[133,18]]]],[[5,[17,[10]]],[[16,[134,18]]]],[[5,[17,[10]]],[[16,[135,18]]]],[[5,[17,[10]]],[[16,[136,18]]]],[[5,[17,[10]]],[[16,[137,18]]]],[[5,[17,[10]]],[[16,[138,18]]]],[[5,[17,[10]]],[[16,[139,18]]]],[[5,[17,[10]]],[[16,[140,18]]]],[[5,[17,[10]]],[[16,[141,18]]]],[[5,[17,[10]]],[[16,[142,18]]]],[[5,[17,[10]]],[[16,[143,18]]]],[[5,[17,[10]]],[[16,[144,18]]]],[[5,[17,[10]]],[[16,[145,18]]]],[[5,[17,[10]]],[[16,[146,18]]]],[[5,[17,[10]]],[[16,[147,18]]]],[[5,[17,[10]]],[[16,[148,18]]]],[[5,[17,[10]]],[[16,[149,18]]]],[[5,[17,[10]]],[[16,[150,18]]]],[[5,[17,[10]]],[[16,[151,18]]]],[[5,[17,[10]]],[[16,[152,18]]]],[[5,[17,[10]]],[[16,[153,18]]]],[[5,[17,[10]]],[[16,[154,18]]]],[[5,[17,[10]]],[[16,[155,18]]]],[[5,[17,[10]]],[[16,[156,18]]]],[[5,[17,[10]]],[[16,[157,18]]]],[[5,[17,[10]]],[[16,[158,18]]]],[[5,[17,[10]]],[[16,[159,18]]]],[[5,[17,[10]]],[[16,[160,18]]]],[[5,[17,[10]]],[[16,[161,18]]]],[[5,[17,[10]]],[[16,[162,18]]]],[[5,[17,[10]]],[[16,[163,18]]]],[[5,[17,[10]]],[[16,[164,18]]]],[[5,[17,[10]]],[[16,[165,18]]]],[[5,[17,[10]]],[[16,[166,18]]]],[[5,[17,[10]]],[[16,[167,18]]]],[[5,[17,[10]]],[[16,[168,18]]]],[[5,[17,[10]]],[[16,[169,18]]]],[[5,[17,[10]]],[[16,[170,18]]]],[[5,[17,[10]]],[[16,[171,18]]]],[[5,[17,[10]]],[[16,[172,18]]]],[[5,[17,[10]]],[[16,[173,18]]]],[[5,[17,[10]]],[[16,[174,18]]]],[[5,[17,[10]]],[[16,[175,18]]]],[[5,[17,[10]]],[[16,[176,18]]]],[[5,[17,[10]]],[[16,[177,18]]]],[[5,[17,[10]]],[[16,[178,18]]]],[[5,[17,[10]]],[[16,[179,18]]]],[[5,[17,[10]]],[[16,[180,18]]]],[[5,[17,[10]]],[[16,[181,18]]]],[[5,[17,[10]]],[[16,[182,18]]]],[[5,[17,[10]]],[[16,[183,18]]]],[[5,[17,[10]]],[[16,[184,18]]]],[[5,[17,[10]]],[[16,[185,18]]]],[[5,[17,[10]]],[[16,[186,18]]]],[[5,[17,[10]]],[[16,[187,18]]]],[[5,[17,[10]]],[[16,[188,18]]]],[[5,[17,[10]]],[[16,[189,18]]]],[[5,[17,[10]]],[[16,[190,18]]]],[[5,[17,[10]]],[[16,[191,18]]]],[[5,[17,[10]]],[[16,[192,18]]]],[[5,[17,[10]]],[[16,[193,18]]]],[[5,[17,[10]]],[[16,[194,18]]]],[[5,[17,[10]]],[[16,[195,18]]]],[[5,[17,[10]]],[[16,[196,18]]]],[[5,[17,[10]]],[[16,[197,18]]]],[[5,[17,[10]]],[[16,[198,18]]]],[[5,[17,[10]]],[[16,[199,18]]]],[[5,[17,[10]]],[[16,[200,18]]]],[[5,[17,[10]]],[[16,[201,18]]]],[[5,[17,[10]]],[[16,[202,18]]]],[[5,[17,[10]]],[[16,[203,18]]]],[[5,[17,[10]]],[[16,[204,18]]]],[[5,[17,[10]]],[[16,[205,18]]]],[[5,[17,[10]]],[[16,[206,18]]]],[[5,[17,[10]]],[[16,[207,18]]]],[[5,[17,[10]]],[[16,[208,18]]]],[[5,[17,[10]]],[[16,[209,18]]]],[[5,[17,[10]]],[[16,[210,18]]]],[[5,[17,[10]]],[[16,[211,18]]]],[[5,[17,[10]]],[[16,[212,18]]]],[[5,[17,[10]]],[[16,[213,18]]]],[[5,[17,[10]]],[[16,[214,18]]]],[[5,[17,[10]]],[[16,[215,18]]]],[[5,[17,[10]]],[[16,[216,18]]]],[[5,[17,[10]]],[[16,[217,18]]]],[[5,[17,[10]]],[[16,[218,18]]]],[[5,[17,[10]]],[[16,[219,18]]]],[[5,[17,[10]]],[[16,[220,18]]]],[[5,[17,[10]]],[[16,[221,18]]]],[[5,[17,[10]]],[[16,[222,18]]]],[[5,[17,[10]]],[[16,[223,18]]]],[[5,[17,[10]]],[[16,[224,18]]]],[[5,[17,[10]]],[[16,[225,18]]]],[[5,[17,[10]]],[[16,[226,18]]]],[[5,[17,[10]]],[[16,[227,18]]]],[[5,[17,[10]]],[[16,[228,18]]]],[[5,[17,[10]]],[[16,[229,18]]]],[[5,[17,[10]]],[[16,[230,18]]]],[[5,[17,[10]]],[[16,[231,18]]]],[[5,[17,[10]]],[[16,[232,18]]]],[[5,[17,[10]]],[[16,[233,18]]]],[[5,[17,[10]]],[[16,[234,18]]]],[[5,[17,[10]]],[[16,[235,18]]]],[[5,[17,[10]]],[[16,[236,18]]]],[[5,[17,[10]]],[[16,[237,18]]]],[[5,[17,[10]]],[[16,[238,18]]]],[[5,[17,[10]]],[[16,[239,18]]]],[[5,[17,[10]]],[[16,[240,18]]]],[[5,[17,[10]]],[[16,[241,18]]]],[[5,[17,[10]]],[[16,[242,18]]]],[[5,[17,[10]]],[[16,[243,18]]]],[[5,[17,[10]]],[[16,[244,18]]]],[[5,[17,[10]]],[[16,[245,18]]]],[[5,[17,[10]]],[[16,[246,18]]]],[[5,[17,[10]]],[[16,[247,18]]]],[[5,[17,[10]]],[[16,[248,18]]]],[[5,[17,[10]]],[[16,[249,18]]]],[[5,[17,[10]]],[[16,[250,18]]]],[[5,[17,[10]]],[[16,[251,18]]]],[[5,[17,[10]]],[[16,[252,18]]]],[[5,[17,[10]]],[[16,[253,18]]]],[[5,[17,[10]]],[[16,[254,18]]]],[[5,[17,[10]]],[[16,[255,18]]]],[[5,[17,[10]]],[[16,[256,18]]]],[[5,[17,[10]]],[[16,[257,18]]]],[[5,[17,[10]]],[[16,[258,18]]]],[[5,[17,[10]]],[[16,[259,18]]]],[[5,[17,[10]]],[[16,[260,18]]]],[[5,[17,[10]]],[[16,[261,18]]]],[[5,[17,[10]]],[[16,[262,18]]]],[[5,[17,[10]]],[[16,[263,18]]]],[[5,[17,[10]]],[[16,[264,18]]]],[[5,[17,[10]]],[[16,[265,18]]]],[[5,[17,[10]]],[[16,[266,18]]]],[[5,[17,[10]]],[[16,[267,18]]]],[[5,[17,[10]]],[[16,[268,18]]]],[[5,[17,[10]]],[[16,[269,18]]]],[[5,[17,[10]]],[[16,[270,18]]]],[[5,[17,[10]]],[[16,[271,18]]]],[[5,[17,[10]]],[[16,[272,18]]]],[[5,[17,[10]]],[[16,[273,18]]]],[[5,[17,[10]]],[[16,[274,18]]]],[[5,[17,[10]]],[[16,[275,18]]]],[[5,[17,[10]]],[[16,[276,18]]]],[[5,[17,[10]]],[[16,[277,18]]]],[[5,[17,[10]]],[[16,[278,18]]]],[[5,[17,[10]]],[[16,[279,18]]]],[[5,[17,[10]]],[[16,[280,18]]]],[[5,[17,[10]]],[[16,[281,18]]]],[[5,[17,[10]]],[[16,[282,18]]]],[[5,[17,[10]]],[[16,[283,18]]]],[[5,[17,[10]]],[[16,[284,18]]]],[[5,[17,[10]]],[[16,[285,18]]]],[[5,[17,[10]]],[[16,[286,18]]]],[[5,[17,[10]]],[[16,[287,18]]]],[[5,[17,[10]]],[[16,[288,18]]]],[[5,[17,[10]]],[[16,[289,18]]]],[[5,[17,[10]]],[[16,[290,18]]]],[[5,[17,[10]]],[[16,[291,18]]]],[[5,[17,[10]]],[[16,[292,18]]]],[[5,[17,[10]]],[[16,[293,18]]]],[[5,[17,[10]]],[[16,[294,18]]]],[[5,[17,[10]]],[[16,[295,18]]]],[[5,[17,[10]]],[[16,[296,18]]]],[[5,[17,[10]]],[[16,[297,18]]]],[[5,[17,[10]]],[[16,[298,18]]]],[[5,[17,[10]]],[[16,[299,18]]]],[[5,[17,[10]]],[[16,[300,18]]]],[[5,[17,[10]]],[[16,[301,18]]]],[[5,[17,[10]]],[[16,[302,18]]]],[[5,[17,[10]]],[[16,[303,18]]]],[[5,[17,[10]]],[[16,[304,18]]]],[[5,[17,[10]]],[[16,[305,18]]]],[[5,[17,[10]]],[[16,[306,18]]]],[[5,[17,[10]]],[[16,[307,18]]]],[[5,[17,[10]]],[[16,[308,18]]]],[[5,[17,[10]]],[[16,[309,18]]]],[[5,[17,[10]]],[[16,[310,18]]]],[[5,[17,[10]]],[[16,[311,18]]]],[[5,[17,[10]]],[[16,[312,18]]]],[[5,[17,[10]]],[[16,[313,18]]]],[[5,[17,[10]]],[[16,[314,18]]]],[[5,[17,[10]]],[[16,[315,18]]]],[[5,[17,[10]]],[[16,[316,18]]]],[[5,[17,[10]]],[[16,[317,18]]]],[[5,[17,[10]]],[[16,[318,18]]]],[[5,[17,[10]]],[[16,[319,18]]]],[[5,[17,[10]]],[[16,[320,18]]]],[[5,[17,[10]]],[[16,[321,18]]]],[[5,[17,[10]]],[[16,[322,18]]]],[[5,[17,[10]]],[[16,[323,18]]]],[[5,[17,[10]]],[[16,[324,18]]]],[[5,[17,[10]]],[[16,[325,18]]]],[[5,[17,[10]]],[[16,[326,18]]]],[[5,[17,[10]]],[[16,[327,18]]]],[[5,[17,[10]]],[[16,[328,18]]]],[[5,[17,[10]]],[[16,[329,18]]]],[[5,[17,[10]]],[[16,[330,18]]]],[[5,[17,[10]]],[[16,[331,18]]]],[[5,[17,[10]]],[[16,[332,18]]]],[[5,[17,[10]]],[[16,[333,18]]]],[[5,[17,[10]]],[[16,[334,18]]]],[[5,[17,[10]]],[[16,[335,18]]]],[[5,[17,[10]]],[[16,[336,18]]]],[[5,[17,[10]]],[[16,[337,18]]]],[[5,[17,[10]]],[[16,[338,18]]]],[[5,[17,[10]]],[[16,[339,18]]]],[[5,[17,[10]]],[[16,[340,18]]]],[[5,[17,[10]]],[[16,[341,18]]]],[[5,[17,[10]]],[[16,[342,18]]]],[[5,[17,[10]]],[[16,[343,18]]]],[[5,[17,[10]]],[[16,[344,18]]]],[[5,[17,[10]]],[[16,[345,18]]]],[[5,[17,[10]]],[[16,[346,18]]]],[[5,[17,[10]]],[[16,[347,18]]]],[[5,[17,[10]]],[[16,[348,18]]]],[[5,[17,[10]]],[[16,[349,18]]]],[[5,[17,[10]]],[[16,[350,18]]]],[[5,[17,[10]]],[[16,[351,18]]]],[[5,[17,[10]]],[[16,[352,18]]]],[[5,[17,[10]]],[[16,[353,18]]]],[[5,[17,[10]]],[[16,[354,18]]]],[[5,[17,[10]]],[[16,[355,18]]]],[[5,[17,[10]]],[[16,[356,18]]]],[[5,[17,[10]]],[[16,[357,18]]]],[[5,[17,[10]]],[[16,[358,18]]]],[[5,[17,[10]]],[[16,[359,18]]]],[[5,[17,[10]]],[[16,[360,18]]]],[[5,[17,[10]]],[[16,[361,18]]]],[[5,[17,[10]]],[[16,[362,18]]]],[-1,[[16,[66]]],19],[-1,[[16,[67]]],19],[-1,[[16,[68]]],19],[-1,[[16,[69]]],19],[-1,[[16,[70]]],19],[-1,[[16,[71]]],19],[-1,[[16,[72]]],19],[-1,[[16,[73]]],19],[-1,[[16,[74]]],19],[-1,[[16,[75]]],19],[-1,[[16,[76]]],19],[-1,[[16,[77]]],19],[-1,[[16,[78]]],19],[-1,[[16,[79]]],19],[-1,[[16,[80]]],19],[-1,[[16,[81]]],19],[-1,[[16,[82]]],19],[-1,[[16,[83]]],19],[-1,[[16,[84]]],19],[-1,[[16,[85]]],19],[-1,[[16,[86]]],19],[-1,[[16,[87]]],19],[-1,[[16,[88]]],19],[-1,[[16,[89]]],19],[-1,[[16,[90]]],19],[-1,[[16,[91]]],19],[-1,[[16,[92]]],19],[-1,[[16,[93]]],19],[-1,[[16,[94]]],19],[-1,[[16,[95]]],19],[-1,[[16,[96]]],19],[-1,[[16,[97]]],19],[-1,[[16,[98]]],19],[-1,[[16,[99]]],19],[-1,[[16,[100]]],19],[-1,[[16,[101]]],19],[-1,[[16,[102]]],19],[-1,[[16,[103]]],19],[-1,[[16,[104]]],19],[-1,[[16,[105]]],19],[-1,[[16,[106]]],19],[-1,[[16,[107]]],19],[-1,[[16,[108]]],19],[-1,[[16,[109]]],19],[-1,[[16,[110]]],19],[-1,[[16,[111]]],19],[-1,[[16,[112]]],19],[-1,[[16,[113]]],19],[-1,[[16,[114]]],19],[-1,[[16,[115]]],19],[-1,[[16,[116]]],19],[-1,[[16,[117]]],19],[-1,[[16,[118]]],19],[-1,[[16,[119]]],19],[-1,[[16,[120]]],19],[-1,[[16,[121]]],19],[-1,[[16,[122]]],19],[-1,[[16,[123]]],19],[-1,[[16,[124]]],19],[-1,[[16,[125]]],19],[-1,[[16,[126]]],19],[-1,[[16,[127]]],19],[-1,[[16,[128]]],19],[-1,[[16,[129]]],19],[-1,[[16,[130]]],19],[-1,[[16,[131]]],19],[-1,[[16,[132]]],19],[-1,[[16,[133]]],19],[-1,[[16,[134]]],19],[-1,[[16,[135]]],19],[-1,[[16,[136]]],19],[-1,[[16,[137]]],19],[-1,[[16,[138]]],19],[-1,[[16,[139]]],19],[-1,[[16,[140]]],19],[-1,[[16,[141]]],19],[-1,[[16,[142]]],19],[-1,[[16,[143]]],19],[-1,[[16,[144]]],19],[-1,[[16,[145]]],19],[-1,[[16,[146]]],19],[-1,[[16,[147]]],19],[-1,[[16,[148]]],19],[-1,[[16,[149]]],19],[-1,[[16,[150]]],19],[-1,[[16,[151]]],19],[-1,[[16,[152]]],19],[-1,[[16,[153]]],19],[-1,[[16,[154]]],19],[-1,[[16,[155]]],19],[-1,[[16,[156]]],19],[-1,[[16,[157]]],19],[-1,[[16,[158]]],19],[-1,[[16,[159]]],19],[-1,[[16,[160]]],19],[-1,[[16,[161]]],19],[-1,[[16,[162]]],19],[-1,[[16,[163]]],19],[-1,[[16,[164]]],19],[-1,[[16,[165]]],19],[-1,[[16,[166]]],19],[-1,[[16,[167]]],19],[-1,[[16,[168]]],19],[-1,[[16,[169]]],19],[-1,[[16,[170]]],19],[-1,[[16,[171]]],19],[-1,[[16,[172]]],19],[-1,[[16,[173]]],19],[-1,[[16,[174]]],19],[-1,[[16,[175]]],19],[-1,[[16,[176]]],19],[-1,[[16,[177]]],19],[-1,[[16,[178]]],19],[-1,[[16,[179]]],19],[-1,[[16,[180]]],19],[-1,[[16,[181]]],19],[-1,[[16,[182]]],19],[-1,[[16,[183]]],19],[-1,[[16,[184]]],19],[-1,[[16,[185]]],19],[-1,[[16,[186]]],19],[-1,[[16,[187]]],19],[-1,[[16,[188]]],19],[-1,[[16,[189]]],19],[-1,[[16,[190]]],19],[-1,[[16,[191]]],19],[-1,[[16,[192]]],19],[-1,[[16,[193]]],19],[-1,[[16,[194]]],19],[-1,[[16,[195]]],19],[-1,[[16,[196]]],19],[-1,[[16,[197]]],19],[-1,[[16,[198]]],19],[-1,[[16,[199]]],19],[-1,[[16,[200]]],19],[-1,[[16,[201]]],19],[-1,[[16,[202]]],19],[-1,[[16,[203]]],19],[-1,[[16,[204]]],19],[-1,[[16,[205]]],19],[-1,[[16,[206]]],19],[-1,[[16,[207]]],19],[-1,[[16,[208]]],19],[-1,[[16,[209]]],19],[-1,[[16,[210]]],19],[-1,[[16,[211]]],19],[-1,[[16,[212]]],19],[-1,[[16,[213]]],19],[-1,[[16,[214]]],19],[-1,[[16,[215]]],19],[-1,[[16,[216]]],19],[-1,[[16,[217]]],19],[-1,[[16,[218]]],19],[-1,[[16,[219]]],19],[-1,[[16,[220]]],19],[-1,[[16,[221]]],19],[-1,[[16,[222]]],19],[-1,[[16,[223]]],19],[-1,[[16,[224]]],19],[-1,[[16,[225]]],19],[-1,[[16,[226]]],19],[-1,[[16,[227]]],19],[-1,[[16,[228]]],19],[-1,[[16,[229]]],19],[-1,[[16,[230]]],19],[-1,[[16,[231]]],19],[-1,[[16,[232]]],19],[-1,[[16,[233]]],19],[-1,[[16,[234]]],19],[-1,[[16,[235]]],19],[-1,[[16,[236]]],19],[-1,[[16,[237]]],19],[-1,[[16,[238]]],19],[-1,[[16,[239]]],19],[-1,[[16,[240]]],19],[-1,[[16,[241]]],19],[-1,[[16,[242]]],19],[-1,[[16,[243]]],19],[-1,[[16,[244]]],19],[-1,[[16,[245]]],19],[-1,[[16,[246]]],19],[-1,[[16,[247]]],19],[-1,[[16,[248]]],19],[-1,[[16,[249]]],19],[-1,[[16,[250]]],19],[-1,[[16,[251]]],19],[-1,[[16,[252]]],19],[-1,[[16,[253]]],19],[-1,[[16,[254]]],19],[-1,[[16,[255]]],19],[-1,[[16,[256]]],19],[-1,[[16,[257]]],19],[-1,[[16,[258]]],19],[-1,[[16,[259]]],19],[-1,[[16,[260]]],19],[-1,[[16,[261]]],19],[-1,[[16,[262]]],19],[-1,[[16,[263]]],19],[-1,[[16,[264]]],19],[-1,[[16,[265]]],19],[-1,[[16,[266]]],19],[-1,[[16,[267]]],19],[-1,[[16,[268]]],19],[-1,[[16,[269]]],19],[-1,[[16,[270]]],19],[-1,[[16,[271]]],19],[-1,[[16,[272]]],19],[-1,[[16,[273]]],19],[-1,[[16,[274]]],19],[-1,[[16,[275]]],19],[-1,[[16,[276]]],19],[-1,[[16,[277]]],19],[-1,[[16,[278]]],19],[-1,[[16,[279]]],19],[-1,[[16,[280]]],19],[-1,[[16,[281]]],19],[-1,[[16,[282]]],19],[-1,[[16,[283]]],19],[-1,[[16,[284]]],19],[-1,[[16,[285]]],19],[-1,[[16,[286]]],19],[-1,[[16,[287]]],19],[-1,[[16,[288]]],19],[-1,[[16,[289]]],19],[-1,[[16,[290]]],19],[-1,[[16,[291]]],19],[-1,[[16,[292]]],19],[-1,[[16,[293]]],19],[-1,[[16,[294]]],19],[-1,[[16,[295]]],19],[-1,[[16,[296]]],19],[-1,[[16,[297]]],19],[-1,[[16,[298]]],19],[-1,[[16,[299]]],19],[-1,[[16,[300]]],19],[-1,[[16,[301]]],19],[-1,[[16,[302]]],19],[-1,[[16,[303]]],19],[-1,[[16,[304]]],19],[-1,[[16,[305]]],19],[-1,[[16,[306]]],19],[-1,[[16,[307]]],19],[-1,[[16,[308]]],19],[-1,[[16,[309]]],19],[-1,[[16,[310]]],19],[-1,[[16,[311]]],19],[-1,[[16,[312]]],19],[-1,[[16,[313]]],19],[-1,[[16,[314]]],19],[-1,[[16,[315]]],19],[-1,[[16,[316]]],19],[-1,[[16,[317]]],19],[-1,[[16,[318]]],19],[-1,[[16,[319]]],19],[-1,[[16,[320]]],19],[-1,[[16,[321]]],19],[-1,[[16,[322]]],19],[-1,[[16,[323]]],19],[-1,[[16,[324]]],19],[-1,[[16,[325]]],19],[-1,[[16,[326]]],19],[-1,[[16,[327]]],19],[-1,[[16,[328]]],19],[-1,[[16,[329]]],19],[-1,[[16,[330]]],19],[-1,[[16,[331]]],19],[-1,[[16,[332]]],19],[-1,[[16,[333]]],19],[-1,[[16,[334]]],19],[-1,[[16,[335]]],19],[-1,[[16,[336]]],19],[-1,[[16,[337]]],19],[-1,[[16,[338]]],19],[-1,[[16,[339]]],19],[-1,[[16,[340]]],19],[-1,[[16,[341]]],19],[-1,[[16,[342]]],19],[-1,[[16,[343]]],19],[-1,[[16,[344]]],19],[-1,[[16,[345]]],19],[-1,[[16,[346]]],19],[-1,[[16,[347]]],19],[-1,[[16,[348]]],19],[-1,[[16,[349]]],19],[-1,[[16,[350]]],19],[-1,[[16,[351]]],19],[-1,[[16,[352]]],19],[-1,[[16,[353]]],19],[-1,[[16,[354]]],19],[-1,[[16,[355]]],19],[-1,[[16,[356]]],19],[-1,[[16,[357]]],19],[-1,[[16,[358]]],19],[-1,[[16,[359]]],19],[-1,[[16,[360]]],19],[-1,[[16,[361]]],19],[-1,[[16,[362]]],19],[-1,[[16,[363]]],19],[-1,[[16,[364]]],19],[-1,[[16,[365]]],19],[-1,[[16,[366]]],19],[-1,[[16,[367]]],19],[-1,[[16,[368]]],19],[-1,[[16,[33]]],19],[-1,[[16,[369]]],19],[-1,[[16,[370]]],19],[-1,[[16,[371]]],19],[-1,[[16,[372]]],19],[-1,[[16,[373]]],19],[-1,[[16,[374]]],19],[-1,[[16,[375]]],19],[-1,[[16,[376]]],19],[-1,[[16,[377]]],19],[-1,[[16,[378]]],19],[-1,[[16,[379]]],19],[-1,[[16,[380]]],19],[-1,[[16,[34]]],19],[-1,[[16,[381]]],19],[-1,[[16,[382]]],19],[-1,[[16,[383]]],19],[-1,[[16,[35]]],19],[-1,[[16,[384]]],19],[-1,[[16,[36]]],19],[-1,[[16,[385]]],19],[-1,[[16,[386]]],19],[-1,[[16,[37]]],19],[-1,[[16,[387]]],19],[-1,[[16,[388]]],19],[-1,[[16,[389]]],19],[-1,[[16,[390]]],19],[-1,[[16,[391]]],19],[-1,[[16,[392]]],19],[-1,[[16,[393]]],19],[-1,[[16,[38]]],19],[-1,[[16,[394]]],19],[-1,[[16,[395]]],19],[-1,[[16,[39]]],19],[-1,[[16,[396]]],19],[-1,[[16,[397]]],19],[-1,[[16,[398]]],19],[-1,[[16,[399]]],19],[-1,[[16,[40]]],19],[-1,[[16,[400]]],19],[-1,[[16,[401]]],19],[-1,[[16,[402]]],19],[-1,[[16,[403]]],19],[-1,[[16,[41]]],19],[-1,[[16,[42]]],19],[-1,[[16,[404]]],19],[-1,[[16,[405]]],19],[-1,[[16,[406]]],19],[-1,[[16,[407]]],19],[-1,[[16,[43]]],19],[-1,[[16,[408]]],19],[-1,[[16,[409]]],19],[-1,[[16,[44]]],19],[-1,[[16,[45]]],19],[-1,[[16,[410]]],19],[-1,[[16,[411]]],19],[-1,[[16,[412]]],19],[-1,[[16,[413]]],19],[-1,[[16,[414]]],19],[-1,[[16,[415]]],19],[-1,[[16,[416]]],19],[-1,[[16,[417]]],19],[-1,[[16,[418]]],19],[-1,[[16,[46]]],19],[-1,[[16,[419]]],19],[-1,[[16,[420]]],19],[-1,[[16,[421]]],19],[-1,[[16,[422]]],19],[-1,[[16,[423]]],19],[-1,[[16,[424]]],19],[-1,[[16,[425]]],19],[-1,[[16,[426]]],19],[-1,[[16,[427]]],19],[-1,[[16,[47]]],19],[-1,[[16,[428]]],19],[-1,[[16,[429]]],19],[-1,[[16,[48]]],19],[-1,[[16,[49]]],19],[-1,[[16,[430]]],19],[-1,[[16,[431]]],19],[-1,[[16,[432]]],19],[-1,[[16,[433]]],19],[-1,[[16,[434]]],19],[-1,[[16,[50]]],19],[-1,[[16,[435]]],19],[-1,[[16,[436]]],19],[-1,[[16,[437]]],19],[-1,[[16,[438]]],19],[-1,[[16,[439]]],19],[-1,[[16,[51]]],19],[-1,[[16,[440]]],19],[-1,[[16,[52]]],19],[-1,[[16,[441]]],19],[-1,[[16,[442]]],19],[-1,[[16,[443]]],19],[-1,[[16,[444]]],19],[-1,[[16,[445]]],19],[-1,[[16,[446]]],19],[-1,[[16,[447]]],19],[-1,[[16,[448]]],19],[-1,[[16,[449]]],19],[-1,[[16,[450]]],19],[-1,[[16,[451]]],19],[-1,[[16,[452]]],19],[-1,[[16,[453]]],19],[-1,[[16,[454]]],19],[-1,[[16,[53]]],19],[-1,[[16,[54]]],19],[-1,[[16,[455]]],19],[-1,[[16,[456]]],19],[-1,[[16,[457]]],19],[-1,[[16,[458]]],19],[-1,[[16,[459]]],19],[-1,[[16,[55]]],19],[-1,[[16,[460]]],19],[-1,[[16,[461]]],19],[-1,[[16,[462]]],19],[-1,[[16,[463]]],19],[-1,[[16,[464]]],19],[-1,[[16,[465]]],19],[-1,[[16,[466]]],19],[-1,[[16,[467]]],19],[-1,[[16,[56]]],19],[-1,[[16,[468]]],19],[-1,[[16,[469]]],19],[-1,[[16,[470]]],19],[-1,[[16,[471]]],19],[-1,[[16,[472]]],19],[-1,[[16,[473]]],19],[-1,[[16,[474]]],19],[-1,[[16,[57]]],19],[-1,[[16,[475]]],19],[-1,[[16,[476]]],19],[-1,[[16,[477]]],19],[-1,[[16,[478]]],19],[-1,[[16,[58]]],19],[-1,[[16,[479]]],19],[-1,[[16,[480]]],19],[-1,[[16,[481]]],19],[-1,[[16,[59]]],19],[-1,[[16,[60]]],19],[-1,[[16,[482]]],19],[-1,[[16,[483]]],19],[-1,[[16,[484]]],19],[-1,[[16,[485]]],19],[-1,[[16,[486]]],19],[-1,[[16,[487]]],19],[-1,[[16,[488]]],19],[-1,[[16,[489]]],19],[-1,[[16,[61]]],19],[-1,[[16,[490]]],19],[-1,[[16,[491]]],19],[-1,[[16,[492]]],19],[-1,[[16,[493]]],19],[-1,[[16,[494]]],19],[-1,[[16,[62]]],19],[-1,[[16,[495]]],19],[-1,[[16,[496]]],19],[-1,[[16,[497]]],19],[-1,[[16,[63]]],19],[-1,[[16,[498]]],19],[-1,[[16,[499]]],19],[-1,[[16,[500]]],19],[-1,[[16,[501]]],19],[-1,[[16,[502]]],19],[-1,[[16,[503]]],19],[-1,[[16,[504]]],19],[-1,[[16,[505]]],19],[-1,[[16,[506]]],19],[-1,[[16,[64]]],19],[-1,[[16,[507]]],19],[-1,[[16,[508]]],19],[-1,[[16,[509]]],19],[-1,[[16,[510]]],19],[-1,[[16,[511]]],19],[-1,[[16,[512]]],19],[-1,[[16,[513]]],19],[-1,[[16,[514]]],19],[-1,[[16,[515]]],19],[-1,[[16,[516]]],19],[-1,[[16,[517]]],19],[-1,[[16,[518]]],19],[-1,[[16,[519]]],19],[-1,[[16,[520]]],19],[-1,[[16,[521]]],19],[-1,[[16,[522]]],19],[-1,[[16,[523]]],19],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],33],[[],34],[[],35],[[],36],[[],37],[[],38],[[],39],[[],40],[[],41],[[],42],[[],43],[[],44],[[],45],[[],46],[[],47],[[],48],[[],49],[[],50],[[],51],[[],52],[[],53],[[],54],[[],55],[[],56],[[],57],[[],58],[[],59],[[],60],[[],61],[[],62],[[],63],[[],64],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[66,66],20],[[67,67],20],[[68,68],20],[[69,69],20],[[70,70],20],[[71,71],20],[[72,72],20],[[73,73],20],[[74,74],20],[[75,75],20],[[76,76],20],[[77,77],20],[[78,78],20],[[79,79],20],[[80,80],20],[[81,81],20],[[82,82],20],[[83,83],20],[[84,84],20],[[85,85],20],[[86,86],20],[[87,87],20],[[88,88],20],[[89,89],20],[[90,90],20],[[91,91],20],[[92,92],20],[[93,93],20],[[94,94],20],[[95,95],20],[[96,96],20],[[97,97],20],[[98,98],20],[[99,99],20],[[100,100],20],[[101,101],20],[[102,102],20],[[103,103],20],[[104,104],20],[[105,105],20],[[106,106],20],[[107,107],20],[[108,108],20],[[109,109],20],[[110,110],20],[[111,111],20],[[112,112],20],[[113,113],20],[[114,114],20],[[115,115],20],[[116,116],20],[[117,117],20],[[118,118],20],[[119,119],20],[[120,120],20],[[121,121],20],[[122,122],20],[[123,123],20],[[124,124],20],[[125,125],20],[[126,126],20],[[127,127],20],[[128,128],20],[[129,129],20],[[130,130],20],[[131,131],20],[[132,132],20],[[133,133],20],[[134,134],20],[[135,135],20],[[136,136],20],[[137,137],20],[[138,138],20],[[139,139],20],[[140,140],20],[[141,141],20],[[142,142],20],[[143,143],20],[[144,144],20],[[145,145],20],[[146,146],20],[[147,147],20],[[148,148],20],[[149,149],20],[[150,150],20],[[151,151],20],[[152,152],20],[[153,153],20],[[154,154],20],[[155,155],20],[[156,156],20],[[157,157],20],[[158,158],20],[[159,159],20],[[160,160],20],[[161,161],20],[[162,162],20],[[163,163],20],[[164,164],20],[[165,165],20],[[166,166],20],[[167,167],20],[[168,168],20],[[169,169],20],[[170,170],20],[[171,171],20],[[172,172],20],[[173,173],20],[[174,174],20],[[175,175],20],[[176,176],20],[[177,177],20],[[178,178],20],[[179,179],20],[[180,180],20],[[181,181],20],[[182,182],20],[[183,183],20],[[184,184],20],[[185,185],20],[[186,186],20],[[187,187],20],[[188,188],20],[[189,189],20],[[190,190],20],[[191,191],20],[[192,192],20],[[193,193],20],[[194,194],20],[[195,195],20],[[196,196],20],[[197,197],20],[[198,198],20],[[199,199],20],[[200,200],20],[[201,201],20],[[202,202],20],[[203,203],20],[[204,204],20],[[205,205],20],[[206,206],20],[[207,207],20],[[208,208],20],[[209,209],20],[[210,210],20],[[211,211],20],[[212,212],20],[[213,213],20],[[214,214],20],[[215,215],20],[[216,216],20],[[217,217],20],[[218,218],20],[[219,219],20],[[220,220],20],[[221,221],20],[[222,222],20],[[223,223],20],[[224,224],20],[[225,225],20],[[226,226],20],[[227,227],20],[[228,228],20],[[229,229],20],[[230,230],20],[[231,231],20],[[232,232],20],[[233,233],20],[[234,234],20],[[235,235],20],[[236,236],20],[[237,237],20],[[238,238],20],[[239,239],20],[[240,240],20],[[241,241],20],[[242,242],20],[[243,243],20],[[244,244],20],[[245,245],20],[[246,246],20],[[247,247],20],[[248,248],20],[[249,249],20],[[250,250],20],[[251,251],20],[[252,252],20],[[253,253],20],[[254,254],20],[[255,255],20],[[256,256],20],[[257,257],20],[[258,258],20],[[259,259],20],[[260,260],20],[[261,261],20],[[262,262],20],[[263,263],20],[[264,264],20],[[265,265],20],[[266,266],20],[[267,267],20],[[268,268],20],[[269,269],20],[[270,270],20],[[271,271],20],[[272,272],20],[[273,273],20],[[274,274],20],[[275,275],20],[[276,276],20],[[277,277],20],[[278,278],20],[[279,279],20],[[280,280],20],[[281,281],20],[[282,282],20],[[283,283],20],[[284,284],20],[[285,285],20],[[286,286],20],[[287,287],20],[[288,288],20],[[289,289],20],[[290,290],20],[[291,291],20],[[292,292],20],[[293,293],20],[[294,294],20],[[295,295],20],[[296,296],20],[[297,297],20],[[298,298],20],[[299,299],20],[[300,300],20],[[301,301],20],[[302,302],20],[[303,303],20],[[304,304],20],[[305,305],20],[[306,306],20],[[307,307],20],[[308,308],20],[[309,309],20],[[310,310],20],[[311,311],20],[[312,312],20],[[313,313],20],[[314,314],20],[[315,315],20],[[316,316],20],[[317,317],20],[[318,318],20],[[319,319],20],[[320,320],20],[[321,321],20],[[322,322],20],[[323,323],20],[[324,324],20],[[325,325],20],[[326,326],20],[[327,327],20],[[328,328],20],[[329,329],20],[[330,330],20],[[331,331],20],[[332,332],20],[[333,333],20],[[334,334],20],[[335,335],20],[[336,336],20],[[337,337],20],[[338,338],20],[[339,339],20],[[340,340],20],[[341,341],20],[[342,342],20],[[343,343],20],[[344,344],20],[[345,345],20],[[346,346],20],[[347,347],20],[[348,348],20],[[349,349],20],[[350,350],20],[[351,351],20],[[352,352],20],[[353,353],20],[[354,354],20],[[355,355],20],[[356,356],20],[[357,357],20],[[358,358],20],[[359,359],20],[[360,360],20],[[361,361],20],[[362,362],20],[[363,363],20],[[364,364],20],[[365,365],20],[[366,366],20],[[367,367],20],[[368,368],20],[[33,33],20],[[369,369],20],[[370,370],20],[[371,371],20],[[372,372],20],[[373,373],20],[[374,374],20],[[375,375],20],[[376,376],20],[[377,377],20],[[378,378],20],[[379,379],20],[[380,380],20],[[34,34],20],[[381,381],20],[[382,382],20],[[383,383],20],[[35,35],20],[[384,384],20],[[36,36],20],[[385,385],20],[[386,386],20],[[37,37],20],[[387,387],20],[[388,388],20],[[389,389],20],[[390,390],20],[[391,391],20],[[392,392],20],[[393,393],20],[[38,38],20],[[394,394],20],[[395,395],20],[[39,39],20],[[396,396],20],[[397,397],20],[[398,398],20],[[399,399],20],[[40,40],20],[[400,400],20],[[401,401],20],[[402,402],20],[[403,403],20],[[41,41],20],[[42,42],20],[[404,404],20],[[405,405],20],[[406,406],20],[[407,407],20],[[43,43],20],[[408,408],20],[[409,409],20],[[44,44],20],[[45,45],20],[[410,410],20],[[411,411],20],[[412,412],20],[[413,413],20],[[414,414],20],[[415,415],20],[[416,416],20],[[417,417],20],[[418,418],20],[[46,46],20],[[419,419],20],[[420,420],20],[[421,421],20],[[422,422],20],[[423,423],20],[[424,424],20],[[425,425],20],[[426,426],20],[[427,427],20],[[47,47],20],[[428,428],20],[[429,429],20],[[48,48],20],[[49,49],20],[[430,430],20],[[431,431],20],[[432,432],20],[[433,433],20],[[434,434],20],[[50,50],20],[[435,435],20],[[436,436],20],[[437,437],20],[[438,438],20],[[439,439],20],[[51,51],20],[[440,440],20],[[52,52],20],[[441,441],20],[[442,442],20],[[443,443],20],[[444,444],20],[[445,445],20],[[446,446],20],[[447,447],20],[[448,448],20],[[449,449],20],[[450,450],20],[[451,451],20],[[452,452],20],[[453,453],20],[[454,454],20],[[53,53],20],[[54,54],20],[[455,455],20],[[456,456],20],[[457,457],20],[[458,458],20],[[459,459],20],[[55,55],20],[[460,460],20],[[461,461],20],[[462,462],20],[[463,463],20],[[464,464],20],[[465,465],20],[[466,466],20],[[467,467],20],[[56,56],20],[[468,468],20],[[469,469],20],[[470,470],20],[[471,471],20],[[472,472],20],[[473,473],20],[[474,474],20],[[57,57],20],[[475,475],20],[[476,476],20],[[477,477],20],[[478,478],20],[[58,58],20],[[479,479],20],[[480,480],20],[[481,481],20],[[59,59],20],[[60,60],20],[[482,482],20],[[483,483],20],[[484,484],20],[[485,485],20],[[486,486],20],[[487,487],20],[[488,488],20],[[489,489],20],[[61,61],20],[[490,490],20],[[491,491],20],[[492,492],20],[[493,493],20],[[494,494],20],[[62,62],20],[[495,495],20],[[496,496],20],[[497,497],20],[[63,63],20],[[498,498],20],[[499,499],20],[[500,500],20],[[501,501],20],[[502,502],20],[[503,503],20],[[504,504],20],[[505,505],20],[[506,506],20],[[64,64],20],[[507,507],20],[[508,508],20],[[509,509],20],[[510,510],20],[[511,511],20],[[512,512],20],[[513,513],20],[[514,514],20],[[515,515],20],[[516,516],20],[[517,517],20],[[518,518],20],[[519,519],20],[[520,520],20],[[521,521],20],[[522,522],20],[[523,523],20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,-1],9,525],[[34,-1],9,525],[[35,-1],9,525],[[36,-1],9,525],[[37,-1],9,525],[[38,-1],9,525],[[39,-1],9,525],[[40,-1],9,525],[[41,-1],9,525],[[42,-1],9,525],[[43,-1],9,525],[[44,-1],9,525],[[45,-1],9,525],[[46,-1],9,525],[[47,-1],9,525],[[48,-1],9,525],[[49,-1],9,525],[[50,-1],9,525],[[51,-1],9,525],[[52,-1],9,525],[[53,-1],9,525],[[54,-1],9,525],[[55,-1],9,525],[[56,-1],9,525],[[57,-1],9,525],[[58,-1],9,525],[[59,-1],9,525],[[60,-1],9,525],[[61,-1],9,525],[[62,-1],9,525],[[63,-1],9,525],[[64,-1],9,525],[15,10],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[66,21],22],[[67,21],22],[[68,21],22],[[69,21],22],[[70,21],22],[[71,21],22],[[72,21],22],[[73,21],22],[[74,21],22],[[75,21],22],[[76,21],22],[[77,21],22],[[78,21],22],[[79,21],22],[[80,21],22],[[81,21],22],[[82,21],22],[[83,21],22],[[84,21],22],[[85,21],22],[[86,21],22],[[87,21],22],[[88,21],22],[[89,21],22],[[90,21],22],[[91,21],22],[[92,21],22],[[93,21],22],[[94,21],22],[[95,21],22],[[96,21],22],[[97,21],22],[[98,21],22],[[99,21],22],[[100,21],22],[[101,21],22],[[102,21],22],[[103,21],22],[[104,21],22],[[105,21],22],[[106,21],22],[[107,21],22],[[108,21],22],[[109,21],22],[[110,21],22],[[111,21],22],[[112,21],22],[[113,21],22],[[114,21],22],[[115,21],22],[[116,21],22],[[117,21],22],[[118,21],22],[[119,21],22],[[120,21],22],[[121,21],22],[[122,21],22],[[123,21],22],[[124,21],22],[[125,21],22],[[126,21],22],[[127,21],22],[[128,21],22],[[129,21],22],[[130,21],22],[[131,21],22],[[132,21],22],[[133,21],22],[[134,21],22],[[135,21],22],[[136,21],22],[[137,21],22],[[138,21],22],[[139,21],22],[[140,21],22],[[141,21],22],[[142,21],22],[[143,21],22],[[144,21],22],[[145,21],22],[[146,21],22],[[147,21],22],[[148,21],22],[[149,21],22],[[150,21],22],[[151,21],22],[[152,21],22],[[153,21],22],[[154,21],22],[[155,21],22],[[156,21],22],[[157,21],22],[[158,21],22],[[159,21],22],[[160,21],22],[[161,21],22],[[162,21],22],[[163,21],22],[[164,21],22],[[165,21],22],[[166,21],22],[[167,21],22],[[168,21],22],[[169,21],22],[[170,21],22],[[171,21],22],[[172,21],22],[[173,21],22],[[174,21],22],[[175,21],22],[[176,21],22],[[177,21],22],[[178,21],22],[[179,21],22],[[180,21],22],[[181,21],22],[[182,21],22],[[183,21],22],[[184,21],22],[[185,21],22],[[186,21],22],[[187,21],22],[[188,21],22],[[189,21],22],[[190,21],22],[[191,21],22],[[192,21],22],[[193,21],22],[[194,21],22],[[195,21],22],[[196,21],22],[[197,21],22],[[198,21],22],[[199,21],22],[[200,21],22],[[201,21],22],[[202,21],22],[[203,21],22],[[204,21],22],[[205,21],22],[[206,21],22],[[207,21],22],[[208,21],22],[[209,21],22],[[210,21],22],[[211,21],22],[[212,21],22],[[213,21],22],[[214,21],22],[[215,21],22],[[216,21],22],[[217,21],22],[[218,21],22],[[219,21],22],[[220,21],22],[[221,21],22],[[222,21],22],[[223,21],22],[[224,21],22],[[225,21],22],[[226,21],22],[[227,21],22],[[228,21],22],[[229,21],22],[[230,21],22],[[231,21],22],[[232,21],22],[[233,21],22],[[234,21],22],[[235,21],22],[[236,21],22],[[237,21],22],[[238,21],22],[[239,21],22],[[240,21],22],[[241,21],22],[[242,21],22],[[243,21],22],[[244,21],22],[[245,21],22],[[246,21],22],[[247,21],22],[[248,21],22],[[249,21],22],[[250,21],22],[[251,21],22],[[252,21],22],[[253,21],22],[[254,21],22],[[255,21],22],[[256,21],22],[[257,21],22],[[258,21],22],[[259,21],22],[[260,21],22],[[261,21],22],[[262,21],22],[[263,21],22],[[264,21],22],[[265,21],22],[[266,21],22],[[267,21],22],[[268,21],22],[[269,21],22],[[270,21],22],[[271,21],22],[[272,21],22],[[273,21],22],[[274,21],22],[[275,21],22],[[276,21],22],[[277,21],22],[[278,21],22],[[279,21],22],[[280,21],22],[[281,21],22],[[282,21],22],[[283,21],22],[[284,21],22],[[285,21],22],[[286,21],22],[[287,21],22],[[288,21],22],[[289,21],22],[[290,21],22],[[291,21],22],[[292,21],22],[[293,21],22],[[294,21],22],[[295,21],22],[[296,21],22],[[297,21],22],[[298,21],22],[[299,21],22],[[300,21],22],[[301,21],22],[[302,21],22],[[303,21],22],[[304,21],22],[[305,21],22],[[306,21],22],[[307,21],22],[[308,21],22],[[309,21],22],[[310,21],22],[[311,21],22],[[312,21],22],[[313,21],22],[[314,21],22],[[315,21],22],[[316,21],22],[[317,21],22],[[318,21],22],[[319,21],22],[[320,21],22],[[321,21],22],[[322,21],22],[[323,21],22],[[324,21],22],[[325,21],22],[[326,21],22],[[327,21],22],[[328,21],22],[[329,21],22],[[330,21],22],[[331,21],22],[[332,21],22],[[333,21],22],[[334,21],22],[[335,21],22],[[336,21],22],[[337,21],22],[[338,21],22],[[339,21],22],[[340,21],22],[[341,21],22],[[342,21],22],[[343,21],22],[[344,21],22],[[345,21],22],[[346,21],22],[[347,21],22],[[348,21],22],[[349,21],22],[[350,21],22],[[351,21],22],[[352,21],22],[[353,21],22],[[354,21],22],[[355,21],22],[[356,21],22],[[357,21],22],[[358,21],22],[[359,21],22],[[360,21],22],[[361,21],22],[[362,21],22],[[363,21],22],[[364,21],22],[[365,21],22],[[366,21],22],[[367,21],22],[[368,21],22],[[33,21],22],[[33,21],22],[[33,21],22],[[33,21],22],[[33,21],22],[[369,21],22],[[370,21],22],[[371,21],22],[[372,21],22],[[373,21],22],[[374,21],22],[[375,21],22],[[376,21],22],[[377,21],22],[[378,21],22],[[379,21],22],[[380,21],22],[[34,21],22],[[34,21],22],[[34,21],22],[[34,21],22],[[34,21],22],[[381,21],22],[[382,21],22],[[383,21],22],[[35,21],22],[[35,21],22],[[35,21],22],[[35,21],22],[[35,21],22],[[384,21],22],[[36,21],22],[[36,21],22],[[36,21],22],[[36,21],22],[[36,21],22],[[385,21],22],[[386,21],22],[[37,21],22],[[37,21],22],[[37,21],22],[[37,21],22],[[37,21],22],[[387,21],22],[[388,21],22],[[389,21],22],[[390,21],22],[[391,21],22],[[392,21],22],[[393,21],22],[[38,21],22],[[38,21],22],[[38,21],22],[[38,21],22],[[38,21],22],[[394,21],22],[[395,21],22],[[39,21],22],[[39,21],22],[[39,21],22],[[39,21],22],[[39,21],22],[[396,21],22],[[397,21],22],[[398,21],22],[[399,21],22],[[40,21],22],[[40,21],22],[[40,21],22],[[40,21],22],[[40,21],22],[[400,21],22],[[401,21],22],[[402,21],22],[[403,21],22],[[41,21],22],[[41,21],22],[[41,21],22],[[41,21],22],[[41,21],22],[[42,21],22],[[42,21],22],[[42,21],22],[[42,21],22],[[42,21],22],[[404,21],22],[[405,21],22],[[406,21],22],[[407,21],22],[[43,21],22],[[43,21],22],[[43,21],22],[[43,21],22],[[43,21],22],[[408,21],22],[[409,21],22],[[44,21],22],[[44,21],22],[[44,21],22],[[44,21],22],[[44,21],22],[[45,21],22],[[45,21],22],[[45,21],22],[[45,21],22],[[45,21],22],[[410,21],22],[[411,21],22],[[412,21],22],[[413,21],22],[[414,21],22],[[415,21],22],[[416,21],22],[[417,21],22],[[418,21],22],[[46,21],22],[[46,21],22],[[46,21],22],[[46,21],22],[[46,21],22],[[419,21],22],[[420,21],22],[[421,21],22],[[422,21],22],[[423,21],22],[[424,21],22],[[425,21],22],[[426,21],22],[[427,21],22],[[47,21],22],[[47,21],22],[[47,21],22],[[47,21],22],[[47,21],22],[[428,21],22],[[429,21],22],[[48,21],22],[[48,21],22],[[48,21],22],[[48,21],22],[[48,21],22],[[49,21],22],[[49,21],22],[[49,21],22],[[49,21],22],[[49,21],22],[[430,21],22],[[431,21],22],[[432,21],22],[[433,21],22],[[434,21],22],[[50,21],22],[[50,21],22],[[50,21],22],[[50,21],22],[[50,21],22],[[435,21],22],[[436,21],22],[[437,21],22],[[438,21],22],[[439,21],22],[[51,21],22],[[51,21],22],[[51,21],22],[[51,21],22],[[51,21],22],[[440,21],22],[[52,21],22],[[52,21],22],[[52,21],22],[[52,21],22],[[52,21],22],[[441,21],22],[[442,21],22],[[443,21],22],[[444,21],22],[[445,21],22],[[446,21],22],[[447,21],22],[[448,21],22],[[449,21],22],[[450,21],22],[[451,21],22],[[452,21],22],[[453,21],22],[[454,21],22],[[53,21],22],[[53,21],22],[[53,21],22],[[53,21],22],[[53,21],22],[[54,21],22],[[54,21],22],[[54,21],22],[[54,21],22],[[54,21],22],[[455,21],22],[[456,21],22],[[457,21],22],[[458,21],22],[[459,21],22],[[55,21],22],[[55,21],22],[[55,21],22],[[55,21],22],[[55,21],22],[[460,21],22],[[461,21],22],[[462,21],22],[[463,21],22],[[464,21],22],[[465,21],22],[[466,21],22],[[467,21],22],[[56,21],22],[[56,21],22],[[56,21],22],[[56,21],22],[[56,21],22],[[468,21],22],[[469,21],22],[[470,21],22],[[471,21],22],[[472,21],22],[[473,21],22],[[474,21],22],[[57,21],22],[[57,21],22],[[57,21],22],[[57,21],22],[[57,21],22],[[475,21],22],[[476,21],22],[[477,21],22],[[478,21],22],[[58,21],22],[[58,21],22],[[58,21],22],[[58,21],22],[[58,21],22],[[479,21],22],[[480,21],22],[[481,21],22],[[59,21],22],[[59,21],22],[[59,21],22],[[59,21],22],[[59,21],22],[[60,21],22],[[60,21],22],[[60,21],22],[[60,21],22],[[60,21],22],[[482,21],22],[[483,21],22],[[484,21],22],[[485,21],22],[[486,21],22],[[487,21],22],[[488,21],22],[[489,21],22],[[61,21],22],[[61,21],22],[[61,21],22],[[61,21],22],[[61,21],22],[[490,21],22],[[491,21],22],[[492,21],22],[[493,21],22],[[494,21],22],[[62,21],22],[[62,21],22],[[62,21],22],[[62,21],22],[[62,21],22],[[495,21],22],[[496,21],22],[[497,21],22],[[63,21],22],[[63,21],22],[[63,21],22],[[63,21],22],[[63,21],22],[[498,21],22],[[499,21],22],[[500,21],22],[[501,21],22],[[502,21],22],[[503,21],22],[[504,21],22],[[505,21],22],[[506,21],22],[[64,21],22],[[64,21],22],[[64,21],22],[[64,21],22],[[64,21],22],[[507,21],22],[[508,21],22],[[509,21],22],[[510,21],22],[[511,21],22],[[512,21],22],[[513,21],22],[[514,21],22],[[515,21],22],[[516,21],22],[[517,21],22],[[518,21],22],[[519,21],22],[[520,21],22],[[521,21],22],[[522,21],22],[[523,21],22],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[10,[[526,[33]]]],[10,[[526,[34]]]],[2,[[526,[35]]]],[2,[[526,[36]]]],[2,[[526,[37]]]],[15,[[526,[38]]]],[15,[[526,[39]]]],[2,[[526,[40]]]],[2,[[526,[41]]]],[2,[[526,[42]]]],[65,[[526,[43]]]],[10,[[526,[44]]]],[15,[[526,[45]]]],[15,[[526,[46]]]],[10,[[526,[47]]]],[10,[[526,[48]]]],[10,[[526,[49]]]],[10,[[526,[50]]]],[65,[[526,[51]]]],[2,[[526,[52]]]],[10,[[526,[53]]]],[15,[[526,[54]]]],[10,[[526,[55]]]],[10,[[526,[56]]]],[15,[[526,[57]]]],[2,[[526,[58]]]],[2,[[526,[59]]]],[2,[[526,[60]]]],[2,[[526,[61]]]],[15,[[526,[62]]]],[2,[[526,[63]]]],[2,[[526,[64]]]],[10,33],[10,34],[2,35],[2,36],[2,37],[15,38],[15,39],[2,40],[2,41],[2,42],[65,43],[10,44],[15,45],[15,46],[10,47],[10,48],[10,49],[10,50],[65,51],[2,52],[10,53],[15,54],[10,55],[10,56],[15,57],[2,58],[2,59],[2,60],[2,61],[15,62],[2,63],[2,64],[10,33],[10,34],[2,35],[2,36],[2,37],[15,38],[15,39],[2,40],[2,41],[2,42],[65,43],[10,44],[15,45],[15,46],[10,47],[10,48],[10,49],[10,50],[65,51],[2,52],[10,53],[15,54],[10,55],[10,56],[15,57],[2,58],[2,59],[2,60],[2,61],[15,62],[2,63],[2,64],[527,[[526,[363]]]],[527,[[526,[364]]]],[527,[[526,[365]]]],[527,[[526,[366]]]],[527,[[526,[367]]]],[527,[[526,[368]]]],[527,[[526,[369]]]],[527,[[526,[370]]]],[527,[[526,[371]]]],[527,[[526,[372]]]],[527,[[526,[373]]]],[527,[[526,[374]]]],[527,[[526,[375]]]],[527,[[526,[376]]]],[527,[[526,[377]]]],[527,[[526,[378]]]],[527,[[526,[379]]]],[527,[[526,[380]]]],[527,[[526,[381]]]],[527,[[526,[382]]]],[527,[[526,[383]]]],[527,[[526,[384]]]],[527,[[526,[385]]]],[527,[[526,[386]]]],[527,[[526,[387]]]],[527,[[526,[388]]]],[527,[[526,[389]]]],[527,[[526,[390]]]],[527,[[526,[391]]]],[527,[[526,[392]]]],[527,[[526,[393]]]],[527,[[526,[394]]]],[527,[[526,[395]]]],[527,[[526,[396]]]],[527,[[526,[397]]]],[527,[[526,[398]]]],[527,[[526,[399]]]],[527,[[526,[400]]]],[527,[[526,[401]]]],[527,[[526,[402]]]],[527,[[526,[403]]]],[527,[[526,[404]]]],[527,[[526,[405]]]],[527,[[526,[406]]]],[527,[[526,[407]]]],[527,[[526,[408]]]],[527,[[526,[409]]]],[527,[[526,[410]]]],[527,[[526,[411]]]],[527,[[526,[412]]]],[527,[[526,[413]]]],[527,[[526,[414]]]],[527,[[526,[415]]]],[527,[[526,[416]]]],[527,[[526,[417]]]],[527,[[526,[418]]]],[527,[[526,[419]]]],[527,[[526,[420]]]],[527,[[526,[421]]]],[527,[[526,[422]]]],[527,[[526,[423]]]],[527,[[526,[424]]]],[527,[[526,[425]]]],[527,[[526,[426]]]],[527,[[526,[427]]]],[527,[[526,[428]]]],[527,[[526,[429]]]],[527,[[526,[430]]]],[527,[[526,[431]]]],[527,[[526,[432]]]],[527,[[526,[433]]]],[527,[[526,[434]]]],[527,[[526,[435]]]],[527,[[526,[436]]]],[527,[[526,[437]]]],[527,[[526,[438]]]],[527,[[526,[439]]]],[527,[[526,[440]]]],[527,[[526,[441]]]],[527,[[526,[442]]]],[527,[[526,[443]]]],[527,[[526,[444]]]],[527,[[526,[445]]]],[527,[[526,[446]]]],[527,[[526,[447]]]],[527,[[526,[448]]]],[527,[[526,[449]]]],[527,[[526,[450]]]],[527,[[526,[451]]]],[527,[[526,[452]]]],[527,[[526,[453]]]],[527,[[526,[454]]]],[527,[[526,[455]]]],[527,[[526,[456]]]],[527,[[526,[457]]]],[527,[[526,[458]]]],[527,[[526,[459]]]],[527,[[526,[460]]]],[527,[[526,[461]]]],[527,[[526,[462]]]],[527,[[526,[463]]]],[527,[[526,[464]]]],[527,[[526,[465]]]],[527,[[526,[466]]]],[527,[[526,[467]]]],[527,[[526,[468]]]],[527,[[526,[469]]]],[527,[[526,[470]]]],[527,[[526,[471]]]],[527,[[526,[472]]]],[527,[[526,[473]]]],[527,[[526,[474]]]],[527,[[526,[475]]]],[527,[[526,[476]]]],[527,[[526,[477]]]],[527,[[526,[478]]]],[527,[[526,[479]]]],[527,[[526,[480]]]],[527,[[526,[481]]]],[527,[[526,[482]]]],[527,[[526,[483]]]],[527,[[526,[484]]]],[527,[[526,[485]]]],[527,[[526,[486]]]],[527,[[526,[487]]]],[527,[[526,[488]]]],[527,[[526,[489]]]],[527,[[526,[490]]]],[527,[[526,[491]]]],[527,[[526,[492]]]],[527,[[526,[493]]]],[527,[[526,[494]]]],[527,[[526,[495]]]],[527,[[526,[496]]]],[527,[[526,[497]]]],[527,[[526,[498]]]],[527,[[526,[499]]]],[527,[[526,[500]]]],[527,[[526,[501]]]],[527,[[526,[502]]]],[527,[[526,[503]]]],[527,[[526,[504]]]],[527,[[526,[505]]]],[527,[[526,[506]]]],[527,[[526,[507]]]],[527,[[526,[508]]]],[527,[[526,[509]]]],[527,[[526,[510]]]],[527,[[526,[511]]]],[527,[[526,[512]]]],[527,[[526,[513]]]],[527,[[526,[514]]]],[527,[[526,[515]]]],[527,[[526,[516]]]],[527,[[526,[517]]]],[527,[[526,[518]]]],[527,[[526,[519]]]],[527,[[526,[520]]]],[527,[[526,[521]]]],[527,[[526,[522]]]],[527,[[526,[523]]]],[-1,33,525],[-1,34,525],[-1,35,525],[-1,36,525],[-1,37,525],[-1,38,525],[-1,39,525],[-1,40,525],[-1,41,525],[-1,42,525],[-1,43,525],[-1,44,525],[-1,45,525],[-1,46,525],[-1,47,525],[-1,48,525],[-1,49,525],[-1,50,525],[-1,51,525],[-1,52,525],[-1,53,525],[-1,54,525],[-1,55,525],[-1,56,525],[-1,57,525],[-1,58,525],[-1,59,525],[-1,60,525],[-1,61,525],[-1,62,525],[-1,63,525],[-1,64,525],[65,[[526,[363]]]],[65,[[526,[364]]]],[65,[[526,[365]]]],[65,[[526,[366]]]],[65,[[526,[367]]]],[65,[[526,[368]]]],[65,[[526,[369]]]],[65,[[526,[370]]]],[65,[[526,[371]]]],[65,[[526,[372]]]],[65,[[526,[373]]]],[65,[[526,[374]]]],[65,[[526,[375]]]],[65,[[526,[376]]]],[65,[[526,[377]]]],[65,[[526,[378]]]],[65,[[526,[379]]]],[65,[[526,[380]]]],[65,[[526,[381]]]],[65,[[526,[382]]]],[65,[[526,[383]]]],[65,[[526,[384]]]],[65,[[526,[385]]]],[65,[[526,[386]]]],[65,[[526,[387]]]],[65,[[526,[388]]]],[65,[[526,[389]]]],[65,[[526,[390]]]],[65,[[526,[391]]]],[65,[[526,[392]]]],[65,[[526,[393]]]],[65,[[526,[394]]]],[65,[[526,[395]]]],[65,[[526,[396]]]],[65,[[526,[397]]]],[65,[[526,[398]]]],[65,[[526,[399]]]],[65,[[526,[400]]]],[65,[[526,[401]]]],[65,[[526,[402]]]],[65,[[526,[403]]]],[65,[[526,[404]]]],[65,[[526,[405]]]],[65,[[526,[406]]]],[65,[[526,[407]]]],[65,[[526,[408]]]],[65,[[526,[409]]]],[65,[[526,[410]]]],[65,[[526,[411]]]],[65,[[526,[412]]]],[65,[[526,[413]]]],[65,[[526,[414]]]],[65,[[526,[415]]]],[65,[[526,[416]]]],[65,[[526,[417]]]],[65,[[526,[418]]]],[65,[[526,[419]]]],[65,[[526,[420]]]],[65,[[526,[421]]]],[65,[[526,[422]]]],[65,[[526,[423]]]],[65,[[526,[424]]]],[65,[[526,[425]]]],[65,[[526,[426]]]],[65,[[526,[427]]]],[65,[[526,[428]]]],[65,[[526,[429]]]],[65,[[526,[430]]]],[65,[[526,[431]]]],[65,[[526,[432]]]],[65,[[526,[433]]]],[65,[[526,[434]]]],[65,[[526,[435]]]],[65,[[526,[436]]]],[65,[[526,[437]]]],[65,[[526,[438]]]],[65,[[526,[439]]]],[65,[[526,[440]]]],[65,[[526,[441]]]],[65,[[526,[442]]]],[65,[[526,[443]]]],[65,[[526,[444]]]],[65,[[526,[445]]]],[65,[[526,[446]]]],[65,[[526,[447]]]],[65,[[526,[448]]]],[65,[[526,[449]]]],[65,[[526,[450]]]],[65,[[526,[451]]]],[65,[[526,[452]]]],[65,[[526,[453]]]],[65,[[526,[454]]]],[65,[[526,[455]]]],[65,[[526,[456]]]],[65,[[526,[457]]]],[65,[[526,[458]]]],[65,[[526,[459]]]],[65,[[526,[460]]]],[65,[[526,[461]]]],[65,[[526,[462]]]],[65,[[526,[463]]]],[65,[[526,[464]]]],[65,[[526,[465]]]],[65,[[526,[466]]]],[65,[[526,[467]]]],[65,[[526,[468]]]],[65,[[526,[469]]]],[65,[[526,[470]]]],[65,[[526,[471]]]],[65,[[526,[472]]]],[65,[[526,[473]]]],[65,[[526,[474]]]],[65,[[526,[475]]]],[65,[[526,[476]]]],[65,[[526,[477]]]],[65,[[526,[478]]]],[65,[[526,[479]]]],[65,[[526,[480]]]],[65,[[526,[481]]]],[65,[[526,[482]]]],[65,[[526,[483]]]],[65,[[526,[484]]]],[65,[[526,[485]]]],[65,[[526,[486]]]],[65,[[526,[487]]]],[65,[[526,[488]]]],[65,[[526,[489]]]],[65,[[526,[490]]]],[65,[[526,[491]]]],[65,[[526,[492]]]],[65,[[526,[493]]]],[65,[[526,[494]]]],[65,[[526,[495]]]],[65,[[526,[496]]]],[65,[[526,[497]]]],[65,[[526,[498]]]],[65,[[526,[499]]]],[65,[[526,[500]]]],[65,[[526,[501]]]],[65,[[526,[502]]]],[65,[[526,[503]]]],[65,[[526,[504]]]],[65,[[526,[505]]]],[65,[[526,[506]]]],[65,[[526,[507]]]],[65,[[526,[508]]]],[65,[[526,[509]]]],[65,[[526,[510]]]],[65,[[526,[511]]]],[65,[[526,[512]]]],[65,[[526,[513]]]],[65,[[526,[514]]]],[65,[[526,[515]]]],[65,[[526,[516]]]],[65,[[526,[517]]]],[65,[[526,[518]]]],[65,[[526,[519]]]],[65,[[526,[520]]]],[65,[[526,[521]]]],[65,[[526,[522]]]],[65,[[526,[523]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,-1],9,528],[[34,-1],9,528],[[35,-1],9,528],[[36,-1],9,528],[[37,-1],9,528],[[38,-1],9,528],[[39,-1],9,528],[[40,-1],9,528],[[41,-1],9,528],[[42,-1],9,528],[[43,-1],9,528],[[44,-1],9,528],[[45,-1],9,528],[[46,-1],9,528],[[47,-1],9,528],[[48,-1],9,528],[[49,-1],9,528],[[50,-1],9,528],[[51,-1],9,528],[[52,-1],9,528],[[53,-1],9,528],[[54,-1],9,528],[[55,-1],9,528],[[56,-1],9,528],[[57,-1],9,528],[[58,-1],9,528],[[59,-1],9,528],[[60,-1],9,528],[[61,-1],9,528],[[62,-1],9,528],[[63,-1],9,528],[[64,-1],9,528],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],[[33,33],20],[[34,34],20],[[35,35],20],[[36,36],20],[[37,37],20],[[38,38],20],[[39,39],20],[[40,40],20],[[41,41],20],[[42,42],20],[[43,43],20],[[44,44],20],[[45,45],20],[[46,46],20],[[47,47],20],[[48,48],20],[[49,49],20],[[50,50],20],[[51,51],20],[[52,52],20],[[53,53],20],[[54,54],20],[[55,55],20],[[56,56],20],[[57,57],20],[[58,58],20],[[59,59],20],[[60,60],20],[[61,61],20],[[62,62],20],[[63,63],20],[[64,64],20],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[33,20],[34,20],[35,20],[36,20],[37,20],[38,20],[39,20],[40,20],[41,20],[42,20],[43,20],[44,20],[45,20],[46,20],[47,20],[48,20],[49,20],[50,20],[51,20],[52,20],[53,20],[54,20],[55,20],[56,20],[57,20],[58,20],[59,20],[60,20],[61,20],[62,20],[63,20],[64,20],[33,20],[34,20],[35,20],[36,20],[37,20],[38,20],[39,20],[40,20],[41,20],[42,20],[43,20],[44,20],[45,20],[46,20],[47,20],[48,20],[49,20],[50,20],[51,20],[52,20],[53,20],[54,20],[55,20],[56,20],[57,20],[58,20],[59,20],[60,20],[61,20],[62,20],[63,20],[64,20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[66,15],0,[11,[[16,[15,11]]]],[66,11],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[33,33],[34,34],[35,35],[36,36],[37,37],[38,38],[39,39],[40,40],[41,41],[42,42],[43,43],[44,44],[45,45],[46,46],[47,47],[48,48],[49,49],[50,50],[51,51],[52,52],[53,53],[54,54],[55,55],[56,56],[57,57],[58,58],[59,59],[60,60],[61,61],[62,62],[63,63],[64,64],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[5,15,[17,[10]]],[[16,[66,18]]]],[[33,33],[[526,[524]]]],[[34,34],[[526,[524]]]],[[35,35],[[526,[524]]]],[[36,36],[[526,[524]]]],[[37,37],[[526,[524]]]],[[38,38],[[526,[524]]]],[[39,39],[[526,[524]]]],[[40,40],[[526,[524]]]],[[41,41],[[526,[524]]]],[[42,42],[[526,[524]]]],[[43,43],[[526,[524]]]],[[44,44],[[526,[524]]]],[[45,45],[[526,[524]]]],[[46,46],[[526,[524]]]],[[47,47],[[526,[524]]]],[[48,48],[[526,[524]]]],[[49,49],[[526,[524]]]],[[50,50],[[526,[524]]]],[[51,51],[[526,[524]]]],[[52,52],[[526,[524]]]],[[53,53],[[526,[524]]]],[[54,54],[[526,[524]]]],[[55,55],[[526,[524]]]],[[56,56],[[526,[524]]]],[[57,57],[[526,[524]]]],[[58,58],[[526,[524]]]],[[59,59],[[526,[524]]]],[[60,60],[[526,[524]]]],[[61,61],[[526,[524]]]],[[62,62],[[526,[524]]]],[[63,63],[[526,[524]]]],[[64,64],[[526,[524]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[66,5,[17,[10]]],26],[[67,5,[17,[10]]],26],[[68,5,[17,[10]]],26],[[69,5,[17,[10]]],26],[[70,5,[17,[10]]],26],[[71,5,[17,[10]]],26],[[72,5,[17,[10]]],26],[[73,5,[17,[10]]],26],[[74,5,[17,[10]]],26],[[75,5,[17,[10]]],26],[[76,5,[17,[10]]],26],[[77,5,[17,[10]]],26],[[78,5,[17,[10]]],26],[[79,5,[17,[10]]],26],[[80,5,[17,[10]]],26],[[81,5,[17,[10]]],26],[[82,5,[17,[10]]],26],[[83,5,[17,[10]]],26],[[84,5,[17,[10]]],26],[[85,5,[17,[10]]],26],[[86,5,[17,[10]]],26],[[87,5,[17,[10]]],26],[[88,5,[17,[10]]],26],[[89,5,[17,[10]]],26],[[90,5,[17,[10]]],26],[[91,5,[17,[10]]],26],[[92,5,[17,[10]]],26],[[93,5,[17,[10]]],26],[[94,5,[17,[10]]],26],[[95,5,[17,[10]]],26],[[96,5,[17,[10]]],26],[[97,5,[17,[10]]],26],[[98,5,[17,[10]]],26],[[99,5,[17,[10]]],26],[[100,5,[17,[10]]],26],[[101,5,[17,[10]]],26],[[102,5,[17,[10]]],26],[[103,5,[17,[10]]],26],[[104,5,[17,[10]]],26],[[105,5,[17,[10]]],26],[[106,5,[17,[10]]],26],[[107,5,[17,[10]]],26],[[108,5,[17,[10]]],26],[[109,5,[17,[10]]],26],[[110,5,[17,[10]]],26],[[111,5,[17,[10]]],26],[[112,5,[17,[10]]],26],[[113,5,[17,[10]]],26],[[114,5,[17,[10]]],26],[[115,5,[17,[10]]],26],[[116,5,[17,[10]]],26],[[117,5,[17,[10]]],26],[[118,5,[17,[10]]],26],[[119,5,[17,[10]]],26],[[120,5,[17,[10]]],26],[[121,5,[17,[10]]],26],[[122,5,[17,[10]]],26],[[123,5,[17,[10]]],26],[[124,5,[17,[10]]],26],[[125,5,[17,[10]]],26],[[126,5,[17,[10]]],26],[[127,5,[17,[10]]],26],[[128,5,[17,[10]]],26],[[129,5,[17,[10]]],26],[[130,5,[17,[10]]],26],[[131,5,[17,[10]]],26],[[132,5,[17,[10]]],26],[[133,5,[17,[10]]],26],[[134,5,[17,[10]]],26],[[135,5,[17,[10]]],26],[[136,5,[17,[10]]],26],[[137,5,[17,[10]]],26],[[138,5,[17,[10]]],26],[[139,5,[17,[10]]],26],[[140,5,[17,[10]]],26],[[141,5,[17,[10]]],26],[[142,5,[17,[10]]],26],[[143,5,[17,[10]]],26],[[144,5,[17,[10]]],26],[[145,5,[17,[10]]],26],[[146,5,[17,[10]]],26],[[147,5,[17,[10]]],26],[[148,5,[17,[10]]],26],[[149,5,[17,[10]]],26],[[150,5,[17,[10]]],26],[[151,5,[17,[10]]],26],[[152,5,[17,[10]]],26],[[153,5,[17,[10]]],26],[[154,5,[17,[10]]],26],[[155,5,[17,[10]]],26],[[156,5,[17,[10]]],26],[[157,5,[17,[10]]],26],[[158,5,[17,[10]]],26],[[159,5,[17,[10]]],26],[[160,5,[17,[10]]],26],[[161,5,[17,[10]]],26],[[162,5,[17,[10]]],26],[[163,5,[17,[10]]],26],[[164,5,[17,[10]]],26],[[165,5,[17,[10]]],26],[[166,5,[17,[10]]],26],[[167,5,[17,[10]]],26],[[168,5,[17,[10]]],26],[[169,5,[17,[10]]],26],[[170,5,[17,[10]]],26],[[171,5,[17,[10]]],26],[[172,5,[17,[10]]],26],[[173,5,[17,[10]]],26],[[174,5,[17,[10]]],26],[[175,5,[17,[10]]],26],[[176,5,[17,[10]]],26],[[177,5,[17,[10]]],26],[[178,5,[17,[10]]],26],[[179,5,[17,[10]]],26],[[180,5,[17,[10]]],26],[[181,5,[17,[10]]],26],[[182,5,[17,[10]]],26],[[183,5,[17,[10]]],26],[[184,5,[17,[10]]],26],[[185,5,[17,[10]]],26],[[186,5,[17,[10]]],26],[[187,5,[17,[10]]],26],[[188,5,[17,[10]]],26],[[189,5,[17,[10]]],26],[[190,5,[17,[10]]],26],[[191,5,[17,[10]]],26],[[192,5,[17,[10]]],26],[[193,5,[17,[10]]],26],[[194,5,[17,[10]]],26],[[195,5,[17,[10]]],26],[[196,5,[17,[10]]],26],[[197,5,[17,[10]]],26],[[198,5,[17,[10]]],26],[[199,5,[17,[10]]],26],[[200,5,[17,[10]]],26],[[201,5,[17,[10]]],26],[[202,5,[17,[10]]],26],[[203,5,[17,[10]]],26],[[204,5,[17,[10]]],26],[[205,5,[17,[10]]],26],[[206,5,[17,[10]]],26],[[207,5,[17,[10]]],26],[[208,5,[17,[10]]],26],[[209,5,[17,[10]]],26],[[210,5,[17,[10]]],26],[[211,5,[17,[10]]],26],[[212,5,[17,[10]]],26],[[213,5,[17,[10]]],26],[[214,5,[17,[10]]],26],[[215,5,[17,[10]]],26],[[216,5,[17,[10]]],26],[[217,5,[17,[10]]],26],[[218,5,[17,[10]]],26],[[219,5,[17,[10]]],26],[[220,5,[17,[10]]],26],[[221,5,[17,[10]]],26],[[222,5,[17,[10]]],26],[[223,5,[17,[10]]],26],[[224,5,[17,[10]]],26],[[225,5,[17,[10]]],26],[[226,5,[17,[10]]],26],[[227,5,[17,[10]]],26],[[228,5,[17,[10]]],26],[[229,5,[17,[10]]],26],[[230,5,[17,[10]]],26],[[231,5,[17,[10]]],26],[[232,5,[17,[10]]],26],[[233,5,[17,[10]]],26],[[234,5,[17,[10]]],26],[[235,5,[17,[10]]],26],[[236,5,[17,[10]]],26],[[237,5,[17,[10]]],26],[[238,5,[17,[10]]],26],[[239,5,[17,[10]]],26],[[240,5,[17,[10]]],26],[[241,5,[17,[10]]],26],[[242,5,[17,[10]]],26],[[243,5,[17,[10]]],26],[[244,5,[17,[10]]],26],[[245,5,[17,[10]]],26],[[246,5,[17,[10]]],26],[[247,5,[17,[10]]],26],[[248,5,[17,[10]]],26],[[249,5,[17,[10]]],26],[[250,5,[17,[10]]],26],[[251,5,[17,[10]]],26],[[252,5,[17,[10]]],26],[[253,5,[17,[10]]],26],[[254,5,[17,[10]]],26],[[255,5,[17,[10]]],26],[[256,5,[17,[10]]],26],[[257,5,[17,[10]]],26],[[258,5,[17,[10]]],26],[[259,5,[17,[10]]],26],[[260,5,[17,[10]]],26],[[261,5,[17,[10]]],26],[[262,5,[17,[10]]],26],[[263,5,[17,[10]]],26],[[264,5,[17,[10]]],26],[[265,5,[17,[10]]],26],[[266,5,[17,[10]]],26],[[267,5,[17,[10]]],26],[[268,5,[17,[10]]],26],[[269,5,[17,[10]]],26],[[270,5,[17,[10]]],26],[[271,5,[17,[10]]],26],[[272,5,[17,[10]]],26],[[273,5,[17,[10]]],26],[[274,5,[17,[10]]],26],[[275,5,[17,[10]]],26],[[276,5,[17,[10]]],26],[[277,5,[17,[10]]],26],[[278,5,[17,[10]]],26],[[279,5,[17,[10]]],26],[[280,5,[17,[10]]],26],[[281,5,[17,[10]]],26],[[282,5,[17,[10]]],26],[[283,5,[17,[10]]],26],[[284,5,[17,[10]]],26],[[285,5,[17,[10]]],26],[[286,5,[17,[10]]],26],[[287,5,[17,[10]]],26],[[288,5,[17,[10]]],26],[[289,5,[17,[10]]],26],[[290,5,[17,[10]]],26],[[291,5,[17,[10]]],26],[[292,5,[17,[10]]],26],[[293,5,[17,[10]]],26],[[294,5,[17,[10]]],26],[[295,5,[17,[10]]],26],[[296,5,[17,[10]]],26],[[297,5,[17,[10]]],26],[[298,5,[17,[10]]],26],[[299,5,[17,[10]]],26],[[300,5,[17,[10]]],26],[[301,5,[17,[10]]],26],[[302,5,[17,[10]]],26],[[303,5,[17,[10]]],26],[[304,5,[17,[10]]],26],[[305,5,[17,[10]]],26],[[306,5,[17,[10]]],26],[[307,5,[17,[10]]],26],[[308,5,[17,[10]]],26],[[309,5,[17,[10]]],26],[[310,5,[17,[10]]],26],[[311,5,[17,[10]]],26],[[312,5,[17,[10]]],26],[[313,5,[17,[10]]],26],[[314,5,[17,[10]]],26],[[315,5,[17,[10]]],26],[[316,5,[17,[10]]],26],[[317,5,[17,[10]]],26],[[318,5,[17,[10]]],26],[[319,5,[17,[10]]],26],[[320,5,[17,[10]]],26],[[321,5,[17,[10]]],26],[[322,5,[17,[10]]],26],[[323,5,[17,[10]]],26],[[324,5,[17,[10]]],26],[[325,5,[17,[10]]],26],[[326,5,[17,[10]]],26],[[327,5,[17,[10]]],26],[[328,5,[17,[10]]],26],[[329,5,[17,[10]]],26],[[330,5,[17,[10]]],26],[[331,5,[17,[10]]],26],[[332,5,[17,[10]]],26],[[333,5,[17,[10]]],26],[[334,5,[17,[10]]],26],[[335,5,[17,[10]]],26],[[336,5,[17,[10]]],26],[[337,5,[17,[10]]],26],[[338,5,[17,[10]]],26],[[339,5,[17,[10]]],26],[[340,5,[17,[10]]],26],[[341,5,[17,[10]]],26],[[342,5,[17,[10]]],26],[[343,5,[17,[10]]],26],[[344,5,[17,[10]]],26],[[345,5,[17,[10]]],26],[[346,5,[17,[10]]],26],[[347,5,[17,[10]]],26],[[348,5,[17,[10]]],26],[[349,5,[17,[10]]],26],[[350,5,[17,[10]]],26],[[351,5,[17,[10]]],26],[[352,5,[17,[10]]],26],[[353,5,[17,[10]]],26],[[354,5,[17,[10]]],26],[[355,5,[17,[10]]],26],[[356,5,[17,[10]]],26],[[357,5,[17,[10]]],26],[[358,5,[17,[10]]],26],[[359,5,[17,[10]]],26],[[360,5,[17,[10]]],26],[[361,5,[17,[10]]],26],[[362,5,[17,[10]]],26],0,[[66,-1],16,28],[[67,-1],16,28],[[68,-1],16,28],[[69,-1],16,28],[[70,-1],16,28],[[71,-1],16,28],[[72,-1],16,28],[[73,-1],16,28],[[74,-1],16,28],[[75,-1],16,28],[[76,-1],16,28],[[77,-1],16,28],[[78,-1],16,28],[[79,-1],16,28],[[80,-1],16,28],[[81,-1],16,28],[[82,-1],16,28],[[83,-1],16,28],[[84,-1],16,28],[[85,-1],16,28],[[86,-1],16,28],[[87,-1],16,28],[[88,-1],16,28],[[89,-1],16,28],[[90,-1],16,28],[[91,-1],16,28],[[92,-1],16,28],[[93,-1],16,28],[[94,-1],16,28],[[95,-1],16,28],[[96,-1],16,28],[[97,-1],16,28],[[98,-1],16,28],[[99,-1],16,28],[[100,-1],16,28],[[101,-1],16,28],[[102,-1],16,28],[[103,-1],16,28],[[104,-1],16,28],[[105,-1],16,28],[[106,-1],16,28],[[107,-1],16,28],[[108,-1],16,28],[[109,-1],16,28],[[110,-1],16,28],[[111,-1],16,28],[[112,-1],16,28],[[113,-1],16,28],[[114,-1],16,28],[[115,-1],16,28],[[116,-1],16,28],[[117,-1],16,28],[[118,-1],16,28],[[119,-1],16,28],[[120,-1],16,28],[[121,-1],16,28],[[122,-1],16,28],[[123,-1],16,28],[[124,-1],16,28],[[125,-1],16,28],[[126,-1],16,28],[[127,-1],16,28],[[128,-1],16,28],[[129,-1],16,28],[[130,-1],16,28],[[131,-1],16,28],[[132,-1],16,28],[[133,-1],16,28],[[134,-1],16,28],[[135,-1],16,28],[[136,-1],16,28],[[137,-1],16,28],[[138,-1],16,28],[[139,-1],16,28],[[140,-1],16,28],[[141,-1],16,28],[[142,-1],16,28],[[143,-1],16,28],[[144,-1],16,28],[[145,-1],16,28],[[146,-1],16,28],[[147,-1],16,28],[[148,-1],16,28],[[149,-1],16,28],[[150,-1],16,28],[[151,-1],16,28],[[152,-1],16,28],[[153,-1],16,28],[[154,-1],16,28],[[155,-1],16,28],[[156,-1],16,28],[[157,-1],16,28],[[158,-1],16,28],[[159,-1],16,28],[[160,-1],16,28],[[161,-1],16,28],[[162,-1],16,28],[[163,-1],16,28],[[164,-1],16,28],[[165,-1],16,28],[[166,-1],16,28],[[167,-1],16,28],[[168,-1],16,28],[[169,-1],16,28],[[170,-1],16,28],[[171,-1],16,28],[[172,-1],16,28],[[173,-1],16,28],[[174,-1],16,28],[[175,-1],16,28],[[176,-1],16,28],[[177,-1],16,28],[[178,-1],16,28],[[179,-1],16,28],[[180,-1],16,28],[[181,-1],16,28],[[182,-1],16,28],[[183,-1],16,28],[[184,-1],16,28],[[185,-1],16,28],[[186,-1],16,28],[[187,-1],16,28],[[188,-1],16,28],[[189,-1],16,28],[[190,-1],16,28],[[191,-1],16,28],[[192,-1],16,28],[[193,-1],16,28],[[194,-1],16,28],[[195,-1],16,28],[[196,-1],16,28],[[197,-1],16,28],[[198,-1],16,28],[[199,-1],16,28],[[200,-1],16,28],[[201,-1],16,28],[[202,-1],16,28],[[203,-1],16,28],[[204,-1],16,28],[[205,-1],16,28],[[206,-1],16,28],[[207,-1],16,28],[[208,-1],16,28],[[209,-1],16,28],[[210,-1],16,28],[[211,-1],16,28],[[212,-1],16,28],[[213,-1],16,28],[[214,-1],16,28],[[215,-1],16,28],[[216,-1],16,28],[[217,-1],16,28],[[218,-1],16,28],[[219,-1],16,28],[[220,-1],16,28],[[221,-1],16,28],[[222,-1],16,28],[[223,-1],16,28],[[224,-1],16,28],[[225,-1],16,28],[[226,-1],16,28],[[227,-1],16,28],[[228,-1],16,28],[[229,-1],16,28],[[230,-1],16,28],[[231,-1],16,28],[[232,-1],16,28],[[233,-1],16,28],[[234,-1],16,28],[[235,-1],16,28],[[236,-1],16,28],[[237,-1],16,28],[[238,-1],16,28],[[239,-1],16,28],[[240,-1],16,28],[[241,-1],16,28],[[242,-1],16,28],[[243,-1],16,28],[[244,-1],16,28],[[245,-1],16,28],[[246,-1],16,28],[[247,-1],16,28],[[248,-1],16,28],[[249,-1],16,28],[[250,-1],16,28],[[251,-1],16,28],[[252,-1],16,28],[[253,-1],16,28],[[254,-1],16,28],[[255,-1],16,28],[[256,-1],16,28],[[257,-1],16,28],[[258,-1],16,28],[[259,-1],16,28],[[260,-1],16,28],[[261,-1],16,28],[[262,-1],16,28],[[263,-1],16,28],[[264,-1],16,28],[[265,-1],16,28],[[266,-1],16,28],[[267,-1],16,28],[[268,-1],16,28],[[269,-1],16,28],[[270,-1],16,28],[[271,-1],16,28],[[272,-1],16,28],[[273,-1],16,28],[[274,-1],16,28],[[275,-1],16,28],[[276,-1],16,28],[[277,-1],16,28],[[278,-1],16,28],[[279,-1],16,28],[[280,-1],16,28],[[281,-1],16,28],[[282,-1],16,28],[[283,-1],16,28],[[284,-1],16,28],[[285,-1],16,28],[[286,-1],16,28],[[287,-1],16,28],[[288,-1],16,28],[[289,-1],16,28],[[290,-1],16,28],[[291,-1],16,28],[[292,-1],16,28],[[293,-1],16,28],[[294,-1],16,28],[[295,-1],16,28],[[296,-1],16,28],[[297,-1],16,28],[[298,-1],16,28],[[299,-1],16,28],[[300,-1],16,28],[[301,-1],16,28],[[302,-1],16,28],[[303,-1],16,28],[[304,-1],16,28],[[305,-1],16,28],[[306,-1],16,28],[[307,-1],16,28],[[308,-1],16,28],[[309,-1],16,28],[[310,-1],16,28],[[311,-1],16,28],[[312,-1],16,28],[[313,-1],16,28],[[314,-1],16,28],[[315,-1],16,28],[[316,-1],16,28],[[317,-1],16,28],[[318,-1],16,28],[[319,-1],16,28],[[320,-1],16,28],[[321,-1],16,28],[[322,-1],16,28],[[323,-1],16,28],[[324,-1],16,28],[[325,-1],16,28],[[326,-1],16,28],[[327,-1],16,28],[[328,-1],16,28],[[329,-1],16,28],[[330,-1],16,28],[[331,-1],16,28],[[332,-1],16,28],[[333,-1],16,28],[[334,-1],16,28],[[335,-1],16,28],[[336,-1],16,28],[[337,-1],16,28],[[338,-1],16,28],[[339,-1],16,28],[[340,-1],16,28],[[341,-1],16,28],[[342,-1],16,28],[[343,-1],16,28],[[344,-1],16,28],[[345,-1],16,28],[[346,-1],16,28],[[347,-1],16,28],[[348,-1],16,28],[[349,-1],16,28],[[350,-1],16,28],[[351,-1],16,28],[[352,-1],16,28],[[353,-1],16,28],[[354,-1],16,28],[[355,-1],16,28],[[356,-1],16,28],[[357,-1],16,28],[[358,-1],16,28],[[359,-1],16,28],[[360,-1],16,28],[[361,-1],16,28],[[362,-1],16,28],[[363,-1],16,28],[[364,-1],16,28],[[365,-1],16,28],[[366,-1],16,28],[[367,-1],16,28],[[368,-1],16,28],[[33,-1],16,28],[[369,-1],16,28],[[370,-1],16,28],[[371,-1],16,28],[[372,-1],16,28],[[373,-1],16,28],[[374,-1],16,28],[[375,-1],16,28],[[376,-1],16,28],[[377,-1],16,28],[[378,-1],16,28],[[379,-1],16,28],[[380,-1],16,28],[[34,-1],16,28],[[381,-1],16,28],[[382,-1],16,28],[[383,-1],16,28],[[35,-1],16,28],[[384,-1],16,28],[[36,-1],16,28],[[385,-1],16,28],[[386,-1],16,28],[[37,-1],16,28],[[387,-1],16,28],[[388,-1],16,28],[[389,-1],16,28],[[390,-1],16,28],[[391,-1],16,28],[[392,-1],16,28],[[393,-1],16,28],[[38,-1],16,28],[[394,-1],16,28],[[395,-1],16,28],[[39,-1],16,28],[[396,-1],16,28],[[397,-1],16,28],[[398,-1],16,28],[[399,-1],16,28],[[40,-1],16,28],[[400,-1],16,28],[[401,-1],16,28],[[402,-1],16,28],[[403,-1],16,28],[[41,-1],16,28],[[42,-1],16,28],[[404,-1],16,28],[[405,-1],16,28],[[406,-1],16,28],[[407,-1],16,28],[[43,-1],16,28],[[408,-1],16,28],[[409,-1],16,28],[[44,-1],16,28],[[45,-1],16,28],[[410,-1],16,28],[[411,-1],16,28],[[412,-1],16,28],[[413,-1],16,28],[[414,-1],16,28],[[415,-1],16,28],[[416,-1],16,28],[[417,-1],16,28],[[418,-1],16,28],[[46,-1],16,28],[[419,-1],16,28],[[420,-1],16,28],[[421,-1],16,28],[[422,-1],16,28],[[423,-1],16,28],[[424,-1],16,28],[[425,-1],16,28],[[426,-1],16,28],[[427,-1],16,28],[[47,-1],16,28],[[428,-1],16,28],[[429,-1],16,28],[[48,-1],16,28],[[49,-1],16,28],[[430,-1],16,28],[[431,-1],16,28],[[432,-1],16,28],[[433,-1],16,28],[[434,-1],16,28],[[50,-1],16,28],[[435,-1],16,28],[[436,-1],16,28],[[437,-1],16,28],[[438,-1],16,28],[[439,-1],16,28],[[51,-1],16,28],[[440,-1],16,28],[[52,-1],16,28],[[441,-1],16,28],[[442,-1],16,28],[[443,-1],16,28],[[444,-1],16,28],[[445,-1],16,28],[[446,-1],16,28],[[447,-1],16,28],[[448,-1],16,28],[[449,-1],16,28],[[450,-1],16,28],[[451,-1],16,28],[[452,-1],16,28],[[453,-1],16,28],[[454,-1],16,28],[[53,-1],16,28],[[54,-1],16,28],[[455,-1],16,28],[[456,-1],16,28],[[457,-1],16,28],[[458,-1],16,28],[[459,-1],16,28],[[55,-1],16,28],[[460,-1],16,28],[[461,-1],16,28],[[462,-1],16,28],[[463,-1],16,28],[[464,-1],16,28],[[465,-1],16,28],[[466,-1],16,28],[[467,-1],16,28],[[56,-1],16,28],[[468,-1],16,28],[[469,-1],16,28],[[470,-1],16,28],[[471,-1],16,28],[[472,-1],16,28],[[473,-1],16,28],[[474,-1],16,28],[[57,-1],16,28],[[475,-1],16,28],[[476,-1],16,28],[[477,-1],16,28],[[478,-1],16,28],[[58,-1],16,28],[[479,-1],16,28],[[480,-1],16,28],[[481,-1],16,28],[[59,-1],16,28],[[60,-1],16,28],[[482,-1],16,28],[[483,-1],16,28],[[484,-1],16,28],[[485,-1],16,28],[[486,-1],16,28],[[487,-1],16,28],[[488,-1],16,28],[[489,-1],16,28],[[61,-1],16,28],[[490,-1],16,28],[[491,-1],16,28],[[492,-1],16,28],[[493,-1],16,28],[[494,-1],16,28],[[62,-1],16,28],[[495,-1],16,28],[[496,-1],16,28],[[497,-1],16,28],[[63,-1],16,28],[[498,-1],16,28],[[499,-1],16,28],[[500,-1],16,28],[[501,-1],16,28],[[502,-1],16,28],[[503,-1],16,28],[[504,-1],16,28],[[505,-1],16,28],[[506,-1],16,28],[[64,-1],16,28],[[507,-1],16,28],[[508,-1],16,28],[[509,-1],16,28],[[510,-1],16,28],[[511,-1],16,28],[[512,-1],16,28],[[513,-1],16,28],[[514,-1],16,28],[[515,-1],16,28],[[516,-1],16,28],[[517,-1],16,28],[[518,-1],16,28],[[519,-1],16,28],[[520,-1],16,28],[[521,-1],16,28],[[522,-1],16,28],[[523,-1],16,28],0,0,0,0,0,0,0,0,0,[[33,33,20],9],[[34,34,20],9],[[35,35,20],9],[[36,36,20],9],[[37,37,20],9],[[38,38,20],9],[[39,39,20],9],[[40,40,20],9],[[41,41,20],9],[[42,42,20],9],[[43,43,20],9],[[44,44,20],9],[[45,45,20],9],[[46,46,20],9],[[47,47,20],9],[[48,48,20],9],[[49,49,20],9],[[50,50,20],9],[[51,51,20],9],[[52,52,20],9],[[53,53,20],9],[[54,54,20],9],[[55,55,20],9],[[56,56,20],9],[[57,57,20],9],[[58,58,20],9],[[59,59,20],9],[[60,60,20],9],[[61,61,20],9],[[62,62,20],9],[[63,63,20],9],[[64,64,20],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],0,0,0,0,0,[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[363,[[526,[527]]]],[364,[[526,[527]]]],[365,[[526,[527]]]],[366,[[526,[527]]]],[367,[[526,[527]]]],[368,[[526,[527]]]],[369,[[526,[527]]]],[370,[[526,[527]]]],[371,[[526,[527]]]],[372,[[526,[527]]]],[373,[[526,[527]]]],[374,[[526,[527]]]],[375,[[526,[527]]]],[376,[[526,[527]]]],[377,[[526,[527]]]],[378,[[526,[527]]]],[379,[[526,[527]]]],[380,[[526,[527]]]],[381,[[526,[527]]]],[382,[[526,[527]]]],[383,[[526,[527]]]],[384,[[526,[527]]]],[385,[[526,[527]]]],[386,[[526,[527]]]],[387,[[526,[527]]]],[388,[[526,[527]]]],[389,[[526,[527]]]],[390,[[526,[527]]]],[391,[[526,[527]]]],[392,[[526,[527]]]],[393,[[526,[527]]]],[394,[[526,[527]]]],[395,[[526,[527]]]],[396,[[526,[527]]]],[397,[[526,[527]]]],[398,[[526,[527]]]],[399,[[526,[527]]]],[400,[[526,[527]]]],[401,[[526,[527]]]],[402,[[526,[527]]]],[403,[[526,[527]]]],[404,[[526,[527]]]],[405,[[526,[527]]]],[406,[[526,[527]]]],[407,[[526,[527]]]],[408,[[526,[527]]]],[409,[[526,[527]]]],[410,[[526,[527]]]],[411,[[526,[527]]]],[412,[[526,[527]]]],[413,[[526,[527]]]],[414,[[526,[527]]]],[415,[[526,[527]]]],[416,[[526,[527]]]],[417,[[526,[527]]]],[418,[[526,[527]]]],[419,[[526,[527]]]],[420,[[526,[527]]]],[421,[[526,[527]]]],[422,[[526,[527]]]],[423,[[526,[527]]]],[424,[[526,[527]]]],[425,[[526,[527]]]],[426,[[526,[527]]]],[427,[[526,[527]]]],[428,[[526,[527]]]],[429,[[526,[527]]]],[430,[[526,[527]]]],[431,[[526,[527]]]],[432,[[526,[527]]]],[433,[[526,[527]]]],[434,[[526,[527]]]],[435,[[526,[527]]]],[436,[[526,[527]]]],[437,[[526,[527]]]],[438,[[526,[527]]]],[439,[[526,[527]]]],[440,[[526,[527]]]],[441,[[526,[527]]]],[442,[[526,[527]]]],[443,[[526,[527]]]],[444,[[526,[527]]]],[445,[[526,[527]]]],[446,[[526,[527]]]],[447,[[526,[527]]]],[448,[[526,[527]]]],[449,[[526,[527]]]],[450,[[526,[527]]]],[451,[[526,[527]]]],[452,[[526,[527]]]],[453,[[526,[527]]]],[454,[[526,[527]]]],[455,[[526,[527]]]],[456,[[526,[527]]]],[457,[[526,[527]]]],[458,[[526,[527]]]],[459,[[526,[527]]]],[460,[[526,[527]]]],[461,[[526,[527]]]],[462,[[526,[527]]]],[463,[[526,[527]]]],[464,[[526,[527]]]],[465,[[526,[527]]]],[466,[[526,[527]]]],[467,[[526,[527]]]],[468,[[526,[527]]]],[469,[[526,[527]]]],[470,[[526,[527]]]],[471,[[526,[527]]]],[472,[[526,[527]]]],[473,[[526,[527]]]],[474,[[526,[527]]]],[475,[[526,[527]]]],[476,[[526,[527]]]],[477,[[526,[527]]]],[478,[[526,[527]]]],[479,[[526,[527]]]],[480,[[526,[527]]]],[481,[[526,[527]]]],[482,[[526,[527]]]],[483,[[526,[527]]]],[484,[[526,[527]]]],[485,[[526,[527]]]],[486,[[526,[527]]]],[487,[[526,[527]]]],[488,[[526,[527]]]],[489,[[526,[527]]]],[490,[[526,[527]]]],[491,[[526,[527]]]],[492,[[526,[527]]]],[493,[[526,[527]]]],[494,[[526,[527]]]],[495,[[526,[527]]]],[496,[[526,[527]]]],[497,[[526,[527]]]],[498,[[526,[527]]]],[499,[[526,[527]]]],[500,[[526,[527]]]],[501,[[526,[527]]]],[502,[[526,[527]]]],[503,[[526,[527]]]],[504,[[526,[527]]]],[505,[[526,[527]]]],[506,[[526,[527]]]],[507,[[526,[527]]]],[508,[[526,[527]]]],[509,[[526,[527]]]],[510,[[526,[527]]]],[511,[[526,[527]]]],[512,[[526,[527]]]],[513,[[526,[527]]]],[514,[[526,[527]]]],[515,[[526,[527]]]],[516,[[526,[527]]]],[517,[[526,[527]]]],[518,[[526,[527]]]],[519,[[526,[527]]]],[520,[[526,[527]]]],[521,[[526,[527]]]],[522,[[526,[527]]]],[523,[[526,[527]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[363,[[526,[65]]]],[364,[[526,[65]]]],[365,[[526,[65]]]],[366,[[526,[65]]]],[367,[[526,[65]]]],[368,[[526,[65]]]],[369,[[526,[65]]]],[370,[[526,[65]]]],[371,[[526,[65]]]],[372,[[526,[65]]]],[373,[[526,[65]]]],[374,[[526,[65]]]],[375,[[526,[65]]]],[376,[[526,[65]]]],[377,[[526,[65]]]],[378,[[526,[65]]]],[379,[[526,[65]]]],[380,[[526,[65]]]],[381,[[526,[65]]]],[382,[[526,[65]]]],[383,[[526,[65]]]],[384,[[526,[65]]]],[385,[[526,[65]]]],[386,[[526,[65]]]],[387,[[526,[65]]]],[388,[[526,[65]]]],[389,[[526,[65]]]],[390,[[526,[65]]]],[391,[[526,[65]]]],[392,[[526,[65]]]],[393,[[526,[65]]]],[394,[[526,[65]]]],[395,[[526,[65]]]],[396,[[526,[65]]]],[397,[[526,[65]]]],[398,[[526,[65]]]],[399,[[526,[65]]]],[400,[[526,[65]]]],[401,[[526,[65]]]],[402,[[526,[65]]]],[403,[[526,[65]]]],[404,[[526,[65]]]],[405,[[526,[65]]]],[406,[[526,[65]]]],[407,[[526,[65]]]],[408,[[526,[65]]]],[409,[[526,[65]]]],[410,[[526,[65]]]],[411,[[526,[65]]]],[412,[[526,[65]]]],[413,[[526,[65]]]],[414,[[526,[65]]]],[415,[[526,[65]]]],[416,[[526,[65]]]],[417,[[526,[65]]]],[418,[[526,[65]]]],[419,[[526,[65]]]],[420,[[526,[65]]]],[421,[[526,[65]]]],[422,[[526,[65]]]],[423,[[526,[65]]]],[424,[[526,[65]]]],[425,[[526,[65]]]],[426,[[526,[65]]]],[427,[[526,[65]]]],[428,[[526,[65]]]],[429,[[526,[65]]]],[430,[[526,[65]]]],[431,[[526,[65]]]],[432,[[526,[65]]]],[433,[[526,[65]]]],[434,[[526,[65]]]],[435,[[526,[65]]]],[436,[[526,[65]]]],[437,[[526,[65]]]],[438,[[526,[65]]]],[439,[[526,[65]]]],[440,[[526,[65]]]],[441,[[526,[65]]]],[442,[[526,[65]]]],[443,[[526,[65]]]],[444,[[526,[65]]]],[445,[[526,[65]]]],[446,[[526,[65]]]],[447,[[526,[65]]]],[448,[[526,[65]]]],[449,[[526,[65]]]],[450,[[526,[65]]]],[451,[[526,[65]]]],[452,[[526,[65]]]],[453,[[526,[65]]]],[454,[[526,[65]]]],[455,[[526,[65]]]],[456,[[526,[65]]]],[457,[[526,[65]]]],[458,[[526,[65]]]],[459,[[526,[65]]]],[460,[[526,[65]]]],[461,[[526,[65]]]],[462,[[526,[65]]]],[463,[[526,[65]]]],[464,[[526,[65]]]],[465,[[526,[65]]]],[466,[[526,[65]]]],[467,[[526,[65]]]],[468,[[526,[65]]]],[469,[[526,[65]]]],[470,[[526,[65]]]],[471,[[526,[65]]]],[472,[[526,[65]]]],[473,[[526,[65]]]],[474,[[526,[65]]]],[475,[[526,[65]]]],[476,[[526,[65]]]],[477,[[526,[65]]]],[478,[[526,[65]]]],[479,[[526,[65]]]],[480,[[526,[65]]]],[481,[[526,[65]]]],[482,[[526,[65]]]],[483,[[526,[65]]]],[484,[[526,[65]]]],[485,[[526,[65]]]],[486,[[526,[65]]]],[487,[[526,[65]]]],[488,[[526,[65]]]],[489,[[526,[65]]]],[490,[[526,[65]]]],[491,[[526,[65]]]],[492,[[526,[65]]]],[493,[[526,[65]]]],[494,[[526,[65]]]],[495,[[526,[65]]]],[496,[[526,[65]]]],[497,[[526,[65]]]],[498,[[526,[65]]]],[499,[[526,[65]]]],[500,[[526,[65]]]],[501,[[526,[65]]]],[502,[[526,[65]]]],[503,[[526,[65]]]],[504,[[526,[65]]]],[505,[[526,[65]]]],[506,[[526,[65]]]],[507,[[526,[65]]]],[508,[[526,[65]]]],[509,[[526,[65]]]],[510,[[526,[65]]]],[511,[[526,[65]]]],[512,[[526,[65]]]],[513,[[526,[65]]]],[514,[[526,[65]]]],[515,[[526,[65]]]],[516,[[526,[65]]]],[517,[[526,[65]]]],[518,[[526,[65]]]],[519,[[526,[65]]]],[520,[[526,[65]]]],[521,[[526,[65]]]],[522,[[526,[65]]]],[523,[[526,[65]]]],[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],0,0,0,0,0,0,0,0,0,0,0,[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[529,[[530,[10]]]],[[529,26],[[17,[10]]]],[529,531],[529,532],[529,533],[529,534],[529,534],[529,527],[529,535],[529,2],[529,15],[529,15],[529,65],[529,10],[-1,-2,[],[]],[[[17,[10]]],529],[529,[[17,[10]]]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,31,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-2,[],[]],[536,20],[536,26],[[[17,[10]]],536],[[536,531],9],[[536,532],9],[[536,533],9],[[536,534],9],[[536,534],9],[[536,527],9],[[536,535],9],[[536,[17,[10]]],9],[[536,2],9],[[536,15],9],[[536,15],9],[[536,65],9],[[536,10],9],[536,26],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,31,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],537],[[],538],[[],539],[[],540],[[],541],[[],542],[[],543],[[],544],[[],545],[[],546],[[],547],[[],548],[[],549],[[],550],[[],551],[[],552],[[],553],[[],554],[[],555],[[],556],[[],557],[[],558],[[],559],[[],560],[[],561],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],0,0,[537,2],[538,15],[539,2],[540,2],[541,2],[542,15],[543,15],[544,10],[545,2],[546,65],[547,15],[548,10],[549,15],[550,2],[551,2],[552,10],[553,2],[554,65],[555,2],[556,15],[557,10],[558,2],[559,2],[560,15],[561,10],[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[562,562],[563,563],[564,564],[565,565],[566,566],[567,567],[568,568],[569,569],[570,570],[571,571],[572,572],[573,573],[574,574],[575,575],[576,576],[577,577],[578,578],[579,579],[580,580],[581,581],[582,582],[583,583],[584,584],[585,585],[586,586],[587,587],[588,588],[589,589],[590,590],[591,591],[592,592],[593,593],[594,594],[595,595],[596,596],[597,597],[598,598],[599,599],[600,600],[601,601],[602,602],[603,603],[604,604],[605,605],[606,606],[607,607],[608,608],[609,609],[610,610],[611,611],[612,612],[613,613],[614,614],[615,615],[616,616],[617,617],[618,618],[619,619],[620,620],[621,621],[622,622],[623,623],[624,624],[625,625],[626,626],[627,627],[628,628],[629,629],[630,630],[631,631],[632,632],[633,633],[634,634],[635,635],[636,636],[637,637],[638,638],[639,639],[640,640],[641,641],[642,642],[643,643],[644,644],[645,645],[646,646],[647,647],[648,648],[649,649],[650,650],[651,651],[652,652],[653,653],[654,654],[655,655],[656,656],[657,657],[658,658],[659,659],[660,660],[661,661],[662,662],[663,663],[664,664],[665,665],[666,666],[667,667],[668,668],[669,669],[670,670],[671,671],[672,672],[673,673],[674,674],[675,675],[676,676],[677,677],[678,678],[679,679],[680,680],[681,681],[682,682],[683,683],[684,684],[685,685],[686,686],[687,687],[688,688],[689,689],[690,690],[691,691],[692,692],[693,693],[694,694],[695,695],[696,696],[697,697],[698,698],[699,699],[700,700],[701,701],[702,702],[703,703],[704,704],[705,705],[706,706],[707,707],[708,708],[709,709],[710,710],[711,711],[712,712],[713,713],[714,714],[715,715],[716,716],[717,717],[718,718],[719,719],[720,720],[721,721],[722,722],[723,723],[724,724],[725,725],[726,726],[727,727],[728,728],[729,729],[730,730],[731,731],[732,732],[733,733],[734,734],[735,735],[736,736],[737,737],[738,738],[739,739],[740,740],[741,741],[742,742],[743,743],[744,744],[745,745],[746,746],[747,747],[748,748],[749,749],[750,750],[751,751],[752,752],[753,753],[754,754],[755,755],[756,756],[757,757],[758,758],[759,759],[760,760],[761,761],[762,762],[763,763],[764,764],[765,765],[766,766],[767,767],[768,768],[769,769],[770,770],[771,771],[772,772],[773,773],[774,774],[775,775],[776,776],[777,777],[778,778],[779,779],[780,780],[781,781],[782,782],[783,783],[537,537],[784,784],[538,538],[785,785],[786,786],[787,787],[788,788],[789,789],[790,790],[791,791],[792,792],[793,793],[539,539],[794,794],[795,795],[796,796],[797,797],[798,798],[799,799],[800,800],[801,801],[802,802],[803,803],[804,804],[805,805],[540,540],[806,806],[541,541],[807,807],[808,808],[542,542],[809,809],[810,810],[811,811],[812,812],[813,813],[814,814],[543,543],[815,815],[816,816],[817,817],[818,818],[819,819],[544,544],[545,545],[820,820],[821,821],[822,822],[823,823],[824,824],[546,546],[825,825],[826,826],[547,547],[827,827],[548,548],[828,828],[829,829],[830,830],[831,831],[832,832],[549,549],[833,833],[550,550],[834,834],[551,551],[835,835],[552,552],[836,836],[837,837],[838,838],[839,839],[840,840],[553,553],[841,841],[842,842],[843,843],[844,844],[845,845],[846,846],[847,847],[848,848],[849,849],[850,850],[851,851],[852,852],[853,853],[854,854],[554,554],[855,855],[856,856],[555,555],[857,857],[858,858],[556,556],[557,557],[859,859],[860,860],[861,861],[862,862],[863,863],[864,864],[865,865],[558,558],[866,866],[867,867],[868,868],[869,869],[870,870],[871,871],[872,872],[873,873],[874,874],[875,875],[876,876],[877,877],[878,878],[559,559],[879,879],[880,880],[881,881],[882,882],[883,883],[884,884],[560,560],[885,885],[886,886],[887,887],[561,561],[888,888],[889,889],[890,890],[891,891],[892,892],[893,893],[894,894],[895,895],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[537,537],524],[[538,538],524],[[539,539],524],[[540,540],524],[[541,541],524],[[542,542],524],[[543,543],524],[[544,544],524],[[545,545],524],[[546,546],524],[[547,547],524],[[548,548],524],[[549,549],524],[[550,550],524],[[551,551],524],[[552,552],524],[[553,553],524],[[554,554],524],[[555,555],524],[[556,556],524],[[557,557],524],[[558,558],524],[[559,559],524],[[560,560],524],[[561,561],524],0,0,0,0,0,0,0,0,0,0,0,0,[537,537],[538,538],[539,539],[540,540],[541,541],[542,542],[543,543],[544,544],[545,545],[546,546],[547,547],[548,548],[549,549],[550,550],[551,551],[552,552],[553,553],[554,554],[555,555],[556,556],[557,557],[558,558],[559,559],[560,560],[561,561],0,0,[[537,537],20],[[538,538],20],[[539,539],20],[[540,540],20],[[541,541],20],[[542,542],20],[[543,543],20],[[544,544],20],[[545,545],20],[[546,546],20],[[547,547],20],[[548,548],20],[[549,549],20],[[550,550],20],[[551,551],20],[[552,552],20],[[553,553],20],[[554,554],20],[[555,555],20],[[556,556],20],[[557,557],20],[[558,558],20],[[559,559],20],[[560,560],20],[[561,561],20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],563],[[],564],[[],565],[[],566],[[],567],[[],568],[[],569],[[],570],[[],571],[[],572],[[],573],[[],574],[[],575],[[],576],[[],577],[[],578],[[],579],[[],580],[[],581],[[],582],[[],583],[[],584],[[],585],[[],586],[[],587],[[],588],[[],589],[[],590],[[],591],[[],592],[[],593],[[],594],[[],595],[[],596],[[],597],[[],598],[[],599],[[],600],[[],601],[[],602],[[],603],[[],604],[[],605],[[],606],[[],607],[[],608],[[],609],[[],610],[[],611],[[],612],[[],613],[[],614],[[],615],[[],616],[[],617],[[],618],[[],619],[[],620],[[],621],[[],622],[[],623],[[],624],[[],625],[[],626],[[],627],[[],628],[[],629],[[],630],[[],631],[[],632],[[],633],[[],634],[[],635],[[],636],[[],637],[[],638],[[],639],[[],640],[[],641],[[],642],[[],643],[[],644],[[],645],[[],646],[[],647],[[],648],[[],649],[[],650],[[],651],[[],652],[[],653],[[],654],[[],655],[[],656],[[],657],[[],658],[[],659],[[],660],[[],661],[[],662],[[],663],[[],664],[[],665],[[],666],[[],667],[[],668],[[],669],[[],670],[[],671],[[],672],[[],673],[[],674],[[],675],[[],676],[[],677],[[],678],[[],679],[[],680],[[],681],[[],682],[[],683],[[],684],[[],685],[[],686],[[],687],[[],688],[[],689],[[],690],[[],691],[[],692],[[],693],[[],694],[[],695],[[],696],[[],697],[[],698],[[],699],[[],700],[[],701],[[],702],[[],703],[[],704],[[],705],[[],706],[[],707],[[],708],[[],709],[[],710],[[],711],[[],712],[[],713],[[],714],[[],715],[[],716],[[],717],[[],718],[[],719],[[],720],[[],721],[[],722],[[],723],[[],724],[[],725],[[],726],[[],727],[[],728],[[],729],[[],730],[[],731],[[],732],[[],733],[[],734],[[],735],[[],736],[[],737],[[],738],[[],739],[[],740],[[],741],[[],742],[[],743],[[],744],[[],745],[[],746],[[],747],[[],748],[[],749],[[],750],[[],751],[[],752],[[],753],[[],754],[[],755],[[],756],[[],757],[[],758],[[],759],[[],760],[[],761],[[],762],[[],763],[[],764],[[],765],[[],766],[[],767],[[],768],[[],769],[[],770],[[],771],[[],772],[[],773],[[],774],[[],775],[[],776],[[],777],[[],778],[[],779],[[],780],[[],781],[[],782],[[],783],[[],537],[[],784],[[],538],[[],785],[[],786],[[],787],[[],788],[[],789],[[],790],[[],791],[[],792],[[],793],[[],539],[[],794],[[],795],[[],796],[[],797],[[],798],[[],799],[[],800],[[],801],[[],802],[[],803],[[],804],[[],805],[[],540],[[],806],[[],541],[[],807],[[],808],[[],542],[[],809],[[],810],[[],811],[[],812],[[],813],[[],814],[[],543],[[],815],[[],816],[[],817],[[],818],[[],819],[[],544],[[],545],[[],820],[[],821],[[],822],[[],823],[[],824],[[],546],[[],825],[[],826],[[],547],[[],827],[[],548],[[],828],[[],829],[[],830],[[],831],[[],832],[[],549],[[],833],[[],550],[[],834],[[],551],[[],835],[[],552],[[],836],[[],837],[[],838],[[],839],[[],840],[[],553],[[],841],[[],842],[[],843],[[],844],[[],845],[[],846],[[],847],[[],848],[[],849],[[],850],[[],851],[[],852],[[],853],[[],854],[[],554],[[],855],[[],856],[[],555],[[],857],[[],858],[[],556],[[],557],[[],859],[[],860],[[],861],[[],862],[[],863],[[],864],[[],865],[[],558],[[],866],[[],867],[[],868],[[],869],[[],870],[[],871],[[],872],[[],873],[[],874],[[],875],[[],876],[[],877],[[],878],[[],559],[[],879],[[],880],[[],881],[[],882],[[],883],[[],884],[[],560],[[],885],[[],886],[[],887],[[],561],[[],888],[[],889],[[],890],[[],891],[[],892],[[],893],[[],894],[[],895],[15,[[16,[562,11]]]],0,0,0,[[5,[17,[10]]],[[16,[563,18]]]],[[5,[17,[10]]],[[16,[564,18]]]],[[5,[17,[10]]],[[16,[565,18]]]],[[5,[17,[10]]],[[16,[566,18]]]],[[5,[17,[10]]],[[16,[567,18]]]],[[5,[17,[10]]],[[16,[568,18]]]],[[5,[17,[10]]],[[16,[569,18]]]],[[5,[17,[10]]],[[16,[570,18]]]],[[5,[17,[10]]],[[16,[571,18]]]],[[5,[17,[10]]],[[16,[572,18]]]],[[5,[17,[10]]],[[16,[573,18]]]],[[5,[17,[10]]],[[16,[574,18]]]],[[5,[17,[10]]],[[16,[575,18]]]],[[5,[17,[10]]],[[16,[576,18]]]],[[5,[17,[10]]],[[16,[577,18]]]],[[5,[17,[10]]],[[16,[578,18]]]],[[5,[17,[10]]],[[16,[579,18]]]],[[5,[17,[10]]],[[16,[580,18]]]],[[5,[17,[10]]],[[16,[581,18]]]],[[5,[17,[10]]],[[16,[582,18]]]],[[5,[17,[10]]],[[16,[583,18]]]],[[5,[17,[10]]],[[16,[584,18]]]],[[5,[17,[10]]],[[16,[585,18]]]],[[5,[17,[10]]],[[16,[586,18]]]],[[5,[17,[10]]],[[16,[587,18]]]],[[5,[17,[10]]],[[16,[588,18]]]],[[5,[17,[10]]],[[16,[589,18]]]],[[5,[17,[10]]],[[16,[590,18]]]],[[5,[17,[10]]],[[16,[591,18]]]],[[5,[17,[10]]],[[16,[592,18]]]],[[5,[17,[10]]],[[16,[593,18]]]],[[5,[17,[10]]],[[16,[594,18]]]],[[5,[17,[10]]],[[16,[595,18]]]],[[5,[17,[10]]],[[16,[596,18]]]],[[5,[17,[10]]],[[16,[597,18]]]],[[5,[17,[10]]],[[16,[598,18]]]],[[5,[17,[10]]],[[16,[599,18]]]],[[5,[17,[10]]],[[16,[600,18]]]],[[5,[17,[10]]],[[16,[601,18]]]],[[5,[17,[10]]],[[16,[602,18]]]],[[5,[17,[10]]],[[16,[603,18]]]],[[5,[17,[10]]],[[16,[604,18]]]],[[5,[17,[10]]],[[16,[605,18]]]],[[5,[17,[10]]],[[16,[606,18]]]],[[5,[17,[10]]],[[16,[607,18]]]],[[5,[17,[10]]],[[16,[608,18]]]],[[5,[17,[10]]],[[16,[609,18]]]],[[5,[17,[10]]],[[16,[610,18]]]],[[5,[17,[10]]],[[16,[611,18]]]],[[5,[17,[10]]],[[16,[612,18]]]],[[5,[17,[10]]],[[16,[613,18]]]],[[5,[17,[10]]],[[16,[614,18]]]],[[5,[17,[10]]],[[16,[615,18]]]],[[5,[17,[10]]],[[16,[616,18]]]],[[5,[17,[10]]],[[16,[617,18]]]],[[5,[17,[10]]],[[16,[618,18]]]],[[5,[17,[10]]],[[16,[619,18]]]],[[5,[17,[10]]],[[16,[620,18]]]],[[5,[17,[10]]],[[16,[621,18]]]],[[5,[17,[10]]],[[16,[622,18]]]],[[5,[17,[10]]],[[16,[623,18]]]],[[5,[17,[10]]],[[16,[624,18]]]],[[5,[17,[10]]],[[16,[625,18]]]],[[5,[17,[10]]],[[16,[626,18]]]],[[5,[17,[10]]],[[16,[627,18]]]],[[5,[17,[10]]],[[16,[628,18]]]],[[5,[17,[10]]],[[16,[629,18]]]],[[5,[17,[10]]],[[16,[630,18]]]],[[5,[17,[10]]],[[16,[631,18]]]],[[5,[17,[10]]],[[16,[632,18]]]],[[5,[17,[10]]],[[16,[633,18]]]],[[5,[17,[10]]],[[16,[634,18]]]],[[5,[17,[10]]],[[16,[635,18]]]],[[5,[17,[10]]],[[16,[636,18]]]],[[5,[17,[10]]],[[16,[637,18]]]],[[5,[17,[10]]],[[16,[638,18]]]],[[5,[17,[10]]],[[16,[639,18]]]],[[5,[17,[10]]],[[16,[640,18]]]],[[5,[17,[10]]],[[16,[641,18]]]],[[5,[17,[10]]],[[16,[642,18]]]],[[5,[17,[10]]],[[16,[643,18]]]],[[5,[17,[10]]],[[16,[644,18]]]],[[5,[17,[10]]],[[16,[645,18]]]],[[5,[17,[10]]],[[16,[646,18]]]],[[5,[17,[10]]],[[16,[647,18]]]],[[5,[17,[10]]],[[16,[648,18]]]],[[5,[17,[10]]],[[16,[649,18]]]],[[5,[17,[10]]],[[16,[650,18]]]],[[5,[17,[10]]],[[16,[651,18]]]],[[5,[17,[10]]],[[16,[652,18]]]],[[5,[17,[10]]],[[16,[653,18]]]],[[5,[17,[10]]],[[16,[654,18]]]],[[5,[17,[10]]],[[16,[655,18]]]],[[5,[17,[10]]],[[16,[656,18]]]],[[5,[17,[10]]],[[16,[657,18]]]],[[5,[17,[10]]],[[16,[658,18]]]],[[5,[17,[10]]],[[16,[659,18]]]],[[5,[17,[10]]],[[16,[660,18]]]],[[5,[17,[10]]],[[16,[661,18]]]],[[5,[17,[10]]],[[16,[662,18]]]],[[5,[17,[10]]],[[16,[663,18]]]],[[5,[17,[10]]],[[16,[664,18]]]],[[5,[17,[10]]],[[16,[665,18]]]],[[5,[17,[10]]],[[16,[666,18]]]],[[5,[17,[10]]],[[16,[667,18]]]],[[5,[17,[10]]],[[16,[668,18]]]],[[5,[17,[10]]],[[16,[669,18]]]],[[5,[17,[10]]],[[16,[670,18]]]],[[5,[17,[10]]],[[16,[671,18]]]],[[5,[17,[10]]],[[16,[672,18]]]],[[5,[17,[10]]],[[16,[673,18]]]],[[5,[17,[10]]],[[16,[674,18]]]],[[5,[17,[10]]],[[16,[675,18]]]],[[5,[17,[10]]],[[16,[676,18]]]],[[5,[17,[10]]],[[16,[677,18]]]],[[5,[17,[10]]],[[16,[678,18]]]],[[5,[17,[10]]],[[16,[679,18]]]],[[5,[17,[10]]],[[16,[680,18]]]],[[5,[17,[10]]],[[16,[681,18]]]],[[5,[17,[10]]],[[16,[682,18]]]],[[5,[17,[10]]],[[16,[683,18]]]],[[5,[17,[10]]],[[16,[684,18]]]],[[5,[17,[10]]],[[16,[685,18]]]],[[5,[17,[10]]],[[16,[686,18]]]],[[5,[17,[10]]],[[16,[687,18]]]],[[5,[17,[10]]],[[16,[688,18]]]],[[5,[17,[10]]],[[16,[689,18]]]],[[5,[17,[10]]],[[16,[690,18]]]],[[5,[17,[10]]],[[16,[691,18]]]],[[5,[17,[10]]],[[16,[692,18]]]],[[5,[17,[10]]],[[16,[693,18]]]],[[5,[17,[10]]],[[16,[694,18]]]],[[5,[17,[10]]],[[16,[695,18]]]],[[5,[17,[10]]],[[16,[696,18]]]],[[5,[17,[10]]],[[16,[697,18]]]],[[5,[17,[10]]],[[16,[698,18]]]],[[5,[17,[10]]],[[16,[699,18]]]],[[5,[17,[10]]],[[16,[700,18]]]],[[5,[17,[10]]],[[16,[701,18]]]],[[5,[17,[10]]],[[16,[702,18]]]],[[5,[17,[10]]],[[16,[703,18]]]],[[5,[17,[10]]],[[16,[704,18]]]],[[5,[17,[10]]],[[16,[705,18]]]],[[5,[17,[10]]],[[16,[706,18]]]],[[5,[17,[10]]],[[16,[707,18]]]],[[5,[17,[10]]],[[16,[708,18]]]],[[5,[17,[10]]],[[16,[709,18]]]],[[5,[17,[10]]],[[16,[710,18]]]],[[5,[17,[10]]],[[16,[711,18]]]],[[5,[17,[10]]],[[16,[712,18]]]],[[5,[17,[10]]],[[16,[713,18]]]],[[5,[17,[10]]],[[16,[714,18]]]],[[5,[17,[10]]],[[16,[715,18]]]],[[5,[17,[10]]],[[16,[716,18]]]],[[5,[17,[10]]],[[16,[717,18]]]],[[5,[17,[10]]],[[16,[718,18]]]],[[5,[17,[10]]],[[16,[719,18]]]],[[5,[17,[10]]],[[16,[720,18]]]],[[5,[17,[10]]],[[16,[721,18]]]],[[5,[17,[10]]],[[16,[722,18]]]],[[5,[17,[10]]],[[16,[723,18]]]],[[5,[17,[10]]],[[16,[724,18]]]],[[5,[17,[10]]],[[16,[725,18]]]],[[5,[17,[10]]],[[16,[726,18]]]],[[5,[17,[10]]],[[16,[727,18]]]],[[5,[17,[10]]],[[16,[728,18]]]],[[5,[17,[10]]],[[16,[729,18]]]],[[5,[17,[10]]],[[16,[730,18]]]],[[5,[17,[10]]],[[16,[731,18]]]],[[5,[17,[10]]],[[16,[732,18]]]],[[5,[17,[10]]],[[16,[733,18]]]],[[5,[17,[10]]],[[16,[734,18]]]],[[5,[17,[10]]],[[16,[735,18]]]],[[5,[17,[10]]],[[16,[736,18]]]],[[5,[17,[10]]],[[16,[737,18]]]],[[5,[17,[10]]],[[16,[738,18]]]],[[5,[17,[10]]],[[16,[739,18]]]],[[5,[17,[10]]],[[16,[740,18]]]],[[5,[17,[10]]],[[16,[741,18]]]],[[5,[17,[10]]],[[16,[742,18]]]],[[5,[17,[10]]],[[16,[743,18]]]],[[5,[17,[10]]],[[16,[744,18]]]],[[5,[17,[10]]],[[16,[745,18]]]],[[5,[17,[10]]],[[16,[746,18]]]],[[5,[17,[10]]],[[16,[747,18]]]],[[5,[17,[10]]],[[16,[748,18]]]],[[5,[17,[10]]],[[16,[749,18]]]],[[5,[17,[10]]],[[16,[750,18]]]],[[5,[17,[10]]],[[16,[751,18]]]],[[5,[17,[10]]],[[16,[752,18]]]],[[5,[17,[10]]],[[16,[753,18]]]],[[5,[17,[10]]],[[16,[754,18]]]],[[5,[17,[10]]],[[16,[755,18]]]],[[5,[17,[10]]],[[16,[756,18]]]],[[5,[17,[10]]],[[16,[757,18]]]],[[5,[17,[10]]],[[16,[758,18]]]],[[5,[17,[10]]],[[16,[759,18]]]],[[5,[17,[10]]],[[16,[760,18]]]],[[5,[17,[10]]],[[16,[761,18]]]],[[5,[17,[10]]],[[16,[762,18]]]],[[5,[17,[10]]],[[16,[763,18]]]],[[5,[17,[10]]],[[16,[764,18]]]],[[5,[17,[10]]],[[16,[765,18]]]],[[5,[17,[10]]],[[16,[766,18]]]],[[5,[17,[10]]],[[16,[767,18]]]],[[5,[17,[10]]],[[16,[768,18]]]],[[5,[17,[10]]],[[16,[769,18]]]],[[5,[17,[10]]],[[16,[770,18]]]],[[5,[17,[10]]],[[16,[771,18]]]],[[5,[17,[10]]],[[16,[772,18]]]],[[5,[17,[10]]],[[16,[773,18]]]],[[5,[17,[10]]],[[16,[774,18]]]],[[5,[17,[10]]],[[16,[775,18]]]],[[5,[17,[10]]],[[16,[776,18]]]],[[5,[17,[10]]],[[16,[777,18]]]],[[5,[17,[10]]],[[16,[778,18]]]],[[5,[17,[10]]],[[16,[779,18]]]],[[5,[17,[10]]],[[16,[780,18]]]],[[5,[17,[10]]],[[16,[781,18]]]],[[5,[17,[10]]],[[16,[782,18]]]],[[5,[17,[10]]],[[16,[783,18]]]],[-1,[[16,[562]]],19],[-1,[[16,[563]]],19],[-1,[[16,[564]]],19],[-1,[[16,[565]]],19],[-1,[[16,[566]]],19],[-1,[[16,[567]]],19],[-1,[[16,[568]]],19],[-1,[[16,[569]]],19],[-1,[[16,[570]]],19],[-1,[[16,[571]]],19],[-1,[[16,[572]]],19],[-1,[[16,[573]]],19],[-1,[[16,[574]]],19],[-1,[[16,[575]]],19],[-1,[[16,[576]]],19],[-1,[[16,[577]]],19],[-1,[[16,[578]]],19],[-1,[[16,[579]]],19],[-1,[[16,[580]]],19],[-1,[[16,[581]]],19],[-1,[[16,[582]]],19],[-1,[[16,[583]]],19],[-1,[[16,[584]]],19],[-1,[[16,[585]]],19],[-1,[[16,[586]]],19],[-1,[[16,[587]]],19],[-1,[[16,[588]]],19],[-1,[[16,[589]]],19],[-1,[[16,[590]]],19],[-1,[[16,[591]]],19],[-1,[[16,[592]]],19],[-1,[[16,[593]]],19],[-1,[[16,[594]]],19],[-1,[[16,[595]]],19],[-1,[[16,[596]]],19],[-1,[[16,[597]]],19],[-1,[[16,[598]]],19],[-1,[[16,[599]]],19],[-1,[[16,[600]]],19],[-1,[[16,[601]]],19],[-1,[[16,[602]]],19],[-1,[[16,[603]]],19],[-1,[[16,[604]]],19],[-1,[[16,[605]]],19],[-1,[[16,[606]]],19],[-1,[[16,[607]]],19],[-1,[[16,[608]]],19],[-1,[[16,[609]]],19],[-1,[[16,[610]]],19],[-1,[[16,[611]]],19],[-1,[[16,[612]]],19],[-1,[[16,[613]]],19],[-1,[[16,[614]]],19],[-1,[[16,[615]]],19],[-1,[[16,[616]]],19],[-1,[[16,[617]]],19],[-1,[[16,[618]]],19],[-1,[[16,[619]]],19],[-1,[[16,[620]]],19],[-1,[[16,[621]]],19],[-1,[[16,[622]]],19],[-1,[[16,[623]]],19],[-1,[[16,[624]]],19],[-1,[[16,[625]]],19],[-1,[[16,[626]]],19],[-1,[[16,[627]]],19],[-1,[[16,[628]]],19],[-1,[[16,[629]]],19],[-1,[[16,[630]]],19],[-1,[[16,[631]]],19],[-1,[[16,[632]]],19],[-1,[[16,[633]]],19],[-1,[[16,[634]]],19],[-1,[[16,[635]]],19],[-1,[[16,[636]]],19],[-1,[[16,[637]]],19],[-1,[[16,[638]]],19],[-1,[[16,[639]]],19],[-1,[[16,[640]]],19],[-1,[[16,[641]]],19],[-1,[[16,[642]]],19],[-1,[[16,[643]]],19],[-1,[[16,[644]]],19],[-1,[[16,[645]]],19],[-1,[[16,[646]]],19],[-1,[[16,[647]]],19],[-1,[[16,[648]]],19],[-1,[[16,[649]]],19],[-1,[[16,[650]]],19],[-1,[[16,[651]]],19],[-1,[[16,[652]]],19],[-1,[[16,[653]]],19],[-1,[[16,[654]]],19],[-1,[[16,[655]]],19],[-1,[[16,[656]]],19],[-1,[[16,[657]]],19],[-1,[[16,[658]]],19],[-1,[[16,[659]]],19],[-1,[[16,[660]]],19],[-1,[[16,[661]]],19],[-1,[[16,[662]]],19],[-1,[[16,[663]]],19],[-1,[[16,[664]]],19],[-1,[[16,[665]]],19],[-1,[[16,[666]]],19],[-1,[[16,[667]]],19],[-1,[[16,[668]]],19],[-1,[[16,[669]]],19],[-1,[[16,[670]]],19],[-1,[[16,[671]]],19],[-1,[[16,[672]]],19],[-1,[[16,[673]]],19],[-1,[[16,[674]]],19],[-1,[[16,[675]]],19],[-1,[[16,[676]]],19],[-1,[[16,[677]]],19],[-1,[[16,[678]]],19],[-1,[[16,[679]]],19],[-1,[[16,[680]]],19],[-1,[[16,[681]]],19],[-1,[[16,[682]]],19],[-1,[[16,[683]]],19],[-1,[[16,[684]]],19],[-1,[[16,[685]]],19],[-1,[[16,[686]]],19],[-1,[[16,[687]]],19],[-1,[[16,[688]]],19],[-1,[[16,[689]]],19],[-1,[[16,[690]]],19],[-1,[[16,[691]]],19],[-1,[[16,[692]]],19],[-1,[[16,[693]]],19],[-1,[[16,[694]]],19],[-1,[[16,[695]]],19],[-1,[[16,[696]]],19],[-1,[[16,[697]]],19],[-1,[[16,[698]]],19],[-1,[[16,[699]]],19],[-1,[[16,[700]]],19],[-1,[[16,[701]]],19],[-1,[[16,[702]]],19],[-1,[[16,[703]]],19],[-1,[[16,[704]]],19],[-1,[[16,[705]]],19],[-1,[[16,[706]]],19],[-1,[[16,[707]]],19],[-1,[[16,[708]]],19],[-1,[[16,[709]]],19],[-1,[[16,[710]]],19],[-1,[[16,[711]]],19],[-1,[[16,[712]]],19],[-1,[[16,[713]]],19],[-1,[[16,[714]]],19],[-1,[[16,[715]]],19],[-1,[[16,[716]]],19],[-1,[[16,[717]]],19],[-1,[[16,[718]]],19],[-1,[[16,[719]]],19],[-1,[[16,[720]]],19],[-1,[[16,[721]]],19],[-1,[[16,[722]]],19],[-1,[[16,[723]]],19],[-1,[[16,[724]]],19],[-1,[[16,[725]]],19],[-1,[[16,[726]]],19],[-1,[[16,[727]]],19],[-1,[[16,[728]]],19],[-1,[[16,[729]]],19],[-1,[[16,[730]]],19],[-1,[[16,[731]]],19],[-1,[[16,[732]]],19],[-1,[[16,[733]]],19],[-1,[[16,[734]]],19],[-1,[[16,[735]]],19],[-1,[[16,[736]]],19],[-1,[[16,[737]]],19],[-1,[[16,[738]]],19],[-1,[[16,[739]]],19],[-1,[[16,[740]]],19],[-1,[[16,[741]]],19],[-1,[[16,[742]]],19],[-1,[[16,[743]]],19],[-1,[[16,[744]]],19],[-1,[[16,[745]]],19],[-1,[[16,[746]]],19],[-1,[[16,[747]]],19],[-1,[[16,[748]]],19],[-1,[[16,[749]]],19],[-1,[[16,[750]]],19],[-1,[[16,[751]]],19],[-1,[[16,[752]]],19],[-1,[[16,[753]]],19],[-1,[[16,[754]]],19],[-1,[[16,[755]]],19],[-1,[[16,[756]]],19],[-1,[[16,[757]]],19],[-1,[[16,[758]]],19],[-1,[[16,[759]]],19],[-1,[[16,[760]]],19],[-1,[[16,[761]]],19],[-1,[[16,[762]]],19],[-1,[[16,[763]]],19],[-1,[[16,[764]]],19],[-1,[[16,[765]]],19],[-1,[[16,[766]]],19],[-1,[[16,[767]]],19],[-1,[[16,[768]]],19],[-1,[[16,[769]]],19],[-1,[[16,[770]]],19],[-1,[[16,[771]]],19],[-1,[[16,[772]]],19],[-1,[[16,[773]]],19],[-1,[[16,[774]]],19],[-1,[[16,[775]]],19],[-1,[[16,[776]]],19],[-1,[[16,[777]]],19],[-1,[[16,[778]]],19],[-1,[[16,[779]]],19],[-1,[[16,[780]]],19],[-1,[[16,[781]]],19],[-1,[[16,[782]]],19],[-1,[[16,[783]]],19],[-1,[[16,[537]]],19],[-1,[[16,[784]]],19],[-1,[[16,[538]]],19],[-1,[[16,[785]]],19],[-1,[[16,[786]]],19],[-1,[[16,[787]]],19],[-1,[[16,[788]]],19],[-1,[[16,[789]]],19],[-1,[[16,[790]]],19],[-1,[[16,[791]]],19],[-1,[[16,[792]]],19],[-1,[[16,[793]]],19],[-1,[[16,[539]]],19],[-1,[[16,[794]]],19],[-1,[[16,[795]]],19],[-1,[[16,[796]]],19],[-1,[[16,[797]]],19],[-1,[[16,[798]]],19],[-1,[[16,[799]]],19],[-1,[[16,[800]]],19],[-1,[[16,[801]]],19],[-1,[[16,[802]]],19],[-1,[[16,[803]]],19],[-1,[[16,[804]]],19],[-1,[[16,[805]]],19],[-1,[[16,[540]]],19],[-1,[[16,[806]]],19],[-1,[[16,[541]]],19],[-1,[[16,[807]]],19],[-1,[[16,[808]]],19],[-1,[[16,[542]]],19],[-1,[[16,[809]]],19],[-1,[[16,[810]]],19],[-1,[[16,[811]]],19],[-1,[[16,[812]]],19],[-1,[[16,[813]]],19],[-1,[[16,[814]]],19],[-1,[[16,[543]]],19],[-1,[[16,[815]]],19],[-1,[[16,[816]]],19],[-1,[[16,[817]]],19],[-1,[[16,[818]]],19],[-1,[[16,[819]]],19],[-1,[[16,[544]]],19],[-1,[[16,[545]]],19],[-1,[[16,[820]]],19],[-1,[[16,[821]]],19],[-1,[[16,[822]]],19],[-1,[[16,[823]]],19],[-1,[[16,[824]]],19],[-1,[[16,[546]]],19],[-1,[[16,[825]]],19],[-1,[[16,[826]]],19],[-1,[[16,[547]]],19],[-1,[[16,[827]]],19],[-1,[[16,[548]]],19],[-1,[[16,[828]]],19],[-1,[[16,[829]]],19],[-1,[[16,[830]]],19],[-1,[[16,[831]]],19],[-1,[[16,[832]]],19],[-1,[[16,[549]]],19],[-1,[[16,[833]]],19],[-1,[[16,[550]]],19],[-1,[[16,[834]]],19],[-1,[[16,[551]]],19],[-1,[[16,[835]]],19],[-1,[[16,[552]]],19],[-1,[[16,[836]]],19],[-1,[[16,[837]]],19],[-1,[[16,[838]]],19],[-1,[[16,[839]]],19],[-1,[[16,[840]]],19],[-1,[[16,[553]]],19],[-1,[[16,[841]]],19],[-1,[[16,[842]]],19],[-1,[[16,[843]]],19],[-1,[[16,[844]]],19],[-1,[[16,[845]]],19],[-1,[[16,[846]]],19],[-1,[[16,[847]]],19],[-1,[[16,[848]]],19],[-1,[[16,[849]]],19],[-1,[[16,[850]]],19],[-1,[[16,[851]]],19],[-1,[[16,[852]]],19],[-1,[[16,[853]]],19],[-1,[[16,[854]]],19],[-1,[[16,[554]]],19],[-1,[[16,[855]]],19],[-1,[[16,[856]]],19],[-1,[[16,[555]]],19],[-1,[[16,[857]]],19],[-1,[[16,[858]]],19],[-1,[[16,[556]]],19],[-1,[[16,[557]]],19],[-1,[[16,[859]]],19],[-1,[[16,[860]]],19],[-1,[[16,[861]]],19],[-1,[[16,[862]]],19],[-1,[[16,[863]]],19],[-1,[[16,[864]]],19],[-1,[[16,[865]]],19],[-1,[[16,[558]]],19],[-1,[[16,[866]]],19],[-1,[[16,[867]]],19],[-1,[[16,[868]]],19],[-1,[[16,[869]]],19],[-1,[[16,[870]]],19],[-1,[[16,[871]]],19],[-1,[[16,[872]]],19],[-1,[[16,[873]]],19],[-1,[[16,[874]]],19],[-1,[[16,[875]]],19],[-1,[[16,[876]]],19],[-1,[[16,[877]]],19],[-1,[[16,[878]]],19],[-1,[[16,[559]]],19],[-1,[[16,[879]]],19],[-1,[[16,[880]]],19],[-1,[[16,[881]]],19],[-1,[[16,[882]]],19],[-1,[[16,[883]]],19],[-1,[[16,[884]]],19],[-1,[[16,[560]]],19],[-1,[[16,[885]]],19],[-1,[[16,[886]]],19],[-1,[[16,[887]]],19],[-1,[[16,[561]]],19],[-1,[[16,[888]]],19],[-1,[[16,[889]]],19],[-1,[[16,[890]]],19],[-1,[[16,[891]]],19],[-1,[[16,[892]]],19],[-1,[[16,[893]]],19],[-1,[[16,[894]]],19],[-1,[[16,[895]]],19],0,0,0,0,0,0,0,0,0,0,0,[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],537],[[],538],[[],539],[[],540],[[],541],[[],542],[[],543],[[],544],[[],545],[[],546],[[],547],[[],548],[[],549],[[],550],[[],551],[[],552],[[],553],[[],554],[[],555],[[],556],[[],557],[[],558],[[],559],[[],560],[[],561],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[562,562],20],[[563,563],20],[[564,564],20],[[565,565],20],[[566,566],20],[[567,567],20],[[568,568],20],[[569,569],20],[[570,570],20],[[571,571],20],[[572,572],20],[[573,573],20],[[574,574],20],[[575,575],20],[[576,576],20],[[577,577],20],[[578,578],20],[[579,579],20],[[580,580],20],[[581,581],20],[[582,582],20],[[583,583],20],[[584,584],20],[[585,585],20],[[586,586],20],[[587,587],20],[[588,588],20],[[589,589],20],[[590,590],20],[[591,591],20],[[592,592],20],[[593,593],20],[[594,594],20],[[595,595],20],[[596,596],20],[[597,597],20],[[598,598],20],[[599,599],20],[[600,600],20],[[601,601],20],[[602,602],20],[[603,603],20],[[604,604],20],[[605,605],20],[[606,606],20],[[607,607],20],[[608,608],20],[[609,609],20],[[610,610],20],[[611,611],20],[[612,612],20],[[613,613],20],[[614,614],20],[[615,615],20],[[616,616],20],[[617,617],20],[[618,618],20],[[619,619],20],[[620,620],20],[[621,621],20],[[622,622],20],[[623,623],20],[[624,624],20],[[625,625],20],[[626,626],20],[[627,627],20],[[628,628],20],[[629,629],20],[[630,630],20],[[631,631],20],[[632,632],20],[[633,633],20],[[634,634],20],[[635,635],20],[[636,636],20],[[637,637],20],[[638,638],20],[[639,639],20],[[640,640],20],[[641,641],20],[[642,642],20],[[643,643],20],[[644,644],20],[[645,645],20],[[646,646],20],[[647,647],20],[[648,648],20],[[649,649],20],[[650,650],20],[[651,651],20],[[652,652],20],[[653,653],20],[[654,654],20],[[655,655],20],[[656,656],20],[[657,657],20],[[658,658],20],[[659,659],20],[[660,660],20],[[661,661],20],[[662,662],20],[[663,663],20],[[664,664],20],[[665,665],20],[[666,666],20],[[667,667],20],[[668,668],20],[[669,669],20],[[670,670],20],[[671,671],20],[[672,672],20],[[673,673],20],[[674,674],20],[[675,675],20],[[676,676],20],[[677,677],20],[[678,678],20],[[679,679],20],[[680,680],20],[[681,681],20],[[682,682],20],[[683,683],20],[[684,684],20],[[685,685],20],[[686,686],20],[[687,687],20],[[688,688],20],[[689,689],20],[[690,690],20],[[691,691],20],[[692,692],20],[[693,693],20],[[694,694],20],[[695,695],20],[[696,696],20],[[697,697],20],[[698,698],20],[[699,699],20],[[700,700],20],[[701,701],20],[[702,702],20],[[703,703],20],[[704,704],20],[[705,705],20],[[706,706],20],[[707,707],20],[[708,708],20],[[709,709],20],[[710,710],20],[[711,711],20],[[712,712],20],[[713,713],20],[[714,714],20],[[715,715],20],[[716,716],20],[[717,717],20],[[718,718],20],[[719,719],20],[[720,720],20],[[721,721],20],[[722,722],20],[[723,723],20],[[724,724],20],[[725,725],20],[[726,726],20],[[727,727],20],[[728,728],20],[[729,729],20],[[730,730],20],[[731,731],20],[[732,732],20],[[733,733],20],[[734,734],20],[[735,735],20],[[736,736],20],[[737,737],20],[[738,738],20],[[739,739],20],[[740,740],20],[[741,741],20],[[742,742],20],[[743,743],20],[[744,744],20],[[745,745],20],[[746,746],20],[[747,747],20],[[748,748],20],[[749,749],20],[[750,750],20],[[751,751],20],[[752,752],20],[[753,753],20],[[754,754],20],[[755,755],20],[[756,756],20],[[757,757],20],[[758,758],20],[[759,759],20],[[760,760],20],[[761,761],20],[[762,762],20],[[763,763],20],[[764,764],20],[[765,765],20],[[766,766],20],[[767,767],20],[[768,768],20],[[769,769],20],[[770,770],20],[[771,771],20],[[772,772],20],[[773,773],20],[[774,774],20],[[775,775],20],[[776,776],20],[[777,777],20],[[778,778],20],[[779,779],20],[[780,780],20],[[781,781],20],[[782,782],20],[[783,783],20],[[537,537],20],[[784,784],20],[[538,538],20],[[785,785],20],[[786,786],20],[[787,787],20],[[788,788],20],[[789,789],20],[[790,790],20],[[791,791],20],[[792,792],20],[[793,793],20],[[539,539],20],[[794,794],20],[[795,795],20],[[796,796],20],[[797,797],20],[[798,798],20],[[799,799],20],[[800,800],20],[[801,801],20],[[802,802],20],[[803,803],20],[[804,804],20],[[805,805],20],[[540,540],20],[[806,806],20],[[541,541],20],[[807,807],20],[[808,808],20],[[542,542],20],[[809,809],20],[[810,810],20],[[811,811],20],[[812,812],20],[[813,813],20],[[814,814],20],[[543,543],20],[[815,815],20],[[816,816],20],[[817,817],20],[[818,818],20],[[819,819],20],[[544,544],20],[[545,545],20],[[820,820],20],[[821,821],20],[[822,822],20],[[823,823],20],[[824,824],20],[[546,546],20],[[825,825],20],[[826,826],20],[[547,547],20],[[827,827],20],[[548,548],20],[[828,828],20],[[829,829],20],[[830,830],20],[[831,831],20],[[832,832],20],[[549,549],20],[[833,833],20],[[550,550],20],[[834,834],20],[[551,551],20],[[835,835],20],[[552,552],20],[[836,836],20],[[837,837],20],[[838,838],20],[[839,839],20],[[840,840],20],[[553,553],20],[[841,841],20],[[842,842],20],[[843,843],20],[[844,844],20],[[845,845],20],[[846,846],20],[[847,847],20],[[848,848],20],[[849,849],20],[[850,850],20],[[851,851],20],[[852,852],20],[[853,853],20],[[854,854],20],[[554,554],20],[[855,855],20],[[856,856],20],[[555,555],20],[[857,857],20],[[858,858],20],[[556,556],20],[[557,557],20],[[859,859],20],[[860,860],20],[[861,861],20],[[862,862],20],[[863,863],20],[[864,864],20],[[865,865],20],[[558,558],20],[[866,866],20],[[867,867],20],[[868,868],20],[[869,869],20],[[870,870],20],[[871,871],20],[[872,872],20],[[873,873],20],[[874,874],20],[[875,875],20],[[876,876],20],[[877,877],20],[[878,878],20],[[559,559],20],[[879,879],20],[[880,880],20],[[881,881],20],[[882,882],20],[[883,883],20],[[884,884],20],[[560,560],20],[[885,885],20],[[886,886],20],[[887,887],20],[[561,561],20],[[888,888],20],[[889,889],20],[[890,890],20],[[891,891],20],[[892,892],20],[[893,893],20],[[894,894],20],[[895,895],20],0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,-1],9,525],[[538,-1],9,525],[[539,-1],9,525],[[540,-1],9,525],[[541,-1],9,525],[[542,-1],9,525],[[543,-1],9,525],[[544,-1],9,525],[[545,-1],9,525],[[546,-1],9,525],[[547,-1],9,525],[[548,-1],9,525],[[549,-1],9,525],[[550,-1],9,525],[[551,-1],9,525],[[552,-1],9,525],[[553,-1],9,525],[[554,-1],9,525],[[555,-1],9,525],[[556,-1],9,525],[[557,-1],9,525],[[558,-1],9,525],[[559,-1],9,525],[[560,-1],9,525],[[561,-1],9,525],[15,10],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[562,21],22],[[563,21],22],[[564,21],22],[[565,21],22],[[566,21],22],[[567,21],22],[[568,21],22],[[569,21],22],[[570,21],22],[[571,21],22],[[572,21],22],[[573,21],22],[[574,21],22],[[575,21],22],[[576,21],22],[[577,21],22],[[578,21],22],[[579,21],22],[[580,21],22],[[581,21],22],[[582,21],22],[[583,21],22],[[584,21],22],[[585,21],22],[[586,21],22],[[587,21],22],[[588,21],22],[[589,21],22],[[590,21],22],[[591,21],22],[[592,21],22],[[593,21],22],[[594,21],22],[[595,21],22],[[596,21],22],[[597,21],22],[[598,21],22],[[599,21],22],[[600,21],22],[[601,21],22],[[602,21],22],[[603,21],22],[[604,21],22],[[605,21],22],[[606,21],22],[[607,21],22],[[608,21],22],[[609,21],22],[[610,21],22],[[611,21],22],[[612,21],22],[[613,21],22],[[614,21],22],[[615,21],22],[[616,21],22],[[617,21],22],[[618,21],22],[[619,21],22],[[620,21],22],[[621,21],22],[[622,21],22],[[623,21],22],[[624,21],22],[[625,21],22],[[626,21],22],[[627,21],22],[[628,21],22],[[629,21],22],[[630,21],22],[[631,21],22],[[632,21],22],[[633,21],22],[[634,21],22],[[635,21],22],[[636,21],22],[[637,21],22],[[638,21],22],[[639,21],22],[[640,21],22],[[641,21],22],[[642,21],22],[[643,21],22],[[644,21],22],[[645,21],22],[[646,21],22],[[647,21],22],[[648,21],22],[[649,21],22],[[650,21],22],[[651,21],22],[[652,21],22],[[653,21],22],[[654,21],22],[[655,21],22],[[656,21],22],[[657,21],22],[[658,21],22],[[659,21],22],[[660,21],22],[[661,21],22],[[662,21],22],[[663,21],22],[[664,21],22],[[665,21],22],[[666,21],22],[[667,21],22],[[668,21],22],[[669,21],22],[[670,21],22],[[671,21],22],[[672,21],22],[[673,21],22],[[674,21],22],[[675,21],22],[[676,21],22],[[677,21],22],[[678,21],22],[[679,21],22],[[680,21],22],[[681,21],22],[[682,21],22],[[683,21],22],[[684,21],22],[[685,21],22],[[686,21],22],[[687,21],22],[[688,21],22],[[689,21],22],[[690,21],22],[[691,21],22],[[692,21],22],[[693,21],22],[[694,21],22],[[695,21],22],[[696,21],22],[[697,21],22],[[698,21],22],[[699,21],22],[[700,21],22],[[701,21],22],[[702,21],22],[[703,21],22],[[704,21],22],[[705,21],22],[[706,21],22],[[707,21],22],[[708,21],22],[[709,21],22],[[710,21],22],[[711,21],22],[[712,21],22],[[713,21],22],[[714,21],22],[[715,21],22],[[716,21],22],[[717,21],22],[[718,21],22],[[719,21],22],[[720,21],22],[[721,21],22],[[722,21],22],[[723,21],22],[[724,21],22],[[725,21],22],[[726,21],22],[[727,21],22],[[728,21],22],[[729,21],22],[[730,21],22],[[731,21],22],[[732,21],22],[[733,21],22],[[734,21],22],[[735,21],22],[[736,21],22],[[737,21],22],[[738,21],22],[[739,21],22],[[740,21],22],[[741,21],22],[[742,21],22],[[743,21],22],[[744,21],22],[[745,21],22],[[746,21],22],[[747,21],22],[[748,21],22],[[749,21],22],[[750,21],22],[[751,21],22],[[752,21],22],[[753,21],22],[[754,21],22],[[755,21],22],[[756,21],22],[[757,21],22],[[758,21],22],[[759,21],22],[[760,21],22],[[761,21],22],[[762,21],22],[[763,21],22],[[764,21],22],[[765,21],22],[[766,21],22],[[767,21],22],[[768,21],22],[[769,21],22],[[770,21],22],[[771,21],22],[[772,21],22],[[773,21],22],[[774,21],22],[[775,21],22],[[776,21],22],[[777,21],22],[[778,21],22],[[779,21],22],[[780,21],22],[[781,21],22],[[782,21],22],[[783,21],22],[[537,21],22],[[537,21],22],[[537,21],22],[[537,21],22],[[537,21],22],[[784,21],22],[[538,21],22],[[538,21],22],[[538,21],22],[[538,21],22],[[538,21],22],[[785,21],22],[[786,21],22],[[787,21],22],[[788,21],22],[[789,21],22],[[790,21],22],[[791,21],22],[[792,21],22],[[793,21],22],[[539,21],22],[[539,21],22],[[539,21],22],[[539,21],22],[[539,21],22],[[794,21],22],[[795,21],22],[[796,21],22],[[797,21],22],[[798,21],22],[[799,21],22],[[800,21],22],[[801,21],22],[[802,21],22],[[803,21],22],[[804,21],22],[[805,21],22],[[540,21],22],[[540,21],22],[[540,21],22],[[540,21],22],[[540,21],22],[[806,21],22],[[541,21],22],[[541,21],22],[[541,21],22],[[541,21],22],[[541,21],22],[[807,21],22],[[808,21],22],[[542,21],22],[[542,21],22],[[542,21],22],[[542,21],22],[[542,21],22],[[809,21],22],[[810,21],22],[[811,21],22],[[812,21],22],[[813,21],22],[[814,21],22],[[543,21],22],[[543,21],22],[[543,21],22],[[543,21],22],[[543,21],22],[[815,21],22],[[816,21],22],[[817,21],22],[[818,21],22],[[819,21],22],[[544,21],22],[[544,21],22],[[544,21],22],[[544,21],22],[[544,21],22],[[545,21],22],[[545,21],22],[[545,21],22],[[545,21],22],[[545,21],22],[[820,21],22],[[821,21],22],[[822,21],22],[[823,21],22],[[824,21],22],[[546,21],22],[[546,21],22],[[546,21],22],[[546,21],22],[[546,21],22],[[825,21],22],[[826,21],22],[[547,21],22],[[547,21],22],[[547,21],22],[[547,21],22],[[547,21],22],[[827,21],22],[[548,21],22],[[548,21],22],[[548,21],22],[[548,21],22],[[548,21],22],[[828,21],22],[[829,21],22],[[830,21],22],[[831,21],22],[[832,21],22],[[549,21],22],[[549,21],22],[[549,21],22],[[549,21],22],[[549,21],22],[[833,21],22],[[550,21],22],[[550,21],22],[[550,21],22],[[550,21],22],[[550,21],22],[[834,21],22],[[551,21],22],[[551,21],22],[[551,21],22],[[551,21],22],[[551,21],22],[[835,21],22],[[552,21],22],[[552,21],22],[[552,21],22],[[552,21],22],[[552,21],22],[[836,21],22],[[837,21],22],[[838,21],22],[[839,21],22],[[840,21],22],[[553,21],22],[[553,21],22],[[553,21],22],[[553,21],22],[[553,21],22],[[841,21],22],[[842,21],22],[[843,21],22],[[844,21],22],[[845,21],22],[[846,21],22],[[847,21],22],[[848,21],22],[[849,21],22],[[850,21],22],[[851,21],22],[[852,21],22],[[853,21],22],[[854,21],22],[[554,21],22],[[554,21],22],[[554,21],22],[[554,21],22],[[554,21],22],[[855,21],22],[[856,21],22],[[555,21],22],[[555,21],22],[[555,21],22],[[555,21],22],[[555,21],22],[[857,21],22],[[858,21],22],[[556,21],22],[[556,21],22],[[556,21],22],[[556,21],22],[[556,21],22],[[557,21],22],[[557,21],22],[[557,21],22],[[557,21],22],[[557,21],22],[[859,21],22],[[860,21],22],[[861,21],22],[[862,21],22],[[863,21],22],[[864,21],22],[[865,21],22],[[558,21],22],[[558,21],22],[[558,21],22],[[558,21],22],[[558,21],22],[[866,21],22],[[867,21],22],[[868,21],22],[[869,21],22],[[870,21],22],[[871,21],22],[[872,21],22],[[873,21],22],[[874,21],22],[[875,21],22],[[876,21],22],[[877,21],22],[[878,21],22],[[559,21],22],[[559,21],22],[[559,21],22],[[559,21],22],[[559,21],22],[[879,21],22],[[880,21],22],[[881,21],22],[[882,21],22],[[883,21],22],[[884,21],22],[[560,21],22],[[560,21],22],[[560,21],22],[[560,21],22],[[560,21],22],[[885,21],22],[[886,21],22],[[887,21],22],[[561,21],22],[[561,21],22],[[561,21],22],[[561,21],22],[[561,21],22],[[888,21],22],[[889,21],22],[[890,21],22],[[891,21],22],[[892,21],22],[[893,21],22],[[894,21],22],[[895,21],22],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[2,[[526,[537]]]],[15,[[526,[538]]]],[2,[[526,[539]]]],[2,[[526,[540]]]],[2,[[526,[541]]]],[15,[[526,[542]]]],[15,[[526,[543]]]],[10,[[526,[544]]]],[2,[[526,[545]]]],[65,[[526,[546]]]],[15,[[526,[547]]]],[10,[[526,[548]]]],[15,[[526,[549]]]],[2,[[526,[550]]]],[2,[[526,[551]]]],[10,[[526,[552]]]],[2,[[526,[553]]]],[65,[[526,[554]]]],[2,[[526,[555]]]],[15,[[526,[556]]]],[10,[[526,[557]]]],[2,[[526,[558]]]],[2,[[526,[559]]]],[15,[[526,[560]]]],[10,[[526,[561]]]],[2,537],[15,538],[2,539],[2,540],[2,541],[15,542],[15,543],[10,544],[2,545],[65,546],[15,547],[10,548],[15,549],[2,550],[2,551],[10,552],[2,553],[65,554],[2,555],[15,556],[10,557],[2,558],[2,559],[15,560],[10,561],[2,537],[15,538],[2,539],[2,540],[2,541],[15,542],[15,543],[10,544],[2,545],[65,546],[15,547],[10,548],[15,549],[2,550],[2,551],[10,552],[2,553],[65,554],[2,555],[15,556],[10,557],[2,558],[2,559],[15,560],[10,561],[527,[[526,[784]]]],[527,[[526,[785]]]],[527,[[526,[786]]]],[527,[[526,[787]]]],[527,[[526,[788]]]],[527,[[526,[789]]]],[527,[[526,[790]]]],[527,[[526,[791]]]],[527,[[526,[792]]]],[527,[[526,[793]]]],[527,[[526,[794]]]],[527,[[526,[795]]]],[527,[[526,[796]]]],[527,[[526,[797]]]],[527,[[526,[798]]]],[527,[[526,[799]]]],[527,[[526,[800]]]],[527,[[526,[801]]]],[527,[[526,[802]]]],[527,[[526,[803]]]],[527,[[526,[804]]]],[527,[[526,[805]]]],[527,[[526,[806]]]],[527,[[526,[807]]]],[527,[[526,[808]]]],[527,[[526,[809]]]],[527,[[526,[810]]]],[527,[[526,[811]]]],[527,[[526,[812]]]],[527,[[526,[813]]]],[527,[[526,[814]]]],[527,[[526,[815]]]],[527,[[526,[816]]]],[527,[[526,[817]]]],[527,[[526,[818]]]],[527,[[526,[819]]]],[527,[[526,[820]]]],[527,[[526,[821]]]],[527,[[526,[822]]]],[527,[[526,[823]]]],[527,[[526,[824]]]],[527,[[526,[825]]]],[527,[[526,[826]]]],[527,[[526,[827]]]],[527,[[526,[828]]]],[527,[[526,[829]]]],[527,[[526,[830]]]],[527,[[526,[831]]]],[527,[[526,[832]]]],[527,[[526,[833]]]],[527,[[526,[834]]]],[527,[[526,[835]]]],[527,[[526,[836]]]],[527,[[526,[837]]]],[527,[[526,[838]]]],[527,[[526,[839]]]],[527,[[526,[840]]]],[527,[[526,[841]]]],[527,[[526,[842]]]],[527,[[526,[843]]]],[527,[[526,[844]]]],[527,[[526,[845]]]],[527,[[526,[846]]]],[527,[[526,[847]]]],[527,[[526,[848]]]],[527,[[526,[849]]]],[527,[[526,[850]]]],[527,[[526,[851]]]],[527,[[526,[852]]]],[527,[[526,[853]]]],[527,[[526,[854]]]],[527,[[526,[855]]]],[527,[[526,[856]]]],[527,[[526,[857]]]],[527,[[526,[858]]]],[527,[[526,[859]]]],[527,[[526,[860]]]],[527,[[526,[861]]]],[527,[[526,[862]]]],[527,[[526,[863]]]],[527,[[526,[864]]]],[527,[[526,[865]]]],[527,[[526,[866]]]],[527,[[526,[867]]]],[527,[[526,[868]]]],[527,[[526,[869]]]],[527,[[526,[870]]]],[527,[[526,[871]]]],[527,[[526,[872]]]],[527,[[526,[873]]]],[527,[[526,[874]]]],[527,[[526,[875]]]],[527,[[526,[876]]]],[527,[[526,[877]]]],[527,[[526,[878]]]],[527,[[526,[879]]]],[527,[[526,[880]]]],[527,[[526,[881]]]],[527,[[526,[882]]]],[527,[[526,[883]]]],[527,[[526,[884]]]],[527,[[526,[885]]]],[527,[[526,[886]]]],[527,[[526,[887]]]],[527,[[526,[888]]]],[527,[[526,[889]]]],[527,[[526,[890]]]],[527,[[526,[891]]]],[527,[[526,[892]]]],[527,[[526,[893]]]],[527,[[526,[894]]]],[527,[[526,[895]]]],[-1,537,525],[-1,538,525],[-1,539,525],[-1,540,525],[-1,541,525],[-1,542,525],[-1,543,525],[-1,544,525],[-1,545,525],[-1,546,525],[-1,547,525],[-1,548,525],[-1,549,525],[-1,550,525],[-1,551,525],[-1,552,525],[-1,553,525],[-1,554,525],[-1,555,525],[-1,556,525],[-1,557,525],[-1,558,525],[-1,559,525],[-1,560,525],[-1,561,525],[65,[[526,[784]]]],[65,[[526,[785]]]],[65,[[526,[786]]]],[65,[[526,[787]]]],[65,[[526,[788]]]],[65,[[526,[789]]]],[65,[[526,[790]]]],[65,[[526,[791]]]],[65,[[526,[792]]]],[65,[[526,[793]]]],[65,[[526,[794]]]],[65,[[526,[795]]]],[65,[[526,[796]]]],[65,[[526,[797]]]],[65,[[526,[798]]]],[65,[[526,[799]]]],[65,[[526,[800]]]],[65,[[526,[801]]]],[65,[[526,[802]]]],[65,[[526,[803]]]],[65,[[526,[804]]]],[65,[[526,[805]]]],[65,[[526,[806]]]],[65,[[526,[807]]]],[65,[[526,[808]]]],[65,[[526,[809]]]],[65,[[526,[810]]]],[65,[[526,[811]]]],[65,[[526,[812]]]],[65,[[526,[813]]]],[65,[[526,[814]]]],[65,[[526,[815]]]],[65,[[526,[816]]]],[65,[[526,[817]]]],[65,[[526,[818]]]],[65,[[526,[819]]]],[65,[[526,[820]]]],[65,[[526,[821]]]],[65,[[526,[822]]]],[65,[[526,[823]]]],[65,[[526,[824]]]],[65,[[526,[825]]]],[65,[[526,[826]]]],[65,[[526,[827]]]],[65,[[526,[828]]]],[65,[[526,[829]]]],[65,[[526,[830]]]],[65,[[526,[831]]]],[65,[[526,[832]]]],[65,[[526,[833]]]],[65,[[526,[834]]]],[65,[[526,[835]]]],[65,[[526,[836]]]],[65,[[526,[837]]]],[65,[[526,[838]]]],[65,[[526,[839]]]],[65,[[526,[840]]]],[65,[[526,[841]]]],[65,[[526,[842]]]],[65,[[526,[843]]]],[65,[[526,[844]]]],[65,[[526,[845]]]],[65,[[526,[846]]]],[65,[[526,[847]]]],[65,[[526,[848]]]],[65,[[526,[849]]]],[65,[[526,[850]]]],[65,[[526,[851]]]],[65,[[526,[852]]]],[65,[[526,[853]]]],[65,[[526,[854]]]],[65,[[526,[855]]]],[65,[[526,[856]]]],[65,[[526,[857]]]],[65,[[526,[858]]]],[65,[[526,[859]]]],[65,[[526,[860]]]],[65,[[526,[861]]]],[65,[[526,[862]]]],[65,[[526,[863]]]],[65,[[526,[864]]]],[65,[[526,[865]]]],[65,[[526,[866]]]],[65,[[526,[867]]]],[65,[[526,[868]]]],[65,[[526,[869]]]],[65,[[526,[870]]]],[65,[[526,[871]]]],[65,[[526,[872]]]],[65,[[526,[873]]]],[65,[[526,[874]]]],[65,[[526,[875]]]],[65,[[526,[876]]]],[65,[[526,[877]]]],[65,[[526,[878]]]],[65,[[526,[879]]]],[65,[[526,[880]]]],[65,[[526,[881]]]],[65,[[526,[882]]]],[65,[[526,[883]]]],[65,[[526,[884]]]],[65,[[526,[885]]]],[65,[[526,[886]]]],[65,[[526,[887]]]],[65,[[526,[888]]]],[65,[[526,[889]]]],[65,[[526,[890]]]],[65,[[526,[891]]]],[65,[[526,[892]]]],[65,[[526,[893]]]],[65,[[526,[894]]]],[65,[[526,[895]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,-1],9,528],[[538,-1],9,528],[[539,-1],9,528],[[540,-1],9,528],[[541,-1],9,528],[[542,-1],9,528],[[543,-1],9,528],[[544,-1],9,528],[[545,-1],9,528],[[546,-1],9,528],[[547,-1],9,528],[[548,-1],9,528],[[549,-1],9,528],[[550,-1],9,528],[[551,-1],9,528],[[552,-1],9,528],[[553,-1],9,528],[[554,-1],9,528],[[555,-1],9,528],[[556,-1],9,528],[[557,-1],9,528],[[558,-1],9,528],[[559,-1],9,528],[[560,-1],9,528],[[561,-1],9,528],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],[[537,537],20],[[538,538],20],[[539,539],20],[[540,540],20],[[541,541],20],[[542,542],20],[[543,543],20],[[544,544],20],[[545,545],20],[[546,546],20],[[547,547],20],[[548,548],20],[[549,549],20],[[550,550],20],[[551,551],20],[[552,552],20],[[553,553],20],[[554,554],20],[[555,555],20],[[556,556],20],[[557,557],20],[[558,558],20],[[559,559],20],[[560,560],20],[[561,561],20],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[537,20],[538,20],[539,20],[540,20],[541,20],[542,20],[543,20],[544,20],[545,20],[546,20],[547,20],[548,20],[549,20],[550,20],[551,20],[552,20],[553,20],[554,20],[555,20],[556,20],[557,20],[558,20],[559,20],[560,20],[561,20],[537,20],[538,20],[539,20],[540,20],[541,20],[542,20],[543,20],[544,20],[545,20],[546,20],[547,20],[548,20],[549,20],[550,20],[551,20],[552,20],[553,20],[554,20],[555,20],[556,20],[557,20],[558,20],[559,20],[560,20],[561,20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[562,15],0,[11,[[16,[15,11]]]],[562,11],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[537,537],[538,538],[539,539],[540,540],[541,541],[542,542],[543,543],[544,544],[545,545],[546,546],[547,547],[548,548],[549,549],[550,550],[551,551],[552,552],[553,553],[554,554],[555,555],[556,556],[557,557],[558,558],[559,559],[560,560],[561,561],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[5,15,[17,[10]]],[[16,[562,18]]]],[[537,537],[[526,[524]]]],[[538,538],[[526,[524]]]],[[539,539],[[526,[524]]]],[[540,540],[[526,[524]]]],[[541,541],[[526,[524]]]],[[542,542],[[526,[524]]]],[[543,543],[[526,[524]]]],[[544,544],[[526,[524]]]],[[545,545],[[526,[524]]]],[[546,546],[[526,[524]]]],[[547,547],[[526,[524]]]],[[548,548],[[526,[524]]]],[[549,549],[[526,[524]]]],[[550,550],[[526,[524]]]],[[551,551],[[526,[524]]]],[[552,552],[[526,[524]]]],[[553,553],[[526,[524]]]],[[554,554],[[526,[524]]]],[[555,555],[[526,[524]]]],[[556,556],[[526,[524]]]],[[557,557],[[526,[524]]]],[[558,558],[[526,[524]]]],[[559,559],[[526,[524]]]],[[560,560],[[526,[524]]]],[[561,561],[[526,[524]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[562,5,[17,[10]]],26],[[563,5,[17,[10]]],26],[[564,5,[17,[10]]],26],[[565,5,[17,[10]]],26],[[566,5,[17,[10]]],26],[[567,5,[17,[10]]],26],[[568,5,[17,[10]]],26],[[569,5,[17,[10]]],26],[[570,5,[17,[10]]],26],[[571,5,[17,[10]]],26],[[572,5,[17,[10]]],26],[[573,5,[17,[10]]],26],[[574,5,[17,[10]]],26],[[575,5,[17,[10]]],26],[[576,5,[17,[10]]],26],[[577,5,[17,[10]]],26],[[578,5,[17,[10]]],26],[[579,5,[17,[10]]],26],[[580,5,[17,[10]]],26],[[581,5,[17,[10]]],26],[[582,5,[17,[10]]],26],[[583,5,[17,[10]]],26],[[584,5,[17,[10]]],26],[[585,5,[17,[10]]],26],[[586,5,[17,[10]]],26],[[587,5,[17,[10]]],26],[[588,5,[17,[10]]],26],[[589,5,[17,[10]]],26],[[590,5,[17,[10]]],26],[[591,5,[17,[10]]],26],[[592,5,[17,[10]]],26],[[593,5,[17,[10]]],26],[[594,5,[17,[10]]],26],[[595,5,[17,[10]]],26],[[596,5,[17,[10]]],26],[[597,5,[17,[10]]],26],[[598,5,[17,[10]]],26],[[599,5,[17,[10]]],26],[[600,5,[17,[10]]],26],[[601,5,[17,[10]]],26],[[602,5,[17,[10]]],26],[[603,5,[17,[10]]],26],[[604,5,[17,[10]]],26],[[605,5,[17,[10]]],26],[[606,5,[17,[10]]],26],[[607,5,[17,[10]]],26],[[608,5,[17,[10]]],26],[[609,5,[17,[10]]],26],[[610,5,[17,[10]]],26],[[611,5,[17,[10]]],26],[[612,5,[17,[10]]],26],[[613,5,[17,[10]]],26],[[614,5,[17,[10]]],26],[[615,5,[17,[10]]],26],[[616,5,[17,[10]]],26],[[617,5,[17,[10]]],26],[[618,5,[17,[10]]],26],[[619,5,[17,[10]]],26],[[620,5,[17,[10]]],26],[[621,5,[17,[10]]],26],[[622,5,[17,[10]]],26],[[623,5,[17,[10]]],26],[[624,5,[17,[10]]],26],[[625,5,[17,[10]]],26],[[626,5,[17,[10]]],26],[[627,5,[17,[10]]],26],[[628,5,[17,[10]]],26],[[629,5,[17,[10]]],26],[[630,5,[17,[10]]],26],[[631,5,[17,[10]]],26],[[632,5,[17,[10]]],26],[[633,5,[17,[10]]],26],[[634,5,[17,[10]]],26],[[635,5,[17,[10]]],26],[[636,5,[17,[10]]],26],[[637,5,[17,[10]]],26],[[638,5,[17,[10]]],26],[[639,5,[17,[10]]],26],[[640,5,[17,[10]]],26],[[641,5,[17,[10]]],26],[[642,5,[17,[10]]],26],[[643,5,[17,[10]]],26],[[644,5,[17,[10]]],26],[[645,5,[17,[10]]],26],[[646,5,[17,[10]]],26],[[647,5,[17,[10]]],26],[[648,5,[17,[10]]],26],[[649,5,[17,[10]]],26],[[650,5,[17,[10]]],26],[[651,5,[17,[10]]],26],[[652,5,[17,[10]]],26],[[653,5,[17,[10]]],26],[[654,5,[17,[10]]],26],[[655,5,[17,[10]]],26],[[656,5,[17,[10]]],26],[[657,5,[17,[10]]],26],[[658,5,[17,[10]]],26],[[659,5,[17,[10]]],26],[[660,5,[17,[10]]],26],[[661,5,[17,[10]]],26],[[662,5,[17,[10]]],26],[[663,5,[17,[10]]],26],[[664,5,[17,[10]]],26],[[665,5,[17,[10]]],26],[[666,5,[17,[10]]],26],[[667,5,[17,[10]]],26],[[668,5,[17,[10]]],26],[[669,5,[17,[10]]],26],[[670,5,[17,[10]]],26],[[671,5,[17,[10]]],26],[[672,5,[17,[10]]],26],[[673,5,[17,[10]]],26],[[674,5,[17,[10]]],26],[[675,5,[17,[10]]],26],[[676,5,[17,[10]]],26],[[677,5,[17,[10]]],26],[[678,5,[17,[10]]],26],[[679,5,[17,[10]]],26],[[680,5,[17,[10]]],26],[[681,5,[17,[10]]],26],[[682,5,[17,[10]]],26],[[683,5,[17,[10]]],26],[[684,5,[17,[10]]],26],[[685,5,[17,[10]]],26],[[686,5,[17,[10]]],26],[[687,5,[17,[10]]],26],[[688,5,[17,[10]]],26],[[689,5,[17,[10]]],26],[[690,5,[17,[10]]],26],[[691,5,[17,[10]]],26],[[692,5,[17,[10]]],26],[[693,5,[17,[10]]],26],[[694,5,[17,[10]]],26],[[695,5,[17,[10]]],26],[[696,5,[17,[10]]],26],[[697,5,[17,[10]]],26],[[698,5,[17,[10]]],26],[[699,5,[17,[10]]],26],[[700,5,[17,[10]]],26],[[701,5,[17,[10]]],26],[[702,5,[17,[10]]],26],[[703,5,[17,[10]]],26],[[704,5,[17,[10]]],26],[[705,5,[17,[10]]],26],[[706,5,[17,[10]]],26],[[707,5,[17,[10]]],26],[[708,5,[17,[10]]],26],[[709,5,[17,[10]]],26],[[710,5,[17,[10]]],26],[[711,5,[17,[10]]],26],[[712,5,[17,[10]]],26],[[713,5,[17,[10]]],26],[[714,5,[17,[10]]],26],[[715,5,[17,[10]]],26],[[716,5,[17,[10]]],26],[[717,5,[17,[10]]],26],[[718,5,[17,[10]]],26],[[719,5,[17,[10]]],26],[[720,5,[17,[10]]],26],[[721,5,[17,[10]]],26],[[722,5,[17,[10]]],26],[[723,5,[17,[10]]],26],[[724,5,[17,[10]]],26],[[725,5,[17,[10]]],26],[[726,5,[17,[10]]],26],[[727,5,[17,[10]]],26],[[728,5,[17,[10]]],26],[[729,5,[17,[10]]],26],[[730,5,[17,[10]]],26],[[731,5,[17,[10]]],26],[[732,5,[17,[10]]],26],[[733,5,[17,[10]]],26],[[734,5,[17,[10]]],26],[[735,5,[17,[10]]],26],[[736,5,[17,[10]]],26],[[737,5,[17,[10]]],26],[[738,5,[17,[10]]],26],[[739,5,[17,[10]]],26],[[740,5,[17,[10]]],26],[[741,5,[17,[10]]],26],[[742,5,[17,[10]]],26],[[743,5,[17,[10]]],26],[[744,5,[17,[10]]],26],[[745,5,[17,[10]]],26],[[746,5,[17,[10]]],26],[[747,5,[17,[10]]],26],[[748,5,[17,[10]]],26],[[749,5,[17,[10]]],26],[[750,5,[17,[10]]],26],[[751,5,[17,[10]]],26],[[752,5,[17,[10]]],26],[[753,5,[17,[10]]],26],[[754,5,[17,[10]]],26],[[755,5,[17,[10]]],26],[[756,5,[17,[10]]],26],[[757,5,[17,[10]]],26],[[758,5,[17,[10]]],26],[[759,5,[17,[10]]],26],[[760,5,[17,[10]]],26],[[761,5,[17,[10]]],26],[[762,5,[17,[10]]],26],[[763,5,[17,[10]]],26],[[764,5,[17,[10]]],26],[[765,5,[17,[10]]],26],[[766,5,[17,[10]]],26],[[767,5,[17,[10]]],26],[[768,5,[17,[10]]],26],[[769,5,[17,[10]]],26],[[770,5,[17,[10]]],26],[[771,5,[17,[10]]],26],[[772,5,[17,[10]]],26],[[773,5,[17,[10]]],26],[[774,5,[17,[10]]],26],[[775,5,[17,[10]]],26],[[776,5,[17,[10]]],26],[[777,5,[17,[10]]],26],[[778,5,[17,[10]]],26],[[779,5,[17,[10]]],26],[[780,5,[17,[10]]],26],[[781,5,[17,[10]]],26],[[782,5,[17,[10]]],26],[[783,5,[17,[10]]],26],0,[[562,-1],16,28],[[563,-1],16,28],[[564,-1],16,28],[[565,-1],16,28],[[566,-1],16,28],[[567,-1],16,28],[[568,-1],16,28],[[569,-1],16,28],[[570,-1],16,28],[[571,-1],16,28],[[572,-1],16,28],[[573,-1],16,28],[[574,-1],16,28],[[575,-1],16,28],[[576,-1],16,28],[[577,-1],16,28],[[578,-1],16,28],[[579,-1],16,28],[[580,-1],16,28],[[581,-1],16,28],[[582,-1],16,28],[[583,-1],16,28],[[584,-1],16,28],[[585,-1],16,28],[[586,-1],16,28],[[587,-1],16,28],[[588,-1],16,28],[[589,-1],16,28],[[590,-1],16,28],[[591,-1],16,28],[[592,-1],16,28],[[593,-1],16,28],[[594,-1],16,28],[[595,-1],16,28],[[596,-1],16,28],[[597,-1],16,28],[[598,-1],16,28],[[599,-1],16,28],[[600,-1],16,28],[[601,-1],16,28],[[602,-1],16,28],[[603,-1],16,28],[[604,-1],16,28],[[605,-1],16,28],[[606,-1],16,28],[[607,-1],16,28],[[608,-1],16,28],[[609,-1],16,28],[[610,-1],16,28],[[611,-1],16,28],[[612,-1],16,28],[[613,-1],16,28],[[614,-1],16,28],[[615,-1],16,28],[[616,-1],16,28],[[617,-1],16,28],[[618,-1],16,28],[[619,-1],16,28],[[620,-1],16,28],[[621,-1],16,28],[[622,-1],16,28],[[623,-1],16,28],[[624,-1],16,28],[[625,-1],16,28],[[626,-1],16,28],[[627,-1],16,28],[[628,-1],16,28],[[629,-1],16,28],[[630,-1],16,28],[[631,-1],16,28],[[632,-1],16,28],[[633,-1],16,28],[[634,-1],16,28],[[635,-1],16,28],[[636,-1],16,28],[[637,-1],16,28],[[638,-1],16,28],[[639,-1],16,28],[[640,-1],16,28],[[641,-1],16,28],[[642,-1],16,28],[[643,-1],16,28],[[644,-1],16,28],[[645,-1],16,28],[[646,-1],16,28],[[647,-1],16,28],[[648,-1],16,28],[[649,-1],16,28],[[650,-1],16,28],[[651,-1],16,28],[[652,-1],16,28],[[653,-1],16,28],[[654,-1],16,28],[[655,-1],16,28],[[656,-1],16,28],[[657,-1],16,28],[[658,-1],16,28],[[659,-1],16,28],[[660,-1],16,28],[[661,-1],16,28],[[662,-1],16,28],[[663,-1],16,28],[[664,-1],16,28],[[665,-1],16,28],[[666,-1],16,28],[[667,-1],16,28],[[668,-1],16,28],[[669,-1],16,28],[[670,-1],16,28],[[671,-1],16,28],[[672,-1],16,28],[[673,-1],16,28],[[674,-1],16,28],[[675,-1],16,28],[[676,-1],16,28],[[677,-1],16,28],[[678,-1],16,28],[[679,-1],16,28],[[680,-1],16,28],[[681,-1],16,28],[[682,-1],16,28],[[683,-1],16,28],[[684,-1],16,28],[[685,-1],16,28],[[686,-1],16,28],[[687,-1],16,28],[[688,-1],16,28],[[689,-1],16,28],[[690,-1],16,28],[[691,-1],16,28],[[692,-1],16,28],[[693,-1],16,28],[[694,-1],16,28],[[695,-1],16,28],[[696,-1],16,28],[[697,-1],16,28],[[698,-1],16,28],[[699,-1],16,28],[[700,-1],16,28],[[701,-1],16,28],[[702,-1],16,28],[[703,-1],16,28],[[704,-1],16,28],[[705,-1],16,28],[[706,-1],16,28],[[707,-1],16,28],[[708,-1],16,28],[[709,-1],16,28],[[710,-1],16,28],[[711,-1],16,28],[[712,-1],16,28],[[713,-1],16,28],[[714,-1],16,28],[[715,-1],16,28],[[716,-1],16,28],[[717,-1],16,28],[[718,-1],16,28],[[719,-1],16,28],[[720,-1],16,28],[[721,-1],16,28],[[722,-1],16,28],[[723,-1],16,28],[[724,-1],16,28],[[725,-1],16,28],[[726,-1],16,28],[[727,-1],16,28],[[728,-1],16,28],[[729,-1],16,28],[[730,-1],16,28],[[731,-1],16,28],[[732,-1],16,28],[[733,-1],16,28],[[734,-1],16,28],[[735,-1],16,28],[[736,-1],16,28],[[737,-1],16,28],[[738,-1],16,28],[[739,-1],16,28],[[740,-1],16,28],[[741,-1],16,28],[[742,-1],16,28],[[743,-1],16,28],[[744,-1],16,28],[[745,-1],16,28],[[746,-1],16,28],[[747,-1],16,28],[[748,-1],16,28],[[749,-1],16,28],[[750,-1],16,28],[[751,-1],16,28],[[752,-1],16,28],[[753,-1],16,28],[[754,-1],16,28],[[755,-1],16,28],[[756,-1],16,28],[[757,-1],16,28],[[758,-1],16,28],[[759,-1],16,28],[[760,-1],16,28],[[761,-1],16,28],[[762,-1],16,28],[[763,-1],16,28],[[764,-1],16,28],[[765,-1],16,28],[[766,-1],16,28],[[767,-1],16,28],[[768,-1],16,28],[[769,-1],16,28],[[770,-1],16,28],[[771,-1],16,28],[[772,-1],16,28],[[773,-1],16,28],[[774,-1],16,28],[[775,-1],16,28],[[776,-1],16,28],[[777,-1],16,28],[[778,-1],16,28],[[779,-1],16,28],[[780,-1],16,28],[[781,-1],16,28],[[782,-1],16,28],[[783,-1],16,28],[[537,-1],16,28],[[784,-1],16,28],[[538,-1],16,28],[[785,-1],16,28],[[786,-1],16,28],[[787,-1],16,28],[[788,-1],16,28],[[789,-1],16,28],[[790,-1],16,28],[[791,-1],16,28],[[792,-1],16,28],[[793,-1],16,28],[[539,-1],16,28],[[794,-1],16,28],[[795,-1],16,28],[[796,-1],16,28],[[797,-1],16,28],[[798,-1],16,28],[[799,-1],16,28],[[800,-1],16,28],[[801,-1],16,28],[[802,-1],16,28],[[803,-1],16,28],[[804,-1],16,28],[[805,-1],16,28],[[540,-1],16,28],[[806,-1],16,28],[[541,-1],16,28],[[807,-1],16,28],[[808,-1],16,28],[[542,-1],16,28],[[809,-1],16,28],[[810,-1],16,28],[[811,-1],16,28],[[812,-1],16,28],[[813,-1],16,28],[[814,-1],16,28],[[543,-1],16,28],[[815,-1],16,28],[[816,-1],16,28],[[817,-1],16,28],[[818,-1],16,28],[[819,-1],16,28],[[544,-1],16,28],[[545,-1],16,28],[[820,-1],16,28],[[821,-1],16,28],[[822,-1],16,28],[[823,-1],16,28],[[824,-1],16,28],[[546,-1],16,28],[[825,-1],16,28],[[826,-1],16,28],[[547,-1],16,28],[[827,-1],16,28],[[548,-1],16,28],[[828,-1],16,28],[[829,-1],16,28],[[830,-1],16,28],[[831,-1],16,28],[[832,-1],16,28],[[549,-1],16,28],[[833,-1],16,28],[[550,-1],16,28],[[834,-1],16,28],[[551,-1],16,28],[[835,-1],16,28],[[552,-1],16,28],[[836,-1],16,28],[[837,-1],16,28],[[838,-1],16,28],[[839,-1],16,28],[[840,-1],16,28],[[553,-1],16,28],[[841,-1],16,28],[[842,-1],16,28],[[843,-1],16,28],[[844,-1],16,28],[[845,-1],16,28],[[846,-1],16,28],[[847,-1],16,28],[[848,-1],16,28],[[849,-1],16,28],[[850,-1],16,28],[[851,-1],16,28],[[852,-1],16,28],[[853,-1],16,28],[[854,-1],16,28],[[554,-1],16,28],[[855,-1],16,28],[[856,-1],16,28],[[555,-1],16,28],[[857,-1],16,28],[[858,-1],16,28],[[556,-1],16,28],[[557,-1],16,28],[[859,-1],16,28],[[860,-1],16,28],[[861,-1],16,28],[[862,-1],16,28],[[863,-1],16,28],[[864,-1],16,28],[[865,-1],16,28],[[558,-1],16,28],[[866,-1],16,28],[[867,-1],16,28],[[868,-1],16,28],[[869,-1],16,28],[[870,-1],16,28],[[871,-1],16,28],[[872,-1],16,28],[[873,-1],16,28],[[874,-1],16,28],[[875,-1],16,28],[[876,-1],16,28],[[877,-1],16,28],[[878,-1],16,28],[[559,-1],16,28],[[879,-1],16,28],[[880,-1],16,28],[[881,-1],16,28],[[882,-1],16,28],[[883,-1],16,28],[[884,-1],16,28],[[560,-1],16,28],[[885,-1],16,28],[[886,-1],16,28],[[887,-1],16,28],[[561,-1],16,28],[[888,-1],16,28],[[889,-1],16,28],[[890,-1],16,28],[[891,-1],16,28],[[892,-1],16,28],[[893,-1],16,28],[[894,-1],16,28],[[895,-1],16,28],0,0,0,0,0,0,0,0,[[537,537,20],9],[[538,538,20],9],[[539,539,20],9],[[540,540,20],9],[[541,541,20],9],[[542,542,20],9],[[543,543,20],9],[[544,544,20],9],[[545,545,20],9],[[546,546,20],9],[[547,547,20],9],[[548,548,20],9],[[549,549,20],9],[[550,550,20],9],[[551,551,20],9],[[552,552,20],9],[[553,553,20],9],[[554,554,20],9],[[555,555,20],9],[[556,556,20],9],[[557,557,20],9],[[558,558,20],9],[[559,559,20],9],[[560,560,20],9],[[561,561,20],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],0,0,0,0,0,[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[784,[[526,[527]]]],[785,[[526,[527]]]],[786,[[526,[527]]]],[787,[[526,[527]]]],[788,[[526,[527]]]],[789,[[526,[527]]]],[790,[[526,[527]]]],[791,[[526,[527]]]],[792,[[526,[527]]]],[793,[[526,[527]]]],[794,[[526,[527]]]],[795,[[526,[527]]]],[796,[[526,[527]]]],[797,[[526,[527]]]],[798,[[526,[527]]]],[799,[[526,[527]]]],[800,[[526,[527]]]],[801,[[526,[527]]]],[802,[[526,[527]]]],[803,[[526,[527]]]],[804,[[526,[527]]]],[805,[[526,[527]]]],[806,[[526,[527]]]],[807,[[526,[527]]]],[808,[[526,[527]]]],[809,[[526,[527]]]],[810,[[526,[527]]]],[811,[[526,[527]]]],[812,[[526,[527]]]],[813,[[526,[527]]]],[814,[[526,[527]]]],[815,[[526,[527]]]],[816,[[526,[527]]]],[817,[[526,[527]]]],[818,[[526,[527]]]],[819,[[526,[527]]]],[820,[[526,[527]]]],[821,[[526,[527]]]],[822,[[526,[527]]]],[823,[[526,[527]]]],[824,[[526,[527]]]],[825,[[526,[527]]]],[826,[[526,[527]]]],[827,[[526,[527]]]],[828,[[526,[527]]]],[829,[[526,[527]]]],[830,[[526,[527]]]],[831,[[526,[527]]]],[832,[[526,[527]]]],[833,[[526,[527]]]],[834,[[526,[527]]]],[835,[[526,[527]]]],[836,[[526,[527]]]],[837,[[526,[527]]]],[838,[[526,[527]]]],[839,[[526,[527]]]],[840,[[526,[527]]]],[841,[[526,[527]]]],[842,[[526,[527]]]],[843,[[526,[527]]]],[844,[[526,[527]]]],[845,[[526,[527]]]],[846,[[526,[527]]]],[847,[[526,[527]]]],[848,[[526,[527]]]],[849,[[526,[527]]]],[850,[[526,[527]]]],[851,[[526,[527]]]],[852,[[526,[527]]]],[853,[[526,[527]]]],[854,[[526,[527]]]],[855,[[526,[527]]]],[856,[[526,[527]]]],[857,[[526,[527]]]],[858,[[526,[527]]]],[859,[[526,[527]]]],[860,[[526,[527]]]],[861,[[526,[527]]]],[862,[[526,[527]]]],[863,[[526,[527]]]],[864,[[526,[527]]]],[865,[[526,[527]]]],[866,[[526,[527]]]],[867,[[526,[527]]]],[868,[[526,[527]]]],[869,[[526,[527]]]],[870,[[526,[527]]]],[871,[[526,[527]]]],[872,[[526,[527]]]],[873,[[526,[527]]]],[874,[[526,[527]]]],[875,[[526,[527]]]],[876,[[526,[527]]]],[877,[[526,[527]]]],[878,[[526,[527]]]],[879,[[526,[527]]]],[880,[[526,[527]]]],[881,[[526,[527]]]],[882,[[526,[527]]]],[883,[[526,[527]]]],[884,[[526,[527]]]],[885,[[526,[527]]]],[886,[[526,[527]]]],[887,[[526,[527]]]],[888,[[526,[527]]]],[889,[[526,[527]]]],[890,[[526,[527]]]],[891,[[526,[527]]]],[892,[[526,[527]]]],[893,[[526,[527]]]],[894,[[526,[527]]]],[895,[[526,[527]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[784,[[526,[65]]]],[785,[[526,[65]]]],[786,[[526,[65]]]],[787,[[526,[65]]]],[788,[[526,[65]]]],[789,[[526,[65]]]],[790,[[526,[65]]]],[791,[[526,[65]]]],[792,[[526,[65]]]],[793,[[526,[65]]]],[794,[[526,[65]]]],[795,[[526,[65]]]],[796,[[526,[65]]]],[797,[[526,[65]]]],[798,[[526,[65]]]],[799,[[526,[65]]]],[800,[[526,[65]]]],[801,[[526,[65]]]],[802,[[526,[65]]]],[803,[[526,[65]]]],[804,[[526,[65]]]],[805,[[526,[65]]]],[806,[[526,[65]]]],[807,[[526,[65]]]],[808,[[526,[65]]]],[809,[[526,[65]]]],[810,[[526,[65]]]],[811,[[526,[65]]]],[812,[[526,[65]]]],[813,[[526,[65]]]],[814,[[526,[65]]]],[815,[[526,[65]]]],[816,[[526,[65]]]],[817,[[526,[65]]]],[818,[[526,[65]]]],[819,[[526,[65]]]],[820,[[526,[65]]]],[821,[[526,[65]]]],[822,[[526,[65]]]],[823,[[526,[65]]]],[824,[[526,[65]]]],[825,[[526,[65]]]],[826,[[526,[65]]]],[827,[[526,[65]]]],[828,[[526,[65]]]],[829,[[526,[65]]]],[830,[[526,[65]]]],[831,[[526,[65]]]],[832,[[526,[65]]]],[833,[[526,[65]]]],[834,[[526,[65]]]],[835,[[526,[65]]]],[836,[[526,[65]]]],[837,[[526,[65]]]],[838,[[526,[65]]]],[839,[[526,[65]]]],[840,[[526,[65]]]],[841,[[526,[65]]]],[842,[[526,[65]]]],[843,[[526,[65]]]],[844,[[526,[65]]]],[845,[[526,[65]]]],[846,[[526,[65]]]],[847,[[526,[65]]]],[848,[[526,[65]]]],[849,[[526,[65]]]],[850,[[526,[65]]]],[851,[[526,[65]]]],[852,[[526,[65]]]],[853,[[526,[65]]]],[854,[[526,[65]]]],[855,[[526,[65]]]],[856,[[526,[65]]]],[857,[[526,[65]]]],[858,[[526,[65]]]],[859,[[526,[65]]]],[860,[[526,[65]]]],[861,[[526,[65]]]],[862,[[526,[65]]]],[863,[[526,[65]]]],[864,[[526,[65]]]],[865,[[526,[65]]]],[866,[[526,[65]]]],[867,[[526,[65]]]],[868,[[526,[65]]]],[869,[[526,[65]]]],[870,[[526,[65]]]],[871,[[526,[65]]]],[872,[[526,[65]]]],[873,[[526,[65]]]],[874,[[526,[65]]]],[875,[[526,[65]]]],[876,[[526,[65]]]],[877,[[526,[65]]]],[878,[[526,[65]]]],[879,[[526,[65]]]],[880,[[526,[65]]]],[881,[[526,[65]]]],[882,[[526,[65]]]],[883,[[526,[65]]]],[884,[[526,[65]]]],[885,[[526,[65]]]],[886,[[526,[65]]]],[887,[[526,[65]]]],[888,[[526,[65]]]],[889,[[526,[65]]]],[890,[[526,[65]]]],[891,[[526,[65]]]],[892,[[526,[65]]]],[893,[[526,[65]]]],[894,[[526,[65]]]],[895,[[526,[65]]]],[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],0,0,0,0,0,0,0,0,[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],0,0,0,0,0,0,0,0,0,0,0,[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],0,0,0,0,0,0,0,0,0,0,0,[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[18,21],22],[[18,21],22],[[24,21],22],[[24,21],22],[[27,21],22],[[27,21],22],[-1,-1,[]],[-1,-1,[]],[18,24],[896,24],[896,27],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,897,[]],[-1,897,[]],[-1,897,[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[898,898],[899,899],[900,900],[901,901],[902,902],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[],899],[[],900],[[],901],[[],902],[15,[[16,[898,11]]]],[[5,[17,[10]]],[[16,[899,18]]]],[[5,[17,[10]]],[[16,[900,18]]]],[-1,[[16,[898]]],19],[-1,[[16,[899]]],19],[-1,[[16,[900]]],19],[-1,[[16,[901]]],19],[-1,[[16,[902]]],19],[[898,898],20],[[899,899],20],[[900,900],20],[[901,901],20],[[902,902],20],[15,10],[[898,21],22],[[899,21],22],[[900,21],22],[[901,21],22],[[902,21],22],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[527,[[526,[901]]]],[527,[[526,[902]]]],[65,[[526,[901]]]],[65,[[526,[902]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[898,15],[11,[[16,[15,11]]]],[898,11],0,0,0,0,0,0,[[5,15,[17,[10]]],[[16,[898,18]]]],[[898,5,[17,[10]]],26],[[899,5,[17,[10]]],26],[[900,5,[17,[10]]],26],[[898,-1],16,28],[[899,-1],16,28],[[900,-1],16,28],[[901,-1],16,28],[[902,-1],16,28],0,[901,[[526,[527]]]],[902,[[526,[527]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[901,[[526,[65]]]],[902,[[526,[65]]]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],0,0,0,0,0,[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],903],[[],904],[[],905],[[],906],[[],907],[[],908],[[],909],[[],910],[[],911],[[],912],[[],913],[[],914],[[],915],[[],916],[[],917],[[],918],[[],919],[[],920],[[],921],[[],922],[[],923],[[],924],[[],925],[[],926],[[],927],[[],928],[[],929],[[],930],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],0,0,[903,10],[904,10],[905,10],[906,65],[907,2],[908,2],[909,15],[910,2],[911,10],[912,2],[913,2],[914,2],[915,15],[916,15],[917,2],[918,15],[919,2],[920,2],[921,65],[922,15],[923,2],[924,15],[925,10],[926,2],[927,10],[928,2],[929,15],[930,10],[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[931,931],[932,932],[933,933],[934,934],[935,935],[936,936],[937,937],[938,938],[939,939],[940,940],[941,941],[942,942],[943,943],[944,944],[945,945],[946,946],[947,947],[948,948],[949,949],[950,950],[951,951],[952,952],[953,953],[954,954],[955,955],[956,956],[957,957],[958,958],[959,959],[960,960],[961,961],[962,962],[963,963],[964,964],[965,965],[966,966],[967,967],[968,968],[969,969],[970,970],[971,971],[972,972],[973,973],[974,974],[975,975],[976,976],[977,977],[978,978],[979,979],[980,980],[981,981],[982,982],[983,983],[984,984],[985,985],[986,986],[987,987],[988,988],[989,989],[990,990],[991,991],[992,992],[993,993],[994,994],[995,995],[996,996],[997,997],[998,998],[999,999],[1000,1000],[1001,1001],[1002,1002],[1003,1003],[1004,1004],[1005,1005],[1006,1006],[1007,1007],[1008,1008],[1009,1009],[1010,1010],[1011,1011],[1012,1012],[1013,1013],[1014,1014],[1015,1015],[1016,1016],[1017,1017],[1018,1018],[1019,1019],[1020,1020],[1021,1021],[1022,1022],[1023,1023],[1024,1024],[1025,1025],[1026,1026],[1027,1027],[1028,1028],[1029,1029],[1030,1030],[1031,1031],[1032,1032],[1033,1033],[1034,1034],[1035,1035],[1036,1036],[1037,1037],[1038,1038],[1039,1039],[1040,1040],[1041,1041],[1042,1042],[1043,1043],[1044,1044],[1045,1045],[1046,1046],[1047,1047],[1048,1048],[1049,1049],[1050,1050],[1051,1051],[1052,1052],[1053,1053],[1054,1054],[1055,1055],[1056,1056],[1057,1057],[1058,1058],[1059,1059],[1060,1060],[1061,1061],[1062,1062],[1063,1063],[1064,1064],[1065,1065],[1066,1066],[1067,1067],[1068,1068],[1069,1069],[1070,1070],[1071,1071],[1072,1072],[1073,1073],[1074,1074],[1075,1075],[1076,1076],[1077,1077],[1078,1078],[1079,1079],[1080,1080],[1081,1081],[1082,1082],[1083,1083],[1084,1084],[1085,1085],[1086,1086],[1087,1087],[1088,1088],[1089,1089],[1090,1090],[1091,1091],[1092,1092],[1093,1093],[1094,1094],[1095,1095],[1096,1096],[1097,1097],[1098,1098],[1099,1099],[1100,1100],[1101,1101],[1102,1102],[1103,1103],[1104,1104],[1105,1105],[1106,1106],[1107,1107],[1108,1108],[1109,1109],[1110,1110],[1111,1111],[1112,1112],[1113,1113],[1114,1114],[1115,1115],[1116,1116],[1117,1117],[1118,1118],[1119,1119],[1120,1120],[1121,1121],[1122,1122],[1123,1123],[1124,1124],[1125,1125],[1126,1126],[1127,1127],[1128,1128],[1129,1129],[1130,1130],[1131,1131],[1132,1132],[1133,1133],[1134,1134],[1135,1135],[1136,1136],[1137,1137],[1138,1138],[1139,1139],[1140,1140],[1141,1141],[1142,1142],[1143,1143],[1144,1144],[1145,1145],[1146,1146],[1147,1147],[1148,1148],[1149,1149],[1150,1150],[1151,1151],[1152,1152],[1153,1153],[1154,1154],[1155,1155],[1156,1156],[1157,1157],[1158,1158],[903,903],[1159,1159],[1160,1160],[1161,1161],[1162,1162],[904,904],[1163,1163],[1164,1164],[1165,1165],[1166,1166],[905,905],[1167,1167],[1168,1168],[1169,1169],[1170,1170],[1171,1171],[906,906],[1172,1172],[1173,1173],[1174,1174],[907,907],[908,908],[909,909],[1175,1175],[1176,1176],[910,910],[1177,1177],[1178,1178],[1179,1179],[1180,1180],[1181,1181],[1182,1182],[1183,1183],[1184,1184],[1185,1185],[911,911],[1186,1186],[1187,1187],[912,912],[1188,1188],[1189,1189],[913,913],[1190,1190],[1191,1191],[914,914],[1192,1192],[1193,1193],[1194,1194],[1195,1195],[1196,1196],[1197,1197],[915,915],[916,916],[1198,1198],[1199,1199],[1200,1200],[1201,1201],[1202,1202],[1203,1203],[1204,1204],[1205,1205],[1206,1206],[917,917],[1207,1207],[1208,1208],[1209,1209],[1210,1210],[1211,1211],[918,918],[1212,1212],[1213,1213],[1214,1214],[1215,1215],[1216,1216],[1217,1217],[919,919],[1218,1218],[1219,1219],[920,920],[1220,1220],[1221,1221],[921,921],[1222,1222],[1223,1223],[1224,1224],[1225,1225],[922,922],[1226,1226],[1227,1227],[923,923],[1228,1228],[924,924],[1229,1229],[1230,1230],[1231,1231],[925,925],[926,926],[1232,1232],[1233,1233],[927,927],[1234,1234],[1235,1235],[1236,1236],[1237,1237],[1238,1238],[1239,1239],[1240,1240],[1241,1241],[1242,1242],[1243,1243],[1244,1244],[1245,1245],[928,928],[1246,1246],[1247,1247],[1248,1248],[1249,1249],[1250,1250],[1251,1251],[1252,1252],[1253,1253],[1254,1254],[1255,1255],[1256,1256],[1257,1257],[929,929],[1258,1258],[1259,1259],[1260,1260],[1261,1261],[1262,1262],[1263,1263],[1264,1264],[1265,1265],[930,930],[1266,1266],[1267,1267],[1268,1268],[1269,1269],[1270,1270],[1271,1271],[1272,1272],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[903,903],524],[[904,904],524],[[905,905],524],[[906,906],524],[[907,907],524],[[908,908],524],[[909,909],524],[[910,910],524],[[911,911],524],[[912,912],524],[[913,913],524],[[914,914],524],[[915,915],524],[[916,916],524],[[917,917],524],[[918,918],524],[[919,919],524],[[920,920],524],[[921,921],524],[[922,922],524],[[923,923],524],[[924,924],524],[[925,925],524],[[926,926],524],[[927,927],524],[[928,928],524],[[929,929],524],[[930,930],524],0,0,0,0,0,0,0,0,0,0,0,0,[903,903],[904,904],[905,905],[906,906],[907,907],[908,908],[909,909],[910,910],[911,911],[912,912],[913,913],[914,914],[915,915],[916,916],[917,917],[918,918],[919,919],[920,920],[921,921],[922,922],[923,923],[924,924],[925,925],[926,926],[927,927],[928,928],[929,929],[930,930],0,0,[[903,903],20],[[904,904],20],[[905,905],20],[[906,906],20],[[907,907],20],[[908,908],20],[[909,909],20],[[910,910],20],[[911,911],20],[[912,912],20],[[913,913],20],[[914,914],20],[[915,915],20],[[916,916],20],[[917,917],20],[[918,918],20],[[919,919],20],[[920,920],20],[[921,921],20],[[922,922],20],[[923,923],20],[[924,924],20],[[925,925],20],[[926,926],20],[[927,927],20],[[928,928],20],[[929,929],20],[[930,930],20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],932],[[],933],[[],934],[[],935],[[],936],[[],937],[[],938],[[],939],[[],940],[[],941],[[],942],[[],943],[[],944],[[],945],[[],946],[[],947],[[],948],[[],949],[[],950],[[],951],[[],952],[[],953],[[],954],[[],955],[[],956],[[],957],[[],958],[[],959],[[],960],[[],961],[[],962],[[],963],[[],964],[[],965],[[],966],[[],967],[[],968],[[],969],[[],970],[[],971],[[],972],[[],973],[[],974],[[],975],[[],976],[[],977],[[],978],[[],979],[[],980],[[],981],[[],982],[[],983],[[],984],[[],985],[[],986],[[],987],[[],988],[[],989],[[],990],[[],991],[[],992],[[],993],[[],994],[[],995],[[],996],[[],997],[[],998],[[],999],[[],1000],[[],1001],[[],1002],[[],1003],[[],1004],[[],1005],[[],1006],[[],1007],[[],1008],[[],1009],[[],1010],[[],1011],[[],1012],[[],1013],[[],1014],[[],1015],[[],1016],[[],1017],[[],1018],[[],1019],[[],1020],[[],1021],[[],1022],[[],1023],[[],1024],[[],1025],[[],1026],[[],1027],[[],1028],[[],1029],[[],1030],[[],1031],[[],1032],[[],1033],[[],1034],[[],1035],[[],1036],[[],1037],[[],1038],[[],1039],[[],1040],[[],1041],[[],1042],[[],1043],[[],1044],[[],1045],[[],1046],[[],1047],[[],1048],[[],1049],[[],1050],[[],1051],[[],1052],[[],1053],[[],1054],[[],1055],[[],1056],[[],1057],[[],1058],[[],1059],[[],1060],[[],1061],[[],1062],[[],1063],[[],1064],[[],1065],[[],1066],[[],1067],[[],1068],[[],1069],[[],1070],[[],1071],[[],1072],[[],1073],[[],1074],[[],1075],[[],1076],[[],1077],[[],1078],[[],1079],[[],1080],[[],1081],[[],1082],[[],1083],[[],1084],[[],1085],[[],1086],[[],1087],[[],1088],[[],1089],[[],1090],[[],1091],[[],1092],[[],1093],[[],1094],[[],1095],[[],1096],[[],1097],[[],1098],[[],1099],[[],1100],[[],1101],[[],1102],[[],1103],[[],1104],[[],1105],[[],1106],[[],1107],[[],1108],[[],1109],[[],1110],[[],1111],[[],1112],[[],1113],[[],1114],[[],1115],[[],1116],[[],1117],[[],1118],[[],1119],[[],1120],[[],1121],[[],1122],[[],1123],[[],1124],[[],1125],[[],1126],[[],1127],[[],1128],[[],1129],[[],1130],[[],1131],[[],1132],[[],1133],[[],1134],[[],1135],[[],1136],[[],1137],[[],1138],[[],1139],[[],1140],[[],1141],[[],1142],[[],1143],[[],1144],[[],1145],[[],1146],[[],1147],[[],1148],[[],1149],[[],1150],[[],1151],[[],1152],[[],1153],[[],1154],[[],1155],[[],1156],[[],1157],[[],1158],[[],903],[[],1159],[[],1160],[[],1161],[[],1162],[[],904],[[],1163],[[],1164],[[],1165],[[],1166],[[],905],[[],1167],[[],1168],[[],1169],[[],1170],[[],1171],[[],906],[[],1172],[[],1173],[[],1174],[[],907],[[],908],[[],909],[[],1175],[[],1176],[[],910],[[],1177],[[],1178],[[],1179],[[],1180],[[],1181],[[],1182],[[],1183],[[],1184],[[],1185],[[],911],[[],1186],[[],1187],[[],912],[[],1188],[[],1189],[[],913],[[],1190],[[],1191],[[],914],[[],1192],[[],1193],[[],1194],[[],1195],[[],1196],[[],1197],[[],915],[[],916],[[],1198],[[],1199],[[],1200],[[],1201],[[],1202],[[],1203],[[],1204],[[],1205],[[],1206],[[],917],[[],1207],[[],1208],[[],1209],[[],1210],[[],1211],[[],918],[[],1212],[[],1213],[[],1214],[[],1215],[[],1216],[[],1217],[[],919],[[],1218],[[],1219],[[],920],[[],1220],[[],1221],[[],921],[[],1222],[[],1223],[[],1224],[[],1225],[[],922],[[],1226],[[],1227],[[],923],[[],1228],[[],924],[[],1229],[[],1230],[[],1231],[[],925],[[],926],[[],1232],[[],1233],[[],927],[[],1234],[[],1235],[[],1236],[[],1237],[[],1238],[[],1239],[[],1240],[[],1241],[[],1242],[[],1243],[[],1244],[[],1245],[[],928],[[],1246],[[],1247],[[],1248],[[],1249],[[],1250],[[],1251],[[],1252],[[],1253],[[],1254],[[],1255],[[],1256],[[],1257],[[],929],[[],1258],[[],1259],[[],1260],[[],1261],[[],1262],[[],1263],[[],1264],[[],1265],[[],930],[[],1266],[[],1267],[[],1268],[[],1269],[[],1270],[[],1271],[[],1272],[15,[[16,[931,11]]]],0,0,0,[[5,[17,[10]]],[[16,[932,18]]]],[[5,[17,[10]]],[[16,[933,18]]]],[[5,[17,[10]]],[[16,[934,18]]]],[[5,[17,[10]]],[[16,[935,18]]]],[[5,[17,[10]]],[[16,[936,18]]]],[[5,[17,[10]]],[[16,[937,18]]]],[[5,[17,[10]]],[[16,[938,18]]]],[[5,[17,[10]]],[[16,[939,18]]]],[[5,[17,[10]]],[[16,[940,18]]]],[[5,[17,[10]]],[[16,[941,18]]]],[[5,[17,[10]]],[[16,[942,18]]]],[[5,[17,[10]]],[[16,[943,18]]]],[[5,[17,[10]]],[[16,[944,18]]]],[[5,[17,[10]]],[[16,[945,18]]]],[[5,[17,[10]]],[[16,[946,18]]]],[[5,[17,[10]]],[[16,[947,18]]]],[[5,[17,[10]]],[[16,[948,18]]]],[[5,[17,[10]]],[[16,[949,18]]]],[[5,[17,[10]]],[[16,[950,18]]]],[[5,[17,[10]]],[[16,[951,18]]]],[[5,[17,[10]]],[[16,[952,18]]]],[[5,[17,[10]]],[[16,[953,18]]]],[[5,[17,[10]]],[[16,[954,18]]]],[[5,[17,[10]]],[[16,[955,18]]]],[[5,[17,[10]]],[[16,[956,18]]]],[[5,[17,[10]]],[[16,[957,18]]]],[[5,[17,[10]]],[[16,[958,18]]]],[[5,[17,[10]]],[[16,[959,18]]]],[[5,[17,[10]]],[[16,[960,18]]]],[[5,[17,[10]]],[[16,[961,18]]]],[[5,[17,[10]]],[[16,[962,18]]]],[[5,[17,[10]]],[[16,[963,18]]]],[[5,[17,[10]]],[[16,[964,18]]]],[[5,[17,[10]]],[[16,[965,18]]]],[[5,[17,[10]]],[[16,[966,18]]]],[[5,[17,[10]]],[[16,[967,18]]]],[[5,[17,[10]]],[[16,[968,18]]]],[[5,[17,[10]]],[[16,[969,18]]]],[[5,[17,[10]]],[[16,[970,18]]]],[[5,[17,[10]]],[[16,[971,18]]]],[[5,[17,[10]]],[[16,[972,18]]]],[[5,[17,[10]]],[[16,[973,18]]]],[[5,[17,[10]]],[[16,[974,18]]]],[[5,[17,[10]]],[[16,[975,18]]]],[[5,[17,[10]]],[[16,[976,18]]]],[[5,[17,[10]]],[[16,[977,18]]]],[[5,[17,[10]]],[[16,[978,18]]]],[[5,[17,[10]]],[[16,[979,18]]]],[[5,[17,[10]]],[[16,[980,18]]]],[[5,[17,[10]]],[[16,[981,18]]]],[[5,[17,[10]]],[[16,[982,18]]]],[[5,[17,[10]]],[[16,[983,18]]]],[[5,[17,[10]]],[[16,[984,18]]]],[[5,[17,[10]]],[[16,[985,18]]]],[[5,[17,[10]]],[[16,[986,18]]]],[[5,[17,[10]]],[[16,[987,18]]]],[[5,[17,[10]]],[[16,[988,18]]]],[[5,[17,[10]]],[[16,[989,18]]]],[[5,[17,[10]]],[[16,[990,18]]]],[[5,[17,[10]]],[[16,[991,18]]]],[[5,[17,[10]]],[[16,[992,18]]]],[[5,[17,[10]]],[[16,[993,18]]]],[[5,[17,[10]]],[[16,[994,18]]]],[[5,[17,[10]]],[[16,[995,18]]]],[[5,[17,[10]]],[[16,[996,18]]]],[[5,[17,[10]]],[[16,[997,18]]]],[[5,[17,[10]]],[[16,[998,18]]]],[[5,[17,[10]]],[[16,[999,18]]]],[[5,[17,[10]]],[[16,[1000,18]]]],[[5,[17,[10]]],[[16,[1001,18]]]],[[5,[17,[10]]],[[16,[1002,18]]]],[[5,[17,[10]]],[[16,[1003,18]]]],[[5,[17,[10]]],[[16,[1004,18]]]],[[5,[17,[10]]],[[16,[1005,18]]]],[[5,[17,[10]]],[[16,[1006,18]]]],[[5,[17,[10]]],[[16,[1007,18]]]],[[5,[17,[10]]],[[16,[1008,18]]]],[[5,[17,[10]]],[[16,[1009,18]]]],[[5,[17,[10]]],[[16,[1010,18]]]],[[5,[17,[10]]],[[16,[1011,18]]]],[[5,[17,[10]]],[[16,[1012,18]]]],[[5,[17,[10]]],[[16,[1013,18]]]],[[5,[17,[10]]],[[16,[1014,18]]]],[[5,[17,[10]]],[[16,[1015,18]]]],[[5,[17,[10]]],[[16,[1016,18]]]],[[5,[17,[10]]],[[16,[1017,18]]]],[[5,[17,[10]]],[[16,[1018,18]]]],[[5,[17,[10]]],[[16,[1019,18]]]],[[5,[17,[10]]],[[16,[1020,18]]]],[[5,[17,[10]]],[[16,[1021,18]]]],[[5,[17,[10]]],[[16,[1022,18]]]],[[5,[17,[10]]],[[16,[1023,18]]]],[[5,[17,[10]]],[[16,[1024,18]]]],[[5,[17,[10]]],[[16,[1025,18]]]],[[5,[17,[10]]],[[16,[1026,18]]]],[[5,[17,[10]]],[[16,[1027,18]]]],[[5,[17,[10]]],[[16,[1028,18]]]],[[5,[17,[10]]],[[16,[1029,18]]]],[[5,[17,[10]]],[[16,[1030,18]]]],[[5,[17,[10]]],[[16,[1031,18]]]],[[5,[17,[10]]],[[16,[1032,18]]]],[[5,[17,[10]]],[[16,[1033,18]]]],[[5,[17,[10]]],[[16,[1034,18]]]],[[5,[17,[10]]],[[16,[1035,18]]]],[[5,[17,[10]]],[[16,[1036,18]]]],[[5,[17,[10]]],[[16,[1037,18]]]],[[5,[17,[10]]],[[16,[1038,18]]]],[[5,[17,[10]]],[[16,[1039,18]]]],[[5,[17,[10]]],[[16,[1040,18]]]],[[5,[17,[10]]],[[16,[1041,18]]]],[[5,[17,[10]]],[[16,[1042,18]]]],[[5,[17,[10]]],[[16,[1043,18]]]],[[5,[17,[10]]],[[16,[1044,18]]]],[[5,[17,[10]]],[[16,[1045,18]]]],[[5,[17,[10]]],[[16,[1046,18]]]],[[5,[17,[10]]],[[16,[1047,18]]]],[[5,[17,[10]]],[[16,[1048,18]]]],[[5,[17,[10]]],[[16,[1049,18]]]],[[5,[17,[10]]],[[16,[1050,18]]]],[[5,[17,[10]]],[[16,[1051,18]]]],[[5,[17,[10]]],[[16,[1052,18]]]],[[5,[17,[10]]],[[16,[1053,18]]]],[[5,[17,[10]]],[[16,[1054,18]]]],[[5,[17,[10]]],[[16,[1055,18]]]],[[5,[17,[10]]],[[16,[1056,18]]]],[[5,[17,[10]]],[[16,[1057,18]]]],[[5,[17,[10]]],[[16,[1058,18]]]],[[5,[17,[10]]],[[16,[1059,18]]]],[[5,[17,[10]]],[[16,[1060,18]]]],[[5,[17,[10]]],[[16,[1061,18]]]],[[5,[17,[10]]],[[16,[1062,18]]]],[[5,[17,[10]]],[[16,[1063,18]]]],[[5,[17,[10]]],[[16,[1064,18]]]],[[5,[17,[10]]],[[16,[1065,18]]]],[[5,[17,[10]]],[[16,[1066,18]]]],[[5,[17,[10]]],[[16,[1067,18]]]],[[5,[17,[10]]],[[16,[1068,18]]]],[[5,[17,[10]]],[[16,[1069,18]]]],[[5,[17,[10]]],[[16,[1070,18]]]],[[5,[17,[10]]],[[16,[1071,18]]]],[[5,[17,[10]]],[[16,[1072,18]]]],[[5,[17,[10]]],[[16,[1073,18]]]],[[5,[17,[10]]],[[16,[1074,18]]]],[[5,[17,[10]]],[[16,[1075,18]]]],[[5,[17,[10]]],[[16,[1076,18]]]],[[5,[17,[10]]],[[16,[1077,18]]]],[[5,[17,[10]]],[[16,[1078,18]]]],[[5,[17,[10]]],[[16,[1079,18]]]],[[5,[17,[10]]],[[16,[1080,18]]]],[[5,[17,[10]]],[[16,[1081,18]]]],[[5,[17,[10]]],[[16,[1082,18]]]],[[5,[17,[10]]],[[16,[1083,18]]]],[[5,[17,[10]]],[[16,[1084,18]]]],[[5,[17,[10]]],[[16,[1085,18]]]],[[5,[17,[10]]],[[16,[1086,18]]]],[[5,[17,[10]]],[[16,[1087,18]]]],[[5,[17,[10]]],[[16,[1088,18]]]],[[5,[17,[10]]],[[16,[1089,18]]]],[[5,[17,[10]]],[[16,[1090,18]]]],[[5,[17,[10]]],[[16,[1091,18]]]],[[5,[17,[10]]],[[16,[1092,18]]]],[[5,[17,[10]]],[[16,[1093,18]]]],[[5,[17,[10]]],[[16,[1094,18]]]],[[5,[17,[10]]],[[16,[1095,18]]]],[[5,[17,[10]]],[[16,[1096,18]]]],[[5,[17,[10]]],[[16,[1097,18]]]],[[5,[17,[10]]],[[16,[1098,18]]]],[[5,[17,[10]]],[[16,[1099,18]]]],[[5,[17,[10]]],[[16,[1100,18]]]],[[5,[17,[10]]],[[16,[1101,18]]]],[[5,[17,[10]]],[[16,[1102,18]]]],[[5,[17,[10]]],[[16,[1103,18]]]],[[5,[17,[10]]],[[16,[1104,18]]]],[[5,[17,[10]]],[[16,[1105,18]]]],[[5,[17,[10]]],[[16,[1106,18]]]],[[5,[17,[10]]],[[16,[1107,18]]]],[[5,[17,[10]]],[[16,[1108,18]]]],[[5,[17,[10]]],[[16,[1109,18]]]],[[5,[17,[10]]],[[16,[1110,18]]]],[[5,[17,[10]]],[[16,[1111,18]]]],[[5,[17,[10]]],[[16,[1112,18]]]],[[5,[17,[10]]],[[16,[1113,18]]]],[[5,[17,[10]]],[[16,[1114,18]]]],[[5,[17,[10]]],[[16,[1115,18]]]],[[5,[17,[10]]],[[16,[1116,18]]]],[[5,[17,[10]]],[[16,[1117,18]]]],[[5,[17,[10]]],[[16,[1118,18]]]],[[5,[17,[10]]],[[16,[1119,18]]]],[[5,[17,[10]]],[[16,[1120,18]]]],[[5,[17,[10]]],[[16,[1121,18]]]],[[5,[17,[10]]],[[16,[1122,18]]]],[[5,[17,[10]]],[[16,[1123,18]]]],[[5,[17,[10]]],[[16,[1124,18]]]],[[5,[17,[10]]],[[16,[1125,18]]]],[[5,[17,[10]]],[[16,[1126,18]]]],[[5,[17,[10]]],[[16,[1127,18]]]],[[5,[17,[10]]],[[16,[1128,18]]]],[[5,[17,[10]]],[[16,[1129,18]]]],[[5,[17,[10]]],[[16,[1130,18]]]],[[5,[17,[10]]],[[16,[1131,18]]]],[[5,[17,[10]]],[[16,[1132,18]]]],[[5,[17,[10]]],[[16,[1133,18]]]],[[5,[17,[10]]],[[16,[1134,18]]]],[[5,[17,[10]]],[[16,[1135,18]]]],[[5,[17,[10]]],[[16,[1136,18]]]],[[5,[17,[10]]],[[16,[1137,18]]]],[[5,[17,[10]]],[[16,[1138,18]]]],[[5,[17,[10]]],[[16,[1139,18]]]],[[5,[17,[10]]],[[16,[1140,18]]]],[[5,[17,[10]]],[[16,[1141,18]]]],[[5,[17,[10]]],[[16,[1142,18]]]],[[5,[17,[10]]],[[16,[1143,18]]]],[[5,[17,[10]]],[[16,[1144,18]]]],[[5,[17,[10]]],[[16,[1145,18]]]],[[5,[17,[10]]],[[16,[1146,18]]]],[[5,[17,[10]]],[[16,[1147,18]]]],[[5,[17,[10]]],[[16,[1148,18]]]],[[5,[17,[10]]],[[16,[1149,18]]]],[[5,[17,[10]]],[[16,[1150,18]]]],[[5,[17,[10]]],[[16,[1151,18]]]],[[5,[17,[10]]],[[16,[1152,18]]]],[[5,[17,[10]]],[[16,[1153,18]]]],[[5,[17,[10]]],[[16,[1154,18]]]],[[5,[17,[10]]],[[16,[1155,18]]]],[-1,[[16,[931]]],19],[-1,[[16,[932]]],19],[-1,[[16,[933]]],19],[-1,[[16,[934]]],19],[-1,[[16,[935]]],19],[-1,[[16,[936]]],19],[-1,[[16,[937]]],19],[-1,[[16,[938]]],19],[-1,[[16,[939]]],19],[-1,[[16,[940]]],19],[-1,[[16,[941]]],19],[-1,[[16,[942]]],19],[-1,[[16,[943]]],19],[-1,[[16,[944]]],19],[-1,[[16,[945]]],19],[-1,[[16,[946]]],19],[-1,[[16,[947]]],19],[-1,[[16,[948]]],19],[-1,[[16,[949]]],19],[-1,[[16,[950]]],19],[-1,[[16,[951]]],19],[-1,[[16,[952]]],19],[-1,[[16,[953]]],19],[-1,[[16,[954]]],19],[-1,[[16,[955]]],19],[-1,[[16,[956]]],19],[-1,[[16,[957]]],19],[-1,[[16,[958]]],19],[-1,[[16,[959]]],19],[-1,[[16,[960]]],19],[-1,[[16,[961]]],19],[-1,[[16,[962]]],19],[-1,[[16,[963]]],19],[-1,[[16,[964]]],19],[-1,[[16,[965]]],19],[-1,[[16,[966]]],19],[-1,[[16,[967]]],19],[-1,[[16,[968]]],19],[-1,[[16,[969]]],19],[-1,[[16,[970]]],19],[-1,[[16,[971]]],19],[-1,[[16,[972]]],19],[-1,[[16,[973]]],19],[-1,[[16,[974]]],19],[-1,[[16,[975]]],19],[-1,[[16,[976]]],19],[-1,[[16,[977]]],19],[-1,[[16,[978]]],19],[-1,[[16,[979]]],19],[-1,[[16,[980]]],19],[-1,[[16,[981]]],19],[-1,[[16,[982]]],19],[-1,[[16,[983]]],19],[-1,[[16,[984]]],19],[-1,[[16,[985]]],19],[-1,[[16,[986]]],19],[-1,[[16,[987]]],19],[-1,[[16,[988]]],19],[-1,[[16,[989]]],19],[-1,[[16,[990]]],19],[-1,[[16,[991]]],19],[-1,[[16,[992]]],19],[-1,[[16,[993]]],19],[-1,[[16,[994]]],19],[-1,[[16,[995]]],19],[-1,[[16,[996]]],19],[-1,[[16,[997]]],19],[-1,[[16,[998]]],19],[-1,[[16,[999]]],19],[-1,[[16,[1000]]],19],[-1,[[16,[1001]]],19],[-1,[[16,[1002]]],19],[-1,[[16,[1003]]],19],[-1,[[16,[1004]]],19],[-1,[[16,[1005]]],19],[-1,[[16,[1006]]],19],[-1,[[16,[1007]]],19],[-1,[[16,[1008]]],19],[-1,[[16,[1009]]],19],[-1,[[16,[1010]]],19],[-1,[[16,[1011]]],19],[-1,[[16,[1012]]],19],[-1,[[16,[1013]]],19],[-1,[[16,[1014]]],19],[-1,[[16,[1015]]],19],[-1,[[16,[1016]]],19],[-1,[[16,[1017]]],19],[-1,[[16,[1018]]],19],[-1,[[16,[1019]]],19],[-1,[[16,[1020]]],19],[-1,[[16,[1021]]],19],[-1,[[16,[1022]]],19],[-1,[[16,[1023]]],19],[-1,[[16,[1024]]],19],[-1,[[16,[1025]]],19],[-1,[[16,[1026]]],19],[-1,[[16,[1027]]],19],[-1,[[16,[1028]]],19],[-1,[[16,[1029]]],19],[-1,[[16,[1030]]],19],[-1,[[16,[1031]]],19],[-1,[[16,[1032]]],19],[-1,[[16,[1033]]],19],[-1,[[16,[1034]]],19],[-1,[[16,[1035]]],19],[-1,[[16,[1036]]],19],[-1,[[16,[1037]]],19],[-1,[[16,[1038]]],19],[-1,[[16,[1039]]],19],[-1,[[16,[1040]]],19],[-1,[[16,[1041]]],19],[-1,[[16,[1042]]],19],[-1,[[16,[1043]]],19],[-1,[[16,[1044]]],19],[-1,[[16,[1045]]],19],[-1,[[16,[1046]]],19],[-1,[[16,[1047]]],19],[-1,[[16,[1048]]],19],[-1,[[16,[1049]]],19],[-1,[[16,[1050]]],19],[-1,[[16,[1051]]],19],[-1,[[16,[1052]]],19],[-1,[[16,[1053]]],19],[-1,[[16,[1054]]],19],[-1,[[16,[1055]]],19],[-1,[[16,[1056]]],19],[-1,[[16,[1057]]],19],[-1,[[16,[1058]]],19],[-1,[[16,[1059]]],19],[-1,[[16,[1060]]],19],[-1,[[16,[1061]]],19],[-1,[[16,[1062]]],19],[-1,[[16,[1063]]],19],[-1,[[16,[1064]]],19],[-1,[[16,[1065]]],19],[-1,[[16,[1066]]],19],[-1,[[16,[1067]]],19],[-1,[[16,[1068]]],19],[-1,[[16,[1069]]],19],[-1,[[16,[1070]]],19],[-1,[[16,[1071]]],19],[-1,[[16,[1072]]],19],[-1,[[16,[1073]]],19],[-1,[[16,[1074]]],19],[-1,[[16,[1075]]],19],[-1,[[16,[1076]]],19],[-1,[[16,[1077]]],19],[-1,[[16,[1078]]],19],[-1,[[16,[1079]]],19],[-1,[[16,[1080]]],19],[-1,[[16,[1081]]],19],[-1,[[16,[1082]]],19],[-1,[[16,[1083]]],19],[-1,[[16,[1084]]],19],[-1,[[16,[1085]]],19],[-1,[[16,[1086]]],19],[-1,[[16,[1087]]],19],[-1,[[16,[1088]]],19],[-1,[[16,[1089]]],19],[-1,[[16,[1090]]],19],[-1,[[16,[1091]]],19],[-1,[[16,[1092]]],19],[-1,[[16,[1093]]],19],[-1,[[16,[1094]]],19],[-1,[[16,[1095]]],19],[-1,[[16,[1096]]],19],[-1,[[16,[1097]]],19],[-1,[[16,[1098]]],19],[-1,[[16,[1099]]],19],[-1,[[16,[1100]]],19],[-1,[[16,[1101]]],19],[-1,[[16,[1102]]],19],[-1,[[16,[1103]]],19],[-1,[[16,[1104]]],19],[-1,[[16,[1105]]],19],[-1,[[16,[1106]]],19],[-1,[[16,[1107]]],19],[-1,[[16,[1108]]],19],[-1,[[16,[1109]]],19],[-1,[[16,[1110]]],19],[-1,[[16,[1111]]],19],[-1,[[16,[1112]]],19],[-1,[[16,[1113]]],19],[-1,[[16,[1114]]],19],[-1,[[16,[1115]]],19],[-1,[[16,[1116]]],19],[-1,[[16,[1117]]],19],[-1,[[16,[1118]]],19],[-1,[[16,[1119]]],19],[-1,[[16,[1120]]],19],[-1,[[16,[1121]]],19],[-1,[[16,[1122]]],19],[-1,[[16,[1123]]],19],[-1,[[16,[1124]]],19],[-1,[[16,[1125]]],19],[-1,[[16,[1126]]],19],[-1,[[16,[1127]]],19],[-1,[[16,[1128]]],19],[-1,[[16,[1129]]],19],[-1,[[16,[1130]]],19],[-1,[[16,[1131]]],19],[-1,[[16,[1132]]],19],[-1,[[16,[1133]]],19],[-1,[[16,[1134]]],19],[-1,[[16,[1135]]],19],[-1,[[16,[1136]]],19],[-1,[[16,[1137]]],19],[-1,[[16,[1138]]],19],[-1,[[16,[1139]]],19],[-1,[[16,[1140]]],19],[-1,[[16,[1141]]],19],[-1,[[16,[1142]]],19],[-1,[[16,[1143]]],19],[-1,[[16,[1144]]],19],[-1,[[16,[1145]]],19],[-1,[[16,[1146]]],19],[-1,[[16,[1147]]],19],[-1,[[16,[1148]]],19],[-1,[[16,[1149]]],19],[-1,[[16,[1150]]],19],[-1,[[16,[1151]]],19],[-1,[[16,[1152]]],19],[-1,[[16,[1153]]],19],[-1,[[16,[1154]]],19],[-1,[[16,[1155]]],19],[-1,[[16,[1156]]],19],[-1,[[16,[1157]]],19],[-1,[[16,[1158]]],19],[-1,[[16,[903]]],19],[-1,[[16,[1159]]],19],[-1,[[16,[1160]]],19],[-1,[[16,[1161]]],19],[-1,[[16,[1162]]],19],[-1,[[16,[904]]],19],[-1,[[16,[1163]]],19],[-1,[[16,[1164]]],19],[-1,[[16,[1165]]],19],[-1,[[16,[1166]]],19],[-1,[[16,[905]]],19],[-1,[[16,[1167]]],19],[-1,[[16,[1168]]],19],[-1,[[16,[1169]]],19],[-1,[[16,[1170]]],19],[-1,[[16,[1171]]],19],[-1,[[16,[906]]],19],[-1,[[16,[1172]]],19],[-1,[[16,[1173]]],19],[-1,[[16,[1174]]],19],[-1,[[16,[907]]],19],[-1,[[16,[908]]],19],[-1,[[16,[909]]],19],[-1,[[16,[1175]]],19],[-1,[[16,[1176]]],19],[-1,[[16,[910]]],19],[-1,[[16,[1177]]],19],[-1,[[16,[1178]]],19],[-1,[[16,[1179]]],19],[-1,[[16,[1180]]],19],[-1,[[16,[1181]]],19],[-1,[[16,[1182]]],19],[-1,[[16,[1183]]],19],[-1,[[16,[1184]]],19],[-1,[[16,[1185]]],19],[-1,[[16,[911]]],19],[-1,[[16,[1186]]],19],[-1,[[16,[1187]]],19],[-1,[[16,[912]]],19],[-1,[[16,[1188]]],19],[-1,[[16,[1189]]],19],[-1,[[16,[913]]],19],[-1,[[16,[1190]]],19],[-1,[[16,[1191]]],19],[-1,[[16,[914]]],19],[-1,[[16,[1192]]],19],[-1,[[16,[1193]]],19],[-1,[[16,[1194]]],19],[-1,[[16,[1195]]],19],[-1,[[16,[1196]]],19],[-1,[[16,[1197]]],19],[-1,[[16,[915]]],19],[-1,[[16,[916]]],19],[-1,[[16,[1198]]],19],[-1,[[16,[1199]]],19],[-1,[[16,[1200]]],19],[-1,[[16,[1201]]],19],[-1,[[16,[1202]]],19],[-1,[[16,[1203]]],19],[-1,[[16,[1204]]],19],[-1,[[16,[1205]]],19],[-1,[[16,[1206]]],19],[-1,[[16,[917]]],19],[-1,[[16,[1207]]],19],[-1,[[16,[1208]]],19],[-1,[[16,[1209]]],19],[-1,[[16,[1210]]],19],[-1,[[16,[1211]]],19],[-1,[[16,[918]]],19],[-1,[[16,[1212]]],19],[-1,[[16,[1213]]],19],[-1,[[16,[1214]]],19],[-1,[[16,[1215]]],19],[-1,[[16,[1216]]],19],[-1,[[16,[1217]]],19],[-1,[[16,[919]]],19],[-1,[[16,[1218]]],19],[-1,[[16,[1219]]],19],[-1,[[16,[920]]],19],[-1,[[16,[1220]]],19],[-1,[[16,[1221]]],19],[-1,[[16,[921]]],19],[-1,[[16,[1222]]],19],[-1,[[16,[1223]]],19],[-1,[[16,[1224]]],19],[-1,[[16,[1225]]],19],[-1,[[16,[922]]],19],[-1,[[16,[1226]]],19],[-1,[[16,[1227]]],19],[-1,[[16,[923]]],19],[-1,[[16,[1228]]],19],[-1,[[16,[924]]],19],[-1,[[16,[1229]]],19],[-1,[[16,[1230]]],19],[-1,[[16,[1231]]],19],[-1,[[16,[925]]],19],[-1,[[16,[926]]],19],[-1,[[16,[1232]]],19],[-1,[[16,[1233]]],19],[-1,[[16,[927]]],19],[-1,[[16,[1234]]],19],[-1,[[16,[1235]]],19],[-1,[[16,[1236]]],19],[-1,[[16,[1237]]],19],[-1,[[16,[1238]]],19],[-1,[[16,[1239]]],19],[-1,[[16,[1240]]],19],[-1,[[16,[1241]]],19],[-1,[[16,[1242]]],19],[-1,[[16,[1243]]],19],[-1,[[16,[1244]]],19],[-1,[[16,[1245]]],19],[-1,[[16,[928]]],19],[-1,[[16,[1246]]],19],[-1,[[16,[1247]]],19],[-1,[[16,[1248]]],19],[-1,[[16,[1249]]],19],[-1,[[16,[1250]]],19],[-1,[[16,[1251]]],19],[-1,[[16,[1252]]],19],[-1,[[16,[1253]]],19],[-1,[[16,[1254]]],19],[-1,[[16,[1255]]],19],[-1,[[16,[1256]]],19],[-1,[[16,[1257]]],19],[-1,[[16,[929]]],19],[-1,[[16,[1258]]],19],[-1,[[16,[1259]]],19],[-1,[[16,[1260]]],19],[-1,[[16,[1261]]],19],[-1,[[16,[1262]]],19],[-1,[[16,[1263]]],19],[-1,[[16,[1264]]],19],[-1,[[16,[1265]]],19],[-1,[[16,[930]]],19],[-1,[[16,[1266]]],19],[-1,[[16,[1267]]],19],[-1,[[16,[1268]]],19],[-1,[[16,[1269]]],19],[-1,[[16,[1270]]],19],[-1,[[16,[1271]]],19],[-1,[[16,[1272]]],19],0,0,0,0,0,0,0,0,0,0,0,[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],903],[[],904],[[],905],[[],906],[[],907],[[],908],[[],909],[[],910],[[],911],[[],912],[[],913],[[],914],[[],915],[[],916],[[],917],[[],918],[[],919],[[],920],[[],921],[[],922],[[],923],[[],924],[[],925],[[],926],[[],927],[[],928],[[],929],[[],930],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[931,931],20],[[932,932],20],[[933,933],20],[[934,934],20],[[935,935],20],[[936,936],20],[[937,937],20],[[938,938],20],[[939,939],20],[[940,940],20],[[941,941],20],[[942,942],20],[[943,943],20],[[944,944],20],[[945,945],20],[[946,946],20],[[947,947],20],[[948,948],20],[[949,949],20],[[950,950],20],[[951,951],20],[[952,952],20],[[953,953],20],[[954,954],20],[[955,955],20],[[956,956],20],[[957,957],20],[[958,958],20],[[959,959],20],[[960,960],20],[[961,961],20],[[962,962],20],[[963,963],20],[[964,964],20],[[965,965],20],[[966,966],20],[[967,967],20],[[968,968],20],[[969,969],20],[[970,970],20],[[971,971],20],[[972,972],20],[[973,973],20],[[974,974],20],[[975,975],20],[[976,976],20],[[977,977],20],[[978,978],20],[[979,979],20],[[980,980],20],[[981,981],20],[[982,982],20],[[983,983],20],[[984,984],20],[[985,985],20],[[986,986],20],[[987,987],20],[[988,988],20],[[989,989],20],[[990,990],20],[[991,991],20],[[992,992],20],[[993,993],20],[[994,994],20],[[995,995],20],[[996,996],20],[[997,997],20],[[998,998],20],[[999,999],20],[[1000,1000],20],[[1001,1001],20],[[1002,1002],20],[[1003,1003],20],[[1004,1004],20],[[1005,1005],20],[[1006,1006],20],[[1007,1007],20],[[1008,1008],20],[[1009,1009],20],[[1010,1010],20],[[1011,1011],20],[[1012,1012],20],[[1013,1013],20],[[1014,1014],20],[[1015,1015],20],[[1016,1016],20],[[1017,1017],20],[[1018,1018],20],[[1019,1019],20],[[1020,1020],20],[[1021,1021],20],[[1022,1022],20],[[1023,1023],20],[[1024,1024],20],[[1025,1025],20],[[1026,1026],20],[[1027,1027],20],[[1028,1028],20],[[1029,1029],20],[[1030,1030],20],[[1031,1031],20],[[1032,1032],20],[[1033,1033],20],[[1034,1034],20],[[1035,1035],20],[[1036,1036],20],[[1037,1037],20],[[1038,1038],20],[[1039,1039],20],[[1040,1040],20],[[1041,1041],20],[[1042,1042],20],[[1043,1043],20],[[1044,1044],20],[[1045,1045],20],[[1046,1046],20],[[1047,1047],20],[[1048,1048],20],[[1049,1049],20],[[1050,1050],20],[[1051,1051],20],[[1052,1052],20],[[1053,1053],20],[[1054,1054],20],[[1055,1055],20],[[1056,1056],20],[[1057,1057],20],[[1058,1058],20],[[1059,1059],20],[[1060,1060],20],[[1061,1061],20],[[1062,1062],20],[[1063,1063],20],[[1064,1064],20],[[1065,1065],20],[[1066,1066],20],[[1067,1067],20],[[1068,1068],20],[[1069,1069],20],[[1070,1070],20],[[1071,1071],20],[[1072,1072],20],[[1073,1073],20],[[1074,1074],20],[[1075,1075],20],[[1076,1076],20],[[1077,1077],20],[[1078,1078],20],[[1079,1079],20],[[1080,1080],20],[[1081,1081],20],[[1082,1082],20],[[1083,1083],20],[[1084,1084],20],[[1085,1085],20],[[1086,1086],20],[[1087,1087],20],[[1088,1088],20],[[1089,1089],20],[[1090,1090],20],[[1091,1091],20],[[1092,1092],20],[[1093,1093],20],[[1094,1094],20],[[1095,1095],20],[[1096,1096],20],[[1097,1097],20],[[1098,1098],20],[[1099,1099],20],[[1100,1100],20],[[1101,1101],20],[[1102,1102],20],[[1103,1103],20],[[1104,1104],20],[[1105,1105],20],[[1106,1106],20],[[1107,1107],20],[[1108,1108],20],[[1109,1109],20],[[1110,1110],20],[[1111,1111],20],[[1112,1112],20],[[1113,1113],20],[[1114,1114],20],[[1115,1115],20],[[1116,1116],20],[[1117,1117],20],[[1118,1118],20],[[1119,1119],20],[[1120,1120],20],[[1121,1121],20],[[1122,1122],20],[[1123,1123],20],[[1124,1124],20],[[1125,1125],20],[[1126,1126],20],[[1127,1127],20],[[1128,1128],20],[[1129,1129],20],[[1130,1130],20],[[1131,1131],20],[[1132,1132],20],[[1133,1133],20],[[1134,1134],20],[[1135,1135],20],[[1136,1136],20],[[1137,1137],20],[[1138,1138],20],[[1139,1139],20],[[1140,1140],20],[[1141,1141],20],[[1142,1142],20],[[1143,1143],20],[[1144,1144],20],[[1145,1145],20],[[1146,1146],20],[[1147,1147],20],[[1148,1148],20],[[1149,1149],20],[[1150,1150],20],[[1151,1151],20],[[1152,1152],20],[[1153,1153],20],[[1154,1154],20],[[1155,1155],20],[[1156,1156],20],[[1157,1157],20],[[1158,1158],20],[[903,903],20],[[1159,1159],20],[[1160,1160],20],[[1161,1161],20],[[1162,1162],20],[[904,904],20],[[1163,1163],20],[[1164,1164],20],[[1165,1165],20],[[1166,1166],20],[[905,905],20],[[1167,1167],20],[[1168,1168],20],[[1169,1169],20],[[1170,1170],20],[[1171,1171],20],[[906,906],20],[[1172,1172],20],[[1173,1173],20],[[1174,1174],20],[[907,907],20],[[908,908],20],[[909,909],20],[[1175,1175],20],[[1176,1176],20],[[910,910],20],[[1177,1177],20],[[1178,1178],20],[[1179,1179],20],[[1180,1180],20],[[1181,1181],20],[[1182,1182],20],[[1183,1183],20],[[1184,1184],20],[[1185,1185],20],[[911,911],20],[[1186,1186],20],[[1187,1187],20],[[912,912],20],[[1188,1188],20],[[1189,1189],20],[[913,913],20],[[1190,1190],20],[[1191,1191],20],[[914,914],20],[[1192,1192],20],[[1193,1193],20],[[1194,1194],20],[[1195,1195],20],[[1196,1196],20],[[1197,1197],20],[[915,915],20],[[916,916],20],[[1198,1198],20],[[1199,1199],20],[[1200,1200],20],[[1201,1201],20],[[1202,1202],20],[[1203,1203],20],[[1204,1204],20],[[1205,1205],20],[[1206,1206],20],[[917,917],20],[[1207,1207],20],[[1208,1208],20],[[1209,1209],20],[[1210,1210],20],[[1211,1211],20],[[918,918],20],[[1212,1212],20],[[1213,1213],20],[[1214,1214],20],[[1215,1215],20],[[1216,1216],20],[[1217,1217],20],[[919,919],20],[[1218,1218],20],[[1219,1219],20],[[920,920],20],[[1220,1220],20],[[1221,1221],20],[[921,921],20],[[1222,1222],20],[[1223,1223],20],[[1224,1224],20],[[1225,1225],20],[[922,922],20],[[1226,1226],20],[[1227,1227],20],[[923,923],20],[[1228,1228],20],[[924,924],20],[[1229,1229],20],[[1230,1230],20],[[1231,1231],20],[[925,925],20],[[926,926],20],[[1232,1232],20],[[1233,1233],20],[[927,927],20],[[1234,1234],20],[[1235,1235],20],[[1236,1236],20],[[1237,1237],20],[[1238,1238],20],[[1239,1239],20],[[1240,1240],20],[[1241,1241],20],[[1242,1242],20],[[1243,1243],20],[[1244,1244],20],[[1245,1245],20],[[928,928],20],[[1246,1246],20],[[1247,1247],20],[[1248,1248],20],[[1249,1249],20],[[1250,1250],20],[[1251,1251],20],[[1252,1252],20],[[1253,1253],20],[[1254,1254],20],[[1255,1255],20],[[1256,1256],20],[[1257,1257],20],[[929,929],20],[[1258,1258],20],[[1259,1259],20],[[1260,1260],20],[[1261,1261],20],[[1262,1262],20],[[1263,1263],20],[[1264,1264],20],[[1265,1265],20],[[930,930],20],[[1266,1266],20],[[1267,1267],20],[[1268,1268],20],[[1269,1269],20],[[1270,1270],20],[[1271,1271],20],[[1272,1272],20],0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,-1],9,525],[[904,-1],9,525],[[905,-1],9,525],[[906,-1],9,525],[[907,-1],9,525],[[908,-1],9,525],[[909,-1],9,525],[[910,-1],9,525],[[911,-1],9,525],[[912,-1],9,525],[[913,-1],9,525],[[914,-1],9,525],[[915,-1],9,525],[[916,-1],9,525],[[917,-1],9,525],[[918,-1],9,525],[[919,-1],9,525],[[920,-1],9,525],[[921,-1],9,525],[[922,-1],9,525],[[923,-1],9,525],[[924,-1],9,525],[[925,-1],9,525],[[926,-1],9,525],[[927,-1],9,525],[[928,-1],9,525],[[929,-1],9,525],[[930,-1],9,525],[15,10],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[931,21],22],[[932,21],22],[[933,21],22],[[934,21],22],[[935,21],22],[[936,21],22],[[937,21],22],[[938,21],22],[[939,21],22],[[940,21],22],[[941,21],22],[[942,21],22],[[943,21],22],[[944,21],22],[[945,21],22],[[946,21],22],[[947,21],22],[[948,21],22],[[949,21],22],[[950,21],22],[[951,21],22],[[952,21],22],[[953,21],22],[[954,21],22],[[955,21],22],[[956,21],22],[[957,21],22],[[958,21],22],[[959,21],22],[[960,21],22],[[961,21],22],[[962,21],22],[[963,21],22],[[964,21],22],[[965,21],22],[[966,21],22],[[967,21],22],[[968,21],22],[[969,21],22],[[970,21],22],[[971,21],22],[[972,21],22],[[973,21],22],[[974,21],22],[[975,21],22],[[976,21],22],[[977,21],22],[[978,21],22],[[979,21],22],[[980,21],22],[[981,21],22],[[982,21],22],[[983,21],22],[[984,21],22],[[985,21],22],[[986,21],22],[[987,21],22],[[988,21],22],[[989,21],22],[[990,21],22],[[991,21],22],[[992,21],22],[[993,21],22],[[994,21],22],[[995,21],22],[[996,21],22],[[997,21],22],[[998,21],22],[[999,21],22],[[1000,21],22],[[1001,21],22],[[1002,21],22],[[1003,21],22],[[1004,21],22],[[1005,21],22],[[1006,21],22],[[1007,21],22],[[1008,21],22],[[1009,21],22],[[1010,21],22],[[1011,21],22],[[1012,21],22],[[1013,21],22],[[1014,21],22],[[1015,21],22],[[1016,21],22],[[1017,21],22],[[1018,21],22],[[1019,21],22],[[1020,21],22],[[1021,21],22],[[1022,21],22],[[1023,21],22],[[1024,21],22],[[1025,21],22],[[1026,21],22],[[1027,21],22],[[1028,21],22],[[1029,21],22],[[1030,21],22],[[1031,21],22],[[1032,21],22],[[1033,21],22],[[1034,21],22],[[1035,21],22],[[1036,21],22],[[1037,21],22],[[1038,21],22],[[1039,21],22],[[1040,21],22],[[1041,21],22],[[1042,21],22],[[1043,21],22],[[1044,21],22],[[1045,21],22],[[1046,21],22],[[1047,21],22],[[1048,21],22],[[1049,21],22],[[1050,21],22],[[1051,21],22],[[1052,21],22],[[1053,21],22],[[1054,21],22],[[1055,21],22],[[1056,21],22],[[1057,21],22],[[1058,21],22],[[1059,21],22],[[1060,21],22],[[1061,21],22],[[1062,21],22],[[1063,21],22],[[1064,21],22],[[1065,21],22],[[1066,21],22],[[1067,21],22],[[1068,21],22],[[1069,21],22],[[1070,21],22],[[1071,21],22],[[1072,21],22],[[1073,21],22],[[1074,21],22],[[1075,21],22],[[1076,21],22],[[1077,21],22],[[1078,21],22],[[1079,21],22],[[1080,21],22],[[1081,21],22],[[1082,21],22],[[1083,21],22],[[1084,21],22],[[1085,21],22],[[1086,21],22],[[1087,21],22],[[1088,21],22],[[1089,21],22],[[1090,21],22],[[1091,21],22],[[1092,21],22],[[1093,21],22],[[1094,21],22],[[1095,21],22],[[1096,21],22],[[1097,21],22],[[1098,21],22],[[1099,21],22],[[1100,21],22],[[1101,21],22],[[1102,21],22],[[1103,21],22],[[1104,21],22],[[1105,21],22],[[1106,21],22],[[1107,21],22],[[1108,21],22],[[1109,21],22],[[1110,21],22],[[1111,21],22],[[1112,21],22],[[1113,21],22],[[1114,21],22],[[1115,21],22],[[1116,21],22],[[1117,21],22],[[1118,21],22],[[1119,21],22],[[1120,21],22],[[1121,21],22],[[1122,21],22],[[1123,21],22],[[1124,21],22],[[1125,21],22],[[1126,21],22],[[1127,21],22],[[1128,21],22],[[1129,21],22],[[1130,21],22],[[1131,21],22],[[1132,21],22],[[1133,21],22],[[1134,21],22],[[1135,21],22],[[1136,21],22],[[1137,21],22],[[1138,21],22],[[1139,21],22],[[1140,21],22],[[1141,21],22],[[1142,21],22],[[1143,21],22],[[1144,21],22],[[1145,21],22],[[1146,21],22],[[1147,21],22],[[1148,21],22],[[1149,21],22],[[1150,21],22],[[1151,21],22],[[1152,21],22],[[1153,21],22],[[1154,21],22],[[1155,21],22],[[1156,21],22],[[1157,21],22],[[1158,21],22],[[903,21],22],[[903,21],22],[[903,21],22],[[903,21],22],[[903,21],22],[[1159,21],22],[[1160,21],22],[[1161,21],22],[[1162,21],22],[[904,21],22],[[904,21],22],[[904,21],22],[[904,21],22],[[904,21],22],[[1163,21],22],[[1164,21],22],[[1165,21],22],[[1166,21],22],[[905,21],22],[[905,21],22],[[905,21],22],[[905,21],22],[[905,21],22],[[1167,21],22],[[1168,21],22],[[1169,21],22],[[1170,21],22],[[1171,21],22],[[906,21],22],[[906,21],22],[[906,21],22],[[906,21],22],[[906,21],22],[[1172,21],22],[[1173,21],22],[[1174,21],22],[[907,21],22],[[907,21],22],[[907,21],22],[[907,21],22],[[907,21],22],[[908,21],22],[[908,21],22],[[908,21],22],[[908,21],22],[[908,21],22],[[909,21],22],[[909,21],22],[[909,21],22],[[909,21],22],[[909,21],22],[[1175,21],22],[[1176,21],22],[[910,21],22],[[910,21],22],[[910,21],22],[[910,21],22],[[910,21],22],[[1177,21],22],[[1178,21],22],[[1179,21],22],[[1180,21],22],[[1181,21],22],[[1182,21],22],[[1183,21],22],[[1184,21],22],[[1185,21],22],[[911,21],22],[[911,21],22],[[911,21],22],[[911,21],22],[[911,21],22],[[1186,21],22],[[1187,21],22],[[912,21],22],[[912,21],22],[[912,21],22],[[912,21],22],[[912,21],22],[[1188,21],22],[[1189,21],22],[[913,21],22],[[913,21],22],[[913,21],22],[[913,21],22],[[913,21],22],[[1190,21],22],[[1191,21],22],[[914,21],22],[[914,21],22],[[914,21],22],[[914,21],22],[[914,21],22],[[1192,21],22],[[1193,21],22],[[1194,21],22],[[1195,21],22],[[1196,21],22],[[1197,21],22],[[915,21],22],[[915,21],22],[[915,21],22],[[915,21],22],[[915,21],22],[[916,21],22],[[916,21],22],[[916,21],22],[[916,21],22],[[916,21],22],[[1198,21],22],[[1199,21],22],[[1200,21],22],[[1201,21],22],[[1202,21],22],[[1203,21],22],[[1204,21],22],[[1205,21],22],[[1206,21],22],[[917,21],22],[[917,21],22],[[917,21],22],[[917,21],22],[[917,21],22],[[1207,21],22],[[1208,21],22],[[1209,21],22],[[1210,21],22],[[1211,21],22],[[918,21],22],[[918,21],22],[[918,21],22],[[918,21],22],[[918,21],22],[[1212,21],22],[[1213,21],22],[[1214,21],22],[[1215,21],22],[[1216,21],22],[[1217,21],22],[[919,21],22],[[919,21],22],[[919,21],22],[[919,21],22],[[919,21],22],[[1218,21],22],[[1219,21],22],[[920,21],22],[[920,21],22],[[920,21],22],[[920,21],22],[[920,21],22],[[1220,21],22],[[1221,21],22],[[921,21],22],[[921,21],22],[[921,21],22],[[921,21],22],[[921,21],22],[[1222,21],22],[[1223,21],22],[[1224,21],22],[[1225,21],22],[[922,21],22],[[922,21],22],[[922,21],22],[[922,21],22],[[922,21],22],[[1226,21],22],[[1227,21],22],[[923,21],22],[[923,21],22],[[923,21],22],[[923,21],22],[[923,21],22],[[1228,21],22],[[924,21],22],[[924,21],22],[[924,21],22],[[924,21],22],[[924,21],22],[[1229,21],22],[[1230,21],22],[[1231,21],22],[[925,21],22],[[925,21],22],[[925,21],22],[[925,21],22],[[925,21],22],[[926,21],22],[[926,21],22],[[926,21],22],[[926,21],22],[[926,21],22],[[1232,21],22],[[1233,21],22],[[927,21],22],[[927,21],22],[[927,21],22],[[927,21],22],[[927,21],22],[[1234,21],22],[[1235,21],22],[[1236,21],22],[[1237,21],22],[[1238,21],22],[[1239,21],22],[[1240,21],22],[[1241,21],22],[[1242,21],22],[[1243,21],22],[[1244,21],22],[[1245,21],22],[[928,21],22],[[928,21],22],[[928,21],22],[[928,21],22],[[928,21],22],[[1246,21],22],[[1247,21],22],[[1248,21],22],[[1249,21],22],[[1250,21],22],[[1251,21],22],[[1252,21],22],[[1253,21],22],[[1254,21],22],[[1255,21],22],[[1256,21],22],[[1257,21],22],[[929,21],22],[[929,21],22],[[929,21],22],[[929,21],22],[[929,21],22],[[1258,21],22],[[1259,21],22],[[1260,21],22],[[1261,21],22],[[1262,21],22],[[1263,21],22],[[1264,21],22],[[1265,21],22],[[930,21],22],[[930,21],22],[[930,21],22],[[930,21],22],[[930,21],22],[[1266,21],22],[[1267,21],22],[[1268,21],22],[[1269,21],22],[[1270,21],22],[[1271,21],22],[[1272,21],22],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[10,[[526,[903]]]],[10,[[526,[904]]]],[10,[[526,[905]]]],[65,[[526,[906]]]],[2,[[526,[907]]]],[2,[[526,[908]]]],[15,[[526,[909]]]],[2,[[526,[910]]]],[10,[[526,[911]]]],[2,[[526,[912]]]],[2,[[526,[913]]]],[2,[[526,[914]]]],[15,[[526,[915]]]],[15,[[526,[916]]]],[2,[[526,[917]]]],[15,[[526,[918]]]],[2,[[526,[919]]]],[2,[[526,[920]]]],[65,[[526,[921]]]],[15,[[526,[922]]]],[2,[[526,[923]]]],[15,[[526,[924]]]],[10,[[526,[925]]]],[2,[[526,[926]]]],[10,[[526,[927]]]],[2,[[526,[928]]]],[15,[[526,[929]]]],[10,[[526,[930]]]],[10,903],[10,904],[10,905],[65,906],[2,907],[2,908],[15,909],[2,910],[10,911],[2,912],[2,913],[2,914],[15,915],[15,916],[2,917],[15,918],[2,919],[2,920],[65,921],[15,922],[2,923],[15,924],[10,925],[2,926],[10,927],[2,928],[15,929],[10,930],[10,903],[10,904],[10,905],[65,906],[2,907],[2,908],[15,909],[2,910],[10,911],[2,912],[2,913],[2,914],[15,915],[15,916],[2,917],[15,918],[2,919],[2,920],[65,921],[15,922],[2,923],[15,924],[10,925],[2,926],[10,927],[2,928],[15,929],[10,930],[527,[[526,[1156]]]],[527,[[526,[1157]]]],[527,[[526,[1158]]]],[527,[[526,[1159]]]],[527,[[526,[1160]]]],[527,[[526,[1161]]]],[527,[[526,[1162]]]],[527,[[526,[1163]]]],[527,[[526,[1164]]]],[527,[[526,[1165]]]],[527,[[526,[1166]]]],[527,[[526,[1167]]]],[527,[[526,[1168]]]],[527,[[526,[1169]]]],[527,[[526,[1170]]]],[527,[[526,[1171]]]],[527,[[526,[1172]]]],[527,[[526,[1173]]]],[527,[[526,[1174]]]],[527,[[526,[1175]]]],[527,[[526,[1176]]]],[527,[[526,[1177]]]],[527,[[526,[1178]]]],[527,[[526,[1179]]]],[527,[[526,[1180]]]],[527,[[526,[1181]]]],[527,[[526,[1182]]]],[527,[[526,[1183]]]],[527,[[526,[1184]]]],[527,[[526,[1185]]]],[527,[[526,[1186]]]],[527,[[526,[1187]]]],[527,[[526,[1188]]]],[527,[[526,[1189]]]],[527,[[526,[1190]]]],[527,[[526,[1191]]]],[527,[[526,[1192]]]],[527,[[526,[1193]]]],[527,[[526,[1194]]]],[527,[[526,[1195]]]],[527,[[526,[1196]]]],[527,[[526,[1197]]]],[527,[[526,[1198]]]],[527,[[526,[1199]]]],[527,[[526,[1200]]]],[527,[[526,[1201]]]],[527,[[526,[1202]]]],[527,[[526,[1203]]]],[527,[[526,[1204]]]],[527,[[526,[1205]]]],[527,[[526,[1206]]]],[527,[[526,[1207]]]],[527,[[526,[1208]]]],[527,[[526,[1209]]]],[527,[[526,[1210]]]],[527,[[526,[1211]]]],[527,[[526,[1212]]]],[527,[[526,[1213]]]],[527,[[526,[1214]]]],[527,[[526,[1215]]]],[527,[[526,[1216]]]],[527,[[526,[1217]]]],[527,[[526,[1218]]]],[527,[[526,[1219]]]],[527,[[526,[1220]]]],[527,[[526,[1221]]]],[527,[[526,[1222]]]],[527,[[526,[1223]]]],[527,[[526,[1224]]]],[527,[[526,[1225]]]],[527,[[526,[1226]]]],[527,[[526,[1227]]]],[527,[[526,[1228]]]],[527,[[526,[1229]]]],[527,[[526,[1230]]]],[527,[[526,[1231]]]],[527,[[526,[1232]]]],[527,[[526,[1233]]]],[527,[[526,[1234]]]],[527,[[526,[1235]]]],[527,[[526,[1236]]]],[527,[[526,[1237]]]],[527,[[526,[1238]]]],[527,[[526,[1239]]]],[527,[[526,[1240]]]],[527,[[526,[1241]]]],[527,[[526,[1242]]]],[527,[[526,[1243]]]],[527,[[526,[1244]]]],[527,[[526,[1245]]]],[527,[[526,[1246]]]],[527,[[526,[1247]]]],[527,[[526,[1248]]]],[527,[[526,[1249]]]],[527,[[526,[1250]]]],[527,[[526,[1251]]]],[527,[[526,[1252]]]],[527,[[526,[1253]]]],[527,[[526,[1254]]]],[527,[[526,[1255]]]],[527,[[526,[1256]]]],[527,[[526,[1257]]]],[527,[[526,[1258]]]],[527,[[526,[1259]]]],[527,[[526,[1260]]]],[527,[[526,[1261]]]],[527,[[526,[1262]]]],[527,[[526,[1263]]]],[527,[[526,[1264]]]],[527,[[526,[1265]]]],[527,[[526,[1266]]]],[527,[[526,[1267]]]],[527,[[526,[1268]]]],[527,[[526,[1269]]]],[527,[[526,[1270]]]],[527,[[526,[1271]]]],[527,[[526,[1272]]]],[-1,903,525],[-1,904,525],[-1,905,525],[-1,906,525],[-1,907,525],[-1,908,525],[-1,909,525],[-1,910,525],[-1,911,525],[-1,912,525],[-1,913,525],[-1,914,525],[-1,915,525],[-1,916,525],[-1,917,525],[-1,918,525],[-1,919,525],[-1,920,525],[-1,921,525],[-1,922,525],[-1,923,525],[-1,924,525],[-1,925,525],[-1,926,525],[-1,927,525],[-1,928,525],[-1,929,525],[-1,930,525],[65,[[526,[1156]]]],[65,[[526,[1157]]]],[65,[[526,[1158]]]],[65,[[526,[1159]]]],[65,[[526,[1160]]]],[65,[[526,[1161]]]],[65,[[526,[1162]]]],[65,[[526,[1163]]]],[65,[[526,[1164]]]],[65,[[526,[1165]]]],[65,[[526,[1166]]]],[65,[[526,[1167]]]],[65,[[526,[1168]]]],[65,[[526,[1169]]]],[65,[[526,[1170]]]],[65,[[526,[1171]]]],[65,[[526,[1172]]]],[65,[[526,[1173]]]],[65,[[526,[1174]]]],[65,[[526,[1175]]]],[65,[[526,[1176]]]],[65,[[526,[1177]]]],[65,[[526,[1178]]]],[65,[[526,[1179]]]],[65,[[526,[1180]]]],[65,[[526,[1181]]]],[65,[[526,[1182]]]],[65,[[526,[1183]]]],[65,[[526,[1184]]]],[65,[[526,[1185]]]],[65,[[526,[1186]]]],[65,[[526,[1187]]]],[65,[[526,[1188]]]],[65,[[526,[1189]]]],[65,[[526,[1190]]]],[65,[[526,[1191]]]],[65,[[526,[1192]]]],[65,[[526,[1193]]]],[65,[[526,[1194]]]],[65,[[526,[1195]]]],[65,[[526,[1196]]]],[65,[[526,[1197]]]],[65,[[526,[1198]]]],[65,[[526,[1199]]]],[65,[[526,[1200]]]],[65,[[526,[1201]]]],[65,[[526,[1202]]]],[65,[[526,[1203]]]],[65,[[526,[1204]]]],[65,[[526,[1205]]]],[65,[[526,[1206]]]],[65,[[526,[1207]]]],[65,[[526,[1208]]]],[65,[[526,[1209]]]],[65,[[526,[1210]]]],[65,[[526,[1211]]]],[65,[[526,[1212]]]],[65,[[526,[1213]]]],[65,[[526,[1214]]]],[65,[[526,[1215]]]],[65,[[526,[1216]]]],[65,[[526,[1217]]]],[65,[[526,[1218]]]],[65,[[526,[1219]]]],[65,[[526,[1220]]]],[65,[[526,[1221]]]],[65,[[526,[1222]]]],[65,[[526,[1223]]]],[65,[[526,[1224]]]],[65,[[526,[1225]]]],[65,[[526,[1226]]]],[65,[[526,[1227]]]],[65,[[526,[1228]]]],[65,[[526,[1229]]]],[65,[[526,[1230]]]],[65,[[526,[1231]]]],[65,[[526,[1232]]]],[65,[[526,[1233]]]],[65,[[526,[1234]]]],[65,[[526,[1235]]]],[65,[[526,[1236]]]],[65,[[526,[1237]]]],[65,[[526,[1238]]]],[65,[[526,[1239]]]],[65,[[526,[1240]]]],[65,[[526,[1241]]]],[65,[[526,[1242]]]],[65,[[526,[1243]]]],[65,[[526,[1244]]]],[65,[[526,[1245]]]],[65,[[526,[1246]]]],[65,[[526,[1247]]]],[65,[[526,[1248]]]],[65,[[526,[1249]]]],[65,[[526,[1250]]]],[65,[[526,[1251]]]],[65,[[526,[1252]]]],[65,[[526,[1253]]]],[65,[[526,[1254]]]],[65,[[526,[1255]]]],[65,[[526,[1256]]]],[65,[[526,[1257]]]],[65,[[526,[1258]]]],[65,[[526,[1259]]]],[65,[[526,[1260]]]],[65,[[526,[1261]]]],[65,[[526,[1262]]]],[65,[[526,[1263]]]],[65,[[526,[1264]]]],[65,[[526,[1265]]]],[65,[[526,[1266]]]],[65,[[526,[1267]]]],[65,[[526,[1268]]]],[65,[[526,[1269]]]],[65,[[526,[1270]]]],[65,[[526,[1271]]]],[65,[[526,[1272]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,-1],9,528],[[904,-1],9,528],[[905,-1],9,528],[[906,-1],9,528],[[907,-1],9,528],[[908,-1],9,528],[[909,-1],9,528],[[910,-1],9,528],[[911,-1],9,528],[[912,-1],9,528],[[913,-1],9,528],[[914,-1],9,528],[[915,-1],9,528],[[916,-1],9,528],[[917,-1],9,528],[[918,-1],9,528],[[919,-1],9,528],[[920,-1],9,528],[[921,-1],9,528],[[922,-1],9,528],[[923,-1],9,528],[[924,-1],9,528],[[925,-1],9,528],[[926,-1],9,528],[[927,-1],9,528],[[928,-1],9,528],[[929,-1],9,528],[[930,-1],9,528],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],[[903,903],20],[[904,904],20],[[905,905],20],[[906,906],20],[[907,907],20],[[908,908],20],[[909,909],20],[[910,910],20],[[911,911],20],[[912,912],20],[[913,913],20],[[914,914],20],[[915,915],20],[[916,916],20],[[917,917],20],[[918,918],20],[[919,919],20],[[920,920],20],[[921,921],20],[[922,922],20],[[923,923],20],[[924,924],20],[[925,925],20],[[926,926],20],[[927,927],20],[[928,928],20],[[929,929],20],[[930,930],20],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[903,20],[904,20],[905,20],[906,20],[907,20],[908,20],[909,20],[910,20],[911,20],[912,20],[913,20],[914,20],[915,20],[916,20],[917,20],[918,20],[919,20],[920,20],[921,20],[922,20],[923,20],[924,20],[925,20],[926,20],[927,20],[928,20],[929,20],[930,20],[903,20],[904,20],[905,20],[906,20],[907,20],[908,20],[909,20],[910,20],[911,20],[912,20],[913,20],[914,20],[915,20],[916,20],[917,20],[918,20],[919,20],[920,20],[921,20],[922,20],[923,20],[924,20],[925,20],[926,20],[927,20],[928,20],[929,20],[930,20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[931,15],0,[11,[[16,[15,11]]]],[931,11],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[903,903],[904,904],[905,905],[906,906],[907,907],[908,908],[909,909],[910,910],[911,911],[912,912],[913,913],[914,914],[915,915],[916,916],[917,917],[918,918],[919,919],[920,920],[921,921],[922,922],[923,923],[924,924],[925,925],[926,926],[927,927],[928,928],[929,929],[930,930],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[5,15,[17,[10]]],[[16,[931,18]]]],[[903,903],[[526,[524]]]],[[904,904],[[526,[524]]]],[[905,905],[[526,[524]]]],[[906,906],[[526,[524]]]],[[907,907],[[526,[524]]]],[[908,908],[[526,[524]]]],[[909,909],[[526,[524]]]],[[910,910],[[526,[524]]]],[[911,911],[[526,[524]]]],[[912,912],[[526,[524]]]],[[913,913],[[526,[524]]]],[[914,914],[[526,[524]]]],[[915,915],[[526,[524]]]],[[916,916],[[526,[524]]]],[[917,917],[[526,[524]]]],[[918,918],[[526,[524]]]],[[919,919],[[526,[524]]]],[[920,920],[[526,[524]]]],[[921,921],[[526,[524]]]],[[922,922],[[526,[524]]]],[[923,923],[[526,[524]]]],[[924,924],[[526,[524]]]],[[925,925],[[526,[524]]]],[[926,926],[[526,[524]]]],[[927,927],[[526,[524]]]],[[928,928],[[526,[524]]]],[[929,929],[[526,[524]]]],[[930,930],[[526,[524]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[931,5,[17,[10]]],26],[[932,5,[17,[10]]],26],[[933,5,[17,[10]]],26],[[934,5,[17,[10]]],26],[[935,5,[17,[10]]],26],[[936,5,[17,[10]]],26],[[937,5,[17,[10]]],26],[[938,5,[17,[10]]],26],[[939,5,[17,[10]]],26],[[940,5,[17,[10]]],26],[[941,5,[17,[10]]],26],[[942,5,[17,[10]]],26],[[943,5,[17,[10]]],26],[[944,5,[17,[10]]],26],[[945,5,[17,[10]]],26],[[946,5,[17,[10]]],26],[[947,5,[17,[10]]],26],[[948,5,[17,[10]]],26],[[949,5,[17,[10]]],26],[[950,5,[17,[10]]],26],[[951,5,[17,[10]]],26],[[952,5,[17,[10]]],26],[[953,5,[17,[10]]],26],[[954,5,[17,[10]]],26],[[955,5,[17,[10]]],26],[[956,5,[17,[10]]],26],[[957,5,[17,[10]]],26],[[958,5,[17,[10]]],26],[[959,5,[17,[10]]],26],[[960,5,[17,[10]]],26],[[961,5,[17,[10]]],26],[[962,5,[17,[10]]],26],[[963,5,[17,[10]]],26],[[964,5,[17,[10]]],26],[[965,5,[17,[10]]],26],[[966,5,[17,[10]]],26],[[967,5,[17,[10]]],26],[[968,5,[17,[10]]],26],[[969,5,[17,[10]]],26],[[970,5,[17,[10]]],26],[[971,5,[17,[10]]],26],[[972,5,[17,[10]]],26],[[973,5,[17,[10]]],26],[[974,5,[17,[10]]],26],[[975,5,[17,[10]]],26],[[976,5,[17,[10]]],26],[[977,5,[17,[10]]],26],[[978,5,[17,[10]]],26],[[979,5,[17,[10]]],26],[[980,5,[17,[10]]],26],[[981,5,[17,[10]]],26],[[982,5,[17,[10]]],26],[[983,5,[17,[10]]],26],[[984,5,[17,[10]]],26],[[985,5,[17,[10]]],26],[[986,5,[17,[10]]],26],[[987,5,[17,[10]]],26],[[988,5,[17,[10]]],26],[[989,5,[17,[10]]],26],[[990,5,[17,[10]]],26],[[991,5,[17,[10]]],26],[[992,5,[17,[10]]],26],[[993,5,[17,[10]]],26],[[994,5,[17,[10]]],26],[[995,5,[17,[10]]],26],[[996,5,[17,[10]]],26],[[997,5,[17,[10]]],26],[[998,5,[17,[10]]],26],[[999,5,[17,[10]]],26],[[1000,5,[17,[10]]],26],[[1001,5,[17,[10]]],26],[[1002,5,[17,[10]]],26],[[1003,5,[17,[10]]],26],[[1004,5,[17,[10]]],26],[[1005,5,[17,[10]]],26],[[1006,5,[17,[10]]],26],[[1007,5,[17,[10]]],26],[[1008,5,[17,[10]]],26],[[1009,5,[17,[10]]],26],[[1010,5,[17,[10]]],26],[[1011,5,[17,[10]]],26],[[1012,5,[17,[10]]],26],[[1013,5,[17,[10]]],26],[[1014,5,[17,[10]]],26],[[1015,5,[17,[10]]],26],[[1016,5,[17,[10]]],26],[[1017,5,[17,[10]]],26],[[1018,5,[17,[10]]],26],[[1019,5,[17,[10]]],26],[[1020,5,[17,[10]]],26],[[1021,5,[17,[10]]],26],[[1022,5,[17,[10]]],26],[[1023,5,[17,[10]]],26],[[1024,5,[17,[10]]],26],[[1025,5,[17,[10]]],26],[[1026,5,[17,[10]]],26],[[1027,5,[17,[10]]],26],[[1028,5,[17,[10]]],26],[[1029,5,[17,[10]]],26],[[1030,5,[17,[10]]],26],[[1031,5,[17,[10]]],26],[[1032,5,[17,[10]]],26],[[1033,5,[17,[10]]],26],[[1034,5,[17,[10]]],26],[[1035,5,[17,[10]]],26],[[1036,5,[17,[10]]],26],[[1037,5,[17,[10]]],26],[[1038,5,[17,[10]]],26],[[1039,5,[17,[10]]],26],[[1040,5,[17,[10]]],26],[[1041,5,[17,[10]]],26],[[1042,5,[17,[10]]],26],[[1043,5,[17,[10]]],26],[[1044,5,[17,[10]]],26],[[1045,5,[17,[10]]],26],[[1046,5,[17,[10]]],26],[[1047,5,[17,[10]]],26],[[1048,5,[17,[10]]],26],[[1049,5,[17,[10]]],26],[[1050,5,[17,[10]]],26],[[1051,5,[17,[10]]],26],[[1052,5,[17,[10]]],26],[[1053,5,[17,[10]]],26],[[1054,5,[17,[10]]],26],[[1055,5,[17,[10]]],26],[[1056,5,[17,[10]]],26],[[1057,5,[17,[10]]],26],[[1058,5,[17,[10]]],26],[[1059,5,[17,[10]]],26],[[1060,5,[17,[10]]],26],[[1061,5,[17,[10]]],26],[[1062,5,[17,[10]]],26],[[1063,5,[17,[10]]],26],[[1064,5,[17,[10]]],26],[[1065,5,[17,[10]]],26],[[1066,5,[17,[10]]],26],[[1067,5,[17,[10]]],26],[[1068,5,[17,[10]]],26],[[1069,5,[17,[10]]],26],[[1070,5,[17,[10]]],26],[[1071,5,[17,[10]]],26],[[1072,5,[17,[10]]],26],[[1073,5,[17,[10]]],26],[[1074,5,[17,[10]]],26],[[1075,5,[17,[10]]],26],[[1076,5,[17,[10]]],26],[[1077,5,[17,[10]]],26],[[1078,5,[17,[10]]],26],[[1079,5,[17,[10]]],26],[[1080,5,[17,[10]]],26],[[1081,5,[17,[10]]],26],[[1082,5,[17,[10]]],26],[[1083,5,[17,[10]]],26],[[1084,5,[17,[10]]],26],[[1085,5,[17,[10]]],26],[[1086,5,[17,[10]]],26],[[1087,5,[17,[10]]],26],[[1088,5,[17,[10]]],26],[[1089,5,[17,[10]]],26],[[1090,5,[17,[10]]],26],[[1091,5,[17,[10]]],26],[[1092,5,[17,[10]]],26],[[1093,5,[17,[10]]],26],[[1094,5,[17,[10]]],26],[[1095,5,[17,[10]]],26],[[1096,5,[17,[10]]],26],[[1097,5,[17,[10]]],26],[[1098,5,[17,[10]]],26],[[1099,5,[17,[10]]],26],[[1100,5,[17,[10]]],26],[[1101,5,[17,[10]]],26],[[1102,5,[17,[10]]],26],[[1103,5,[17,[10]]],26],[[1104,5,[17,[10]]],26],[[1105,5,[17,[10]]],26],[[1106,5,[17,[10]]],26],[[1107,5,[17,[10]]],26],[[1108,5,[17,[10]]],26],[[1109,5,[17,[10]]],26],[[1110,5,[17,[10]]],26],[[1111,5,[17,[10]]],26],[[1112,5,[17,[10]]],26],[[1113,5,[17,[10]]],26],[[1114,5,[17,[10]]],26],[[1115,5,[17,[10]]],26],[[1116,5,[17,[10]]],26],[[1117,5,[17,[10]]],26],[[1118,5,[17,[10]]],26],[[1119,5,[17,[10]]],26],[[1120,5,[17,[10]]],26],[[1121,5,[17,[10]]],26],[[1122,5,[17,[10]]],26],[[1123,5,[17,[10]]],26],[[1124,5,[17,[10]]],26],[[1125,5,[17,[10]]],26],[[1126,5,[17,[10]]],26],[[1127,5,[17,[10]]],26],[[1128,5,[17,[10]]],26],[[1129,5,[17,[10]]],26],[[1130,5,[17,[10]]],26],[[1131,5,[17,[10]]],26],[[1132,5,[17,[10]]],26],[[1133,5,[17,[10]]],26],[[1134,5,[17,[10]]],26],[[1135,5,[17,[10]]],26],[[1136,5,[17,[10]]],26],[[1137,5,[17,[10]]],26],[[1138,5,[17,[10]]],26],[[1139,5,[17,[10]]],26],[[1140,5,[17,[10]]],26],[[1141,5,[17,[10]]],26],[[1142,5,[17,[10]]],26],[[1143,5,[17,[10]]],26],[[1144,5,[17,[10]]],26],[[1145,5,[17,[10]]],26],[[1146,5,[17,[10]]],26],[[1147,5,[17,[10]]],26],[[1148,5,[17,[10]]],26],[[1149,5,[17,[10]]],26],[[1150,5,[17,[10]]],26],[[1151,5,[17,[10]]],26],[[1152,5,[17,[10]]],26],[[1153,5,[17,[10]]],26],[[1154,5,[17,[10]]],26],[[1155,5,[17,[10]]],26],0,[[931,-1],16,28],[[932,-1],16,28],[[933,-1],16,28],[[934,-1],16,28],[[935,-1],16,28],[[936,-1],16,28],[[937,-1],16,28],[[938,-1],16,28],[[939,-1],16,28],[[940,-1],16,28],[[941,-1],16,28],[[942,-1],16,28],[[943,-1],16,28],[[944,-1],16,28],[[945,-1],16,28],[[946,-1],16,28],[[947,-1],16,28],[[948,-1],16,28],[[949,-1],16,28],[[950,-1],16,28],[[951,-1],16,28],[[952,-1],16,28],[[953,-1],16,28],[[954,-1],16,28],[[955,-1],16,28],[[956,-1],16,28],[[957,-1],16,28],[[958,-1],16,28],[[959,-1],16,28],[[960,-1],16,28],[[961,-1],16,28],[[962,-1],16,28],[[963,-1],16,28],[[964,-1],16,28],[[965,-1],16,28],[[966,-1],16,28],[[967,-1],16,28],[[968,-1],16,28],[[969,-1],16,28],[[970,-1],16,28],[[971,-1],16,28],[[972,-1],16,28],[[973,-1],16,28],[[974,-1],16,28],[[975,-1],16,28],[[976,-1],16,28],[[977,-1],16,28],[[978,-1],16,28],[[979,-1],16,28],[[980,-1],16,28],[[981,-1],16,28],[[982,-1],16,28],[[983,-1],16,28],[[984,-1],16,28],[[985,-1],16,28],[[986,-1],16,28],[[987,-1],16,28],[[988,-1],16,28],[[989,-1],16,28],[[990,-1],16,28],[[991,-1],16,28],[[992,-1],16,28],[[993,-1],16,28],[[994,-1],16,28],[[995,-1],16,28],[[996,-1],16,28],[[997,-1],16,28],[[998,-1],16,28],[[999,-1],16,28],[[1000,-1],16,28],[[1001,-1],16,28],[[1002,-1],16,28],[[1003,-1],16,28],[[1004,-1],16,28],[[1005,-1],16,28],[[1006,-1],16,28],[[1007,-1],16,28],[[1008,-1],16,28],[[1009,-1],16,28],[[1010,-1],16,28],[[1011,-1],16,28],[[1012,-1],16,28],[[1013,-1],16,28],[[1014,-1],16,28],[[1015,-1],16,28],[[1016,-1],16,28],[[1017,-1],16,28],[[1018,-1],16,28],[[1019,-1],16,28],[[1020,-1],16,28],[[1021,-1],16,28],[[1022,-1],16,28],[[1023,-1],16,28],[[1024,-1],16,28],[[1025,-1],16,28],[[1026,-1],16,28],[[1027,-1],16,28],[[1028,-1],16,28],[[1029,-1],16,28],[[1030,-1],16,28],[[1031,-1],16,28],[[1032,-1],16,28],[[1033,-1],16,28],[[1034,-1],16,28],[[1035,-1],16,28],[[1036,-1],16,28],[[1037,-1],16,28],[[1038,-1],16,28],[[1039,-1],16,28],[[1040,-1],16,28],[[1041,-1],16,28],[[1042,-1],16,28],[[1043,-1],16,28],[[1044,-1],16,28],[[1045,-1],16,28],[[1046,-1],16,28],[[1047,-1],16,28],[[1048,-1],16,28],[[1049,-1],16,28],[[1050,-1],16,28],[[1051,-1],16,28],[[1052,-1],16,28],[[1053,-1],16,28],[[1054,-1],16,28],[[1055,-1],16,28],[[1056,-1],16,28],[[1057,-1],16,28],[[1058,-1],16,28],[[1059,-1],16,28],[[1060,-1],16,28],[[1061,-1],16,28],[[1062,-1],16,28],[[1063,-1],16,28],[[1064,-1],16,28],[[1065,-1],16,28],[[1066,-1],16,28],[[1067,-1],16,28],[[1068,-1],16,28],[[1069,-1],16,28],[[1070,-1],16,28],[[1071,-1],16,28],[[1072,-1],16,28],[[1073,-1],16,28],[[1074,-1],16,28],[[1075,-1],16,28],[[1076,-1],16,28],[[1077,-1],16,28],[[1078,-1],16,28],[[1079,-1],16,28],[[1080,-1],16,28],[[1081,-1],16,28],[[1082,-1],16,28],[[1083,-1],16,28],[[1084,-1],16,28],[[1085,-1],16,28],[[1086,-1],16,28],[[1087,-1],16,28],[[1088,-1],16,28],[[1089,-1],16,28],[[1090,-1],16,28],[[1091,-1],16,28],[[1092,-1],16,28],[[1093,-1],16,28],[[1094,-1],16,28],[[1095,-1],16,28],[[1096,-1],16,28],[[1097,-1],16,28],[[1098,-1],16,28],[[1099,-1],16,28],[[1100,-1],16,28],[[1101,-1],16,28],[[1102,-1],16,28],[[1103,-1],16,28],[[1104,-1],16,28],[[1105,-1],16,28],[[1106,-1],16,28],[[1107,-1],16,28],[[1108,-1],16,28],[[1109,-1],16,28],[[1110,-1],16,28],[[1111,-1],16,28],[[1112,-1],16,28],[[1113,-1],16,28],[[1114,-1],16,28],[[1115,-1],16,28],[[1116,-1],16,28],[[1117,-1],16,28],[[1118,-1],16,28],[[1119,-1],16,28],[[1120,-1],16,28],[[1121,-1],16,28],[[1122,-1],16,28],[[1123,-1],16,28],[[1124,-1],16,28],[[1125,-1],16,28],[[1126,-1],16,28],[[1127,-1],16,28],[[1128,-1],16,28],[[1129,-1],16,28],[[1130,-1],16,28],[[1131,-1],16,28],[[1132,-1],16,28],[[1133,-1],16,28],[[1134,-1],16,28],[[1135,-1],16,28],[[1136,-1],16,28],[[1137,-1],16,28],[[1138,-1],16,28],[[1139,-1],16,28],[[1140,-1],16,28],[[1141,-1],16,28],[[1142,-1],16,28],[[1143,-1],16,28],[[1144,-1],16,28],[[1145,-1],16,28],[[1146,-1],16,28],[[1147,-1],16,28],[[1148,-1],16,28],[[1149,-1],16,28],[[1150,-1],16,28],[[1151,-1],16,28],[[1152,-1],16,28],[[1153,-1],16,28],[[1154,-1],16,28],[[1155,-1],16,28],[[1156,-1],16,28],[[1157,-1],16,28],[[1158,-1],16,28],[[903,-1],16,28],[[1159,-1],16,28],[[1160,-1],16,28],[[1161,-1],16,28],[[1162,-1],16,28],[[904,-1],16,28],[[1163,-1],16,28],[[1164,-1],16,28],[[1165,-1],16,28],[[1166,-1],16,28],[[905,-1],16,28],[[1167,-1],16,28],[[1168,-1],16,28],[[1169,-1],16,28],[[1170,-1],16,28],[[1171,-1],16,28],[[906,-1],16,28],[[1172,-1],16,28],[[1173,-1],16,28],[[1174,-1],16,28],[[907,-1],16,28],[[908,-1],16,28],[[909,-1],16,28],[[1175,-1],16,28],[[1176,-1],16,28],[[910,-1],16,28],[[1177,-1],16,28],[[1178,-1],16,28],[[1179,-1],16,28],[[1180,-1],16,28],[[1181,-1],16,28],[[1182,-1],16,28],[[1183,-1],16,28],[[1184,-1],16,28],[[1185,-1],16,28],[[911,-1],16,28],[[1186,-1],16,28],[[1187,-1],16,28],[[912,-1],16,28],[[1188,-1],16,28],[[1189,-1],16,28],[[913,-1],16,28],[[1190,-1],16,28],[[1191,-1],16,28],[[914,-1],16,28],[[1192,-1],16,28],[[1193,-1],16,28],[[1194,-1],16,28],[[1195,-1],16,28],[[1196,-1],16,28],[[1197,-1],16,28],[[915,-1],16,28],[[916,-1],16,28],[[1198,-1],16,28],[[1199,-1],16,28],[[1200,-1],16,28],[[1201,-1],16,28],[[1202,-1],16,28],[[1203,-1],16,28],[[1204,-1],16,28],[[1205,-1],16,28],[[1206,-1],16,28],[[917,-1],16,28],[[1207,-1],16,28],[[1208,-1],16,28],[[1209,-1],16,28],[[1210,-1],16,28],[[1211,-1],16,28],[[918,-1],16,28],[[1212,-1],16,28],[[1213,-1],16,28],[[1214,-1],16,28],[[1215,-1],16,28],[[1216,-1],16,28],[[1217,-1],16,28],[[919,-1],16,28],[[1218,-1],16,28],[[1219,-1],16,28],[[920,-1],16,28],[[1220,-1],16,28],[[1221,-1],16,28],[[921,-1],16,28],[[1222,-1],16,28],[[1223,-1],16,28],[[1224,-1],16,28],[[1225,-1],16,28],[[922,-1],16,28],[[1226,-1],16,28],[[1227,-1],16,28],[[923,-1],16,28],[[1228,-1],16,28],[[924,-1],16,28],[[1229,-1],16,28],[[1230,-1],16,28],[[1231,-1],16,28],[[925,-1],16,28],[[926,-1],16,28],[[1232,-1],16,28],[[1233,-1],16,28],[[927,-1],16,28],[[1234,-1],16,28],[[1235,-1],16,28],[[1236,-1],16,28],[[1237,-1],16,28],[[1238,-1],16,28],[[1239,-1],16,28],[[1240,-1],16,28],[[1241,-1],16,28],[[1242,-1],16,28],[[1243,-1],16,28],[[1244,-1],16,28],[[1245,-1],16,28],[[928,-1],16,28],[[1246,-1],16,28],[[1247,-1],16,28],[[1248,-1],16,28],[[1249,-1],16,28],[[1250,-1],16,28],[[1251,-1],16,28],[[1252,-1],16,28],[[1253,-1],16,28],[[1254,-1],16,28],[[1255,-1],16,28],[[1256,-1],16,28],[[1257,-1],16,28],[[929,-1],16,28],[[1258,-1],16,28],[[1259,-1],16,28],[[1260,-1],16,28],[[1261,-1],16,28],[[1262,-1],16,28],[[1263,-1],16,28],[[1264,-1],16,28],[[1265,-1],16,28],[[930,-1],16,28],[[1266,-1],16,28],[[1267,-1],16,28],[[1268,-1],16,28],[[1269,-1],16,28],[[1270,-1],16,28],[[1271,-1],16,28],[[1272,-1],16,28],0,0,0,0,0,0,0,0,[[903,903,20],9],[[904,904,20],9],[[905,905,20],9],[[906,906,20],9],[[907,907,20],9],[[908,908,20],9],[[909,909,20],9],[[910,910,20],9],[[911,911,20],9],[[912,912,20],9],[[913,913,20],9],[[914,914,20],9],[[915,915,20],9],[[916,916,20],9],[[917,917,20],9],[[918,918,20],9],[[919,919,20],9],[[920,920,20],9],[[921,921,20],9],[[922,922,20],9],[[923,923,20],9],[[924,924,20],9],[[925,925,20],9],[[926,926,20],9],[[927,927,20],9],[[928,928,20],9],[[929,929,20],9],[[930,930,20],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],0,0,0,0,0,[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1156,[[526,[527]]]],[1157,[[526,[527]]]],[1158,[[526,[527]]]],[1159,[[526,[527]]]],[1160,[[526,[527]]]],[1161,[[526,[527]]]],[1162,[[526,[527]]]],[1163,[[526,[527]]]],[1164,[[526,[527]]]],[1165,[[526,[527]]]],[1166,[[526,[527]]]],[1167,[[526,[527]]]],[1168,[[526,[527]]]],[1169,[[526,[527]]]],[1170,[[526,[527]]]],[1171,[[526,[527]]]],[1172,[[526,[527]]]],[1173,[[526,[527]]]],[1174,[[526,[527]]]],[1175,[[526,[527]]]],[1176,[[526,[527]]]],[1177,[[526,[527]]]],[1178,[[526,[527]]]],[1179,[[526,[527]]]],[1180,[[526,[527]]]],[1181,[[526,[527]]]],[1182,[[526,[527]]]],[1183,[[526,[527]]]],[1184,[[526,[527]]]],[1185,[[526,[527]]]],[1186,[[526,[527]]]],[1187,[[526,[527]]]],[1188,[[526,[527]]]],[1189,[[526,[527]]]],[1190,[[526,[527]]]],[1191,[[526,[527]]]],[1192,[[526,[527]]]],[1193,[[526,[527]]]],[1194,[[526,[527]]]],[1195,[[526,[527]]]],[1196,[[526,[527]]]],[1197,[[526,[527]]]],[1198,[[526,[527]]]],[1199,[[526,[527]]]],[1200,[[526,[527]]]],[1201,[[526,[527]]]],[1202,[[526,[527]]]],[1203,[[526,[527]]]],[1204,[[526,[527]]]],[1205,[[526,[527]]]],[1206,[[526,[527]]]],[1207,[[526,[527]]]],[1208,[[526,[527]]]],[1209,[[526,[527]]]],[1210,[[526,[527]]]],[1211,[[526,[527]]]],[1212,[[526,[527]]]],[1213,[[526,[527]]]],[1214,[[526,[527]]]],[1215,[[526,[527]]]],[1216,[[526,[527]]]],[1217,[[526,[527]]]],[1218,[[526,[527]]]],[1219,[[526,[527]]]],[1220,[[526,[527]]]],[1221,[[526,[527]]]],[1222,[[526,[527]]]],[1223,[[526,[527]]]],[1224,[[526,[527]]]],[1225,[[526,[527]]]],[1226,[[526,[527]]]],[1227,[[526,[527]]]],[1228,[[526,[527]]]],[1229,[[526,[527]]]],[1230,[[526,[527]]]],[1231,[[526,[527]]]],[1232,[[526,[527]]]],[1233,[[526,[527]]]],[1234,[[526,[527]]]],[1235,[[526,[527]]]],[1236,[[526,[527]]]],[1237,[[526,[527]]]],[1238,[[526,[527]]]],[1239,[[526,[527]]]],[1240,[[526,[527]]]],[1241,[[526,[527]]]],[1242,[[526,[527]]]],[1243,[[526,[527]]]],[1244,[[526,[527]]]],[1245,[[526,[527]]]],[1246,[[526,[527]]]],[1247,[[526,[527]]]],[1248,[[526,[527]]]],[1249,[[526,[527]]]],[1250,[[526,[527]]]],[1251,[[526,[527]]]],[1252,[[526,[527]]]],[1253,[[526,[527]]]],[1254,[[526,[527]]]],[1255,[[526,[527]]]],[1256,[[526,[527]]]],[1257,[[526,[527]]]],[1258,[[526,[527]]]],[1259,[[526,[527]]]],[1260,[[526,[527]]]],[1261,[[526,[527]]]],[1262,[[526,[527]]]],[1263,[[526,[527]]]],[1264,[[526,[527]]]],[1265,[[526,[527]]]],[1266,[[526,[527]]]],[1267,[[526,[527]]]],[1268,[[526,[527]]]],[1269,[[526,[527]]]],[1270,[[526,[527]]]],[1271,[[526,[527]]]],[1272,[[526,[527]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[1156,[[526,[65]]]],[1157,[[526,[65]]]],[1158,[[526,[65]]]],[1159,[[526,[65]]]],[1160,[[526,[65]]]],[1161,[[526,[65]]]],[1162,[[526,[65]]]],[1163,[[526,[65]]]],[1164,[[526,[65]]]],[1165,[[526,[65]]]],[1166,[[526,[65]]]],[1167,[[526,[65]]]],[1168,[[526,[65]]]],[1169,[[526,[65]]]],[1170,[[526,[65]]]],[1171,[[526,[65]]]],[1172,[[526,[65]]]],[1173,[[526,[65]]]],[1174,[[526,[65]]]],[1175,[[526,[65]]]],[1176,[[526,[65]]]],[1177,[[526,[65]]]],[1178,[[526,[65]]]],[1179,[[526,[65]]]],[1180,[[526,[65]]]],[1181,[[526,[65]]]],[1182,[[526,[65]]]],[1183,[[526,[65]]]],[1184,[[526,[65]]]],[1185,[[526,[65]]]],[1186,[[526,[65]]]],[1187,[[526,[65]]]],[1188,[[526,[65]]]],[1189,[[526,[65]]]],[1190,[[526,[65]]]],[1191,[[526,[65]]]],[1192,[[526,[65]]]],[1193,[[526,[65]]]],[1194,[[526,[65]]]],[1195,[[526,[65]]]],[1196,[[526,[65]]]],[1197,[[526,[65]]]],[1198,[[526,[65]]]],[1199,[[526,[65]]]],[1200,[[526,[65]]]],[1201,[[526,[65]]]],[1202,[[526,[65]]]],[1203,[[526,[65]]]],[1204,[[526,[65]]]],[1205,[[526,[65]]]],[1206,[[526,[65]]]],[1207,[[526,[65]]]],[1208,[[526,[65]]]],[1209,[[526,[65]]]],[1210,[[526,[65]]]],[1211,[[526,[65]]]],[1212,[[526,[65]]]],[1213,[[526,[65]]]],[1214,[[526,[65]]]],[1215,[[526,[65]]]],[1216,[[526,[65]]]],[1217,[[526,[65]]]],[1218,[[526,[65]]]],[1219,[[526,[65]]]],[1220,[[526,[65]]]],[1221,[[526,[65]]]],[1222,[[526,[65]]]],[1223,[[526,[65]]]],[1224,[[526,[65]]]],[1225,[[526,[65]]]],[1226,[[526,[65]]]],[1227,[[526,[65]]]],[1228,[[526,[65]]]],[1229,[[526,[65]]]],[1230,[[526,[65]]]],[1231,[[526,[65]]]],[1232,[[526,[65]]]],[1233,[[526,[65]]]],[1234,[[526,[65]]]],[1235,[[526,[65]]]],[1236,[[526,[65]]]],[1237,[[526,[65]]]],[1238,[[526,[65]]]],[1239,[[526,[65]]]],[1240,[[526,[65]]]],[1241,[[526,[65]]]],[1242,[[526,[65]]]],[1243,[[526,[65]]]],[1244,[[526,[65]]]],[1245,[[526,[65]]]],[1246,[[526,[65]]]],[1247,[[526,[65]]]],[1248,[[526,[65]]]],[1249,[[526,[65]]]],[1250,[[526,[65]]]],[1251,[[526,[65]]]],[1252,[[526,[65]]]],[1253,[[526,[65]]]],[1254,[[526,[65]]]],[1255,[[526,[65]]]],[1256,[[526,[65]]]],[1257,[[526,[65]]]],[1258,[[526,[65]]]],[1259,[[526,[65]]]],[1260,[[526,[65]]]],[1261,[[526,[65]]]],[1262,[[526,[65]]]],[1263,[[526,[65]]]],[1264,[[526,[65]]]],[1265,[[526,[65]]]],[1266,[[526,[65]]]],[1267,[[526,[65]]]],[1268,[[526,[65]]]],[1269,[[526,[65]]]],[1270,[[526,[65]]]],[1271,[[526,[65]]]],[1272,[[526,[65]]]],[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],0,0,0,0,0,0,0,0,[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],0,0,0,0,0,0,0,0,0,0,0,[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],0,0,0,0,0,0,0,0,0,0,0,[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"c":[],"p":[[3,"MAVLinkV1MessageRaw",0],[15,"u16"],[3,"MAVLinkV2MessageRaw",0],[3,"MavHeader",0],[4,"MavlinkVersion",0],[3,"MavFrame",0],[8,"Clone",39159],[8,"Message",0],[15,"tuple"],[15,"u8"],[15,"str"],[8,"MavConnection",0],[3,"Box",39160],[6,"Result",39161],[15,"u32"],[4,"Result",39162],[15,"slice"],[4,"ParserError",27060],[8,"Deserializer",39163],[15,"bool"],[3,"Formatter",39164],[6,"Result",39164],[8,"Debug",39164],[4,"MessageReadError",27060],[8,"Read",39165],[15,"usize"],[4,"MessageWriteError",27060],[8,"Serializer",39166],[8,"Serialize",39166],[8,"MessageData",0],[3,"TypeId",39167],[8,"Write",39165],[3,"UavionixAdsbRfHealth",156],[3,"MavEventCurrentSequenceFlags",156],[3,"EstimatorStatusFlags",156],[3,"GimbalDeviceCapFlags",156],[3,"AdsbFlags",156],[3,"MavSysStatusSensor",156],[3,"GimbalDeviceErrorFlags",156],[3,"GpsInputIgnoreFlags",156],[3,"HighresImuUpdatedFlags",156],[3,"EkfStatusFlags",156],[3,"MavGeneratorStatusFlag",156],[3,"UtmDataAvailFlags",156],[3,"MavWinchStatusFlag",156],[3,"CameraCapFlags",156],[3,"AttitudeTargetTypemask",156],[3,"GoproHeartbeatFlags",156],[3,"RallyFlags",156],[3,"LimitModule",156],[3,"MavProtocolCapability",156],[3,"EscFailureFlags",156],[3,"SerialControlFlag",156],[3,"GimbalManagerCapFlags",156],[3,"UavionixAdsbOutRfSelect",156],[3,"MavModeFlag",156],[3,"HilSensorUpdatedFlags",156],[3,"UavionixAdsbOutDynamicState",156],[3,"GimbalDeviceFlags",156],[3,"PositionTargetTypemask",156],[3,"AisFlags",156],[3,"TuneFormat",156],[3,"HlFailureFlag",156],[3,"MavPowerStatus",156],[15,"u64"],[4,"MavMessage",156],[3,"ESC_TELEMETRY_5_TO_8_DATA",156],[3,"RANGEFINDER_DATA",156],[3,"CAMERA_STATUS_DATA",156],[3,"RALLY_FETCH_POINT_DATA",156],[3,"V2_EXTENSION_DATA",156],[3,"EVENT_DATA",156],[3,"DEVICE_OP_READ_REPLY_DATA",156],[3,"CELLULAR_CONFIG_DATA",156],[3,"PROTOCOL_VERSION_DATA",156],[3,"PLAY_TUNE_DATA",156],[3,"LOGGING_DATA_DATA",156],[3,"HIL_GPS_DATA",156],[3,"COMPASSMOT_STATUS_DATA",156],[3,"ORBIT_EXECUTION_STATUS_DATA",156],[3,"LOG_ERASE_DATA",156],[3,"PARAM_EXT_REQUEST_LIST_DATA",156],[3,"LOG_ENTRY_DATA",156],[3,"RESPONSE_EVENT_ERROR_DATA",156],[3,"OPEN_DRONE_ID_BASIC_ID_DATA",156],[3,"HIL_ACTUATOR_CONTROLS_DATA",156],[3,"CAMERA_IMAGE_CAPTURED_DATA",156],[3,"AIRSPEED_AUTOCAL_DATA",156],[3,"GPS_INPUT_DATA",156],[3,"TERRAIN_DATA_DATA",156],[3,"BATTERY2_DATA",156],[3,"CAMERA_CAPTURE_STATUS_DATA",156],[3,"OPEN_DRONE_ID_SELF_ID_DATA",156],[3,"LANDING_TARGET_DATA",156],[3,"ESC_STATUS_DATA",156],[3,"FENCE_STATUS_DATA",156],[3,"OBSTACLE_DISTANCE_DATA",156],[3,"SERIAL_CONTROL_DATA",156],[3,"CAMERA_TRIGGER_DATA",156],[3,"DEVICE_OP_WRITE_REPLY_DATA",156],[3,"GPS_STATUS_DATA",156],[3,"CUBEPILOT_RAW_RC_DATA",156],[3,"HYGROMETER_SENSOR_DATA",156],[3,"DEVICE_OP_WRITE_DATA",156],[3,"SCALED_IMU_DATA",156],[3,"VIDEO_STREAM_INFORMATION_DATA",156],[3,"MISSION_REQUEST_DATA",156],[3,"CHANGE_OPERATOR_CONTROL_DATA",156],[3,"HIGHRES_IMU_DATA",156],[3,"DATA_STREAM_DATA",156],[3,"CANFD_FRAME_DATA",156],[3,"HIL_SENSOR_DATA",156],[3,"SCALED_PRESSURE2_DATA",156],[3,"GOPRO_SET_RESPONSE_DATA",156],[3,"SET_ATTITUDE_TARGET_DATA",156],[3,"SET_GPS_GLOBAL_ORIGIN_DATA",156],[3,"OSD_PARAM_SHOW_CONFIG_DATA",156],[3,"AHRS3_DATA",156],[3,"VISION_POSITION_DELTA_DATA",156],[3,"RPM_DATA",156],[3,"REMOTE_LOG_DATA_BLOCK_DATA",156],[3,"MISSION_CLEAR_ALL_DATA",156],[3,"DATA16_DATA",156],[3,"SIMSTATE_DATA",156],[3,"COMMAND_CANCEL_DATA",156],[3,"WHEEL_DISTANCE_DATA",156],[3,"DIGICAM_CONTROL_DATA",156],[3,"HIGH_LATENCY_DATA",156],[3,"VFR_HUD_DATA",156],[3,"GPS_INJECT_DATA_DATA",156],[3,"HERELINK_TELEM_DATA",156],[3,"SET_MODE_DATA",156],[3,"VIDEO_STREAM_STATUS_DATA",156],[3,"LOCAL_POSITION_NED_COV_DATA",156],[3,"GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",156],[3,"SMART_BATTERY_INFO_DATA",156],[3,"GIMBAL_MANAGER_SET_PITCHYAW_DATA",156],[3,"CONTROL_SYSTEM_STATE_DATA",156],[3,"MISSION_SET_CURRENT_DATA",156],[3,"PARAM_REQUEST_LIST_DATA",156],[3,"MISSION_REQUEST_LIST_DATA",156],[3,"MISSION_REQUEST_PARTIAL_LIST_DATA",156],[3,"OPEN_DRONE_ID_AUTHENTICATION_DATA",156],[3,"SET_ACTUATOR_CONTROL_TARGET_DATA",156],[3,"COMMAND_ACK_DATA",156],[3,"OPTICAL_FLOW_DATA",156],[3,"LOG_REQUEST_END_DATA",156],[3,"CHANGE_OPERATOR_CONTROL_ACK_DATA",156],[3,"EXTENDED_SYS_STATE_DATA",156],[3,"RC_CHANNELS_SCALED_DATA",156],[3,"HIL_OPTICAL_FLOW_DATA",156],[3,"PARAM_EXT_SET_DATA",156],[3,"ADAP_TUNING_DATA",156],[3,"REMOTE_LOG_BLOCK_STATUS_DATA",156],[3,"ATTITUDE_DATA",156],[3,"AUTOPILOT_VERSION_REQUEST_DATA",156],[3,"AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",156],[3,"LOG_REQUEST_DATA_DATA",156],[3,"HOME_POSITION_DATA",156],[3,"DATA64_DATA",156],[3,"POSITION_TARGET_GLOBAL_INT_DATA",156],[3,"LIMITS_STATUS_DATA",156],[3,"FENCE_FETCH_POINT_DATA",156],[3,"SENSOR_OFFSETS_DATA",156],[3,"GIMBAL_MANAGER_STATUS_DATA",156],[3,"RC_CHANNELS_RAW_DATA",156],[3,"MOUNT_ORIENTATION_DATA",156],[3,"HIGH_LATENCY2_DATA",156],[3,"GPS2_RTK_DATA",156],[3,"SYSTEM_TIME_DATA",156],[3,"OPEN_DRONE_ID_MESSAGE_PACK_DATA",156],[3,"PLAY_TUNE_V2_DATA",156],[3,"GLOBAL_POSITION_INT_DATA",156],[3,"PARAM_REQUEST_READ_DATA",156],[3,"TERRAIN_REQUEST_DATA",156],[3,"SIM_STATE_DATA",156],[3,"WATER_DEPTH_DATA",156],[3,"TRAJECTORY_REPRESENTATION_BEZIER_DATA",156],[3,"UAVCAN_NODE_STATUS_DATA",156],[3,"PARAM_EXT_VALUE_DATA",156],[3,"CAMERA_TRACKING_IMAGE_STATUS_DATA",156],[3,"AIS_VESSEL_DATA",156],[3,"DEVICE_OP_READ_DATA",156],[3,"RADIO_DATA",156],[3,"GENERATOR_STATUS_DATA",156],[3,"CUBEPILOT_FIRMWARE_UPDATE_START_DATA",156],[3,"MISSION_WRITE_PARTIAL_LIST_DATA",156],[3,"RAW_PRESSURE_DATA",156],[3,"WIND_DATA",156],[3,"TERRAIN_REPORT_DATA",156],[3,"HIL_STATE_QUATERNION_DATA",156],[3,"GOPRO_HEARTBEAT_DATA",156],[3,"GIMBAL_CONTROL_DATA",156],[3,"SET_HOME_POSITION_DATA",156],[3,"AUTOPILOT_VERSION_DATA",156],[3,"SCALED_IMU3_DATA",156],[3,"GPS_RTCM_DATA_DATA",156],[3,"ALTITUDE_DATA",156],[3,"ESTIMATOR_STATUS_DATA",156],[3,"DATA96_DATA",156],[3,"TUNNEL_DATA",156],[3,"LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",156],[3,"DATA32_DATA",156],[3,"SETUP_SIGNING_DATA",156],[3,"OSD_PARAM_CONFIG_REPLY_DATA",156],[3,"MOUNT_CONFIGURE_DATA",156],[3,"SCALED_PRESSURE_DATA",156],[3,"ENCAPSULATED_DATA_DATA",156],[3,"ADSB_VEHICLE_DATA",156],[3,"MISSION_COUNT_DATA",156],[3,"ICAROUS_KINEMATIC_BANDS_DATA",156],[3,"SAFETY_SET_ALLOWED_AREA_DATA",156],[3,"AUTH_KEY_DATA",156],[3,"DEBUG_DATA",156],[3,"PARAM_SET_DATA",156],[3,"MISSION_ACK_DATA",156],[3,"NAV_CONTROLLER_OUTPUT_DATA",156],[3,"OPTICAL_FLOW_RAD_DATA",156],[3,"ATT_POS_MOCAP_DATA",156],[3,"AHRS2_DATA",156],[3,"SCALED_IMU2_DATA",156],[3,"GIMBAL_MANAGER_INFORMATION_DATA",156],[3,"COMMAND_LONG_DATA",156],[3,"HERELINK_VIDEO_STREAM_INFORMATION_DATA",156],[3,"ESC_TELEMETRY_1_TO_4_DATA",156],[3,"ATTITUDE_QUATERNION_DATA",156],[3,"PING_DATA",156],[3,"GPS_RAW_INT_DATA",156],[3,"GOPRO_GET_RESPONSE_DATA",156],[3,"ICAROUS_HEARTBEAT_DATA",156],[3,"GIMBAL_DEVICE_INFORMATION_DATA",156],[3,"WINCH_STATUS_DATA",156],[3,"SET_POSITION_TARGET_GLOBAL_INT_DATA",156],[3,"ATTITUDE_TARGET_DATA",156],[3,"OPEN_DRONE_ID_SYSTEM_DATA",156],[3,"MAG_CAL_REPORT_DATA",156],[3,"CAMERA_SETTINGS_DATA",156],[3,"COMPONENT_METADATA_DATA",156],[3,"OBSTACLE_DISTANCE_3D_DATA",156],[3,"MEMORY_VECT_DATA",156],[3,"MANUAL_CONTROL_DATA",156],[3,"TIMESYNC_DATA",156],[3,"VICON_POSITION_ESTIMATE_DATA",156],[3,"PARAM_VALUE_DATA",156],[3,"UAVIONIX_ADSB_OUT_CFG_DATA",156],[3,"MISSION_ITEM_REACHED_DATA",156],[3,"SCALED_PRESSURE3_DATA",156],[3,"CAMERA_FOV_STATUS_DATA",156],[3,"DEBUG_VECT_DATA",156],[3,"MISSION_CURRENT_DATA",156],[3,"MOUNT_STATUS_DATA",156],[3,"PARAM_EXT_REQUEST_READ_DATA",156],[3,"CURRENT_EVENT_SEQUENCE_DATA",156],[3,"BUTTON_CHANGE_DATA",156],[3,"GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",156],[3,"POWER_STATUS_DATA",156],[3,"DEBUG_FLOAT_ARRAY_DATA",156],[3,"OPEN_DRONE_ID_LOCATION_DATA",156],[3,"CELLULAR_STATUS_DATA",156],[3,"SERVO_OUTPUT_RAW_DATA",156],[3,"NAMED_VALUE_FLOAT_DATA",156],[3,"LINK_NODE_STATUS_DATA",156],[3,"NAMED_VALUE_INT_DATA",156],[3,"RC_CHANNELS_DATA",156],[3,"LOGGING_DATA_ACKED_DATA",156],[3,"ACTUATOR_CONTROL_TARGET_DATA",156],[3,"AP_ADC_DATA",156],[3,"RALLY_POINT_DATA",156],[3,"GPS2_RAW_DATA",156],[3,"GLOBAL_VISION_POSITION_ESTIMATE_DATA",156],[3,"MEMINFO_DATA",156],[3,"UTM_GLOBAL_POSITION_DATA",156],[3,"STORAGE_INFORMATION_DATA",156],[3,"MISSION_REQUEST_INT_DATA",156],[3,"UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",156],[3,"CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",156],[3,"MISSION_ITEM_INT_DATA",156],[3,"TIME_ESTIMATE_TO_TARGET_DATA",156],[3,"STATUSTEXT_DATA",156],[3,"CAN_FILTER_MODIFY_DATA",156],[3,"GOPRO_GET_REQUEST_DATA",156],[3,"COMMAND_INT_DATA",156],[3,"SAFETY_ALLOWED_AREA_DATA",156],[3,"POSITION_TARGET_LOCAL_NED_DATA",156],[3,"TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",156],[3,"ESC_TELEMETRY_9_TO_12_DATA",156],[3,"DIGICAM_CONFIGURE_DATA",156],[3,"LOCAL_POSITION_NED_DATA",156],[3,"ONBOARD_COMPUTER_STATUS_DATA",156],[3,"GIMBAL_MANAGER_SET_ATTITUDE_DATA",156],[3,"RESOURCE_REQUEST_DATA",156],[3,"LOG_REQUEST_LIST_DATA",156],[3,"RC_CHANNELS_OVERRIDE_DATA",156],[3,"MESSAGE_INTERVAL_DATA",156],[3,"AHRS_DATA",156],[3,"VISION_POSITION_ESTIMATE_DATA",156],[3,"LOGGING_ACK_DATA",156],[3,"SUPPORTED_TUNES_DATA",156],[3,"FENCE_POINT_DATA",156],[3,"CAMERA_FEEDBACK_DATA",156],[3,"LOG_DATA_DATA",156],[3,"MANUAL_SETPOINT_DATA",156],[3,"ESC_INFO_DATA",156],[3,"GOPRO_SET_REQUEST_DATA",156],[3,"OSD_PARAM_SHOW_CONFIG_REPLY_DATA",156],[3,"DISTANCE_SENSOR_DATA",156],[3,"ODOMETRY_DATA",156],[3,"DATA_TRANSMISSION_HANDSHAKE_DATA",156],[3,"OPEN_DRONE_ID_OPERATOR_ID_DATA",156],[3,"HEARTBEAT_DATA",156],[3,"PARAM_MAP_RC_DATA",156],[3,"MCU_STATUS_DATA",156],[3,"ACTUATOR_OUTPUT_STATUS_DATA",156],[3,"HIL_STATE_DATA",156],[3,"EFI_STATUS_DATA",156],[3,"SET_POSITION_TARGET_LOCAL_NED_DATA",156],[3,"GPS_GLOBAL_ORIGIN_DATA",156],[3,"GIMBAL_TORQUE_CMD_REPORT_DATA",156],[3,"COLLISION_DATA",156],[3,"PARAM_EXT_ACK_DATA",156],[3,"DEEPSTALL_DATA",156],[3,"MOUNT_CONTROL_DATA",156],[3,"VISION_SPEED_ESTIMATE_DATA",156],[3,"SET_MAG_OFFSETS_DATA",156],[3,"ATTITUDE_QUATERNION_COV_DATA",156],[3,"CAMERA_TRACKING_GEO_STATUS_DATA",156],[3,"CAN_FRAME_DATA",156],[3,"OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",156],[3,"HIL_CONTROLS_DATA",156],[3,"PID_TUNING_DATA",156],[3,"FILE_TRANSFER_PROTOCOL_DATA",156],[3,"MAG_CAL_PROGRESS_DATA",156],[3,"SYS_STATUS_DATA",156],[3,"GIMBAL_REPORT_DATA",156],[3,"OPEN_DRONE_ID_ARM_STATUS_DATA",156],[3,"EKF_STATUS_REPORT_DATA",156],[3,"UAVIONIX_ADSB_OUT_DYNAMIC_DATA",156],[3,"WIFI_CONFIG_AP_DATA",156],[3,"LED_CONTROL_DATA",156],[3,"ISBD_LINK_STATUS_DATA",156],[3,"AOA_SSA_DATA",156],[3,"UAVCAN_NODE_INFO_DATA",156],[3,"GLOBAL_POSITION_INT_COV_DATA",156],[3,"FOLLOW_TARGET_DATA",156],[3,"HWSTATUS_DATA",156],[3,"REQUEST_DATA_STREAM_DATA",156],[3,"REQUEST_EVENT_DATA",156],[3,"TERRAIN_CHECK_DATA",156],[3,"RAW_RPM_DATA",156],[3,"GPS_RTK_DATA",156],[3,"RAW_IMU_DATA",156],[3,"CAMERA_INFORMATION_DATA",156],[3,"WIND_COV_DATA",156],[3,"BATTERY_STATUS_DATA",156],[3,"VIBRATION_DATA",156],[3,"HIL_RC_INPUTS_RAW_DATA",156],[3,"FLIGHT_INFORMATION_DATA",156],[3,"RADIO_STATUS_DATA",156],[3,"MISSION_ITEM_DATA",156],[3,"OSD_PARAM_CONFIG_DATA",156],[3,"COMPONENT_INFORMATION_DATA",156],[3,"GIMBAL_DEVICE_SET_ATTITUDE_DATA",156],[4,"ScriptingCmd",156],[4,"CellularNetworkFailedReason",156],[4,"GoproProtuneColour",156],[4,"MavOdidHeightRef",156],[4,"OsdParamConfigType",156],[4,"SpeedType",156],[4,"GoproProtuneWhiteBalance",156],[4,"MavOdidAuthType",156],[4,"GoproModel",156],[4,"HeadingType",156],[4,"MavOdidArmStatus",156],[4,"GoproVideoSettingsFlags",156],[4,"UavionixAdsbOutDynamicGpsFix",156],[4,"MotorTestThrottleType",156],[4,"MavFtpErr",156],[4,"GoproProtuneGain",156],[4,"VideoStreamType",156],[4,"MotorTestOrder",156],[4,"LandingTargetType",156],[4,"GimbalAxis",156],[4,"MavOdidVerAcc",156],[4,"UavcanNodeMode",156],[4,"TrackerMode",156],[4,"GoproFieldOfView",156],[4,"GpsFixType",156],[4,"MavParamExtType",156],[4,"MavTunnelPayloadType",156],[4,"SubMode",156],[4,"MavSysStatusSensorExtended",156],[4,"GoproCharging",156],[4,"MavSeverity",156],[4,"MavMountMode",156],[4,"WifiConfigApMode",156],[4,"MavBatteryFault",156],[4,"CameraTrackingStatusFlags",156],[4,"EscConnectionType",156],[4,"RtkBaselineCoordinateSystem",156],[4,"RcType",156],[4,"PidTuningAxis",156],[4,"CameraMode",156],[4,"IcarousTrackBandTypes",156],[4,"StorageStatus",156],[4,"UavionixAdsbOutCfgGpsOffsetLat",156],[4,"StorageUsageFlag",156],[4,"MavOdidUaType",156],[4,"MavOdidTimeAcc",156],[4,"MavOdidHorAcc",156],[4,"FirmwareVersionType",156],[4,"MavDistanceSensor",156],[4,"MavCollisionThreatLevel",156],[4,"MavAutopilot",156],[4,"OsdParamConfigError",156],[4,"DeepstallStage",156],[4,"MavRemoteLogDataBlockStatuses",156],[4,"MavRemoteLogDataBlockCommands",156],[4,"GoproProtuneExposure",156],[4,"GoproHeartbeatStatus",156],[4,"CompMetadataType",156],[4,"GoproCaptureMode",156],[4,"MavOdidOperatorIdType",156],[4,"FenceMitigate",156],[4,"MavOdidClassificationType",156],[4,"MavMode",156],[4,"LimitsState",156],[4,"AisType",156],[4,"MavlinkDataStreamType",156],[4,"MavBatteryFunction",156],[4,"MissionState",156],[4,"MavArmAuthDeniedReason",156],[4,"MavResult",156],[4,"FenceBreach",156],[4,"FailureType",156],[4,"GoproCommand",156],[4,"MavVtolState",156],[4,"MavCmdAck",156],[4,"MavSensorOrientation",156],[4,"ActuatorConfiguration",156],[4,"MavCmd",156],[4,"MavOdidCategoryEu",156],[4,"CellularConfigResponse",156],[4,"CameraTrackingMode",156],[4,"UavionixAdsbOutCfgAircraftSize",156],[4,"RoverMode",156],[4,"GimbalAxisCalibrationRequired",156],[4,"MavGoto",156],[4,"AccelcalVehiclePos",156],[4,"AdsbAltitudeType",156],[4,"UavionixAdsbOutCfgGpsOffsetLon",156],[4,"MavFtpOpcode",156],[4,"CameraZoomType",156],[4,"GripperActions",156],[4,"VideoStreamStatusFlags",156],[4,"MavMissionResult",156],[4,"GoproPhotoResolution",156],[4,"MavOdidStatus",156],[4,"MavOdidClassEu",156],[4,"MavParamType",156],[4,"MavCollisionAction",156],[4,"MavModeGimbal",156],[4,"MavBatteryChargeState",156],[4,"MavLandedState",156],[4,"CellularNetworkRadioType",156],[4,"FenceAction",156],[4,"OrbitYawBehaviour",156],[4,"CameraTrackingTargetData",156],[4,"SerialControlDev",156],[4,"AdsbEmitterType",156],[4,"UtmFlightState",156],[4,"PreflightStorageMissionAction",156],[4,"WifiConfigApResponse",156],[4,"MavCollisionSrc",156],[4,"ParachuteAction",156],[4,"DeviceOpBustype",156],[4,"MavCmdDoAuxFunctionSwitchLevel",156],[4,"GoproRequestStatus",156],[4,"GimbalAxisCalibrationStatus",156],[4,"MavOdidSpeedAcc",156],[4,"MavBatteryMode",156],[4,"MavState",156],[4,"CanFilterOp",156],[4,"MavMissionType",156],[4,"ActuatorOutputFunction",156],[4,"MavRoi",156],[4,"CameraStatusTypes",156],[4,"CopterMode",156],[4,"StorageType",156],[4,"MavEventErrorReason",156],[4,"MagCalStatus",156],[4,"AutotuneAxis",156],[4,"ParamAck",156],[4,"PlaneMode",156],[4,"MavOdidOperatorLocationType",156],[4,"PreflightStorageParameterAction",156],[4,"LedControlPattern",156],[4,"GimbalManagerFlags",156],[4,"MavBatteryType",156],[4,"MavEstimatorType",156],[4,"MavDoRepositionFlags",156],[4,"MavDataStream",156],[4,"MavModeFlagDecodePosition",156],[4,"MavFrame",156],[4,"MavType",156],[4,"UavionixAdsbEmergencyStatus",156],[4,"MavOdidDescType",156],[4,"FailureUnit",156],[4,"GoproBurstRate",156],[4,"GoproFrameRate",156],[4,"MavComponent",156],[4,"CellularStatusFlag",156],[4,"GoproProtuneSharpness",156],[4,"UavcanNodeHealth",156],[4,"PrecisionLandMode",156],[4,"CameraFeedbackFlags",156],[4,"GoproResolution",156],[4,"VtolTransitionHeading",156],[4,"NavVtolLandOptions",156],[4,"MavOdidIdType",156],[4,"SetFocusType",156],[4,"IcarousFmsState",156],[4,"AisNavStatus",156],[4,"WinchActions",156],[4,"Ordering",39168],[8,"IntoIterator",39169],[4,"Option",39170],[15,"i64"],[8,"Hasher",39171],[3,"Bytes",15498],[15,"array"],[15,"f32"],[15,"f64"],[15,"i16"],[15,"i32"],[15,"i8"],[3,"BytesMut",15522],[3,"EscFailureFlags",15547],[3,"HilSensorUpdatedFlags",15547],[3,"HighresImuUpdatedFlags",15547],[3,"GpsInputIgnoreFlags",15547],[3,"MavPowerStatus",15547],[3,"GimbalManagerCapFlags",15547],[3,"CameraCapFlags",15547],[3,"UtmDataAvailFlags",15547],[3,"HlFailureFlag",15547],[3,"MavProtocolCapability",15547],[3,"GimbalDeviceErrorFlags",15547],[3,"AttitudeTargetTypemask",15547],[3,"MavSysStatusSensor",15547],[3,"GimbalDeviceFlags",15547],[3,"GimbalDeviceCapFlags",15547],[3,"MavEventCurrentSequenceFlags",15547],[3,"EstimatorStatusFlags",15547],[3,"MavGeneratorStatusFlag",15547],[3,"AdsbFlags",15547],[3,"TuneFormat",15547],[3,"SerialControlFlag",15547],[3,"AisFlags",15547],[3,"PositionTargetTypemask",15547],[3,"MavWinchStatusFlag",15547],[3,"MavModeFlag",15547],[4,"MavMessage",15547],[3,"HIGH_LATENCY_DATA",15547],[3,"SET_POSITION_TARGET_GLOBAL_INT_DATA",15547],[3,"MISSION_SET_CURRENT_DATA",15547],[3,"PING_DATA",15547],[3,"TERRAIN_REQUEST_DATA",15547],[3,"UAVCAN_NODE_INFO_DATA",15547],[3,"VISION_POSITION_ESTIMATE_DATA",15547],[3,"AUTOPILOT_VERSION_DATA",15547],[3,"LOCAL_POSITION_NED_DATA",15547],[3,"VFR_HUD_DATA",15547],[3,"REQUEST_EVENT_DATA",15547],[3,"CAMERA_CAPTURE_STATUS_DATA",15547],[3,"CANFD_FRAME_DATA",15547],[3,"SET_ATTITUDE_TARGET_DATA",15547],[3,"PLAY_TUNE_V2_DATA",15547],[3,"ACTUATOR_OUTPUT_STATUS_DATA",15547],[3,"NAMED_VALUE_INT_DATA",15547],[3,"ONBOARD_COMPUTER_STATUS_DATA",15547],[3,"GPS_STATUS_DATA",15547],[3,"HYGROMETER_SENSOR_DATA",15547],[3,"AUTH_KEY_DATA",15547],[3,"OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",15547],[3,"EVENT_DATA",15547],[3,"GIMBAL_MANAGER_SET_ATTITUDE_DATA",15547],[3,"FLIGHT_INFORMATION_DATA",15547],[3,"V2_EXTENSION_DATA",15547],[3,"BUTTON_CHANGE_DATA",15547],[3,"LOG_DATA_DATA",15547],[3,"HIL_OPTICAL_FLOW_DATA",15547],[3,"OPEN_DRONE_ID_ARM_STATUS_DATA",15547],[3,"OPEN_DRONE_ID_SELF_ID_DATA",15547],[3,"UTM_GLOBAL_POSITION_DATA",15547],[3,"LOG_REQUEST_DATA_DATA",15547],[3,"MISSION_ACK_DATA",15547],[3,"SYS_STATUS_DATA",15547],[3,"RAW_RPM_DATA",15547],[3,"HIL_STATE_QUATERNION_DATA",15547],[3,"CAMERA_FOV_STATUS_DATA",15547],[3,"PLAY_TUNE_DATA",15547],[3,"VIBRATION_DATA",15547],[3,"DEBUG_VECT_DATA",15547],[3,"ADSB_VEHICLE_DATA",15547],[3,"MAG_CAL_REPORT_DATA",15547],[3,"SCALED_IMU3_DATA",15547],[3,"MANUAL_SETPOINT_DATA",15547],[3,"TERRAIN_CHECK_DATA",15547],[3,"GPS_RTK_DATA",15547],[3,"DATA_TRANSMISSION_HANDSHAKE_DATA",15547],[3,"GPS_INPUT_DATA",15547],[3,"LINK_NODE_STATUS_DATA",15547],[3,"FOLLOW_TARGET_DATA",15547],[3,"GPS2_RAW_DATA",15547],[3,"ALTITUDE_DATA",15547],[3,"GLOBAL_VISION_POSITION_ESTIMATE_DATA",15547],[3,"CELLULAR_CONFIG_DATA",15547],[3,"ATTITUDE_DATA",15547],[3,"CAMERA_INFORMATION_DATA",15547],[3,"PARAM_REQUEST_LIST_DATA",15547],[3,"ESC_STATUS_DATA",15547],[3,"LOGGING_DATA_ACKED_DATA",15547],[3,"VISION_SPEED_ESTIMATE_DATA",15547],[3,"GIMBAL_DEVICE_SET_ATTITUDE_DATA",15547],[3,"ESC_INFO_DATA",15547],[3,"PARAM_EXT_SET_DATA",15547],[3,"CURRENT_EVENT_SEQUENCE_DATA",15547],[3,"PARAM_EXT_VALUE_DATA",15547],[3,"PROTOCOL_VERSION_DATA",15547],[3,"RC_CHANNELS_OVERRIDE_DATA",15547],[3,"LOCAL_POSITION_NED_COV_DATA",15547],[3,"GPS_RAW_INT_DATA",15547],[3,"STORAGE_INFORMATION_DATA",15547],[3,"MISSION_ITEM_DATA",15547],[3,"SYSTEM_TIME_DATA",15547],[3,"PARAM_EXT_REQUEST_LIST_DATA",15547],[3,"GIMBAL_MANAGER_SET_PITCHYAW_DATA",15547],[3,"HIGH_LATENCY2_DATA",15547],[3,"LOG_REQUEST_LIST_DATA",15547],[3,"SET_MODE_DATA",15547],[3,"HIL_ACTUATOR_CONTROLS_DATA",15547],[3,"MISSION_ITEM_REACHED_DATA",15547],[3,"HIL_RC_INPUTS_RAW_DATA",15547],[3,"OPEN_DRONE_ID_BASIC_ID_DATA",15547],[3,"MOUNT_ORIENTATION_DATA",15547],[3,"GPS_RTCM_DATA_DATA",15547],[3,"LOG_ERASE_DATA",15547],[3,"REQUEST_DATA_STREAM_DATA",15547],[3,"ATTITUDE_QUATERNION_COV_DATA",15547],[3,"CAMERA_TRACKING_IMAGE_STATUS_DATA",15547],[3,"HIL_CONTROLS_DATA",15547],[3,"POSITION_TARGET_GLOBAL_INT_DATA",15547],[3,"LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",15547],[3,"COMMAND_LONG_DATA",15547],[3,"OPEN_DRONE_ID_LOCATION_DATA",15547],[3,"SCALED_IMU2_DATA",15547],[3,"CAN_FRAME_DATA",15547],[3,"SET_POSITION_TARGET_LOCAL_NED_DATA",15547],[3,"GENERATOR_STATUS_DATA",15547],[3,"TRAJECTORY_REPRESENTATION_BEZIER_DATA",15547],[3,"PARAM_MAP_RC_DATA",15547],[3,"DISTANCE_SENSOR_DATA",15547],[3,"SERVO_OUTPUT_RAW_DATA",15547],[3,"DEBUG_FLOAT_ARRAY_DATA",15547],[3,"SAFETY_ALLOWED_AREA_DATA",15547],[3,"OBSTACLE_DISTANCE_DATA",15547],[3,"TUNNEL_DATA",15547],[3,"ISBD_LINK_STATUS_DATA",15547],[3,"GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",15547],[3,"ATTITUDE_TARGET_DATA",15547],[3,"OPEN_DRONE_ID_OPERATOR_ID_DATA",15547],[3,"WINCH_STATUS_DATA",15547],[3,"RAW_PRESSURE_DATA",15547],[3,"TIME_ESTIMATE_TO_TARGET_DATA",15547],[3,"ORBIT_EXECUTION_STATUS_DATA",15547],[3,"CELLULAR_STATUS_DATA",15547],[3,"TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",15547],[3,"CAMERA_IMAGE_CAPTURED_DATA",15547],[3,"ATTITUDE_QUATERNION_DATA",15547],[3,"EFI_STATUS_DATA",15547],[3,"GPS_GLOBAL_ORIGIN_DATA",15547],[3,"UAVCAN_NODE_STATUS_DATA",15547],[3,"GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",15547],[3,"CAMERA_TRACKING_GEO_STATUS_DATA",15547],[3,"STATUSTEXT_DATA",15547],[3,"CHANGE_OPERATOR_CONTROL_ACK_DATA",15547],[3,"NAV_CONTROLLER_OUTPUT_DATA",15547],[3,"NAMED_VALUE_FLOAT_DATA",15547],[3,"MEMORY_VECT_DATA",15547],[3,"HOME_POSITION_DATA",15547],[3,"DATA_STREAM_DATA",15547],[3,"SCALED_PRESSURE3_DATA",15547],[3,"TIMESYNC_DATA",15547],[3,"ESTIMATOR_STATUS_DATA",15547],[3,"RC_CHANNELS_DATA",15547],[3,"PARAM_VALUE_DATA",15547],[3,"GPS_INJECT_DATA_DATA",15547],[3,"RC_CHANNELS_SCALED_DATA",15547],[3,"OPTICAL_FLOW_DATA",15547],[3,"PARAM_SET_DATA",15547],[3,"GLOBAL_POSITION_INT_DATA",15547],[3,"GIMBAL_MANAGER_STATUS_DATA",15547],[3,"POWER_STATUS_DATA",15547],[3,"COMMAND_ACK_DATA",15547],[3,"GPS2_RTK_DATA",15547],[3,"PARAM_REQUEST_READ_DATA",15547],[3,"SERIAL_CONTROL_DATA",15547],[3,"MISSION_REQUEST_DATA",15547],[3,"WIND_COV_DATA",15547],[3,"SCALED_IMU_DATA",15547],[3,"POSITION_TARGET_LOCAL_NED_DATA",15547],[3,"MISSION_REQUEST_LIST_DATA",15547],[3,"CAMERA_SETTINGS_DATA",15547],[3,"DEBUG_DATA",15547],[3,"SET_ACTUATOR_CONTROL_TARGET_DATA",15547],[3,"HIGHRES_IMU_DATA",15547],[3,"MISSION_ITEM_INT_DATA",15547],[3,"CAN_FILTER_MODIFY_DATA",15547],[3,"MISSION_REQUEST_INT_DATA",15547],[3,"VIDEO_STREAM_INFORMATION_DATA",15547],[3,"HEARTBEAT_DATA",15547],[3,"EXTENDED_SYS_STATE_DATA",15547],[3,"VICON_POSITION_ESTIMATE_DATA",15547],[3,"TERRAIN_DATA_DATA",15547],[3,"RESOURCE_REQUEST_DATA",15547],[3,"FENCE_STATUS_DATA",15547],[3,"SIM_STATE_DATA",15547],[3,"RESPONSE_EVENT_ERROR_DATA",15547],[3,"RADIO_STATUS_DATA",15547],[3,"PARAM_EXT_ACK_DATA",15547],[3,"SETUP_SIGNING_DATA",15547],[3,"MISSION_REQUEST_PARTIAL_LIST_DATA",15547],[3,"OPEN_DRONE_ID_MESSAGE_PACK_DATA",15547],[3,"LOGGING_DATA_DATA",15547],[3,"ATT_POS_MOCAP_DATA",15547],[3,"OPEN_DRONE_ID_SYSTEM_DATA",15547],[3,"CONTROL_SYSTEM_STATE_DATA",15547],[3,"SUPPORTED_TUNES_DATA",15547],[3,"ODOMETRY_DATA",15547],[3,"AIS_VESSEL_DATA",15547],[3,"TERRAIN_REPORT_DATA",15547],[3,"GLOBAL_POSITION_INT_COV_DATA",15547],[3,"HIL_GPS_DATA",15547],[3,"GIMBAL_DEVICE_INFORMATION_DATA",15547],[3,"VIDEO_STREAM_STATUS_DATA",15547],[3,"COMPONENT_INFORMATION_DATA",15547],[3,"ENCAPSULATED_DATA_DATA",15547],[3,"SET_GPS_GLOBAL_ORIGIN_DATA",15547],[3,"SCALED_PRESSURE_DATA",15547],[3,"PARAM_EXT_REQUEST_READ_DATA",15547],[3,"HIL_SENSOR_DATA",15547],[3,"HIL_STATE_DATA",15547],[3,"CHANGE_OPERATOR_CONTROL_DATA",15547],[3,"AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",15547],[3,"MISSION_COUNT_DATA",15547],[3,"WHEEL_DISTANCE_DATA",15547],[3,"MESSAGE_INTERVAL_DATA",15547],[3,"LANDING_TARGET_DATA",15547],[3,"BATTERY_STATUS_DATA",15547],[3,"FILE_TRANSFER_PROTOCOL_DATA",15547],[3,"LOG_REQUEST_END_DATA",15547],[3,"MISSION_CURRENT_DATA",15547],[3,"ACTUATOR_CONTROL_TARGET_DATA",15547],[3,"GIMBAL_MANAGER_INFORMATION_DATA",15547],[3,"COMPONENT_METADATA_DATA",15547],[3,"SAFETY_SET_ALLOWED_AREA_DATA",15547],[3,"RAW_IMU_DATA",15547],[3,"SET_HOME_POSITION_DATA",15547],[3,"CAMERA_TRIGGER_DATA",15547],[3,"SCALED_PRESSURE2_DATA",15547],[3,"OPEN_DRONE_ID_AUTHENTICATION_DATA",15547],[3,"LOG_ENTRY_DATA",15547],[3,"COMMAND_CANCEL_DATA",15547],[3,"SMART_BATTERY_INFO_DATA",15547],[3,"MANUAL_CONTROL_DATA",15547],[3,"MISSION_WRITE_PARTIAL_LIST_DATA",15547],[3,"WIFI_CONFIG_AP_DATA",15547],[3,"LOGGING_ACK_DATA",15547],[3,"OPTICAL_FLOW_RAD_DATA",15547],[3,"RC_CHANNELS_RAW_DATA",15547],[3,"COLLISION_DATA",15547],[3,"COMMAND_INT_DATA",15547],[3,"MISSION_CLEAR_ALL_DATA",15547],[4,"MotorTestOrder",15547],[4,"MavOdidHeightRef",15547],[4,"SetFocusType",15547],[4,"MavBatteryFault",15547],[4,"MavLandedState",15547],[4,"MavSysStatusSensorExtended",15547],[4,"MavBatteryMode",15547],[4,"MavOdidTimeAcc",15547],[4,"MavDoRepositionFlags",15547],[4,"UtmFlightState",15547],[4,"AutotuneAxis",15547],[4,"MavArmAuthDeniedReason",15547],[4,"StorageStatus",15547],[4,"MissionState",15547],[4,"MavResult",15547],[4,"MavOdidOperatorLocationType",15547],[4,"MavType",15547],[4,"MavMissionType",15547],[4,"MavSensorOrientation",15547],[4,"PrecisionLandMode",15547],[4,"FenceAction",15547],[4,"VideoStreamType",15547],[4,"CameraTrackingMode",15547],[4,"CellularStatusFlag",15547],[4,"MavMissionResult",15547],[4,"MavOdidHorAcc",15547],[4,"MavParamExtType",15547],[4,"UavcanNodeHealth",15547],[4,"EscConnectionType",15547],[4,"CameraMode",15547],[4,"CameraTrackingTargetData",15547],[4,"MavFrame",15547],[4,"MavCollisionAction",15547],[4,"StorageType",15547],[4,"PreflightStorageMissionAction",15547],[4,"RtkBaselineCoordinateSystem",15547],[4,"MavOdidStatus",15547],[4,"MavOdidUaType",15547],[4,"WinchActions",15547],[4,"MavBatteryType",15547],[4,"MavCmd",15547],[4,"ActuatorOutputFunction",15547],[4,"GimbalManagerFlags",15547],[4,"MavOdidAuthType",15547],[4,"RcType",15547],[4,"CameraTrackingStatusFlags",15547],[4,"VideoStreamStatusFlags",15547],[4,"MavCollisionSrc",15547],[4,"MavDataStream",15547],[4,"SerialControlDev",15547],[4,"VtolTransitionHeading",15547],[4,"MavGoto",15547],[4,"StorageUsageFlag",15547],[4,"MavModeFlagDecodePosition",15547],[4,"MavParamType",15547],[4,"PreflightStorageParameterAction",15547],[4,"FailureType",15547],[4,"MavEstimatorType",15547],[4,"ActuatorConfiguration",15547],[4,"OrbitYawBehaviour",15547],[4,"MotorTestThrottleType",15547],[4,"MavOdidVerAcc",15547],[4,"MavEventErrorReason",15547],[4,"MavTunnelPayloadType",15547],[4,"MavCollisionThreatLevel",15547],[4,"LandingTargetType",15547],[4,"MavOdidSpeedAcc",15547],[4,"MavOdidOperatorIdType",15547],[4,"CellularConfigResponse",15547],[4,"MavFtpErr",15547],[4,"MavBatteryChargeState",15547],[4,"FenceMitigate",15547],[4,"MavMountMode",15547],[4,"MavlinkDataStreamType",15547],[4,"MavSeverity",15547],[4,"FenceBreach",15547],[4,"MavState",15547],[4,"MavVtolState",15547],[4,"MavFtpOpcode",15547],[4,"CanFilterOp",15547],[4,"MavOdidDescType",15547],[4,"AisType",15547],[4,"MavRoi",15547],[4,"WifiConfigApMode",15547],[4,"MavBatteryFunction",15547],[4,"MavOdidCategoryEu",15547],[4,"CameraZoomType",15547],[4,"MagCalStatus",15547],[4,"AisNavStatus",15547],[4,"MavComponent",15547],[4,"ParamAck",15547],[4,"GpsFixType",15547],[4,"AdsbAltitudeType",15547],[4,"UavcanNodeMode",15547],[4,"MavCmdAck",15547],[4,"MavDistanceSensor",15547],[4,"MavOdidClassificationType",15547],[4,"MavMode",15547],[4,"AdsbEmitterType",15547],[4,"CompMetadataType",15547],[4,"ParachuteAction",15547],[4,"GripperActions",15547],[4,"NavVtolLandOptions",15547],[4,"MavOdidArmStatus",15547],[4,"MavOdidIdType",15547],[4,"CellularNetworkRadioType",15547],[4,"CellularNetworkFailedReason",15547],[4,"MavOdidClassEu",15547],[4,"FailureUnit",15547],[4,"MavAutopilot",15547],[4,"FirmwareVersionType",15547],[4,"WifiConfigApResponse",15547],[3,"Error",39161],[3,"String",39172],[4,"MavMessage",27107],[3,"ICAROUS_HEARTBEAT_DATA",27107],[3,"ICAROUS_KINEMATIC_BANDS_DATA",27107],[4,"IcarousTrackBandTypes",27107],[4,"IcarousFmsState",27107],[3,"UavionixAdsbRfHealth",27239],[3,"UtmDataAvailFlags",27239],[3,"SerialControlFlag",27239],[3,"MavGeneratorStatusFlag",27239],[3,"MavPowerStatus",27239],[3,"PositionTargetTypemask",27239],[3,"GimbalDeviceErrorFlags",27239],[3,"HighresImuUpdatedFlags",27239],[3,"MavEventCurrentSequenceFlags",27239],[3,"EscFailureFlags",27239],[3,"GimbalDeviceFlags",27239],[3,"AisFlags",27239],[3,"MavWinchStatusFlag",27239],[3,"GimbalManagerCapFlags",27239],[3,"AdsbFlags",27239],[3,"TuneFormat",27239],[3,"HlFailureFlag",27239],[3,"GpsInputIgnoreFlags",27239],[3,"MavProtocolCapability",27239],[3,"MavSysStatusSensor",27239],[3,"GimbalDeviceCapFlags",27239],[3,"HilSensorUpdatedFlags",27239],[3,"UavionixAdsbOutRfSelect",27239],[3,"EstimatorStatusFlags",27239],[3,"MavModeFlag",27239],[3,"UavionixAdsbOutDynamicState",27239],[3,"CameraCapFlags",27239],[3,"AttitudeTargetTypemask",27239],[4,"MavMessage",27239],[3,"OPEN_DRONE_ID_SELF_ID_DATA",27239],[3,"OPTICAL_FLOW_DATA",27239],[3,"RC_CHANNELS_SCALED_DATA",27239],[3,"PING_DATA",27239],[3,"WIFI_CONFIG_AP_DATA",27239],[3,"SYS_STATUS_DATA",27239],[3,"TERRAIN_CHECK_DATA",27239],[3,"POSITION_TARGET_LOCAL_NED_DATA",27239],[3,"SET_ATTITUDE_TARGET_DATA",27239],[3,"SYSTEM_TIME_DATA",27239],[3,"OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",27239],[3,"LOGGING_ACK_DATA",27239],[3,"OPEN_DRONE_ID_LOCATION_DATA",27239],[3,"AUTH_KEY_DATA",27239],[3,"HIL_STATE_QUATERNION_DATA",27239],[3,"GLOBAL_POSITION_INT_COV_DATA",27239],[3,"SCALED_IMU3_DATA",27239],[3,"CANFD_FRAME_DATA",27239],[3,"LOGGING_DATA_ACKED_DATA",27239],[3,"ESC_STATUS_DATA",27239],[3,"V2_EXTENSION_DATA",27239],[3,"MISSION_REQUEST_DATA",27239],[3,"MEMORY_VECT_DATA",27239],[3,"CURRENT_EVENT_SEQUENCE_DATA",27239],[3,"SET_POSITION_TARGET_GLOBAL_INT_DATA",27239],[3,"HIGH_LATENCY_DATA",27239],[3,"MISSION_COUNT_DATA",27239],[3,"GPS_GLOBAL_ORIGIN_DATA",27239],[3,"GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",27239],[3,"DEBUG_DATA",27239],[3,"LOCAL_POSITION_NED_DATA",27239],[3,"TERRAIN_REPORT_DATA",27239],[3,"OPEN_DRONE_ID_AUTHENTICATION_DATA",27239],[3,"VISION_SPEED_ESTIMATE_DATA",27239],[3,"GIMBAL_MANAGER_SET_ATTITUDE_DATA",27239],[3,"MISSION_CLEAR_ALL_DATA",27239],[3,"CAMERA_SETTINGS_DATA",27239],[3,"ODOMETRY_DATA",27239],[3,"OPEN_DRONE_ID_MESSAGE_PACK_DATA",27239],[3,"SCALED_PRESSURE2_DATA",27239],[3,"GIMBAL_MANAGER_SET_PITCHYAW_DATA",27239],[3,"ORBIT_EXECUTION_STATUS_DATA",27239],[3,"VICON_POSITION_ESTIMATE_DATA",27239],[3,"ATTITUDE_QUATERNION_DATA",27239],[3,"HEARTBEAT_DATA",27239],[3,"UAVIONIX_ADSB_OUT_DYNAMIC_DATA",27239],[3,"COMMAND_LONG_DATA",27239],[3,"CAN_FRAME_DATA",27239],[3,"SET_POSITION_TARGET_LOCAL_NED_DATA",27239],[3,"ACTUATOR_CONTROL_TARGET_DATA",27239],[3,"PARAM_EXT_ACK_DATA",27239],[3,"CAMERA_IMAGE_CAPTURED_DATA",27239],[3,"ESTIMATOR_STATUS_DATA",27239],[3,"CHANGE_OPERATOR_CONTROL_ACK_DATA",27239],[3,"STATUSTEXT_DATA",27239],[3,"LOGGING_DATA_DATA",27239],[3,"SET_GPS_GLOBAL_ORIGIN_DATA",27239],[3,"GIMBAL_MANAGER_STATUS_DATA",27239],[3,"NAMED_VALUE_FLOAT_DATA",27239],[3,"MANUAL_CONTROL_DATA",27239],[3,"RESPONSE_EVENT_ERROR_DATA",27239],[3,"STORAGE_INFORMATION_DATA",27239],[3,"GPS_RAW_INT_DATA",27239],[3,"TERRAIN_DATA_DATA",27239],[3,"PARAM_REQUEST_READ_DATA",27239],[3,"MISSION_ITEM_REACHED_DATA",27239],[3,"ATTITUDE_QUATERNION_COV_DATA",27239],[3,"MISSION_REQUEST_INT_DATA",27239],[3,"PLAY_TUNE_DATA",27239],[3,"PARAM_EXT_REQUEST_READ_DATA",27239],[3,"COMMAND_CANCEL_DATA",27239],[3,"ESC_INFO_DATA",27239],[3,"HOME_POSITION_DATA",27239],[3,"FENCE_STATUS_DATA",27239],[3,"MANUAL_SETPOINT_DATA",27239],[3,"GPS_STATUS_DATA",27239],[3,"MISSION_ITEM_INT_DATA",27239],[3,"TIME_ESTIMATE_TO_TARGET_DATA",27239],[3,"GPS_INPUT_DATA",27239],[3,"PROTOCOL_VERSION_DATA",27239],[3,"MISSION_CURRENT_DATA",27239],[3,"DEBUG_VECT_DATA",27239],[3,"DATA_STREAM_DATA",27239],[3,"CELLULAR_STATUS_DATA",27239],[3,"RADIO_STATUS_DATA",27239],[3,"MISSION_ACK_DATA",27239],[3,"AIS_VESSEL_DATA",27239],[3,"LOG_ENTRY_DATA",27239],[3,"VISION_POSITION_ESTIMATE_DATA",27239],[3,"MESSAGE_INTERVAL_DATA",27239],[3,"LOG_REQUEST_DATA_DATA",27239],[3,"MISSION_REQUEST_LIST_DATA",27239],[3,"NAMED_VALUE_INT_DATA",27239],[3,"TRAJECTORY_REPRESENTATION_BEZIER_DATA",27239],[3,"REQUEST_EVENT_DATA",27239],[3,"SET_ACTUATOR_CONTROL_TARGET_DATA",27239],[3,"PLAY_TUNE_V2_DATA",27239],[3,"DEBUG_FLOAT_ARRAY_DATA",27239],[3,"DATA_TRANSMISSION_HANDSHAKE_DATA",27239],[3,"AUTOPILOT_VERSION_DATA",27239],[3,"UAVIONIX_ADSB_OUT_CFG_DATA",27239],[3,"ISBD_LINK_STATUS_DATA",27239],[3,"COMMAND_ACK_DATA",27239],[3,"UTM_GLOBAL_POSITION_DATA",27239],[3,"PARAM_EXT_REQUEST_LIST_DATA",27239],[3,"ADSB_VEHICLE_DATA",27239],[3,"GIMBAL_DEVICE_SET_ATTITUDE_DATA",27239],[3,"HIL_CONTROLS_DATA",27239],[3,"PARAM_VALUE_DATA",27239],[3,"OPEN_DRONE_ID_OPERATOR_ID_DATA",27239],[3,"GIMBAL_MANAGER_INFORMATION_DATA",27239],[3,"RC_CHANNELS_RAW_DATA",27239],[3,"TIMESYNC_DATA",27239],[3,"LOG_DATA_DATA",27239],[3,"AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",27239],[3,"RAW_PRESSURE_DATA",27239],[3,"SET_MODE_DATA",27239],[3,"WINCH_STATUS_DATA",27239],[3,"HIL_SENSOR_DATA",27239],[3,"VIBRATION_DATA",27239],[3,"TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",27239],[3,"POSITION_TARGET_GLOBAL_INT_DATA",27239],[3,"SCALED_IMU2_DATA",27239],[3,"HIGH_LATENCY2_DATA",27239],[3,"PARAM_MAP_RC_DATA",27239],[3,"SETUP_SIGNING_DATA",27239],[3,"ONBOARD_COMPUTER_STATUS_DATA",27239],[3,"EXTENDED_SYS_STATE_DATA",27239],[3,"CELLULAR_CONFIG_DATA",27239],[3,"GPS_INJECT_DATA_DATA",27239],[3,"ATTITUDE_TARGET_DATA",27239],[3,"EFI_STATUS_DATA",27239],[3,"GPS2_RTK_DATA",27239],[3,"TUNNEL_DATA",27239],[3,"RAW_IMU_DATA",27239],[3,"PARAM_EXT_VALUE_DATA",27239],[3,"GIMBAL_DEVICE_INFORMATION_DATA",27239],[3,"CONTROL_SYSTEM_STATE_DATA",27239],[3,"RESOURCE_REQUEST_DATA",27239],[3,"HIGHRES_IMU_DATA",27239],[3,"GPS_RTK_DATA",27239],[3,"MISSION_ITEM_DATA",27239],[3,"MOUNT_ORIENTATION_DATA",27239],[3,"GLOBAL_POSITION_INT_DATA",27239],[3,"BATTERY_STATUS_DATA",27239],[3,"LOCAL_POSITION_NED_COV_DATA",27239],[3,"HIL_OPTICAL_FLOW_DATA",27239],[3,"OPTICAL_FLOW_RAD_DATA",27239],[3,"SMART_BATTERY_INFO_DATA",27239],[3,"MISSION_REQUEST_PARTIAL_LIST_DATA",27239],[3,"OPEN_DRONE_ID_SYSTEM_DATA",27239],[3,"PARAM_EXT_SET_DATA",27239],[3,"UAVCAN_NODE_STATUS_DATA",27239],[3,"CHANGE_OPERATOR_CONTROL_DATA",27239],[3,"WHEEL_DISTANCE_DATA",27239],[3,"PARAM_REQUEST_LIST_DATA",27239],[3,"CAMERA_INFORMATION_DATA",27239],[3,"EVENT_DATA",27239],[3,"OPEN_DRONE_ID_BASIC_ID_DATA",27239],[3,"NAV_CONTROLLER_OUTPUT_DATA",27239],[3,"VFR_HUD_DATA",27239],[3,"CAMERA_CAPTURE_STATUS_DATA",27239],[3,"SERVO_OUTPUT_RAW_DATA",27239],[3,"ATTITUDE_DATA",27239],[3,"SAFETY_ALLOWED_AREA_DATA",27239],[3,"CAN_FILTER_MODIFY_DATA",27239],[3,"RC_CHANNELS_DATA",27239],[3,"LOG_REQUEST_LIST_DATA",27239],[3,"DISTANCE_SENSOR_DATA",27239],[3,"REQUEST_DATA_STREAM_DATA",27239],[3,"OBSTACLE_DISTANCE_DATA",27239],[3,"SCALED_PRESSURE3_DATA",27239],[3,"HYGROMETER_SENSOR_DATA",27239],[3,"VIDEO_STREAM_STATUS_DATA",27239],[3,"SUPPORTED_TUNES_DATA",27239],[3,"LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",27239],[3,"MISSION_WRITE_PARTIAL_LIST_DATA",27239],[3,"CAMERA_TRACKING_IMAGE_STATUS_DATA",27239],[3,"UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",27239],[3,"RC_CHANNELS_OVERRIDE_DATA",27239],[3,"LOG_ERASE_DATA",27239],[3,"HIL_GPS_DATA",27239],[3,"GENERATOR_STATUS_DATA",27239],[3,"SCALED_PRESSURE_DATA",27239],[3,"TERRAIN_REQUEST_DATA",27239],[3,"FILE_TRANSFER_PROTOCOL_DATA",27239],[3,"SCALED_IMU_DATA",27239],[3,"PARAM_SET_DATA",27239],[3,"HIL_STATE_DATA",27239],[3,"LINK_NODE_STATUS_DATA",27239],[3,"VIDEO_STREAM_INFORMATION_DATA",27239],[3,"OPEN_DRONE_ID_ARM_STATUS_DATA",27239],[3,"CAMERA_FOV_STATUS_DATA",27239],[3,"SET_HOME_POSITION_DATA",27239],[3,"CAMERA_TRIGGER_DATA",27239],[3,"SERIAL_CONTROL_DATA",27239],[3,"RAW_RPM_DATA",27239],[3,"COLLISION_DATA",27239],[3,"GLOBAL_VISION_POSITION_ESTIMATE_DATA",27239],[3,"UAVCAN_NODE_INFO_DATA",27239],[3,"BUTTON_CHANGE_DATA",27239],[3,"GPS2_RAW_DATA",27239],[3,"COMPONENT_INFORMATION_DATA",27239],[3,"ACTUATOR_OUTPUT_STATUS_DATA",27239],[3,"HIL_ACTUATOR_CONTROLS_DATA",27239],[3,"GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",27239],[3,"MAG_CAL_REPORT_DATA",27239],[3,"SIM_STATE_DATA",27239],[3,"FOLLOW_TARGET_DATA",27239],[3,"ALTITUDE_DATA",27239],[3,"ATT_POS_MOCAP_DATA",27239],[3,"COMMAND_INT_DATA",27239],[3,"LANDING_TARGET_DATA",27239],[3,"CAMERA_TRACKING_GEO_STATUS_DATA",27239],[3,"SAFETY_SET_ALLOWED_AREA_DATA",27239],[3,"FLIGHT_INFORMATION_DATA",27239],[3,"COMPONENT_METADATA_DATA",27239],[3,"MISSION_SET_CURRENT_DATA",27239],[3,"LOG_REQUEST_END_DATA",27239],[3,"ENCAPSULATED_DATA_DATA",27239],[3,"HIL_RC_INPUTS_RAW_DATA",27239],[3,"WIND_COV_DATA",27239],[3,"GPS_RTCM_DATA_DATA",27239],[3,"POWER_STATUS_DATA",27239],[4,"MavSeverity",27239],[4,"MavFtpErr",27239],[4,"MavCmd",27239],[4,"MavFtpOpcode",27239],[4,"MavMissionType",27239],[4,"MavSensorOrientation",27239],[4,"StorageType",27239],[4,"CameraTrackingStatusFlags",27239],[4,"AisNavStatus",27239],[4,"MavOdidClassificationType",27239],[4,"AutotuneAxis",27239],[4,"SetFocusType",27239],[4,"WinchActions",27239],[4,"ActuatorOutputFunction",27239],[4,"VideoStreamType",27239],[4,"MavOdidStatus",27239],[4,"ParachuteAction",27239],[4,"MavTunnelPayloadType",27239],[4,"MavMountMode",27239],[4,"UavcanNodeMode",27239],[4,"CameraTrackingMode",27239],[4,"RcType",27239],[4,"MavBatteryMode",27239],[4,"GripperActions",27239],[4,"CameraZoomType",27239],[4,"MavLandedState",27239],[4,"FailureUnit",27239],[4,"MavParamType",27239],[4,"MavOdidSpeedAcc",27239],[4,"MavRoi",27239],[4,"FailureType",27239],[4,"MavMissionResult",27239],[4,"NavVtolLandOptions",27239],[4,"MavOdidVerAcc",27239],[4,"MavResult",27239],[4,"RtkBaselineCoordinateSystem",27239],[4,"ParamAck",27239],[4,"SerialControlDev",27239],[4,"UavionixAdsbOutCfgAircraftSize",27239],[4,"MavOdidTimeAcc",27239],[4,"CompMetadataType",27239],[4,"MissionState",27239],[4,"GpsFixType",27239],[4,"UavcanNodeHealth",27239],[4,"FenceBreach",27239],[4,"AdsbAltitudeType",27239],[4,"MavOdidClassEu",27239],[4,"UtmFlightState",27239],[4,"CellularStatusFlag",27239],[4,"PreflightStorageMissionAction",27239],[4,"MavDistanceSensor",27239],[4,"CellularConfigResponse",27239],[4,"FirmwareVersionType",27239],[4,"LandingTargetType",27239],[4,"MotorTestThrottleType",27239],[4,"MavOdidCategoryEu",27239],[4,"MavDoRepositionFlags",27239],[4,"MavOdidHeightRef",27239],[4,"VideoStreamStatusFlags",27239],[4,"CanFilterOp",27239],[4,"MavOdidOperatorIdType",27239],[4,"MavOdidDescType",27239],[4,"ActuatorConfiguration",27239],[4,"AdsbEmitterType",27239],[4,"MotorTestOrder",27239],[4,"EscConnectionType",27239],[4,"OrbitYawBehaviour",27239],[4,"MavOdidArmStatus",27239],[4,"MavState",27239],[4,"MagCalStatus",27239],[4,"MavComponent",27239],[4,"MavArmAuthDeniedReason",27239],[4,"UavionixAdsbEmergencyStatus",27239],[4,"MavBatteryFault",27239],[4,"MavEstimatorType",27239],[4,"PrecisionLandMode",27239],[4,"VtolTransitionHeading",27239],[4,"MavVtolState",27239],[4,"MavCmdAck",27239],[4,"CameraTrackingTargetData",27239],[4,"FenceAction",27239],[4,"AisType",27239],[4,"StorageStatus",27239],[4,"MavParamExtType",27239],[4,"MavOdidUaType",27239],[4,"MavMode",27239],[4,"MavFrame",27239],[4,"FenceMitigate",27239],[4,"StorageUsageFlag",27239],[4,"MavOdidIdType",27239],[4,"MavOdidAuthType",27239],[4,"MavAutopilot",27239],[4,"MavOdidOperatorLocationType",27239],[4,"MavlinkDataStreamType",27239],[4,"MavDataStream",27239],[4,"MavBatteryType",27239],[4,"MavGoto",27239],[4,"GimbalManagerFlags",27239],[4,"MavOdidHorAcc",27239],[4,"UavionixAdsbOutCfgGpsOffsetLon",27239],[4,"MavEventErrorReason",27239],[4,"MavBatteryChargeState",27239],[4,"MavCollisionAction",27239],[4,"MavSysStatusSensorExtended",27239],[4,"PreflightStorageParameterAction",27239],[4,"MavCollisionSrc",27239],[4,"MavModeFlagDecodePosition",27239],[4,"MavCollisionThreatLevel",27239],[4,"MavBatteryFunction",27239],[4,"UavionixAdsbOutDynamicGpsFix",27239],[4,"CellularNetworkRadioType",27239],[4,"UavionixAdsbOutCfgGpsOffsetLat",27239],[4,"WifiConfigApResponse",27239],[4,"WifiConfigApMode",27239],[4,"CellularNetworkFailedReason",27239],[4,"CameraMode",27239],[4,"MavType",27239],[13,"InvalidEnum",27102],[13,"InvalidFlag",27102],[13,"UnknownMessage",27102]],"b":[[8654,"impl-UpperHex-for-UavionixAdsbRfHealth"],[8655,"impl-Debug-for-UavionixAdsbRfHealth"],[8656,"impl-LowerHex-for-UavionixAdsbRfHealth"],[8657,"impl-Binary-for-UavionixAdsbRfHealth"],[8658,"impl-Octal-for-UavionixAdsbRfHealth"],[8671,"impl-Debug-for-MavEventCurrentSequenceFlags"],[8672,"impl-Octal-for-MavEventCurrentSequenceFlags"],[8673,"impl-LowerHex-for-MavEventCurrentSequenceFlags"],[8674,"impl-Binary-for-MavEventCurrentSequenceFlags"],[8675,"impl-UpperHex-for-MavEventCurrentSequenceFlags"],[8679,"impl-UpperHex-for-EstimatorStatusFlags"],[8680,"impl-Debug-for-EstimatorStatusFlags"],[8681,"impl-LowerHex-for-EstimatorStatusFlags"],[8682,"impl-Binary-for-EstimatorStatusFlags"],[8683,"impl-Octal-for-EstimatorStatusFlags"],[8685,"impl-Octal-for-GimbalDeviceCapFlags"],[8686,"impl-LowerHex-for-GimbalDeviceCapFlags"],[8687,"impl-UpperHex-for-GimbalDeviceCapFlags"],[8688,"impl-Debug-for-GimbalDeviceCapFlags"],[8689,"impl-Binary-for-GimbalDeviceCapFlags"],[8692,"impl-Octal-for-AdsbFlags"],[8693,"impl-LowerHex-for-AdsbFlags"],[8694,"impl-Debug-for-AdsbFlags"],[8695,"impl-Binary-for-AdsbFlags"],[8696,"impl-UpperHex-for-AdsbFlags"],[8704,"impl-Octal-for-MavSysStatusSensor"],[8705,"impl-UpperHex-for-MavSysStatusSensor"],[8706,"impl-Debug-for-MavSysStatusSensor"],[8707,"impl-Binary-for-MavSysStatusSensor"],[8708,"impl-LowerHex-for-MavSysStatusSensor"],[8711,"impl-Debug-for-GimbalDeviceErrorFlags"],[8712,"impl-UpperHex-for-GimbalDeviceErrorFlags"],[8713,"impl-LowerHex-for-GimbalDeviceErrorFlags"],[8714,"impl-Octal-for-GimbalDeviceErrorFlags"],[8715,"impl-Binary-for-GimbalDeviceErrorFlags"],[8720,"impl-UpperHex-for-GpsInputIgnoreFlags"],[8721,"impl-Octal-for-GpsInputIgnoreFlags"],[8722,"impl-Debug-for-GpsInputIgnoreFlags"],[8723,"impl-Binary-for-GpsInputIgnoreFlags"],[8724,"impl-LowerHex-for-GpsInputIgnoreFlags"],[8729,"impl-Debug-for-HighresImuUpdatedFlags"],[8730,"impl-Octal-for-HighresImuUpdatedFlags"],[8731,"impl-LowerHex-for-HighresImuUpdatedFlags"],[8732,"impl-UpperHex-for-HighresImuUpdatedFlags"],[8733,"impl-Binary-for-HighresImuUpdatedFlags"],[8734,"impl-Debug-for-EkfStatusFlags"],[8735,"impl-LowerHex-for-EkfStatusFlags"],[8736,"impl-UpperHex-for-EkfStatusFlags"],[8737,"impl-Binary-for-EkfStatusFlags"],[8738,"impl-Octal-for-EkfStatusFlags"],[8743,"impl-Octal-for-MavGeneratorStatusFlag"],[8744,"impl-Debug-for-MavGeneratorStatusFlag"],[8745,"impl-LowerHex-for-MavGeneratorStatusFlag"],[8746,"impl-Binary-for-MavGeneratorStatusFlag"],[8747,"impl-UpperHex-for-MavGeneratorStatusFlag"],[8750,"impl-Debug-for-UtmDataAvailFlags"],[8751,"impl-LowerHex-for-UtmDataAvailFlags"],[8752,"impl-UpperHex-for-UtmDataAvailFlags"],[8753,"impl-Binary-for-UtmDataAvailFlags"],[8754,"impl-Octal-for-UtmDataAvailFlags"],[8755,"impl-Binary-for-MavWinchStatusFlag"],[8756,"impl-Octal-for-MavWinchStatusFlag"],[8757,"impl-UpperHex-for-MavWinchStatusFlag"],[8758,"impl-Debug-for-MavWinchStatusFlag"],[8759,"impl-LowerHex-for-MavWinchStatusFlag"],[8769,"impl-Octal-for-CameraCapFlags"],[8770,"impl-UpperHex-for-CameraCapFlags"],[8771,"impl-Debug-for-CameraCapFlags"],[8772,"impl-Binary-for-CameraCapFlags"],[8773,"impl-LowerHex-for-CameraCapFlags"],[8783,"impl-UpperHex-for-AttitudeTargetTypemask"],[8784,"impl-Debug-for-AttitudeTargetTypemask"],[8785,"impl-Binary-for-AttitudeTargetTypemask"],[8786,"impl-LowerHex-for-AttitudeTargetTypemask"],[8787,"impl-Octal-for-AttitudeTargetTypemask"],[8790,"impl-UpperHex-for-GoproHeartbeatFlags"],[8791,"impl-Octal-for-GoproHeartbeatFlags"],[8792,"impl-Debug-for-GoproHeartbeatFlags"],[8793,"impl-Binary-for-GoproHeartbeatFlags"],[8794,"impl-LowerHex-for-GoproHeartbeatFlags"],[8795,"impl-Binary-for-RallyFlags"],[8796,"impl-LowerHex-for-RallyFlags"],[8797,"impl-Debug-for-RallyFlags"],[8798,"impl-Octal-for-RallyFlags"],[8799,"impl-UpperHex-for-RallyFlags"],[8805,"impl-Debug-for-LimitModule"],[8806,"impl-Octal-for-LimitModule"],[8807,"impl-UpperHex-for-LimitModule"],[8808,"impl-Binary-for-LimitModule"],[8809,"impl-LowerHex-for-LimitModule"],[8815,"impl-Binary-for-MavProtocolCapability"],[8816,"impl-LowerHex-for-MavProtocolCapability"],[8817,"impl-Octal-for-MavProtocolCapability"],[8818,"impl-Debug-for-MavProtocolCapability"],[8819,"impl-UpperHex-for-MavProtocolCapability"],[8821,"impl-Binary-for-EscFailureFlags"],[8822,"impl-Debug-for-EscFailureFlags"],[8823,"impl-Octal-for-EscFailureFlags"],[8824,"impl-LowerHex-for-EscFailureFlags"],[8825,"impl-UpperHex-for-EscFailureFlags"],[8840,"impl-Binary-for-SerialControlFlag"],[8841,"impl-LowerHex-for-SerialControlFlag"],[8842,"impl-Octal-for-SerialControlFlag"],[8843,"impl-Debug-for-SerialControlFlag"],[8844,"impl-UpperHex-for-SerialControlFlag"],[8845,"impl-Binary-for-GimbalManagerCapFlags"],[8846,"impl-UpperHex-for-GimbalManagerCapFlags"],[8847,"impl-Octal-for-GimbalManagerCapFlags"],[8848,"impl-Debug-for-GimbalManagerCapFlags"],[8849,"impl-LowerHex-for-GimbalManagerCapFlags"],[8855,"impl-LowerHex-for-UavionixAdsbOutRfSelect"],[8856,"impl-Binary-for-UavionixAdsbOutRfSelect"],[8857,"impl-Octal-for-UavionixAdsbOutRfSelect"],[8858,"impl-UpperHex-for-UavionixAdsbOutRfSelect"],[8859,"impl-Debug-for-UavionixAdsbOutRfSelect"],[8868,"impl-UpperHex-for-MavModeFlag"],[8869,"impl-Octal-for-MavModeFlag"],[8870,"impl-Debug-for-MavModeFlag"],[8871,"impl-LowerHex-for-MavModeFlag"],[8872,"impl-Binary-for-MavModeFlag"],[8880,"impl-UpperHex-for-HilSensorUpdatedFlags"],[8881,"impl-LowerHex-for-HilSensorUpdatedFlags"],[8882,"impl-Binary-for-HilSensorUpdatedFlags"],[8883,"impl-Octal-for-HilSensorUpdatedFlags"],[8884,"impl-Debug-for-HilSensorUpdatedFlags"],[8889,"impl-Debug-for-UavionixAdsbOutDynamicState"],[8890,"impl-Binary-for-UavionixAdsbOutDynamicState"],[8891,"impl-UpperHex-for-UavionixAdsbOutDynamicState"],[8892,"impl-Octal-for-UavionixAdsbOutDynamicState"],[8893,"impl-LowerHex-for-UavionixAdsbOutDynamicState"],[8897,"impl-Octal-for-GimbalDeviceFlags"],[8898,"impl-Binary-for-GimbalDeviceFlags"],[8899,"impl-LowerHex-for-GimbalDeviceFlags"],[8900,"impl-Debug-for-GimbalDeviceFlags"],[8901,"impl-UpperHex-for-GimbalDeviceFlags"],[8902,"impl-Debug-for-PositionTargetTypemask"],[8903,"impl-Octal-for-PositionTargetTypemask"],[8904,"impl-UpperHex-for-PositionTargetTypemask"],[8905,"impl-Binary-for-PositionTargetTypemask"],[8906,"impl-LowerHex-for-PositionTargetTypemask"],[8915,"impl-Binary-for-AisFlags"],[8916,"impl-Debug-for-AisFlags"],[8917,"impl-UpperHex-for-AisFlags"],[8918,"impl-Octal-for-AisFlags"],[8919,"impl-LowerHex-for-AisFlags"],[8925,"impl-UpperHex-for-TuneFormat"],[8926,"impl-LowerHex-for-TuneFormat"],[8927,"impl-Debug-for-TuneFormat"],[8928,"impl-Binary-for-TuneFormat"],[8929,"impl-Octal-for-TuneFormat"],[8933,"impl-UpperHex-for-HlFailureFlag"],[8934,"impl-LowerHex-for-HlFailureFlag"],[8935,"impl-Octal-for-HlFailureFlag"],[8936,"impl-Debug-for-HlFailureFlag"],[8937,"impl-Binary-for-HlFailureFlag"],[8947,"impl-LowerHex-for-MavPowerStatus"],[8948,"impl-Debug-for-MavPowerStatus"],[8949,"impl-UpperHex-for-MavPowerStatus"],[8950,"impl-Octal-for-MavPowerStatus"],[8951,"impl-Binary-for-MavPowerStatus"],[21920,"impl-Debug-for-EscFailureFlags"],[21921,"impl-UpperHex-for-EscFailureFlags"],[21922,"impl-LowerHex-for-EscFailureFlags"],[21923,"impl-Octal-for-EscFailureFlags"],[21924,"impl-Binary-for-EscFailureFlags"],[21926,"impl-Octal-for-HilSensorUpdatedFlags"],[21927,"impl-UpperHex-for-HilSensorUpdatedFlags"],[21928,"impl-LowerHex-for-HilSensorUpdatedFlags"],[21929,"impl-Debug-for-HilSensorUpdatedFlags"],[21930,"impl-Binary-for-HilSensorUpdatedFlags"],[21940,"impl-UpperHex-for-HighresImuUpdatedFlags"],[21941,"impl-Binary-for-HighresImuUpdatedFlags"],[21942,"impl-LowerHex-for-HighresImuUpdatedFlags"],[21943,"impl-Octal-for-HighresImuUpdatedFlags"],[21944,"impl-Debug-for-HighresImuUpdatedFlags"],[21957,"impl-Octal-for-GpsInputIgnoreFlags"],[21958,"impl-UpperHex-for-GpsInputIgnoreFlags"],[21959,"impl-Debug-for-GpsInputIgnoreFlags"],[21960,"impl-LowerHex-for-GpsInputIgnoreFlags"],[21961,"impl-Binary-for-GpsInputIgnoreFlags"],[21963,"impl-UpperHex-for-MavPowerStatus"],[21964,"impl-Debug-for-MavPowerStatus"],[21965,"impl-LowerHex-for-MavPowerStatus"],[21966,"impl-Binary-for-MavPowerStatus"],[21967,"impl-Octal-for-MavPowerStatus"],[21970,"impl-Octal-for-GimbalManagerCapFlags"],[21971,"impl-Binary-for-GimbalManagerCapFlags"],[21972,"impl-UpperHex-for-GimbalManagerCapFlags"],[21973,"impl-LowerHex-for-GimbalManagerCapFlags"],[21974,"impl-Debug-for-GimbalManagerCapFlags"],[21981,"impl-Octal-for-CameraCapFlags"],[21982,"impl-Debug-for-CameraCapFlags"],[21983,"impl-UpperHex-for-CameraCapFlags"],[21984,"impl-LowerHex-for-CameraCapFlags"],[21985,"impl-Binary-for-CameraCapFlags"],[21991,"impl-UpperHex-for-UtmDataAvailFlags"],[21992,"impl-LowerHex-for-UtmDataAvailFlags"],[21993,"impl-Binary-for-UtmDataAvailFlags"],[21994,"impl-Debug-for-UtmDataAvailFlags"],[21995,"impl-Octal-for-UtmDataAvailFlags"],[21996,"impl-UpperHex-for-HlFailureFlag"],[21997,"impl-LowerHex-for-HlFailureFlag"],[21998,"impl-Octal-for-HlFailureFlag"],[21999,"impl-Debug-for-HlFailureFlag"],[22000,"impl-Binary-for-HlFailureFlag"],[22006,"impl-LowerHex-for-MavProtocolCapability"],[22007,"impl-Octal-for-MavProtocolCapability"],[22008,"impl-UpperHex-for-MavProtocolCapability"],[22009,"impl-Debug-for-MavProtocolCapability"],[22010,"impl-Binary-for-MavProtocolCapability"],[22013,"impl-LowerHex-for-GimbalDeviceErrorFlags"],[22014,"impl-Octal-for-GimbalDeviceErrorFlags"],[22015,"impl-UpperHex-for-GimbalDeviceErrorFlags"],[22016,"impl-Debug-for-GimbalDeviceErrorFlags"],[22017,"impl-Binary-for-GimbalDeviceErrorFlags"],[22019,"impl-Binary-for-AttitudeTargetTypemask"],[22020,"impl-Octal-for-AttitudeTargetTypemask"],[22021,"impl-LowerHex-for-AttitudeTargetTypemask"],[22022,"impl-Debug-for-AttitudeTargetTypemask"],[22023,"impl-UpperHex-for-AttitudeTargetTypemask"],[22029,"impl-UpperHex-for-MavSysStatusSensor"],[22030,"impl-Binary-for-MavSysStatusSensor"],[22031,"impl-Debug-for-MavSysStatusSensor"],[22032,"impl-Octal-for-MavSysStatusSensor"],[22033,"impl-LowerHex-for-MavSysStatusSensor"],[22035,"impl-Binary-for-GimbalDeviceFlags"],[22036,"impl-Octal-for-GimbalDeviceFlags"],[22037,"impl-LowerHex-for-GimbalDeviceFlags"],[22038,"impl-Debug-for-GimbalDeviceFlags"],[22039,"impl-UpperHex-for-GimbalDeviceFlags"],[22041,"impl-Debug-for-GimbalDeviceCapFlags"],[22042,"impl-Octal-for-GimbalDeviceCapFlags"],[22043,"impl-UpperHex-for-GimbalDeviceCapFlags"],[22044,"impl-Binary-for-GimbalDeviceCapFlags"],[22045,"impl-LowerHex-for-GimbalDeviceCapFlags"],[22047,"impl-LowerHex-for-MavEventCurrentSequenceFlags"],[22048,"impl-Binary-for-MavEventCurrentSequenceFlags"],[22049,"impl-UpperHex-for-MavEventCurrentSequenceFlags"],[22050,"impl-Debug-for-MavEventCurrentSequenceFlags"],[22051,"impl-Octal-for-MavEventCurrentSequenceFlags"],[22057,"impl-LowerHex-for-EstimatorStatusFlags"],[22058,"impl-Binary-for-EstimatorStatusFlags"],[22059,"impl-Debug-for-EstimatorStatusFlags"],[22060,"impl-Octal-for-EstimatorStatusFlags"],[22061,"impl-UpperHex-for-EstimatorStatusFlags"],[22076,"impl-UpperHex-for-MavGeneratorStatusFlag"],[22077,"impl-LowerHex-for-MavGeneratorStatusFlag"],[22078,"impl-Binary-for-MavGeneratorStatusFlag"],[22079,"impl-Octal-for-MavGeneratorStatusFlag"],[22080,"impl-Debug-for-MavGeneratorStatusFlag"],[22083,"impl-LowerHex-for-AdsbFlags"],[22084,"impl-UpperHex-for-AdsbFlags"],[22085,"impl-Debug-for-AdsbFlags"],[22086,"impl-Binary-for-AdsbFlags"],[22087,"impl-Octal-for-AdsbFlags"],[22090,"impl-LowerHex-for-TuneFormat"],[22091,"impl-Binary-for-TuneFormat"],[22092,"impl-Debug-for-TuneFormat"],[22093,"impl-Octal-for-TuneFormat"],[22094,"impl-UpperHex-for-TuneFormat"],[22095,"impl-UpperHex-for-SerialControlFlag"],[22096,"impl-Debug-for-SerialControlFlag"],[22097,"impl-LowerHex-for-SerialControlFlag"],[22098,"impl-Octal-for-SerialControlFlag"],[22099,"impl-Binary-for-SerialControlFlag"],[22107,"impl-Debug-for-AisFlags"],[22108,"impl-Octal-for-AisFlags"],[22109,"impl-UpperHex-for-AisFlags"],[22110,"impl-LowerHex-for-AisFlags"],[22111,"impl-Binary-for-AisFlags"],[22125,"impl-LowerHex-for-PositionTargetTypemask"],[22126,"impl-Octal-for-PositionTargetTypemask"],[22127,"impl-UpperHex-for-PositionTargetTypemask"],[22128,"impl-Debug-for-PositionTargetTypemask"],[22129,"impl-Binary-for-PositionTargetTypemask"],[22136,"impl-UpperHex-for-MavWinchStatusFlag"],[22137,"impl-Debug-for-MavWinchStatusFlag"],[22138,"impl-Octal-for-MavWinchStatusFlag"],[22139,"impl-Binary-for-MavWinchStatusFlag"],[22140,"impl-LowerHex-for-MavWinchStatusFlag"],[22144,"impl-LowerHex-for-MavModeFlag"],[22145,"impl-Octal-for-MavModeFlag"],[22146,"impl-UpperHex-for-MavModeFlag"],[22147,"impl-Debug-for-MavModeFlag"],[22148,"impl-Binary-for-MavModeFlag"],[27075,"impl-Display-for-ParserError"],[27076,"impl-Debug-for-ParserError"],[27077,"impl-Display-for-MessageReadError"],[27078,"impl-Debug-for-MessageReadError"],[27079,"impl-Display-for-MessageWriteError"],[27080,"impl-Debug-for-MessageWriteError"],[27083,"impl-From%3CParserError%3E-for-MessageReadError"],[27084,"impl-From%3CError%3E-for-MessageReadError"],[33830,"impl-Binary-for-UavionixAdsbRfHealth"],[33831,"impl-Debug-for-UavionixAdsbRfHealth"],[33832,"impl-LowerHex-for-UavionixAdsbRfHealth"],[33833,"impl-UpperHex-for-UavionixAdsbRfHealth"],[33834,"impl-Octal-for-UavionixAdsbRfHealth"],[33839,"impl-UpperHex-for-UtmDataAvailFlags"],[33840,"impl-LowerHex-for-UtmDataAvailFlags"],[33841,"impl-Binary-for-UtmDataAvailFlags"],[33842,"impl-Octal-for-UtmDataAvailFlags"],[33843,"impl-Debug-for-UtmDataAvailFlags"],[33848,"impl-Octal-for-SerialControlFlag"],[33849,"impl-Binary-for-SerialControlFlag"],[33850,"impl-UpperHex-for-SerialControlFlag"],[33851,"impl-LowerHex-for-SerialControlFlag"],[33852,"impl-Debug-for-SerialControlFlag"],[33858,"impl-UpperHex-for-MavGeneratorStatusFlag"],[33859,"impl-Octal-for-MavGeneratorStatusFlag"],[33860,"impl-Debug-for-MavGeneratorStatusFlag"],[33861,"impl-Binary-for-MavGeneratorStatusFlag"],[33862,"impl-LowerHex-for-MavGeneratorStatusFlag"],[33866,"impl-Binary-for-MavPowerStatus"],[33867,"impl-UpperHex-for-MavPowerStatus"],[33868,"impl-Octal-for-MavPowerStatus"],[33869,"impl-LowerHex-for-MavPowerStatus"],[33870,"impl-Debug-for-MavPowerStatus"],[33871,"impl-UpperHex-for-PositionTargetTypemask"],[33872,"impl-Debug-for-PositionTargetTypemask"],[33873,"impl-Octal-for-PositionTargetTypemask"],[33874,"impl-Binary-for-PositionTargetTypemask"],[33875,"impl-LowerHex-for-PositionTargetTypemask"],[33876,"impl-UpperHex-for-GimbalDeviceErrorFlags"],[33877,"impl-Binary-for-GimbalDeviceErrorFlags"],[33878,"impl-Debug-for-GimbalDeviceErrorFlags"],[33879,"impl-LowerHex-for-GimbalDeviceErrorFlags"],[33880,"impl-Octal-for-GimbalDeviceErrorFlags"],[33883,"impl-Debug-for-HighresImuUpdatedFlags"],[33884,"impl-UpperHex-for-HighresImuUpdatedFlags"],[33885,"impl-Octal-for-HighresImuUpdatedFlags"],[33886,"impl-LowerHex-for-HighresImuUpdatedFlags"],[33887,"impl-Binary-for-HighresImuUpdatedFlags"],[33897,"impl-UpperHex-for-MavEventCurrentSequenceFlags"],[33898,"impl-LowerHex-for-MavEventCurrentSequenceFlags"],[33899,"impl-Octal-for-MavEventCurrentSequenceFlags"],[33900,"impl-Binary-for-MavEventCurrentSequenceFlags"],[33901,"impl-Debug-for-MavEventCurrentSequenceFlags"],[33904,"impl-Octal-for-EscFailureFlags"],[33905,"impl-LowerHex-for-EscFailureFlags"],[33906,"impl-Debug-for-EscFailureFlags"],[33907,"impl-Binary-for-EscFailureFlags"],[33908,"impl-UpperHex-for-EscFailureFlags"],[33911,"impl-Octal-for-GimbalDeviceFlags"],[33912,"impl-LowerHex-for-GimbalDeviceFlags"],[33913,"impl-Binary-for-GimbalDeviceFlags"],[33914,"impl-Debug-for-GimbalDeviceFlags"],[33915,"impl-UpperHex-for-GimbalDeviceFlags"],[33918,"impl-UpperHex-for-AisFlags"],[33919,"impl-LowerHex-for-AisFlags"],[33920,"impl-Octal-for-AisFlags"],[33921,"impl-Debug-for-AisFlags"],[33922,"impl-Binary-for-AisFlags"],[33929,"impl-Debug-for-MavWinchStatusFlag"],[33930,"impl-LowerHex-for-MavWinchStatusFlag"],[33931,"impl-Binary-for-MavWinchStatusFlag"],[33932,"impl-Octal-for-MavWinchStatusFlag"],[33933,"impl-UpperHex-for-MavWinchStatusFlag"],[33934,"impl-LowerHex-for-GimbalManagerCapFlags"],[33935,"impl-UpperHex-for-GimbalManagerCapFlags"],[33936,"impl-Octal-for-GimbalManagerCapFlags"],[33937,"impl-Debug-for-GimbalManagerCapFlags"],[33938,"impl-Binary-for-GimbalManagerCapFlags"],[33948,"impl-Binary-for-AdsbFlags"],[33949,"impl-Octal-for-AdsbFlags"],[33950,"impl-LowerHex-for-AdsbFlags"],[33951,"impl-UpperHex-for-AdsbFlags"],[33952,"impl-Debug-for-AdsbFlags"],[33958,"impl-Octal-for-TuneFormat"],[33959,"impl-Binary-for-TuneFormat"],[33960,"impl-UpperHex-for-TuneFormat"],[33961,"impl-Debug-for-TuneFormat"],[33962,"impl-LowerHex-for-TuneFormat"],[33969,"impl-LowerHex-for-HlFailureFlag"],[33970,"impl-Octal-for-HlFailureFlag"],[33971,"impl-Debug-for-HlFailureFlag"],[33972,"impl-Binary-for-HlFailureFlag"],[33973,"impl-UpperHex-for-HlFailureFlag"],[33976,"impl-Octal-for-GpsInputIgnoreFlags"],[33977,"impl-LowerHex-for-GpsInputIgnoreFlags"],[33978,"impl-Debug-for-GpsInputIgnoreFlags"],[33979,"impl-UpperHex-for-GpsInputIgnoreFlags"],[33980,"impl-Binary-for-GpsInputIgnoreFlags"],[33983,"impl-LowerHex-for-MavProtocolCapability"],[33984,"impl-UpperHex-for-MavProtocolCapability"],[33985,"impl-Binary-for-MavProtocolCapability"],[33986,"impl-Debug-for-MavProtocolCapability"],[33987,"impl-Octal-for-MavProtocolCapability"],[33992,"impl-LowerHex-for-MavSysStatusSensor"],[33993,"impl-UpperHex-for-MavSysStatusSensor"],[33994,"impl-Debug-for-MavSysStatusSensor"],[33995,"impl-Binary-for-MavSysStatusSensor"],[33996,"impl-Octal-for-MavSysStatusSensor"],[33999,"impl-LowerHex-for-GimbalDeviceCapFlags"],[34000,"impl-Debug-for-GimbalDeviceCapFlags"],[34001,"impl-UpperHex-for-GimbalDeviceCapFlags"],[34002,"impl-Octal-for-GimbalDeviceCapFlags"],[34003,"impl-Binary-for-GimbalDeviceCapFlags"],[34005,"impl-UpperHex-for-HilSensorUpdatedFlags"],[34006,"impl-LowerHex-for-HilSensorUpdatedFlags"],[34007,"impl-Binary-for-HilSensorUpdatedFlags"],[34008,"impl-Debug-for-HilSensorUpdatedFlags"],[34009,"impl-Octal-for-HilSensorUpdatedFlags"],[34013,"impl-Debug-for-UavionixAdsbOutRfSelect"],[34014,"impl-Octal-for-UavionixAdsbOutRfSelect"],[34015,"impl-Binary-for-UavionixAdsbOutRfSelect"],[34016,"impl-UpperHex-for-UavionixAdsbOutRfSelect"],[34017,"impl-LowerHex-for-UavionixAdsbOutRfSelect"],[34018,"impl-UpperHex-for-EstimatorStatusFlags"],[34019,"impl-Octal-for-EstimatorStatusFlags"],[34020,"impl-LowerHex-for-EstimatorStatusFlags"],[34021,"impl-Debug-for-EstimatorStatusFlags"],[34022,"impl-Binary-for-EstimatorStatusFlags"],[34025,"impl-Octal-for-MavModeFlag"],[34026,"impl-LowerHex-for-MavModeFlag"],[34027,"impl-UpperHex-for-MavModeFlag"],[34028,"impl-Debug-for-MavModeFlag"],[34029,"impl-Binary-for-MavModeFlag"],[34042,"impl-UpperHex-for-UavionixAdsbOutDynamicState"],[34043,"impl-Binary-for-UavionixAdsbOutDynamicState"],[34044,"impl-Debug-for-UavionixAdsbOutDynamicState"],[34045,"impl-LowerHex-for-UavionixAdsbOutDynamicState"],[34046,"impl-Octal-for-UavionixAdsbOutDynamicState"],[34059,"impl-Debug-for-CameraCapFlags"],[34060,"impl-Octal-for-CameraCapFlags"],[34061,"impl-LowerHex-for-CameraCapFlags"],[34062,"impl-Binary-for-CameraCapFlags"],[34063,"impl-UpperHex-for-CameraCapFlags"],[34072,"impl-UpperHex-for-AttitudeTargetTypemask"],[34073,"impl-Binary-for-AttitudeTargetTypemask"],[34074,"impl-LowerHex-for-AttitudeTargetTypemask"],[34075,"impl-Octal-for-AttitudeTargetTypemask"],[34076,"impl-Debug-for-AttitudeTargetTypemask"]]},\ +"mavlink":{"doc":"The MAVLink message set.","t":"SSSDDRRRIDDEIQISNNALLLLLLLLLLAALLLLLLLLLLLLALLLMFLLLKKLLLLLLAKLLLLLLLLLLKLLLLLMALLLLLLKLLKKMLLKLLLLMLLFFFFFKLLKLLLLLLMKKLLLLLLLLKLLMLLLLLLLLLLLLLLLLLLLLAFFFNNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSNDNNDNDDNDSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDMNDNDNDNNDDNDSSSSSSNDNDNDNDNDNNNNEEEEEDDEEDENDNNDNDNDSSSSSSSSSSSSNNNDNNNNDNDNDNNNNDNDNNNNNNNNDNDNNNNNNNNNNNDNDNNDNNNDNNDNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNDDMNDNDNDNDNDNDNDNDNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNDNDDEEEEEEEEEEEEEMMMEMNDNDNDNDNDNDNDNDNDNDNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNNNDNDNDNDNDNDNDEEMNDSSSSSSSSNDSSSNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNSSSSSSSSNDNDNDNDNDSSSSSSSSSSNDSSNDNDDEDDNNNNNNNNNNNNNNNNNNNNNNNSNNNNNNNNNNNNNDNNNNDNDMNDNNNNNNDNNNNNNNNDEEEEEENDNNNNNNNNNNDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNDNDSSSSSSSSSSSSSSSSNNNNNNNNNNNDNDNDNDNDNDNDNNDDNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSNNNNNNNNNNNNNNNDNDNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNNDNDNNNNNNNNNNDNDNDSSSSSSSSNDNDNDNDNNEEEDDDDEEEEEEEDEEEEEEEEEEEEDENNNDNDNDNDSSSSSSSSSSSSSSSNNDDNDNDNDNDNDNDSSSSSSSSSSSSSSSNDNDSSSSSSSSSSSSSSNDNDNDEDDDMMMMNNNNNNNDNDNNNNDEENDNNNNSNDNNNNNNNNNDNSSSNDNNDDNDNDNNDDNDNDNDNDNDNDEEDENNNNNDNDNNNNNDNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSNNNNNNNNSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSNSSSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSNDMMMMNDNDNDNDNDNDNDNDNDNDNNDNDNDNDNNDNNNNNNNDNMNNNNNNNNDNDNDNDEEEEEEEEEEEEEEEEEEEDEEEEDEEEEEEDEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEDEEEEDEEEENDNDNDNNNENNDDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNNNNNNNDNDNNNNNNNNNNNNDNDNEEEMNNNNNNNNDNDNDNDNDNDNNDNDNNNNDNDNNNDNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNDNDNDNDSSSSSSSSSSSSNDNNNNDEEMMMEEDEEENDNDNDNDNDNDNDNDNDNDNDNDNNNDNDNDNDNDNDNNNNNNNNNNNNNDNNDEEENDNDNNDNDDNNDNDDNNNNNDNDNNNNNSSSSSNNNNNNNNNNNDNDNDNDNDNDNDNDNDNDNDNDNDNNMNDNDNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNDEEDEEEEEENDNDNDNDNDNDNNNNNNNDNDSSNDEDNNNNNDNNNNNNDNNNNNNNNNNNNNNNNNDNNNNNNNNNNNNDNNNNNNSSSSSNNNNNNSSSNSSSSNDNSSSSSSSSNNNNNNDEEEEEEEDDDDENDNDNDNDNDNDNNNNNNNDNDNDNNNNNMMMEEMENDNDNDNNNNNNNNNNNNNNNNNNNNNDNNDDEEENNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMDLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSNDSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNDNNDDNDSSSSSSNDNDNDNDNNNNEEEEDDEEDENNDNDNDSSSSSSSSSSSSNDNDNDNNNNDNDNDNNNNNNNNNNNDNDNNDNNNDNNDNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNDDMNDNDNDNDNDNDNDNNNNNNNDNDDEEEEEEEEEEENDNDNDNDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNDNDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNSSSSSSSSNDNDSSSSSSSSSSNDSSNDNDEDDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNNNNNNDNNNNNNNNDEEEEEENDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNDNDSSSSSSSSSSSSSSSSNNNNNNNNNNNDNDNDNDNDNNDDNDNDNDNNNNNNNNNNDNDNDSSSSSSSSNDNDNDNDNNDDDDEEDENDNDSSSSSSSSSSSSSSSNNDDNDNDNDNDNDNDSSSSSSSSSSSSSSSNDNDSSSSSSSSSSSSSSNDNDDDDMNDNDNNNNNDNNDDNDNDNNDDNDNDNDNDNDNDENNNNNDNNNNNDNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSNNNNNNNNSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSNSSSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSNDNDNDNDNDNDNDNDNDNNDNDNDNDNNDNNNNNNNDNMNNNNNNNNDEEEEEEEEEEEEEEEEEEDEEEEDEEEEEEDEEEEEEEEEEEEEEEEEEEEDDEEEEEDEEEEDEEEENDNDNDNNNENDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNNNNNENNNNNNNNDNDNDNDNDNDNNDNDNNNNDNDNNDNDNDNDNDSSSSSSSSSSSSNDNNNNDEEDEEENDNDNDNDNDNDNDNDNNNDNDNDNDNNEENDNDNNDNDDNNDNDDNDNNNNNSSSSSNNNNNNNNNNNDNDNDNDNDNDNDNDNDNDNDNDNDNNNNNNNNNNNNNNNNNNDNDNDEDEEEENDNDNDNDNDNDNDNDSSNDDNNNNNDNNNNNNDNSSSSSSSSNNNNNNDEEDENDNDNDNDNDNDNNNNNNNDNDNNNNNMEEMENDNDNNNNNNNNNNNNNNNNNNNNNDNDEEENNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNEENENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMSSSSSSNNNNNNNDNDNNNEEELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLMMMMMMLLLLLLLLLMLLLLLLLLLLLLLLLLLLLMMMMMLLLLLNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSNDSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNDNNDDNDSSSSSSNDNDNDNDNNNNEEEEDDEEDENNDNDNDSSSSSSSSSSSSNDNDNDNNNNDNDNDNNNNNNNNNNNDNDNNDNNNDNNDNNNNNNNNNNNNNNDNNNNNNNNNNNNNNNDDMNDNDNDNDNDNDNDNNNNNNNDNDDEEEEEEEEEEENDNDNDNDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNDNDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNSSSSSSSSNDNDSSSSSSSSSSNDSSNDNDEDDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDNDNNNNNNDNNNNNNNNDEEEEEENDNDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSNDNDSSSSSSSSSSSSSSSSNNNNNNNNNNNDNDNDNDNDNNDDNDNDNDNNNNNNNNNNDNDNDSSSSSSSSNDNDNDNDNNDDDDEEDENDNDSSSSSSSSSSSSSSSNNDDNDNDNDNDNDNDSSSSSSSSSSSSSSSNDNDSSSSSSSSSSSSSSNDNDDDDMMNDNDNNNNNDNNDDNDNDNNDDNDNDNDNDNDNDENNNNNDNNNNNDNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSNNNNNNNNSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSNSSSSSSSSSSSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSNDNDNDNDNDNDNDNDNDNNDNDNDNDNNDNNNNNNNDNMNNNNNNNNDEEEEEEEEEEEEEEEEEEDEEEEDEEEEEEDEEEEEEEEEEEEEEEEEEEEDDEEEEEDEEEEDEEEENDNDNDNNNENDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNNNNNENNNNNNNNDNDNDNDNDNDNNDNDNNNNDNDNNDNDNDNDNDSSSSSSSSSSSSNDNNNNDEEDEEENDNDNDNDNDNDNDNDNNNDNDNDNDNNEENDNDNNDNDDNNDNDDNDNNNNNSSSSSNNNNNNNNNNNDNDNDNDNDNDNDNDNDNDNDNDNDNNNNNNNNNNNNNNNNNNDNDNDEDEEEENDNDNDNDNDNDNDNDSSNDDNNNNNDNNNNNNDNNNNNNNNNNNNNNNNNDNNNNNNNNNNNNDNNNNNNSSSSSNNNNNNSSSNSSSSNDNSSSSSSSSNNNNNNDEEEEEEEDDDDENDNDNDNDNDNDNNNNNNNDNDNNNNNMMEEMENDNDNNNNNNNNNNNNNNNNNNNNNDNDEEENNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM","n":["ENCODED_LEN","EXTRA_CRC","ID","MAVLinkV1MessageRaw","MAVLinkV2MessageRaw","MAV_STX","MAV_STX_V2","MAX_FRAME_SIZE","MavConnection","MavFrame","MavHeader","MavlinkVersion","Message","Message","MessageData","NAME","V1","V2","ardupilotmega","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bytes","bytes_mut","checksum","checksum","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","common","compatibility_flags","component_id","component_id","component_id","connect","default","default","default","default_message_from_id","deser","deser","deserialize","eq","eq","eq","eq","error","extra_crc","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","get_protocol_version","has_valid_crc","has_valid_crc","header","header","header","header","icarous","incompatibility_flags","into","into","into","into","into","message_id","message_id","message_id","message_id_from_name","message_name","msg","new","new","parse","payload","payload","payload_length","payload_length","protocol_version","raw_bytes","raw_bytes","read_v1_msg","read_v1_raw_message","read_v2_msg","read_v2_raw_message","read_versioned_msg","recv","recv_frame","recv_frame","send","send_default","send_default","send_frame","send_frame","sequence","sequence","sequence","ser","ser","ser","serialize","serialize","serialize","serialize_message","serialize_message","serialize_message_data","serialize_message_data","set_protocol_version","system_id","system_id","system_id","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","uavionix","write_v1_msg","write_v2_msg","write_versioned_msg","ACCELCAL_VEHICLE_POS_BACK","ACCELCAL_VEHICLE_POS_FAILED","ACCELCAL_VEHICLE_POS_LEFT","ACCELCAL_VEHICLE_POS_LEVEL","ACCELCAL_VEHICLE_POS_NOSEDOWN","ACCELCAL_VEHICLE_POS_NOSEUP","ACCELCAL_VEHICLE_POS_RIGHT","ACCELCAL_VEHICLE_POS_SUCCESS","ACTUATOR_CONFIGURATION_3D_MODE_OFF","ACTUATOR_CONFIGURATION_3D_MODE_ON","ACTUATOR_CONFIGURATION_BEEP","ACTUATOR_CONFIGURATION_NONE","ACTUATOR_CONFIGURATION_SPIN_DIRECTION1","ACTUATOR_CONFIGURATION_SPIN_DIRECTION2","ACTUATOR_CONTROL_TARGET","ACTUATOR_CONTROL_TARGET_DATA","ACTUATOR_OUTPUT_FUNCTION_MOTOR1","ACTUATOR_OUTPUT_FUNCTION_MOTOR10","ACTUATOR_OUTPUT_FUNCTION_MOTOR11","ACTUATOR_OUTPUT_FUNCTION_MOTOR12","ACTUATOR_OUTPUT_FUNCTION_MOTOR13","ACTUATOR_OUTPUT_FUNCTION_MOTOR14","ACTUATOR_OUTPUT_FUNCTION_MOTOR15","ACTUATOR_OUTPUT_FUNCTION_MOTOR16","ACTUATOR_OUTPUT_FUNCTION_MOTOR2","ACTUATOR_OUTPUT_FUNCTION_MOTOR3","ACTUATOR_OUTPUT_FUNCTION_MOTOR4","ACTUATOR_OUTPUT_FUNCTION_MOTOR5","ACTUATOR_OUTPUT_FUNCTION_MOTOR6","ACTUATOR_OUTPUT_FUNCTION_MOTOR7","ACTUATOR_OUTPUT_FUNCTION_MOTOR8","ACTUATOR_OUTPUT_FUNCTION_MOTOR9","ACTUATOR_OUTPUT_FUNCTION_NONE","ACTUATOR_OUTPUT_FUNCTION_SERVO1","ACTUATOR_OUTPUT_FUNCTION_SERVO10","ACTUATOR_OUTPUT_FUNCTION_SERVO11","ACTUATOR_OUTPUT_FUNCTION_SERVO12","ACTUATOR_OUTPUT_FUNCTION_SERVO13","ACTUATOR_OUTPUT_FUNCTION_SERVO14","ACTUATOR_OUTPUT_FUNCTION_SERVO15","ACTUATOR_OUTPUT_FUNCTION_SERVO16","ACTUATOR_OUTPUT_FUNCTION_SERVO2","ACTUATOR_OUTPUT_FUNCTION_SERVO3","ACTUATOR_OUTPUT_FUNCTION_SERVO4","ACTUATOR_OUTPUT_FUNCTION_SERVO5","ACTUATOR_OUTPUT_FUNCTION_SERVO6","ACTUATOR_OUTPUT_FUNCTION_SERVO7","ACTUATOR_OUTPUT_FUNCTION_SERVO8","ACTUATOR_OUTPUT_FUNCTION_SERVO9","ACTUATOR_OUTPUT_STATUS","ACTUATOR_OUTPUT_STATUS_DATA","ADAP_TUNING","ADAP_TUNING_DATA","ADSB_ALTITUDE_TYPE_GEOMETRIC","ADSB_ALTITUDE_TYPE_PRESSURE_QNH","ADSB_EMITTER_TYPE_EMERGENCY_SURFACE","ADSB_EMITTER_TYPE_GLIDER","ADSB_EMITTER_TYPE_HEAVY","ADSB_EMITTER_TYPE_HIGHLY_MANUV","ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE","ADSB_EMITTER_TYPE_LARGE","ADSB_EMITTER_TYPE_LIGHT","ADSB_EMITTER_TYPE_LIGHTER_AIR","ADSB_EMITTER_TYPE_NO_INFO","ADSB_EMITTER_TYPE_PARACHUTE","ADSB_EMITTER_TYPE_POINT_OBSTACLE","ADSB_EMITTER_TYPE_ROTOCRAFT","ADSB_EMITTER_TYPE_SERVICE_SURFACE","ADSB_EMITTER_TYPE_SMALL","ADSB_EMITTER_TYPE_SPACE","ADSB_EMITTER_TYPE_UAV","ADSB_EMITTER_TYPE_ULTRA_LIGHT","ADSB_EMITTER_TYPE_UNASSGINED3","ADSB_EMITTER_TYPE_UNASSIGNED","ADSB_EMITTER_TYPE_UNASSIGNED2","ADSB_FLAGS_BARO_VALID","ADSB_FLAGS_SIMULATED","ADSB_FLAGS_SOURCE_UAT","ADSB_FLAGS_VALID_ALTITUDE","ADSB_FLAGS_VALID_CALLSIGN","ADSB_FLAGS_VALID_COORDS","ADSB_FLAGS_VALID_HEADING","ADSB_FLAGS_VALID_SQUAWK","ADSB_FLAGS_VALID_VELOCITY","ADSB_FLAGS_VERTICAL_VELOCITY_VALID","ADSB_VEHICLE","ADSB_VEHICLE_DATA","AHRS","AHRS2","AHRS2_DATA","AHRS3","AHRS3_DATA","AHRS_DATA","AIRSPEED_AUTOCAL","AIRSPEED_AUTOCAL_DATA","AIS_FLAGS_HIGH_VELOCITY","AIS_FLAGS_LARGE_BOW_DIMENSION","AIS_FLAGS_LARGE_PORT_DIMENSION","AIS_FLAGS_LARGE_STARBOARD_DIMENSION","AIS_FLAGS_LARGE_STERN_DIMENSION","AIS_FLAGS_POSITION_ACCURACY","AIS_FLAGS_TURN_RATE_SIGN_ONLY","AIS_FLAGS_VALID_CALLSIGN","AIS_FLAGS_VALID_COG","AIS_FLAGS_VALID_DIMENSIONS","AIS_FLAGS_VALID_NAME","AIS_FLAGS_VALID_TURN_RATE","AIS_FLAGS_VALID_VELOCITY","AIS_NAV_AGROUND","AIS_NAV_AIS_SART","AIS_NAV_ANCHORED","AIS_NAV_DRAUGHT_CONSTRAINED","AIS_NAV_FISHING","AIS_NAV_MOORED","AIS_NAV_RESERVED_1","AIS_NAV_RESERVED_2","AIS_NAV_RESERVED_3","AIS_NAV_RESERVED_HSC","AIS_NAV_RESERVED_WIG","AIS_NAV_RESTRICTED_MANOEUVERABILITY","AIS_NAV_SAILING","AIS_NAV_UNKNOWN","AIS_NAV_UN_COMMANDED","AIS_TYPE_ANTI_POLLUTION","AIS_TYPE_CARGO","AIS_TYPE_CARGO_HAZARDOUS_A","AIS_TYPE_CARGO_HAZARDOUS_B","AIS_TYPE_CARGO_HAZARDOUS_C","AIS_TYPE_CARGO_HAZARDOUS_D","AIS_TYPE_CARGO_RESERVED_1","AIS_TYPE_CARGO_RESERVED_2","AIS_TYPE_CARGO_RESERVED_3","AIS_TYPE_CARGO_RESERVED_4","AIS_TYPE_CARGO_UNKNOWN","AIS_TYPE_DIVING","AIS_TYPE_DREDGING","AIS_TYPE_FISHING","AIS_TYPE_HSC","AIS_TYPE_HSC_HAZARDOUS_A","AIS_TYPE_HSC_HAZARDOUS_B","AIS_TYPE_HSC_HAZARDOUS_C","AIS_TYPE_HSC_HAZARDOUS_D","AIS_TYPE_HSC_RESERVED_1","AIS_TYPE_HSC_RESERVED_2","AIS_TYPE_HSC_RESERVED_3","AIS_TYPE_HSC_RESERVED_4","AIS_TYPE_HSC_UNKNOWN","AIS_TYPE_LAW_ENFORCEMENT","AIS_TYPE_MEDICAL_TRANSPORT","AIS_TYPE_MILITARY","AIS_TYPE_NONECOMBATANT","AIS_TYPE_OTHER","AIS_TYPE_OTHER_HAZARDOUS_A","AIS_TYPE_OTHER_HAZARDOUS_B","AIS_TYPE_OTHER_HAZARDOUS_C","AIS_TYPE_OTHER_HAZARDOUS_D","AIS_TYPE_OTHER_RESERVED_1","AIS_TYPE_OTHER_RESERVED_2","AIS_TYPE_OTHER_RESERVED_3","AIS_TYPE_OTHER_RESERVED_4","AIS_TYPE_OTHER_UNKNOWN","AIS_TYPE_PASSENGER","AIS_TYPE_PASSENGER_HAZARDOUS_A","AIS_TYPE_PASSENGER_HAZARDOUS_B","AIS_TYPE_PASSENGER_HAZARDOUS_C","AIS_TYPE_PASSENGER_HAZARDOUS_D","AIS_TYPE_PASSENGER_RESERVED_1","AIS_TYPE_PASSENGER_RESERVED_2","AIS_TYPE_PASSENGER_RESERVED_3","AIS_TYPE_PASSENGER_RESERVED_4","AIS_TYPE_PASSENGER_UNKNOWN","AIS_TYPE_PILOT","AIS_TYPE_PLEASURE","AIS_TYPE_PORT_TENDER","AIS_TYPE_RESERVED_1","AIS_TYPE_RESERVED_10","AIS_TYPE_RESERVED_11","AIS_TYPE_RESERVED_12","AIS_TYPE_RESERVED_13","AIS_TYPE_RESERVED_14","AIS_TYPE_RESERVED_15","AIS_TYPE_RESERVED_16","AIS_TYPE_RESERVED_17","AIS_TYPE_RESERVED_18","AIS_TYPE_RESERVED_19","AIS_TYPE_RESERVED_2","AIS_TYPE_RESERVED_20","AIS_TYPE_RESERVED_21","AIS_TYPE_RESERVED_3","AIS_TYPE_RESERVED_4","AIS_TYPE_RESERVED_5","AIS_TYPE_RESERVED_6","AIS_TYPE_RESERVED_7","AIS_TYPE_RESERVED_8","AIS_TYPE_RESERVED_9","AIS_TYPE_SAILING","AIS_TYPE_SAR","AIS_TYPE_SPARE_LOCAL_1","AIS_TYPE_SPARE_LOCAL_2","AIS_TYPE_TANKER","AIS_TYPE_TANKER_HAZARDOUS_A","AIS_TYPE_TANKER_HAZARDOUS_B","AIS_TYPE_TANKER_HAZARDOUS_C","AIS_TYPE_TANKER_HAZARDOUS_D","AIS_TYPE_TANKER_RESERVED_1","AIS_TYPE_TANKER_RESERVED_2","AIS_TYPE_TANKER_RESERVED_3","AIS_TYPE_TANKER_RESERVED_4","AIS_TYPE_TANKER_UNKNOWN","AIS_TYPE_TOWING","AIS_TYPE_TOWING_LARGE","AIS_TYPE_TUG","AIS_TYPE_UNKNOWN","AIS_TYPE_WIG","AIS_TYPE_WIG_HAZARDOUS_A","AIS_TYPE_WIG_HAZARDOUS_B","AIS_TYPE_WIG_HAZARDOUS_C","AIS_TYPE_WIG_HAZARDOUS_D","AIS_TYPE_WIG_RESERVED_1","AIS_TYPE_WIG_RESERVED_2","AIS_TYPE_WIG_RESERVED_3","AIS_TYPE_WIG_RESERVED_4","AIS_TYPE_WIG_RESERVED_5","AIS_VESSEL","AIS_VESSEL_DATA","ALTITUDE","ALTITUDE_DATA","AOA","AOA_SSA","AOA_SSA_DATA","AP_ADC","AP_ADC_DATA","ATTITUDE","ATTITUDE_DATA","ATTITUDE_QUATERNION","ATTITUDE_QUATERNION_COV","ATTITUDE_QUATERNION_COV_DATA","ATTITUDE_QUATERNION_DATA","ATTITUDE_TARGET","ATTITUDE_TARGET_DATA","ATTITUDE_TARGET_TYPEMASK_ATTITUDE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_PITCH_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_YAW_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_THROTTLE_IGNORE","ATTITUDE_TARGET_TYPEMASK_THRUST_BODY_SET","ATT_POS_MOCAP","ATT_POS_MOCAP_DATA","AUTH_KEY","AUTH_KEY_DATA","AUTOPILOT_STATE_FOR_GIMBAL_DEVICE","AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA","AUTOPILOT_VERSION","AUTOPILOT_VERSION_DATA","AUTOPILOT_VERSION_REQUEST","AUTOPILOT_VERSION_REQUEST_DATA","AUTOTUNE_AXIS_DEFAULT","AUTOTUNE_AXIS_PITCH","AUTOTUNE_AXIS_ROLL","AUTOTUNE_AXIS_YAW","AccelcalVehiclePos","ActuatorConfiguration","ActuatorOutputFunction","AdsbAltitudeType","AdsbEmitterType","AdsbFlags","AisFlags","AisNavStatus","AisType","AttitudeTargetTypemask","AutotuneAxis","BATTERY2","BATTERY2_DATA","BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION","BATTERY_STATUS","BATTERY_STATUS_DATA","BUTTON_CHANGE","BUTTON_CHANGE_DATA","CAMERA_CAPTURE_STATUS","CAMERA_CAPTURE_STATUS_DATA","CAMERA_CAP_FLAGS_CAN_CAPTURE_IMAGE_IN_VIDEO_MODE","CAMERA_CAP_FLAGS_CAN_CAPTURE_VIDEO_IN_IMAGE_MODE","CAMERA_CAP_FLAGS_CAPTURE_IMAGE","CAMERA_CAP_FLAGS_CAPTURE_VIDEO","CAMERA_CAP_FLAGS_HAS_BASIC_FOCUS","CAMERA_CAP_FLAGS_HAS_BASIC_ZOOM","CAMERA_CAP_FLAGS_HAS_IMAGE_SURVEY_MODE","CAMERA_CAP_FLAGS_HAS_MODES","CAMERA_CAP_FLAGS_HAS_TRACKING_GEO_STATUS","CAMERA_CAP_FLAGS_HAS_TRACKING_POINT","CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE","CAMERA_CAP_FLAGS_HAS_VIDEO_STREAM","CAMERA_FEEDBACK","CAMERA_FEEDBACK_BADEXPOSURE","CAMERA_FEEDBACK_CLOSEDLOOP","CAMERA_FEEDBACK_DATA","CAMERA_FEEDBACK_OPENLOOP","CAMERA_FEEDBACK_PHOTO","CAMERA_FEEDBACK_VIDEO","CAMERA_FOV_STATUS","CAMERA_FOV_STATUS_DATA","CAMERA_IMAGE_CAPTURED","CAMERA_IMAGE_CAPTURED_DATA","CAMERA_INFORMATION","CAMERA_INFORMATION_DATA","CAMERA_MODE_IMAGE","CAMERA_MODE_IMAGE_SURVEY","CAMERA_MODE_VIDEO","CAMERA_SETTINGS","CAMERA_SETTINGS_DATA","CAMERA_STATUS","CAMERA_STATUS_DATA","CAMERA_STATUS_TYPE_DISCONNECT","CAMERA_STATUS_TYPE_ERROR","CAMERA_STATUS_TYPE_HEARTBEAT","CAMERA_STATUS_TYPE_LOWBATT","CAMERA_STATUS_TYPE_LOWSTORE","CAMERA_STATUS_TYPE_LOWSTOREV","CAMERA_STATUS_TYPE_TRIGGER","CAMERA_TRACKING_GEO_STATUS","CAMERA_TRACKING_GEO_STATUS_DATA","CAMERA_TRACKING_IMAGE_STATUS","CAMERA_TRACKING_IMAGE_STATUS_DATA","CAMERA_TRACKING_MODE_NONE","CAMERA_TRACKING_MODE_POINT","CAMERA_TRACKING_MODE_RECTANGLE","CAMERA_TRACKING_STATUS_FLAGS_ACTIVE","CAMERA_TRACKING_STATUS_FLAGS_ERROR","CAMERA_TRACKING_STATUS_FLAGS_IDLE","CAMERA_TRACKING_TARGET_DATA_EMBEDDED","CAMERA_TRACKING_TARGET_DATA_IN_STATUS","CAMERA_TRACKING_TARGET_DATA_NONE","CAMERA_TRACKING_TARGET_DATA_RENDERED","CAMERA_TRIGGER","CAMERA_TRIGGER_DATA","CANFD_FRAME","CANFD_FRAME_DATA","CAN_FILTER_ADD","CAN_FILTER_MODIFY","CAN_FILTER_MODIFY_DATA","CAN_FILTER_REMOVE","CAN_FILTER_REPLACE","CAN_FRAME","CAN_FRAME_DATA","CELLULAR_CONFIG","CELLULAR_CONFIG_BLOCKED_PUK_REQUIRED","CELLULAR_CONFIG_DATA","CELLULAR_CONFIG_RESPONSE_ACCEPTED","CELLULAR_CONFIG_RESPONSE_APN_ERROR","CELLULAR_CONFIG_RESPONSE_PIN_ERROR","CELLULAR_CONFIG_RESPONSE_REJECTED","CELLULAR_NETWORK_FAILED_REASON_NONE","CELLULAR_NETWORK_FAILED_REASON_SIM_ERROR","CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING","CELLULAR_NETWORK_FAILED_REASON_UNKNOWN","CELLULAR_NETWORK_RADIO_TYPE_CDMA","CELLULAR_NETWORK_RADIO_TYPE_GSM","CELLULAR_NETWORK_RADIO_TYPE_LTE","CELLULAR_NETWORK_RADIO_TYPE_NONE","CELLULAR_NETWORK_RADIO_TYPE_WCDMA","CELLULAR_STATUS","CELLULAR_STATUS_DATA","CELLULAR_STATUS_FLAG_CONNECTED","CELLULAR_STATUS_FLAG_CONNECTING","CELLULAR_STATUS_FLAG_DISABLED","CELLULAR_STATUS_FLAG_DISABLING","CELLULAR_STATUS_FLAG_DISCONNECTING","CELLULAR_STATUS_FLAG_ENABLED","CELLULAR_STATUS_FLAG_ENABLING","CELLULAR_STATUS_FLAG_FAILED","CELLULAR_STATUS_FLAG_INITIALIZING","CELLULAR_STATUS_FLAG_LOCKED","CELLULAR_STATUS_FLAG_REGISTERED","CELLULAR_STATUS_FLAG_SEARCHING","CELLULAR_STATUS_FLAG_UNKNOWN","CHANGE_OPERATOR_CONTROL","CHANGE_OPERATOR_CONTROL_ACK","CHANGE_OPERATOR_CONTROL_ACK_DATA","CHANGE_OPERATOR_CONTROL_DATA","COG","COLLISION","COLLISION_DATA","COMMAND_ACK","COMMAND_ACK_DATA","COMMAND_CANCEL","COMMAND_CANCEL_DATA","COMMAND_INT","COMMAND_INT_DATA","COMMAND_LONG","COMMAND_LONG_DATA","COMPASSMOT_STATUS","COMPASSMOT_STATUS_DATA","COMPONENT_INFORMATION","COMPONENT_INFORMATION_DATA","COMPONENT_METADATA","COMPONENT_METADATA_DATA","COMP_METADATA_TYPE_ACTUATORS","COMP_METADATA_TYPE_COMMANDS","COMP_METADATA_TYPE_EVENTS","COMP_METADATA_TYPE_GENERAL","COMP_METADATA_TYPE_PARAMETER","COMP_METADATA_TYPE_PERIPHERALS","CONTROL_SYSTEM_STATE","CONTROL_SYSTEM_STATE_DATA","COPTER_MODE_ACRO","COPTER_MODE_ALT_HOLD","COPTER_MODE_AUTO","COPTER_MODE_AUTOROTATE","COPTER_MODE_AUTOTUNE","COPTER_MODE_AUTO_RTL","COPTER_MODE_AVOID_ADSB","COPTER_MODE_BRAKE","COPTER_MODE_CIRCLE","COPTER_MODE_DRIFT","COPTER_MODE_FLIP","COPTER_MODE_FLOWHOLD","COPTER_MODE_FOLLOW","COPTER_MODE_GUIDED","COPTER_MODE_GUIDED_NOGPS","COPTER_MODE_LAND","COPTER_MODE_LOITER","COPTER_MODE_POSHOLD","COPTER_MODE_RTL","COPTER_MODE_SMART_RTL","COPTER_MODE_SPORT","COPTER_MODE_STABILIZE","COPTER_MODE_SYSTEMID","COPTER_MODE_THROW","COPTER_MODE_ZIGZAG","CUBEPILOT_FIRMWARE_UPDATE_RESP","CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA","CUBEPILOT_FIRMWARE_UPDATE_START","CUBEPILOT_FIRMWARE_UPDATE_START_DATA","CUBEPILOT_RAW_RC","CUBEPILOT_RAW_RC_DATA","CURRENT_EVENT_SEQUENCE","CURRENT_EVENT_SEQUENCE_DATA","CameraCapFlags","CameraFeedbackFlags","CameraMode","CameraStatusTypes","CameraTrackingMode","CameraTrackingStatusFlags","CameraTrackingTargetData","CameraZoomType","CanFilterOp","CellularConfigResponse","CellularNetworkFailedReason","CellularNetworkRadioType","CellularStatusFlag","CompMetadataType","CompensationX","CompensationY","CompensationZ","CopterMode","D","DATA16","DATA16_DATA","DATA32","DATA32_DATA","DATA64","DATA64_DATA","DATA96","DATA96_DATA","DATA_STREAM","DATA_STREAM_DATA","DATA_TRANSMISSION_HANDSHAKE","DATA_TRANSMISSION_HANDSHAKE_DATA","DEBUG","DEBUG_DATA","DEBUG_FLOAT_ARRAY","DEBUG_FLOAT_ARRAY_DATA","DEBUG_VECT","DEBUG_VECT_DATA","DEEPSTALL","DEEPSTALL_DATA","DEEPSTALL_STAGE_APPROACH","DEEPSTALL_STAGE_ARC","DEEPSTALL_STAGE_ESTIMATE_WIND","DEEPSTALL_STAGE_FLY_TO_ARC","DEEPSTALL_STAGE_FLY_TO_LANDING","DEEPSTALL_STAGE_LAND","DEEPSTALL_STAGE_WAIT_FOR_BREAKOUT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEVICE_OP_BUSTYPE_I2C","DEVICE_OP_BUSTYPE_SPI","DEVICE_OP_READ","DEVICE_OP_READ_DATA","DEVICE_OP_READ_REPLY","DEVICE_OP_READ_REPLY_DATA","DEVICE_OP_WRITE","DEVICE_OP_WRITE_DATA","DEVICE_OP_WRITE_REPLY","DEVICE_OP_WRITE_REPLY_DATA","DIGICAM_CONFIGURE","DIGICAM_CONFIGURE_DATA","DIGICAM_CONTROL","DIGICAM_CONTROL_DATA","DISTANCE_SENSOR","DISTANCE_SENSOR_DATA","DeepstallStage","DeviceOpBustype","EAS2TAS","EFI_STATUS","EFI_STATUS_DATA","EKF_ATTITUDE","EKF_CONST_POS_MODE","EKF_POS_HORIZ_ABS","EKF_POS_HORIZ_REL","EKF_POS_VERT_ABS","EKF_POS_VERT_AGL","EKF_PRED_POS_HORIZ_ABS","EKF_PRED_POS_HORIZ_REL","EKF_STATUS_REPORT","EKF_STATUS_REPORT_DATA","EKF_UNINITIALIZED","EKF_VELOCITY_HORIZ","EKF_VELOCITY_VERT","ENCAPSULATED_DATA","ENCAPSULATED_DATA_DATA","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ESC_CONNECTION_TYPE_CAN","ESC_CONNECTION_TYPE_DSHOT","ESC_CONNECTION_TYPE_I2C","ESC_CONNECTION_TYPE_ONESHOT","ESC_CONNECTION_TYPE_PPM","ESC_CONNECTION_TYPE_SERIAL","ESC_FAILURE_GENERIC","ESC_FAILURE_INCONSISTENT_CMD","ESC_FAILURE_MOTOR_STUCK","ESC_FAILURE_NONE","ESC_FAILURE_OVER_CURRENT","ESC_FAILURE_OVER_RPM","ESC_FAILURE_OVER_TEMPERATURE","ESC_FAILURE_OVER_VOLTAGE","ESC_INFO","ESC_INFO_DATA","ESC_STATUS","ESC_STATUS_DATA","ESC_TELEMETRY_1_TO_4","ESC_TELEMETRY_1_TO_4_DATA","ESC_TELEMETRY_5_TO_8","ESC_TELEMETRY_5_TO_8_DATA","ESC_TELEMETRY_9_TO_12","ESC_TELEMETRY_9_TO_12_DATA","ESTIMATOR_ACCEL_ERROR","ESTIMATOR_ATTITUDE","ESTIMATOR_CONST_POS_MODE","ESTIMATOR_GPS_GLITCH","ESTIMATOR_POS_HORIZ_ABS","ESTIMATOR_POS_HORIZ_REL","ESTIMATOR_POS_VERT_ABS","ESTIMATOR_POS_VERT_AGL","ESTIMATOR_PRED_POS_HORIZ_ABS","ESTIMATOR_PRED_POS_HORIZ_REL","ESTIMATOR_STATUS","ESTIMATOR_STATUS_DATA","ESTIMATOR_VELOCITY_HORIZ","ESTIMATOR_VELOCITY_VERT","EVENT","EVENT_DATA","EXTENDED_SYS_STATE","EXTENDED_SYS_STATE_DATA","EkfStatusFlags","EscConnectionType","EscFailureFlags","EstimatorStatusFlags","FAILURE_TYPE_DELAYED","FAILURE_TYPE_GARBAGE","FAILURE_TYPE_INTERMITTENT","FAILURE_TYPE_OFF","FAILURE_TYPE_OK","FAILURE_TYPE_SLOW","FAILURE_TYPE_STUCK","FAILURE_TYPE_WRONG","FAILURE_UNIT_SENSOR_ACCEL","FAILURE_UNIT_SENSOR_AIRSPEED","FAILURE_UNIT_SENSOR_BARO","FAILURE_UNIT_SENSOR_DISTANCE_SENSOR","FAILURE_UNIT_SENSOR_GPS","FAILURE_UNIT_SENSOR_GYRO","FAILURE_UNIT_SENSOR_MAG","FAILURE_UNIT_SENSOR_OPTICAL_FLOW","FAILURE_UNIT_SENSOR_VIO","FAILURE_UNIT_SYSTEM_AVOIDANCE","FAILURE_UNIT_SYSTEM_BATTERY","FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL","FAILURE_UNIT_SYSTEM_MOTOR","FAILURE_UNIT_SYSTEM_RC_SIGNAL","FAILURE_UNIT_SYSTEM_SERVO","FAVORABLE_WIND","FENCE_ACTION_GUIDED","FENCE_ACTION_GUIDED_THR_PASS","FENCE_ACTION_HOLD","FENCE_ACTION_LAND","FENCE_ACTION_NONE","FENCE_ACTION_REPORT","FENCE_ACTION_RTL","FENCE_ACTION_TERMINATE","FENCE_BREACH_BOUNDARY","FENCE_BREACH_MAXALT","FENCE_BREACH_MINALT","FENCE_BREACH_NONE","FENCE_FETCH_POINT","FENCE_FETCH_POINT_DATA","FENCE_MITIGATE_NONE","FENCE_MITIGATE_UNKNOWN","FENCE_MITIGATE_VEL_LIMIT","FENCE_POINT","FENCE_POINT_DATA","FENCE_STATUS","FENCE_STATUS_DATA","FF","FILE_TRANSFER_PROTOCOL","FILE_TRANSFER_PROTOCOL_DATA","FIRMWARE_VERSION_TYPE_ALPHA","FIRMWARE_VERSION_TYPE_BETA","FIRMWARE_VERSION_TYPE_DEV","FIRMWARE_VERSION_TYPE_OFFICIAL","FIRMWARE_VERSION_TYPE_RC","FLIGHT_INFORMATION","FLIGHT_INFORMATION_DATA","FOCUS_TYPE_AUTO","FOCUS_TYPE_AUTO_CONTINUOUS","FOCUS_TYPE_AUTO_SINGLE","FOCUS_TYPE_CONTINUOUS","FOCUS_TYPE_METERS","FOCUS_TYPE_RANGE","FOCUS_TYPE_STEP","FOLLOW_TARGET","FOLLOW_TARGET_DATA","FailureType","FailureUnit","FenceAction","FenceBreach","FenceMitigate","FirmwareVersionType","GENERATOR_STATUS","GENERATOR_STATUS_DATA","GIMBAL_AXIS_CALIBRATION_REQUIRED_FALSE","GIMBAL_AXIS_CALIBRATION_REQUIRED_TRUE","GIMBAL_AXIS_CALIBRATION_REQUIRED_UNKNOWN","GIMBAL_AXIS_CALIBRATION_STATUS_FAILED","GIMBAL_AXIS_CALIBRATION_STATUS_IN_PROGRESS","GIMBAL_AXIS_CALIBRATION_STATUS_SUCCEEDED","GIMBAL_AXIS_PITCH","GIMBAL_AXIS_ROLL","GIMBAL_AXIS_YAW","GIMBAL_CONTROL","GIMBAL_CONTROL_DATA","GIMBAL_DEVICE_ATTITUDE_STATUS","GIMBAL_DEVICE_ATTITUDE_STATUS_DATA","GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK","GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS","GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK","GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW","GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_ERROR_FLAGS_AT_PITCH_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_AT_YAW_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING","GIMBAL_DEVICE_ERROR_FLAGS_COMMS_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_ENCODER_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_MOTOR_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_NO_MANAGER","GIMBAL_DEVICE_ERROR_FLAGS_POWER_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_SOFTWARE_ERROR","GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_FLAGS_NEUTRAL","GIMBAL_DEVICE_FLAGS_PITCH_LOCK","GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE","GIMBAL_DEVICE_FLAGS_RC_MIXED","GIMBAL_DEVICE_FLAGS_RETRACT","GIMBAL_DEVICE_FLAGS_ROLL_LOCK","GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME","GIMBAL_DEVICE_FLAGS_YAW_LOCK","GIMBAL_DEVICE_INFORMATION","GIMBAL_DEVICE_INFORMATION_DATA","GIMBAL_DEVICE_SET_ATTITUDE","GIMBAL_DEVICE_SET_ATTITUDE_DATA","GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_GLOBAL","GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_LOCAL","GIMBAL_MANAGER_CAP_FLAGS_HAS_NEUTRAL","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_LOCK","GIMBAL_MANAGER_CAP_FLAGS_HAS_RC_INPUTS","GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_LOCK","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_LOCK","GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_INFINITE_YAW","GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_NEUTRAL","GIMBAL_MANAGER_FLAGS_PITCH_LOCK","GIMBAL_MANAGER_FLAGS_RC_EXCLUSIVE","GIMBAL_MANAGER_FLAGS_RC_MIXED","GIMBAL_MANAGER_FLAGS_RETRACT","GIMBAL_MANAGER_FLAGS_ROLL_LOCK","GIMBAL_MANAGER_FLAGS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_YAW_IN_VEHICLE_FRAME","GIMBAL_MANAGER_FLAGS_YAW_LOCK","GIMBAL_MANAGER_INFORMATION","GIMBAL_MANAGER_INFORMATION_DATA","GIMBAL_MANAGER_SET_ATTITUDE","GIMBAL_MANAGER_SET_ATTITUDE_DATA","GIMBAL_MANAGER_SET_MANUAL_CONTROL","GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA","GIMBAL_MANAGER_SET_PITCHYAW","GIMBAL_MANAGER_SET_PITCHYAW_DATA","GIMBAL_MANAGER_STATUS","GIMBAL_MANAGER_STATUS_DATA","GIMBAL_REPORT","GIMBAL_REPORT_DATA","GIMBAL_TORQUE_CMD_REPORT","GIMBAL_TORQUE_CMD_REPORT_DATA","GLOBAL_POSITION_INT","GLOBAL_POSITION_INT_COV","GLOBAL_POSITION_INT_COV_DATA","GLOBAL_POSITION_INT_DATA","GLOBAL_VISION_POSITION_ESTIMATE","GLOBAL_VISION_POSITION_ESTIMATE_DATA","GOPRO_BURST_RATE_10_IN_1_SECOND","GOPRO_BURST_RATE_10_IN_2_SECOND","GOPRO_BURST_RATE_10_IN_3_SECOND","GOPRO_BURST_RATE_30_IN_1_SECOND","GOPRO_BURST_RATE_30_IN_2_SECOND","GOPRO_BURST_RATE_30_IN_3_SECOND","GOPRO_BURST_RATE_30_IN_6_SECOND","GOPRO_BURST_RATE_3_IN_1_SECOND","GOPRO_BURST_RATE_5_IN_1_SECOND","GOPRO_CAPTURE_MODE_BURST","GOPRO_CAPTURE_MODE_MULTI_SHOT","GOPRO_CAPTURE_MODE_PHOTO","GOPRO_CAPTURE_MODE_PLAYBACK","GOPRO_CAPTURE_MODE_SETUP","GOPRO_CAPTURE_MODE_TIME_LAPSE","GOPRO_CAPTURE_MODE_UNKNOWN","GOPRO_CAPTURE_MODE_VIDEO","GOPRO_CHARGING_DISABLED","GOPRO_CHARGING_ENABLED","GOPRO_COMMAND_BATTERY","GOPRO_COMMAND_CAPTURE_MODE","GOPRO_COMMAND_CHARGING","GOPRO_COMMAND_LOW_LIGHT","GOPRO_COMMAND_MODEL","GOPRO_COMMAND_PHOTO_BURST_RATE","GOPRO_COMMAND_PHOTO_RESOLUTION","GOPRO_COMMAND_POWER","GOPRO_COMMAND_PROTUNE","GOPRO_COMMAND_PROTUNE_COLOUR","GOPRO_COMMAND_PROTUNE_EXPOSURE","GOPRO_COMMAND_PROTUNE_GAIN","GOPRO_COMMAND_PROTUNE_SHARPNESS","GOPRO_COMMAND_PROTUNE_WHITE_BALANCE","GOPRO_COMMAND_SHUTTER","GOPRO_COMMAND_TIME","GOPRO_COMMAND_VIDEO_SETTINGS","GOPRO_FIELD_OF_VIEW_MEDIUM","GOPRO_FIELD_OF_VIEW_NARROW","GOPRO_FIELD_OF_VIEW_WIDE","GOPRO_FLAG_RECORDING","GOPRO_FRAME_RATE_100","GOPRO_FRAME_RATE_12","GOPRO_FRAME_RATE_120","GOPRO_FRAME_RATE_12_5","GOPRO_FRAME_RATE_15","GOPRO_FRAME_RATE_24","GOPRO_FRAME_RATE_240","GOPRO_FRAME_RATE_25","GOPRO_FRAME_RATE_30","GOPRO_FRAME_RATE_48","GOPRO_FRAME_RATE_50","GOPRO_FRAME_RATE_60","GOPRO_FRAME_RATE_80","GOPRO_FRAME_RATE_90","GOPRO_GET_REQUEST","GOPRO_GET_REQUEST_DATA","GOPRO_GET_RESPONSE","GOPRO_GET_RESPONSE_DATA","GOPRO_HEARTBEAT","GOPRO_HEARTBEAT_DATA","GOPRO_HEARTBEAT_STATUS_CONNECTED","GOPRO_HEARTBEAT_STATUS_DISCONNECTED","GOPRO_HEARTBEAT_STATUS_ERROR","GOPRO_HEARTBEAT_STATUS_INCOMPATIBLE","GOPRO_MODEL_HERO_3_PLUS_BLACK","GOPRO_MODEL_HERO_3_PLUS_SILVER","GOPRO_MODEL_HERO_4_BLACK","GOPRO_MODEL_HERO_4_SILVER","GOPRO_MODEL_UNKNOWN","GOPRO_PHOTO_RESOLUTION_10MP_WIDE","GOPRO_PHOTO_RESOLUTION_12MP_WIDE","GOPRO_PHOTO_RESOLUTION_5MP_MEDIUM","GOPRO_PHOTO_RESOLUTION_7MP_MEDIUM","GOPRO_PHOTO_RESOLUTION_7MP_WIDE","GOPRO_PROTUNE_COLOUR_NEUTRAL","GOPRO_PROTUNE_COLOUR_STANDARD","GOPRO_PROTUNE_EXPOSURE_NEG_0_5","GOPRO_PROTUNE_EXPOSURE_NEG_1_0","GOPRO_PROTUNE_EXPOSURE_NEG_1_5","GOPRO_PROTUNE_EXPOSURE_NEG_2_0","GOPRO_PROTUNE_EXPOSURE_NEG_2_5","GOPRO_PROTUNE_EXPOSURE_NEG_3_0","GOPRO_PROTUNE_EXPOSURE_NEG_3_5","GOPRO_PROTUNE_EXPOSURE_NEG_4_0","GOPRO_PROTUNE_EXPOSURE_NEG_4_5","GOPRO_PROTUNE_EXPOSURE_NEG_5_0","GOPRO_PROTUNE_EXPOSURE_POS_0_5","GOPRO_PROTUNE_EXPOSURE_POS_1_0","GOPRO_PROTUNE_EXPOSURE_POS_1_5","GOPRO_PROTUNE_EXPOSURE_POS_2_0","GOPRO_PROTUNE_EXPOSURE_POS_2_5","GOPRO_PROTUNE_EXPOSURE_POS_3_0","GOPRO_PROTUNE_EXPOSURE_POS_3_5","GOPRO_PROTUNE_EXPOSURE_POS_4_0","GOPRO_PROTUNE_EXPOSURE_POS_4_5","GOPRO_PROTUNE_EXPOSURE_POS_5_0","GOPRO_PROTUNE_EXPOSURE_ZERO","GOPRO_PROTUNE_GAIN_1600","GOPRO_PROTUNE_GAIN_3200","GOPRO_PROTUNE_GAIN_400","GOPRO_PROTUNE_GAIN_6400","GOPRO_PROTUNE_GAIN_800","GOPRO_PROTUNE_SHARPNESS_HIGH","GOPRO_PROTUNE_SHARPNESS_LOW","GOPRO_PROTUNE_SHARPNESS_MEDIUM","GOPRO_PROTUNE_WHITE_BALANCE_3000K","GOPRO_PROTUNE_WHITE_BALANCE_5500K","GOPRO_PROTUNE_WHITE_BALANCE_6500K","GOPRO_PROTUNE_WHITE_BALANCE_AUTO","GOPRO_PROTUNE_WHITE_BALANCE_RAW","GOPRO_REQUEST_FAILED","GOPRO_REQUEST_SUCCESS","GOPRO_RESOLUTION_1080p","GOPRO_RESOLUTION_1080p_SUPERVIEW","GOPRO_RESOLUTION_1440p","GOPRO_RESOLUTION_2_7k_16_9","GOPRO_RESOLUTION_2_7k_17_9","GOPRO_RESOLUTION_2_7k_4_3","GOPRO_RESOLUTION_2_7k_SUPERVIEW","GOPRO_RESOLUTION_480p","GOPRO_RESOLUTION_4k_16_9","GOPRO_RESOLUTION_4k_17_9","GOPRO_RESOLUTION_4k_SUPERVIEW","GOPRO_RESOLUTION_720p","GOPRO_RESOLUTION_720p_SUPERVIEW","GOPRO_RESOLUTION_960p","GOPRO_SET_REQUEST","GOPRO_SET_REQUEST_DATA","GOPRO_SET_RESPONSE","GOPRO_SET_RESPONSE_DATA","GOPRO_VIDEO_SETTINGS_TV_MODE","GPS2_RAW","GPS2_RAW_DATA","GPS2_RTK","GPS2_RTK_DATA","GPS_FIX_TYPE_2D_FIX","GPS_FIX_TYPE_3D_FIX","GPS_FIX_TYPE_DGPS","GPS_FIX_TYPE_NO_FIX","GPS_FIX_TYPE_NO_GPS","GPS_FIX_TYPE_PPP","GPS_FIX_TYPE_RTK_FIXED","GPS_FIX_TYPE_RTK_FLOAT","GPS_FIX_TYPE_STATIC","GPS_GLOBAL_ORIGIN","GPS_GLOBAL_ORIGIN_DATA","GPS_INJECT_DATA","GPS_INJECT_DATA_DATA","GPS_INPUT","GPS_INPUT_DATA","GPS_INPUT_IGNORE_FLAG_ALT","GPS_INPUT_IGNORE_FLAG_HDOP","GPS_INPUT_IGNORE_FLAG_HORIZONTAL_ACCURACY","GPS_INPUT_IGNORE_FLAG_SPEED_ACCURACY","GPS_INPUT_IGNORE_FLAG_VDOP","GPS_INPUT_IGNORE_FLAG_VEL_HORIZ","GPS_INPUT_IGNORE_FLAG_VEL_VERT","GPS_INPUT_IGNORE_FLAG_VERTICAL_ACCURACY","GPS_RAW_INT","GPS_RAW_INT_DATA","GPS_RTCM_DATA","GPS_RTCM_DATA_DATA","GPS_RTK","GPS_RTK_DATA","GPS_STATUS","GPS_STATUS_DATA","GRIPPER_ACTION_GRAB","GRIPPER_ACTION_RELEASE","GimbalAxis","GimbalAxisCalibrationRequired","GimbalAxisCalibrationStatus","GimbalDeviceCapFlags","GimbalDeviceErrorFlags","GimbalDeviceFlags","GimbalManagerCapFlags","GimbalManagerFlags","GoproBurstRate","GoproCaptureMode","GoproCharging","GoproCommand","GoproFieldOfView","GoproFrameRate","GoproHeartbeatFlags","GoproHeartbeatStatus","GoproModel","GoproPhotoResolution","GoproProtuneColour","GoproProtuneExposure","GoproProtuneGain","GoproProtuneSharpness","GoproProtuneWhiteBalance","GoproRequestStatus","GoproResolution","GoproVideoSettingsFlags","GpsFixType","GpsInputIgnoreFlags","GripperActions","HEADING_TYPE_COURSE_OVER_GROUND","HEADING_TYPE_HEADING","HEARTBEAT","HEARTBEAT_DATA","HERELINK_TELEM","HERELINK_TELEM_DATA","HERELINK_VIDEO_STREAM_INFORMATION","HERELINK_VIDEO_STREAM_INFORMATION_DATA","HIGHRES_IMU","HIGHRES_IMU_DATA","HIGHRES_IMU_UPDATED_ABS_PRESSURE","HIGHRES_IMU_UPDATED_ALL","HIGHRES_IMU_UPDATED_DIFF_PRESSURE","HIGHRES_IMU_UPDATED_NONE","HIGHRES_IMU_UPDATED_PRESSURE_ALT","HIGHRES_IMU_UPDATED_TEMPERATURE","HIGHRES_IMU_UPDATED_XACC","HIGHRES_IMU_UPDATED_XGYRO","HIGHRES_IMU_UPDATED_XMAG","HIGHRES_IMU_UPDATED_YACC","HIGHRES_IMU_UPDATED_YGYRO","HIGHRES_IMU_UPDATED_YMAG","HIGHRES_IMU_UPDATED_ZACC","HIGHRES_IMU_UPDATED_ZGYRO","HIGHRES_IMU_UPDATED_ZMAG","HIGH_LATENCY","HIGH_LATENCY2","HIGH_LATENCY2_DATA","HIGH_LATENCY_DATA","HIL_ACTUATOR_CONTROLS","HIL_ACTUATOR_CONTROLS_DATA","HIL_CONTROLS","HIL_CONTROLS_DATA","HIL_GPS","HIL_GPS_DATA","HIL_OPTICAL_FLOW","HIL_OPTICAL_FLOW_DATA","HIL_RC_INPUTS_RAW","HIL_RC_INPUTS_RAW_DATA","HIL_SENSOR","HIL_SENSOR_DATA","HIL_SENSOR_UPDATED_ABS_PRESSURE","HIL_SENSOR_UPDATED_DIFF_PRESSURE","HIL_SENSOR_UPDATED_NONE","HIL_SENSOR_UPDATED_PRESSURE_ALT","HIL_SENSOR_UPDATED_RESET","HIL_SENSOR_UPDATED_TEMPERATURE","HIL_SENSOR_UPDATED_XACC","HIL_SENSOR_UPDATED_XGYRO","HIL_SENSOR_UPDATED_XMAG","HIL_SENSOR_UPDATED_YACC","HIL_SENSOR_UPDATED_YGYRO","HIL_SENSOR_UPDATED_YMAG","HIL_SENSOR_UPDATED_ZACC","HIL_SENSOR_UPDATED_ZGYRO","HIL_SENSOR_UPDATED_ZMAG","HIL_STATE","HIL_STATE_DATA","HIL_STATE_QUATERNION","HIL_STATE_QUATERNION_DATA","HL_FAILURE_FLAG_3D_ACCEL","HL_FAILURE_FLAG_3D_GYRO","HL_FAILURE_FLAG_3D_MAG","HL_FAILURE_FLAG_ABSOLUTE_PRESSURE","HL_FAILURE_FLAG_BATTERY","HL_FAILURE_FLAG_DIFFERENTIAL_PRESSURE","HL_FAILURE_FLAG_ENGINE","HL_FAILURE_FLAG_ESTIMATOR","HL_FAILURE_FLAG_GEOFENCE","HL_FAILURE_FLAG_GPS","HL_FAILURE_FLAG_MISSION","HL_FAILURE_FLAG_OFFBOARD_LINK","HL_FAILURE_FLAG_RC_RECEIVER","HL_FAILURE_FLAG_TERRAIN","HOME_POSITION","HOME_POSITION_DATA","HWSTATUS","HWSTATUS_DATA","HYGROMETER_SENSOR","HYGROMETER_SENSOR_DATA","HeadingType","HighresImuUpdatedFlags","HilSensorUpdatedFlags","HlFailureFlag","I","I2Cerr","ICAO","ICAO_address","ICAROUS_FMS_STATE_APPROACH","ICAROUS_FMS_STATE_CLIMB","ICAROUS_FMS_STATE_CRUISE","ICAROUS_FMS_STATE_IDLE","ICAROUS_FMS_STATE_LAND","ICAROUS_FMS_STATE_TAKEOFF","ICAROUS_HEARTBEAT","ICAROUS_HEARTBEAT_DATA","ICAROUS_KINEMATIC_BANDS","ICAROUS_KINEMATIC_BANDS_DATA","ICAROUS_TRACK_BAND_TYPE_NEAR","ICAROUS_TRACK_BAND_TYPE_NONE","ICAROUS_TRACK_BAND_TYPE_RECOVERY","ISBD_LINK_STATUS","ISBD_LINK_STATUS_DATA","IcarousFmsState","IcarousTrackBandTypes","LANDING_TARGET","LANDING_TARGET_DATA","LANDING_TARGET_TYPE_LIGHT_BEACON","LANDING_TARGET_TYPE_RADIO_BEACON","LANDING_TARGET_TYPE_VISION_FIDUCIAL","LANDING_TARGET_TYPE_VISION_OTHER","LAND_IMMEDIATELY","LED_CONTROL","LED_CONTROL_DATA","LED_CONTROL_PATTERN_CUSTOM","LED_CONTROL_PATTERN_FIRMWAREUPDATE","LED_CONTROL_PATTERN_OFF","LIMITS_DISABLED","LIMITS_ENABLED","LIMITS_INIT","LIMITS_RECOVERED","LIMITS_RECOVERING","LIMITS_STATUS","LIMITS_STATUS_DATA","LIMITS_TRIGGERED","LIMIT_ALTITUDE","LIMIT_GEOFENCE","LIMIT_GPSLOCK","LINK_NODE_STATUS","LINK_NODE_STATUS_DATA","LOCAL_POSITION_NED","LOCAL_POSITION_NED_COV","LOCAL_POSITION_NED_COV_DATA","LOCAL_POSITION_NED_DATA","LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET","LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA","LOGGING_ACK","LOGGING_ACK_DATA","LOGGING_DATA","LOGGING_DATA_ACKED","LOGGING_DATA_ACKED_DATA","LOGGING_DATA_DATA","LOG_DATA","LOG_DATA_DATA","LOG_ENTRY","LOG_ENTRY_DATA","LOG_ERASE","LOG_ERASE_DATA","LOG_REQUEST_DATA","LOG_REQUEST_DATA_DATA","LOG_REQUEST_END","LOG_REQUEST_END_DATA","LOG_REQUEST_LIST","LOG_REQUEST_LIST_DATA","LandingTargetType","LedControlPattern","LimitModule","LimitsState","MAG_CAL_BAD_ORIENTATION","MAG_CAL_BAD_RADIUS","MAG_CAL_FAILED","MAG_CAL_NOT_STARTED","MAG_CAL_PROGRESS","MAG_CAL_PROGRESS_DATA","MAG_CAL_REPORT","MAG_CAL_REPORT_DATA","MAG_CAL_RUNNING_STEP_ONE","MAG_CAL_RUNNING_STEP_TWO","MAG_CAL_SUCCESS","MAG_CAL_WAITING_TO_START","MANUAL_CONTROL","MANUAL_CONTROL_DATA","MANUAL_SETPOINT","MANUAL_SETPOINT_DATA","MAVLINK_DATA_STREAM_IMG_BMP","MAVLINK_DATA_STREAM_IMG_JPEG","MAVLINK_DATA_STREAM_IMG_PGM","MAVLINK_DATA_STREAM_IMG_PNG","MAVLINK_DATA_STREAM_IMG_RAW32U","MAVLINK_DATA_STREAM_IMG_RAW8U","MAV_ARM_AUTH_DENIED_REASON_AIRSPACE_IN_USE","MAV_ARM_AUTH_DENIED_REASON_BAD_WEATHER","MAV_ARM_AUTH_DENIED_REASON_GENERIC","MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT","MAV_ARM_AUTH_DENIED_REASON_NONE","MAV_ARM_AUTH_DENIED_REASON_TIMEOUT","MAV_AUTOPILOT_AEROB","MAV_AUTOPILOT_AIRRAILS","MAV_AUTOPILOT_ARDUPILOTMEGA","MAV_AUTOPILOT_ARMAZILA","MAV_AUTOPILOT_ASLUAV","MAV_AUTOPILOT_AUTOQUAD","MAV_AUTOPILOT_FP","MAV_AUTOPILOT_GENERIC","MAV_AUTOPILOT_GENERIC_MISSION_FULL","MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY","MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY","MAV_AUTOPILOT_INVALID","MAV_AUTOPILOT_OPENPILOT","MAV_AUTOPILOT_PPZ","MAV_AUTOPILOT_PX4","MAV_AUTOPILOT_REFLEX","MAV_AUTOPILOT_RESERVED","MAV_AUTOPILOT_SLUGS","MAV_AUTOPILOT_SMACCMPILOT","MAV_AUTOPILOT_SMARTAP","MAV_AUTOPILOT_UDB","MAV_BATTERY_CHARGE_STATE_CHARGING","MAV_BATTERY_CHARGE_STATE_CRITICAL","MAV_BATTERY_CHARGE_STATE_EMERGENCY","MAV_BATTERY_CHARGE_STATE_FAILED","MAV_BATTERY_CHARGE_STATE_LOW","MAV_BATTERY_CHARGE_STATE_OK","MAV_BATTERY_CHARGE_STATE_UNDEFINED","MAV_BATTERY_CHARGE_STATE_UNHEALTHY","MAV_BATTERY_FAULT_CELL_FAIL","MAV_BATTERY_FAULT_DEEP_DISCHARGE","MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE","MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE","MAV_BATTERY_FAULT_OVER_CURRENT","MAV_BATTERY_FAULT_OVER_TEMPERATURE","MAV_BATTERY_FAULT_SPIKES","MAV_BATTERY_FAULT_UNDER_TEMPERATURE","MAV_BATTERY_FUNCTION_ALL","MAV_BATTERY_FUNCTION_AVIONICS","MAV_BATTERY_FUNCTION_PAYLOAD","MAV_BATTERY_FUNCTION_PROPULSION","MAV_BATTERY_FUNCTION_UNKNOWN","MAV_BATTERY_MODE_AUTO_DISCHARGING","MAV_BATTERY_MODE_HOT_SWAP","MAV_BATTERY_MODE_UNKNOWN","MAV_BATTERY_TYPE_LIFE","MAV_BATTERY_TYPE_LION","MAV_BATTERY_TYPE_LIPO","MAV_BATTERY_TYPE_NIMH","MAV_BATTERY_TYPE_UNKNOWN","MAV_CMD_ACCELCAL_VEHICLE_POS","MAV_CMD_ACK_ERR_ACCESS_DENIED","MAV_CMD_ACK_ERR_COORDINATES_OUT_OF_RANGE","MAV_CMD_ACK_ERR_COORDINATE_FRAME_NOT_SUPPORTED","MAV_CMD_ACK_ERR_FAIL","MAV_CMD_ACK_ERR_NOT_SUPPORTED","MAV_CMD_ACK_ERR_X_LAT_OUT_OF_RANGE","MAV_CMD_ACK_ERR_Y_LON_OUT_OF_RANGE","MAV_CMD_ACK_ERR_Z_ALT_OUT_OF_RANGE","MAV_CMD_ACK_OK","MAV_CMD_ACTUATOR_TEST","MAV_CMD_AIRFRAME_CONFIGURATION","MAV_CMD_ARM_AUTHORIZATION_REQUEST","MAV_CMD_BATTERY_RESET","MAV_CMD_CAMERA_STOP_TRACKING","MAV_CMD_CAMERA_TRACK_POINT","MAV_CMD_CAMERA_TRACK_RECTANGLE","MAV_CMD_CAN_FORWARD","MAV_CMD_COMPONENT_ARM_DISARM","MAV_CMD_CONDITION_CHANGE_ALT","MAV_CMD_CONDITION_DELAY","MAV_CMD_CONDITION_DISTANCE","MAV_CMD_CONDITION_GATE","MAV_CMD_CONDITION_LAST","MAV_CMD_CONDITION_YAW","MAV_CMD_CONFIGURE_ACTUATOR","MAV_CMD_CONTROL_HIGH_LATENCY","MAV_CMD_DEBUG_TRAP","MAV_CMD_DO_ACCEPT_MAG_CAL","MAV_CMD_DO_ADSB_OUT_IDENT","MAV_CMD_DO_AUTOTUNE_ENABLE","MAV_CMD_DO_AUX_FUNCTION","MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_HIGH","MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_LOW","MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_MIDDLE","MAV_CMD_DO_CANCEL_MAG_CAL","MAV_CMD_DO_CHANGE_ALTITUDE","MAV_CMD_DO_CHANGE_SPEED","MAV_CMD_DO_CONTROL_VIDEO","MAV_CMD_DO_DIGICAM_CONFIGURE","MAV_CMD_DO_DIGICAM_CONTROL","MAV_CMD_DO_ENGINE_CONTROL","MAV_CMD_DO_FENCE_ENABLE","MAV_CMD_DO_FLIGHTTERMINATION","MAV_CMD_DO_FOLLOW","MAV_CMD_DO_FOLLOW_REPOSITION","MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE","MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW","MAV_CMD_DO_GO_AROUND","MAV_CMD_DO_GRIPPER","MAV_CMD_DO_GUIDED_LIMITS","MAV_CMD_DO_GUIDED_MASTER","MAV_CMD_DO_INVERTED_FLIGHT","MAV_CMD_DO_JUMP","MAV_CMD_DO_JUMP_TAG","MAV_CMD_DO_LAND_START","MAV_CMD_DO_LAST","MAV_CMD_DO_MOTOR_TEST","MAV_CMD_DO_MOUNT_CONFIGURE","MAV_CMD_DO_MOUNT_CONTROL","MAV_CMD_DO_MOUNT_CONTROL_QUAT","MAV_CMD_DO_ORBIT","MAV_CMD_DO_PARACHUTE","MAV_CMD_DO_PAUSE_CONTINUE","MAV_CMD_DO_RALLY_LAND","MAV_CMD_DO_REPEAT_RELAY","MAV_CMD_DO_REPEAT_SERVO","MAV_CMD_DO_REPOSITION","MAV_CMD_DO_SEND_BANNER","MAV_CMD_DO_SEND_SCRIPT_MESSAGE","MAV_CMD_DO_SET_ACTUATOR","MAV_CMD_DO_SET_CAM_TRIGG_DIST","MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL","MAV_CMD_DO_SET_HOME","MAV_CMD_DO_SET_MISSION_CURRENT","MAV_CMD_DO_SET_MODE","MAV_CMD_DO_SET_PARAMETER","MAV_CMD_DO_SET_RELAY","MAV_CMD_DO_SET_RESUME_REPEAT_DIST","MAV_CMD_DO_SET_REVERSE","MAV_CMD_DO_SET_ROI","MAV_CMD_DO_SET_ROI_LOCATION","MAV_CMD_DO_SET_ROI_NONE","MAV_CMD_DO_SET_ROI_SYSID","MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET","MAV_CMD_DO_SET_SERVO","MAV_CMD_DO_SPRAYER","MAV_CMD_DO_START_MAG_CAL","MAV_CMD_DO_TRIGGER_CONTROL","MAV_CMD_DO_VTOL_TRANSITION","MAV_CMD_DO_WINCH","MAV_CMD_FIXED_MAG_CAL","MAV_CMD_FIXED_MAG_CAL_FIELD","MAV_CMD_FIXED_MAG_CAL_YAW","MAV_CMD_FLASH_BOOTLOADER","MAV_CMD_GET_HOME_POSITION","MAV_CMD_GET_MESSAGE_INTERVAL","MAV_CMD_GIMBAL_AXIS_CALIBRATION_STATUS","MAV_CMD_GIMBAL_FULL_RESET","MAV_CMD_GIMBAL_REQUEST_AXIS_CALIBRATION","MAV_CMD_GIMBAL_RESET","MAV_CMD_GUIDED_CHANGE_ALTITUDE","MAV_CMD_GUIDED_CHANGE_HEADING","MAV_CMD_GUIDED_CHANGE_SPEED","MAV_CMD_ILLUMINATOR_ON_OFF","MAV_CMD_IMAGE_START_CAPTURE","MAV_CMD_IMAGE_STOP_CAPTURE","MAV_CMD_INJECT_FAILURE","MAV_CMD_JUMP_TAG","MAV_CMD_LOGGING_START","MAV_CMD_LOGGING_STOP","MAV_CMD_MISSION_START","MAV_CMD_NAV_ALTITUDE_WAIT","MAV_CMD_NAV_ATTITUDE_TIME","MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT","MAV_CMD_NAV_DELAY","MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION","MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION","MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION","MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION","MAV_CMD_NAV_FENCE_RETURN_POINT","MAV_CMD_NAV_FOLLOW","MAV_CMD_NAV_GUIDED_ENABLE","MAV_CMD_NAV_LAND","MAV_CMD_NAV_LAND_LOCAL","MAV_CMD_NAV_LAST","MAV_CMD_NAV_LOITER_TIME","MAV_CMD_NAV_LOITER_TO_ALT","MAV_CMD_NAV_LOITER_TURNS","MAV_CMD_NAV_LOITER_UNLIM","MAV_CMD_NAV_PATHPLANNING","MAV_CMD_NAV_PAYLOAD_PLACE","MAV_CMD_NAV_RALLY_POINT","MAV_CMD_NAV_RETURN_TO_LAUNCH","MAV_CMD_NAV_ROI","MAV_CMD_NAV_SCRIPT_TIME","MAV_CMD_NAV_SET_YAW_SPEED","MAV_CMD_NAV_SPLINE_WAYPOINT","MAV_CMD_NAV_TAKEOFF","MAV_CMD_NAV_TAKEOFF_LOCAL","MAV_CMD_NAV_VTOL_LAND","MAV_CMD_NAV_VTOL_TAKEOFF","MAV_CMD_NAV_WAYPOINT","MAV_CMD_OBLIQUE_SURVEY","MAV_CMD_OVERRIDE_GOTO","MAV_CMD_PANORAMA_CREATE","MAV_CMD_PAYLOAD_CONTROL_DEPLOY","MAV_CMD_PAYLOAD_PREPARE_DEPLOY","MAV_CMD_POWER_OFF_INITIATED","MAV_CMD_PREFLIGHT_CALIBRATION","MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN","MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS","MAV_CMD_PREFLIGHT_STORAGE","MAV_CMD_PREFLIGHT_UAVCAN","MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES","MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS","MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE","MAV_CMD_REQUEST_CAMERA_INFORMATION","MAV_CMD_REQUEST_CAMERA_SETTINGS","MAV_CMD_REQUEST_FLIGHT_INFORMATION","MAV_CMD_REQUEST_MESSAGE","MAV_CMD_REQUEST_PROTOCOL_VERSION","MAV_CMD_REQUEST_STORAGE_INFORMATION","MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION","MAV_CMD_REQUEST_VIDEO_STREAM_STATUS","MAV_CMD_RESET_CAMERA_SETTINGS","MAV_CMD_RUN_PREARM_CHECKS","MAV_CMD_SCRIPTING","MAV_CMD_SET_CAMERA_FOCUS","MAV_CMD_SET_CAMERA_MODE","MAV_CMD_SET_CAMERA_ZOOM","MAV_CMD_SET_EKF_SOURCE_SET","MAV_CMD_SET_FACTORY_TEST_MODE","MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE","MAV_CMD_SET_GUIDED_SUBMODE_STANDARD","MAV_CMD_SET_MESSAGE_INTERVAL","MAV_CMD_SET_STORAGE_USAGE","MAV_CMD_SOLO_BTN_FLY_CLICK","MAV_CMD_SOLO_BTN_FLY_HOLD","MAV_CMD_SOLO_BTN_PAUSE_CLICK","MAV_CMD_SPATIAL_USER_1","MAV_CMD_SPATIAL_USER_2","MAV_CMD_SPATIAL_USER_3","MAV_CMD_SPATIAL_USER_4","MAV_CMD_SPATIAL_USER_5","MAV_CMD_START_RX_PAIR","MAV_CMD_STORAGE_FORMAT","MAV_CMD_UAVCAN_GET_NODE_INFO","MAV_CMD_USER_1","MAV_CMD_USER_2","MAV_CMD_USER_3","MAV_CMD_USER_4","MAV_CMD_USER_5","MAV_CMD_VIDEO_START_CAPTURE","MAV_CMD_VIDEO_START_STREAMING","MAV_CMD_VIDEO_STOP_CAPTURE","MAV_CMD_VIDEO_STOP_STREAMING","MAV_CMD_WAYPOINT_USER_1","MAV_CMD_WAYPOINT_USER_2","MAV_CMD_WAYPOINT_USER_3","MAV_CMD_WAYPOINT_USER_4","MAV_CMD_WAYPOINT_USER_5","MAV_COLLISION_ACTION_ASCEND_OR_DESCEND","MAV_COLLISION_ACTION_HOVER","MAV_COLLISION_ACTION_MOVE_HORIZONTALLY","MAV_COLLISION_ACTION_MOVE_PERPENDICULAR","MAV_COLLISION_ACTION_NONE","MAV_COLLISION_ACTION_REPORT","MAV_COLLISION_ACTION_RTL","MAV_COLLISION_SRC_ADSB","MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT","MAV_COLLISION_THREAT_LEVEL_HIGH","MAV_COLLISION_THREAT_LEVEL_LOW","MAV_COLLISION_THREAT_LEVEL_NONE","MAV_COMP_ID_ADSB","MAV_COMP_ID_ALL","MAV_COMP_ID_AUTOPILOT1","MAV_COMP_ID_BATTERY","MAV_COMP_ID_BATTERY2","MAV_COMP_ID_CAMERA","MAV_COMP_ID_CAMERA2","MAV_COMP_ID_CAMERA3","MAV_COMP_ID_CAMERA4","MAV_COMP_ID_CAMERA5","MAV_COMP_ID_CAMERA6","MAV_COMP_ID_FLARM","MAV_COMP_ID_GIMBAL","MAV_COMP_ID_GIMBAL2","MAV_COMP_ID_GIMBAL3","MAV_COMP_ID_GIMBAL4","MAV_COMP_ID_GIMBAL5","MAV_COMP_ID_GIMBAL6","MAV_COMP_ID_GPS","MAV_COMP_ID_GPS2","MAV_COMP_ID_IMU","MAV_COMP_ID_IMU_2","MAV_COMP_ID_IMU_3","MAV_COMP_ID_LOG","MAV_COMP_ID_MAVCAN","MAV_COMP_ID_MISSIONPLANNER","MAV_COMP_ID_OBSTACLE_AVOIDANCE","MAV_COMP_ID_ODID_TXRX_1","MAV_COMP_ID_ODID_TXRX_2","MAV_COMP_ID_ODID_TXRX_3","MAV_COMP_ID_ONBOARD_COMPUTER","MAV_COMP_ID_ONBOARD_COMPUTER2","MAV_COMP_ID_ONBOARD_COMPUTER3","MAV_COMP_ID_ONBOARD_COMPUTER4","MAV_COMP_ID_OSD","MAV_COMP_ID_PAIRING_MANAGER","MAV_COMP_ID_PARACHUTE","MAV_COMP_ID_PATHPLANNER","MAV_COMP_ID_PERIPHERAL","MAV_COMP_ID_QX1_GIMBAL","MAV_COMP_ID_SERVO1","MAV_COMP_ID_SERVO10","MAV_COMP_ID_SERVO11","MAV_COMP_ID_SERVO12","MAV_COMP_ID_SERVO13","MAV_COMP_ID_SERVO14","MAV_COMP_ID_SERVO2","MAV_COMP_ID_SERVO3","MAV_COMP_ID_SERVO4","MAV_COMP_ID_SERVO5","MAV_COMP_ID_SERVO6","MAV_COMP_ID_SERVO7","MAV_COMP_ID_SERVO8","MAV_COMP_ID_SERVO9","MAV_COMP_ID_SYSTEM_CONTROL","MAV_COMP_ID_TELEMETRY_RADIO","MAV_COMP_ID_TUNNEL_NODE","MAV_COMP_ID_UART_BRIDGE","MAV_COMP_ID_UDP_BRIDGE","MAV_COMP_ID_USER1","MAV_COMP_ID_USER10","MAV_COMP_ID_USER11","MAV_COMP_ID_USER12","MAV_COMP_ID_USER13","MAV_COMP_ID_USER14","MAV_COMP_ID_USER15","MAV_COMP_ID_USER16","MAV_COMP_ID_USER17","MAV_COMP_ID_USER18","MAV_COMP_ID_USER19","MAV_COMP_ID_USER2","MAV_COMP_ID_USER20","MAV_COMP_ID_USER21","MAV_COMP_ID_USER22","MAV_COMP_ID_USER23","MAV_COMP_ID_USER24","MAV_COMP_ID_USER25","MAV_COMP_ID_USER26","MAV_COMP_ID_USER27","MAV_COMP_ID_USER28","MAV_COMP_ID_USER29","MAV_COMP_ID_USER3","MAV_COMP_ID_USER30","MAV_COMP_ID_USER31","MAV_COMP_ID_USER32","MAV_COMP_ID_USER33","MAV_COMP_ID_USER34","MAV_COMP_ID_USER35","MAV_COMP_ID_USER36","MAV_COMP_ID_USER37","MAV_COMP_ID_USER38","MAV_COMP_ID_USER39","MAV_COMP_ID_USER4","MAV_COMP_ID_USER40","MAV_COMP_ID_USER41","MAV_COMP_ID_USER42","MAV_COMP_ID_USER43","MAV_COMP_ID_USER45","MAV_COMP_ID_USER46","MAV_COMP_ID_USER47","MAV_COMP_ID_USER48","MAV_COMP_ID_USER49","MAV_COMP_ID_USER5","MAV_COMP_ID_USER50","MAV_COMP_ID_USER51","MAV_COMP_ID_USER52","MAV_COMP_ID_USER53","MAV_COMP_ID_USER54","MAV_COMP_ID_USER55","MAV_COMP_ID_USER56","MAV_COMP_ID_USER57","MAV_COMP_ID_USER58","MAV_COMP_ID_USER59","MAV_COMP_ID_USER6","MAV_COMP_ID_USER60","MAV_COMP_ID_USER61","MAV_COMP_ID_USER62","MAV_COMP_ID_USER63","MAV_COMP_ID_USER64","MAV_COMP_ID_USER65","MAV_COMP_ID_USER66","MAV_COMP_ID_USER67","MAV_COMP_ID_USER68","MAV_COMP_ID_USER69","MAV_COMP_ID_USER7","MAV_COMP_ID_USER70","MAV_COMP_ID_USER71","MAV_COMP_ID_USER72","MAV_COMP_ID_USER73","MAV_COMP_ID_USER74","MAV_COMP_ID_USER75","MAV_COMP_ID_USER8","MAV_COMP_ID_USER9","MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY","MAV_COMP_ID_WINCH","MAV_DATA_STREAM_ALL","MAV_DATA_STREAM_EXTENDED_STATUS","MAV_DATA_STREAM_EXTRA1","MAV_DATA_STREAM_EXTRA2","MAV_DATA_STREAM_EXTRA3","MAV_DATA_STREAM_POSITION","MAV_DATA_STREAM_RAW_CONTROLLER","MAV_DATA_STREAM_RAW_SENSORS","MAV_DATA_STREAM_RC_CHANNELS","MAV_DISTANCE_SENSOR_INFRARED","MAV_DISTANCE_SENSOR_LASER","MAV_DISTANCE_SENSOR_RADAR","MAV_DISTANCE_SENSOR_ULTRASOUND","MAV_DISTANCE_SENSOR_UNKNOWN","MAV_DO_REPOSITION_FLAGS_CHANGE_MODE","MAV_ESTIMATOR_TYPE_AUTOPILOT","MAV_ESTIMATOR_TYPE_GPS","MAV_ESTIMATOR_TYPE_GPS_INS","MAV_ESTIMATOR_TYPE_LIDAR","MAV_ESTIMATOR_TYPE_MOCAP","MAV_ESTIMATOR_TYPE_NAIVE","MAV_ESTIMATOR_TYPE_UNKNOWN","MAV_ESTIMATOR_TYPE_VIO","MAV_ESTIMATOR_TYPE_VISION","MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET","MAV_EVENT_ERROR_REASON_UNAVAILABLE","MAV_FRAME_BODY_FRD","MAV_FRAME_BODY_NED","MAV_FRAME_BODY_OFFSET_NED","MAV_FRAME_GLOBAL","MAV_FRAME_GLOBAL_INT","MAV_FRAME_GLOBAL_RELATIVE_ALT","MAV_FRAME_GLOBAL_RELATIVE_ALT_INT","MAV_FRAME_GLOBAL_TERRAIN_ALT","MAV_FRAME_GLOBAL_TERRAIN_ALT_INT","MAV_FRAME_LOCAL_ENU","MAV_FRAME_LOCAL_FLU","MAV_FRAME_LOCAL_FRD","MAV_FRAME_LOCAL_NED","MAV_FRAME_LOCAL_OFFSET_NED","MAV_FRAME_MISSION","MAV_FRAME_RESERVED_13","MAV_FRAME_RESERVED_14","MAV_FRAME_RESERVED_15","MAV_FRAME_RESERVED_16","MAV_FRAME_RESERVED_17","MAV_FRAME_RESERVED_18","MAV_FRAME_RESERVED_19","MAV_FTP_ERR_EOF","MAV_FTP_ERR_FAIL","MAV_FTP_ERR_FAILERRNO","MAV_FTP_ERR_FILEEXISTS","MAV_FTP_ERR_FILENOTFOUND","MAV_FTP_ERR_FILEPROTECTED","MAV_FTP_ERR_INVALIDDATASIZE","MAV_FTP_ERR_INVALIDSESSION","MAV_FTP_ERR_NONE","MAV_FTP_ERR_NOSESSIONSAVAILABLE","MAV_FTP_ERR_UNKNOWNCOMMAND","MAV_FTP_OPCODE_ACK","MAV_FTP_OPCODE_BURSTREADFILE","MAV_FTP_OPCODE_CALCFILECRC","MAV_FTP_OPCODE_CREATEDIRECTORY","MAV_FTP_OPCODE_CREATEFILE","MAV_FTP_OPCODE_LISTDIRECTORY","MAV_FTP_OPCODE_NAK","MAV_FTP_OPCODE_NONE","MAV_FTP_OPCODE_OPENFILERO","MAV_FTP_OPCODE_OPENFILEWO","MAV_FTP_OPCODE_READFILE","MAV_FTP_OPCODE_REMOVEDIRECTORY","MAV_FTP_OPCODE_REMOVEFILE","MAV_FTP_OPCODE_RENAME","MAV_FTP_OPCODE_RESETSESSION","MAV_FTP_OPCODE_TERMINATESESSION","MAV_FTP_OPCODE_TRUNCATEFILE","MAV_FTP_OPCODE_WRITEFILE","MAV_GENERATOR_STATUS_FLAG_BATTERY_OVERCHARGE_CURRENT_FAULT","MAV_GENERATOR_STATUS_FLAG_BATTERY_UNDERVOLT_FAULT","MAV_GENERATOR_STATUS_FLAG_CHARGING","MAV_GENERATOR_STATUS_FLAG_COMMUNICATION_WARNING","MAV_GENERATOR_STATUS_FLAG_COOLING_WARNING","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_FAULT","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_FAULT","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_WARNING","MAV_GENERATOR_STATUS_FLAG_GENERATING","MAV_GENERATOR_STATUS_FLAG_IDLE","MAV_GENERATOR_STATUS_FLAG_MAINTENANCE_REQUIRED","MAV_GENERATOR_STATUS_FLAG_MAXPOWER","MAV_GENERATOR_STATUS_FLAG_OFF","MAV_GENERATOR_STATUS_FLAG_OVERCURRENT_FAULT","MAV_GENERATOR_STATUS_FLAG_OVERTEMP_FAULT","MAV_GENERATOR_STATUS_FLAG_OVERTEMP_WARNING","MAV_GENERATOR_STATUS_FLAG_OVERVOLTAGE_FAULT","MAV_GENERATOR_STATUS_FLAG_POWERSOURCE_FAULT","MAV_GENERATOR_STATUS_FLAG_POWER_RAIL_FAULT","MAV_GENERATOR_STATUS_FLAG_READY","MAV_GENERATOR_STATUS_FLAG_REDUCED_POWER","MAV_GENERATOR_STATUS_FLAG_START_INHIBITED","MAV_GENERATOR_STATUS_FLAG_WARMING_UP","MAV_GOTO_DO_CONTINUE","MAV_GOTO_DO_HOLD","MAV_GOTO_HOLD_AT_CURRENT_POSITION","MAV_GOTO_HOLD_AT_SPECIFIED_POSITION","MAV_LANDED_STATE_IN_AIR","MAV_LANDED_STATE_LANDING","MAV_LANDED_STATE_ON_GROUND","MAV_LANDED_STATE_TAKEOFF","MAV_LANDED_STATE_UNDEFINED","MAV_MISSION_ACCEPTED","MAV_MISSION_DENIED","MAV_MISSION_ERROR","MAV_MISSION_INVALID","MAV_MISSION_INVALID_PARAM1","MAV_MISSION_INVALID_PARAM2","MAV_MISSION_INVALID_PARAM3","MAV_MISSION_INVALID_PARAM4","MAV_MISSION_INVALID_PARAM5_X","MAV_MISSION_INVALID_PARAM6_Y","MAV_MISSION_INVALID_PARAM7","MAV_MISSION_INVALID_SEQUENCE","MAV_MISSION_NO_SPACE","MAV_MISSION_OPERATION_CANCELLED","MAV_MISSION_TYPE_ALL","MAV_MISSION_TYPE_FENCE","MAV_MISSION_TYPE_MISSION","MAV_MISSION_TYPE_RALLY","MAV_MISSION_UNSUPPORTED","MAV_MISSION_UNSUPPORTED_FRAME","MAV_MODE_AUTO_ARMED","MAV_MODE_AUTO_DISARMED","MAV_MODE_FLAG_AUTO_ENABLED","MAV_MODE_FLAG_CUSTOM_MODE_ENABLED","MAV_MODE_FLAG_DECODE_POSITION_AUTO","MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE","MAV_MODE_FLAG_DECODE_POSITION_GUIDED","MAV_MODE_FLAG_DECODE_POSITION_HIL","MAV_MODE_FLAG_DECODE_POSITION_MANUAL","MAV_MODE_FLAG_DECODE_POSITION_SAFETY","MAV_MODE_FLAG_DECODE_POSITION_STABILIZE","MAV_MODE_FLAG_DECODE_POSITION_TEST","MAV_MODE_FLAG_GUIDED_ENABLED","MAV_MODE_FLAG_HIL_ENABLED","MAV_MODE_FLAG_MANUAL_INPUT_ENABLED","MAV_MODE_FLAG_SAFETY_ARMED","MAV_MODE_FLAG_STABILIZE_ENABLED","MAV_MODE_FLAG_TEST_ENABLED","MAV_MODE_GIMBAL_ACTIVE","MAV_MODE_GIMBAL_CALIBRATING_PITCH","MAV_MODE_GIMBAL_CALIBRATING_ROLL","MAV_MODE_GIMBAL_CALIBRATING_YAW","MAV_MODE_GIMBAL_INITIALIZED","MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT","MAV_MODE_GIMBAL_UNINITIALIZED","MAV_MODE_GUIDED_ARMED","MAV_MODE_GUIDED_DISARMED","MAV_MODE_MANUAL_ARMED","MAV_MODE_MANUAL_DISARMED","MAV_MODE_PREFLIGHT","MAV_MODE_STABILIZE_ARMED","MAV_MODE_STABILIZE_DISARMED","MAV_MODE_TEST_ARMED","MAV_MODE_TEST_DISARMED","MAV_MOUNT_MODE_GPS_POINT","MAV_MOUNT_MODE_HOME_LOCATION","MAV_MOUNT_MODE_MAVLINK_TARGETING","MAV_MOUNT_MODE_NEUTRAL","MAV_MOUNT_MODE_RC_TARGETING","MAV_MOUNT_MODE_RETRACT","MAV_MOUNT_MODE_SYSID_TARGET","MAV_ODID_ARM_STATUS_GOOD_TO_ARM","MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC","MAV_ODID_AUTH_TYPE_MESSAGE_SET_SIGNATURE","MAV_ODID_AUTH_TYPE_NETWORK_REMOTE_ID","MAV_ODID_AUTH_TYPE_NONE","MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE","MAV_ODID_AUTH_TYPE_SPECIFIC_AUTHENTICATION","MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE","MAV_ODID_CATEGORY_EU_CERTIFIED","MAV_ODID_CATEGORY_EU_OPEN","MAV_ODID_CATEGORY_EU_SPECIFIC","MAV_ODID_CATEGORY_EU_UNDECLARED","MAV_ODID_CLASSIFICATION_TYPE_EU","MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED","MAV_ODID_CLASS_EU_CLASS_0","MAV_ODID_CLASS_EU_CLASS_1","MAV_ODID_CLASS_EU_CLASS_2","MAV_ODID_CLASS_EU_CLASS_3","MAV_ODID_CLASS_EU_CLASS_4","MAV_ODID_CLASS_EU_CLASS_5","MAV_ODID_CLASS_EU_CLASS_6","MAV_ODID_CLASS_EU_UNDECLARED","MAV_ODID_DESC_TYPE_EMERGENCY","MAV_ODID_DESC_TYPE_EXTENDED_STATUS","MAV_ODID_DESC_TYPE_TEXT","MAV_ODID_HEIGHT_REF_OVER_GROUND","MAV_ODID_HEIGHT_REF_OVER_TAKEOFF","MAV_ODID_HOR_ACC_0_05NM","MAV_ODID_HOR_ACC_0_1NM","MAV_ODID_HOR_ACC_0_3NM","MAV_ODID_HOR_ACC_0_5NM","MAV_ODID_HOR_ACC_10NM","MAV_ODID_HOR_ACC_10_METER","MAV_ODID_HOR_ACC_1NM","MAV_ODID_HOR_ACC_1_METER","MAV_ODID_HOR_ACC_2NM","MAV_ODID_HOR_ACC_30_METER","MAV_ODID_HOR_ACC_3_METER","MAV_ODID_HOR_ACC_4NM","MAV_ODID_HOR_ACC_UNKNOWN","MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID","MAV_ODID_ID_TYPE_NONE","MAV_ODID_ID_TYPE_SERIAL_NUMBER","MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID","MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID","MAV_ODID_OPERATOR_ID_TYPE_CAA","MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED","MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS","MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF","MAV_ODID_SPEED_ACC_0_3_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_1_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_UNKNOWN","MAV_ODID_STATUS_AIRBORNE","MAV_ODID_STATUS_EMERGENCY","MAV_ODID_STATUS_GROUND","MAV_ODID_STATUS_REMOTE_ID_SYSTEM_FAILURE","MAV_ODID_STATUS_UNDECLARED","MAV_ODID_TIME_ACC_0_1_SECOND","MAV_ODID_TIME_ACC_0_2_SECOND","MAV_ODID_TIME_ACC_0_3_SECOND","MAV_ODID_TIME_ACC_0_4_SECOND","MAV_ODID_TIME_ACC_0_5_SECOND","MAV_ODID_TIME_ACC_0_6_SECOND","MAV_ODID_TIME_ACC_0_7_SECOND","MAV_ODID_TIME_ACC_0_8_SECOND","MAV_ODID_TIME_ACC_0_9_SECOND","MAV_ODID_TIME_ACC_1_0_SECOND","MAV_ODID_TIME_ACC_1_1_SECOND","MAV_ODID_TIME_ACC_1_2_SECOND","MAV_ODID_TIME_ACC_1_3_SECOND","MAV_ODID_TIME_ACC_1_4_SECOND","MAV_ODID_TIME_ACC_1_5_SECOND","MAV_ODID_TIME_ACC_UNKNOWN","MAV_ODID_UA_TYPE_AEROPLANE","MAV_ODID_UA_TYPE_AIRSHIP","MAV_ODID_UA_TYPE_CAPTIVE_BALLOON","MAV_ODID_UA_TYPE_FREE_BALLOON","MAV_ODID_UA_TYPE_FREE_FALL_PARACHUTE","MAV_ODID_UA_TYPE_GLIDER","MAV_ODID_UA_TYPE_GROUND_OBSTACLE","MAV_ODID_UA_TYPE_GYROPLANE","MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR","MAV_ODID_UA_TYPE_HYBRID_LIFT","MAV_ODID_UA_TYPE_KITE","MAV_ODID_UA_TYPE_NONE","MAV_ODID_UA_TYPE_ORNITHOPTER","MAV_ODID_UA_TYPE_OTHER","MAV_ODID_UA_TYPE_ROCKET","MAV_ODID_UA_TYPE_TETHERED_POWERED_AIRCRAFT","MAV_ODID_VER_ACC_10_METER","MAV_ODID_VER_ACC_150_METER","MAV_ODID_VER_ACC_1_METER","MAV_ODID_VER_ACC_25_METER","MAV_ODID_VER_ACC_3_METER","MAV_ODID_VER_ACC_45_METER","MAV_ODID_VER_ACC_UNKNOWN","MAV_PARAM_EXT_TYPE_CUSTOM","MAV_PARAM_EXT_TYPE_INT16","MAV_PARAM_EXT_TYPE_INT32","MAV_PARAM_EXT_TYPE_INT64","MAV_PARAM_EXT_TYPE_INT8","MAV_PARAM_EXT_TYPE_REAL32","MAV_PARAM_EXT_TYPE_REAL64","MAV_PARAM_EXT_TYPE_UINT16","MAV_PARAM_EXT_TYPE_UINT32","MAV_PARAM_EXT_TYPE_UINT64","MAV_PARAM_EXT_TYPE_UINT8","MAV_PARAM_TYPE_INT16","MAV_PARAM_TYPE_INT32","MAV_PARAM_TYPE_INT64","MAV_PARAM_TYPE_INT8","MAV_PARAM_TYPE_REAL32","MAV_PARAM_TYPE_REAL64","MAV_PARAM_TYPE_UINT16","MAV_PARAM_TYPE_UINT32","MAV_PARAM_TYPE_UINT64","MAV_PARAM_TYPE_UINT8","MAV_POWER_STATUS_BRICK_VALID","MAV_POWER_STATUS_CHANGED","MAV_POWER_STATUS_PERIPH_HIPOWER_OVERCURRENT","MAV_POWER_STATUS_PERIPH_OVERCURRENT","MAV_POWER_STATUS_SERVO_VALID","MAV_POWER_STATUS_USB_CONNECTED","MAV_PROTOCOL_CAPABILITY_COMMAND_INT","MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION","MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION","MAV_PROTOCOL_CAPABILITY_FTP","MAV_PROTOCOL_CAPABILITY_MAVLINK2","MAV_PROTOCOL_CAPABILITY_MISSION_FENCE","MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT","MAV_PROTOCOL_CAPABILITY_MISSION_INT","MAV_PROTOCOL_CAPABILITY_MISSION_RALLY","MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE","MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST","MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT","MAV_PROTOCOL_CAPABILITY_RESERVED2","MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET","MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET","MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT","MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED","MAV_PROTOCOL_CAPABILITY_TERRAIN","MAV_REMOTE_LOG_DATA_BLOCK_ACK","MAV_REMOTE_LOG_DATA_BLOCK_NACK","MAV_REMOTE_LOG_DATA_BLOCK_START","MAV_REMOTE_LOG_DATA_BLOCK_STOP","MAV_RESULT_ACCEPTED","MAV_RESULT_CANCELLED","MAV_RESULT_DENIED","MAV_RESULT_FAILED","MAV_RESULT_IN_PROGRESS","MAV_RESULT_TEMPORARILY_REJECTED","MAV_RESULT_UNSUPPORTED","MAV_ROI_LOCATION","MAV_ROI_NONE","MAV_ROI_TARGET","MAV_ROI_WPINDEX","MAV_ROI_WPNEXT","MAV_SENSOR_ROTATION_CUSTOM","MAV_SENSOR_ROTATION_NONE","MAV_SENSOR_ROTATION_PITCH_180","MAV_SENSOR_ROTATION_PITCH_180_YAW_270","MAV_SENSOR_ROTATION_PITCH_180_YAW_90","MAV_SENSOR_ROTATION_PITCH_270","MAV_SENSOR_ROTATION_PITCH_315","MAV_SENSOR_ROTATION_PITCH_90","MAV_SENSOR_ROTATION_ROLL_180","MAV_SENSOR_ROTATION_ROLL_180_PITCH_270","MAV_SENSOR_ROTATION_ROLL_180_PITCH_90","MAV_SENSOR_ROTATION_ROLL_180_YAW_135","MAV_SENSOR_ROTATION_ROLL_180_YAW_225","MAV_SENSOR_ROTATION_ROLL_180_YAW_270","MAV_SENSOR_ROTATION_ROLL_180_YAW_315","MAV_SENSOR_ROTATION_ROLL_180_YAW_45","MAV_SENSOR_ROTATION_ROLL_180_YAW_90","MAV_SENSOR_ROTATION_ROLL_270","MAV_SENSOR_ROTATION_ROLL_270_PITCH_180","MAV_SENSOR_ROTATION_ROLL_270_PITCH_270","MAV_SENSOR_ROTATION_ROLL_270_PITCH_90","MAV_SENSOR_ROTATION_ROLL_270_YAW_135","MAV_SENSOR_ROTATION_ROLL_270_YAW_45","MAV_SENSOR_ROTATION_ROLL_270_YAW_90","MAV_SENSOR_ROTATION_ROLL_90","MAV_SENSOR_ROTATION_ROLL_90_PITCH_180","MAV_SENSOR_ROTATION_ROLL_90_PITCH_180_YAW_90","MAV_SENSOR_ROTATION_ROLL_90_PITCH_270","MAV_SENSOR_ROTATION_ROLL_90_PITCH_315","MAV_SENSOR_ROTATION_ROLL_90_PITCH_68_YAW_293","MAV_SENSOR_ROTATION_ROLL_90_PITCH_90","MAV_SENSOR_ROTATION_ROLL_90_YAW_135","MAV_SENSOR_ROTATION_ROLL_90_YAW_270","MAV_SENSOR_ROTATION_ROLL_90_YAW_45","MAV_SENSOR_ROTATION_ROLL_90_YAW_90","MAV_SENSOR_ROTATION_YAW_135","MAV_SENSOR_ROTATION_YAW_180","MAV_SENSOR_ROTATION_YAW_225","MAV_SENSOR_ROTATION_YAW_270","MAV_SENSOR_ROTATION_YAW_315","MAV_SENSOR_ROTATION_YAW_45","MAV_SENSOR_ROTATION_YAW_90","MAV_SEVERITY_ALERT","MAV_SEVERITY_CRITICAL","MAV_SEVERITY_DEBUG","MAV_SEVERITY_EMERGENCY","MAV_SEVERITY_ERROR","MAV_SEVERITY_INFO","MAV_SEVERITY_NOTICE","MAV_SEVERITY_WARNING","MAV_STATE_ACTIVE","MAV_STATE_BOOT","MAV_STATE_CALIBRATING","MAV_STATE_CRITICAL","MAV_STATE_EMERGENCY","MAV_STATE_FLIGHT_TERMINATION","MAV_STATE_POWEROFF","MAV_STATE_STANDBY","MAV_STATE_UNINIT","MAV_SYS_STATUS_AHRS","MAV_SYS_STATUS_EXTENSION_USED","MAV_SYS_STATUS_GEOFENCE","MAV_SYS_STATUS_LOGGING","MAV_SYS_STATUS_OBSTACLE_AVOIDANCE","MAV_SYS_STATUS_PREARM_CHECK","MAV_SYS_STATUS_RECOVERY_SYSTEM","MAV_SYS_STATUS_REVERSE_MOTOR","MAV_SYS_STATUS_SENSOR_3D_ACCEL","MAV_SYS_STATUS_SENSOR_3D_ACCEL2","MAV_SYS_STATUS_SENSOR_3D_GYRO","MAV_SYS_STATUS_SENSOR_3D_GYRO2","MAV_SYS_STATUS_SENSOR_3D_MAG","MAV_SYS_STATUS_SENSOR_3D_MAG2","MAV_SYS_STATUS_SENSOR_ABSOLUTE_PRESSURE","MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL","MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION","MAV_SYS_STATUS_SENSOR_BATTERY","MAV_SYS_STATUS_SENSOR_DIFFERENTIAL_PRESSURE","MAV_SYS_STATUS_SENSOR_EXTERNAL_GROUND_TRUTH","MAV_SYS_STATUS_SENSOR_GPS","MAV_SYS_STATUS_SENSOR_LASER_POSITION","MAV_SYS_STATUS_SENSOR_MOTOR_OUTPUTS","MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW","MAV_SYS_STATUS_SENSOR_PROPULSION","MAV_SYS_STATUS_SENSOR_PROXIMITY","MAV_SYS_STATUS_SENSOR_RC_RECEIVER","MAV_SYS_STATUS_SENSOR_SATCOM","MAV_SYS_STATUS_SENSOR_VISION_POSITION","MAV_SYS_STATUS_SENSOR_XY_POSITION_CONTROL","MAV_SYS_STATUS_SENSOR_YAW_POSITION","MAV_SYS_STATUS_SENSOR_Z_ALTITUDE_CONTROL","MAV_SYS_STATUS_TERRAIN","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED2","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED3","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED4","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED5","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED6","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED7","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED8","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED9","MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN","MAV_TYPE_ADSB","MAV_TYPE_AIRSHIP","MAV_TYPE_ANTENNA_TRACKER","MAV_TYPE_BATTERY","MAV_TYPE_CAMERA","MAV_TYPE_CHARGING_STATION","MAV_TYPE_COAXIAL","MAV_TYPE_DECAROTOR","MAV_TYPE_DODECAROTOR","MAV_TYPE_FIXED_WING","MAV_TYPE_FLAPPING_WING","MAV_TYPE_FLARM","MAV_TYPE_FREE_BALLOON","MAV_TYPE_GCS","MAV_TYPE_GENERIC","MAV_TYPE_GIMBAL","MAV_TYPE_GPS","MAV_TYPE_GROUND_ROVER","MAV_TYPE_HELICOPTER","MAV_TYPE_HEXAROTOR","MAV_TYPE_IMU","MAV_TYPE_KITE","MAV_TYPE_LOG","MAV_TYPE_OCTOROTOR","MAV_TYPE_ODID","MAV_TYPE_ONBOARD_CONTROLLER","MAV_TYPE_OSD","MAV_TYPE_PARACHUTE","MAV_TYPE_PARAFOIL","MAV_TYPE_QUADROTOR","MAV_TYPE_ROCKET","MAV_TYPE_SERVO","MAV_TYPE_SUBMARINE","MAV_TYPE_SURFACE_BOAT","MAV_TYPE_TRICOPTER","MAV_TYPE_VTOL_FIXEDROTOR","MAV_TYPE_VTOL_RESERVED5","MAV_TYPE_VTOL_TAILSITTER","MAV_TYPE_VTOL_TAILSITTER_DUOROTOR","MAV_TYPE_VTOL_TAILSITTER_QUADROTOR","MAV_TYPE_VTOL_TILTROTOR","MAV_TYPE_VTOL_TILTWING","MAV_TYPE_WINCH","MAV_VTOL_STATE_FW","MAV_VTOL_STATE_MC","MAV_VTOL_STATE_TRANSITION_TO_FW","MAV_VTOL_STATE_TRANSITION_TO_MC","MAV_VTOL_STATE_UNDEFINED","MAV_WINCH_STATUS_ABANDON_LINE","MAV_WINCH_STATUS_ARRESTING","MAV_WINCH_STATUS_CLUTCH_ENGAGED","MAV_WINCH_STATUS_DROPPING","MAV_WINCH_STATUS_FULLY_RETRACTED","MAV_WINCH_STATUS_GROUND_SENSE","MAV_WINCH_STATUS_HEALTHY","MAV_WINCH_STATUS_LOAD_LINE","MAV_WINCH_STATUS_LOAD_PAYLOAD","MAV_WINCH_STATUS_LOCKED","MAV_WINCH_STATUS_LOCKING","MAV_WINCH_STATUS_MOVING","MAV_WINCH_STATUS_REDELIVER","MAV_WINCH_STATUS_RETRACTING","MCU_STATUS","MCU_STATUS_DATA","MCU_temperature","MCU_voltage","MCU_voltage_max","MCU_voltage_min","MEMINFO","MEMINFO_DATA","MEMORY_VECT","MEMORY_VECT_DATA","MESSAGE_INTERVAL","MESSAGE_INTERVAL_DATA","MISSION_ACK","MISSION_ACK_DATA","MISSION_CLEAR_ALL","MISSION_CLEAR_ALL_DATA","MISSION_COUNT","MISSION_COUNT_DATA","MISSION_CURRENT","MISSION_CURRENT_DATA","MISSION_ITEM","MISSION_ITEM_DATA","MISSION_ITEM_INT","MISSION_ITEM_INT_DATA","MISSION_ITEM_REACHED","MISSION_ITEM_REACHED_DATA","MISSION_READ_PERSISTENT","MISSION_REQUEST","MISSION_REQUEST_DATA","MISSION_REQUEST_INT","MISSION_REQUEST_INT_DATA","MISSION_REQUEST_LIST","MISSION_REQUEST_LIST_DATA","MISSION_REQUEST_PARTIAL_LIST","MISSION_REQUEST_PARTIAL_LIST_DATA","MISSION_RESET_DEFAULT","MISSION_SET_CURRENT","MISSION_SET_CURRENT_DATA","MISSION_STATE_ACTIVE","MISSION_STATE_COMPLETE","MISSION_STATE_NOT_STARTED","MISSION_STATE_NO_MISSION","MISSION_STATE_PAUSED","MISSION_STATE_UNKNOWN","MISSION_WRITE_PARTIAL_LIST","MISSION_WRITE_PARTIAL_LIST_DATA","MISSION_WRITE_PERSISTENT","MMSI","MOTOR_TEST_COMPASS_CAL","MOTOR_TEST_ORDER_BOARD","MOTOR_TEST_ORDER_DEFAULT","MOTOR_TEST_ORDER_SEQUENCE","MOTOR_TEST_THROTTLE_PERCENT","MOTOR_TEST_THROTTLE_PILOT","MOTOR_TEST_THROTTLE_PWM","MOUNT_CONFIGURE","MOUNT_CONFIGURE_DATA","MOUNT_CONTROL","MOUNT_CONTROL_DATA","MOUNT_ORIENTATION","MOUNT_ORIENTATION_DATA","MOUNT_STATUS","MOUNT_STATUS_DATA","MagCalStatus","MavArmAuthDeniedReason","MavAutopilot","MavBatteryChargeState","MavBatteryFault","MavBatteryFunction","MavBatteryMode","MavBatteryType","MavCmd","MavCmdAck","MavCmdDoAuxFunctionSwitchLevel","MavCollisionAction","MavCollisionSrc","MavCollisionThreatLevel","MavComponent","MavDataStream","MavDistanceSensor","MavDoRepositionFlags","MavEstimatorType","MavEventCurrentSequenceFlags","MavEventErrorReason","MavFrame","MavFtpErr","MavFtpOpcode","MavGeneratorStatusFlag","MavGoto","MavLandedState","MavMessage","MavMissionResult","MavMissionType","MavMode","MavModeFlag","MavModeFlagDecodePosition","MavModeGimbal","MavMountMode","MavOdidArmStatus","MavOdidAuthType","MavOdidCategoryEu","MavOdidClassEu","MavOdidClassificationType","MavOdidDescType","MavOdidHeightRef","MavOdidHorAcc","MavOdidIdType","MavOdidOperatorIdType","MavOdidOperatorLocationType","MavOdidSpeedAcc","MavOdidStatus","MavOdidTimeAcc","MavOdidUaType","MavOdidVerAcc","MavParamExtType","MavParamType","MavPowerStatus","MavProtocolCapability","MavRemoteLogDataBlockCommands","MavRemoteLogDataBlockStatuses","MavResult","MavRoi","MavSensorOrientation","MavSeverity","MavState","MavSysStatusSensor","MavSysStatusSensorExtended","MavTunnelPayloadType","MavType","MavVtolState","MavWinchStatusFlag","MavlinkDataStreamType","MissionState","MotorTestOrder","MotorTestThrottleType","NAMED_VALUE_FLOAT","NAMED_VALUE_FLOAT_DATA","NAMED_VALUE_INT","NAMED_VALUE_INT_DATA","NAV_CONTROLLER_OUTPUT","NAV_CONTROLLER_OUTPUT_DATA","NAV_VTOL_LAND_OPTIONS_DEFAULT","NAV_VTOL_LAND_OPTIONS_FW_DESCENT","NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT","NavVtolLandOptions","OBSTACLE_DISTANCE","OBSTACLE_DISTANCE_3D","OBSTACLE_DISTANCE_3D_DATA","OBSTACLE_DISTANCE_DATA","ODOMETRY","ODOMETRY_DATA","ONBOARD_COMPUTER_STATUS","ONBOARD_COMPUTER_STATUS_DATA","OPEN_DRONE_ID_ARM_STATUS","OPEN_DRONE_ID_ARM_STATUS_DATA","OPEN_DRONE_ID_AUTHENTICATION","OPEN_DRONE_ID_AUTHENTICATION_DATA","OPEN_DRONE_ID_BASIC_ID","OPEN_DRONE_ID_BASIC_ID_DATA","OPEN_DRONE_ID_LOCATION","OPEN_DRONE_ID_LOCATION_DATA","OPEN_DRONE_ID_MESSAGE_PACK","OPEN_DRONE_ID_MESSAGE_PACK_DATA","OPEN_DRONE_ID_OPERATOR_ID","OPEN_DRONE_ID_OPERATOR_ID_DATA","OPEN_DRONE_ID_SELF_ID","OPEN_DRONE_ID_SELF_ID_DATA","OPEN_DRONE_ID_SYSTEM","OPEN_DRONE_ID_SYSTEM_DATA","OPEN_DRONE_ID_SYSTEM_UPDATE","OPEN_DRONE_ID_SYSTEM_UPDATE_DATA","OPTICAL_FLOW","OPTICAL_FLOW_DATA","OPTICAL_FLOW_RAD","OPTICAL_FLOW_RAD_DATA","ORBIT_EXECUTION_STATUS","ORBIT_EXECUTION_STATUS_DATA","ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE","ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER","ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING","ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED","ORBIT_YAW_BEHAVIOUR_UNCONTROLLED","OSD_PARAM_AUX_FUNCTION","OSD_PARAM_CONFIG","OSD_PARAM_CONFIG_DATA","OSD_PARAM_CONFIG_REPLY","OSD_PARAM_CONFIG_REPLY_DATA","OSD_PARAM_FAILSAFE_ACTION","OSD_PARAM_FAILSAFE_ACTION_1","OSD_PARAM_FAILSAFE_ACTION_2","OSD_PARAM_FLIGHT_MODE","OSD_PARAM_INVALID_PARAMETER","OSD_PARAM_INVALID_PARAMETER_INDEX","OSD_PARAM_INVALID_SCREEN","OSD_PARAM_NONE","OSD_PARAM_NUM_TYPES","OSD_PARAM_SERIAL_PROTOCOL","OSD_PARAM_SERVO_FUNCTION","OSD_PARAM_SHOW_CONFIG","OSD_PARAM_SHOW_CONFIG_DATA","OSD_PARAM_SHOW_CONFIG_REPLY","OSD_PARAM_SHOW_CONFIG_REPLY_DATA","OSD_PARAM_SUCCESS","OrbitYawBehaviour","OsdParamConfigError","OsdParamConfigType","P","PARACHUTE_DISABLE","PARACHUTE_ENABLE","PARACHUTE_RELEASE","PARAM_ACK_ACCEPTED","PARAM_ACK_FAILED","PARAM_ACK_IN_PROGRESS","PARAM_ACK_VALUE_UNSUPPORTED","PARAM_EXT_ACK","PARAM_EXT_ACK_DATA","PARAM_EXT_REQUEST_LIST","PARAM_EXT_REQUEST_LIST_DATA","PARAM_EXT_REQUEST_READ","PARAM_EXT_REQUEST_READ_DATA","PARAM_EXT_SET","PARAM_EXT_SET_DATA","PARAM_EXT_VALUE","PARAM_EXT_VALUE_DATA","PARAM_MAP_RC","PARAM_MAP_RC_DATA","PARAM_READ_PERSISTENT","PARAM_REQUEST_LIST","PARAM_REQUEST_LIST_DATA","PARAM_REQUEST_READ","PARAM_REQUEST_READ_DATA","PARAM_RESET_ALL_DEFAULT","PARAM_RESET_CONFIG_DEFAULT","PARAM_RESET_SENSOR_DEFAULT","PARAM_SET","PARAM_SET_DATA","PARAM_VALUE","PARAM_VALUE_DATA","PARAM_WRITE_PERSISTENT","PID_TUNING","PID_TUNING_ACCZ","PID_TUNING_DATA","PID_TUNING_LANDING","PID_TUNING_PITCH","PID_TUNING_ROLL","PID_TUNING_STEER","PID_TUNING_YAW","PING","PING_DATA","PLANE_MODE_ACRO","PLANE_MODE_AUTO","PLANE_MODE_AUTOTUNE","PLANE_MODE_AVOID_ADSB","PLANE_MODE_CIRCLE","PLANE_MODE_CRUISE","PLANE_MODE_FLY_BY_WIRE_A","PLANE_MODE_FLY_BY_WIRE_B","PLANE_MODE_GUIDED","PLANE_MODE_INITIALIZING","PLANE_MODE_LOITER","PLANE_MODE_MANUAL","PLANE_MODE_QACRO","PLANE_MODE_QAUTOTUNE","PLANE_MODE_QHOVER","PLANE_MODE_QLAND","PLANE_MODE_QLOITER","PLANE_MODE_QRTL","PLANE_MODE_QSTABILIZE","PLANE_MODE_RTL","PLANE_MODE_STABILIZE","PLANE_MODE_TAKEOFF","PLANE_MODE_THERMAL","PLANE_MODE_TRAINING","PLAY_TUNE","PLAY_TUNE_DATA","PLAY_TUNE_V2","PLAY_TUNE_V2_DATA","POSITION_TARGET_GLOBAL_INT","POSITION_TARGET_GLOBAL_INT_DATA","POSITION_TARGET_LOCAL_NED","POSITION_TARGET_LOCAL_NED_DATA","POSITION_TARGET_TYPEMASK_AX_IGNORE","POSITION_TARGET_TYPEMASK_AY_IGNORE","POSITION_TARGET_TYPEMASK_AZ_IGNORE","POSITION_TARGET_TYPEMASK_FORCE_SET","POSITION_TARGET_TYPEMASK_VX_IGNORE","POSITION_TARGET_TYPEMASK_VY_IGNORE","POSITION_TARGET_TYPEMASK_VZ_IGNORE","POSITION_TARGET_TYPEMASK_X_IGNORE","POSITION_TARGET_TYPEMASK_YAW_IGNORE","POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE","POSITION_TARGET_TYPEMASK_Y_IGNORE","POSITION_TARGET_TYPEMASK_Z_IGNORE","POWER_STATUS","POWER_STATUS_DATA","PRECISION_LAND_MODE_DISABLED","PRECISION_LAND_MODE_OPPORTUNISTIC","PRECISION_LAND_MODE_REQUIRED","PROTOCOL_VERSION","PROTOCOL_VERSION_DATA","ParachuteAction","ParamAck","Pax","Pby","Pcz","PidTuningAxis","PlaneMode","PositionTargetTypemask","PrecisionLandMode","PreflightStorageMissionAction","PreflightStorageParameterAction","RADIO","RADIO_DATA","RADIO_STATUS","RADIO_STATUS_DATA","RALLY_FETCH_POINT","RALLY_FETCH_POINT_DATA","RALLY_POINT","RALLY_POINT_DATA","RANGEFINDER","RANGEFINDER_DATA","RAW_IMU","RAW_IMU_DATA","RAW_PRESSURE","RAW_PRESSURE_DATA","RAW_RPM","RAW_RPM_DATA","RC_CHANNELS","RC_CHANNELS_DATA","RC_CHANNELS_OVERRIDE","RC_CHANNELS_OVERRIDE_DATA","RC_CHANNELS_RAW","RC_CHANNELS_RAW_DATA","RC_CHANNELS_SCALED","RC_CHANNELS_SCALED_DATA","RC_TYPE_SPEKTRUM_DSM2","RC_TYPE_SPEKTRUM_DSMX","REMOTE_LOG_BLOCK_STATUS","REMOTE_LOG_BLOCK_STATUS_DATA","REMOTE_LOG_DATA_BLOCK","REMOTE_LOG_DATA_BLOCK_DATA","REQUEST_DATA_STREAM","REQUEST_DATA_STREAM_DATA","REQUEST_EVENT","REQUEST_EVENT_DATA","RESOURCE_REQUEST","RESOURCE_REQUEST_DATA","RESPONSE_EVENT_ERROR","RESPONSE_EVENT_ERROR_DATA","ROVER_MODE_ACRO","ROVER_MODE_AUTO","ROVER_MODE_FOLLOW","ROVER_MODE_GUIDED","ROVER_MODE_HOLD","ROVER_MODE_INITIALIZING","ROVER_MODE_LOITER","ROVER_MODE_MANUAL","ROVER_MODE_RTL","ROVER_MODE_SIMPLE","ROVER_MODE_SMART_RTL","ROVER_MODE_STEERING","RPM","RPM_DATA","RTK_BASELINE_COORDINATE_SYSTEM_ECEF","RTK_BASELINE_COORDINATE_SYSTEM_NED","RallyFlags","RcType","RoverMode","RtkBaselineCoordinateSystem","SAFETY_ALLOWED_AREA","SAFETY_ALLOWED_AREA_DATA","SAFETY_SET_ALLOWED_AREA","SAFETY_SET_ALLOWED_AREA_DATA","SCALED_IMU","SCALED_IMU2","SCALED_IMU2_DATA","SCALED_IMU3","SCALED_IMU3_DATA","SCALED_IMU_DATA","SCALED_PRESSURE","SCALED_PRESSURE2","SCALED_PRESSURE2_DATA","SCALED_PRESSURE3","SCALED_PRESSURE3_DATA","SCALED_PRESSURE_DATA","SCRIPTING_CMD_REPL_START","SCRIPTING_CMD_REPL_STOP","SCRIPTING_CMD_STOP","SCRIPTING_CMD_STOP_AND_RESTART","SENSOR_OFFSETS","SENSOR_OFFSETS_DATA","SERIAL_CONTROL","SERIAL_CONTROL_DATA","SERIAL_CONTROL_DEV_GPS1","SERIAL_CONTROL_DEV_GPS2","SERIAL_CONTROL_DEV_SHELL","SERIAL_CONTROL_DEV_TELEM1","SERIAL_CONTROL_DEV_TELEM2","SERIAL_CONTROL_FLAG_BLOCKING","SERIAL_CONTROL_FLAG_EXCLUSIVE","SERIAL_CONTROL_FLAG_MULTI","SERIAL_CONTROL_FLAG_REPLY","SERIAL_CONTROL_FLAG_RESPOND","SERIAL_CONTROL_SERIAL0","SERIAL_CONTROL_SERIAL1","SERIAL_CONTROL_SERIAL2","SERIAL_CONTROL_SERIAL3","SERIAL_CONTROL_SERIAL4","SERIAL_CONTROL_SERIAL5","SERIAL_CONTROL_SERIAL6","SERIAL_CONTROL_SERIAL7","SERIAL_CONTROL_SERIAL8","SERIAL_CONTROL_SERIAL9","SERVO_OUTPUT_RAW","SERVO_OUTPUT_RAW_DATA","SETUP_SIGNING","SETUP_SIGNING_DATA","SET_ACTUATOR_CONTROL_TARGET","SET_ACTUATOR_CONTROL_TARGET_DATA","SET_ATTITUDE_TARGET","SET_ATTITUDE_TARGET_DATA","SET_GPS_GLOBAL_ORIGIN","SET_GPS_GLOBAL_ORIGIN_DATA","SET_HOME_POSITION","SET_HOME_POSITION_DATA","SET_MAG_OFFSETS","SET_MAG_OFFSETS_DATA","SET_MODE","SET_MODE_DATA","SET_POSITION_TARGET_GLOBAL_INT","SET_POSITION_TARGET_GLOBAL_INT_DATA","SET_POSITION_TARGET_LOCAL_NED","SET_POSITION_TARGET_LOCAL_NED_DATA","SIMSTATE","SIMSTATE_DATA","SIM_STATE","SIM_STATE_DATA","SMART_BATTERY_INFO","SMART_BATTERY_INFO_DATA","SPEED_TYPE_AIRSPEED","SPEED_TYPE_GROUNDSPEED","SSA","STATUSTEXT","STATUSTEXT_DATA","STORAGE_INFORMATION","STORAGE_INFORMATION_DATA","STORAGE_STATUS_EMPTY","STORAGE_STATUS_NOT_SUPPORTED","STORAGE_STATUS_READY","STORAGE_STATUS_UNFORMATTED","STORAGE_TYPE_CF","STORAGE_TYPE_CFE","STORAGE_TYPE_HD","STORAGE_TYPE_MICROSD","STORAGE_TYPE_OTHER","STORAGE_TYPE_SD","STORAGE_TYPE_UNKNOWN","STORAGE_TYPE_USB_STICK","STORAGE_TYPE_XQD","STORAGE_USAGE_FLAG_LOGS","STORAGE_USAGE_FLAG_PHOTO","STORAGE_USAGE_FLAG_SET","STORAGE_USAGE_FLAG_VIDEO","SUB_MODE_ACRO","SUB_MODE_ALT_HOLD","SUB_MODE_AUTO","SUB_MODE_CIRCLE","SUB_MODE_GUIDED","SUB_MODE_MANUAL","SUB_MODE_POSHOLD","SUB_MODE_STABILIZE","SUB_MODE_SURFACE","SUPPORTED_TUNES","SUPPORTED_TUNES_DATA","SYSTEM_TIME","SYSTEM_TIME_DATA","SYS_STATUS","SYS_STATUS_DATA","ScriptingCmd","SerialControlDev","SerialControlFlag","SetFocusType","SpeedType","StorageStatus","StorageType","StorageUsageFlag","SubMode","TERRAIN_CHECK","TERRAIN_CHECK_DATA","TERRAIN_DATA","TERRAIN_DATA_DATA","TERRAIN_REPORT","TERRAIN_REPORT_DATA","TERRAIN_REQUEST","TERRAIN_REQUEST_DATA","TIMESYNC","TIMESYNC_DATA","TIME_ESTIMATE_TO_TARGET","TIME_ESTIMATE_TO_TARGET_DATA","TRACKER_MODE_AUTO","TRACKER_MODE_INITIALIZING","TRACKER_MODE_MANUAL","TRACKER_MODE_SCAN","TRACKER_MODE_SERVO_TEST","TRACKER_MODE_STOP","TRAJECTORY_REPRESENTATION_BEZIER","TRAJECTORY_REPRESENTATION_BEZIER_DATA","TRAJECTORY_REPRESENTATION_WAYPOINTS","TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA","TUNE_FORMAT_MML_MODERN","TUNE_FORMAT_QBASIC1_1","TUNNEL","TUNNEL_DATA","TrackerMode","TuneFormat","UAVCAN_NODE_HEALTH_CRITICAL","UAVCAN_NODE_HEALTH_ERROR","UAVCAN_NODE_HEALTH_OK","UAVCAN_NODE_HEALTH_WARNING","UAVCAN_NODE_INFO","UAVCAN_NODE_INFO_DATA","UAVCAN_NODE_MODE_INITIALIZATION","UAVCAN_NODE_MODE_MAINTENANCE","UAVCAN_NODE_MODE_OFFLINE","UAVCAN_NODE_MODE_OPERATIONAL","UAVCAN_NODE_MODE_SOFTWARE_UPDATE","UAVCAN_NODE_STATUS","UAVCAN_NODE_STATUS_DATA","UAVIONIX_ADSB_OUT_CFG","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L15M_W23M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25M_W28P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25_34M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_33M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_38M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_39P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_45M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_45M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_52M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_59P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_67M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W72P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W80M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W80M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W90M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA","UAVIONIX_ADSB_OUT_CFG_DATA","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_2M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_4M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_6M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_0M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_2M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_4M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_6M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_APPLIED_BY_SENSOR","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA","UAVIONIX_ADSB_OUT_DOWNED_AIRCRAFT_EMERGENCY","UAVIONIX_ADSB_OUT_DYNAMIC","UAVIONIX_ADSB_OUT_DYNAMIC_DATA","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_2D","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_3D","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_DGPS","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_1","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_RTK","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_AUTOPILOT_ENABLED","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_IDENT","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_NICBARO_CROSSCHECKED","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_ON_GROUND","UAVIONIX_ADSB_OUT_GENERAL_EMERGENCY","UAVIONIX_ADSB_OUT_LIFEGUARD_EMERGENCY","UAVIONIX_ADSB_OUT_MINIMUM_FUEL_EMERGENCY","UAVIONIX_ADSB_OUT_NO_COMM_EMERGENCY","UAVIONIX_ADSB_OUT_NO_EMERGENCY","UAVIONIX_ADSB_OUT_RESERVED","UAVIONIX_ADSB_OUT_RF_SELECT_RX_ENABLED","UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY","UAVIONIX_ADSB_OUT_RF_SELECT_TX_ENABLED","UAVIONIX_ADSB_OUT_UNLAWFUL_INTERFERANCE_EMERGENCY","UAVIONIX_ADSB_RF_HEALTH_FAIL_RX","UAVIONIX_ADSB_RF_HEALTH_FAIL_TX","UAVIONIX_ADSB_RF_HEALTH_INITIALIZING","UAVIONIX_ADSB_RF_HEALTH_OK","UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT","UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA","UNDER_WAY","UTM_DATA_AVAIL_FLAGS_ALTITUDE_AVAILABLE","UTM_DATA_AVAIL_FLAGS_HORIZONTAL_VELO_AVAILABLE","UTM_DATA_AVAIL_FLAGS_NEXT_WAYPOINT_AVAILABLE","UTM_DATA_AVAIL_FLAGS_POSITION_AVAILABLE","UTM_DATA_AVAIL_FLAGS_RELATIVE_ALTITUDE_AVAILABLE","UTM_DATA_AVAIL_FLAGS_TIME_VALID","UTM_DATA_AVAIL_FLAGS_UAS_ID_AVAILABLE","UTM_DATA_AVAIL_FLAGS_VERTICAL_VELO_AVAILABLE","UTM_FLIGHT_STATE_AIRBORNE","UTM_FLIGHT_STATE_EMERGENCY","UTM_FLIGHT_STATE_GROUND","UTM_FLIGHT_STATE_NOCTRL","UTM_FLIGHT_STATE_UNKNOWN","UTM_GLOBAL_POSITION","UTM_GLOBAL_POSITION_DATA","UavcanNodeHealth","UavcanNodeMode","UavionixAdsbEmergencyStatus","UavionixAdsbOutCfgAircraftSize","UavionixAdsbOutCfgGpsOffsetLat","UavionixAdsbOutCfgGpsOffsetLon","UavionixAdsbOutDynamicGpsFix","UavionixAdsbOutDynamicState","UavionixAdsbOutRfSelect","UavionixAdsbRfHealth","UtmDataAvailFlags","UtmFlightState","V2_EXTENSION","V2_EXTENSION_DATA","VFR_HUD","VFR_HUD_DATA","VIBRATION","VIBRATION_DATA","VICON_POSITION_ESTIMATE","VICON_POSITION_ESTIMATE_DATA","VIDEO_STREAM_INFORMATION","VIDEO_STREAM_INFORMATION_DATA","VIDEO_STREAM_STATUS","VIDEO_STREAM_STATUS_DATA","VIDEO_STREAM_STATUS_FLAGS_RUNNING","VIDEO_STREAM_STATUS_FLAGS_THERMAL","VIDEO_STREAM_TYPE_MPEG_TS_H264","VIDEO_STREAM_TYPE_RTPUDP","VIDEO_STREAM_TYPE_RTSP","VIDEO_STREAM_TYPE_TCP_MPEG","VISION_POSITION_DELTA","VISION_POSITION_DELTA_DATA","VISION_POSITION_ESTIMATE","VISION_POSITION_ESTIMATE_DATA","VISION_SPEED_ESTIMATE","VISION_SPEED_ESTIMATE_DATA","VTOL_TRANSITION_HEADING_ANY","VTOL_TRANSITION_HEADING_NEXT_WAYPOINT","VTOL_TRANSITION_HEADING_SPECIFIED","VTOL_TRANSITION_HEADING_TAKEOFF","VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT","Vcc","Vcc","VelEW","VideoStreamStatusFlags","VideoStreamType","Vservo","VtolTransitionHeading","WATER_DEPTH","WATER_DEPTH_DATA","WHEEL_DISTANCE","WHEEL_DISTANCE_DATA","WIFI_CONFIG_AP","WIFI_CONFIG_AP_DATA","WIFI_CONFIG_AP_MODE_AP","WIFI_CONFIG_AP_MODE_DISABLED","WIFI_CONFIG_AP_MODE_STATION","WIFI_CONFIG_AP_MODE_UNDEFINED","WIFI_CONFIG_AP_RESPONSE_ACCEPTED","WIFI_CONFIG_AP_RESPONSE_MODE_ERROR","WIFI_CONFIG_AP_RESPONSE_PASSWORD_ERROR","WIFI_CONFIG_AP_RESPONSE_REJECTED","WIFI_CONFIG_AP_RESPONSE_SSID_ERROR","WIFI_CONFIG_AP_RESPONSE_UNDEFINED","WINCH_ABANDON_LINE","WINCH_DELIVER","WINCH_HOLD","WINCH_LOAD_LINE","WINCH_LOAD_PAYLOAD","WINCH_LOCK","WINCH_RATE_CONTROL","WINCH_RELATIVE_LENGTH_CONTROL","WINCH_RELAXED","WINCH_RETRACT","WINCH_STATUS","WINCH_STATUS_DATA","WIND","WIND_COV","WIND_COV_DATA","WIND_DATA","WifiConfigApMode","WifiConfigApResponse","WinchActions","ZOOM_TYPE_CONTINUOUS","ZOOM_TYPE_FOCAL_LENGTH","ZOOM_TYPE_RANGE","ZOOM_TYPE_STEP","abs_pressure","abs_pressure","acc","acc_x","acc_y","acc_z","accel_cal_x","accel_cal_y","accel_cal_z","accel_weight","accuracy","accuracy","accuracyHor","accuracyVel","accuracyVert","achieved","achieved","ack","action","active","actuator","adc1","adc2","adc3","adc4","adc5","adc6","address","address","address","afx","afx","afx","afx","afy","afy","afy","afy","afz","afz","afz","afz","aircraftSize","airspeed","airspeed","airspeed","airspeed","airspeed_sp","airspeed_sp","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt_camera","alt_error","alt_image","alt_msl","alt_rel","altitude","altitude","altitude","altitude","altitude","altitude","altitude","altitude","altitude","altitude_amsl","altitude_amsl","altitude_barometric","altitude_geodetic","altitude_local","altitude_minimum_delta","altitude_monotonic","altitude_relative","altitude_sp","altitude_terrain","altitude_type","angle_delta","angle_x","angle_y","angular_velocity_x","angular_velocity_x","angular_velocity_x","angular_velocity_y","angular_velocity_y","angular_velocity_y","angular_velocity_z","angular_velocity_z","angular_velocity_z","aperture","apn","approach_x","approach_x","approach_y","approach_y","approach_z","approach_z","arc_entry_lat","arc_entry_lon","area_ceiling","area_count","area_floor","area_radius","arguments","arming_time_utc","array_id","aspd_error","attempt","attitude_q","attitude_quaternion","authentication_data","authentication_type","autocontinue","autocontinue","autocontinue","autopilot","autopilot","autosaved","aux1","aux2","aux3","aux4","available_capacity","available_capacity","ax","axis","axis","ay","az","az_torque_cmd","baroAltMSL","barometer_accuracy","barometric_pressure","base_mode","base_mode","base_mode","baseline_a_mm","baseline_a_mm","baseline_b_mm","baseline_b_mm","baseline_c_mm","baseline_c_mm","baseline_coords_type","baseline_coords_type","bat_current_setpoint","battery","battery_current","battery_function","battery_function","battery_remaining","battery_remaining","battery_remaining","baudrate","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitrate","bitrate","bitrate","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","board_version","body_pitch_rate","body_pitch_rate","body_roll_rate","body_roll_rate","body_yaw_rate","body_yaw_rate","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bottom_clearance","breach_count","breach_count","breach_status","breach_time","breach_type","break_alt","brkval","bus","bus","bus","bus","bus","bus_voltage","busname","busname","bustype","bustype","buttons","cal_mask","cal_mask","cal_status","cal_status","callsign","callsign","callsign","cam_definition_uri","cam_definition_version","cam_idx","cam_idx","camera_id","camera_id","cap_flags","cap_flags","capabilities","capacity_full","capacity_full_specification","capture_mode","capture_result","category_eu","chan10_raw","chan10_raw","chan11_raw","chan11_raw","chan12_raw","chan12_raw","chan13_raw","chan14_raw","chan15_raw","chan16_raw","chan17_raw","chan18_raw","chan1_raw","chan1_raw","chan1_raw","chan1_raw","chan1_scaled","chan2_raw","chan2_raw","chan2_raw","chan2_raw","chan2_scaled","chan3_raw","chan3_raw","chan3_raw","chan3_raw","chan3_scaled","chan4_raw","chan4_raw","chan4_raw","chan4_raw","chan4_scaled","chan5_raw","chan5_raw","chan5_raw","chan5_raw","chan5_scaled","chan6_raw","chan6_raw","chan6_raw","chan6_raw","chan6_scaled","chan7_raw","chan7_raw","chan7_raw","chan7_raw","chan7_scaled","chan8_raw","chan8_raw","chan8_raw","chan8_raw","chan8_scaled","chan9_raw","chan9_raw","chancount","charging_minimum_voltage","child_frame_id","class_eu","classification_type","climb","climb_rate","climb_rate","clipping_0","clipping_1","clipping_2","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmd_id","cmd_id","cmd_id","cmd_id","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cog","cog","cog","command","command","command","command","command","command","command","command_id","command_id","commanded_action","compass_id","compass_id","compass_variance","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","completion_mask","completion_pct","confidence","config_type","config_type","confirmation","connection_type","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","control_request","control_request","controls","controls","controls","coordinate_frame","coordinate_frame","coordinate_frame","coordinate_frame","count","count","count","count","count","count","count","count","count","count","count","count","count","count","count","counter","covariance","covariance","covariance","covariance","cpu_combined","cpu_cores","crc","cross_track_error","current","current","current","current","current","current","current","current","current","current_battery","current_battery","current_battery","current_consumed","current_distance","current_height","custom0","custom1","custom2","custom_bytes","custom_cap_flags","custom_len","custom_mode","custom_mode","custom_mode","custom_mode","custom_name","custom_state","cycle_count","cylinder_head_temperature","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data_page","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default_message_from_id","delta","delta_angle_x","delta_angle_y","delta_angle_z","delta_time","delta_velocity_x","delta_velocity_y","delta_velocity_z","demanded_rate_x","demanded_rate_y","demanded_rate_z","description","description_type","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","desired","desired","destination_component","destination_system","device","device_name","dgps_age","dgps_numch","diag_x","diag_y","diag_z","diff_pressure","diff_pressure","diff_pressure","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","dimension_bow","dimension_port","dimension_starboard","dimension_stern","direction","direction","direction_x","direction_y","direction_z","discharge_minimum_voltage","dist","distance","distance","distance","distance","distance","distance","distances","drop_rate_comm","ecu_index","el_torque_cmd","emergencyStatus","emitterType","emitter_type","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","enable_lte","enable_pin","end","end_index","end_index","energy_consumed","engine_cut_off","engine_load","eph","eph","eph","eph","epv","epv","epv","epv","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","error","error","error_count","error_rp","error_yaw","errors_comm","errors_count1","errors_count2","errors_count3","errors_count4","est_capabilities","estimator_status","estimator_type","estimator_type","event_id","event_time_boot_ms","exhaust_gas_temperature","expected_travel_distance","exposure_type","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extra_crc","extra_param","extra_param","extra_value","extra_value","f","f_dot","failed_sessions","failsafe","failure_flags","failure_flags","failure_flags","failure_reason","fan_speed","feed_forward_angular_velocity_z","fields_updated","fields_updated","file_crc","file_url","firmware_version","firmware_version","first_message_offset","first_message_offset","first_sequence","fitness","fix_type","fix_type","fix_type","fix_type","fixed","fixed","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flight_custom_version","flight_state","flight_sw_version","flight_uuid","flow_comp_m_x","flow_comp_m_y","flow_x","flow_y","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","foc_len","focal_length","focus_lock","format","format","frame","frame","frame","frame","frame","frame","frame","frame","frame_id","framerate","framerate","framerate","freemem","frequency","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","fuel_consumed","fuel_flow","gcs_system_id","general_metadata_file_crc","general_metadata_uri","generator_speed","generator_temperature","gimbal_device_id","gimbal_device_id","gimbal_device_id","gimbal_device_id","gimbal_device_id","gpsAlt","gpsFix","gpsLat","gpsLon","gpsOffsetLat","gpsOffsetLon","gps_fix_type","gps_id","gps_nsat","gpu_combined","gpu_cores","grid_spacing","grid_spacing","gridbit","ground_distance","groundspeed","groundspeed","groundspeed","group_mlx","group_mlx","gyro_cal_x","gyro_cal_y","gyro_cal_z","h_acc","h_acc","hagl_ratio","hardware_version","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hdg","hdg","hdg_acc","hdop","heading","heading","heading","heading","heading","heading_sp","health","health","healthy","height","height","height_reference","hfov","hfov","hfov","hor_velocity","horiz_accuracy","horiz_accuracy","horizontal_accuracy","horizontal_minimum_delta","humidity","hw_unique_id","hw_version_major","hw_version_minor","iar_num_hypotheses","iar_num_hypotheses","id","id","id","id","id","id","id","id","id","id","id","id","id","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_type","ids","idx","idx","idx","idx","ignition_timing","ignore_flags","image_index","image_interval","image_status","img_idx","img_idx","increment","increment","increment","ind","ind_airspeed","index","index","index","info","initial_timestamp","injection_time","input_a","input_b","input_c","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","instance","intake_manifold_pressure","intake_manifold_temperature","integrated_x","integrated_x","integrated_xgyro","integrated_xgyro","integrated_y","integrated_y","integrated_ygyro","integrated_ygyro","integrated_zgyro","integrated_zgyro","integration_time_us","integration_time_us","interference","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","interval_us","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","iso","joint_az","joint_el","joint_roll","jpg_quality","key","lac","land","land_dir","landed_state","landed_state","landed_state","landing_lat","landing_lon","last_action","last_change_ms","last_clear","last_heartbeat","last_log_num","last_page_index","last_recovery","last_sequence","last_trigger","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat_camera","lat_image","lat_int","lat_int","latitude","latitude","latitude","latitude","latitude","latitude","latitude","len","len","len","len","len","len","len","len","length","length","length","lens_id","library_version_hash","limits_state","line_length","link_rx_max","link_rx_rate","link_tx_max","link_tx_rate","link_type","lng","lng","lng","lng","lng","lng","lng","load","load_current","loaded","log_levels","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon_camera","lon_image","lon_int","lon_int","longitude","longitude","longitude","longitude","longitude","longitude","longitude","mag_declination","mag_ofs_x","mag_ofs_x","mag_ofs_y","mag_ofs_y","mag_ofs_z","mag_ofs_z","mag_ratio","manual_override_switch","mask","mavlink_version","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","max1","max2","max3","max4","max5","max_distance","max_distance","max_distance","max_value","max_value","max_version","mcc","message_id","message_id","message_id_from_name","message_name","message_rate","message_type","messages","messages_lost","messages_received","messages_sent","middleware_custom_version","middleware_sw_version","min1","min2","min3","min4","min5","min_distance","min_distance","min_distance","min_value","min_value","min_version","mission_end","mission_next_item","mnc","mode","mode","mode","mode","mode_id","mode_switch","model_name","model_name","mods_enabled","mods_required","mods_triggered","mount_mode","msg_pack_size","name","name","name","name","name","name","name","nav_bearing","nav_mode","nav_pitch","nav_roll","navigational_status","new_pin","next_alt","next_lat","next_lon","noise","noise","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","nsats","nsats","numBands","numSats","num_ids","num_logs","obstacle_id","offdiag_x","offdiag_y","offdiag_z","offset","ofs","ofs","ofs_x","ofs_y","ofs_z","omega","omegaIx","omegaIy","omegaIz","omega_dot","on_off","onboard_control_sensors_enabled","onboard_control_sensors_health","onboard_control_sensors_present","operation","operator_altitude_geo","operator_altitude_geo","operator_id","operator_id_type","operator_latitude","operator_latitude","operator_location_type","operator_longitude","operator_longitude","orientation","os_custom_version","os_sw_version","osd_index","osd_index","osd_screen","osd_screen","p1","p1x","p1x","p1y","p1y","p1z","p1z","p2","p2x","p2x","p2y","p2y","p2z","p2z","p3","p4","packets","param1","param1","param1","param1","param2","param2","param2","param2","param3","param3","param3","param3","param4","param4","param4","param4","param5","param6","param7","param_count","param_count","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_index","param_index","param_index","param_index","param_index","param_result","param_type","param_type","param_type","param_type","param_type","param_value","param_value","param_value","param_value","param_value","param_value0","param_value_max","param_value_min","parameter_rc_channel_index","parse","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","passkey","password","path_lat","path_lon","pattern","payload","payload","payload","payload","payload_length","payload_type","pending","peripherals_metadata_file_crc","peripherals_metadata_uri","pin","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch_elevator","pitch_max","pitch_max","pitch_min","pitch_min","pitch_rate","pitch_rate","pitch_rate","pitchspeed","pitchspeed","pitchspeed","pitchspeed","pitchspeed","pitchspeed","point_x","point_y","pointing_a","pointing_b","pointing_c","port","port","port","pos_horiz_accuracy","pos_horiz_ratio","pos_horiz_variance","pos_variance","pos_vert_accuracy","pos_vert_ratio","pos_vert_variance","pos_x","pos_x","pos_y","pos_y","pos_yaw","pos_yaw","pos_z","pos_z","pose_covariance","position_cov","position_delta","power_generated","press_abs","press_abs","press_abs","press_abs","press_diff","press_diff","press_diff","press_diff1","press_diff2","pressure_alt","pressure_alt","primary_control_compid","primary_control_sysid","product_id","pt_compensation","puk","q","q","q","q","q","q","q","q","q","q","q","q","q","q","q1","q1","q2","q2","q3","q3","q4","q4","q_estimated_delay_us","quality","quality","quality","quality","r","radius","radius","ram_total","ram_usage","rates","ratio","raw_press","raw_temp","read_speed","reason","rec_bottom_x","rec_bottom_y","rec_top_x","rec_top_y","recording_time_ms","rectifier_temperature","regstart","regstart","regstart","relative_alt","relative_alt","relative_alt","relative_alt","remnoise","remnoise","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remrssi","remrssi","renorm_val","req_message_rate","req_stream_id","request_id","request_id","request_id","request_id","request_id","request_id","request_id","request_id","request_id","resolution_h","resolution_h","resolution_h","resolution_h","resolution_v","resolution_v","resolution_v","resolution_v","response","resting_minimum_voltage","result","result","result","result","result","rfHealth","rfSelect","ring_pending","rl_torque_cmd","roaming","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll_ailerons","roll_max","roll_max","roll_min","roll_min","roll_rate","rollspeed","rollspeed","rollspeed","rollspeed","rollspeed","rollspeed","rotation","rotation","rotation","rpm","rpm","rpm","rpm","rpm","rpm1","rpm2","rssi","rssi","rssi","rssi","rssi","rssi","rtk_health","rtk_health","rtk_rate","rtk_rate","rtk_receiver_id","rtk_receiver_id","runtime","rx_buf","rx_overflows","rx_parse_err","rx_rate","rx_session_pending","rxerrors","rxerrors","safe_return","satellite_azimuth","satellite_elevation","satellite_prn","satellite_snr","satellite_used","satellites_visible","satellites_visible","satellites_visible","satellites_visible","satellites_visible","save_position","scale","secondary_control_compid","secondary_control_sysid","secret_key","sensor_id","sensor_id","sensor_id","sensor_size_h","sensor_size_v","sensor_type","sensor_type","seq","seq","seq","seq","seq","seq","seq","seq","seq","seqno","seqno","seqnr","sequence","sequence","sequence","sequence","sequence","sequence","sequence_oldest_available","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","serial_number","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","servo1_raw","servo2_raw","servo3_raw","servo4_raw","servo5_raw","servo6_raw","servo7_raw","servo8_raw","session","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","severity","shot","shutter_speed","sigma","sigma_dot","signal_quality","single_message_size","size","size","size","size_x","size_y","spacing","spark_dwell_time","spec_version_hash","speed","speed","speed_accuracy","speed_accuracy","speed_horizontal","speed_vertical","speed_z","squawk","squawk","src","ssid","stab_pitch","stab_roll","stab_yaw","stage","stallSpeed","start","start_index","start_index","start_stop","state","state","state_x","state_y","state_z","status","status","status","status","status","status","status","status","status","status","status","status","std_dev_horz","std_dev_vert","storage","storage_count","storage_id","storage_total","storage_type","storage_usage","stream_id","stream_id","stream_id","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_mode","successful_sessions","sw_vcs_commit","sw_version_major","sw_version_minor","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","system_status","takeoff_time_utc","target","target_altitude","target_bearing","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_data","target_distance","target_heading","target_network","target_network","target_num","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","tas_ratio","tc1","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature_air","temperature_air","temperature_board","temperature_core","tension","terrain_alt_variance","terrain_height","text","theta","theta_dot","threat_level","throttle","throttle","throttle","throttle","throttle","throttle_out","throttle_position","thrust","thrust","thrust","time","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_us","time_delta_distance_us","time_delta_distance_us","time_delta_usec","time_last_baseline_ms","time_last_baseline_ms","time_to_minimum_delta","time_unix_usec","time_until_maintenance","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_utc","time_utc","time_week","time_week_ms","timeout","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp_accuracy","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","total_capacity","totalcurrent","totalcurrent","totalcurrent","tow","tow","tracking_mode","tracking_status","tracking_status","transfer_type","true_airspeed","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ts1","tslc","tslc","tune","tune","turn_rate","tx_buf","tx_overflows","tx_rate","tx_session_pending","txbuf","txbuf","type1","type2","type3","type4","type5","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_mask","type_mask","type_mask","type_mask","type_mask","type_mask","u","ua_type","uas_id","uas_id","uid","uid","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","update_rate","uptime","uptime_sec","uptime_sec","uri","uri","uri","uri","uri_type","usec","usec","usec","usec","used_capacity","utcTime","v1","v2","v3","v4","v_acc","v_acc","v_estimated_delay_us","valid_points","valid_points","value","value","value","value","value","value","var_horiz","var_vert","vd","vd","vd","vdop","ve","ve","ve","vel","vel","vel","vel","velNS","velVert","vel_acc","vel_acc","vel_d","vel_e","vel_n","vel_ratio","vel_variance","vel_x","vel_y","vel_yaw","vel_z","velocity","velocity_covariance","velocity_variance","vendor_id","vendor_name","vendor_name","vendor_specific_status_code","ver","ver_velocity","version","version","vert_accuracy","vert_accuracy","vertical_accuracy","vfov","vibration_x","vibration_y","vibration_z","video_status","vn","vn","vn","voltage","voltage","voltage","voltage","voltage","voltage","voltage","voltage_battery","voltages","vtol_state","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","weight","width","wind_alt","wind_heading","wind_x","wind_y","wind_z","windspeed","wn","wn","wp_dist","wp_distance","wp_num","wp_num","write_speed","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x_acc","x_pos","x_vel","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xmag","xmag","xmag","xmag","xmag","xmag","xtrack_error","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y_acc","y_pos","y_vel","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw_max","yaw_max","yaw_min","yaw_min","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rudder","yawspeed","yawspeed","yawspeed","yawspeed","yawspeed","yawspeed","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ymag","ymag","ymag","ymag","ymag","ymag","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z_acc","z_pos","z_vel","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zmag","zmag","zmag","zmag","zmag","zmag","zoom_pos","zoom_step","Bytes","borrow","borrow_mut","from","get_array","get_bytes","get_f32_le","get_f64_le","get_i16_le","get_i24_le","get_i32_le","get_i64_le","get_i8","get_u16_le","get_u24_le","get_u32_le","get_u64_le","get_u8","into","new","remaining_bytes","try_from","try_into","type_id","BytesMut","borrow","borrow_mut","from","into","is_empty","len","new","put_f32_le","put_f64_le","put_i16_le","put_i24_le","put_i32_le","put_i64_le","put_i8","put_slice","put_u16_le","put_u24_le","put_u32_le","put_u64_le","put_u8","remaining","try_from","try_into","type_id","ACTUATOR_CONFIGURATION_3D_MODE_OFF","ACTUATOR_CONFIGURATION_3D_MODE_ON","ACTUATOR_CONFIGURATION_BEEP","ACTUATOR_CONFIGURATION_NONE","ACTUATOR_CONFIGURATION_SPIN_DIRECTION1","ACTUATOR_CONFIGURATION_SPIN_DIRECTION2","ACTUATOR_CONTROL_TARGET","ACTUATOR_CONTROL_TARGET_DATA","ACTUATOR_OUTPUT_FUNCTION_MOTOR1","ACTUATOR_OUTPUT_FUNCTION_MOTOR10","ACTUATOR_OUTPUT_FUNCTION_MOTOR11","ACTUATOR_OUTPUT_FUNCTION_MOTOR12","ACTUATOR_OUTPUT_FUNCTION_MOTOR13","ACTUATOR_OUTPUT_FUNCTION_MOTOR14","ACTUATOR_OUTPUT_FUNCTION_MOTOR15","ACTUATOR_OUTPUT_FUNCTION_MOTOR16","ACTUATOR_OUTPUT_FUNCTION_MOTOR2","ACTUATOR_OUTPUT_FUNCTION_MOTOR3","ACTUATOR_OUTPUT_FUNCTION_MOTOR4","ACTUATOR_OUTPUT_FUNCTION_MOTOR5","ACTUATOR_OUTPUT_FUNCTION_MOTOR6","ACTUATOR_OUTPUT_FUNCTION_MOTOR7","ACTUATOR_OUTPUT_FUNCTION_MOTOR8","ACTUATOR_OUTPUT_FUNCTION_MOTOR9","ACTUATOR_OUTPUT_FUNCTION_NONE","ACTUATOR_OUTPUT_FUNCTION_SERVO1","ACTUATOR_OUTPUT_FUNCTION_SERVO10","ACTUATOR_OUTPUT_FUNCTION_SERVO11","ACTUATOR_OUTPUT_FUNCTION_SERVO12","ACTUATOR_OUTPUT_FUNCTION_SERVO13","ACTUATOR_OUTPUT_FUNCTION_SERVO14","ACTUATOR_OUTPUT_FUNCTION_SERVO15","ACTUATOR_OUTPUT_FUNCTION_SERVO16","ACTUATOR_OUTPUT_FUNCTION_SERVO2","ACTUATOR_OUTPUT_FUNCTION_SERVO3","ACTUATOR_OUTPUT_FUNCTION_SERVO4","ACTUATOR_OUTPUT_FUNCTION_SERVO5","ACTUATOR_OUTPUT_FUNCTION_SERVO6","ACTUATOR_OUTPUT_FUNCTION_SERVO7","ACTUATOR_OUTPUT_FUNCTION_SERVO8","ACTUATOR_OUTPUT_FUNCTION_SERVO9","ACTUATOR_OUTPUT_STATUS","ACTUATOR_OUTPUT_STATUS_DATA","ADSB_ALTITUDE_TYPE_GEOMETRIC","ADSB_ALTITUDE_TYPE_PRESSURE_QNH","ADSB_EMITTER_TYPE_EMERGENCY_SURFACE","ADSB_EMITTER_TYPE_GLIDER","ADSB_EMITTER_TYPE_HEAVY","ADSB_EMITTER_TYPE_HIGHLY_MANUV","ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE","ADSB_EMITTER_TYPE_LARGE","ADSB_EMITTER_TYPE_LIGHT","ADSB_EMITTER_TYPE_LIGHTER_AIR","ADSB_EMITTER_TYPE_NO_INFO","ADSB_EMITTER_TYPE_PARACHUTE","ADSB_EMITTER_TYPE_POINT_OBSTACLE","ADSB_EMITTER_TYPE_ROTOCRAFT","ADSB_EMITTER_TYPE_SERVICE_SURFACE","ADSB_EMITTER_TYPE_SMALL","ADSB_EMITTER_TYPE_SPACE","ADSB_EMITTER_TYPE_UAV","ADSB_EMITTER_TYPE_ULTRA_LIGHT","ADSB_EMITTER_TYPE_UNASSGINED3","ADSB_EMITTER_TYPE_UNASSIGNED","ADSB_EMITTER_TYPE_UNASSIGNED2","ADSB_FLAGS_BARO_VALID","ADSB_FLAGS_SIMULATED","ADSB_FLAGS_SOURCE_UAT","ADSB_FLAGS_VALID_ALTITUDE","ADSB_FLAGS_VALID_CALLSIGN","ADSB_FLAGS_VALID_COORDS","ADSB_FLAGS_VALID_HEADING","ADSB_FLAGS_VALID_SQUAWK","ADSB_FLAGS_VALID_VELOCITY","ADSB_FLAGS_VERTICAL_VELOCITY_VALID","ADSB_VEHICLE","ADSB_VEHICLE_DATA","AIS_FLAGS_HIGH_VELOCITY","AIS_FLAGS_LARGE_BOW_DIMENSION","AIS_FLAGS_LARGE_PORT_DIMENSION","AIS_FLAGS_LARGE_STARBOARD_DIMENSION","AIS_FLAGS_LARGE_STERN_DIMENSION","AIS_FLAGS_POSITION_ACCURACY","AIS_FLAGS_TURN_RATE_SIGN_ONLY","AIS_FLAGS_VALID_CALLSIGN","AIS_FLAGS_VALID_COG","AIS_FLAGS_VALID_DIMENSIONS","AIS_FLAGS_VALID_NAME","AIS_FLAGS_VALID_TURN_RATE","AIS_FLAGS_VALID_VELOCITY","AIS_NAV_AGROUND","AIS_NAV_AIS_SART","AIS_NAV_ANCHORED","AIS_NAV_DRAUGHT_CONSTRAINED","AIS_NAV_FISHING","AIS_NAV_MOORED","AIS_NAV_RESERVED_1","AIS_NAV_RESERVED_2","AIS_NAV_RESERVED_3","AIS_NAV_RESERVED_HSC","AIS_NAV_RESERVED_WIG","AIS_NAV_RESTRICTED_MANOEUVERABILITY","AIS_NAV_SAILING","AIS_NAV_UNKNOWN","AIS_NAV_UN_COMMANDED","AIS_TYPE_ANTI_POLLUTION","AIS_TYPE_CARGO","AIS_TYPE_CARGO_HAZARDOUS_A","AIS_TYPE_CARGO_HAZARDOUS_B","AIS_TYPE_CARGO_HAZARDOUS_C","AIS_TYPE_CARGO_HAZARDOUS_D","AIS_TYPE_CARGO_RESERVED_1","AIS_TYPE_CARGO_RESERVED_2","AIS_TYPE_CARGO_RESERVED_3","AIS_TYPE_CARGO_RESERVED_4","AIS_TYPE_CARGO_UNKNOWN","AIS_TYPE_DIVING","AIS_TYPE_DREDGING","AIS_TYPE_FISHING","AIS_TYPE_HSC","AIS_TYPE_HSC_HAZARDOUS_A","AIS_TYPE_HSC_HAZARDOUS_B","AIS_TYPE_HSC_HAZARDOUS_C","AIS_TYPE_HSC_HAZARDOUS_D","AIS_TYPE_HSC_RESERVED_1","AIS_TYPE_HSC_RESERVED_2","AIS_TYPE_HSC_RESERVED_3","AIS_TYPE_HSC_RESERVED_4","AIS_TYPE_HSC_UNKNOWN","AIS_TYPE_LAW_ENFORCEMENT","AIS_TYPE_MEDICAL_TRANSPORT","AIS_TYPE_MILITARY","AIS_TYPE_NONECOMBATANT","AIS_TYPE_OTHER","AIS_TYPE_OTHER_HAZARDOUS_A","AIS_TYPE_OTHER_HAZARDOUS_B","AIS_TYPE_OTHER_HAZARDOUS_C","AIS_TYPE_OTHER_HAZARDOUS_D","AIS_TYPE_OTHER_RESERVED_1","AIS_TYPE_OTHER_RESERVED_2","AIS_TYPE_OTHER_RESERVED_3","AIS_TYPE_OTHER_RESERVED_4","AIS_TYPE_OTHER_UNKNOWN","AIS_TYPE_PASSENGER","AIS_TYPE_PASSENGER_HAZARDOUS_A","AIS_TYPE_PASSENGER_HAZARDOUS_B","AIS_TYPE_PASSENGER_HAZARDOUS_C","AIS_TYPE_PASSENGER_HAZARDOUS_D","AIS_TYPE_PASSENGER_RESERVED_1","AIS_TYPE_PASSENGER_RESERVED_2","AIS_TYPE_PASSENGER_RESERVED_3","AIS_TYPE_PASSENGER_RESERVED_4","AIS_TYPE_PASSENGER_UNKNOWN","AIS_TYPE_PILOT","AIS_TYPE_PLEASURE","AIS_TYPE_PORT_TENDER","AIS_TYPE_RESERVED_1","AIS_TYPE_RESERVED_10","AIS_TYPE_RESERVED_11","AIS_TYPE_RESERVED_12","AIS_TYPE_RESERVED_13","AIS_TYPE_RESERVED_14","AIS_TYPE_RESERVED_15","AIS_TYPE_RESERVED_16","AIS_TYPE_RESERVED_17","AIS_TYPE_RESERVED_18","AIS_TYPE_RESERVED_19","AIS_TYPE_RESERVED_2","AIS_TYPE_RESERVED_20","AIS_TYPE_RESERVED_21","AIS_TYPE_RESERVED_3","AIS_TYPE_RESERVED_4","AIS_TYPE_RESERVED_5","AIS_TYPE_RESERVED_6","AIS_TYPE_RESERVED_7","AIS_TYPE_RESERVED_8","AIS_TYPE_RESERVED_9","AIS_TYPE_SAILING","AIS_TYPE_SAR","AIS_TYPE_SPARE_LOCAL_1","AIS_TYPE_SPARE_LOCAL_2","AIS_TYPE_TANKER","AIS_TYPE_TANKER_HAZARDOUS_A","AIS_TYPE_TANKER_HAZARDOUS_B","AIS_TYPE_TANKER_HAZARDOUS_C","AIS_TYPE_TANKER_HAZARDOUS_D","AIS_TYPE_TANKER_RESERVED_1","AIS_TYPE_TANKER_RESERVED_2","AIS_TYPE_TANKER_RESERVED_3","AIS_TYPE_TANKER_RESERVED_4","AIS_TYPE_TANKER_UNKNOWN","AIS_TYPE_TOWING","AIS_TYPE_TOWING_LARGE","AIS_TYPE_TUG","AIS_TYPE_UNKNOWN","AIS_TYPE_WIG","AIS_TYPE_WIG_HAZARDOUS_A","AIS_TYPE_WIG_HAZARDOUS_B","AIS_TYPE_WIG_HAZARDOUS_C","AIS_TYPE_WIG_HAZARDOUS_D","AIS_TYPE_WIG_RESERVED_1","AIS_TYPE_WIG_RESERVED_2","AIS_TYPE_WIG_RESERVED_3","AIS_TYPE_WIG_RESERVED_4","AIS_TYPE_WIG_RESERVED_5","AIS_VESSEL","AIS_VESSEL_DATA","ALTITUDE","ALTITUDE_DATA","ATTITUDE","ATTITUDE_DATA","ATTITUDE_QUATERNION","ATTITUDE_QUATERNION_COV","ATTITUDE_QUATERNION_COV_DATA","ATTITUDE_QUATERNION_DATA","ATTITUDE_TARGET","ATTITUDE_TARGET_DATA","ATTITUDE_TARGET_TYPEMASK_ATTITUDE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_PITCH_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_YAW_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_THROTTLE_IGNORE","ATTITUDE_TARGET_TYPEMASK_THRUST_BODY_SET","ATT_POS_MOCAP","ATT_POS_MOCAP_DATA","AUTH_KEY","AUTH_KEY_DATA","AUTOPILOT_STATE_FOR_GIMBAL_DEVICE","AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA","AUTOPILOT_VERSION","AUTOPILOT_VERSION_DATA","AUTOTUNE_AXIS_DEFAULT","AUTOTUNE_AXIS_PITCH","AUTOTUNE_AXIS_ROLL","AUTOTUNE_AXIS_YAW","ActuatorConfiguration","ActuatorOutputFunction","AdsbAltitudeType","AdsbEmitterType","AdsbFlags","AisFlags","AisNavStatus","AisType","AttitudeTargetTypemask","AutotuneAxis","BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION","BATTERY_STATUS","BATTERY_STATUS_DATA","BUTTON_CHANGE","BUTTON_CHANGE_DATA","CAMERA_CAPTURE_STATUS","CAMERA_CAPTURE_STATUS_DATA","CAMERA_CAP_FLAGS_CAN_CAPTURE_IMAGE_IN_VIDEO_MODE","CAMERA_CAP_FLAGS_CAN_CAPTURE_VIDEO_IN_IMAGE_MODE","CAMERA_CAP_FLAGS_CAPTURE_IMAGE","CAMERA_CAP_FLAGS_CAPTURE_VIDEO","CAMERA_CAP_FLAGS_HAS_BASIC_FOCUS","CAMERA_CAP_FLAGS_HAS_BASIC_ZOOM","CAMERA_CAP_FLAGS_HAS_IMAGE_SURVEY_MODE","CAMERA_CAP_FLAGS_HAS_MODES","CAMERA_CAP_FLAGS_HAS_TRACKING_GEO_STATUS","CAMERA_CAP_FLAGS_HAS_TRACKING_POINT","CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE","CAMERA_CAP_FLAGS_HAS_VIDEO_STREAM","CAMERA_FOV_STATUS","CAMERA_FOV_STATUS_DATA","CAMERA_IMAGE_CAPTURED","CAMERA_IMAGE_CAPTURED_DATA","CAMERA_INFORMATION","CAMERA_INFORMATION_DATA","CAMERA_MODE_IMAGE","CAMERA_MODE_IMAGE_SURVEY","CAMERA_MODE_VIDEO","CAMERA_SETTINGS","CAMERA_SETTINGS_DATA","CAMERA_TRACKING_GEO_STATUS","CAMERA_TRACKING_GEO_STATUS_DATA","CAMERA_TRACKING_IMAGE_STATUS","CAMERA_TRACKING_IMAGE_STATUS_DATA","CAMERA_TRACKING_MODE_NONE","CAMERA_TRACKING_MODE_POINT","CAMERA_TRACKING_MODE_RECTANGLE","CAMERA_TRACKING_STATUS_FLAGS_ACTIVE","CAMERA_TRACKING_STATUS_FLAGS_ERROR","CAMERA_TRACKING_STATUS_FLAGS_IDLE","CAMERA_TRACKING_TARGET_DATA_EMBEDDED","CAMERA_TRACKING_TARGET_DATA_IN_STATUS","CAMERA_TRACKING_TARGET_DATA_NONE","CAMERA_TRACKING_TARGET_DATA_RENDERED","CAMERA_TRIGGER","CAMERA_TRIGGER_DATA","CANFD_FRAME","CANFD_FRAME_DATA","CAN_FILTER_ADD","CAN_FILTER_MODIFY","CAN_FILTER_MODIFY_DATA","CAN_FILTER_REMOVE","CAN_FILTER_REPLACE","CAN_FRAME","CAN_FRAME_DATA","CELLULAR_CONFIG","CELLULAR_CONFIG_BLOCKED_PUK_REQUIRED","CELLULAR_CONFIG_DATA","CELLULAR_CONFIG_RESPONSE_ACCEPTED","CELLULAR_CONFIG_RESPONSE_APN_ERROR","CELLULAR_CONFIG_RESPONSE_PIN_ERROR","CELLULAR_CONFIG_RESPONSE_REJECTED","CELLULAR_NETWORK_FAILED_REASON_NONE","CELLULAR_NETWORK_FAILED_REASON_SIM_ERROR","CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING","CELLULAR_NETWORK_FAILED_REASON_UNKNOWN","CELLULAR_NETWORK_RADIO_TYPE_CDMA","CELLULAR_NETWORK_RADIO_TYPE_GSM","CELLULAR_NETWORK_RADIO_TYPE_LTE","CELLULAR_NETWORK_RADIO_TYPE_NONE","CELLULAR_NETWORK_RADIO_TYPE_WCDMA","CELLULAR_STATUS","CELLULAR_STATUS_DATA","CELLULAR_STATUS_FLAG_CONNECTED","CELLULAR_STATUS_FLAG_CONNECTING","CELLULAR_STATUS_FLAG_DISABLED","CELLULAR_STATUS_FLAG_DISABLING","CELLULAR_STATUS_FLAG_DISCONNECTING","CELLULAR_STATUS_FLAG_ENABLED","CELLULAR_STATUS_FLAG_ENABLING","CELLULAR_STATUS_FLAG_FAILED","CELLULAR_STATUS_FLAG_INITIALIZING","CELLULAR_STATUS_FLAG_LOCKED","CELLULAR_STATUS_FLAG_REGISTERED","CELLULAR_STATUS_FLAG_SEARCHING","CELLULAR_STATUS_FLAG_UNKNOWN","CHANGE_OPERATOR_CONTROL","CHANGE_OPERATOR_CONTROL_ACK","CHANGE_OPERATOR_CONTROL_ACK_DATA","CHANGE_OPERATOR_CONTROL_DATA","COG","COLLISION","COLLISION_DATA","COMMAND_ACK","COMMAND_ACK_DATA","COMMAND_CANCEL","COMMAND_CANCEL_DATA","COMMAND_INT","COMMAND_INT_DATA","COMMAND_LONG","COMMAND_LONG_DATA","COMPONENT_INFORMATION","COMPONENT_INFORMATION_DATA","COMPONENT_METADATA","COMPONENT_METADATA_DATA","COMP_METADATA_TYPE_ACTUATORS","COMP_METADATA_TYPE_COMMANDS","COMP_METADATA_TYPE_EVENTS","COMP_METADATA_TYPE_GENERAL","COMP_METADATA_TYPE_PARAMETER","COMP_METADATA_TYPE_PERIPHERALS","CONTROL_SYSTEM_STATE","CONTROL_SYSTEM_STATE_DATA","CURRENT_EVENT_SEQUENCE","CURRENT_EVENT_SEQUENCE_DATA","CameraCapFlags","CameraMode","CameraTrackingMode","CameraTrackingStatusFlags","CameraTrackingTargetData","CameraZoomType","CanFilterOp","CellularConfigResponse","CellularNetworkFailedReason","CellularNetworkRadioType","CellularStatusFlag","CompMetadataType","DATA_STREAM","DATA_STREAM_DATA","DATA_TRANSMISSION_HANDSHAKE","DATA_TRANSMISSION_HANDSHAKE_DATA","DEBUG","DEBUG_DATA","DEBUG_FLOAT_ARRAY","DEBUG_FLOAT_ARRAY_DATA","DEBUG_VECT","DEBUG_VECT_DATA","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DISTANCE_SENSOR","DISTANCE_SENSOR_DATA","EFI_STATUS","EFI_STATUS_DATA","ENCAPSULATED_DATA","ENCAPSULATED_DATA_DATA","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ESC_CONNECTION_TYPE_CAN","ESC_CONNECTION_TYPE_DSHOT","ESC_CONNECTION_TYPE_I2C","ESC_CONNECTION_TYPE_ONESHOT","ESC_CONNECTION_TYPE_PPM","ESC_CONNECTION_TYPE_SERIAL","ESC_FAILURE_GENERIC","ESC_FAILURE_INCONSISTENT_CMD","ESC_FAILURE_MOTOR_STUCK","ESC_FAILURE_NONE","ESC_FAILURE_OVER_CURRENT","ESC_FAILURE_OVER_RPM","ESC_FAILURE_OVER_TEMPERATURE","ESC_FAILURE_OVER_VOLTAGE","ESC_INFO","ESC_INFO_DATA","ESC_STATUS","ESC_STATUS_DATA","ESTIMATOR_ACCEL_ERROR","ESTIMATOR_ATTITUDE","ESTIMATOR_CONST_POS_MODE","ESTIMATOR_GPS_GLITCH","ESTIMATOR_POS_HORIZ_ABS","ESTIMATOR_POS_HORIZ_REL","ESTIMATOR_POS_VERT_ABS","ESTIMATOR_POS_VERT_AGL","ESTIMATOR_PRED_POS_HORIZ_ABS","ESTIMATOR_PRED_POS_HORIZ_REL","ESTIMATOR_STATUS","ESTIMATOR_STATUS_DATA","ESTIMATOR_VELOCITY_HORIZ","ESTIMATOR_VELOCITY_VERT","EVENT","EVENT_DATA","EXTENDED_SYS_STATE","EXTENDED_SYS_STATE_DATA","EscConnectionType","EscFailureFlags","EstimatorStatusFlags","FAILURE_TYPE_DELAYED","FAILURE_TYPE_GARBAGE","FAILURE_TYPE_INTERMITTENT","FAILURE_TYPE_OFF","FAILURE_TYPE_OK","FAILURE_TYPE_SLOW","FAILURE_TYPE_STUCK","FAILURE_TYPE_WRONG","FAILURE_UNIT_SENSOR_ACCEL","FAILURE_UNIT_SENSOR_AIRSPEED","FAILURE_UNIT_SENSOR_BARO","FAILURE_UNIT_SENSOR_DISTANCE_SENSOR","FAILURE_UNIT_SENSOR_GPS","FAILURE_UNIT_SENSOR_GYRO","FAILURE_UNIT_SENSOR_MAG","FAILURE_UNIT_SENSOR_OPTICAL_FLOW","FAILURE_UNIT_SENSOR_VIO","FAILURE_UNIT_SYSTEM_AVOIDANCE","FAILURE_UNIT_SYSTEM_BATTERY","FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL","FAILURE_UNIT_SYSTEM_MOTOR","FAILURE_UNIT_SYSTEM_RC_SIGNAL","FAILURE_UNIT_SYSTEM_SERVO","FENCE_ACTION_GUIDED","FENCE_ACTION_GUIDED_THR_PASS","FENCE_ACTION_HOLD","FENCE_ACTION_LAND","FENCE_ACTION_NONE","FENCE_ACTION_REPORT","FENCE_ACTION_RTL","FENCE_ACTION_TERMINATE","FENCE_BREACH_BOUNDARY","FENCE_BREACH_MAXALT","FENCE_BREACH_MINALT","FENCE_BREACH_NONE","FENCE_MITIGATE_NONE","FENCE_MITIGATE_UNKNOWN","FENCE_MITIGATE_VEL_LIMIT","FENCE_STATUS","FENCE_STATUS_DATA","FILE_TRANSFER_PROTOCOL","FILE_TRANSFER_PROTOCOL_DATA","FIRMWARE_VERSION_TYPE_ALPHA","FIRMWARE_VERSION_TYPE_BETA","FIRMWARE_VERSION_TYPE_DEV","FIRMWARE_VERSION_TYPE_OFFICIAL","FIRMWARE_VERSION_TYPE_RC","FLIGHT_INFORMATION","FLIGHT_INFORMATION_DATA","FOCUS_TYPE_AUTO","FOCUS_TYPE_AUTO_CONTINUOUS","FOCUS_TYPE_AUTO_SINGLE","FOCUS_TYPE_CONTINUOUS","FOCUS_TYPE_METERS","FOCUS_TYPE_RANGE","FOCUS_TYPE_STEP","FOLLOW_TARGET","FOLLOW_TARGET_DATA","FailureType","FailureUnit","FenceAction","FenceBreach","FenceMitigate","FirmwareVersionType","GENERATOR_STATUS","GENERATOR_STATUS_DATA","GIMBAL_DEVICE_ATTITUDE_STATUS","GIMBAL_DEVICE_ATTITUDE_STATUS_DATA","GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK","GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS","GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK","GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW","GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_ERROR_FLAGS_AT_PITCH_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_AT_YAW_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING","GIMBAL_DEVICE_ERROR_FLAGS_COMMS_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_ENCODER_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_MOTOR_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_NO_MANAGER","GIMBAL_DEVICE_ERROR_FLAGS_POWER_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_SOFTWARE_ERROR","GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_FLAGS_NEUTRAL","GIMBAL_DEVICE_FLAGS_PITCH_LOCK","GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE","GIMBAL_DEVICE_FLAGS_RC_MIXED","GIMBAL_DEVICE_FLAGS_RETRACT","GIMBAL_DEVICE_FLAGS_ROLL_LOCK","GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME","GIMBAL_DEVICE_FLAGS_YAW_LOCK","GIMBAL_DEVICE_INFORMATION","GIMBAL_DEVICE_INFORMATION_DATA","GIMBAL_DEVICE_SET_ATTITUDE","GIMBAL_DEVICE_SET_ATTITUDE_DATA","GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_GLOBAL","GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_LOCAL","GIMBAL_MANAGER_CAP_FLAGS_HAS_NEUTRAL","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_LOCK","GIMBAL_MANAGER_CAP_FLAGS_HAS_RC_INPUTS","GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_LOCK","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_LOCK","GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_INFINITE_YAW","GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_NEUTRAL","GIMBAL_MANAGER_FLAGS_PITCH_LOCK","GIMBAL_MANAGER_FLAGS_RC_EXCLUSIVE","GIMBAL_MANAGER_FLAGS_RC_MIXED","GIMBAL_MANAGER_FLAGS_RETRACT","GIMBAL_MANAGER_FLAGS_ROLL_LOCK","GIMBAL_MANAGER_FLAGS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_YAW_IN_VEHICLE_FRAME","GIMBAL_MANAGER_FLAGS_YAW_LOCK","GIMBAL_MANAGER_INFORMATION","GIMBAL_MANAGER_INFORMATION_DATA","GIMBAL_MANAGER_SET_ATTITUDE","GIMBAL_MANAGER_SET_ATTITUDE_DATA","GIMBAL_MANAGER_SET_MANUAL_CONTROL","GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA","GIMBAL_MANAGER_SET_PITCHYAW","GIMBAL_MANAGER_SET_PITCHYAW_DATA","GIMBAL_MANAGER_STATUS","GIMBAL_MANAGER_STATUS_DATA","GLOBAL_POSITION_INT","GLOBAL_POSITION_INT_COV","GLOBAL_POSITION_INT_COV_DATA","GLOBAL_POSITION_INT_DATA","GLOBAL_VISION_POSITION_ESTIMATE","GLOBAL_VISION_POSITION_ESTIMATE_DATA","GPS2_RAW","GPS2_RAW_DATA","GPS2_RTK","GPS2_RTK_DATA","GPS_FIX_TYPE_2D_FIX","GPS_FIX_TYPE_3D_FIX","GPS_FIX_TYPE_DGPS","GPS_FIX_TYPE_NO_FIX","GPS_FIX_TYPE_NO_GPS","GPS_FIX_TYPE_PPP","GPS_FIX_TYPE_RTK_FIXED","GPS_FIX_TYPE_RTK_FLOAT","GPS_FIX_TYPE_STATIC","GPS_GLOBAL_ORIGIN","GPS_GLOBAL_ORIGIN_DATA","GPS_INJECT_DATA","GPS_INJECT_DATA_DATA","GPS_INPUT","GPS_INPUT_DATA","GPS_INPUT_IGNORE_FLAG_ALT","GPS_INPUT_IGNORE_FLAG_HDOP","GPS_INPUT_IGNORE_FLAG_HORIZONTAL_ACCURACY","GPS_INPUT_IGNORE_FLAG_SPEED_ACCURACY","GPS_INPUT_IGNORE_FLAG_VDOP","GPS_INPUT_IGNORE_FLAG_VEL_HORIZ","GPS_INPUT_IGNORE_FLAG_VEL_VERT","GPS_INPUT_IGNORE_FLAG_VERTICAL_ACCURACY","GPS_RAW_INT","GPS_RAW_INT_DATA","GPS_RTCM_DATA","GPS_RTCM_DATA_DATA","GPS_RTK","GPS_RTK_DATA","GPS_STATUS","GPS_STATUS_DATA","GRIPPER_ACTION_GRAB","GRIPPER_ACTION_RELEASE","GimbalDeviceCapFlags","GimbalDeviceErrorFlags","GimbalDeviceFlags","GimbalManagerCapFlags","GimbalManagerFlags","GpsFixType","GpsInputIgnoreFlags","GripperActions","HEARTBEAT","HEARTBEAT_DATA","HIGHRES_IMU","HIGHRES_IMU_DATA","HIGHRES_IMU_UPDATED_ABS_PRESSURE","HIGHRES_IMU_UPDATED_ALL","HIGHRES_IMU_UPDATED_DIFF_PRESSURE","HIGHRES_IMU_UPDATED_NONE","HIGHRES_IMU_UPDATED_PRESSURE_ALT","HIGHRES_IMU_UPDATED_TEMPERATURE","HIGHRES_IMU_UPDATED_XACC","HIGHRES_IMU_UPDATED_XGYRO","HIGHRES_IMU_UPDATED_XMAG","HIGHRES_IMU_UPDATED_YACC","HIGHRES_IMU_UPDATED_YGYRO","HIGHRES_IMU_UPDATED_YMAG","HIGHRES_IMU_UPDATED_ZACC","HIGHRES_IMU_UPDATED_ZGYRO","HIGHRES_IMU_UPDATED_ZMAG","HIGH_LATENCY","HIGH_LATENCY2","HIGH_LATENCY2_DATA","HIGH_LATENCY_DATA","HIL_ACTUATOR_CONTROLS","HIL_ACTUATOR_CONTROLS_DATA","HIL_CONTROLS","HIL_CONTROLS_DATA","HIL_GPS","HIL_GPS_DATA","HIL_OPTICAL_FLOW","HIL_OPTICAL_FLOW_DATA","HIL_RC_INPUTS_RAW","HIL_RC_INPUTS_RAW_DATA","HIL_SENSOR","HIL_SENSOR_DATA","HIL_SENSOR_UPDATED_ABS_PRESSURE","HIL_SENSOR_UPDATED_DIFF_PRESSURE","HIL_SENSOR_UPDATED_NONE","HIL_SENSOR_UPDATED_PRESSURE_ALT","HIL_SENSOR_UPDATED_RESET","HIL_SENSOR_UPDATED_TEMPERATURE","HIL_SENSOR_UPDATED_XACC","HIL_SENSOR_UPDATED_XGYRO","HIL_SENSOR_UPDATED_XMAG","HIL_SENSOR_UPDATED_YACC","HIL_SENSOR_UPDATED_YGYRO","HIL_SENSOR_UPDATED_YMAG","HIL_SENSOR_UPDATED_ZACC","HIL_SENSOR_UPDATED_ZGYRO","HIL_SENSOR_UPDATED_ZMAG","HIL_STATE","HIL_STATE_DATA","HIL_STATE_QUATERNION","HIL_STATE_QUATERNION_DATA","HL_FAILURE_FLAG_3D_ACCEL","HL_FAILURE_FLAG_3D_GYRO","HL_FAILURE_FLAG_3D_MAG","HL_FAILURE_FLAG_ABSOLUTE_PRESSURE","HL_FAILURE_FLAG_BATTERY","HL_FAILURE_FLAG_DIFFERENTIAL_PRESSURE","HL_FAILURE_FLAG_ENGINE","HL_FAILURE_FLAG_ESTIMATOR","HL_FAILURE_FLAG_GEOFENCE","HL_FAILURE_FLAG_GPS","HL_FAILURE_FLAG_MISSION","HL_FAILURE_FLAG_OFFBOARD_LINK","HL_FAILURE_FLAG_RC_RECEIVER","HL_FAILURE_FLAG_TERRAIN","HOME_POSITION","HOME_POSITION_DATA","HYGROMETER_SENSOR","HYGROMETER_SENSOR_DATA","HighresImuUpdatedFlags","HilSensorUpdatedFlags","HlFailureFlag","ICAO_address","ISBD_LINK_STATUS","ISBD_LINK_STATUS_DATA","LANDING_TARGET","LANDING_TARGET_DATA","LANDING_TARGET_TYPE_LIGHT_BEACON","LANDING_TARGET_TYPE_RADIO_BEACON","LANDING_TARGET_TYPE_VISION_FIDUCIAL","LANDING_TARGET_TYPE_VISION_OTHER","LINK_NODE_STATUS","LINK_NODE_STATUS_DATA","LOCAL_POSITION_NED","LOCAL_POSITION_NED_COV","LOCAL_POSITION_NED_COV_DATA","LOCAL_POSITION_NED_DATA","LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET","LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA","LOGGING_ACK","LOGGING_ACK_DATA","LOGGING_DATA","LOGGING_DATA_ACKED","LOGGING_DATA_ACKED_DATA","LOGGING_DATA_DATA","LOG_DATA","LOG_DATA_DATA","LOG_ENTRY","LOG_ENTRY_DATA","LOG_ERASE","LOG_ERASE_DATA","LOG_REQUEST_DATA","LOG_REQUEST_DATA_DATA","LOG_REQUEST_END","LOG_REQUEST_END_DATA","LOG_REQUEST_LIST","LOG_REQUEST_LIST_DATA","LandingTargetType","MAG_CAL_BAD_ORIENTATION","MAG_CAL_BAD_RADIUS","MAG_CAL_FAILED","MAG_CAL_NOT_STARTED","MAG_CAL_REPORT","MAG_CAL_REPORT_DATA","MAG_CAL_RUNNING_STEP_ONE","MAG_CAL_RUNNING_STEP_TWO","MAG_CAL_SUCCESS","MAG_CAL_WAITING_TO_START","MANUAL_CONTROL","MANUAL_CONTROL_DATA","MANUAL_SETPOINT","MANUAL_SETPOINT_DATA","MAVLINK_DATA_STREAM_IMG_BMP","MAVLINK_DATA_STREAM_IMG_JPEG","MAVLINK_DATA_STREAM_IMG_PGM","MAVLINK_DATA_STREAM_IMG_PNG","MAVLINK_DATA_STREAM_IMG_RAW32U","MAVLINK_DATA_STREAM_IMG_RAW8U","MAV_ARM_AUTH_DENIED_REASON_AIRSPACE_IN_USE","MAV_ARM_AUTH_DENIED_REASON_BAD_WEATHER","MAV_ARM_AUTH_DENIED_REASON_GENERIC","MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT","MAV_ARM_AUTH_DENIED_REASON_NONE","MAV_ARM_AUTH_DENIED_REASON_TIMEOUT","MAV_AUTOPILOT_AEROB","MAV_AUTOPILOT_AIRRAILS","MAV_AUTOPILOT_ARDUPILOTMEGA","MAV_AUTOPILOT_ARMAZILA","MAV_AUTOPILOT_ASLUAV","MAV_AUTOPILOT_AUTOQUAD","MAV_AUTOPILOT_FP","MAV_AUTOPILOT_GENERIC","MAV_AUTOPILOT_GENERIC_MISSION_FULL","MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY","MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY","MAV_AUTOPILOT_INVALID","MAV_AUTOPILOT_OPENPILOT","MAV_AUTOPILOT_PPZ","MAV_AUTOPILOT_PX4","MAV_AUTOPILOT_REFLEX","MAV_AUTOPILOT_RESERVED","MAV_AUTOPILOT_SLUGS","MAV_AUTOPILOT_SMACCMPILOT","MAV_AUTOPILOT_SMARTAP","MAV_AUTOPILOT_UDB","MAV_BATTERY_CHARGE_STATE_CHARGING","MAV_BATTERY_CHARGE_STATE_CRITICAL","MAV_BATTERY_CHARGE_STATE_EMERGENCY","MAV_BATTERY_CHARGE_STATE_FAILED","MAV_BATTERY_CHARGE_STATE_LOW","MAV_BATTERY_CHARGE_STATE_OK","MAV_BATTERY_CHARGE_STATE_UNDEFINED","MAV_BATTERY_CHARGE_STATE_UNHEALTHY","MAV_BATTERY_FAULT_CELL_FAIL","MAV_BATTERY_FAULT_DEEP_DISCHARGE","MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE","MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE","MAV_BATTERY_FAULT_OVER_CURRENT","MAV_BATTERY_FAULT_OVER_TEMPERATURE","MAV_BATTERY_FAULT_SPIKES","MAV_BATTERY_FAULT_UNDER_TEMPERATURE","MAV_BATTERY_FUNCTION_ALL","MAV_BATTERY_FUNCTION_AVIONICS","MAV_BATTERY_FUNCTION_PAYLOAD","MAV_BATTERY_FUNCTION_PROPULSION","MAV_BATTERY_FUNCTION_UNKNOWN","MAV_BATTERY_MODE_AUTO_DISCHARGING","MAV_BATTERY_MODE_HOT_SWAP","MAV_BATTERY_MODE_UNKNOWN","MAV_BATTERY_TYPE_LIFE","MAV_BATTERY_TYPE_LION","MAV_BATTERY_TYPE_LIPO","MAV_BATTERY_TYPE_NIMH","MAV_BATTERY_TYPE_UNKNOWN","MAV_CMD_ACK_ERR_ACCESS_DENIED","MAV_CMD_ACK_ERR_COORDINATES_OUT_OF_RANGE","MAV_CMD_ACK_ERR_COORDINATE_FRAME_NOT_SUPPORTED","MAV_CMD_ACK_ERR_FAIL","MAV_CMD_ACK_ERR_NOT_SUPPORTED","MAV_CMD_ACK_ERR_X_LAT_OUT_OF_RANGE","MAV_CMD_ACK_ERR_Y_LON_OUT_OF_RANGE","MAV_CMD_ACK_ERR_Z_ALT_OUT_OF_RANGE","MAV_CMD_ACK_OK","MAV_CMD_ACTUATOR_TEST","MAV_CMD_AIRFRAME_CONFIGURATION","MAV_CMD_ARM_AUTHORIZATION_REQUEST","MAV_CMD_CAMERA_STOP_TRACKING","MAV_CMD_CAMERA_TRACK_POINT","MAV_CMD_CAMERA_TRACK_RECTANGLE","MAV_CMD_CAN_FORWARD","MAV_CMD_COMPONENT_ARM_DISARM","MAV_CMD_CONDITION_CHANGE_ALT","MAV_CMD_CONDITION_DELAY","MAV_CMD_CONDITION_DISTANCE","MAV_CMD_CONDITION_GATE","MAV_CMD_CONDITION_LAST","MAV_CMD_CONDITION_YAW","MAV_CMD_CONFIGURE_ACTUATOR","MAV_CMD_CONTROL_HIGH_LATENCY","MAV_CMD_DO_ADSB_OUT_IDENT","MAV_CMD_DO_AUTOTUNE_ENABLE","MAV_CMD_DO_CHANGE_ALTITUDE","MAV_CMD_DO_CHANGE_SPEED","MAV_CMD_DO_CONTROL_VIDEO","MAV_CMD_DO_DIGICAM_CONFIGURE","MAV_CMD_DO_DIGICAM_CONTROL","MAV_CMD_DO_ENGINE_CONTROL","MAV_CMD_DO_FENCE_ENABLE","MAV_CMD_DO_FLIGHTTERMINATION","MAV_CMD_DO_FOLLOW","MAV_CMD_DO_FOLLOW_REPOSITION","MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE","MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW","MAV_CMD_DO_GO_AROUND","MAV_CMD_DO_GRIPPER","MAV_CMD_DO_GUIDED_LIMITS","MAV_CMD_DO_GUIDED_MASTER","MAV_CMD_DO_INVERTED_FLIGHT","MAV_CMD_DO_JUMP","MAV_CMD_DO_JUMP_TAG","MAV_CMD_DO_LAND_START","MAV_CMD_DO_LAST","MAV_CMD_DO_MOTOR_TEST","MAV_CMD_DO_MOUNT_CONFIGURE","MAV_CMD_DO_MOUNT_CONTROL","MAV_CMD_DO_MOUNT_CONTROL_QUAT","MAV_CMD_DO_ORBIT","MAV_CMD_DO_PARACHUTE","MAV_CMD_DO_PAUSE_CONTINUE","MAV_CMD_DO_RALLY_LAND","MAV_CMD_DO_REPEAT_RELAY","MAV_CMD_DO_REPEAT_SERVO","MAV_CMD_DO_REPOSITION","MAV_CMD_DO_SET_ACTUATOR","MAV_CMD_DO_SET_CAM_TRIGG_DIST","MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL","MAV_CMD_DO_SET_HOME","MAV_CMD_DO_SET_MISSION_CURRENT","MAV_CMD_DO_SET_MODE","MAV_CMD_DO_SET_PARAMETER","MAV_CMD_DO_SET_RELAY","MAV_CMD_DO_SET_REVERSE","MAV_CMD_DO_SET_ROI","MAV_CMD_DO_SET_ROI_LOCATION","MAV_CMD_DO_SET_ROI_NONE","MAV_CMD_DO_SET_ROI_SYSID","MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET","MAV_CMD_DO_SET_SERVO","MAV_CMD_DO_TRIGGER_CONTROL","MAV_CMD_DO_VTOL_TRANSITION","MAV_CMD_DO_WINCH","MAV_CMD_FIXED_MAG_CAL_YAW","MAV_CMD_GET_HOME_POSITION","MAV_CMD_GET_MESSAGE_INTERVAL","MAV_CMD_ILLUMINATOR_ON_OFF","MAV_CMD_IMAGE_START_CAPTURE","MAV_CMD_IMAGE_STOP_CAPTURE","MAV_CMD_INJECT_FAILURE","MAV_CMD_JUMP_TAG","MAV_CMD_LOGGING_START","MAV_CMD_LOGGING_STOP","MAV_CMD_MISSION_START","MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT","MAV_CMD_NAV_DELAY","MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION","MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION","MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION","MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION","MAV_CMD_NAV_FENCE_RETURN_POINT","MAV_CMD_NAV_FOLLOW","MAV_CMD_NAV_GUIDED_ENABLE","MAV_CMD_NAV_LAND","MAV_CMD_NAV_LAND_LOCAL","MAV_CMD_NAV_LAST","MAV_CMD_NAV_LOITER_TIME","MAV_CMD_NAV_LOITER_TO_ALT","MAV_CMD_NAV_LOITER_TURNS","MAV_CMD_NAV_LOITER_UNLIM","MAV_CMD_NAV_PATHPLANNING","MAV_CMD_NAV_PAYLOAD_PLACE","MAV_CMD_NAV_RALLY_POINT","MAV_CMD_NAV_RETURN_TO_LAUNCH","MAV_CMD_NAV_ROI","MAV_CMD_NAV_SET_YAW_SPEED","MAV_CMD_NAV_SPLINE_WAYPOINT","MAV_CMD_NAV_TAKEOFF","MAV_CMD_NAV_TAKEOFF_LOCAL","MAV_CMD_NAV_VTOL_LAND","MAV_CMD_NAV_VTOL_TAKEOFF","MAV_CMD_NAV_WAYPOINT","MAV_CMD_OBLIQUE_SURVEY","MAV_CMD_OVERRIDE_GOTO","MAV_CMD_PANORAMA_CREATE","MAV_CMD_PAYLOAD_CONTROL_DEPLOY","MAV_CMD_PAYLOAD_PREPARE_DEPLOY","MAV_CMD_PREFLIGHT_CALIBRATION","MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN","MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS","MAV_CMD_PREFLIGHT_STORAGE","MAV_CMD_PREFLIGHT_UAVCAN","MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES","MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS","MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE","MAV_CMD_REQUEST_CAMERA_INFORMATION","MAV_CMD_REQUEST_CAMERA_SETTINGS","MAV_CMD_REQUEST_FLIGHT_INFORMATION","MAV_CMD_REQUEST_MESSAGE","MAV_CMD_REQUEST_PROTOCOL_VERSION","MAV_CMD_REQUEST_STORAGE_INFORMATION","MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION","MAV_CMD_REQUEST_VIDEO_STREAM_STATUS","MAV_CMD_RESET_CAMERA_SETTINGS","MAV_CMD_RUN_PREARM_CHECKS","MAV_CMD_SET_CAMERA_FOCUS","MAV_CMD_SET_CAMERA_MODE","MAV_CMD_SET_CAMERA_ZOOM","MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE","MAV_CMD_SET_GUIDED_SUBMODE_STANDARD","MAV_CMD_SET_MESSAGE_INTERVAL","MAV_CMD_SET_STORAGE_USAGE","MAV_CMD_SPATIAL_USER_1","MAV_CMD_SPATIAL_USER_2","MAV_CMD_SPATIAL_USER_3","MAV_CMD_SPATIAL_USER_4","MAV_CMD_SPATIAL_USER_5","MAV_CMD_START_RX_PAIR","MAV_CMD_STORAGE_FORMAT","MAV_CMD_UAVCAN_GET_NODE_INFO","MAV_CMD_USER_1","MAV_CMD_USER_2","MAV_CMD_USER_3","MAV_CMD_USER_4","MAV_CMD_USER_5","MAV_CMD_VIDEO_START_CAPTURE","MAV_CMD_VIDEO_START_STREAMING","MAV_CMD_VIDEO_STOP_CAPTURE","MAV_CMD_VIDEO_STOP_STREAMING","MAV_CMD_WAYPOINT_USER_1","MAV_CMD_WAYPOINT_USER_2","MAV_CMD_WAYPOINT_USER_3","MAV_CMD_WAYPOINT_USER_4","MAV_CMD_WAYPOINT_USER_5","MAV_COLLISION_ACTION_ASCEND_OR_DESCEND","MAV_COLLISION_ACTION_HOVER","MAV_COLLISION_ACTION_MOVE_HORIZONTALLY","MAV_COLLISION_ACTION_MOVE_PERPENDICULAR","MAV_COLLISION_ACTION_NONE","MAV_COLLISION_ACTION_REPORT","MAV_COLLISION_ACTION_RTL","MAV_COLLISION_SRC_ADSB","MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT","MAV_COLLISION_THREAT_LEVEL_HIGH","MAV_COLLISION_THREAT_LEVEL_LOW","MAV_COLLISION_THREAT_LEVEL_NONE","MAV_COMP_ID_ADSB","MAV_COMP_ID_ALL","MAV_COMP_ID_AUTOPILOT1","MAV_COMP_ID_BATTERY","MAV_COMP_ID_BATTERY2","MAV_COMP_ID_CAMERA","MAV_COMP_ID_CAMERA2","MAV_COMP_ID_CAMERA3","MAV_COMP_ID_CAMERA4","MAV_COMP_ID_CAMERA5","MAV_COMP_ID_CAMERA6","MAV_COMP_ID_FLARM","MAV_COMP_ID_GIMBAL","MAV_COMP_ID_GIMBAL2","MAV_COMP_ID_GIMBAL3","MAV_COMP_ID_GIMBAL4","MAV_COMP_ID_GIMBAL5","MAV_COMP_ID_GIMBAL6","MAV_COMP_ID_GPS","MAV_COMP_ID_GPS2","MAV_COMP_ID_IMU","MAV_COMP_ID_IMU_2","MAV_COMP_ID_IMU_3","MAV_COMP_ID_LOG","MAV_COMP_ID_MAVCAN","MAV_COMP_ID_MISSIONPLANNER","MAV_COMP_ID_OBSTACLE_AVOIDANCE","MAV_COMP_ID_ODID_TXRX_1","MAV_COMP_ID_ODID_TXRX_2","MAV_COMP_ID_ODID_TXRX_3","MAV_COMP_ID_ONBOARD_COMPUTER","MAV_COMP_ID_ONBOARD_COMPUTER2","MAV_COMP_ID_ONBOARD_COMPUTER3","MAV_COMP_ID_ONBOARD_COMPUTER4","MAV_COMP_ID_OSD","MAV_COMP_ID_PAIRING_MANAGER","MAV_COMP_ID_PARACHUTE","MAV_COMP_ID_PATHPLANNER","MAV_COMP_ID_PERIPHERAL","MAV_COMP_ID_QX1_GIMBAL","MAV_COMP_ID_SERVO1","MAV_COMP_ID_SERVO10","MAV_COMP_ID_SERVO11","MAV_COMP_ID_SERVO12","MAV_COMP_ID_SERVO13","MAV_COMP_ID_SERVO14","MAV_COMP_ID_SERVO2","MAV_COMP_ID_SERVO3","MAV_COMP_ID_SERVO4","MAV_COMP_ID_SERVO5","MAV_COMP_ID_SERVO6","MAV_COMP_ID_SERVO7","MAV_COMP_ID_SERVO8","MAV_COMP_ID_SERVO9","MAV_COMP_ID_SYSTEM_CONTROL","MAV_COMP_ID_TELEMETRY_RADIO","MAV_COMP_ID_TUNNEL_NODE","MAV_COMP_ID_UART_BRIDGE","MAV_COMP_ID_UDP_BRIDGE","MAV_COMP_ID_USER1","MAV_COMP_ID_USER10","MAV_COMP_ID_USER11","MAV_COMP_ID_USER12","MAV_COMP_ID_USER13","MAV_COMP_ID_USER14","MAV_COMP_ID_USER15","MAV_COMP_ID_USER16","MAV_COMP_ID_USER17","MAV_COMP_ID_USER18","MAV_COMP_ID_USER19","MAV_COMP_ID_USER2","MAV_COMP_ID_USER20","MAV_COMP_ID_USER21","MAV_COMP_ID_USER22","MAV_COMP_ID_USER23","MAV_COMP_ID_USER24","MAV_COMP_ID_USER25","MAV_COMP_ID_USER26","MAV_COMP_ID_USER27","MAV_COMP_ID_USER28","MAV_COMP_ID_USER29","MAV_COMP_ID_USER3","MAV_COMP_ID_USER30","MAV_COMP_ID_USER31","MAV_COMP_ID_USER32","MAV_COMP_ID_USER33","MAV_COMP_ID_USER34","MAV_COMP_ID_USER35","MAV_COMP_ID_USER36","MAV_COMP_ID_USER37","MAV_COMP_ID_USER38","MAV_COMP_ID_USER39","MAV_COMP_ID_USER4","MAV_COMP_ID_USER40","MAV_COMP_ID_USER41","MAV_COMP_ID_USER42","MAV_COMP_ID_USER43","MAV_COMP_ID_USER45","MAV_COMP_ID_USER46","MAV_COMP_ID_USER47","MAV_COMP_ID_USER48","MAV_COMP_ID_USER49","MAV_COMP_ID_USER5","MAV_COMP_ID_USER50","MAV_COMP_ID_USER51","MAV_COMP_ID_USER52","MAV_COMP_ID_USER53","MAV_COMP_ID_USER54","MAV_COMP_ID_USER55","MAV_COMP_ID_USER56","MAV_COMP_ID_USER57","MAV_COMP_ID_USER58","MAV_COMP_ID_USER59","MAV_COMP_ID_USER6","MAV_COMP_ID_USER60","MAV_COMP_ID_USER61","MAV_COMP_ID_USER62","MAV_COMP_ID_USER63","MAV_COMP_ID_USER64","MAV_COMP_ID_USER65","MAV_COMP_ID_USER66","MAV_COMP_ID_USER67","MAV_COMP_ID_USER68","MAV_COMP_ID_USER69","MAV_COMP_ID_USER7","MAV_COMP_ID_USER70","MAV_COMP_ID_USER71","MAV_COMP_ID_USER72","MAV_COMP_ID_USER73","MAV_COMP_ID_USER74","MAV_COMP_ID_USER75","MAV_COMP_ID_USER8","MAV_COMP_ID_USER9","MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY","MAV_COMP_ID_WINCH","MAV_DATA_STREAM_ALL","MAV_DATA_STREAM_EXTENDED_STATUS","MAV_DATA_STREAM_EXTRA1","MAV_DATA_STREAM_EXTRA2","MAV_DATA_STREAM_EXTRA3","MAV_DATA_STREAM_POSITION","MAV_DATA_STREAM_RAW_CONTROLLER","MAV_DATA_STREAM_RAW_SENSORS","MAV_DATA_STREAM_RC_CHANNELS","MAV_DISTANCE_SENSOR_INFRARED","MAV_DISTANCE_SENSOR_LASER","MAV_DISTANCE_SENSOR_RADAR","MAV_DISTANCE_SENSOR_ULTRASOUND","MAV_DISTANCE_SENSOR_UNKNOWN","MAV_DO_REPOSITION_FLAGS_CHANGE_MODE","MAV_ESTIMATOR_TYPE_AUTOPILOT","MAV_ESTIMATOR_TYPE_GPS","MAV_ESTIMATOR_TYPE_GPS_INS","MAV_ESTIMATOR_TYPE_LIDAR","MAV_ESTIMATOR_TYPE_MOCAP","MAV_ESTIMATOR_TYPE_NAIVE","MAV_ESTIMATOR_TYPE_UNKNOWN","MAV_ESTIMATOR_TYPE_VIO","MAV_ESTIMATOR_TYPE_VISION","MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET","MAV_EVENT_ERROR_REASON_UNAVAILABLE","MAV_FRAME_BODY_FRD","MAV_FRAME_BODY_NED","MAV_FRAME_BODY_OFFSET_NED","MAV_FRAME_GLOBAL","MAV_FRAME_GLOBAL_INT","MAV_FRAME_GLOBAL_RELATIVE_ALT","MAV_FRAME_GLOBAL_RELATIVE_ALT_INT","MAV_FRAME_GLOBAL_TERRAIN_ALT","MAV_FRAME_GLOBAL_TERRAIN_ALT_INT","MAV_FRAME_LOCAL_ENU","MAV_FRAME_LOCAL_FLU","MAV_FRAME_LOCAL_FRD","MAV_FRAME_LOCAL_NED","MAV_FRAME_LOCAL_OFFSET_NED","MAV_FRAME_MISSION","MAV_FRAME_RESERVED_13","MAV_FRAME_RESERVED_14","MAV_FRAME_RESERVED_15","MAV_FRAME_RESERVED_16","MAV_FRAME_RESERVED_17","MAV_FRAME_RESERVED_18","MAV_FRAME_RESERVED_19","MAV_FTP_ERR_EOF","MAV_FTP_ERR_FAIL","MAV_FTP_ERR_FAILERRNO","MAV_FTP_ERR_FILEEXISTS","MAV_FTP_ERR_FILENOTFOUND","MAV_FTP_ERR_FILEPROTECTED","MAV_FTP_ERR_INVALIDDATASIZE","MAV_FTP_ERR_INVALIDSESSION","MAV_FTP_ERR_NONE","MAV_FTP_ERR_NOSESSIONSAVAILABLE","MAV_FTP_ERR_UNKNOWNCOMMAND","MAV_FTP_OPCODE_ACK","MAV_FTP_OPCODE_BURSTREADFILE","MAV_FTP_OPCODE_CALCFILECRC","MAV_FTP_OPCODE_CREATEDIRECTORY","MAV_FTP_OPCODE_CREATEFILE","MAV_FTP_OPCODE_LISTDIRECTORY","MAV_FTP_OPCODE_NAK","MAV_FTP_OPCODE_NONE","MAV_FTP_OPCODE_OPENFILERO","MAV_FTP_OPCODE_OPENFILEWO","MAV_FTP_OPCODE_READFILE","MAV_FTP_OPCODE_REMOVEDIRECTORY","MAV_FTP_OPCODE_REMOVEFILE","MAV_FTP_OPCODE_RENAME","MAV_FTP_OPCODE_RESETSESSION","MAV_FTP_OPCODE_TERMINATESESSION","MAV_FTP_OPCODE_TRUNCATEFILE","MAV_FTP_OPCODE_WRITEFILE","MAV_GENERATOR_STATUS_FLAG_BATTERY_OVERCHARGE_CURRENT_FAULT","MAV_GENERATOR_STATUS_FLAG_BATTERY_UNDERVOLT_FAULT","MAV_GENERATOR_STATUS_FLAG_CHARGING","MAV_GENERATOR_STATUS_FLAG_COMMUNICATION_WARNING","MAV_GENERATOR_STATUS_FLAG_COOLING_WARNING","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_FAULT","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_FAULT","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_WARNING","MAV_GENERATOR_STATUS_FLAG_GENERATING","MAV_GENERATOR_STATUS_FLAG_IDLE","MAV_GENERATOR_STATUS_FLAG_MAINTENANCE_REQUIRED","MAV_GENERATOR_STATUS_FLAG_MAXPOWER","MAV_GENERATOR_STATUS_FLAG_OFF","MAV_GENERATOR_STATUS_FLAG_OVERCURRENT_FAULT","MAV_GENERATOR_STATUS_FLAG_OVERTEMP_FAULT","MAV_GENERATOR_STATUS_FLAG_OVERTEMP_WARNING","MAV_GENERATOR_STATUS_FLAG_OVERVOLTAGE_FAULT","MAV_GENERATOR_STATUS_FLAG_POWERSOURCE_FAULT","MAV_GENERATOR_STATUS_FLAG_POWER_RAIL_FAULT","MAV_GENERATOR_STATUS_FLAG_READY","MAV_GENERATOR_STATUS_FLAG_REDUCED_POWER","MAV_GENERATOR_STATUS_FLAG_START_INHIBITED","MAV_GENERATOR_STATUS_FLAG_WARMING_UP","MAV_GOTO_DO_CONTINUE","MAV_GOTO_DO_HOLD","MAV_GOTO_HOLD_AT_CURRENT_POSITION","MAV_GOTO_HOLD_AT_SPECIFIED_POSITION","MAV_LANDED_STATE_IN_AIR","MAV_LANDED_STATE_LANDING","MAV_LANDED_STATE_ON_GROUND","MAV_LANDED_STATE_TAKEOFF","MAV_LANDED_STATE_UNDEFINED","MAV_MISSION_ACCEPTED","MAV_MISSION_DENIED","MAV_MISSION_ERROR","MAV_MISSION_INVALID","MAV_MISSION_INVALID_PARAM1","MAV_MISSION_INVALID_PARAM2","MAV_MISSION_INVALID_PARAM3","MAV_MISSION_INVALID_PARAM4","MAV_MISSION_INVALID_PARAM5_X","MAV_MISSION_INVALID_PARAM6_Y","MAV_MISSION_INVALID_PARAM7","MAV_MISSION_INVALID_SEQUENCE","MAV_MISSION_NO_SPACE","MAV_MISSION_OPERATION_CANCELLED","MAV_MISSION_TYPE_ALL","MAV_MISSION_TYPE_FENCE","MAV_MISSION_TYPE_MISSION","MAV_MISSION_TYPE_RALLY","MAV_MISSION_UNSUPPORTED","MAV_MISSION_UNSUPPORTED_FRAME","MAV_MODE_AUTO_ARMED","MAV_MODE_AUTO_DISARMED","MAV_MODE_FLAG_AUTO_ENABLED","MAV_MODE_FLAG_CUSTOM_MODE_ENABLED","MAV_MODE_FLAG_DECODE_POSITION_AUTO","MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE","MAV_MODE_FLAG_DECODE_POSITION_GUIDED","MAV_MODE_FLAG_DECODE_POSITION_HIL","MAV_MODE_FLAG_DECODE_POSITION_MANUAL","MAV_MODE_FLAG_DECODE_POSITION_SAFETY","MAV_MODE_FLAG_DECODE_POSITION_STABILIZE","MAV_MODE_FLAG_DECODE_POSITION_TEST","MAV_MODE_FLAG_GUIDED_ENABLED","MAV_MODE_FLAG_HIL_ENABLED","MAV_MODE_FLAG_MANUAL_INPUT_ENABLED","MAV_MODE_FLAG_SAFETY_ARMED","MAV_MODE_FLAG_STABILIZE_ENABLED","MAV_MODE_FLAG_TEST_ENABLED","MAV_MODE_GUIDED_ARMED","MAV_MODE_GUIDED_DISARMED","MAV_MODE_MANUAL_ARMED","MAV_MODE_MANUAL_DISARMED","MAV_MODE_PREFLIGHT","MAV_MODE_STABILIZE_ARMED","MAV_MODE_STABILIZE_DISARMED","MAV_MODE_TEST_ARMED","MAV_MODE_TEST_DISARMED","MAV_MOUNT_MODE_GPS_POINT","MAV_MOUNT_MODE_HOME_LOCATION","MAV_MOUNT_MODE_MAVLINK_TARGETING","MAV_MOUNT_MODE_NEUTRAL","MAV_MOUNT_MODE_RC_TARGETING","MAV_MOUNT_MODE_RETRACT","MAV_MOUNT_MODE_SYSID_TARGET","MAV_ODID_ARM_STATUS_GOOD_TO_ARM","MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC","MAV_ODID_AUTH_TYPE_MESSAGE_SET_SIGNATURE","MAV_ODID_AUTH_TYPE_NETWORK_REMOTE_ID","MAV_ODID_AUTH_TYPE_NONE","MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE","MAV_ODID_AUTH_TYPE_SPECIFIC_AUTHENTICATION","MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE","MAV_ODID_CATEGORY_EU_CERTIFIED","MAV_ODID_CATEGORY_EU_OPEN","MAV_ODID_CATEGORY_EU_SPECIFIC","MAV_ODID_CATEGORY_EU_UNDECLARED","MAV_ODID_CLASSIFICATION_TYPE_EU","MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED","MAV_ODID_CLASS_EU_CLASS_0","MAV_ODID_CLASS_EU_CLASS_1","MAV_ODID_CLASS_EU_CLASS_2","MAV_ODID_CLASS_EU_CLASS_3","MAV_ODID_CLASS_EU_CLASS_4","MAV_ODID_CLASS_EU_CLASS_5","MAV_ODID_CLASS_EU_CLASS_6","MAV_ODID_CLASS_EU_UNDECLARED","MAV_ODID_DESC_TYPE_EMERGENCY","MAV_ODID_DESC_TYPE_EXTENDED_STATUS","MAV_ODID_DESC_TYPE_TEXT","MAV_ODID_HEIGHT_REF_OVER_GROUND","MAV_ODID_HEIGHT_REF_OVER_TAKEOFF","MAV_ODID_HOR_ACC_0_05NM","MAV_ODID_HOR_ACC_0_1NM","MAV_ODID_HOR_ACC_0_3NM","MAV_ODID_HOR_ACC_0_5NM","MAV_ODID_HOR_ACC_10NM","MAV_ODID_HOR_ACC_10_METER","MAV_ODID_HOR_ACC_1NM","MAV_ODID_HOR_ACC_1_METER","MAV_ODID_HOR_ACC_2NM","MAV_ODID_HOR_ACC_30_METER","MAV_ODID_HOR_ACC_3_METER","MAV_ODID_HOR_ACC_4NM","MAV_ODID_HOR_ACC_UNKNOWN","MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID","MAV_ODID_ID_TYPE_NONE","MAV_ODID_ID_TYPE_SERIAL_NUMBER","MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID","MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID","MAV_ODID_OPERATOR_ID_TYPE_CAA","MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED","MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS","MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF","MAV_ODID_SPEED_ACC_0_3_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_1_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_UNKNOWN","MAV_ODID_STATUS_AIRBORNE","MAV_ODID_STATUS_EMERGENCY","MAV_ODID_STATUS_GROUND","MAV_ODID_STATUS_REMOTE_ID_SYSTEM_FAILURE","MAV_ODID_STATUS_UNDECLARED","MAV_ODID_TIME_ACC_0_1_SECOND","MAV_ODID_TIME_ACC_0_2_SECOND","MAV_ODID_TIME_ACC_0_3_SECOND","MAV_ODID_TIME_ACC_0_4_SECOND","MAV_ODID_TIME_ACC_0_5_SECOND","MAV_ODID_TIME_ACC_0_6_SECOND","MAV_ODID_TIME_ACC_0_7_SECOND","MAV_ODID_TIME_ACC_0_8_SECOND","MAV_ODID_TIME_ACC_0_9_SECOND","MAV_ODID_TIME_ACC_1_0_SECOND","MAV_ODID_TIME_ACC_1_1_SECOND","MAV_ODID_TIME_ACC_1_2_SECOND","MAV_ODID_TIME_ACC_1_3_SECOND","MAV_ODID_TIME_ACC_1_4_SECOND","MAV_ODID_TIME_ACC_1_5_SECOND","MAV_ODID_TIME_ACC_UNKNOWN","MAV_ODID_UA_TYPE_AEROPLANE","MAV_ODID_UA_TYPE_AIRSHIP","MAV_ODID_UA_TYPE_CAPTIVE_BALLOON","MAV_ODID_UA_TYPE_FREE_BALLOON","MAV_ODID_UA_TYPE_FREE_FALL_PARACHUTE","MAV_ODID_UA_TYPE_GLIDER","MAV_ODID_UA_TYPE_GROUND_OBSTACLE","MAV_ODID_UA_TYPE_GYROPLANE","MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR","MAV_ODID_UA_TYPE_HYBRID_LIFT","MAV_ODID_UA_TYPE_KITE","MAV_ODID_UA_TYPE_NONE","MAV_ODID_UA_TYPE_ORNITHOPTER","MAV_ODID_UA_TYPE_OTHER","MAV_ODID_UA_TYPE_ROCKET","MAV_ODID_UA_TYPE_TETHERED_POWERED_AIRCRAFT","MAV_ODID_VER_ACC_10_METER","MAV_ODID_VER_ACC_150_METER","MAV_ODID_VER_ACC_1_METER","MAV_ODID_VER_ACC_25_METER","MAV_ODID_VER_ACC_3_METER","MAV_ODID_VER_ACC_45_METER","MAV_ODID_VER_ACC_UNKNOWN","MAV_PARAM_EXT_TYPE_CUSTOM","MAV_PARAM_EXT_TYPE_INT16","MAV_PARAM_EXT_TYPE_INT32","MAV_PARAM_EXT_TYPE_INT64","MAV_PARAM_EXT_TYPE_INT8","MAV_PARAM_EXT_TYPE_REAL32","MAV_PARAM_EXT_TYPE_REAL64","MAV_PARAM_EXT_TYPE_UINT16","MAV_PARAM_EXT_TYPE_UINT32","MAV_PARAM_EXT_TYPE_UINT64","MAV_PARAM_EXT_TYPE_UINT8","MAV_PARAM_TYPE_INT16","MAV_PARAM_TYPE_INT32","MAV_PARAM_TYPE_INT64","MAV_PARAM_TYPE_INT8","MAV_PARAM_TYPE_REAL32","MAV_PARAM_TYPE_REAL64","MAV_PARAM_TYPE_UINT16","MAV_PARAM_TYPE_UINT32","MAV_PARAM_TYPE_UINT64","MAV_PARAM_TYPE_UINT8","MAV_POWER_STATUS_BRICK_VALID","MAV_POWER_STATUS_CHANGED","MAV_POWER_STATUS_PERIPH_HIPOWER_OVERCURRENT","MAV_POWER_STATUS_PERIPH_OVERCURRENT","MAV_POWER_STATUS_SERVO_VALID","MAV_POWER_STATUS_USB_CONNECTED","MAV_PROTOCOL_CAPABILITY_COMMAND_INT","MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION","MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION","MAV_PROTOCOL_CAPABILITY_FTP","MAV_PROTOCOL_CAPABILITY_MAVLINK2","MAV_PROTOCOL_CAPABILITY_MISSION_FENCE","MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT","MAV_PROTOCOL_CAPABILITY_MISSION_INT","MAV_PROTOCOL_CAPABILITY_MISSION_RALLY","MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE","MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST","MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT","MAV_PROTOCOL_CAPABILITY_RESERVED2","MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET","MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET","MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT","MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED","MAV_PROTOCOL_CAPABILITY_TERRAIN","MAV_RESULT_ACCEPTED","MAV_RESULT_CANCELLED","MAV_RESULT_DENIED","MAV_RESULT_FAILED","MAV_RESULT_IN_PROGRESS","MAV_RESULT_TEMPORARILY_REJECTED","MAV_RESULT_UNSUPPORTED","MAV_ROI_LOCATION","MAV_ROI_NONE","MAV_ROI_TARGET","MAV_ROI_WPINDEX","MAV_ROI_WPNEXT","MAV_SENSOR_ROTATION_CUSTOM","MAV_SENSOR_ROTATION_NONE","MAV_SENSOR_ROTATION_PITCH_180","MAV_SENSOR_ROTATION_PITCH_180_YAW_270","MAV_SENSOR_ROTATION_PITCH_180_YAW_90","MAV_SENSOR_ROTATION_PITCH_270","MAV_SENSOR_ROTATION_PITCH_315","MAV_SENSOR_ROTATION_PITCH_90","MAV_SENSOR_ROTATION_ROLL_180","MAV_SENSOR_ROTATION_ROLL_180_PITCH_270","MAV_SENSOR_ROTATION_ROLL_180_PITCH_90","MAV_SENSOR_ROTATION_ROLL_180_YAW_135","MAV_SENSOR_ROTATION_ROLL_180_YAW_225","MAV_SENSOR_ROTATION_ROLL_180_YAW_270","MAV_SENSOR_ROTATION_ROLL_180_YAW_315","MAV_SENSOR_ROTATION_ROLL_180_YAW_45","MAV_SENSOR_ROTATION_ROLL_180_YAW_90","MAV_SENSOR_ROTATION_ROLL_270","MAV_SENSOR_ROTATION_ROLL_270_PITCH_180","MAV_SENSOR_ROTATION_ROLL_270_PITCH_270","MAV_SENSOR_ROTATION_ROLL_270_PITCH_90","MAV_SENSOR_ROTATION_ROLL_270_YAW_135","MAV_SENSOR_ROTATION_ROLL_270_YAW_45","MAV_SENSOR_ROTATION_ROLL_270_YAW_90","MAV_SENSOR_ROTATION_ROLL_90","MAV_SENSOR_ROTATION_ROLL_90_PITCH_180","MAV_SENSOR_ROTATION_ROLL_90_PITCH_180_YAW_90","MAV_SENSOR_ROTATION_ROLL_90_PITCH_270","MAV_SENSOR_ROTATION_ROLL_90_PITCH_315","MAV_SENSOR_ROTATION_ROLL_90_PITCH_68_YAW_293","MAV_SENSOR_ROTATION_ROLL_90_PITCH_90","MAV_SENSOR_ROTATION_ROLL_90_YAW_135","MAV_SENSOR_ROTATION_ROLL_90_YAW_270","MAV_SENSOR_ROTATION_ROLL_90_YAW_45","MAV_SENSOR_ROTATION_ROLL_90_YAW_90","MAV_SENSOR_ROTATION_YAW_135","MAV_SENSOR_ROTATION_YAW_180","MAV_SENSOR_ROTATION_YAW_225","MAV_SENSOR_ROTATION_YAW_270","MAV_SENSOR_ROTATION_YAW_315","MAV_SENSOR_ROTATION_YAW_45","MAV_SENSOR_ROTATION_YAW_90","MAV_SEVERITY_ALERT","MAV_SEVERITY_CRITICAL","MAV_SEVERITY_DEBUG","MAV_SEVERITY_EMERGENCY","MAV_SEVERITY_ERROR","MAV_SEVERITY_INFO","MAV_SEVERITY_NOTICE","MAV_SEVERITY_WARNING","MAV_STATE_ACTIVE","MAV_STATE_BOOT","MAV_STATE_CALIBRATING","MAV_STATE_CRITICAL","MAV_STATE_EMERGENCY","MAV_STATE_FLIGHT_TERMINATION","MAV_STATE_POWEROFF","MAV_STATE_STANDBY","MAV_STATE_UNINIT","MAV_SYS_STATUS_AHRS","MAV_SYS_STATUS_EXTENSION_USED","MAV_SYS_STATUS_GEOFENCE","MAV_SYS_STATUS_LOGGING","MAV_SYS_STATUS_OBSTACLE_AVOIDANCE","MAV_SYS_STATUS_PREARM_CHECK","MAV_SYS_STATUS_RECOVERY_SYSTEM","MAV_SYS_STATUS_REVERSE_MOTOR","MAV_SYS_STATUS_SENSOR_3D_ACCEL","MAV_SYS_STATUS_SENSOR_3D_ACCEL2","MAV_SYS_STATUS_SENSOR_3D_GYRO","MAV_SYS_STATUS_SENSOR_3D_GYRO2","MAV_SYS_STATUS_SENSOR_3D_MAG","MAV_SYS_STATUS_SENSOR_3D_MAG2","MAV_SYS_STATUS_SENSOR_ABSOLUTE_PRESSURE","MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL","MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION","MAV_SYS_STATUS_SENSOR_BATTERY","MAV_SYS_STATUS_SENSOR_DIFFERENTIAL_PRESSURE","MAV_SYS_STATUS_SENSOR_EXTERNAL_GROUND_TRUTH","MAV_SYS_STATUS_SENSOR_GPS","MAV_SYS_STATUS_SENSOR_LASER_POSITION","MAV_SYS_STATUS_SENSOR_MOTOR_OUTPUTS","MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW","MAV_SYS_STATUS_SENSOR_PROPULSION","MAV_SYS_STATUS_SENSOR_PROXIMITY","MAV_SYS_STATUS_SENSOR_RC_RECEIVER","MAV_SYS_STATUS_SENSOR_SATCOM","MAV_SYS_STATUS_SENSOR_VISION_POSITION","MAV_SYS_STATUS_SENSOR_XY_POSITION_CONTROL","MAV_SYS_STATUS_SENSOR_YAW_POSITION","MAV_SYS_STATUS_SENSOR_Z_ALTITUDE_CONTROL","MAV_SYS_STATUS_TERRAIN","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED2","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED3","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED4","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED5","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED6","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED7","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED8","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED9","MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN","MAV_TYPE_ADSB","MAV_TYPE_AIRSHIP","MAV_TYPE_ANTENNA_TRACKER","MAV_TYPE_BATTERY","MAV_TYPE_CAMERA","MAV_TYPE_CHARGING_STATION","MAV_TYPE_COAXIAL","MAV_TYPE_DECAROTOR","MAV_TYPE_DODECAROTOR","MAV_TYPE_FIXED_WING","MAV_TYPE_FLAPPING_WING","MAV_TYPE_FLARM","MAV_TYPE_FREE_BALLOON","MAV_TYPE_GCS","MAV_TYPE_GENERIC","MAV_TYPE_GIMBAL","MAV_TYPE_GPS","MAV_TYPE_GROUND_ROVER","MAV_TYPE_HELICOPTER","MAV_TYPE_HEXAROTOR","MAV_TYPE_IMU","MAV_TYPE_KITE","MAV_TYPE_LOG","MAV_TYPE_OCTOROTOR","MAV_TYPE_ODID","MAV_TYPE_ONBOARD_CONTROLLER","MAV_TYPE_OSD","MAV_TYPE_PARACHUTE","MAV_TYPE_PARAFOIL","MAV_TYPE_QUADROTOR","MAV_TYPE_ROCKET","MAV_TYPE_SERVO","MAV_TYPE_SUBMARINE","MAV_TYPE_SURFACE_BOAT","MAV_TYPE_TRICOPTER","MAV_TYPE_VTOL_FIXEDROTOR","MAV_TYPE_VTOL_RESERVED5","MAV_TYPE_VTOL_TAILSITTER","MAV_TYPE_VTOL_TAILSITTER_DUOROTOR","MAV_TYPE_VTOL_TAILSITTER_QUADROTOR","MAV_TYPE_VTOL_TILTROTOR","MAV_TYPE_VTOL_TILTWING","MAV_TYPE_WINCH","MAV_VTOL_STATE_FW","MAV_VTOL_STATE_MC","MAV_VTOL_STATE_TRANSITION_TO_FW","MAV_VTOL_STATE_TRANSITION_TO_MC","MAV_VTOL_STATE_UNDEFINED","MAV_WINCH_STATUS_ABANDON_LINE","MAV_WINCH_STATUS_ARRESTING","MAV_WINCH_STATUS_CLUTCH_ENGAGED","MAV_WINCH_STATUS_DROPPING","MAV_WINCH_STATUS_FULLY_RETRACTED","MAV_WINCH_STATUS_GROUND_SENSE","MAV_WINCH_STATUS_HEALTHY","MAV_WINCH_STATUS_LOAD_LINE","MAV_WINCH_STATUS_LOAD_PAYLOAD","MAV_WINCH_STATUS_LOCKED","MAV_WINCH_STATUS_LOCKING","MAV_WINCH_STATUS_MOVING","MAV_WINCH_STATUS_REDELIVER","MAV_WINCH_STATUS_RETRACTING","MEMORY_VECT","MEMORY_VECT_DATA","MESSAGE_INTERVAL","MESSAGE_INTERVAL_DATA","MISSION_ACK","MISSION_ACK_DATA","MISSION_CLEAR_ALL","MISSION_CLEAR_ALL_DATA","MISSION_COUNT","MISSION_COUNT_DATA","MISSION_CURRENT","MISSION_CURRENT_DATA","MISSION_ITEM","MISSION_ITEM_DATA","MISSION_ITEM_INT","MISSION_ITEM_INT_DATA","MISSION_ITEM_REACHED","MISSION_ITEM_REACHED_DATA","MISSION_READ_PERSISTENT","MISSION_REQUEST","MISSION_REQUEST_DATA","MISSION_REQUEST_INT","MISSION_REQUEST_INT_DATA","MISSION_REQUEST_LIST","MISSION_REQUEST_LIST_DATA","MISSION_REQUEST_PARTIAL_LIST","MISSION_REQUEST_PARTIAL_LIST_DATA","MISSION_RESET_DEFAULT","MISSION_SET_CURRENT","MISSION_SET_CURRENT_DATA","MISSION_STATE_ACTIVE","MISSION_STATE_COMPLETE","MISSION_STATE_NOT_STARTED","MISSION_STATE_NO_MISSION","MISSION_STATE_PAUSED","MISSION_STATE_UNKNOWN","MISSION_WRITE_PARTIAL_LIST","MISSION_WRITE_PARTIAL_LIST_DATA","MISSION_WRITE_PERSISTENT","MMSI","MOTOR_TEST_COMPASS_CAL","MOTOR_TEST_ORDER_BOARD","MOTOR_TEST_ORDER_DEFAULT","MOTOR_TEST_ORDER_SEQUENCE","MOTOR_TEST_THROTTLE_PERCENT","MOTOR_TEST_THROTTLE_PILOT","MOTOR_TEST_THROTTLE_PWM","MOUNT_ORIENTATION","MOUNT_ORIENTATION_DATA","MagCalStatus","MavArmAuthDeniedReason","MavAutopilot","MavBatteryChargeState","MavBatteryFault","MavBatteryFunction","MavBatteryMode","MavBatteryType","MavCmd","MavCmdAck","MavCollisionAction","MavCollisionSrc","MavCollisionThreatLevel","MavComponent","MavDataStream","MavDistanceSensor","MavDoRepositionFlags","MavEstimatorType","MavEventCurrentSequenceFlags","MavEventErrorReason","MavFrame","MavFtpErr","MavFtpOpcode","MavGeneratorStatusFlag","MavGoto","MavLandedState","MavMessage","MavMissionResult","MavMissionType","MavMode","MavModeFlag","MavModeFlagDecodePosition","MavMountMode","MavOdidArmStatus","MavOdidAuthType","MavOdidCategoryEu","MavOdidClassEu","MavOdidClassificationType","MavOdidDescType","MavOdidHeightRef","MavOdidHorAcc","MavOdidIdType","MavOdidOperatorIdType","MavOdidOperatorLocationType","MavOdidSpeedAcc","MavOdidStatus","MavOdidTimeAcc","MavOdidUaType","MavOdidVerAcc","MavParamExtType","MavParamType","MavPowerStatus","MavProtocolCapability","MavResult","MavRoi","MavSensorOrientation","MavSeverity","MavState","MavSysStatusSensor","MavSysStatusSensorExtended","MavTunnelPayloadType","MavType","MavVtolState","MavWinchStatusFlag","MavlinkDataStreamType","MissionState","MotorTestOrder","MotorTestThrottleType","NAMED_VALUE_FLOAT","NAMED_VALUE_FLOAT_DATA","NAMED_VALUE_INT","NAMED_VALUE_INT_DATA","NAV_CONTROLLER_OUTPUT","NAV_CONTROLLER_OUTPUT_DATA","NAV_VTOL_LAND_OPTIONS_DEFAULT","NAV_VTOL_LAND_OPTIONS_FW_DESCENT","NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT","NavVtolLandOptions","OBSTACLE_DISTANCE","OBSTACLE_DISTANCE_DATA","ODOMETRY","ODOMETRY_DATA","ONBOARD_COMPUTER_STATUS","ONBOARD_COMPUTER_STATUS_DATA","OPEN_DRONE_ID_ARM_STATUS","OPEN_DRONE_ID_ARM_STATUS_DATA","OPEN_DRONE_ID_AUTHENTICATION","OPEN_DRONE_ID_AUTHENTICATION_DATA","OPEN_DRONE_ID_BASIC_ID","OPEN_DRONE_ID_BASIC_ID_DATA","OPEN_DRONE_ID_LOCATION","OPEN_DRONE_ID_LOCATION_DATA","OPEN_DRONE_ID_MESSAGE_PACK","OPEN_DRONE_ID_MESSAGE_PACK_DATA","OPEN_DRONE_ID_OPERATOR_ID","OPEN_DRONE_ID_OPERATOR_ID_DATA","OPEN_DRONE_ID_SELF_ID","OPEN_DRONE_ID_SELF_ID_DATA","OPEN_DRONE_ID_SYSTEM","OPEN_DRONE_ID_SYSTEM_DATA","OPEN_DRONE_ID_SYSTEM_UPDATE","OPEN_DRONE_ID_SYSTEM_UPDATE_DATA","OPTICAL_FLOW","OPTICAL_FLOW_DATA","OPTICAL_FLOW_RAD","OPTICAL_FLOW_RAD_DATA","ORBIT_EXECUTION_STATUS","ORBIT_EXECUTION_STATUS_DATA","ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE","ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER","ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING","ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED","ORBIT_YAW_BEHAVIOUR_UNCONTROLLED","OrbitYawBehaviour","PARACHUTE_DISABLE","PARACHUTE_ENABLE","PARACHUTE_RELEASE","PARAM_ACK_ACCEPTED","PARAM_ACK_FAILED","PARAM_ACK_IN_PROGRESS","PARAM_ACK_VALUE_UNSUPPORTED","PARAM_EXT_ACK","PARAM_EXT_ACK_DATA","PARAM_EXT_REQUEST_LIST","PARAM_EXT_REQUEST_LIST_DATA","PARAM_EXT_REQUEST_READ","PARAM_EXT_REQUEST_READ_DATA","PARAM_EXT_SET","PARAM_EXT_SET_DATA","PARAM_EXT_VALUE","PARAM_EXT_VALUE_DATA","PARAM_MAP_RC","PARAM_MAP_RC_DATA","PARAM_READ_PERSISTENT","PARAM_REQUEST_LIST","PARAM_REQUEST_LIST_DATA","PARAM_REQUEST_READ","PARAM_REQUEST_READ_DATA","PARAM_RESET_ALL_DEFAULT","PARAM_RESET_CONFIG_DEFAULT","PARAM_RESET_SENSOR_DEFAULT","PARAM_SET","PARAM_SET_DATA","PARAM_VALUE","PARAM_VALUE_DATA","PARAM_WRITE_PERSISTENT","PING","PING_DATA","PLAY_TUNE","PLAY_TUNE_DATA","PLAY_TUNE_V2","PLAY_TUNE_V2_DATA","POSITION_TARGET_GLOBAL_INT","POSITION_TARGET_GLOBAL_INT_DATA","POSITION_TARGET_LOCAL_NED","POSITION_TARGET_LOCAL_NED_DATA","POSITION_TARGET_TYPEMASK_AX_IGNORE","POSITION_TARGET_TYPEMASK_AY_IGNORE","POSITION_TARGET_TYPEMASK_AZ_IGNORE","POSITION_TARGET_TYPEMASK_FORCE_SET","POSITION_TARGET_TYPEMASK_VX_IGNORE","POSITION_TARGET_TYPEMASK_VY_IGNORE","POSITION_TARGET_TYPEMASK_VZ_IGNORE","POSITION_TARGET_TYPEMASK_X_IGNORE","POSITION_TARGET_TYPEMASK_YAW_IGNORE","POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE","POSITION_TARGET_TYPEMASK_Y_IGNORE","POSITION_TARGET_TYPEMASK_Z_IGNORE","POWER_STATUS","POWER_STATUS_DATA","PRECISION_LAND_MODE_DISABLED","PRECISION_LAND_MODE_OPPORTUNISTIC","PRECISION_LAND_MODE_REQUIRED","PROTOCOL_VERSION","PROTOCOL_VERSION_DATA","ParachuteAction","ParamAck","PositionTargetTypemask","PrecisionLandMode","PreflightStorageMissionAction","PreflightStorageParameterAction","RADIO_STATUS","RADIO_STATUS_DATA","RAW_IMU","RAW_IMU_DATA","RAW_PRESSURE","RAW_PRESSURE_DATA","RAW_RPM","RAW_RPM_DATA","RC_CHANNELS","RC_CHANNELS_DATA","RC_CHANNELS_OVERRIDE","RC_CHANNELS_OVERRIDE_DATA","RC_CHANNELS_RAW","RC_CHANNELS_RAW_DATA","RC_CHANNELS_SCALED","RC_CHANNELS_SCALED_DATA","RC_TYPE_SPEKTRUM_DSM2","RC_TYPE_SPEKTRUM_DSMX","REQUEST_DATA_STREAM","REQUEST_DATA_STREAM_DATA","REQUEST_EVENT","REQUEST_EVENT_DATA","RESOURCE_REQUEST","RESOURCE_REQUEST_DATA","RESPONSE_EVENT_ERROR","RESPONSE_EVENT_ERROR_DATA","RTK_BASELINE_COORDINATE_SYSTEM_ECEF","RTK_BASELINE_COORDINATE_SYSTEM_NED","RcType","RtkBaselineCoordinateSystem","SAFETY_ALLOWED_AREA","SAFETY_ALLOWED_AREA_DATA","SAFETY_SET_ALLOWED_AREA","SAFETY_SET_ALLOWED_AREA_DATA","SCALED_IMU","SCALED_IMU2","SCALED_IMU2_DATA","SCALED_IMU3","SCALED_IMU3_DATA","SCALED_IMU_DATA","SCALED_PRESSURE","SCALED_PRESSURE2","SCALED_PRESSURE2_DATA","SCALED_PRESSURE3","SCALED_PRESSURE3_DATA","SCALED_PRESSURE_DATA","SERIAL_CONTROL","SERIAL_CONTROL_DATA","SERIAL_CONTROL_DEV_GPS1","SERIAL_CONTROL_DEV_GPS2","SERIAL_CONTROL_DEV_SHELL","SERIAL_CONTROL_DEV_TELEM1","SERIAL_CONTROL_DEV_TELEM2","SERIAL_CONTROL_FLAG_BLOCKING","SERIAL_CONTROL_FLAG_EXCLUSIVE","SERIAL_CONTROL_FLAG_MULTI","SERIAL_CONTROL_FLAG_REPLY","SERIAL_CONTROL_FLAG_RESPOND","SERIAL_CONTROL_SERIAL0","SERIAL_CONTROL_SERIAL1","SERIAL_CONTROL_SERIAL2","SERIAL_CONTROL_SERIAL3","SERIAL_CONTROL_SERIAL4","SERIAL_CONTROL_SERIAL5","SERIAL_CONTROL_SERIAL6","SERIAL_CONTROL_SERIAL7","SERIAL_CONTROL_SERIAL8","SERIAL_CONTROL_SERIAL9","SERVO_OUTPUT_RAW","SERVO_OUTPUT_RAW_DATA","SETUP_SIGNING","SETUP_SIGNING_DATA","SET_ACTUATOR_CONTROL_TARGET","SET_ACTUATOR_CONTROL_TARGET_DATA","SET_ATTITUDE_TARGET","SET_ATTITUDE_TARGET_DATA","SET_GPS_GLOBAL_ORIGIN","SET_GPS_GLOBAL_ORIGIN_DATA","SET_HOME_POSITION","SET_HOME_POSITION_DATA","SET_MODE","SET_MODE_DATA","SET_POSITION_TARGET_GLOBAL_INT","SET_POSITION_TARGET_GLOBAL_INT_DATA","SET_POSITION_TARGET_LOCAL_NED","SET_POSITION_TARGET_LOCAL_NED_DATA","SIM_STATE","SIM_STATE_DATA","SMART_BATTERY_INFO","SMART_BATTERY_INFO_DATA","STATUSTEXT","STATUSTEXT_DATA","STORAGE_INFORMATION","STORAGE_INFORMATION_DATA","STORAGE_STATUS_EMPTY","STORAGE_STATUS_NOT_SUPPORTED","STORAGE_STATUS_READY","STORAGE_STATUS_UNFORMATTED","STORAGE_TYPE_CF","STORAGE_TYPE_CFE","STORAGE_TYPE_HD","STORAGE_TYPE_MICROSD","STORAGE_TYPE_OTHER","STORAGE_TYPE_SD","STORAGE_TYPE_UNKNOWN","STORAGE_TYPE_USB_STICK","STORAGE_TYPE_XQD","STORAGE_USAGE_FLAG_LOGS","STORAGE_USAGE_FLAG_PHOTO","STORAGE_USAGE_FLAG_SET","STORAGE_USAGE_FLAG_VIDEO","SUPPORTED_TUNES","SUPPORTED_TUNES_DATA","SYSTEM_TIME","SYSTEM_TIME_DATA","SYS_STATUS","SYS_STATUS_DATA","SerialControlDev","SerialControlFlag","SetFocusType","StorageStatus","StorageType","StorageUsageFlag","TERRAIN_CHECK","TERRAIN_CHECK_DATA","TERRAIN_DATA","TERRAIN_DATA_DATA","TERRAIN_REPORT","TERRAIN_REPORT_DATA","TERRAIN_REQUEST","TERRAIN_REQUEST_DATA","TIMESYNC","TIMESYNC_DATA","TIME_ESTIMATE_TO_TARGET","TIME_ESTIMATE_TO_TARGET_DATA","TRAJECTORY_REPRESENTATION_BEZIER","TRAJECTORY_REPRESENTATION_BEZIER_DATA","TRAJECTORY_REPRESENTATION_WAYPOINTS","TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA","TUNE_FORMAT_MML_MODERN","TUNE_FORMAT_QBASIC1_1","TUNNEL","TUNNEL_DATA","TuneFormat","UAVCAN_NODE_HEALTH_CRITICAL","UAVCAN_NODE_HEALTH_ERROR","UAVCAN_NODE_HEALTH_OK","UAVCAN_NODE_HEALTH_WARNING","UAVCAN_NODE_INFO","UAVCAN_NODE_INFO_DATA","UAVCAN_NODE_MODE_INITIALIZATION","UAVCAN_NODE_MODE_MAINTENANCE","UAVCAN_NODE_MODE_OFFLINE","UAVCAN_NODE_MODE_OPERATIONAL","UAVCAN_NODE_MODE_SOFTWARE_UPDATE","UAVCAN_NODE_STATUS","UAVCAN_NODE_STATUS_DATA","UNDER_WAY","UTM_DATA_AVAIL_FLAGS_ALTITUDE_AVAILABLE","UTM_DATA_AVAIL_FLAGS_HORIZONTAL_VELO_AVAILABLE","UTM_DATA_AVAIL_FLAGS_NEXT_WAYPOINT_AVAILABLE","UTM_DATA_AVAIL_FLAGS_POSITION_AVAILABLE","UTM_DATA_AVAIL_FLAGS_RELATIVE_ALTITUDE_AVAILABLE","UTM_DATA_AVAIL_FLAGS_TIME_VALID","UTM_DATA_AVAIL_FLAGS_UAS_ID_AVAILABLE","UTM_DATA_AVAIL_FLAGS_VERTICAL_VELO_AVAILABLE","UTM_FLIGHT_STATE_AIRBORNE","UTM_FLIGHT_STATE_EMERGENCY","UTM_FLIGHT_STATE_GROUND","UTM_FLIGHT_STATE_NOCTRL","UTM_FLIGHT_STATE_UNKNOWN","UTM_GLOBAL_POSITION","UTM_GLOBAL_POSITION_DATA","UavcanNodeHealth","UavcanNodeMode","UtmDataAvailFlags","UtmFlightState","V2_EXTENSION","V2_EXTENSION_DATA","VFR_HUD","VFR_HUD_DATA","VIBRATION","VIBRATION_DATA","VICON_POSITION_ESTIMATE","VICON_POSITION_ESTIMATE_DATA","VIDEO_STREAM_INFORMATION","VIDEO_STREAM_INFORMATION_DATA","VIDEO_STREAM_STATUS","VIDEO_STREAM_STATUS_DATA","VIDEO_STREAM_STATUS_FLAGS_RUNNING","VIDEO_STREAM_STATUS_FLAGS_THERMAL","VIDEO_STREAM_TYPE_MPEG_TS_H264","VIDEO_STREAM_TYPE_RTPUDP","VIDEO_STREAM_TYPE_RTSP","VIDEO_STREAM_TYPE_TCP_MPEG","VISION_POSITION_ESTIMATE","VISION_POSITION_ESTIMATE_DATA","VISION_SPEED_ESTIMATE","VISION_SPEED_ESTIMATE_DATA","VTOL_TRANSITION_HEADING_ANY","VTOL_TRANSITION_HEADING_NEXT_WAYPOINT","VTOL_TRANSITION_HEADING_SPECIFIED","VTOL_TRANSITION_HEADING_TAKEOFF","VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT","Vcc","VideoStreamStatusFlags","VideoStreamType","Vservo","VtolTransitionHeading","WHEEL_DISTANCE","WHEEL_DISTANCE_DATA","WIFI_CONFIG_AP","WIFI_CONFIG_AP_DATA","WIFI_CONFIG_AP_MODE_AP","WIFI_CONFIG_AP_MODE_DISABLED","WIFI_CONFIG_AP_MODE_STATION","WIFI_CONFIG_AP_MODE_UNDEFINED","WIFI_CONFIG_AP_RESPONSE_ACCEPTED","WIFI_CONFIG_AP_RESPONSE_MODE_ERROR","WIFI_CONFIG_AP_RESPONSE_PASSWORD_ERROR","WIFI_CONFIG_AP_RESPONSE_REJECTED","WIFI_CONFIG_AP_RESPONSE_SSID_ERROR","WIFI_CONFIG_AP_RESPONSE_UNDEFINED","WINCH_ABANDON_LINE","WINCH_DELIVER","WINCH_HOLD","WINCH_LOAD_LINE","WINCH_LOAD_PAYLOAD","WINCH_LOCK","WINCH_RATE_CONTROL","WINCH_RELATIVE_LENGTH_CONTROL","WINCH_RELAXED","WINCH_RETRACT","WINCH_STATUS","WINCH_STATUS_DATA","WIND_COV","WIND_COV_DATA","WifiConfigApMode","WifiConfigApResponse","WinchActions","ZOOM_TYPE_CONTINUOUS","ZOOM_TYPE_FOCAL_LENGTH","ZOOM_TYPE_RANGE","ZOOM_TYPE_STEP","abs_pressure","abs_pressure","acc","acc_x","acc_y","acc_z","accuracy","accuracy","ack","action","active","actuator","address","afx","afx","afx","afx","afy","afy","afy","afy","afz","afz","afz","afz","airspeed","airspeed","airspeed","airspeed","airspeed_sp","airspeed_sp","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt_camera","alt_error","alt_image","altitude","altitude","altitude","altitude","altitude","altitude","altitude_amsl","altitude_amsl","altitude_barometric","altitude_geodetic","altitude_local","altitude_minimum_delta","altitude_monotonic","altitude_relative","altitude_sp","altitude_terrain","altitude_type","angle_x","angle_y","angular_velocity_x","angular_velocity_x","angular_velocity_x","angular_velocity_y","angular_velocity_y","angular_velocity_y","angular_velocity_z","angular_velocity_z","angular_velocity_z","apn","approach_x","approach_x","approach_y","approach_y","approach_z","approach_z","area_ceiling","area_count","area_floor","area_radius","arguments","arming_time_utc","array_id","aspd_error","attitude_q","attitude_quaternion","authentication_data","authentication_type","autocontinue","autocontinue","autocontinue","autopilot","autopilot","autosaved","aux1","aux2","aux3","aux4","available_capacity","available_capacity","ax","ay","az","barometer_accuracy","barometric_pressure","base_mode","base_mode","base_mode","baseline_a_mm","baseline_a_mm","baseline_b_mm","baseline_b_mm","baseline_c_mm","baseline_c_mm","baseline_coords_type","baseline_coords_type","bat_current_setpoint","battery","battery_current","battery_function","battery_function","battery_remaining","battery_remaining","battery_remaining","baudrate","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitrate","bitrate","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","board_version","body_pitch_rate","body_pitch_rate","body_roll_rate","body_roll_rate","body_yaw_rate","body_yaw_rate","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bottom_clearance","breach_count","breach_status","breach_time","breach_type","bus","bus","bus","bus_voltage","buttons","cal_mask","cal_status","callsign","callsign","cam_definition_uri","cam_definition_version","camera_id","cap_flags","cap_flags","capabilities","capacity_full","capacity_full_specification","capture_result","category_eu","chan10_raw","chan10_raw","chan11_raw","chan11_raw","chan12_raw","chan12_raw","chan13_raw","chan14_raw","chan15_raw","chan16_raw","chan17_raw","chan18_raw","chan1_raw","chan1_raw","chan1_raw","chan1_raw","chan1_scaled","chan2_raw","chan2_raw","chan2_raw","chan2_raw","chan2_scaled","chan3_raw","chan3_raw","chan3_raw","chan3_raw","chan3_scaled","chan4_raw","chan4_raw","chan4_raw","chan4_raw","chan4_scaled","chan5_raw","chan5_raw","chan5_raw","chan5_raw","chan5_scaled","chan6_raw","chan6_raw","chan6_raw","chan6_raw","chan6_scaled","chan7_raw","chan7_raw","chan7_raw","chan7_raw","chan7_scaled","chan8_raw","chan8_raw","chan8_raw","chan8_raw","chan8_scaled","chan9_raw","chan9_raw","chancount","charging_minimum_voltage","child_frame_id","class_eu","classification_type","climb","climb_rate","climb_rate","clipping_0","clipping_1","clipping_2","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cog","cog","cog","command","command","command","command","command","command","command","commanded_action","compass_id","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","confirmation","connection_type","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","control_request","control_request","controls","controls","controls","coordinate_frame","coordinate_frame","coordinate_frame","coordinate_frame","count","count","count","count","count","count","count","counter","covariance","covariance","covariance","covariance","cpu_combined","cpu_cores","current","current","current","current","current","current_battery","current_battery","current_consumed","current_distance","current_height","custom0","custom1","custom2","custom_cap_flags","custom_mode","custom_mode","custom_mode","custom_mode","custom_name","custom_state","cycle_count","cylinder_head_temperature","data","data","data","data","data","data","data","data","data","data","data_page","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default_message_from_id","delta","description","description_type","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destination_component","destination_system","device","device_name","dgps_age","dgps_numch","diag_x","diag_y","diag_z","diff_pressure","diff_pressure","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","dimension_bow","dimension_port","dimension_starboard","dimension_stern","direction","discharge_minimum_voltage","dist","distance","distance","distance","distance","distances","drop_rate_comm","ecu_index","emitter_type","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","enable_lte","enable_pin","end","end_index","end_index","energy_consumed","engine_load","eph","eph","eph","eph","epv","epv","epv","epv","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","error","error_count","errors_comm","errors_count1","errors_count2","errors_count3","errors_count4","est_capabilities","estimator_status","estimator_type","estimator_type","event_time_boot_ms","exhaust_gas_temperature","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extra_crc","failed_sessions","failsafe","failure_flags","failure_flags","failure_flags","failure_reason","fan_speed","feed_forward_angular_velocity_z","fields_updated","fields_updated","file_crc","file_url","firmware_version","firmware_version","first_message_offset","first_message_offset","first_sequence","fitness","fix_type","fix_type","fix_type","fix_type","fixed","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flight_custom_version","flight_state","flight_sw_version","flight_uuid","flow_comp_m_x","flow_comp_m_y","flow_x","flow_y","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","focal_length","format","format","frame","frame","frame","frame","frame","frame","frame","frame_id","framerate","framerate","frequency","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","fuel_consumed","fuel_flow","gcs_system_id","general_metadata_file_crc","general_metadata_uri","generator_speed","generator_temperature","gimbal_device_id","gimbal_device_id","gimbal_device_id","gimbal_device_id","gimbal_device_id","gps_fix_type","gps_id","gps_nsat","gpu_combined","gpu_cores","grid_spacing","grid_spacing","gridbit","ground_distance","groundspeed","groundspeed","groundspeed","group_mlx","group_mlx","h_acc","h_acc","hagl_ratio","hardware_version","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hdg","hdg","hdg_acc","hdop","heading","heading","heading","heading","heading","heading_sp","health","health","height","height","height_reference","hfov","hfov","hfov","hor_velocity","horiz_accuracy","horiz_accuracy","horizontal_accuracy","horizontal_minimum_delta","humidity","hw_unique_id","hw_version_major","hw_version_minor","iar_num_hypotheses","iar_num_hypotheses","id","id","id","id","id","id","id","id","id","id","id","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_type","ids","ignition_timing","ignore_flags","image_index","image_interval","image_status","increment","ind","ind_airspeed","index","index","index","info","initial_timestamp","injection_time","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","intake_manifold_pressure","intake_manifold_temperature","integrated_x","integrated_x","integrated_xgyro","integrated_xgyro","integrated_y","integrated_y","integrated_ygyro","integrated_ygyro","integrated_zgyro","integrated_zgyro","integration_time_us","integration_time_us","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","interval_us","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","jpg_quality","key","lac","land","landed_state","landed_state","landed_state","last_change_ms","last_heartbeat","last_log_num","last_page_index","last_sequence","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat_camera","lat_image","lat_int","lat_int","latitude","latitude","latitude","latitude","latitude","latitude","latitude","len","len","len","len","length","length","length","lens_id","library_version_hash","line_length","link_rx_max","link_rx_rate","link_tx_max","link_tx_rate","link_type","load","load_current","loaded","log_levels","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon_camera","lon_image","lon_int","lon_int","longitude","longitude","longitude","longitude","longitude","longitude","longitude","mag_ratio","manual_override_switch","mask","mavlink_version","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","max_distance","max_distance","max_version","mcc","message_id","message_id","message_id_from_name","message_name","message_rate","message_type","messages","messages_lost","messages_received","messages_sent","middleware_custom_version","middleware_sw_version","min_distance","min_distance","min_version","mission_end","mission_next_item","mnc","mode","mode","mode","mode_id","mode_switch","model_name","model_name","msg_pack_size","name","name","name","name","name","name","name","nav_bearing","nav_mode","nav_pitch","nav_roll","navigational_status","new_pin","next_alt","next_lat","next_lon","noise","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","nsats","nsats","num_ids","num_logs","offdiag_x","offdiag_y","offdiag_z","ofs","ofs","ofs_x","ofs_y","ofs_z","on_off","onboard_control_sensors_enabled","onboard_control_sensors_health","onboard_control_sensors_present","operation","operator_altitude_geo","operator_altitude_geo","operator_id","operator_id_type","operator_latitude","operator_latitude","operator_location_type","operator_longitude","operator_longitude","orientation","os_custom_version","os_sw_version","p1x","p1x","p1y","p1y","p1z","p1z","p2x","p2x","p2y","p2y","p2z","p2z","packets","param1","param1","param1","param1","param2","param2","param2","param2","param3","param3","param3","param3","param4","param4","param4","param4","param5","param6","param7","param_count","param_count","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_index","param_index","param_index","param_index","param_index","param_result","param_type","param_type","param_type","param_type","param_type","param_value","param_value","param_value","param_value","param_value","param_value0","param_value_max","param_value_min","parameter_rc_channel_index","parse","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","passkey","password","payload","payload","payload","payload","payload_length","payload_type","pending","peripherals_metadata_file_crc","peripherals_metadata_uri","pin","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch_elevator","pitch_max","pitch_max","pitch_min","pitch_min","pitch_rate","pitch_rate","pitch_rate","pitchspeed","pitchspeed","pitchspeed","pitchspeed","pitchspeed","pitchspeed","point_x","point_y","port","port","port","pos_horiz_accuracy","pos_horiz_ratio","pos_variance","pos_vert_accuracy","pos_vert_ratio","pos_x","pos_x","pos_y","pos_y","pos_yaw","pos_yaw","pos_z","pos_z","pose_covariance","position_cov","power_generated","press_abs","press_abs","press_abs","press_abs","press_diff","press_diff","press_diff","press_diff1","press_diff2","pressure_alt","pressure_alt","primary_control_compid","primary_control_sysid","product_id","pt_compensation","puk","q","q","q","q","q","q","q","q","q","q","q","q","q","q","q1","q1","q2","q2","q3","q3","q4","q4","q_estimated_delay_us","quality","quality","quality","quality","r","radius","radius","ram_total","ram_usage","rates","read_speed","reason","rec_bottom_x","rec_bottom_y","rec_top_x","rec_top_y","recording_time_ms","rectifier_temperature","relative_alt","relative_alt","relative_alt","relative_alt","remnoise","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remrssi","req_message_rate","req_stream_id","request_id","resolution_h","resolution_h","resolution_h","resolution_v","resolution_v","resolution_v","response","resting_minimum_voltage","result","ring_pending","roaming","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll_ailerons","roll_max","roll_max","roll_min","roll_min","roll_rate","rollspeed","rollspeed","rollspeed","rollspeed","rollspeed","rollspeed","rotation","rotation","rpm","rpm","rssi","rssi","rssi","rssi","rssi","rtk_health","rtk_health","rtk_rate","rtk_rate","rtk_receiver_id","rtk_receiver_id","runtime","rx_buf","rx_overflows","rx_parse_err","rx_rate","rx_session_pending","rxerrors","safe_return","satellite_azimuth","satellite_elevation","satellite_prn","satellite_snr","satellite_used","satellites_visible","satellites_visible","satellites_visible","satellites_visible","satellites_visible","scale","secondary_control_compid","secondary_control_sysid","secret_key","sensor_id","sensor_id","sensor_id","sensor_size_h","sensor_size_v","sensor_type","seq","seq","seq","seq","seq","seq","seq","seq","seq","seqnr","sequence","sequence","sequence","sequence","sequence","sequence","sequence_oldest_available","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","serial_number","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","servo1_raw","servo2_raw","servo3_raw","servo4_raw","servo5_raw","servo6_raw","servo7_raw","servo8_raw","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","severity","signal_quality","single_message_size","size","size","size_x","size_y","spacing","spark_dwell_time","spec_version_hash","speed","speed_accuracy","speed_accuracy","speed_horizontal","speed_vertical","squawk","src","ssid","start","start_index","start_index","start_stop","state","status","status","status","status","status","status","std_dev_horz","std_dev_vert","storage","storage_count","storage_id","storage_total","storage_type","storage_usage","stream_id","stream_id","stream_id","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_mode","successful_sessions","sw_vcs_commit","sw_version_major","sw_version_minor","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","system_status","takeoff_time_utc","target","target_altitude","target_bearing","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_data","target_distance","target_heading","target_network","target_network","target_num","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","tas_ratio","tc1","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature_air","temperature_air","temperature_board","temperature_core","tension","terrain_height","text","threat_level","throttle","throttle","throttle","throttle","throttle_out","throttle_position","thrust","thrust","thrust","time","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_us","time_delta_distance_us","time_delta_distance_us","time_last_baseline_ms","time_last_baseline_ms","time_to_minimum_delta","time_unix_usec","time_until_maintenance","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_utc","time_utc","time_week","time_week_ms","timeout","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp_accuracy","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","total_capacity","tow","tow","tracking_mode","tracking_status","tracking_status","transfer_type","true_airspeed","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ts1","tslc","tslc","tune","tune","turn_rate","tx_buf","tx_overflows","tx_rate","tx_session_pending","txbuf","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_mask","type_mask","type_mask","type_mask","type_mask","type_mask","ua_type","uas_id","uas_id","uid","uid","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","update_rate","uptime","uptime_sec","uptime_sec","uri","uri","uri","uri_type","usec","usec","usec","usec","used_capacity","v_acc","v_acc","v_estimated_delay_us","valid_points","valid_points","value","value","value","value","var_horiz","var_vert","vd","vd","vd","vdop","ve","ve","ve","vel","vel","vel","vel","vel_acc","vel_acc","vel_d","vel_e","vel_n","vel_ratio","vel_variance","vel_x","vel_y","vel_yaw","vel_z","velocity","velocity_covariance","vendor_id","vendor_name","vendor_name","vendor_specific_status_code","ver","ver_velocity","version","version","vert_accuracy","vert_accuracy","vertical_accuracy","vfov","vibration_x","vibration_y","vibration_z","video_status","vn","vn","vn","voltage","voltage","voltage_battery","voltages","vtol_state","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","weight","width","wind_alt","wind_heading","wind_x","wind_y","wind_z","windspeed","wn","wn","wp_dist","wp_distance","wp_num","wp_num","write_speed","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x_acc","x_pos","x_vel","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xmag","xmag","xmag","xmag","xmag","xmag","xtrack_error","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y_acc","y_pos","y_vel","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw_max","yaw_max","yaw_min","yaw_min","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rudder","yawspeed","yawspeed","yawspeed","yawspeed","yawspeed","yawspeed","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ymag","ymag","ymag","ymag","ymag","ymag","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z_acc","z_pos","z_vel","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zmag","zmag","zmag","zmag","zmag","zmag","InvalidEnum","InvalidFlag","Io","Io","MessageReadError","MessageWriteError","Parse","ParserError","UnknownMessage","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","to_string","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","enum_type","flag_type","id","value","value","DEFAULT","DEFAULT","DEFAULT","DEFAULT","ENCODED_LEN","ENCODED_LEN","ICAROUS_FMS_STATE_APPROACH","ICAROUS_FMS_STATE_CLIMB","ICAROUS_FMS_STATE_CRUISE","ICAROUS_FMS_STATE_IDLE","ICAROUS_FMS_STATE_LAND","ICAROUS_FMS_STATE_TAKEOFF","ICAROUS_HEARTBEAT","ICAROUS_HEARTBEAT_DATA","ICAROUS_KINEMATIC_BANDS","ICAROUS_KINEMATIC_BANDS_DATA","ICAROUS_TRACK_BAND_TYPE_NEAR","ICAROUS_TRACK_BAND_TYPE_NONE","ICAROUS_TRACK_BAND_TYPE_RECOVERY","IcarousFmsState","IcarousTrackBandTypes","MavMessage","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","default","default","default_message_from_id","deser","deser","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","extra_crc","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_i64","from_i64","from_u64","from_u64","into","into","into","into","into","max1","max2","max3","max4","max5","message_id","message_id_from_name","message_name","min1","min2","min3","min4","min5","numBands","parse","ser","ser","ser","serialize","serialize","serialize","serialize","serialize","status","to_i64","to_i64","to_owned","to_owned","to_owned","to_owned","to_owned","to_u64","to_u64","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type1","type2","type3","type4","type5","type_id","type_id","type_id","type_id","type_id","ACTUATOR_CONFIGURATION_3D_MODE_OFF","ACTUATOR_CONFIGURATION_3D_MODE_ON","ACTUATOR_CONFIGURATION_BEEP","ACTUATOR_CONFIGURATION_NONE","ACTUATOR_CONFIGURATION_SPIN_DIRECTION1","ACTUATOR_CONFIGURATION_SPIN_DIRECTION2","ACTUATOR_CONTROL_TARGET","ACTUATOR_CONTROL_TARGET_DATA","ACTUATOR_OUTPUT_FUNCTION_MOTOR1","ACTUATOR_OUTPUT_FUNCTION_MOTOR10","ACTUATOR_OUTPUT_FUNCTION_MOTOR11","ACTUATOR_OUTPUT_FUNCTION_MOTOR12","ACTUATOR_OUTPUT_FUNCTION_MOTOR13","ACTUATOR_OUTPUT_FUNCTION_MOTOR14","ACTUATOR_OUTPUT_FUNCTION_MOTOR15","ACTUATOR_OUTPUT_FUNCTION_MOTOR16","ACTUATOR_OUTPUT_FUNCTION_MOTOR2","ACTUATOR_OUTPUT_FUNCTION_MOTOR3","ACTUATOR_OUTPUT_FUNCTION_MOTOR4","ACTUATOR_OUTPUT_FUNCTION_MOTOR5","ACTUATOR_OUTPUT_FUNCTION_MOTOR6","ACTUATOR_OUTPUT_FUNCTION_MOTOR7","ACTUATOR_OUTPUT_FUNCTION_MOTOR8","ACTUATOR_OUTPUT_FUNCTION_MOTOR9","ACTUATOR_OUTPUT_FUNCTION_NONE","ACTUATOR_OUTPUT_FUNCTION_SERVO1","ACTUATOR_OUTPUT_FUNCTION_SERVO10","ACTUATOR_OUTPUT_FUNCTION_SERVO11","ACTUATOR_OUTPUT_FUNCTION_SERVO12","ACTUATOR_OUTPUT_FUNCTION_SERVO13","ACTUATOR_OUTPUT_FUNCTION_SERVO14","ACTUATOR_OUTPUT_FUNCTION_SERVO15","ACTUATOR_OUTPUT_FUNCTION_SERVO16","ACTUATOR_OUTPUT_FUNCTION_SERVO2","ACTUATOR_OUTPUT_FUNCTION_SERVO3","ACTUATOR_OUTPUT_FUNCTION_SERVO4","ACTUATOR_OUTPUT_FUNCTION_SERVO5","ACTUATOR_OUTPUT_FUNCTION_SERVO6","ACTUATOR_OUTPUT_FUNCTION_SERVO7","ACTUATOR_OUTPUT_FUNCTION_SERVO8","ACTUATOR_OUTPUT_FUNCTION_SERVO9","ACTUATOR_OUTPUT_STATUS","ACTUATOR_OUTPUT_STATUS_DATA","ADSB_ALTITUDE_TYPE_GEOMETRIC","ADSB_ALTITUDE_TYPE_PRESSURE_QNH","ADSB_EMITTER_TYPE_EMERGENCY_SURFACE","ADSB_EMITTER_TYPE_GLIDER","ADSB_EMITTER_TYPE_HEAVY","ADSB_EMITTER_TYPE_HIGHLY_MANUV","ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE","ADSB_EMITTER_TYPE_LARGE","ADSB_EMITTER_TYPE_LIGHT","ADSB_EMITTER_TYPE_LIGHTER_AIR","ADSB_EMITTER_TYPE_NO_INFO","ADSB_EMITTER_TYPE_PARACHUTE","ADSB_EMITTER_TYPE_POINT_OBSTACLE","ADSB_EMITTER_TYPE_ROTOCRAFT","ADSB_EMITTER_TYPE_SERVICE_SURFACE","ADSB_EMITTER_TYPE_SMALL","ADSB_EMITTER_TYPE_SPACE","ADSB_EMITTER_TYPE_UAV","ADSB_EMITTER_TYPE_ULTRA_LIGHT","ADSB_EMITTER_TYPE_UNASSGINED3","ADSB_EMITTER_TYPE_UNASSIGNED","ADSB_EMITTER_TYPE_UNASSIGNED2","ADSB_FLAGS_BARO_VALID","ADSB_FLAGS_SIMULATED","ADSB_FLAGS_SOURCE_UAT","ADSB_FLAGS_VALID_ALTITUDE","ADSB_FLAGS_VALID_CALLSIGN","ADSB_FLAGS_VALID_COORDS","ADSB_FLAGS_VALID_HEADING","ADSB_FLAGS_VALID_SQUAWK","ADSB_FLAGS_VALID_VELOCITY","ADSB_FLAGS_VERTICAL_VELOCITY_VALID","ADSB_VEHICLE","ADSB_VEHICLE_DATA","AIS_FLAGS_HIGH_VELOCITY","AIS_FLAGS_LARGE_BOW_DIMENSION","AIS_FLAGS_LARGE_PORT_DIMENSION","AIS_FLAGS_LARGE_STARBOARD_DIMENSION","AIS_FLAGS_LARGE_STERN_DIMENSION","AIS_FLAGS_POSITION_ACCURACY","AIS_FLAGS_TURN_RATE_SIGN_ONLY","AIS_FLAGS_VALID_CALLSIGN","AIS_FLAGS_VALID_COG","AIS_FLAGS_VALID_DIMENSIONS","AIS_FLAGS_VALID_NAME","AIS_FLAGS_VALID_TURN_RATE","AIS_FLAGS_VALID_VELOCITY","AIS_NAV_AGROUND","AIS_NAV_AIS_SART","AIS_NAV_ANCHORED","AIS_NAV_DRAUGHT_CONSTRAINED","AIS_NAV_FISHING","AIS_NAV_MOORED","AIS_NAV_RESERVED_1","AIS_NAV_RESERVED_2","AIS_NAV_RESERVED_3","AIS_NAV_RESERVED_HSC","AIS_NAV_RESERVED_WIG","AIS_NAV_RESTRICTED_MANOEUVERABILITY","AIS_NAV_SAILING","AIS_NAV_UNKNOWN","AIS_NAV_UN_COMMANDED","AIS_TYPE_ANTI_POLLUTION","AIS_TYPE_CARGO","AIS_TYPE_CARGO_HAZARDOUS_A","AIS_TYPE_CARGO_HAZARDOUS_B","AIS_TYPE_CARGO_HAZARDOUS_C","AIS_TYPE_CARGO_HAZARDOUS_D","AIS_TYPE_CARGO_RESERVED_1","AIS_TYPE_CARGO_RESERVED_2","AIS_TYPE_CARGO_RESERVED_3","AIS_TYPE_CARGO_RESERVED_4","AIS_TYPE_CARGO_UNKNOWN","AIS_TYPE_DIVING","AIS_TYPE_DREDGING","AIS_TYPE_FISHING","AIS_TYPE_HSC","AIS_TYPE_HSC_HAZARDOUS_A","AIS_TYPE_HSC_HAZARDOUS_B","AIS_TYPE_HSC_HAZARDOUS_C","AIS_TYPE_HSC_HAZARDOUS_D","AIS_TYPE_HSC_RESERVED_1","AIS_TYPE_HSC_RESERVED_2","AIS_TYPE_HSC_RESERVED_3","AIS_TYPE_HSC_RESERVED_4","AIS_TYPE_HSC_UNKNOWN","AIS_TYPE_LAW_ENFORCEMENT","AIS_TYPE_MEDICAL_TRANSPORT","AIS_TYPE_MILITARY","AIS_TYPE_NONECOMBATANT","AIS_TYPE_OTHER","AIS_TYPE_OTHER_HAZARDOUS_A","AIS_TYPE_OTHER_HAZARDOUS_B","AIS_TYPE_OTHER_HAZARDOUS_C","AIS_TYPE_OTHER_HAZARDOUS_D","AIS_TYPE_OTHER_RESERVED_1","AIS_TYPE_OTHER_RESERVED_2","AIS_TYPE_OTHER_RESERVED_3","AIS_TYPE_OTHER_RESERVED_4","AIS_TYPE_OTHER_UNKNOWN","AIS_TYPE_PASSENGER","AIS_TYPE_PASSENGER_HAZARDOUS_A","AIS_TYPE_PASSENGER_HAZARDOUS_B","AIS_TYPE_PASSENGER_HAZARDOUS_C","AIS_TYPE_PASSENGER_HAZARDOUS_D","AIS_TYPE_PASSENGER_RESERVED_1","AIS_TYPE_PASSENGER_RESERVED_2","AIS_TYPE_PASSENGER_RESERVED_3","AIS_TYPE_PASSENGER_RESERVED_4","AIS_TYPE_PASSENGER_UNKNOWN","AIS_TYPE_PILOT","AIS_TYPE_PLEASURE","AIS_TYPE_PORT_TENDER","AIS_TYPE_RESERVED_1","AIS_TYPE_RESERVED_10","AIS_TYPE_RESERVED_11","AIS_TYPE_RESERVED_12","AIS_TYPE_RESERVED_13","AIS_TYPE_RESERVED_14","AIS_TYPE_RESERVED_15","AIS_TYPE_RESERVED_16","AIS_TYPE_RESERVED_17","AIS_TYPE_RESERVED_18","AIS_TYPE_RESERVED_19","AIS_TYPE_RESERVED_2","AIS_TYPE_RESERVED_20","AIS_TYPE_RESERVED_21","AIS_TYPE_RESERVED_3","AIS_TYPE_RESERVED_4","AIS_TYPE_RESERVED_5","AIS_TYPE_RESERVED_6","AIS_TYPE_RESERVED_7","AIS_TYPE_RESERVED_8","AIS_TYPE_RESERVED_9","AIS_TYPE_SAILING","AIS_TYPE_SAR","AIS_TYPE_SPARE_LOCAL_1","AIS_TYPE_SPARE_LOCAL_2","AIS_TYPE_TANKER","AIS_TYPE_TANKER_HAZARDOUS_A","AIS_TYPE_TANKER_HAZARDOUS_B","AIS_TYPE_TANKER_HAZARDOUS_C","AIS_TYPE_TANKER_HAZARDOUS_D","AIS_TYPE_TANKER_RESERVED_1","AIS_TYPE_TANKER_RESERVED_2","AIS_TYPE_TANKER_RESERVED_3","AIS_TYPE_TANKER_RESERVED_4","AIS_TYPE_TANKER_UNKNOWN","AIS_TYPE_TOWING","AIS_TYPE_TOWING_LARGE","AIS_TYPE_TUG","AIS_TYPE_UNKNOWN","AIS_TYPE_WIG","AIS_TYPE_WIG_HAZARDOUS_A","AIS_TYPE_WIG_HAZARDOUS_B","AIS_TYPE_WIG_HAZARDOUS_C","AIS_TYPE_WIG_HAZARDOUS_D","AIS_TYPE_WIG_RESERVED_1","AIS_TYPE_WIG_RESERVED_2","AIS_TYPE_WIG_RESERVED_3","AIS_TYPE_WIG_RESERVED_4","AIS_TYPE_WIG_RESERVED_5","AIS_VESSEL","AIS_VESSEL_DATA","ALTITUDE","ALTITUDE_DATA","ATTITUDE","ATTITUDE_DATA","ATTITUDE_QUATERNION","ATTITUDE_QUATERNION_COV","ATTITUDE_QUATERNION_COV_DATA","ATTITUDE_QUATERNION_DATA","ATTITUDE_TARGET","ATTITUDE_TARGET_DATA","ATTITUDE_TARGET_TYPEMASK_ATTITUDE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_PITCH_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_BODY_YAW_RATE_IGNORE","ATTITUDE_TARGET_TYPEMASK_THROTTLE_IGNORE","ATTITUDE_TARGET_TYPEMASK_THRUST_BODY_SET","ATT_POS_MOCAP","ATT_POS_MOCAP_DATA","AUTH_KEY","AUTH_KEY_DATA","AUTOPILOT_STATE_FOR_GIMBAL_DEVICE","AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA","AUTOPILOT_VERSION","AUTOPILOT_VERSION_DATA","AUTOTUNE_AXIS_DEFAULT","AUTOTUNE_AXIS_PITCH","AUTOTUNE_AXIS_ROLL","AUTOTUNE_AXIS_YAW","ActuatorConfiguration","ActuatorOutputFunction","AdsbAltitudeType","AdsbEmitterType","AdsbFlags","AisFlags","AisNavStatus","AisType","AttitudeTargetTypemask","AutotuneAxis","BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION","BATTERY_STATUS","BATTERY_STATUS_DATA","BUTTON_CHANGE","BUTTON_CHANGE_DATA","CAMERA_CAPTURE_STATUS","CAMERA_CAPTURE_STATUS_DATA","CAMERA_CAP_FLAGS_CAN_CAPTURE_IMAGE_IN_VIDEO_MODE","CAMERA_CAP_FLAGS_CAN_CAPTURE_VIDEO_IN_IMAGE_MODE","CAMERA_CAP_FLAGS_CAPTURE_IMAGE","CAMERA_CAP_FLAGS_CAPTURE_VIDEO","CAMERA_CAP_FLAGS_HAS_BASIC_FOCUS","CAMERA_CAP_FLAGS_HAS_BASIC_ZOOM","CAMERA_CAP_FLAGS_HAS_IMAGE_SURVEY_MODE","CAMERA_CAP_FLAGS_HAS_MODES","CAMERA_CAP_FLAGS_HAS_TRACKING_GEO_STATUS","CAMERA_CAP_FLAGS_HAS_TRACKING_POINT","CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE","CAMERA_CAP_FLAGS_HAS_VIDEO_STREAM","CAMERA_FOV_STATUS","CAMERA_FOV_STATUS_DATA","CAMERA_IMAGE_CAPTURED","CAMERA_IMAGE_CAPTURED_DATA","CAMERA_INFORMATION","CAMERA_INFORMATION_DATA","CAMERA_MODE_IMAGE","CAMERA_MODE_IMAGE_SURVEY","CAMERA_MODE_VIDEO","CAMERA_SETTINGS","CAMERA_SETTINGS_DATA","CAMERA_TRACKING_GEO_STATUS","CAMERA_TRACKING_GEO_STATUS_DATA","CAMERA_TRACKING_IMAGE_STATUS","CAMERA_TRACKING_IMAGE_STATUS_DATA","CAMERA_TRACKING_MODE_NONE","CAMERA_TRACKING_MODE_POINT","CAMERA_TRACKING_MODE_RECTANGLE","CAMERA_TRACKING_STATUS_FLAGS_ACTIVE","CAMERA_TRACKING_STATUS_FLAGS_ERROR","CAMERA_TRACKING_STATUS_FLAGS_IDLE","CAMERA_TRACKING_TARGET_DATA_EMBEDDED","CAMERA_TRACKING_TARGET_DATA_IN_STATUS","CAMERA_TRACKING_TARGET_DATA_NONE","CAMERA_TRACKING_TARGET_DATA_RENDERED","CAMERA_TRIGGER","CAMERA_TRIGGER_DATA","CANFD_FRAME","CANFD_FRAME_DATA","CAN_FILTER_ADD","CAN_FILTER_MODIFY","CAN_FILTER_MODIFY_DATA","CAN_FILTER_REMOVE","CAN_FILTER_REPLACE","CAN_FRAME","CAN_FRAME_DATA","CELLULAR_CONFIG","CELLULAR_CONFIG_BLOCKED_PUK_REQUIRED","CELLULAR_CONFIG_DATA","CELLULAR_CONFIG_RESPONSE_ACCEPTED","CELLULAR_CONFIG_RESPONSE_APN_ERROR","CELLULAR_CONFIG_RESPONSE_PIN_ERROR","CELLULAR_CONFIG_RESPONSE_REJECTED","CELLULAR_NETWORK_FAILED_REASON_NONE","CELLULAR_NETWORK_FAILED_REASON_SIM_ERROR","CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING","CELLULAR_NETWORK_FAILED_REASON_UNKNOWN","CELLULAR_NETWORK_RADIO_TYPE_CDMA","CELLULAR_NETWORK_RADIO_TYPE_GSM","CELLULAR_NETWORK_RADIO_TYPE_LTE","CELLULAR_NETWORK_RADIO_TYPE_NONE","CELLULAR_NETWORK_RADIO_TYPE_WCDMA","CELLULAR_STATUS","CELLULAR_STATUS_DATA","CELLULAR_STATUS_FLAG_CONNECTED","CELLULAR_STATUS_FLAG_CONNECTING","CELLULAR_STATUS_FLAG_DISABLED","CELLULAR_STATUS_FLAG_DISABLING","CELLULAR_STATUS_FLAG_DISCONNECTING","CELLULAR_STATUS_FLAG_ENABLED","CELLULAR_STATUS_FLAG_ENABLING","CELLULAR_STATUS_FLAG_FAILED","CELLULAR_STATUS_FLAG_INITIALIZING","CELLULAR_STATUS_FLAG_LOCKED","CELLULAR_STATUS_FLAG_REGISTERED","CELLULAR_STATUS_FLAG_SEARCHING","CELLULAR_STATUS_FLAG_UNKNOWN","CHANGE_OPERATOR_CONTROL","CHANGE_OPERATOR_CONTROL_ACK","CHANGE_OPERATOR_CONTROL_ACK_DATA","CHANGE_OPERATOR_CONTROL_DATA","COG","COLLISION","COLLISION_DATA","COMMAND_ACK","COMMAND_ACK_DATA","COMMAND_CANCEL","COMMAND_CANCEL_DATA","COMMAND_INT","COMMAND_INT_DATA","COMMAND_LONG","COMMAND_LONG_DATA","COMPONENT_INFORMATION","COMPONENT_INFORMATION_DATA","COMPONENT_METADATA","COMPONENT_METADATA_DATA","COMP_METADATA_TYPE_ACTUATORS","COMP_METADATA_TYPE_COMMANDS","COMP_METADATA_TYPE_EVENTS","COMP_METADATA_TYPE_GENERAL","COMP_METADATA_TYPE_PARAMETER","COMP_METADATA_TYPE_PERIPHERALS","CONTROL_SYSTEM_STATE","CONTROL_SYSTEM_STATE_DATA","CURRENT_EVENT_SEQUENCE","CURRENT_EVENT_SEQUENCE_DATA","CameraCapFlags","CameraMode","CameraTrackingMode","CameraTrackingStatusFlags","CameraTrackingTargetData","CameraZoomType","CanFilterOp","CellularConfigResponse","CellularNetworkFailedReason","CellularNetworkRadioType","CellularStatusFlag","CompMetadataType","DATA_STREAM","DATA_STREAM_DATA","DATA_TRANSMISSION_HANDSHAKE","DATA_TRANSMISSION_HANDSHAKE_DATA","DEBUG","DEBUG_DATA","DEBUG_FLOAT_ARRAY","DEBUG_FLOAT_ARRAY_DATA","DEBUG_VECT","DEBUG_VECT_DATA","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DEFAULT","DISTANCE_SENSOR","DISTANCE_SENSOR_DATA","EFI_STATUS","EFI_STATUS_DATA","ENCAPSULATED_DATA","ENCAPSULATED_DATA_DATA","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ENCODED_LEN","ESC_CONNECTION_TYPE_CAN","ESC_CONNECTION_TYPE_DSHOT","ESC_CONNECTION_TYPE_I2C","ESC_CONNECTION_TYPE_ONESHOT","ESC_CONNECTION_TYPE_PPM","ESC_CONNECTION_TYPE_SERIAL","ESC_FAILURE_GENERIC","ESC_FAILURE_INCONSISTENT_CMD","ESC_FAILURE_MOTOR_STUCK","ESC_FAILURE_NONE","ESC_FAILURE_OVER_CURRENT","ESC_FAILURE_OVER_RPM","ESC_FAILURE_OVER_TEMPERATURE","ESC_FAILURE_OVER_VOLTAGE","ESC_INFO","ESC_INFO_DATA","ESC_STATUS","ESC_STATUS_DATA","ESTIMATOR_ACCEL_ERROR","ESTIMATOR_ATTITUDE","ESTIMATOR_CONST_POS_MODE","ESTIMATOR_GPS_GLITCH","ESTIMATOR_POS_HORIZ_ABS","ESTIMATOR_POS_HORIZ_REL","ESTIMATOR_POS_VERT_ABS","ESTIMATOR_POS_VERT_AGL","ESTIMATOR_PRED_POS_HORIZ_ABS","ESTIMATOR_PRED_POS_HORIZ_REL","ESTIMATOR_STATUS","ESTIMATOR_STATUS_DATA","ESTIMATOR_VELOCITY_HORIZ","ESTIMATOR_VELOCITY_VERT","EVENT","EVENT_DATA","EXTENDED_SYS_STATE","EXTENDED_SYS_STATE_DATA","EscConnectionType","EscFailureFlags","EstimatorStatusFlags","FAILURE_TYPE_DELAYED","FAILURE_TYPE_GARBAGE","FAILURE_TYPE_INTERMITTENT","FAILURE_TYPE_OFF","FAILURE_TYPE_OK","FAILURE_TYPE_SLOW","FAILURE_TYPE_STUCK","FAILURE_TYPE_WRONG","FAILURE_UNIT_SENSOR_ACCEL","FAILURE_UNIT_SENSOR_AIRSPEED","FAILURE_UNIT_SENSOR_BARO","FAILURE_UNIT_SENSOR_DISTANCE_SENSOR","FAILURE_UNIT_SENSOR_GPS","FAILURE_UNIT_SENSOR_GYRO","FAILURE_UNIT_SENSOR_MAG","FAILURE_UNIT_SENSOR_OPTICAL_FLOW","FAILURE_UNIT_SENSOR_VIO","FAILURE_UNIT_SYSTEM_AVOIDANCE","FAILURE_UNIT_SYSTEM_BATTERY","FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL","FAILURE_UNIT_SYSTEM_MOTOR","FAILURE_UNIT_SYSTEM_RC_SIGNAL","FAILURE_UNIT_SYSTEM_SERVO","FENCE_ACTION_GUIDED","FENCE_ACTION_GUIDED_THR_PASS","FENCE_ACTION_HOLD","FENCE_ACTION_LAND","FENCE_ACTION_NONE","FENCE_ACTION_REPORT","FENCE_ACTION_RTL","FENCE_ACTION_TERMINATE","FENCE_BREACH_BOUNDARY","FENCE_BREACH_MAXALT","FENCE_BREACH_MINALT","FENCE_BREACH_NONE","FENCE_MITIGATE_NONE","FENCE_MITIGATE_UNKNOWN","FENCE_MITIGATE_VEL_LIMIT","FENCE_STATUS","FENCE_STATUS_DATA","FILE_TRANSFER_PROTOCOL","FILE_TRANSFER_PROTOCOL_DATA","FIRMWARE_VERSION_TYPE_ALPHA","FIRMWARE_VERSION_TYPE_BETA","FIRMWARE_VERSION_TYPE_DEV","FIRMWARE_VERSION_TYPE_OFFICIAL","FIRMWARE_VERSION_TYPE_RC","FLIGHT_INFORMATION","FLIGHT_INFORMATION_DATA","FOCUS_TYPE_AUTO","FOCUS_TYPE_AUTO_CONTINUOUS","FOCUS_TYPE_AUTO_SINGLE","FOCUS_TYPE_CONTINUOUS","FOCUS_TYPE_METERS","FOCUS_TYPE_RANGE","FOCUS_TYPE_STEP","FOLLOW_TARGET","FOLLOW_TARGET_DATA","FailureType","FailureUnit","FenceAction","FenceBreach","FenceMitigate","FirmwareVersionType","GENERATOR_STATUS","GENERATOR_STATUS_DATA","GIMBAL_DEVICE_ATTITUDE_STATUS","GIMBAL_DEVICE_ATTITUDE_STATUS_DATA","GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK","GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS","GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW","GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK","GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW","GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_ERROR_FLAGS_AT_PITCH_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_AT_YAW_LIMIT","GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING","GIMBAL_DEVICE_ERROR_FLAGS_COMMS_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_ENCODER_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_MOTOR_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_NO_MANAGER","GIMBAL_DEVICE_ERROR_FLAGS_POWER_ERROR","GIMBAL_DEVICE_ERROR_FLAGS_SOFTWARE_ERROR","GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_FLAGS_NEUTRAL","GIMBAL_DEVICE_FLAGS_PITCH_LOCK","GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE","GIMBAL_DEVICE_FLAGS_RC_MIXED","GIMBAL_DEVICE_FLAGS_RETRACT","GIMBAL_DEVICE_FLAGS_ROLL_LOCK","GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME","GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME","GIMBAL_DEVICE_FLAGS_YAW_LOCK","GIMBAL_DEVICE_INFORMATION","GIMBAL_DEVICE_INFORMATION_DATA","GIMBAL_DEVICE_SET_ATTITUDE","GIMBAL_DEVICE_SET_ATTITUDE_DATA","GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_GLOBAL","GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_LOCAL","GIMBAL_MANAGER_CAP_FLAGS_HAS_NEUTRAL","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_LOCK","GIMBAL_MANAGER_CAP_FLAGS_HAS_RC_INPUTS","GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_LOCK","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_AXIS","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_FOLLOW","GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_LOCK","GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_INFINITE_YAW","GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_NEUTRAL","GIMBAL_MANAGER_FLAGS_PITCH_LOCK","GIMBAL_MANAGER_FLAGS_RC_EXCLUSIVE","GIMBAL_MANAGER_FLAGS_RC_MIXED","GIMBAL_MANAGER_FLAGS_RETRACT","GIMBAL_MANAGER_FLAGS_ROLL_LOCK","GIMBAL_MANAGER_FLAGS_YAW_IN_EARTH_FRAME","GIMBAL_MANAGER_FLAGS_YAW_IN_VEHICLE_FRAME","GIMBAL_MANAGER_FLAGS_YAW_LOCK","GIMBAL_MANAGER_INFORMATION","GIMBAL_MANAGER_INFORMATION_DATA","GIMBAL_MANAGER_SET_ATTITUDE","GIMBAL_MANAGER_SET_ATTITUDE_DATA","GIMBAL_MANAGER_SET_MANUAL_CONTROL","GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA","GIMBAL_MANAGER_SET_PITCHYAW","GIMBAL_MANAGER_SET_PITCHYAW_DATA","GIMBAL_MANAGER_STATUS","GIMBAL_MANAGER_STATUS_DATA","GLOBAL_POSITION_INT","GLOBAL_POSITION_INT_COV","GLOBAL_POSITION_INT_COV_DATA","GLOBAL_POSITION_INT_DATA","GLOBAL_VISION_POSITION_ESTIMATE","GLOBAL_VISION_POSITION_ESTIMATE_DATA","GPS2_RAW","GPS2_RAW_DATA","GPS2_RTK","GPS2_RTK_DATA","GPS_FIX_TYPE_2D_FIX","GPS_FIX_TYPE_3D_FIX","GPS_FIX_TYPE_DGPS","GPS_FIX_TYPE_NO_FIX","GPS_FIX_TYPE_NO_GPS","GPS_FIX_TYPE_PPP","GPS_FIX_TYPE_RTK_FIXED","GPS_FIX_TYPE_RTK_FLOAT","GPS_FIX_TYPE_STATIC","GPS_GLOBAL_ORIGIN","GPS_GLOBAL_ORIGIN_DATA","GPS_INJECT_DATA","GPS_INJECT_DATA_DATA","GPS_INPUT","GPS_INPUT_DATA","GPS_INPUT_IGNORE_FLAG_ALT","GPS_INPUT_IGNORE_FLAG_HDOP","GPS_INPUT_IGNORE_FLAG_HORIZONTAL_ACCURACY","GPS_INPUT_IGNORE_FLAG_SPEED_ACCURACY","GPS_INPUT_IGNORE_FLAG_VDOP","GPS_INPUT_IGNORE_FLAG_VEL_HORIZ","GPS_INPUT_IGNORE_FLAG_VEL_VERT","GPS_INPUT_IGNORE_FLAG_VERTICAL_ACCURACY","GPS_RAW_INT","GPS_RAW_INT_DATA","GPS_RTCM_DATA","GPS_RTCM_DATA_DATA","GPS_RTK","GPS_RTK_DATA","GPS_STATUS","GPS_STATUS_DATA","GRIPPER_ACTION_GRAB","GRIPPER_ACTION_RELEASE","GimbalDeviceCapFlags","GimbalDeviceErrorFlags","GimbalDeviceFlags","GimbalManagerCapFlags","GimbalManagerFlags","GpsFixType","GpsInputIgnoreFlags","GripperActions","HEARTBEAT","HEARTBEAT_DATA","HIGHRES_IMU","HIGHRES_IMU_DATA","HIGHRES_IMU_UPDATED_ABS_PRESSURE","HIGHRES_IMU_UPDATED_ALL","HIGHRES_IMU_UPDATED_DIFF_PRESSURE","HIGHRES_IMU_UPDATED_NONE","HIGHRES_IMU_UPDATED_PRESSURE_ALT","HIGHRES_IMU_UPDATED_TEMPERATURE","HIGHRES_IMU_UPDATED_XACC","HIGHRES_IMU_UPDATED_XGYRO","HIGHRES_IMU_UPDATED_XMAG","HIGHRES_IMU_UPDATED_YACC","HIGHRES_IMU_UPDATED_YGYRO","HIGHRES_IMU_UPDATED_YMAG","HIGHRES_IMU_UPDATED_ZACC","HIGHRES_IMU_UPDATED_ZGYRO","HIGHRES_IMU_UPDATED_ZMAG","HIGH_LATENCY","HIGH_LATENCY2","HIGH_LATENCY2_DATA","HIGH_LATENCY_DATA","HIL_ACTUATOR_CONTROLS","HIL_ACTUATOR_CONTROLS_DATA","HIL_CONTROLS","HIL_CONTROLS_DATA","HIL_GPS","HIL_GPS_DATA","HIL_OPTICAL_FLOW","HIL_OPTICAL_FLOW_DATA","HIL_RC_INPUTS_RAW","HIL_RC_INPUTS_RAW_DATA","HIL_SENSOR","HIL_SENSOR_DATA","HIL_SENSOR_UPDATED_ABS_PRESSURE","HIL_SENSOR_UPDATED_DIFF_PRESSURE","HIL_SENSOR_UPDATED_NONE","HIL_SENSOR_UPDATED_PRESSURE_ALT","HIL_SENSOR_UPDATED_RESET","HIL_SENSOR_UPDATED_TEMPERATURE","HIL_SENSOR_UPDATED_XACC","HIL_SENSOR_UPDATED_XGYRO","HIL_SENSOR_UPDATED_XMAG","HIL_SENSOR_UPDATED_YACC","HIL_SENSOR_UPDATED_YGYRO","HIL_SENSOR_UPDATED_YMAG","HIL_SENSOR_UPDATED_ZACC","HIL_SENSOR_UPDATED_ZGYRO","HIL_SENSOR_UPDATED_ZMAG","HIL_STATE","HIL_STATE_DATA","HIL_STATE_QUATERNION","HIL_STATE_QUATERNION_DATA","HL_FAILURE_FLAG_3D_ACCEL","HL_FAILURE_FLAG_3D_GYRO","HL_FAILURE_FLAG_3D_MAG","HL_FAILURE_FLAG_ABSOLUTE_PRESSURE","HL_FAILURE_FLAG_BATTERY","HL_FAILURE_FLAG_DIFFERENTIAL_PRESSURE","HL_FAILURE_FLAG_ENGINE","HL_FAILURE_FLAG_ESTIMATOR","HL_FAILURE_FLAG_GEOFENCE","HL_FAILURE_FLAG_GPS","HL_FAILURE_FLAG_MISSION","HL_FAILURE_FLAG_OFFBOARD_LINK","HL_FAILURE_FLAG_RC_RECEIVER","HL_FAILURE_FLAG_TERRAIN","HOME_POSITION","HOME_POSITION_DATA","HYGROMETER_SENSOR","HYGROMETER_SENSOR_DATA","HighresImuUpdatedFlags","HilSensorUpdatedFlags","HlFailureFlag","ICAO","ICAO_address","ISBD_LINK_STATUS","ISBD_LINK_STATUS_DATA","LANDING_TARGET","LANDING_TARGET_DATA","LANDING_TARGET_TYPE_LIGHT_BEACON","LANDING_TARGET_TYPE_RADIO_BEACON","LANDING_TARGET_TYPE_VISION_FIDUCIAL","LANDING_TARGET_TYPE_VISION_OTHER","LINK_NODE_STATUS","LINK_NODE_STATUS_DATA","LOCAL_POSITION_NED","LOCAL_POSITION_NED_COV","LOCAL_POSITION_NED_COV_DATA","LOCAL_POSITION_NED_DATA","LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET","LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA","LOGGING_ACK","LOGGING_ACK_DATA","LOGGING_DATA","LOGGING_DATA_ACKED","LOGGING_DATA_ACKED_DATA","LOGGING_DATA_DATA","LOG_DATA","LOG_DATA_DATA","LOG_ENTRY","LOG_ENTRY_DATA","LOG_ERASE","LOG_ERASE_DATA","LOG_REQUEST_DATA","LOG_REQUEST_DATA_DATA","LOG_REQUEST_END","LOG_REQUEST_END_DATA","LOG_REQUEST_LIST","LOG_REQUEST_LIST_DATA","LandingTargetType","MAG_CAL_BAD_ORIENTATION","MAG_CAL_BAD_RADIUS","MAG_CAL_FAILED","MAG_CAL_NOT_STARTED","MAG_CAL_REPORT","MAG_CAL_REPORT_DATA","MAG_CAL_RUNNING_STEP_ONE","MAG_CAL_RUNNING_STEP_TWO","MAG_CAL_SUCCESS","MAG_CAL_WAITING_TO_START","MANUAL_CONTROL","MANUAL_CONTROL_DATA","MANUAL_SETPOINT","MANUAL_SETPOINT_DATA","MAVLINK_DATA_STREAM_IMG_BMP","MAVLINK_DATA_STREAM_IMG_JPEG","MAVLINK_DATA_STREAM_IMG_PGM","MAVLINK_DATA_STREAM_IMG_PNG","MAVLINK_DATA_STREAM_IMG_RAW32U","MAVLINK_DATA_STREAM_IMG_RAW8U","MAV_ARM_AUTH_DENIED_REASON_AIRSPACE_IN_USE","MAV_ARM_AUTH_DENIED_REASON_BAD_WEATHER","MAV_ARM_AUTH_DENIED_REASON_GENERIC","MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT","MAV_ARM_AUTH_DENIED_REASON_NONE","MAV_ARM_AUTH_DENIED_REASON_TIMEOUT","MAV_AUTOPILOT_AEROB","MAV_AUTOPILOT_AIRRAILS","MAV_AUTOPILOT_ARDUPILOTMEGA","MAV_AUTOPILOT_ARMAZILA","MAV_AUTOPILOT_ASLUAV","MAV_AUTOPILOT_AUTOQUAD","MAV_AUTOPILOT_FP","MAV_AUTOPILOT_GENERIC","MAV_AUTOPILOT_GENERIC_MISSION_FULL","MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY","MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY","MAV_AUTOPILOT_INVALID","MAV_AUTOPILOT_OPENPILOT","MAV_AUTOPILOT_PPZ","MAV_AUTOPILOT_PX4","MAV_AUTOPILOT_REFLEX","MAV_AUTOPILOT_RESERVED","MAV_AUTOPILOT_SLUGS","MAV_AUTOPILOT_SMACCMPILOT","MAV_AUTOPILOT_SMARTAP","MAV_AUTOPILOT_UDB","MAV_BATTERY_CHARGE_STATE_CHARGING","MAV_BATTERY_CHARGE_STATE_CRITICAL","MAV_BATTERY_CHARGE_STATE_EMERGENCY","MAV_BATTERY_CHARGE_STATE_FAILED","MAV_BATTERY_CHARGE_STATE_LOW","MAV_BATTERY_CHARGE_STATE_OK","MAV_BATTERY_CHARGE_STATE_UNDEFINED","MAV_BATTERY_CHARGE_STATE_UNHEALTHY","MAV_BATTERY_FAULT_CELL_FAIL","MAV_BATTERY_FAULT_DEEP_DISCHARGE","MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE","MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE","MAV_BATTERY_FAULT_OVER_CURRENT","MAV_BATTERY_FAULT_OVER_TEMPERATURE","MAV_BATTERY_FAULT_SPIKES","MAV_BATTERY_FAULT_UNDER_TEMPERATURE","MAV_BATTERY_FUNCTION_ALL","MAV_BATTERY_FUNCTION_AVIONICS","MAV_BATTERY_FUNCTION_PAYLOAD","MAV_BATTERY_FUNCTION_PROPULSION","MAV_BATTERY_FUNCTION_UNKNOWN","MAV_BATTERY_MODE_AUTO_DISCHARGING","MAV_BATTERY_MODE_HOT_SWAP","MAV_BATTERY_MODE_UNKNOWN","MAV_BATTERY_TYPE_LIFE","MAV_BATTERY_TYPE_LION","MAV_BATTERY_TYPE_LIPO","MAV_BATTERY_TYPE_NIMH","MAV_BATTERY_TYPE_UNKNOWN","MAV_CMD_ACK_ERR_ACCESS_DENIED","MAV_CMD_ACK_ERR_COORDINATES_OUT_OF_RANGE","MAV_CMD_ACK_ERR_COORDINATE_FRAME_NOT_SUPPORTED","MAV_CMD_ACK_ERR_FAIL","MAV_CMD_ACK_ERR_NOT_SUPPORTED","MAV_CMD_ACK_ERR_X_LAT_OUT_OF_RANGE","MAV_CMD_ACK_ERR_Y_LON_OUT_OF_RANGE","MAV_CMD_ACK_ERR_Z_ALT_OUT_OF_RANGE","MAV_CMD_ACK_OK","MAV_CMD_ACTUATOR_TEST","MAV_CMD_AIRFRAME_CONFIGURATION","MAV_CMD_ARM_AUTHORIZATION_REQUEST","MAV_CMD_CAMERA_STOP_TRACKING","MAV_CMD_CAMERA_TRACK_POINT","MAV_CMD_CAMERA_TRACK_RECTANGLE","MAV_CMD_CAN_FORWARD","MAV_CMD_COMPONENT_ARM_DISARM","MAV_CMD_CONDITION_CHANGE_ALT","MAV_CMD_CONDITION_DELAY","MAV_CMD_CONDITION_DISTANCE","MAV_CMD_CONDITION_GATE","MAV_CMD_CONDITION_LAST","MAV_CMD_CONDITION_YAW","MAV_CMD_CONFIGURE_ACTUATOR","MAV_CMD_CONTROL_HIGH_LATENCY","MAV_CMD_DO_ADSB_OUT_IDENT","MAV_CMD_DO_AUTOTUNE_ENABLE","MAV_CMD_DO_CHANGE_ALTITUDE","MAV_CMD_DO_CHANGE_SPEED","MAV_CMD_DO_CONTROL_VIDEO","MAV_CMD_DO_DIGICAM_CONFIGURE","MAV_CMD_DO_DIGICAM_CONTROL","MAV_CMD_DO_ENGINE_CONTROL","MAV_CMD_DO_FENCE_ENABLE","MAV_CMD_DO_FLIGHTTERMINATION","MAV_CMD_DO_FOLLOW","MAV_CMD_DO_FOLLOW_REPOSITION","MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE","MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW","MAV_CMD_DO_GO_AROUND","MAV_CMD_DO_GRIPPER","MAV_CMD_DO_GUIDED_LIMITS","MAV_CMD_DO_GUIDED_MASTER","MAV_CMD_DO_INVERTED_FLIGHT","MAV_CMD_DO_JUMP","MAV_CMD_DO_JUMP_TAG","MAV_CMD_DO_LAND_START","MAV_CMD_DO_LAST","MAV_CMD_DO_MOTOR_TEST","MAV_CMD_DO_MOUNT_CONFIGURE","MAV_CMD_DO_MOUNT_CONTROL","MAV_CMD_DO_MOUNT_CONTROL_QUAT","MAV_CMD_DO_ORBIT","MAV_CMD_DO_PARACHUTE","MAV_CMD_DO_PAUSE_CONTINUE","MAV_CMD_DO_RALLY_LAND","MAV_CMD_DO_REPEAT_RELAY","MAV_CMD_DO_REPEAT_SERVO","MAV_CMD_DO_REPOSITION","MAV_CMD_DO_SET_ACTUATOR","MAV_CMD_DO_SET_CAM_TRIGG_DIST","MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL","MAV_CMD_DO_SET_HOME","MAV_CMD_DO_SET_MISSION_CURRENT","MAV_CMD_DO_SET_MODE","MAV_CMD_DO_SET_PARAMETER","MAV_CMD_DO_SET_RELAY","MAV_CMD_DO_SET_REVERSE","MAV_CMD_DO_SET_ROI","MAV_CMD_DO_SET_ROI_LOCATION","MAV_CMD_DO_SET_ROI_NONE","MAV_CMD_DO_SET_ROI_SYSID","MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET","MAV_CMD_DO_SET_SERVO","MAV_CMD_DO_TRIGGER_CONTROL","MAV_CMD_DO_VTOL_TRANSITION","MAV_CMD_DO_WINCH","MAV_CMD_FIXED_MAG_CAL_YAW","MAV_CMD_GET_HOME_POSITION","MAV_CMD_GET_MESSAGE_INTERVAL","MAV_CMD_ILLUMINATOR_ON_OFF","MAV_CMD_IMAGE_START_CAPTURE","MAV_CMD_IMAGE_STOP_CAPTURE","MAV_CMD_INJECT_FAILURE","MAV_CMD_JUMP_TAG","MAV_CMD_LOGGING_START","MAV_CMD_LOGGING_STOP","MAV_CMD_MISSION_START","MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT","MAV_CMD_NAV_DELAY","MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION","MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION","MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION","MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION","MAV_CMD_NAV_FENCE_RETURN_POINT","MAV_CMD_NAV_FOLLOW","MAV_CMD_NAV_GUIDED_ENABLE","MAV_CMD_NAV_LAND","MAV_CMD_NAV_LAND_LOCAL","MAV_CMD_NAV_LAST","MAV_CMD_NAV_LOITER_TIME","MAV_CMD_NAV_LOITER_TO_ALT","MAV_CMD_NAV_LOITER_TURNS","MAV_CMD_NAV_LOITER_UNLIM","MAV_CMD_NAV_PATHPLANNING","MAV_CMD_NAV_PAYLOAD_PLACE","MAV_CMD_NAV_RALLY_POINT","MAV_CMD_NAV_RETURN_TO_LAUNCH","MAV_CMD_NAV_ROI","MAV_CMD_NAV_SET_YAW_SPEED","MAV_CMD_NAV_SPLINE_WAYPOINT","MAV_CMD_NAV_TAKEOFF","MAV_CMD_NAV_TAKEOFF_LOCAL","MAV_CMD_NAV_VTOL_LAND","MAV_CMD_NAV_VTOL_TAKEOFF","MAV_CMD_NAV_WAYPOINT","MAV_CMD_OBLIQUE_SURVEY","MAV_CMD_OVERRIDE_GOTO","MAV_CMD_PANORAMA_CREATE","MAV_CMD_PAYLOAD_CONTROL_DEPLOY","MAV_CMD_PAYLOAD_PREPARE_DEPLOY","MAV_CMD_PREFLIGHT_CALIBRATION","MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN","MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS","MAV_CMD_PREFLIGHT_STORAGE","MAV_CMD_PREFLIGHT_UAVCAN","MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES","MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS","MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE","MAV_CMD_REQUEST_CAMERA_INFORMATION","MAV_CMD_REQUEST_CAMERA_SETTINGS","MAV_CMD_REQUEST_FLIGHT_INFORMATION","MAV_CMD_REQUEST_MESSAGE","MAV_CMD_REQUEST_PROTOCOL_VERSION","MAV_CMD_REQUEST_STORAGE_INFORMATION","MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION","MAV_CMD_REQUEST_VIDEO_STREAM_STATUS","MAV_CMD_RESET_CAMERA_SETTINGS","MAV_CMD_RUN_PREARM_CHECKS","MAV_CMD_SET_CAMERA_FOCUS","MAV_CMD_SET_CAMERA_MODE","MAV_CMD_SET_CAMERA_ZOOM","MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE","MAV_CMD_SET_GUIDED_SUBMODE_STANDARD","MAV_CMD_SET_MESSAGE_INTERVAL","MAV_CMD_SET_STORAGE_USAGE","MAV_CMD_SPATIAL_USER_1","MAV_CMD_SPATIAL_USER_2","MAV_CMD_SPATIAL_USER_3","MAV_CMD_SPATIAL_USER_4","MAV_CMD_SPATIAL_USER_5","MAV_CMD_START_RX_PAIR","MAV_CMD_STORAGE_FORMAT","MAV_CMD_UAVCAN_GET_NODE_INFO","MAV_CMD_USER_1","MAV_CMD_USER_2","MAV_CMD_USER_3","MAV_CMD_USER_4","MAV_CMD_USER_5","MAV_CMD_VIDEO_START_CAPTURE","MAV_CMD_VIDEO_START_STREAMING","MAV_CMD_VIDEO_STOP_CAPTURE","MAV_CMD_VIDEO_STOP_STREAMING","MAV_CMD_WAYPOINT_USER_1","MAV_CMD_WAYPOINT_USER_2","MAV_CMD_WAYPOINT_USER_3","MAV_CMD_WAYPOINT_USER_4","MAV_CMD_WAYPOINT_USER_5","MAV_COLLISION_ACTION_ASCEND_OR_DESCEND","MAV_COLLISION_ACTION_HOVER","MAV_COLLISION_ACTION_MOVE_HORIZONTALLY","MAV_COLLISION_ACTION_MOVE_PERPENDICULAR","MAV_COLLISION_ACTION_NONE","MAV_COLLISION_ACTION_REPORT","MAV_COLLISION_ACTION_RTL","MAV_COLLISION_SRC_ADSB","MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT","MAV_COLLISION_THREAT_LEVEL_HIGH","MAV_COLLISION_THREAT_LEVEL_LOW","MAV_COLLISION_THREAT_LEVEL_NONE","MAV_COMP_ID_ADSB","MAV_COMP_ID_ALL","MAV_COMP_ID_AUTOPILOT1","MAV_COMP_ID_BATTERY","MAV_COMP_ID_BATTERY2","MAV_COMP_ID_CAMERA","MAV_COMP_ID_CAMERA2","MAV_COMP_ID_CAMERA3","MAV_COMP_ID_CAMERA4","MAV_COMP_ID_CAMERA5","MAV_COMP_ID_CAMERA6","MAV_COMP_ID_FLARM","MAV_COMP_ID_GIMBAL","MAV_COMP_ID_GIMBAL2","MAV_COMP_ID_GIMBAL3","MAV_COMP_ID_GIMBAL4","MAV_COMP_ID_GIMBAL5","MAV_COMP_ID_GIMBAL6","MAV_COMP_ID_GPS","MAV_COMP_ID_GPS2","MAV_COMP_ID_IMU","MAV_COMP_ID_IMU_2","MAV_COMP_ID_IMU_3","MAV_COMP_ID_LOG","MAV_COMP_ID_MAVCAN","MAV_COMP_ID_MISSIONPLANNER","MAV_COMP_ID_OBSTACLE_AVOIDANCE","MAV_COMP_ID_ODID_TXRX_1","MAV_COMP_ID_ODID_TXRX_2","MAV_COMP_ID_ODID_TXRX_3","MAV_COMP_ID_ONBOARD_COMPUTER","MAV_COMP_ID_ONBOARD_COMPUTER2","MAV_COMP_ID_ONBOARD_COMPUTER3","MAV_COMP_ID_ONBOARD_COMPUTER4","MAV_COMP_ID_OSD","MAV_COMP_ID_PAIRING_MANAGER","MAV_COMP_ID_PARACHUTE","MAV_COMP_ID_PATHPLANNER","MAV_COMP_ID_PERIPHERAL","MAV_COMP_ID_QX1_GIMBAL","MAV_COMP_ID_SERVO1","MAV_COMP_ID_SERVO10","MAV_COMP_ID_SERVO11","MAV_COMP_ID_SERVO12","MAV_COMP_ID_SERVO13","MAV_COMP_ID_SERVO14","MAV_COMP_ID_SERVO2","MAV_COMP_ID_SERVO3","MAV_COMP_ID_SERVO4","MAV_COMP_ID_SERVO5","MAV_COMP_ID_SERVO6","MAV_COMP_ID_SERVO7","MAV_COMP_ID_SERVO8","MAV_COMP_ID_SERVO9","MAV_COMP_ID_SYSTEM_CONTROL","MAV_COMP_ID_TELEMETRY_RADIO","MAV_COMP_ID_TUNNEL_NODE","MAV_COMP_ID_UART_BRIDGE","MAV_COMP_ID_UDP_BRIDGE","MAV_COMP_ID_USER1","MAV_COMP_ID_USER10","MAV_COMP_ID_USER11","MAV_COMP_ID_USER12","MAV_COMP_ID_USER13","MAV_COMP_ID_USER14","MAV_COMP_ID_USER15","MAV_COMP_ID_USER16","MAV_COMP_ID_USER17","MAV_COMP_ID_USER18","MAV_COMP_ID_USER19","MAV_COMP_ID_USER2","MAV_COMP_ID_USER20","MAV_COMP_ID_USER21","MAV_COMP_ID_USER22","MAV_COMP_ID_USER23","MAV_COMP_ID_USER24","MAV_COMP_ID_USER25","MAV_COMP_ID_USER26","MAV_COMP_ID_USER27","MAV_COMP_ID_USER28","MAV_COMP_ID_USER29","MAV_COMP_ID_USER3","MAV_COMP_ID_USER30","MAV_COMP_ID_USER31","MAV_COMP_ID_USER32","MAV_COMP_ID_USER33","MAV_COMP_ID_USER34","MAV_COMP_ID_USER35","MAV_COMP_ID_USER36","MAV_COMP_ID_USER37","MAV_COMP_ID_USER38","MAV_COMP_ID_USER39","MAV_COMP_ID_USER4","MAV_COMP_ID_USER40","MAV_COMP_ID_USER41","MAV_COMP_ID_USER42","MAV_COMP_ID_USER43","MAV_COMP_ID_USER45","MAV_COMP_ID_USER46","MAV_COMP_ID_USER47","MAV_COMP_ID_USER48","MAV_COMP_ID_USER49","MAV_COMP_ID_USER5","MAV_COMP_ID_USER50","MAV_COMP_ID_USER51","MAV_COMP_ID_USER52","MAV_COMP_ID_USER53","MAV_COMP_ID_USER54","MAV_COMP_ID_USER55","MAV_COMP_ID_USER56","MAV_COMP_ID_USER57","MAV_COMP_ID_USER58","MAV_COMP_ID_USER59","MAV_COMP_ID_USER6","MAV_COMP_ID_USER60","MAV_COMP_ID_USER61","MAV_COMP_ID_USER62","MAV_COMP_ID_USER63","MAV_COMP_ID_USER64","MAV_COMP_ID_USER65","MAV_COMP_ID_USER66","MAV_COMP_ID_USER67","MAV_COMP_ID_USER68","MAV_COMP_ID_USER69","MAV_COMP_ID_USER7","MAV_COMP_ID_USER70","MAV_COMP_ID_USER71","MAV_COMP_ID_USER72","MAV_COMP_ID_USER73","MAV_COMP_ID_USER74","MAV_COMP_ID_USER75","MAV_COMP_ID_USER8","MAV_COMP_ID_USER9","MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY","MAV_COMP_ID_WINCH","MAV_DATA_STREAM_ALL","MAV_DATA_STREAM_EXTENDED_STATUS","MAV_DATA_STREAM_EXTRA1","MAV_DATA_STREAM_EXTRA2","MAV_DATA_STREAM_EXTRA3","MAV_DATA_STREAM_POSITION","MAV_DATA_STREAM_RAW_CONTROLLER","MAV_DATA_STREAM_RAW_SENSORS","MAV_DATA_STREAM_RC_CHANNELS","MAV_DISTANCE_SENSOR_INFRARED","MAV_DISTANCE_SENSOR_LASER","MAV_DISTANCE_SENSOR_RADAR","MAV_DISTANCE_SENSOR_ULTRASOUND","MAV_DISTANCE_SENSOR_UNKNOWN","MAV_DO_REPOSITION_FLAGS_CHANGE_MODE","MAV_ESTIMATOR_TYPE_AUTOPILOT","MAV_ESTIMATOR_TYPE_GPS","MAV_ESTIMATOR_TYPE_GPS_INS","MAV_ESTIMATOR_TYPE_LIDAR","MAV_ESTIMATOR_TYPE_MOCAP","MAV_ESTIMATOR_TYPE_NAIVE","MAV_ESTIMATOR_TYPE_UNKNOWN","MAV_ESTIMATOR_TYPE_VIO","MAV_ESTIMATOR_TYPE_VISION","MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET","MAV_EVENT_ERROR_REASON_UNAVAILABLE","MAV_FRAME_BODY_FRD","MAV_FRAME_BODY_NED","MAV_FRAME_BODY_OFFSET_NED","MAV_FRAME_GLOBAL","MAV_FRAME_GLOBAL_INT","MAV_FRAME_GLOBAL_RELATIVE_ALT","MAV_FRAME_GLOBAL_RELATIVE_ALT_INT","MAV_FRAME_GLOBAL_TERRAIN_ALT","MAV_FRAME_GLOBAL_TERRAIN_ALT_INT","MAV_FRAME_LOCAL_ENU","MAV_FRAME_LOCAL_FLU","MAV_FRAME_LOCAL_FRD","MAV_FRAME_LOCAL_NED","MAV_FRAME_LOCAL_OFFSET_NED","MAV_FRAME_MISSION","MAV_FRAME_RESERVED_13","MAV_FRAME_RESERVED_14","MAV_FRAME_RESERVED_15","MAV_FRAME_RESERVED_16","MAV_FRAME_RESERVED_17","MAV_FRAME_RESERVED_18","MAV_FRAME_RESERVED_19","MAV_FTP_ERR_EOF","MAV_FTP_ERR_FAIL","MAV_FTP_ERR_FAILERRNO","MAV_FTP_ERR_FILEEXISTS","MAV_FTP_ERR_FILENOTFOUND","MAV_FTP_ERR_FILEPROTECTED","MAV_FTP_ERR_INVALIDDATASIZE","MAV_FTP_ERR_INVALIDSESSION","MAV_FTP_ERR_NONE","MAV_FTP_ERR_NOSESSIONSAVAILABLE","MAV_FTP_ERR_UNKNOWNCOMMAND","MAV_FTP_OPCODE_ACK","MAV_FTP_OPCODE_BURSTREADFILE","MAV_FTP_OPCODE_CALCFILECRC","MAV_FTP_OPCODE_CREATEDIRECTORY","MAV_FTP_OPCODE_CREATEFILE","MAV_FTP_OPCODE_LISTDIRECTORY","MAV_FTP_OPCODE_NAK","MAV_FTP_OPCODE_NONE","MAV_FTP_OPCODE_OPENFILERO","MAV_FTP_OPCODE_OPENFILEWO","MAV_FTP_OPCODE_READFILE","MAV_FTP_OPCODE_REMOVEDIRECTORY","MAV_FTP_OPCODE_REMOVEFILE","MAV_FTP_OPCODE_RENAME","MAV_FTP_OPCODE_RESETSESSION","MAV_FTP_OPCODE_TERMINATESESSION","MAV_FTP_OPCODE_TRUNCATEFILE","MAV_FTP_OPCODE_WRITEFILE","MAV_GENERATOR_STATUS_FLAG_BATTERY_OVERCHARGE_CURRENT_FAULT","MAV_GENERATOR_STATUS_FLAG_BATTERY_UNDERVOLT_FAULT","MAV_GENERATOR_STATUS_FLAG_CHARGING","MAV_GENERATOR_STATUS_FLAG_COMMUNICATION_WARNING","MAV_GENERATOR_STATUS_FLAG_COOLING_WARNING","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_FAULT","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_FAULT","MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_WARNING","MAV_GENERATOR_STATUS_FLAG_GENERATING","MAV_GENERATOR_STATUS_FLAG_IDLE","MAV_GENERATOR_STATUS_FLAG_MAINTENANCE_REQUIRED","MAV_GENERATOR_STATUS_FLAG_MAXPOWER","MAV_GENERATOR_STATUS_FLAG_OFF","MAV_GENERATOR_STATUS_FLAG_OVERCURRENT_FAULT","MAV_GENERATOR_STATUS_FLAG_OVERTEMP_FAULT","MAV_GENERATOR_STATUS_FLAG_OVERTEMP_WARNING","MAV_GENERATOR_STATUS_FLAG_OVERVOLTAGE_FAULT","MAV_GENERATOR_STATUS_FLAG_POWERSOURCE_FAULT","MAV_GENERATOR_STATUS_FLAG_POWER_RAIL_FAULT","MAV_GENERATOR_STATUS_FLAG_READY","MAV_GENERATOR_STATUS_FLAG_REDUCED_POWER","MAV_GENERATOR_STATUS_FLAG_START_INHIBITED","MAV_GENERATOR_STATUS_FLAG_WARMING_UP","MAV_GOTO_DO_CONTINUE","MAV_GOTO_DO_HOLD","MAV_GOTO_HOLD_AT_CURRENT_POSITION","MAV_GOTO_HOLD_AT_SPECIFIED_POSITION","MAV_LANDED_STATE_IN_AIR","MAV_LANDED_STATE_LANDING","MAV_LANDED_STATE_ON_GROUND","MAV_LANDED_STATE_TAKEOFF","MAV_LANDED_STATE_UNDEFINED","MAV_MISSION_ACCEPTED","MAV_MISSION_DENIED","MAV_MISSION_ERROR","MAV_MISSION_INVALID","MAV_MISSION_INVALID_PARAM1","MAV_MISSION_INVALID_PARAM2","MAV_MISSION_INVALID_PARAM3","MAV_MISSION_INVALID_PARAM4","MAV_MISSION_INVALID_PARAM5_X","MAV_MISSION_INVALID_PARAM6_Y","MAV_MISSION_INVALID_PARAM7","MAV_MISSION_INVALID_SEQUENCE","MAV_MISSION_NO_SPACE","MAV_MISSION_OPERATION_CANCELLED","MAV_MISSION_TYPE_ALL","MAV_MISSION_TYPE_FENCE","MAV_MISSION_TYPE_MISSION","MAV_MISSION_TYPE_RALLY","MAV_MISSION_UNSUPPORTED","MAV_MISSION_UNSUPPORTED_FRAME","MAV_MODE_AUTO_ARMED","MAV_MODE_AUTO_DISARMED","MAV_MODE_FLAG_AUTO_ENABLED","MAV_MODE_FLAG_CUSTOM_MODE_ENABLED","MAV_MODE_FLAG_DECODE_POSITION_AUTO","MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE","MAV_MODE_FLAG_DECODE_POSITION_GUIDED","MAV_MODE_FLAG_DECODE_POSITION_HIL","MAV_MODE_FLAG_DECODE_POSITION_MANUAL","MAV_MODE_FLAG_DECODE_POSITION_SAFETY","MAV_MODE_FLAG_DECODE_POSITION_STABILIZE","MAV_MODE_FLAG_DECODE_POSITION_TEST","MAV_MODE_FLAG_GUIDED_ENABLED","MAV_MODE_FLAG_HIL_ENABLED","MAV_MODE_FLAG_MANUAL_INPUT_ENABLED","MAV_MODE_FLAG_SAFETY_ARMED","MAV_MODE_FLAG_STABILIZE_ENABLED","MAV_MODE_FLAG_TEST_ENABLED","MAV_MODE_GUIDED_ARMED","MAV_MODE_GUIDED_DISARMED","MAV_MODE_MANUAL_ARMED","MAV_MODE_MANUAL_DISARMED","MAV_MODE_PREFLIGHT","MAV_MODE_STABILIZE_ARMED","MAV_MODE_STABILIZE_DISARMED","MAV_MODE_TEST_ARMED","MAV_MODE_TEST_DISARMED","MAV_MOUNT_MODE_GPS_POINT","MAV_MOUNT_MODE_HOME_LOCATION","MAV_MOUNT_MODE_MAVLINK_TARGETING","MAV_MOUNT_MODE_NEUTRAL","MAV_MOUNT_MODE_RC_TARGETING","MAV_MOUNT_MODE_RETRACT","MAV_MOUNT_MODE_SYSID_TARGET","MAV_ODID_ARM_STATUS_GOOD_TO_ARM","MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC","MAV_ODID_AUTH_TYPE_MESSAGE_SET_SIGNATURE","MAV_ODID_AUTH_TYPE_NETWORK_REMOTE_ID","MAV_ODID_AUTH_TYPE_NONE","MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE","MAV_ODID_AUTH_TYPE_SPECIFIC_AUTHENTICATION","MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE","MAV_ODID_CATEGORY_EU_CERTIFIED","MAV_ODID_CATEGORY_EU_OPEN","MAV_ODID_CATEGORY_EU_SPECIFIC","MAV_ODID_CATEGORY_EU_UNDECLARED","MAV_ODID_CLASSIFICATION_TYPE_EU","MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED","MAV_ODID_CLASS_EU_CLASS_0","MAV_ODID_CLASS_EU_CLASS_1","MAV_ODID_CLASS_EU_CLASS_2","MAV_ODID_CLASS_EU_CLASS_3","MAV_ODID_CLASS_EU_CLASS_4","MAV_ODID_CLASS_EU_CLASS_5","MAV_ODID_CLASS_EU_CLASS_6","MAV_ODID_CLASS_EU_UNDECLARED","MAV_ODID_DESC_TYPE_EMERGENCY","MAV_ODID_DESC_TYPE_EXTENDED_STATUS","MAV_ODID_DESC_TYPE_TEXT","MAV_ODID_HEIGHT_REF_OVER_GROUND","MAV_ODID_HEIGHT_REF_OVER_TAKEOFF","MAV_ODID_HOR_ACC_0_05NM","MAV_ODID_HOR_ACC_0_1NM","MAV_ODID_HOR_ACC_0_3NM","MAV_ODID_HOR_ACC_0_5NM","MAV_ODID_HOR_ACC_10NM","MAV_ODID_HOR_ACC_10_METER","MAV_ODID_HOR_ACC_1NM","MAV_ODID_HOR_ACC_1_METER","MAV_ODID_HOR_ACC_2NM","MAV_ODID_HOR_ACC_30_METER","MAV_ODID_HOR_ACC_3_METER","MAV_ODID_HOR_ACC_4NM","MAV_ODID_HOR_ACC_UNKNOWN","MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID","MAV_ODID_ID_TYPE_NONE","MAV_ODID_ID_TYPE_SERIAL_NUMBER","MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID","MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID","MAV_ODID_OPERATOR_ID_TYPE_CAA","MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED","MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS","MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF","MAV_ODID_SPEED_ACC_0_3_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_1_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND","MAV_ODID_SPEED_ACC_UNKNOWN","MAV_ODID_STATUS_AIRBORNE","MAV_ODID_STATUS_EMERGENCY","MAV_ODID_STATUS_GROUND","MAV_ODID_STATUS_REMOTE_ID_SYSTEM_FAILURE","MAV_ODID_STATUS_UNDECLARED","MAV_ODID_TIME_ACC_0_1_SECOND","MAV_ODID_TIME_ACC_0_2_SECOND","MAV_ODID_TIME_ACC_0_3_SECOND","MAV_ODID_TIME_ACC_0_4_SECOND","MAV_ODID_TIME_ACC_0_5_SECOND","MAV_ODID_TIME_ACC_0_6_SECOND","MAV_ODID_TIME_ACC_0_7_SECOND","MAV_ODID_TIME_ACC_0_8_SECOND","MAV_ODID_TIME_ACC_0_9_SECOND","MAV_ODID_TIME_ACC_1_0_SECOND","MAV_ODID_TIME_ACC_1_1_SECOND","MAV_ODID_TIME_ACC_1_2_SECOND","MAV_ODID_TIME_ACC_1_3_SECOND","MAV_ODID_TIME_ACC_1_4_SECOND","MAV_ODID_TIME_ACC_1_5_SECOND","MAV_ODID_TIME_ACC_UNKNOWN","MAV_ODID_UA_TYPE_AEROPLANE","MAV_ODID_UA_TYPE_AIRSHIP","MAV_ODID_UA_TYPE_CAPTIVE_BALLOON","MAV_ODID_UA_TYPE_FREE_BALLOON","MAV_ODID_UA_TYPE_FREE_FALL_PARACHUTE","MAV_ODID_UA_TYPE_GLIDER","MAV_ODID_UA_TYPE_GROUND_OBSTACLE","MAV_ODID_UA_TYPE_GYROPLANE","MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR","MAV_ODID_UA_TYPE_HYBRID_LIFT","MAV_ODID_UA_TYPE_KITE","MAV_ODID_UA_TYPE_NONE","MAV_ODID_UA_TYPE_ORNITHOPTER","MAV_ODID_UA_TYPE_OTHER","MAV_ODID_UA_TYPE_ROCKET","MAV_ODID_UA_TYPE_TETHERED_POWERED_AIRCRAFT","MAV_ODID_VER_ACC_10_METER","MAV_ODID_VER_ACC_150_METER","MAV_ODID_VER_ACC_1_METER","MAV_ODID_VER_ACC_25_METER","MAV_ODID_VER_ACC_3_METER","MAV_ODID_VER_ACC_45_METER","MAV_ODID_VER_ACC_UNKNOWN","MAV_PARAM_EXT_TYPE_CUSTOM","MAV_PARAM_EXT_TYPE_INT16","MAV_PARAM_EXT_TYPE_INT32","MAV_PARAM_EXT_TYPE_INT64","MAV_PARAM_EXT_TYPE_INT8","MAV_PARAM_EXT_TYPE_REAL32","MAV_PARAM_EXT_TYPE_REAL64","MAV_PARAM_EXT_TYPE_UINT16","MAV_PARAM_EXT_TYPE_UINT32","MAV_PARAM_EXT_TYPE_UINT64","MAV_PARAM_EXT_TYPE_UINT8","MAV_PARAM_TYPE_INT16","MAV_PARAM_TYPE_INT32","MAV_PARAM_TYPE_INT64","MAV_PARAM_TYPE_INT8","MAV_PARAM_TYPE_REAL32","MAV_PARAM_TYPE_REAL64","MAV_PARAM_TYPE_UINT16","MAV_PARAM_TYPE_UINT32","MAV_PARAM_TYPE_UINT64","MAV_PARAM_TYPE_UINT8","MAV_POWER_STATUS_BRICK_VALID","MAV_POWER_STATUS_CHANGED","MAV_POWER_STATUS_PERIPH_HIPOWER_OVERCURRENT","MAV_POWER_STATUS_PERIPH_OVERCURRENT","MAV_POWER_STATUS_SERVO_VALID","MAV_POWER_STATUS_USB_CONNECTED","MAV_PROTOCOL_CAPABILITY_COMMAND_INT","MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION","MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION","MAV_PROTOCOL_CAPABILITY_FTP","MAV_PROTOCOL_CAPABILITY_MAVLINK2","MAV_PROTOCOL_CAPABILITY_MISSION_FENCE","MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT","MAV_PROTOCOL_CAPABILITY_MISSION_INT","MAV_PROTOCOL_CAPABILITY_MISSION_RALLY","MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE","MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST","MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT","MAV_PROTOCOL_CAPABILITY_RESERVED2","MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET","MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET","MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT","MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED","MAV_PROTOCOL_CAPABILITY_TERRAIN","MAV_RESULT_ACCEPTED","MAV_RESULT_CANCELLED","MAV_RESULT_DENIED","MAV_RESULT_FAILED","MAV_RESULT_IN_PROGRESS","MAV_RESULT_TEMPORARILY_REJECTED","MAV_RESULT_UNSUPPORTED","MAV_ROI_LOCATION","MAV_ROI_NONE","MAV_ROI_TARGET","MAV_ROI_WPINDEX","MAV_ROI_WPNEXT","MAV_SENSOR_ROTATION_CUSTOM","MAV_SENSOR_ROTATION_NONE","MAV_SENSOR_ROTATION_PITCH_180","MAV_SENSOR_ROTATION_PITCH_180_YAW_270","MAV_SENSOR_ROTATION_PITCH_180_YAW_90","MAV_SENSOR_ROTATION_PITCH_270","MAV_SENSOR_ROTATION_PITCH_315","MAV_SENSOR_ROTATION_PITCH_90","MAV_SENSOR_ROTATION_ROLL_180","MAV_SENSOR_ROTATION_ROLL_180_PITCH_270","MAV_SENSOR_ROTATION_ROLL_180_PITCH_90","MAV_SENSOR_ROTATION_ROLL_180_YAW_135","MAV_SENSOR_ROTATION_ROLL_180_YAW_225","MAV_SENSOR_ROTATION_ROLL_180_YAW_270","MAV_SENSOR_ROTATION_ROLL_180_YAW_315","MAV_SENSOR_ROTATION_ROLL_180_YAW_45","MAV_SENSOR_ROTATION_ROLL_180_YAW_90","MAV_SENSOR_ROTATION_ROLL_270","MAV_SENSOR_ROTATION_ROLL_270_PITCH_180","MAV_SENSOR_ROTATION_ROLL_270_PITCH_270","MAV_SENSOR_ROTATION_ROLL_270_PITCH_90","MAV_SENSOR_ROTATION_ROLL_270_YAW_135","MAV_SENSOR_ROTATION_ROLL_270_YAW_45","MAV_SENSOR_ROTATION_ROLL_270_YAW_90","MAV_SENSOR_ROTATION_ROLL_90","MAV_SENSOR_ROTATION_ROLL_90_PITCH_180","MAV_SENSOR_ROTATION_ROLL_90_PITCH_180_YAW_90","MAV_SENSOR_ROTATION_ROLL_90_PITCH_270","MAV_SENSOR_ROTATION_ROLL_90_PITCH_315","MAV_SENSOR_ROTATION_ROLL_90_PITCH_68_YAW_293","MAV_SENSOR_ROTATION_ROLL_90_PITCH_90","MAV_SENSOR_ROTATION_ROLL_90_YAW_135","MAV_SENSOR_ROTATION_ROLL_90_YAW_270","MAV_SENSOR_ROTATION_ROLL_90_YAW_45","MAV_SENSOR_ROTATION_ROLL_90_YAW_90","MAV_SENSOR_ROTATION_YAW_135","MAV_SENSOR_ROTATION_YAW_180","MAV_SENSOR_ROTATION_YAW_225","MAV_SENSOR_ROTATION_YAW_270","MAV_SENSOR_ROTATION_YAW_315","MAV_SENSOR_ROTATION_YAW_45","MAV_SENSOR_ROTATION_YAW_90","MAV_SEVERITY_ALERT","MAV_SEVERITY_CRITICAL","MAV_SEVERITY_DEBUG","MAV_SEVERITY_EMERGENCY","MAV_SEVERITY_ERROR","MAV_SEVERITY_INFO","MAV_SEVERITY_NOTICE","MAV_SEVERITY_WARNING","MAV_STATE_ACTIVE","MAV_STATE_BOOT","MAV_STATE_CALIBRATING","MAV_STATE_CRITICAL","MAV_STATE_EMERGENCY","MAV_STATE_FLIGHT_TERMINATION","MAV_STATE_POWEROFF","MAV_STATE_STANDBY","MAV_STATE_UNINIT","MAV_SYS_STATUS_AHRS","MAV_SYS_STATUS_EXTENSION_USED","MAV_SYS_STATUS_GEOFENCE","MAV_SYS_STATUS_LOGGING","MAV_SYS_STATUS_OBSTACLE_AVOIDANCE","MAV_SYS_STATUS_PREARM_CHECK","MAV_SYS_STATUS_RECOVERY_SYSTEM","MAV_SYS_STATUS_REVERSE_MOTOR","MAV_SYS_STATUS_SENSOR_3D_ACCEL","MAV_SYS_STATUS_SENSOR_3D_ACCEL2","MAV_SYS_STATUS_SENSOR_3D_GYRO","MAV_SYS_STATUS_SENSOR_3D_GYRO2","MAV_SYS_STATUS_SENSOR_3D_MAG","MAV_SYS_STATUS_SENSOR_3D_MAG2","MAV_SYS_STATUS_SENSOR_ABSOLUTE_PRESSURE","MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL","MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION","MAV_SYS_STATUS_SENSOR_BATTERY","MAV_SYS_STATUS_SENSOR_DIFFERENTIAL_PRESSURE","MAV_SYS_STATUS_SENSOR_EXTERNAL_GROUND_TRUTH","MAV_SYS_STATUS_SENSOR_GPS","MAV_SYS_STATUS_SENSOR_LASER_POSITION","MAV_SYS_STATUS_SENSOR_MOTOR_OUTPUTS","MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW","MAV_SYS_STATUS_SENSOR_PROPULSION","MAV_SYS_STATUS_SENSOR_PROXIMITY","MAV_SYS_STATUS_SENSOR_RC_RECEIVER","MAV_SYS_STATUS_SENSOR_SATCOM","MAV_SYS_STATUS_SENSOR_VISION_POSITION","MAV_SYS_STATUS_SENSOR_XY_POSITION_CONTROL","MAV_SYS_STATUS_SENSOR_YAW_POSITION","MAV_SYS_STATUS_SENSOR_Z_ALTITUDE_CONTROL","MAV_SYS_STATUS_TERRAIN","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED2","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED3","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED4","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED5","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED6","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED7","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED8","MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED9","MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN","MAV_TYPE_ADSB","MAV_TYPE_AIRSHIP","MAV_TYPE_ANTENNA_TRACKER","MAV_TYPE_BATTERY","MAV_TYPE_CAMERA","MAV_TYPE_CHARGING_STATION","MAV_TYPE_COAXIAL","MAV_TYPE_DECAROTOR","MAV_TYPE_DODECAROTOR","MAV_TYPE_FIXED_WING","MAV_TYPE_FLAPPING_WING","MAV_TYPE_FLARM","MAV_TYPE_FREE_BALLOON","MAV_TYPE_GCS","MAV_TYPE_GENERIC","MAV_TYPE_GIMBAL","MAV_TYPE_GPS","MAV_TYPE_GROUND_ROVER","MAV_TYPE_HELICOPTER","MAV_TYPE_HEXAROTOR","MAV_TYPE_IMU","MAV_TYPE_KITE","MAV_TYPE_LOG","MAV_TYPE_OCTOROTOR","MAV_TYPE_ODID","MAV_TYPE_ONBOARD_CONTROLLER","MAV_TYPE_OSD","MAV_TYPE_PARACHUTE","MAV_TYPE_PARAFOIL","MAV_TYPE_QUADROTOR","MAV_TYPE_ROCKET","MAV_TYPE_SERVO","MAV_TYPE_SUBMARINE","MAV_TYPE_SURFACE_BOAT","MAV_TYPE_TRICOPTER","MAV_TYPE_VTOL_FIXEDROTOR","MAV_TYPE_VTOL_RESERVED5","MAV_TYPE_VTOL_TAILSITTER","MAV_TYPE_VTOL_TAILSITTER_DUOROTOR","MAV_TYPE_VTOL_TAILSITTER_QUADROTOR","MAV_TYPE_VTOL_TILTROTOR","MAV_TYPE_VTOL_TILTWING","MAV_TYPE_WINCH","MAV_VTOL_STATE_FW","MAV_VTOL_STATE_MC","MAV_VTOL_STATE_TRANSITION_TO_FW","MAV_VTOL_STATE_TRANSITION_TO_MC","MAV_VTOL_STATE_UNDEFINED","MAV_WINCH_STATUS_ABANDON_LINE","MAV_WINCH_STATUS_ARRESTING","MAV_WINCH_STATUS_CLUTCH_ENGAGED","MAV_WINCH_STATUS_DROPPING","MAV_WINCH_STATUS_FULLY_RETRACTED","MAV_WINCH_STATUS_GROUND_SENSE","MAV_WINCH_STATUS_HEALTHY","MAV_WINCH_STATUS_LOAD_LINE","MAV_WINCH_STATUS_LOAD_PAYLOAD","MAV_WINCH_STATUS_LOCKED","MAV_WINCH_STATUS_LOCKING","MAV_WINCH_STATUS_MOVING","MAV_WINCH_STATUS_REDELIVER","MAV_WINCH_STATUS_RETRACTING","MEMORY_VECT","MEMORY_VECT_DATA","MESSAGE_INTERVAL","MESSAGE_INTERVAL_DATA","MISSION_ACK","MISSION_ACK_DATA","MISSION_CLEAR_ALL","MISSION_CLEAR_ALL_DATA","MISSION_COUNT","MISSION_COUNT_DATA","MISSION_CURRENT","MISSION_CURRENT_DATA","MISSION_ITEM","MISSION_ITEM_DATA","MISSION_ITEM_INT","MISSION_ITEM_INT_DATA","MISSION_ITEM_REACHED","MISSION_ITEM_REACHED_DATA","MISSION_READ_PERSISTENT","MISSION_REQUEST","MISSION_REQUEST_DATA","MISSION_REQUEST_INT","MISSION_REQUEST_INT_DATA","MISSION_REQUEST_LIST","MISSION_REQUEST_LIST_DATA","MISSION_REQUEST_PARTIAL_LIST","MISSION_REQUEST_PARTIAL_LIST_DATA","MISSION_RESET_DEFAULT","MISSION_SET_CURRENT","MISSION_SET_CURRENT_DATA","MISSION_STATE_ACTIVE","MISSION_STATE_COMPLETE","MISSION_STATE_NOT_STARTED","MISSION_STATE_NO_MISSION","MISSION_STATE_PAUSED","MISSION_STATE_UNKNOWN","MISSION_WRITE_PARTIAL_LIST","MISSION_WRITE_PARTIAL_LIST_DATA","MISSION_WRITE_PERSISTENT","MMSI","MOTOR_TEST_COMPASS_CAL","MOTOR_TEST_ORDER_BOARD","MOTOR_TEST_ORDER_DEFAULT","MOTOR_TEST_ORDER_SEQUENCE","MOTOR_TEST_THROTTLE_PERCENT","MOTOR_TEST_THROTTLE_PILOT","MOTOR_TEST_THROTTLE_PWM","MOUNT_ORIENTATION","MOUNT_ORIENTATION_DATA","MagCalStatus","MavArmAuthDeniedReason","MavAutopilot","MavBatteryChargeState","MavBatteryFault","MavBatteryFunction","MavBatteryMode","MavBatteryType","MavCmd","MavCmdAck","MavCollisionAction","MavCollisionSrc","MavCollisionThreatLevel","MavComponent","MavDataStream","MavDistanceSensor","MavDoRepositionFlags","MavEstimatorType","MavEventCurrentSequenceFlags","MavEventErrorReason","MavFrame","MavFtpErr","MavFtpOpcode","MavGeneratorStatusFlag","MavGoto","MavLandedState","MavMessage","MavMissionResult","MavMissionType","MavMode","MavModeFlag","MavModeFlagDecodePosition","MavMountMode","MavOdidArmStatus","MavOdidAuthType","MavOdidCategoryEu","MavOdidClassEu","MavOdidClassificationType","MavOdidDescType","MavOdidHeightRef","MavOdidHorAcc","MavOdidIdType","MavOdidOperatorIdType","MavOdidOperatorLocationType","MavOdidSpeedAcc","MavOdidStatus","MavOdidTimeAcc","MavOdidUaType","MavOdidVerAcc","MavParamExtType","MavParamType","MavPowerStatus","MavProtocolCapability","MavResult","MavRoi","MavSensorOrientation","MavSeverity","MavState","MavSysStatusSensor","MavSysStatusSensorExtended","MavTunnelPayloadType","MavType","MavVtolState","MavWinchStatusFlag","MavlinkDataStreamType","MissionState","MotorTestOrder","MotorTestThrottleType","NAMED_VALUE_FLOAT","NAMED_VALUE_FLOAT_DATA","NAMED_VALUE_INT","NAMED_VALUE_INT_DATA","NAV_CONTROLLER_OUTPUT","NAV_CONTROLLER_OUTPUT_DATA","NAV_VTOL_LAND_OPTIONS_DEFAULT","NAV_VTOL_LAND_OPTIONS_FW_DESCENT","NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT","NavVtolLandOptions","OBSTACLE_DISTANCE","OBSTACLE_DISTANCE_DATA","ODOMETRY","ODOMETRY_DATA","ONBOARD_COMPUTER_STATUS","ONBOARD_COMPUTER_STATUS_DATA","OPEN_DRONE_ID_ARM_STATUS","OPEN_DRONE_ID_ARM_STATUS_DATA","OPEN_DRONE_ID_AUTHENTICATION","OPEN_DRONE_ID_AUTHENTICATION_DATA","OPEN_DRONE_ID_BASIC_ID","OPEN_DRONE_ID_BASIC_ID_DATA","OPEN_DRONE_ID_LOCATION","OPEN_DRONE_ID_LOCATION_DATA","OPEN_DRONE_ID_MESSAGE_PACK","OPEN_DRONE_ID_MESSAGE_PACK_DATA","OPEN_DRONE_ID_OPERATOR_ID","OPEN_DRONE_ID_OPERATOR_ID_DATA","OPEN_DRONE_ID_SELF_ID","OPEN_DRONE_ID_SELF_ID_DATA","OPEN_DRONE_ID_SYSTEM","OPEN_DRONE_ID_SYSTEM_DATA","OPEN_DRONE_ID_SYSTEM_UPDATE","OPEN_DRONE_ID_SYSTEM_UPDATE_DATA","OPTICAL_FLOW","OPTICAL_FLOW_DATA","OPTICAL_FLOW_RAD","OPTICAL_FLOW_RAD_DATA","ORBIT_EXECUTION_STATUS","ORBIT_EXECUTION_STATUS_DATA","ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE","ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER","ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING","ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED","ORBIT_YAW_BEHAVIOUR_UNCONTROLLED","OrbitYawBehaviour","PARACHUTE_DISABLE","PARACHUTE_ENABLE","PARACHUTE_RELEASE","PARAM_ACK_ACCEPTED","PARAM_ACK_FAILED","PARAM_ACK_IN_PROGRESS","PARAM_ACK_VALUE_UNSUPPORTED","PARAM_EXT_ACK","PARAM_EXT_ACK_DATA","PARAM_EXT_REQUEST_LIST","PARAM_EXT_REQUEST_LIST_DATA","PARAM_EXT_REQUEST_READ","PARAM_EXT_REQUEST_READ_DATA","PARAM_EXT_SET","PARAM_EXT_SET_DATA","PARAM_EXT_VALUE","PARAM_EXT_VALUE_DATA","PARAM_MAP_RC","PARAM_MAP_RC_DATA","PARAM_READ_PERSISTENT","PARAM_REQUEST_LIST","PARAM_REQUEST_LIST_DATA","PARAM_REQUEST_READ","PARAM_REQUEST_READ_DATA","PARAM_RESET_ALL_DEFAULT","PARAM_RESET_CONFIG_DEFAULT","PARAM_RESET_SENSOR_DEFAULT","PARAM_SET","PARAM_SET_DATA","PARAM_VALUE","PARAM_VALUE_DATA","PARAM_WRITE_PERSISTENT","PING","PING_DATA","PLAY_TUNE","PLAY_TUNE_DATA","PLAY_TUNE_V2","PLAY_TUNE_V2_DATA","POSITION_TARGET_GLOBAL_INT","POSITION_TARGET_GLOBAL_INT_DATA","POSITION_TARGET_LOCAL_NED","POSITION_TARGET_LOCAL_NED_DATA","POSITION_TARGET_TYPEMASK_AX_IGNORE","POSITION_TARGET_TYPEMASK_AY_IGNORE","POSITION_TARGET_TYPEMASK_AZ_IGNORE","POSITION_TARGET_TYPEMASK_FORCE_SET","POSITION_TARGET_TYPEMASK_VX_IGNORE","POSITION_TARGET_TYPEMASK_VY_IGNORE","POSITION_TARGET_TYPEMASK_VZ_IGNORE","POSITION_TARGET_TYPEMASK_X_IGNORE","POSITION_TARGET_TYPEMASK_YAW_IGNORE","POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE","POSITION_TARGET_TYPEMASK_Y_IGNORE","POSITION_TARGET_TYPEMASK_Z_IGNORE","POWER_STATUS","POWER_STATUS_DATA","PRECISION_LAND_MODE_DISABLED","PRECISION_LAND_MODE_OPPORTUNISTIC","PRECISION_LAND_MODE_REQUIRED","PROTOCOL_VERSION","PROTOCOL_VERSION_DATA","ParachuteAction","ParamAck","PositionTargetTypemask","PrecisionLandMode","PreflightStorageMissionAction","PreflightStorageParameterAction","RADIO_STATUS","RADIO_STATUS_DATA","RAW_IMU","RAW_IMU_DATA","RAW_PRESSURE","RAW_PRESSURE_DATA","RAW_RPM","RAW_RPM_DATA","RC_CHANNELS","RC_CHANNELS_DATA","RC_CHANNELS_OVERRIDE","RC_CHANNELS_OVERRIDE_DATA","RC_CHANNELS_RAW","RC_CHANNELS_RAW_DATA","RC_CHANNELS_SCALED","RC_CHANNELS_SCALED_DATA","RC_TYPE_SPEKTRUM_DSM2","RC_TYPE_SPEKTRUM_DSMX","REQUEST_DATA_STREAM","REQUEST_DATA_STREAM_DATA","REQUEST_EVENT","REQUEST_EVENT_DATA","RESOURCE_REQUEST","RESOURCE_REQUEST_DATA","RESPONSE_EVENT_ERROR","RESPONSE_EVENT_ERROR_DATA","RTK_BASELINE_COORDINATE_SYSTEM_ECEF","RTK_BASELINE_COORDINATE_SYSTEM_NED","RcType","RtkBaselineCoordinateSystem","SAFETY_ALLOWED_AREA","SAFETY_ALLOWED_AREA_DATA","SAFETY_SET_ALLOWED_AREA","SAFETY_SET_ALLOWED_AREA_DATA","SCALED_IMU","SCALED_IMU2","SCALED_IMU2_DATA","SCALED_IMU3","SCALED_IMU3_DATA","SCALED_IMU_DATA","SCALED_PRESSURE","SCALED_PRESSURE2","SCALED_PRESSURE2_DATA","SCALED_PRESSURE3","SCALED_PRESSURE3_DATA","SCALED_PRESSURE_DATA","SERIAL_CONTROL","SERIAL_CONTROL_DATA","SERIAL_CONTROL_DEV_GPS1","SERIAL_CONTROL_DEV_GPS2","SERIAL_CONTROL_DEV_SHELL","SERIAL_CONTROL_DEV_TELEM1","SERIAL_CONTROL_DEV_TELEM2","SERIAL_CONTROL_FLAG_BLOCKING","SERIAL_CONTROL_FLAG_EXCLUSIVE","SERIAL_CONTROL_FLAG_MULTI","SERIAL_CONTROL_FLAG_REPLY","SERIAL_CONTROL_FLAG_RESPOND","SERIAL_CONTROL_SERIAL0","SERIAL_CONTROL_SERIAL1","SERIAL_CONTROL_SERIAL2","SERIAL_CONTROL_SERIAL3","SERIAL_CONTROL_SERIAL4","SERIAL_CONTROL_SERIAL5","SERIAL_CONTROL_SERIAL6","SERIAL_CONTROL_SERIAL7","SERIAL_CONTROL_SERIAL8","SERIAL_CONTROL_SERIAL9","SERVO_OUTPUT_RAW","SERVO_OUTPUT_RAW_DATA","SETUP_SIGNING","SETUP_SIGNING_DATA","SET_ACTUATOR_CONTROL_TARGET","SET_ACTUATOR_CONTROL_TARGET_DATA","SET_ATTITUDE_TARGET","SET_ATTITUDE_TARGET_DATA","SET_GPS_GLOBAL_ORIGIN","SET_GPS_GLOBAL_ORIGIN_DATA","SET_HOME_POSITION","SET_HOME_POSITION_DATA","SET_MODE","SET_MODE_DATA","SET_POSITION_TARGET_GLOBAL_INT","SET_POSITION_TARGET_GLOBAL_INT_DATA","SET_POSITION_TARGET_LOCAL_NED","SET_POSITION_TARGET_LOCAL_NED_DATA","SIM_STATE","SIM_STATE_DATA","SMART_BATTERY_INFO","SMART_BATTERY_INFO_DATA","STATUSTEXT","STATUSTEXT_DATA","STORAGE_INFORMATION","STORAGE_INFORMATION_DATA","STORAGE_STATUS_EMPTY","STORAGE_STATUS_NOT_SUPPORTED","STORAGE_STATUS_READY","STORAGE_STATUS_UNFORMATTED","STORAGE_TYPE_CF","STORAGE_TYPE_CFE","STORAGE_TYPE_HD","STORAGE_TYPE_MICROSD","STORAGE_TYPE_OTHER","STORAGE_TYPE_SD","STORAGE_TYPE_UNKNOWN","STORAGE_TYPE_USB_STICK","STORAGE_TYPE_XQD","STORAGE_USAGE_FLAG_LOGS","STORAGE_USAGE_FLAG_PHOTO","STORAGE_USAGE_FLAG_SET","STORAGE_USAGE_FLAG_VIDEO","SUPPORTED_TUNES","SUPPORTED_TUNES_DATA","SYSTEM_TIME","SYSTEM_TIME_DATA","SYS_STATUS","SYS_STATUS_DATA","SerialControlDev","SerialControlFlag","SetFocusType","StorageStatus","StorageType","StorageUsageFlag","TERRAIN_CHECK","TERRAIN_CHECK_DATA","TERRAIN_DATA","TERRAIN_DATA_DATA","TERRAIN_REPORT","TERRAIN_REPORT_DATA","TERRAIN_REQUEST","TERRAIN_REQUEST_DATA","TIMESYNC","TIMESYNC_DATA","TIME_ESTIMATE_TO_TARGET","TIME_ESTIMATE_TO_TARGET_DATA","TRAJECTORY_REPRESENTATION_BEZIER","TRAJECTORY_REPRESENTATION_BEZIER_DATA","TRAJECTORY_REPRESENTATION_WAYPOINTS","TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA","TUNE_FORMAT_MML_MODERN","TUNE_FORMAT_QBASIC1_1","TUNNEL","TUNNEL_DATA","TuneFormat","UAVCAN_NODE_HEALTH_CRITICAL","UAVCAN_NODE_HEALTH_ERROR","UAVCAN_NODE_HEALTH_OK","UAVCAN_NODE_HEALTH_WARNING","UAVCAN_NODE_INFO","UAVCAN_NODE_INFO_DATA","UAVCAN_NODE_MODE_INITIALIZATION","UAVCAN_NODE_MODE_MAINTENANCE","UAVCAN_NODE_MODE_OFFLINE","UAVCAN_NODE_MODE_OPERATIONAL","UAVCAN_NODE_MODE_SOFTWARE_UPDATE","UAVCAN_NODE_STATUS","UAVCAN_NODE_STATUS_DATA","UAVIONIX_ADSB_OUT_CFG","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L15M_W23M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25M_W28P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25_34M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_33M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_38M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_39P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_45M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_45M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_52M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_59P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_67M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W72P5M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W80M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W80M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W90M","UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA","UAVIONIX_ADSB_OUT_CFG_DATA","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_2M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_4M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_6M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_0M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_2M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_4M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_6M","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_APPLIED_BY_SENSOR","UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA","UAVIONIX_ADSB_OUT_DOWNED_AIRCRAFT_EMERGENCY","UAVIONIX_ADSB_OUT_DYNAMIC","UAVIONIX_ADSB_OUT_DYNAMIC_DATA","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_2D","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_3D","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_DGPS","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_1","UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_RTK","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_AUTOPILOT_ENABLED","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_IDENT","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_NICBARO_CROSSCHECKED","UAVIONIX_ADSB_OUT_DYNAMIC_STATE_ON_GROUND","UAVIONIX_ADSB_OUT_GENERAL_EMERGENCY","UAVIONIX_ADSB_OUT_LIFEGUARD_EMERGENCY","UAVIONIX_ADSB_OUT_MINIMUM_FUEL_EMERGENCY","UAVIONIX_ADSB_OUT_NO_COMM_EMERGENCY","UAVIONIX_ADSB_OUT_NO_EMERGENCY","UAVIONIX_ADSB_OUT_RESERVED","UAVIONIX_ADSB_OUT_RF_SELECT_RX_ENABLED","UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY","UAVIONIX_ADSB_OUT_RF_SELECT_TX_ENABLED","UAVIONIX_ADSB_OUT_UNLAWFUL_INTERFERANCE_EMERGENCY","UAVIONIX_ADSB_RF_HEALTH_FAIL_RX","UAVIONIX_ADSB_RF_HEALTH_FAIL_TX","UAVIONIX_ADSB_RF_HEALTH_INITIALIZING","UAVIONIX_ADSB_RF_HEALTH_OK","UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT","UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA","UNDER_WAY","UTM_DATA_AVAIL_FLAGS_ALTITUDE_AVAILABLE","UTM_DATA_AVAIL_FLAGS_HORIZONTAL_VELO_AVAILABLE","UTM_DATA_AVAIL_FLAGS_NEXT_WAYPOINT_AVAILABLE","UTM_DATA_AVAIL_FLAGS_POSITION_AVAILABLE","UTM_DATA_AVAIL_FLAGS_RELATIVE_ALTITUDE_AVAILABLE","UTM_DATA_AVAIL_FLAGS_TIME_VALID","UTM_DATA_AVAIL_FLAGS_UAS_ID_AVAILABLE","UTM_DATA_AVAIL_FLAGS_VERTICAL_VELO_AVAILABLE","UTM_FLIGHT_STATE_AIRBORNE","UTM_FLIGHT_STATE_EMERGENCY","UTM_FLIGHT_STATE_GROUND","UTM_FLIGHT_STATE_NOCTRL","UTM_FLIGHT_STATE_UNKNOWN","UTM_GLOBAL_POSITION","UTM_GLOBAL_POSITION_DATA","UavcanNodeHealth","UavcanNodeMode","UavionixAdsbEmergencyStatus","UavionixAdsbOutCfgAircraftSize","UavionixAdsbOutCfgGpsOffsetLat","UavionixAdsbOutCfgGpsOffsetLon","UavionixAdsbOutDynamicGpsFix","UavionixAdsbOutDynamicState","UavionixAdsbOutRfSelect","UavionixAdsbRfHealth","UtmDataAvailFlags","UtmFlightState","V2_EXTENSION","V2_EXTENSION_DATA","VFR_HUD","VFR_HUD_DATA","VIBRATION","VIBRATION_DATA","VICON_POSITION_ESTIMATE","VICON_POSITION_ESTIMATE_DATA","VIDEO_STREAM_INFORMATION","VIDEO_STREAM_INFORMATION_DATA","VIDEO_STREAM_STATUS","VIDEO_STREAM_STATUS_DATA","VIDEO_STREAM_STATUS_FLAGS_RUNNING","VIDEO_STREAM_STATUS_FLAGS_THERMAL","VIDEO_STREAM_TYPE_MPEG_TS_H264","VIDEO_STREAM_TYPE_RTPUDP","VIDEO_STREAM_TYPE_RTSP","VIDEO_STREAM_TYPE_TCP_MPEG","VISION_POSITION_ESTIMATE","VISION_POSITION_ESTIMATE_DATA","VISION_SPEED_ESTIMATE","VISION_SPEED_ESTIMATE_DATA","VTOL_TRANSITION_HEADING_ANY","VTOL_TRANSITION_HEADING_NEXT_WAYPOINT","VTOL_TRANSITION_HEADING_SPECIFIED","VTOL_TRANSITION_HEADING_TAKEOFF","VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT","Vcc","VelEW","VideoStreamStatusFlags","VideoStreamType","Vservo","VtolTransitionHeading","WHEEL_DISTANCE","WHEEL_DISTANCE_DATA","WIFI_CONFIG_AP","WIFI_CONFIG_AP_DATA","WIFI_CONFIG_AP_MODE_AP","WIFI_CONFIG_AP_MODE_DISABLED","WIFI_CONFIG_AP_MODE_STATION","WIFI_CONFIG_AP_MODE_UNDEFINED","WIFI_CONFIG_AP_RESPONSE_ACCEPTED","WIFI_CONFIG_AP_RESPONSE_MODE_ERROR","WIFI_CONFIG_AP_RESPONSE_PASSWORD_ERROR","WIFI_CONFIG_AP_RESPONSE_REJECTED","WIFI_CONFIG_AP_RESPONSE_SSID_ERROR","WIFI_CONFIG_AP_RESPONSE_UNDEFINED","WINCH_ABANDON_LINE","WINCH_DELIVER","WINCH_HOLD","WINCH_LOAD_LINE","WINCH_LOAD_PAYLOAD","WINCH_LOCK","WINCH_RATE_CONTROL","WINCH_RELATIVE_LENGTH_CONTROL","WINCH_RELAXED","WINCH_RETRACT","WINCH_STATUS","WINCH_STATUS_DATA","WIND_COV","WIND_COV_DATA","WifiConfigApMode","WifiConfigApResponse","WinchActions","ZOOM_TYPE_CONTINUOUS","ZOOM_TYPE_FOCAL_LENGTH","ZOOM_TYPE_RANGE","ZOOM_TYPE_STEP","abs_pressure","abs_pressure","acc","acc_x","acc_y","acc_z","accuracy","accuracy","accuracyHor","accuracyVel","accuracyVert","ack","action","active","actuator","address","afx","afx","afx","afx","afy","afy","afy","afy","afz","afz","afz","afz","aircraftSize","airspeed","airspeed","airspeed","airspeed","airspeed_sp","airspeed_sp","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","all","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt","alt_camera","alt_error","alt_image","altitude","altitude","altitude","altitude","altitude","altitude","altitude_amsl","altitude_amsl","altitude_barometric","altitude_geodetic","altitude_local","altitude_minimum_delta","altitude_monotonic","altitude_relative","altitude_sp","altitude_terrain","altitude_type","angle_x","angle_y","angular_velocity_x","angular_velocity_x","angular_velocity_x","angular_velocity_y","angular_velocity_y","angular_velocity_y","angular_velocity_z","angular_velocity_z","angular_velocity_z","apn","approach_x","approach_x","approach_y","approach_y","approach_z","approach_z","area_ceiling","area_count","area_floor","area_radius","arguments","arming_time_utc","array_id","aspd_error","attitude_q","attitude_quaternion","authentication_data","authentication_type","autocontinue","autocontinue","autocontinue","autopilot","autopilot","autosaved","aux1","aux2","aux3","aux4","available_capacity","available_capacity","ax","ay","az","baroAltMSL","barometer_accuracy","barometric_pressure","base_mode","base_mode","base_mode","baseline_a_mm","baseline_a_mm","baseline_b_mm","baseline_b_mm","baseline_c_mm","baseline_c_mm","baseline_coords_type","baseline_coords_type","bat_current_setpoint","battery","battery_current","battery_function","battery_function","battery_remaining","battery_remaining","battery_remaining","baudrate","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitand_assign","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitor_assign","bitrate","bitrate","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bits","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","bitxor_assign","board_version","body_pitch_rate","body_pitch_rate","body_roll_rate","body_roll_rate","body_yaw_rate","body_yaw_rate","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bottom_clearance","breach_count","breach_status","breach_time","breach_type","bus","bus","bus","bus_voltage","buttons","cal_mask","cal_status","callsign","callsign","callsign","cam_definition_uri","cam_definition_version","camera_id","cap_flags","cap_flags","capabilities","capacity_full","capacity_full_specification","capture_result","category_eu","chan10_raw","chan10_raw","chan11_raw","chan11_raw","chan12_raw","chan12_raw","chan13_raw","chan14_raw","chan15_raw","chan16_raw","chan17_raw","chan18_raw","chan1_raw","chan1_raw","chan1_raw","chan1_raw","chan1_scaled","chan2_raw","chan2_raw","chan2_raw","chan2_raw","chan2_scaled","chan3_raw","chan3_raw","chan3_raw","chan3_raw","chan3_scaled","chan4_raw","chan4_raw","chan4_raw","chan4_raw","chan4_scaled","chan5_raw","chan5_raw","chan5_raw","chan5_raw","chan5_scaled","chan6_raw","chan6_raw","chan6_raw","chan6_raw","chan6_scaled","chan7_raw","chan7_raw","chan7_raw","chan7_raw","chan7_scaled","chan8_raw","chan8_raw","chan8_raw","chan8_raw","chan8_scaled","chan9_raw","chan9_raw","chancount","charging_minimum_voltage","child_frame_id","class_eu","classification_type","climb","climb_rate","climb_rate","clipping_0","clipping_1","clipping_2","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cog","cog","cog","command","command","command","command","command","command","command","commanded_action","compass_id","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","complement","confirmation","connection_type","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","contains","control_request","control_request","controls","controls","controls","coordinate_frame","coordinate_frame","coordinate_frame","coordinate_frame","count","count","count","count","count","count","count","counter","covariance","covariance","covariance","covariance","cpu_combined","cpu_cores","current","current","current","current","current","current_battery","current_battery","current_consumed","current_distance","current_height","custom0","custom1","custom2","custom_cap_flags","custom_mode","custom_mode","custom_mode","custom_mode","custom_name","custom_state","cycle_count","cylinder_head_temperature","data","data","data","data","data","data","data","data","data","data","data_page","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default_message_from_id","delta","description","description_type","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deser","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destination_component","destination_system","device","device_name","dgps_age","dgps_numch","diag_x","diag_y","diag_z","diff_pressure","diff_pressure","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","difference","dimension_bow","dimension_port","dimension_starboard","dimension_stern","direction","discharge_minimum_voltage","dist","distance","distance","distance","distance","distances","drop_rate_comm","ecu_index","emergencyStatus","emitterType","emitter_type","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","empty","enable_lte","enable_pin","end","end_index","end_index","energy_consumed","engine_load","eph","eph","eph","eph","epv","epv","epv","epv","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","error","error_count","errors_comm","errors_count1","errors_count2","errors_count3","errors_count4","est_capabilities","estimator_status","estimator_type","estimator_type","event_time_boot_ms","exhaust_gas_temperature","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend","extra_crc","failed_sessions","failsafe","failure_flags","failure_flags","failure_flags","failure_reason","fan_speed","feed_forward_angular_velocity_z","fields_updated","fields_updated","file_crc","file_url","firmware_version","firmware_version","first_message_offset","first_message_offset","first_sequence","fitness","fix_type","fix_type","fix_type","fix_type","fixed","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flags","flight_custom_version","flight_state","flight_sw_version","flight_uuid","flow_comp_m_x","flow_comp_m_y","flow_x","flow_y","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","focal_length","format","format","frame","frame","frame","frame","frame","frame","frame","frame_id","framerate","framerate","frequency","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_i64","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_iter","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","from_u64","fuel_consumed","fuel_flow","gcs_system_id","general_metadata_file_crc","general_metadata_uri","generator_speed","generator_temperature","gimbal_device_id","gimbal_device_id","gimbal_device_id","gimbal_device_id","gimbal_device_id","gpsAlt","gpsFix","gpsLat","gpsLon","gpsOffsetLat","gpsOffsetLon","gps_fix_type","gps_id","gps_nsat","gpu_combined","gpu_cores","grid_spacing","grid_spacing","gridbit","ground_distance","groundspeed","groundspeed","groundspeed","group_mlx","group_mlx","h_acc","h_acc","hagl_ratio","hardware_version","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hdg","hdg","hdg_acc","hdop","heading","heading","heading","heading","heading","heading_sp","health","health","height","height","height_reference","hfov","hfov","hfov","hor_velocity","horiz_accuracy","horiz_accuracy","horizontal_accuracy","horizontal_minimum_delta","humidity","hw_unique_id","hw_version_major","hw_version_minor","iar_num_hypotheses","iar_num_hypotheses","id","id","id","id","id","id","id","id","id","id","id","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_or_mac","id_type","ids","ignition_timing","ignore_flags","image_index","image_interval","image_status","increment","ind","ind_airspeed","index","index","index","info","initial_timestamp","injection_time","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","insert","intake_manifold_pressure","intake_manifold_temperature","integrated_x","integrated_x","integrated_xgyro","integrated_xgyro","integrated_y","integrated_y","integrated_ygyro","integrated_ygyro","integrated_zgyro","integrated_zgyro","integration_time_us","integration_time_us","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersection","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","intersects","interval_us","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_all","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","is_empty","jpg_quality","key","lac","land","landed_state","landed_state","landed_state","last_change_ms","last_heartbeat","last_log_num","last_page_index","last_sequence","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat","lat_camera","lat_image","lat_int","lat_int","latitude","latitude","latitude","latitude","latitude","latitude","latitude","len","len","len","len","length","length","length","lens_id","library_version_hash","line_length","link_rx_max","link_rx_rate","link_tx_max","link_tx_rate","link_type","load","load_current","loaded","log_levels","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon","lon_camera","lon_image","lon_int","lon_int","longitude","longitude","longitude","longitude","longitude","longitude","longitude","mag_ratio","manual_override_switch","mask","mavlink_version","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","mavtype","max_distance","max_distance","max_version","mcc","message_id","message_id","message_id_from_name","message_name","message_rate","message_type","messages","messages_lost","messages_received","messages_sent","middleware_custom_version","middleware_sw_version","min_distance","min_distance","min_version","mission_end","mission_next_item","mnc","mode","mode","mode","mode_id","mode_switch","model_name","model_name","msg_pack_size","name","name","name","name","name","name","name","nav_bearing","nav_mode","nav_pitch","nav_roll","navigational_status","new_pin","next_alt","next_lat","next_lon","noise","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","not","nsats","nsats","numSats","num_ids","num_logs","offdiag_x","offdiag_y","offdiag_z","ofs","ofs","ofs_x","ofs_y","ofs_z","on_off","onboard_control_sensors_enabled","onboard_control_sensors_health","onboard_control_sensors_present","operation","operator_altitude_geo","operator_altitude_geo","operator_id","operator_id_type","operator_latitude","operator_latitude","operator_location_type","operator_longitude","operator_longitude","orientation","os_custom_version","os_sw_version","p1x","p1x","p1y","p1y","p1z","p1z","p2x","p2x","p2y","p2y","p2z","p2z","packets","param1","param1","param1","param1","param2","param2","param2","param2","param3","param3","param3","param3","param4","param4","param4","param4","param5","param6","param7","param_count","param_count","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_id","param_index","param_index","param_index","param_index","param_index","param_result","param_type","param_type","param_type","param_type","param_type","param_value","param_value","param_value","param_value","param_value","param_value0","param_value_max","param_value_min","parameter_rc_channel_index","parse","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","passkey","password","payload","payload","payload","payload","payload_length","payload_type","pending","peripherals_metadata_file_crc","peripherals_metadata_uri","pin","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch","pitch_elevator","pitch_max","pitch_max","pitch_min","pitch_min","pitch_rate","pitch_rate","pitch_rate","pitchspeed","pitchspeed","pitchspeed","pitchspeed","pitchspeed","pitchspeed","point_x","point_y","port","port","port","pos_horiz_accuracy","pos_horiz_ratio","pos_variance","pos_vert_accuracy","pos_vert_ratio","pos_x","pos_x","pos_y","pos_y","pos_yaw","pos_yaw","pos_z","pos_z","pose_covariance","position_cov","power_generated","press_abs","press_abs","press_abs","press_abs","press_diff","press_diff","press_diff","press_diff1","press_diff2","pressure_alt","pressure_alt","primary_control_compid","primary_control_sysid","product_id","pt_compensation","puk","q","q","q","q","q","q","q","q","q","q","q","q","q","q","q1","q1","q2","q2","q3","q3","q4","q4","q_estimated_delay_us","quality","quality","quality","quality","r","radius","radius","ram_total","ram_usage","rates","read_speed","reason","rec_bottom_x","rec_bottom_y","rec_top_x","rec_top_y","recording_time_ms","rectifier_temperature","relative_alt","relative_alt","relative_alt","relative_alt","remnoise","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remove","remrssi","req_message_rate","req_stream_id","request_id","resolution_h","resolution_h","resolution_h","resolution_v","resolution_v","resolution_v","response","resting_minimum_voltage","result","rfHealth","rfSelect","ring_pending","roaming","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll","roll_ailerons","roll_max","roll_max","roll_min","roll_min","roll_rate","rollspeed","rollspeed","rollspeed","rollspeed","rollspeed","rollspeed","rotation","rotation","rpm","rpm","rssi","rssi","rssi","rssi","rssi","rtk_health","rtk_health","rtk_rate","rtk_rate","rtk_receiver_id","rtk_receiver_id","runtime","rx_buf","rx_overflows","rx_parse_err","rx_rate","rx_session_pending","rxerrors","safe_return","satellite_azimuth","satellite_elevation","satellite_prn","satellite_snr","satellite_used","satellites_visible","satellites_visible","satellites_visible","satellites_visible","satellites_visible","scale","secondary_control_compid","secondary_control_sysid","secret_key","sensor_id","sensor_id","sensor_id","sensor_size_h","sensor_size_v","sensor_type","seq","seq","seq","seq","seq","seq","seq","seq","seq","seqnr","sequence","sequence","sequence","sequence","sequence","sequence","sequence_oldest_available","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","ser","serial_number","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","servo1_raw","servo2_raw","servo3_raw","servo4_raw","servo5_raw","servo6_raw","servo7_raw","servo8_raw","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","set","severity","signal_quality","single_message_size","size","size","size_x","size_y","spacing","spark_dwell_time","spec_version_hash","speed","speed_accuracy","speed_accuracy","speed_horizontal","speed_vertical","squawk","squawk","src","ssid","stallSpeed","start","start_index","start_index","start_stop","state","state","status","status","status","status","status","status","std_dev_horz","std_dev_vert","storage","storage_count","storage_id","storage_total","storage_type","storage_usage","stream_id","stream_id","stream_id","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_assign","sub_mode","successful_sessions","sw_vcs_commit","sw_version_major","sw_version_minor","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","symmetric_difference","system_status","takeoff_time_utc","target","target_altitude","target_bearing","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_component","target_data","target_distance","target_heading","target_network","target_network","target_num","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","target_system","tas_ratio","tc1","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature","temperature_air","temperature_air","temperature_board","temperature_core","tension","terrain_height","text","threat_level","throttle","throttle","throttle","throttle","throttle_out","throttle_position","thrust","thrust","thrust","time","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_ms","time_boot_us","time_delta_distance_us","time_delta_distance_us","time_last_baseline_ms","time_last_baseline_ms","time_to_minimum_delta","time_unix_usec","time_until_maintenance","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_usec","time_utc","time_utc","time_week","time_week_ms","timeout","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp","timestamp_accuracy","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_i64","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","to_u64","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","toggle","total_capacity","tow","tow","tracking_mode","tracking_status","tracking_status","transfer_type","true_airspeed","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ts1","tslc","tslc","tune","tune","turn_rate","tx_buf","tx_overflows","tx_rate","tx_session_pending","txbuf","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_mask","type_mask","type_mask","type_mask","type_mask","type_mask","ua_type","uas_id","uas_id","uid","uid","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","union","update_rate","uptime","uptime_sec","uptime_sec","uri","uri","uri","uri_type","usec","usec","usec","usec","used_capacity","utcTime","v_acc","v_acc","v_estimated_delay_us","valid_points","valid_points","value","value","value","value","var_horiz","var_vert","vd","vd","vd","vdop","ve","ve","ve","vel","vel","vel","vel","velNS","velVert","vel_acc","vel_acc","vel_d","vel_e","vel_n","vel_ratio","vel_variance","vel_x","vel_y","vel_yaw","vel_z","velocity","velocity_covariance","vendor_id","vendor_name","vendor_name","vendor_specific_status_code","ver","ver_velocity","version","version","vert_accuracy","vert_accuracy","vertical_accuracy","vfov","vibration_x","vibration_y","vibration_z","video_status","vn","vn","vn","voltage","voltage","voltage_battery","voltages","vtol_state","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vx","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vy","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","vz","weight","width","wind_alt","wind_heading","wind_x","wind_y","wind_z","windspeed","wn","wn","wp_dist","wp_distance","wp_num","wp_num","write_speed","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x_acc","x_pos","x_vel","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xacc","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xgyro","xmag","xmag","xmag","xmag","xmag","xmag","xtrack_error","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y","y_acc","y_pos","y_vel","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yacc","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw","yaw_max","yaw_max","yaw_min","yaw_min","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rate","yaw_rudder","yawspeed","yawspeed","yawspeed","yawspeed","yawspeed","yawspeed","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ygyro","ymag","ymag","ymag","ymag","ymag","ymag","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z_acc","z_pos","z_vel","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zacc","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zgyro","zmag","zmag","zmag","zmag","zmag","zmag"],"q":[[0,"mavlink"],[156,"mavlink::ardupilotmega"],[15498,"mavlink::bytes"],[15522,"mavlink::bytes_mut"],[15547,"mavlink::common"],[27060,"mavlink::error"],[27102,"mavlink::error::ParserError"],[27107,"mavlink::icarous"],[27239,"mavlink::uavionix"],[39159,"core::clone"],[39160,"alloc::boxed"],[39161,"std::io::error"],[39162,"core::result"],[39163,"serde::de"],[39164,"core::fmt"],[39165,"core::fmt"],[39166,"serde::ser"],[39167,"serde::ser"],[39168,"std::io"],[39169,"core::iter::traits::collect"],[39170,"core::option"],[39171,"core::hash"],[39172,"std::io::error"]],"d":["","","","","","Message framing marker for mavlink v1","Message framing marker for mavlink v2","","A MAVLink connection","Encapsulation of the Mavlink message and the header, …","Metadata from a MAVLink packet header","Versions of the Mavlink protocol that we support","","","","","","","This file was automatically generated, do not edit","","","","","","","","","","","","","","","","","","","","","","","","","This file was automatically generated, do not edit","","","","","Connect to a MAVLink node by address string.","","","","","","Deserialize MavFrame from a slice that has been received …","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Return the frame header","","","","This file was automatically generated, do not edit","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","Read a MAVLink v1 message from a Read stream.","Return a raw buffer with the mavlink message V1 maximum …","Read a MAVLink v2 message from a Read stream.","Return a raw buffer with the mavlink message V2 maximum …","","Receive a mavlink message.","Read whole frame","Read whole frame","Send a mavlink message","Send a message with default header","Send a message with default header","Write whole frame","Write whole frame","","","","Serialize Message into byte slice and return count of …","","Create a new frame with given message Serialize MavFrame …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This file was automatically generated, do not edit","Write a MAVLink v1 message to a Write stream.","Write a MAVLink v2 message to a Write stream.","Write a message using the given mavlink version","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","","","","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","","","","","","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","","","","","","","","","","","","","","","","","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","","","","","","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","","","","","","","","","Calls U::from(self).","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","","","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","","","","","","","","","","","","","","","","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","","","","","","","","","","","","","","","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","","","","","","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","","","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","","","","","","","","","","","","","","","","","","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","","","","","","","","","","","","","","","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","","","","","","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[30,30,30,0,0,0,0,0,0,0,0,0,0,30,0,30,5,5,0,4,5,6,1,3,4,5,6,1,3,0,0,1,3,4,5,6,1,3,4,5,6,1,3,0,3,1,3,4,0,4,1,3,8,30,6,4,4,5,1,3,0,8,4,5,6,1,3,4,5,6,1,3,12,1,3,6,1,3,6,0,3,4,5,6,1,3,8,1,3,8,8,6,1,3,8,1,3,1,3,6,1,3,0,0,0,0,0,12,12,12,12,12,12,12,12,1,3,4,8,30,6,4,5,6,1,3,1,3,12,1,3,4,4,5,6,1,3,4,5,6,1,3,4,5,6,1,3,4,5,6,1,3,0,0,0,0,420,420,420,420,420,420,420,420,509,509,509,509,509,509,66,0,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,66,0,66,0,451,451,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,46,46,46,46,46,46,46,46,46,46,66,0,66,66,0,66,0,0,66,0,37,37,37,37,37,37,37,37,37,37,37,37,37,485,485,485,485,485,485,485,485,485,485,485,485,485,485,485,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,66,0,66,0,318,66,0,66,0,66,0,66,66,0,0,66,0,53,53,53,53,53,53,66,0,66,0,66,0,66,0,66,0,366,366,366,366,0,0,0,0,0,0,0,0,0,0,0,66,0,492,66,0,66,0,66,0,42,42,42,42,42,42,42,42,42,42,42,42,66,470,470,0,470,470,470,66,0,66,0,66,0,439,439,439,66,0,66,0,515,515,515,515,515,515,515,66,0,66,0,370,370,370,487,487,487,437,437,437,437,66,0,66,0,511,66,0,511,511,66,0,66,423,0,423,423,423,423,482,482,482,482,467,467,467,467,467,66,0,488,488,488,488,488,488,488,488,488,488,488,488,488,66,66,0,0,352,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,371,371,371,371,371,371,66,0,519,519,519,519,519,519,519,519,519,519,519,519,519,519,519,519,519,519,519,519,519,519,519,519,519,66,0,66,0,66,0,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,295,295,295,0,283,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,445,445,445,445,445,445,445,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,438,438,66,0,66,0,66,0,66,0,66,0,66,0,66,0,0,0,298,66,0,64,64,64,64,64,64,64,64,66,0,64,64,64,66,0,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,506,506,506,506,506,506,43,43,43,43,43,43,43,43,66,0,66,0,66,0,66,0,66,0,61,61,61,61,61,61,61,61,61,61,66,0,61,61,66,0,66,0,0,0,0,0,385,385,385,385,385,385,385,385,450,450,450,450,450,450,450,450,450,450,450,450,450,450,450,62,517,517,517,517,517,517,517,517,503,503,503,503,66,0,388,388,388,66,0,66,0,283,66,0,508,508,508,508,508,66,0,452,452,452,452,452,452,452,66,0,0,0,0,0,0,0,66,0,400,400,400,522,522,522,460,460,460,66,0,66,0,44,44,44,44,44,44,44,44,44,44,44,44,44,44,41,41,41,41,41,41,41,41,41,41,58,58,58,58,58,58,58,58,58,58,66,0,66,0,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,426,426,426,426,426,426,426,426,426,426,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,66,0,0,66,0,513,513,513,513,513,513,513,513,513,380,380,380,380,380,380,380,380,523,523,480,480,480,480,480,480,480,480,480,480,480,480,480,480,480,480,480,377,377,377,36,507,507,507,507,507,507,507,507,507,507,507,507,507,507,66,0,66,0,66,0,521,521,521,521,449,449,449,449,449,493,493,493,493,493,479,479,478,478,478,478,478,478,478,478,478,478,478,478,478,478,478,478,478,478,478,478,478,435,435,435,435,435,481,481,481,454,454,454,454,454,433,433,411,411,411,411,411,411,411,411,411,411,411,411,411,411,66,0,66,0,418,66,0,66,0,446,446,446,446,446,446,446,446,446,66,0,66,0,66,0,47,47,47,47,47,47,47,47,66,0,66,0,66,0,66,0,424,424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,471,471,66,0,66,0,66,0,66,0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,66,66,0,0,66,0,66,0,66,0,66,0,66,0,66,0,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,66,0,66,0,49,49,49,49,49,49,49,49,49,49,49,49,49,49,66,0,66,0,66,0,0,0,0,0,283,227,83,108,419,419,419,419,419,419,66,0,66,0,422,422,422,66,0,0,0,66,0,474,474,474,474,62,66,0,442,442,442,363,363,363,363,363,66,0,363,45,45,45,66,0,66,66,0,0,66,0,66,0,66,66,0,0,66,0,66,0,66,0,66,0,66,0,66,0,0,0,0,0,464,464,464,464,66,0,66,0,464,464,464,464,66,0,66,0,447,447,447,447,447,447,395,395,395,395,395,395,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,367,367,367,367,367,367,367,367,492,492,492,492,492,492,492,492,429,429,429,429,429,436,436,436,376,376,376,376,376,473,369,369,369,369,369,369,369,369,369,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,491,491,491,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,473,416,416,416,416,416,416,416,372,372,378,378,378,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,405,405,405,405,405,405,405,405,405,469,469,469,469,469,415,497,497,497,497,497,497,497,497,497,50,500,489,489,489,489,489,489,489,489,489,489,489,489,489,489,489,489,489,489,489,489,489,489,448,448,448,448,448,448,448,448,448,448,448,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,495,495,495,495,512,512,512,512,512,386,386,386,386,386,386,386,386,386,386,386,386,386,386,393,393,393,393,386,386,505,505,48,48,514,514,514,514,514,514,514,514,48,48,48,48,48,48,483,483,483,483,483,483,483,505,505,505,505,505,505,505,505,505,365,365,365,365,365,365,365,384,384,387,387,387,387,387,387,461,461,461,461,397,397,484,484,484,484,484,484,484,484,510,510,510,389,389,465,465,465,465,465,465,465,465,465,465,465,465,465,413,413,413,413,413,472,412,412,412,504,504,504,504,504,486,486,486,486,486,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,401,444,444,444,444,444,444,444,431,431,431,431,431,431,431,431,431,431,431,440,440,440,440,440,440,440,440,440,440,34,34,34,34,34,34,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,432,432,379,379,425,425,425,425,425,425,425,409,409,409,409,409,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,402,402,402,402,402,402,402,402,407,407,407,407,407,407,407,407,407,55,55,55,55,55,55,466,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,394,394,394,394,394,394,394,394,394,394,394,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,391,391,391,391,391,54,54,54,54,54,54,54,54,54,54,54,54,54,54,66,0,70,70,70,70,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,456,66,0,66,0,66,0,66,0,456,66,0,502,502,502,502,502,502,66,0,456,352,453,501,501,501,453,453,453,66,0,66,0,66,0,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,0,66,0,66,0,381,381,381,0,66,66,0,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,421,421,421,421,421,383,66,0,66,0,383,383,383,383,408,408,408,383,383,383,383,66,0,66,0,408,0,0,0,283,414,414,414,399,399,399,399,66,0,66,0,66,0,66,0,66,0,66,0,476,66,0,66,0,476,476,476,66,0,66,0,476,66,477,0,477,477,477,477,477,66,0,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,520,66,0,66,0,66,0,66,0,40,40,40,40,40,40,40,40,40,40,40,40,66,0,516,516,516,66,0,0,0,298,298,298,0,0,0,0,0,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,499,499,66,0,66,0,66,0,66,0,66,0,66,0,458,458,458,458,458,458,458,458,458,458,458,458,66,0,428,428,0,0,0,0,66,0,66,0,66,66,0,66,0,0,66,66,0,66,0,0,417,417,417,417,66,0,66,0,518,518,518,518,518,63,63,63,63,63,518,518,518,518,518,518,518,518,518,518,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,66,0,494,494,318,66,0,66,0,396,396,396,396,430,430,430,430,430,430,430,430,430,441,441,441,441,459,459,459,459,459,459,459,459,459,66,0,66,0,66,0,0,0,0,0,0,0,0,0,0,66,0,66,0,66,0,66,0,66,0,66,0,457,457,457,457,457,457,66,0,66,0,59,59,66,0,0,0,496,496,496,496,66,0,375,375,375,375,375,66,0,66,468,468,468,468,468,468,468,468,468,468,468,468,468,468,468,468,0,406,406,406,406,406,406,406,406,364,364,475,66,0,404,404,404,404,404,404,33,33,33,33,33,475,475,475,475,475,475,57,57,57,475,51,51,51,51,66,0,485,35,35,35,35,35,35,35,35,427,427,427,427,427,66,0,0,0,0,0,0,0,0,0,0,0,0,0,66,0,66,0,66,0,66,0,66,0,66,0,443,443,398,398,398,398,66,0,66,0,66,0,410,410,410,410,410,114,227,205,0,0,114,0,66,0,66,0,66,0,382,382,382,382,368,368,368,368,368,368,490,490,490,490,490,490,490,490,490,490,66,0,66,66,0,0,0,0,0,463,463,463,463,100,334,329,133,133,133,204,204,204,113,179,201,205,205,205,131,283,234,344,311,311,126,126,126,126,126,126,191,202,325,112,210,255,279,112,210,255,279,112,210,255,279,83,121,149,170,302,149,302,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,79,84,112,116,135,141,152,156,168,170,185,218,220,255,277,294,314,329,158,109,158,225,225,108,127,137,215,239,288,302,310,354,149,263,190,190,263,344,263,263,149,263,108,151,208,208,101,256,349,101,256,349,101,256,349,105,358,127,239,127,239,127,239,310,310,178,178,178,178,71,171,339,109,180,329,84,117,117,132,249,305,174,302,309,217,217,217,217,184,327,69,131,283,69,69,125,205,190,130,149,167,174,179,201,179,201,179,201,179,201,345,302,345,160,276,149,274,276,139,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,153,199,336,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,246,157,223,157,223,157,223,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,263,147,250,250,250,250,79,91,138,173,191,202,257,345,191,202,191,202,78,180,309,180,309,83,108,352,350,350,225,266,199,220,98,232,246,160,160,328,220,178,118,155,118,155,118,155,155,155,155,155,155,155,88,118,155,259,144,88,118,155,259,144,88,118,155,259,144,88,118,155,259,144,88,118,155,259,144,88,118,155,259,144,88,118,155,259,144,88,118,155,259,144,118,155,155,160,303,178,178,170,149,302,312,312,312,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,115,124,211,306,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,152,156,294,89,95,132,133,197,249,305,105,251,308,180,309,104,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,180,180,151,166,222,95,280,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,234,252,110,145,245,112,210,255,279,79,123,139,140,153,162,191,202,206,270,280,291,299,317,362,280,69,185,213,233,187,187,192,310,99,123,132,162,237,249,295,305,317,274,276,287,276,233,129,302,302,302,355,232,355,149,167,174,302,232,329,160,130,76,96,107,138,139,140,191,206,238,253,257,265,316,324,333,340,341,117,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,66,146,241,241,241,241,241,241,241,189,189,189,143,143,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,131,283,71,71,139,160,156,156,309,309,309,100,298,334,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,352,352,352,352,190,331,180,180,180,160,135,168,208,209,244,291,347,159,274,130,125,205,83,108,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,358,358,181,93,248,276,105,130,152,156,294,302,152,156,294,302,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,131,338,280,113,113,274,274,274,274,274,329,282,69,185,266,71,130,310,105,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,66,105,251,105,251,131,131,273,149,101,280,302,296,187,282,100,334,267,220,232,350,253,316,301,309,152,156,277,294,194,221,75,79,82,101,104,108,114,139,153,172,218,225,245,256,264,328,333,336,349,350,352,353,246,218,246,171,337,337,337,337,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,33,33,33,33,371,372,373,374,375,376,34,34,34,34,34,377,35,35,35,35,35,378,379,380,36,36,36,36,36,381,382,383,384,37,37,37,37,37,385,386,387,388,389,38,38,38,38,38,390,39,39,39,39,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,40,40,40,40,406,407,41,41,41,41,41,42,42,42,42,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,43,43,43,43,424,425,426,427,428,429,430,44,44,44,44,44,431,432,433,45,45,45,45,45,434,46,46,46,46,46,435,436,437,438,439,440,47,47,47,47,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,48,48,48,48,459,460,461,49,49,49,49,49,462,463,464,465,466,50,50,50,50,50,467,51,51,51,51,51,468,469,470,471,472,52,52,52,52,52,473,474,475,53,53,53,53,53,476,477,478,479,480,481,482,483,484,54,54,54,54,54,485,486,487,488,489,490,55,55,55,55,55,491,492,493,494,56,56,56,56,56,495,57,57,57,57,57,496,497,58,58,58,58,58,498,499,59,59,59,59,59,500,501,502,503,60,60,60,60,60,504,505,506,61,61,61,61,61,507,62,62,62,62,62,508,509,510,511,512,513,514,515,63,63,63,63,63,516,517,518,519,520,521,64,64,64,64,64,522,523,225,350,251,242,348,80,132,193,208,240,249,262,305,303,153,199,336,91,68,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,130,130,234,224,224,345,345,98,172,264,349,353,205,205,205,205,83,83,149,277,149,187,187,150,341,341,337,149,170,302,110,145,204,204,204,135,218,82,232,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,135,141,135,277,108,149,170,302,352,149,130,304,168,190,243,190,153,158,336,108,277,293,190,344,122,214,214,214,179,201,70,71,122,138,160,168,177,206,233,257,276,344,362,72,117,143,178,190,321,359,72,173,79,270,275,330,130,277,220,327,327,225,266,159,166,222,73,84,68,237,280,280,268,130,169,169,169,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,355,130,130,209,244,209,244,209,244,209,244,209,244,209,244,295,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,326,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,105,241,241,241,243,361,296,308,79,77,149,282,310,310,147,120,147,273,177,117,147,301,147,79,84,108,116,129,135,137,141,150,152,156,168,175,185,218,220,225,270,271,277,288,294,314,329,341,352,158,158,112,255,127,149,190,215,239,302,354,76,96,107,138,238,257,265,333,117,253,316,350,320,147,99,187,187,187,187,187,79,137,168,225,270,271,288,274,345,129,71,84,108,116,129,135,141,150,152,156,175,185,218,220,277,294,314,329,341,352,158,158,112,255,127,149,190,215,239,302,354,204,204,230,204,230,204,230,82,313,150,174,76,96,153,160,174,187,228,233,238,243,265,276,296,302,325,352,281,281,281,281,281,159,233,262,166,222,320,296,66,326,66,66,154,292,321,229,229,229,246,246,281,281,281,281,281,159,233,262,166,222,320,308,308,296,105,217,245,304,196,313,232,350,147,147,147,97,321,94,106,153,214,272,339,352,109,217,109,109,352,358,218,218,218,194,221,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,179,201,281,205,173,177,262,309,309,309,269,206,362,309,309,309,131,113,113,113,131,154,274,274,274,173,178,343,359,359,178,343,178,178,343,233,246,246,103,166,103,166,266,193,240,193,240,193,240,266,193,240,193,240,193,240,266,266,243,95,132,249,305,95,132,249,305,95,132,249,305,95,132,249,305,95,95,95,81,87,67,81,87,164,166,222,226,236,297,323,67,81,87,297,323,164,81,87,164,226,236,81,87,164,226,236,323,323,323,323,66,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,252,203,310,310,355,148,243,285,292,148,148,129,224,224,358,92,116,119,137,142,149,168,172,225,264,271,288,290,313,314,319,346,217,98,232,98,232,121,172,264,84,116,213,247,303,319,207,207,74,74,74,88,144,216,82,82,104,121,82,82,104,133,146,133,146,133,146,133,146,303,329,151,345,128,161,335,357,128,335,357,161,161,100,334,353,353,246,130,358,101,121,127,157,158,213,220,223,231,239,256,282,303,349,247,314,247,314,247,314,247,314,282,209,244,296,337,78,80,207,187,187,329,298,204,204,184,86,207,207,207,207,327,345,140,191,202,141,185,218,220,194,221,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,194,221,113,102,102,90,103,140,166,186,191,202,222,289,153,199,336,350,153,199,336,350,358,160,90,140,197,222,289,332,83,273,125,358,92,116,119,137,142,149,168,225,271,288,290,313,314,319,346,217,98,232,98,232,121,84,116,213,247,303,319,153,199,336,123,130,162,237,317,258,258,88,118,144,155,194,221,179,201,179,201,179,201,345,229,229,229,229,273,194,221,308,260,260,260,260,260,152,156,260,277,294,169,323,353,353,268,209,244,337,350,350,159,262,85,132,165,176,182,249,278,342,360,198,340,324,71,75,86,253,316,322,86,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,160,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,216,216,216,216,216,216,216,216,251,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,212,251,105,131,131,273,321,177,192,243,208,208,129,130,320,99,331,190,277,190,190,331,108,205,344,203,97,97,97,310,83,181,93,248,102,120,205,298,298,298,99,115,124,184,190,198,199,296,300,328,338,345,314,314,186,184,184,187,187,187,153,154,336,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,304,273,214,214,214,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,174,171,78,302,109,67,72,74,79,85,86,89,93,95,97,101,102,103,105,107,111,112,117,125,132,136,138,143,145,148,165,166,169,172,173,178,181,188,189,190,191,192,198,200,202,210,211,219,223,226,228,230,236,240,241,242,248,249,251,253,254,256,257,259,264,268,269,270,275,282,285,286,292,297,299,301,305,306,315,316,321,322,323,330,340,342,343,348,349,355,359,360,362,207,302,302,285,292,208,67,72,74,79,85,86,89,93,95,97,101,102,103,105,107,111,112,117,125,127,132,136,138,143,145,148,165,166,167,169,172,173,178,181,188,189,190,191,192,198,200,202,210,211,215,219,223,225,226,228,230,236,240,241,242,248,249,251,252,253,254,256,257,259,264,266,268,269,270,275,282,285,286,292,297,299,301,305,306,315,316,321,322,323,330,340,342,343,348,349,355,359,360,362,82,163,99,100,122,123,128,149,161,162,168,209,244,276,280,317,334,335,357,149,302,187,187,99,104,129,212,131,131,344,149,170,217,295,302,130,130,157,223,313,218,73,88,94,98,101,106,112,120,128,134,141,142,144,155,157,158,168,171,183,184,196,210,220,223,224,232,233,247,255,262,267,279,284,290,307,313,319,327,335,350,351,353,357,282,209,244,151,179,201,344,183,345,69,80,82,84,99,100,110,116,118,121,133,145,146,151,152,156,159,161,165,185,187,195,208,209,213,214,216,217,225,231,237,244,245,263,266,272,277,278,280,291,293,294,303,304,311,312,318,334,337,339,177,220,277,277,139,117,178,190,229,273,302,329,343,190,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,184,123,162,317,179,201,207,135,207,186,84,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,163,108,352,242,315,352,229,229,229,273,194,221,281,281,281,281,281,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,33,371,372,373,374,375,376,34,377,35,378,379,380,36,381,382,383,384,37,385,386,387,388,389,38,390,39,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,40,406,407,41,42,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,43,424,425,426,427,428,429,430,44,431,432,433,45,434,46,435,436,437,438,439,440,47,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,48,459,460,461,49,462,463,464,465,466,50,467,51,468,469,470,471,472,52,473,474,475,53,476,477,478,479,480,481,482,483,484,54,485,486,487,488,489,490,55,491,492,493,494,56,495,57,496,497,58,498,499,59,500,501,502,503,60,504,505,506,61,507,62,508,509,510,511,512,513,514,515,63,516,517,518,519,520,521,64,522,523,112,157,210,223,255,279,131,72,72,218,232,246,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,218,187,214,304,153,186,199,267,186,92,119,235,346,184,205,137,137,137,137,135,218,282,133,146,73,94,106,115,211,325,293,293,152,277,314,277,152,277,314,152,156,294,329,205,205,135,218,135,135,135,82,121,133,133,133,133,352,303,104,246,232,350,304,325,108,252,320,277,293,190,158,312,312,312,327,152,277,314,99,123,162,237,287,317,347,274,276,77,69,84,112,116,141,185,210,218,255,279,282,284,298,303,69,84,112,116,141,185,210,218,255,279,282,284,298,303,69,84,112,116,141,185,210,218,255,279,282,284,298,303,160,243,293,302,293,293,293,302,179,201,109,149,149,302,184,69,78,80,92,119,127,132,210,231,235,239,249,262,272,279,284,290,303,305,346,121,121,121,84,100,116,134,195,271,307,314,334,351,100,134,195,271,307,314,334,351,100,134,195,307,334,351,109,69,78,80,92,119,127,132,210,231,235,239,249,262,272,279,284,290,303,305,346,121,121,121,84,100,116,134,195,271,307,314,334,351,92,112,116,119,137,142,168,172,210,225,255,264,271,279,288,290,313,314,319,346,98,232,98,232,112,121,172,210,255,264,279,217,84,116,213,247,303,319,100,134,195,271,307,314,334,351,100,134,195,307,334,351,69,78,80,92,119,127,132,210,231,235,239,249,262,272,279,284,290,303,305,346,121,121,121,84,100,116,134,195,271,307,314,334,351,100,134,195,271,307,314,334,351,100,134,195,307,334,351,251,251,0,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,529,0,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,787,787,787,787,787,787,562,0,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,859,562,0,856,856,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,556,556,556,556,556,556,556,556,556,556,562,0,548,548,548,548,548,548,548,548,548,548,548,548,548,826,826,826,826,826,826,826,826,826,826,826,826,826,826,826,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,812,562,0,562,0,562,0,562,562,0,0,562,0,554,554,554,554,554,554,562,0,562,0,562,0,562,0,822,822,822,822,0,0,0,0,0,0,0,0,0,0,797,562,0,562,0,562,0,537,537,537,537,537,537,537,537,537,537,537,537,562,0,562,0,562,0,809,809,809,562,0,562,0,562,0,820,820,820,885,885,885,874,874,874,874,562,0,562,0,794,562,0,794,794,562,0,562,819,0,819,819,819,819,862,862,862,862,798,798,798,798,798,562,0,811,811,811,811,811,811,811,811,811,811,811,811,811,562,562,0,0,678,562,0,562,0,562,0,562,0,562,0,562,0,562,0,784,784,784,784,784,784,562,0,562,0,0,0,0,0,0,0,0,0,0,0,0,0,562,0,562,0,562,0,562,0,562,0,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,562,0,562,0,562,0,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,830,830,830,830,830,830,558,558,558,558,558,558,558,558,562,0,562,0,545,545,545,545,545,545,545,545,545,545,562,0,545,545,562,0,562,0,0,0,0,890,890,890,890,890,890,890,890,884,884,884,884,884,884,884,884,884,884,884,884,884,884,884,837,837,837,837,837,837,837,837,813,813,813,813,852,852,852,562,0,562,0,791,791,791,791,791,562,0,817,817,817,817,817,817,817,562,0,0,0,0,0,0,0,562,0,562,0,539,539,539,539,539,539,539,539,539,539,539,539,539,539,546,546,546,546,546,546,546,546,546,546,543,543,543,543,543,543,543,543,543,543,562,0,562,0,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,865,865,865,865,865,865,865,865,865,865,562,0,562,0,562,0,562,0,562,0,562,562,0,0,562,0,562,0,562,0,849,849,849,849,849,849,849,849,849,562,0,562,0,562,0,542,542,542,542,542,542,542,542,562,0,562,0,562,0,562,0,790,790,0,0,0,0,0,0,0,0,562,0,562,0,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,562,562,0,0,562,0,562,0,562,0,562,0,562,0,562,0,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,562,0,562,0,561,561,561,561,561,561,561,561,561,561,561,561,561,561,562,0,562,0,0,0,0,585,562,0,562,0,788,788,788,788,562,0,562,562,0,0,562,0,562,0,562,562,0,0,562,0,562,0,562,0,562,0,562,0,562,0,0,833,833,833,833,562,0,833,833,833,833,562,0,562,0,805,805,805,805,805,805,840,840,840,840,840,840,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,850,850,850,850,850,850,850,850,797,797,797,797,797,797,797,797,810,810,810,810,810,882,882,882,806,806,806,806,806,843,843,843,843,843,843,843,843,843,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,796,796,796,796,796,796,796,847,847,799,799,799,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,857,877,877,877,877,877,877,877,877,877,836,836,836,836,836,880,851,851,851,851,851,851,851,851,851,549,807,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,873,876,876,876,876,876,876,876,876,876,876,876,844,844,844,844,844,844,844,844,844,844,844,844,844,844,844,844,844,844,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,854,854,854,854,891,891,891,891,891,795,795,795,795,795,795,795,795,795,795,795,795,795,795,872,872,872,872,795,795,835,835,559,559,832,832,832,832,832,832,832,832,559,559,559,559,559,559,835,835,835,835,835,835,835,835,835,800,800,800,800,800,800,800,878,878,889,889,889,889,889,889,786,786,786,786,895,895,825,825,825,825,825,825,825,825,858,858,858,801,801,827,827,827,827,827,827,827,827,827,827,827,827,827,816,816,816,816,816,871,815,815,815,814,814,814,814,814,838,838,838,838,838,821,821,821,821,821,821,821,821,821,821,821,821,821,821,821,821,839,839,839,839,839,839,839,839,839,839,839,839,839,839,839,839,834,834,834,834,834,834,834,808,808,808,808,808,808,808,808,808,808,808,829,829,829,829,829,829,829,829,829,829,541,541,541,541,541,541,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,792,792,792,792,792,792,792,793,793,793,793,793,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,846,879,879,879,879,879,879,879,879,860,860,860,860,860,860,860,860,860,560,560,560,560,560,560,861,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,823,823,823,823,823,823,823,823,823,823,823,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,803,866,866,866,866,866,547,547,547,547,547,547,547,547,547,547,547,547,547,547,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,818,562,0,562,0,562,0,562,0,818,562,0,841,841,841,841,841,841,562,0,818,678,893,863,863,863,893,893,893,562,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,562,0,562,0,562,0,894,894,894,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,869,869,869,869,869,0,892,892,892,802,802,802,802,562,0,562,0,562,0,562,0,562,0,562,0,831,562,0,562,0,831,831,831,562,0,562,0,831,562,0,562,0,562,0,562,0,562,0,555,555,555,555,555,555,555,555,555,555,555,555,562,0,785,785,785,562,0,0,0,0,0,0,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,888,888,562,0,562,0,562,0,562,0,789,789,0,0,562,0,562,0,562,562,0,562,0,0,562,562,0,562,0,0,562,0,853,853,853,853,853,540,540,540,540,540,853,853,853,853,853,853,853,853,853,853,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,867,867,867,867,864,864,864,864,864,864,864,864,864,881,881,881,881,562,0,562,0,562,0,0,0,0,0,0,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,562,0,538,538,562,0,0,828,828,828,828,562,0,804,804,804,804,804,562,0,826,557,557,557,557,557,557,557,557,842,842,842,842,842,562,0,0,0,0,0,562,0,562,0,562,0,562,0,562,0,562,0,848,848,855,855,855,855,562,0,562,0,824,824,824,824,824,597,0,0,597,0,562,0,562,0,868,868,868,868,886,886,886,886,886,886,875,875,875,875,875,875,875,875,875,875,562,0,562,0,0,0,0,845,845,845,845,602,612,760,716,716,716,568,648,592,710,663,663,714,577,625,626,688,577,625,626,688,577,625,626,688,627,736,753,778,753,778,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,579,625,626,627,630,646,649,654,664,680,693,711,731,758,760,779,566,661,566,571,581,585,618,720,778,701,753,696,696,701,710,701,701,753,701,585,690,690,728,767,775,728,767,775,728,767,775,669,581,720,581,720,581,720,665,665,665,665,746,601,565,661,760,579,662,662,652,683,772,668,778,600,590,590,590,590,589,658,773,773,773,696,745,668,687,753,568,648,568,648,568,648,568,648,564,778,564,595,623,623,719,753,704,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,632,713,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,715,574,707,574,707,574,707,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,701,622,622,622,622,638,757,765,564,636,600,600,585,678,708,708,630,653,692,715,595,595,630,665,676,700,676,700,676,700,700,700,700,700,700,700,578,582,676,700,751,578,582,676,700,751,578,582,676,700,751,578,582,676,700,751,578,582,676,700,751,578,582,676,700,751,578,582,676,700,751,578,582,676,700,751,676,700,700,595,586,665,665,627,753,778,647,647,647,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,649,654,758,587,593,635,652,683,716,772,631,600,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,593,774,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,592,712,643,721,730,577,625,626,688,629,667,675,704,713,755,774,774,583,664,681,773,759,759,563,651,652,683,772,623,719,623,583,608,778,778,778,692,668,687,753,778,692,760,595,745,637,638,656,671,703,704,722,755,763,765,662,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,562,702,756,756,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,746,746,704,595,649,649,600,600,600,602,612,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,678,678,678,678,696,595,731,567,609,629,690,735,719,745,585,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,669,669,682,588,617,623,745,649,654,758,778,649,654,758,778,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,754,774,719,719,719,719,719,760,686,664,773,746,745,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,737,753,728,774,778,639,759,686,602,612,698,630,692,708,656,703,744,600,649,654,711,758,634,585,597,616,632,637,643,678,680,704,708,713,728,729,762,767,771,775,776,715,680,715,601,591,591,591,591,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,537,537,537,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,538,538,538,538,806,807,808,539,539,539,539,539,809,540,540,540,540,540,810,811,812,813,814,815,541,541,541,541,541,816,817,818,542,542,542,542,542,819,820,821,822,823,824,543,543,543,543,543,825,826,827,828,829,830,831,832,833,544,544,544,544,544,834,835,836,837,838,839,840,841,842,843,844,845,545,545,545,545,545,846,546,546,546,546,546,847,848,849,850,851,852,547,547,547,547,547,853,854,548,548,548,548,548,855,856,857,549,549,549,549,549,550,550,550,550,550,551,551,551,551,551,858,859,860,861,862,863,864,865,552,552,552,552,552,553,553,553,553,553,866,554,554,554,554,554,867,555,555,555,555,555,868,869,870,556,556,556,556,556,871,872,873,874,875,876,877,878,879,880,881,882,557,557,557,557,557,883,884,885,886,887,558,558,558,558,558,559,559,559,559,559,888,889,890,891,560,560,560,560,560,561,561,561,561,561,892,893,894,895,708,660,697,652,683,690,705,749,772,782,586,632,713,569,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,745,745,592,764,764,564,564,616,653,729,767,771,753,711,753,759,759,633,671,671,591,627,753,778,721,730,680,731,776,692,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,693,731,731,711,585,627,678,753,778,753,726,745,696,761,696,566,632,713,585,610,711,696,710,743,572,572,572,568,648,583,595,623,638,675,689,710,743,746,755,765,611,662,665,670,696,738,756,670,757,745,711,630,589,589,735,684,579,563,569,774,774,657,745,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,745,745,567,609,567,609,567,609,567,609,567,609,567,609,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,584,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,761,672,639,631,575,686,753,694,737,689,662,744,579,585,608,630,633,646,649,654,664,671,678,680,693,711,731,758,760,768,779,566,566,625,626,571,581,618,696,720,753,778,637,638,763,765,656,662,703,708,621,651,759,759,759,759,759,719,564,608,746,579,585,608,630,633,646,649,654,664,671,678,680,693,711,731,758,760,768,779,566,566,625,626,571,581,618,696,720,753,778,776,573,633,668,583,595,623,639,668,678,713,714,759,761,778,781,583,735,621,639,562,584,562,562,613,741,611,614,614,614,715,715,583,735,621,631,631,639,590,643,726,604,573,692,708,611,565,572,605,673,678,713,740,661,590,661,661,678,669,680,680,680,634,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,568,648,757,689,600,600,600,675,755,600,600,600,613,719,719,719,757,665,695,738,738,665,695,665,665,695,583,715,715,749,782,749,782,749,782,749,782,749,782,749,782,761,593,652,683,772,593,652,683,772,593,652,683,772,593,652,683,772,593,593,593,640,733,594,607,640,706,725,733,766,770,594,607,640,733,770,706,640,706,725,733,766,640,706,725,733,766,607,607,607,607,562,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,712,603,650,674,741,761,674,674,608,764,764,669,570,573,576,599,616,646,659,685,748,753,771,779,590,653,692,653,692,616,736,771,579,586,599,646,681,691,747,747,582,732,751,776,776,736,776,776,702,716,702,716,702,716,702,716,586,760,564,619,620,724,780,619,724,780,620,620,602,612,729,729,715,745,669,566,574,581,586,630,677,681,686,707,720,728,736,767,775,691,779,691,779,691,779,691,779,686,567,591,609,639,636,705,747,759,759,760,658,615,747,747,747,747,589,564,630,664,680,693,634,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,634,742,742,699,632,708,713,632,708,713,669,595,635,737,669,570,573,576,599,646,659,685,748,753,779,590,653,692,653,692,736,579,586,599,646,681,691,632,713,563,745,582,634,676,700,751,568,648,568,648,568,648,564,614,614,614,614,737,634,631,645,645,645,645,645,645,649,654,711,758,607,729,729,657,567,591,609,708,708,735,580,596,598,606,628,652,666,679,772,722,615,656,703,739,746,762,615,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,595,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,732,732,732,732,732,732,732,732,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,777,737,611,689,761,690,690,608,745,621,651,696,711,696,696,585,710,603,682,588,617,742,694,564,639,651,658,696,754,779,779,699,658,658,759,759,759,613,632,713,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,726,737,572,572,572,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,668,601,636,778,661,577,578,580,587,588,593,594,596,607,611,615,616,617,626,638,641,642,650,652,655,656,657,660,662,665,666,667,670,674,675,679,682,683,686,695,696,697,703,707,717,725,727,728,730,738,739,741,742,744,749,752,756,757,763,765,766,767,769,770,771,772,775,781,747,778,778,650,741,690,571,577,578,580,587,588,593,594,596,607,611,615,616,617,626,638,641,642,650,652,655,656,657,660,662,665,666,667,670,674,675,679,682,683,686,687,695,696,697,703,707,712,717,720,725,727,728,730,738,739,741,742,744,749,752,756,757,763,765,766,767,769,770,771,772,775,781,776,718,567,602,609,612,619,620,623,651,724,743,753,774,780,753,778,759,759,651,608,777,710,590,627,753,778,745,745,573,574,707,680,566,573,574,576,577,582,583,589,599,601,604,605,619,625,626,630,644,653,658,673,684,688,691,692,693,694,698,700,707,708,709,723,724,728,729,734,748,751,764,780,783,686,567,609,568,648,710,723,564,563,565,567,572,579,586,590,591,602,606,609,610,612,620,629,643,646,647,649,651,654,663,664,666,676,677,681,690,701,702,705,711,716,721,726,730,732,735,736,740,750,758,759,773,774,776,630,689,711,711,704,614,662,665,695,696,737,760,778,696,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,658,568,648,747,731,747,699,579,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,718,585,678,660,752,678,614,614,614,737,634,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,537,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,538,806,807,808,539,809,540,810,811,812,813,814,815,541,816,817,818,542,819,820,821,822,823,824,543,825,826,827,828,829,830,831,832,833,544,834,835,836,837,838,839,840,841,842,843,844,845,545,846,546,847,848,849,850,851,852,547,853,854,548,855,856,857,549,550,551,858,859,860,861,862,863,864,865,552,553,866,554,867,555,868,869,870,556,871,872,873,874,875,876,877,878,879,880,881,882,557,883,884,885,886,887,558,559,888,889,890,891,560,561,892,893,894,895,574,577,625,626,688,707,670,670,680,692,715,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,680,759,572,726,698,699,713,699,570,624,659,685,658,680,731,686,702,716,605,673,684,714,610,610,711,758,779,711,711,758,779,649,654,758,760,680,731,731,731,731,776,736,716,716,716,716,678,586,715,692,708,726,714,585,621,712,610,711,696,566,647,647,647,589,711,758,779,563,651,719,623,575,577,579,586,625,626,646,664,680,686,688,693,773,783,577,579,586,625,626,646,664,680,686,688,693,773,783,577,579,586,625,626,646,664,680,686,688,693,773,783,595,761,610,778,610,610,610,778,568,648,661,753,753,778,658,570,576,577,581,586,624,636,652,659,677,683,685,688,705,720,740,772,773,783,736,736,736,579,602,612,644,646,709,734,750,779,602,612,644,709,734,750,779,602,612,644,709,734,750,661,570,576,577,581,586,624,636,652,659,677,683,685,688,705,720,740,772,773,783,736,736,736,579,602,612,644,646,709,734,750,779,570,573,576,577,599,616,625,626,646,659,685,688,748,771,779,653,692,653,692,577,616,625,626,688,736,771,590,579,586,599,646,681,691,602,612,644,709,734,750,779,602,612,644,709,734,750,570,576,577,581,586,624,636,652,659,677,683,685,688,705,720,740,772,773,783,736,736,736,579,602,612,644,646,709,734,750,779,602,612,644,709,734,750,779,602,612,644,709,734,750,18,18,24,27,0,0,24,0,18,18,24,27,18,24,27,18,18,24,24,27,27,18,24,24,24,27,27,18,24,27,18,24,27,18,24,27,18,24,27,18,24,27,1273,1274,1275,1274,1273,899,900,901,902,899,900,901,901,901,901,901,901,898,0,898,0,902,902,902,0,0,0,898,899,900,901,902,898,899,900,901,902,898,899,900,901,902,898,899,900,901,902,899,900,901,902,898,899,900,898,899,900,901,902,898,899,900,901,902,898,898,899,900,901,902,898,899,900,901,902,901,902,901,902,898,899,900,901,902,899,899,899,899,899,898,898,898,899,899,899,899,899,899,898,898,899,900,898,899,900,901,902,900,901,902,898,899,900,901,902,901,902,898,899,900,901,902,898,899,900,901,902,899,899,899,899,899,898,899,900,901,902,1184,1184,1184,1184,1184,1184,931,0,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,931,0,1213,1213,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,929,929,929,929,929,929,929,929,929,929,931,0,924,924,924,924,924,924,924,924,924,924,924,924,924,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,931,0,931,0,931,0,931,931,0,0,931,0,912,912,912,912,912,912,931,0,931,0,931,0,931,0,1257,1257,1257,1257,0,0,0,0,0,0,0,0,0,0,1201,931,0,931,0,931,0,923,923,923,923,923,923,923,923,923,923,923,923,931,0,931,0,931,0,1198,1198,1198,931,0,931,0,931,0,1250,1250,1250,1211,1211,1211,1195,1195,1195,1195,931,0,931,0,1240,931,0,1240,1240,931,0,931,1249,0,1249,1249,1249,1249,1209,1209,1209,1209,1260,1260,1260,1260,1260,931,0,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,931,931,0,0,980,931,0,931,0,931,0,931,0,931,0,931,0,931,0,1181,1181,1181,1181,1181,1181,931,0,931,0,0,0,0,0,0,0,0,0,0,0,0,0,931,0,931,0,931,0,931,0,931,0,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,931,0,931,0,931,0,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1167,1167,1167,1167,1167,1167,930,930,930,930,930,930,930,930,931,0,931,0,914,914,914,914,914,914,914,914,914,914,931,0,914,914,931,0,931,0,0,0,0,1272,1272,1272,1272,1272,1272,1272,1272,1229,1229,1229,1229,1229,1229,1229,1229,1229,1229,1229,1229,1229,1229,1229,1170,1170,1170,1170,1170,1170,1170,1170,1203,1203,1203,1203,1176,1176,1176,931,0,931,0,1156,1156,1156,1156,1156,931,0,1261,1261,1261,1261,1261,1261,1261,931,0,0,0,0,0,0,0,931,0,931,0,917,917,917,917,917,917,917,917,917,917,917,917,917,917,928,928,928,928,928,928,928,928,928,928,905,905,905,905,905,905,905,905,905,905,931,0,931,0,918,918,918,918,918,918,918,918,918,918,918,918,918,918,918,918,1238,1238,1238,1238,1238,1238,1238,1238,1238,1238,931,0,931,0,931,0,931,0,931,0,931,931,0,0,931,0,931,0,931,0,1159,1159,1159,1159,1159,1159,1159,1159,1159,931,0,931,0,931,0,907,907,907,907,907,907,907,907,931,0,931,0,931,0,931,0,1220,1220,0,0,0,0,0,0,0,0,931,0,931,0,916,916,916,916,916,916,916,916,916,916,916,916,916,916,916,931,931,0,0,931,0,931,0,931,0,931,0,931,0,931,0,904,904,904,904,904,904,904,904,904,904,904,904,904,904,904,931,0,931,0,927,927,927,927,927,927,927,927,927,927,927,927,927,927,931,0,931,0,0,0,0,1010,945,931,0,931,0,1253,1253,1253,1253,931,0,931,931,0,0,931,0,931,0,931,931,0,0,931,0,931,0,931,0,931,0,931,0,931,0,0,1205,1205,1205,1205,931,0,1205,1205,1205,1205,931,0,931,0,1171,1171,1171,1171,1171,1171,1192,1192,1192,1192,1192,1192,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1215,1215,1215,1215,1215,1215,1215,1215,1201,1201,1201,1201,1201,1201,1201,1201,1160,1160,1160,1160,1160,1248,1248,1248,1161,1161,1161,1161,1161,1234,1234,1234,1234,1234,1234,1234,1234,1234,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1255,1255,1255,1255,1255,1255,1255,1212,1212,1180,1180,1180,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1216,1216,1216,1216,1216,1216,1216,1216,1216,1166,1166,1166,1166,1166,1210,1246,1246,1246,1246,1246,1246,1246,1246,1246,909,1183,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1218,1218,1218,1218,1218,1218,1218,1218,1218,1218,1218,1218,1218,1218,1218,1218,1218,1218,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,1172,1172,1172,1172,1227,1227,1227,1227,1227,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1237,1237,1237,1237,1264,1264,1262,1262,920,920,1165,1165,1165,1165,1165,1165,1165,1165,920,920,920,920,920,920,1262,1262,1262,1262,1262,1262,1262,1262,1262,1187,1187,1187,1187,1187,1187,1187,1200,1200,1179,1179,1179,1179,1179,1179,1247,1247,1247,1247,1241,1241,1242,1242,1242,1242,1242,1242,1242,1242,1178,1178,1178,1271,1271,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1185,1185,1185,1185,1185,1186,1236,1236,1236,1207,1207,1207,1207,1207,1206,1206,1206,1206,1206,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1162,1162,1162,1162,1162,1162,1162,1230,1230,1230,1230,1230,1230,1230,1230,1230,1230,1230,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,913,913,913,913,913,913,919,919,919,919,919,919,919,919,919,919,919,919,919,919,919,919,919,919,1173,1173,1173,1173,1173,1173,1173,1252,1252,1252,1252,1252,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1189,1189,1189,1189,1189,1189,1189,1189,1193,1193,1193,1193,1193,1193,1193,1193,1193,922,922,922,922,922,922,1190,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1157,1157,1157,1157,1157,908,908,908,908,908,908,908,908,908,908,908,908,908,908,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,1199,931,0,931,0,931,0,931,0,1199,931,0,1251,1251,1251,1251,1251,1251,931,0,1199,980,1164,1174,1174,1174,1164,1164,1164,931,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,931,0,931,0,931,0,1219,1219,1219,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,1191,1191,1191,1191,1191,0,1177,1177,1177,1258,1258,1258,1258,931,0,931,0,931,0,931,0,931,0,931,0,1270,931,0,931,0,1270,1270,1270,931,0,931,0,1270,931,0,931,0,931,0,931,0,931,0,926,926,926,926,926,926,926,926,926,926,926,926,931,0,1196,1196,1196,931,0,0,0,0,0,0,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,1239,1239,931,0,931,0,931,0,931,0,1231,1231,0,0,931,0,931,0,931,931,0,931,0,0,931,931,0,931,0,0,931,0,1254,1254,1254,1254,1254,915,915,915,915,915,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,1194,1194,1194,1194,1233,1233,1233,1233,1233,1233,1233,1233,1233,1182,1182,1182,1182,931,0,931,0,931,0,0,0,0,0,0,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,931,0,910,910,931,0,0,1225,1225,1225,1225,931,0,1256,1256,1256,1256,1256,931,0,931,1163,1163,1163,1163,1163,1163,1163,1163,1163,1163,1163,1163,1163,1163,1163,1163,0,1228,1228,1228,1228,1228,1228,1228,1228,1169,1169,1259,931,0,1168,1168,1168,1168,1168,1168,921,921,921,921,921,1259,1259,1259,1259,1259,1259,911,911,911,1259,903,903,903,903,931,0,1202,925,925,925,925,925,925,925,925,1245,1245,1245,1245,1245,931,0,0,0,0,0,0,0,0,0,0,0,0,0,931,0,931,0,931,0,931,0,931,0,931,0,1235,1235,1266,1266,1266,1266,931,0,931,0,1268,1268,1268,1268,1268,1128,1116,0,0,1128,0,931,0,931,0,1214,1214,1214,1214,1217,1217,1217,1217,1217,1217,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,931,0,931,0,0,0,0,1265,1265,1265,1265,1063,1098,932,1057,1057,1057,1026,1117,1116,1116,1116,1071,1104,1064,1064,1040,956,965,990,1097,956,965,990,1097,956,965,990,1097,1010,933,993,1136,1149,933,993,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,932,944,965,966,981,982,990,992,1020,1024,1047,1127,1135,1137,1149,1150,1114,1082,1114,945,993,1004,1025,1080,1088,933,1049,1070,1070,1049,1104,1049,1049,933,1049,945,1007,1007,989,1113,1131,989,1113,1131,989,1113,1131,1151,1080,1088,1080,1088,1080,1088,1068,1068,1068,1068,939,994,1106,1082,932,1020,1141,1141,948,971,1059,983,993,955,1129,1129,1129,1129,1018,1108,1043,1043,1043,1116,1070,958,933,983,991,1026,1117,1026,1117,1026,1117,1026,1117,950,993,950,1069,1125,933,1046,1069,1145,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,941,1038,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1119,1044,1153,1044,1153,1044,1153,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,1049,1021,1021,1021,1021,940,986,1130,950,947,955,955,945,980,1010,996,996,981,1014,1109,1119,1125,1125,981,1068,1060,1099,1060,1099,1060,1099,1099,1099,1099,1099,1099,1099,1060,1081,1094,1099,1144,1060,1081,1094,1099,1144,1060,1081,1094,1099,1144,1060,1081,1094,1099,1144,1060,1081,1094,1099,1144,1060,1081,1094,1099,1144,1060,1081,1094,1099,1144,1060,1081,1094,1099,1144,1060,1099,1099,1125,1146,1068,1068,1149,933,993,1122,1122,1122,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1024,1047,1137,948,957,962,971,1057,1059,1115,1075,955,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,957,995,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1071,1072,967,1077,1083,956,965,990,1097,941,954,969,995,1011,1111,1145,995,992,1017,1043,1093,1015,1015,934,948,971,1006,1059,1046,1069,1069,1017,1051,993,993,993,1014,933,983,991,993,1014,932,1125,958,940,973,997,1011,1089,1100,1107,1126,1130,1145,1141,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,931,1085,963,963,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,939,939,1145,1125,1047,1047,955,955,955,1063,1098,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,980,980,980,980,1070,1125,1135,953,954,1007,1079,1019,1046,958,1116,1010,945,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1151,1151,1133,951,1147,1069,958,993,1024,1047,1137,993,1024,1047,1137,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,1008,995,1046,1046,1046,1046,1046,932,1035,992,1043,939,958,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,1027,933,993,995,1113,960,1015,1035,1063,1098,938,981,996,1014,1107,1126,1050,955,966,1024,1047,1137,1138,937,941,945,946,973,975,980,989,996,1038,1065,1077,1096,1113,1128,1131,1145,1150,1119,1150,1119,994,935,935,935,935,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,903,903,903,903,904,904,904,904,904,1158,1159,1160,1161,1162,1163,1164,905,905,905,905,905,1165,1166,1167,1168,906,906,906,906,906,1169,907,907,907,907,907,908,908,908,908,908,909,909,909,909,909,1170,1171,910,910,910,910,910,1172,1173,1174,1175,911,911,911,911,911,1176,912,912,912,912,912,1177,1178,1179,1180,1181,913,913,913,913,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,914,914,914,914,1192,1193,1194,1195,1196,1197,915,915,915,915,915,1198,916,916,916,916,916,1199,917,917,917,917,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,918,918,918,918,1213,1214,1215,1216,1217,919,919,919,919,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,920,920,920,920,1227,1228,1229,1230,1231,1232,921,921,921,921,921,1233,1234,1235,1236,1237,922,922,922,922,922,923,923,923,923,923,1238,1239,1240,1241,1242,1243,1244,924,924,924,924,924,925,925,925,925,925,1245,1246,1247,1248,1249,1250,1251,926,926,926,926,926,1252,1253,927,927,927,927,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,928,928,928,928,1266,1267,1268,929,929,929,929,929,930,930,930,930,930,1269,1270,1271,1272,996,987,1003,948,971,1007,1042,1059,1066,1091,1146,941,1038,1032,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,958,958,1071,1143,1143,950,950,975,989,1065,1096,1109,1116,1116,1116,1116,1010,1010,933,966,933,1015,1015,1054,1100,1100,935,933,993,1149,967,1083,1135,1150,946,1014,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,944,1135,1135,966,933,945,980,993,1149,933,958,964,943,1070,1070,941,1038,1114,945,966,1048,1070,1104,998,1140,1140,1140,1026,1117,939,940,977,998,1011,1017,1069,1104,1111,1125,1130,961,963,976,1068,1070,1084,1141,1084,986,958,966,981,1018,1018,1019,970,1020,995,1006,1032,995,1152,958,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,958,958,953,1079,953,1079,953,1079,953,1079,953,1079,953,1079,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1092,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,943,1154,960,1075,933,1035,1090,1074,1027,977,1141,1050,932,944,945,966,980,981,982,992,1020,1024,1047,1051,1054,1061,1100,1127,1135,1137,1150,1114,1114,965,990,933,993,1004,1025,1070,1080,1088,940,973,1089,1130,1107,1126,1141,996,1009,934,1015,1015,1015,1015,1015,1046,950,1051,939,932,944,945,966,980,981,982,992,1020,1024,1047,1051,1054,1061,1100,1127,1135,1137,1150,1114,1114,965,990,933,993,1004,1025,1070,1080,1088,946,974,1054,983,936,941,943,960,980,983,993,1015,1017,1040,1069,1125,1017,1019,1009,960,931,1092,931,931,1028,1078,976,1110,1110,1110,1119,1119,1017,1019,1009,1075,1075,960,964,1077,1129,1139,974,996,1014,976,941,980,1002,1016,1106,1118,1140,1082,1129,1082,1082,980,1151,1150,1150,1150,1138,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1026,1117,1116,986,977,955,955,955,1011,1111,955,955,955,1028,1046,1046,1046,986,1068,1086,961,961,1068,1086,1068,1068,1086,1017,1119,1119,1066,1091,1066,1091,1066,1091,1066,1091,1066,1091,1066,1091,943,948,957,971,1059,948,957,971,1059,948,957,971,1059,948,957,971,1059,957,957,957,1022,1142,988,1022,1041,1062,1076,1087,1123,1142,1022,1041,1076,1087,1142,1062,988,1022,1062,1123,1142,988,1022,1062,1123,1142,1076,1076,1076,1076,931,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1072,1033,943,1053,1078,1134,1134,1134,1051,1143,1143,1151,933,949,974,978,982,985,1029,1055,1065,1067,1096,1127,1129,1014,1109,1014,1109,1065,1096,1136,999,1020,1055,1093,1127,1146,1005,1005,1094,1102,1144,946,946,1136,946,946,1057,1085,1057,1085,1057,1085,1057,1085,1146,932,950,1034,1045,1120,1124,1034,1045,1120,1124,1124,1063,1098,975,975,1119,958,1151,981,989,1035,1044,1058,1080,1088,1093,1113,1114,1131,1136,1146,1153,982,999,982,999,982,999,982,999,1035,935,953,960,1079,947,1005,1042,1015,1015,932,1108,1056,1005,1005,1005,1005,1018,950,944,981,992,1150,1138,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1138,1132,1132,1000,941,996,1038,941,996,1038,1151,1125,962,1148,1010,1027,1151,933,949,974,978,982,985,1029,1055,1067,1127,1129,1014,1109,1014,1109,1136,999,1020,1055,1093,1127,1146,941,1038,958,1006,1060,1094,1099,1138,1144,1026,1117,1026,1117,1026,1117,950,1110,1110,1110,1110,1027,1138,1075,1037,1037,1037,1037,1037,966,1024,1037,1047,1137,1076,975,975,1152,935,953,1079,996,996,1019,948,979,1013,1023,1031,1036,1059,1103,1155,997,937,939,1056,1107,1121,1126,1056,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1125,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,1102,1102,1102,1102,1102,1102,1102,1102,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1095,1027,976,943,977,1007,1007,1051,958,1009,934,966,1070,1070,1070,945,1116,1104,1033,1010,1133,951,1147,1132,1074,1116,934,950,960,1008,1070,1108,982,982,1000,1108,1108,1015,1015,1015,941,1028,1038,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,964,1027,1140,1140,1140,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,983,994,947,993,1082,936,940,942,948,951,957,961,963,967,969,971,976,984,986,987,988,989,990,1001,1003,1012,1013,1035,1036,1041,1044,1050,1053,1056,1059,1065,1066,1068,1070,1073,1076,1078,1081,1084,1086,1087,1089,1096,1097,1101,1103,1107,1111,1112,1113,1115,1121,1123,1126,1130,1131,1132,1133,1134,1141,1147,1152,1155,1005,993,993,1053,1078,1007,936,940,942,948,951,957,961,963,967,969,971,976,984,986,987,988,989,990,991,1001,1003,1012,1013,1025,1035,1036,1041,1044,1050,1053,1056,1059,1065,1066,1068,1070,1072,1073,1076,1078,1080,1081,1084,1086,1087,1089,1096,1097,1101,1103,1107,1111,1112,1113,1115,1121,1123,1126,1130,1131,1132,1133,1134,1141,1147,1152,1155,946,1030,933,934,953,995,998,1034,1045,1063,1069,1079,1098,1120,1124,933,993,1015,1015,934,1051,1095,1104,933,993,1129,1149,958,958,974,1044,1153,1150,938,944,952,956,959,965,970,974,975,978,981,990,994,996,999,1014,1016,1017,1018,1029,1034,1039,1044,1045,1052,1055,1074,1094,1097,1099,1105,1108,1109,1113,1114,1118,1120,1139,1143,1144,1153,1035,953,1079,1026,1117,1104,959,950,934,935,946,953,954,964,966,967,972,979,992,995,1002,1006,1007,1015,1019,1020,1024,1036,1042,1043,1047,1048,1049,1057,1058,1060,1063,1064,1077,1079,1083,1085,1093,1098,1102,1106,1122,1124,1127,1129,1136,1137,1140,1146,977,981,966,966,1145,932,993,1027,1068,1070,1086,1110,1141,1070,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1108,1026,1117,1005,1005,1135,1000,1020,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,1030,945,980,984,1003,980,1110,1110,1110,1027,1138,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,903,904,1158,1159,1160,1161,1162,1163,1164,905,1165,1166,1167,1168,906,1169,907,908,909,1170,1171,910,1172,1173,1174,1175,911,1176,912,1177,1178,1179,1180,1181,913,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,914,1192,1193,1194,1195,1196,1197,915,1198,916,1199,917,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,918,1213,1214,1215,1216,1217,919,1218,1219,1220,1221,1222,1223,1224,1225,1226,920,1227,1228,1229,1230,1231,1232,921,1233,1234,1235,1236,1237,922,923,1238,1239,1240,1241,1242,1243,1244,924,925,1245,1246,1247,1248,1249,1250,1251,926,1252,1253,927,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,928,1266,1267,1268,929,930,1269,1270,1271,1272,956,965,990,1044,1097,1153,1084,1084,1150,1014,1119,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,1150,1015,964,1140,938,941,1000,1000,949,968,985,1067,1108,1116,1135,1150,1035,1057,1085,970,1016,1040,1118,1048,1048,966,982,1024,966,966,982,1024,932,1024,1047,1137,1116,1116,1135,1150,1135,1135,1135,946,1136,1057,1057,1057,1057,980,1146,1119,996,1014,964,1040,945,1009,1072,966,1048,1070,1114,1122,1122,1122,1018,966,982,1024,934,1006,1046,1069,1090,944,956,965,990,992,1020,1035,1043,1052,1097,1127,1146,1150,944,956,965,990,992,1020,1035,1043,1052,1097,1127,1146,1150,944,956,965,990,992,1020,1035,1043,1052,1097,1127,1146,1150,1125,943,1048,993,1048,1048,1048,993,1026,1117,1082,933,933,993,1108,947,948,949,956,968,971,978,985,1002,1042,1043,1052,1058,1059,1067,1080,1088,1097,1146,1136,1136,1136,952,972,982,1020,1039,1063,1098,1105,1127,952,972,982,1039,1063,1098,1105,952,972,1039,1063,1098,1105,1082,947,948,949,956,968,971,978,985,1002,1042,1043,1052,1058,1059,1067,1080,1088,1097,1146,1136,1136,1136,952,972,982,1020,1039,1063,1098,1105,1127,949,956,965,974,978,982,985,990,1029,1055,1065,1067,1096,1097,1127,1014,1109,1014,1109,956,965,990,1065,1096,1097,1136,1129,999,1020,1055,1093,1127,1146,952,972,982,1039,1063,1098,1105,952,972,1039,1063,1098,1105,947,948,949,956,968,971,978,985,1002,1042,1043,1052,1058,1059,1067,1080,1088,1097,1146,1136,1136,1136,952,972,982,1020,1039,1063,1098,1105,1127,952,972,982,1039,1063,1098,1105,952,972,1039,1063,1098,1105],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[1,2],[3,2],[4,4],[5,5],[[[6,[-1]]],[[6,[-1]]],[7,8]],[1,1],[3,3],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],0,[3,10],[1,10],[3,10],0,[11,[[14,[[13,[12]]]]]],[[],4],[[],1],[[],3],[15,[[16,[-1,11]]],[]],[[5,[17,[10]]],[[16,[-1,18]]],[]],[[5,[17,[10]]],[[16,[[6,[-1]],18]]],8],[-1,[[16,[4]]],19],[[4,4],20],[[5,5],20],[[1,1],20],[[3,3],20],0,[15,10],[[4,21],22],[[5,21],22],[[[6,[-1]],21],22,[23,8]],[[1,21],22],[[3,21],22],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,5,[]],[1,20],[3,20],[[[6,[-1]]],4,8],[1,[[17,[10]]]],[3,[[17,[10]]]],0,0,[3,10],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,15,[]],[1,10],[3,15],[11,[[16,[15,11]]]],[-1,11,[]],0,[[],1],[[],3],[[5,15,[17,[10]]],[[16,[-1,18]]],[]],[1,[[17,[10]]]],[3,[[17,[10]]]],[1,10],[3,10],0,[1,[[17,[10]]]],[3,[[17,[10]]]],[-1,[[16,[[9,[4,-2]],24]]],25,8],[-1,[[16,[1,24]]],25],[-1,[[16,[[9,[4,-2]],24]]],25,8],[-1,[[16,[3,24]]],25],[[-1,5],[[16,[[9,[4,-2]],24]]],25,8],[-1,[[16,[[9,[4,-2]],24]]],[],[]],[-1,[[16,[[6,[-2]],24]]],[],[]],[-1,[[16,[[6,[-2]],24]]],[],[]],[[-1,4,-2],[[16,[26,27]]],[],[]],[[-1,-2],[[16,[26,27]]],[],[]],[[-1,-2],[[16,[26,27]]],[],[]],[[-1,[6,[-2]]],[[16,[26,27]]],[],[]],[[-1,[6,[-2]]],[[16,[26,27]]],[],[]],[1,10],[3,10],0,[[-1,5,[17,[10]]],26,[]],[[-1,5,[17,[10]]],26,[]],[[[6,[-1]],[17,[10]]],26,8],[[4,-1],16,28],[[5,-1],16,28],[[[6,[-1]],-2],16,[29,8],28],[[1,4,-1],9,8],[[3,4,-1],9,8],[[1,4,-1],9,30],[[3,4,-1],9,30],[[-1,5],9,[]],[1,10],[3,10],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],0,[[-1,4,-2],[[16,[26,27]]],32,8],[[-1,4,-2],[[16,[26,27]]],32,8],[[-1,5,4,-2],[[16,[26,27]]],32,8],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],33],[[],34],[[],35],[[],36],[[],37],[[],38],[[],39],[[],40],[[],41],[[],42],[[],43],[[],44],[[],45],[[],46],[[],47],[[],48],[[],49],[[],50],[[],51],[[],52],[[],53],[[],54],[[],55],[[],56],[[],57],[[],58],[[],59],[[],60],[[],61],[[],62],[[],63],[[],64],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],0,0,0,[33,2],[34,2],[35,10],[36,10],[37,2],[38,65],[39,15],[40,2],[41,15],[42,15],[43,2],[44,2],[45,10],[46,2],[47,2],[48,10],[49,2],[50,10],[51,10],[52,15],[53,10],[54,15],[55,15],[56,65],[57,10],[58,2],[59,15],[60,2],[61,2],[62,10],[63,10],[64,2],[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[66,66],[67,67],[68,68],[69,69],[70,70],[71,71],[72,72],[73,73],[74,74],[75,75],[76,76],[77,77],[78,78],[79,79],[80,80],[81,81],[82,82],[83,83],[84,84],[85,85],[86,86],[87,87],[88,88],[89,89],[90,90],[91,91],[92,92],[93,93],[94,94],[95,95],[96,96],[97,97],[98,98],[99,99],[100,100],[101,101],[102,102],[103,103],[104,104],[105,105],[106,106],[107,107],[108,108],[109,109],[110,110],[111,111],[112,112],[113,113],[114,114],[115,115],[116,116],[117,117],[118,118],[119,119],[120,120],[121,121],[122,122],[123,123],[124,124],[125,125],[126,126],[127,127],[128,128],[129,129],[130,130],[131,131],[132,132],[133,133],[134,134],[135,135],[136,136],[137,137],[138,138],[139,139],[140,140],[141,141],[142,142],[143,143],[144,144],[145,145],[146,146],[147,147],[148,148],[149,149],[150,150],[151,151],[152,152],[153,153],[154,154],[155,155],[156,156],[157,157],[158,158],[159,159],[160,160],[161,161],[162,162],[163,163],[164,164],[165,165],[166,166],[167,167],[168,168],[169,169],[170,170],[171,171],[172,172],[173,173],[174,174],[175,175],[176,176],[177,177],[178,178],[179,179],[180,180],[181,181],[182,182],[183,183],[184,184],[185,185],[186,186],[187,187],[188,188],[189,189],[190,190],[191,191],[192,192],[193,193],[194,194],[195,195],[196,196],[197,197],[198,198],[199,199],[200,200],[201,201],[202,202],[203,203],[204,204],[205,205],[206,206],[207,207],[208,208],[209,209],[210,210],[211,211],[212,212],[213,213],[214,214],[215,215],[216,216],[217,217],[218,218],[219,219],[220,220],[221,221],[222,222],[223,223],[224,224],[225,225],[226,226],[227,227],[228,228],[229,229],[230,230],[231,231],[232,232],[233,233],[234,234],[235,235],[236,236],[237,237],[238,238],[239,239],[240,240],[241,241],[242,242],[243,243],[244,244],[245,245],[246,246],[247,247],[248,248],[249,249],[250,250],[251,251],[252,252],[253,253],[254,254],[255,255],[256,256],[257,257],[258,258],[259,259],[260,260],[261,261],[262,262],[263,263],[264,264],[265,265],[266,266],[267,267],[268,268],[269,269],[270,270],[271,271],[272,272],[273,273],[274,274],[275,275],[276,276],[277,277],[278,278],[279,279],[280,280],[281,281],[282,282],[283,283],[284,284],[285,285],[286,286],[287,287],[288,288],[289,289],[290,290],[291,291],[292,292],[293,293],[294,294],[295,295],[296,296],[297,297],[298,298],[299,299],[300,300],[301,301],[302,302],[303,303],[304,304],[305,305],[306,306],[307,307],[308,308],[309,309],[310,310],[311,311],[312,312],[313,313],[314,314],[315,315],[316,316],[317,317],[318,318],[319,319],[320,320],[321,321],[322,322],[323,323],[324,324],[325,325],[326,326],[327,327],[328,328],[329,329],[330,330],[331,331],[332,332],[333,333],[334,334],[335,335],[336,336],[337,337],[338,338],[339,339],[340,340],[341,341],[342,342],[343,343],[344,344],[345,345],[346,346],[347,347],[348,348],[349,349],[350,350],[351,351],[352,352],[353,353],[354,354],[355,355],[356,356],[357,357],[358,358],[359,359],[360,360],[361,361],[362,362],[363,363],[364,364],[365,365],[366,366],[367,367],[368,368],[369,369],[370,370],[33,33],[371,371],[372,372],[373,373],[374,374],[375,375],[376,376],[34,34],[377,377],[35,35],[378,378],[379,379],[380,380],[36,36],[381,381],[382,382],[383,383],[384,384],[37,37],[385,385],[386,386],[387,387],[388,388],[389,389],[38,38],[390,390],[39,39],[391,391],[392,392],[393,393],[394,394],[395,395],[396,396],[397,397],[398,398],[399,399],[400,400],[401,401],[402,402],[403,403],[404,404],[405,405],[40,40],[406,406],[407,407],[41,41],[42,42],[408,408],[409,409],[410,410],[411,411],[412,412],[413,413],[414,414],[415,415],[416,416],[417,417],[418,418],[419,419],[420,420],[421,421],[422,422],[423,423],[43,43],[424,424],[425,425],[426,426],[427,427],[428,428],[429,429],[430,430],[44,44],[431,431],[432,432],[433,433],[45,45],[434,434],[46,46],[435,435],[436,436],[437,437],[438,438],[439,439],[440,440],[47,47],[441,441],[442,442],[443,443],[444,444],[445,445],[446,446],[447,447],[448,448],[449,449],[450,450],[451,451],[452,452],[453,453],[454,454],[455,455],[456,456],[457,457],[458,458],[48,48],[459,459],[460,460],[461,461],[49,49],[462,462],[463,463],[464,464],[465,465],[466,466],[50,50],[467,467],[51,51],[468,468],[469,469],[470,470],[471,471],[472,472],[52,52],[473,473],[474,474],[475,475],[53,53],[476,476],[477,477],[478,478],[479,479],[480,480],[481,481],[482,482],[483,483],[484,484],[54,54],[485,485],[486,486],[487,487],[488,488],[489,489],[490,490],[55,55],[491,491],[492,492],[493,493],[494,494],[56,56],[495,495],[57,57],[496,496],[497,497],[58,58],[498,498],[499,499],[59,59],[500,500],[501,501],[502,502],[503,503],[60,60],[504,504],[505,505],[506,506],[61,61],[507,507],[62,62],[508,508],[509,509],[510,510],[511,511],[512,512],[513,513],[514,514],[515,515],[63,63],[516,516],[517,517],[518,518],[519,519],[520,520],[521,521],[64,64],[522,522],[523,523],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],0,0,0,0,[[33,33],524],[[34,34],524],[[35,35],524],[[36,36],524],[[37,37],524],[[38,38],524],[[39,39],524],[[40,40],524],[[41,41],524],[[42,42],524],[[43,43],524],[[44,44],524],[[45,45],524],[[46,46],524],[[47,47],524],[[48,48],524],[[49,49],524],[[50,50],524],[[51,51],524],[[52,52],524],[[53,53],524],[[54,54],524],[[55,55],524],[[56,56],524],[[57,57],524],[[58,58],524],[[59,59],524],[[60,60],524],[[61,61],524],[[62,62],524],[[63,63],524],[[64,64],524],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[33,33],[34,34],[35,35],[36,36],[37,37],[38,38],[39,39],[40,40],[41,41],[42,42],[43,43],[44,44],[45,45],[46,46],[47,47],[48,48],[49,49],[50,50],[51,51],[52,52],[53,53],[54,54],[55,55],[56,56],[57,57],[58,58],[59,59],[60,60],[61,61],[62,62],[63,63],[64,64],0,0,0,0,0,0,0,[[33,33],20],[[34,34],20],[[35,35],20],[[36,36],20],[[37,37],20],[[38,38],20],[[39,39],20],[[40,40],20],[[41,41],20],[[42,42],20],[[43,43],20],[[44,44],20],[[45,45],20],[[46,46],20],[[47,47],20],[[48,48],20],[[49,49],20],[[50,50],20],[[51,51],20],[[52,52],20],[[53,53],20],[[54,54],20],[[55,55],20],[[56,56],20],[[57,57],20],[[58,58],20],[[59,59],20],[[60,60],20],[[61,61],20],[[62,62],20],[[63,63],20],[[64,64],20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],67],[[],68],[[],69],[[],70],[[],71],[[],72],[[],73],[[],74],[[],75],[[],76],[[],77],[[],78],[[],79],[[],80],[[],81],[[],82],[[],83],[[],84],[[],85],[[],86],[[],87],[[],88],[[],89],[[],90],[[],91],[[],92],[[],93],[[],94],[[],95],[[],96],[[],97],[[],98],[[],99],[[],100],[[],101],[[],102],[[],103],[[],104],[[],105],[[],106],[[],107],[[],108],[[],109],[[],110],[[],111],[[],112],[[],113],[[],114],[[],115],[[],116],[[],117],[[],118],[[],119],[[],120],[[],121],[[],122],[[],123],[[],124],[[],125],[[],126],[[],127],[[],128],[[],129],[[],130],[[],131],[[],132],[[],133],[[],134],[[],135],[[],136],[[],137],[[],138],[[],139],[[],140],[[],141],[[],142],[[],143],[[],144],[[],145],[[],146],[[],147],[[],148],[[],149],[[],150],[[],151],[[],152],[[],153],[[],154],[[],155],[[],156],[[],157],[[],158],[[],159],[[],160],[[],161],[[],162],[[],163],[[],164],[[],165],[[],166],[[],167],[[],168],[[],169],[[],170],[[],171],[[],172],[[],173],[[],174],[[],175],[[],176],[[],177],[[],178],[[],179],[[],180],[[],181],[[],182],[[],183],[[],184],[[],185],[[],186],[[],187],[[],188],[[],189],[[],190],[[],191],[[],192],[[],193],[[],194],[[],195],[[],196],[[],197],[[],198],[[],199],[[],200],[[],201],[[],202],[[],203],[[],204],[[],205],[[],206],[[],207],[[],208],[[],209],[[],210],[[],211],[[],212],[[],213],[[],214],[[],215],[[],216],[[],217],[[],218],[[],219],[[],220],[[],221],[[],222],[[],223],[[],224],[[],225],[[],226],[[],227],[[],228],[[],229],[[],230],[[],231],[[],232],[[],233],[[],234],[[],235],[[],236],[[],237],[[],238],[[],239],[[],240],[[],241],[[],242],[[],243],[[],244],[[],245],[[],246],[[],247],[[],248],[[],249],[[],250],[[],251],[[],252],[[],253],[[],254],[[],255],[[],256],[[],257],[[],258],[[],259],[[],260],[[],261],[[],262],[[],263],[[],264],[[],265],[[],266],[[],267],[[],268],[[],269],[[],270],[[],271],[[],272],[[],273],[[],274],[[],275],[[],276],[[],277],[[],278],[[],279],[[],280],[[],281],[[],282],[[],283],[[],284],[[],285],[[],286],[[],287],[[],288],[[],289],[[],290],[[],291],[[],292],[[],293],[[],294],[[],295],[[],296],[[],297],[[],298],[[],299],[[],300],[[],301],[[],302],[[],303],[[],304],[[],305],[[],306],[[],307],[[],308],[[],309],[[],310],[[],311],[[],312],[[],313],[[],314],[[],315],[[],316],[[],317],[[],318],[[],319],[[],320],[[],321],[[],322],[[],323],[[],324],[[],325],[[],326],[[],327],[[],328],[[],329],[[],330],[[],331],[[],332],[[],333],[[],334],[[],335],[[],336],[[],337],[[],338],[[],339],[[],340],[[],341],[[],342],[[],343],[[],344],[[],345],[[],346],[[],347],[[],348],[[],349],[[],350],[[],351],[[],352],[[],353],[[],354],[[],355],[[],356],[[],357],[[],358],[[],359],[[],360],[[],361],[[],362],[[],363],[[],364],[[],365],[[],366],[[],367],[[],368],[[],369],[[],370],[[],33],[[],371],[[],372],[[],373],[[],374],[[],375],[[],376],[[],34],[[],377],[[],35],[[],378],[[],379],[[],380],[[],36],[[],381],[[],382],[[],383],[[],384],[[],37],[[],385],[[],386],[[],387],[[],388],[[],389],[[],38],[[],390],[[],39],[[],391],[[],392],[[],393],[[],394],[[],395],[[],396],[[],397],[[],398],[[],399],[[],400],[[],401],[[],402],[[],403],[[],404],[[],405],[[],40],[[],406],[[],407],[[],41],[[],42],[[],408],[[],409],[[],410],[[],411],[[],412],[[],413],[[],414],[[],415],[[],416],[[],417],[[],418],[[],419],[[],420],[[],421],[[],422],[[],423],[[],43],[[],424],[[],425],[[],426],[[],427],[[],428],[[],429],[[],430],[[],44],[[],431],[[],432],[[],433],[[],45],[[],434],[[],46],[[],435],[[],436],[[],437],[[],438],[[],439],[[],440],[[],47],[[],441],[[],442],[[],443],[[],444],[[],445],[[],446],[[],447],[[],448],[[],449],[[],450],[[],451],[[],452],[[],453],[[],454],[[],455],[[],456],[[],457],[[],458],[[],48],[[],459],[[],460],[[],461],[[],49],[[],462],[[],463],[[],464],[[],465],[[],466],[[],50],[[],467],[[],51],[[],468],[[],469],[[],470],[[],471],[[],472],[[],52],[[],473],[[],474],[[],475],[[],53],[[],476],[[],477],[[],478],[[],479],[[],480],[[],481],[[],482],[[],483],[[],484],[[],54],[[],485],[[],486],[[],487],[[],488],[[],489],[[],490],[[],55],[[],491],[[],492],[[],493],[[],494],[[],56],[[],495],[[],57],[[],496],[[],497],[[],58],[[],498],[[],499],[[],59],[[],500],[[],501],[[],502],[[],503],[[],60],[[],504],[[],505],[[],506],[[],61],[[],507],[[],62],[[],508],[[],509],[[],510],[[],511],[[],512],[[],513],[[],514],[[],515],[[],63],[[],516],[[],517],[[],518],[[],519],[[],520],[[],521],[[],64],[[],522],[[],523],[15,[[16,[66,11]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[5,[17,[10]]],[[16,[67,18]]]],[[5,[17,[10]]],[[16,[68,18]]]],[[5,[17,[10]]],[[16,[69,18]]]],[[5,[17,[10]]],[[16,[70,18]]]],[[5,[17,[10]]],[[16,[71,18]]]],[[5,[17,[10]]],[[16,[72,18]]]],[[5,[17,[10]]],[[16,[73,18]]]],[[5,[17,[10]]],[[16,[74,18]]]],[[5,[17,[10]]],[[16,[75,18]]]],[[5,[17,[10]]],[[16,[76,18]]]],[[5,[17,[10]]],[[16,[77,18]]]],[[5,[17,[10]]],[[16,[78,18]]]],[[5,[17,[10]]],[[16,[79,18]]]],[[5,[17,[10]]],[[16,[80,18]]]],[[5,[17,[10]]],[[16,[81,18]]]],[[5,[17,[10]]],[[16,[82,18]]]],[[5,[17,[10]]],[[16,[83,18]]]],[[5,[17,[10]]],[[16,[84,18]]]],[[5,[17,[10]]],[[16,[85,18]]]],[[5,[17,[10]]],[[16,[86,18]]]],[[5,[17,[10]]],[[16,[87,18]]]],[[5,[17,[10]]],[[16,[88,18]]]],[[5,[17,[10]]],[[16,[89,18]]]],[[5,[17,[10]]],[[16,[90,18]]]],[[5,[17,[10]]],[[16,[91,18]]]],[[5,[17,[10]]],[[16,[92,18]]]],[[5,[17,[10]]],[[16,[93,18]]]],[[5,[17,[10]]],[[16,[94,18]]]],[[5,[17,[10]]],[[16,[95,18]]]],[[5,[17,[10]]],[[16,[96,18]]]],[[5,[17,[10]]],[[16,[97,18]]]],[[5,[17,[10]]],[[16,[98,18]]]],[[5,[17,[10]]],[[16,[99,18]]]],[[5,[17,[10]]],[[16,[100,18]]]],[[5,[17,[10]]],[[16,[101,18]]]],[[5,[17,[10]]],[[16,[102,18]]]],[[5,[17,[10]]],[[16,[103,18]]]],[[5,[17,[10]]],[[16,[104,18]]]],[[5,[17,[10]]],[[16,[105,18]]]],[[5,[17,[10]]],[[16,[106,18]]]],[[5,[17,[10]]],[[16,[107,18]]]],[[5,[17,[10]]],[[16,[108,18]]]],[[5,[17,[10]]],[[16,[109,18]]]],[[5,[17,[10]]],[[16,[110,18]]]],[[5,[17,[10]]],[[16,[111,18]]]],[[5,[17,[10]]],[[16,[112,18]]]],[[5,[17,[10]]],[[16,[113,18]]]],[[5,[17,[10]]],[[16,[114,18]]]],[[5,[17,[10]]],[[16,[115,18]]]],[[5,[17,[10]]],[[16,[116,18]]]],[[5,[17,[10]]],[[16,[117,18]]]],[[5,[17,[10]]],[[16,[118,18]]]],[[5,[17,[10]]],[[16,[119,18]]]],[[5,[17,[10]]],[[16,[120,18]]]],[[5,[17,[10]]],[[16,[121,18]]]],[[5,[17,[10]]],[[16,[122,18]]]],[[5,[17,[10]]],[[16,[123,18]]]],[[5,[17,[10]]],[[16,[124,18]]]],[[5,[17,[10]]],[[16,[125,18]]]],[[5,[17,[10]]],[[16,[126,18]]]],[[5,[17,[10]]],[[16,[127,18]]]],[[5,[17,[10]]],[[16,[128,18]]]],[[5,[17,[10]]],[[16,[129,18]]]],[[5,[17,[10]]],[[16,[130,18]]]],[[5,[17,[10]]],[[16,[131,18]]]],[[5,[17,[10]]],[[16,[132,18]]]],[[5,[17,[10]]],[[16,[133,18]]]],[[5,[17,[10]]],[[16,[134,18]]]],[[5,[17,[10]]],[[16,[135,18]]]],[[5,[17,[10]]],[[16,[136,18]]]],[[5,[17,[10]]],[[16,[137,18]]]],[[5,[17,[10]]],[[16,[138,18]]]],[[5,[17,[10]]],[[16,[139,18]]]],[[5,[17,[10]]],[[16,[140,18]]]],[[5,[17,[10]]],[[16,[141,18]]]],[[5,[17,[10]]],[[16,[142,18]]]],[[5,[17,[10]]],[[16,[143,18]]]],[[5,[17,[10]]],[[16,[144,18]]]],[[5,[17,[10]]],[[16,[145,18]]]],[[5,[17,[10]]],[[16,[146,18]]]],[[5,[17,[10]]],[[16,[147,18]]]],[[5,[17,[10]]],[[16,[148,18]]]],[[5,[17,[10]]],[[16,[149,18]]]],[[5,[17,[10]]],[[16,[150,18]]]],[[5,[17,[10]]],[[16,[151,18]]]],[[5,[17,[10]]],[[16,[152,18]]]],[[5,[17,[10]]],[[16,[153,18]]]],[[5,[17,[10]]],[[16,[154,18]]]],[[5,[17,[10]]],[[16,[155,18]]]],[[5,[17,[10]]],[[16,[156,18]]]],[[5,[17,[10]]],[[16,[157,18]]]],[[5,[17,[10]]],[[16,[158,18]]]],[[5,[17,[10]]],[[16,[159,18]]]],[[5,[17,[10]]],[[16,[160,18]]]],[[5,[17,[10]]],[[16,[161,18]]]],[[5,[17,[10]]],[[16,[162,18]]]],[[5,[17,[10]]],[[16,[163,18]]]],[[5,[17,[10]]],[[16,[164,18]]]],[[5,[17,[10]]],[[16,[165,18]]]],[[5,[17,[10]]],[[16,[166,18]]]],[[5,[17,[10]]],[[16,[167,18]]]],[[5,[17,[10]]],[[16,[168,18]]]],[[5,[17,[10]]],[[16,[169,18]]]],[[5,[17,[10]]],[[16,[170,18]]]],[[5,[17,[10]]],[[16,[171,18]]]],[[5,[17,[10]]],[[16,[172,18]]]],[[5,[17,[10]]],[[16,[173,18]]]],[[5,[17,[10]]],[[16,[174,18]]]],[[5,[17,[10]]],[[16,[175,18]]]],[[5,[17,[10]]],[[16,[176,18]]]],[[5,[17,[10]]],[[16,[177,18]]]],[[5,[17,[10]]],[[16,[178,18]]]],[[5,[17,[10]]],[[16,[179,18]]]],[[5,[17,[10]]],[[16,[180,18]]]],[[5,[17,[10]]],[[16,[181,18]]]],[[5,[17,[10]]],[[16,[182,18]]]],[[5,[17,[10]]],[[16,[183,18]]]],[[5,[17,[10]]],[[16,[184,18]]]],[[5,[17,[10]]],[[16,[185,18]]]],[[5,[17,[10]]],[[16,[186,18]]]],[[5,[17,[10]]],[[16,[187,18]]]],[[5,[17,[10]]],[[16,[188,18]]]],[[5,[17,[10]]],[[16,[189,18]]]],[[5,[17,[10]]],[[16,[190,18]]]],[[5,[17,[10]]],[[16,[191,18]]]],[[5,[17,[10]]],[[16,[192,18]]]],[[5,[17,[10]]],[[16,[193,18]]]],[[5,[17,[10]]],[[16,[194,18]]]],[[5,[17,[10]]],[[16,[195,18]]]],[[5,[17,[10]]],[[16,[196,18]]]],[[5,[17,[10]]],[[16,[197,18]]]],[[5,[17,[10]]],[[16,[198,18]]]],[[5,[17,[10]]],[[16,[199,18]]]],[[5,[17,[10]]],[[16,[200,18]]]],[[5,[17,[10]]],[[16,[201,18]]]],[[5,[17,[10]]],[[16,[202,18]]]],[[5,[17,[10]]],[[16,[203,18]]]],[[5,[17,[10]]],[[16,[204,18]]]],[[5,[17,[10]]],[[16,[205,18]]]],[[5,[17,[10]]],[[16,[206,18]]]],[[5,[17,[10]]],[[16,[207,18]]]],[[5,[17,[10]]],[[16,[208,18]]]],[[5,[17,[10]]],[[16,[209,18]]]],[[5,[17,[10]]],[[16,[210,18]]]],[[5,[17,[10]]],[[16,[211,18]]]],[[5,[17,[10]]],[[16,[212,18]]]],[[5,[17,[10]]],[[16,[213,18]]]],[[5,[17,[10]]],[[16,[214,18]]]],[[5,[17,[10]]],[[16,[215,18]]]],[[5,[17,[10]]],[[16,[216,18]]]],[[5,[17,[10]]],[[16,[217,18]]]],[[5,[17,[10]]],[[16,[218,18]]]],[[5,[17,[10]]],[[16,[219,18]]]],[[5,[17,[10]]],[[16,[220,18]]]],[[5,[17,[10]]],[[16,[221,18]]]],[[5,[17,[10]]],[[16,[222,18]]]],[[5,[17,[10]]],[[16,[223,18]]]],[[5,[17,[10]]],[[16,[224,18]]]],[[5,[17,[10]]],[[16,[225,18]]]],[[5,[17,[10]]],[[16,[226,18]]]],[[5,[17,[10]]],[[16,[227,18]]]],[[5,[17,[10]]],[[16,[228,18]]]],[[5,[17,[10]]],[[16,[229,18]]]],[[5,[17,[10]]],[[16,[230,18]]]],[[5,[17,[10]]],[[16,[231,18]]]],[[5,[17,[10]]],[[16,[232,18]]]],[[5,[17,[10]]],[[16,[233,18]]]],[[5,[17,[10]]],[[16,[234,18]]]],[[5,[17,[10]]],[[16,[235,18]]]],[[5,[17,[10]]],[[16,[236,18]]]],[[5,[17,[10]]],[[16,[237,18]]]],[[5,[17,[10]]],[[16,[238,18]]]],[[5,[17,[10]]],[[16,[239,18]]]],[[5,[17,[10]]],[[16,[240,18]]]],[[5,[17,[10]]],[[16,[241,18]]]],[[5,[17,[10]]],[[16,[242,18]]]],[[5,[17,[10]]],[[16,[243,18]]]],[[5,[17,[10]]],[[16,[244,18]]]],[[5,[17,[10]]],[[16,[245,18]]]],[[5,[17,[10]]],[[16,[246,18]]]],[[5,[17,[10]]],[[16,[247,18]]]],[[5,[17,[10]]],[[16,[248,18]]]],[[5,[17,[10]]],[[16,[249,18]]]],[[5,[17,[10]]],[[16,[250,18]]]],[[5,[17,[10]]],[[16,[251,18]]]],[[5,[17,[10]]],[[16,[252,18]]]],[[5,[17,[10]]],[[16,[253,18]]]],[[5,[17,[10]]],[[16,[254,18]]]],[[5,[17,[10]]],[[16,[255,18]]]],[[5,[17,[10]]],[[16,[256,18]]]],[[5,[17,[10]]],[[16,[257,18]]]],[[5,[17,[10]]],[[16,[258,18]]]],[[5,[17,[10]]],[[16,[259,18]]]],[[5,[17,[10]]],[[16,[260,18]]]],[[5,[17,[10]]],[[16,[261,18]]]],[[5,[17,[10]]],[[16,[262,18]]]],[[5,[17,[10]]],[[16,[263,18]]]],[[5,[17,[10]]],[[16,[264,18]]]],[[5,[17,[10]]],[[16,[265,18]]]],[[5,[17,[10]]],[[16,[266,18]]]],[[5,[17,[10]]],[[16,[267,18]]]],[[5,[17,[10]]],[[16,[268,18]]]],[[5,[17,[10]]],[[16,[269,18]]]],[[5,[17,[10]]],[[16,[270,18]]]],[[5,[17,[10]]],[[16,[271,18]]]],[[5,[17,[10]]],[[16,[272,18]]]],[[5,[17,[10]]],[[16,[273,18]]]],[[5,[17,[10]]],[[16,[274,18]]]],[[5,[17,[10]]],[[16,[275,18]]]],[[5,[17,[10]]],[[16,[276,18]]]],[[5,[17,[10]]],[[16,[277,18]]]],[[5,[17,[10]]],[[16,[278,18]]]],[[5,[17,[10]]],[[16,[279,18]]]],[[5,[17,[10]]],[[16,[280,18]]]],[[5,[17,[10]]],[[16,[281,18]]]],[[5,[17,[10]]],[[16,[282,18]]]],[[5,[17,[10]]],[[16,[283,18]]]],[[5,[17,[10]]],[[16,[284,18]]]],[[5,[17,[10]]],[[16,[285,18]]]],[[5,[17,[10]]],[[16,[286,18]]]],[[5,[17,[10]]],[[16,[287,18]]]],[[5,[17,[10]]],[[16,[288,18]]]],[[5,[17,[10]]],[[16,[289,18]]]],[[5,[17,[10]]],[[16,[290,18]]]],[[5,[17,[10]]],[[16,[291,18]]]],[[5,[17,[10]]],[[16,[292,18]]]],[[5,[17,[10]]],[[16,[293,18]]]],[[5,[17,[10]]],[[16,[294,18]]]],[[5,[17,[10]]],[[16,[295,18]]]],[[5,[17,[10]]],[[16,[296,18]]]],[[5,[17,[10]]],[[16,[297,18]]]],[[5,[17,[10]]],[[16,[298,18]]]],[[5,[17,[10]]],[[16,[299,18]]]],[[5,[17,[10]]],[[16,[300,18]]]],[[5,[17,[10]]],[[16,[301,18]]]],[[5,[17,[10]]],[[16,[302,18]]]],[[5,[17,[10]]],[[16,[303,18]]]],[[5,[17,[10]]],[[16,[304,18]]]],[[5,[17,[10]]],[[16,[305,18]]]],[[5,[17,[10]]],[[16,[306,18]]]],[[5,[17,[10]]],[[16,[307,18]]]],[[5,[17,[10]]],[[16,[308,18]]]],[[5,[17,[10]]],[[16,[309,18]]]],[[5,[17,[10]]],[[16,[310,18]]]],[[5,[17,[10]]],[[16,[311,18]]]],[[5,[17,[10]]],[[16,[312,18]]]],[[5,[17,[10]]],[[16,[313,18]]]],[[5,[17,[10]]],[[16,[314,18]]]],[[5,[17,[10]]],[[16,[315,18]]]],[[5,[17,[10]]],[[16,[316,18]]]],[[5,[17,[10]]],[[16,[317,18]]]],[[5,[17,[10]]],[[16,[318,18]]]],[[5,[17,[10]]],[[16,[319,18]]]],[[5,[17,[10]]],[[16,[320,18]]]],[[5,[17,[10]]],[[16,[321,18]]]],[[5,[17,[10]]],[[16,[322,18]]]],[[5,[17,[10]]],[[16,[323,18]]]],[[5,[17,[10]]],[[16,[324,18]]]],[[5,[17,[10]]],[[16,[325,18]]]],[[5,[17,[10]]],[[16,[326,18]]]],[[5,[17,[10]]],[[16,[327,18]]]],[[5,[17,[10]]],[[16,[328,18]]]],[[5,[17,[10]]],[[16,[329,18]]]],[[5,[17,[10]]],[[16,[330,18]]]],[[5,[17,[10]]],[[16,[331,18]]]],[[5,[17,[10]]],[[16,[332,18]]]],[[5,[17,[10]]],[[16,[333,18]]]],[[5,[17,[10]]],[[16,[334,18]]]],[[5,[17,[10]]],[[16,[335,18]]]],[[5,[17,[10]]],[[16,[336,18]]]],[[5,[17,[10]]],[[16,[337,18]]]],[[5,[17,[10]]],[[16,[338,18]]]],[[5,[17,[10]]],[[16,[339,18]]]],[[5,[17,[10]]],[[16,[340,18]]]],[[5,[17,[10]]],[[16,[341,18]]]],[[5,[17,[10]]],[[16,[342,18]]]],[[5,[17,[10]]],[[16,[343,18]]]],[[5,[17,[10]]],[[16,[344,18]]]],[[5,[17,[10]]],[[16,[345,18]]]],[[5,[17,[10]]],[[16,[346,18]]]],[[5,[17,[10]]],[[16,[347,18]]]],[[5,[17,[10]]],[[16,[348,18]]]],[[5,[17,[10]]],[[16,[349,18]]]],[[5,[17,[10]]],[[16,[350,18]]]],[[5,[17,[10]]],[[16,[351,18]]]],[[5,[17,[10]]],[[16,[352,18]]]],[[5,[17,[10]]],[[16,[353,18]]]],[[5,[17,[10]]],[[16,[354,18]]]],[[5,[17,[10]]],[[16,[355,18]]]],[[5,[17,[10]]],[[16,[356,18]]]],[[5,[17,[10]]],[[16,[357,18]]]],[[5,[17,[10]]],[[16,[358,18]]]],[[5,[17,[10]]],[[16,[359,18]]]],[[5,[17,[10]]],[[16,[360,18]]]],[[5,[17,[10]]],[[16,[361,18]]]],[[5,[17,[10]]],[[16,[362,18]]]],[-1,[[16,[66]]],19],[-1,[[16,[67]]],19],[-1,[[16,[68]]],19],[-1,[[16,[69]]],19],[-1,[[16,[70]]],19],[-1,[[16,[71]]],19],[-1,[[16,[72]]],19],[-1,[[16,[73]]],19],[-1,[[16,[74]]],19],[-1,[[16,[75]]],19],[-1,[[16,[76]]],19],[-1,[[16,[77]]],19],[-1,[[16,[78]]],19],[-1,[[16,[79]]],19],[-1,[[16,[80]]],19],[-1,[[16,[81]]],19],[-1,[[16,[82]]],19],[-1,[[16,[83]]],19],[-1,[[16,[84]]],19],[-1,[[16,[85]]],19],[-1,[[16,[86]]],19],[-1,[[16,[87]]],19],[-1,[[16,[88]]],19],[-1,[[16,[89]]],19],[-1,[[16,[90]]],19],[-1,[[16,[91]]],19],[-1,[[16,[92]]],19],[-1,[[16,[93]]],19],[-1,[[16,[94]]],19],[-1,[[16,[95]]],19],[-1,[[16,[96]]],19],[-1,[[16,[97]]],19],[-1,[[16,[98]]],19],[-1,[[16,[99]]],19],[-1,[[16,[100]]],19],[-1,[[16,[101]]],19],[-1,[[16,[102]]],19],[-1,[[16,[103]]],19],[-1,[[16,[104]]],19],[-1,[[16,[105]]],19],[-1,[[16,[106]]],19],[-1,[[16,[107]]],19],[-1,[[16,[108]]],19],[-1,[[16,[109]]],19],[-1,[[16,[110]]],19],[-1,[[16,[111]]],19],[-1,[[16,[112]]],19],[-1,[[16,[113]]],19],[-1,[[16,[114]]],19],[-1,[[16,[115]]],19],[-1,[[16,[116]]],19],[-1,[[16,[117]]],19],[-1,[[16,[118]]],19],[-1,[[16,[119]]],19],[-1,[[16,[120]]],19],[-1,[[16,[121]]],19],[-1,[[16,[122]]],19],[-1,[[16,[123]]],19],[-1,[[16,[124]]],19],[-1,[[16,[125]]],19],[-1,[[16,[126]]],19],[-1,[[16,[127]]],19],[-1,[[16,[128]]],19],[-1,[[16,[129]]],19],[-1,[[16,[130]]],19],[-1,[[16,[131]]],19],[-1,[[16,[132]]],19],[-1,[[16,[133]]],19],[-1,[[16,[134]]],19],[-1,[[16,[135]]],19],[-1,[[16,[136]]],19],[-1,[[16,[137]]],19],[-1,[[16,[138]]],19],[-1,[[16,[139]]],19],[-1,[[16,[140]]],19],[-1,[[16,[141]]],19],[-1,[[16,[142]]],19],[-1,[[16,[143]]],19],[-1,[[16,[144]]],19],[-1,[[16,[145]]],19],[-1,[[16,[146]]],19],[-1,[[16,[147]]],19],[-1,[[16,[148]]],19],[-1,[[16,[149]]],19],[-1,[[16,[150]]],19],[-1,[[16,[151]]],19],[-1,[[16,[152]]],19],[-1,[[16,[153]]],19],[-1,[[16,[154]]],19],[-1,[[16,[155]]],19],[-1,[[16,[156]]],19],[-1,[[16,[157]]],19],[-1,[[16,[158]]],19],[-1,[[16,[159]]],19],[-1,[[16,[160]]],19],[-1,[[16,[161]]],19],[-1,[[16,[162]]],19],[-1,[[16,[163]]],19],[-1,[[16,[164]]],19],[-1,[[16,[165]]],19],[-1,[[16,[166]]],19],[-1,[[16,[167]]],19],[-1,[[16,[168]]],19],[-1,[[16,[169]]],19],[-1,[[16,[170]]],19],[-1,[[16,[171]]],19],[-1,[[16,[172]]],19],[-1,[[16,[173]]],19],[-1,[[16,[174]]],19],[-1,[[16,[175]]],19],[-1,[[16,[176]]],19],[-1,[[16,[177]]],19],[-1,[[16,[178]]],19],[-1,[[16,[179]]],19],[-1,[[16,[180]]],19],[-1,[[16,[181]]],19],[-1,[[16,[182]]],19],[-1,[[16,[183]]],19],[-1,[[16,[184]]],19],[-1,[[16,[185]]],19],[-1,[[16,[186]]],19],[-1,[[16,[187]]],19],[-1,[[16,[188]]],19],[-1,[[16,[189]]],19],[-1,[[16,[190]]],19],[-1,[[16,[191]]],19],[-1,[[16,[192]]],19],[-1,[[16,[193]]],19],[-1,[[16,[194]]],19],[-1,[[16,[195]]],19],[-1,[[16,[196]]],19],[-1,[[16,[197]]],19],[-1,[[16,[198]]],19],[-1,[[16,[199]]],19],[-1,[[16,[200]]],19],[-1,[[16,[201]]],19],[-1,[[16,[202]]],19],[-1,[[16,[203]]],19],[-1,[[16,[204]]],19],[-1,[[16,[205]]],19],[-1,[[16,[206]]],19],[-1,[[16,[207]]],19],[-1,[[16,[208]]],19],[-1,[[16,[209]]],19],[-1,[[16,[210]]],19],[-1,[[16,[211]]],19],[-1,[[16,[212]]],19],[-1,[[16,[213]]],19],[-1,[[16,[214]]],19],[-1,[[16,[215]]],19],[-1,[[16,[216]]],19],[-1,[[16,[217]]],19],[-1,[[16,[218]]],19],[-1,[[16,[219]]],19],[-1,[[16,[220]]],19],[-1,[[16,[221]]],19],[-1,[[16,[222]]],19],[-1,[[16,[223]]],19],[-1,[[16,[224]]],19],[-1,[[16,[225]]],19],[-1,[[16,[226]]],19],[-1,[[16,[227]]],19],[-1,[[16,[228]]],19],[-1,[[16,[229]]],19],[-1,[[16,[230]]],19],[-1,[[16,[231]]],19],[-1,[[16,[232]]],19],[-1,[[16,[233]]],19],[-1,[[16,[234]]],19],[-1,[[16,[235]]],19],[-1,[[16,[236]]],19],[-1,[[16,[237]]],19],[-1,[[16,[238]]],19],[-1,[[16,[239]]],19],[-1,[[16,[240]]],19],[-1,[[16,[241]]],19],[-1,[[16,[242]]],19],[-1,[[16,[243]]],19],[-1,[[16,[244]]],19],[-1,[[16,[245]]],19],[-1,[[16,[246]]],19],[-1,[[16,[247]]],19],[-1,[[16,[248]]],19],[-1,[[16,[249]]],19],[-1,[[16,[250]]],19],[-1,[[16,[251]]],19],[-1,[[16,[252]]],19],[-1,[[16,[253]]],19],[-1,[[16,[254]]],19],[-1,[[16,[255]]],19],[-1,[[16,[256]]],19],[-1,[[16,[257]]],19],[-1,[[16,[258]]],19],[-1,[[16,[259]]],19],[-1,[[16,[260]]],19],[-1,[[16,[261]]],19],[-1,[[16,[262]]],19],[-1,[[16,[263]]],19],[-1,[[16,[264]]],19],[-1,[[16,[265]]],19],[-1,[[16,[266]]],19],[-1,[[16,[267]]],19],[-1,[[16,[268]]],19],[-1,[[16,[269]]],19],[-1,[[16,[270]]],19],[-1,[[16,[271]]],19],[-1,[[16,[272]]],19],[-1,[[16,[273]]],19],[-1,[[16,[274]]],19],[-1,[[16,[275]]],19],[-1,[[16,[276]]],19],[-1,[[16,[277]]],19],[-1,[[16,[278]]],19],[-1,[[16,[279]]],19],[-1,[[16,[280]]],19],[-1,[[16,[281]]],19],[-1,[[16,[282]]],19],[-1,[[16,[283]]],19],[-1,[[16,[284]]],19],[-1,[[16,[285]]],19],[-1,[[16,[286]]],19],[-1,[[16,[287]]],19],[-1,[[16,[288]]],19],[-1,[[16,[289]]],19],[-1,[[16,[290]]],19],[-1,[[16,[291]]],19],[-1,[[16,[292]]],19],[-1,[[16,[293]]],19],[-1,[[16,[294]]],19],[-1,[[16,[295]]],19],[-1,[[16,[296]]],19],[-1,[[16,[297]]],19],[-1,[[16,[298]]],19],[-1,[[16,[299]]],19],[-1,[[16,[300]]],19],[-1,[[16,[301]]],19],[-1,[[16,[302]]],19],[-1,[[16,[303]]],19],[-1,[[16,[304]]],19],[-1,[[16,[305]]],19],[-1,[[16,[306]]],19],[-1,[[16,[307]]],19],[-1,[[16,[308]]],19],[-1,[[16,[309]]],19],[-1,[[16,[310]]],19],[-1,[[16,[311]]],19],[-1,[[16,[312]]],19],[-1,[[16,[313]]],19],[-1,[[16,[314]]],19],[-1,[[16,[315]]],19],[-1,[[16,[316]]],19],[-1,[[16,[317]]],19],[-1,[[16,[318]]],19],[-1,[[16,[319]]],19],[-1,[[16,[320]]],19],[-1,[[16,[321]]],19],[-1,[[16,[322]]],19],[-1,[[16,[323]]],19],[-1,[[16,[324]]],19],[-1,[[16,[325]]],19],[-1,[[16,[326]]],19],[-1,[[16,[327]]],19],[-1,[[16,[328]]],19],[-1,[[16,[329]]],19],[-1,[[16,[330]]],19],[-1,[[16,[331]]],19],[-1,[[16,[332]]],19],[-1,[[16,[333]]],19],[-1,[[16,[334]]],19],[-1,[[16,[335]]],19],[-1,[[16,[336]]],19],[-1,[[16,[337]]],19],[-1,[[16,[338]]],19],[-1,[[16,[339]]],19],[-1,[[16,[340]]],19],[-1,[[16,[341]]],19],[-1,[[16,[342]]],19],[-1,[[16,[343]]],19],[-1,[[16,[344]]],19],[-1,[[16,[345]]],19],[-1,[[16,[346]]],19],[-1,[[16,[347]]],19],[-1,[[16,[348]]],19],[-1,[[16,[349]]],19],[-1,[[16,[350]]],19],[-1,[[16,[351]]],19],[-1,[[16,[352]]],19],[-1,[[16,[353]]],19],[-1,[[16,[354]]],19],[-1,[[16,[355]]],19],[-1,[[16,[356]]],19],[-1,[[16,[357]]],19],[-1,[[16,[358]]],19],[-1,[[16,[359]]],19],[-1,[[16,[360]]],19],[-1,[[16,[361]]],19],[-1,[[16,[362]]],19],[-1,[[16,[363]]],19],[-1,[[16,[364]]],19],[-1,[[16,[365]]],19],[-1,[[16,[366]]],19],[-1,[[16,[367]]],19],[-1,[[16,[368]]],19],[-1,[[16,[369]]],19],[-1,[[16,[370]]],19],[-1,[[16,[33]]],19],[-1,[[16,[371]]],19],[-1,[[16,[372]]],19],[-1,[[16,[373]]],19],[-1,[[16,[374]]],19],[-1,[[16,[375]]],19],[-1,[[16,[376]]],19],[-1,[[16,[34]]],19],[-1,[[16,[377]]],19],[-1,[[16,[35]]],19],[-1,[[16,[378]]],19],[-1,[[16,[379]]],19],[-1,[[16,[380]]],19],[-1,[[16,[36]]],19],[-1,[[16,[381]]],19],[-1,[[16,[382]]],19],[-1,[[16,[383]]],19],[-1,[[16,[384]]],19],[-1,[[16,[37]]],19],[-1,[[16,[385]]],19],[-1,[[16,[386]]],19],[-1,[[16,[387]]],19],[-1,[[16,[388]]],19],[-1,[[16,[389]]],19],[-1,[[16,[38]]],19],[-1,[[16,[390]]],19],[-1,[[16,[39]]],19],[-1,[[16,[391]]],19],[-1,[[16,[392]]],19],[-1,[[16,[393]]],19],[-1,[[16,[394]]],19],[-1,[[16,[395]]],19],[-1,[[16,[396]]],19],[-1,[[16,[397]]],19],[-1,[[16,[398]]],19],[-1,[[16,[399]]],19],[-1,[[16,[400]]],19],[-1,[[16,[401]]],19],[-1,[[16,[402]]],19],[-1,[[16,[403]]],19],[-1,[[16,[404]]],19],[-1,[[16,[405]]],19],[-1,[[16,[40]]],19],[-1,[[16,[406]]],19],[-1,[[16,[407]]],19],[-1,[[16,[41]]],19],[-1,[[16,[42]]],19],[-1,[[16,[408]]],19],[-1,[[16,[409]]],19],[-1,[[16,[410]]],19],[-1,[[16,[411]]],19],[-1,[[16,[412]]],19],[-1,[[16,[413]]],19],[-1,[[16,[414]]],19],[-1,[[16,[415]]],19],[-1,[[16,[416]]],19],[-1,[[16,[417]]],19],[-1,[[16,[418]]],19],[-1,[[16,[419]]],19],[-1,[[16,[420]]],19],[-1,[[16,[421]]],19],[-1,[[16,[422]]],19],[-1,[[16,[423]]],19],[-1,[[16,[43]]],19],[-1,[[16,[424]]],19],[-1,[[16,[425]]],19],[-1,[[16,[426]]],19],[-1,[[16,[427]]],19],[-1,[[16,[428]]],19],[-1,[[16,[429]]],19],[-1,[[16,[430]]],19],[-1,[[16,[44]]],19],[-1,[[16,[431]]],19],[-1,[[16,[432]]],19],[-1,[[16,[433]]],19],[-1,[[16,[45]]],19],[-1,[[16,[434]]],19],[-1,[[16,[46]]],19],[-1,[[16,[435]]],19],[-1,[[16,[436]]],19],[-1,[[16,[437]]],19],[-1,[[16,[438]]],19],[-1,[[16,[439]]],19],[-1,[[16,[440]]],19],[-1,[[16,[47]]],19],[-1,[[16,[441]]],19],[-1,[[16,[442]]],19],[-1,[[16,[443]]],19],[-1,[[16,[444]]],19],[-1,[[16,[445]]],19],[-1,[[16,[446]]],19],[-1,[[16,[447]]],19],[-1,[[16,[448]]],19],[-1,[[16,[449]]],19],[-1,[[16,[450]]],19],[-1,[[16,[451]]],19],[-1,[[16,[452]]],19],[-1,[[16,[453]]],19],[-1,[[16,[454]]],19],[-1,[[16,[455]]],19],[-1,[[16,[456]]],19],[-1,[[16,[457]]],19],[-1,[[16,[458]]],19],[-1,[[16,[48]]],19],[-1,[[16,[459]]],19],[-1,[[16,[460]]],19],[-1,[[16,[461]]],19],[-1,[[16,[49]]],19],[-1,[[16,[462]]],19],[-1,[[16,[463]]],19],[-1,[[16,[464]]],19],[-1,[[16,[465]]],19],[-1,[[16,[466]]],19],[-1,[[16,[50]]],19],[-1,[[16,[467]]],19],[-1,[[16,[51]]],19],[-1,[[16,[468]]],19],[-1,[[16,[469]]],19],[-1,[[16,[470]]],19],[-1,[[16,[471]]],19],[-1,[[16,[472]]],19],[-1,[[16,[52]]],19],[-1,[[16,[473]]],19],[-1,[[16,[474]]],19],[-1,[[16,[475]]],19],[-1,[[16,[53]]],19],[-1,[[16,[476]]],19],[-1,[[16,[477]]],19],[-1,[[16,[478]]],19],[-1,[[16,[479]]],19],[-1,[[16,[480]]],19],[-1,[[16,[481]]],19],[-1,[[16,[482]]],19],[-1,[[16,[483]]],19],[-1,[[16,[484]]],19],[-1,[[16,[54]]],19],[-1,[[16,[485]]],19],[-1,[[16,[486]]],19],[-1,[[16,[487]]],19],[-1,[[16,[488]]],19],[-1,[[16,[489]]],19],[-1,[[16,[490]]],19],[-1,[[16,[55]]],19],[-1,[[16,[491]]],19],[-1,[[16,[492]]],19],[-1,[[16,[493]]],19],[-1,[[16,[494]]],19],[-1,[[16,[56]]],19],[-1,[[16,[495]]],19],[-1,[[16,[57]]],19],[-1,[[16,[496]]],19],[-1,[[16,[497]]],19],[-1,[[16,[58]]],19],[-1,[[16,[498]]],19],[-1,[[16,[499]]],19],[-1,[[16,[59]]],19],[-1,[[16,[500]]],19],[-1,[[16,[501]]],19],[-1,[[16,[502]]],19],[-1,[[16,[503]]],19],[-1,[[16,[60]]],19],[-1,[[16,[504]]],19],[-1,[[16,[505]]],19],[-1,[[16,[506]]],19],[-1,[[16,[61]]],19],[-1,[[16,[507]]],19],[-1,[[16,[62]]],19],[-1,[[16,[508]]],19],[-1,[[16,[509]]],19],[-1,[[16,[510]]],19],[-1,[[16,[511]]],19],[-1,[[16,[512]]],19],[-1,[[16,[513]]],19],[-1,[[16,[514]]],19],[-1,[[16,[515]]],19],[-1,[[16,[63]]],19],[-1,[[16,[516]]],19],[-1,[[16,[517]]],19],[-1,[[16,[518]]],19],[-1,[[16,[519]]],19],[-1,[[16,[520]]],19],[-1,[[16,[521]]],19],[-1,[[16,[64]]],19],[-1,[[16,[522]]],19],[-1,[[16,[523]]],19],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],33],[[],34],[[],35],[[],36],[[],37],[[],38],[[],39],[[],40],[[],41],[[],42],[[],43],[[],44],[[],45],[[],46],[[],47],[[],48],[[],49],[[],50],[[],51],[[],52],[[],53],[[],54],[[],55],[[],56],[[],57],[[],58],[[],59],[[],60],[[],61],[[],62],[[],63],[[],64],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[66,66],20],[[67,67],20],[[68,68],20],[[69,69],20],[[70,70],20],[[71,71],20],[[72,72],20],[[73,73],20],[[74,74],20],[[75,75],20],[[76,76],20],[[77,77],20],[[78,78],20],[[79,79],20],[[80,80],20],[[81,81],20],[[82,82],20],[[83,83],20],[[84,84],20],[[85,85],20],[[86,86],20],[[87,87],20],[[88,88],20],[[89,89],20],[[90,90],20],[[91,91],20],[[92,92],20],[[93,93],20],[[94,94],20],[[95,95],20],[[96,96],20],[[97,97],20],[[98,98],20],[[99,99],20],[[100,100],20],[[101,101],20],[[102,102],20],[[103,103],20],[[104,104],20],[[105,105],20],[[106,106],20],[[107,107],20],[[108,108],20],[[109,109],20],[[110,110],20],[[111,111],20],[[112,112],20],[[113,113],20],[[114,114],20],[[115,115],20],[[116,116],20],[[117,117],20],[[118,118],20],[[119,119],20],[[120,120],20],[[121,121],20],[[122,122],20],[[123,123],20],[[124,124],20],[[125,125],20],[[126,126],20],[[127,127],20],[[128,128],20],[[129,129],20],[[130,130],20],[[131,131],20],[[132,132],20],[[133,133],20],[[134,134],20],[[135,135],20],[[136,136],20],[[137,137],20],[[138,138],20],[[139,139],20],[[140,140],20],[[141,141],20],[[142,142],20],[[143,143],20],[[144,144],20],[[145,145],20],[[146,146],20],[[147,147],20],[[148,148],20],[[149,149],20],[[150,150],20],[[151,151],20],[[152,152],20],[[153,153],20],[[154,154],20],[[155,155],20],[[156,156],20],[[157,157],20],[[158,158],20],[[159,159],20],[[160,160],20],[[161,161],20],[[162,162],20],[[163,163],20],[[164,164],20],[[165,165],20],[[166,166],20],[[167,167],20],[[168,168],20],[[169,169],20],[[170,170],20],[[171,171],20],[[172,172],20],[[173,173],20],[[174,174],20],[[175,175],20],[[176,176],20],[[177,177],20],[[178,178],20],[[179,179],20],[[180,180],20],[[181,181],20],[[182,182],20],[[183,183],20],[[184,184],20],[[185,185],20],[[186,186],20],[[187,187],20],[[188,188],20],[[189,189],20],[[190,190],20],[[191,191],20],[[192,192],20],[[193,193],20],[[194,194],20],[[195,195],20],[[196,196],20],[[197,197],20],[[198,198],20],[[199,199],20],[[200,200],20],[[201,201],20],[[202,202],20],[[203,203],20],[[204,204],20],[[205,205],20],[[206,206],20],[[207,207],20],[[208,208],20],[[209,209],20],[[210,210],20],[[211,211],20],[[212,212],20],[[213,213],20],[[214,214],20],[[215,215],20],[[216,216],20],[[217,217],20],[[218,218],20],[[219,219],20],[[220,220],20],[[221,221],20],[[222,222],20],[[223,223],20],[[224,224],20],[[225,225],20],[[226,226],20],[[227,227],20],[[228,228],20],[[229,229],20],[[230,230],20],[[231,231],20],[[232,232],20],[[233,233],20],[[234,234],20],[[235,235],20],[[236,236],20],[[237,237],20],[[238,238],20],[[239,239],20],[[240,240],20],[[241,241],20],[[242,242],20],[[243,243],20],[[244,244],20],[[245,245],20],[[246,246],20],[[247,247],20],[[248,248],20],[[249,249],20],[[250,250],20],[[251,251],20],[[252,252],20],[[253,253],20],[[254,254],20],[[255,255],20],[[256,256],20],[[257,257],20],[[258,258],20],[[259,259],20],[[260,260],20],[[261,261],20],[[262,262],20],[[263,263],20],[[264,264],20],[[265,265],20],[[266,266],20],[[267,267],20],[[268,268],20],[[269,269],20],[[270,270],20],[[271,271],20],[[272,272],20],[[273,273],20],[[274,274],20],[[275,275],20],[[276,276],20],[[277,277],20],[[278,278],20],[[279,279],20],[[280,280],20],[[281,281],20],[[282,282],20],[[283,283],20],[[284,284],20],[[285,285],20],[[286,286],20],[[287,287],20],[[288,288],20],[[289,289],20],[[290,290],20],[[291,291],20],[[292,292],20],[[293,293],20],[[294,294],20],[[295,295],20],[[296,296],20],[[297,297],20],[[298,298],20],[[299,299],20],[[300,300],20],[[301,301],20],[[302,302],20],[[303,303],20],[[304,304],20],[[305,305],20],[[306,306],20],[[307,307],20],[[308,308],20],[[309,309],20],[[310,310],20],[[311,311],20],[[312,312],20],[[313,313],20],[[314,314],20],[[315,315],20],[[316,316],20],[[317,317],20],[[318,318],20],[[319,319],20],[[320,320],20],[[321,321],20],[[322,322],20],[[323,323],20],[[324,324],20],[[325,325],20],[[326,326],20],[[327,327],20],[[328,328],20],[[329,329],20],[[330,330],20],[[331,331],20],[[332,332],20],[[333,333],20],[[334,334],20],[[335,335],20],[[336,336],20],[[337,337],20],[[338,338],20],[[339,339],20],[[340,340],20],[[341,341],20],[[342,342],20],[[343,343],20],[[344,344],20],[[345,345],20],[[346,346],20],[[347,347],20],[[348,348],20],[[349,349],20],[[350,350],20],[[351,351],20],[[352,352],20],[[353,353],20],[[354,354],20],[[355,355],20],[[356,356],20],[[357,357],20],[[358,358],20],[[359,359],20],[[360,360],20],[[361,361],20],[[362,362],20],[[363,363],20],[[364,364],20],[[365,365],20],[[366,366],20],[[367,367],20],[[368,368],20],[[369,369],20],[[370,370],20],[[33,33],20],[[371,371],20],[[372,372],20],[[373,373],20],[[374,374],20],[[375,375],20],[[376,376],20],[[34,34],20],[[377,377],20],[[35,35],20],[[378,378],20],[[379,379],20],[[380,380],20],[[36,36],20],[[381,381],20],[[382,382],20],[[383,383],20],[[384,384],20],[[37,37],20],[[385,385],20],[[386,386],20],[[387,387],20],[[388,388],20],[[389,389],20],[[38,38],20],[[390,390],20],[[39,39],20],[[391,391],20],[[392,392],20],[[393,393],20],[[394,394],20],[[395,395],20],[[396,396],20],[[397,397],20],[[398,398],20],[[399,399],20],[[400,400],20],[[401,401],20],[[402,402],20],[[403,403],20],[[404,404],20],[[405,405],20],[[40,40],20],[[406,406],20],[[407,407],20],[[41,41],20],[[42,42],20],[[408,408],20],[[409,409],20],[[410,410],20],[[411,411],20],[[412,412],20],[[413,413],20],[[414,414],20],[[415,415],20],[[416,416],20],[[417,417],20],[[418,418],20],[[419,419],20],[[420,420],20],[[421,421],20],[[422,422],20],[[423,423],20],[[43,43],20],[[424,424],20],[[425,425],20],[[426,426],20],[[427,427],20],[[428,428],20],[[429,429],20],[[430,430],20],[[44,44],20],[[431,431],20],[[432,432],20],[[433,433],20],[[45,45],20],[[434,434],20],[[46,46],20],[[435,435],20],[[436,436],20],[[437,437],20],[[438,438],20],[[439,439],20],[[440,440],20],[[47,47],20],[[441,441],20],[[442,442],20],[[443,443],20],[[444,444],20],[[445,445],20],[[446,446],20],[[447,447],20],[[448,448],20],[[449,449],20],[[450,450],20],[[451,451],20],[[452,452],20],[[453,453],20],[[454,454],20],[[455,455],20],[[456,456],20],[[457,457],20],[[458,458],20],[[48,48],20],[[459,459],20],[[460,460],20],[[461,461],20],[[49,49],20],[[462,462],20],[[463,463],20],[[464,464],20],[[465,465],20],[[466,466],20],[[50,50],20],[[467,467],20],[[51,51],20],[[468,468],20],[[469,469],20],[[470,470],20],[[471,471],20],[[472,472],20],[[52,52],20],[[473,473],20],[[474,474],20],[[475,475],20],[[53,53],20],[[476,476],20],[[477,477],20],[[478,478],20],[[479,479],20],[[480,480],20],[[481,481],20],[[482,482],20],[[483,483],20],[[484,484],20],[[54,54],20],[[485,485],20],[[486,486],20],[[487,487],20],[[488,488],20],[[489,489],20],[[490,490],20],[[55,55],20],[[491,491],20],[[492,492],20],[[493,493],20],[[494,494],20],[[56,56],20],[[495,495],20],[[57,57],20],[[496,496],20],[[497,497],20],[[58,58],20],[[498,498],20],[[499,499],20],[[59,59],20],[[500,500],20],[[501,501],20],[[502,502],20],[[503,503],20],[[60,60],20],[[504,504],20],[[505,505],20],[[506,506],20],[[61,61],20],[[507,507],20],[[62,62],20],[[508,508],20],[[509,509],20],[[510,510],20],[[511,511],20],[[512,512],20],[[513,513],20],[[514,514],20],[[515,515],20],[[63,63],20],[[516,516],20],[[517,517],20],[[518,518],20],[[519,519],20],[[520,520],20],[[521,521],20],[[64,64],20],[[522,522],20],[[523,523],20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,-1],9,525],[[34,-1],9,525],[[35,-1],9,525],[[36,-1],9,525],[[37,-1],9,525],[[38,-1],9,525],[[39,-1],9,525],[[40,-1],9,525],[[41,-1],9,525],[[42,-1],9,525],[[43,-1],9,525],[[44,-1],9,525],[[45,-1],9,525],[[46,-1],9,525],[[47,-1],9,525],[[48,-1],9,525],[[49,-1],9,525],[[50,-1],9,525],[[51,-1],9,525],[[52,-1],9,525],[[53,-1],9,525],[[54,-1],9,525],[[55,-1],9,525],[[56,-1],9,525],[[57,-1],9,525],[[58,-1],9,525],[[59,-1],9,525],[[60,-1],9,525],[[61,-1],9,525],[[62,-1],9,525],[[63,-1],9,525],[[64,-1],9,525],[15,10],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[66,21],22],[[67,21],22],[[68,21],22],[[69,21],22],[[70,21],22],[[71,21],22],[[72,21],22],[[73,21],22],[[74,21],22],[[75,21],22],[[76,21],22],[[77,21],22],[[78,21],22],[[79,21],22],[[80,21],22],[[81,21],22],[[82,21],22],[[83,21],22],[[84,21],22],[[85,21],22],[[86,21],22],[[87,21],22],[[88,21],22],[[89,21],22],[[90,21],22],[[91,21],22],[[92,21],22],[[93,21],22],[[94,21],22],[[95,21],22],[[96,21],22],[[97,21],22],[[98,21],22],[[99,21],22],[[100,21],22],[[101,21],22],[[102,21],22],[[103,21],22],[[104,21],22],[[105,21],22],[[106,21],22],[[107,21],22],[[108,21],22],[[109,21],22],[[110,21],22],[[111,21],22],[[112,21],22],[[113,21],22],[[114,21],22],[[115,21],22],[[116,21],22],[[117,21],22],[[118,21],22],[[119,21],22],[[120,21],22],[[121,21],22],[[122,21],22],[[123,21],22],[[124,21],22],[[125,21],22],[[126,21],22],[[127,21],22],[[128,21],22],[[129,21],22],[[130,21],22],[[131,21],22],[[132,21],22],[[133,21],22],[[134,21],22],[[135,21],22],[[136,21],22],[[137,21],22],[[138,21],22],[[139,21],22],[[140,21],22],[[141,21],22],[[142,21],22],[[143,21],22],[[144,21],22],[[145,21],22],[[146,21],22],[[147,21],22],[[148,21],22],[[149,21],22],[[150,21],22],[[151,21],22],[[152,21],22],[[153,21],22],[[154,21],22],[[155,21],22],[[156,21],22],[[157,21],22],[[158,21],22],[[159,21],22],[[160,21],22],[[161,21],22],[[162,21],22],[[163,21],22],[[164,21],22],[[165,21],22],[[166,21],22],[[167,21],22],[[168,21],22],[[169,21],22],[[170,21],22],[[171,21],22],[[172,21],22],[[173,21],22],[[174,21],22],[[175,21],22],[[176,21],22],[[177,21],22],[[178,21],22],[[179,21],22],[[180,21],22],[[181,21],22],[[182,21],22],[[183,21],22],[[184,21],22],[[185,21],22],[[186,21],22],[[187,21],22],[[188,21],22],[[189,21],22],[[190,21],22],[[191,21],22],[[192,21],22],[[193,21],22],[[194,21],22],[[195,21],22],[[196,21],22],[[197,21],22],[[198,21],22],[[199,21],22],[[200,21],22],[[201,21],22],[[202,21],22],[[203,21],22],[[204,21],22],[[205,21],22],[[206,21],22],[[207,21],22],[[208,21],22],[[209,21],22],[[210,21],22],[[211,21],22],[[212,21],22],[[213,21],22],[[214,21],22],[[215,21],22],[[216,21],22],[[217,21],22],[[218,21],22],[[219,21],22],[[220,21],22],[[221,21],22],[[222,21],22],[[223,21],22],[[224,21],22],[[225,21],22],[[226,21],22],[[227,21],22],[[228,21],22],[[229,21],22],[[230,21],22],[[231,21],22],[[232,21],22],[[233,21],22],[[234,21],22],[[235,21],22],[[236,21],22],[[237,21],22],[[238,21],22],[[239,21],22],[[240,21],22],[[241,21],22],[[242,21],22],[[243,21],22],[[244,21],22],[[245,21],22],[[246,21],22],[[247,21],22],[[248,21],22],[[249,21],22],[[250,21],22],[[251,21],22],[[252,21],22],[[253,21],22],[[254,21],22],[[255,21],22],[[256,21],22],[[257,21],22],[[258,21],22],[[259,21],22],[[260,21],22],[[261,21],22],[[262,21],22],[[263,21],22],[[264,21],22],[[265,21],22],[[266,21],22],[[267,21],22],[[268,21],22],[[269,21],22],[[270,21],22],[[271,21],22],[[272,21],22],[[273,21],22],[[274,21],22],[[275,21],22],[[276,21],22],[[277,21],22],[[278,21],22],[[279,21],22],[[280,21],22],[[281,21],22],[[282,21],22],[[283,21],22],[[284,21],22],[[285,21],22],[[286,21],22],[[287,21],22],[[288,21],22],[[289,21],22],[[290,21],22],[[291,21],22],[[292,21],22],[[293,21],22],[[294,21],22],[[295,21],22],[[296,21],22],[[297,21],22],[[298,21],22],[[299,21],22],[[300,21],22],[[301,21],22],[[302,21],22],[[303,21],22],[[304,21],22],[[305,21],22],[[306,21],22],[[307,21],22],[[308,21],22],[[309,21],22],[[310,21],22],[[311,21],22],[[312,21],22],[[313,21],22],[[314,21],22],[[315,21],22],[[316,21],22],[[317,21],22],[[318,21],22],[[319,21],22],[[320,21],22],[[321,21],22],[[322,21],22],[[323,21],22],[[324,21],22],[[325,21],22],[[326,21],22],[[327,21],22],[[328,21],22],[[329,21],22],[[330,21],22],[[331,21],22],[[332,21],22],[[333,21],22],[[334,21],22],[[335,21],22],[[336,21],22],[[337,21],22],[[338,21],22],[[339,21],22],[[340,21],22],[[341,21],22],[[342,21],22],[[343,21],22],[[344,21],22],[[345,21],22],[[346,21],22],[[347,21],22],[[348,21],22],[[349,21],22],[[350,21],22],[[351,21],22],[[352,21],22],[[353,21],22],[[354,21],22],[[355,21],22],[[356,21],22],[[357,21],22],[[358,21],22],[[359,21],22],[[360,21],22],[[361,21],22],[[362,21],22],[[363,21],22],[[364,21],22],[[365,21],22],[[366,21],22],[[367,21],22],[[368,21],22],[[369,21],22],[[370,21],22],[[33,21],22],[[33,21],22],[[33,21],22],[[33,21],22],[[33,21],22],[[371,21],22],[[372,21],22],[[373,21],22],[[374,21],22],[[375,21],22],[[376,21],22],[[34,21],22],[[34,21],22],[[34,21],22],[[34,21],22],[[34,21],22],[[377,21],22],[[35,21],22],[[35,21],22],[[35,21],22],[[35,21],22],[[35,21],22],[[378,21],22],[[379,21],22],[[380,21],22],[[36,21],22],[[36,21],22],[[36,21],22],[[36,21],22],[[36,21],22],[[381,21],22],[[382,21],22],[[383,21],22],[[384,21],22],[[37,21],22],[[37,21],22],[[37,21],22],[[37,21],22],[[37,21],22],[[385,21],22],[[386,21],22],[[387,21],22],[[388,21],22],[[389,21],22],[[38,21],22],[[38,21],22],[[38,21],22],[[38,21],22],[[38,21],22],[[390,21],22],[[39,21],22],[[39,21],22],[[39,21],22],[[39,21],22],[[39,21],22],[[391,21],22],[[392,21],22],[[393,21],22],[[394,21],22],[[395,21],22],[[396,21],22],[[397,21],22],[[398,21],22],[[399,21],22],[[400,21],22],[[401,21],22],[[402,21],22],[[403,21],22],[[404,21],22],[[405,21],22],[[40,21],22],[[40,21],22],[[40,21],22],[[40,21],22],[[40,21],22],[[406,21],22],[[407,21],22],[[41,21],22],[[41,21],22],[[41,21],22],[[41,21],22],[[41,21],22],[[42,21],22],[[42,21],22],[[42,21],22],[[42,21],22],[[42,21],22],[[408,21],22],[[409,21],22],[[410,21],22],[[411,21],22],[[412,21],22],[[413,21],22],[[414,21],22],[[415,21],22],[[416,21],22],[[417,21],22],[[418,21],22],[[419,21],22],[[420,21],22],[[421,21],22],[[422,21],22],[[423,21],22],[[43,21],22],[[43,21],22],[[43,21],22],[[43,21],22],[[43,21],22],[[424,21],22],[[425,21],22],[[426,21],22],[[427,21],22],[[428,21],22],[[429,21],22],[[430,21],22],[[44,21],22],[[44,21],22],[[44,21],22],[[44,21],22],[[44,21],22],[[431,21],22],[[432,21],22],[[433,21],22],[[45,21],22],[[45,21],22],[[45,21],22],[[45,21],22],[[45,21],22],[[434,21],22],[[46,21],22],[[46,21],22],[[46,21],22],[[46,21],22],[[46,21],22],[[435,21],22],[[436,21],22],[[437,21],22],[[438,21],22],[[439,21],22],[[440,21],22],[[47,21],22],[[47,21],22],[[47,21],22],[[47,21],22],[[47,21],22],[[441,21],22],[[442,21],22],[[443,21],22],[[444,21],22],[[445,21],22],[[446,21],22],[[447,21],22],[[448,21],22],[[449,21],22],[[450,21],22],[[451,21],22],[[452,21],22],[[453,21],22],[[454,21],22],[[455,21],22],[[456,21],22],[[457,21],22],[[458,21],22],[[48,21],22],[[48,21],22],[[48,21],22],[[48,21],22],[[48,21],22],[[459,21],22],[[460,21],22],[[461,21],22],[[49,21],22],[[49,21],22],[[49,21],22],[[49,21],22],[[49,21],22],[[462,21],22],[[463,21],22],[[464,21],22],[[465,21],22],[[466,21],22],[[50,21],22],[[50,21],22],[[50,21],22],[[50,21],22],[[50,21],22],[[467,21],22],[[51,21],22],[[51,21],22],[[51,21],22],[[51,21],22],[[51,21],22],[[468,21],22],[[469,21],22],[[470,21],22],[[471,21],22],[[472,21],22],[[52,21],22],[[52,21],22],[[52,21],22],[[52,21],22],[[52,21],22],[[473,21],22],[[474,21],22],[[475,21],22],[[53,21],22],[[53,21],22],[[53,21],22],[[53,21],22],[[53,21],22],[[476,21],22],[[477,21],22],[[478,21],22],[[479,21],22],[[480,21],22],[[481,21],22],[[482,21],22],[[483,21],22],[[484,21],22],[[54,21],22],[[54,21],22],[[54,21],22],[[54,21],22],[[54,21],22],[[485,21],22],[[486,21],22],[[487,21],22],[[488,21],22],[[489,21],22],[[490,21],22],[[55,21],22],[[55,21],22],[[55,21],22],[[55,21],22],[[55,21],22],[[491,21],22],[[492,21],22],[[493,21],22],[[494,21],22],[[56,21],22],[[56,21],22],[[56,21],22],[[56,21],22],[[56,21],22],[[495,21],22],[[57,21],22],[[57,21],22],[[57,21],22],[[57,21],22],[[57,21],22],[[496,21],22],[[497,21],22],[[58,21],22],[[58,21],22],[[58,21],22],[[58,21],22],[[58,21],22],[[498,21],22],[[499,21],22],[[59,21],22],[[59,21],22],[[59,21],22],[[59,21],22],[[59,21],22],[[500,21],22],[[501,21],22],[[502,21],22],[[503,21],22],[[60,21],22],[[60,21],22],[[60,21],22],[[60,21],22],[[60,21],22],[[504,21],22],[[505,21],22],[[506,21],22],[[61,21],22],[[61,21],22],[[61,21],22],[[61,21],22],[[61,21],22],[[507,21],22],[[62,21],22],[[62,21],22],[[62,21],22],[[62,21],22],[[62,21],22],[[508,21],22],[[509,21],22],[[510,21],22],[[511,21],22],[[512,21],22],[[513,21],22],[[514,21],22],[[515,21],22],[[63,21],22],[[63,21],22],[[63,21],22],[[63,21],22],[[63,21],22],[[516,21],22],[[517,21],22],[[518,21],22],[[519,21],22],[[520,21],22],[[521,21],22],[[64,21],22],[[64,21],22],[[64,21],22],[[64,21],22],[[64,21],22],[[522,21],22],[[523,21],22],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[2,[[526,[33]]]],[2,[[526,[34]]]],[10,[[526,[35]]]],[10,[[526,[36]]]],[2,[[526,[37]]]],[65,[[526,[38]]]],[15,[[526,[39]]]],[2,[[526,[40]]]],[15,[[526,[41]]]],[15,[[526,[42]]]],[2,[[526,[43]]]],[2,[[526,[44]]]],[10,[[526,[45]]]],[2,[[526,[46]]]],[2,[[526,[47]]]],[10,[[526,[48]]]],[2,[[526,[49]]]],[10,[[526,[50]]]],[10,[[526,[51]]]],[15,[[526,[52]]]],[10,[[526,[53]]]],[15,[[526,[54]]]],[15,[[526,[55]]]],[65,[[526,[56]]]],[10,[[526,[57]]]],[2,[[526,[58]]]],[15,[[526,[59]]]],[2,[[526,[60]]]],[2,[[526,[61]]]],[10,[[526,[62]]]],[10,[[526,[63]]]],[2,[[526,[64]]]],[2,33],[2,34],[10,35],[10,36],[2,37],[65,38],[15,39],[2,40],[15,41],[15,42],[2,43],[2,44],[10,45],[2,46],[2,47],[10,48],[2,49],[10,50],[10,51],[15,52],[10,53],[15,54],[15,55],[65,56],[10,57],[2,58],[15,59],[2,60],[2,61],[10,62],[10,63],[2,64],[2,33],[2,34],[10,35],[10,36],[2,37],[65,38],[15,39],[2,40],[15,41],[15,42],[2,43],[2,44],[10,45],[2,46],[2,47],[10,48],[2,49],[10,50],[10,51],[15,52],[10,53],[15,54],[15,55],[65,56],[10,57],[2,58],[15,59],[2,60],[2,61],[10,62],[10,63],[2,64],[527,[[526,[363]]]],[527,[[526,[364]]]],[527,[[526,[365]]]],[527,[[526,[366]]]],[527,[[526,[367]]]],[527,[[526,[368]]]],[527,[[526,[369]]]],[527,[[526,[370]]]],[527,[[526,[371]]]],[527,[[526,[372]]]],[527,[[526,[373]]]],[527,[[526,[374]]]],[527,[[526,[375]]]],[527,[[526,[376]]]],[527,[[526,[377]]]],[527,[[526,[378]]]],[527,[[526,[379]]]],[527,[[526,[380]]]],[527,[[526,[381]]]],[527,[[526,[382]]]],[527,[[526,[383]]]],[527,[[526,[384]]]],[527,[[526,[385]]]],[527,[[526,[386]]]],[527,[[526,[387]]]],[527,[[526,[388]]]],[527,[[526,[389]]]],[527,[[526,[390]]]],[527,[[526,[391]]]],[527,[[526,[392]]]],[527,[[526,[393]]]],[527,[[526,[394]]]],[527,[[526,[395]]]],[527,[[526,[396]]]],[527,[[526,[397]]]],[527,[[526,[398]]]],[527,[[526,[399]]]],[527,[[526,[400]]]],[527,[[526,[401]]]],[527,[[526,[402]]]],[527,[[526,[403]]]],[527,[[526,[404]]]],[527,[[526,[405]]]],[527,[[526,[406]]]],[527,[[526,[407]]]],[527,[[526,[408]]]],[527,[[526,[409]]]],[527,[[526,[410]]]],[527,[[526,[411]]]],[527,[[526,[412]]]],[527,[[526,[413]]]],[527,[[526,[414]]]],[527,[[526,[415]]]],[527,[[526,[416]]]],[527,[[526,[417]]]],[527,[[526,[418]]]],[527,[[526,[419]]]],[527,[[526,[420]]]],[527,[[526,[421]]]],[527,[[526,[422]]]],[527,[[526,[423]]]],[527,[[526,[424]]]],[527,[[526,[425]]]],[527,[[526,[426]]]],[527,[[526,[427]]]],[527,[[526,[428]]]],[527,[[526,[429]]]],[527,[[526,[430]]]],[527,[[526,[431]]]],[527,[[526,[432]]]],[527,[[526,[433]]]],[527,[[526,[434]]]],[527,[[526,[435]]]],[527,[[526,[436]]]],[527,[[526,[437]]]],[527,[[526,[438]]]],[527,[[526,[439]]]],[527,[[526,[440]]]],[527,[[526,[441]]]],[527,[[526,[442]]]],[527,[[526,[443]]]],[527,[[526,[444]]]],[527,[[526,[445]]]],[527,[[526,[446]]]],[527,[[526,[447]]]],[527,[[526,[448]]]],[527,[[526,[449]]]],[527,[[526,[450]]]],[527,[[526,[451]]]],[527,[[526,[452]]]],[527,[[526,[453]]]],[527,[[526,[454]]]],[527,[[526,[455]]]],[527,[[526,[456]]]],[527,[[526,[457]]]],[527,[[526,[458]]]],[527,[[526,[459]]]],[527,[[526,[460]]]],[527,[[526,[461]]]],[527,[[526,[462]]]],[527,[[526,[463]]]],[527,[[526,[464]]]],[527,[[526,[465]]]],[527,[[526,[466]]]],[527,[[526,[467]]]],[527,[[526,[468]]]],[527,[[526,[469]]]],[527,[[526,[470]]]],[527,[[526,[471]]]],[527,[[526,[472]]]],[527,[[526,[473]]]],[527,[[526,[474]]]],[527,[[526,[475]]]],[527,[[526,[476]]]],[527,[[526,[477]]]],[527,[[526,[478]]]],[527,[[526,[479]]]],[527,[[526,[480]]]],[527,[[526,[481]]]],[527,[[526,[482]]]],[527,[[526,[483]]]],[527,[[526,[484]]]],[527,[[526,[485]]]],[527,[[526,[486]]]],[527,[[526,[487]]]],[527,[[526,[488]]]],[527,[[526,[489]]]],[527,[[526,[490]]]],[527,[[526,[491]]]],[527,[[526,[492]]]],[527,[[526,[493]]]],[527,[[526,[494]]]],[527,[[526,[495]]]],[527,[[526,[496]]]],[527,[[526,[497]]]],[527,[[526,[498]]]],[527,[[526,[499]]]],[527,[[526,[500]]]],[527,[[526,[501]]]],[527,[[526,[502]]]],[527,[[526,[503]]]],[527,[[526,[504]]]],[527,[[526,[505]]]],[527,[[526,[506]]]],[527,[[526,[507]]]],[527,[[526,[508]]]],[527,[[526,[509]]]],[527,[[526,[510]]]],[527,[[526,[511]]]],[527,[[526,[512]]]],[527,[[526,[513]]]],[527,[[526,[514]]]],[527,[[526,[515]]]],[527,[[526,[516]]]],[527,[[526,[517]]]],[527,[[526,[518]]]],[527,[[526,[519]]]],[527,[[526,[520]]]],[527,[[526,[521]]]],[527,[[526,[522]]]],[527,[[526,[523]]]],[-1,33,525],[-1,34,525],[-1,35,525],[-1,36,525],[-1,37,525],[-1,38,525],[-1,39,525],[-1,40,525],[-1,41,525],[-1,42,525],[-1,43,525],[-1,44,525],[-1,45,525],[-1,46,525],[-1,47,525],[-1,48,525],[-1,49,525],[-1,50,525],[-1,51,525],[-1,52,525],[-1,53,525],[-1,54,525],[-1,55,525],[-1,56,525],[-1,57,525],[-1,58,525],[-1,59,525],[-1,60,525],[-1,61,525],[-1,62,525],[-1,63,525],[-1,64,525],[65,[[526,[363]]]],[65,[[526,[364]]]],[65,[[526,[365]]]],[65,[[526,[366]]]],[65,[[526,[367]]]],[65,[[526,[368]]]],[65,[[526,[369]]]],[65,[[526,[370]]]],[65,[[526,[371]]]],[65,[[526,[372]]]],[65,[[526,[373]]]],[65,[[526,[374]]]],[65,[[526,[375]]]],[65,[[526,[376]]]],[65,[[526,[377]]]],[65,[[526,[378]]]],[65,[[526,[379]]]],[65,[[526,[380]]]],[65,[[526,[381]]]],[65,[[526,[382]]]],[65,[[526,[383]]]],[65,[[526,[384]]]],[65,[[526,[385]]]],[65,[[526,[386]]]],[65,[[526,[387]]]],[65,[[526,[388]]]],[65,[[526,[389]]]],[65,[[526,[390]]]],[65,[[526,[391]]]],[65,[[526,[392]]]],[65,[[526,[393]]]],[65,[[526,[394]]]],[65,[[526,[395]]]],[65,[[526,[396]]]],[65,[[526,[397]]]],[65,[[526,[398]]]],[65,[[526,[399]]]],[65,[[526,[400]]]],[65,[[526,[401]]]],[65,[[526,[402]]]],[65,[[526,[403]]]],[65,[[526,[404]]]],[65,[[526,[405]]]],[65,[[526,[406]]]],[65,[[526,[407]]]],[65,[[526,[408]]]],[65,[[526,[409]]]],[65,[[526,[410]]]],[65,[[526,[411]]]],[65,[[526,[412]]]],[65,[[526,[413]]]],[65,[[526,[414]]]],[65,[[526,[415]]]],[65,[[526,[416]]]],[65,[[526,[417]]]],[65,[[526,[418]]]],[65,[[526,[419]]]],[65,[[526,[420]]]],[65,[[526,[421]]]],[65,[[526,[422]]]],[65,[[526,[423]]]],[65,[[526,[424]]]],[65,[[526,[425]]]],[65,[[526,[426]]]],[65,[[526,[427]]]],[65,[[526,[428]]]],[65,[[526,[429]]]],[65,[[526,[430]]]],[65,[[526,[431]]]],[65,[[526,[432]]]],[65,[[526,[433]]]],[65,[[526,[434]]]],[65,[[526,[435]]]],[65,[[526,[436]]]],[65,[[526,[437]]]],[65,[[526,[438]]]],[65,[[526,[439]]]],[65,[[526,[440]]]],[65,[[526,[441]]]],[65,[[526,[442]]]],[65,[[526,[443]]]],[65,[[526,[444]]]],[65,[[526,[445]]]],[65,[[526,[446]]]],[65,[[526,[447]]]],[65,[[526,[448]]]],[65,[[526,[449]]]],[65,[[526,[450]]]],[65,[[526,[451]]]],[65,[[526,[452]]]],[65,[[526,[453]]]],[65,[[526,[454]]]],[65,[[526,[455]]]],[65,[[526,[456]]]],[65,[[526,[457]]]],[65,[[526,[458]]]],[65,[[526,[459]]]],[65,[[526,[460]]]],[65,[[526,[461]]]],[65,[[526,[462]]]],[65,[[526,[463]]]],[65,[[526,[464]]]],[65,[[526,[465]]]],[65,[[526,[466]]]],[65,[[526,[467]]]],[65,[[526,[468]]]],[65,[[526,[469]]]],[65,[[526,[470]]]],[65,[[526,[471]]]],[65,[[526,[472]]]],[65,[[526,[473]]]],[65,[[526,[474]]]],[65,[[526,[475]]]],[65,[[526,[476]]]],[65,[[526,[477]]]],[65,[[526,[478]]]],[65,[[526,[479]]]],[65,[[526,[480]]]],[65,[[526,[481]]]],[65,[[526,[482]]]],[65,[[526,[483]]]],[65,[[526,[484]]]],[65,[[526,[485]]]],[65,[[526,[486]]]],[65,[[526,[487]]]],[65,[[526,[488]]]],[65,[[526,[489]]]],[65,[[526,[490]]]],[65,[[526,[491]]]],[65,[[526,[492]]]],[65,[[526,[493]]]],[65,[[526,[494]]]],[65,[[526,[495]]]],[65,[[526,[496]]]],[65,[[526,[497]]]],[65,[[526,[498]]]],[65,[[526,[499]]]],[65,[[526,[500]]]],[65,[[526,[501]]]],[65,[[526,[502]]]],[65,[[526,[503]]]],[65,[[526,[504]]]],[65,[[526,[505]]]],[65,[[526,[506]]]],[65,[[526,[507]]]],[65,[[526,[508]]]],[65,[[526,[509]]]],[65,[[526,[510]]]],[65,[[526,[511]]]],[65,[[526,[512]]]],[65,[[526,[513]]]],[65,[[526,[514]]]],[65,[[526,[515]]]],[65,[[526,[516]]]],[65,[[526,[517]]]],[65,[[526,[518]]]],[65,[[526,[519]]]],[65,[[526,[520]]]],[65,[[526,[521]]]],[65,[[526,[522]]]],[65,[[526,[523]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,-1],9,528],[[34,-1],9,528],[[35,-1],9,528],[[36,-1],9,528],[[37,-1],9,528],[[38,-1],9,528],[[39,-1],9,528],[[40,-1],9,528],[[41,-1],9,528],[[42,-1],9,528],[[43,-1],9,528],[[44,-1],9,528],[[45,-1],9,528],[[46,-1],9,528],[[47,-1],9,528],[[48,-1],9,528],[[49,-1],9,528],[[50,-1],9,528],[[51,-1],9,528],[[52,-1],9,528],[[53,-1],9,528],[[54,-1],9,528],[[55,-1],9,528],[[56,-1],9,528],[[57,-1],9,528],[[58,-1],9,528],[[59,-1],9,528],[[60,-1],9,528],[[61,-1],9,528],[[62,-1],9,528],[[63,-1],9,528],[[64,-1],9,528],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],[[33,33],20],[[34,34],20],[[35,35],20],[[36,36],20],[[37,37],20],[[38,38],20],[[39,39],20],[[40,40],20],[[41,41],20],[[42,42],20],[[43,43],20],[[44,44],20],[[45,45],20],[[46,46],20],[[47,47],20],[[48,48],20],[[49,49],20],[[50,50],20],[[51,51],20],[[52,52],20],[[53,53],20],[[54,54],20],[[55,55],20],[[56,56],20],[[57,57],20],[[58,58],20],[[59,59],20],[[60,60],20],[[61,61],20],[[62,62],20],[[63,63],20],[[64,64],20],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[33,20],[34,20],[35,20],[36,20],[37,20],[38,20],[39,20],[40,20],[41,20],[42,20],[43,20],[44,20],[45,20],[46,20],[47,20],[48,20],[49,20],[50,20],[51,20],[52,20],[53,20],[54,20],[55,20],[56,20],[57,20],[58,20],[59,20],[60,20],[61,20],[62,20],[63,20],[64,20],[33,20],[34,20],[35,20],[36,20],[37,20],[38,20],[39,20],[40,20],[41,20],[42,20],[43,20],[44,20],[45,20],[46,20],[47,20],[48,20],[49,20],[50,20],[51,20],[52,20],[53,20],[54,20],[55,20],[56,20],[57,20],[58,20],[59,20],[60,20],[61,20],[62,20],[63,20],[64,20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[66,15],0,[11,[[16,[15,11]]]],[66,11],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[33,33],[34,34],[35,35],[36,36],[37,37],[38,38],[39,39],[40,40],[41,41],[42,42],[43,43],[44,44],[45,45],[46,46],[47,47],[48,48],[49,49],[50,50],[51,51],[52,52],[53,53],[54,54],[55,55],[56,56],[57,57],[58,58],[59,59],[60,60],[61,61],[62,62],[63,63],[64,64],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[5,15,[17,[10]]],[[16,[66,18]]]],[[33,33],[[526,[524]]]],[[34,34],[[526,[524]]]],[[35,35],[[526,[524]]]],[[36,36],[[526,[524]]]],[[37,37],[[526,[524]]]],[[38,38],[[526,[524]]]],[[39,39],[[526,[524]]]],[[40,40],[[526,[524]]]],[[41,41],[[526,[524]]]],[[42,42],[[526,[524]]]],[[43,43],[[526,[524]]]],[[44,44],[[526,[524]]]],[[45,45],[[526,[524]]]],[[46,46],[[526,[524]]]],[[47,47],[[526,[524]]]],[[48,48],[[526,[524]]]],[[49,49],[[526,[524]]]],[[50,50],[[526,[524]]]],[[51,51],[[526,[524]]]],[[52,52],[[526,[524]]]],[[53,53],[[526,[524]]]],[[54,54],[[526,[524]]]],[[55,55],[[526,[524]]]],[[56,56],[[526,[524]]]],[[57,57],[[526,[524]]]],[[58,58],[[526,[524]]]],[[59,59],[[526,[524]]]],[[60,60],[[526,[524]]]],[[61,61],[[526,[524]]]],[[62,62],[[526,[524]]]],[[63,63],[[526,[524]]]],[[64,64],[[526,[524]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[66,5,[17,[10]]],26],[[67,5,[17,[10]]],26],[[68,5,[17,[10]]],26],[[69,5,[17,[10]]],26],[[70,5,[17,[10]]],26],[[71,5,[17,[10]]],26],[[72,5,[17,[10]]],26],[[73,5,[17,[10]]],26],[[74,5,[17,[10]]],26],[[75,5,[17,[10]]],26],[[76,5,[17,[10]]],26],[[77,5,[17,[10]]],26],[[78,5,[17,[10]]],26],[[79,5,[17,[10]]],26],[[80,5,[17,[10]]],26],[[81,5,[17,[10]]],26],[[82,5,[17,[10]]],26],[[83,5,[17,[10]]],26],[[84,5,[17,[10]]],26],[[85,5,[17,[10]]],26],[[86,5,[17,[10]]],26],[[87,5,[17,[10]]],26],[[88,5,[17,[10]]],26],[[89,5,[17,[10]]],26],[[90,5,[17,[10]]],26],[[91,5,[17,[10]]],26],[[92,5,[17,[10]]],26],[[93,5,[17,[10]]],26],[[94,5,[17,[10]]],26],[[95,5,[17,[10]]],26],[[96,5,[17,[10]]],26],[[97,5,[17,[10]]],26],[[98,5,[17,[10]]],26],[[99,5,[17,[10]]],26],[[100,5,[17,[10]]],26],[[101,5,[17,[10]]],26],[[102,5,[17,[10]]],26],[[103,5,[17,[10]]],26],[[104,5,[17,[10]]],26],[[105,5,[17,[10]]],26],[[106,5,[17,[10]]],26],[[107,5,[17,[10]]],26],[[108,5,[17,[10]]],26],[[109,5,[17,[10]]],26],[[110,5,[17,[10]]],26],[[111,5,[17,[10]]],26],[[112,5,[17,[10]]],26],[[113,5,[17,[10]]],26],[[114,5,[17,[10]]],26],[[115,5,[17,[10]]],26],[[116,5,[17,[10]]],26],[[117,5,[17,[10]]],26],[[118,5,[17,[10]]],26],[[119,5,[17,[10]]],26],[[120,5,[17,[10]]],26],[[121,5,[17,[10]]],26],[[122,5,[17,[10]]],26],[[123,5,[17,[10]]],26],[[124,5,[17,[10]]],26],[[125,5,[17,[10]]],26],[[126,5,[17,[10]]],26],[[127,5,[17,[10]]],26],[[128,5,[17,[10]]],26],[[129,5,[17,[10]]],26],[[130,5,[17,[10]]],26],[[131,5,[17,[10]]],26],[[132,5,[17,[10]]],26],[[133,5,[17,[10]]],26],[[134,5,[17,[10]]],26],[[135,5,[17,[10]]],26],[[136,5,[17,[10]]],26],[[137,5,[17,[10]]],26],[[138,5,[17,[10]]],26],[[139,5,[17,[10]]],26],[[140,5,[17,[10]]],26],[[141,5,[17,[10]]],26],[[142,5,[17,[10]]],26],[[143,5,[17,[10]]],26],[[144,5,[17,[10]]],26],[[145,5,[17,[10]]],26],[[146,5,[17,[10]]],26],[[147,5,[17,[10]]],26],[[148,5,[17,[10]]],26],[[149,5,[17,[10]]],26],[[150,5,[17,[10]]],26],[[151,5,[17,[10]]],26],[[152,5,[17,[10]]],26],[[153,5,[17,[10]]],26],[[154,5,[17,[10]]],26],[[155,5,[17,[10]]],26],[[156,5,[17,[10]]],26],[[157,5,[17,[10]]],26],[[158,5,[17,[10]]],26],[[159,5,[17,[10]]],26],[[160,5,[17,[10]]],26],[[161,5,[17,[10]]],26],[[162,5,[17,[10]]],26],[[163,5,[17,[10]]],26],[[164,5,[17,[10]]],26],[[165,5,[17,[10]]],26],[[166,5,[17,[10]]],26],[[167,5,[17,[10]]],26],[[168,5,[17,[10]]],26],[[169,5,[17,[10]]],26],[[170,5,[17,[10]]],26],[[171,5,[17,[10]]],26],[[172,5,[17,[10]]],26],[[173,5,[17,[10]]],26],[[174,5,[17,[10]]],26],[[175,5,[17,[10]]],26],[[176,5,[17,[10]]],26],[[177,5,[17,[10]]],26],[[178,5,[17,[10]]],26],[[179,5,[17,[10]]],26],[[180,5,[17,[10]]],26],[[181,5,[17,[10]]],26],[[182,5,[17,[10]]],26],[[183,5,[17,[10]]],26],[[184,5,[17,[10]]],26],[[185,5,[17,[10]]],26],[[186,5,[17,[10]]],26],[[187,5,[17,[10]]],26],[[188,5,[17,[10]]],26],[[189,5,[17,[10]]],26],[[190,5,[17,[10]]],26],[[191,5,[17,[10]]],26],[[192,5,[17,[10]]],26],[[193,5,[17,[10]]],26],[[194,5,[17,[10]]],26],[[195,5,[17,[10]]],26],[[196,5,[17,[10]]],26],[[197,5,[17,[10]]],26],[[198,5,[17,[10]]],26],[[199,5,[17,[10]]],26],[[200,5,[17,[10]]],26],[[201,5,[17,[10]]],26],[[202,5,[17,[10]]],26],[[203,5,[17,[10]]],26],[[204,5,[17,[10]]],26],[[205,5,[17,[10]]],26],[[206,5,[17,[10]]],26],[[207,5,[17,[10]]],26],[[208,5,[17,[10]]],26],[[209,5,[17,[10]]],26],[[210,5,[17,[10]]],26],[[211,5,[17,[10]]],26],[[212,5,[17,[10]]],26],[[213,5,[17,[10]]],26],[[214,5,[17,[10]]],26],[[215,5,[17,[10]]],26],[[216,5,[17,[10]]],26],[[217,5,[17,[10]]],26],[[218,5,[17,[10]]],26],[[219,5,[17,[10]]],26],[[220,5,[17,[10]]],26],[[221,5,[17,[10]]],26],[[222,5,[17,[10]]],26],[[223,5,[17,[10]]],26],[[224,5,[17,[10]]],26],[[225,5,[17,[10]]],26],[[226,5,[17,[10]]],26],[[227,5,[17,[10]]],26],[[228,5,[17,[10]]],26],[[229,5,[17,[10]]],26],[[230,5,[17,[10]]],26],[[231,5,[17,[10]]],26],[[232,5,[17,[10]]],26],[[233,5,[17,[10]]],26],[[234,5,[17,[10]]],26],[[235,5,[17,[10]]],26],[[236,5,[17,[10]]],26],[[237,5,[17,[10]]],26],[[238,5,[17,[10]]],26],[[239,5,[17,[10]]],26],[[240,5,[17,[10]]],26],[[241,5,[17,[10]]],26],[[242,5,[17,[10]]],26],[[243,5,[17,[10]]],26],[[244,5,[17,[10]]],26],[[245,5,[17,[10]]],26],[[246,5,[17,[10]]],26],[[247,5,[17,[10]]],26],[[248,5,[17,[10]]],26],[[249,5,[17,[10]]],26],[[250,5,[17,[10]]],26],[[251,5,[17,[10]]],26],[[252,5,[17,[10]]],26],[[253,5,[17,[10]]],26],[[254,5,[17,[10]]],26],[[255,5,[17,[10]]],26],[[256,5,[17,[10]]],26],[[257,5,[17,[10]]],26],[[258,5,[17,[10]]],26],[[259,5,[17,[10]]],26],[[260,5,[17,[10]]],26],[[261,5,[17,[10]]],26],[[262,5,[17,[10]]],26],[[263,5,[17,[10]]],26],[[264,5,[17,[10]]],26],[[265,5,[17,[10]]],26],[[266,5,[17,[10]]],26],[[267,5,[17,[10]]],26],[[268,5,[17,[10]]],26],[[269,5,[17,[10]]],26],[[270,5,[17,[10]]],26],[[271,5,[17,[10]]],26],[[272,5,[17,[10]]],26],[[273,5,[17,[10]]],26],[[274,5,[17,[10]]],26],[[275,5,[17,[10]]],26],[[276,5,[17,[10]]],26],[[277,5,[17,[10]]],26],[[278,5,[17,[10]]],26],[[279,5,[17,[10]]],26],[[280,5,[17,[10]]],26],[[281,5,[17,[10]]],26],[[282,5,[17,[10]]],26],[[283,5,[17,[10]]],26],[[284,5,[17,[10]]],26],[[285,5,[17,[10]]],26],[[286,5,[17,[10]]],26],[[287,5,[17,[10]]],26],[[288,5,[17,[10]]],26],[[289,5,[17,[10]]],26],[[290,5,[17,[10]]],26],[[291,5,[17,[10]]],26],[[292,5,[17,[10]]],26],[[293,5,[17,[10]]],26],[[294,5,[17,[10]]],26],[[295,5,[17,[10]]],26],[[296,5,[17,[10]]],26],[[297,5,[17,[10]]],26],[[298,5,[17,[10]]],26],[[299,5,[17,[10]]],26],[[300,5,[17,[10]]],26],[[301,5,[17,[10]]],26],[[302,5,[17,[10]]],26],[[303,5,[17,[10]]],26],[[304,5,[17,[10]]],26],[[305,5,[17,[10]]],26],[[306,5,[17,[10]]],26],[[307,5,[17,[10]]],26],[[308,5,[17,[10]]],26],[[309,5,[17,[10]]],26],[[310,5,[17,[10]]],26],[[311,5,[17,[10]]],26],[[312,5,[17,[10]]],26],[[313,5,[17,[10]]],26],[[314,5,[17,[10]]],26],[[315,5,[17,[10]]],26],[[316,5,[17,[10]]],26],[[317,5,[17,[10]]],26],[[318,5,[17,[10]]],26],[[319,5,[17,[10]]],26],[[320,5,[17,[10]]],26],[[321,5,[17,[10]]],26],[[322,5,[17,[10]]],26],[[323,5,[17,[10]]],26],[[324,5,[17,[10]]],26],[[325,5,[17,[10]]],26],[[326,5,[17,[10]]],26],[[327,5,[17,[10]]],26],[[328,5,[17,[10]]],26],[[329,5,[17,[10]]],26],[[330,5,[17,[10]]],26],[[331,5,[17,[10]]],26],[[332,5,[17,[10]]],26],[[333,5,[17,[10]]],26],[[334,5,[17,[10]]],26],[[335,5,[17,[10]]],26],[[336,5,[17,[10]]],26],[[337,5,[17,[10]]],26],[[338,5,[17,[10]]],26],[[339,5,[17,[10]]],26],[[340,5,[17,[10]]],26],[[341,5,[17,[10]]],26],[[342,5,[17,[10]]],26],[[343,5,[17,[10]]],26],[[344,5,[17,[10]]],26],[[345,5,[17,[10]]],26],[[346,5,[17,[10]]],26],[[347,5,[17,[10]]],26],[[348,5,[17,[10]]],26],[[349,5,[17,[10]]],26],[[350,5,[17,[10]]],26],[[351,5,[17,[10]]],26],[[352,5,[17,[10]]],26],[[353,5,[17,[10]]],26],[[354,5,[17,[10]]],26],[[355,5,[17,[10]]],26],[[356,5,[17,[10]]],26],[[357,5,[17,[10]]],26],[[358,5,[17,[10]]],26],[[359,5,[17,[10]]],26],[[360,5,[17,[10]]],26],[[361,5,[17,[10]]],26],[[362,5,[17,[10]]],26],0,[[66,-1],16,28],[[67,-1],16,28],[[68,-1],16,28],[[69,-1],16,28],[[70,-1],16,28],[[71,-1],16,28],[[72,-1],16,28],[[73,-1],16,28],[[74,-1],16,28],[[75,-1],16,28],[[76,-1],16,28],[[77,-1],16,28],[[78,-1],16,28],[[79,-1],16,28],[[80,-1],16,28],[[81,-1],16,28],[[82,-1],16,28],[[83,-1],16,28],[[84,-1],16,28],[[85,-1],16,28],[[86,-1],16,28],[[87,-1],16,28],[[88,-1],16,28],[[89,-1],16,28],[[90,-1],16,28],[[91,-1],16,28],[[92,-1],16,28],[[93,-1],16,28],[[94,-1],16,28],[[95,-1],16,28],[[96,-1],16,28],[[97,-1],16,28],[[98,-1],16,28],[[99,-1],16,28],[[100,-1],16,28],[[101,-1],16,28],[[102,-1],16,28],[[103,-1],16,28],[[104,-1],16,28],[[105,-1],16,28],[[106,-1],16,28],[[107,-1],16,28],[[108,-1],16,28],[[109,-1],16,28],[[110,-1],16,28],[[111,-1],16,28],[[112,-1],16,28],[[113,-1],16,28],[[114,-1],16,28],[[115,-1],16,28],[[116,-1],16,28],[[117,-1],16,28],[[118,-1],16,28],[[119,-1],16,28],[[120,-1],16,28],[[121,-1],16,28],[[122,-1],16,28],[[123,-1],16,28],[[124,-1],16,28],[[125,-1],16,28],[[126,-1],16,28],[[127,-1],16,28],[[128,-1],16,28],[[129,-1],16,28],[[130,-1],16,28],[[131,-1],16,28],[[132,-1],16,28],[[133,-1],16,28],[[134,-1],16,28],[[135,-1],16,28],[[136,-1],16,28],[[137,-1],16,28],[[138,-1],16,28],[[139,-1],16,28],[[140,-1],16,28],[[141,-1],16,28],[[142,-1],16,28],[[143,-1],16,28],[[144,-1],16,28],[[145,-1],16,28],[[146,-1],16,28],[[147,-1],16,28],[[148,-1],16,28],[[149,-1],16,28],[[150,-1],16,28],[[151,-1],16,28],[[152,-1],16,28],[[153,-1],16,28],[[154,-1],16,28],[[155,-1],16,28],[[156,-1],16,28],[[157,-1],16,28],[[158,-1],16,28],[[159,-1],16,28],[[160,-1],16,28],[[161,-1],16,28],[[162,-1],16,28],[[163,-1],16,28],[[164,-1],16,28],[[165,-1],16,28],[[166,-1],16,28],[[167,-1],16,28],[[168,-1],16,28],[[169,-1],16,28],[[170,-1],16,28],[[171,-1],16,28],[[172,-1],16,28],[[173,-1],16,28],[[174,-1],16,28],[[175,-1],16,28],[[176,-1],16,28],[[177,-1],16,28],[[178,-1],16,28],[[179,-1],16,28],[[180,-1],16,28],[[181,-1],16,28],[[182,-1],16,28],[[183,-1],16,28],[[184,-1],16,28],[[185,-1],16,28],[[186,-1],16,28],[[187,-1],16,28],[[188,-1],16,28],[[189,-1],16,28],[[190,-1],16,28],[[191,-1],16,28],[[192,-1],16,28],[[193,-1],16,28],[[194,-1],16,28],[[195,-1],16,28],[[196,-1],16,28],[[197,-1],16,28],[[198,-1],16,28],[[199,-1],16,28],[[200,-1],16,28],[[201,-1],16,28],[[202,-1],16,28],[[203,-1],16,28],[[204,-1],16,28],[[205,-1],16,28],[[206,-1],16,28],[[207,-1],16,28],[[208,-1],16,28],[[209,-1],16,28],[[210,-1],16,28],[[211,-1],16,28],[[212,-1],16,28],[[213,-1],16,28],[[214,-1],16,28],[[215,-1],16,28],[[216,-1],16,28],[[217,-1],16,28],[[218,-1],16,28],[[219,-1],16,28],[[220,-1],16,28],[[221,-1],16,28],[[222,-1],16,28],[[223,-1],16,28],[[224,-1],16,28],[[225,-1],16,28],[[226,-1],16,28],[[227,-1],16,28],[[228,-1],16,28],[[229,-1],16,28],[[230,-1],16,28],[[231,-1],16,28],[[232,-1],16,28],[[233,-1],16,28],[[234,-1],16,28],[[235,-1],16,28],[[236,-1],16,28],[[237,-1],16,28],[[238,-1],16,28],[[239,-1],16,28],[[240,-1],16,28],[[241,-1],16,28],[[242,-1],16,28],[[243,-1],16,28],[[244,-1],16,28],[[245,-1],16,28],[[246,-1],16,28],[[247,-1],16,28],[[248,-1],16,28],[[249,-1],16,28],[[250,-1],16,28],[[251,-1],16,28],[[252,-1],16,28],[[253,-1],16,28],[[254,-1],16,28],[[255,-1],16,28],[[256,-1],16,28],[[257,-1],16,28],[[258,-1],16,28],[[259,-1],16,28],[[260,-1],16,28],[[261,-1],16,28],[[262,-1],16,28],[[263,-1],16,28],[[264,-1],16,28],[[265,-1],16,28],[[266,-1],16,28],[[267,-1],16,28],[[268,-1],16,28],[[269,-1],16,28],[[270,-1],16,28],[[271,-1],16,28],[[272,-1],16,28],[[273,-1],16,28],[[274,-1],16,28],[[275,-1],16,28],[[276,-1],16,28],[[277,-1],16,28],[[278,-1],16,28],[[279,-1],16,28],[[280,-1],16,28],[[281,-1],16,28],[[282,-1],16,28],[[283,-1],16,28],[[284,-1],16,28],[[285,-1],16,28],[[286,-1],16,28],[[287,-1],16,28],[[288,-1],16,28],[[289,-1],16,28],[[290,-1],16,28],[[291,-1],16,28],[[292,-1],16,28],[[293,-1],16,28],[[294,-1],16,28],[[295,-1],16,28],[[296,-1],16,28],[[297,-1],16,28],[[298,-1],16,28],[[299,-1],16,28],[[300,-1],16,28],[[301,-1],16,28],[[302,-1],16,28],[[303,-1],16,28],[[304,-1],16,28],[[305,-1],16,28],[[306,-1],16,28],[[307,-1],16,28],[[308,-1],16,28],[[309,-1],16,28],[[310,-1],16,28],[[311,-1],16,28],[[312,-1],16,28],[[313,-1],16,28],[[314,-1],16,28],[[315,-1],16,28],[[316,-1],16,28],[[317,-1],16,28],[[318,-1],16,28],[[319,-1],16,28],[[320,-1],16,28],[[321,-1],16,28],[[322,-1],16,28],[[323,-1],16,28],[[324,-1],16,28],[[325,-1],16,28],[[326,-1],16,28],[[327,-1],16,28],[[328,-1],16,28],[[329,-1],16,28],[[330,-1],16,28],[[331,-1],16,28],[[332,-1],16,28],[[333,-1],16,28],[[334,-1],16,28],[[335,-1],16,28],[[336,-1],16,28],[[337,-1],16,28],[[338,-1],16,28],[[339,-1],16,28],[[340,-1],16,28],[[341,-1],16,28],[[342,-1],16,28],[[343,-1],16,28],[[344,-1],16,28],[[345,-1],16,28],[[346,-1],16,28],[[347,-1],16,28],[[348,-1],16,28],[[349,-1],16,28],[[350,-1],16,28],[[351,-1],16,28],[[352,-1],16,28],[[353,-1],16,28],[[354,-1],16,28],[[355,-1],16,28],[[356,-1],16,28],[[357,-1],16,28],[[358,-1],16,28],[[359,-1],16,28],[[360,-1],16,28],[[361,-1],16,28],[[362,-1],16,28],[[363,-1],16,28],[[364,-1],16,28],[[365,-1],16,28],[[366,-1],16,28],[[367,-1],16,28],[[368,-1],16,28],[[369,-1],16,28],[[370,-1],16,28],[[33,-1],16,28],[[371,-1],16,28],[[372,-1],16,28],[[373,-1],16,28],[[374,-1],16,28],[[375,-1],16,28],[[376,-1],16,28],[[34,-1],16,28],[[377,-1],16,28],[[35,-1],16,28],[[378,-1],16,28],[[379,-1],16,28],[[380,-1],16,28],[[36,-1],16,28],[[381,-1],16,28],[[382,-1],16,28],[[383,-1],16,28],[[384,-1],16,28],[[37,-1],16,28],[[385,-1],16,28],[[386,-1],16,28],[[387,-1],16,28],[[388,-1],16,28],[[389,-1],16,28],[[38,-1],16,28],[[390,-1],16,28],[[39,-1],16,28],[[391,-1],16,28],[[392,-1],16,28],[[393,-1],16,28],[[394,-1],16,28],[[395,-1],16,28],[[396,-1],16,28],[[397,-1],16,28],[[398,-1],16,28],[[399,-1],16,28],[[400,-1],16,28],[[401,-1],16,28],[[402,-1],16,28],[[403,-1],16,28],[[404,-1],16,28],[[405,-1],16,28],[[40,-1],16,28],[[406,-1],16,28],[[407,-1],16,28],[[41,-1],16,28],[[42,-1],16,28],[[408,-1],16,28],[[409,-1],16,28],[[410,-1],16,28],[[411,-1],16,28],[[412,-1],16,28],[[413,-1],16,28],[[414,-1],16,28],[[415,-1],16,28],[[416,-1],16,28],[[417,-1],16,28],[[418,-1],16,28],[[419,-1],16,28],[[420,-1],16,28],[[421,-1],16,28],[[422,-1],16,28],[[423,-1],16,28],[[43,-1],16,28],[[424,-1],16,28],[[425,-1],16,28],[[426,-1],16,28],[[427,-1],16,28],[[428,-1],16,28],[[429,-1],16,28],[[430,-1],16,28],[[44,-1],16,28],[[431,-1],16,28],[[432,-1],16,28],[[433,-1],16,28],[[45,-1],16,28],[[434,-1],16,28],[[46,-1],16,28],[[435,-1],16,28],[[436,-1],16,28],[[437,-1],16,28],[[438,-1],16,28],[[439,-1],16,28],[[440,-1],16,28],[[47,-1],16,28],[[441,-1],16,28],[[442,-1],16,28],[[443,-1],16,28],[[444,-1],16,28],[[445,-1],16,28],[[446,-1],16,28],[[447,-1],16,28],[[448,-1],16,28],[[449,-1],16,28],[[450,-1],16,28],[[451,-1],16,28],[[452,-1],16,28],[[453,-1],16,28],[[454,-1],16,28],[[455,-1],16,28],[[456,-1],16,28],[[457,-1],16,28],[[458,-1],16,28],[[48,-1],16,28],[[459,-1],16,28],[[460,-1],16,28],[[461,-1],16,28],[[49,-1],16,28],[[462,-1],16,28],[[463,-1],16,28],[[464,-1],16,28],[[465,-1],16,28],[[466,-1],16,28],[[50,-1],16,28],[[467,-1],16,28],[[51,-1],16,28],[[468,-1],16,28],[[469,-1],16,28],[[470,-1],16,28],[[471,-1],16,28],[[472,-1],16,28],[[52,-1],16,28],[[473,-1],16,28],[[474,-1],16,28],[[475,-1],16,28],[[53,-1],16,28],[[476,-1],16,28],[[477,-1],16,28],[[478,-1],16,28],[[479,-1],16,28],[[480,-1],16,28],[[481,-1],16,28],[[482,-1],16,28],[[483,-1],16,28],[[484,-1],16,28],[[54,-1],16,28],[[485,-1],16,28],[[486,-1],16,28],[[487,-1],16,28],[[488,-1],16,28],[[489,-1],16,28],[[490,-1],16,28],[[55,-1],16,28],[[491,-1],16,28],[[492,-1],16,28],[[493,-1],16,28],[[494,-1],16,28],[[56,-1],16,28],[[495,-1],16,28],[[57,-1],16,28],[[496,-1],16,28],[[497,-1],16,28],[[58,-1],16,28],[[498,-1],16,28],[[499,-1],16,28],[[59,-1],16,28],[[500,-1],16,28],[[501,-1],16,28],[[502,-1],16,28],[[503,-1],16,28],[[60,-1],16,28],[[504,-1],16,28],[[505,-1],16,28],[[506,-1],16,28],[[61,-1],16,28],[[507,-1],16,28],[[62,-1],16,28],[[508,-1],16,28],[[509,-1],16,28],[[510,-1],16,28],[[511,-1],16,28],[[512,-1],16,28],[[513,-1],16,28],[[514,-1],16,28],[[515,-1],16,28],[[63,-1],16,28],[[516,-1],16,28],[[517,-1],16,28],[[518,-1],16,28],[[519,-1],16,28],[[520,-1],16,28],[[521,-1],16,28],[[64,-1],16,28],[[522,-1],16,28],[[523,-1],16,28],0,0,0,0,0,0,0,0,0,[[33,33,20],9],[[34,34,20],9],[[35,35,20],9],[[36,36,20],9],[[37,37,20],9],[[38,38,20],9],[[39,39,20],9],[[40,40,20],9],[[41,41,20],9],[[42,42,20],9],[[43,43,20],9],[[44,44,20],9],[[45,45,20],9],[[46,46,20],9],[[47,47,20],9],[[48,48,20],9],[[49,49,20],9],[[50,50,20],9],[[51,51,20],9],[[52,52,20],9],[[53,53,20],9],[[54,54,20],9],[[55,55,20],9],[[56,56,20],9],[[57,57,20],9],[[58,58,20],9],[[59,59,20],9],[[60,60,20],9],[[61,61,20],9],[[62,62,20],9],[[63,63,20],9],[[64,64,20],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],0,0,0,0,0,[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[363,[[526,[527]]]],[364,[[526,[527]]]],[365,[[526,[527]]]],[366,[[526,[527]]]],[367,[[526,[527]]]],[368,[[526,[527]]]],[369,[[526,[527]]]],[370,[[526,[527]]]],[371,[[526,[527]]]],[372,[[526,[527]]]],[373,[[526,[527]]]],[374,[[526,[527]]]],[375,[[526,[527]]]],[376,[[526,[527]]]],[377,[[526,[527]]]],[378,[[526,[527]]]],[379,[[526,[527]]]],[380,[[526,[527]]]],[381,[[526,[527]]]],[382,[[526,[527]]]],[383,[[526,[527]]]],[384,[[526,[527]]]],[385,[[526,[527]]]],[386,[[526,[527]]]],[387,[[526,[527]]]],[388,[[526,[527]]]],[389,[[526,[527]]]],[390,[[526,[527]]]],[391,[[526,[527]]]],[392,[[526,[527]]]],[393,[[526,[527]]]],[394,[[526,[527]]]],[395,[[526,[527]]]],[396,[[526,[527]]]],[397,[[526,[527]]]],[398,[[526,[527]]]],[399,[[526,[527]]]],[400,[[526,[527]]]],[401,[[526,[527]]]],[402,[[526,[527]]]],[403,[[526,[527]]]],[404,[[526,[527]]]],[405,[[526,[527]]]],[406,[[526,[527]]]],[407,[[526,[527]]]],[408,[[526,[527]]]],[409,[[526,[527]]]],[410,[[526,[527]]]],[411,[[526,[527]]]],[412,[[526,[527]]]],[413,[[526,[527]]]],[414,[[526,[527]]]],[415,[[526,[527]]]],[416,[[526,[527]]]],[417,[[526,[527]]]],[418,[[526,[527]]]],[419,[[526,[527]]]],[420,[[526,[527]]]],[421,[[526,[527]]]],[422,[[526,[527]]]],[423,[[526,[527]]]],[424,[[526,[527]]]],[425,[[526,[527]]]],[426,[[526,[527]]]],[427,[[526,[527]]]],[428,[[526,[527]]]],[429,[[526,[527]]]],[430,[[526,[527]]]],[431,[[526,[527]]]],[432,[[526,[527]]]],[433,[[526,[527]]]],[434,[[526,[527]]]],[435,[[526,[527]]]],[436,[[526,[527]]]],[437,[[526,[527]]]],[438,[[526,[527]]]],[439,[[526,[527]]]],[440,[[526,[527]]]],[441,[[526,[527]]]],[442,[[526,[527]]]],[443,[[526,[527]]]],[444,[[526,[527]]]],[445,[[526,[527]]]],[446,[[526,[527]]]],[447,[[526,[527]]]],[448,[[526,[527]]]],[449,[[526,[527]]]],[450,[[526,[527]]]],[451,[[526,[527]]]],[452,[[526,[527]]]],[453,[[526,[527]]]],[454,[[526,[527]]]],[455,[[526,[527]]]],[456,[[526,[527]]]],[457,[[526,[527]]]],[458,[[526,[527]]]],[459,[[526,[527]]]],[460,[[526,[527]]]],[461,[[526,[527]]]],[462,[[526,[527]]]],[463,[[526,[527]]]],[464,[[526,[527]]]],[465,[[526,[527]]]],[466,[[526,[527]]]],[467,[[526,[527]]]],[468,[[526,[527]]]],[469,[[526,[527]]]],[470,[[526,[527]]]],[471,[[526,[527]]]],[472,[[526,[527]]]],[473,[[526,[527]]]],[474,[[526,[527]]]],[475,[[526,[527]]]],[476,[[526,[527]]]],[477,[[526,[527]]]],[478,[[526,[527]]]],[479,[[526,[527]]]],[480,[[526,[527]]]],[481,[[526,[527]]]],[482,[[526,[527]]]],[483,[[526,[527]]]],[484,[[526,[527]]]],[485,[[526,[527]]]],[486,[[526,[527]]]],[487,[[526,[527]]]],[488,[[526,[527]]]],[489,[[526,[527]]]],[490,[[526,[527]]]],[491,[[526,[527]]]],[492,[[526,[527]]]],[493,[[526,[527]]]],[494,[[526,[527]]]],[495,[[526,[527]]]],[496,[[526,[527]]]],[497,[[526,[527]]]],[498,[[526,[527]]]],[499,[[526,[527]]]],[500,[[526,[527]]]],[501,[[526,[527]]]],[502,[[526,[527]]]],[503,[[526,[527]]]],[504,[[526,[527]]]],[505,[[526,[527]]]],[506,[[526,[527]]]],[507,[[526,[527]]]],[508,[[526,[527]]]],[509,[[526,[527]]]],[510,[[526,[527]]]],[511,[[526,[527]]]],[512,[[526,[527]]]],[513,[[526,[527]]]],[514,[[526,[527]]]],[515,[[526,[527]]]],[516,[[526,[527]]]],[517,[[526,[527]]]],[518,[[526,[527]]]],[519,[[526,[527]]]],[520,[[526,[527]]]],[521,[[526,[527]]]],[522,[[526,[527]]]],[523,[[526,[527]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[363,[[526,[65]]]],[364,[[526,[65]]]],[365,[[526,[65]]]],[366,[[526,[65]]]],[367,[[526,[65]]]],[368,[[526,[65]]]],[369,[[526,[65]]]],[370,[[526,[65]]]],[371,[[526,[65]]]],[372,[[526,[65]]]],[373,[[526,[65]]]],[374,[[526,[65]]]],[375,[[526,[65]]]],[376,[[526,[65]]]],[377,[[526,[65]]]],[378,[[526,[65]]]],[379,[[526,[65]]]],[380,[[526,[65]]]],[381,[[526,[65]]]],[382,[[526,[65]]]],[383,[[526,[65]]]],[384,[[526,[65]]]],[385,[[526,[65]]]],[386,[[526,[65]]]],[387,[[526,[65]]]],[388,[[526,[65]]]],[389,[[526,[65]]]],[390,[[526,[65]]]],[391,[[526,[65]]]],[392,[[526,[65]]]],[393,[[526,[65]]]],[394,[[526,[65]]]],[395,[[526,[65]]]],[396,[[526,[65]]]],[397,[[526,[65]]]],[398,[[526,[65]]]],[399,[[526,[65]]]],[400,[[526,[65]]]],[401,[[526,[65]]]],[402,[[526,[65]]]],[403,[[526,[65]]]],[404,[[526,[65]]]],[405,[[526,[65]]]],[406,[[526,[65]]]],[407,[[526,[65]]]],[408,[[526,[65]]]],[409,[[526,[65]]]],[410,[[526,[65]]]],[411,[[526,[65]]]],[412,[[526,[65]]]],[413,[[526,[65]]]],[414,[[526,[65]]]],[415,[[526,[65]]]],[416,[[526,[65]]]],[417,[[526,[65]]]],[418,[[526,[65]]]],[419,[[526,[65]]]],[420,[[526,[65]]]],[421,[[526,[65]]]],[422,[[526,[65]]]],[423,[[526,[65]]]],[424,[[526,[65]]]],[425,[[526,[65]]]],[426,[[526,[65]]]],[427,[[526,[65]]]],[428,[[526,[65]]]],[429,[[526,[65]]]],[430,[[526,[65]]]],[431,[[526,[65]]]],[432,[[526,[65]]]],[433,[[526,[65]]]],[434,[[526,[65]]]],[435,[[526,[65]]]],[436,[[526,[65]]]],[437,[[526,[65]]]],[438,[[526,[65]]]],[439,[[526,[65]]]],[440,[[526,[65]]]],[441,[[526,[65]]]],[442,[[526,[65]]]],[443,[[526,[65]]]],[444,[[526,[65]]]],[445,[[526,[65]]]],[446,[[526,[65]]]],[447,[[526,[65]]]],[448,[[526,[65]]]],[449,[[526,[65]]]],[450,[[526,[65]]]],[451,[[526,[65]]]],[452,[[526,[65]]]],[453,[[526,[65]]]],[454,[[526,[65]]]],[455,[[526,[65]]]],[456,[[526,[65]]]],[457,[[526,[65]]]],[458,[[526,[65]]]],[459,[[526,[65]]]],[460,[[526,[65]]]],[461,[[526,[65]]]],[462,[[526,[65]]]],[463,[[526,[65]]]],[464,[[526,[65]]]],[465,[[526,[65]]]],[466,[[526,[65]]]],[467,[[526,[65]]]],[468,[[526,[65]]]],[469,[[526,[65]]]],[470,[[526,[65]]]],[471,[[526,[65]]]],[472,[[526,[65]]]],[473,[[526,[65]]]],[474,[[526,[65]]]],[475,[[526,[65]]]],[476,[[526,[65]]]],[477,[[526,[65]]]],[478,[[526,[65]]]],[479,[[526,[65]]]],[480,[[526,[65]]]],[481,[[526,[65]]]],[482,[[526,[65]]]],[483,[[526,[65]]]],[484,[[526,[65]]]],[485,[[526,[65]]]],[486,[[526,[65]]]],[487,[[526,[65]]]],[488,[[526,[65]]]],[489,[[526,[65]]]],[490,[[526,[65]]]],[491,[[526,[65]]]],[492,[[526,[65]]]],[493,[[526,[65]]]],[494,[[526,[65]]]],[495,[[526,[65]]]],[496,[[526,[65]]]],[497,[[526,[65]]]],[498,[[526,[65]]]],[499,[[526,[65]]]],[500,[[526,[65]]]],[501,[[526,[65]]]],[502,[[526,[65]]]],[503,[[526,[65]]]],[504,[[526,[65]]]],[505,[[526,[65]]]],[506,[[526,[65]]]],[507,[[526,[65]]]],[508,[[526,[65]]]],[509,[[526,[65]]]],[510,[[526,[65]]]],[511,[[526,[65]]]],[512,[[526,[65]]]],[513,[[526,[65]]]],[514,[[526,[65]]]],[515,[[526,[65]]]],[516,[[526,[65]]]],[517,[[526,[65]]]],[518,[[526,[65]]]],[519,[[526,[65]]]],[520,[[526,[65]]]],[521,[[526,[65]]]],[522,[[526,[65]]]],[523,[[526,[65]]]],[[33,33],9],[[34,34],9],[[35,35],9],[[36,36],9],[[37,37],9],[[38,38],9],[[39,39],9],[[40,40],9],[[41,41],9],[[42,42],9],[[43,43],9],[[44,44],9],[[45,45],9],[[46,46],9],[[47,47],9],[[48,48],9],[[49,49],9],[[50,50],9],[[51,51],9],[[52,52],9],[[53,53],9],[[54,54],9],[[55,55],9],[[56,56],9],[[57,57],9],[[58,58],9],[[59,59],9],[[60,60],9],[[61,61],9],[[62,62],9],[[63,63],9],[[64,64],9],0,0,0,0,0,0,0,0,0,0,0,[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],0,0,0,0,0,0,0,0,0,0,0,0,[[33,33],33],[[34,34],34],[[35,35],35],[[36,36],36],[[37,37],37],[[38,38],38],[[39,39],39],[[40,40],40],[[41,41],41],[[42,42],42],[[43,43],43],[[44,44],44],[[45,45],45],[[46,46],46],[[47,47],47],[[48,48],48],[[49,49],49],[[50,50],50],[[51,51],51],[[52,52],52],[[53,53],53],[[54,54],54],[[55,55],55],[[56,56],56],[[57,57],57],[[58,58],58],[[59,59],59],[[60,60],60],[[61,61],61],[[62,62],62],[[63,63],63],[[64,64],64],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[529,[[530,[10]]]],[[529,26],[[17,[10]]]],[529,531],[529,532],[529,533],[529,534],[529,534],[529,527],[529,535],[529,2],[529,15],[529,15],[529,65],[529,10],[-1,-2,[],[]],[[[17,[10]]],529],[529,[[17,[10]]]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,31,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-2,[],[]],[536,20],[536,26],[[[17,[10]]],536],[[536,531],9],[[536,532],9],[[536,533],9],[[536,534],9],[[536,534],9],[[536,527],9],[[536,535],9],[[536,[17,[10]]],9],[[536,2],9],[[536,15],9],[[536,15],9],[[536,65],9],[[536,10],9],[536,26],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,31,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],537],[[],538],[[],539],[[],540],[[],541],[[],542],[[],543],[[],544],[[],545],[[],546],[[],547],[[],548],[[],549],[[],550],[[],551],[[],552],[[],553],[[],554],[[],555],[[],556],[[],557],[[],558],[[],559],[[],560],[[],561],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],0,0,[537,15],[538,15],[539,2],[540,10],[541,2],[542,2],[543,2],[544,2],[545,2],[546,15],[547,15],[548,2],[549,10],[550,15],[551,65],[552,15],[553,65],[554,10],[555,2],[556,2],[557,10],[558,2],[559,10],[560,15],[561,2],[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[562,562],[563,563],[564,564],[565,565],[566,566],[567,567],[568,568],[569,569],[570,570],[571,571],[572,572],[573,573],[574,574],[575,575],[576,576],[577,577],[578,578],[579,579],[580,580],[581,581],[582,582],[583,583],[584,584],[585,585],[586,586],[587,587],[588,588],[589,589],[590,590],[591,591],[592,592],[593,593],[594,594],[595,595],[596,596],[597,597],[598,598],[599,599],[600,600],[601,601],[602,602],[603,603],[604,604],[605,605],[606,606],[607,607],[608,608],[609,609],[610,610],[611,611],[612,612],[613,613],[614,614],[615,615],[616,616],[617,617],[618,618],[619,619],[620,620],[621,621],[622,622],[623,623],[624,624],[625,625],[626,626],[627,627],[628,628],[629,629],[630,630],[631,631],[632,632],[633,633],[634,634],[635,635],[636,636],[637,637],[638,638],[639,639],[640,640],[641,641],[642,642],[643,643],[644,644],[645,645],[646,646],[647,647],[648,648],[649,649],[650,650],[651,651],[652,652],[653,653],[654,654],[655,655],[656,656],[657,657],[658,658],[659,659],[660,660],[661,661],[662,662],[663,663],[664,664],[665,665],[666,666],[667,667],[668,668],[669,669],[670,670],[671,671],[672,672],[673,673],[674,674],[675,675],[676,676],[677,677],[678,678],[679,679],[680,680],[681,681],[682,682],[683,683],[684,684],[685,685],[686,686],[687,687],[688,688],[689,689],[690,690],[691,691],[692,692],[693,693],[694,694],[695,695],[696,696],[697,697],[698,698],[699,699],[700,700],[701,701],[702,702],[703,703],[704,704],[705,705],[706,706],[707,707],[708,708],[709,709],[710,710],[711,711],[712,712],[713,713],[714,714],[715,715],[716,716],[717,717],[718,718],[719,719],[720,720],[721,721],[722,722],[723,723],[724,724],[725,725],[726,726],[727,727],[728,728],[729,729],[730,730],[731,731],[732,732],[733,733],[734,734],[735,735],[736,736],[737,737],[738,738],[739,739],[740,740],[741,741],[742,742],[743,743],[744,744],[745,745],[746,746],[747,747],[748,748],[749,749],[750,750],[751,751],[752,752],[753,753],[754,754],[755,755],[756,756],[757,757],[758,758],[759,759],[760,760],[761,761],[762,762],[763,763],[764,764],[765,765],[766,766],[767,767],[768,768],[769,769],[770,770],[771,771],[772,772],[773,773],[774,774],[775,775],[776,776],[777,777],[778,778],[779,779],[780,780],[781,781],[782,782],[783,783],[784,784],[537,537],[785,785],[786,786],[787,787],[788,788],[789,789],[790,790],[791,791],[792,792],[793,793],[794,794],[795,795],[796,796],[797,797],[798,798],[799,799],[800,800],[801,801],[802,802],[803,803],[804,804],[805,805],[538,538],[806,806],[807,807],[808,808],[539,539],[809,809],[540,540],[810,810],[811,811],[812,812],[813,813],[814,814],[815,815],[541,541],[816,816],[817,817],[818,818],[542,542],[819,819],[820,820],[821,821],[822,822],[823,823],[824,824],[543,543],[825,825],[826,826],[827,827],[828,828],[829,829],[830,830],[831,831],[832,832],[833,833],[544,544],[834,834],[835,835],[836,836],[837,837],[838,838],[839,839],[840,840],[841,841],[842,842],[843,843],[844,844],[845,845],[545,545],[846,846],[546,546],[847,847],[848,848],[849,849],[850,850],[851,851],[852,852],[547,547],[853,853],[854,854],[548,548],[855,855],[856,856],[857,857],[549,549],[550,550],[551,551],[858,858],[859,859],[860,860],[861,861],[862,862],[863,863],[864,864],[865,865],[552,552],[553,553],[866,866],[554,554],[867,867],[555,555],[868,868],[869,869],[870,870],[556,556],[871,871],[872,872],[873,873],[874,874],[875,875],[876,876],[877,877],[878,878],[879,879],[880,880],[881,881],[882,882],[557,557],[883,883],[884,884],[885,885],[886,886],[887,887],[558,558],[559,559],[888,888],[889,889],[890,890],[891,891],[560,560],[561,561],[892,892],[893,893],[894,894],[895,895],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[537,537],524],[[538,538],524],[[539,539],524],[[540,540],524],[[541,541],524],[[542,542],524],[[543,543],524],[[544,544],524],[[545,545],524],[[546,546],524],[[547,547],524],[[548,548],524],[[549,549],524],[[550,550],524],[[551,551],524],[[552,552],524],[[553,553],524],[[554,554],524],[[555,555],524],[[556,556],524],[[557,557],524],[[558,558],524],[[559,559],524],[[560,560],524],[[561,561],524],0,0,0,0,0,0,0,0,0,0,0,0,[537,537],[538,538],[539,539],[540,540],[541,541],[542,542],[543,543],[544,544],[545,545],[546,546],[547,547],[548,548],[549,549],[550,550],[551,551],[552,552],[553,553],[554,554],[555,555],[556,556],[557,557],[558,558],[559,559],[560,560],[561,561],0,0,[[537,537],20],[[538,538],20],[[539,539],20],[[540,540],20],[[541,541],20],[[542,542],20],[[543,543],20],[[544,544],20],[[545,545],20],[[546,546],20],[[547,547],20],[[548,548],20],[[549,549],20],[[550,550],20],[[551,551],20],[[552,552],20],[[553,553],20],[[554,554],20],[[555,555],20],[[556,556],20],[[557,557],20],[[558,558],20],[[559,559],20],[[560,560],20],[[561,561],20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],563],[[],564],[[],565],[[],566],[[],567],[[],568],[[],569],[[],570],[[],571],[[],572],[[],573],[[],574],[[],575],[[],576],[[],577],[[],578],[[],579],[[],580],[[],581],[[],582],[[],583],[[],584],[[],585],[[],586],[[],587],[[],588],[[],589],[[],590],[[],591],[[],592],[[],593],[[],594],[[],595],[[],596],[[],597],[[],598],[[],599],[[],600],[[],601],[[],602],[[],603],[[],604],[[],605],[[],606],[[],607],[[],608],[[],609],[[],610],[[],611],[[],612],[[],613],[[],614],[[],615],[[],616],[[],617],[[],618],[[],619],[[],620],[[],621],[[],622],[[],623],[[],624],[[],625],[[],626],[[],627],[[],628],[[],629],[[],630],[[],631],[[],632],[[],633],[[],634],[[],635],[[],636],[[],637],[[],638],[[],639],[[],640],[[],641],[[],642],[[],643],[[],644],[[],645],[[],646],[[],647],[[],648],[[],649],[[],650],[[],651],[[],652],[[],653],[[],654],[[],655],[[],656],[[],657],[[],658],[[],659],[[],660],[[],661],[[],662],[[],663],[[],664],[[],665],[[],666],[[],667],[[],668],[[],669],[[],670],[[],671],[[],672],[[],673],[[],674],[[],675],[[],676],[[],677],[[],678],[[],679],[[],680],[[],681],[[],682],[[],683],[[],684],[[],685],[[],686],[[],687],[[],688],[[],689],[[],690],[[],691],[[],692],[[],693],[[],694],[[],695],[[],696],[[],697],[[],698],[[],699],[[],700],[[],701],[[],702],[[],703],[[],704],[[],705],[[],706],[[],707],[[],708],[[],709],[[],710],[[],711],[[],712],[[],713],[[],714],[[],715],[[],716],[[],717],[[],718],[[],719],[[],720],[[],721],[[],722],[[],723],[[],724],[[],725],[[],726],[[],727],[[],728],[[],729],[[],730],[[],731],[[],732],[[],733],[[],734],[[],735],[[],736],[[],737],[[],738],[[],739],[[],740],[[],741],[[],742],[[],743],[[],744],[[],745],[[],746],[[],747],[[],748],[[],749],[[],750],[[],751],[[],752],[[],753],[[],754],[[],755],[[],756],[[],757],[[],758],[[],759],[[],760],[[],761],[[],762],[[],763],[[],764],[[],765],[[],766],[[],767],[[],768],[[],769],[[],770],[[],771],[[],772],[[],773],[[],774],[[],775],[[],776],[[],777],[[],778],[[],779],[[],780],[[],781],[[],782],[[],783],[[],784],[[],537],[[],785],[[],786],[[],787],[[],788],[[],789],[[],790],[[],791],[[],792],[[],793],[[],794],[[],795],[[],796],[[],797],[[],798],[[],799],[[],800],[[],801],[[],802],[[],803],[[],804],[[],805],[[],538],[[],806],[[],807],[[],808],[[],539],[[],809],[[],540],[[],810],[[],811],[[],812],[[],813],[[],814],[[],815],[[],541],[[],816],[[],817],[[],818],[[],542],[[],819],[[],820],[[],821],[[],822],[[],823],[[],824],[[],543],[[],825],[[],826],[[],827],[[],828],[[],829],[[],830],[[],831],[[],832],[[],833],[[],544],[[],834],[[],835],[[],836],[[],837],[[],838],[[],839],[[],840],[[],841],[[],842],[[],843],[[],844],[[],845],[[],545],[[],846],[[],546],[[],847],[[],848],[[],849],[[],850],[[],851],[[],852],[[],547],[[],853],[[],854],[[],548],[[],855],[[],856],[[],857],[[],549],[[],550],[[],551],[[],858],[[],859],[[],860],[[],861],[[],862],[[],863],[[],864],[[],865],[[],552],[[],553],[[],866],[[],554],[[],867],[[],555],[[],868],[[],869],[[],870],[[],556],[[],871],[[],872],[[],873],[[],874],[[],875],[[],876],[[],877],[[],878],[[],879],[[],880],[[],881],[[],882],[[],557],[[],883],[[],884],[[],885],[[],886],[[],887],[[],558],[[],559],[[],888],[[],889],[[],890],[[],891],[[],560],[[],561],[[],892],[[],893],[[],894],[[],895],[15,[[16,[562,11]]]],0,0,0,[[5,[17,[10]]],[[16,[563,18]]]],[[5,[17,[10]]],[[16,[564,18]]]],[[5,[17,[10]]],[[16,[565,18]]]],[[5,[17,[10]]],[[16,[566,18]]]],[[5,[17,[10]]],[[16,[567,18]]]],[[5,[17,[10]]],[[16,[568,18]]]],[[5,[17,[10]]],[[16,[569,18]]]],[[5,[17,[10]]],[[16,[570,18]]]],[[5,[17,[10]]],[[16,[571,18]]]],[[5,[17,[10]]],[[16,[572,18]]]],[[5,[17,[10]]],[[16,[573,18]]]],[[5,[17,[10]]],[[16,[574,18]]]],[[5,[17,[10]]],[[16,[575,18]]]],[[5,[17,[10]]],[[16,[576,18]]]],[[5,[17,[10]]],[[16,[577,18]]]],[[5,[17,[10]]],[[16,[578,18]]]],[[5,[17,[10]]],[[16,[579,18]]]],[[5,[17,[10]]],[[16,[580,18]]]],[[5,[17,[10]]],[[16,[581,18]]]],[[5,[17,[10]]],[[16,[582,18]]]],[[5,[17,[10]]],[[16,[583,18]]]],[[5,[17,[10]]],[[16,[584,18]]]],[[5,[17,[10]]],[[16,[585,18]]]],[[5,[17,[10]]],[[16,[586,18]]]],[[5,[17,[10]]],[[16,[587,18]]]],[[5,[17,[10]]],[[16,[588,18]]]],[[5,[17,[10]]],[[16,[589,18]]]],[[5,[17,[10]]],[[16,[590,18]]]],[[5,[17,[10]]],[[16,[591,18]]]],[[5,[17,[10]]],[[16,[592,18]]]],[[5,[17,[10]]],[[16,[593,18]]]],[[5,[17,[10]]],[[16,[594,18]]]],[[5,[17,[10]]],[[16,[595,18]]]],[[5,[17,[10]]],[[16,[596,18]]]],[[5,[17,[10]]],[[16,[597,18]]]],[[5,[17,[10]]],[[16,[598,18]]]],[[5,[17,[10]]],[[16,[599,18]]]],[[5,[17,[10]]],[[16,[600,18]]]],[[5,[17,[10]]],[[16,[601,18]]]],[[5,[17,[10]]],[[16,[602,18]]]],[[5,[17,[10]]],[[16,[603,18]]]],[[5,[17,[10]]],[[16,[604,18]]]],[[5,[17,[10]]],[[16,[605,18]]]],[[5,[17,[10]]],[[16,[606,18]]]],[[5,[17,[10]]],[[16,[607,18]]]],[[5,[17,[10]]],[[16,[608,18]]]],[[5,[17,[10]]],[[16,[609,18]]]],[[5,[17,[10]]],[[16,[610,18]]]],[[5,[17,[10]]],[[16,[611,18]]]],[[5,[17,[10]]],[[16,[612,18]]]],[[5,[17,[10]]],[[16,[613,18]]]],[[5,[17,[10]]],[[16,[614,18]]]],[[5,[17,[10]]],[[16,[615,18]]]],[[5,[17,[10]]],[[16,[616,18]]]],[[5,[17,[10]]],[[16,[617,18]]]],[[5,[17,[10]]],[[16,[618,18]]]],[[5,[17,[10]]],[[16,[619,18]]]],[[5,[17,[10]]],[[16,[620,18]]]],[[5,[17,[10]]],[[16,[621,18]]]],[[5,[17,[10]]],[[16,[622,18]]]],[[5,[17,[10]]],[[16,[623,18]]]],[[5,[17,[10]]],[[16,[624,18]]]],[[5,[17,[10]]],[[16,[625,18]]]],[[5,[17,[10]]],[[16,[626,18]]]],[[5,[17,[10]]],[[16,[627,18]]]],[[5,[17,[10]]],[[16,[628,18]]]],[[5,[17,[10]]],[[16,[629,18]]]],[[5,[17,[10]]],[[16,[630,18]]]],[[5,[17,[10]]],[[16,[631,18]]]],[[5,[17,[10]]],[[16,[632,18]]]],[[5,[17,[10]]],[[16,[633,18]]]],[[5,[17,[10]]],[[16,[634,18]]]],[[5,[17,[10]]],[[16,[635,18]]]],[[5,[17,[10]]],[[16,[636,18]]]],[[5,[17,[10]]],[[16,[637,18]]]],[[5,[17,[10]]],[[16,[638,18]]]],[[5,[17,[10]]],[[16,[639,18]]]],[[5,[17,[10]]],[[16,[640,18]]]],[[5,[17,[10]]],[[16,[641,18]]]],[[5,[17,[10]]],[[16,[642,18]]]],[[5,[17,[10]]],[[16,[643,18]]]],[[5,[17,[10]]],[[16,[644,18]]]],[[5,[17,[10]]],[[16,[645,18]]]],[[5,[17,[10]]],[[16,[646,18]]]],[[5,[17,[10]]],[[16,[647,18]]]],[[5,[17,[10]]],[[16,[648,18]]]],[[5,[17,[10]]],[[16,[649,18]]]],[[5,[17,[10]]],[[16,[650,18]]]],[[5,[17,[10]]],[[16,[651,18]]]],[[5,[17,[10]]],[[16,[652,18]]]],[[5,[17,[10]]],[[16,[653,18]]]],[[5,[17,[10]]],[[16,[654,18]]]],[[5,[17,[10]]],[[16,[655,18]]]],[[5,[17,[10]]],[[16,[656,18]]]],[[5,[17,[10]]],[[16,[657,18]]]],[[5,[17,[10]]],[[16,[658,18]]]],[[5,[17,[10]]],[[16,[659,18]]]],[[5,[17,[10]]],[[16,[660,18]]]],[[5,[17,[10]]],[[16,[661,18]]]],[[5,[17,[10]]],[[16,[662,18]]]],[[5,[17,[10]]],[[16,[663,18]]]],[[5,[17,[10]]],[[16,[664,18]]]],[[5,[17,[10]]],[[16,[665,18]]]],[[5,[17,[10]]],[[16,[666,18]]]],[[5,[17,[10]]],[[16,[667,18]]]],[[5,[17,[10]]],[[16,[668,18]]]],[[5,[17,[10]]],[[16,[669,18]]]],[[5,[17,[10]]],[[16,[670,18]]]],[[5,[17,[10]]],[[16,[671,18]]]],[[5,[17,[10]]],[[16,[672,18]]]],[[5,[17,[10]]],[[16,[673,18]]]],[[5,[17,[10]]],[[16,[674,18]]]],[[5,[17,[10]]],[[16,[675,18]]]],[[5,[17,[10]]],[[16,[676,18]]]],[[5,[17,[10]]],[[16,[677,18]]]],[[5,[17,[10]]],[[16,[678,18]]]],[[5,[17,[10]]],[[16,[679,18]]]],[[5,[17,[10]]],[[16,[680,18]]]],[[5,[17,[10]]],[[16,[681,18]]]],[[5,[17,[10]]],[[16,[682,18]]]],[[5,[17,[10]]],[[16,[683,18]]]],[[5,[17,[10]]],[[16,[684,18]]]],[[5,[17,[10]]],[[16,[685,18]]]],[[5,[17,[10]]],[[16,[686,18]]]],[[5,[17,[10]]],[[16,[687,18]]]],[[5,[17,[10]]],[[16,[688,18]]]],[[5,[17,[10]]],[[16,[689,18]]]],[[5,[17,[10]]],[[16,[690,18]]]],[[5,[17,[10]]],[[16,[691,18]]]],[[5,[17,[10]]],[[16,[692,18]]]],[[5,[17,[10]]],[[16,[693,18]]]],[[5,[17,[10]]],[[16,[694,18]]]],[[5,[17,[10]]],[[16,[695,18]]]],[[5,[17,[10]]],[[16,[696,18]]]],[[5,[17,[10]]],[[16,[697,18]]]],[[5,[17,[10]]],[[16,[698,18]]]],[[5,[17,[10]]],[[16,[699,18]]]],[[5,[17,[10]]],[[16,[700,18]]]],[[5,[17,[10]]],[[16,[701,18]]]],[[5,[17,[10]]],[[16,[702,18]]]],[[5,[17,[10]]],[[16,[703,18]]]],[[5,[17,[10]]],[[16,[704,18]]]],[[5,[17,[10]]],[[16,[705,18]]]],[[5,[17,[10]]],[[16,[706,18]]]],[[5,[17,[10]]],[[16,[707,18]]]],[[5,[17,[10]]],[[16,[708,18]]]],[[5,[17,[10]]],[[16,[709,18]]]],[[5,[17,[10]]],[[16,[710,18]]]],[[5,[17,[10]]],[[16,[711,18]]]],[[5,[17,[10]]],[[16,[712,18]]]],[[5,[17,[10]]],[[16,[713,18]]]],[[5,[17,[10]]],[[16,[714,18]]]],[[5,[17,[10]]],[[16,[715,18]]]],[[5,[17,[10]]],[[16,[716,18]]]],[[5,[17,[10]]],[[16,[717,18]]]],[[5,[17,[10]]],[[16,[718,18]]]],[[5,[17,[10]]],[[16,[719,18]]]],[[5,[17,[10]]],[[16,[720,18]]]],[[5,[17,[10]]],[[16,[721,18]]]],[[5,[17,[10]]],[[16,[722,18]]]],[[5,[17,[10]]],[[16,[723,18]]]],[[5,[17,[10]]],[[16,[724,18]]]],[[5,[17,[10]]],[[16,[725,18]]]],[[5,[17,[10]]],[[16,[726,18]]]],[[5,[17,[10]]],[[16,[727,18]]]],[[5,[17,[10]]],[[16,[728,18]]]],[[5,[17,[10]]],[[16,[729,18]]]],[[5,[17,[10]]],[[16,[730,18]]]],[[5,[17,[10]]],[[16,[731,18]]]],[[5,[17,[10]]],[[16,[732,18]]]],[[5,[17,[10]]],[[16,[733,18]]]],[[5,[17,[10]]],[[16,[734,18]]]],[[5,[17,[10]]],[[16,[735,18]]]],[[5,[17,[10]]],[[16,[736,18]]]],[[5,[17,[10]]],[[16,[737,18]]]],[[5,[17,[10]]],[[16,[738,18]]]],[[5,[17,[10]]],[[16,[739,18]]]],[[5,[17,[10]]],[[16,[740,18]]]],[[5,[17,[10]]],[[16,[741,18]]]],[[5,[17,[10]]],[[16,[742,18]]]],[[5,[17,[10]]],[[16,[743,18]]]],[[5,[17,[10]]],[[16,[744,18]]]],[[5,[17,[10]]],[[16,[745,18]]]],[[5,[17,[10]]],[[16,[746,18]]]],[[5,[17,[10]]],[[16,[747,18]]]],[[5,[17,[10]]],[[16,[748,18]]]],[[5,[17,[10]]],[[16,[749,18]]]],[[5,[17,[10]]],[[16,[750,18]]]],[[5,[17,[10]]],[[16,[751,18]]]],[[5,[17,[10]]],[[16,[752,18]]]],[[5,[17,[10]]],[[16,[753,18]]]],[[5,[17,[10]]],[[16,[754,18]]]],[[5,[17,[10]]],[[16,[755,18]]]],[[5,[17,[10]]],[[16,[756,18]]]],[[5,[17,[10]]],[[16,[757,18]]]],[[5,[17,[10]]],[[16,[758,18]]]],[[5,[17,[10]]],[[16,[759,18]]]],[[5,[17,[10]]],[[16,[760,18]]]],[[5,[17,[10]]],[[16,[761,18]]]],[[5,[17,[10]]],[[16,[762,18]]]],[[5,[17,[10]]],[[16,[763,18]]]],[[5,[17,[10]]],[[16,[764,18]]]],[[5,[17,[10]]],[[16,[765,18]]]],[[5,[17,[10]]],[[16,[766,18]]]],[[5,[17,[10]]],[[16,[767,18]]]],[[5,[17,[10]]],[[16,[768,18]]]],[[5,[17,[10]]],[[16,[769,18]]]],[[5,[17,[10]]],[[16,[770,18]]]],[[5,[17,[10]]],[[16,[771,18]]]],[[5,[17,[10]]],[[16,[772,18]]]],[[5,[17,[10]]],[[16,[773,18]]]],[[5,[17,[10]]],[[16,[774,18]]]],[[5,[17,[10]]],[[16,[775,18]]]],[[5,[17,[10]]],[[16,[776,18]]]],[[5,[17,[10]]],[[16,[777,18]]]],[[5,[17,[10]]],[[16,[778,18]]]],[[5,[17,[10]]],[[16,[779,18]]]],[[5,[17,[10]]],[[16,[780,18]]]],[[5,[17,[10]]],[[16,[781,18]]]],[[5,[17,[10]]],[[16,[782,18]]]],[[5,[17,[10]]],[[16,[783,18]]]],[-1,[[16,[562]]],19],[-1,[[16,[563]]],19],[-1,[[16,[564]]],19],[-1,[[16,[565]]],19],[-1,[[16,[566]]],19],[-1,[[16,[567]]],19],[-1,[[16,[568]]],19],[-1,[[16,[569]]],19],[-1,[[16,[570]]],19],[-1,[[16,[571]]],19],[-1,[[16,[572]]],19],[-1,[[16,[573]]],19],[-1,[[16,[574]]],19],[-1,[[16,[575]]],19],[-1,[[16,[576]]],19],[-1,[[16,[577]]],19],[-1,[[16,[578]]],19],[-1,[[16,[579]]],19],[-1,[[16,[580]]],19],[-1,[[16,[581]]],19],[-1,[[16,[582]]],19],[-1,[[16,[583]]],19],[-1,[[16,[584]]],19],[-1,[[16,[585]]],19],[-1,[[16,[586]]],19],[-1,[[16,[587]]],19],[-1,[[16,[588]]],19],[-1,[[16,[589]]],19],[-1,[[16,[590]]],19],[-1,[[16,[591]]],19],[-1,[[16,[592]]],19],[-1,[[16,[593]]],19],[-1,[[16,[594]]],19],[-1,[[16,[595]]],19],[-1,[[16,[596]]],19],[-1,[[16,[597]]],19],[-1,[[16,[598]]],19],[-1,[[16,[599]]],19],[-1,[[16,[600]]],19],[-1,[[16,[601]]],19],[-1,[[16,[602]]],19],[-1,[[16,[603]]],19],[-1,[[16,[604]]],19],[-1,[[16,[605]]],19],[-1,[[16,[606]]],19],[-1,[[16,[607]]],19],[-1,[[16,[608]]],19],[-1,[[16,[609]]],19],[-1,[[16,[610]]],19],[-1,[[16,[611]]],19],[-1,[[16,[612]]],19],[-1,[[16,[613]]],19],[-1,[[16,[614]]],19],[-1,[[16,[615]]],19],[-1,[[16,[616]]],19],[-1,[[16,[617]]],19],[-1,[[16,[618]]],19],[-1,[[16,[619]]],19],[-1,[[16,[620]]],19],[-1,[[16,[621]]],19],[-1,[[16,[622]]],19],[-1,[[16,[623]]],19],[-1,[[16,[624]]],19],[-1,[[16,[625]]],19],[-1,[[16,[626]]],19],[-1,[[16,[627]]],19],[-1,[[16,[628]]],19],[-1,[[16,[629]]],19],[-1,[[16,[630]]],19],[-1,[[16,[631]]],19],[-1,[[16,[632]]],19],[-1,[[16,[633]]],19],[-1,[[16,[634]]],19],[-1,[[16,[635]]],19],[-1,[[16,[636]]],19],[-1,[[16,[637]]],19],[-1,[[16,[638]]],19],[-1,[[16,[639]]],19],[-1,[[16,[640]]],19],[-1,[[16,[641]]],19],[-1,[[16,[642]]],19],[-1,[[16,[643]]],19],[-1,[[16,[644]]],19],[-1,[[16,[645]]],19],[-1,[[16,[646]]],19],[-1,[[16,[647]]],19],[-1,[[16,[648]]],19],[-1,[[16,[649]]],19],[-1,[[16,[650]]],19],[-1,[[16,[651]]],19],[-1,[[16,[652]]],19],[-1,[[16,[653]]],19],[-1,[[16,[654]]],19],[-1,[[16,[655]]],19],[-1,[[16,[656]]],19],[-1,[[16,[657]]],19],[-1,[[16,[658]]],19],[-1,[[16,[659]]],19],[-1,[[16,[660]]],19],[-1,[[16,[661]]],19],[-1,[[16,[662]]],19],[-1,[[16,[663]]],19],[-1,[[16,[664]]],19],[-1,[[16,[665]]],19],[-1,[[16,[666]]],19],[-1,[[16,[667]]],19],[-1,[[16,[668]]],19],[-1,[[16,[669]]],19],[-1,[[16,[670]]],19],[-1,[[16,[671]]],19],[-1,[[16,[672]]],19],[-1,[[16,[673]]],19],[-1,[[16,[674]]],19],[-1,[[16,[675]]],19],[-1,[[16,[676]]],19],[-1,[[16,[677]]],19],[-1,[[16,[678]]],19],[-1,[[16,[679]]],19],[-1,[[16,[680]]],19],[-1,[[16,[681]]],19],[-1,[[16,[682]]],19],[-1,[[16,[683]]],19],[-1,[[16,[684]]],19],[-1,[[16,[685]]],19],[-1,[[16,[686]]],19],[-1,[[16,[687]]],19],[-1,[[16,[688]]],19],[-1,[[16,[689]]],19],[-1,[[16,[690]]],19],[-1,[[16,[691]]],19],[-1,[[16,[692]]],19],[-1,[[16,[693]]],19],[-1,[[16,[694]]],19],[-1,[[16,[695]]],19],[-1,[[16,[696]]],19],[-1,[[16,[697]]],19],[-1,[[16,[698]]],19],[-1,[[16,[699]]],19],[-1,[[16,[700]]],19],[-1,[[16,[701]]],19],[-1,[[16,[702]]],19],[-1,[[16,[703]]],19],[-1,[[16,[704]]],19],[-1,[[16,[705]]],19],[-1,[[16,[706]]],19],[-1,[[16,[707]]],19],[-1,[[16,[708]]],19],[-1,[[16,[709]]],19],[-1,[[16,[710]]],19],[-1,[[16,[711]]],19],[-1,[[16,[712]]],19],[-1,[[16,[713]]],19],[-1,[[16,[714]]],19],[-1,[[16,[715]]],19],[-1,[[16,[716]]],19],[-1,[[16,[717]]],19],[-1,[[16,[718]]],19],[-1,[[16,[719]]],19],[-1,[[16,[720]]],19],[-1,[[16,[721]]],19],[-1,[[16,[722]]],19],[-1,[[16,[723]]],19],[-1,[[16,[724]]],19],[-1,[[16,[725]]],19],[-1,[[16,[726]]],19],[-1,[[16,[727]]],19],[-1,[[16,[728]]],19],[-1,[[16,[729]]],19],[-1,[[16,[730]]],19],[-1,[[16,[731]]],19],[-1,[[16,[732]]],19],[-1,[[16,[733]]],19],[-1,[[16,[734]]],19],[-1,[[16,[735]]],19],[-1,[[16,[736]]],19],[-1,[[16,[737]]],19],[-1,[[16,[738]]],19],[-1,[[16,[739]]],19],[-1,[[16,[740]]],19],[-1,[[16,[741]]],19],[-1,[[16,[742]]],19],[-1,[[16,[743]]],19],[-1,[[16,[744]]],19],[-1,[[16,[745]]],19],[-1,[[16,[746]]],19],[-1,[[16,[747]]],19],[-1,[[16,[748]]],19],[-1,[[16,[749]]],19],[-1,[[16,[750]]],19],[-1,[[16,[751]]],19],[-1,[[16,[752]]],19],[-1,[[16,[753]]],19],[-1,[[16,[754]]],19],[-1,[[16,[755]]],19],[-1,[[16,[756]]],19],[-1,[[16,[757]]],19],[-1,[[16,[758]]],19],[-1,[[16,[759]]],19],[-1,[[16,[760]]],19],[-1,[[16,[761]]],19],[-1,[[16,[762]]],19],[-1,[[16,[763]]],19],[-1,[[16,[764]]],19],[-1,[[16,[765]]],19],[-1,[[16,[766]]],19],[-1,[[16,[767]]],19],[-1,[[16,[768]]],19],[-1,[[16,[769]]],19],[-1,[[16,[770]]],19],[-1,[[16,[771]]],19],[-1,[[16,[772]]],19],[-1,[[16,[773]]],19],[-1,[[16,[774]]],19],[-1,[[16,[775]]],19],[-1,[[16,[776]]],19],[-1,[[16,[777]]],19],[-1,[[16,[778]]],19],[-1,[[16,[779]]],19],[-1,[[16,[780]]],19],[-1,[[16,[781]]],19],[-1,[[16,[782]]],19],[-1,[[16,[783]]],19],[-1,[[16,[784]]],19],[-1,[[16,[537]]],19],[-1,[[16,[785]]],19],[-1,[[16,[786]]],19],[-1,[[16,[787]]],19],[-1,[[16,[788]]],19],[-1,[[16,[789]]],19],[-1,[[16,[790]]],19],[-1,[[16,[791]]],19],[-1,[[16,[792]]],19],[-1,[[16,[793]]],19],[-1,[[16,[794]]],19],[-1,[[16,[795]]],19],[-1,[[16,[796]]],19],[-1,[[16,[797]]],19],[-1,[[16,[798]]],19],[-1,[[16,[799]]],19],[-1,[[16,[800]]],19],[-1,[[16,[801]]],19],[-1,[[16,[802]]],19],[-1,[[16,[803]]],19],[-1,[[16,[804]]],19],[-1,[[16,[805]]],19],[-1,[[16,[538]]],19],[-1,[[16,[806]]],19],[-1,[[16,[807]]],19],[-1,[[16,[808]]],19],[-1,[[16,[539]]],19],[-1,[[16,[809]]],19],[-1,[[16,[540]]],19],[-1,[[16,[810]]],19],[-1,[[16,[811]]],19],[-1,[[16,[812]]],19],[-1,[[16,[813]]],19],[-1,[[16,[814]]],19],[-1,[[16,[815]]],19],[-1,[[16,[541]]],19],[-1,[[16,[816]]],19],[-1,[[16,[817]]],19],[-1,[[16,[818]]],19],[-1,[[16,[542]]],19],[-1,[[16,[819]]],19],[-1,[[16,[820]]],19],[-1,[[16,[821]]],19],[-1,[[16,[822]]],19],[-1,[[16,[823]]],19],[-1,[[16,[824]]],19],[-1,[[16,[543]]],19],[-1,[[16,[825]]],19],[-1,[[16,[826]]],19],[-1,[[16,[827]]],19],[-1,[[16,[828]]],19],[-1,[[16,[829]]],19],[-1,[[16,[830]]],19],[-1,[[16,[831]]],19],[-1,[[16,[832]]],19],[-1,[[16,[833]]],19],[-1,[[16,[544]]],19],[-1,[[16,[834]]],19],[-1,[[16,[835]]],19],[-1,[[16,[836]]],19],[-1,[[16,[837]]],19],[-1,[[16,[838]]],19],[-1,[[16,[839]]],19],[-1,[[16,[840]]],19],[-1,[[16,[841]]],19],[-1,[[16,[842]]],19],[-1,[[16,[843]]],19],[-1,[[16,[844]]],19],[-1,[[16,[845]]],19],[-1,[[16,[545]]],19],[-1,[[16,[846]]],19],[-1,[[16,[546]]],19],[-1,[[16,[847]]],19],[-1,[[16,[848]]],19],[-1,[[16,[849]]],19],[-1,[[16,[850]]],19],[-1,[[16,[851]]],19],[-1,[[16,[852]]],19],[-1,[[16,[547]]],19],[-1,[[16,[853]]],19],[-1,[[16,[854]]],19],[-1,[[16,[548]]],19],[-1,[[16,[855]]],19],[-1,[[16,[856]]],19],[-1,[[16,[857]]],19],[-1,[[16,[549]]],19],[-1,[[16,[550]]],19],[-1,[[16,[551]]],19],[-1,[[16,[858]]],19],[-1,[[16,[859]]],19],[-1,[[16,[860]]],19],[-1,[[16,[861]]],19],[-1,[[16,[862]]],19],[-1,[[16,[863]]],19],[-1,[[16,[864]]],19],[-1,[[16,[865]]],19],[-1,[[16,[552]]],19],[-1,[[16,[553]]],19],[-1,[[16,[866]]],19],[-1,[[16,[554]]],19],[-1,[[16,[867]]],19],[-1,[[16,[555]]],19],[-1,[[16,[868]]],19],[-1,[[16,[869]]],19],[-1,[[16,[870]]],19],[-1,[[16,[556]]],19],[-1,[[16,[871]]],19],[-1,[[16,[872]]],19],[-1,[[16,[873]]],19],[-1,[[16,[874]]],19],[-1,[[16,[875]]],19],[-1,[[16,[876]]],19],[-1,[[16,[877]]],19],[-1,[[16,[878]]],19],[-1,[[16,[879]]],19],[-1,[[16,[880]]],19],[-1,[[16,[881]]],19],[-1,[[16,[882]]],19],[-1,[[16,[557]]],19],[-1,[[16,[883]]],19],[-1,[[16,[884]]],19],[-1,[[16,[885]]],19],[-1,[[16,[886]]],19],[-1,[[16,[887]]],19],[-1,[[16,[558]]],19],[-1,[[16,[559]]],19],[-1,[[16,[888]]],19],[-1,[[16,[889]]],19],[-1,[[16,[890]]],19],[-1,[[16,[891]]],19],[-1,[[16,[560]]],19],[-1,[[16,[561]]],19],[-1,[[16,[892]]],19],[-1,[[16,[893]]],19],[-1,[[16,[894]]],19],[-1,[[16,[895]]],19],0,0,0,0,0,0,0,0,0,0,0,[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],537],[[],538],[[],539],[[],540],[[],541],[[],542],[[],543],[[],544],[[],545],[[],546],[[],547],[[],548],[[],549],[[],550],[[],551],[[],552],[[],553],[[],554],[[],555],[[],556],[[],557],[[],558],[[],559],[[],560],[[],561],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[562,562],20],[[563,563],20],[[564,564],20],[[565,565],20],[[566,566],20],[[567,567],20],[[568,568],20],[[569,569],20],[[570,570],20],[[571,571],20],[[572,572],20],[[573,573],20],[[574,574],20],[[575,575],20],[[576,576],20],[[577,577],20],[[578,578],20],[[579,579],20],[[580,580],20],[[581,581],20],[[582,582],20],[[583,583],20],[[584,584],20],[[585,585],20],[[586,586],20],[[587,587],20],[[588,588],20],[[589,589],20],[[590,590],20],[[591,591],20],[[592,592],20],[[593,593],20],[[594,594],20],[[595,595],20],[[596,596],20],[[597,597],20],[[598,598],20],[[599,599],20],[[600,600],20],[[601,601],20],[[602,602],20],[[603,603],20],[[604,604],20],[[605,605],20],[[606,606],20],[[607,607],20],[[608,608],20],[[609,609],20],[[610,610],20],[[611,611],20],[[612,612],20],[[613,613],20],[[614,614],20],[[615,615],20],[[616,616],20],[[617,617],20],[[618,618],20],[[619,619],20],[[620,620],20],[[621,621],20],[[622,622],20],[[623,623],20],[[624,624],20],[[625,625],20],[[626,626],20],[[627,627],20],[[628,628],20],[[629,629],20],[[630,630],20],[[631,631],20],[[632,632],20],[[633,633],20],[[634,634],20],[[635,635],20],[[636,636],20],[[637,637],20],[[638,638],20],[[639,639],20],[[640,640],20],[[641,641],20],[[642,642],20],[[643,643],20],[[644,644],20],[[645,645],20],[[646,646],20],[[647,647],20],[[648,648],20],[[649,649],20],[[650,650],20],[[651,651],20],[[652,652],20],[[653,653],20],[[654,654],20],[[655,655],20],[[656,656],20],[[657,657],20],[[658,658],20],[[659,659],20],[[660,660],20],[[661,661],20],[[662,662],20],[[663,663],20],[[664,664],20],[[665,665],20],[[666,666],20],[[667,667],20],[[668,668],20],[[669,669],20],[[670,670],20],[[671,671],20],[[672,672],20],[[673,673],20],[[674,674],20],[[675,675],20],[[676,676],20],[[677,677],20],[[678,678],20],[[679,679],20],[[680,680],20],[[681,681],20],[[682,682],20],[[683,683],20],[[684,684],20],[[685,685],20],[[686,686],20],[[687,687],20],[[688,688],20],[[689,689],20],[[690,690],20],[[691,691],20],[[692,692],20],[[693,693],20],[[694,694],20],[[695,695],20],[[696,696],20],[[697,697],20],[[698,698],20],[[699,699],20],[[700,700],20],[[701,701],20],[[702,702],20],[[703,703],20],[[704,704],20],[[705,705],20],[[706,706],20],[[707,707],20],[[708,708],20],[[709,709],20],[[710,710],20],[[711,711],20],[[712,712],20],[[713,713],20],[[714,714],20],[[715,715],20],[[716,716],20],[[717,717],20],[[718,718],20],[[719,719],20],[[720,720],20],[[721,721],20],[[722,722],20],[[723,723],20],[[724,724],20],[[725,725],20],[[726,726],20],[[727,727],20],[[728,728],20],[[729,729],20],[[730,730],20],[[731,731],20],[[732,732],20],[[733,733],20],[[734,734],20],[[735,735],20],[[736,736],20],[[737,737],20],[[738,738],20],[[739,739],20],[[740,740],20],[[741,741],20],[[742,742],20],[[743,743],20],[[744,744],20],[[745,745],20],[[746,746],20],[[747,747],20],[[748,748],20],[[749,749],20],[[750,750],20],[[751,751],20],[[752,752],20],[[753,753],20],[[754,754],20],[[755,755],20],[[756,756],20],[[757,757],20],[[758,758],20],[[759,759],20],[[760,760],20],[[761,761],20],[[762,762],20],[[763,763],20],[[764,764],20],[[765,765],20],[[766,766],20],[[767,767],20],[[768,768],20],[[769,769],20],[[770,770],20],[[771,771],20],[[772,772],20],[[773,773],20],[[774,774],20],[[775,775],20],[[776,776],20],[[777,777],20],[[778,778],20],[[779,779],20],[[780,780],20],[[781,781],20],[[782,782],20],[[783,783],20],[[784,784],20],[[537,537],20],[[785,785],20],[[786,786],20],[[787,787],20],[[788,788],20],[[789,789],20],[[790,790],20],[[791,791],20],[[792,792],20],[[793,793],20],[[794,794],20],[[795,795],20],[[796,796],20],[[797,797],20],[[798,798],20],[[799,799],20],[[800,800],20],[[801,801],20],[[802,802],20],[[803,803],20],[[804,804],20],[[805,805],20],[[538,538],20],[[806,806],20],[[807,807],20],[[808,808],20],[[539,539],20],[[809,809],20],[[540,540],20],[[810,810],20],[[811,811],20],[[812,812],20],[[813,813],20],[[814,814],20],[[815,815],20],[[541,541],20],[[816,816],20],[[817,817],20],[[818,818],20],[[542,542],20],[[819,819],20],[[820,820],20],[[821,821],20],[[822,822],20],[[823,823],20],[[824,824],20],[[543,543],20],[[825,825],20],[[826,826],20],[[827,827],20],[[828,828],20],[[829,829],20],[[830,830],20],[[831,831],20],[[832,832],20],[[833,833],20],[[544,544],20],[[834,834],20],[[835,835],20],[[836,836],20],[[837,837],20],[[838,838],20],[[839,839],20],[[840,840],20],[[841,841],20],[[842,842],20],[[843,843],20],[[844,844],20],[[845,845],20],[[545,545],20],[[846,846],20],[[546,546],20],[[847,847],20],[[848,848],20],[[849,849],20],[[850,850],20],[[851,851],20],[[852,852],20],[[547,547],20],[[853,853],20],[[854,854],20],[[548,548],20],[[855,855],20],[[856,856],20],[[857,857],20],[[549,549],20],[[550,550],20],[[551,551],20],[[858,858],20],[[859,859],20],[[860,860],20],[[861,861],20],[[862,862],20],[[863,863],20],[[864,864],20],[[865,865],20],[[552,552],20],[[553,553],20],[[866,866],20],[[554,554],20],[[867,867],20],[[555,555],20],[[868,868],20],[[869,869],20],[[870,870],20],[[556,556],20],[[871,871],20],[[872,872],20],[[873,873],20],[[874,874],20],[[875,875],20],[[876,876],20],[[877,877],20],[[878,878],20],[[879,879],20],[[880,880],20],[[881,881],20],[[882,882],20],[[557,557],20],[[883,883],20],[[884,884],20],[[885,885],20],[[886,886],20],[[887,887],20],[[558,558],20],[[559,559],20],[[888,888],20],[[889,889],20],[[890,890],20],[[891,891],20],[[560,560],20],[[561,561],20],[[892,892],20],[[893,893],20],[[894,894],20],[[895,895],20],0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,-1],9,525],[[538,-1],9,525],[[539,-1],9,525],[[540,-1],9,525],[[541,-1],9,525],[[542,-1],9,525],[[543,-1],9,525],[[544,-1],9,525],[[545,-1],9,525],[[546,-1],9,525],[[547,-1],9,525],[[548,-1],9,525],[[549,-1],9,525],[[550,-1],9,525],[[551,-1],9,525],[[552,-1],9,525],[[553,-1],9,525],[[554,-1],9,525],[[555,-1],9,525],[[556,-1],9,525],[[557,-1],9,525],[[558,-1],9,525],[[559,-1],9,525],[[560,-1],9,525],[[561,-1],9,525],[15,10],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[562,21],22],[[563,21],22],[[564,21],22],[[565,21],22],[[566,21],22],[[567,21],22],[[568,21],22],[[569,21],22],[[570,21],22],[[571,21],22],[[572,21],22],[[573,21],22],[[574,21],22],[[575,21],22],[[576,21],22],[[577,21],22],[[578,21],22],[[579,21],22],[[580,21],22],[[581,21],22],[[582,21],22],[[583,21],22],[[584,21],22],[[585,21],22],[[586,21],22],[[587,21],22],[[588,21],22],[[589,21],22],[[590,21],22],[[591,21],22],[[592,21],22],[[593,21],22],[[594,21],22],[[595,21],22],[[596,21],22],[[597,21],22],[[598,21],22],[[599,21],22],[[600,21],22],[[601,21],22],[[602,21],22],[[603,21],22],[[604,21],22],[[605,21],22],[[606,21],22],[[607,21],22],[[608,21],22],[[609,21],22],[[610,21],22],[[611,21],22],[[612,21],22],[[613,21],22],[[614,21],22],[[615,21],22],[[616,21],22],[[617,21],22],[[618,21],22],[[619,21],22],[[620,21],22],[[621,21],22],[[622,21],22],[[623,21],22],[[624,21],22],[[625,21],22],[[626,21],22],[[627,21],22],[[628,21],22],[[629,21],22],[[630,21],22],[[631,21],22],[[632,21],22],[[633,21],22],[[634,21],22],[[635,21],22],[[636,21],22],[[637,21],22],[[638,21],22],[[639,21],22],[[640,21],22],[[641,21],22],[[642,21],22],[[643,21],22],[[644,21],22],[[645,21],22],[[646,21],22],[[647,21],22],[[648,21],22],[[649,21],22],[[650,21],22],[[651,21],22],[[652,21],22],[[653,21],22],[[654,21],22],[[655,21],22],[[656,21],22],[[657,21],22],[[658,21],22],[[659,21],22],[[660,21],22],[[661,21],22],[[662,21],22],[[663,21],22],[[664,21],22],[[665,21],22],[[666,21],22],[[667,21],22],[[668,21],22],[[669,21],22],[[670,21],22],[[671,21],22],[[672,21],22],[[673,21],22],[[674,21],22],[[675,21],22],[[676,21],22],[[677,21],22],[[678,21],22],[[679,21],22],[[680,21],22],[[681,21],22],[[682,21],22],[[683,21],22],[[684,21],22],[[685,21],22],[[686,21],22],[[687,21],22],[[688,21],22],[[689,21],22],[[690,21],22],[[691,21],22],[[692,21],22],[[693,21],22],[[694,21],22],[[695,21],22],[[696,21],22],[[697,21],22],[[698,21],22],[[699,21],22],[[700,21],22],[[701,21],22],[[702,21],22],[[703,21],22],[[704,21],22],[[705,21],22],[[706,21],22],[[707,21],22],[[708,21],22],[[709,21],22],[[710,21],22],[[711,21],22],[[712,21],22],[[713,21],22],[[714,21],22],[[715,21],22],[[716,21],22],[[717,21],22],[[718,21],22],[[719,21],22],[[720,21],22],[[721,21],22],[[722,21],22],[[723,21],22],[[724,21],22],[[725,21],22],[[726,21],22],[[727,21],22],[[728,21],22],[[729,21],22],[[730,21],22],[[731,21],22],[[732,21],22],[[733,21],22],[[734,21],22],[[735,21],22],[[736,21],22],[[737,21],22],[[738,21],22],[[739,21],22],[[740,21],22],[[741,21],22],[[742,21],22],[[743,21],22],[[744,21],22],[[745,21],22],[[746,21],22],[[747,21],22],[[748,21],22],[[749,21],22],[[750,21],22],[[751,21],22],[[752,21],22],[[753,21],22],[[754,21],22],[[755,21],22],[[756,21],22],[[757,21],22],[[758,21],22],[[759,21],22],[[760,21],22],[[761,21],22],[[762,21],22],[[763,21],22],[[764,21],22],[[765,21],22],[[766,21],22],[[767,21],22],[[768,21],22],[[769,21],22],[[770,21],22],[[771,21],22],[[772,21],22],[[773,21],22],[[774,21],22],[[775,21],22],[[776,21],22],[[777,21],22],[[778,21],22],[[779,21],22],[[780,21],22],[[781,21],22],[[782,21],22],[[783,21],22],[[784,21],22],[[537,21],22],[[537,21],22],[[537,21],22],[[537,21],22],[[537,21],22],[[785,21],22],[[786,21],22],[[787,21],22],[[788,21],22],[[789,21],22],[[790,21],22],[[791,21],22],[[792,21],22],[[793,21],22],[[794,21],22],[[795,21],22],[[796,21],22],[[797,21],22],[[798,21],22],[[799,21],22],[[800,21],22],[[801,21],22],[[802,21],22],[[803,21],22],[[804,21],22],[[805,21],22],[[538,21],22],[[538,21],22],[[538,21],22],[[538,21],22],[[538,21],22],[[806,21],22],[[807,21],22],[[808,21],22],[[539,21],22],[[539,21],22],[[539,21],22],[[539,21],22],[[539,21],22],[[809,21],22],[[540,21],22],[[540,21],22],[[540,21],22],[[540,21],22],[[540,21],22],[[810,21],22],[[811,21],22],[[812,21],22],[[813,21],22],[[814,21],22],[[815,21],22],[[541,21],22],[[541,21],22],[[541,21],22],[[541,21],22],[[541,21],22],[[816,21],22],[[817,21],22],[[818,21],22],[[542,21],22],[[542,21],22],[[542,21],22],[[542,21],22],[[542,21],22],[[819,21],22],[[820,21],22],[[821,21],22],[[822,21],22],[[823,21],22],[[824,21],22],[[543,21],22],[[543,21],22],[[543,21],22],[[543,21],22],[[543,21],22],[[825,21],22],[[826,21],22],[[827,21],22],[[828,21],22],[[829,21],22],[[830,21],22],[[831,21],22],[[832,21],22],[[833,21],22],[[544,21],22],[[544,21],22],[[544,21],22],[[544,21],22],[[544,21],22],[[834,21],22],[[835,21],22],[[836,21],22],[[837,21],22],[[838,21],22],[[839,21],22],[[840,21],22],[[841,21],22],[[842,21],22],[[843,21],22],[[844,21],22],[[845,21],22],[[545,21],22],[[545,21],22],[[545,21],22],[[545,21],22],[[545,21],22],[[846,21],22],[[546,21],22],[[546,21],22],[[546,21],22],[[546,21],22],[[546,21],22],[[847,21],22],[[848,21],22],[[849,21],22],[[850,21],22],[[851,21],22],[[852,21],22],[[547,21],22],[[547,21],22],[[547,21],22],[[547,21],22],[[547,21],22],[[853,21],22],[[854,21],22],[[548,21],22],[[548,21],22],[[548,21],22],[[548,21],22],[[548,21],22],[[855,21],22],[[856,21],22],[[857,21],22],[[549,21],22],[[549,21],22],[[549,21],22],[[549,21],22],[[549,21],22],[[550,21],22],[[550,21],22],[[550,21],22],[[550,21],22],[[550,21],22],[[551,21],22],[[551,21],22],[[551,21],22],[[551,21],22],[[551,21],22],[[858,21],22],[[859,21],22],[[860,21],22],[[861,21],22],[[862,21],22],[[863,21],22],[[864,21],22],[[865,21],22],[[552,21],22],[[552,21],22],[[552,21],22],[[552,21],22],[[552,21],22],[[553,21],22],[[553,21],22],[[553,21],22],[[553,21],22],[[553,21],22],[[866,21],22],[[554,21],22],[[554,21],22],[[554,21],22],[[554,21],22],[[554,21],22],[[867,21],22],[[555,21],22],[[555,21],22],[[555,21],22],[[555,21],22],[[555,21],22],[[868,21],22],[[869,21],22],[[870,21],22],[[556,21],22],[[556,21],22],[[556,21],22],[[556,21],22],[[556,21],22],[[871,21],22],[[872,21],22],[[873,21],22],[[874,21],22],[[875,21],22],[[876,21],22],[[877,21],22],[[878,21],22],[[879,21],22],[[880,21],22],[[881,21],22],[[882,21],22],[[557,21],22],[[557,21],22],[[557,21],22],[[557,21],22],[[557,21],22],[[883,21],22],[[884,21],22],[[885,21],22],[[886,21],22],[[887,21],22],[[558,21],22],[[558,21],22],[[558,21],22],[[558,21],22],[[558,21],22],[[559,21],22],[[559,21],22],[[559,21],22],[[559,21],22],[[559,21],22],[[888,21],22],[[889,21],22],[[890,21],22],[[891,21],22],[[560,21],22],[[560,21],22],[[560,21],22],[[560,21],22],[[560,21],22],[[561,21],22],[[561,21],22],[[561,21],22],[[561,21],22],[[561,21],22],[[892,21],22],[[893,21],22],[[894,21],22],[[895,21],22],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[15,[[526,[537]]]],[15,[[526,[538]]]],[2,[[526,[539]]]],[10,[[526,[540]]]],[2,[[526,[541]]]],[2,[[526,[542]]]],[2,[[526,[543]]]],[2,[[526,[544]]]],[2,[[526,[545]]]],[15,[[526,[546]]]],[15,[[526,[547]]]],[2,[[526,[548]]]],[10,[[526,[549]]]],[15,[[526,[550]]]],[65,[[526,[551]]]],[15,[[526,[552]]]],[65,[[526,[553]]]],[10,[[526,[554]]]],[2,[[526,[555]]]],[2,[[526,[556]]]],[10,[[526,[557]]]],[2,[[526,[558]]]],[10,[[526,[559]]]],[15,[[526,[560]]]],[2,[[526,[561]]]],[15,537],[15,538],[2,539],[10,540],[2,541],[2,542],[2,543],[2,544],[2,545],[15,546],[15,547],[2,548],[10,549],[15,550],[65,551],[15,552],[65,553],[10,554],[2,555],[2,556],[10,557],[2,558],[10,559],[15,560],[2,561],[15,537],[15,538],[2,539],[10,540],[2,541],[2,542],[2,543],[2,544],[2,545],[15,546],[15,547],[2,548],[10,549],[15,550],[65,551],[15,552],[65,553],[10,554],[2,555],[2,556],[10,557],[2,558],[10,559],[15,560],[2,561],[527,[[526,[784]]]],[527,[[526,[785]]]],[527,[[526,[786]]]],[527,[[526,[787]]]],[527,[[526,[788]]]],[527,[[526,[789]]]],[527,[[526,[790]]]],[527,[[526,[791]]]],[527,[[526,[792]]]],[527,[[526,[793]]]],[527,[[526,[794]]]],[527,[[526,[795]]]],[527,[[526,[796]]]],[527,[[526,[797]]]],[527,[[526,[798]]]],[527,[[526,[799]]]],[527,[[526,[800]]]],[527,[[526,[801]]]],[527,[[526,[802]]]],[527,[[526,[803]]]],[527,[[526,[804]]]],[527,[[526,[805]]]],[527,[[526,[806]]]],[527,[[526,[807]]]],[527,[[526,[808]]]],[527,[[526,[809]]]],[527,[[526,[810]]]],[527,[[526,[811]]]],[527,[[526,[812]]]],[527,[[526,[813]]]],[527,[[526,[814]]]],[527,[[526,[815]]]],[527,[[526,[816]]]],[527,[[526,[817]]]],[527,[[526,[818]]]],[527,[[526,[819]]]],[527,[[526,[820]]]],[527,[[526,[821]]]],[527,[[526,[822]]]],[527,[[526,[823]]]],[527,[[526,[824]]]],[527,[[526,[825]]]],[527,[[526,[826]]]],[527,[[526,[827]]]],[527,[[526,[828]]]],[527,[[526,[829]]]],[527,[[526,[830]]]],[527,[[526,[831]]]],[527,[[526,[832]]]],[527,[[526,[833]]]],[527,[[526,[834]]]],[527,[[526,[835]]]],[527,[[526,[836]]]],[527,[[526,[837]]]],[527,[[526,[838]]]],[527,[[526,[839]]]],[527,[[526,[840]]]],[527,[[526,[841]]]],[527,[[526,[842]]]],[527,[[526,[843]]]],[527,[[526,[844]]]],[527,[[526,[845]]]],[527,[[526,[846]]]],[527,[[526,[847]]]],[527,[[526,[848]]]],[527,[[526,[849]]]],[527,[[526,[850]]]],[527,[[526,[851]]]],[527,[[526,[852]]]],[527,[[526,[853]]]],[527,[[526,[854]]]],[527,[[526,[855]]]],[527,[[526,[856]]]],[527,[[526,[857]]]],[527,[[526,[858]]]],[527,[[526,[859]]]],[527,[[526,[860]]]],[527,[[526,[861]]]],[527,[[526,[862]]]],[527,[[526,[863]]]],[527,[[526,[864]]]],[527,[[526,[865]]]],[527,[[526,[866]]]],[527,[[526,[867]]]],[527,[[526,[868]]]],[527,[[526,[869]]]],[527,[[526,[870]]]],[527,[[526,[871]]]],[527,[[526,[872]]]],[527,[[526,[873]]]],[527,[[526,[874]]]],[527,[[526,[875]]]],[527,[[526,[876]]]],[527,[[526,[877]]]],[527,[[526,[878]]]],[527,[[526,[879]]]],[527,[[526,[880]]]],[527,[[526,[881]]]],[527,[[526,[882]]]],[527,[[526,[883]]]],[527,[[526,[884]]]],[527,[[526,[885]]]],[527,[[526,[886]]]],[527,[[526,[887]]]],[527,[[526,[888]]]],[527,[[526,[889]]]],[527,[[526,[890]]]],[527,[[526,[891]]]],[527,[[526,[892]]]],[527,[[526,[893]]]],[527,[[526,[894]]]],[527,[[526,[895]]]],[-1,537,525],[-1,538,525],[-1,539,525],[-1,540,525],[-1,541,525],[-1,542,525],[-1,543,525],[-1,544,525],[-1,545,525],[-1,546,525],[-1,547,525],[-1,548,525],[-1,549,525],[-1,550,525],[-1,551,525],[-1,552,525],[-1,553,525],[-1,554,525],[-1,555,525],[-1,556,525],[-1,557,525],[-1,558,525],[-1,559,525],[-1,560,525],[-1,561,525],[65,[[526,[784]]]],[65,[[526,[785]]]],[65,[[526,[786]]]],[65,[[526,[787]]]],[65,[[526,[788]]]],[65,[[526,[789]]]],[65,[[526,[790]]]],[65,[[526,[791]]]],[65,[[526,[792]]]],[65,[[526,[793]]]],[65,[[526,[794]]]],[65,[[526,[795]]]],[65,[[526,[796]]]],[65,[[526,[797]]]],[65,[[526,[798]]]],[65,[[526,[799]]]],[65,[[526,[800]]]],[65,[[526,[801]]]],[65,[[526,[802]]]],[65,[[526,[803]]]],[65,[[526,[804]]]],[65,[[526,[805]]]],[65,[[526,[806]]]],[65,[[526,[807]]]],[65,[[526,[808]]]],[65,[[526,[809]]]],[65,[[526,[810]]]],[65,[[526,[811]]]],[65,[[526,[812]]]],[65,[[526,[813]]]],[65,[[526,[814]]]],[65,[[526,[815]]]],[65,[[526,[816]]]],[65,[[526,[817]]]],[65,[[526,[818]]]],[65,[[526,[819]]]],[65,[[526,[820]]]],[65,[[526,[821]]]],[65,[[526,[822]]]],[65,[[526,[823]]]],[65,[[526,[824]]]],[65,[[526,[825]]]],[65,[[526,[826]]]],[65,[[526,[827]]]],[65,[[526,[828]]]],[65,[[526,[829]]]],[65,[[526,[830]]]],[65,[[526,[831]]]],[65,[[526,[832]]]],[65,[[526,[833]]]],[65,[[526,[834]]]],[65,[[526,[835]]]],[65,[[526,[836]]]],[65,[[526,[837]]]],[65,[[526,[838]]]],[65,[[526,[839]]]],[65,[[526,[840]]]],[65,[[526,[841]]]],[65,[[526,[842]]]],[65,[[526,[843]]]],[65,[[526,[844]]]],[65,[[526,[845]]]],[65,[[526,[846]]]],[65,[[526,[847]]]],[65,[[526,[848]]]],[65,[[526,[849]]]],[65,[[526,[850]]]],[65,[[526,[851]]]],[65,[[526,[852]]]],[65,[[526,[853]]]],[65,[[526,[854]]]],[65,[[526,[855]]]],[65,[[526,[856]]]],[65,[[526,[857]]]],[65,[[526,[858]]]],[65,[[526,[859]]]],[65,[[526,[860]]]],[65,[[526,[861]]]],[65,[[526,[862]]]],[65,[[526,[863]]]],[65,[[526,[864]]]],[65,[[526,[865]]]],[65,[[526,[866]]]],[65,[[526,[867]]]],[65,[[526,[868]]]],[65,[[526,[869]]]],[65,[[526,[870]]]],[65,[[526,[871]]]],[65,[[526,[872]]]],[65,[[526,[873]]]],[65,[[526,[874]]]],[65,[[526,[875]]]],[65,[[526,[876]]]],[65,[[526,[877]]]],[65,[[526,[878]]]],[65,[[526,[879]]]],[65,[[526,[880]]]],[65,[[526,[881]]]],[65,[[526,[882]]]],[65,[[526,[883]]]],[65,[[526,[884]]]],[65,[[526,[885]]]],[65,[[526,[886]]]],[65,[[526,[887]]]],[65,[[526,[888]]]],[65,[[526,[889]]]],[65,[[526,[890]]]],[65,[[526,[891]]]],[65,[[526,[892]]]],[65,[[526,[893]]]],[65,[[526,[894]]]],[65,[[526,[895]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,-1],9,528],[[538,-1],9,528],[[539,-1],9,528],[[540,-1],9,528],[[541,-1],9,528],[[542,-1],9,528],[[543,-1],9,528],[[544,-1],9,528],[[545,-1],9,528],[[546,-1],9,528],[[547,-1],9,528],[[548,-1],9,528],[[549,-1],9,528],[[550,-1],9,528],[[551,-1],9,528],[[552,-1],9,528],[[553,-1],9,528],[[554,-1],9,528],[[555,-1],9,528],[[556,-1],9,528],[[557,-1],9,528],[[558,-1],9,528],[[559,-1],9,528],[[560,-1],9,528],[[561,-1],9,528],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],[[537,537],20],[[538,538],20],[[539,539],20],[[540,540],20],[[541,541],20],[[542,542],20],[[543,543],20],[[544,544],20],[[545,545],20],[[546,546],20],[[547,547],20],[[548,548],20],[[549,549],20],[[550,550],20],[[551,551],20],[[552,552],20],[[553,553],20],[[554,554],20],[[555,555],20],[[556,556],20],[[557,557],20],[[558,558],20],[[559,559],20],[[560,560],20],[[561,561],20],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[537,20],[538,20],[539,20],[540,20],[541,20],[542,20],[543,20],[544,20],[545,20],[546,20],[547,20],[548,20],[549,20],[550,20],[551,20],[552,20],[553,20],[554,20],[555,20],[556,20],[557,20],[558,20],[559,20],[560,20],[561,20],[537,20],[538,20],[539,20],[540,20],[541,20],[542,20],[543,20],[544,20],[545,20],[546,20],[547,20],[548,20],[549,20],[550,20],[551,20],[552,20],[553,20],[554,20],[555,20],[556,20],[557,20],[558,20],[559,20],[560,20],[561,20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[562,15],0,[11,[[16,[15,11]]]],[562,11],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[537,537],[538,538],[539,539],[540,540],[541,541],[542,542],[543,543],[544,544],[545,545],[546,546],[547,547],[548,548],[549,549],[550,550],[551,551],[552,552],[553,553],[554,554],[555,555],[556,556],[557,557],[558,558],[559,559],[560,560],[561,561],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[5,15,[17,[10]]],[[16,[562,18]]]],[[537,537],[[526,[524]]]],[[538,538],[[526,[524]]]],[[539,539],[[526,[524]]]],[[540,540],[[526,[524]]]],[[541,541],[[526,[524]]]],[[542,542],[[526,[524]]]],[[543,543],[[526,[524]]]],[[544,544],[[526,[524]]]],[[545,545],[[526,[524]]]],[[546,546],[[526,[524]]]],[[547,547],[[526,[524]]]],[[548,548],[[526,[524]]]],[[549,549],[[526,[524]]]],[[550,550],[[526,[524]]]],[[551,551],[[526,[524]]]],[[552,552],[[526,[524]]]],[[553,553],[[526,[524]]]],[[554,554],[[526,[524]]]],[[555,555],[[526,[524]]]],[[556,556],[[526,[524]]]],[[557,557],[[526,[524]]]],[[558,558],[[526,[524]]]],[[559,559],[[526,[524]]]],[[560,560],[[526,[524]]]],[[561,561],[[526,[524]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[562,5,[17,[10]]],26],[[563,5,[17,[10]]],26],[[564,5,[17,[10]]],26],[[565,5,[17,[10]]],26],[[566,5,[17,[10]]],26],[[567,5,[17,[10]]],26],[[568,5,[17,[10]]],26],[[569,5,[17,[10]]],26],[[570,5,[17,[10]]],26],[[571,5,[17,[10]]],26],[[572,5,[17,[10]]],26],[[573,5,[17,[10]]],26],[[574,5,[17,[10]]],26],[[575,5,[17,[10]]],26],[[576,5,[17,[10]]],26],[[577,5,[17,[10]]],26],[[578,5,[17,[10]]],26],[[579,5,[17,[10]]],26],[[580,5,[17,[10]]],26],[[581,5,[17,[10]]],26],[[582,5,[17,[10]]],26],[[583,5,[17,[10]]],26],[[584,5,[17,[10]]],26],[[585,5,[17,[10]]],26],[[586,5,[17,[10]]],26],[[587,5,[17,[10]]],26],[[588,5,[17,[10]]],26],[[589,5,[17,[10]]],26],[[590,5,[17,[10]]],26],[[591,5,[17,[10]]],26],[[592,5,[17,[10]]],26],[[593,5,[17,[10]]],26],[[594,5,[17,[10]]],26],[[595,5,[17,[10]]],26],[[596,5,[17,[10]]],26],[[597,5,[17,[10]]],26],[[598,5,[17,[10]]],26],[[599,5,[17,[10]]],26],[[600,5,[17,[10]]],26],[[601,5,[17,[10]]],26],[[602,5,[17,[10]]],26],[[603,5,[17,[10]]],26],[[604,5,[17,[10]]],26],[[605,5,[17,[10]]],26],[[606,5,[17,[10]]],26],[[607,5,[17,[10]]],26],[[608,5,[17,[10]]],26],[[609,5,[17,[10]]],26],[[610,5,[17,[10]]],26],[[611,5,[17,[10]]],26],[[612,5,[17,[10]]],26],[[613,5,[17,[10]]],26],[[614,5,[17,[10]]],26],[[615,5,[17,[10]]],26],[[616,5,[17,[10]]],26],[[617,5,[17,[10]]],26],[[618,5,[17,[10]]],26],[[619,5,[17,[10]]],26],[[620,5,[17,[10]]],26],[[621,5,[17,[10]]],26],[[622,5,[17,[10]]],26],[[623,5,[17,[10]]],26],[[624,5,[17,[10]]],26],[[625,5,[17,[10]]],26],[[626,5,[17,[10]]],26],[[627,5,[17,[10]]],26],[[628,5,[17,[10]]],26],[[629,5,[17,[10]]],26],[[630,5,[17,[10]]],26],[[631,5,[17,[10]]],26],[[632,5,[17,[10]]],26],[[633,5,[17,[10]]],26],[[634,5,[17,[10]]],26],[[635,5,[17,[10]]],26],[[636,5,[17,[10]]],26],[[637,5,[17,[10]]],26],[[638,5,[17,[10]]],26],[[639,5,[17,[10]]],26],[[640,5,[17,[10]]],26],[[641,5,[17,[10]]],26],[[642,5,[17,[10]]],26],[[643,5,[17,[10]]],26],[[644,5,[17,[10]]],26],[[645,5,[17,[10]]],26],[[646,5,[17,[10]]],26],[[647,5,[17,[10]]],26],[[648,5,[17,[10]]],26],[[649,5,[17,[10]]],26],[[650,5,[17,[10]]],26],[[651,5,[17,[10]]],26],[[652,5,[17,[10]]],26],[[653,5,[17,[10]]],26],[[654,5,[17,[10]]],26],[[655,5,[17,[10]]],26],[[656,5,[17,[10]]],26],[[657,5,[17,[10]]],26],[[658,5,[17,[10]]],26],[[659,5,[17,[10]]],26],[[660,5,[17,[10]]],26],[[661,5,[17,[10]]],26],[[662,5,[17,[10]]],26],[[663,5,[17,[10]]],26],[[664,5,[17,[10]]],26],[[665,5,[17,[10]]],26],[[666,5,[17,[10]]],26],[[667,5,[17,[10]]],26],[[668,5,[17,[10]]],26],[[669,5,[17,[10]]],26],[[670,5,[17,[10]]],26],[[671,5,[17,[10]]],26],[[672,5,[17,[10]]],26],[[673,5,[17,[10]]],26],[[674,5,[17,[10]]],26],[[675,5,[17,[10]]],26],[[676,5,[17,[10]]],26],[[677,5,[17,[10]]],26],[[678,5,[17,[10]]],26],[[679,5,[17,[10]]],26],[[680,5,[17,[10]]],26],[[681,5,[17,[10]]],26],[[682,5,[17,[10]]],26],[[683,5,[17,[10]]],26],[[684,5,[17,[10]]],26],[[685,5,[17,[10]]],26],[[686,5,[17,[10]]],26],[[687,5,[17,[10]]],26],[[688,5,[17,[10]]],26],[[689,5,[17,[10]]],26],[[690,5,[17,[10]]],26],[[691,5,[17,[10]]],26],[[692,5,[17,[10]]],26],[[693,5,[17,[10]]],26],[[694,5,[17,[10]]],26],[[695,5,[17,[10]]],26],[[696,5,[17,[10]]],26],[[697,5,[17,[10]]],26],[[698,5,[17,[10]]],26],[[699,5,[17,[10]]],26],[[700,5,[17,[10]]],26],[[701,5,[17,[10]]],26],[[702,5,[17,[10]]],26],[[703,5,[17,[10]]],26],[[704,5,[17,[10]]],26],[[705,5,[17,[10]]],26],[[706,5,[17,[10]]],26],[[707,5,[17,[10]]],26],[[708,5,[17,[10]]],26],[[709,5,[17,[10]]],26],[[710,5,[17,[10]]],26],[[711,5,[17,[10]]],26],[[712,5,[17,[10]]],26],[[713,5,[17,[10]]],26],[[714,5,[17,[10]]],26],[[715,5,[17,[10]]],26],[[716,5,[17,[10]]],26],[[717,5,[17,[10]]],26],[[718,5,[17,[10]]],26],[[719,5,[17,[10]]],26],[[720,5,[17,[10]]],26],[[721,5,[17,[10]]],26],[[722,5,[17,[10]]],26],[[723,5,[17,[10]]],26],[[724,5,[17,[10]]],26],[[725,5,[17,[10]]],26],[[726,5,[17,[10]]],26],[[727,5,[17,[10]]],26],[[728,5,[17,[10]]],26],[[729,5,[17,[10]]],26],[[730,5,[17,[10]]],26],[[731,5,[17,[10]]],26],[[732,5,[17,[10]]],26],[[733,5,[17,[10]]],26],[[734,5,[17,[10]]],26],[[735,5,[17,[10]]],26],[[736,5,[17,[10]]],26],[[737,5,[17,[10]]],26],[[738,5,[17,[10]]],26],[[739,5,[17,[10]]],26],[[740,5,[17,[10]]],26],[[741,5,[17,[10]]],26],[[742,5,[17,[10]]],26],[[743,5,[17,[10]]],26],[[744,5,[17,[10]]],26],[[745,5,[17,[10]]],26],[[746,5,[17,[10]]],26],[[747,5,[17,[10]]],26],[[748,5,[17,[10]]],26],[[749,5,[17,[10]]],26],[[750,5,[17,[10]]],26],[[751,5,[17,[10]]],26],[[752,5,[17,[10]]],26],[[753,5,[17,[10]]],26],[[754,5,[17,[10]]],26],[[755,5,[17,[10]]],26],[[756,5,[17,[10]]],26],[[757,5,[17,[10]]],26],[[758,5,[17,[10]]],26],[[759,5,[17,[10]]],26],[[760,5,[17,[10]]],26],[[761,5,[17,[10]]],26],[[762,5,[17,[10]]],26],[[763,5,[17,[10]]],26],[[764,5,[17,[10]]],26],[[765,5,[17,[10]]],26],[[766,5,[17,[10]]],26],[[767,5,[17,[10]]],26],[[768,5,[17,[10]]],26],[[769,5,[17,[10]]],26],[[770,5,[17,[10]]],26],[[771,5,[17,[10]]],26],[[772,5,[17,[10]]],26],[[773,5,[17,[10]]],26],[[774,5,[17,[10]]],26],[[775,5,[17,[10]]],26],[[776,5,[17,[10]]],26],[[777,5,[17,[10]]],26],[[778,5,[17,[10]]],26],[[779,5,[17,[10]]],26],[[780,5,[17,[10]]],26],[[781,5,[17,[10]]],26],[[782,5,[17,[10]]],26],[[783,5,[17,[10]]],26],0,[[562,-1],16,28],[[563,-1],16,28],[[564,-1],16,28],[[565,-1],16,28],[[566,-1],16,28],[[567,-1],16,28],[[568,-1],16,28],[[569,-1],16,28],[[570,-1],16,28],[[571,-1],16,28],[[572,-1],16,28],[[573,-1],16,28],[[574,-1],16,28],[[575,-1],16,28],[[576,-1],16,28],[[577,-1],16,28],[[578,-1],16,28],[[579,-1],16,28],[[580,-1],16,28],[[581,-1],16,28],[[582,-1],16,28],[[583,-1],16,28],[[584,-1],16,28],[[585,-1],16,28],[[586,-1],16,28],[[587,-1],16,28],[[588,-1],16,28],[[589,-1],16,28],[[590,-1],16,28],[[591,-1],16,28],[[592,-1],16,28],[[593,-1],16,28],[[594,-1],16,28],[[595,-1],16,28],[[596,-1],16,28],[[597,-1],16,28],[[598,-1],16,28],[[599,-1],16,28],[[600,-1],16,28],[[601,-1],16,28],[[602,-1],16,28],[[603,-1],16,28],[[604,-1],16,28],[[605,-1],16,28],[[606,-1],16,28],[[607,-1],16,28],[[608,-1],16,28],[[609,-1],16,28],[[610,-1],16,28],[[611,-1],16,28],[[612,-1],16,28],[[613,-1],16,28],[[614,-1],16,28],[[615,-1],16,28],[[616,-1],16,28],[[617,-1],16,28],[[618,-1],16,28],[[619,-1],16,28],[[620,-1],16,28],[[621,-1],16,28],[[622,-1],16,28],[[623,-1],16,28],[[624,-1],16,28],[[625,-1],16,28],[[626,-1],16,28],[[627,-1],16,28],[[628,-1],16,28],[[629,-1],16,28],[[630,-1],16,28],[[631,-1],16,28],[[632,-1],16,28],[[633,-1],16,28],[[634,-1],16,28],[[635,-1],16,28],[[636,-1],16,28],[[637,-1],16,28],[[638,-1],16,28],[[639,-1],16,28],[[640,-1],16,28],[[641,-1],16,28],[[642,-1],16,28],[[643,-1],16,28],[[644,-1],16,28],[[645,-1],16,28],[[646,-1],16,28],[[647,-1],16,28],[[648,-1],16,28],[[649,-1],16,28],[[650,-1],16,28],[[651,-1],16,28],[[652,-1],16,28],[[653,-1],16,28],[[654,-1],16,28],[[655,-1],16,28],[[656,-1],16,28],[[657,-1],16,28],[[658,-1],16,28],[[659,-1],16,28],[[660,-1],16,28],[[661,-1],16,28],[[662,-1],16,28],[[663,-1],16,28],[[664,-1],16,28],[[665,-1],16,28],[[666,-1],16,28],[[667,-1],16,28],[[668,-1],16,28],[[669,-1],16,28],[[670,-1],16,28],[[671,-1],16,28],[[672,-1],16,28],[[673,-1],16,28],[[674,-1],16,28],[[675,-1],16,28],[[676,-1],16,28],[[677,-1],16,28],[[678,-1],16,28],[[679,-1],16,28],[[680,-1],16,28],[[681,-1],16,28],[[682,-1],16,28],[[683,-1],16,28],[[684,-1],16,28],[[685,-1],16,28],[[686,-1],16,28],[[687,-1],16,28],[[688,-1],16,28],[[689,-1],16,28],[[690,-1],16,28],[[691,-1],16,28],[[692,-1],16,28],[[693,-1],16,28],[[694,-1],16,28],[[695,-1],16,28],[[696,-1],16,28],[[697,-1],16,28],[[698,-1],16,28],[[699,-1],16,28],[[700,-1],16,28],[[701,-1],16,28],[[702,-1],16,28],[[703,-1],16,28],[[704,-1],16,28],[[705,-1],16,28],[[706,-1],16,28],[[707,-1],16,28],[[708,-1],16,28],[[709,-1],16,28],[[710,-1],16,28],[[711,-1],16,28],[[712,-1],16,28],[[713,-1],16,28],[[714,-1],16,28],[[715,-1],16,28],[[716,-1],16,28],[[717,-1],16,28],[[718,-1],16,28],[[719,-1],16,28],[[720,-1],16,28],[[721,-1],16,28],[[722,-1],16,28],[[723,-1],16,28],[[724,-1],16,28],[[725,-1],16,28],[[726,-1],16,28],[[727,-1],16,28],[[728,-1],16,28],[[729,-1],16,28],[[730,-1],16,28],[[731,-1],16,28],[[732,-1],16,28],[[733,-1],16,28],[[734,-1],16,28],[[735,-1],16,28],[[736,-1],16,28],[[737,-1],16,28],[[738,-1],16,28],[[739,-1],16,28],[[740,-1],16,28],[[741,-1],16,28],[[742,-1],16,28],[[743,-1],16,28],[[744,-1],16,28],[[745,-1],16,28],[[746,-1],16,28],[[747,-1],16,28],[[748,-1],16,28],[[749,-1],16,28],[[750,-1],16,28],[[751,-1],16,28],[[752,-1],16,28],[[753,-1],16,28],[[754,-1],16,28],[[755,-1],16,28],[[756,-1],16,28],[[757,-1],16,28],[[758,-1],16,28],[[759,-1],16,28],[[760,-1],16,28],[[761,-1],16,28],[[762,-1],16,28],[[763,-1],16,28],[[764,-1],16,28],[[765,-1],16,28],[[766,-1],16,28],[[767,-1],16,28],[[768,-1],16,28],[[769,-1],16,28],[[770,-1],16,28],[[771,-1],16,28],[[772,-1],16,28],[[773,-1],16,28],[[774,-1],16,28],[[775,-1],16,28],[[776,-1],16,28],[[777,-1],16,28],[[778,-1],16,28],[[779,-1],16,28],[[780,-1],16,28],[[781,-1],16,28],[[782,-1],16,28],[[783,-1],16,28],[[784,-1],16,28],[[537,-1],16,28],[[785,-1],16,28],[[786,-1],16,28],[[787,-1],16,28],[[788,-1],16,28],[[789,-1],16,28],[[790,-1],16,28],[[791,-1],16,28],[[792,-1],16,28],[[793,-1],16,28],[[794,-1],16,28],[[795,-1],16,28],[[796,-1],16,28],[[797,-1],16,28],[[798,-1],16,28],[[799,-1],16,28],[[800,-1],16,28],[[801,-1],16,28],[[802,-1],16,28],[[803,-1],16,28],[[804,-1],16,28],[[805,-1],16,28],[[538,-1],16,28],[[806,-1],16,28],[[807,-1],16,28],[[808,-1],16,28],[[539,-1],16,28],[[809,-1],16,28],[[540,-1],16,28],[[810,-1],16,28],[[811,-1],16,28],[[812,-1],16,28],[[813,-1],16,28],[[814,-1],16,28],[[815,-1],16,28],[[541,-1],16,28],[[816,-1],16,28],[[817,-1],16,28],[[818,-1],16,28],[[542,-1],16,28],[[819,-1],16,28],[[820,-1],16,28],[[821,-1],16,28],[[822,-1],16,28],[[823,-1],16,28],[[824,-1],16,28],[[543,-1],16,28],[[825,-1],16,28],[[826,-1],16,28],[[827,-1],16,28],[[828,-1],16,28],[[829,-1],16,28],[[830,-1],16,28],[[831,-1],16,28],[[832,-1],16,28],[[833,-1],16,28],[[544,-1],16,28],[[834,-1],16,28],[[835,-1],16,28],[[836,-1],16,28],[[837,-1],16,28],[[838,-1],16,28],[[839,-1],16,28],[[840,-1],16,28],[[841,-1],16,28],[[842,-1],16,28],[[843,-1],16,28],[[844,-1],16,28],[[845,-1],16,28],[[545,-1],16,28],[[846,-1],16,28],[[546,-1],16,28],[[847,-1],16,28],[[848,-1],16,28],[[849,-1],16,28],[[850,-1],16,28],[[851,-1],16,28],[[852,-1],16,28],[[547,-1],16,28],[[853,-1],16,28],[[854,-1],16,28],[[548,-1],16,28],[[855,-1],16,28],[[856,-1],16,28],[[857,-1],16,28],[[549,-1],16,28],[[550,-1],16,28],[[551,-1],16,28],[[858,-1],16,28],[[859,-1],16,28],[[860,-1],16,28],[[861,-1],16,28],[[862,-1],16,28],[[863,-1],16,28],[[864,-1],16,28],[[865,-1],16,28],[[552,-1],16,28],[[553,-1],16,28],[[866,-1],16,28],[[554,-1],16,28],[[867,-1],16,28],[[555,-1],16,28],[[868,-1],16,28],[[869,-1],16,28],[[870,-1],16,28],[[556,-1],16,28],[[871,-1],16,28],[[872,-1],16,28],[[873,-1],16,28],[[874,-1],16,28],[[875,-1],16,28],[[876,-1],16,28],[[877,-1],16,28],[[878,-1],16,28],[[879,-1],16,28],[[880,-1],16,28],[[881,-1],16,28],[[882,-1],16,28],[[557,-1],16,28],[[883,-1],16,28],[[884,-1],16,28],[[885,-1],16,28],[[886,-1],16,28],[[887,-1],16,28],[[558,-1],16,28],[[559,-1],16,28],[[888,-1],16,28],[[889,-1],16,28],[[890,-1],16,28],[[891,-1],16,28],[[560,-1],16,28],[[561,-1],16,28],[[892,-1],16,28],[[893,-1],16,28],[[894,-1],16,28],[[895,-1],16,28],0,0,0,0,0,0,0,0,[[537,537,20],9],[[538,538,20],9],[[539,539,20],9],[[540,540,20],9],[[541,541,20],9],[[542,542,20],9],[[543,543,20],9],[[544,544,20],9],[[545,545,20],9],[[546,546,20],9],[[547,547,20],9],[[548,548,20],9],[[549,549,20],9],[[550,550,20],9],[[551,551,20],9],[[552,552,20],9],[[553,553,20],9],[[554,554,20],9],[[555,555,20],9],[[556,556,20],9],[[557,557,20],9],[[558,558,20],9],[[559,559,20],9],[[560,560,20],9],[[561,561,20],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],0,0,0,0,0,[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[784,[[526,[527]]]],[785,[[526,[527]]]],[786,[[526,[527]]]],[787,[[526,[527]]]],[788,[[526,[527]]]],[789,[[526,[527]]]],[790,[[526,[527]]]],[791,[[526,[527]]]],[792,[[526,[527]]]],[793,[[526,[527]]]],[794,[[526,[527]]]],[795,[[526,[527]]]],[796,[[526,[527]]]],[797,[[526,[527]]]],[798,[[526,[527]]]],[799,[[526,[527]]]],[800,[[526,[527]]]],[801,[[526,[527]]]],[802,[[526,[527]]]],[803,[[526,[527]]]],[804,[[526,[527]]]],[805,[[526,[527]]]],[806,[[526,[527]]]],[807,[[526,[527]]]],[808,[[526,[527]]]],[809,[[526,[527]]]],[810,[[526,[527]]]],[811,[[526,[527]]]],[812,[[526,[527]]]],[813,[[526,[527]]]],[814,[[526,[527]]]],[815,[[526,[527]]]],[816,[[526,[527]]]],[817,[[526,[527]]]],[818,[[526,[527]]]],[819,[[526,[527]]]],[820,[[526,[527]]]],[821,[[526,[527]]]],[822,[[526,[527]]]],[823,[[526,[527]]]],[824,[[526,[527]]]],[825,[[526,[527]]]],[826,[[526,[527]]]],[827,[[526,[527]]]],[828,[[526,[527]]]],[829,[[526,[527]]]],[830,[[526,[527]]]],[831,[[526,[527]]]],[832,[[526,[527]]]],[833,[[526,[527]]]],[834,[[526,[527]]]],[835,[[526,[527]]]],[836,[[526,[527]]]],[837,[[526,[527]]]],[838,[[526,[527]]]],[839,[[526,[527]]]],[840,[[526,[527]]]],[841,[[526,[527]]]],[842,[[526,[527]]]],[843,[[526,[527]]]],[844,[[526,[527]]]],[845,[[526,[527]]]],[846,[[526,[527]]]],[847,[[526,[527]]]],[848,[[526,[527]]]],[849,[[526,[527]]]],[850,[[526,[527]]]],[851,[[526,[527]]]],[852,[[526,[527]]]],[853,[[526,[527]]]],[854,[[526,[527]]]],[855,[[526,[527]]]],[856,[[526,[527]]]],[857,[[526,[527]]]],[858,[[526,[527]]]],[859,[[526,[527]]]],[860,[[526,[527]]]],[861,[[526,[527]]]],[862,[[526,[527]]]],[863,[[526,[527]]]],[864,[[526,[527]]]],[865,[[526,[527]]]],[866,[[526,[527]]]],[867,[[526,[527]]]],[868,[[526,[527]]]],[869,[[526,[527]]]],[870,[[526,[527]]]],[871,[[526,[527]]]],[872,[[526,[527]]]],[873,[[526,[527]]]],[874,[[526,[527]]]],[875,[[526,[527]]]],[876,[[526,[527]]]],[877,[[526,[527]]]],[878,[[526,[527]]]],[879,[[526,[527]]]],[880,[[526,[527]]]],[881,[[526,[527]]]],[882,[[526,[527]]]],[883,[[526,[527]]]],[884,[[526,[527]]]],[885,[[526,[527]]]],[886,[[526,[527]]]],[887,[[526,[527]]]],[888,[[526,[527]]]],[889,[[526,[527]]]],[890,[[526,[527]]]],[891,[[526,[527]]]],[892,[[526,[527]]]],[893,[[526,[527]]]],[894,[[526,[527]]]],[895,[[526,[527]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[784,[[526,[65]]]],[785,[[526,[65]]]],[786,[[526,[65]]]],[787,[[526,[65]]]],[788,[[526,[65]]]],[789,[[526,[65]]]],[790,[[526,[65]]]],[791,[[526,[65]]]],[792,[[526,[65]]]],[793,[[526,[65]]]],[794,[[526,[65]]]],[795,[[526,[65]]]],[796,[[526,[65]]]],[797,[[526,[65]]]],[798,[[526,[65]]]],[799,[[526,[65]]]],[800,[[526,[65]]]],[801,[[526,[65]]]],[802,[[526,[65]]]],[803,[[526,[65]]]],[804,[[526,[65]]]],[805,[[526,[65]]]],[806,[[526,[65]]]],[807,[[526,[65]]]],[808,[[526,[65]]]],[809,[[526,[65]]]],[810,[[526,[65]]]],[811,[[526,[65]]]],[812,[[526,[65]]]],[813,[[526,[65]]]],[814,[[526,[65]]]],[815,[[526,[65]]]],[816,[[526,[65]]]],[817,[[526,[65]]]],[818,[[526,[65]]]],[819,[[526,[65]]]],[820,[[526,[65]]]],[821,[[526,[65]]]],[822,[[526,[65]]]],[823,[[526,[65]]]],[824,[[526,[65]]]],[825,[[526,[65]]]],[826,[[526,[65]]]],[827,[[526,[65]]]],[828,[[526,[65]]]],[829,[[526,[65]]]],[830,[[526,[65]]]],[831,[[526,[65]]]],[832,[[526,[65]]]],[833,[[526,[65]]]],[834,[[526,[65]]]],[835,[[526,[65]]]],[836,[[526,[65]]]],[837,[[526,[65]]]],[838,[[526,[65]]]],[839,[[526,[65]]]],[840,[[526,[65]]]],[841,[[526,[65]]]],[842,[[526,[65]]]],[843,[[526,[65]]]],[844,[[526,[65]]]],[845,[[526,[65]]]],[846,[[526,[65]]]],[847,[[526,[65]]]],[848,[[526,[65]]]],[849,[[526,[65]]]],[850,[[526,[65]]]],[851,[[526,[65]]]],[852,[[526,[65]]]],[853,[[526,[65]]]],[854,[[526,[65]]]],[855,[[526,[65]]]],[856,[[526,[65]]]],[857,[[526,[65]]]],[858,[[526,[65]]]],[859,[[526,[65]]]],[860,[[526,[65]]]],[861,[[526,[65]]]],[862,[[526,[65]]]],[863,[[526,[65]]]],[864,[[526,[65]]]],[865,[[526,[65]]]],[866,[[526,[65]]]],[867,[[526,[65]]]],[868,[[526,[65]]]],[869,[[526,[65]]]],[870,[[526,[65]]]],[871,[[526,[65]]]],[872,[[526,[65]]]],[873,[[526,[65]]]],[874,[[526,[65]]]],[875,[[526,[65]]]],[876,[[526,[65]]]],[877,[[526,[65]]]],[878,[[526,[65]]]],[879,[[526,[65]]]],[880,[[526,[65]]]],[881,[[526,[65]]]],[882,[[526,[65]]]],[883,[[526,[65]]]],[884,[[526,[65]]]],[885,[[526,[65]]]],[886,[[526,[65]]]],[887,[[526,[65]]]],[888,[[526,[65]]]],[889,[[526,[65]]]],[890,[[526,[65]]]],[891,[[526,[65]]]],[892,[[526,[65]]]],[893,[[526,[65]]]],[894,[[526,[65]]]],[895,[[526,[65]]]],[[537,537],9],[[538,538],9],[[539,539],9],[[540,540],9],[[541,541],9],[[542,542],9],[[543,543],9],[[544,544],9],[[545,545],9],[[546,546],9],[[547,547],9],[[548,548],9],[[549,549],9],[[550,550],9],[[551,551],9],[[552,552],9],[[553,553],9],[[554,554],9],[[555,555],9],[[556,556],9],[[557,557],9],[[558,558],9],[[559,559],9],[[560,560],9],[[561,561],9],0,0,0,0,0,0,0,0,[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],0,0,0,0,0,0,0,0,0,0,0,[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],0,0,0,0,0,0,0,0,0,0,0,[[537,537],537],[[538,538],538],[[539,539],539],[[540,540],540],[[541,541],541],[[542,542],542],[[543,543],543],[[544,544],544],[[545,545],545],[[546,546],546],[[547,547],547],[[548,548],548],[[549,549],549],[[550,550],550],[[551,551],551],[[552,552],552],[[553,553],553],[[554,554],554],[[555,555],555],[[556,556],556],[[557,557],557],[[558,558],558],[[559,559],559],[[560,560],560],[[561,561],561],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[18,21],22],[[18,21],22],[[24,21],22],[[24,21],22],[[27,21],22],[[27,21],22],[-1,-1,[]],[896,24],[-1,-1,[]],[18,24],[896,27],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,897,[]],[-1,897,[]],[-1,897,[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[898,898],[899,899],[900,900],[901,901],[902,902],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[],899],[[],900],[[],901],[[],902],[15,[[16,[898,11]]]],[[5,[17,[10]]],[[16,[899,18]]]],[[5,[17,[10]]],[[16,[900,18]]]],[-1,[[16,[898]]],19],[-1,[[16,[899]]],19],[-1,[[16,[900]]],19],[-1,[[16,[901]]],19],[-1,[[16,[902]]],19],[[898,898],20],[[899,899],20],[[900,900],20],[[901,901],20],[[902,902],20],[15,10],[[898,21],22],[[899,21],22],[[900,21],22],[[901,21],22],[[902,21],22],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[527,[[526,[901]]]],[527,[[526,[902]]]],[65,[[526,[901]]]],[65,[[526,[902]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[898,15],[11,[[16,[15,11]]]],[898,11],0,0,0,0,0,0,[[5,15,[17,[10]]],[[16,[898,18]]]],[[898,5,[17,[10]]],26],[[899,5,[17,[10]]],26],[[900,5,[17,[10]]],26],[[898,-1],16,28],[[899,-1],16,28],[[900,-1],16,28],[[901,-1],16,28],[[902,-1],16,28],0,[901,[[526,[527]]]],[902,[[526,[527]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[901,[[526,[65]]]],[902,[[526,[65]]]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],0,0,0,0,0,[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],903],[[],904],[[],905],[[],906],[[],907],[[],908],[[],909],[[],910],[[],911],[[],912],[[],913],[[],914],[[],915],[[],916],[[],917],[[],918],[[],919],[[],920],[[],921],[[],922],[[],923],[[],924],[[],925],[[],926],[[],927],[[],928],[[],929],[[],930],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],0,0,[903,10],[904,15],[905,2],[906,65],[907,2],[908,15],[909,10],[910,15],[911,10],[912,10],[913,2],[914,2],[915,10],[916,2],[917,2],[918,15],[919,65],[920,10],[921,2],[922,15],[923,15],[924,2],[925,10],[926,2],[927,2],[928,15],[929,2],[930,2],[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[931,931],[932,932],[933,933],[934,934],[935,935],[936,936],[937,937],[938,938],[939,939],[940,940],[941,941],[942,942],[943,943],[944,944],[945,945],[946,946],[947,947],[948,948],[949,949],[950,950],[951,951],[952,952],[953,953],[954,954],[955,955],[956,956],[957,957],[958,958],[959,959],[960,960],[961,961],[962,962],[963,963],[964,964],[965,965],[966,966],[967,967],[968,968],[969,969],[970,970],[971,971],[972,972],[973,973],[974,974],[975,975],[976,976],[977,977],[978,978],[979,979],[980,980],[981,981],[982,982],[983,983],[984,984],[985,985],[986,986],[987,987],[988,988],[989,989],[990,990],[991,991],[992,992],[993,993],[994,994],[995,995],[996,996],[997,997],[998,998],[999,999],[1000,1000],[1001,1001],[1002,1002],[1003,1003],[1004,1004],[1005,1005],[1006,1006],[1007,1007],[1008,1008],[1009,1009],[1010,1010],[1011,1011],[1012,1012],[1013,1013],[1014,1014],[1015,1015],[1016,1016],[1017,1017],[1018,1018],[1019,1019],[1020,1020],[1021,1021],[1022,1022],[1023,1023],[1024,1024],[1025,1025],[1026,1026],[1027,1027],[1028,1028],[1029,1029],[1030,1030],[1031,1031],[1032,1032],[1033,1033],[1034,1034],[1035,1035],[1036,1036],[1037,1037],[1038,1038],[1039,1039],[1040,1040],[1041,1041],[1042,1042],[1043,1043],[1044,1044],[1045,1045],[1046,1046],[1047,1047],[1048,1048],[1049,1049],[1050,1050],[1051,1051],[1052,1052],[1053,1053],[1054,1054],[1055,1055],[1056,1056],[1057,1057],[1058,1058],[1059,1059],[1060,1060],[1061,1061],[1062,1062],[1063,1063],[1064,1064],[1065,1065],[1066,1066],[1067,1067],[1068,1068],[1069,1069],[1070,1070],[1071,1071],[1072,1072],[1073,1073],[1074,1074],[1075,1075],[1076,1076],[1077,1077],[1078,1078],[1079,1079],[1080,1080],[1081,1081],[1082,1082],[1083,1083],[1084,1084],[1085,1085],[1086,1086],[1087,1087],[1088,1088],[1089,1089],[1090,1090],[1091,1091],[1092,1092],[1093,1093],[1094,1094],[1095,1095],[1096,1096],[1097,1097],[1098,1098],[1099,1099],[1100,1100],[1101,1101],[1102,1102],[1103,1103],[1104,1104],[1105,1105],[1106,1106],[1107,1107],[1108,1108],[1109,1109],[1110,1110],[1111,1111],[1112,1112],[1113,1113],[1114,1114],[1115,1115],[1116,1116],[1117,1117],[1118,1118],[1119,1119],[1120,1120],[1121,1121],[1122,1122],[1123,1123],[1124,1124],[1125,1125],[1126,1126],[1127,1127],[1128,1128],[1129,1129],[1130,1130],[1131,1131],[1132,1132],[1133,1133],[1134,1134],[1135,1135],[1136,1136],[1137,1137],[1138,1138],[1139,1139],[1140,1140],[1141,1141],[1142,1142],[1143,1143],[1144,1144],[1145,1145],[1146,1146],[1147,1147],[1148,1148],[1149,1149],[1150,1150],[1151,1151],[1152,1152],[1153,1153],[1154,1154],[1155,1155],[1156,1156],[1157,1157],[903,903],[904,904],[1158,1158],[1159,1159],[1160,1160],[1161,1161],[1162,1162],[1163,1163],[1164,1164],[905,905],[1165,1165],[1166,1166],[1167,1167],[1168,1168],[906,906],[1169,1169],[907,907],[908,908],[909,909],[1170,1170],[1171,1171],[910,910],[1172,1172],[1173,1173],[1174,1174],[1175,1175],[911,911],[1176,1176],[912,912],[1177,1177],[1178,1178],[1179,1179],[1180,1180],[1181,1181],[913,913],[1182,1182],[1183,1183],[1184,1184],[1185,1185],[1186,1186],[1187,1187],[1188,1188],[1189,1189],[1190,1190],[1191,1191],[914,914],[1192,1192],[1193,1193],[1194,1194],[1195,1195],[1196,1196],[1197,1197],[915,915],[1198,1198],[916,916],[1199,1199],[917,917],[1200,1200],[1201,1201],[1202,1202],[1203,1203],[1204,1204],[1205,1205],[1206,1206],[1207,1207],[1208,1208],[1209,1209],[1210,1210],[1211,1211],[1212,1212],[918,918],[1213,1213],[1214,1214],[1215,1215],[1216,1216],[1217,1217],[919,919],[1218,1218],[1219,1219],[1220,1220],[1221,1221],[1222,1222],[1223,1223],[1224,1224],[1225,1225],[1226,1226],[920,920],[1227,1227],[1228,1228],[1229,1229],[1230,1230],[1231,1231],[1232,1232],[921,921],[1233,1233],[1234,1234],[1235,1235],[1236,1236],[1237,1237],[922,922],[923,923],[1238,1238],[1239,1239],[1240,1240],[1241,1241],[1242,1242],[1243,1243],[1244,1244],[924,924],[925,925],[1245,1245],[1246,1246],[1247,1247],[1248,1248],[1249,1249],[1250,1250],[1251,1251],[926,926],[1252,1252],[1253,1253],[927,927],[1254,1254],[1255,1255],[1256,1256],[1257,1257],[1258,1258],[1259,1259],[1260,1260],[1261,1261],[1262,1262],[1263,1263],[1264,1264],[1265,1265],[928,928],[1266,1266],[1267,1267],[1268,1268],[929,929],[930,930],[1269,1269],[1270,1270],[1271,1271],[1272,1272],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[903,903],524],[[904,904],524],[[905,905],524],[[906,906],524],[[907,907],524],[[908,908],524],[[909,909],524],[[910,910],524],[[911,911],524],[[912,912],524],[[913,913],524],[[914,914],524],[[915,915],524],[[916,916],524],[[917,917],524],[[918,918],524],[[919,919],524],[[920,920],524],[[921,921],524],[[922,922],524],[[923,923],524],[[924,924],524],[[925,925],524],[[926,926],524],[[927,927],524],[[928,928],524],[[929,929],524],[[930,930],524],0,0,0,0,0,0,0,0,0,0,0,0,[903,903],[904,904],[905,905],[906,906],[907,907],[908,908],[909,909],[910,910],[911,911],[912,912],[913,913],[914,914],[915,915],[916,916],[917,917],[918,918],[919,919],[920,920],[921,921],[922,922],[923,923],[924,924],[925,925],[926,926],[927,927],[928,928],[929,929],[930,930],0,0,[[903,903],20],[[904,904],20],[[905,905],20],[[906,906],20],[[907,907],20],[[908,908],20],[[909,909],20],[[910,910],20],[[911,911],20],[[912,912],20],[[913,913],20],[[914,914],20],[[915,915],20],[[916,916],20],[[917,917],20],[[918,918],20],[[919,919],20],[[920,920],20],[[921,921],20],[[922,922],20],[[923,923],20],[[924,924],20],[[925,925],20],[[926,926],20],[[927,927],20],[[928,928],20],[[929,929],20],[[930,930],20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],932],[[],933],[[],934],[[],935],[[],936],[[],937],[[],938],[[],939],[[],940],[[],941],[[],942],[[],943],[[],944],[[],945],[[],946],[[],947],[[],948],[[],949],[[],950],[[],951],[[],952],[[],953],[[],954],[[],955],[[],956],[[],957],[[],958],[[],959],[[],960],[[],961],[[],962],[[],963],[[],964],[[],965],[[],966],[[],967],[[],968],[[],969],[[],970],[[],971],[[],972],[[],973],[[],974],[[],975],[[],976],[[],977],[[],978],[[],979],[[],980],[[],981],[[],982],[[],983],[[],984],[[],985],[[],986],[[],987],[[],988],[[],989],[[],990],[[],991],[[],992],[[],993],[[],994],[[],995],[[],996],[[],997],[[],998],[[],999],[[],1000],[[],1001],[[],1002],[[],1003],[[],1004],[[],1005],[[],1006],[[],1007],[[],1008],[[],1009],[[],1010],[[],1011],[[],1012],[[],1013],[[],1014],[[],1015],[[],1016],[[],1017],[[],1018],[[],1019],[[],1020],[[],1021],[[],1022],[[],1023],[[],1024],[[],1025],[[],1026],[[],1027],[[],1028],[[],1029],[[],1030],[[],1031],[[],1032],[[],1033],[[],1034],[[],1035],[[],1036],[[],1037],[[],1038],[[],1039],[[],1040],[[],1041],[[],1042],[[],1043],[[],1044],[[],1045],[[],1046],[[],1047],[[],1048],[[],1049],[[],1050],[[],1051],[[],1052],[[],1053],[[],1054],[[],1055],[[],1056],[[],1057],[[],1058],[[],1059],[[],1060],[[],1061],[[],1062],[[],1063],[[],1064],[[],1065],[[],1066],[[],1067],[[],1068],[[],1069],[[],1070],[[],1071],[[],1072],[[],1073],[[],1074],[[],1075],[[],1076],[[],1077],[[],1078],[[],1079],[[],1080],[[],1081],[[],1082],[[],1083],[[],1084],[[],1085],[[],1086],[[],1087],[[],1088],[[],1089],[[],1090],[[],1091],[[],1092],[[],1093],[[],1094],[[],1095],[[],1096],[[],1097],[[],1098],[[],1099],[[],1100],[[],1101],[[],1102],[[],1103],[[],1104],[[],1105],[[],1106],[[],1107],[[],1108],[[],1109],[[],1110],[[],1111],[[],1112],[[],1113],[[],1114],[[],1115],[[],1116],[[],1117],[[],1118],[[],1119],[[],1120],[[],1121],[[],1122],[[],1123],[[],1124],[[],1125],[[],1126],[[],1127],[[],1128],[[],1129],[[],1130],[[],1131],[[],1132],[[],1133],[[],1134],[[],1135],[[],1136],[[],1137],[[],1138],[[],1139],[[],1140],[[],1141],[[],1142],[[],1143],[[],1144],[[],1145],[[],1146],[[],1147],[[],1148],[[],1149],[[],1150],[[],1151],[[],1152],[[],1153],[[],1154],[[],1155],[[],1156],[[],1157],[[],903],[[],904],[[],1158],[[],1159],[[],1160],[[],1161],[[],1162],[[],1163],[[],1164],[[],905],[[],1165],[[],1166],[[],1167],[[],1168],[[],906],[[],1169],[[],907],[[],908],[[],909],[[],1170],[[],1171],[[],910],[[],1172],[[],1173],[[],1174],[[],1175],[[],911],[[],1176],[[],912],[[],1177],[[],1178],[[],1179],[[],1180],[[],1181],[[],913],[[],1182],[[],1183],[[],1184],[[],1185],[[],1186],[[],1187],[[],1188],[[],1189],[[],1190],[[],1191],[[],914],[[],1192],[[],1193],[[],1194],[[],1195],[[],1196],[[],1197],[[],915],[[],1198],[[],916],[[],1199],[[],917],[[],1200],[[],1201],[[],1202],[[],1203],[[],1204],[[],1205],[[],1206],[[],1207],[[],1208],[[],1209],[[],1210],[[],1211],[[],1212],[[],918],[[],1213],[[],1214],[[],1215],[[],1216],[[],1217],[[],919],[[],1218],[[],1219],[[],1220],[[],1221],[[],1222],[[],1223],[[],1224],[[],1225],[[],1226],[[],920],[[],1227],[[],1228],[[],1229],[[],1230],[[],1231],[[],1232],[[],921],[[],1233],[[],1234],[[],1235],[[],1236],[[],1237],[[],922],[[],923],[[],1238],[[],1239],[[],1240],[[],1241],[[],1242],[[],1243],[[],1244],[[],924],[[],925],[[],1245],[[],1246],[[],1247],[[],1248],[[],1249],[[],1250],[[],1251],[[],926],[[],1252],[[],1253],[[],927],[[],1254],[[],1255],[[],1256],[[],1257],[[],1258],[[],1259],[[],1260],[[],1261],[[],1262],[[],1263],[[],1264],[[],1265],[[],928],[[],1266],[[],1267],[[],1268],[[],929],[[],930],[[],1269],[[],1270],[[],1271],[[],1272],[15,[[16,[931,11]]]],0,0,0,[[5,[17,[10]]],[[16,[932,18]]]],[[5,[17,[10]]],[[16,[933,18]]]],[[5,[17,[10]]],[[16,[934,18]]]],[[5,[17,[10]]],[[16,[935,18]]]],[[5,[17,[10]]],[[16,[936,18]]]],[[5,[17,[10]]],[[16,[937,18]]]],[[5,[17,[10]]],[[16,[938,18]]]],[[5,[17,[10]]],[[16,[939,18]]]],[[5,[17,[10]]],[[16,[940,18]]]],[[5,[17,[10]]],[[16,[941,18]]]],[[5,[17,[10]]],[[16,[942,18]]]],[[5,[17,[10]]],[[16,[943,18]]]],[[5,[17,[10]]],[[16,[944,18]]]],[[5,[17,[10]]],[[16,[945,18]]]],[[5,[17,[10]]],[[16,[946,18]]]],[[5,[17,[10]]],[[16,[947,18]]]],[[5,[17,[10]]],[[16,[948,18]]]],[[5,[17,[10]]],[[16,[949,18]]]],[[5,[17,[10]]],[[16,[950,18]]]],[[5,[17,[10]]],[[16,[951,18]]]],[[5,[17,[10]]],[[16,[952,18]]]],[[5,[17,[10]]],[[16,[953,18]]]],[[5,[17,[10]]],[[16,[954,18]]]],[[5,[17,[10]]],[[16,[955,18]]]],[[5,[17,[10]]],[[16,[956,18]]]],[[5,[17,[10]]],[[16,[957,18]]]],[[5,[17,[10]]],[[16,[958,18]]]],[[5,[17,[10]]],[[16,[959,18]]]],[[5,[17,[10]]],[[16,[960,18]]]],[[5,[17,[10]]],[[16,[961,18]]]],[[5,[17,[10]]],[[16,[962,18]]]],[[5,[17,[10]]],[[16,[963,18]]]],[[5,[17,[10]]],[[16,[964,18]]]],[[5,[17,[10]]],[[16,[965,18]]]],[[5,[17,[10]]],[[16,[966,18]]]],[[5,[17,[10]]],[[16,[967,18]]]],[[5,[17,[10]]],[[16,[968,18]]]],[[5,[17,[10]]],[[16,[969,18]]]],[[5,[17,[10]]],[[16,[970,18]]]],[[5,[17,[10]]],[[16,[971,18]]]],[[5,[17,[10]]],[[16,[972,18]]]],[[5,[17,[10]]],[[16,[973,18]]]],[[5,[17,[10]]],[[16,[974,18]]]],[[5,[17,[10]]],[[16,[975,18]]]],[[5,[17,[10]]],[[16,[976,18]]]],[[5,[17,[10]]],[[16,[977,18]]]],[[5,[17,[10]]],[[16,[978,18]]]],[[5,[17,[10]]],[[16,[979,18]]]],[[5,[17,[10]]],[[16,[980,18]]]],[[5,[17,[10]]],[[16,[981,18]]]],[[5,[17,[10]]],[[16,[982,18]]]],[[5,[17,[10]]],[[16,[983,18]]]],[[5,[17,[10]]],[[16,[984,18]]]],[[5,[17,[10]]],[[16,[985,18]]]],[[5,[17,[10]]],[[16,[986,18]]]],[[5,[17,[10]]],[[16,[987,18]]]],[[5,[17,[10]]],[[16,[988,18]]]],[[5,[17,[10]]],[[16,[989,18]]]],[[5,[17,[10]]],[[16,[990,18]]]],[[5,[17,[10]]],[[16,[991,18]]]],[[5,[17,[10]]],[[16,[992,18]]]],[[5,[17,[10]]],[[16,[993,18]]]],[[5,[17,[10]]],[[16,[994,18]]]],[[5,[17,[10]]],[[16,[995,18]]]],[[5,[17,[10]]],[[16,[996,18]]]],[[5,[17,[10]]],[[16,[997,18]]]],[[5,[17,[10]]],[[16,[998,18]]]],[[5,[17,[10]]],[[16,[999,18]]]],[[5,[17,[10]]],[[16,[1000,18]]]],[[5,[17,[10]]],[[16,[1001,18]]]],[[5,[17,[10]]],[[16,[1002,18]]]],[[5,[17,[10]]],[[16,[1003,18]]]],[[5,[17,[10]]],[[16,[1004,18]]]],[[5,[17,[10]]],[[16,[1005,18]]]],[[5,[17,[10]]],[[16,[1006,18]]]],[[5,[17,[10]]],[[16,[1007,18]]]],[[5,[17,[10]]],[[16,[1008,18]]]],[[5,[17,[10]]],[[16,[1009,18]]]],[[5,[17,[10]]],[[16,[1010,18]]]],[[5,[17,[10]]],[[16,[1011,18]]]],[[5,[17,[10]]],[[16,[1012,18]]]],[[5,[17,[10]]],[[16,[1013,18]]]],[[5,[17,[10]]],[[16,[1014,18]]]],[[5,[17,[10]]],[[16,[1015,18]]]],[[5,[17,[10]]],[[16,[1016,18]]]],[[5,[17,[10]]],[[16,[1017,18]]]],[[5,[17,[10]]],[[16,[1018,18]]]],[[5,[17,[10]]],[[16,[1019,18]]]],[[5,[17,[10]]],[[16,[1020,18]]]],[[5,[17,[10]]],[[16,[1021,18]]]],[[5,[17,[10]]],[[16,[1022,18]]]],[[5,[17,[10]]],[[16,[1023,18]]]],[[5,[17,[10]]],[[16,[1024,18]]]],[[5,[17,[10]]],[[16,[1025,18]]]],[[5,[17,[10]]],[[16,[1026,18]]]],[[5,[17,[10]]],[[16,[1027,18]]]],[[5,[17,[10]]],[[16,[1028,18]]]],[[5,[17,[10]]],[[16,[1029,18]]]],[[5,[17,[10]]],[[16,[1030,18]]]],[[5,[17,[10]]],[[16,[1031,18]]]],[[5,[17,[10]]],[[16,[1032,18]]]],[[5,[17,[10]]],[[16,[1033,18]]]],[[5,[17,[10]]],[[16,[1034,18]]]],[[5,[17,[10]]],[[16,[1035,18]]]],[[5,[17,[10]]],[[16,[1036,18]]]],[[5,[17,[10]]],[[16,[1037,18]]]],[[5,[17,[10]]],[[16,[1038,18]]]],[[5,[17,[10]]],[[16,[1039,18]]]],[[5,[17,[10]]],[[16,[1040,18]]]],[[5,[17,[10]]],[[16,[1041,18]]]],[[5,[17,[10]]],[[16,[1042,18]]]],[[5,[17,[10]]],[[16,[1043,18]]]],[[5,[17,[10]]],[[16,[1044,18]]]],[[5,[17,[10]]],[[16,[1045,18]]]],[[5,[17,[10]]],[[16,[1046,18]]]],[[5,[17,[10]]],[[16,[1047,18]]]],[[5,[17,[10]]],[[16,[1048,18]]]],[[5,[17,[10]]],[[16,[1049,18]]]],[[5,[17,[10]]],[[16,[1050,18]]]],[[5,[17,[10]]],[[16,[1051,18]]]],[[5,[17,[10]]],[[16,[1052,18]]]],[[5,[17,[10]]],[[16,[1053,18]]]],[[5,[17,[10]]],[[16,[1054,18]]]],[[5,[17,[10]]],[[16,[1055,18]]]],[[5,[17,[10]]],[[16,[1056,18]]]],[[5,[17,[10]]],[[16,[1057,18]]]],[[5,[17,[10]]],[[16,[1058,18]]]],[[5,[17,[10]]],[[16,[1059,18]]]],[[5,[17,[10]]],[[16,[1060,18]]]],[[5,[17,[10]]],[[16,[1061,18]]]],[[5,[17,[10]]],[[16,[1062,18]]]],[[5,[17,[10]]],[[16,[1063,18]]]],[[5,[17,[10]]],[[16,[1064,18]]]],[[5,[17,[10]]],[[16,[1065,18]]]],[[5,[17,[10]]],[[16,[1066,18]]]],[[5,[17,[10]]],[[16,[1067,18]]]],[[5,[17,[10]]],[[16,[1068,18]]]],[[5,[17,[10]]],[[16,[1069,18]]]],[[5,[17,[10]]],[[16,[1070,18]]]],[[5,[17,[10]]],[[16,[1071,18]]]],[[5,[17,[10]]],[[16,[1072,18]]]],[[5,[17,[10]]],[[16,[1073,18]]]],[[5,[17,[10]]],[[16,[1074,18]]]],[[5,[17,[10]]],[[16,[1075,18]]]],[[5,[17,[10]]],[[16,[1076,18]]]],[[5,[17,[10]]],[[16,[1077,18]]]],[[5,[17,[10]]],[[16,[1078,18]]]],[[5,[17,[10]]],[[16,[1079,18]]]],[[5,[17,[10]]],[[16,[1080,18]]]],[[5,[17,[10]]],[[16,[1081,18]]]],[[5,[17,[10]]],[[16,[1082,18]]]],[[5,[17,[10]]],[[16,[1083,18]]]],[[5,[17,[10]]],[[16,[1084,18]]]],[[5,[17,[10]]],[[16,[1085,18]]]],[[5,[17,[10]]],[[16,[1086,18]]]],[[5,[17,[10]]],[[16,[1087,18]]]],[[5,[17,[10]]],[[16,[1088,18]]]],[[5,[17,[10]]],[[16,[1089,18]]]],[[5,[17,[10]]],[[16,[1090,18]]]],[[5,[17,[10]]],[[16,[1091,18]]]],[[5,[17,[10]]],[[16,[1092,18]]]],[[5,[17,[10]]],[[16,[1093,18]]]],[[5,[17,[10]]],[[16,[1094,18]]]],[[5,[17,[10]]],[[16,[1095,18]]]],[[5,[17,[10]]],[[16,[1096,18]]]],[[5,[17,[10]]],[[16,[1097,18]]]],[[5,[17,[10]]],[[16,[1098,18]]]],[[5,[17,[10]]],[[16,[1099,18]]]],[[5,[17,[10]]],[[16,[1100,18]]]],[[5,[17,[10]]],[[16,[1101,18]]]],[[5,[17,[10]]],[[16,[1102,18]]]],[[5,[17,[10]]],[[16,[1103,18]]]],[[5,[17,[10]]],[[16,[1104,18]]]],[[5,[17,[10]]],[[16,[1105,18]]]],[[5,[17,[10]]],[[16,[1106,18]]]],[[5,[17,[10]]],[[16,[1107,18]]]],[[5,[17,[10]]],[[16,[1108,18]]]],[[5,[17,[10]]],[[16,[1109,18]]]],[[5,[17,[10]]],[[16,[1110,18]]]],[[5,[17,[10]]],[[16,[1111,18]]]],[[5,[17,[10]]],[[16,[1112,18]]]],[[5,[17,[10]]],[[16,[1113,18]]]],[[5,[17,[10]]],[[16,[1114,18]]]],[[5,[17,[10]]],[[16,[1115,18]]]],[[5,[17,[10]]],[[16,[1116,18]]]],[[5,[17,[10]]],[[16,[1117,18]]]],[[5,[17,[10]]],[[16,[1118,18]]]],[[5,[17,[10]]],[[16,[1119,18]]]],[[5,[17,[10]]],[[16,[1120,18]]]],[[5,[17,[10]]],[[16,[1121,18]]]],[[5,[17,[10]]],[[16,[1122,18]]]],[[5,[17,[10]]],[[16,[1123,18]]]],[[5,[17,[10]]],[[16,[1124,18]]]],[[5,[17,[10]]],[[16,[1125,18]]]],[[5,[17,[10]]],[[16,[1126,18]]]],[[5,[17,[10]]],[[16,[1127,18]]]],[[5,[17,[10]]],[[16,[1128,18]]]],[[5,[17,[10]]],[[16,[1129,18]]]],[[5,[17,[10]]],[[16,[1130,18]]]],[[5,[17,[10]]],[[16,[1131,18]]]],[[5,[17,[10]]],[[16,[1132,18]]]],[[5,[17,[10]]],[[16,[1133,18]]]],[[5,[17,[10]]],[[16,[1134,18]]]],[[5,[17,[10]]],[[16,[1135,18]]]],[[5,[17,[10]]],[[16,[1136,18]]]],[[5,[17,[10]]],[[16,[1137,18]]]],[[5,[17,[10]]],[[16,[1138,18]]]],[[5,[17,[10]]],[[16,[1139,18]]]],[[5,[17,[10]]],[[16,[1140,18]]]],[[5,[17,[10]]],[[16,[1141,18]]]],[[5,[17,[10]]],[[16,[1142,18]]]],[[5,[17,[10]]],[[16,[1143,18]]]],[[5,[17,[10]]],[[16,[1144,18]]]],[[5,[17,[10]]],[[16,[1145,18]]]],[[5,[17,[10]]],[[16,[1146,18]]]],[[5,[17,[10]]],[[16,[1147,18]]]],[[5,[17,[10]]],[[16,[1148,18]]]],[[5,[17,[10]]],[[16,[1149,18]]]],[[5,[17,[10]]],[[16,[1150,18]]]],[[5,[17,[10]]],[[16,[1151,18]]]],[[5,[17,[10]]],[[16,[1152,18]]]],[[5,[17,[10]]],[[16,[1153,18]]]],[[5,[17,[10]]],[[16,[1154,18]]]],[[5,[17,[10]]],[[16,[1155,18]]]],[-1,[[16,[931]]],19],[-1,[[16,[932]]],19],[-1,[[16,[933]]],19],[-1,[[16,[934]]],19],[-1,[[16,[935]]],19],[-1,[[16,[936]]],19],[-1,[[16,[937]]],19],[-1,[[16,[938]]],19],[-1,[[16,[939]]],19],[-1,[[16,[940]]],19],[-1,[[16,[941]]],19],[-1,[[16,[942]]],19],[-1,[[16,[943]]],19],[-1,[[16,[944]]],19],[-1,[[16,[945]]],19],[-1,[[16,[946]]],19],[-1,[[16,[947]]],19],[-1,[[16,[948]]],19],[-1,[[16,[949]]],19],[-1,[[16,[950]]],19],[-1,[[16,[951]]],19],[-1,[[16,[952]]],19],[-1,[[16,[953]]],19],[-1,[[16,[954]]],19],[-1,[[16,[955]]],19],[-1,[[16,[956]]],19],[-1,[[16,[957]]],19],[-1,[[16,[958]]],19],[-1,[[16,[959]]],19],[-1,[[16,[960]]],19],[-1,[[16,[961]]],19],[-1,[[16,[962]]],19],[-1,[[16,[963]]],19],[-1,[[16,[964]]],19],[-1,[[16,[965]]],19],[-1,[[16,[966]]],19],[-1,[[16,[967]]],19],[-1,[[16,[968]]],19],[-1,[[16,[969]]],19],[-1,[[16,[970]]],19],[-1,[[16,[971]]],19],[-1,[[16,[972]]],19],[-1,[[16,[973]]],19],[-1,[[16,[974]]],19],[-1,[[16,[975]]],19],[-1,[[16,[976]]],19],[-1,[[16,[977]]],19],[-1,[[16,[978]]],19],[-1,[[16,[979]]],19],[-1,[[16,[980]]],19],[-1,[[16,[981]]],19],[-1,[[16,[982]]],19],[-1,[[16,[983]]],19],[-1,[[16,[984]]],19],[-1,[[16,[985]]],19],[-1,[[16,[986]]],19],[-1,[[16,[987]]],19],[-1,[[16,[988]]],19],[-1,[[16,[989]]],19],[-1,[[16,[990]]],19],[-1,[[16,[991]]],19],[-1,[[16,[992]]],19],[-1,[[16,[993]]],19],[-1,[[16,[994]]],19],[-1,[[16,[995]]],19],[-1,[[16,[996]]],19],[-1,[[16,[997]]],19],[-1,[[16,[998]]],19],[-1,[[16,[999]]],19],[-1,[[16,[1000]]],19],[-1,[[16,[1001]]],19],[-1,[[16,[1002]]],19],[-1,[[16,[1003]]],19],[-1,[[16,[1004]]],19],[-1,[[16,[1005]]],19],[-1,[[16,[1006]]],19],[-1,[[16,[1007]]],19],[-1,[[16,[1008]]],19],[-1,[[16,[1009]]],19],[-1,[[16,[1010]]],19],[-1,[[16,[1011]]],19],[-1,[[16,[1012]]],19],[-1,[[16,[1013]]],19],[-1,[[16,[1014]]],19],[-1,[[16,[1015]]],19],[-1,[[16,[1016]]],19],[-1,[[16,[1017]]],19],[-1,[[16,[1018]]],19],[-1,[[16,[1019]]],19],[-1,[[16,[1020]]],19],[-1,[[16,[1021]]],19],[-1,[[16,[1022]]],19],[-1,[[16,[1023]]],19],[-1,[[16,[1024]]],19],[-1,[[16,[1025]]],19],[-1,[[16,[1026]]],19],[-1,[[16,[1027]]],19],[-1,[[16,[1028]]],19],[-1,[[16,[1029]]],19],[-1,[[16,[1030]]],19],[-1,[[16,[1031]]],19],[-1,[[16,[1032]]],19],[-1,[[16,[1033]]],19],[-1,[[16,[1034]]],19],[-1,[[16,[1035]]],19],[-1,[[16,[1036]]],19],[-1,[[16,[1037]]],19],[-1,[[16,[1038]]],19],[-1,[[16,[1039]]],19],[-1,[[16,[1040]]],19],[-1,[[16,[1041]]],19],[-1,[[16,[1042]]],19],[-1,[[16,[1043]]],19],[-1,[[16,[1044]]],19],[-1,[[16,[1045]]],19],[-1,[[16,[1046]]],19],[-1,[[16,[1047]]],19],[-1,[[16,[1048]]],19],[-1,[[16,[1049]]],19],[-1,[[16,[1050]]],19],[-1,[[16,[1051]]],19],[-1,[[16,[1052]]],19],[-1,[[16,[1053]]],19],[-1,[[16,[1054]]],19],[-1,[[16,[1055]]],19],[-1,[[16,[1056]]],19],[-1,[[16,[1057]]],19],[-1,[[16,[1058]]],19],[-1,[[16,[1059]]],19],[-1,[[16,[1060]]],19],[-1,[[16,[1061]]],19],[-1,[[16,[1062]]],19],[-1,[[16,[1063]]],19],[-1,[[16,[1064]]],19],[-1,[[16,[1065]]],19],[-1,[[16,[1066]]],19],[-1,[[16,[1067]]],19],[-1,[[16,[1068]]],19],[-1,[[16,[1069]]],19],[-1,[[16,[1070]]],19],[-1,[[16,[1071]]],19],[-1,[[16,[1072]]],19],[-1,[[16,[1073]]],19],[-1,[[16,[1074]]],19],[-1,[[16,[1075]]],19],[-1,[[16,[1076]]],19],[-1,[[16,[1077]]],19],[-1,[[16,[1078]]],19],[-1,[[16,[1079]]],19],[-1,[[16,[1080]]],19],[-1,[[16,[1081]]],19],[-1,[[16,[1082]]],19],[-1,[[16,[1083]]],19],[-1,[[16,[1084]]],19],[-1,[[16,[1085]]],19],[-1,[[16,[1086]]],19],[-1,[[16,[1087]]],19],[-1,[[16,[1088]]],19],[-1,[[16,[1089]]],19],[-1,[[16,[1090]]],19],[-1,[[16,[1091]]],19],[-1,[[16,[1092]]],19],[-1,[[16,[1093]]],19],[-1,[[16,[1094]]],19],[-1,[[16,[1095]]],19],[-1,[[16,[1096]]],19],[-1,[[16,[1097]]],19],[-1,[[16,[1098]]],19],[-1,[[16,[1099]]],19],[-1,[[16,[1100]]],19],[-1,[[16,[1101]]],19],[-1,[[16,[1102]]],19],[-1,[[16,[1103]]],19],[-1,[[16,[1104]]],19],[-1,[[16,[1105]]],19],[-1,[[16,[1106]]],19],[-1,[[16,[1107]]],19],[-1,[[16,[1108]]],19],[-1,[[16,[1109]]],19],[-1,[[16,[1110]]],19],[-1,[[16,[1111]]],19],[-1,[[16,[1112]]],19],[-1,[[16,[1113]]],19],[-1,[[16,[1114]]],19],[-1,[[16,[1115]]],19],[-1,[[16,[1116]]],19],[-1,[[16,[1117]]],19],[-1,[[16,[1118]]],19],[-1,[[16,[1119]]],19],[-1,[[16,[1120]]],19],[-1,[[16,[1121]]],19],[-1,[[16,[1122]]],19],[-1,[[16,[1123]]],19],[-1,[[16,[1124]]],19],[-1,[[16,[1125]]],19],[-1,[[16,[1126]]],19],[-1,[[16,[1127]]],19],[-1,[[16,[1128]]],19],[-1,[[16,[1129]]],19],[-1,[[16,[1130]]],19],[-1,[[16,[1131]]],19],[-1,[[16,[1132]]],19],[-1,[[16,[1133]]],19],[-1,[[16,[1134]]],19],[-1,[[16,[1135]]],19],[-1,[[16,[1136]]],19],[-1,[[16,[1137]]],19],[-1,[[16,[1138]]],19],[-1,[[16,[1139]]],19],[-1,[[16,[1140]]],19],[-1,[[16,[1141]]],19],[-1,[[16,[1142]]],19],[-1,[[16,[1143]]],19],[-1,[[16,[1144]]],19],[-1,[[16,[1145]]],19],[-1,[[16,[1146]]],19],[-1,[[16,[1147]]],19],[-1,[[16,[1148]]],19],[-1,[[16,[1149]]],19],[-1,[[16,[1150]]],19],[-1,[[16,[1151]]],19],[-1,[[16,[1152]]],19],[-1,[[16,[1153]]],19],[-1,[[16,[1154]]],19],[-1,[[16,[1155]]],19],[-1,[[16,[1156]]],19],[-1,[[16,[1157]]],19],[-1,[[16,[903]]],19],[-1,[[16,[904]]],19],[-1,[[16,[1158]]],19],[-1,[[16,[1159]]],19],[-1,[[16,[1160]]],19],[-1,[[16,[1161]]],19],[-1,[[16,[1162]]],19],[-1,[[16,[1163]]],19],[-1,[[16,[1164]]],19],[-1,[[16,[905]]],19],[-1,[[16,[1165]]],19],[-1,[[16,[1166]]],19],[-1,[[16,[1167]]],19],[-1,[[16,[1168]]],19],[-1,[[16,[906]]],19],[-1,[[16,[1169]]],19],[-1,[[16,[907]]],19],[-1,[[16,[908]]],19],[-1,[[16,[909]]],19],[-1,[[16,[1170]]],19],[-1,[[16,[1171]]],19],[-1,[[16,[910]]],19],[-1,[[16,[1172]]],19],[-1,[[16,[1173]]],19],[-1,[[16,[1174]]],19],[-1,[[16,[1175]]],19],[-1,[[16,[911]]],19],[-1,[[16,[1176]]],19],[-1,[[16,[912]]],19],[-1,[[16,[1177]]],19],[-1,[[16,[1178]]],19],[-1,[[16,[1179]]],19],[-1,[[16,[1180]]],19],[-1,[[16,[1181]]],19],[-1,[[16,[913]]],19],[-1,[[16,[1182]]],19],[-1,[[16,[1183]]],19],[-1,[[16,[1184]]],19],[-1,[[16,[1185]]],19],[-1,[[16,[1186]]],19],[-1,[[16,[1187]]],19],[-1,[[16,[1188]]],19],[-1,[[16,[1189]]],19],[-1,[[16,[1190]]],19],[-1,[[16,[1191]]],19],[-1,[[16,[914]]],19],[-1,[[16,[1192]]],19],[-1,[[16,[1193]]],19],[-1,[[16,[1194]]],19],[-1,[[16,[1195]]],19],[-1,[[16,[1196]]],19],[-1,[[16,[1197]]],19],[-1,[[16,[915]]],19],[-1,[[16,[1198]]],19],[-1,[[16,[916]]],19],[-1,[[16,[1199]]],19],[-1,[[16,[917]]],19],[-1,[[16,[1200]]],19],[-1,[[16,[1201]]],19],[-1,[[16,[1202]]],19],[-1,[[16,[1203]]],19],[-1,[[16,[1204]]],19],[-1,[[16,[1205]]],19],[-1,[[16,[1206]]],19],[-1,[[16,[1207]]],19],[-1,[[16,[1208]]],19],[-1,[[16,[1209]]],19],[-1,[[16,[1210]]],19],[-1,[[16,[1211]]],19],[-1,[[16,[1212]]],19],[-1,[[16,[918]]],19],[-1,[[16,[1213]]],19],[-1,[[16,[1214]]],19],[-1,[[16,[1215]]],19],[-1,[[16,[1216]]],19],[-1,[[16,[1217]]],19],[-1,[[16,[919]]],19],[-1,[[16,[1218]]],19],[-1,[[16,[1219]]],19],[-1,[[16,[1220]]],19],[-1,[[16,[1221]]],19],[-1,[[16,[1222]]],19],[-1,[[16,[1223]]],19],[-1,[[16,[1224]]],19],[-1,[[16,[1225]]],19],[-1,[[16,[1226]]],19],[-1,[[16,[920]]],19],[-1,[[16,[1227]]],19],[-1,[[16,[1228]]],19],[-1,[[16,[1229]]],19],[-1,[[16,[1230]]],19],[-1,[[16,[1231]]],19],[-1,[[16,[1232]]],19],[-1,[[16,[921]]],19],[-1,[[16,[1233]]],19],[-1,[[16,[1234]]],19],[-1,[[16,[1235]]],19],[-1,[[16,[1236]]],19],[-1,[[16,[1237]]],19],[-1,[[16,[922]]],19],[-1,[[16,[923]]],19],[-1,[[16,[1238]]],19],[-1,[[16,[1239]]],19],[-1,[[16,[1240]]],19],[-1,[[16,[1241]]],19],[-1,[[16,[1242]]],19],[-1,[[16,[1243]]],19],[-1,[[16,[1244]]],19],[-1,[[16,[924]]],19],[-1,[[16,[925]]],19],[-1,[[16,[1245]]],19],[-1,[[16,[1246]]],19],[-1,[[16,[1247]]],19],[-1,[[16,[1248]]],19],[-1,[[16,[1249]]],19],[-1,[[16,[1250]]],19],[-1,[[16,[1251]]],19],[-1,[[16,[926]]],19],[-1,[[16,[1252]]],19],[-1,[[16,[1253]]],19],[-1,[[16,[927]]],19],[-1,[[16,[1254]]],19],[-1,[[16,[1255]]],19],[-1,[[16,[1256]]],19],[-1,[[16,[1257]]],19],[-1,[[16,[1258]]],19],[-1,[[16,[1259]]],19],[-1,[[16,[1260]]],19],[-1,[[16,[1261]]],19],[-1,[[16,[1262]]],19],[-1,[[16,[1263]]],19],[-1,[[16,[1264]]],19],[-1,[[16,[1265]]],19],[-1,[[16,[928]]],19],[-1,[[16,[1266]]],19],[-1,[[16,[1267]]],19],[-1,[[16,[1268]]],19],[-1,[[16,[929]]],19],[-1,[[16,[930]]],19],[-1,[[16,[1269]]],19],[-1,[[16,[1270]]],19],[-1,[[16,[1271]]],19],[-1,[[16,[1272]]],19],0,0,0,0,0,0,0,0,0,0,0,[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],903],[[],904],[[],905],[[],906],[[],907],[[],908],[[],909],[[],910],[[],911],[[],912],[[],913],[[],914],[[],915],[[],916],[[],917],[[],918],[[],919],[[],920],[[],921],[[],922],[[],923],[[],924],[[],925],[[],926],[[],927],[[],928],[[],929],[[],930],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[931,931],20],[[932,932],20],[[933,933],20],[[934,934],20],[[935,935],20],[[936,936],20],[[937,937],20],[[938,938],20],[[939,939],20],[[940,940],20],[[941,941],20],[[942,942],20],[[943,943],20],[[944,944],20],[[945,945],20],[[946,946],20],[[947,947],20],[[948,948],20],[[949,949],20],[[950,950],20],[[951,951],20],[[952,952],20],[[953,953],20],[[954,954],20],[[955,955],20],[[956,956],20],[[957,957],20],[[958,958],20],[[959,959],20],[[960,960],20],[[961,961],20],[[962,962],20],[[963,963],20],[[964,964],20],[[965,965],20],[[966,966],20],[[967,967],20],[[968,968],20],[[969,969],20],[[970,970],20],[[971,971],20],[[972,972],20],[[973,973],20],[[974,974],20],[[975,975],20],[[976,976],20],[[977,977],20],[[978,978],20],[[979,979],20],[[980,980],20],[[981,981],20],[[982,982],20],[[983,983],20],[[984,984],20],[[985,985],20],[[986,986],20],[[987,987],20],[[988,988],20],[[989,989],20],[[990,990],20],[[991,991],20],[[992,992],20],[[993,993],20],[[994,994],20],[[995,995],20],[[996,996],20],[[997,997],20],[[998,998],20],[[999,999],20],[[1000,1000],20],[[1001,1001],20],[[1002,1002],20],[[1003,1003],20],[[1004,1004],20],[[1005,1005],20],[[1006,1006],20],[[1007,1007],20],[[1008,1008],20],[[1009,1009],20],[[1010,1010],20],[[1011,1011],20],[[1012,1012],20],[[1013,1013],20],[[1014,1014],20],[[1015,1015],20],[[1016,1016],20],[[1017,1017],20],[[1018,1018],20],[[1019,1019],20],[[1020,1020],20],[[1021,1021],20],[[1022,1022],20],[[1023,1023],20],[[1024,1024],20],[[1025,1025],20],[[1026,1026],20],[[1027,1027],20],[[1028,1028],20],[[1029,1029],20],[[1030,1030],20],[[1031,1031],20],[[1032,1032],20],[[1033,1033],20],[[1034,1034],20],[[1035,1035],20],[[1036,1036],20],[[1037,1037],20],[[1038,1038],20],[[1039,1039],20],[[1040,1040],20],[[1041,1041],20],[[1042,1042],20],[[1043,1043],20],[[1044,1044],20],[[1045,1045],20],[[1046,1046],20],[[1047,1047],20],[[1048,1048],20],[[1049,1049],20],[[1050,1050],20],[[1051,1051],20],[[1052,1052],20],[[1053,1053],20],[[1054,1054],20],[[1055,1055],20],[[1056,1056],20],[[1057,1057],20],[[1058,1058],20],[[1059,1059],20],[[1060,1060],20],[[1061,1061],20],[[1062,1062],20],[[1063,1063],20],[[1064,1064],20],[[1065,1065],20],[[1066,1066],20],[[1067,1067],20],[[1068,1068],20],[[1069,1069],20],[[1070,1070],20],[[1071,1071],20],[[1072,1072],20],[[1073,1073],20],[[1074,1074],20],[[1075,1075],20],[[1076,1076],20],[[1077,1077],20],[[1078,1078],20],[[1079,1079],20],[[1080,1080],20],[[1081,1081],20],[[1082,1082],20],[[1083,1083],20],[[1084,1084],20],[[1085,1085],20],[[1086,1086],20],[[1087,1087],20],[[1088,1088],20],[[1089,1089],20],[[1090,1090],20],[[1091,1091],20],[[1092,1092],20],[[1093,1093],20],[[1094,1094],20],[[1095,1095],20],[[1096,1096],20],[[1097,1097],20],[[1098,1098],20],[[1099,1099],20],[[1100,1100],20],[[1101,1101],20],[[1102,1102],20],[[1103,1103],20],[[1104,1104],20],[[1105,1105],20],[[1106,1106],20],[[1107,1107],20],[[1108,1108],20],[[1109,1109],20],[[1110,1110],20],[[1111,1111],20],[[1112,1112],20],[[1113,1113],20],[[1114,1114],20],[[1115,1115],20],[[1116,1116],20],[[1117,1117],20],[[1118,1118],20],[[1119,1119],20],[[1120,1120],20],[[1121,1121],20],[[1122,1122],20],[[1123,1123],20],[[1124,1124],20],[[1125,1125],20],[[1126,1126],20],[[1127,1127],20],[[1128,1128],20],[[1129,1129],20],[[1130,1130],20],[[1131,1131],20],[[1132,1132],20],[[1133,1133],20],[[1134,1134],20],[[1135,1135],20],[[1136,1136],20],[[1137,1137],20],[[1138,1138],20],[[1139,1139],20],[[1140,1140],20],[[1141,1141],20],[[1142,1142],20],[[1143,1143],20],[[1144,1144],20],[[1145,1145],20],[[1146,1146],20],[[1147,1147],20],[[1148,1148],20],[[1149,1149],20],[[1150,1150],20],[[1151,1151],20],[[1152,1152],20],[[1153,1153],20],[[1154,1154],20],[[1155,1155],20],[[1156,1156],20],[[1157,1157],20],[[903,903],20],[[904,904],20],[[1158,1158],20],[[1159,1159],20],[[1160,1160],20],[[1161,1161],20],[[1162,1162],20],[[1163,1163],20],[[1164,1164],20],[[905,905],20],[[1165,1165],20],[[1166,1166],20],[[1167,1167],20],[[1168,1168],20],[[906,906],20],[[1169,1169],20],[[907,907],20],[[908,908],20],[[909,909],20],[[1170,1170],20],[[1171,1171],20],[[910,910],20],[[1172,1172],20],[[1173,1173],20],[[1174,1174],20],[[1175,1175],20],[[911,911],20],[[1176,1176],20],[[912,912],20],[[1177,1177],20],[[1178,1178],20],[[1179,1179],20],[[1180,1180],20],[[1181,1181],20],[[913,913],20],[[1182,1182],20],[[1183,1183],20],[[1184,1184],20],[[1185,1185],20],[[1186,1186],20],[[1187,1187],20],[[1188,1188],20],[[1189,1189],20],[[1190,1190],20],[[1191,1191],20],[[914,914],20],[[1192,1192],20],[[1193,1193],20],[[1194,1194],20],[[1195,1195],20],[[1196,1196],20],[[1197,1197],20],[[915,915],20],[[1198,1198],20],[[916,916],20],[[1199,1199],20],[[917,917],20],[[1200,1200],20],[[1201,1201],20],[[1202,1202],20],[[1203,1203],20],[[1204,1204],20],[[1205,1205],20],[[1206,1206],20],[[1207,1207],20],[[1208,1208],20],[[1209,1209],20],[[1210,1210],20],[[1211,1211],20],[[1212,1212],20],[[918,918],20],[[1213,1213],20],[[1214,1214],20],[[1215,1215],20],[[1216,1216],20],[[1217,1217],20],[[919,919],20],[[1218,1218],20],[[1219,1219],20],[[1220,1220],20],[[1221,1221],20],[[1222,1222],20],[[1223,1223],20],[[1224,1224],20],[[1225,1225],20],[[1226,1226],20],[[920,920],20],[[1227,1227],20],[[1228,1228],20],[[1229,1229],20],[[1230,1230],20],[[1231,1231],20],[[1232,1232],20],[[921,921],20],[[1233,1233],20],[[1234,1234],20],[[1235,1235],20],[[1236,1236],20],[[1237,1237],20],[[922,922],20],[[923,923],20],[[1238,1238],20],[[1239,1239],20],[[1240,1240],20],[[1241,1241],20],[[1242,1242],20],[[1243,1243],20],[[1244,1244],20],[[924,924],20],[[925,925],20],[[1245,1245],20],[[1246,1246],20],[[1247,1247],20],[[1248,1248],20],[[1249,1249],20],[[1250,1250],20],[[1251,1251],20],[[926,926],20],[[1252,1252],20],[[1253,1253],20],[[927,927],20],[[1254,1254],20],[[1255,1255],20],[[1256,1256],20],[[1257,1257],20],[[1258,1258],20],[[1259,1259],20],[[1260,1260],20],[[1261,1261],20],[[1262,1262],20],[[1263,1263],20],[[1264,1264],20],[[1265,1265],20],[[928,928],20],[[1266,1266],20],[[1267,1267],20],[[1268,1268],20],[[929,929],20],[[930,930],20],[[1269,1269],20],[[1270,1270],20],[[1271,1271],20],[[1272,1272],20],0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,-1],9,525],[[904,-1],9,525],[[905,-1],9,525],[[906,-1],9,525],[[907,-1],9,525],[[908,-1],9,525],[[909,-1],9,525],[[910,-1],9,525],[[911,-1],9,525],[[912,-1],9,525],[[913,-1],9,525],[[914,-1],9,525],[[915,-1],9,525],[[916,-1],9,525],[[917,-1],9,525],[[918,-1],9,525],[[919,-1],9,525],[[920,-1],9,525],[[921,-1],9,525],[[922,-1],9,525],[[923,-1],9,525],[[924,-1],9,525],[[925,-1],9,525],[[926,-1],9,525],[[927,-1],9,525],[[928,-1],9,525],[[929,-1],9,525],[[930,-1],9,525],[15,10],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[931,21],22],[[932,21],22],[[933,21],22],[[934,21],22],[[935,21],22],[[936,21],22],[[937,21],22],[[938,21],22],[[939,21],22],[[940,21],22],[[941,21],22],[[942,21],22],[[943,21],22],[[944,21],22],[[945,21],22],[[946,21],22],[[947,21],22],[[948,21],22],[[949,21],22],[[950,21],22],[[951,21],22],[[952,21],22],[[953,21],22],[[954,21],22],[[955,21],22],[[956,21],22],[[957,21],22],[[958,21],22],[[959,21],22],[[960,21],22],[[961,21],22],[[962,21],22],[[963,21],22],[[964,21],22],[[965,21],22],[[966,21],22],[[967,21],22],[[968,21],22],[[969,21],22],[[970,21],22],[[971,21],22],[[972,21],22],[[973,21],22],[[974,21],22],[[975,21],22],[[976,21],22],[[977,21],22],[[978,21],22],[[979,21],22],[[980,21],22],[[981,21],22],[[982,21],22],[[983,21],22],[[984,21],22],[[985,21],22],[[986,21],22],[[987,21],22],[[988,21],22],[[989,21],22],[[990,21],22],[[991,21],22],[[992,21],22],[[993,21],22],[[994,21],22],[[995,21],22],[[996,21],22],[[997,21],22],[[998,21],22],[[999,21],22],[[1000,21],22],[[1001,21],22],[[1002,21],22],[[1003,21],22],[[1004,21],22],[[1005,21],22],[[1006,21],22],[[1007,21],22],[[1008,21],22],[[1009,21],22],[[1010,21],22],[[1011,21],22],[[1012,21],22],[[1013,21],22],[[1014,21],22],[[1015,21],22],[[1016,21],22],[[1017,21],22],[[1018,21],22],[[1019,21],22],[[1020,21],22],[[1021,21],22],[[1022,21],22],[[1023,21],22],[[1024,21],22],[[1025,21],22],[[1026,21],22],[[1027,21],22],[[1028,21],22],[[1029,21],22],[[1030,21],22],[[1031,21],22],[[1032,21],22],[[1033,21],22],[[1034,21],22],[[1035,21],22],[[1036,21],22],[[1037,21],22],[[1038,21],22],[[1039,21],22],[[1040,21],22],[[1041,21],22],[[1042,21],22],[[1043,21],22],[[1044,21],22],[[1045,21],22],[[1046,21],22],[[1047,21],22],[[1048,21],22],[[1049,21],22],[[1050,21],22],[[1051,21],22],[[1052,21],22],[[1053,21],22],[[1054,21],22],[[1055,21],22],[[1056,21],22],[[1057,21],22],[[1058,21],22],[[1059,21],22],[[1060,21],22],[[1061,21],22],[[1062,21],22],[[1063,21],22],[[1064,21],22],[[1065,21],22],[[1066,21],22],[[1067,21],22],[[1068,21],22],[[1069,21],22],[[1070,21],22],[[1071,21],22],[[1072,21],22],[[1073,21],22],[[1074,21],22],[[1075,21],22],[[1076,21],22],[[1077,21],22],[[1078,21],22],[[1079,21],22],[[1080,21],22],[[1081,21],22],[[1082,21],22],[[1083,21],22],[[1084,21],22],[[1085,21],22],[[1086,21],22],[[1087,21],22],[[1088,21],22],[[1089,21],22],[[1090,21],22],[[1091,21],22],[[1092,21],22],[[1093,21],22],[[1094,21],22],[[1095,21],22],[[1096,21],22],[[1097,21],22],[[1098,21],22],[[1099,21],22],[[1100,21],22],[[1101,21],22],[[1102,21],22],[[1103,21],22],[[1104,21],22],[[1105,21],22],[[1106,21],22],[[1107,21],22],[[1108,21],22],[[1109,21],22],[[1110,21],22],[[1111,21],22],[[1112,21],22],[[1113,21],22],[[1114,21],22],[[1115,21],22],[[1116,21],22],[[1117,21],22],[[1118,21],22],[[1119,21],22],[[1120,21],22],[[1121,21],22],[[1122,21],22],[[1123,21],22],[[1124,21],22],[[1125,21],22],[[1126,21],22],[[1127,21],22],[[1128,21],22],[[1129,21],22],[[1130,21],22],[[1131,21],22],[[1132,21],22],[[1133,21],22],[[1134,21],22],[[1135,21],22],[[1136,21],22],[[1137,21],22],[[1138,21],22],[[1139,21],22],[[1140,21],22],[[1141,21],22],[[1142,21],22],[[1143,21],22],[[1144,21],22],[[1145,21],22],[[1146,21],22],[[1147,21],22],[[1148,21],22],[[1149,21],22],[[1150,21],22],[[1151,21],22],[[1152,21],22],[[1153,21],22],[[1154,21],22],[[1155,21],22],[[1156,21],22],[[1157,21],22],[[903,21],22],[[903,21],22],[[903,21],22],[[903,21],22],[[903,21],22],[[904,21],22],[[904,21],22],[[904,21],22],[[904,21],22],[[904,21],22],[[1158,21],22],[[1159,21],22],[[1160,21],22],[[1161,21],22],[[1162,21],22],[[1163,21],22],[[1164,21],22],[[905,21],22],[[905,21],22],[[905,21],22],[[905,21],22],[[905,21],22],[[1165,21],22],[[1166,21],22],[[1167,21],22],[[1168,21],22],[[906,21],22],[[906,21],22],[[906,21],22],[[906,21],22],[[906,21],22],[[1169,21],22],[[907,21],22],[[907,21],22],[[907,21],22],[[907,21],22],[[907,21],22],[[908,21],22],[[908,21],22],[[908,21],22],[[908,21],22],[[908,21],22],[[909,21],22],[[909,21],22],[[909,21],22],[[909,21],22],[[909,21],22],[[1170,21],22],[[1171,21],22],[[910,21],22],[[910,21],22],[[910,21],22],[[910,21],22],[[910,21],22],[[1172,21],22],[[1173,21],22],[[1174,21],22],[[1175,21],22],[[911,21],22],[[911,21],22],[[911,21],22],[[911,21],22],[[911,21],22],[[1176,21],22],[[912,21],22],[[912,21],22],[[912,21],22],[[912,21],22],[[912,21],22],[[1177,21],22],[[1178,21],22],[[1179,21],22],[[1180,21],22],[[1181,21],22],[[913,21],22],[[913,21],22],[[913,21],22],[[913,21],22],[[913,21],22],[[1182,21],22],[[1183,21],22],[[1184,21],22],[[1185,21],22],[[1186,21],22],[[1187,21],22],[[1188,21],22],[[1189,21],22],[[1190,21],22],[[1191,21],22],[[914,21],22],[[914,21],22],[[914,21],22],[[914,21],22],[[914,21],22],[[1192,21],22],[[1193,21],22],[[1194,21],22],[[1195,21],22],[[1196,21],22],[[1197,21],22],[[915,21],22],[[915,21],22],[[915,21],22],[[915,21],22],[[915,21],22],[[1198,21],22],[[916,21],22],[[916,21],22],[[916,21],22],[[916,21],22],[[916,21],22],[[1199,21],22],[[917,21],22],[[917,21],22],[[917,21],22],[[917,21],22],[[917,21],22],[[1200,21],22],[[1201,21],22],[[1202,21],22],[[1203,21],22],[[1204,21],22],[[1205,21],22],[[1206,21],22],[[1207,21],22],[[1208,21],22],[[1209,21],22],[[1210,21],22],[[1211,21],22],[[1212,21],22],[[918,21],22],[[918,21],22],[[918,21],22],[[918,21],22],[[918,21],22],[[1213,21],22],[[1214,21],22],[[1215,21],22],[[1216,21],22],[[1217,21],22],[[919,21],22],[[919,21],22],[[919,21],22],[[919,21],22],[[919,21],22],[[1218,21],22],[[1219,21],22],[[1220,21],22],[[1221,21],22],[[1222,21],22],[[1223,21],22],[[1224,21],22],[[1225,21],22],[[1226,21],22],[[920,21],22],[[920,21],22],[[920,21],22],[[920,21],22],[[920,21],22],[[1227,21],22],[[1228,21],22],[[1229,21],22],[[1230,21],22],[[1231,21],22],[[1232,21],22],[[921,21],22],[[921,21],22],[[921,21],22],[[921,21],22],[[921,21],22],[[1233,21],22],[[1234,21],22],[[1235,21],22],[[1236,21],22],[[1237,21],22],[[922,21],22],[[922,21],22],[[922,21],22],[[922,21],22],[[922,21],22],[[923,21],22],[[923,21],22],[[923,21],22],[[923,21],22],[[923,21],22],[[1238,21],22],[[1239,21],22],[[1240,21],22],[[1241,21],22],[[1242,21],22],[[1243,21],22],[[1244,21],22],[[924,21],22],[[924,21],22],[[924,21],22],[[924,21],22],[[924,21],22],[[925,21],22],[[925,21],22],[[925,21],22],[[925,21],22],[[925,21],22],[[1245,21],22],[[1246,21],22],[[1247,21],22],[[1248,21],22],[[1249,21],22],[[1250,21],22],[[1251,21],22],[[926,21],22],[[926,21],22],[[926,21],22],[[926,21],22],[[926,21],22],[[1252,21],22],[[1253,21],22],[[927,21],22],[[927,21],22],[[927,21],22],[[927,21],22],[[927,21],22],[[1254,21],22],[[1255,21],22],[[1256,21],22],[[1257,21],22],[[1258,21],22],[[1259,21],22],[[1260,21],22],[[1261,21],22],[[1262,21],22],[[1263,21],22],[[1264,21],22],[[1265,21],22],[[928,21],22],[[928,21],22],[[928,21],22],[[928,21],22],[[928,21],22],[[1266,21],22],[[1267,21],22],[[1268,21],22],[[929,21],22],[[929,21],22],[[929,21],22],[[929,21],22],[[929,21],22],[[930,21],22],[[930,21],22],[[930,21],22],[[930,21],22],[[930,21],22],[[1269,21],22],[[1270,21],22],[[1271,21],22],[[1272,21],22],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[10,[[526,[903]]]],[15,[[526,[904]]]],[2,[[526,[905]]]],[65,[[526,[906]]]],[2,[[526,[907]]]],[15,[[526,[908]]]],[10,[[526,[909]]]],[15,[[526,[910]]]],[10,[[526,[911]]]],[10,[[526,[912]]]],[2,[[526,[913]]]],[2,[[526,[914]]]],[10,[[526,[915]]]],[2,[[526,[916]]]],[2,[[526,[917]]]],[15,[[526,[918]]]],[65,[[526,[919]]]],[10,[[526,[920]]]],[2,[[526,[921]]]],[15,[[526,[922]]]],[15,[[526,[923]]]],[2,[[526,[924]]]],[10,[[526,[925]]]],[2,[[526,[926]]]],[2,[[526,[927]]]],[15,[[526,[928]]]],[2,[[526,[929]]]],[2,[[526,[930]]]],[10,903],[15,904],[2,905],[65,906],[2,907],[15,908],[10,909],[15,910],[10,911],[10,912],[2,913],[2,914],[10,915],[2,916],[2,917],[15,918],[65,919],[10,920],[2,921],[15,922],[15,923],[2,924],[10,925],[2,926],[2,927],[15,928],[2,929],[2,930],[10,903],[15,904],[2,905],[65,906],[2,907],[15,908],[10,909],[15,910],[10,911],[10,912],[2,913],[2,914],[10,915],[2,916],[2,917],[15,918],[65,919],[10,920],[2,921],[15,922],[15,923],[2,924],[10,925],[2,926],[2,927],[15,928],[2,929],[2,930],[527,[[526,[1156]]]],[527,[[526,[1157]]]],[527,[[526,[1158]]]],[527,[[526,[1159]]]],[527,[[526,[1160]]]],[527,[[526,[1161]]]],[527,[[526,[1162]]]],[527,[[526,[1163]]]],[527,[[526,[1164]]]],[527,[[526,[1165]]]],[527,[[526,[1166]]]],[527,[[526,[1167]]]],[527,[[526,[1168]]]],[527,[[526,[1169]]]],[527,[[526,[1170]]]],[527,[[526,[1171]]]],[527,[[526,[1172]]]],[527,[[526,[1173]]]],[527,[[526,[1174]]]],[527,[[526,[1175]]]],[527,[[526,[1176]]]],[527,[[526,[1177]]]],[527,[[526,[1178]]]],[527,[[526,[1179]]]],[527,[[526,[1180]]]],[527,[[526,[1181]]]],[527,[[526,[1182]]]],[527,[[526,[1183]]]],[527,[[526,[1184]]]],[527,[[526,[1185]]]],[527,[[526,[1186]]]],[527,[[526,[1187]]]],[527,[[526,[1188]]]],[527,[[526,[1189]]]],[527,[[526,[1190]]]],[527,[[526,[1191]]]],[527,[[526,[1192]]]],[527,[[526,[1193]]]],[527,[[526,[1194]]]],[527,[[526,[1195]]]],[527,[[526,[1196]]]],[527,[[526,[1197]]]],[527,[[526,[1198]]]],[527,[[526,[1199]]]],[527,[[526,[1200]]]],[527,[[526,[1201]]]],[527,[[526,[1202]]]],[527,[[526,[1203]]]],[527,[[526,[1204]]]],[527,[[526,[1205]]]],[527,[[526,[1206]]]],[527,[[526,[1207]]]],[527,[[526,[1208]]]],[527,[[526,[1209]]]],[527,[[526,[1210]]]],[527,[[526,[1211]]]],[527,[[526,[1212]]]],[527,[[526,[1213]]]],[527,[[526,[1214]]]],[527,[[526,[1215]]]],[527,[[526,[1216]]]],[527,[[526,[1217]]]],[527,[[526,[1218]]]],[527,[[526,[1219]]]],[527,[[526,[1220]]]],[527,[[526,[1221]]]],[527,[[526,[1222]]]],[527,[[526,[1223]]]],[527,[[526,[1224]]]],[527,[[526,[1225]]]],[527,[[526,[1226]]]],[527,[[526,[1227]]]],[527,[[526,[1228]]]],[527,[[526,[1229]]]],[527,[[526,[1230]]]],[527,[[526,[1231]]]],[527,[[526,[1232]]]],[527,[[526,[1233]]]],[527,[[526,[1234]]]],[527,[[526,[1235]]]],[527,[[526,[1236]]]],[527,[[526,[1237]]]],[527,[[526,[1238]]]],[527,[[526,[1239]]]],[527,[[526,[1240]]]],[527,[[526,[1241]]]],[527,[[526,[1242]]]],[527,[[526,[1243]]]],[527,[[526,[1244]]]],[527,[[526,[1245]]]],[527,[[526,[1246]]]],[527,[[526,[1247]]]],[527,[[526,[1248]]]],[527,[[526,[1249]]]],[527,[[526,[1250]]]],[527,[[526,[1251]]]],[527,[[526,[1252]]]],[527,[[526,[1253]]]],[527,[[526,[1254]]]],[527,[[526,[1255]]]],[527,[[526,[1256]]]],[527,[[526,[1257]]]],[527,[[526,[1258]]]],[527,[[526,[1259]]]],[527,[[526,[1260]]]],[527,[[526,[1261]]]],[527,[[526,[1262]]]],[527,[[526,[1263]]]],[527,[[526,[1264]]]],[527,[[526,[1265]]]],[527,[[526,[1266]]]],[527,[[526,[1267]]]],[527,[[526,[1268]]]],[527,[[526,[1269]]]],[527,[[526,[1270]]]],[527,[[526,[1271]]]],[527,[[526,[1272]]]],[-1,903,525],[-1,904,525],[-1,905,525],[-1,906,525],[-1,907,525],[-1,908,525],[-1,909,525],[-1,910,525],[-1,911,525],[-1,912,525],[-1,913,525],[-1,914,525],[-1,915,525],[-1,916,525],[-1,917,525],[-1,918,525],[-1,919,525],[-1,920,525],[-1,921,525],[-1,922,525],[-1,923,525],[-1,924,525],[-1,925,525],[-1,926,525],[-1,927,525],[-1,928,525],[-1,929,525],[-1,930,525],[65,[[526,[1156]]]],[65,[[526,[1157]]]],[65,[[526,[1158]]]],[65,[[526,[1159]]]],[65,[[526,[1160]]]],[65,[[526,[1161]]]],[65,[[526,[1162]]]],[65,[[526,[1163]]]],[65,[[526,[1164]]]],[65,[[526,[1165]]]],[65,[[526,[1166]]]],[65,[[526,[1167]]]],[65,[[526,[1168]]]],[65,[[526,[1169]]]],[65,[[526,[1170]]]],[65,[[526,[1171]]]],[65,[[526,[1172]]]],[65,[[526,[1173]]]],[65,[[526,[1174]]]],[65,[[526,[1175]]]],[65,[[526,[1176]]]],[65,[[526,[1177]]]],[65,[[526,[1178]]]],[65,[[526,[1179]]]],[65,[[526,[1180]]]],[65,[[526,[1181]]]],[65,[[526,[1182]]]],[65,[[526,[1183]]]],[65,[[526,[1184]]]],[65,[[526,[1185]]]],[65,[[526,[1186]]]],[65,[[526,[1187]]]],[65,[[526,[1188]]]],[65,[[526,[1189]]]],[65,[[526,[1190]]]],[65,[[526,[1191]]]],[65,[[526,[1192]]]],[65,[[526,[1193]]]],[65,[[526,[1194]]]],[65,[[526,[1195]]]],[65,[[526,[1196]]]],[65,[[526,[1197]]]],[65,[[526,[1198]]]],[65,[[526,[1199]]]],[65,[[526,[1200]]]],[65,[[526,[1201]]]],[65,[[526,[1202]]]],[65,[[526,[1203]]]],[65,[[526,[1204]]]],[65,[[526,[1205]]]],[65,[[526,[1206]]]],[65,[[526,[1207]]]],[65,[[526,[1208]]]],[65,[[526,[1209]]]],[65,[[526,[1210]]]],[65,[[526,[1211]]]],[65,[[526,[1212]]]],[65,[[526,[1213]]]],[65,[[526,[1214]]]],[65,[[526,[1215]]]],[65,[[526,[1216]]]],[65,[[526,[1217]]]],[65,[[526,[1218]]]],[65,[[526,[1219]]]],[65,[[526,[1220]]]],[65,[[526,[1221]]]],[65,[[526,[1222]]]],[65,[[526,[1223]]]],[65,[[526,[1224]]]],[65,[[526,[1225]]]],[65,[[526,[1226]]]],[65,[[526,[1227]]]],[65,[[526,[1228]]]],[65,[[526,[1229]]]],[65,[[526,[1230]]]],[65,[[526,[1231]]]],[65,[[526,[1232]]]],[65,[[526,[1233]]]],[65,[[526,[1234]]]],[65,[[526,[1235]]]],[65,[[526,[1236]]]],[65,[[526,[1237]]]],[65,[[526,[1238]]]],[65,[[526,[1239]]]],[65,[[526,[1240]]]],[65,[[526,[1241]]]],[65,[[526,[1242]]]],[65,[[526,[1243]]]],[65,[[526,[1244]]]],[65,[[526,[1245]]]],[65,[[526,[1246]]]],[65,[[526,[1247]]]],[65,[[526,[1248]]]],[65,[[526,[1249]]]],[65,[[526,[1250]]]],[65,[[526,[1251]]]],[65,[[526,[1252]]]],[65,[[526,[1253]]]],[65,[[526,[1254]]]],[65,[[526,[1255]]]],[65,[[526,[1256]]]],[65,[[526,[1257]]]],[65,[[526,[1258]]]],[65,[[526,[1259]]]],[65,[[526,[1260]]]],[65,[[526,[1261]]]],[65,[[526,[1262]]]],[65,[[526,[1263]]]],[65,[[526,[1264]]]],[65,[[526,[1265]]]],[65,[[526,[1266]]]],[65,[[526,[1267]]]],[65,[[526,[1268]]]],[65,[[526,[1269]]]],[65,[[526,[1270]]]],[65,[[526,[1271]]]],[65,[[526,[1272]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,-1],9,528],[[904,-1],9,528],[[905,-1],9,528],[[906,-1],9,528],[[907,-1],9,528],[[908,-1],9,528],[[909,-1],9,528],[[910,-1],9,528],[[911,-1],9,528],[[912,-1],9,528],[[913,-1],9,528],[[914,-1],9,528],[[915,-1],9,528],[[916,-1],9,528],[[917,-1],9,528],[[918,-1],9,528],[[919,-1],9,528],[[920,-1],9,528],[[921,-1],9,528],[[922,-1],9,528],[[923,-1],9,528],[[924,-1],9,528],[[925,-1],9,528],[[926,-1],9,528],[[927,-1],9,528],[[928,-1],9,528],[[929,-1],9,528],[[930,-1],9,528],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],[[903,903],20],[[904,904],20],[[905,905],20],[[906,906],20],[[907,907],20],[[908,908],20],[[909,909],20],[[910,910],20],[[911,911],20],[[912,912],20],[[913,913],20],[[914,914],20],[[915,915],20],[[916,916],20],[[917,917],20],[[918,918],20],[[919,919],20],[[920,920],20],[[921,921],20],[[922,922],20],[[923,923],20],[[924,924],20],[[925,925],20],[[926,926],20],[[927,927],20],[[928,928],20],[[929,929],20],[[930,930],20],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[903,20],[904,20],[905,20],[906,20],[907,20],[908,20],[909,20],[910,20],[911,20],[912,20],[913,20],[914,20],[915,20],[916,20],[917,20],[918,20],[919,20],[920,20],[921,20],[922,20],[923,20],[924,20],[925,20],[926,20],[927,20],[928,20],[929,20],[930,20],[903,20],[904,20],[905,20],[906,20],[907,20],[908,20],[909,20],[910,20],[911,20],[912,20],[913,20],[914,20],[915,20],[916,20],[917,20],[918,20],[919,20],[920,20],[921,20],[922,20],[923,20],[924,20],[925,20],[926,20],[927,20],[928,20],[929,20],[930,20],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[931,15],0,[11,[[16,[15,11]]]],[931,11],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[903,903],[904,904],[905,905],[906,906],[907,907],[908,908],[909,909],[910,910],[911,911],[912,912],[913,913],[914,914],[915,915],[916,916],[917,917],[918,918],[919,919],[920,920],[921,921],[922,922],[923,923],[924,924],[925,925],[926,926],[927,927],[928,928],[929,929],[930,930],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[5,15,[17,[10]]],[[16,[931,18]]]],[[903,903],[[526,[524]]]],[[904,904],[[526,[524]]]],[[905,905],[[526,[524]]]],[[906,906],[[526,[524]]]],[[907,907],[[526,[524]]]],[[908,908],[[526,[524]]]],[[909,909],[[526,[524]]]],[[910,910],[[526,[524]]]],[[911,911],[[526,[524]]]],[[912,912],[[526,[524]]]],[[913,913],[[526,[524]]]],[[914,914],[[526,[524]]]],[[915,915],[[526,[524]]]],[[916,916],[[526,[524]]]],[[917,917],[[526,[524]]]],[[918,918],[[526,[524]]]],[[919,919],[[526,[524]]]],[[920,920],[[526,[524]]]],[[921,921],[[526,[524]]]],[[922,922],[[526,[524]]]],[[923,923],[[526,[524]]]],[[924,924],[[526,[524]]]],[[925,925],[[526,[524]]]],[[926,926],[[526,[524]]]],[[927,927],[[526,[524]]]],[[928,928],[[526,[524]]]],[[929,929],[[526,[524]]]],[[930,930],[[526,[524]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[931,5,[17,[10]]],26],[[932,5,[17,[10]]],26],[[933,5,[17,[10]]],26],[[934,5,[17,[10]]],26],[[935,5,[17,[10]]],26],[[936,5,[17,[10]]],26],[[937,5,[17,[10]]],26],[[938,5,[17,[10]]],26],[[939,5,[17,[10]]],26],[[940,5,[17,[10]]],26],[[941,5,[17,[10]]],26],[[942,5,[17,[10]]],26],[[943,5,[17,[10]]],26],[[944,5,[17,[10]]],26],[[945,5,[17,[10]]],26],[[946,5,[17,[10]]],26],[[947,5,[17,[10]]],26],[[948,5,[17,[10]]],26],[[949,5,[17,[10]]],26],[[950,5,[17,[10]]],26],[[951,5,[17,[10]]],26],[[952,5,[17,[10]]],26],[[953,5,[17,[10]]],26],[[954,5,[17,[10]]],26],[[955,5,[17,[10]]],26],[[956,5,[17,[10]]],26],[[957,5,[17,[10]]],26],[[958,5,[17,[10]]],26],[[959,5,[17,[10]]],26],[[960,5,[17,[10]]],26],[[961,5,[17,[10]]],26],[[962,5,[17,[10]]],26],[[963,5,[17,[10]]],26],[[964,5,[17,[10]]],26],[[965,5,[17,[10]]],26],[[966,5,[17,[10]]],26],[[967,5,[17,[10]]],26],[[968,5,[17,[10]]],26],[[969,5,[17,[10]]],26],[[970,5,[17,[10]]],26],[[971,5,[17,[10]]],26],[[972,5,[17,[10]]],26],[[973,5,[17,[10]]],26],[[974,5,[17,[10]]],26],[[975,5,[17,[10]]],26],[[976,5,[17,[10]]],26],[[977,5,[17,[10]]],26],[[978,5,[17,[10]]],26],[[979,5,[17,[10]]],26],[[980,5,[17,[10]]],26],[[981,5,[17,[10]]],26],[[982,5,[17,[10]]],26],[[983,5,[17,[10]]],26],[[984,5,[17,[10]]],26],[[985,5,[17,[10]]],26],[[986,5,[17,[10]]],26],[[987,5,[17,[10]]],26],[[988,5,[17,[10]]],26],[[989,5,[17,[10]]],26],[[990,5,[17,[10]]],26],[[991,5,[17,[10]]],26],[[992,5,[17,[10]]],26],[[993,5,[17,[10]]],26],[[994,5,[17,[10]]],26],[[995,5,[17,[10]]],26],[[996,5,[17,[10]]],26],[[997,5,[17,[10]]],26],[[998,5,[17,[10]]],26],[[999,5,[17,[10]]],26],[[1000,5,[17,[10]]],26],[[1001,5,[17,[10]]],26],[[1002,5,[17,[10]]],26],[[1003,5,[17,[10]]],26],[[1004,5,[17,[10]]],26],[[1005,5,[17,[10]]],26],[[1006,5,[17,[10]]],26],[[1007,5,[17,[10]]],26],[[1008,5,[17,[10]]],26],[[1009,5,[17,[10]]],26],[[1010,5,[17,[10]]],26],[[1011,5,[17,[10]]],26],[[1012,5,[17,[10]]],26],[[1013,5,[17,[10]]],26],[[1014,5,[17,[10]]],26],[[1015,5,[17,[10]]],26],[[1016,5,[17,[10]]],26],[[1017,5,[17,[10]]],26],[[1018,5,[17,[10]]],26],[[1019,5,[17,[10]]],26],[[1020,5,[17,[10]]],26],[[1021,5,[17,[10]]],26],[[1022,5,[17,[10]]],26],[[1023,5,[17,[10]]],26],[[1024,5,[17,[10]]],26],[[1025,5,[17,[10]]],26],[[1026,5,[17,[10]]],26],[[1027,5,[17,[10]]],26],[[1028,5,[17,[10]]],26],[[1029,5,[17,[10]]],26],[[1030,5,[17,[10]]],26],[[1031,5,[17,[10]]],26],[[1032,5,[17,[10]]],26],[[1033,5,[17,[10]]],26],[[1034,5,[17,[10]]],26],[[1035,5,[17,[10]]],26],[[1036,5,[17,[10]]],26],[[1037,5,[17,[10]]],26],[[1038,5,[17,[10]]],26],[[1039,5,[17,[10]]],26],[[1040,5,[17,[10]]],26],[[1041,5,[17,[10]]],26],[[1042,5,[17,[10]]],26],[[1043,5,[17,[10]]],26],[[1044,5,[17,[10]]],26],[[1045,5,[17,[10]]],26],[[1046,5,[17,[10]]],26],[[1047,5,[17,[10]]],26],[[1048,5,[17,[10]]],26],[[1049,5,[17,[10]]],26],[[1050,5,[17,[10]]],26],[[1051,5,[17,[10]]],26],[[1052,5,[17,[10]]],26],[[1053,5,[17,[10]]],26],[[1054,5,[17,[10]]],26],[[1055,5,[17,[10]]],26],[[1056,5,[17,[10]]],26],[[1057,5,[17,[10]]],26],[[1058,5,[17,[10]]],26],[[1059,5,[17,[10]]],26],[[1060,5,[17,[10]]],26],[[1061,5,[17,[10]]],26],[[1062,5,[17,[10]]],26],[[1063,5,[17,[10]]],26],[[1064,5,[17,[10]]],26],[[1065,5,[17,[10]]],26],[[1066,5,[17,[10]]],26],[[1067,5,[17,[10]]],26],[[1068,5,[17,[10]]],26],[[1069,5,[17,[10]]],26],[[1070,5,[17,[10]]],26],[[1071,5,[17,[10]]],26],[[1072,5,[17,[10]]],26],[[1073,5,[17,[10]]],26],[[1074,5,[17,[10]]],26],[[1075,5,[17,[10]]],26],[[1076,5,[17,[10]]],26],[[1077,5,[17,[10]]],26],[[1078,5,[17,[10]]],26],[[1079,5,[17,[10]]],26],[[1080,5,[17,[10]]],26],[[1081,5,[17,[10]]],26],[[1082,5,[17,[10]]],26],[[1083,5,[17,[10]]],26],[[1084,5,[17,[10]]],26],[[1085,5,[17,[10]]],26],[[1086,5,[17,[10]]],26],[[1087,5,[17,[10]]],26],[[1088,5,[17,[10]]],26],[[1089,5,[17,[10]]],26],[[1090,5,[17,[10]]],26],[[1091,5,[17,[10]]],26],[[1092,5,[17,[10]]],26],[[1093,5,[17,[10]]],26],[[1094,5,[17,[10]]],26],[[1095,5,[17,[10]]],26],[[1096,5,[17,[10]]],26],[[1097,5,[17,[10]]],26],[[1098,5,[17,[10]]],26],[[1099,5,[17,[10]]],26],[[1100,5,[17,[10]]],26],[[1101,5,[17,[10]]],26],[[1102,5,[17,[10]]],26],[[1103,5,[17,[10]]],26],[[1104,5,[17,[10]]],26],[[1105,5,[17,[10]]],26],[[1106,5,[17,[10]]],26],[[1107,5,[17,[10]]],26],[[1108,5,[17,[10]]],26],[[1109,5,[17,[10]]],26],[[1110,5,[17,[10]]],26],[[1111,5,[17,[10]]],26],[[1112,5,[17,[10]]],26],[[1113,5,[17,[10]]],26],[[1114,5,[17,[10]]],26],[[1115,5,[17,[10]]],26],[[1116,5,[17,[10]]],26],[[1117,5,[17,[10]]],26],[[1118,5,[17,[10]]],26],[[1119,5,[17,[10]]],26],[[1120,5,[17,[10]]],26],[[1121,5,[17,[10]]],26],[[1122,5,[17,[10]]],26],[[1123,5,[17,[10]]],26],[[1124,5,[17,[10]]],26],[[1125,5,[17,[10]]],26],[[1126,5,[17,[10]]],26],[[1127,5,[17,[10]]],26],[[1128,5,[17,[10]]],26],[[1129,5,[17,[10]]],26],[[1130,5,[17,[10]]],26],[[1131,5,[17,[10]]],26],[[1132,5,[17,[10]]],26],[[1133,5,[17,[10]]],26],[[1134,5,[17,[10]]],26],[[1135,5,[17,[10]]],26],[[1136,5,[17,[10]]],26],[[1137,5,[17,[10]]],26],[[1138,5,[17,[10]]],26],[[1139,5,[17,[10]]],26],[[1140,5,[17,[10]]],26],[[1141,5,[17,[10]]],26],[[1142,5,[17,[10]]],26],[[1143,5,[17,[10]]],26],[[1144,5,[17,[10]]],26],[[1145,5,[17,[10]]],26],[[1146,5,[17,[10]]],26],[[1147,5,[17,[10]]],26],[[1148,5,[17,[10]]],26],[[1149,5,[17,[10]]],26],[[1150,5,[17,[10]]],26],[[1151,5,[17,[10]]],26],[[1152,5,[17,[10]]],26],[[1153,5,[17,[10]]],26],[[1154,5,[17,[10]]],26],[[1155,5,[17,[10]]],26],0,[[931,-1],16,28],[[932,-1],16,28],[[933,-1],16,28],[[934,-1],16,28],[[935,-1],16,28],[[936,-1],16,28],[[937,-1],16,28],[[938,-1],16,28],[[939,-1],16,28],[[940,-1],16,28],[[941,-1],16,28],[[942,-1],16,28],[[943,-1],16,28],[[944,-1],16,28],[[945,-1],16,28],[[946,-1],16,28],[[947,-1],16,28],[[948,-1],16,28],[[949,-1],16,28],[[950,-1],16,28],[[951,-1],16,28],[[952,-1],16,28],[[953,-1],16,28],[[954,-1],16,28],[[955,-1],16,28],[[956,-1],16,28],[[957,-1],16,28],[[958,-1],16,28],[[959,-1],16,28],[[960,-1],16,28],[[961,-1],16,28],[[962,-1],16,28],[[963,-1],16,28],[[964,-1],16,28],[[965,-1],16,28],[[966,-1],16,28],[[967,-1],16,28],[[968,-1],16,28],[[969,-1],16,28],[[970,-1],16,28],[[971,-1],16,28],[[972,-1],16,28],[[973,-1],16,28],[[974,-1],16,28],[[975,-1],16,28],[[976,-1],16,28],[[977,-1],16,28],[[978,-1],16,28],[[979,-1],16,28],[[980,-1],16,28],[[981,-1],16,28],[[982,-1],16,28],[[983,-1],16,28],[[984,-1],16,28],[[985,-1],16,28],[[986,-1],16,28],[[987,-1],16,28],[[988,-1],16,28],[[989,-1],16,28],[[990,-1],16,28],[[991,-1],16,28],[[992,-1],16,28],[[993,-1],16,28],[[994,-1],16,28],[[995,-1],16,28],[[996,-1],16,28],[[997,-1],16,28],[[998,-1],16,28],[[999,-1],16,28],[[1000,-1],16,28],[[1001,-1],16,28],[[1002,-1],16,28],[[1003,-1],16,28],[[1004,-1],16,28],[[1005,-1],16,28],[[1006,-1],16,28],[[1007,-1],16,28],[[1008,-1],16,28],[[1009,-1],16,28],[[1010,-1],16,28],[[1011,-1],16,28],[[1012,-1],16,28],[[1013,-1],16,28],[[1014,-1],16,28],[[1015,-1],16,28],[[1016,-1],16,28],[[1017,-1],16,28],[[1018,-1],16,28],[[1019,-1],16,28],[[1020,-1],16,28],[[1021,-1],16,28],[[1022,-1],16,28],[[1023,-1],16,28],[[1024,-1],16,28],[[1025,-1],16,28],[[1026,-1],16,28],[[1027,-1],16,28],[[1028,-1],16,28],[[1029,-1],16,28],[[1030,-1],16,28],[[1031,-1],16,28],[[1032,-1],16,28],[[1033,-1],16,28],[[1034,-1],16,28],[[1035,-1],16,28],[[1036,-1],16,28],[[1037,-1],16,28],[[1038,-1],16,28],[[1039,-1],16,28],[[1040,-1],16,28],[[1041,-1],16,28],[[1042,-1],16,28],[[1043,-1],16,28],[[1044,-1],16,28],[[1045,-1],16,28],[[1046,-1],16,28],[[1047,-1],16,28],[[1048,-1],16,28],[[1049,-1],16,28],[[1050,-1],16,28],[[1051,-1],16,28],[[1052,-1],16,28],[[1053,-1],16,28],[[1054,-1],16,28],[[1055,-1],16,28],[[1056,-1],16,28],[[1057,-1],16,28],[[1058,-1],16,28],[[1059,-1],16,28],[[1060,-1],16,28],[[1061,-1],16,28],[[1062,-1],16,28],[[1063,-1],16,28],[[1064,-1],16,28],[[1065,-1],16,28],[[1066,-1],16,28],[[1067,-1],16,28],[[1068,-1],16,28],[[1069,-1],16,28],[[1070,-1],16,28],[[1071,-1],16,28],[[1072,-1],16,28],[[1073,-1],16,28],[[1074,-1],16,28],[[1075,-1],16,28],[[1076,-1],16,28],[[1077,-1],16,28],[[1078,-1],16,28],[[1079,-1],16,28],[[1080,-1],16,28],[[1081,-1],16,28],[[1082,-1],16,28],[[1083,-1],16,28],[[1084,-1],16,28],[[1085,-1],16,28],[[1086,-1],16,28],[[1087,-1],16,28],[[1088,-1],16,28],[[1089,-1],16,28],[[1090,-1],16,28],[[1091,-1],16,28],[[1092,-1],16,28],[[1093,-1],16,28],[[1094,-1],16,28],[[1095,-1],16,28],[[1096,-1],16,28],[[1097,-1],16,28],[[1098,-1],16,28],[[1099,-1],16,28],[[1100,-1],16,28],[[1101,-1],16,28],[[1102,-1],16,28],[[1103,-1],16,28],[[1104,-1],16,28],[[1105,-1],16,28],[[1106,-1],16,28],[[1107,-1],16,28],[[1108,-1],16,28],[[1109,-1],16,28],[[1110,-1],16,28],[[1111,-1],16,28],[[1112,-1],16,28],[[1113,-1],16,28],[[1114,-1],16,28],[[1115,-1],16,28],[[1116,-1],16,28],[[1117,-1],16,28],[[1118,-1],16,28],[[1119,-1],16,28],[[1120,-1],16,28],[[1121,-1],16,28],[[1122,-1],16,28],[[1123,-1],16,28],[[1124,-1],16,28],[[1125,-1],16,28],[[1126,-1],16,28],[[1127,-1],16,28],[[1128,-1],16,28],[[1129,-1],16,28],[[1130,-1],16,28],[[1131,-1],16,28],[[1132,-1],16,28],[[1133,-1],16,28],[[1134,-1],16,28],[[1135,-1],16,28],[[1136,-1],16,28],[[1137,-1],16,28],[[1138,-1],16,28],[[1139,-1],16,28],[[1140,-1],16,28],[[1141,-1],16,28],[[1142,-1],16,28],[[1143,-1],16,28],[[1144,-1],16,28],[[1145,-1],16,28],[[1146,-1],16,28],[[1147,-1],16,28],[[1148,-1],16,28],[[1149,-1],16,28],[[1150,-1],16,28],[[1151,-1],16,28],[[1152,-1],16,28],[[1153,-1],16,28],[[1154,-1],16,28],[[1155,-1],16,28],[[1156,-1],16,28],[[1157,-1],16,28],[[903,-1],16,28],[[904,-1],16,28],[[1158,-1],16,28],[[1159,-1],16,28],[[1160,-1],16,28],[[1161,-1],16,28],[[1162,-1],16,28],[[1163,-1],16,28],[[1164,-1],16,28],[[905,-1],16,28],[[1165,-1],16,28],[[1166,-1],16,28],[[1167,-1],16,28],[[1168,-1],16,28],[[906,-1],16,28],[[1169,-1],16,28],[[907,-1],16,28],[[908,-1],16,28],[[909,-1],16,28],[[1170,-1],16,28],[[1171,-1],16,28],[[910,-1],16,28],[[1172,-1],16,28],[[1173,-1],16,28],[[1174,-1],16,28],[[1175,-1],16,28],[[911,-1],16,28],[[1176,-1],16,28],[[912,-1],16,28],[[1177,-1],16,28],[[1178,-1],16,28],[[1179,-1],16,28],[[1180,-1],16,28],[[1181,-1],16,28],[[913,-1],16,28],[[1182,-1],16,28],[[1183,-1],16,28],[[1184,-1],16,28],[[1185,-1],16,28],[[1186,-1],16,28],[[1187,-1],16,28],[[1188,-1],16,28],[[1189,-1],16,28],[[1190,-1],16,28],[[1191,-1],16,28],[[914,-1],16,28],[[1192,-1],16,28],[[1193,-1],16,28],[[1194,-1],16,28],[[1195,-1],16,28],[[1196,-1],16,28],[[1197,-1],16,28],[[915,-1],16,28],[[1198,-1],16,28],[[916,-1],16,28],[[1199,-1],16,28],[[917,-1],16,28],[[1200,-1],16,28],[[1201,-1],16,28],[[1202,-1],16,28],[[1203,-1],16,28],[[1204,-1],16,28],[[1205,-1],16,28],[[1206,-1],16,28],[[1207,-1],16,28],[[1208,-1],16,28],[[1209,-1],16,28],[[1210,-1],16,28],[[1211,-1],16,28],[[1212,-1],16,28],[[918,-1],16,28],[[1213,-1],16,28],[[1214,-1],16,28],[[1215,-1],16,28],[[1216,-1],16,28],[[1217,-1],16,28],[[919,-1],16,28],[[1218,-1],16,28],[[1219,-1],16,28],[[1220,-1],16,28],[[1221,-1],16,28],[[1222,-1],16,28],[[1223,-1],16,28],[[1224,-1],16,28],[[1225,-1],16,28],[[1226,-1],16,28],[[920,-1],16,28],[[1227,-1],16,28],[[1228,-1],16,28],[[1229,-1],16,28],[[1230,-1],16,28],[[1231,-1],16,28],[[1232,-1],16,28],[[921,-1],16,28],[[1233,-1],16,28],[[1234,-1],16,28],[[1235,-1],16,28],[[1236,-1],16,28],[[1237,-1],16,28],[[922,-1],16,28],[[923,-1],16,28],[[1238,-1],16,28],[[1239,-1],16,28],[[1240,-1],16,28],[[1241,-1],16,28],[[1242,-1],16,28],[[1243,-1],16,28],[[1244,-1],16,28],[[924,-1],16,28],[[925,-1],16,28],[[1245,-1],16,28],[[1246,-1],16,28],[[1247,-1],16,28],[[1248,-1],16,28],[[1249,-1],16,28],[[1250,-1],16,28],[[1251,-1],16,28],[[926,-1],16,28],[[1252,-1],16,28],[[1253,-1],16,28],[[927,-1],16,28],[[1254,-1],16,28],[[1255,-1],16,28],[[1256,-1],16,28],[[1257,-1],16,28],[[1258,-1],16,28],[[1259,-1],16,28],[[1260,-1],16,28],[[1261,-1],16,28],[[1262,-1],16,28],[[1263,-1],16,28],[[1264,-1],16,28],[[1265,-1],16,28],[[928,-1],16,28],[[1266,-1],16,28],[[1267,-1],16,28],[[1268,-1],16,28],[[929,-1],16,28],[[930,-1],16,28],[[1269,-1],16,28],[[1270,-1],16,28],[[1271,-1],16,28],[[1272,-1],16,28],0,0,0,0,0,0,0,0,[[903,903,20],9],[[904,904,20],9],[[905,905,20],9],[[906,906,20],9],[[907,907,20],9],[[908,908,20],9],[[909,909,20],9],[[910,910,20],9],[[911,911,20],9],[[912,912,20],9],[[913,913,20],9],[[914,914,20],9],[[915,915,20],9],[[916,916,20],9],[[917,917,20],9],[[918,918,20],9],[[919,919,20],9],[[920,920,20],9],[[921,921,20],9],[[922,922,20],9],[[923,923,20],9],[[924,924,20],9],[[925,925,20],9],[[926,926,20],9],[[927,927,20],9],[[928,928,20],9],[[929,929,20],9],[[930,930,20],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],0,0,0,0,0,[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1156,[[526,[527]]]],[1157,[[526,[527]]]],[1158,[[526,[527]]]],[1159,[[526,[527]]]],[1160,[[526,[527]]]],[1161,[[526,[527]]]],[1162,[[526,[527]]]],[1163,[[526,[527]]]],[1164,[[526,[527]]]],[1165,[[526,[527]]]],[1166,[[526,[527]]]],[1167,[[526,[527]]]],[1168,[[526,[527]]]],[1169,[[526,[527]]]],[1170,[[526,[527]]]],[1171,[[526,[527]]]],[1172,[[526,[527]]]],[1173,[[526,[527]]]],[1174,[[526,[527]]]],[1175,[[526,[527]]]],[1176,[[526,[527]]]],[1177,[[526,[527]]]],[1178,[[526,[527]]]],[1179,[[526,[527]]]],[1180,[[526,[527]]]],[1181,[[526,[527]]]],[1182,[[526,[527]]]],[1183,[[526,[527]]]],[1184,[[526,[527]]]],[1185,[[526,[527]]]],[1186,[[526,[527]]]],[1187,[[526,[527]]]],[1188,[[526,[527]]]],[1189,[[526,[527]]]],[1190,[[526,[527]]]],[1191,[[526,[527]]]],[1192,[[526,[527]]]],[1193,[[526,[527]]]],[1194,[[526,[527]]]],[1195,[[526,[527]]]],[1196,[[526,[527]]]],[1197,[[526,[527]]]],[1198,[[526,[527]]]],[1199,[[526,[527]]]],[1200,[[526,[527]]]],[1201,[[526,[527]]]],[1202,[[526,[527]]]],[1203,[[526,[527]]]],[1204,[[526,[527]]]],[1205,[[526,[527]]]],[1206,[[526,[527]]]],[1207,[[526,[527]]]],[1208,[[526,[527]]]],[1209,[[526,[527]]]],[1210,[[526,[527]]]],[1211,[[526,[527]]]],[1212,[[526,[527]]]],[1213,[[526,[527]]]],[1214,[[526,[527]]]],[1215,[[526,[527]]]],[1216,[[526,[527]]]],[1217,[[526,[527]]]],[1218,[[526,[527]]]],[1219,[[526,[527]]]],[1220,[[526,[527]]]],[1221,[[526,[527]]]],[1222,[[526,[527]]]],[1223,[[526,[527]]]],[1224,[[526,[527]]]],[1225,[[526,[527]]]],[1226,[[526,[527]]]],[1227,[[526,[527]]]],[1228,[[526,[527]]]],[1229,[[526,[527]]]],[1230,[[526,[527]]]],[1231,[[526,[527]]]],[1232,[[526,[527]]]],[1233,[[526,[527]]]],[1234,[[526,[527]]]],[1235,[[526,[527]]]],[1236,[[526,[527]]]],[1237,[[526,[527]]]],[1238,[[526,[527]]]],[1239,[[526,[527]]]],[1240,[[526,[527]]]],[1241,[[526,[527]]]],[1242,[[526,[527]]]],[1243,[[526,[527]]]],[1244,[[526,[527]]]],[1245,[[526,[527]]]],[1246,[[526,[527]]]],[1247,[[526,[527]]]],[1248,[[526,[527]]]],[1249,[[526,[527]]]],[1250,[[526,[527]]]],[1251,[[526,[527]]]],[1252,[[526,[527]]]],[1253,[[526,[527]]]],[1254,[[526,[527]]]],[1255,[[526,[527]]]],[1256,[[526,[527]]]],[1257,[[526,[527]]]],[1258,[[526,[527]]]],[1259,[[526,[527]]]],[1260,[[526,[527]]]],[1261,[[526,[527]]]],[1262,[[526,[527]]]],[1263,[[526,[527]]]],[1264,[[526,[527]]]],[1265,[[526,[527]]]],[1266,[[526,[527]]]],[1267,[[526,[527]]]],[1268,[[526,[527]]]],[1269,[[526,[527]]]],[1270,[[526,[527]]]],[1271,[[526,[527]]]],[1272,[[526,[527]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[1156,[[526,[65]]]],[1157,[[526,[65]]]],[1158,[[526,[65]]]],[1159,[[526,[65]]]],[1160,[[526,[65]]]],[1161,[[526,[65]]]],[1162,[[526,[65]]]],[1163,[[526,[65]]]],[1164,[[526,[65]]]],[1165,[[526,[65]]]],[1166,[[526,[65]]]],[1167,[[526,[65]]]],[1168,[[526,[65]]]],[1169,[[526,[65]]]],[1170,[[526,[65]]]],[1171,[[526,[65]]]],[1172,[[526,[65]]]],[1173,[[526,[65]]]],[1174,[[526,[65]]]],[1175,[[526,[65]]]],[1176,[[526,[65]]]],[1177,[[526,[65]]]],[1178,[[526,[65]]]],[1179,[[526,[65]]]],[1180,[[526,[65]]]],[1181,[[526,[65]]]],[1182,[[526,[65]]]],[1183,[[526,[65]]]],[1184,[[526,[65]]]],[1185,[[526,[65]]]],[1186,[[526,[65]]]],[1187,[[526,[65]]]],[1188,[[526,[65]]]],[1189,[[526,[65]]]],[1190,[[526,[65]]]],[1191,[[526,[65]]]],[1192,[[526,[65]]]],[1193,[[526,[65]]]],[1194,[[526,[65]]]],[1195,[[526,[65]]]],[1196,[[526,[65]]]],[1197,[[526,[65]]]],[1198,[[526,[65]]]],[1199,[[526,[65]]]],[1200,[[526,[65]]]],[1201,[[526,[65]]]],[1202,[[526,[65]]]],[1203,[[526,[65]]]],[1204,[[526,[65]]]],[1205,[[526,[65]]]],[1206,[[526,[65]]]],[1207,[[526,[65]]]],[1208,[[526,[65]]]],[1209,[[526,[65]]]],[1210,[[526,[65]]]],[1211,[[526,[65]]]],[1212,[[526,[65]]]],[1213,[[526,[65]]]],[1214,[[526,[65]]]],[1215,[[526,[65]]]],[1216,[[526,[65]]]],[1217,[[526,[65]]]],[1218,[[526,[65]]]],[1219,[[526,[65]]]],[1220,[[526,[65]]]],[1221,[[526,[65]]]],[1222,[[526,[65]]]],[1223,[[526,[65]]]],[1224,[[526,[65]]]],[1225,[[526,[65]]]],[1226,[[526,[65]]]],[1227,[[526,[65]]]],[1228,[[526,[65]]]],[1229,[[526,[65]]]],[1230,[[526,[65]]]],[1231,[[526,[65]]]],[1232,[[526,[65]]]],[1233,[[526,[65]]]],[1234,[[526,[65]]]],[1235,[[526,[65]]]],[1236,[[526,[65]]]],[1237,[[526,[65]]]],[1238,[[526,[65]]]],[1239,[[526,[65]]]],[1240,[[526,[65]]]],[1241,[[526,[65]]]],[1242,[[526,[65]]]],[1243,[[526,[65]]]],[1244,[[526,[65]]]],[1245,[[526,[65]]]],[1246,[[526,[65]]]],[1247,[[526,[65]]]],[1248,[[526,[65]]]],[1249,[[526,[65]]]],[1250,[[526,[65]]]],[1251,[[526,[65]]]],[1252,[[526,[65]]]],[1253,[[526,[65]]]],[1254,[[526,[65]]]],[1255,[[526,[65]]]],[1256,[[526,[65]]]],[1257,[[526,[65]]]],[1258,[[526,[65]]]],[1259,[[526,[65]]]],[1260,[[526,[65]]]],[1261,[[526,[65]]]],[1262,[[526,[65]]]],[1263,[[526,[65]]]],[1264,[[526,[65]]]],[1265,[[526,[65]]]],[1266,[[526,[65]]]],[1267,[[526,[65]]]],[1268,[[526,[65]]]],[1269,[[526,[65]]]],[1270,[[526,[65]]]],[1271,[[526,[65]]]],[1272,[[526,[65]]]],[[903,903],9],[[904,904],9],[[905,905],9],[[906,906],9],[[907,907],9],[[908,908],9],[[909,909],9],[[910,910],9],[[911,911],9],[[912,912],9],[[913,913],9],[[914,914],9],[[915,915],9],[[916,916],9],[[917,917],9],[[918,918],9],[[919,919],9],[[920,920],9],[[921,921],9],[[922,922],9],[[923,923],9],[[924,924],9],[[925,925],9],[[926,926],9],[[927,927],9],[[928,928],9],[[929,929],9],[[930,930],9],0,0,0,0,0,0,0,0,[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],[-1,[[16,[-2]]],[],[]],0,0,0,0,0,0,0,0,0,0,0,[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],0,0,0,0,0,0,0,0,0,0,0,[[903,903],903],[[904,904],904],[[905,905],905],[[906,906],906],[[907,907],907],[[908,908],908],[[909,909],909],[[910,910],910],[[911,911],911],[[912,912],912],[[913,913],913],[[914,914],914],[[915,915],915],[[916,916],916],[[917,917],917],[[918,918],918],[[919,919],919],[[920,920],920],[[921,921],921],[[922,922],922],[[923,923],923],[[924,924],924],[[925,925],925],[[926,926],926],[[927,927],927],[[928,928],928],[[929,929],929],[[930,930],930],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"c":[],"p":[[3,"MAVLinkV1MessageRaw",0],[15,"u16"],[3,"MAVLinkV2MessageRaw",0],[3,"MavHeader",0],[4,"MavlinkVersion",0],[3,"MavFrame",0],[8,"Clone",39159],[8,"Message",0],[15,"tuple"],[15,"u8"],[15,"str"],[8,"MavConnection",0],[3,"Box",39160],[6,"Result",39161],[15,"u32"],[4,"Result",39162],[15,"slice"],[4,"ParserError",27060],[8,"Deserializer",39163],[15,"bool"],[3,"Formatter",39164],[6,"Result",39164],[8,"Debug",39164],[4,"MessageReadError",27060],[8,"Read",39165],[15,"usize"],[4,"MessageWriteError",27060],[8,"Serializer",39166],[8,"Serialize",39166],[8,"MessageData",0],[3,"TypeId",39167],[8,"Write",39165],[3,"UavionixAdsbOutDynamicState",156],[3,"MavPowerStatus",156],[3,"UtmDataAvailFlags",156],[3,"GoproHeartbeatFlags",156],[3,"AisFlags",156],[3,"MavProtocolCapability",156],[3,"HilSensorUpdatedFlags",156],[3,"PositionTargetTypemask",156],[3,"GimbalDeviceErrorFlags",156],[3,"CameraCapFlags",156],[3,"EscFailureFlags",156],[3,"GimbalDeviceCapFlags",156],[3,"LimitModule",156],[3,"AdsbFlags",156],[3,"GpsInputIgnoreFlags",156],[3,"MavModeFlag",156],[3,"HlFailureFlag",156],[3,"MavEventCurrentSequenceFlags",156],[3,"UavionixAdsbRfHealth",156],[3,"GimbalManagerCapFlags",156],[3,"AttitudeTargetTypemask",156],[3,"MavWinchStatusFlag",156],[3,"MavSysStatusSensor",156],[3,"MavGeneratorStatusFlag",156],[3,"UavionixAdsbOutRfSelect",156],[3,"GimbalDeviceFlags",156],[3,"TuneFormat",156],[3,"HighresImuUpdatedFlags",156],[3,"EstimatorStatusFlags",156],[3,"RallyFlags",156],[3,"SerialControlFlag",156],[3,"EkfStatusFlags",156],[15,"u64"],[4,"MavMessage",156],[3,"PARAM_REQUEST_READ_DATA",156],[3,"RAW_RPM_DATA",156],[3,"LOCAL_POSITION_NED_COV_DATA",156],[3,"MCU_STATUS_DATA",156],[3,"EVENT_DATA",156],[3,"OPEN_DRONE_ID_BASIC_ID_DATA",156],[3,"DEBUG_DATA",156],[3,"MOUNT_STATUS_DATA",156],[3,"CURRENT_EVENT_SEQUENCE_DATA",156],[3,"DATA16_DATA",156],[3,"EXTENDED_SYS_STATE_DATA",156],[3,"MANUAL_CONTROL_DATA",156],[3,"RALLY_POINT_DATA",156],[3,"ORBIT_EXECUTION_STATUS_DATA",156],[3,"PARAM_VALUE_DATA",156],[3,"ESTIMATOR_STATUS_DATA",156],[3,"UAVIONIX_ADSB_OUT_CFG_DATA",156],[3,"HIL_STATE_QUATERNION_DATA",156],[3,"MISSION_SET_CURRENT_DATA",156],[3,"RESPONSE_EVENT_ERROR_DATA",156],[3,"PARAM_EXT_VALUE_DATA",156],[3,"RC_CHANNELS_RAW_DATA",156],[3,"COMMAND_CANCEL_DATA",156],[3,"DEVICE_OP_WRITE_REPLY_DATA",156],[3,"MEMINFO_DATA",156],[3,"VISION_POSITION_ESTIMATE_DATA",156],[3,"MISSION_WRITE_PARTIAL_LIST_DATA",156],[3,"NAMED_VALUE_FLOAT_DATA",156],[3,"COMMAND_LONG_DATA",156],[3,"DATA32_DATA",156],[3,"MOUNT_CONFIGURE_DATA",156],[3,"GIMBAL_MANAGER_INFORMATION_DATA",156],[3,"WINCH_STATUS_DATA",156],[3,"HIL_SENSOR_DATA",156],[3,"GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",156],[3,"REQUEST_DATA_STREAM_DATA",156],[3,"OSD_PARAM_SHOW_CONFIG_DATA",156],[3,"EKF_STATUS_REPORT_DATA",156],[3,"DIGICAM_CONFIGURE_DATA",156],[3,"NAMED_VALUE_INT_DATA",156],[3,"GPS_INJECT_DATA_DATA",156],[3,"ADSB_VEHICLE_DATA",156],[3,"NAV_CONTROLLER_OUTPUT_DATA",156],[3,"ACTUATOR_CONTROL_TARGET_DATA",156],[3,"LOG_ERASE_DATA",156],[3,"SET_POSITION_TARGET_GLOBAL_INT_DATA",156],[3,"AHRS_DATA",156],[3,"POWER_STATUS_DATA",156],[3,"GOPRO_GET_RESPONSE_DATA",156],[3,"HIL_STATE_DATA",156],[3,"OPEN_DRONE_ID_AUTHENTICATION_DATA",156],[3,"HIL_RC_INPUTS_RAW_DATA",156],[3,"VICON_POSITION_ESTIMATE_DATA",156],[3,"BUTTON_CHANGE_DATA",156],[3,"CONTROL_SYSTEM_STATE_DATA",156],[3,"HYGROMETER_SENSOR_DATA",156],[3,"ESC_TELEMETRY_9_TO_12_DATA",156],[3,"GOPRO_SET_RESPONSE_DATA",156],[3,"GIMBAL_TORQUE_CMD_REPORT_DATA",156],[3,"AP_ADC_DATA",156],[3,"SET_HOME_POSITION_DATA",156],[3,"SCALED_PRESSURE2_DATA",156],[3,"TERRAIN_REPORT_DATA",156],[3,"EFI_STATUS_DATA",156],[3,"ADAP_TUNING_DATA",156],[3,"MISSION_ITEM_INT_DATA",156],[3,"TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",156],[3,"SCALED_IMU3_DATA",156],[3,"CAMERA_TRACKING_GEO_STATUS_DATA",156],[3,"PARAM_EXT_REQUEST_LIST_DATA",156],[3,"AHRS3_DATA",156],[3,"CAN_FRAME_DATA",156],[3,"SERIAL_CONTROL_DATA",156],[3,"DEVICE_OP_READ_REPLY_DATA",156],[3,"GLOBAL_POSITION_INT_DATA",156],[3,"MOUNT_ORIENTATION_DATA",156],[3,"OPEN_DRONE_ID_SELF_ID_DATA",156],[3,"RC_CHANNELS_SCALED_DATA",156],[3,"SET_ACTUATOR_CONTROL_TARGET_DATA",156],[3,"TRAJECTORY_REPRESENTATION_BEZIER_DATA",156],[3,"LIMITS_STATUS_DATA",156],[3,"TUNNEL_DATA",156],[3,"HIGH_LATENCY_DATA",156],[3,"TERRAIN_REQUEST_DATA",156],[3,"VISION_POSITION_DELTA_DATA",156],[3,"HIL_GPS_DATA",156],[3,"VIDEO_STREAM_INFORMATION_DATA",156],[3,"DATA_STREAM_DATA",156],[3,"RC_CHANNELS_DATA",156],[3,"GPS2_RAW_DATA",156],[3,"ATTITUDE_TARGET_DATA",156],[3,"CAMERA_FOV_STATUS_DATA",156],[3,"OBSTACLE_DISTANCE_DATA",156],[3,"SMART_BATTERY_INFO_DATA",156],[3,"RAW_PRESSURE_DATA",156],[3,"ESC_TELEMETRY_5_TO_8_DATA",156],[3,"TIMESYNC_DATA",156],[3,"PARAM_EXT_ACK_DATA",156],[3,"PING_DATA",156],[3,"OSD_PARAM_CONFIG_DATA",156],[3,"SET_MODE_DATA",156],[3,"WATER_DEPTH_DATA",156],[3,"MOUNT_CONTROL_DATA",156],[3,"VFR_HUD_DATA",156],[3,"FLIGHT_INFORMATION_DATA",156],[3,"GIMBAL_MANAGER_SET_PITCHYAW_DATA",156],[3,"CAN_FILTER_MODIFY_DATA",156],[3,"HEARTBEAT_DATA",156],[3,"TERRAIN_CHECK_DATA",156],[3,"MISSION_ITEM_REACHED_DATA",156],[3,"LOG_ENTRY_DATA",156],[3,"OPEN_DRONE_ID_SYSTEM_DATA",156],[3,"GPS2_RTK_DATA",156],[3,"MAG_CAL_PROGRESS_DATA",156],[3,"LOG_REQUEST_LIST_DATA",156],[3,"MISSION_CURRENT_DATA",156],[3,"SYSTEM_TIME_DATA",156],[3,"STORAGE_INFORMATION_DATA",156],[3,"GLOBAL_POSITION_INT_COV_DATA",156],[3,"RESOURCE_REQUEST_DATA",156],[3,"ONBOARD_COMPUTER_STATUS_DATA",156],[3,"MISSION_CLEAR_ALL_DATA",156],[3,"GIMBAL_CONTROL_DATA",156],[3,"OPEN_DRONE_ID_LOCATION_DATA",156],[3,"DEVICE_OP_WRITE_DATA",156],[3,"CUBEPILOT_FIRMWARE_UPDATE_START_DATA",156],[3,"SAFETY_ALLOWED_AREA_DATA",156],[3,"RADIO_DATA",156],[3,"RAW_IMU_DATA",156],[3,"CAMERA_SETTINGS_DATA",156],[3,"COMMAND_ACK_DATA",156],[3,"REMOTE_LOG_BLOCK_STATUS_DATA",156],[3,"HERELINK_VIDEO_STREAM_INFORMATION_DATA",156],[3,"PARAM_REQUEST_LIST_DATA",156],[3,"GPS_RTK_DATA",156],[3,"DEVICE_OP_READ_DATA",156],[3,"WIFI_CONFIG_AP_DATA",156],[3,"SENSOR_OFFSETS_DATA",156],[3,"UAVIONIX_ADSB_OUT_DYNAMIC_DATA",156],[3,"LOG_DATA_DATA",156],[3,"CAMERA_TRACKING_IMAGE_STATUS_DATA",156],[3,"LANDING_TARGET_DATA",156],[3,"OPTICAL_FLOW_RAD_DATA",156],[3,"SET_POSITION_TARGET_LOCAL_NED_DATA",156],[3,"GOPRO_SET_REQUEST_DATA",156],[3,"STATUSTEXT_DATA",156],[3,"ATTITUDE_QUATERNION_COV_DATA",156],[3,"UAVCAN_NODE_INFO_DATA",156],[3,"SET_GPS_GLOBAL_ORIGIN_DATA",156],[3,"SERVO_OUTPUT_RAW_DATA",156],[3,"HIL_CONTROLS_DATA",156],[3,"UTM_GLOBAL_POSITION_DATA",156],[3,"MISSION_REQUEST_LIST_DATA",156],[3,"CAMERA_IMAGE_CAPTURED_DATA",156],[3,"RADIO_STATUS_DATA",156],[3,"OSD_PARAM_SHOW_CONFIG_REPLY_DATA",156],[3,"SET_ATTITUDE_TARGET_DATA",156],[3,"COMPONENT_INFORMATION_DATA",156],[3,"CAMERA_FEEDBACK_DATA",156],[3,"PARAM_SET_DATA",156],[3,"HWSTATUS_DATA",156],[3,"MISSION_ACK_DATA",156],[3,"LINK_NODE_STATUS_DATA",156],[3,"SET_MAG_OFFSETS_DATA",156],[3,"ATT_POS_MOCAP_DATA",156],[3,"GIMBAL_DEVICE_INFORMATION_DATA",156],[3,"DISTANCE_SENSOR_DATA",156],[3,"CHANGE_OPERATOR_CONTROL_ACK_DATA",156],[3,"VISION_SPEED_ESTIMATE_DATA",156],[3,"PARAM_EXT_SET_DATA",156],[3,"ESC_STATUS_DATA",156],[3,"DATA64_DATA",156],[3,"HOME_POSITION_DATA",156],[3,"SAFETY_SET_ALLOWED_AREA_DATA",156],[3,"GIMBAL_REPORT_DATA",156],[3,"PLAY_TUNE_V2_DATA",156],[3,"DATA_TRANSMISSION_HANDSHAKE_DATA",156],[3,"HIL_OPTICAL_FLOW_DATA",156],[3,"HIL_ACTUATOR_CONTROLS_DATA",156],[3,"AUTOPILOT_VERSION_DATA",156],[3,"ATTITUDE_QUATERNION_DATA",156],[3,"MISSION_REQUEST_PARTIAL_LIST_DATA",156],[3,"MISSION_ITEM_DATA",156],[3,"FENCE_STATUS_DATA",156],[3,"DIGICAM_CONTROL_DATA",156],[3,"CHANGE_OPERATOR_CONTROL_DATA",156],[3,"LOGGING_DATA_DATA",156],[3,"AUTOPILOT_VERSION_REQUEST_DATA",156],[3,"POSITION_TARGET_GLOBAL_INT_DATA",156],[3,"GIMBAL_DEVICE_SET_ATTITUDE_DATA",156],[3,"CANFD_FRAME_DATA",156],[3,"RPM_DATA",156],[3,"RC_CHANNELS_OVERRIDE_DATA",156],[3,"GPS_STATUS_DATA",156],[3,"HERELINK_TELEM_DATA",156],[3,"OBSTACLE_DISTANCE_3D_DATA",156],[3,"ALTITUDE_DATA",156],[3,"GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",156],[3,"DATA96_DATA",156],[3,"CAMERA_STATUS_DATA",156],[3,"COMPONENT_METADATA_DATA",156],[3,"SETUP_SIGNING_DATA",156],[3,"CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",156],[3,"FENCE_POINT_DATA",156],[3,"SIMSTATE_DATA",156],[3,"DEBUG_VECT_DATA",156],[3,"ISBD_LINK_STATUS_DATA",156],[3,"SYS_STATUS_DATA",156],[3,"FENCE_FETCH_POINT_DATA",156],[3,"BATTERY_STATUS_DATA",156],[3,"GPS_INPUT_DATA",156],[3,"CAMERA_TRIGGER_DATA",156],[3,"POSITION_TARGET_LOCAL_NED_DATA",156],[3,"ESC_INFO_DATA",156],[3,"ICAROUS_KINEMATIC_BANDS_DATA",156],[3,"AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",156],[3,"PID_TUNING_DATA",156],[3,"LOCAL_POSITION_NED_DATA",156],[3,"FILE_TRANSFER_PROTOCOL_DATA",156],[3,"LOG_REQUEST_END_DATA",156],[3,"BATTERY2_DATA",156],[3,"AHRS2_DATA",156],[3,"OSD_PARAM_CONFIG_REPLY_DATA",156],[3,"LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",156],[3,"WHEEL_DISTANCE_DATA",156],[3,"V2_EXTENSION_DATA",156],[3,"WIND_COV_DATA",156],[3,"GPS_RAW_INT_DATA",156],[3,"COMPASSMOT_STATUS_DATA",156],[3,"CELLULAR_STATUS_DATA",156],[3,"PARAM_EXT_REQUEST_READ_DATA",156],[3,"AIRSPEED_AUTOCAL_DATA",156],[3,"MISSION_COUNT_DATA",156],[3,"ICAROUS_HEARTBEAT_DATA",156],[3,"REQUEST_EVENT_DATA",156],[3,"HIGH_LATENCY2_DATA",156],[3,"ODOMETRY_DATA",156],[3,"UAVCAN_NODE_STATUS_DATA",156],[3,"COMMAND_INT_DATA",156],[3,"GOPRO_GET_REQUEST_DATA",156],[3,"SCALED_IMU2_DATA",156],[3,"TIME_ESTIMATE_TO_TARGET_DATA",156],[3,"MAG_CAL_REPORT_DATA",156],[3,"DEEPSTALL_DATA",156],[3,"ACTUATOR_OUTPUT_STATUS_DATA",156],[3,"VIBRATION_DATA",156],[3,"MANUAL_SETPOINT_DATA",156],[3,"SIM_STATE_DATA",156],[3,"PLAY_TUNE_DATA",156],[3,"LOGGING_DATA_ACKED_DATA",156],[3,"ESC_TELEMETRY_1_TO_4_DATA",156],[3,"AOA_SSA_DATA",156],[3,"ATTITUDE_DATA",156],[3,"PROTOCOL_VERSION_DATA",156],[3,"OPEN_DRONE_ID_MESSAGE_PACK_DATA",156],[3,"LOGGING_ACK_DATA",156],[3,"PARAM_MAP_RC_DATA",156],[3,"ENCAPSULATED_DATA_DATA",156],[3,"MEMORY_VECT_DATA",156],[3,"MESSAGE_INTERVAL_DATA",156],[3,"CAMERA_CAPTURE_STATUS_DATA",156],[3,"GOPRO_HEARTBEAT_DATA",156],[3,"FOLLOW_TARGET_DATA",156],[3,"RALLY_FETCH_POINT_DATA",156],[3,"WIND_DATA",156],[3,"UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",156],[3,"GPS_RTCM_DATA_DATA",156],[3,"HIGHRES_IMU_DATA",156],[3,"SCALED_PRESSURE_DATA",156],[3,"VIDEO_STREAM_STATUS_DATA",156],[3,"OPTICAL_FLOW_DATA",156],[3,"OPEN_DRONE_ID_ARM_STATUS_DATA",156],[3,"DEBUG_FLOAT_ARRAY_DATA",156],[3,"REMOTE_LOG_DATA_BLOCK_DATA",156],[3,"TERRAIN_DATA_DATA",156],[3,"MISSION_REQUEST_INT_DATA",156],[3,"OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",156],[3,"COLLISION_DATA",156],[3,"GENERATOR_STATUS_DATA",156],[3,"GLOBAL_VISION_POSITION_ESTIMATE_DATA",156],[3,"RANGEFINDER_DATA",156],[3,"SUPPORTED_TUNES_DATA",156],[3,"GIMBAL_MANAGER_SET_ATTITUDE_DATA",156],[3,"CAMERA_INFORMATION_DATA",156],[3,"SCALED_IMU_DATA",156],[3,"AIS_VESSEL_DATA",156],[3,"GIMBAL_MANAGER_STATUS_DATA",156],[3,"GPS_GLOBAL_ORIGIN_DATA",156],[3,"LED_CONTROL_DATA",156],[3,"CUBEPILOT_RAW_RC_DATA",156],[3,"SCALED_PRESSURE3_DATA",156],[3,"CELLULAR_CONFIG_DATA",156],[3,"OPEN_DRONE_ID_OPERATOR_ID_DATA",156],[3,"MISSION_REQUEST_DATA",156],[3,"AUTH_KEY_DATA",156],[3,"LOG_REQUEST_DATA_DATA",156],[4,"LimitsState",156],[4,"UavionixAdsbOutCfgGpsOffsetLon",156],[4,"MavMountMode",156],[4,"AutotuneAxis",156],[4,"MavBatteryChargeState",156],[4,"WifiConfigApResponse",156],[4,"MavCmdAck",156],[4,"CameraTrackingMode",156],[4,"CompMetadataType",156],[4,"MavCollisionSrc",156],[4,"MavOdidTimeAcc",156],[4,"MavAutopilot",156],[4,"UavcanNodeMode",156],[4,"MavBatteryType",156],[4,"GoproFieldOfView",156],[4,"MavCollisionThreatLevel",156],[4,"MavRemoteLogDataBlockCommands",156],[4,"GoproCaptureMode",156],[4,"NavVtolLandOptions",156],[4,"WifiConfigApMode",156],[4,"OsdParamConfigType",156],[4,"MavOdidArmStatus",156],[4,"FailureType",156],[4,"MavMissionResult",156],[4,"MavOdidAuthType",156],[4,"FenceMitigate",156],[4,"MavOdidHeightRef",156],[4,"MavComponent",156],[4,"MavVtolState",156],[4,"AisType",156],[4,"MavMissionType",156],[4,"MavTunnelPayloadType",156],[4,"MavArmAuthDeniedReason",156],[4,"StorageStatus",156],[4,"MavOdidClassificationType",156],[4,"VideoStreamType",156],[4,"ParamAck",156],[4,"GimbalAxisCalibrationRequired",156],[4,"MavOdidUaType",156],[4,"MavSeverity",156],[4,"ActuatorOutputFunction",156],[4,"UavionixAdsbOutDynamicGpsFix",156],[4,"MavDataStream",156],[4,"UavionixAdsbOutCfgGpsOffsetLat",156],[4,"MavState",156],[4,"OsdParamConfigError",156],[4,"MavRoi",156],[4,"VtolTransitionHeading",156],[4,"GoproResolution",156],[4,"MavOdidOperatorLocationType",156],[4,"MavOdidIdType",156],[4,"ParachuteAction",156],[4,"MavDoRepositionFlags",156],[4,"MavCollisionAction",156],[4,"ScriptingCmd",156],[4,"GoproVideoSettingsFlags",156],[4,"IcarousFmsState",156],[4,"AccelcalVehiclePos",156],[4,"OrbitYawBehaviour",156],[4,"IcarousTrackBandTypes",156],[4,"CellularConfigResponse",156],[4,"GripperActions",156],[4,"MavResult",156],[4,"GimbalManagerFlags",156],[4,"UtmFlightState",156],[4,"RtkBaselineCoordinateSystem",156],[4,"MavBatteryFunction",156],[4,"StorageType",156],[4,"MavParamExtType",156],[4,"MavRemoteLogDataBlockStatuses",156],[4,"GoproRequestStatus",156],[4,"MavType",156],[4,"GoproProtuneGain",156],[4,"MavBatteryMode",156],[4,"CameraTrackingTargetData",156],[4,"DeviceOpBustype",156],[4,"CameraMode",156],[4,"MavParamType",156],[4,"StorageUsageFlag",156],[4,"LedControlPattern",156],[4,"VideoStreamStatusFlags",156],[4,"MavOdidVerAcc",156],[4,"DeepstallStage",156],[4,"GpsFixType",156],[4,"MavlinkDataStreamType",156],[4,"MavFtpErr",156],[4,"GoproModel",156],[4,"FailureUnit",156],[4,"AdsbAltitudeType",156],[4,"SetFocusType",156],[4,"MotorTestThrottleType",156],[4,"GoproProtuneWhiteBalance",156],[4,"MavSensorOrientation",156],[4,"PreflightStorageMissionAction",156],[4,"TrackerMode",156],[4,"RoverMode",156],[4,"SubMode",156],[4,"GimbalAxis",156],[4,"MavOdidCategoryEu",156],[4,"AdsbEmitterType",156],[4,"CameraZoomType",156],[4,"MagCalStatus",156],[4,"MavOdidHorAcc",156],[4,"MavSysStatusSensorExtended",156],[4,"CellularNetworkRadioType",156],[4,"UavionixAdsbOutCfgAircraftSize",156],[4,"MavDistanceSensor",156],[4,"CameraFeedbackFlags",156],[4,"HeadingType",156],[4,"MavOdidOperatorIdType",156],[4,"MavCmd",156],[4,"LandingTargetType",156],[4,"UavionixAdsbEmergencyStatus",156],[4,"PreflightStorageParameterAction",156],[4,"PidTuningAxis",156],[4,"GoproProtuneExposure",156],[4,"GoproProtuneColour",156],[4,"GoproCommand",156],[4,"GoproProtuneSharpness",156],[4,"CellularNetworkFailedReason",156],[4,"MavModeGimbal",156],[4,"MavOdidClassEu",156],[4,"AisNavStatus",156],[4,"MavOdidStatus",156],[4,"CameraTrackingStatusFlags",156],[4,"CellularStatusFlag",156],[4,"MavFrame",156],[4,"WinchActions",156],[4,"MavCmdDoAuxFunctionSwitchLevel",156],[4,"MavBatteryFault",156],[4,"GoproPhotoResolution",156],[4,"SpeedType",156],[4,"MavGoto",156],[4,"UavcanNodeHealth",156],[4,"MavEstimatorType",156],[4,"MavFtpOpcode",156],[4,"RcType",156],[4,"MavEventErrorReason",156],[4,"MotorTestOrder",156],[4,"MissionState",156],[4,"FenceBreach",156],[4,"MavOdidSpeedAcc",156],[4,"MavMode",156],[4,"EscConnectionType",156],[4,"GoproFrameRate",156],[4,"FirmwareVersionType",156],[4,"ActuatorConfiguration",156],[4,"MavOdidDescType",156],[4,"CanFilterOp",156],[4,"MavLandedState",156],[4,"GoproBurstRate",156],[4,"MavModeFlagDecodePosition",156],[4,"CameraStatusTypes",156],[4,"PrecisionLandMode",156],[4,"FenceAction",156],[4,"SerialControlDev",156],[4,"CopterMode",156],[4,"PlaneMode",156],[4,"GoproHeartbeatStatus",156],[4,"GimbalAxisCalibrationStatus",156],[4,"GoproCharging",156],[4,"Ordering",39168],[8,"IntoIterator",39169],[4,"Option",39170],[15,"i64"],[8,"Hasher",39171],[3,"Bytes",15498],[15,"array"],[15,"f32"],[15,"f64"],[15,"i16"],[15,"i32"],[15,"i8"],[3,"BytesMut",15522],[3,"CameraCapFlags",15547],[3,"TuneFormat",15547],[3,"GimbalDeviceCapFlags",15547],[3,"SerialControlFlag",15547],[3,"MavPowerStatus",15547],[3,"GpsInputIgnoreFlags",15547],[3,"GimbalDeviceFlags",15547],[3,"HighresImuUpdatedFlags",15547],[3,"EstimatorStatusFlags",15547],[3,"GimbalDeviceErrorFlags",15547],[3,"MavWinchStatusFlag",15547],[3,"AisFlags",15547],[3,"MavEventCurrentSequenceFlags",15547],[3,"HilSensorUpdatedFlags",15547],[3,"MavGeneratorStatusFlag",15547],[3,"GimbalManagerCapFlags",15547],[3,"MavProtocolCapability",15547],[3,"AttitudeTargetTypemask",15547],[3,"PositionTargetTypemask",15547],[3,"AdsbFlags",15547],[3,"UtmDataAvailFlags",15547],[3,"EscFailureFlags",15547],[3,"MavModeFlag",15547],[3,"MavSysStatusSensor",15547],[3,"HlFailureFlag",15547],[4,"MavMessage",15547],[3,"ESC_STATUS_DATA",15547],[3,"GENERATOR_STATUS_DATA",15547],[3,"DEBUG_FLOAT_ARRAY_DATA",15547],[3,"CAMERA_FOV_STATUS_DATA",15547],[3,"HIL_OPTICAL_FLOW_DATA",15547],[3,"GPS2_RTK_DATA",15547],[3,"RAW_RPM_DATA",15547],[3,"GLOBAL_VISION_POSITION_ESTIMATE_DATA",15547],[3,"SET_GPS_GLOBAL_ORIGIN_DATA",15547],[3,"UAVCAN_NODE_INFO_DATA",15547],[3,"MANUAL_SETPOINT_DATA",15547],[3,"ATTITUDE_TARGET_DATA",15547],[3,"EXTENDED_SYS_STATE_DATA",15547],[3,"LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",15547],[3,"SET_POSITION_TARGET_LOCAL_NED_DATA",15547],[3,"RC_CHANNELS_OVERRIDE_DATA",15547],[3,"HIL_STATE_QUATERNION_DATA",15547],[3,"MISSION_REQUEST_DATA",15547],[3,"HOME_POSITION_DATA",15547],[3,"RC_CHANNELS_RAW_DATA",15547],[3,"DISTANCE_SENSOR_DATA",15547],[3,"MESSAGE_INTERVAL_DATA",15547],[3,"ADSB_VEHICLE_DATA",15547],[3,"ODOMETRY_DATA",15547],[3,"COMMAND_CANCEL_DATA",15547],[3,"MISSION_WRITE_PARTIAL_LIST_DATA",15547],[3,"CAMERA_CAPTURE_STATUS_DATA",15547],[3,"HIL_CONTROLS_DATA",15547],[3,"OPTICAL_FLOW_DATA",15547],[3,"CHANGE_OPERATOR_CONTROL_ACK_DATA",15547],[3,"COMMAND_LONG_DATA",15547],[3,"PARAM_REQUEST_READ_DATA",15547],[3,"SMART_BATTERY_INFO_DATA",15547],[3,"MISSION_REQUEST_INT_DATA",15547],[3,"POWER_STATUS_DATA",15547],[3,"MISSION_ITEM_REACHED_DATA",15547],[3,"ATTITUDE_DATA",15547],[3,"MAG_CAL_REPORT_DATA",15547],[3,"FLIGHT_INFORMATION_DATA",15547],[3,"HIGHRES_IMU_DATA",15547],[3,"WIFI_CONFIG_AP_DATA",15547],[3,"CAMERA_SETTINGS_DATA",15547],[3,"NAMED_VALUE_INT_DATA",15547],[3,"CAMERA_TRIGGER_DATA",15547],[3,"PARAM_MAP_RC_DATA",15547],[3,"TERRAIN_REPORT_DATA",15547],[3,"OPTICAL_FLOW_RAD_DATA",15547],[3,"WIND_COV_DATA",15547],[3,"OPEN_DRONE_ID_MESSAGE_PACK_DATA",15547],[3,"HIL_SENSOR_DATA",15547],[3,"DATA_STREAM_DATA",15547],[3,"LINK_NODE_STATUS_DATA",15547],[3,"RESPONSE_EVENT_ERROR_DATA",15547],[3,"GIMBAL_MANAGER_SET_PITCHYAW_DATA",15547],[3,"MISSION_REQUEST_PARTIAL_LIST_DATA",15547],[3,"GPS_GLOBAL_ORIGIN_DATA",15547],[3,"SCALED_PRESSURE3_DATA",15547],[3,"RAW_PRESSURE_DATA",15547],[3,"PROTOCOL_VERSION_DATA",15547],[3,"FENCE_STATUS_DATA",15547],[3,"BATTERY_STATUS_DATA",15547],[3,"VISION_SPEED_ESTIMATE_DATA",15547],[3,"POSITION_TARGET_GLOBAL_INT_DATA",15547],[3,"SET_POSITION_TARGET_GLOBAL_INT_DATA",15547],[3,"VFR_HUD_DATA",15547],[3,"MISSION_CURRENT_DATA",15547],[3,"WHEEL_DISTANCE_DATA",15547],[3,"CAMERA_IMAGE_CAPTURED_DATA",15547],[3,"TIME_ESTIMATE_TO_TARGET_DATA",15547],[3,"VIDEO_STREAM_STATUS_DATA",15547],[3,"TERRAIN_REQUEST_DATA",15547],[3,"RADIO_STATUS_DATA",15547],[3,"COMMAND_ACK_DATA",15547],[3,"MANUAL_CONTROL_DATA",15547],[3,"GPS_RTCM_DATA_DATA",15547],[3,"CANFD_FRAME_DATA",15547],[3,"CELLULAR_STATUS_DATA",15547],[3,"PARAM_EXT_VALUE_DATA",15547],[3,"PARAM_EXT_REQUEST_LIST_DATA",15547],[3,"MISSION_REQUEST_LIST_DATA",15547],[3,"HIL_ACTUATOR_CONTROLS_DATA",15547],[3,"SCALED_IMU_DATA",15547],[3,"GPS_STATUS_DATA",15547],[3,"HIL_STATE_DATA",15547],[3,"VIBRATION_DATA",15547],[3,"GPS_RTK_DATA",15547],[3,"GPS2_RAW_DATA",15547],[3,"FILE_TRANSFER_PROTOCOL_DATA",15547],[3,"WINCH_STATUS_DATA",15547],[3,"MISSION_ITEM_INT_DATA",15547],[3,"GIMBAL_MANAGER_INFORMATION_DATA",15547],[3,"GPS_RAW_INT_DATA",15547],[3,"LOG_ERASE_DATA",15547],[3,"LOGGING_DATA_ACKED_DATA",15547],[3,"SETUP_SIGNING_DATA",15547],[3,"STORAGE_INFORMATION_DATA",15547],[3,"VISION_POSITION_ESTIMATE_DATA",15547],[3,"PLAY_TUNE_V2_DATA",15547],[3,"NAV_CONTROLLER_OUTPUT_DATA",15547],[3,"OPEN_DRONE_ID_AUTHENTICATION_DATA",15547],[3,"ACTUATOR_OUTPUT_STATUS_DATA",15547],[3,"GLOBAL_POSITION_INT_COV_DATA",15547],[3,"OPEN_DRONE_ID_SYSTEM_DATA",15547],[3,"PING_DATA",15547],[3,"MISSION_COUNT_DATA",15547],[3,"HEARTBEAT_DATA",15547],[3,"CELLULAR_CONFIG_DATA",15547],[3,"OPEN_DRONE_ID_BASIC_ID_DATA",15547],[3,"TERRAIN_DATA_DATA",15547],[3,"AUTH_KEY_DATA",15547],[3,"NAMED_VALUE_FLOAT_DATA",15547],[3,"TUNNEL_DATA",15547],[3,"LOG_REQUEST_DATA_DATA",15547],[3,"HIL_RC_INPUTS_RAW_DATA",15547],[3,"ATT_POS_MOCAP_DATA",15547],[3,"AIS_VESSEL_DATA",15547],[3,"MISSION_SET_CURRENT_DATA",15547],[3,"UTM_GLOBAL_POSITION_DATA",15547],[3,"ATTITUDE_QUATERNION_COV_DATA",15547],[3,"LOG_REQUEST_LIST_DATA",15547],[3,"COMMAND_INT_DATA",15547],[3,"DEBUG_DATA",15547],[3,"VICON_POSITION_ESTIMATE_DATA",15547],[3,"AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",15547],[3,"SET_MODE_DATA",15547],[3,"POSITION_TARGET_LOCAL_NED_DATA",15547],[3,"LOG_ENTRY_DATA",15547],[3,"LANDING_TARGET_DATA",15547],[3,"ATTITUDE_QUATERNION_DATA",15547],[3,"GIMBAL_DEVICE_INFORMATION_DATA",15547],[3,"GLOBAL_POSITION_INT_DATA",15547],[3,"BUTTON_CHANGE_DATA",15547],[3,"OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",15547],[3,"OPEN_DRONE_ID_LOCATION_DATA",15547],[3,"SUPPORTED_TUNES_DATA",15547],[3,"COMPONENT_METADATA_DATA",15547],[3,"RESOURCE_REQUEST_DATA",15547],[3,"RC_CHANNELS_DATA",15547],[3,"ALTITUDE_DATA",15547],[3,"TRAJECTORY_REPRESENTATION_BEZIER_DATA",15547],[3,"LOGGING_DATA_DATA",15547],[3,"SERIAL_CONTROL_DATA",15547],[3,"ORBIT_EXECUTION_STATUS_DATA",15547],[3,"PARAM_EXT_ACK_DATA",15547],[3,"SET_ATTITUDE_TARGET_DATA",15547],[3,"CAMERA_INFORMATION_DATA",15547],[3,"SCALED_IMU3_DATA",15547],[3,"COLLISION_DATA",15547],[3,"GPS_INPUT_DATA",15547],[3,"CHANGE_OPERATOR_CONTROL_DATA",15547],[3,"VIDEO_STREAM_INFORMATION_DATA",15547],[3,"MEMORY_VECT_DATA",15547],[3,"AUTOPILOT_VERSION_DATA",15547],[3,"TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",15547],[3,"LOG_REQUEST_END_DATA",15547],[3,"TIMESYNC_DATA",15547],[3,"SYS_STATUS_DATA",15547],[3,"SET_HOME_POSITION_DATA",15547],[3,"ACTUATOR_CONTROL_TARGET_DATA",15547],[3,"ENCAPSULATED_DATA_DATA",15547],[3,"SYSTEM_TIME_DATA",15547],[3,"SCALED_PRESSURE_DATA",15547],[3,"PARAM_SET_DATA",15547],[3,"UAVCAN_NODE_STATUS_DATA",15547],[3,"PARAM_REQUEST_LIST_DATA",15547],[3,"GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",15547],[3,"GIMBAL_MANAGER_STATUS_DATA",15547],[3,"SET_ACTUATOR_CONTROL_TARGET_DATA",15547],[3,"CAMERA_TRACKING_GEO_STATUS_DATA",15547],[3,"SERVO_OUTPUT_RAW_DATA",15547],[3,"PARAM_VALUE_DATA",15547],[3,"SCALED_IMU2_DATA",15547],[3,"OBSTACLE_DISTANCE_DATA",15547],[3,"CONTROL_SYSTEM_STATE_DATA",15547],[3,"ISBD_LINK_STATUS_DATA",15547],[3,"OPEN_DRONE_ID_OPERATOR_ID_DATA",15547],[3,"LOGGING_ACK_DATA",15547],[3,"DEBUG_VECT_DATA",15547],[3,"V2_EXTENSION_DATA",15547],[3,"REQUEST_DATA_STREAM_DATA",15547],[3,"HYGROMETER_SENSOR_DATA",15547],[3,"REQUEST_EVENT_DATA",15547],[3,"EFI_STATUS_DATA",15547],[3,"EVENT_DATA",15547],[3,"CAMERA_TRACKING_IMAGE_STATUS_DATA",15547],[3,"MOUNT_ORIENTATION_DATA",15547],[3,"SAFETY_SET_ALLOWED_AREA_DATA",15547],[3,"RAW_IMU_DATA",15547],[3,"RC_CHANNELS_SCALED_DATA",15547],[3,"PLAY_TUNE_DATA",15547],[3,"HIGH_LATENCY_DATA",15547],[3,"OPEN_DRONE_ID_ARM_STATUS_DATA",15547],[3,"LOG_DATA_DATA",15547],[3,"OPEN_DRONE_ID_SELF_ID_DATA",15547],[3,"CAN_FILTER_MODIFY_DATA",15547],[3,"HIL_GPS_DATA",15547],[3,"ONBOARD_COMPUTER_STATUS_DATA",15547],[3,"FOLLOW_TARGET_DATA",15547],[3,"DATA_TRANSMISSION_HANDSHAKE_DATA",15547],[3,"CURRENT_EVENT_SEQUENCE_DATA",15547],[3,"GPS_INJECT_DATA_DATA",15547],[3,"COMPONENT_INFORMATION_DATA",15547],[3,"CAN_FRAME_DATA",15547],[3,"PARAM_EXT_SET_DATA",15547],[3,"GIMBAL_MANAGER_SET_ATTITUDE_DATA",15547],[3,"TERRAIN_CHECK_DATA",15547],[3,"MISSION_CLEAR_ALL_DATA",15547],[3,"PARAM_EXT_REQUEST_READ_DATA",15547],[3,"GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",15547],[3,"MISSION_ITEM_DATA",15547],[3,"LOCAL_POSITION_NED_COV_DATA",15547],[3,"ESC_INFO_DATA",15547],[3,"GIMBAL_DEVICE_SET_ATTITUDE_DATA",15547],[3,"ESTIMATOR_STATUS_DATA",15547],[3,"STATUSTEXT_DATA",15547],[3,"HIGH_LATENCY2_DATA",15547],[3,"SIM_STATE_DATA",15547],[3,"SCALED_PRESSURE2_DATA",15547],[3,"MISSION_ACK_DATA",15547],[3,"SAFETY_ALLOWED_AREA_DATA",15547],[3,"LOCAL_POSITION_NED_DATA",15547],[4,"CompMetadataType",15547],[4,"PrecisionLandMode",15547],[4,"MavOdidCategoryEu",15547],[4,"ActuatorConfiguration",15547],[4,"LandingTargetType",15547],[4,"RtkBaselineCoordinateSystem",15547],[4,"GripperActions",15547],[4,"FirmwareVersionType",15547],[4,"MavResult",15547],[4,"MavRoi",15547],[4,"CanFilterOp",15547],[4,"MavMissionResult",15547],[4,"MavCollisionAction",15547],[4,"MavBatteryFault",15547],[4,"CellularNetworkRadioType",15547],[4,"MavCollisionThreatLevel",15547],[4,"MavMountMode",15547],[4,"MavOdidHeightRef",15547],[4,"ParamAck",15547],[4,"MavType",15547],[4,"UavcanNodeMode",15547],[4,"MavlinkDataStreamType",15547],[4,"MavBatteryType",15547],[4,"MavEventErrorReason",15547],[4,"MavParamExtType",15547],[4,"CameraMode",15547],[4,"MavBatteryFunction",15547],[4,"CellularStatusFlag",15547],[4,"AisType",15547],[4,"FenceBreach",15547],[4,"MavOdidSpeedAcc",15547],[4,"MavOdidOperatorLocationType",15547],[4,"MavOdidIdType",15547],[4,"SetFocusType",15547],[4,"PreflightStorageMissionAction",15547],[4,"CellularConfigResponse",15547],[4,"CameraTrackingMode",15547],[4,"MavOdidTimeAcc",15547],[4,"AutotuneAxis",15547],[4,"MavTunnelPayloadType",15547],[4,"VtolTransitionHeading",15547],[4,"MavOdidClassEu",15547],[4,"AisNavStatus",15547],[4,"MavOdidHorAcc",15547],[4,"UavcanNodeHealth",15547],[4,"MavParamType",15547],[4,"EscConnectionType",15547],[4,"PreflightStorageParameterAction",15547],[4,"MavModeFlagDecodePosition",15547],[4,"MagCalStatus",15547],[4,"MavOdidVerAcc",15547],[4,"MavMode",15547],[4,"MavDistanceSensor",15547],[4,"FenceAction",15547],[4,"MavOdidStatus",15547],[4,"MavOdidUaType",15547],[4,"MavArmAuthDeniedReason",15547],[4,"MissionState",15547],[4,"UtmFlightState",15547],[4,"MavCmdAck",15547],[4,"MavFtpOpcode",15547],[4,"CameraZoomType",15547],[4,"MavSensorOrientation",15547],[4,"MavCollisionSrc",15547],[4,"VideoStreamStatusFlags",15547],[4,"GpsFixType",15547],[4,"MavBatteryChargeState",15547],[4,"MavEstimatorType",15547],[4,"FenceMitigate",15547],[4,"SerialControlDev",15547],[4,"MavGoto",15547],[4,"VideoStreamType",15547],[4,"AdsbAltitudeType",15547],[4,"MavComponent",15547],[4,"MavOdidDescType",15547],[4,"ActuatorOutputFunction",15547],[4,"MavState",15547],[4,"MavSysStatusSensorExtended",15547],[4,"CellularNetworkFailedReason",15547],[4,"MotorTestOrder",15547],[4,"StorageType",15547],[4,"GimbalManagerFlags",15547],[4,"MavVtolState",15547],[4,"StorageStatus",15547],[4,"WifiConfigApMode",15547],[4,"OrbitYawBehaviour",15547],[4,"AdsbEmitterType",15547],[4,"MavOdidOperatorIdType",15547],[4,"MavMissionType",15547],[4,"MavFrame",15547],[4,"CameraTrackingTargetData",15547],[4,"WinchActions",15547],[4,"MavFtpErr",15547],[4,"MavDataStream",15547],[4,"MavOdidArmStatus",15547],[4,"MavSeverity",15547],[4,"MavDoRepositionFlags",15547],[4,"StorageUsageFlag",15547],[4,"MavBatteryMode",15547],[4,"MavCmd",15547],[4,"FailureUnit",15547],[4,"CameraTrackingStatusFlags",15547],[4,"WifiConfigApResponse",15547],[4,"MavAutopilot",15547],[4,"RcType",15547],[4,"MavOdidAuthType",15547],[4,"FailureType",15547],[4,"MavLandedState",15547],[4,"ParachuteAction",15547],[4,"MotorTestThrottleType",15547],[4,"NavVtolLandOptions",15547],[4,"MavOdidClassificationType",15547],[3,"Error",39161],[3,"String",39172],[4,"MavMessage",27107],[3,"ICAROUS_KINEMATIC_BANDS_DATA",27107],[3,"ICAROUS_HEARTBEAT_DATA",27107],[4,"IcarousFmsState",27107],[4,"IcarousTrackBandTypes",27107],[3,"UavionixAdsbRfHealth",27239],[3,"HilSensorUpdatedFlags",27239],[3,"GimbalDeviceFlags",27239],[3,"MavGeneratorStatusFlag",27239],[3,"GpsInputIgnoreFlags",27239],[3,"MavWinchStatusFlag",27239],[3,"MavEventCurrentSequenceFlags",27239],[3,"TuneFormat",27239],[3,"UavionixAdsbOutRfSelect",27239],[3,"AttitudeTargetTypemask",27239],[3,"MavPowerStatus",27239],[3,"EstimatorStatusFlags",27239],[3,"SerialControlFlag",27239],[3,"HighresImuUpdatedFlags",27239],[3,"GimbalDeviceCapFlags",27239],[3,"GimbalManagerCapFlags",27239],[3,"MavProtocolCapability",27239],[3,"MavModeFlag",27239],[3,"UavionixAdsbOutDynamicState",27239],[3,"MavSysStatusSensor",27239],[3,"CameraCapFlags",27239],[3,"AisFlags",27239],[3,"UtmDataAvailFlags",27239],[3,"PositionTargetTypemask",27239],[3,"HlFailureFlag",27239],[3,"GimbalDeviceErrorFlags",27239],[3,"AdsbFlags",27239],[3,"EscFailureFlags",27239],[4,"MavMessage",27239],[3,"FOLLOW_TARGET_DATA",27239],[3,"HIGH_LATENCY_DATA",27239],[3,"WINCH_STATUS_DATA",27239],[3,"OPTICAL_FLOW_DATA",27239],[3,"MISSION_ACK_DATA",27239],[3,"CURRENT_EVENT_SEQUENCE_DATA",27239],[3,"COMPONENT_METADATA_DATA",27239],[3,"EVENT_DATA",27239],[3,"CAN_FRAME_DATA",27239],[3,"VIDEO_STREAM_INFORMATION_DATA",27239],[3,"MISSION_CLEAR_ALL_DATA",27239],[3,"DATA_TRANSMISSION_HANDSHAKE_DATA",27239],[3,"GLOBAL_POSITION_INT_DATA",27239],[3,"ADSB_VEHICLE_DATA",27239],[3,"ESTIMATOR_STATUS_DATA",27239],[3,"MANUAL_CONTROL_DATA",27239],[3,"MISSION_ITEM_DATA",27239],[3,"VICON_POSITION_ESTIMATE_DATA",27239],[3,"GENERATOR_STATUS_DATA",27239],[3,"MISSION_REQUEST_PARTIAL_LIST_DATA",27239],[3,"SCALED_IMU3_DATA",27239],[3,"OPTICAL_FLOW_RAD_DATA",27239],[3,"WHEEL_DISTANCE_DATA",27239],[3,"MAG_CAL_REPORT_DATA",27239],[3,"POSITION_TARGET_LOCAL_NED_DATA",27239],[3,"COMMAND_LONG_DATA",27239],[3,"EFI_STATUS_DATA",27239],[3,"SYSTEM_TIME_DATA",27239],[3,"CELLULAR_STATUS_DATA",27239],[3,"OPEN_DRONE_ID_OPERATOR_ID_DATA",27239],[3,"COMMAND_ACK_DATA",27239],[3,"OPEN_DRONE_ID_SELF_ID_DATA",27239],[3,"UAVCAN_NODE_STATUS_DATA",27239],[3,"POSITION_TARGET_GLOBAL_INT_DATA",27239],[3,"GPS_INPUT_DATA",27239],[3,"SET_ACTUATOR_CONTROL_TARGET_DATA",27239],[3,"VISION_SPEED_ESTIMATE_DATA",27239],[3,"MISSION_COUNT_DATA",27239],[3,"DEBUG_DATA",27239],[3,"COMMAND_INT_DATA",27239],[3,"RAW_IMU_DATA",27239],[3,"GPS_RTCM_DATA_DATA",27239],[3,"MANUAL_SETPOINT_DATA",27239],[3,"GIMBAL_MANAGER_STATUS_DATA",27239],[3,"OPEN_DRONE_ID_MESSAGE_PACK_DATA",27239],[3,"LOG_ENTRY_DATA",27239],[3,"LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",27239],[3,"CAMERA_TRIGGER_DATA",27239],[3,"AIS_VESSEL_DATA",27239],[3,"CAMERA_IMAGE_CAPTURED_DATA",27239],[3,"SIM_STATE_DATA",27239],[3,"HEARTBEAT_DATA",27239],[3,"PLAY_TUNE_DATA",27239],[3,"VISION_POSITION_ESTIMATE_DATA",27239],[3,"CAN_FILTER_MODIFY_DATA",27239],[3,"SUPPORTED_TUNES_DATA",27239],[3,"PARAM_SET_DATA",27239],[3,"GIMBAL_MANAGER_SET_ATTITUDE_DATA",27239],[3,"SET_POSITION_TARGET_GLOBAL_INT_DATA",27239],[3,"SET_MODE_DATA",27239],[3,"GLOBAL_POSITION_INT_COV_DATA",27239],[3,"HIGH_LATENCY2_DATA",27239],[3,"FLIGHT_INFORMATION_DATA",27239],[3,"ESC_INFO_DATA",27239],[3,"CAMERA_INFORMATION_DATA",27239],[3,"ENCAPSULATED_DATA_DATA",27239],[3,"HYGROMETER_SENSOR_DATA",27239],[3,"ATTITUDE_QUATERNION_DATA",27239],[3,"RESOURCE_REQUEST_DATA",27239],[3,"LOG_REQUEST_END_DATA",27239],[3,"DEBUG_VECT_DATA",27239],[3,"PLAY_TUNE_V2_DATA",27239],[3,"GPS_GLOBAL_ORIGIN_DATA",27239],[3,"CAMERA_TRACKING_IMAGE_STATUS_DATA",27239],[3,"ESC_STATUS_DATA",27239],[3,"LANDING_TARGET_DATA",27239],[3,"OPEN_DRONE_ID_ARM_STATUS_DATA",27239],[3,"PROTOCOL_VERSION_DATA",27239],[3,"UAVIONIX_ADSB_OUT_CFG_DATA",27239],[3,"LOG_DATA_DATA",27239],[3,"MISSION_REQUEST_LIST_DATA",27239],[3,"MISSION_REQUEST_DATA",27239],[3,"GIMBAL_DEVICE_INFORMATION_DATA",27239],[3,"ONBOARD_COMPUTER_STATUS_DATA",27239],[3,"NAMED_VALUE_INT_DATA",27239],[3,"DISTANCE_SENSOR_DATA",27239],[3,"CAMERA_CAPTURE_STATUS_DATA",27239],[3,"OBSTACLE_DISTANCE_DATA",27239],[3,"HIL_STATE_QUATERNION_DATA",27239],[3,"FENCE_STATUS_DATA",27239],[3,"PARAM_VALUE_DATA",27239],[3,"MISSION_CURRENT_DATA",27239],[3,"HIL_GPS_DATA",27239],[3,"SET_GPS_GLOBAL_ORIGIN_DATA",27239],[3,"GPS2_RTK_DATA",27239],[3,"ISBD_LINK_STATUS_DATA",27239],[3,"DATA_STREAM_DATA",27239],[3,"MOUNT_ORIENTATION_DATA",27239],[3,"TIMESYNC_DATA",27239],[3,"MISSION_ITEM_REACHED_DATA",27239],[3,"RAW_RPM_DATA",27239],[3,"WIFI_CONFIG_AP_DATA",27239],[3,"SCALED_PRESSURE3_DATA",27239],[3,"AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",27239],[3,"PING_DATA",27239],[3,"GPS_STATUS_DATA",27239],[3,"VIDEO_STREAM_STATUS_DATA",27239],[3,"SCALED_IMU_DATA",27239],[3,"MEMORY_VECT_DATA",27239],[3,"PARAM_REQUEST_READ_DATA",27239],[3,"ORBIT_EXECUTION_STATUS_DATA",27239],[3,"LOCAL_POSITION_NED_COV_DATA",27239],[3,"SET_ATTITUDE_TARGET_DATA",27239],[3,"SCALED_PRESSURE_DATA",27239],[3,"SYS_STATUS_DATA",27239],[3,"GPS2_RAW_DATA",27239],[3,"WIND_COV_DATA",27239],[3,"ALTITUDE_DATA",27239],[3,"REQUEST_EVENT_DATA",27239],[3,"TERRAIN_REPORT_DATA",27239],[3,"LOCAL_POSITION_NED_DATA",27239],[3,"FILE_TRANSFER_PROTOCOL_DATA",27239],[3,"TERRAIN_REQUEST_DATA",27239],[3,"ATTITUDE_DATA",27239],[3,"RESPONSE_EVENT_ERROR_DATA",27239],[3,"TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",27239],[3,"ATT_POS_MOCAP_DATA",27239],[3,"MISSION_ITEM_INT_DATA",27239],[3,"HIL_RC_INPUTS_RAW_DATA",27239],[3,"TERRAIN_CHECK_DATA",27239],[3,"PARAM_EXT_ACK_DATA",27239],[3,"HIGHRES_IMU_DATA",27239],[3,"ACTUATOR_OUTPUT_STATUS_DATA",27239],[3,"GIMBAL_MANAGER_SET_PITCHYAW_DATA",27239],[3,"SAFETY_SET_ALLOWED_AREA_DATA",27239],[3,"GLOBAL_VISION_POSITION_ESTIMATE_DATA",27239],[3,"OPEN_DRONE_ID_SYSTEM_DATA",27239],[3,"BATTERY_STATUS_DATA",27239],[3,"OPEN_DRONE_ID_LOCATION_DATA",27239],[3,"CHANGE_OPERATOR_CONTROL_ACK_DATA",27239],[3,"CHANGE_OPERATOR_CONTROL_DATA",27239],[3,"PARAM_REQUEST_LIST_DATA",27239],[3,"BUTTON_CHANGE_DATA",27239],[3,"TIME_ESTIMATE_TO_TARGET_DATA",27239],[3,"PARAM_MAP_RC_DATA",27239],[3,"HIL_ACTUATOR_CONTROLS_DATA",27239],[3,"V2_EXTENSION_DATA",27239],[3,"HIL_OPTICAL_FLOW_DATA",27239],[3,"SET_HOME_POSITION_DATA",27239],[3,"RC_CHANNELS_OVERRIDE_DATA",27239],[3,"NAV_CONTROLLER_OUTPUT_DATA",27239],[3,"ACTUATOR_CONTROL_TARGET_DATA",27239],[3,"OPEN_DRONE_ID_BASIC_ID_DATA",27239],[3,"TRAJECTORY_REPRESENTATION_BEZIER_DATA",27239],[3,"OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",27239],[3,"PARAM_EXT_REQUEST_READ_DATA",27239],[3,"HOME_POSITION_DATA",27239],[3,"GPS_INJECT_DATA_DATA",27239],[3,"EXTENDED_SYS_STATE_DATA",27239],[3,"SAFETY_ALLOWED_AREA_DATA",27239],[3,"MESSAGE_INTERVAL_DATA",27239],[3,"ATTITUDE_QUATERNION_COV_DATA",27239],[3,"RC_CHANNELS_RAW_DATA",27239],[3,"STATUSTEXT_DATA",27239],[3,"GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",27239],[3,"SET_POSITION_TARGET_LOCAL_NED_DATA",27239],[3,"HIL_SENSOR_DATA",27239],[3,"RC_CHANNELS_DATA",27239],[3,"TERRAIN_DATA_DATA",27239],[3,"PARAM_EXT_REQUEST_LIST_DATA",27239],[3,"SERVO_OUTPUT_RAW_DATA",27239],[3,"MISSION_REQUEST_INT_DATA",27239],[3,"COLLISION_DATA",27239],[3,"SCALED_IMU2_DATA",27239],[3,"DEBUG_FLOAT_ARRAY_DATA",27239],[3,"LOGGING_DATA_ACKED_DATA",27239],[3,"STORAGE_INFORMATION_DATA",27239],[3,"GIMBAL_MANAGER_INFORMATION_DATA",27239],[3,"LINK_NODE_STATUS_DATA",27239],[3,"LOG_REQUEST_DATA_DATA",27239],[3,"LOG_ERASE_DATA",27239],[3,"GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",27239],[3,"CAMERA_FOV_STATUS_DATA",27239],[3,"COMMAND_CANCEL_DATA",27239],[3,"UAVIONIX_ADSB_OUT_DYNAMIC_DATA",27239],[3,"GPS_RTK_DATA",27239],[3,"NAMED_VALUE_FLOAT_DATA",27239],[3,"AUTOPILOT_VERSION_DATA",27239],[3,"SCALED_PRESSURE2_DATA",27239],[3,"LOGGING_ACK_DATA",27239],[3,"VIBRATION_DATA",27239],[3,"PARAM_EXT_SET_DATA",27239],[3,"RAW_PRESSURE_DATA",27239],[3,"SMART_BATTERY_INFO_DATA",27239],[3,"LOGGING_DATA_DATA",27239],[3,"HIL_STATE_DATA",27239],[3,"POWER_STATUS_DATA",27239],[3,"HIL_CONTROLS_DATA",27239],[3,"CANFD_FRAME_DATA",27239],[3,"GIMBAL_DEVICE_SET_ATTITUDE_DATA",27239],[3,"REQUEST_DATA_STREAM_DATA",27239],[3,"LOG_REQUEST_LIST_DATA",27239],[3,"TUNNEL_DATA",27239],[3,"CAMERA_TRACKING_GEO_STATUS_DATA",27239],[3,"CONTROL_SYSTEM_STATE_DATA",27239],[3,"GPS_RAW_INT_DATA",27239],[3,"RADIO_STATUS_DATA",27239],[3,"CAMERA_SETTINGS_DATA",27239],[3,"UAVCAN_NODE_INFO_DATA",27239],[3,"OPEN_DRONE_ID_AUTHENTICATION_DATA",27239],[3,"PARAM_EXT_VALUE_DATA",27239],[3,"COMPONENT_INFORMATION_DATA",27239],[3,"RC_CHANNELS_SCALED_DATA",27239],[3,"SERIAL_CONTROL_DATA",27239],[3,"ODOMETRY_DATA",27239],[3,"MISSION_WRITE_PARTIAL_LIST_DATA",27239],[3,"UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",27239],[3,"VFR_HUD_DATA",27239],[3,"UTM_GLOBAL_POSITION_DATA",27239],[3,"CELLULAR_CONFIG_DATA",27239],[3,"SETUP_SIGNING_DATA",27239],[3,"ATTITUDE_TARGET_DATA",27239],[3,"AUTH_KEY_DATA",27239],[3,"MISSION_SET_CURRENT_DATA",27239],[4,"FirmwareVersionType",27239],[4,"MavVtolState",27239],[4,"MavTunnelPayloadType",27239],[4,"GpsFixType",27239],[4,"MavBatteryFunction",27239],[4,"MavBatteryType",27239],[4,"MavOdidVerAcc",27239],[4,"UavionixAdsbOutCfgAircraftSize",27239],[4,"MotorTestThrottleType",27239],[4,"MavModeFlagDecodePosition",27239],[4,"MavDistanceSensor",27239],[4,"EscConnectionType",27239],[4,"UavionixAdsbOutDynamicGpsFix",27239],[4,"UavionixAdsbOutCfgGpsOffsetLon",27239],[4,"FenceAction",27239],[4,"MavlinkDataStreamType",27239],[4,"MavGoto",27239],[4,"MavResult",27239],[4,"MotorTestOrder",27239],[4,"MavFrame",27239],[4,"FenceMitigate",27239],[4,"ParachuteAction",27239],[4,"MavOdidDescType",27239],[4,"MavOdidAuthType",27239],[4,"MavCollisionThreatLevel",27239],[4,"CompMetadataType",27239],[4,"StorageUsageFlag",27239],[4,"MavEventErrorReason",27239],[4,"ActuatorConfiguration",27239],[4,"MavOdidIdType",27239],[4,"MavOdidOperatorIdType",27239],[4,"MavMountMode",27239],[4,"MavCmd",27239],[4,"MavSeverity",27239],[4,"MavSysStatusSensorExtended",27239],[4,"OrbitYawBehaviour",27239],[4,"MavArmAuthDeniedReason",27239],[4,"MavState",27239],[4,"StorageStatus",27239],[4,"CameraTrackingTargetData",27239],[4,"PrecisionLandMode",27239],[4,"AdsbEmitterType",27239],[4,"CameraMode",27239],[4,"PreflightStorageMissionAction",27239],[4,"MavOdidArmStatus",27239],[4,"MavBatteryFault",27239],[4,"AisNavStatus",27239],[4,"FenceBreach",27239],[4,"MavType",27239],[4,"MagCalStatus",27239],[4,"MavOdidStatus",27239],[4,"MavOdidSpeedAcc",27239],[4,"MavOdidTimeAcc",27239],[4,"CellularNetworkFailedReason",27239],[4,"MavDoRepositionFlags",27239],[4,"CameraTrackingStatusFlags",27239],[4,"MavCollisionSrc",27239],[4,"AdsbAltitudeType",27239],[4,"WifiConfigApMode",27239],[4,"MavBatteryChargeState",27239],[4,"MavDataStream",27239],[4,"WifiConfigApResponse",27239],[4,"MavFtpOpcode",27239],[4,"NavVtolLandOptions",27239],[4,"GripperActions",27239],[4,"MavComponent",27239],[4,"MavOdidUaType",27239],[4,"MavParamType",27239],[4,"AisType",27239],[4,"UavcanNodeHealth",27239],[4,"WinchActions",27239],[4,"MavLandedState",27239],[4,"UavionixAdsbOutCfgGpsOffsetLat",27239],[4,"FailureUnit",27239],[4,"MavParamExtType",27239],[4,"RtkBaselineCoordinateSystem",27239],[4,"CellularStatusFlag",27239],[4,"StorageType",27239],[4,"MavCmdAck",27239],[4,"VideoStreamStatusFlags",27239],[4,"MavOdidOperatorLocationType",27239],[4,"MavMissionType",27239],[4,"GimbalManagerFlags",27239],[4,"RcType",27239],[4,"CanFilterOp",27239],[4,"MavOdidClassificationType",27239],[4,"MavOdidClassEu",27239],[4,"MavSensorOrientation",27239],[4,"ActuatorOutputFunction",27239],[4,"UtmFlightState",27239],[4,"MavEstimatorType",27239],[4,"MavOdidCategoryEu",27239],[4,"MavBatteryMode",27239],[4,"CellularConfigResponse",27239],[4,"CameraTrackingMode",27239],[4,"MissionState",27239],[4,"MavRoi",27239],[4,"LandingTargetType",27239],[4,"SerialControlDev",27239],[4,"MavCollisionAction",27239],[4,"UavcanNodeMode",27239],[4,"AutotuneAxis",27239],[4,"ParamAck",27239],[4,"UavionixAdsbEmergencyStatus",27239],[4,"CellularNetworkRadioType",27239],[4,"SetFocusType",27239],[4,"MavMode",27239],[4,"MavOdidHorAcc",27239],[4,"MavMissionResult",27239],[4,"CameraZoomType",27239],[4,"VideoStreamType",27239],[4,"MavAutopilot",27239],[4,"VtolTransitionHeading",27239],[4,"MavFtpErr",27239],[4,"PreflightStorageParameterAction",27239],[4,"MavOdidHeightRef",27239],[4,"FailureType",27239],[13,"InvalidEnum",27102],[13,"InvalidFlag",27102],[13,"UnknownMessage",27102]],"b":[[8656,"impl-LowerHex-for-UavionixAdsbOutDynamicState"],[8657,"impl-Binary-for-UavionixAdsbOutDynamicState"],[8658,"impl-Debug-for-UavionixAdsbOutDynamicState"],[8659,"impl-Octal-for-UavionixAdsbOutDynamicState"],[8660,"impl-UpperHex-for-UavionixAdsbOutDynamicState"],[8667,"impl-Debug-for-MavPowerStatus"],[8668,"impl-LowerHex-for-MavPowerStatus"],[8669,"impl-Binary-for-MavPowerStatus"],[8670,"impl-UpperHex-for-MavPowerStatus"],[8671,"impl-Octal-for-MavPowerStatus"],[8673,"impl-Binary-for-UtmDataAvailFlags"],[8674,"impl-Debug-for-UtmDataAvailFlags"],[8675,"impl-Octal-for-UtmDataAvailFlags"],[8676,"impl-LowerHex-for-UtmDataAvailFlags"],[8677,"impl-UpperHex-for-UtmDataAvailFlags"],[8681,"impl-Octal-for-GoproHeartbeatFlags"],[8682,"impl-Binary-for-GoproHeartbeatFlags"],[8683,"impl-LowerHex-for-GoproHeartbeatFlags"],[8684,"impl-Debug-for-GoproHeartbeatFlags"],[8685,"impl-UpperHex-for-GoproHeartbeatFlags"],[8690,"impl-UpperHex-for-AisFlags"],[8691,"impl-Binary-for-AisFlags"],[8692,"impl-LowerHex-for-AisFlags"],[8693,"impl-Debug-for-AisFlags"],[8694,"impl-Octal-for-AisFlags"],[8700,"impl-LowerHex-for-MavProtocolCapability"],[8701,"impl-UpperHex-for-MavProtocolCapability"],[8702,"impl-Binary-for-MavProtocolCapability"],[8703,"impl-Octal-for-MavProtocolCapability"],[8704,"impl-Debug-for-MavProtocolCapability"],[8706,"impl-Octal-for-HilSensorUpdatedFlags"],[8707,"impl-Binary-for-HilSensorUpdatedFlags"],[8708,"impl-Debug-for-HilSensorUpdatedFlags"],[8709,"impl-UpperHex-for-HilSensorUpdatedFlags"],[8710,"impl-LowerHex-for-HilSensorUpdatedFlags"],[8726,"impl-Debug-for-PositionTargetTypemask"],[8727,"impl-Binary-for-PositionTargetTypemask"],[8728,"impl-LowerHex-for-PositionTargetTypemask"],[8729,"impl-UpperHex-for-PositionTargetTypemask"],[8730,"impl-Octal-for-PositionTargetTypemask"],[8733,"impl-LowerHex-for-GimbalDeviceErrorFlags"],[8734,"impl-Debug-for-GimbalDeviceErrorFlags"],[8735,"impl-Binary-for-GimbalDeviceErrorFlags"],[8736,"impl-UpperHex-for-GimbalDeviceErrorFlags"],[8737,"impl-Octal-for-GimbalDeviceErrorFlags"],[8738,"impl-Octal-for-CameraCapFlags"],[8739,"impl-Debug-for-CameraCapFlags"],[8740,"impl-LowerHex-for-CameraCapFlags"],[8741,"impl-Binary-for-CameraCapFlags"],[8742,"impl-UpperHex-for-CameraCapFlags"],[8759,"impl-LowerHex-for-EscFailureFlags"],[8760,"impl-UpperHex-for-EscFailureFlags"],[8761,"impl-Octal-for-EscFailureFlags"],[8762,"impl-Binary-for-EscFailureFlags"],[8763,"impl-Debug-for-EscFailureFlags"],[8771,"impl-UpperHex-for-GimbalDeviceCapFlags"],[8772,"impl-LowerHex-for-GimbalDeviceCapFlags"],[8773,"impl-Octal-for-GimbalDeviceCapFlags"],[8774,"impl-Binary-for-GimbalDeviceCapFlags"],[8775,"impl-Debug-for-GimbalDeviceCapFlags"],[8779,"impl-LowerHex-for-LimitModule"],[8780,"impl-Debug-for-LimitModule"],[8781,"impl-Binary-for-LimitModule"],[8782,"impl-Octal-for-LimitModule"],[8783,"impl-UpperHex-for-LimitModule"],[8785,"impl-Octal-for-AdsbFlags"],[8786,"impl-LowerHex-for-AdsbFlags"],[8787,"impl-Binary-for-AdsbFlags"],[8788,"impl-UpperHex-for-AdsbFlags"],[8789,"impl-Debug-for-AdsbFlags"],[8796,"impl-Binary-for-GpsInputIgnoreFlags"],[8797,"impl-Debug-for-GpsInputIgnoreFlags"],[8798,"impl-LowerHex-for-GpsInputIgnoreFlags"],[8799,"impl-Octal-for-GpsInputIgnoreFlags"],[8800,"impl-UpperHex-for-GpsInputIgnoreFlags"],[8819,"impl-LowerHex-for-MavModeFlag"],[8820,"impl-Octal-for-MavModeFlag"],[8821,"impl-Binary-for-MavModeFlag"],[8822,"impl-Debug-for-MavModeFlag"],[8823,"impl-UpperHex-for-MavModeFlag"],[8827,"impl-Octal-for-HlFailureFlag"],[8828,"impl-UpperHex-for-HlFailureFlag"],[8829,"impl-LowerHex-for-HlFailureFlag"],[8830,"impl-Debug-for-HlFailureFlag"],[8831,"impl-Binary-for-HlFailureFlag"],[8837,"impl-Binary-for-MavEventCurrentSequenceFlags"],[8838,"impl-Debug-for-MavEventCurrentSequenceFlags"],[8839,"impl-LowerHex-for-MavEventCurrentSequenceFlags"],[8840,"impl-UpperHex-for-MavEventCurrentSequenceFlags"],[8841,"impl-Octal-for-MavEventCurrentSequenceFlags"],[8843,"impl-Binary-for-UavionixAdsbRfHealth"],[8844,"impl-Debug-for-UavionixAdsbRfHealth"],[8845,"impl-Octal-for-UavionixAdsbRfHealth"],[8846,"impl-LowerHex-for-UavionixAdsbRfHealth"],[8847,"impl-UpperHex-for-UavionixAdsbRfHealth"],[8853,"impl-Binary-for-GimbalManagerCapFlags"],[8854,"impl-Debug-for-GimbalManagerCapFlags"],[8855,"impl-Octal-for-GimbalManagerCapFlags"],[8856,"impl-UpperHex-for-GimbalManagerCapFlags"],[8857,"impl-LowerHex-for-GimbalManagerCapFlags"],[8861,"impl-UpperHex-for-AttitudeTargetTypemask"],[8862,"impl-Binary-for-AttitudeTargetTypemask"],[8863,"impl-Octal-for-AttitudeTargetTypemask"],[8864,"impl-LowerHex-for-AttitudeTargetTypemask"],[8865,"impl-Debug-for-AttitudeTargetTypemask"],[8875,"impl-Debug-for-MavWinchStatusFlag"],[8876,"impl-LowerHex-for-MavWinchStatusFlag"],[8877,"impl-Octal-for-MavWinchStatusFlag"],[8878,"impl-Binary-for-MavWinchStatusFlag"],[8879,"impl-UpperHex-for-MavWinchStatusFlag"],[8886,"impl-UpperHex-for-MavSysStatusSensor"],[8887,"impl-Debug-for-MavSysStatusSensor"],[8888,"impl-LowerHex-for-MavSysStatusSensor"],[8889,"impl-Octal-for-MavSysStatusSensor"],[8890,"impl-Binary-for-MavSysStatusSensor"],[8895,"impl-Binary-for-MavGeneratorStatusFlag"],[8896,"impl-Octal-for-MavGeneratorStatusFlag"],[8897,"impl-Debug-for-MavGeneratorStatusFlag"],[8898,"impl-UpperHex-for-MavGeneratorStatusFlag"],[8899,"impl-LowerHex-for-MavGeneratorStatusFlag"],[8901,"impl-Octal-for-UavionixAdsbOutRfSelect"],[8902,"impl-Debug-for-UavionixAdsbOutRfSelect"],[8903,"impl-LowerHex-for-UavionixAdsbOutRfSelect"],[8904,"impl-Binary-for-UavionixAdsbOutRfSelect"],[8905,"impl-UpperHex-for-UavionixAdsbOutRfSelect"],[8908,"impl-Octal-for-GimbalDeviceFlags"],[8909,"impl-Debug-for-GimbalDeviceFlags"],[8910,"impl-Binary-for-GimbalDeviceFlags"],[8911,"impl-LowerHex-for-GimbalDeviceFlags"],[8912,"impl-UpperHex-for-GimbalDeviceFlags"],[8915,"impl-Binary-for-TuneFormat"],[8916,"impl-Octal-for-TuneFormat"],[8917,"impl-UpperHex-for-TuneFormat"],[8918,"impl-LowerHex-for-TuneFormat"],[8919,"impl-Debug-for-TuneFormat"],[8924,"impl-Debug-for-HighresImuUpdatedFlags"],[8925,"impl-UpperHex-for-HighresImuUpdatedFlags"],[8926,"impl-Octal-for-HighresImuUpdatedFlags"],[8927,"impl-LowerHex-for-HighresImuUpdatedFlags"],[8928,"impl-Binary-for-HighresImuUpdatedFlags"],[8932,"impl-Debug-for-EstimatorStatusFlags"],[8933,"impl-LowerHex-for-EstimatorStatusFlags"],[8934,"impl-Octal-for-EstimatorStatusFlags"],[8935,"impl-UpperHex-for-EstimatorStatusFlags"],[8936,"impl-Binary-for-EstimatorStatusFlags"],[8938,"impl-LowerHex-for-RallyFlags"],[8939,"impl-UpperHex-for-RallyFlags"],[8940,"impl-Octal-for-RallyFlags"],[8941,"impl-Binary-for-RallyFlags"],[8942,"impl-Debug-for-RallyFlags"],[8951,"impl-UpperHex-for-SerialControlFlag"],[8952,"impl-Binary-for-SerialControlFlag"],[8953,"impl-Octal-for-SerialControlFlag"],[8954,"impl-Debug-for-SerialControlFlag"],[8955,"impl-LowerHex-for-SerialControlFlag"],[8962,"impl-Octal-for-EkfStatusFlags"],[8963,"impl-Binary-for-EkfStatusFlags"],[8964,"impl-LowerHex-for-EkfStatusFlags"],[8965,"impl-Debug-for-EkfStatusFlags"],[8966,"impl-UpperHex-for-EkfStatusFlags"],[21921,"impl-UpperHex-for-CameraCapFlags"],[21922,"impl-Octal-for-CameraCapFlags"],[21923,"impl-Binary-for-CameraCapFlags"],[21924,"impl-LowerHex-for-CameraCapFlags"],[21925,"impl-Debug-for-CameraCapFlags"],[21947,"impl-LowerHex-for-TuneFormat"],[21948,"impl-Debug-for-TuneFormat"],[21949,"impl-UpperHex-for-TuneFormat"],[21950,"impl-Octal-for-TuneFormat"],[21951,"impl-Binary-for-TuneFormat"],[21955,"impl-Debug-for-GimbalDeviceCapFlags"],[21956,"impl-Octal-for-GimbalDeviceCapFlags"],[21957,"impl-LowerHex-for-GimbalDeviceCapFlags"],[21958,"impl-Binary-for-GimbalDeviceCapFlags"],[21959,"impl-UpperHex-for-GimbalDeviceCapFlags"],[21961,"impl-Binary-for-SerialControlFlag"],[21962,"impl-Debug-for-SerialControlFlag"],[21963,"impl-UpperHex-for-SerialControlFlag"],[21964,"impl-LowerHex-for-SerialControlFlag"],[21965,"impl-Octal-for-SerialControlFlag"],[21972,"impl-LowerHex-for-MavPowerStatus"],[21973,"impl-Octal-for-MavPowerStatus"],[21974,"impl-UpperHex-for-MavPowerStatus"],[21975,"impl-Binary-for-MavPowerStatus"],[21976,"impl-Debug-for-MavPowerStatus"],[21980,"impl-Binary-for-GpsInputIgnoreFlags"],[21981,"impl-UpperHex-for-GpsInputIgnoreFlags"],[21982,"impl-LowerHex-for-GpsInputIgnoreFlags"],[21983,"impl-Debug-for-GpsInputIgnoreFlags"],[21984,"impl-Octal-for-GpsInputIgnoreFlags"],[21991,"impl-Octal-for-GimbalDeviceFlags"],[21992,"impl-LowerHex-for-GimbalDeviceFlags"],[21993,"impl-Debug-for-GimbalDeviceFlags"],[21994,"impl-UpperHex-for-GimbalDeviceFlags"],[21995,"impl-Binary-for-GimbalDeviceFlags"],[22005,"impl-Binary-for-HighresImuUpdatedFlags"],[22006,"impl-UpperHex-for-HighresImuUpdatedFlags"],[22007,"impl-LowerHex-for-HighresImuUpdatedFlags"],[22008,"impl-Debug-for-HighresImuUpdatedFlags"],[22009,"impl-Octal-for-HighresImuUpdatedFlags"],[22022,"impl-LowerHex-for-EstimatorStatusFlags"],[22023,"impl-UpperHex-for-EstimatorStatusFlags"],[22024,"impl-Debug-for-EstimatorStatusFlags"],[22025,"impl-Octal-for-EstimatorStatusFlags"],[22026,"impl-Binary-for-EstimatorStatusFlags"],[22028,"impl-Binary-for-GimbalDeviceErrorFlags"],[22029,"impl-LowerHex-for-GimbalDeviceErrorFlags"],[22030,"impl-Octal-for-GimbalDeviceErrorFlags"],[22031,"impl-Debug-for-GimbalDeviceErrorFlags"],[22032,"impl-UpperHex-for-GimbalDeviceErrorFlags"],[22039,"impl-Octal-for-MavWinchStatusFlag"],[22040,"impl-Debug-for-MavWinchStatusFlag"],[22041,"impl-Binary-for-MavWinchStatusFlag"],[22042,"impl-UpperHex-for-MavWinchStatusFlag"],[22043,"impl-LowerHex-for-MavWinchStatusFlag"],[22046,"impl-UpperHex-for-AisFlags"],[22047,"impl-Binary-for-AisFlags"],[22048,"impl-LowerHex-for-AisFlags"],[22049,"impl-Debug-for-AisFlags"],[22050,"impl-Octal-for-AisFlags"],[22054,"impl-Binary-for-MavEventCurrentSequenceFlags"],[22055,"impl-UpperHex-for-MavEventCurrentSequenceFlags"],[22056,"impl-Octal-for-MavEventCurrentSequenceFlags"],[22057,"impl-Debug-for-MavEventCurrentSequenceFlags"],[22058,"impl-LowerHex-for-MavEventCurrentSequenceFlags"],[22059,"impl-LowerHex-for-HilSensorUpdatedFlags"],[22060,"impl-Octal-for-HilSensorUpdatedFlags"],[22061,"impl-Binary-for-HilSensorUpdatedFlags"],[22062,"impl-Debug-for-HilSensorUpdatedFlags"],[22063,"impl-UpperHex-for-HilSensorUpdatedFlags"],[22064,"impl-Debug-for-MavGeneratorStatusFlag"],[22065,"impl-Binary-for-MavGeneratorStatusFlag"],[22066,"impl-Octal-for-MavGeneratorStatusFlag"],[22067,"impl-LowerHex-for-MavGeneratorStatusFlag"],[22068,"impl-UpperHex-for-MavGeneratorStatusFlag"],[22077,"impl-Octal-for-GimbalManagerCapFlags"],[22078,"impl-UpperHex-for-GimbalManagerCapFlags"],[22079,"impl-LowerHex-for-GimbalManagerCapFlags"],[22080,"impl-Binary-for-GimbalManagerCapFlags"],[22081,"impl-Debug-for-GimbalManagerCapFlags"],[22082,"impl-Debug-for-MavProtocolCapability"],[22083,"impl-Octal-for-MavProtocolCapability"],[22084,"impl-Binary-for-MavProtocolCapability"],[22085,"impl-UpperHex-for-MavProtocolCapability"],[22086,"impl-LowerHex-for-MavProtocolCapability"],[22088,"impl-Debug-for-AttitudeTargetTypemask"],[22089,"impl-Octal-for-AttitudeTargetTypemask"],[22090,"impl-LowerHex-for-AttitudeTargetTypemask"],[22091,"impl-UpperHex-for-AttitudeTargetTypemask"],[22092,"impl-Binary-for-AttitudeTargetTypemask"],[22094,"impl-UpperHex-for-PositionTargetTypemask"],[22095,"impl-Octal-for-PositionTargetTypemask"],[22096,"impl-LowerHex-for-PositionTargetTypemask"],[22097,"impl-Binary-for-PositionTargetTypemask"],[22098,"impl-Debug-for-PositionTargetTypemask"],[22102,"impl-Binary-for-AdsbFlags"],[22103,"impl-Debug-for-AdsbFlags"],[22104,"impl-Octal-for-AdsbFlags"],[22105,"impl-UpperHex-for-AdsbFlags"],[22106,"impl-LowerHex-for-AdsbFlags"],[22119,"impl-LowerHex-for-UtmDataAvailFlags"],[22120,"impl-Binary-for-UtmDataAvailFlags"],[22121,"impl-UpperHex-for-UtmDataAvailFlags"],[22122,"impl-Octal-for-UtmDataAvailFlags"],[22123,"impl-Debug-for-UtmDataAvailFlags"],[22129,"impl-Binary-for-EscFailureFlags"],[22130,"impl-Octal-for-EscFailureFlags"],[22131,"impl-LowerHex-for-EscFailureFlags"],[22132,"impl-Debug-for-EscFailureFlags"],[22133,"impl-UpperHex-for-EscFailureFlags"],[22134,"impl-UpperHex-for-MavModeFlag"],[22135,"impl-LowerHex-for-MavModeFlag"],[22136,"impl-Binary-for-MavModeFlag"],[22137,"impl-Octal-for-MavModeFlag"],[22138,"impl-Debug-for-MavModeFlag"],[22143,"impl-LowerHex-for-MavSysStatusSensor"],[22144,"impl-UpperHex-for-MavSysStatusSensor"],[22145,"impl-Octal-for-MavSysStatusSensor"],[22146,"impl-Binary-for-MavSysStatusSensor"],[22147,"impl-Debug-for-MavSysStatusSensor"],[22148,"impl-UpperHex-for-HlFailureFlag"],[22149,"impl-Debug-for-HlFailureFlag"],[22150,"impl-LowerHex-for-HlFailureFlag"],[22151,"impl-Octal-for-HlFailureFlag"],[22152,"impl-Binary-for-HlFailureFlag"],[27075,"impl-Display-for-ParserError"],[27076,"impl-Debug-for-ParserError"],[27077,"impl-Display-for-MessageReadError"],[27078,"impl-Debug-for-MessageReadError"],[27079,"impl-Debug-for-MessageWriteError"],[27080,"impl-Display-for-MessageWriteError"],[27082,"impl-From%3CError%3E-for-MessageReadError"],[27084,"impl-From%3CParserError%3E-for-MessageReadError"],[33829,"impl-Octal-for-UavionixAdsbRfHealth"],[33830,"impl-LowerHex-for-UavionixAdsbRfHealth"],[33831,"impl-Binary-for-UavionixAdsbRfHealth"],[33832,"impl-Debug-for-UavionixAdsbRfHealth"],[33833,"impl-UpperHex-for-UavionixAdsbRfHealth"],[33834,"impl-Binary-for-HilSensorUpdatedFlags"],[33835,"impl-Debug-for-HilSensorUpdatedFlags"],[33836,"impl-LowerHex-for-HilSensorUpdatedFlags"],[33837,"impl-UpperHex-for-HilSensorUpdatedFlags"],[33838,"impl-Octal-for-HilSensorUpdatedFlags"],[33846,"impl-LowerHex-for-GimbalDeviceFlags"],[33847,"impl-UpperHex-for-GimbalDeviceFlags"],[33848,"impl-Binary-for-GimbalDeviceFlags"],[33849,"impl-Debug-for-GimbalDeviceFlags"],[33850,"impl-Octal-for-GimbalDeviceFlags"],[33855,"impl-UpperHex-for-MavGeneratorStatusFlag"],[33856,"impl-Debug-for-MavGeneratorStatusFlag"],[33857,"impl-Octal-for-MavGeneratorStatusFlag"],[33858,"impl-Binary-for-MavGeneratorStatusFlag"],[33859,"impl-LowerHex-for-MavGeneratorStatusFlag"],[33861,"impl-Binary-for-GpsInputIgnoreFlags"],[33862,"impl-Debug-for-GpsInputIgnoreFlags"],[33863,"impl-Octal-for-GpsInputIgnoreFlags"],[33864,"impl-UpperHex-for-GpsInputIgnoreFlags"],[33865,"impl-LowerHex-for-GpsInputIgnoreFlags"],[33866,"impl-LowerHex-for-MavWinchStatusFlag"],[33867,"impl-Octal-for-MavWinchStatusFlag"],[33868,"impl-UpperHex-for-MavWinchStatusFlag"],[33869,"impl-Debug-for-MavWinchStatusFlag"],[33870,"impl-Binary-for-MavWinchStatusFlag"],[33871,"impl-LowerHex-for-MavEventCurrentSequenceFlags"],[33872,"impl-UpperHex-for-MavEventCurrentSequenceFlags"],[33873,"impl-Binary-for-MavEventCurrentSequenceFlags"],[33874,"impl-Debug-for-MavEventCurrentSequenceFlags"],[33875,"impl-Octal-for-MavEventCurrentSequenceFlags"],[33878,"impl-Binary-for-TuneFormat"],[33879,"impl-UpperHex-for-TuneFormat"],[33880,"impl-Debug-for-TuneFormat"],[33881,"impl-LowerHex-for-TuneFormat"],[33882,"impl-Octal-for-TuneFormat"],[33887,"impl-LowerHex-for-UavionixAdsbOutRfSelect"],[33888,"impl-Octal-for-UavionixAdsbOutRfSelect"],[33889,"impl-Debug-for-UavionixAdsbOutRfSelect"],[33890,"impl-UpperHex-for-UavionixAdsbOutRfSelect"],[33891,"impl-Binary-for-UavionixAdsbOutRfSelect"],[33893,"impl-UpperHex-for-AttitudeTargetTypemask"],[33894,"impl-Debug-for-AttitudeTargetTypemask"],[33895,"impl-Binary-for-AttitudeTargetTypemask"],[33896,"impl-LowerHex-for-AttitudeTargetTypemask"],[33897,"impl-Octal-for-AttitudeTargetTypemask"],[33903,"impl-Octal-for-MavPowerStatus"],[33904,"impl-UpperHex-for-MavPowerStatus"],[33905,"impl-Debug-for-MavPowerStatus"],[33906,"impl-Binary-for-MavPowerStatus"],[33907,"impl-LowerHex-for-MavPowerStatus"],[33918,"impl-Debug-for-EstimatorStatusFlags"],[33919,"impl-UpperHex-for-EstimatorStatusFlags"],[33920,"impl-Binary-for-EstimatorStatusFlags"],[33921,"impl-Octal-for-EstimatorStatusFlags"],[33922,"impl-LowerHex-for-EstimatorStatusFlags"],[33929,"impl-Debug-for-SerialControlFlag"],[33930,"impl-Octal-for-SerialControlFlag"],[33931,"impl-LowerHex-for-SerialControlFlag"],[33932,"impl-UpperHex-for-SerialControlFlag"],[33933,"impl-Binary-for-SerialControlFlag"],[33935,"impl-Octal-for-HighresImuUpdatedFlags"],[33936,"impl-LowerHex-for-HighresImuUpdatedFlags"],[33937,"impl-Binary-for-HighresImuUpdatedFlags"],[33938,"impl-Debug-for-HighresImuUpdatedFlags"],[33939,"impl-UpperHex-for-HighresImuUpdatedFlags"],[33941,"impl-LowerHex-for-GimbalDeviceCapFlags"],[33942,"impl-Debug-for-GimbalDeviceCapFlags"],[33943,"impl-Octal-for-GimbalDeviceCapFlags"],[33944,"impl-UpperHex-for-GimbalDeviceCapFlags"],[33945,"impl-Binary-for-GimbalDeviceCapFlags"],[33959,"impl-Binary-for-GimbalManagerCapFlags"],[33960,"impl-Octal-for-GimbalManagerCapFlags"],[33961,"impl-LowerHex-for-GimbalManagerCapFlags"],[33962,"impl-Debug-for-GimbalManagerCapFlags"],[33963,"impl-UpperHex-for-GimbalManagerCapFlags"],[33969,"impl-Debug-for-MavProtocolCapability"],[33970,"impl-LowerHex-for-MavProtocolCapability"],[33971,"impl-Binary-for-MavProtocolCapability"],[33972,"impl-UpperHex-for-MavProtocolCapability"],[33973,"impl-Octal-for-MavProtocolCapability"],[33983,"impl-Octal-for-MavModeFlag"],[33984,"impl-Debug-for-MavModeFlag"],[33985,"impl-UpperHex-for-MavModeFlag"],[33986,"impl-LowerHex-for-MavModeFlag"],[33987,"impl-Binary-for-MavModeFlag"],[33994,"impl-LowerHex-for-UavionixAdsbOutDynamicState"],[33995,"impl-UpperHex-for-UavionixAdsbOutDynamicState"],[33996,"impl-Octal-for-UavionixAdsbOutDynamicState"],[33997,"impl-Binary-for-UavionixAdsbOutDynamicState"],[33998,"impl-Debug-for-UavionixAdsbOutDynamicState"],[34004,"impl-LowerHex-for-MavSysStatusSensor"],[34005,"impl-Binary-for-MavSysStatusSensor"],[34006,"impl-Debug-for-MavSysStatusSensor"],[34007,"impl-Octal-for-MavSysStatusSensor"],[34008,"impl-UpperHex-for-MavSysStatusSensor"],[34009,"impl-UpperHex-for-CameraCapFlags"],[34010,"impl-LowerHex-for-CameraCapFlags"],[34011,"impl-Debug-for-CameraCapFlags"],[34012,"impl-Octal-for-CameraCapFlags"],[34013,"impl-Binary-for-CameraCapFlags"],[34021,"impl-Debug-for-AisFlags"],[34022,"impl-LowerHex-for-AisFlags"],[34023,"impl-Octal-for-AisFlags"],[34024,"impl-Binary-for-AisFlags"],[34025,"impl-UpperHex-for-AisFlags"],[34026,"impl-LowerHex-for-UtmDataAvailFlags"],[34027,"impl-UpperHex-for-UtmDataAvailFlags"],[34028,"impl-Octal-for-UtmDataAvailFlags"],[34029,"impl-Debug-for-UtmDataAvailFlags"],[34030,"impl-Binary-for-UtmDataAvailFlags"],[34038,"impl-UpperHex-for-PositionTargetTypemask"],[34039,"impl-Binary-for-PositionTargetTypemask"],[34040,"impl-LowerHex-for-PositionTargetTypemask"],[34041,"impl-Debug-for-PositionTargetTypemask"],[34042,"impl-Octal-for-PositionTargetTypemask"],[34045,"impl-Binary-for-HlFailureFlag"],[34046,"impl-Debug-for-HlFailureFlag"],[34047,"impl-Octal-for-HlFailureFlag"],[34048,"impl-LowerHex-for-HlFailureFlag"],[34049,"impl-UpperHex-for-HlFailureFlag"],[34062,"impl-UpperHex-for-GimbalDeviceErrorFlags"],[34063,"impl-Octal-for-GimbalDeviceErrorFlags"],[34064,"impl-Binary-for-GimbalDeviceErrorFlags"],[34065,"impl-Debug-for-GimbalDeviceErrorFlags"],[34066,"impl-LowerHex-for-GimbalDeviceErrorFlags"],[34070,"impl-Binary-for-AdsbFlags"],[34071,"impl-LowerHex-for-AdsbFlags"],[34072,"impl-UpperHex-for-AdsbFlags"],[34073,"impl-Octal-for-AdsbFlags"],[34074,"impl-Debug-for-AdsbFlags"],[34075,"impl-Debug-for-EscFailureFlags"],[34076,"impl-UpperHex-for-EscFailureFlags"],[34077,"impl-LowerHex-for-EscFailureFlags"],[34078,"impl-Binary-for-EscFailureFlags"],[34079,"impl-Octal-for-EscFailureFlags"]]},\ "mavlink_dump":{"doc":"","t":"FFFF","n":["heartbeat_message","main","request_parameters","request_stream"],"q":[[0,"mavlink_dump"],[4,"mavlink::ardupilotmega"]],"d":["Create a heartbeat message using ‘ardupilotmega’ …","","Create a message requesting the parameters list","Create a message enabling data streaming"],"i":[0,0,0,0],"f":[[[],1],[[],2],[[],1],[[],1]],"c":[],"p":[[4,"MavMessage",4],[15,"tuple"]],"b":[]},\ "num_derive":{"doc":"Procedural macros to derive numeric traits in Rust.","t":"YYYYYYYY","n":["Float","FromPrimitive","Num","NumCast","NumOps","One","ToPrimitive","Zero"],"q":[[0,"num_derive"]],"d":["Derives num_traits::Float for newtypes. The inner type …","Derives num_traits::FromPrimitive for simple enums and …","Derives num_traits::Num for newtypes. The inner type must …","Derives num_traits::NumCast for newtypes. The inner type …","Derives num_traits::NumOps for newtypes. The inner type …","Derives num_traits::One for newtypes. The inner type must …","Derives num_traits::ToPrimitive for simple enums and …","Derives num_traits::Zero for newtypes. The inner type …"],"i":[0,0,0,0,0,0,0,0],"f":[0,0,0,0,0,0,0,0],"c":[],"p":[],"b":[]},\ "num_traits":{"doc":"Numeric traits for generic mathematics","t":"CCCCCCCCCCCNCCECCQCNCCIIIICIICDCCICCCCCCCCCCCCCCCCCLLLLAACCFFFALLLLLKAALLMCAACACLLLLLLCIIIKKKKIIIIKFKLLLLLKLLLLLKLLLLLLLKLLLLLKLLKKKKKKKKKKIIKKLKLKKKLLLKKLLKKLLLLLLLLKLKKKKKLLLLKKLIILKFKLLFKIKKKKLKKLKKKKKKKLKKKAAAAAAAAQQIIIKKLKKLIIIIIIIIKKKKKKKKIIKKKKIQKIIQKKIIIKKKIIIIKKKKKIIIIIIKKKKKKQIFFKIIFKFKKKFK","n":["AsPrimitive","Bounded","CheckedAdd","CheckedDiv","CheckedEuclid","CheckedMul","CheckedNeg","CheckedRem","CheckedShl","CheckedShr","CheckedSub","Empty","Euclid","FloatConst","FloatErrorKind","FromBytes","FromPrimitive","FromStrRadixErr","Inv","Invalid","MulAdd","MulAddAssign","Num","NumAssign","NumAssignOps","NumAssignRef","NumCast","NumOps","NumRef","One","ParseFloatError","Pow","PrimInt","RefNum","Saturating","SaturatingAdd","SaturatingMul","SaturatingSub","Signed","ToBytes","ToPrimitive","Unsigned","WrappingAdd","WrappingMul","WrappingNeg","WrappingShl","WrappingShr","WrappingSub","Zero","abs","abs_sub","borrow","borrow","borrow_mut","borrow_mut","bounds","cast","cast","checked_pow","clamp","clamp_max","clamp_min","float","fmt","fmt","fmt","from","from","from_str_radix","identities","int","into","into","kind","one","ops","pow","pow","sign","signum","try_from","try_from","try_into","try_into","type_id","type_id","zero","Bounded","LowerBounded","UpperBounded","max_value","max_value","min_value","min_value","AsPrimitive","FromPrimitive","NumCast","ToPrimitive","as_","cast","from","from_f32","from_f64","from_i128","from_i16","from_i32","from_i64","from_i8","from_isize","from_u128","from_u16","from_u32","from_u64","from_u8","from_usize","to_f32","to_f64","to_i128","to_i16","to_i32","to_i64","to_i8","to_isize","to_u128","to_u16","to_u32","to_u64","to_u8","to_usize","E","FRAC_1_PI","FRAC_1_SQRT_2","FRAC_2_PI","FRAC_2_SQRT_PI","FRAC_PI_2","FRAC_PI_3","FRAC_PI_4","FRAC_PI_6","FRAC_PI_8","FloatConst","FloatCore","LN_10","LN_2","LOG10_2","LOG10_E","LOG2_10","LOG2_E","PI","SQRT_2","TAU","abs","ceil","classify","epsilon","floor","fract","infinity","integer_decode","is_finite","is_infinite","is_nan","is_normal","is_sign_negative","is_sign_positive","is_subnormal","max","max_value","min","min_positive_value","min_value","nan","neg_infinity","neg_zero","powi","recip","round","signum","to_degrees","to_radians","trunc","One","Zero","is_one","is_zero","one","one","set_one","set_zero","zero","zero","PrimInt","count_ones","count_zeros","from_be","from_le","leading_ones","leading_zeros","pow","reverse_bits","rotate_left","rotate_right","signed_shl","signed_shr","swap_bytes","to_be","to_le","trailing_ones","trailing_zeros","unsigned_shl","unsigned_shr","bytes","checked","euclid","inv","mul_add","overflowing","saturating","wrapping","Bytes","Bytes","FromBytes","NumBytes","ToBytes","from_be_bytes","from_le_bytes","from_ne_bytes","to_be_bytes","to_le_bytes","to_ne_bytes","CheckedAdd","CheckedDiv","CheckedMul","CheckedNeg","CheckedRem","CheckedShl","CheckedShr","CheckedSub","checked_add","checked_div","checked_mul","checked_neg","checked_rem","checked_shl","checked_shr","checked_sub","CheckedEuclid","Euclid","checked_div_euclid","checked_rem_euclid","div_euclid","rem_euclid","Inv","Output","inv","MulAdd","MulAddAssign","Output","mul_add","mul_add_assign","OverflowingAdd","OverflowingMul","OverflowingSub","overflowing_add","overflowing_mul","overflowing_sub","Saturating","SaturatingAdd","SaturatingMul","SaturatingSub","saturating_add","saturating_add","saturating_mul","saturating_sub","saturating_sub","WrappingAdd","WrappingMul","WrappingNeg","WrappingShl","WrappingShr","WrappingSub","wrapping_add","wrapping_mul","wrapping_neg","wrapping_shl","wrapping_shr","wrapping_sub","Output","Pow","checked_pow","pow","pow","Signed","Unsigned","abs","abs","abs_sub","abs_sub","is_negative","is_positive","signum","signum"],"q":[[0,"num_traits"],[87,"num_traits::bounds"],[94,"num_traits::cast"],[129,"num_traits::float"],[180,"num_traits::identities"],[190,"num_traits::int"],[210,"num_traits::ops"],[218,"num_traits::ops::bytes"],[229,"num_traits::ops::checked"],[245,"num_traits::ops::euclid"],[251,"num_traits::ops::inv"],[254,"num_traits::ops::mul_add"],[259,"num_traits::ops::overflowing"],[265,"num_traits::ops::saturating"],[274,"num_traits::ops::wrapping"],[286,"num_traits::pow"],[291,"num_traits::sign"],[301,"core::cmp"],[302,"core::fmt"],[303,"core::fmt"],[304,"core::any"],[305,"core::option"],[306,"core::marker"],[307,"core::ops::arith"],[308,"core::ops::arith"],[309,"core::cmp"],[310,"core::ops::arith"]],"d":["","","","","","","","","","","","","","","","","","","","","","","The base trait for numeric types, covering 0 and 1 values, …","The trait for Num types which also implement assignment …","Generic trait for types implementing numeric assignment …","The trait for NumAssign types which also implement …","","Generic trait for types implementing basic numeric …","The trait for Num types which also implement numeric …","","","","","The trait for Num references which implement numeric …","","","","","","","","","","","","","","","","","","","","","","","","","","A value bounded by a minimum and a maximum","A value bounded by a maximum value","A value bounded by a minimum value","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Convert from a string and radix (typically 2..=36).","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","Numbers which have upper and lower bounds","Numbers which have lower bounds","Numbers which have upper bounds","Returns the largest finite number this type can represent","Returns the largest finite number this type can represent","Returns the smallest finite number this type can represent","Returns the smallest finite number this type can represent","A generic interface for casting between machine scalars …","A generic trait for converting a number to a value.","An interface for casting between machine scalars.","A generic trait for converting a value to a number.","Convert a value to another, using the as operator.","Cast from one machine scalar to another.","Creates a number from another value that can be converted …","Converts a f32 to return an optional value of this type. …","Converts a f64 to return an optional value of this type. …","Converts an i128 to return an optional value of this type. …","Converts an i16 to return an optional value of this type. …","Converts an i32 to return an optional value of this type. …","Converts an i64 to return an optional value of this type. …","Converts an i8 to return an optional value of this type. …","Converts an isize to return an optional value of this …","Converts an u128 to return an optional value of this type. …","Converts an u16 to return an optional value of this type. …","Converts an u32 to return an optional value of this type. …","Converts an u64 to return an optional value of this type. …","Converts an u8 to return an optional value of this type. …","Converts a usize to return an optional value of this type. …","Converts the value of self to an f32. Overflows may map to …","Converts the value of self to an f64. Overflows may map to …","Converts the value of self to an i128. If the value cannot …","Converts the value of self to an i16. If the value cannot …","Converts the value of self to an i32. If the value cannot …","Converts the value of self to an i64. If the value cannot …","Converts the value of self to an i8. If the value cannot be","Converts the value of self to an isize. If the value …","Converts the value of self to a u128. If the value cannot …","Converts the value of self to a u16. If the value cannot be","Converts the value of self to a u32. If the value cannot be","Converts the value of self to a u64. If the value cannot be","Converts the value of self to a u8. If the value cannot be …","Converts the value of self to a usize. If the value cannot …","Return Euler’s number.","Return 1.0 / π.","Return 1.0 / sqrt(2.0).","Return 2.0 / π.","Return 2.0 / sqrt(π).","Return π / 2.0.","Return π / 3.0.","Return π / 4.0.","Return π / 6.0.","Return π / 8.0.","","Generic trait for floating point numbers that works with …","Return ln(10.0).","Return ln(2.0).","Return log10(2.0).","Return log10(e).","Return log2(10.0).","Return log2(e).","Return Archimedes’ constant π.","Return sqrt(2.0).","Return the full circle constant τ.","Computes the absolute value of self. Returns …","Returns the smallest integer greater than or equal to a …","Returns the floating point category of the number. If only …","Returns epsilon, a small positive value.","Returns the largest integer less than or equal to a number.","Returns the fractional part of a number.","Returns positive infinity.","Returns the mantissa, base 2 exponent, and sign as …","Returns true if the number is neither infinite or NaN.","Returns true if the number is infinite.","Returns true if the number is NaN.","Returns true if the number is neither zero, infinite, …","Returns true if self is negative, including -0.0 and …","Returns true if self is positive, including +0.0 and …","Returns true if the number is subnormal.","Returns the maximum of the two numbers.","Returns the largest finite value that this type can …","Returns the minimum of the two numbers.","Returns the smallest positive, normalized value that this …","Returns the smallest finite value that this type can …","Returns NaN.","Returns negative infinity.","Returns -0.0.","Raise a number to an integer power.","Returns the reciprocal (multiplicative inverse) of the …","Returns the nearest integer to a number. Round half-way …","Returns a number that represents the sign of self.","Converts to degrees, assuming the number is in radians.","Converts to radians, assuming the number is in degrees.","Return the integer part of a number.","Defines a multiplicative identity element for Self.","Defines an additive identity element for Self.","Returns true if self is equal to the multiplicative …","Returns true if self is equal to the additive identity.","Returns the multiplicative identity, 1.","Returns the multiplicative identity element of Self, 1.","Sets self to the multiplicative identity element of Self, 1…","Sets self to the additive identity element of Self, 0.","Returns the additive identity, 0.","Returns the additive identity element of Self, 0.","Generic trait for primitive integers.","Returns the number of ones in the binary representation of …","Returns the number of zeros in the binary representation …","Convert an integer from big endian to the target’s …","Convert an integer from little endian to the target’s …","Returns the number of leading ones in the binary …","Returns the number of leading zeros in the binary …","Raises self to the power of exp, using exponentiation by …","Reverses the order of bits in the integer.","Shifts the bits to the left by a specified amount, n, …","Shifts the bits to the right by a specified amount, n, …","Shifts the bits to the left by a specified amount, n, …","Shifts the bits to the right by a specified amount, n, …","Reverses the byte order of the integer.","Convert self to big endian from the target’s endianness.","Convert self to little endian from the target’s …","Returns the number of trailing ones in the binary …","Returns the number of trailing zeros in the binary …","Shifts the bits to the left by a specified amount, n, …","Shifts the bits to the right by a specified amount, n, …","","","","","","","","","","","","","","Create a number from its representation as a byte array in …","Create a number from its representation as a byte array in …","Create a number from its memory representation as a byte …","Return the memory representation of this number as a byte …","Return the memory representation of this number as a byte …","Return the memory representation of this number as a byte …","Performs addition that returns None instead of wrapping …","Performs division that returns None instead of panicking …","Performs multiplication that returns None instead of …","Performs negation that returns None if the result can’t …","Performs an integral remainder that returns None instead …","Performs a left shift that returns None on shifts larger …","Performs a right shift that returns None on shifts larger …","Performs subtraction that returns None instead of wrapping …","Adds two numbers, checking for overflow. If overflow …","Divides two numbers, checking for underflow, overflow and …","Multiplies two numbers, checking for underflow or …","Negates a number, returning None for results that can’t …","Finds the remainder of dividing two numbers, checking for …","Checked shift left. Computes self << rhs, returning None …","Checked shift right. Computes self >> rhs, returning None …","Subtracts two numbers, checking for underflow. If …","","","Performs euclid division that returns None instead of …","Finds the euclid remainder of dividing two numbers, …","Calculates Euclidean division, the matching method for …","Calculates the least nonnegative remainder of self (mod v).","Unary operator for retrieving the multiplicative inverse, …","The result after applying the operator.","Returns the multiplicative inverse of self.","Fused multiply-add. Computes (self * a) + b with only one …","The fused multiply-add assignment operation …","The resulting type after applying the fused multiply-add.","Performs the fused multiply-add operation (self * a) + b","Performs the fused multiply-add assignment operation …","Performs addition with a flag for overflow.","Performs multiplication with a flag for overflow.","Performs substraction with a flag for overflow.","Returns a tuple of the sum along with a boolean indicating …","Returns a tuple of the product along with a boolean …","Returns a tuple of the difference along with a boolean …","Saturating math operations. Deprecated, use SaturatingAdd, …","Performs addition that saturates at the numeric bounds …","Performs multiplication that saturates at the numeric …","Performs subtraction that saturates at the numeric bounds …","Saturating addition operator. Returns a+b, saturating at …","Saturating addition. Computes self + other, saturating at …","Saturating multiplication. Computes self * other, …","Saturating subtraction operator. Returns a-b, saturating …","Saturating subtraction. Computes self - other, saturating …","Performs addition that wraps around on overflow.","Performs multiplication that wraps around on overflow.","Performs a negation that does not panic.","Performs a left shift that does not panic.","Performs a right shift that does not panic.","Performs subtraction that wraps around on overflow.","Wrapping (modular) addition. Computes self + other, …","Wrapping (modular) multiplication. Computes self * other, …","Wrapping (modular) negation. Computes -self, wrapping …","Panic-free bitwise shift-left; yields self << mask(rhs), …","Panic-free bitwise shift-right; yields self >> mask(rhs), …","Wrapping (modular) subtraction. Computes self - other, …","The result after applying the operator.","Binary operator for raising a value to a power.","Raises a value to the power of exp, returning None if an …","Raises a value to the power of exp, using exponentiation …","Returns self to the power rhs.","Useful functions for signed numbers (i.e. numbers that can …","A trait for values which cannot be negative","Computes the absolute value.","Computes the absolute value.","The positive difference of two numbers.","The positive difference of two numbers.","Returns true if the number is negative and false if the …","Returns true if the number is positive and false if the …","Returns the sign of the number.","Returns the sign of the number."],"i":[0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,39,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,5,0,0,0,0,0,0,0,0,2,5,5,2,5,39,0,0,2,5,5,0,0,0,0,0,0,2,5,2,5,2,5,0,0,0,0,40,41,40,42,0,0,0,0,43,0,11,44,44,44,44,44,44,44,44,44,44,44,44,44,44,12,12,12,12,12,12,12,12,12,12,12,12,12,12,45,45,45,45,45,45,45,45,45,45,0,0,45,45,45,45,45,45,45,45,45,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,0,0,33,34,0,33,33,34,0,34,0,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,0,0,0,0,0,0,0,0,48,49,0,0,0,49,49,49,48,48,48,0,0,0,0,0,0,0,0,50,51,36,52,53,54,55,56,0,0,57,57,58,58,0,59,59,0,0,60,60,61,0,0,0,62,63,64,0,0,0,0,65,66,67,65,68,0,0,0,0,0,0,69,70,71,72,73,74,75,0,0,0,75,0,0,0,38,0,38,38,38,0,38],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[-1,-1,-1],-1,1],[[-1,-1],-1,1],[[-1,-1],-1,1],0,[[2,3],4],[[5,3],4],[[5,3],4],[-1,-1,[]],[-1,-1,[]],[[6,7],[[8,[-1]]],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,[[8,[-2]]],[],[]],[-1,9,[]],[-1,9,[]],0,0,0,0,[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],0,0,0,0,[-1,-2,[],[]],[-1,[[10,[-2]]],11,11],[-1,[[10,[-2]]],12,[]],[13,[[10,[-1]]],[]],[14,[[10,[-1]]],[]],[15,[[10,[-1]]],[]],[16,[[10,[-1]]],[]],[17,[[10,[-1]]],[]],[18,[[10,[-1]]],[]],[19,[[10,[-1]]],[]],[20,[[10,[-1]]],[]],[21,[[10,[-1]]],[]],[22,[[10,[-1]]],[]],[7,[[10,[-1]]],[]],[23,[[10,[-1]]],[]],[24,[[10,[-1]]],[]],[25,[[10,[-1]]],[]],[-1,[[10,[13]]],[]],[-1,[[10,[14]]],[]],[-1,[[10,[15]]],[]],[-1,[[10,[16]]],[]],[-1,[[10,[17]]],[]],[-1,[[10,[18]]],[]],[-1,[[10,[19]]],[]],[-1,[[10,[20]]],[]],[-1,[[10,[21]]],[]],[-1,[[10,[22]]],[]],[-1,[[10,[7]]],[]],[-1,[[10,[23]]],[]],[-1,[[10,[24]]],[]],[-1,[[10,[25]]],[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],0,0,[[],-1,[]],[[],-1,[]],[[],-1,[26,27]],[[],-1,[]],[[],-1,[26,27]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[26,28]],[-1,-1,[]],[-1,-1,[]],[-1,29,[]],[[],-1,[]],[-1,-1,[]],[-1,-1,[]],[[],-1,[]],[-1,[[30,[23,16,19]]],[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[[-1,-1],-1,[]],[[],-1,[]],[[-1,-1],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[-1,17],-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,0,[-1,31,32],[-1,31,[]],[[],-1,33],[[],-1,[]],[-1,30,[]],[-1,30,[]],[[],-1,34],[[],-1,[]],0,[-1,7,[]],[-1,7,[]],[-1,-1,[]],[-1,-1,[]],[-1,7,[]],[-1,7,[]],[[-1,7],-1,[]],[-1,-1,[]],[[-1,7],-1,[]],[[-1,7],-1,[]],[[-1,7],-1,[]],[[-1,7],-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,7,[]],[-1,7,[]],[[-1,7],-1,[]],[[-1,7],-1,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[],-1,[]],[[],-1,[]],[[],-1,[]],[-1,[],[]],[-1,[],[]],[-1,[],[]],0,0,0,0,0,0,0,0,[[-1,-1],[[10,[-1]]],[]],[[-1,-1],[[10,[-1]]],[]],[[-1,-1],[[10,[-1]]],[]],[-1,[[10,[-1]]],[]],[[-1,-1],[[10,[-1]]],[]],[[-1,7],[[10,[-1]]],[]],[[-1,7],[[10,[-1]]],[]],[[-1,-1],[[10,[-1]]],[]],0,0,[[-1,-1],[[10,[-1]]],[]],[[-1,-1],[[10,[-1]]],[]],[[-1,-1],-1,[]],[[-1,-1],-1,[]],0,0,[-1,[],[]],0,0,0,[[-1,-2,-3],[],[],[],[]],[[-1,-2,-3],30,[],[],[]],0,0,0,[[-1,-1],[[30,[-1,31]]],[]],[[-1,-1],[[30,[-1,31]]],[]],[[-1,-1],[[30,[-1,31]]],[]],0,0,0,0,[[-1,-1],-1,[]],[[-1,-1],-1,[]],[[-1,-1],-1,[]],[[-1,-1],-1,[]],[[-1,-1],-1,[]],0,0,0,0,0,0,[[-1,-1],-1,[]],[[-1,-1],-1,[]],[-1,-1,[]],[[-1,7],-1,[]],[[-1,7],-1,[]],[[-1,-1],-1,[]],0,0,[[-1,25],[[10,[-1]]],[35,33,36]],[[-1,25],-1,[35,33,37]],[[-1,-2],[],[],[]],0,0,[-1,-1,38],[-1,-1,[]],[[-1,-1],-1,38],[[-1,-1],-1,[]],[-1,31,[]],[-1,31,[]],[-1,-1,38],[-1,-1,[]]],"c":[],"p":[[8,"PartialOrd",301],[4,"FloatErrorKind",0],[3,"Formatter",302],[6,"Result",302],[3,"ParseFloatError",0],[15,"str"],[15,"u32"],[4,"Result",303],[3,"TypeId",304],[4,"Option",305],[8,"NumCast",94],[8,"ToPrimitive",94],[15,"f32"],[15,"f64"],[15,"i128"],[15,"i16"],[15,"i32"],[15,"i64"],[15,"i8"],[15,"isize"],[15,"u128"],[15,"u16"],[15,"u64"],[15,"u8"],[15,"usize"],[8,"Sized",306],[8,"Div",307],[8,"Add",307],[4,"FpCategory",308],[15,"tuple"],[15,"bool"],[8,"PartialEq",301],[8,"One",180],[8,"Zero",180],[8,"Clone",309],[8,"CheckedMul",229],[8,"Mul",307],[8,"Signed",291],[8,"Num",0],[8,"Bounded",87],[8,"UpperBounded",87],[8,"LowerBounded",87],[8,"AsPrimitive",94],[8,"FromPrimitive",94],[8,"FloatConst",129],[8,"FloatCore",129],[8,"PrimInt",190],[8,"ToBytes",218],[8,"FromBytes",218],[8,"CheckedAdd",229],[8,"CheckedDiv",229],[8,"CheckedNeg",229],[8,"CheckedRem",229],[8,"CheckedShl",229],[8,"CheckedShr",229],[8,"CheckedSub",229],[8,"CheckedEuclid",245],[8,"Euclid",245],[8,"Inv",251],[8,"MulAdd",254],[8,"MulAddAssign",254],[8,"OverflowingAdd",259],[8,"OverflowingMul",259],[8,"OverflowingSub",259],[8,"Saturating",265],[8,"SaturatingAdd",265],[8,"SaturatingMul",265],[8,"SaturatingSub",265],[8,"WrappingAdd",274],[8,"WrappingMul",274],[8,"WrappingNeg",274],[8,"WrappingShl",274],[8,"WrappingShr",274],[8,"WrappingSub",274],[8,"Pow",286]],"b":[[64,"impl-Debug-for-ParseFloatError"],[65,"impl-Display-for-ParseFloatError"]]},\ diff --git a/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/ardupilotmega.rs.html b/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/ardupilotmega.rs.html index 6791be67f4..a463ec9fe5 100644 --- a/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/ardupilotmega.rs.html +++ b/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/ardupilotmega.rs.html @@ -1,3 +1,3 @@ ardupilotmega.rs - source
1
-
# ! [doc = "This file was automatically generated, do not edit"] use crate :: MavlinkVersion ; # [allow (unused_imports)] use num_derive :: FromPrimitive ; # [allow (unused_imports)] use num_traits :: FromPrimitive ; # [allow (unused_imports)] use num_derive :: ToPrimitive ; # [allow (unused_imports)] use num_traits :: ToPrimitive ; # [allow (unused_imports)] use bitflags :: bitflags ; use crate :: { Message , MessageData , error :: * , bytes :: Bytes , bytes_mut :: BytesMut } ; # [cfg (feature = "serde")] use serde :: { Serialize , Deserialize } ; # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum WinchActions { WINCH_RELAXED = 0 , WINCH_RELATIVE_LENGTH_CONTROL = 1 , WINCH_RATE_CONTROL = 2 , WINCH_LOCK = 3 , WINCH_DELIVER = 4 , WINCH_HOLD = 5 , WINCH_RETRACT = 6 , WINCH_LOAD_LINE = 7 , WINCH_ABANDON_LINE = 8 , WINCH_LOAD_PAYLOAD = 9 , } impl WinchActions { pub const DEFAULT : Self = Self :: WINCH_RELAXED ; } impl Default for WinchActions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AisNavStatus { UNDER_WAY = 0 , AIS_NAV_ANCHORED = 1 , AIS_NAV_UN_COMMANDED = 2 , AIS_NAV_RESTRICTED_MANOEUVERABILITY = 3 , AIS_NAV_DRAUGHT_CONSTRAINED = 4 , AIS_NAV_MOORED = 5 , AIS_NAV_AGROUND = 6 , AIS_NAV_FISHING = 7 , AIS_NAV_SAILING = 8 , AIS_NAV_RESERVED_HSC = 9 , AIS_NAV_RESERVED_WIG = 10 , AIS_NAV_RESERVED_1 = 11 , AIS_NAV_RESERVED_2 = 12 , AIS_NAV_RESERVED_3 = 13 , AIS_NAV_AIS_SART = 14 , AIS_NAV_UNKNOWN = 15 , } impl AisNavStatus { pub const DEFAULT : Self = Self :: UNDER_WAY ; } impl Default for AisNavStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum IcarousFmsState { ICAROUS_FMS_STATE_IDLE = 0 , ICAROUS_FMS_STATE_TAKEOFF = 1 , ICAROUS_FMS_STATE_CLIMB = 2 , ICAROUS_FMS_STATE_CRUISE = 3 , ICAROUS_FMS_STATE_APPROACH = 4 , ICAROUS_FMS_STATE_LAND = 5 , } impl IcarousFmsState { pub const DEFAULT : Self = Self :: ICAROUS_FMS_STATE_IDLE ; } impl Default for IcarousFmsState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum SetFocusType { FOCUS_TYPE_STEP = 0 , FOCUS_TYPE_CONTINUOUS = 1 , FOCUS_TYPE_RANGE = 2 , FOCUS_TYPE_METERS = 3 , FOCUS_TYPE_AUTO = 4 , FOCUS_TYPE_AUTO_SINGLE = 5 , FOCUS_TYPE_AUTO_CONTINUOUS = 6 , } impl SetFocusType { pub const DEFAULT : Self = Self :: FOCUS_TYPE_STEP ; } impl Default for SetFocusType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidIdType { MAV_ODID_ID_TYPE_NONE = 0 , MAV_ODID_ID_TYPE_SERIAL_NUMBER = 1 , MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID = 2 , MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID = 3 , MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID = 4 , } impl MavOdidIdType { pub const DEFAULT : Self = Self :: MAV_ODID_ID_TYPE_NONE ; } impl Default for MavOdidIdType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum NavVtolLandOptions { NAV_VTOL_LAND_OPTIONS_DEFAULT = 0 , NAV_VTOL_LAND_OPTIONS_FW_DESCENT = 1 , NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT = 2 , } impl NavVtolLandOptions { pub const DEFAULT : Self = Self :: NAV_VTOL_LAND_OPTIONS_DEFAULT ; } impl Default for NavVtolLandOptions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum VtolTransitionHeading { VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT = 0 , VTOL_TRANSITION_HEADING_NEXT_WAYPOINT = 1 , VTOL_TRANSITION_HEADING_TAKEOFF = 2 , VTOL_TRANSITION_HEADING_SPECIFIED = 3 , VTOL_TRANSITION_HEADING_ANY = 4 , } impl VtolTransitionHeading { pub const DEFAULT : Self = Self :: VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT ; } impl Default for VtolTransitionHeading { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproResolution { GOPRO_RESOLUTION_480p = 0 , GOPRO_RESOLUTION_720p = 1 , GOPRO_RESOLUTION_960p = 2 , GOPRO_RESOLUTION_1080p = 3 , GOPRO_RESOLUTION_1440p = 4 , GOPRO_RESOLUTION_2_7k_17_9 = 5 , GOPRO_RESOLUTION_2_7k_16_9 = 6 , GOPRO_RESOLUTION_2_7k_4_3 = 7 , GOPRO_RESOLUTION_4k_16_9 = 8 , GOPRO_RESOLUTION_4k_17_9 = 9 , GOPRO_RESOLUTION_720p_SUPERVIEW = 10 , GOPRO_RESOLUTION_1080p_SUPERVIEW = 11 , GOPRO_RESOLUTION_2_7k_SUPERVIEW = 12 , GOPRO_RESOLUTION_4k_SUPERVIEW = 13 , } impl GoproResolution { pub const DEFAULT : Self = Self :: GOPRO_RESOLUTION_480p ; } impl Default for GoproResolution { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraFeedbackFlags { CAMERA_FEEDBACK_PHOTO = 0 , CAMERA_FEEDBACK_VIDEO = 1 , CAMERA_FEEDBACK_BADEXPOSURE = 2 , CAMERA_FEEDBACK_CLOSEDLOOP = 3 , CAMERA_FEEDBACK_OPENLOOP = 4 , } impl CameraFeedbackFlags { pub const DEFAULT : Self = Self :: CAMERA_FEEDBACK_PHOTO ; } impl Default for CameraFeedbackFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum PrecisionLandMode { PRECISION_LAND_MODE_DISABLED = 0 , PRECISION_LAND_MODE_OPPORTUNISTIC = 1 , PRECISION_LAND_MODE_REQUIRED = 2 , } impl PrecisionLandMode { pub const DEFAULT : Self = Self :: PRECISION_LAND_MODE_DISABLED ; } impl Default for PrecisionLandMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavcanNodeHealth { UAVCAN_NODE_HEALTH_OK = 0 , UAVCAN_NODE_HEALTH_WARNING = 1 , UAVCAN_NODE_HEALTH_ERROR = 2 , UAVCAN_NODE_HEALTH_CRITICAL = 3 , } impl UavcanNodeHealth { pub const DEFAULT : Self = Self :: UAVCAN_NODE_HEALTH_OK ; } impl Default for UavcanNodeHealth { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproProtuneSharpness { GOPRO_PROTUNE_SHARPNESS_LOW = 0 , GOPRO_PROTUNE_SHARPNESS_MEDIUM = 1 , GOPRO_PROTUNE_SHARPNESS_HIGH = 2 , } impl GoproProtuneSharpness { pub const DEFAULT : Self = Self :: GOPRO_PROTUNE_SHARPNESS_LOW ; } impl Default for GoproProtuneSharpness { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CellularStatusFlag { CELLULAR_STATUS_FLAG_UNKNOWN = 0 , CELLULAR_STATUS_FLAG_FAILED = 1 , CELLULAR_STATUS_FLAG_INITIALIZING = 2 , CELLULAR_STATUS_FLAG_LOCKED = 3 , CELLULAR_STATUS_FLAG_DISABLED = 4 , CELLULAR_STATUS_FLAG_DISABLING = 5 , CELLULAR_STATUS_FLAG_ENABLING = 6 , CELLULAR_STATUS_FLAG_ENABLED = 7 , CELLULAR_STATUS_FLAG_SEARCHING = 8 , CELLULAR_STATUS_FLAG_REGISTERED = 9 , CELLULAR_STATUS_FLAG_DISCONNECTING = 10 , CELLULAR_STATUS_FLAG_CONNECTING = 11 , CELLULAR_STATUS_FLAG_CONNECTED = 12 , } impl CellularStatusFlag { pub const DEFAULT : Self = Self :: CELLULAR_STATUS_FLAG_UNKNOWN ; } impl Default for CellularStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavComponent { MAV_COMP_ID_ALL = 0 , MAV_COMP_ID_AUTOPILOT1 = 1 , MAV_COMP_ID_USER1 = 25 , MAV_COMP_ID_USER2 = 26 , MAV_COMP_ID_USER3 = 27 , MAV_COMP_ID_USER4 = 28 , MAV_COMP_ID_USER5 = 29 , MAV_COMP_ID_USER6 = 30 , MAV_COMP_ID_USER7 = 31 , MAV_COMP_ID_USER8 = 32 , MAV_COMP_ID_USER9 = 33 , MAV_COMP_ID_USER10 = 34 , MAV_COMP_ID_USER11 = 35 , MAV_COMP_ID_USER12 = 36 , MAV_COMP_ID_USER13 = 37 , MAV_COMP_ID_USER14 = 38 , MAV_COMP_ID_USER15 = 39 , MAV_COMP_ID_USER16 = 40 , MAV_COMP_ID_USER17 = 41 , MAV_COMP_ID_USER18 = 42 , MAV_COMP_ID_USER19 = 43 , MAV_COMP_ID_USER20 = 44 , MAV_COMP_ID_USER21 = 45 , MAV_COMP_ID_USER22 = 46 , MAV_COMP_ID_USER23 = 47 , MAV_COMP_ID_USER24 = 48 , MAV_COMP_ID_USER25 = 49 , MAV_COMP_ID_USER26 = 50 , MAV_COMP_ID_USER27 = 51 , MAV_COMP_ID_USER28 = 52 , MAV_COMP_ID_USER29 = 53 , MAV_COMP_ID_USER30 = 54 , MAV_COMP_ID_USER31 = 55 , MAV_COMP_ID_USER32 = 56 , MAV_COMP_ID_USER33 = 57 , MAV_COMP_ID_USER34 = 58 , MAV_COMP_ID_USER35 = 59 , MAV_COMP_ID_USER36 = 60 , MAV_COMP_ID_USER37 = 61 , MAV_COMP_ID_USER38 = 62 , MAV_COMP_ID_USER39 = 63 , MAV_COMP_ID_USER40 = 64 , MAV_COMP_ID_USER41 = 65 , MAV_COMP_ID_USER42 = 66 , MAV_COMP_ID_USER43 = 67 , MAV_COMP_ID_TELEMETRY_RADIO = 68 , MAV_COMP_ID_USER45 = 69 , MAV_COMP_ID_USER46 = 70 , MAV_COMP_ID_USER47 = 71 , MAV_COMP_ID_USER48 = 72 , MAV_COMP_ID_USER49 = 73 , MAV_COMP_ID_USER50 = 74 , MAV_COMP_ID_USER51 = 75 , MAV_COMP_ID_USER52 = 76 , MAV_COMP_ID_USER53 = 77 , MAV_COMP_ID_USER54 = 78 , MAV_COMP_ID_USER55 = 79 , MAV_COMP_ID_USER56 = 80 , MAV_COMP_ID_USER57 = 81 , MAV_COMP_ID_USER58 = 82 , MAV_COMP_ID_USER59 = 83 , MAV_COMP_ID_USER60 = 84 , MAV_COMP_ID_USER61 = 85 , MAV_COMP_ID_USER62 = 86 , MAV_COMP_ID_USER63 = 87 , MAV_COMP_ID_USER64 = 88 , MAV_COMP_ID_USER65 = 89 , MAV_COMP_ID_USER66 = 90 , MAV_COMP_ID_USER67 = 91 , MAV_COMP_ID_USER68 = 92 , MAV_COMP_ID_USER69 = 93 , MAV_COMP_ID_USER70 = 94 , MAV_COMP_ID_USER71 = 95 , MAV_COMP_ID_USER72 = 96 , MAV_COMP_ID_USER73 = 97 , MAV_COMP_ID_USER74 = 98 , MAV_COMP_ID_USER75 = 99 , MAV_COMP_ID_CAMERA = 100 , MAV_COMP_ID_CAMERA2 = 101 , MAV_COMP_ID_CAMERA3 = 102 , MAV_COMP_ID_CAMERA4 = 103 , MAV_COMP_ID_CAMERA5 = 104 , MAV_COMP_ID_CAMERA6 = 105 , MAV_COMP_ID_SERVO1 = 140 , MAV_COMP_ID_SERVO2 = 141 , MAV_COMP_ID_SERVO3 = 142 , MAV_COMP_ID_SERVO4 = 143 , MAV_COMP_ID_SERVO5 = 144 , MAV_COMP_ID_SERVO6 = 145 , MAV_COMP_ID_SERVO7 = 146 , MAV_COMP_ID_SERVO8 = 147 , MAV_COMP_ID_SERVO9 = 148 , MAV_COMP_ID_SERVO10 = 149 , MAV_COMP_ID_SERVO11 = 150 , MAV_COMP_ID_SERVO12 = 151 , MAV_COMP_ID_SERVO13 = 152 , MAV_COMP_ID_SERVO14 = 153 , MAV_COMP_ID_GIMBAL = 154 , MAV_COMP_ID_LOG = 155 , MAV_COMP_ID_ADSB = 156 , MAV_COMP_ID_OSD = 157 , MAV_COMP_ID_PERIPHERAL = 158 , MAV_COMP_ID_QX1_GIMBAL = 159 , MAV_COMP_ID_FLARM = 160 , MAV_COMP_ID_PARACHUTE = 161 , MAV_COMP_ID_WINCH = 169 , MAV_COMP_ID_GIMBAL2 = 171 , MAV_COMP_ID_GIMBAL3 = 172 , MAV_COMP_ID_GIMBAL4 = 173 , MAV_COMP_ID_GIMBAL5 = 174 , MAV_COMP_ID_GIMBAL6 = 175 , MAV_COMP_ID_BATTERY = 180 , MAV_COMP_ID_BATTERY2 = 181 , MAV_COMP_ID_MAVCAN = 189 , MAV_COMP_ID_MISSIONPLANNER = 190 , MAV_COMP_ID_ONBOARD_COMPUTER = 191 , MAV_COMP_ID_ONBOARD_COMPUTER2 = 192 , MAV_COMP_ID_ONBOARD_COMPUTER3 = 193 , MAV_COMP_ID_ONBOARD_COMPUTER4 = 194 , MAV_COMP_ID_PATHPLANNER = 195 , MAV_COMP_ID_OBSTACLE_AVOIDANCE = 196 , MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY = 197 , MAV_COMP_ID_PAIRING_MANAGER = 198 , MAV_COMP_ID_IMU = 200 , MAV_COMP_ID_IMU_2 = 201 , MAV_COMP_ID_IMU_3 = 202 , MAV_COMP_ID_GPS = 220 , MAV_COMP_ID_GPS2 = 221 , MAV_COMP_ID_ODID_TXRX_1 = 236 , MAV_COMP_ID_ODID_TXRX_2 = 237 , MAV_COMP_ID_ODID_TXRX_3 = 238 , MAV_COMP_ID_UDP_BRIDGE = 240 , MAV_COMP_ID_UART_BRIDGE = 241 , MAV_COMP_ID_TUNNEL_NODE = 242 , MAV_COMP_ID_SYSTEM_CONTROL = 250 , } impl MavComponent { pub const DEFAULT : Self = Self :: MAV_COMP_ID_ALL ; } impl Default for MavComponent { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproFrameRate { GOPRO_FRAME_RATE_12 = 0 , GOPRO_FRAME_RATE_15 = 1 , GOPRO_FRAME_RATE_24 = 2 , GOPRO_FRAME_RATE_25 = 3 , GOPRO_FRAME_RATE_30 = 4 , GOPRO_FRAME_RATE_48 = 5 , GOPRO_FRAME_RATE_50 = 6 , GOPRO_FRAME_RATE_60 = 7 , GOPRO_FRAME_RATE_80 = 8 , GOPRO_FRAME_RATE_90 = 9 , GOPRO_FRAME_RATE_100 = 10 , GOPRO_FRAME_RATE_120 = 11 , GOPRO_FRAME_RATE_240 = 12 , GOPRO_FRAME_RATE_12_5 = 13 , } impl GoproFrameRate { pub const DEFAULT : Self = Self :: GOPRO_FRAME_RATE_12 ; } impl Default for GoproFrameRate { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproBurstRate { GOPRO_BURST_RATE_3_IN_1_SECOND = 0 , GOPRO_BURST_RATE_5_IN_1_SECOND = 1 , GOPRO_BURST_RATE_10_IN_1_SECOND = 2 , GOPRO_BURST_RATE_10_IN_2_SECOND = 3 , GOPRO_BURST_RATE_10_IN_3_SECOND = 4 , GOPRO_BURST_RATE_30_IN_1_SECOND = 5 , GOPRO_BURST_RATE_30_IN_2_SECOND = 6 , GOPRO_BURST_RATE_30_IN_3_SECOND = 7 , GOPRO_BURST_RATE_30_IN_6_SECOND = 8 , } impl GoproBurstRate { pub const DEFAULT : Self = Self :: GOPRO_BURST_RATE_3_IN_1_SECOND ; } impl Default for GoproBurstRate { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FailureUnit { FAILURE_UNIT_SENSOR_GYRO = 0 , FAILURE_UNIT_SENSOR_ACCEL = 1 , FAILURE_UNIT_SENSOR_MAG = 2 , FAILURE_UNIT_SENSOR_BARO = 3 , FAILURE_UNIT_SENSOR_GPS = 4 , FAILURE_UNIT_SENSOR_OPTICAL_FLOW = 5 , FAILURE_UNIT_SENSOR_VIO = 6 , FAILURE_UNIT_SENSOR_DISTANCE_SENSOR = 7 , FAILURE_UNIT_SENSOR_AIRSPEED = 8 , FAILURE_UNIT_SYSTEM_BATTERY = 100 , FAILURE_UNIT_SYSTEM_MOTOR = 101 , FAILURE_UNIT_SYSTEM_SERVO = 102 , FAILURE_UNIT_SYSTEM_AVOIDANCE = 103 , FAILURE_UNIT_SYSTEM_RC_SIGNAL = 104 , FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL = 105 , } impl FailureUnit { pub const DEFAULT : Self = Self :: FAILURE_UNIT_SENSOR_GYRO ; } impl Default for FailureUnit { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavPowerStatus : u16 { const MAV_POWER_STATUS_BRICK_VALID = 1 ; const MAV_POWER_STATUS_SERVO_VALID = 2 ; const MAV_POWER_STATUS_USB_CONNECTED = 4 ; const MAV_POWER_STATUS_PERIPH_OVERCURRENT = 8 ; const MAV_POWER_STATUS_PERIPH_HIPOWER_OVERCURRENT = 16 ; const MAV_POWER_STATUS_CHANGED = 32 ; } } impl MavPowerStatus { pub const DEFAULT : Self = Self :: MAV_POWER_STATUS_BRICK_VALID ; } impl Default for MavPowerStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidDescType { MAV_ODID_DESC_TYPE_TEXT = 0 , MAV_ODID_DESC_TYPE_EMERGENCY = 1 , MAV_ODID_DESC_TYPE_EXTENDED_STATUS = 2 , } impl MavOdidDescType { pub const DEFAULT : Self = Self :: MAV_ODID_DESC_TYPE_TEXT ; } impl Default for MavOdidDescType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavionixAdsbEmergencyStatus { UAVIONIX_ADSB_OUT_NO_EMERGENCY = 0 , UAVIONIX_ADSB_OUT_GENERAL_EMERGENCY = 1 , UAVIONIX_ADSB_OUT_LIFEGUARD_EMERGENCY = 2 , UAVIONIX_ADSB_OUT_MINIMUM_FUEL_EMERGENCY = 3 , UAVIONIX_ADSB_OUT_NO_COMM_EMERGENCY = 4 , UAVIONIX_ADSB_OUT_UNLAWFUL_INTERFERANCE_EMERGENCY = 5 , UAVIONIX_ADSB_OUT_DOWNED_AIRCRAFT_EMERGENCY = 6 , UAVIONIX_ADSB_OUT_RESERVED = 7 , } impl UavionixAdsbEmergencyStatus { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_NO_EMERGENCY ; } impl Default for UavionixAdsbEmergencyStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavType { MAV_TYPE_GENERIC = 0 , MAV_TYPE_FIXED_WING = 1 , MAV_TYPE_QUADROTOR = 2 , MAV_TYPE_COAXIAL = 3 , MAV_TYPE_HELICOPTER = 4 , MAV_TYPE_ANTENNA_TRACKER = 5 , MAV_TYPE_GCS = 6 , MAV_TYPE_AIRSHIP = 7 , MAV_TYPE_FREE_BALLOON = 8 , MAV_TYPE_ROCKET = 9 , MAV_TYPE_GROUND_ROVER = 10 , MAV_TYPE_SURFACE_BOAT = 11 , MAV_TYPE_SUBMARINE = 12 , MAV_TYPE_HEXAROTOR = 13 , MAV_TYPE_OCTOROTOR = 14 , MAV_TYPE_TRICOPTER = 15 , MAV_TYPE_FLAPPING_WING = 16 , MAV_TYPE_KITE = 17 , MAV_TYPE_ONBOARD_CONTROLLER = 18 , MAV_TYPE_VTOL_TAILSITTER_DUOROTOR = 19 , MAV_TYPE_VTOL_TAILSITTER_QUADROTOR = 20 , MAV_TYPE_VTOL_TILTROTOR = 21 , MAV_TYPE_VTOL_FIXEDROTOR = 22 , MAV_TYPE_VTOL_TAILSITTER = 23 , MAV_TYPE_VTOL_TILTWING = 24 , MAV_TYPE_VTOL_RESERVED5 = 25 , MAV_TYPE_GIMBAL = 26 , MAV_TYPE_ADSB = 27 , MAV_TYPE_PARAFOIL = 28 , MAV_TYPE_DODECAROTOR = 29 , MAV_TYPE_CAMERA = 30 , MAV_TYPE_CHARGING_STATION = 31 , MAV_TYPE_FLARM = 32 , MAV_TYPE_SERVO = 33 , MAV_TYPE_ODID = 34 , MAV_TYPE_DECAROTOR = 35 , MAV_TYPE_BATTERY = 36 , MAV_TYPE_PARACHUTE = 37 , MAV_TYPE_LOG = 38 , MAV_TYPE_OSD = 39 , MAV_TYPE_IMU = 40 , MAV_TYPE_GPS = 41 , MAV_TYPE_WINCH = 42 , } impl MavType { pub const DEFAULT : Self = Self :: MAV_TYPE_GENERIC ; } impl Default for MavType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavFrame { MAV_FRAME_GLOBAL = 0 , MAV_FRAME_LOCAL_NED = 1 , MAV_FRAME_MISSION = 2 , MAV_FRAME_GLOBAL_RELATIVE_ALT = 3 , MAV_FRAME_LOCAL_ENU = 4 , MAV_FRAME_GLOBAL_INT = 5 , MAV_FRAME_GLOBAL_RELATIVE_ALT_INT = 6 , MAV_FRAME_LOCAL_OFFSET_NED = 7 , MAV_FRAME_BODY_NED = 8 , MAV_FRAME_BODY_OFFSET_NED = 9 , MAV_FRAME_GLOBAL_TERRAIN_ALT = 10 , MAV_FRAME_GLOBAL_TERRAIN_ALT_INT = 11 , MAV_FRAME_BODY_FRD = 12 , MAV_FRAME_RESERVED_13 = 13 , MAV_FRAME_RESERVED_14 = 14 , MAV_FRAME_RESERVED_15 = 15 , MAV_FRAME_RESERVED_16 = 16 , MAV_FRAME_RESERVED_17 = 17 , MAV_FRAME_RESERVED_18 = 18 , MAV_FRAME_RESERVED_19 = 19 , MAV_FRAME_LOCAL_FRD = 20 , MAV_FRAME_LOCAL_FLU = 21 , } impl MavFrame { pub const DEFAULT : Self = Self :: MAV_FRAME_GLOBAL ; } impl Default for MavFrame { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavModeFlagDecodePosition { MAV_MODE_FLAG_DECODE_POSITION_SAFETY = 128 , MAV_MODE_FLAG_DECODE_POSITION_MANUAL = 64 , MAV_MODE_FLAG_DECODE_POSITION_HIL = 32 , MAV_MODE_FLAG_DECODE_POSITION_STABILIZE = 16 , MAV_MODE_FLAG_DECODE_POSITION_GUIDED = 8 , MAV_MODE_FLAG_DECODE_POSITION_AUTO = 4 , MAV_MODE_FLAG_DECODE_POSITION_TEST = 2 , MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE = 1 , } impl MavModeFlagDecodePosition { pub const DEFAULT : Self = Self :: MAV_MODE_FLAG_DECODE_POSITION_SAFETY ; } impl Default for MavModeFlagDecodePosition { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavDataStream { MAV_DATA_STREAM_ALL = 0 , MAV_DATA_STREAM_RAW_SENSORS = 1 , MAV_DATA_STREAM_EXTENDED_STATUS = 2 , MAV_DATA_STREAM_RC_CHANNELS = 3 , MAV_DATA_STREAM_RAW_CONTROLLER = 4 , MAV_DATA_STREAM_POSITION = 6 , MAV_DATA_STREAM_EXTRA1 = 10 , MAV_DATA_STREAM_EXTRA2 = 11 , MAV_DATA_STREAM_EXTRA3 = 12 , } impl MavDataStream { pub const DEFAULT : Self = Self :: MAV_DATA_STREAM_ALL ; } impl Default for MavDataStream { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavDoRepositionFlags { MAV_DO_REPOSITION_FLAGS_CHANGE_MODE = 1 , } impl MavDoRepositionFlags { pub const DEFAULT : Self = Self :: MAV_DO_REPOSITION_FLAGS_CHANGE_MODE ; } impl Default for MavDoRepositionFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavEstimatorType { MAV_ESTIMATOR_TYPE_UNKNOWN = 0 , MAV_ESTIMATOR_TYPE_NAIVE = 1 , MAV_ESTIMATOR_TYPE_VISION = 2 , MAV_ESTIMATOR_TYPE_VIO = 3 , MAV_ESTIMATOR_TYPE_GPS = 4 , MAV_ESTIMATOR_TYPE_GPS_INS = 5 , MAV_ESTIMATOR_TYPE_MOCAP = 6 , MAV_ESTIMATOR_TYPE_LIDAR = 7 , MAV_ESTIMATOR_TYPE_AUTOPILOT = 8 , } impl MavEstimatorType { pub const DEFAULT : Self = Self :: MAV_ESTIMATOR_TYPE_UNKNOWN ; } impl Default for MavEstimatorType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryType { MAV_BATTERY_TYPE_UNKNOWN = 0 , MAV_BATTERY_TYPE_LIPO = 1 , MAV_BATTERY_TYPE_LIFE = 2 , MAV_BATTERY_TYPE_LION = 3 , MAV_BATTERY_TYPE_NIMH = 4 , } impl MavBatteryType { pub const DEFAULT : Self = Self :: MAV_BATTERY_TYPE_UNKNOWN ; } impl Default for MavBatteryType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HlFailureFlag : u16 { const HL_FAILURE_FLAG_GPS = 1 ; const HL_FAILURE_FLAG_DIFFERENTIAL_PRESSURE = 2 ; const HL_FAILURE_FLAG_ABSOLUTE_PRESSURE = 4 ; const HL_FAILURE_FLAG_3D_ACCEL = 8 ; const HL_FAILURE_FLAG_3D_GYRO = 16 ; const HL_FAILURE_FLAG_3D_MAG = 32 ; const HL_FAILURE_FLAG_TERRAIN = 64 ; const HL_FAILURE_FLAG_BATTERY = 128 ; const HL_FAILURE_FLAG_RC_RECEIVER = 256 ; const HL_FAILURE_FLAG_OFFBOARD_LINK = 512 ; const HL_FAILURE_FLAG_ENGINE = 1024 ; const HL_FAILURE_FLAG_GEOFENCE = 2048 ; const HL_FAILURE_FLAG_ESTIMATOR = 4096 ; const HL_FAILURE_FLAG_MISSION = 8192 ; } } impl HlFailureFlag { pub const DEFAULT : Self = Self :: HL_FAILURE_FLAG_GPS ; } impl Default for HlFailureFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GimbalManagerFlags { GIMBAL_MANAGER_FLAGS_RETRACT = 1 , GIMBAL_MANAGER_FLAGS_NEUTRAL = 2 , GIMBAL_MANAGER_FLAGS_ROLL_LOCK = 4 , GIMBAL_MANAGER_FLAGS_PITCH_LOCK = 8 , GIMBAL_MANAGER_FLAGS_YAW_LOCK = 16 , GIMBAL_MANAGER_FLAGS_YAW_IN_VEHICLE_FRAME = 32 , GIMBAL_MANAGER_FLAGS_YAW_IN_EARTH_FRAME = 64 , GIMBAL_MANAGER_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME = 128 , GIMBAL_MANAGER_FLAGS_RC_EXCLUSIVE = 256 , GIMBAL_MANAGER_FLAGS_RC_MIXED = 512 , } impl GimbalManagerFlags { pub const DEFAULT : Self = Self :: GIMBAL_MANAGER_FLAGS_RETRACT ; } impl Default for GimbalManagerFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum LedControlPattern { LED_CONTROL_PATTERN_OFF = 0 , LED_CONTROL_PATTERN_FIRMWAREUPDATE = 1 , LED_CONTROL_PATTERN_CUSTOM = 255 , } impl LedControlPattern { pub const DEFAULT : Self = Self :: LED_CONTROL_PATTERN_OFF ; } impl Default for LedControlPattern { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum PreflightStorageParameterAction { PARAM_READ_PERSISTENT = 0 , PARAM_WRITE_PERSISTENT = 1 , PARAM_RESET_CONFIG_DEFAULT = 2 , PARAM_RESET_SENSOR_DEFAULT = 3 , PARAM_RESET_ALL_DEFAULT = 4 , } impl PreflightStorageParameterAction { pub const DEFAULT : Self = Self :: PARAM_READ_PERSISTENT ; } impl Default for PreflightStorageParameterAction { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TuneFormat : u32 { const TUNE_FORMAT_QBASIC1_1 = 1 ; const TUNE_FORMAT_MML_MODERN = 2 ; } } impl TuneFormat { pub const DEFAULT : Self = Self :: TUNE_FORMAT_QBASIC1_1 ; } impl Default for TuneFormat { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidOperatorLocationType { MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF = 0 , MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS = 1 , MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED = 2 , } impl MavOdidOperatorLocationType { pub const DEFAULT : Self = Self :: MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF ; } impl Default for MavOdidOperatorLocationType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum PlaneMode { PLANE_MODE_MANUAL = 0 , PLANE_MODE_CIRCLE = 1 , PLANE_MODE_STABILIZE = 2 , PLANE_MODE_TRAINING = 3 , PLANE_MODE_ACRO = 4 , PLANE_MODE_FLY_BY_WIRE_A = 5 , PLANE_MODE_FLY_BY_WIRE_B = 6 , PLANE_MODE_CRUISE = 7 , PLANE_MODE_AUTOTUNE = 8 , PLANE_MODE_AUTO = 10 , PLANE_MODE_RTL = 11 , PLANE_MODE_LOITER = 12 , PLANE_MODE_TAKEOFF = 13 , PLANE_MODE_AVOID_ADSB = 14 , PLANE_MODE_GUIDED = 15 , PLANE_MODE_INITIALIZING = 16 , PLANE_MODE_QSTABILIZE = 17 , PLANE_MODE_QHOVER = 18 , PLANE_MODE_QLOITER = 19 , PLANE_MODE_QLAND = 20 , PLANE_MODE_QRTL = 21 , PLANE_MODE_QAUTOTUNE = 22 , PLANE_MODE_QACRO = 23 , PLANE_MODE_THERMAL = 24 , } impl PlaneMode { pub const DEFAULT : Self = Self :: PLANE_MODE_MANUAL ; } impl Default for PlaneMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum ParamAck { PARAM_ACK_ACCEPTED = 0 , PARAM_ACK_VALUE_UNSUPPORTED = 1 , PARAM_ACK_FAILED = 2 , PARAM_ACK_IN_PROGRESS = 3 , } impl ParamAck { pub const DEFAULT : Self = Self :: PARAM_ACK_ACCEPTED ; } impl Default for ParamAck { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AutotuneAxis { AUTOTUNE_AXIS_DEFAULT = 0 , AUTOTUNE_AXIS_ROLL = 1 , AUTOTUNE_AXIS_PITCH = 2 , AUTOTUNE_AXIS_YAW = 4 , } impl AutotuneAxis { pub const DEFAULT : Self = Self :: AUTOTUNE_AXIS_DEFAULT ; } impl Default for AutotuneAxis { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MagCalStatus { MAG_CAL_NOT_STARTED = 0 , MAG_CAL_WAITING_TO_START = 1 , MAG_CAL_RUNNING_STEP_ONE = 2 , MAG_CAL_RUNNING_STEP_TWO = 3 , MAG_CAL_SUCCESS = 4 , MAG_CAL_FAILED = 5 , MAG_CAL_BAD_ORIENTATION = 6 , MAG_CAL_BAD_RADIUS = 7 , } impl MagCalStatus { pub const DEFAULT : Self = Self :: MAG_CAL_NOT_STARTED ; } impl Default for MagCalStatus { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AisFlags : u16 { const AIS_FLAGS_POSITION_ACCURACY = 1 ; const AIS_FLAGS_VALID_COG = 2 ; const AIS_FLAGS_VALID_VELOCITY = 4 ; const AIS_FLAGS_HIGH_VELOCITY = 8 ; const AIS_FLAGS_VALID_TURN_RATE = 16 ; const AIS_FLAGS_TURN_RATE_SIGN_ONLY = 32 ; const AIS_FLAGS_VALID_DIMENSIONS = 64 ; const AIS_FLAGS_LARGE_BOW_DIMENSION = 128 ; const AIS_FLAGS_LARGE_STERN_DIMENSION = 256 ; const AIS_FLAGS_LARGE_PORT_DIMENSION = 512 ; const AIS_FLAGS_LARGE_STARBOARD_DIMENSION = 1024 ; const AIS_FLAGS_VALID_CALLSIGN = 2048 ; const AIS_FLAGS_VALID_NAME = 4096 ; } } impl AisFlags { pub const DEFAULT : Self = Self :: AIS_FLAGS_POSITION_ACCURACY ; } impl Default for AisFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavEventErrorReason { MAV_EVENT_ERROR_REASON_UNAVAILABLE = 0 , } impl MavEventErrorReason { pub const DEFAULT : Self = Self :: MAV_EVENT_ERROR_REASON_UNAVAILABLE ; } impl Default for MavEventErrorReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum StorageType { STORAGE_TYPE_UNKNOWN = 0 , STORAGE_TYPE_USB_STICK = 1 , STORAGE_TYPE_SD = 2 , STORAGE_TYPE_MICROSD = 3 , STORAGE_TYPE_CF = 4 , STORAGE_TYPE_CFE = 5 , STORAGE_TYPE_XQD = 6 , STORAGE_TYPE_HD = 7 , STORAGE_TYPE_OTHER = 254 , } impl StorageType { pub const DEFAULT : Self = Self :: STORAGE_TYPE_UNKNOWN ; } impl Default for StorageType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CopterMode { COPTER_MODE_STABILIZE = 0 , COPTER_MODE_ACRO = 1 , COPTER_MODE_ALT_HOLD = 2 , COPTER_MODE_AUTO = 3 , COPTER_MODE_GUIDED = 4 , COPTER_MODE_LOITER = 5 , COPTER_MODE_RTL = 6 , COPTER_MODE_CIRCLE = 7 , COPTER_MODE_LAND = 9 , COPTER_MODE_DRIFT = 11 , COPTER_MODE_SPORT = 13 , COPTER_MODE_FLIP = 14 , COPTER_MODE_AUTOTUNE = 15 , COPTER_MODE_POSHOLD = 16 , COPTER_MODE_BRAKE = 17 , COPTER_MODE_THROW = 18 , COPTER_MODE_AVOID_ADSB = 19 , COPTER_MODE_GUIDED_NOGPS = 20 , COPTER_MODE_SMART_RTL = 21 , COPTER_MODE_FLOWHOLD = 22 , COPTER_MODE_FOLLOW = 23 , COPTER_MODE_ZIGZAG = 24 , COPTER_MODE_SYSTEMID = 25 , COPTER_MODE_AUTOROTATE = 26 , COPTER_MODE_AUTO_RTL = 27 , } impl CopterMode { pub const DEFAULT : Self = Self :: COPTER_MODE_STABILIZE ; } impl Default for CopterMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraStatusTypes { CAMERA_STATUS_TYPE_HEARTBEAT = 0 , CAMERA_STATUS_TYPE_TRIGGER = 1 , CAMERA_STATUS_TYPE_DISCONNECT = 2 , CAMERA_STATUS_TYPE_ERROR = 3 , CAMERA_STATUS_TYPE_LOWBATT = 4 , CAMERA_STATUS_TYPE_LOWSTORE = 5 , CAMERA_STATUS_TYPE_LOWSTOREV = 6 , } impl CameraStatusTypes { pub const DEFAULT : Self = Self :: CAMERA_STATUS_TYPE_HEARTBEAT ; } impl Default for CameraStatusTypes { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavRoi { MAV_ROI_NONE = 0 , MAV_ROI_WPNEXT = 1 , MAV_ROI_WPINDEX = 2 , MAV_ROI_LOCATION = 3 , MAV_ROI_TARGET = 4 , } impl MavRoi { pub const DEFAULT : Self = Self :: MAV_ROI_NONE ; } impl Default for MavRoi { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum ActuatorOutputFunction { ACTUATOR_OUTPUT_FUNCTION_NONE = 0 , ACTUATOR_OUTPUT_FUNCTION_MOTOR1 = 1 , ACTUATOR_OUTPUT_FUNCTION_MOTOR2 = 2 , ACTUATOR_OUTPUT_FUNCTION_MOTOR3 = 3 , ACTUATOR_OUTPUT_FUNCTION_MOTOR4 = 4 , ACTUATOR_OUTPUT_FUNCTION_MOTOR5 = 5 , ACTUATOR_OUTPUT_FUNCTION_MOTOR6 = 6 , ACTUATOR_OUTPUT_FUNCTION_MOTOR7 = 7 , ACTUATOR_OUTPUT_FUNCTION_MOTOR8 = 8 , ACTUATOR_OUTPUT_FUNCTION_MOTOR9 = 9 , ACTUATOR_OUTPUT_FUNCTION_MOTOR10 = 10 , ACTUATOR_OUTPUT_FUNCTION_MOTOR11 = 11 , ACTUATOR_OUTPUT_FUNCTION_MOTOR12 = 12 , ACTUATOR_OUTPUT_FUNCTION_MOTOR13 = 13 , ACTUATOR_OUTPUT_FUNCTION_MOTOR14 = 14 , ACTUATOR_OUTPUT_FUNCTION_MOTOR15 = 15 , ACTUATOR_OUTPUT_FUNCTION_MOTOR16 = 16 , ACTUATOR_OUTPUT_FUNCTION_SERVO1 = 33 , ACTUATOR_OUTPUT_FUNCTION_SERVO2 = 34 , ACTUATOR_OUTPUT_FUNCTION_SERVO3 = 35 , ACTUATOR_OUTPUT_FUNCTION_SERVO4 = 36 , ACTUATOR_OUTPUT_FUNCTION_SERVO5 = 37 , ACTUATOR_OUTPUT_FUNCTION_SERVO6 = 38 , ACTUATOR_OUTPUT_FUNCTION_SERVO7 = 39 , ACTUATOR_OUTPUT_FUNCTION_SERVO8 = 40 , ACTUATOR_OUTPUT_FUNCTION_SERVO9 = 41 , ACTUATOR_OUTPUT_FUNCTION_SERVO10 = 42 , ACTUATOR_OUTPUT_FUNCTION_SERVO11 = 43 , ACTUATOR_OUTPUT_FUNCTION_SERVO12 = 44 , ACTUATOR_OUTPUT_FUNCTION_SERVO13 = 45 , ACTUATOR_OUTPUT_FUNCTION_SERVO14 = 46 , ACTUATOR_OUTPUT_FUNCTION_SERVO15 = 47 , ACTUATOR_OUTPUT_FUNCTION_SERVO16 = 48 , } impl ActuatorOutputFunction { pub const DEFAULT : Self = Self :: ACTUATOR_OUTPUT_FUNCTION_NONE ; } impl Default for ActuatorOutputFunction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMissionType { MAV_MISSION_TYPE_MISSION = 0 , MAV_MISSION_TYPE_FENCE = 1 , MAV_MISSION_TYPE_RALLY = 2 , MAV_MISSION_TYPE_ALL = 255 , } impl MavMissionType { pub const DEFAULT : Self = Self :: MAV_MISSION_TYPE_MISSION ; } impl Default for MavMissionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CanFilterOp { CAN_FILTER_REPLACE = 0 , CAN_FILTER_ADD = 1 , CAN_FILTER_REMOVE = 2 , } impl CanFilterOp { pub const DEFAULT : Self = Self :: CAN_FILTER_REPLACE ; } impl Default for CanFilterOp { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PositionTargetTypemask : u16 { const POSITION_TARGET_TYPEMASK_X_IGNORE = 1 ; const POSITION_TARGET_TYPEMASK_Y_IGNORE = 2 ; const POSITION_TARGET_TYPEMASK_Z_IGNORE = 4 ; const POSITION_TARGET_TYPEMASK_VX_IGNORE = 8 ; const POSITION_TARGET_TYPEMASK_VY_IGNORE = 16 ; const POSITION_TARGET_TYPEMASK_VZ_IGNORE = 32 ; const POSITION_TARGET_TYPEMASK_AX_IGNORE = 64 ; const POSITION_TARGET_TYPEMASK_AY_IGNORE = 128 ; const POSITION_TARGET_TYPEMASK_AZ_IGNORE = 256 ; const POSITION_TARGET_TYPEMASK_FORCE_SET = 512 ; const POSITION_TARGET_TYPEMASK_YAW_IGNORE = 1024 ; const POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE = 2048 ; } } impl PositionTargetTypemask { pub const DEFAULT : Self = Self :: POSITION_TARGET_TYPEMASK_X_IGNORE ; } impl Default for PositionTargetTypemask { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceFlags : u16 { const GIMBAL_DEVICE_FLAGS_RETRACT = 1 ; const GIMBAL_DEVICE_FLAGS_NEUTRAL = 2 ; const GIMBAL_DEVICE_FLAGS_ROLL_LOCK = 4 ; const GIMBAL_DEVICE_FLAGS_PITCH_LOCK = 8 ; const GIMBAL_DEVICE_FLAGS_YAW_LOCK = 16 ; const GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME = 32 ; const GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME = 64 ; const GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME = 128 ; const GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE = 256 ; const GIMBAL_DEVICE_FLAGS_RC_MIXED = 512 ; } } impl GimbalDeviceFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_FLAGS_RETRACT ; } impl Default for GimbalDeviceFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavState { MAV_STATE_UNINIT = 0 , MAV_STATE_BOOT = 1 , MAV_STATE_CALIBRATING = 2 , MAV_STATE_STANDBY = 3 , MAV_STATE_ACTIVE = 4 , MAV_STATE_CRITICAL = 5 , MAV_STATE_EMERGENCY = 6 , MAV_STATE_POWEROFF = 7 , MAV_STATE_FLIGHT_TERMINATION = 8 , } impl MavState { pub const DEFAULT : Self = Self :: MAV_STATE_UNINIT ; } impl Default for MavState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryMode { MAV_BATTERY_MODE_UNKNOWN = 0 , MAV_BATTERY_MODE_AUTO_DISCHARGING = 1 , MAV_BATTERY_MODE_HOT_SWAP = 2 , } impl MavBatteryMode { pub const DEFAULT : Self = Self :: MAV_BATTERY_MODE_UNKNOWN ; } impl Default for MavBatteryMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidSpeedAcc { MAV_ODID_SPEED_ACC_UNKNOWN = 0 , MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND = 1 , MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND = 2 , MAV_ODID_SPEED_ACC_1_METERS_PER_SECOND = 3 , MAV_ODID_SPEED_ACC_0_3_METERS_PER_SECOND = 4 , } impl MavOdidSpeedAcc { pub const DEFAULT : Self = Self :: MAV_ODID_SPEED_ACC_UNKNOWN ; } impl Default for MavOdidSpeedAcc { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UavionixAdsbOutDynamicState : u16 { const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE = 1 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_AUTOPILOT_ENABLED = 2 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_NICBARO_CROSSCHECKED = 4 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_ON_GROUND = 8 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_IDENT = 16 ; } } impl UavionixAdsbOutDynamicState { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE ; } impl Default for UavionixAdsbOutDynamicState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GimbalAxisCalibrationStatus { GIMBAL_AXIS_CALIBRATION_STATUS_IN_PROGRESS = 0 , GIMBAL_AXIS_CALIBRATION_STATUS_SUCCEEDED = 1 , GIMBAL_AXIS_CALIBRATION_STATUS_FAILED = 2 , } impl GimbalAxisCalibrationStatus { pub const DEFAULT : Self = Self :: GIMBAL_AXIS_CALIBRATION_STATUS_IN_PROGRESS ; } impl Default for GimbalAxisCalibrationStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproRequestStatus { GOPRO_REQUEST_SUCCESS = 0 , GOPRO_REQUEST_FAILED = 1 , } impl GoproRequestStatus { pub const DEFAULT : Self = Self :: GOPRO_REQUEST_SUCCESS ; } impl Default for GoproRequestStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCmdDoAuxFunctionSwitchLevel { MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_LOW = 0 , MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_MIDDLE = 1 , MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_HIGH = 2 , } impl MavCmdDoAuxFunctionSwitchLevel { pub const DEFAULT : Self = Self :: MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_LOW ; } impl Default for MavCmdDoAuxFunctionSwitchLevel { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum DeviceOpBustype { DEVICE_OP_BUSTYPE_I2C = 0 , DEVICE_OP_BUSTYPE_SPI = 1 , } impl DeviceOpBustype { pub const DEFAULT : Self = Self :: DEVICE_OP_BUSTYPE_I2C ; } impl Default for DeviceOpBustype { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HilSensorUpdatedFlags : u32 { const HIL_SENSOR_UPDATED_NONE = 0 ; const HIL_SENSOR_UPDATED_XACC = 1 ; const HIL_SENSOR_UPDATED_YACC = 2 ; const HIL_SENSOR_UPDATED_ZACC = 4 ; const HIL_SENSOR_UPDATED_XGYRO = 8 ; const HIL_SENSOR_UPDATED_YGYRO = 16 ; const HIL_SENSOR_UPDATED_ZGYRO = 32 ; const HIL_SENSOR_UPDATED_XMAG = 64 ; const HIL_SENSOR_UPDATED_YMAG = 128 ; const HIL_SENSOR_UPDATED_ZMAG = 256 ; const HIL_SENSOR_UPDATED_ABS_PRESSURE = 512 ; const HIL_SENSOR_UPDATED_DIFF_PRESSURE = 1024 ; const HIL_SENSOR_UPDATED_PRESSURE_ALT = 2048 ; const HIL_SENSOR_UPDATED_TEMPERATURE = 4096 ; const HIL_SENSOR_UPDATED_RESET = 2147483648 ; } } impl HilSensorUpdatedFlags { pub const DEFAULT : Self = Self :: HIL_SENSOR_UPDATED_NONE ; } impl Default for HilSensorUpdatedFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum ParachuteAction { PARACHUTE_DISABLE = 0 , PARACHUTE_ENABLE = 1 , PARACHUTE_RELEASE = 2 , } impl ParachuteAction { pub const DEFAULT : Self = Self :: PARACHUTE_DISABLE ; } impl Default for ParachuteAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCollisionSrc { MAV_COLLISION_SRC_ADSB = 0 , MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT = 1 , } impl MavCollisionSrc { pub const DEFAULT : Self = Self :: MAV_COLLISION_SRC_ADSB ; } impl Default for MavCollisionSrc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum WifiConfigApResponse { WIFI_CONFIG_AP_RESPONSE_UNDEFINED = 0 , WIFI_CONFIG_AP_RESPONSE_ACCEPTED = 1 , WIFI_CONFIG_AP_RESPONSE_REJECTED = 2 , WIFI_CONFIG_AP_RESPONSE_MODE_ERROR = 3 , WIFI_CONFIG_AP_RESPONSE_SSID_ERROR = 4 , WIFI_CONFIG_AP_RESPONSE_PASSWORD_ERROR = 5 , } impl WifiConfigApResponse { pub const DEFAULT : Self = Self :: WIFI_CONFIG_AP_RESPONSE_UNDEFINED ; } impl Default for WifiConfigApResponse { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum PreflightStorageMissionAction { MISSION_READ_PERSISTENT = 0 , MISSION_WRITE_PERSISTENT = 1 , MISSION_RESET_DEFAULT = 2 , } impl PreflightStorageMissionAction { pub const DEFAULT : Self = Self :: MISSION_READ_PERSISTENT ; } impl Default for PreflightStorageMissionAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UtmFlightState { UTM_FLIGHT_STATE_UNKNOWN = 1 , UTM_FLIGHT_STATE_GROUND = 2 , UTM_FLIGHT_STATE_AIRBORNE = 3 , UTM_FLIGHT_STATE_EMERGENCY = 16 , UTM_FLIGHT_STATE_NOCTRL = 32 , } impl UtmFlightState { pub const DEFAULT : Self = Self :: UTM_FLIGHT_STATE_UNKNOWN ; } impl Default for UtmFlightState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AdsbEmitterType { ADSB_EMITTER_TYPE_NO_INFO = 0 , ADSB_EMITTER_TYPE_LIGHT = 1 , ADSB_EMITTER_TYPE_SMALL = 2 , ADSB_EMITTER_TYPE_LARGE = 3 , ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE = 4 , ADSB_EMITTER_TYPE_HEAVY = 5 , ADSB_EMITTER_TYPE_HIGHLY_MANUV = 6 , ADSB_EMITTER_TYPE_ROTOCRAFT = 7 , ADSB_EMITTER_TYPE_UNASSIGNED = 8 , ADSB_EMITTER_TYPE_GLIDER = 9 , ADSB_EMITTER_TYPE_LIGHTER_AIR = 10 , ADSB_EMITTER_TYPE_PARACHUTE = 11 , ADSB_EMITTER_TYPE_ULTRA_LIGHT = 12 , ADSB_EMITTER_TYPE_UNASSIGNED2 = 13 , ADSB_EMITTER_TYPE_UAV = 14 , ADSB_EMITTER_TYPE_SPACE = 15 , ADSB_EMITTER_TYPE_UNASSGINED3 = 16 , ADSB_EMITTER_TYPE_EMERGENCY_SURFACE = 17 , ADSB_EMITTER_TYPE_SERVICE_SURFACE = 18 , ADSB_EMITTER_TYPE_POINT_OBSTACLE = 19 , } impl AdsbEmitterType { pub const DEFAULT : Self = Self :: ADSB_EMITTER_TYPE_NO_INFO ; } impl Default for AdsbEmitterType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum SerialControlDev { SERIAL_CONTROL_DEV_TELEM1 = 0 , SERIAL_CONTROL_DEV_TELEM2 = 1 , SERIAL_CONTROL_DEV_GPS1 = 2 , SERIAL_CONTROL_DEV_GPS2 = 3 , SERIAL_CONTROL_DEV_SHELL = 10 , SERIAL_CONTROL_SERIAL0 = 100 , SERIAL_CONTROL_SERIAL1 = 101 , SERIAL_CONTROL_SERIAL2 = 102 , SERIAL_CONTROL_SERIAL3 = 103 , SERIAL_CONTROL_SERIAL4 = 104 , SERIAL_CONTROL_SERIAL5 = 105 , SERIAL_CONTROL_SERIAL6 = 106 , SERIAL_CONTROL_SERIAL7 = 107 , SERIAL_CONTROL_SERIAL8 = 108 , SERIAL_CONTROL_SERIAL9 = 109 , } impl SerialControlDev { pub const DEFAULT : Self = Self :: SERIAL_CONTROL_DEV_TELEM1 ; } impl Default for SerialControlDev { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavModeFlag : u8 { const MAV_MODE_FLAG_SAFETY_ARMED = 128 ; const MAV_MODE_FLAG_MANUAL_INPUT_ENABLED = 64 ; const MAV_MODE_FLAG_HIL_ENABLED = 32 ; const MAV_MODE_FLAG_STABILIZE_ENABLED = 16 ; const MAV_MODE_FLAG_GUIDED_ENABLED = 8 ; const MAV_MODE_FLAG_AUTO_ENABLED = 4 ; const MAV_MODE_FLAG_TEST_ENABLED = 2 ; const MAV_MODE_FLAG_CUSTOM_MODE_ENABLED = 1 ; } } impl MavModeFlag { pub const DEFAULT : Self = Self :: MAV_MODE_FLAG_SAFETY_ARMED ; } impl Default for MavModeFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraTrackingTargetData { CAMERA_TRACKING_TARGET_DATA_NONE = 0 , CAMERA_TRACKING_TARGET_DATA_EMBEDDED = 1 , CAMERA_TRACKING_TARGET_DATA_RENDERED = 2 , CAMERA_TRACKING_TARGET_DATA_IN_STATUS = 4 , } impl CameraTrackingTargetData { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_TARGET_DATA_NONE ; } impl Default for CameraTrackingTargetData { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum OrbitYawBehaviour { ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER = 0 , ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING = 1 , ORBIT_YAW_BEHAVIOUR_UNCONTROLLED = 2 , ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE = 3 , ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED = 4 , } impl OrbitYawBehaviour { pub const DEFAULT : Self = Self :: ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER ; } impl Default for OrbitYawBehaviour { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FenceAction { FENCE_ACTION_NONE = 0 , FENCE_ACTION_GUIDED = 1 , FENCE_ACTION_REPORT = 2 , FENCE_ACTION_GUIDED_THR_PASS = 3 , FENCE_ACTION_RTL = 4 , FENCE_ACTION_HOLD = 5 , FENCE_ACTION_TERMINATE = 6 , FENCE_ACTION_LAND = 7 , } impl FenceAction { pub const DEFAULT : Self = Self :: FENCE_ACTION_NONE ; } impl Default for FenceAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CellularNetworkRadioType { CELLULAR_NETWORK_RADIO_TYPE_NONE = 0 , CELLULAR_NETWORK_RADIO_TYPE_GSM = 1 , CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2 , CELLULAR_NETWORK_RADIO_TYPE_WCDMA = 3 , CELLULAR_NETWORK_RADIO_TYPE_LTE = 4 , } impl CellularNetworkRadioType { pub const DEFAULT : Self = Self :: CELLULAR_NETWORK_RADIO_TYPE_NONE ; } impl Default for CellularNetworkRadioType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavLandedState { MAV_LANDED_STATE_UNDEFINED = 0 , MAV_LANDED_STATE_ON_GROUND = 1 , MAV_LANDED_STATE_IN_AIR = 2 , MAV_LANDED_STATE_TAKEOFF = 3 , MAV_LANDED_STATE_LANDING = 4 , } impl MavLandedState { pub const DEFAULT : Self = Self :: MAV_LANDED_STATE_UNDEFINED ; } impl Default for MavLandedState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryChargeState { MAV_BATTERY_CHARGE_STATE_UNDEFINED = 0 , MAV_BATTERY_CHARGE_STATE_OK = 1 , MAV_BATTERY_CHARGE_STATE_LOW = 2 , MAV_BATTERY_CHARGE_STATE_CRITICAL = 3 , MAV_BATTERY_CHARGE_STATE_EMERGENCY = 4 , MAV_BATTERY_CHARGE_STATE_FAILED = 5 , MAV_BATTERY_CHARGE_STATE_UNHEALTHY = 6 , MAV_BATTERY_CHARGE_STATE_CHARGING = 7 , } impl MavBatteryChargeState { pub const DEFAULT : Self = Self :: MAV_BATTERY_CHARGE_STATE_UNDEFINED ; } impl Default for MavBatteryChargeState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavModeGimbal { MAV_MODE_GIMBAL_UNINITIALIZED = 0 , MAV_MODE_GIMBAL_CALIBRATING_PITCH = 1 , MAV_MODE_GIMBAL_CALIBRATING_ROLL = 2 , MAV_MODE_GIMBAL_CALIBRATING_YAW = 3 , MAV_MODE_GIMBAL_INITIALIZED = 4 , MAV_MODE_GIMBAL_ACTIVE = 5 , MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT = 6 , } impl MavModeGimbal { pub const DEFAULT : Self = Self :: MAV_MODE_GIMBAL_UNINITIALIZED ; } impl Default for MavModeGimbal { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCollisionAction { MAV_COLLISION_ACTION_NONE = 0 , MAV_COLLISION_ACTION_REPORT = 1 , MAV_COLLISION_ACTION_ASCEND_OR_DESCEND = 2 , MAV_COLLISION_ACTION_MOVE_HORIZONTALLY = 3 , MAV_COLLISION_ACTION_MOVE_PERPENDICULAR = 4 , MAV_COLLISION_ACTION_RTL = 5 , MAV_COLLISION_ACTION_HOVER = 6 , } impl MavCollisionAction { pub const DEFAULT : Self = Self :: MAV_COLLISION_ACTION_NONE ; } impl Default for MavCollisionAction { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UavionixAdsbOutRfSelect : u8 { const UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY = 0 ; const UAVIONIX_ADSB_OUT_RF_SELECT_RX_ENABLED = 1 ; const UAVIONIX_ADSB_OUT_RF_SELECT_TX_ENABLED = 2 ; } } impl UavionixAdsbOutRfSelect { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY ; } impl Default for UavionixAdsbOutRfSelect { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavParamType { MAV_PARAM_TYPE_UINT8 = 1 , MAV_PARAM_TYPE_INT8 = 2 , MAV_PARAM_TYPE_UINT16 = 3 , MAV_PARAM_TYPE_INT16 = 4 , MAV_PARAM_TYPE_UINT32 = 5 , MAV_PARAM_TYPE_INT32 = 6 , MAV_PARAM_TYPE_UINT64 = 7 , MAV_PARAM_TYPE_INT64 = 8 , MAV_PARAM_TYPE_REAL32 = 9 , MAV_PARAM_TYPE_REAL64 = 10 , } impl MavParamType { pub const DEFAULT : Self = Self :: MAV_PARAM_TYPE_UINT8 ; } impl Default for MavParamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidClassEu { MAV_ODID_CLASS_EU_UNDECLARED = 0 , MAV_ODID_CLASS_EU_CLASS_0 = 1 , MAV_ODID_CLASS_EU_CLASS_1 = 2 , MAV_ODID_CLASS_EU_CLASS_2 = 3 , MAV_ODID_CLASS_EU_CLASS_3 = 4 , MAV_ODID_CLASS_EU_CLASS_4 = 5 , MAV_ODID_CLASS_EU_CLASS_5 = 6 , MAV_ODID_CLASS_EU_CLASS_6 = 7 , } impl MavOdidClassEu { pub const DEFAULT : Self = Self :: MAV_ODID_CLASS_EU_UNDECLARED ; } impl Default for MavOdidClassEu { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidStatus { MAV_ODID_STATUS_UNDECLARED = 0 , MAV_ODID_STATUS_GROUND = 1 , MAV_ODID_STATUS_AIRBORNE = 2 , MAV_ODID_STATUS_EMERGENCY = 3 , MAV_ODID_STATUS_REMOTE_ID_SYSTEM_FAILURE = 4 , } impl MavOdidStatus { pub const DEFAULT : Self = Self :: MAV_ODID_STATUS_UNDECLARED ; } impl Default for MavOdidStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproPhotoResolution { GOPRO_PHOTO_RESOLUTION_5MP_MEDIUM = 0 , GOPRO_PHOTO_RESOLUTION_7MP_MEDIUM = 1 , GOPRO_PHOTO_RESOLUTION_7MP_WIDE = 2 , GOPRO_PHOTO_RESOLUTION_10MP_WIDE = 3 , GOPRO_PHOTO_RESOLUTION_12MP_WIDE = 4 , } impl GoproPhotoResolution { pub const DEFAULT : Self = Self :: GOPRO_PHOTO_RESOLUTION_5MP_MEDIUM ; } impl Default for GoproPhotoResolution { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMissionResult { MAV_MISSION_ACCEPTED = 0 , MAV_MISSION_ERROR = 1 , MAV_MISSION_UNSUPPORTED_FRAME = 2 , MAV_MISSION_UNSUPPORTED = 3 , MAV_MISSION_NO_SPACE = 4 , MAV_MISSION_INVALID = 5 , MAV_MISSION_INVALID_PARAM1 = 6 , MAV_MISSION_INVALID_PARAM2 = 7 , MAV_MISSION_INVALID_PARAM3 = 8 , MAV_MISSION_INVALID_PARAM4 = 9 , MAV_MISSION_INVALID_PARAM5_X = 10 , MAV_MISSION_INVALID_PARAM6_Y = 11 , MAV_MISSION_INVALID_PARAM7 = 12 , MAV_MISSION_INVALID_SEQUENCE = 13 , MAV_MISSION_DENIED = 14 , MAV_MISSION_OPERATION_CANCELLED = 15 , } impl MavMissionResult { pub const DEFAULT : Self = Self :: MAV_MISSION_ACCEPTED ; } impl Default for MavMissionResult { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalManagerCapFlags : u32 { const GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT = 1 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_NEUTRAL = 2 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_AXIS = 4 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_FOLLOW = 8 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_LOCK = 16 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_AXIS = 32 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_FOLLOW = 64 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_LOCK = 128 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_AXIS = 256 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_FOLLOW = 512 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_LOCK = 1024 ; const GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_INFINITE_YAW = 2048 ; const GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME = 4096 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_RC_INPUTS = 8192 ; const GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_LOCAL = 65536 ; const GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_GLOBAL = 131072 ; } } impl GimbalManagerCapFlags { pub const DEFAULT : Self = Self :: GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT ; } impl Default for GimbalManagerCapFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SerialControlFlag : u8 { const SERIAL_CONTROL_FLAG_REPLY = 1 ; const SERIAL_CONTROL_FLAG_RESPOND = 2 ; const SERIAL_CONTROL_FLAG_EXCLUSIVE = 4 ; const SERIAL_CONTROL_FLAG_BLOCKING = 8 ; const SERIAL_CONTROL_FLAG_MULTI = 16 ; } } impl SerialControlFlag { pub const DEFAULT : Self = Self :: SERIAL_CONTROL_FLAG_REPLY ; } impl Default for SerialControlFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum VideoStreamStatusFlags { VIDEO_STREAM_STATUS_FLAGS_RUNNING = 1 , VIDEO_STREAM_STATUS_FLAGS_THERMAL = 2 , } impl VideoStreamStatusFlags { pub const DEFAULT : Self = Self :: VIDEO_STREAM_STATUS_FLAGS_RUNNING ; } impl Default for VideoStreamStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GripperActions { GRIPPER_ACTION_RELEASE = 0 , GRIPPER_ACTION_GRAB = 1 , } impl GripperActions { pub const DEFAULT : Self = Self :: GRIPPER_ACTION_RELEASE ; } impl Default for GripperActions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraZoomType { ZOOM_TYPE_STEP = 0 , ZOOM_TYPE_CONTINUOUS = 1 , ZOOM_TYPE_RANGE = 2 , ZOOM_TYPE_FOCAL_LENGTH = 3 , } impl CameraZoomType { pub const DEFAULT : Self = Self :: ZOOM_TYPE_STEP ; } impl Default for CameraZoomType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavFtpOpcode { MAV_FTP_OPCODE_NONE = 0 , MAV_FTP_OPCODE_TERMINATESESSION = 1 , MAV_FTP_OPCODE_RESETSESSION = 2 , MAV_FTP_OPCODE_LISTDIRECTORY = 3 , MAV_FTP_OPCODE_OPENFILERO = 4 , MAV_FTP_OPCODE_READFILE = 5 , MAV_FTP_OPCODE_CREATEFILE = 6 , MAV_FTP_OPCODE_WRITEFILE = 7 , MAV_FTP_OPCODE_REMOVEFILE = 8 , MAV_FTP_OPCODE_CREATEDIRECTORY = 9 , MAV_FTP_OPCODE_REMOVEDIRECTORY = 10 , MAV_FTP_OPCODE_OPENFILEWO = 11 , MAV_FTP_OPCODE_TRUNCATEFILE = 12 , MAV_FTP_OPCODE_RENAME = 13 , MAV_FTP_OPCODE_CALCFILECRC = 14 , MAV_FTP_OPCODE_BURSTREADFILE = 15 , MAV_FTP_OPCODE_ACK = 128 , MAV_FTP_OPCODE_NAK = 129 , } impl MavFtpOpcode { pub const DEFAULT : Self = Self :: MAV_FTP_OPCODE_NONE ; } impl Default for MavFtpOpcode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavionixAdsbOutCfgGpsOffsetLon { UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA = 0 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_APPLIED_BY_SENSOR = 1 , } impl UavionixAdsbOutCfgGpsOffsetLon { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA ; } impl Default for UavionixAdsbOutCfgGpsOffsetLon { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AdsbAltitudeType { ADSB_ALTITUDE_TYPE_PRESSURE_QNH = 0 , ADSB_ALTITUDE_TYPE_GEOMETRIC = 1 , } impl AdsbAltitudeType { pub const DEFAULT : Self = Self :: ADSB_ALTITUDE_TYPE_PRESSURE_QNH ; } impl Default for AdsbAltitudeType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AccelcalVehiclePos { ACCELCAL_VEHICLE_POS_LEVEL = 1 , ACCELCAL_VEHICLE_POS_LEFT = 2 , ACCELCAL_VEHICLE_POS_RIGHT = 3 , ACCELCAL_VEHICLE_POS_NOSEDOWN = 4 , ACCELCAL_VEHICLE_POS_NOSEUP = 5 , ACCELCAL_VEHICLE_POS_BACK = 6 , ACCELCAL_VEHICLE_POS_SUCCESS = 16777215 , ACCELCAL_VEHICLE_POS_FAILED = 16777216 , } impl AccelcalVehiclePos { pub const DEFAULT : Self = Self :: ACCELCAL_VEHICLE_POS_LEVEL ; } impl Default for AccelcalVehiclePos { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavGoto { MAV_GOTO_DO_HOLD = 0 , MAV_GOTO_DO_CONTINUE = 1 , MAV_GOTO_HOLD_AT_CURRENT_POSITION = 2 , MAV_GOTO_HOLD_AT_SPECIFIED_POSITION = 3 , } impl MavGoto { pub const DEFAULT : Self = Self :: MAV_GOTO_DO_HOLD ; } impl Default for MavGoto { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GimbalAxisCalibrationRequired { GIMBAL_AXIS_CALIBRATION_REQUIRED_UNKNOWN = 0 , GIMBAL_AXIS_CALIBRATION_REQUIRED_TRUE = 1 , GIMBAL_AXIS_CALIBRATION_REQUIRED_FALSE = 2 , } impl GimbalAxisCalibrationRequired { pub const DEFAULT : Self = Self :: GIMBAL_AXIS_CALIBRATION_REQUIRED_UNKNOWN ; } impl Default for GimbalAxisCalibrationRequired { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum RoverMode { ROVER_MODE_MANUAL = 0 , ROVER_MODE_ACRO = 1 , ROVER_MODE_STEERING = 3 , ROVER_MODE_HOLD = 4 , ROVER_MODE_LOITER = 5 , ROVER_MODE_FOLLOW = 6 , ROVER_MODE_SIMPLE = 7 , ROVER_MODE_AUTO = 10 , ROVER_MODE_RTL = 11 , ROVER_MODE_SMART_RTL = 12 , ROVER_MODE_GUIDED = 15 , ROVER_MODE_INITIALIZING = 16 , } impl RoverMode { pub const DEFAULT : Self = Self :: ROVER_MODE_MANUAL ; } impl Default for RoverMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavionixAdsbOutCfgAircraftSize { UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA = 0 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L15M_W23M = 1 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25M_W28P5M = 2 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25_34M = 3 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_33M = 4 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_38M = 5 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_39P5M = 6 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_45M = 7 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_45M = 8 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_52M = 9 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_59P5M = 10 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_67M = 11 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W72P5M = 12 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W80M = 13 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W80M = 14 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W90M = 15 , } impl UavionixAdsbOutCfgAircraftSize { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA ; } impl Default for UavionixAdsbOutCfgAircraftSize { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraTrackingMode { CAMERA_TRACKING_MODE_NONE = 0 , CAMERA_TRACKING_MODE_POINT = 1 , CAMERA_TRACKING_MODE_RECTANGLE = 2 , } impl CameraTrackingMode { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_MODE_NONE ; } impl Default for CameraTrackingMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CellularConfigResponse { CELLULAR_CONFIG_RESPONSE_ACCEPTED = 0 , CELLULAR_CONFIG_RESPONSE_APN_ERROR = 1 , CELLULAR_CONFIG_RESPONSE_PIN_ERROR = 2 , CELLULAR_CONFIG_RESPONSE_REJECTED = 3 , CELLULAR_CONFIG_BLOCKED_PUK_REQUIRED = 4 , } impl CellularConfigResponse { pub const DEFAULT : Self = Self :: CELLULAR_CONFIG_RESPONSE_ACCEPTED ; } impl Default for CellularConfigResponse { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidCategoryEu { MAV_ODID_CATEGORY_EU_UNDECLARED = 0 , MAV_ODID_CATEGORY_EU_OPEN = 1 , MAV_ODID_CATEGORY_EU_SPECIFIC = 2 , MAV_ODID_CATEGORY_EU_CERTIFIED = 3 , } impl MavOdidCategoryEu { pub const DEFAULT : Self = Self :: MAV_ODID_CATEGORY_EU_UNDECLARED ; } impl Default for MavOdidCategoryEu { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EscFailureFlags : u16 { const ESC_FAILURE_NONE = 0 ; const ESC_FAILURE_OVER_CURRENT = 1 ; const ESC_FAILURE_OVER_VOLTAGE = 2 ; const ESC_FAILURE_OVER_TEMPERATURE = 4 ; const ESC_FAILURE_OVER_RPM = 8 ; const ESC_FAILURE_INCONSISTENT_CMD = 16 ; const ESC_FAILURE_MOTOR_STUCK = 32 ; const ESC_FAILURE_GENERIC = 64 ; } } impl EscFailureFlags { pub const DEFAULT : Self = Self :: ESC_FAILURE_NONE ; } impl Default for EscFailureFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCmd { MAV_CMD_NAV_WAYPOINT = 16 , MAV_CMD_NAV_LOITER_UNLIM = 17 , MAV_CMD_NAV_LOITER_TURNS = 18 , MAV_CMD_NAV_LOITER_TIME = 19 , MAV_CMD_NAV_RETURN_TO_LAUNCH = 20 , MAV_CMD_NAV_LAND = 21 , MAV_CMD_NAV_TAKEOFF = 22 , MAV_CMD_NAV_LAND_LOCAL = 23 , MAV_CMD_NAV_TAKEOFF_LOCAL = 24 , MAV_CMD_NAV_FOLLOW = 25 , MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT = 30 , MAV_CMD_NAV_LOITER_TO_ALT = 31 , MAV_CMD_DO_FOLLOW = 32 , MAV_CMD_DO_FOLLOW_REPOSITION = 33 , MAV_CMD_DO_ORBIT = 34 , MAV_CMD_NAV_ROI = 80 , MAV_CMD_NAV_PATHPLANNING = 81 , MAV_CMD_NAV_SPLINE_WAYPOINT = 82 , MAV_CMD_NAV_VTOL_TAKEOFF = 84 , MAV_CMD_NAV_VTOL_LAND = 85 , MAV_CMD_NAV_GUIDED_ENABLE = 92 , MAV_CMD_NAV_DELAY = 93 , MAV_CMD_NAV_PAYLOAD_PLACE = 94 , MAV_CMD_NAV_LAST = 95 , MAV_CMD_CONDITION_DELAY = 112 , MAV_CMD_CONDITION_CHANGE_ALT = 113 , MAV_CMD_CONDITION_DISTANCE = 114 , MAV_CMD_CONDITION_YAW = 115 , MAV_CMD_CONDITION_LAST = 159 , MAV_CMD_DO_SET_MODE = 176 , MAV_CMD_DO_JUMP = 177 , MAV_CMD_DO_CHANGE_SPEED = 178 , MAV_CMD_DO_SET_HOME = 179 , MAV_CMD_DO_SET_PARAMETER = 180 , MAV_CMD_DO_SET_RELAY = 181 , MAV_CMD_DO_REPEAT_RELAY = 182 , MAV_CMD_DO_SET_SERVO = 183 , MAV_CMD_DO_REPEAT_SERVO = 184 , MAV_CMD_DO_FLIGHTTERMINATION = 185 , MAV_CMD_DO_CHANGE_ALTITUDE = 186 , MAV_CMD_DO_SET_ACTUATOR = 187 , MAV_CMD_DO_LAND_START = 189 , MAV_CMD_DO_RALLY_LAND = 190 , MAV_CMD_DO_GO_AROUND = 191 , MAV_CMD_DO_REPOSITION = 192 , MAV_CMD_DO_PAUSE_CONTINUE = 193 , MAV_CMD_DO_SET_REVERSE = 194 , MAV_CMD_DO_SET_ROI_LOCATION = 195 , MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET = 196 , MAV_CMD_DO_SET_ROI_NONE = 197 , MAV_CMD_DO_SET_ROI_SYSID = 198 , MAV_CMD_DO_CONTROL_VIDEO = 200 , MAV_CMD_DO_SET_ROI = 201 , MAV_CMD_DO_DIGICAM_CONFIGURE = 202 , MAV_CMD_DO_DIGICAM_CONTROL = 203 , MAV_CMD_DO_MOUNT_CONFIGURE = 204 , MAV_CMD_DO_MOUNT_CONTROL = 205 , MAV_CMD_DO_SET_CAM_TRIGG_DIST = 206 , MAV_CMD_DO_FENCE_ENABLE = 207 , MAV_CMD_DO_PARACHUTE = 208 , MAV_CMD_DO_MOTOR_TEST = 209 , MAV_CMD_DO_INVERTED_FLIGHT = 210 , MAV_CMD_DO_GRIPPER = 211 , MAV_CMD_DO_AUTOTUNE_ENABLE = 212 , MAV_CMD_NAV_SET_YAW_SPEED = 213 , MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL = 214 , MAV_CMD_DO_MOUNT_CONTROL_QUAT = 220 , MAV_CMD_DO_GUIDED_MASTER = 221 , MAV_CMD_DO_GUIDED_LIMITS = 222 , MAV_CMD_DO_ENGINE_CONTROL = 223 , MAV_CMD_DO_SET_MISSION_CURRENT = 224 , MAV_CMD_DO_LAST = 240 , MAV_CMD_PREFLIGHT_CALIBRATION = 241 , MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS = 242 , MAV_CMD_PREFLIGHT_UAVCAN = 243 , MAV_CMD_PREFLIGHT_STORAGE = 245 , MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN = 246 , MAV_CMD_OVERRIDE_GOTO = 252 , MAV_CMD_OBLIQUE_SURVEY = 260 , MAV_CMD_MISSION_START = 300 , MAV_CMD_ACTUATOR_TEST = 310 , MAV_CMD_CONFIGURE_ACTUATOR = 311 , MAV_CMD_COMPONENT_ARM_DISARM = 400 , MAV_CMD_RUN_PREARM_CHECKS = 401 , MAV_CMD_ILLUMINATOR_ON_OFF = 405 , MAV_CMD_GET_HOME_POSITION = 410 , MAV_CMD_INJECT_FAILURE = 420 , MAV_CMD_START_RX_PAIR = 500 , MAV_CMD_GET_MESSAGE_INTERVAL = 510 , MAV_CMD_SET_MESSAGE_INTERVAL = 511 , MAV_CMD_REQUEST_MESSAGE = 512 , MAV_CMD_REQUEST_PROTOCOL_VERSION = 519 , MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES = 520 , MAV_CMD_REQUEST_CAMERA_INFORMATION = 521 , MAV_CMD_REQUEST_CAMERA_SETTINGS = 522 , MAV_CMD_REQUEST_STORAGE_INFORMATION = 525 , MAV_CMD_STORAGE_FORMAT = 526 , MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS = 527 , MAV_CMD_REQUEST_FLIGHT_INFORMATION = 528 , MAV_CMD_RESET_CAMERA_SETTINGS = 529 , MAV_CMD_SET_CAMERA_MODE = 530 , MAV_CMD_SET_CAMERA_ZOOM = 531 , MAV_CMD_SET_CAMERA_FOCUS = 532 , MAV_CMD_SET_STORAGE_USAGE = 533 , MAV_CMD_JUMP_TAG = 600 , MAV_CMD_DO_JUMP_TAG = 601 , MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW = 1000 , MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE = 1001 , MAV_CMD_IMAGE_START_CAPTURE = 2000 , MAV_CMD_IMAGE_STOP_CAPTURE = 2001 , MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE = 2002 , MAV_CMD_DO_TRIGGER_CONTROL = 2003 , MAV_CMD_CAMERA_TRACK_POINT = 2004 , MAV_CMD_CAMERA_TRACK_RECTANGLE = 2005 , MAV_CMD_CAMERA_STOP_TRACKING = 2010 , MAV_CMD_VIDEO_START_CAPTURE = 2500 , MAV_CMD_VIDEO_STOP_CAPTURE = 2501 , MAV_CMD_VIDEO_START_STREAMING = 2502 , MAV_CMD_VIDEO_STOP_STREAMING = 2503 , MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION = 2504 , MAV_CMD_REQUEST_VIDEO_STREAM_STATUS = 2505 , MAV_CMD_LOGGING_START = 2510 , MAV_CMD_LOGGING_STOP = 2511 , MAV_CMD_AIRFRAME_CONFIGURATION = 2520 , MAV_CMD_CONTROL_HIGH_LATENCY = 2600 , MAV_CMD_PANORAMA_CREATE = 2800 , MAV_CMD_DO_VTOL_TRANSITION = 3000 , MAV_CMD_ARM_AUTHORIZATION_REQUEST = 3001 , MAV_CMD_SET_GUIDED_SUBMODE_STANDARD = 4000 , MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE = 4001 , MAV_CMD_CONDITION_GATE = 4501 , MAV_CMD_NAV_FENCE_RETURN_POINT = 5000 , MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION = 5001 , MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION = 5002 , MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION = 5003 , MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION = 5004 , MAV_CMD_NAV_RALLY_POINT = 5100 , MAV_CMD_UAVCAN_GET_NODE_INFO = 5200 , MAV_CMD_DO_ADSB_OUT_IDENT = 10001 , MAV_CMD_PAYLOAD_PREPARE_DEPLOY = 30001 , MAV_CMD_PAYLOAD_CONTROL_DEPLOY = 30002 , MAV_CMD_FIXED_MAG_CAL_YAW = 42006 , MAV_CMD_DO_WINCH = 42600 , MAV_CMD_WAYPOINT_USER_1 = 31000 , MAV_CMD_WAYPOINT_USER_2 = 31001 , MAV_CMD_WAYPOINT_USER_3 = 31002 , MAV_CMD_WAYPOINT_USER_4 = 31003 , MAV_CMD_WAYPOINT_USER_5 = 31004 , MAV_CMD_SPATIAL_USER_1 = 31005 , MAV_CMD_SPATIAL_USER_2 = 31006 , MAV_CMD_SPATIAL_USER_3 = 31007 , MAV_CMD_SPATIAL_USER_4 = 31008 , MAV_CMD_SPATIAL_USER_5 = 31009 , MAV_CMD_USER_1 = 31010 , MAV_CMD_USER_2 = 31011 , MAV_CMD_USER_3 = 31012 , MAV_CMD_USER_4 = 31013 , MAV_CMD_USER_5 = 31014 , MAV_CMD_CAN_FORWARD = 32000 , MAV_CMD_DO_SET_RESUME_REPEAT_DIST = 215 , MAV_CMD_DO_SPRAYER = 216 , MAV_CMD_DO_SEND_SCRIPT_MESSAGE = 217 , MAV_CMD_DO_AUX_FUNCTION = 218 , MAV_CMD_NAV_ALTITUDE_WAIT = 83 , MAV_CMD_POWER_OFF_INITIATED = 42000 , MAV_CMD_SOLO_BTN_FLY_CLICK = 42001 , MAV_CMD_SOLO_BTN_FLY_HOLD = 42002 , MAV_CMD_SOLO_BTN_PAUSE_CLICK = 42003 , MAV_CMD_FIXED_MAG_CAL = 42004 , MAV_CMD_FIXED_MAG_CAL_FIELD = 42005 , MAV_CMD_SET_EKF_SOURCE_SET = 42007 , MAV_CMD_DO_START_MAG_CAL = 42424 , MAV_CMD_DO_ACCEPT_MAG_CAL = 42425 , MAV_CMD_DO_CANCEL_MAG_CAL = 42426 , MAV_CMD_ACCELCAL_VEHICLE_POS = 42429 , MAV_CMD_DO_SEND_BANNER = 42428 , MAV_CMD_SET_FACTORY_TEST_MODE = 42427 , MAV_CMD_GIMBAL_RESET = 42501 , MAV_CMD_GIMBAL_AXIS_CALIBRATION_STATUS = 42502 , MAV_CMD_GIMBAL_REQUEST_AXIS_CALIBRATION = 42503 , MAV_CMD_GIMBAL_FULL_RESET = 42505 , MAV_CMD_FLASH_BOOTLOADER = 42650 , MAV_CMD_BATTERY_RESET = 42651 , MAV_CMD_DEBUG_TRAP = 42700 , MAV_CMD_SCRIPTING = 42701 , MAV_CMD_NAV_SCRIPT_TIME = 42702 , MAV_CMD_NAV_ATTITUDE_TIME = 42703 , MAV_CMD_GUIDED_CHANGE_SPEED = 43000 , MAV_CMD_GUIDED_CHANGE_ALTITUDE = 43001 , MAV_CMD_GUIDED_CHANGE_HEADING = 43002 , } impl MavCmd { pub const DEFAULT : Self = Self :: MAV_CMD_NAV_WAYPOINT ; } impl Default for MavCmd { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavProtocolCapability : u64 { const MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT = 1 ; const MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT = 2 ; const MAV_PROTOCOL_CAPABILITY_MISSION_INT = 4 ; const MAV_PROTOCOL_CAPABILITY_COMMAND_INT = 8 ; const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE = 16 ; const MAV_PROTOCOL_CAPABILITY_FTP = 32 ; const MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET = 64 ; const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED = 128 ; const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT = 256 ; const MAV_PROTOCOL_CAPABILITY_TERRAIN = 512 ; const MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET = 1024 ; const MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION = 2048 ; const MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION = 4096 ; const MAV_PROTOCOL_CAPABILITY_MAVLINK2 = 8192 ; const MAV_PROTOCOL_CAPABILITY_MISSION_FENCE = 16384 ; const MAV_PROTOCOL_CAPABILITY_MISSION_RALLY = 32768 ; const MAV_PROTOCOL_CAPABILITY_RESERVED2 = 65536 ; const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST = 131072 ; } } impl MavProtocolCapability { pub const DEFAULT : Self = Self :: MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT ; } impl Default for MavProtocolCapability { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum ActuatorConfiguration { ACTUATOR_CONFIGURATION_NONE = 0 , ACTUATOR_CONFIGURATION_BEEP = 1 , ACTUATOR_CONFIGURATION_3D_MODE_ON = 2 , ACTUATOR_CONFIGURATION_3D_MODE_OFF = 3 , ACTUATOR_CONFIGURATION_SPIN_DIRECTION1 = 4 , ACTUATOR_CONFIGURATION_SPIN_DIRECTION2 = 5 , } impl ActuatorConfiguration { pub const DEFAULT : Self = Self :: ACTUATOR_CONFIGURATION_NONE ; } impl Default for ActuatorConfiguration { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavSensorOrientation { MAV_SENSOR_ROTATION_NONE = 0 , MAV_SENSOR_ROTATION_YAW_45 = 1 , MAV_SENSOR_ROTATION_YAW_90 = 2 , MAV_SENSOR_ROTATION_YAW_135 = 3 , MAV_SENSOR_ROTATION_YAW_180 = 4 , MAV_SENSOR_ROTATION_YAW_225 = 5 , MAV_SENSOR_ROTATION_YAW_270 = 6 , MAV_SENSOR_ROTATION_YAW_315 = 7 , MAV_SENSOR_ROTATION_ROLL_180 = 8 , MAV_SENSOR_ROTATION_ROLL_180_YAW_45 = 9 , MAV_SENSOR_ROTATION_ROLL_180_YAW_90 = 10 , MAV_SENSOR_ROTATION_ROLL_180_YAW_135 = 11 , MAV_SENSOR_ROTATION_PITCH_180 = 12 , MAV_SENSOR_ROTATION_ROLL_180_YAW_225 = 13 , MAV_SENSOR_ROTATION_ROLL_180_YAW_270 = 14 , MAV_SENSOR_ROTATION_ROLL_180_YAW_315 = 15 , MAV_SENSOR_ROTATION_ROLL_90 = 16 , MAV_SENSOR_ROTATION_ROLL_90_YAW_45 = 17 , MAV_SENSOR_ROTATION_ROLL_90_YAW_90 = 18 , MAV_SENSOR_ROTATION_ROLL_90_YAW_135 = 19 , MAV_SENSOR_ROTATION_ROLL_270 = 20 , MAV_SENSOR_ROTATION_ROLL_270_YAW_45 = 21 , MAV_SENSOR_ROTATION_ROLL_270_YAW_90 = 22 , MAV_SENSOR_ROTATION_ROLL_270_YAW_135 = 23 , MAV_SENSOR_ROTATION_PITCH_90 = 24 , MAV_SENSOR_ROTATION_PITCH_270 = 25 , MAV_SENSOR_ROTATION_PITCH_180_YAW_90 = 26 , MAV_SENSOR_ROTATION_PITCH_180_YAW_270 = 27 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_90 = 28 , MAV_SENSOR_ROTATION_ROLL_180_PITCH_90 = 29 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_90 = 30 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_180 = 31 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_180 = 32 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_270 = 33 , MAV_SENSOR_ROTATION_ROLL_180_PITCH_270 = 34 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_270 = 35 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_180_YAW_90 = 36 , MAV_SENSOR_ROTATION_ROLL_90_YAW_270 = 37 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_68_YAW_293 = 38 , MAV_SENSOR_ROTATION_PITCH_315 = 39 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_315 = 40 , MAV_SENSOR_ROTATION_CUSTOM = 100 , } impl MavSensorOrientation { pub const DEFAULT : Self = Self :: MAV_SENSOR_ROTATION_NONE ; } impl Default for MavSensorOrientation { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCmdAck { MAV_CMD_ACK_OK = 0 , MAV_CMD_ACK_ERR_FAIL = 1 , MAV_CMD_ACK_ERR_ACCESS_DENIED = 2 , MAV_CMD_ACK_ERR_NOT_SUPPORTED = 3 , MAV_CMD_ACK_ERR_COORDINATE_FRAME_NOT_SUPPORTED = 4 , MAV_CMD_ACK_ERR_COORDINATES_OUT_OF_RANGE = 5 , MAV_CMD_ACK_ERR_X_LAT_OUT_OF_RANGE = 6 , MAV_CMD_ACK_ERR_Y_LON_OUT_OF_RANGE = 7 , MAV_CMD_ACK_ERR_Z_ALT_OUT_OF_RANGE = 8 , } impl MavCmdAck { pub const DEFAULT : Self = Self :: MAV_CMD_ACK_OK ; } impl Default for MavCmdAck { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavVtolState { MAV_VTOL_STATE_UNDEFINED = 0 , MAV_VTOL_STATE_TRANSITION_TO_FW = 1 , MAV_VTOL_STATE_TRANSITION_TO_MC = 2 , MAV_VTOL_STATE_MC = 3 , MAV_VTOL_STATE_FW = 4 , } impl MavVtolState { pub const DEFAULT : Self = Self :: MAV_VTOL_STATE_UNDEFINED ; } impl Default for MavVtolState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproCommand { GOPRO_COMMAND_POWER = 0 , GOPRO_COMMAND_CAPTURE_MODE = 1 , GOPRO_COMMAND_SHUTTER = 2 , GOPRO_COMMAND_BATTERY = 3 , GOPRO_COMMAND_MODEL = 4 , GOPRO_COMMAND_VIDEO_SETTINGS = 5 , GOPRO_COMMAND_LOW_LIGHT = 6 , GOPRO_COMMAND_PHOTO_RESOLUTION = 7 , GOPRO_COMMAND_PHOTO_BURST_RATE = 8 , GOPRO_COMMAND_PROTUNE = 9 , GOPRO_COMMAND_PROTUNE_WHITE_BALANCE = 10 , GOPRO_COMMAND_PROTUNE_COLOUR = 11 , GOPRO_COMMAND_PROTUNE_GAIN = 12 , GOPRO_COMMAND_PROTUNE_SHARPNESS = 13 , GOPRO_COMMAND_PROTUNE_EXPOSURE = 14 , GOPRO_COMMAND_TIME = 15 , GOPRO_COMMAND_CHARGING = 16 , } impl GoproCommand { pub const DEFAULT : Self = Self :: GOPRO_COMMAND_POWER ; } impl Default for GoproCommand { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LimitModule : u8 { const LIMIT_GPSLOCK = 1 ; const LIMIT_GEOFENCE = 2 ; const LIMIT_ALTITUDE = 4 ; } } impl LimitModule { pub const DEFAULT : Self = Self :: LIMIT_GPSLOCK ; } impl Default for LimitModule { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FailureType { FAILURE_TYPE_OK = 0 , FAILURE_TYPE_OFF = 1 , FAILURE_TYPE_STUCK = 2 , FAILURE_TYPE_GARBAGE = 3 , FAILURE_TYPE_WRONG = 4 , FAILURE_TYPE_SLOW = 5 , FAILURE_TYPE_DELAYED = 6 , FAILURE_TYPE_INTERMITTENT = 7 , } impl FailureType { pub const DEFAULT : Self = Self :: FAILURE_TYPE_OK ; } impl Default for FailureType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FenceBreach { FENCE_BREACH_NONE = 0 , FENCE_BREACH_MINALT = 1 , FENCE_BREACH_MAXALT = 2 , FENCE_BREACH_BOUNDARY = 3 , } impl FenceBreach { pub const DEFAULT : Self = Self :: FENCE_BREACH_NONE ; } impl Default for FenceBreach { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavResult { MAV_RESULT_ACCEPTED = 0 , MAV_RESULT_TEMPORARILY_REJECTED = 1 , MAV_RESULT_DENIED = 2 , MAV_RESULT_UNSUPPORTED = 3 , MAV_RESULT_FAILED = 4 , MAV_RESULT_IN_PROGRESS = 5 , MAV_RESULT_CANCELLED = 6 , } impl MavResult { pub const DEFAULT : Self = Self :: MAV_RESULT_ACCEPTED ; } impl Default for MavResult { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavArmAuthDeniedReason { MAV_ARM_AUTH_DENIED_REASON_GENERIC = 0 , MAV_ARM_AUTH_DENIED_REASON_NONE = 1 , MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT = 2 , MAV_ARM_AUTH_DENIED_REASON_TIMEOUT = 3 , MAV_ARM_AUTH_DENIED_REASON_AIRSPACE_IN_USE = 4 , MAV_ARM_AUTH_DENIED_REASON_BAD_WEATHER = 5 , } impl MavArmAuthDeniedReason { pub const DEFAULT : Self = Self :: MAV_ARM_AUTH_DENIED_REASON_GENERIC ; } impl Default for MavArmAuthDeniedReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MissionState { MISSION_STATE_UNKNOWN = 0 , MISSION_STATE_NO_MISSION = 1 , MISSION_STATE_NOT_STARTED = 2 , MISSION_STATE_ACTIVE = 3 , MISSION_STATE_PAUSED = 4 , MISSION_STATE_COMPLETE = 5 , } impl MissionState { pub const DEFAULT : Self = Self :: MISSION_STATE_UNKNOWN ; } impl Default for MissionState { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RallyFlags : u8 { const FAVORABLE_WIND = 1 ; const LAND_IMMEDIATELY = 2 ; } } impl RallyFlags { pub const DEFAULT : Self = Self :: FAVORABLE_WIND ; } impl Default for RallyFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GoproHeartbeatFlags : u8 { const GOPRO_FLAG_RECORDING = 1 ; } } impl GoproHeartbeatFlags { pub const DEFAULT : Self = Self :: GOPRO_FLAG_RECORDING ; } impl Default for GoproHeartbeatFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryFunction { MAV_BATTERY_FUNCTION_UNKNOWN = 0 , MAV_BATTERY_FUNCTION_ALL = 1 , MAV_BATTERY_FUNCTION_PROPULSION = 2 , MAV_BATTERY_FUNCTION_AVIONICS = 3 , MAV_BATTERY_FUNCTION_PAYLOAD = 4 , } impl MavBatteryFunction { pub const DEFAULT : Self = Self :: MAV_BATTERY_FUNCTION_UNKNOWN ; } impl Default for MavBatteryFunction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavlinkDataStreamType { MAVLINK_DATA_STREAM_IMG_JPEG = 0 , MAVLINK_DATA_STREAM_IMG_BMP = 1 , MAVLINK_DATA_STREAM_IMG_RAW8U = 2 , MAVLINK_DATA_STREAM_IMG_RAW32U = 3 , MAVLINK_DATA_STREAM_IMG_PGM = 4 , MAVLINK_DATA_STREAM_IMG_PNG = 5 , } impl MavlinkDataStreamType { pub const DEFAULT : Self = Self :: MAVLINK_DATA_STREAM_IMG_JPEG ; } impl Default for MavlinkDataStreamType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AttitudeTargetTypemask : u8 { const ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE = 1 ; const ATTITUDE_TARGET_TYPEMASK_BODY_PITCH_RATE_IGNORE = 2 ; const ATTITUDE_TARGET_TYPEMASK_BODY_YAW_RATE_IGNORE = 4 ; const ATTITUDE_TARGET_TYPEMASK_THRUST_BODY_SET = 32 ; const ATTITUDE_TARGET_TYPEMASK_THROTTLE_IGNORE = 64 ; const ATTITUDE_TARGET_TYPEMASK_ATTITUDE_IGNORE = 128 ; } } impl AttitudeTargetTypemask { pub const DEFAULT : Self = Self :: ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE ; } impl Default for AttitudeTargetTypemask { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AisType { AIS_TYPE_UNKNOWN = 0 , AIS_TYPE_RESERVED_1 = 1 , AIS_TYPE_RESERVED_2 = 2 , AIS_TYPE_RESERVED_3 = 3 , AIS_TYPE_RESERVED_4 = 4 , AIS_TYPE_RESERVED_5 = 5 , AIS_TYPE_RESERVED_6 = 6 , AIS_TYPE_RESERVED_7 = 7 , AIS_TYPE_RESERVED_8 = 8 , AIS_TYPE_RESERVED_9 = 9 , AIS_TYPE_RESERVED_10 = 10 , AIS_TYPE_RESERVED_11 = 11 , AIS_TYPE_RESERVED_12 = 12 , AIS_TYPE_RESERVED_13 = 13 , AIS_TYPE_RESERVED_14 = 14 , AIS_TYPE_RESERVED_15 = 15 , AIS_TYPE_RESERVED_16 = 16 , AIS_TYPE_RESERVED_17 = 17 , AIS_TYPE_RESERVED_18 = 18 , AIS_TYPE_RESERVED_19 = 19 , AIS_TYPE_WIG = 20 , AIS_TYPE_WIG_HAZARDOUS_A = 21 , AIS_TYPE_WIG_HAZARDOUS_B = 22 , AIS_TYPE_WIG_HAZARDOUS_C = 23 , AIS_TYPE_WIG_HAZARDOUS_D = 24 , AIS_TYPE_WIG_RESERVED_1 = 25 , AIS_TYPE_WIG_RESERVED_2 = 26 , AIS_TYPE_WIG_RESERVED_3 = 27 , AIS_TYPE_WIG_RESERVED_4 = 28 , AIS_TYPE_WIG_RESERVED_5 = 29 , AIS_TYPE_FISHING = 30 , AIS_TYPE_TOWING = 31 , AIS_TYPE_TOWING_LARGE = 32 , AIS_TYPE_DREDGING = 33 , AIS_TYPE_DIVING = 34 , AIS_TYPE_MILITARY = 35 , AIS_TYPE_SAILING = 36 , AIS_TYPE_PLEASURE = 37 , AIS_TYPE_RESERVED_20 = 38 , AIS_TYPE_RESERVED_21 = 39 , AIS_TYPE_HSC = 40 , AIS_TYPE_HSC_HAZARDOUS_A = 41 , AIS_TYPE_HSC_HAZARDOUS_B = 42 , AIS_TYPE_HSC_HAZARDOUS_C = 43 , AIS_TYPE_HSC_HAZARDOUS_D = 44 , AIS_TYPE_HSC_RESERVED_1 = 45 , AIS_TYPE_HSC_RESERVED_2 = 46 , AIS_TYPE_HSC_RESERVED_3 = 47 , AIS_TYPE_HSC_RESERVED_4 = 48 , AIS_TYPE_HSC_UNKNOWN = 49 , AIS_TYPE_PILOT = 50 , AIS_TYPE_SAR = 51 , AIS_TYPE_TUG = 52 , AIS_TYPE_PORT_TENDER = 53 , AIS_TYPE_ANTI_POLLUTION = 54 , AIS_TYPE_LAW_ENFORCEMENT = 55 , AIS_TYPE_SPARE_LOCAL_1 = 56 , AIS_TYPE_SPARE_LOCAL_2 = 57 , AIS_TYPE_MEDICAL_TRANSPORT = 58 , AIS_TYPE_NONECOMBATANT = 59 , AIS_TYPE_PASSENGER = 60 , AIS_TYPE_PASSENGER_HAZARDOUS_A = 61 , AIS_TYPE_PASSENGER_HAZARDOUS_B = 62 , AIS_TYPE_PASSENGER_HAZARDOUS_C = 63 , AIS_TYPE_PASSENGER_HAZARDOUS_D = 64 , AIS_TYPE_PASSENGER_RESERVED_1 = 65 , AIS_TYPE_PASSENGER_RESERVED_2 = 66 , AIS_TYPE_PASSENGER_RESERVED_3 = 67 , AIS_TYPE_PASSENGER_RESERVED_4 = 68 , AIS_TYPE_PASSENGER_UNKNOWN = 69 , AIS_TYPE_CARGO = 70 , AIS_TYPE_CARGO_HAZARDOUS_A = 71 , AIS_TYPE_CARGO_HAZARDOUS_B = 72 , AIS_TYPE_CARGO_HAZARDOUS_C = 73 , AIS_TYPE_CARGO_HAZARDOUS_D = 74 , AIS_TYPE_CARGO_RESERVED_1 = 75 , AIS_TYPE_CARGO_RESERVED_2 = 76 , AIS_TYPE_CARGO_RESERVED_3 = 77 , AIS_TYPE_CARGO_RESERVED_4 = 78 , AIS_TYPE_CARGO_UNKNOWN = 79 , AIS_TYPE_TANKER = 80 , AIS_TYPE_TANKER_HAZARDOUS_A = 81 , AIS_TYPE_TANKER_HAZARDOUS_B = 82 , AIS_TYPE_TANKER_HAZARDOUS_C = 83 , AIS_TYPE_TANKER_HAZARDOUS_D = 84 , AIS_TYPE_TANKER_RESERVED_1 = 85 , AIS_TYPE_TANKER_RESERVED_2 = 86 , AIS_TYPE_TANKER_RESERVED_3 = 87 , AIS_TYPE_TANKER_RESERVED_4 = 88 , AIS_TYPE_TANKER_UNKNOWN = 89 , AIS_TYPE_OTHER = 90 , AIS_TYPE_OTHER_HAZARDOUS_A = 91 , AIS_TYPE_OTHER_HAZARDOUS_B = 92 , AIS_TYPE_OTHER_HAZARDOUS_C = 93 , AIS_TYPE_OTHER_HAZARDOUS_D = 94 , AIS_TYPE_OTHER_RESERVED_1 = 95 , AIS_TYPE_OTHER_RESERVED_2 = 96 , AIS_TYPE_OTHER_RESERVED_3 = 97 , AIS_TYPE_OTHER_RESERVED_4 = 98 , AIS_TYPE_OTHER_UNKNOWN = 99 , } impl AisType { pub const DEFAULT : Self = Self :: AIS_TYPE_UNKNOWN ; } impl Default for AisType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum LimitsState { LIMITS_INIT = 0 , LIMITS_DISABLED = 1 , LIMITS_ENABLED = 2 , LIMITS_TRIGGERED = 3 , LIMITS_RECOVERING = 4 , LIMITS_RECOVERED = 5 , } impl LimitsState { pub const DEFAULT : Self = Self :: LIMITS_INIT ; } impl Default for LimitsState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMode { MAV_MODE_PREFLIGHT = 0 , MAV_MODE_STABILIZE_DISARMED = 80 , MAV_MODE_STABILIZE_ARMED = 208 , MAV_MODE_MANUAL_DISARMED = 64 , MAV_MODE_MANUAL_ARMED = 192 , MAV_MODE_GUIDED_DISARMED = 88 , MAV_MODE_GUIDED_ARMED = 216 , MAV_MODE_AUTO_DISARMED = 92 , MAV_MODE_AUTO_ARMED = 220 , MAV_MODE_TEST_DISARMED = 66 , MAV_MODE_TEST_ARMED = 194 , } impl MavMode { pub const DEFAULT : Self = Self :: MAV_MODE_PREFLIGHT ; } impl Default for MavMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidClassificationType { MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED = 0 , MAV_ODID_CLASSIFICATION_TYPE_EU = 1 , } impl MavOdidClassificationType { pub const DEFAULT : Self = Self :: MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED ; } impl Default for MavOdidClassificationType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FenceMitigate { FENCE_MITIGATE_UNKNOWN = 0 , FENCE_MITIGATE_NONE = 1 , FENCE_MITIGATE_VEL_LIMIT = 2 , } impl FenceMitigate { pub const DEFAULT : Self = Self :: FENCE_MITIGATE_UNKNOWN ; } impl Default for FenceMitigate { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidOperatorIdType { MAV_ODID_OPERATOR_ID_TYPE_CAA = 0 , } impl MavOdidOperatorIdType { pub const DEFAULT : Self = Self :: MAV_ODID_OPERATOR_ID_TYPE_CAA ; } impl Default for MavOdidOperatorIdType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproCaptureMode { GOPRO_CAPTURE_MODE_VIDEO = 0 , GOPRO_CAPTURE_MODE_PHOTO = 1 , GOPRO_CAPTURE_MODE_BURST = 2 , GOPRO_CAPTURE_MODE_TIME_LAPSE = 3 , GOPRO_CAPTURE_MODE_MULTI_SHOT = 4 , GOPRO_CAPTURE_MODE_PLAYBACK = 5 , GOPRO_CAPTURE_MODE_SETUP = 6 , GOPRO_CAPTURE_MODE_UNKNOWN = 255 , } impl GoproCaptureMode { pub const DEFAULT : Self = Self :: GOPRO_CAPTURE_MODE_VIDEO ; } impl Default for GoproCaptureMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CompMetadataType { COMP_METADATA_TYPE_GENERAL = 0 , COMP_METADATA_TYPE_PARAMETER = 1 , COMP_METADATA_TYPE_COMMANDS = 2 , COMP_METADATA_TYPE_PERIPHERALS = 3 , COMP_METADATA_TYPE_EVENTS = 4 , COMP_METADATA_TYPE_ACTUATORS = 5 , } impl CompMetadataType { pub const DEFAULT : Self = Self :: COMP_METADATA_TYPE_GENERAL ; } impl Default for CompMetadataType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproHeartbeatStatus { GOPRO_HEARTBEAT_STATUS_DISCONNECTED = 0 , GOPRO_HEARTBEAT_STATUS_INCOMPATIBLE = 1 , GOPRO_HEARTBEAT_STATUS_CONNECTED = 2 , GOPRO_HEARTBEAT_STATUS_ERROR = 3 , } impl GoproHeartbeatStatus { pub const DEFAULT : Self = Self :: GOPRO_HEARTBEAT_STATUS_DISCONNECTED ; } impl Default for GoproHeartbeatStatus { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CameraCapFlags : u32 { const CAMERA_CAP_FLAGS_CAPTURE_VIDEO = 1 ; const CAMERA_CAP_FLAGS_CAPTURE_IMAGE = 2 ; const CAMERA_CAP_FLAGS_HAS_MODES = 4 ; const CAMERA_CAP_FLAGS_CAN_CAPTURE_IMAGE_IN_VIDEO_MODE = 8 ; const CAMERA_CAP_FLAGS_CAN_CAPTURE_VIDEO_IN_IMAGE_MODE = 16 ; const CAMERA_CAP_FLAGS_HAS_IMAGE_SURVEY_MODE = 32 ; const CAMERA_CAP_FLAGS_HAS_BASIC_ZOOM = 64 ; const CAMERA_CAP_FLAGS_HAS_BASIC_FOCUS = 128 ; const CAMERA_CAP_FLAGS_HAS_VIDEO_STREAM = 256 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_POINT = 512 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE = 1024 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_GEO_STATUS = 2048 ; } } impl CameraCapFlags { pub const DEFAULT : Self = Self :: CAMERA_CAP_FLAGS_CAPTURE_VIDEO ; } impl Default for CameraCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproProtuneExposure { GOPRO_PROTUNE_EXPOSURE_NEG_5_0 = 0 , GOPRO_PROTUNE_EXPOSURE_NEG_4_5 = 1 , GOPRO_PROTUNE_EXPOSURE_NEG_4_0 = 2 , GOPRO_PROTUNE_EXPOSURE_NEG_3_5 = 3 , GOPRO_PROTUNE_EXPOSURE_NEG_3_0 = 4 , GOPRO_PROTUNE_EXPOSURE_NEG_2_5 = 5 , GOPRO_PROTUNE_EXPOSURE_NEG_2_0 = 6 , GOPRO_PROTUNE_EXPOSURE_NEG_1_5 = 7 , GOPRO_PROTUNE_EXPOSURE_NEG_1_0 = 8 , GOPRO_PROTUNE_EXPOSURE_NEG_0_5 = 9 , GOPRO_PROTUNE_EXPOSURE_ZERO = 10 , GOPRO_PROTUNE_EXPOSURE_POS_0_5 = 11 , GOPRO_PROTUNE_EXPOSURE_POS_1_0 = 12 , GOPRO_PROTUNE_EXPOSURE_POS_1_5 = 13 , GOPRO_PROTUNE_EXPOSURE_POS_2_0 = 14 , GOPRO_PROTUNE_EXPOSURE_POS_2_5 = 15 , GOPRO_PROTUNE_EXPOSURE_POS_3_0 = 16 , GOPRO_PROTUNE_EXPOSURE_POS_3_5 = 17 , GOPRO_PROTUNE_EXPOSURE_POS_4_0 = 18 , GOPRO_PROTUNE_EXPOSURE_POS_4_5 = 19 , GOPRO_PROTUNE_EXPOSURE_POS_5_0 = 20 , } impl GoproProtuneExposure { pub const DEFAULT : Self = Self :: GOPRO_PROTUNE_EXPOSURE_NEG_5_0 ; } impl Default for GoproProtuneExposure { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavRemoteLogDataBlockCommands { MAV_REMOTE_LOG_DATA_BLOCK_STOP = 2147483645 , MAV_REMOTE_LOG_DATA_BLOCK_START = 2147483646 , } impl MavRemoteLogDataBlockCommands { pub const DEFAULT : Self = Self :: MAV_REMOTE_LOG_DATA_BLOCK_STOP ; } impl Default for MavRemoteLogDataBlockCommands { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavRemoteLogDataBlockStatuses { MAV_REMOTE_LOG_DATA_BLOCK_NACK = 0 , MAV_REMOTE_LOG_DATA_BLOCK_ACK = 1 , } impl MavRemoteLogDataBlockStatuses { pub const DEFAULT : Self = Self :: MAV_REMOTE_LOG_DATA_BLOCK_NACK ; } impl Default for MavRemoteLogDataBlockStatuses { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum DeepstallStage { DEEPSTALL_STAGE_FLY_TO_LANDING = 0 , DEEPSTALL_STAGE_ESTIMATE_WIND = 1 , DEEPSTALL_STAGE_WAIT_FOR_BREAKOUT = 2 , DEEPSTALL_STAGE_FLY_TO_ARC = 3 , DEEPSTALL_STAGE_ARC = 4 , DEEPSTALL_STAGE_APPROACH = 5 , DEEPSTALL_STAGE_LAND = 6 , } impl DeepstallStage { pub const DEFAULT : Self = Self :: DEEPSTALL_STAGE_FLY_TO_LANDING ; } impl Default for DeepstallStage { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum OsdParamConfigError { OSD_PARAM_SUCCESS = 0 , OSD_PARAM_INVALID_SCREEN = 1 , OSD_PARAM_INVALID_PARAMETER_INDEX = 2 , OSD_PARAM_INVALID_PARAMETER = 3 , } impl OsdParamConfigError { pub const DEFAULT : Self = Self :: OSD_PARAM_SUCCESS ; } impl Default for OsdParamConfigError { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavAutopilot { MAV_AUTOPILOT_GENERIC = 0 , MAV_AUTOPILOT_RESERVED = 1 , MAV_AUTOPILOT_SLUGS = 2 , MAV_AUTOPILOT_ARDUPILOTMEGA = 3 , MAV_AUTOPILOT_OPENPILOT = 4 , MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY = 5 , MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY = 6 , MAV_AUTOPILOT_GENERIC_MISSION_FULL = 7 , MAV_AUTOPILOT_INVALID = 8 , MAV_AUTOPILOT_PPZ = 9 , MAV_AUTOPILOT_UDB = 10 , MAV_AUTOPILOT_FP = 11 , MAV_AUTOPILOT_PX4 = 12 , MAV_AUTOPILOT_SMACCMPILOT = 13 , MAV_AUTOPILOT_AUTOQUAD = 14 , MAV_AUTOPILOT_ARMAZILA = 15 , MAV_AUTOPILOT_AEROB = 16 , MAV_AUTOPILOT_ASLUAV = 17 , MAV_AUTOPILOT_SMARTAP = 18 , MAV_AUTOPILOT_AIRRAILS = 19 , MAV_AUTOPILOT_REFLEX = 20 , } impl MavAutopilot { pub const DEFAULT : Self = Self :: MAV_AUTOPILOT_GENERIC ; } impl Default for MavAutopilot { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCollisionThreatLevel { MAV_COLLISION_THREAT_LEVEL_NONE = 0 , MAV_COLLISION_THREAT_LEVEL_LOW = 1 , MAV_COLLISION_THREAT_LEVEL_HIGH = 2 , } impl MavCollisionThreatLevel { pub const DEFAULT : Self = Self :: MAV_COLLISION_THREAT_LEVEL_NONE ; } impl Default for MavCollisionThreatLevel { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavDistanceSensor { MAV_DISTANCE_SENSOR_LASER = 0 , MAV_DISTANCE_SENSOR_ULTRASOUND = 1 , MAV_DISTANCE_SENSOR_INFRARED = 2 , MAV_DISTANCE_SENSOR_RADAR = 3 , MAV_DISTANCE_SENSOR_UNKNOWN = 4 , } impl MavDistanceSensor { pub const DEFAULT : Self = Self :: MAV_DISTANCE_SENSOR_LASER ; } impl Default for MavDistanceSensor { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FirmwareVersionType { FIRMWARE_VERSION_TYPE_DEV = 0 , FIRMWARE_VERSION_TYPE_ALPHA = 64 , FIRMWARE_VERSION_TYPE_BETA = 128 , FIRMWARE_VERSION_TYPE_RC = 192 , FIRMWARE_VERSION_TYPE_OFFICIAL = 255 , } impl FirmwareVersionType { pub const DEFAULT : Self = Self :: FIRMWARE_VERSION_TYPE_DEV ; } impl Default for FirmwareVersionType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavWinchStatusFlag : u32 { const MAV_WINCH_STATUS_HEALTHY = 1 ; const MAV_WINCH_STATUS_FULLY_RETRACTED = 2 ; const MAV_WINCH_STATUS_MOVING = 4 ; const MAV_WINCH_STATUS_CLUTCH_ENGAGED = 8 ; const MAV_WINCH_STATUS_LOCKED = 16 ; const MAV_WINCH_STATUS_DROPPING = 32 ; const MAV_WINCH_STATUS_ARRESTING = 64 ; const MAV_WINCH_STATUS_GROUND_SENSE = 128 ; const MAV_WINCH_STATUS_RETRACTING = 256 ; const MAV_WINCH_STATUS_REDELIVER = 512 ; const MAV_WINCH_STATUS_ABANDON_LINE = 1024 ; const MAV_WINCH_STATUS_LOCKING = 2048 ; const MAV_WINCH_STATUS_LOAD_LINE = 4096 ; const MAV_WINCH_STATUS_LOAD_PAYLOAD = 8192 ; } } impl MavWinchStatusFlag { pub const DEFAULT : Self = Self :: MAV_WINCH_STATUS_HEALTHY ; } impl Default for MavWinchStatusFlag { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UtmDataAvailFlags : u8 { const UTM_DATA_AVAIL_FLAGS_TIME_VALID = 1 ; const UTM_DATA_AVAIL_FLAGS_UAS_ID_AVAILABLE = 2 ; const UTM_DATA_AVAIL_FLAGS_POSITION_AVAILABLE = 4 ; const UTM_DATA_AVAIL_FLAGS_ALTITUDE_AVAILABLE = 8 ; const UTM_DATA_AVAIL_FLAGS_RELATIVE_ALTITUDE_AVAILABLE = 16 ; const UTM_DATA_AVAIL_FLAGS_HORIZONTAL_VELO_AVAILABLE = 32 ; const UTM_DATA_AVAIL_FLAGS_VERTICAL_VELO_AVAILABLE = 64 ; const UTM_DATA_AVAIL_FLAGS_NEXT_WAYPOINT_AVAILABLE = 128 ; } } impl UtmDataAvailFlags { pub const DEFAULT : Self = Self :: UTM_DATA_AVAIL_FLAGS_TIME_VALID ; } impl Default for UtmDataAvailFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidHorAcc { MAV_ODID_HOR_ACC_UNKNOWN = 0 , MAV_ODID_HOR_ACC_10NM = 1 , MAV_ODID_HOR_ACC_4NM = 2 , MAV_ODID_HOR_ACC_2NM = 3 , MAV_ODID_HOR_ACC_1NM = 4 , MAV_ODID_HOR_ACC_0_5NM = 5 , MAV_ODID_HOR_ACC_0_3NM = 6 , MAV_ODID_HOR_ACC_0_1NM = 7 , MAV_ODID_HOR_ACC_0_05NM = 8 , MAV_ODID_HOR_ACC_30_METER = 9 , MAV_ODID_HOR_ACC_10_METER = 10 , MAV_ODID_HOR_ACC_3_METER = 11 , MAV_ODID_HOR_ACC_1_METER = 12 , } impl MavOdidHorAcc { pub const DEFAULT : Self = Self :: MAV_ODID_HOR_ACC_UNKNOWN ; } impl Default for MavOdidHorAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidTimeAcc { MAV_ODID_TIME_ACC_UNKNOWN = 0 , MAV_ODID_TIME_ACC_0_1_SECOND = 1 , MAV_ODID_TIME_ACC_0_2_SECOND = 2 , MAV_ODID_TIME_ACC_0_3_SECOND = 3 , MAV_ODID_TIME_ACC_0_4_SECOND = 4 , MAV_ODID_TIME_ACC_0_5_SECOND = 5 , MAV_ODID_TIME_ACC_0_6_SECOND = 6 , MAV_ODID_TIME_ACC_0_7_SECOND = 7 , MAV_ODID_TIME_ACC_0_8_SECOND = 8 , MAV_ODID_TIME_ACC_0_9_SECOND = 9 , MAV_ODID_TIME_ACC_1_0_SECOND = 10 , MAV_ODID_TIME_ACC_1_1_SECOND = 11 , MAV_ODID_TIME_ACC_1_2_SECOND = 12 , MAV_ODID_TIME_ACC_1_3_SECOND = 13 , MAV_ODID_TIME_ACC_1_4_SECOND = 14 , MAV_ODID_TIME_ACC_1_5_SECOND = 15 , } impl MavOdidTimeAcc { pub const DEFAULT : Self = Self :: MAV_ODID_TIME_ACC_UNKNOWN ; } impl Default for MavOdidTimeAcc { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavGeneratorStatusFlag : u64 { const MAV_GENERATOR_STATUS_FLAG_OFF = 1 ; const MAV_GENERATOR_STATUS_FLAG_READY = 2 ; const MAV_GENERATOR_STATUS_FLAG_GENERATING = 4 ; const MAV_GENERATOR_STATUS_FLAG_CHARGING = 8 ; const MAV_GENERATOR_STATUS_FLAG_REDUCED_POWER = 16 ; const MAV_GENERATOR_STATUS_FLAG_MAXPOWER = 32 ; const MAV_GENERATOR_STATUS_FLAG_OVERTEMP_WARNING = 64 ; const MAV_GENERATOR_STATUS_FLAG_OVERTEMP_FAULT = 128 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_WARNING = 256 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_FAULT = 512 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_FAULT = 1024 ; const MAV_GENERATOR_STATUS_FLAG_POWERSOURCE_FAULT = 2048 ; const MAV_GENERATOR_STATUS_FLAG_COMMUNICATION_WARNING = 4096 ; const MAV_GENERATOR_STATUS_FLAG_COOLING_WARNING = 8192 ; const MAV_GENERATOR_STATUS_FLAG_POWER_RAIL_FAULT = 16384 ; const MAV_GENERATOR_STATUS_FLAG_OVERCURRENT_FAULT = 32768 ; const MAV_GENERATOR_STATUS_FLAG_BATTERY_OVERCHARGE_CURRENT_FAULT = 65536 ; const MAV_GENERATOR_STATUS_FLAG_OVERVOLTAGE_FAULT = 131072 ; const MAV_GENERATOR_STATUS_FLAG_BATTERY_UNDERVOLT_FAULT = 262144 ; const MAV_GENERATOR_STATUS_FLAG_START_INHIBITED = 524288 ; const MAV_GENERATOR_STATUS_FLAG_MAINTENANCE_REQUIRED = 1048576 ; const MAV_GENERATOR_STATUS_FLAG_WARMING_UP = 2097152 ; const MAV_GENERATOR_STATUS_FLAG_IDLE = 4194304 ; } } impl MavGeneratorStatusFlag { pub const DEFAULT : Self = Self :: MAV_GENERATOR_STATUS_FLAG_OFF ; } impl Default for MavGeneratorStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidUaType { MAV_ODID_UA_TYPE_NONE = 0 , MAV_ODID_UA_TYPE_AEROPLANE = 1 , MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR = 2 , MAV_ODID_UA_TYPE_GYROPLANE = 3 , MAV_ODID_UA_TYPE_HYBRID_LIFT = 4 , MAV_ODID_UA_TYPE_ORNITHOPTER = 5 , MAV_ODID_UA_TYPE_GLIDER = 6 , MAV_ODID_UA_TYPE_KITE = 7 , MAV_ODID_UA_TYPE_FREE_BALLOON = 8 , MAV_ODID_UA_TYPE_CAPTIVE_BALLOON = 9 , MAV_ODID_UA_TYPE_AIRSHIP = 10 , MAV_ODID_UA_TYPE_FREE_FALL_PARACHUTE = 11 , MAV_ODID_UA_TYPE_ROCKET = 12 , MAV_ODID_UA_TYPE_TETHERED_POWERED_AIRCRAFT = 13 , MAV_ODID_UA_TYPE_GROUND_OBSTACLE = 14 , MAV_ODID_UA_TYPE_OTHER = 15 , } impl MavOdidUaType { pub const DEFAULT : Self = Self :: MAV_ODID_UA_TYPE_NONE ; } impl Default for MavOdidUaType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum StorageUsageFlag { STORAGE_USAGE_FLAG_SET = 1 , STORAGE_USAGE_FLAG_PHOTO = 2 , STORAGE_USAGE_FLAG_VIDEO = 4 , STORAGE_USAGE_FLAG_LOGS = 8 , } impl StorageUsageFlag { pub const DEFAULT : Self = Self :: STORAGE_USAGE_FLAG_SET ; } impl Default for StorageUsageFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavionixAdsbOutCfgGpsOffsetLat { UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA = 0 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_2M = 1 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_4M = 2 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_6M = 3 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_0M = 4 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_2M = 5 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_4M = 6 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_6M = 7 , } impl UavionixAdsbOutCfgGpsOffsetLat { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA ; } impl Default for UavionixAdsbOutCfgGpsOffsetLat { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum StorageStatus { STORAGE_STATUS_EMPTY = 0 , STORAGE_STATUS_UNFORMATTED = 1 , STORAGE_STATUS_READY = 2 , STORAGE_STATUS_NOT_SUPPORTED = 3 , } impl StorageStatus { pub const DEFAULT : Self = Self :: STORAGE_STATUS_EMPTY ; } impl Default for StorageStatus { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EkfStatusFlags : u16 { const EKF_ATTITUDE = 1 ; const EKF_VELOCITY_HORIZ = 2 ; const EKF_VELOCITY_VERT = 4 ; const EKF_POS_HORIZ_REL = 8 ; const EKF_POS_HORIZ_ABS = 16 ; const EKF_POS_VERT_ABS = 32 ; const EKF_POS_VERT_AGL = 64 ; const EKF_CONST_POS_MODE = 128 ; const EKF_PRED_POS_HORIZ_REL = 256 ; const EKF_PRED_POS_HORIZ_ABS = 512 ; const EKF_UNINITIALIZED = 1024 ; } } impl EkfStatusFlags { pub const DEFAULT : Self = Self :: EKF_ATTITUDE ; } impl Default for EkfStatusFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HighresImuUpdatedFlags : u16 { const HIGHRES_IMU_UPDATED_NONE = 0 ; const HIGHRES_IMU_UPDATED_XACC = 1 ; const HIGHRES_IMU_UPDATED_YACC = 2 ; const HIGHRES_IMU_UPDATED_ZACC = 4 ; const HIGHRES_IMU_UPDATED_XGYRO = 8 ; const HIGHRES_IMU_UPDATED_YGYRO = 16 ; const HIGHRES_IMU_UPDATED_ZGYRO = 32 ; const HIGHRES_IMU_UPDATED_XMAG = 64 ; const HIGHRES_IMU_UPDATED_YMAG = 128 ; const HIGHRES_IMU_UPDATED_ZMAG = 256 ; const HIGHRES_IMU_UPDATED_ABS_PRESSURE = 512 ; const HIGHRES_IMU_UPDATED_DIFF_PRESSURE = 1024 ; const HIGHRES_IMU_UPDATED_PRESSURE_ALT = 2048 ; const HIGHRES_IMU_UPDATED_TEMPERATURE = 4096 ; const HIGHRES_IMU_UPDATED_ALL = 65535 ; } } impl HighresImuUpdatedFlags { pub const DEFAULT : Self = Self :: HIGHRES_IMU_UPDATED_NONE ; } impl Default for HighresImuUpdatedFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum IcarousTrackBandTypes { ICAROUS_TRACK_BAND_TYPE_NONE = 0 , ICAROUS_TRACK_BAND_TYPE_NEAR = 1 , ICAROUS_TRACK_BAND_TYPE_RECOVERY = 2 , } impl IcarousTrackBandTypes { pub const DEFAULT : Self = Self :: ICAROUS_TRACK_BAND_TYPE_NONE ; } impl Default for IcarousTrackBandTypes { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraMode { CAMERA_MODE_IMAGE = 0 , CAMERA_MODE_VIDEO = 1 , CAMERA_MODE_IMAGE_SURVEY = 2 , } impl CameraMode { pub const DEFAULT : Self = Self :: CAMERA_MODE_IMAGE ; } impl Default for CameraMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum PidTuningAxis { PID_TUNING_ROLL = 1 , PID_TUNING_PITCH = 2 , PID_TUNING_YAW = 3 , PID_TUNING_ACCZ = 4 , PID_TUNING_STEER = 5 , PID_TUNING_LANDING = 6 , } impl PidTuningAxis { pub const DEFAULT : Self = Self :: PID_TUNING_ROLL ; } impl Default for PidTuningAxis { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum RcType { RC_TYPE_SPEKTRUM_DSM2 = 0 , RC_TYPE_SPEKTRUM_DSMX = 1 , } impl RcType { pub const DEFAULT : Self = Self :: RC_TYPE_SPEKTRUM_DSM2 ; } impl Default for RcType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GpsInputIgnoreFlags : u16 { const GPS_INPUT_IGNORE_FLAG_ALT = 1 ; const GPS_INPUT_IGNORE_FLAG_HDOP = 2 ; const GPS_INPUT_IGNORE_FLAG_VDOP = 4 ; const GPS_INPUT_IGNORE_FLAG_VEL_HORIZ = 8 ; const GPS_INPUT_IGNORE_FLAG_VEL_VERT = 16 ; const GPS_INPUT_IGNORE_FLAG_SPEED_ACCURACY = 32 ; const GPS_INPUT_IGNORE_FLAG_HORIZONTAL_ACCURACY = 64 ; const GPS_INPUT_IGNORE_FLAG_VERTICAL_ACCURACY = 128 ; } } impl GpsInputIgnoreFlags { pub const DEFAULT : Self = Self :: GPS_INPUT_IGNORE_FLAG_ALT ; } impl Default for GpsInputIgnoreFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum RtkBaselineCoordinateSystem { RTK_BASELINE_COORDINATE_SYSTEM_ECEF = 0 , RTK_BASELINE_COORDINATE_SYSTEM_NED = 1 , } impl RtkBaselineCoordinateSystem { pub const DEFAULT : Self = Self :: RTK_BASELINE_COORDINATE_SYSTEM_ECEF ; } impl Default for RtkBaselineCoordinateSystem { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum EscConnectionType { ESC_CONNECTION_TYPE_PPM = 0 , ESC_CONNECTION_TYPE_SERIAL = 1 , ESC_CONNECTION_TYPE_ONESHOT = 2 , ESC_CONNECTION_TYPE_I2C = 3 , ESC_CONNECTION_TYPE_CAN = 4 , ESC_CONNECTION_TYPE_DSHOT = 5 , } impl EscConnectionType { pub const DEFAULT : Self = Self :: ESC_CONNECTION_TYPE_PPM ; } impl Default for EscConnectionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraTrackingStatusFlags { CAMERA_TRACKING_STATUS_FLAGS_IDLE = 0 , CAMERA_TRACKING_STATUS_FLAGS_ACTIVE = 1 , CAMERA_TRACKING_STATUS_FLAGS_ERROR = 2 , } impl CameraTrackingStatusFlags { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_STATUS_FLAGS_IDLE ; } impl Default for CameraTrackingStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryFault { MAV_BATTERY_FAULT_DEEP_DISCHARGE = 1 , MAV_BATTERY_FAULT_SPIKES = 2 , MAV_BATTERY_FAULT_CELL_FAIL = 4 , MAV_BATTERY_FAULT_OVER_CURRENT = 8 , MAV_BATTERY_FAULT_OVER_TEMPERATURE = 16 , MAV_BATTERY_FAULT_UNDER_TEMPERATURE = 32 , MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE = 64 , MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE = 128 , BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION = 256 , } impl MavBatteryFault { pub const DEFAULT : Self = Self :: MAV_BATTERY_FAULT_DEEP_DISCHARGE ; } impl Default for MavBatteryFault { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceErrorFlags : u32 { const GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT = 1 ; const GIMBAL_DEVICE_ERROR_FLAGS_AT_PITCH_LIMIT = 2 ; const GIMBAL_DEVICE_ERROR_FLAGS_AT_YAW_LIMIT = 4 ; const GIMBAL_DEVICE_ERROR_FLAGS_ENCODER_ERROR = 8 ; const GIMBAL_DEVICE_ERROR_FLAGS_POWER_ERROR = 16 ; const GIMBAL_DEVICE_ERROR_FLAGS_MOTOR_ERROR = 32 ; const GIMBAL_DEVICE_ERROR_FLAGS_SOFTWARE_ERROR = 64 ; const GIMBAL_DEVICE_ERROR_FLAGS_COMMS_ERROR = 128 ; const GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING = 256 ; const GIMBAL_DEVICE_ERROR_FLAGS_NO_MANAGER = 512 ; } } impl GimbalDeviceErrorFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT ; } impl Default for GimbalDeviceErrorFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum WifiConfigApMode { WIFI_CONFIG_AP_MODE_UNDEFINED = 0 , WIFI_CONFIG_AP_MODE_AP = 1 , WIFI_CONFIG_AP_MODE_STATION = 2 , WIFI_CONFIG_AP_MODE_DISABLED = 3 , } impl WifiConfigApMode { pub const DEFAULT : Self = Self :: WIFI_CONFIG_AP_MODE_UNDEFINED ; } impl Default for WifiConfigApMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMountMode { MAV_MOUNT_MODE_RETRACT = 0 , MAV_MOUNT_MODE_NEUTRAL = 1 , MAV_MOUNT_MODE_MAVLINK_TARGETING = 2 , MAV_MOUNT_MODE_RC_TARGETING = 3 , MAV_MOUNT_MODE_GPS_POINT = 4 , MAV_MOUNT_MODE_SYSID_TARGET = 5 , MAV_MOUNT_MODE_HOME_LOCATION = 6 , } impl MavMountMode { pub const DEFAULT : Self = Self :: MAV_MOUNT_MODE_RETRACT ; } impl Default for MavMountMode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavSysStatusSensor : u32 { const MAV_SYS_STATUS_SENSOR_3D_GYRO = 1 ; const MAV_SYS_STATUS_SENSOR_3D_ACCEL = 2 ; const MAV_SYS_STATUS_SENSOR_3D_MAG = 4 ; const MAV_SYS_STATUS_SENSOR_ABSOLUTE_PRESSURE = 8 ; const MAV_SYS_STATUS_SENSOR_DIFFERENTIAL_PRESSURE = 16 ; const MAV_SYS_STATUS_SENSOR_GPS = 32 ; const MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW = 64 ; const MAV_SYS_STATUS_SENSOR_VISION_POSITION = 128 ; const MAV_SYS_STATUS_SENSOR_LASER_POSITION = 256 ; const MAV_SYS_STATUS_SENSOR_EXTERNAL_GROUND_TRUTH = 512 ; const MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL = 1024 ; const MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION = 2048 ; const MAV_SYS_STATUS_SENSOR_YAW_POSITION = 4096 ; const MAV_SYS_STATUS_SENSOR_Z_ALTITUDE_CONTROL = 8192 ; const MAV_SYS_STATUS_SENSOR_XY_POSITION_CONTROL = 16384 ; const MAV_SYS_STATUS_SENSOR_MOTOR_OUTPUTS = 32768 ; const MAV_SYS_STATUS_SENSOR_RC_RECEIVER = 65536 ; const MAV_SYS_STATUS_SENSOR_3D_GYRO2 = 131072 ; const MAV_SYS_STATUS_SENSOR_3D_ACCEL2 = 262144 ; const MAV_SYS_STATUS_SENSOR_3D_MAG2 = 524288 ; const MAV_SYS_STATUS_GEOFENCE = 1048576 ; const MAV_SYS_STATUS_AHRS = 2097152 ; const MAV_SYS_STATUS_TERRAIN = 4194304 ; const MAV_SYS_STATUS_REVERSE_MOTOR = 8388608 ; const MAV_SYS_STATUS_LOGGING = 16777216 ; const MAV_SYS_STATUS_SENSOR_BATTERY = 33554432 ; const MAV_SYS_STATUS_SENSOR_PROXIMITY = 67108864 ; const MAV_SYS_STATUS_SENSOR_SATCOM = 134217728 ; const MAV_SYS_STATUS_PREARM_CHECK = 268435456 ; const MAV_SYS_STATUS_OBSTACLE_AVOIDANCE = 536870912 ; const MAV_SYS_STATUS_SENSOR_PROPULSION = 1073741824 ; const MAV_SYS_STATUS_EXTENSION_USED = 2147483648 ; } } impl MavSysStatusSensor { pub const DEFAULT : Self = Self :: MAV_SYS_STATUS_SENSOR_3D_GYRO ; } impl Default for MavSysStatusSensor { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavSeverity { MAV_SEVERITY_EMERGENCY = 0 , MAV_SEVERITY_ALERT = 1 , MAV_SEVERITY_CRITICAL = 2 , MAV_SEVERITY_ERROR = 3 , MAV_SEVERITY_WARNING = 4 , MAV_SEVERITY_NOTICE = 5 , MAV_SEVERITY_INFO = 6 , MAV_SEVERITY_DEBUG = 7 , } impl MavSeverity { pub const DEFAULT : Self = Self :: MAV_SEVERITY_EMERGENCY ; } impl Default for MavSeverity { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproCharging { GOPRO_CHARGING_DISABLED = 0 , GOPRO_CHARGING_ENABLED = 1 , } impl GoproCharging { pub const DEFAULT : Self = Self :: GOPRO_CHARGING_DISABLED ; } impl Default for GoproCharging { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavSysStatusSensorExtended { MAV_SYS_STATUS_RECOVERY_SYSTEM = 1 , } impl MavSysStatusSensorExtended { pub const DEFAULT : Self = Self :: MAV_SYS_STATUS_RECOVERY_SYSTEM ; } impl Default for MavSysStatusSensorExtended { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum SubMode { SUB_MODE_STABILIZE = 0 , SUB_MODE_ACRO = 1 , SUB_MODE_ALT_HOLD = 2 , SUB_MODE_AUTO = 3 , SUB_MODE_GUIDED = 4 , SUB_MODE_CIRCLE = 7 , SUB_MODE_SURFACE = 9 , SUB_MODE_POSHOLD = 16 , SUB_MODE_MANUAL = 19 , } impl SubMode { pub const DEFAULT : Self = Self :: SUB_MODE_STABILIZE ; } impl Default for SubMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavTunnelPayloadType { MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN = 0 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0 = 200 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1 = 201 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED2 = 202 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED3 = 203 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED4 = 204 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED5 = 205 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED6 = 206 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED7 = 207 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED8 = 208 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED9 = 209 , } impl MavTunnelPayloadType { pub const DEFAULT : Self = Self :: MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN ; } impl Default for MavTunnelPayloadType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavParamExtType { MAV_PARAM_EXT_TYPE_UINT8 = 1 , MAV_PARAM_EXT_TYPE_INT8 = 2 , MAV_PARAM_EXT_TYPE_UINT16 = 3 , MAV_PARAM_EXT_TYPE_INT16 = 4 , MAV_PARAM_EXT_TYPE_UINT32 = 5 , MAV_PARAM_EXT_TYPE_INT32 = 6 , MAV_PARAM_EXT_TYPE_UINT64 = 7 , MAV_PARAM_EXT_TYPE_INT64 = 8 , MAV_PARAM_EXT_TYPE_REAL32 = 9 , MAV_PARAM_EXT_TYPE_REAL64 = 10 , MAV_PARAM_EXT_TYPE_CUSTOM = 11 , } impl MavParamExtType { pub const DEFAULT : Self = Self :: MAV_PARAM_EXT_TYPE_UINT8 ; } impl Default for MavParamExtType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GpsFixType { GPS_FIX_TYPE_NO_GPS = 0 , GPS_FIX_TYPE_NO_FIX = 1 , GPS_FIX_TYPE_2D_FIX = 2 , GPS_FIX_TYPE_3D_FIX = 3 , GPS_FIX_TYPE_DGPS = 4 , GPS_FIX_TYPE_RTK_FLOAT = 5 , GPS_FIX_TYPE_RTK_FIXED = 6 , GPS_FIX_TYPE_STATIC = 7 , GPS_FIX_TYPE_PPP = 8 , } impl GpsFixType { pub const DEFAULT : Self = Self :: GPS_FIX_TYPE_NO_GPS ; } impl Default for GpsFixType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AdsbFlags : u16 { const ADSB_FLAGS_VALID_COORDS = 1 ; const ADSB_FLAGS_VALID_ALTITUDE = 2 ; const ADSB_FLAGS_VALID_HEADING = 4 ; const ADSB_FLAGS_VALID_VELOCITY = 8 ; const ADSB_FLAGS_VALID_CALLSIGN = 16 ; const ADSB_FLAGS_VALID_SQUAWK = 32 ; const ADSB_FLAGS_SIMULATED = 64 ; const ADSB_FLAGS_VERTICAL_VELOCITY_VALID = 128 ; const ADSB_FLAGS_BARO_VALID = 256 ; const ADSB_FLAGS_SOURCE_UAT = 32768 ; } } impl AdsbFlags { pub const DEFAULT : Self = Self :: ADSB_FLAGS_VALID_COORDS ; } impl Default for AdsbFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproFieldOfView { GOPRO_FIELD_OF_VIEW_WIDE = 0 , GOPRO_FIELD_OF_VIEW_MEDIUM = 1 , GOPRO_FIELD_OF_VIEW_NARROW = 2 , } impl GoproFieldOfView { pub const DEFAULT : Self = Self :: GOPRO_FIELD_OF_VIEW_WIDE ; } impl Default for GoproFieldOfView { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum TrackerMode { TRACKER_MODE_MANUAL = 0 , TRACKER_MODE_STOP = 1 , TRACKER_MODE_SCAN = 2 , TRACKER_MODE_SERVO_TEST = 3 , TRACKER_MODE_AUTO = 10 , TRACKER_MODE_INITIALIZING = 16 , } impl TrackerMode { pub const DEFAULT : Self = Self :: TRACKER_MODE_MANUAL ; } impl Default for TrackerMode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceCapFlags : u16 { const GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT = 1 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL = 2 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS = 4 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW = 8 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK = 16 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS = 32 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW = 64 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK = 128 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS = 256 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW = 512 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK = 1024 ; const GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW = 2048 ; const GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME = 4096 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS = 8192 ; } } impl GimbalDeviceCapFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT ; } impl Default for GimbalDeviceCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavcanNodeMode { UAVCAN_NODE_MODE_OPERATIONAL = 0 , UAVCAN_NODE_MODE_INITIALIZATION = 1 , UAVCAN_NODE_MODE_MAINTENANCE = 2 , UAVCAN_NODE_MODE_SOFTWARE_UPDATE = 3 , UAVCAN_NODE_MODE_OFFLINE = 7 , } impl UavcanNodeMode { pub const DEFAULT : Self = Self :: UAVCAN_NODE_MODE_OPERATIONAL ; } impl Default for UavcanNodeMode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EstimatorStatusFlags : u16 { const ESTIMATOR_ATTITUDE = 1 ; const ESTIMATOR_VELOCITY_HORIZ = 2 ; const ESTIMATOR_VELOCITY_VERT = 4 ; const ESTIMATOR_POS_HORIZ_REL = 8 ; const ESTIMATOR_POS_HORIZ_ABS = 16 ; const ESTIMATOR_POS_VERT_ABS = 32 ; const ESTIMATOR_POS_VERT_AGL = 64 ; const ESTIMATOR_CONST_POS_MODE = 128 ; const ESTIMATOR_PRED_POS_HORIZ_REL = 256 ; const ESTIMATOR_PRED_POS_HORIZ_ABS = 512 ; const ESTIMATOR_GPS_GLITCH = 1024 ; const ESTIMATOR_ACCEL_ERROR = 2048 ; } } impl EstimatorStatusFlags { pub const DEFAULT : Self = Self :: ESTIMATOR_ATTITUDE ; } impl Default for EstimatorStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidVerAcc { MAV_ODID_VER_ACC_UNKNOWN = 0 , MAV_ODID_VER_ACC_150_METER = 1 , MAV_ODID_VER_ACC_45_METER = 2 , MAV_ODID_VER_ACC_25_METER = 3 , MAV_ODID_VER_ACC_10_METER = 4 , MAV_ODID_VER_ACC_3_METER = 5 , MAV_ODID_VER_ACC_1_METER = 6 , } impl MavOdidVerAcc { pub const DEFAULT : Self = Self :: MAV_ODID_VER_ACC_UNKNOWN ; } impl Default for MavOdidVerAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GimbalAxis { GIMBAL_AXIS_YAW = 0 , GIMBAL_AXIS_PITCH = 1 , GIMBAL_AXIS_ROLL = 2 , } impl GimbalAxis { pub const DEFAULT : Self = Self :: GIMBAL_AXIS_YAW ; } impl Default for GimbalAxis { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum LandingTargetType { LANDING_TARGET_TYPE_LIGHT_BEACON = 0 , LANDING_TARGET_TYPE_RADIO_BEACON = 1 , LANDING_TARGET_TYPE_VISION_FIDUCIAL = 2 , LANDING_TARGET_TYPE_VISION_OTHER = 3 , } impl LandingTargetType { pub const DEFAULT : Self = Self :: LANDING_TARGET_TYPE_LIGHT_BEACON ; } impl Default for LandingTargetType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavEventCurrentSequenceFlags : u8 { const MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET = 1 ; } } impl MavEventCurrentSequenceFlags { pub const DEFAULT : Self = Self :: MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET ; } impl Default for MavEventCurrentSequenceFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MotorTestOrder { MOTOR_TEST_ORDER_DEFAULT = 0 , MOTOR_TEST_ORDER_SEQUENCE = 1 , MOTOR_TEST_ORDER_BOARD = 2 , } impl MotorTestOrder { pub const DEFAULT : Self = Self :: MOTOR_TEST_ORDER_DEFAULT ; } impl Default for MotorTestOrder { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum VideoStreamType { VIDEO_STREAM_TYPE_RTSP = 0 , VIDEO_STREAM_TYPE_RTPUDP = 1 , VIDEO_STREAM_TYPE_TCP_MPEG = 2 , VIDEO_STREAM_TYPE_MPEG_TS_H264 = 3 , } impl VideoStreamType { pub const DEFAULT : Self = Self :: VIDEO_STREAM_TYPE_RTSP ; } impl Default for VideoStreamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproProtuneGain { GOPRO_PROTUNE_GAIN_400 = 0 , GOPRO_PROTUNE_GAIN_800 = 1 , GOPRO_PROTUNE_GAIN_1600 = 2 , GOPRO_PROTUNE_GAIN_3200 = 3 , GOPRO_PROTUNE_GAIN_6400 = 4 , } impl GoproProtuneGain { pub const DEFAULT : Self = Self :: GOPRO_PROTUNE_GAIN_400 ; } impl Default for GoproProtuneGain { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavFtpErr { MAV_FTP_ERR_NONE = 0 , MAV_FTP_ERR_FAIL = 1 , MAV_FTP_ERR_FAILERRNO = 2 , MAV_FTP_ERR_INVALIDDATASIZE = 3 , MAV_FTP_ERR_INVALIDSESSION = 4 , MAV_FTP_ERR_NOSESSIONSAVAILABLE = 5 , MAV_FTP_ERR_EOF = 6 , MAV_FTP_ERR_UNKNOWNCOMMAND = 7 , MAV_FTP_ERR_FILEEXISTS = 8 , MAV_FTP_ERR_FILEPROTECTED = 9 , MAV_FTP_ERR_FILENOTFOUND = 10 , } impl MavFtpErr { pub const DEFAULT : Self = Self :: MAV_FTP_ERR_NONE ; } impl Default for MavFtpErr { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MotorTestThrottleType { MOTOR_TEST_THROTTLE_PERCENT = 0 , MOTOR_TEST_THROTTLE_PWM = 1 , MOTOR_TEST_THROTTLE_PILOT = 2 , MOTOR_TEST_COMPASS_CAL = 3 , } impl MotorTestThrottleType { pub const DEFAULT : Self = Self :: MOTOR_TEST_THROTTLE_PERCENT ; } impl Default for MotorTestThrottleType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavionixAdsbOutDynamicGpsFix { UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0 = 0 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_1 = 1 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_2D = 2 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_3D = 3 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_DGPS = 4 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_RTK = 5 , } impl UavionixAdsbOutDynamicGpsFix { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0 ; } impl Default for UavionixAdsbOutDynamicGpsFix { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproVideoSettingsFlags { GOPRO_VIDEO_SETTINGS_TV_MODE = 1 , } impl GoproVideoSettingsFlags { pub const DEFAULT : Self = Self :: GOPRO_VIDEO_SETTINGS_TV_MODE ; } impl Default for GoproVideoSettingsFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidArmStatus { MAV_ODID_ARM_STATUS_GOOD_TO_ARM = 0 , MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC = 1 , } impl MavOdidArmStatus { pub const DEFAULT : Self = Self :: MAV_ODID_ARM_STATUS_GOOD_TO_ARM ; } impl Default for MavOdidArmStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum HeadingType { HEADING_TYPE_COURSE_OVER_GROUND = 0 , HEADING_TYPE_HEADING = 1 , } impl HeadingType { pub const DEFAULT : Self = Self :: HEADING_TYPE_COURSE_OVER_GROUND ; } impl Default for HeadingType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproModel { GOPRO_MODEL_UNKNOWN = 0 , GOPRO_MODEL_HERO_3_PLUS_SILVER = 1 , GOPRO_MODEL_HERO_3_PLUS_BLACK = 2 , GOPRO_MODEL_HERO_4_SILVER = 3 , GOPRO_MODEL_HERO_4_BLACK = 4 , } impl GoproModel { pub const DEFAULT : Self = Self :: GOPRO_MODEL_UNKNOWN ; } impl Default for GoproModel { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidAuthType { MAV_ODID_AUTH_TYPE_NONE = 0 , MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE = 1 , MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE = 2 , MAV_ODID_AUTH_TYPE_MESSAGE_SET_SIGNATURE = 3 , MAV_ODID_AUTH_TYPE_NETWORK_REMOTE_ID = 4 , MAV_ODID_AUTH_TYPE_SPECIFIC_AUTHENTICATION = 5 , } impl MavOdidAuthType { pub const DEFAULT : Self = Self :: MAV_ODID_AUTH_TYPE_NONE ; } impl Default for MavOdidAuthType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproProtuneWhiteBalance { GOPRO_PROTUNE_WHITE_BALANCE_AUTO = 0 , GOPRO_PROTUNE_WHITE_BALANCE_3000K = 1 , GOPRO_PROTUNE_WHITE_BALANCE_5500K = 2 , GOPRO_PROTUNE_WHITE_BALANCE_6500K = 3 , GOPRO_PROTUNE_WHITE_BALANCE_RAW = 4 , } impl GoproProtuneWhiteBalance { pub const DEFAULT : Self = Self :: GOPRO_PROTUNE_WHITE_BALANCE_AUTO ; } impl Default for GoproProtuneWhiteBalance { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UavionixAdsbRfHealth : u8 { const UAVIONIX_ADSB_RF_HEALTH_INITIALIZING = 0 ; const UAVIONIX_ADSB_RF_HEALTH_OK = 1 ; const UAVIONIX_ADSB_RF_HEALTH_FAIL_TX = 2 ; const UAVIONIX_ADSB_RF_HEALTH_FAIL_RX = 16 ; } } impl UavionixAdsbRfHealth { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_RF_HEALTH_INITIALIZING ; } impl Default for UavionixAdsbRfHealth { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum SpeedType { SPEED_TYPE_AIRSPEED = 0 , SPEED_TYPE_GROUNDSPEED = 1 , } impl SpeedType { pub const DEFAULT : Self = Self :: SPEED_TYPE_AIRSPEED ; } impl Default for SpeedType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum OsdParamConfigType { OSD_PARAM_NONE = 0 , OSD_PARAM_SERIAL_PROTOCOL = 1 , OSD_PARAM_SERVO_FUNCTION = 2 , OSD_PARAM_AUX_FUNCTION = 3 , OSD_PARAM_FLIGHT_MODE = 4 , OSD_PARAM_FAILSAFE_ACTION = 5 , OSD_PARAM_FAILSAFE_ACTION_1 = 6 , OSD_PARAM_FAILSAFE_ACTION_2 = 7 , OSD_PARAM_NUM_TYPES = 8 , } impl OsdParamConfigType { pub const DEFAULT : Self = Self :: OSD_PARAM_NONE ; } impl Default for OsdParamConfigType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidHeightRef { MAV_ODID_HEIGHT_REF_OVER_TAKEOFF = 0 , MAV_ODID_HEIGHT_REF_OVER_GROUND = 1 , } impl MavOdidHeightRef { pub const DEFAULT : Self = Self :: MAV_ODID_HEIGHT_REF_OVER_TAKEOFF ; } impl Default for MavOdidHeightRef { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GoproProtuneColour { GOPRO_PROTUNE_COLOUR_STANDARD = 0 , GOPRO_PROTUNE_COLOUR_NEUTRAL = 1 , } impl GoproProtuneColour { pub const DEFAULT : Self = Self :: GOPRO_PROTUNE_COLOUR_STANDARD ; } impl Default for GoproProtuneColour { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CellularNetworkFailedReason { CELLULAR_NETWORK_FAILED_REASON_NONE = 0 , CELLULAR_NETWORK_FAILED_REASON_UNKNOWN = 1 , CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING = 2 , CELLULAR_NETWORK_FAILED_REASON_SIM_ERROR = 3 , } impl CellularNetworkFailedReason { pub const DEFAULT : Self = Self :: CELLULAR_NETWORK_FAILED_REASON_NONE ; } impl Default for CellularNetworkFailedReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum ScriptingCmd { SCRIPTING_CMD_REPL_START = 0 , SCRIPTING_CMD_REPL_STOP = 1 , SCRIPTING_CMD_STOP = 2 , SCRIPTING_CMD_STOP_AND_RESTART = 3 , } impl ScriptingCmd { pub const DEFAULT : Self = Self :: SCRIPTING_CMD_REPL_START ; } impl Default for ScriptingCmd { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_SET_ATTITUDE_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub flags : GimbalDeviceFlags , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_DEVICE_SET_ATTITUDE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , flags : GimbalDeviceFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_DEVICE_SET_ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_SET_ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 284u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_SET_ATTITUDE" ; const EXTRA_CRC : u8 = 99u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = GimbalDeviceFlags :: from_bits (tmp & GimbalDeviceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPONENT_INFORMATION_DATA { pub time_boot_ms : u32 , pub general_metadata_file_crc : u32 , pub peripherals_metadata_file_crc : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub general_metadata_uri : [u8 ; 100] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub peripherals_metadata_uri : [u8 ; 100] , } impl COMPONENT_INFORMATION_DATA { pub const ENCODED_LEN : usize = 212usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , general_metadata_file_crc : 0_u32 , peripherals_metadata_file_crc : 0_u32 , general_metadata_uri : [0_u8 ; 100usize] , peripherals_metadata_uri : [0_u8 ; 100usize] , } ; } impl Default for COMPONENT_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPONENT_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 395u32 ; const NAME : & 'static str = "COMPONENT_INFORMATION" ; const EXTRA_CRC : u8 = 0u8 ; const ENCODED_LEN : usize = 212usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . general_metadata_file_crc = buf . get_u32_le () ; __struct . peripherals_metadata_file_crc = buf . get_u32_le () ; for v in & mut __struct . general_metadata_uri { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . peripherals_metadata_uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . general_metadata_file_crc) ; __tmp . put_u32_le (self . peripherals_metadata_file_crc) ; for val in & self . general_metadata_uri { __tmp . put_u8 (* val) ; } for val in & self . peripherals_metadata_uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OSD_PARAM_CONFIG_DATA { pub request_id : u32 , pub min_value : f32 , pub max_value : f32 , pub increment : f32 , pub target_system : u8 , pub target_component : u8 , pub osd_screen : u8 , pub osd_index : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub config_type : OsdParamConfigType , } impl OSD_PARAM_CONFIG_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , min_value : 0.0_f32 , max_value : 0.0_f32 , increment : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , osd_screen : 0_u8 , osd_index : 0_u8 , param_id : [0_u8 ; 16usize] , config_type : OsdParamConfigType :: DEFAULT , } ; } impl Default for OSD_PARAM_CONFIG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OSD_PARAM_CONFIG_DATA { type Message = MavMessage ; const ID : u32 = 11033u32 ; const NAME : & 'static str = "OSD_PARAM_CONFIG" ; const EXTRA_CRC : u8 = 195u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . min_value = buf . get_f32_le () ; __struct . max_value = buf . get_f32_le () ; __struct . increment = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . osd_screen = buf . get_u8 () ; __struct . osd_index = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . config_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "OsdParamConfigType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_f32_le (self . min_value) ; __tmp . put_f32_le (self . max_value) ; __tmp . put_f32_le (self . increment) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . osd_screen) ; __tmp . put_u8 (self . osd_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . config_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : f32 , pub y : f32 , pub z : f32 , pub seq : u16 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl MISSION_ITEM_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , seq : 0_u16 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for MISSION_ITEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_DATA { type Message = MavMessage ; const ID : u32 = 39u32 ; const NAME : & 'static str = "MISSION_ITEM" ; const EXTRA_CRC : u8 = 254u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . seq = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RADIO_STATUS_DATA { pub rxerrors : u16 , pub fixed : u16 , pub rssi : u8 , pub remrssi : u8 , pub txbuf : u8 , pub noise : u8 , pub remnoise : u8 , } impl RADIO_STATUS_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { rxerrors : 0_u16 , fixed : 0_u16 , rssi : 0_u8 , remrssi : 0_u8 , txbuf : 0_u8 , noise : 0_u8 , remnoise : 0_u8 , } ; } impl Default for RADIO_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RADIO_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 109u32 ; const NAME : & 'static str = "RADIO_STATUS" ; const EXTRA_CRC : u8 = 185u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . rxerrors = buf . get_u16_le () ; __struct . fixed = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; __struct . remrssi = buf . get_u8 () ; __struct . txbuf = buf . get_u8 () ; __struct . noise = buf . get_u8 () ; __struct . remnoise = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . rxerrors) ; __tmp . put_u16_le (self . fixed) ; __tmp . put_u8 (self . rssi) ; __tmp . put_u8 (self . remrssi) ; __tmp . put_u8 (self . txbuf) ; __tmp . put_u8 (self . noise) ; __tmp . put_u8 (self . remnoise) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FLIGHT_INFORMATION_DATA { pub arming_time_utc : u64 , pub takeoff_time_utc : u64 , pub flight_uuid : u64 , pub time_boot_ms : u32 , } impl FLIGHT_INFORMATION_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { arming_time_utc : 0_u64 , takeoff_time_utc : 0_u64 , flight_uuid : 0_u64 , time_boot_ms : 0_u32 , } ; } impl Default for FLIGHT_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FLIGHT_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 264u32 ; const NAME : & 'static str = "FLIGHT_INFORMATION" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . arming_time_utc = buf . get_u64_le () ; __struct . takeoff_time_utc = buf . get_u64_le () ; __struct . flight_uuid = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . arming_time_utc) ; __tmp . put_u64_le (self . takeoff_time_utc) ; __tmp . put_u64_le (self . flight_uuid) ; __tmp . put_u32_le (self . time_boot_ms) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_RC_INPUTS_RAW_DATA { pub time_usec : u64 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub chan9_raw : u16 , pub chan10_raw : u16 , pub chan11_raw : u16 , pub chan12_raw : u16 , pub rssi : u8 , } impl HIL_RC_INPUTS_RAW_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , chan9_raw : 0_u16 , chan10_raw : 0_u16 , chan11_raw : 0_u16 , chan12_raw : 0_u16 , rssi : 0_u8 , } ; } impl Default for HIL_RC_INPUTS_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_RC_INPUTS_RAW_DATA { type Message = MavMessage ; const ID : u32 = 92u32 ; const NAME : & 'static str = "HIL_RC_INPUTS_RAW" ; const EXTRA_CRC : u8 = 54u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . chan9_raw = buf . get_u16_le () ; __struct . chan10_raw = buf . get_u16_le () ; __struct . chan11_raw = buf . get_u16_le () ; __struct . chan12_raw = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u16_le (self . chan9_raw) ; __tmp . put_u16_le (self . chan10_raw) ; __tmp . put_u16_le (self . chan11_raw) ; __tmp . put_u16_le (self . chan12_raw) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIBRATION_DATA { pub time_usec : u64 , pub vibration_x : f32 , pub vibration_y : f32 , pub vibration_z : f32 , pub clipping_0 : u32 , pub clipping_1 : u32 , pub clipping_2 : u32 , } impl VIBRATION_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , vibration_x : 0.0_f32 , vibration_y : 0.0_f32 , vibration_z : 0.0_f32 , clipping_0 : 0_u32 , clipping_1 : 0_u32 , clipping_2 : 0_u32 , } ; } impl Default for VIBRATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIBRATION_DATA { type Message = MavMessage ; const ID : u32 = 241u32 ; const NAME : & 'static str = "VIBRATION" ; const EXTRA_CRC : u8 = 90u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . vibration_x = buf . get_f32_le () ; __struct . vibration_y = buf . get_f32_le () ; __struct . vibration_z = buf . get_f32_le () ; __struct . clipping_0 = buf . get_u32_le () ; __struct . clipping_1 = buf . get_u32_le () ; __struct . clipping_2 = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . vibration_x) ; __tmp . put_f32_le (self . vibration_y) ; __tmp . put_f32_le (self . vibration_z) ; __tmp . put_u32_le (self . clipping_0) ; __tmp . put_u32_le (self . clipping_1) ; __tmp . put_u32_le (self . clipping_2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BATTERY_STATUS_DATA { pub current_consumed : i32 , pub energy_consumed : i32 , pub temperature : i16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltages : [u16 ; 10] , pub current_battery : i16 , pub id : u8 , pub battery_function : MavBatteryFunction , pub mavtype : MavBatteryType , pub battery_remaining : i8 , } impl BATTERY_STATUS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { current_consumed : 0_i32 , energy_consumed : 0_i32 , temperature : 0_i16 , voltages : [0_u16 ; 10usize] , current_battery : 0_i16 , id : 0_u8 , battery_function : MavBatteryFunction :: DEFAULT , mavtype : MavBatteryType :: DEFAULT , battery_remaining : 0_i8 , } ; } impl Default for BATTERY_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BATTERY_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 147u32 ; const NAME : & 'static str = "BATTERY_STATUS" ; const EXTRA_CRC : u8 = 154u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . current_consumed = buf . get_i32_le () ; __struct . energy_consumed = buf . get_i32_le () ; __struct . temperature = buf . get_i16_le () ; for v in & mut __struct . voltages { let val = buf . get_u16_le () ; * v = val ; } __struct . current_battery = buf . get_i16_le () ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . battery_function = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryFunction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryType" , value : tmp as u32 }) ? ; __struct . battery_remaining = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . current_consumed) ; __tmp . put_i32_le (self . energy_consumed) ; __tmp . put_i16_le (self . temperature) ; for val in & self . voltages { __tmp . put_u16_le (* val) ; } __tmp . put_i16_le (self . current_battery) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . battery_function as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_i8 (self . battery_remaining) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIND_COV_DATA { pub time_usec : u64 , pub wind_x : f32 , pub wind_y : f32 , pub wind_z : f32 , pub var_horiz : f32 , pub var_vert : f32 , pub wind_alt : f32 , pub horiz_accuracy : f32 , pub vert_accuracy : f32 , } impl WIND_COV_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , wind_x : 0.0_f32 , wind_y : 0.0_f32 , wind_z : 0.0_f32 , var_horiz : 0.0_f32 , var_vert : 0.0_f32 , wind_alt : 0.0_f32 , horiz_accuracy : 0.0_f32 , vert_accuracy : 0.0_f32 , } ; } impl Default for WIND_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIND_COV_DATA { type Message = MavMessage ; const ID : u32 = 231u32 ; const NAME : & 'static str = "WIND_COV" ; const EXTRA_CRC : u8 = 105u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . wind_x = buf . get_f32_le () ; __struct . wind_y = buf . get_f32_le () ; __struct . wind_z = buf . get_f32_le () ; __struct . var_horiz = buf . get_f32_le () ; __struct . var_vert = buf . get_f32_le () ; __struct . wind_alt = buf . get_f32_le () ; __struct . horiz_accuracy = buf . get_f32_le () ; __struct . vert_accuracy = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . wind_x) ; __tmp . put_f32_le (self . wind_y) ; __tmp . put_f32_le (self . wind_z) ; __tmp . put_f32_le (self . var_horiz) ; __tmp . put_f32_le (self . var_vert) ; __tmp . put_f32_le (self . wind_alt) ; __tmp . put_f32_le (self . horiz_accuracy) ; __tmp . put_f32_le (self . vert_accuracy) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_INFORMATION_DATA { pub time_boot_ms : u32 , pub firmware_version : u32 , pub focal_length : f32 , pub sensor_size_h : f32 , pub sensor_size_v : f32 , pub flags : CameraCapFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub cam_definition_version : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vendor_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub model_name : [u8 ; 32] , pub lens_id : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cam_definition_uri : [u8 ; 140] , } impl CAMERA_INFORMATION_DATA { pub const ENCODED_LEN : usize = 235usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , firmware_version : 0_u32 , focal_length : 0.0_f32 , sensor_size_h : 0.0_f32 , sensor_size_v : 0.0_f32 , flags : CameraCapFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , cam_definition_version : 0_u16 , vendor_name : [0_u8 ; 32usize] , model_name : [0_u8 ; 32usize] , lens_id : 0_u8 , cam_definition_uri : [0_u8 ; 140usize] , } ; } impl Default for CAMERA_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 259u32 ; const NAME : & 'static str = "CAMERA_INFORMATION" ; const EXTRA_CRC : u8 = 92u8 ; const ENCODED_LEN : usize = 235usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . firmware_version = buf . get_u32_le () ; __struct . focal_length = buf . get_f32_le () ; __struct . sensor_size_h = buf . get_f32_le () ; __struct . sensor_size_v = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . flags = CameraCapFlags :: from_bits (tmp & CameraCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "CameraCapFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . cam_definition_version = buf . get_u16_le () ; for v in & mut __struct . vendor_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . model_name { let val = buf . get_u8 () ; * v = val ; } __struct . lens_id = buf . get_u8 () ; for v in & mut __struct . cam_definition_uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . firmware_version) ; __tmp . put_f32_le (self . focal_length) ; __tmp . put_f32_le (self . sensor_size_h) ; __tmp . put_f32_le (self . sensor_size_v) ; __tmp . put_u32_le (self . flags . bits ()) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . cam_definition_version) ; for val in & self . vendor_name { __tmp . put_u8 (* val) ; } for val in & self . model_name { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . lens_id) ; for val in & self . cam_definition_uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_IMU_DATA { pub time_usec : u64 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl RAW_IMU_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for RAW_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_IMU_DATA { type Message = MavMessage ; const ID : u32 = 27u32 ; const NAME : & 'static str = "RAW_IMU" ; const EXTRA_CRC : u8 = 144u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RTK_DATA { pub time_last_baseline_ms : u32 , pub tow : u32 , pub baseline_a_mm : i32 , pub baseline_b_mm : i32 , pub baseline_c_mm : i32 , pub accuracy : u32 , pub iar_num_hypotheses : i32 , pub wn : u16 , pub rtk_receiver_id : u8 , pub rtk_health : u8 , pub rtk_rate : u8 , pub nsats : u8 , pub baseline_coords_type : RtkBaselineCoordinateSystem , } impl GPS_RTK_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_last_baseline_ms : 0_u32 , tow : 0_u32 , baseline_a_mm : 0_i32 , baseline_b_mm : 0_i32 , baseline_c_mm : 0_i32 , accuracy : 0_u32 , iar_num_hypotheses : 0_i32 , wn : 0_u16 , rtk_receiver_id : 0_u8 , rtk_health : 0_u8 , rtk_rate : 0_u8 , nsats : 0_u8 , baseline_coords_type : RtkBaselineCoordinateSystem :: DEFAULT , } ; } impl Default for GPS_RTK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RTK_DATA { type Message = MavMessage ; const ID : u32 = 127u32 ; const NAME : & 'static str = "GPS_RTK" ; const EXTRA_CRC : u8 = 25u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_last_baseline_ms = buf . get_u32_le () ; __struct . tow = buf . get_u32_le () ; __struct . baseline_a_mm = buf . get_i32_le () ; __struct . baseline_b_mm = buf . get_i32_le () ; __struct . baseline_c_mm = buf . get_i32_le () ; __struct . accuracy = buf . get_u32_le () ; __struct . iar_num_hypotheses = buf . get_i32_le () ; __struct . wn = buf . get_u16_le () ; __struct . rtk_receiver_id = buf . get_u8 () ; __struct . rtk_health = buf . get_u8 () ; __struct . rtk_rate = buf . get_u8 () ; __struct . nsats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . baseline_coords_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "RtkBaselineCoordinateSystem" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_last_baseline_ms) ; __tmp . put_u32_le (self . tow) ; __tmp . put_i32_le (self . baseline_a_mm) ; __tmp . put_i32_le (self . baseline_b_mm) ; __tmp . put_i32_le (self . baseline_c_mm) ; __tmp . put_u32_le (self . accuracy) ; __tmp . put_i32_le (self . iar_num_hypotheses) ; __tmp . put_u16_le (self . wn) ; __tmp . put_u8 (self . rtk_receiver_id) ; __tmp . put_u8 (self . rtk_health) ; __tmp . put_u8 (self . rtk_rate) ; __tmp . put_u8 (self . nsats) ; __tmp . put_u8 (self . baseline_coords_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_RPM_DATA { pub frequency : f32 , pub index : u8 , } impl RAW_RPM_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { frequency : 0.0_f32 , index : 0_u8 , } ; } impl Default for RAW_RPM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_RPM_DATA { type Message = MavMessage ; const ID : u32 = 339u32 ; const NAME : & 'static str = "RAW_RPM" ; const EXTRA_CRC : u8 = 199u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . frequency = buf . get_f32_le () ; __struct . index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . frequency) ; __tmp . put_u8 (self . index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_CHECK_DATA { pub lat : i32 , pub lon : i32 , } impl TERRAIN_CHECK_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , } ; } impl Default for TERRAIN_CHECK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_CHECK_DATA { type Message = MavMessage ; const ID : u32 = 135u32 ; const NAME : & 'static str = "TERRAIN_CHECK" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REQUEST_EVENT_DATA { pub first_sequence : u16 , pub last_sequence : u16 , pub target_system : u8 , pub target_component : u8 , } impl REQUEST_EVENT_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { first_sequence : 0_u16 , last_sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for REQUEST_EVENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REQUEST_EVENT_DATA { type Message = MavMessage ; const ID : u32 = 412u32 ; const NAME : & 'static str = "REQUEST_EVENT" ; const EXTRA_CRC : u8 = 33u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . first_sequence = buf . get_u16_le () ; __struct . last_sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . first_sequence) ; __tmp . put_u16_le (self . last_sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REQUEST_DATA_STREAM_DATA { pub req_message_rate : u16 , pub target_system : u8 , pub target_component : u8 , pub req_stream_id : u8 , pub start_stop : u8 , } impl REQUEST_DATA_STREAM_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { req_message_rate : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , req_stream_id : 0_u8 , start_stop : 0_u8 , } ; } impl Default for REQUEST_DATA_STREAM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REQUEST_DATA_STREAM_DATA { type Message = MavMessage ; const ID : u32 = 66u32 ; const NAME : & 'static str = "REQUEST_DATA_STREAM" ; const EXTRA_CRC : u8 = 148u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . req_message_rate = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . req_stream_id = buf . get_u8 () ; __struct . start_stop = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . req_message_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . req_stream_id) ; __tmp . put_u8 (self . start_stop) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HWSTATUS_DATA { pub Vcc : u16 , pub I2Cerr : u8 , } impl HWSTATUS_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { Vcc : 0_u16 , I2Cerr : 0_u8 , } ; } impl Default for HWSTATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HWSTATUS_DATA { type Message = MavMessage ; const ID : u32 = 165u32 ; const NAME : & 'static str = "HWSTATUS" ; const EXTRA_CRC : u8 = 21u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . Vcc = buf . get_u16_le () ; __struct . I2Cerr = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . Vcc) ; __tmp . put_u8 (self . I2Cerr) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FOLLOW_TARGET_DATA { pub timestamp : u64 , pub custom_state : u64 , pub lat : i32 , pub lon : i32 , pub alt : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub attitude_q : [f32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rates : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub position_cov : [f32 ; 3] , pub est_capabilities : u8 , } impl FOLLOW_TARGET_DATA { pub const ENCODED_LEN : usize = 93usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , custom_state : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , vel : [0.0_f32 ; 3usize] , acc : [0.0_f32 ; 3usize] , attitude_q : [0.0_f32 ; 4usize] , rates : [0.0_f32 ; 3usize] , position_cov : [0.0_f32 ; 3usize] , est_capabilities : 0_u8 , } ; } impl Default for FOLLOW_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FOLLOW_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 144u32 ; const NAME : & 'static str = "FOLLOW_TARGET" ; const EXTRA_CRC : u8 = 127u8 ; const ENCODED_LEN : usize = 93usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . custom_state = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; for v in & mut __struct . vel { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . attitude_q { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . rates { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . position_cov { let val = buf . get_f32_le () ; * v = val ; } __struct . est_capabilities = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u64_le (self . custom_state) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; for val in & self . vel { __tmp . put_f32_le (* val) ; } for val in & self . acc { __tmp . put_f32_le (* val) ; } for val in & self . attitude_q { __tmp . put_f32_le (* val) ; } for val in & self . rates { __tmp . put_f32_le (* val) ; } for val in & self . position_cov { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . est_capabilities) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_POSITION_INT_COV_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 36] , pub estimator_type : MavEstimatorType , } impl GLOBAL_POSITION_INT_COV_DATA { pub const ENCODED_LEN : usize = 181usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , covariance : [0.0_f32 ; 36usize] , estimator_type : MavEstimatorType :: DEFAULT , } ; } impl Default for GLOBAL_POSITION_INT_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_POSITION_INT_COV_DATA { type Message = MavMessage ; const ID : u32 = 63u32 ; const NAME : & 'static str = "GLOBAL_POSITION_INT_COV" ; const EXTRA_CRC : u8 = 119u8 ; const ENCODED_LEN : usize = 181usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . estimator_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEstimatorType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . estimator_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVCAN_NODE_INFO_DATA { pub time_usec : u64 , pub uptime_sec : u32 , pub sw_vcs_commit : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 80] , pub hw_version_major : u8 , pub hw_version_minor : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub hw_unique_id : [u8 ; 16] , pub sw_version_major : u8 , pub sw_version_minor : u8 , } impl UAVCAN_NODE_INFO_DATA { pub const ENCODED_LEN : usize = 116usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime_sec : 0_u32 , sw_vcs_commit : 0_u32 , name : [0_u8 ; 80usize] , hw_version_major : 0_u8 , hw_version_minor : 0_u8 , hw_unique_id : [0_u8 ; 16usize] , sw_version_major : 0_u8 , sw_version_minor : 0_u8 , } ; } impl Default for UAVCAN_NODE_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVCAN_NODE_INFO_DATA { type Message = MavMessage ; const ID : u32 = 311u32 ; const NAME : & 'static str = "UAVCAN_NODE_INFO" ; const EXTRA_CRC : u8 = 95u8 ; const ENCODED_LEN : usize = 116usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime_sec = buf . get_u32_le () ; __struct . sw_vcs_commit = buf . get_u32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } __struct . hw_version_major = buf . get_u8 () ; __struct . hw_version_minor = buf . get_u8 () ; for v in & mut __struct . hw_unique_id { let val = buf . get_u8 () ; * v = val ; } __struct . sw_version_major = buf . get_u8 () ; __struct . sw_version_minor = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime_sec) ; __tmp . put_u32_le (self . sw_vcs_commit) ; for val in & self . name { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . hw_version_major) ; __tmp . put_u8 (self . hw_version_minor) ; for val in & self . hw_unique_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . sw_version_major) ; __tmp . put_u8 (self . sw_version_minor) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AOA_SSA_DATA { pub time_usec : u64 , pub AOA : f32 , pub SSA : f32 , } impl AOA_SSA_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , AOA : 0.0_f32 , SSA : 0.0_f32 , } ; } impl Default for AOA_SSA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AOA_SSA_DATA { type Message = MavMessage ; const ID : u32 = 11020u32 ; const NAME : & 'static str = "AOA_SSA" ; const EXTRA_CRC : u8 = 205u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . AOA = buf . get_f32_le () ; __struct . SSA = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . AOA) ; __tmp . put_f32_le (self . SSA) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ISBD_LINK_STATUS_DATA { pub timestamp : u64 , pub last_heartbeat : u64 , pub failed_sessions : u16 , pub successful_sessions : u16 , pub signal_quality : u8 , pub ring_pending : u8 , pub tx_session_pending : u8 , pub rx_session_pending : u8 , } impl ISBD_LINK_STATUS_DATA { pub const ENCODED_LEN : usize = 24usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , last_heartbeat : 0_u64 , failed_sessions : 0_u16 , successful_sessions : 0_u16 , signal_quality : 0_u8 , ring_pending : 0_u8 , tx_session_pending : 0_u8 , rx_session_pending : 0_u8 , } ; } impl Default for ISBD_LINK_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ISBD_LINK_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 335u32 ; const NAME : & 'static str = "ISBD_LINK_STATUS" ; const EXTRA_CRC : u8 = 225u8 ; const ENCODED_LEN : usize = 24usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . last_heartbeat = buf . get_u64_le () ; __struct . failed_sessions = buf . get_u16_le () ; __struct . successful_sessions = buf . get_u16_le () ; __struct . signal_quality = buf . get_u8 () ; __struct . ring_pending = buf . get_u8 () ; __struct . tx_session_pending = buf . get_u8 () ; __struct . rx_session_pending = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u64_le (self . last_heartbeat) ; __tmp . put_u16_le (self . failed_sessions) ; __tmp . put_u16_le (self . successful_sessions) ; __tmp . put_u8 (self . signal_quality) ; __tmp . put_u8 (self . ring_pending) ; __tmp . put_u8 (self . tx_session_pending) ; __tmp . put_u8 (self . rx_session_pending) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LED_CONTROL_DATA { pub target_system : u8 , pub target_component : u8 , pub instance : u8 , pub pattern : u8 , pub custom_len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub custom_bytes : [u8 ; 24] , } impl LED_CONTROL_DATA { pub const ENCODED_LEN : usize = 29usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , instance : 0_u8 , pattern : 0_u8 , custom_len : 0_u8 , custom_bytes : [0_u8 ; 24usize] , } ; } impl Default for LED_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LED_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 186u32 ; const NAME : & 'static str = "LED_CONTROL" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 29usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . instance = buf . get_u8 () ; __struct . pattern = buf . get_u8 () ; __struct . custom_len = buf . get_u8 () ; for v in & mut __struct . custom_bytes { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . instance) ; __tmp . put_u8 (self . pattern) ; __tmp . put_u8 (self . custom_len) ; for val in & self . custom_bytes { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIFI_CONFIG_AP_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub ssid : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub password : [u8 ; 64] , } impl WIFI_CONFIG_AP_DATA { pub const ENCODED_LEN : usize = 96usize ; pub const DEFAULT : Self = Self { ssid : [0_u8 ; 32usize] , password : [0_u8 ; 64usize] , } ; } impl Default for WIFI_CONFIG_AP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIFI_CONFIG_AP_DATA { type Message = MavMessage ; const ID : u32 = 299u32 ; const NAME : & 'static str = "WIFI_CONFIG_AP" ; const EXTRA_CRC : u8 = 19u8 ; const ENCODED_LEN : usize = 96usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . ssid { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . password { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . ssid { __tmp . put_u8 (* val) ; } for val in & self . password { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVIONIX_ADSB_OUT_DYNAMIC_DATA { pub utcTime : u32 , pub gpsLat : i32 , pub gpsLon : i32 , pub gpsAlt : i32 , pub baroAltMSL : i32 , pub accuracyHor : u32 , pub accuracyVert : u16 , pub accuracyVel : u16 , pub velVert : i16 , pub velNS : i16 , pub VelEW : i16 , pub state : UavionixAdsbOutDynamicState , pub squawk : u16 , pub gpsFix : UavionixAdsbOutDynamicGpsFix , pub numSats : u8 , pub emergencyStatus : UavionixAdsbEmergencyStatus , } impl UAVIONIX_ADSB_OUT_DYNAMIC_DATA { pub const ENCODED_LEN : usize = 41usize ; pub const DEFAULT : Self = Self { utcTime : 0_u32 , gpsLat : 0_i32 , gpsLon : 0_i32 , gpsAlt : 0_i32 , baroAltMSL : 0_i32 , accuracyHor : 0_u32 , accuracyVert : 0_u16 , accuracyVel : 0_u16 , velVert : 0_i16 , velNS : 0_i16 , VelEW : 0_i16 , state : UavionixAdsbOutDynamicState :: DEFAULT , squawk : 0_u16 , gpsFix : UavionixAdsbOutDynamicGpsFix :: DEFAULT , numSats : 0_u8 , emergencyStatus : UavionixAdsbEmergencyStatus :: DEFAULT , } ; } impl Default for UAVIONIX_ADSB_OUT_DYNAMIC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVIONIX_ADSB_OUT_DYNAMIC_DATA { type Message = MavMessage ; const ID : u32 = 10002u32 ; const NAME : & 'static str = "UAVIONIX_ADSB_OUT_DYNAMIC" ; const EXTRA_CRC : u8 = 186u8 ; const ENCODED_LEN : usize = 41usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . utcTime = buf . get_u32_le () ; __struct . gpsLat = buf . get_i32_le () ; __struct . gpsLon = buf . get_i32_le () ; __struct . gpsAlt = buf . get_i32_le () ; __struct . baroAltMSL = buf . get_i32_le () ; __struct . accuracyHor = buf . get_u32_le () ; __struct . accuracyVert = buf . get_u16_le () ; __struct . accuracyVel = buf . get_u16_le () ; __struct . velVert = buf . get_i16_le () ; __struct . velNS = buf . get_i16_le () ; __struct . VelEW = buf . get_i16_le () ; let tmp = buf . get_u16_le () ; __struct . state = UavionixAdsbOutDynamicState :: from_bits (tmp & UavionixAdsbOutDynamicState :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UavionixAdsbOutDynamicState" , value : tmp as u32 }) ? ; __struct . squawk = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . gpsFix = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutDynamicGpsFix" , value : tmp as u32 }) ? ; __struct . numSats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . emergencyStatus = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbEmergencyStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . utcTime) ; __tmp . put_i32_le (self . gpsLat) ; __tmp . put_i32_le (self . gpsLon) ; __tmp . put_i32_le (self . gpsAlt) ; __tmp . put_i32_le (self . baroAltMSL) ; __tmp . put_u32_le (self . accuracyHor) ; __tmp . put_u16_le (self . accuracyVert) ; __tmp . put_u16_le (self . accuracyVel) ; __tmp . put_i16_le (self . velVert) ; __tmp . put_i16_le (self . velNS) ; __tmp . put_i16_le (self . VelEW) ; __tmp . put_u16_le (self . state . bits ()) ; __tmp . put_u16_le (self . squawk) ; __tmp . put_u8 (self . gpsFix as u8) ; __tmp . put_u8 (self . numSats) ; __tmp . put_u8 (self . emergencyStatus as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EKF_STATUS_REPORT_DATA { pub velocity_variance : f32 , pub pos_horiz_variance : f32 , pub pos_vert_variance : f32 , pub compass_variance : f32 , pub terrain_alt_variance : f32 , pub flags : EkfStatusFlags , } impl EKF_STATUS_REPORT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { velocity_variance : 0.0_f32 , pos_horiz_variance : 0.0_f32 , pos_vert_variance : 0.0_f32 , compass_variance : 0.0_f32 , terrain_alt_variance : 0.0_f32 , flags : EkfStatusFlags :: DEFAULT , } ; } impl Default for EKF_STATUS_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EKF_STATUS_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 193u32 ; const NAME : & 'static str = "EKF_STATUS_REPORT" ; const EXTRA_CRC : u8 = 71u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . velocity_variance = buf . get_f32_le () ; __struct . pos_horiz_variance = buf . get_f32_le () ; __struct . pos_vert_variance = buf . get_f32_le () ; __struct . compass_variance = buf . get_f32_le () ; __struct . terrain_alt_variance = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = EkfStatusFlags :: from_bits (tmp & EkfStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EkfStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . velocity_variance) ; __tmp . put_f32_le (self . pos_horiz_variance) ; __tmp . put_f32_le (self . pos_vert_variance) ; __tmp . put_f32_le (self . compass_variance) ; __tmp . put_f32_le (self . terrain_alt_variance) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_ARM_STATUS_DATA { pub status : MavOdidArmStatus , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub error : [u8 ; 50] , } impl OPEN_DRONE_ID_ARM_STATUS_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { status : MavOdidArmStatus :: DEFAULT , error : [0_u8 ; 50usize] , } ; } impl Default for OPEN_DRONE_ID_ARM_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_ARM_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 12918u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_ARM_STATUS" ; const EXTRA_CRC : u8 = 139u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidArmStatus" , value : tmp as u32 }) ? ; for v in & mut __struct . error { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . status as u8) ; for val in & self . error { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_REPORT_DATA { pub delta_time : f32 , pub delta_angle_x : f32 , pub delta_angle_y : f32 , pub delta_angle_z : f32 , pub delta_velocity_x : f32 , pub delta_velocity_y : f32 , pub delta_velocity_z : f32 , pub joint_roll : f32 , pub joint_el : f32 , pub joint_az : f32 , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_REPORT_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { delta_time : 0.0_f32 , delta_angle_x : 0.0_f32 , delta_angle_y : 0.0_f32 , delta_angle_z : 0.0_f32 , delta_velocity_x : 0.0_f32 , delta_velocity_y : 0.0_f32 , delta_velocity_z : 0.0_f32 , joint_roll : 0.0_f32 , joint_el : 0.0_f32 , joint_az : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 200u32 ; const NAME : & 'static str = "GIMBAL_REPORT" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . delta_time = buf . get_f32_le () ; __struct . delta_angle_x = buf . get_f32_le () ; __struct . delta_angle_y = buf . get_f32_le () ; __struct . delta_angle_z = buf . get_f32_le () ; __struct . delta_velocity_x = buf . get_f32_le () ; __struct . delta_velocity_y = buf . get_f32_le () ; __struct . delta_velocity_z = buf . get_f32_le () ; __struct . joint_roll = buf . get_f32_le () ; __struct . joint_el = buf . get_f32_le () ; __struct . joint_az = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . delta_time) ; __tmp . put_f32_le (self . delta_angle_x) ; __tmp . put_f32_le (self . delta_angle_y) ; __tmp . put_f32_le (self . delta_angle_z) ; __tmp . put_f32_le (self . delta_velocity_x) ; __tmp . put_f32_le (self . delta_velocity_y) ; __tmp . put_f32_le (self . delta_velocity_z) ; __tmp . put_f32_le (self . joint_roll) ; __tmp . put_f32_le (self . joint_el) ; __tmp . put_f32_le (self . joint_az) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SYS_STATUS_DATA { pub onboard_control_sensors_present : MavSysStatusSensor , pub onboard_control_sensors_enabled : MavSysStatusSensor , pub onboard_control_sensors_health : MavSysStatusSensor , pub load : u16 , pub voltage_battery : u16 , pub current_battery : i16 , pub drop_rate_comm : u16 , pub errors_comm : u16 , pub errors_count1 : u16 , pub errors_count2 : u16 , pub errors_count3 : u16 , pub errors_count4 : u16 , pub battery_remaining : i8 , } impl SYS_STATUS_DATA { pub const ENCODED_LEN : usize = 31usize ; pub const DEFAULT : Self = Self { onboard_control_sensors_present : MavSysStatusSensor :: DEFAULT , onboard_control_sensors_enabled : MavSysStatusSensor :: DEFAULT , onboard_control_sensors_health : MavSysStatusSensor :: DEFAULT , load : 0_u16 , voltage_battery : 0_u16 , current_battery : 0_i16 , drop_rate_comm : 0_u16 , errors_comm : 0_u16 , errors_count1 : 0_u16 , errors_count2 : 0_u16 , errors_count3 : 0_u16 , errors_count4 : 0_u16 , battery_remaining : 0_i8 , } ; } impl Default for SYS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SYS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 1u32 ; const NAME : & 'static str = "SYS_STATUS" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 31usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_present = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_enabled = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_health = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; __struct . load = buf . get_u16_le () ; __struct . voltage_battery = buf . get_u16_le () ; __struct . current_battery = buf . get_i16_le () ; __struct . drop_rate_comm = buf . get_u16_le () ; __struct . errors_comm = buf . get_u16_le () ; __struct . errors_count1 = buf . get_u16_le () ; __struct . errors_count2 = buf . get_u16_le () ; __struct . errors_count3 = buf . get_u16_le () ; __struct . errors_count4 = buf . get_u16_le () ; __struct . battery_remaining = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . onboard_control_sensors_present . bits ()) ; __tmp . put_u32_le (self . onboard_control_sensors_enabled . bits ()) ; __tmp . put_u32_le (self . onboard_control_sensors_health . bits ()) ; __tmp . put_u16_le (self . load) ; __tmp . put_u16_le (self . voltage_battery) ; __tmp . put_i16_le (self . current_battery) ; __tmp . put_u16_le (self . drop_rate_comm) ; __tmp . put_u16_le (self . errors_comm) ; __tmp . put_u16_le (self . errors_count1) ; __tmp . put_u16_le (self . errors_count2) ; __tmp . put_u16_le (self . errors_count3) ; __tmp . put_u16_le (self . errors_count4) ; __tmp . put_i8 (self . battery_remaining) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MAG_CAL_PROGRESS_DATA { pub direction_x : f32 , pub direction_y : f32 , pub direction_z : f32 , pub compass_id : u8 , pub cal_mask : u8 , pub cal_status : MagCalStatus , pub attempt : u8 , pub completion_pct : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub completion_mask : [u8 ; 10] , } impl MAG_CAL_PROGRESS_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { direction_x : 0.0_f32 , direction_y : 0.0_f32 , direction_z : 0.0_f32 , compass_id : 0_u8 , cal_mask : 0_u8 , cal_status : MagCalStatus :: DEFAULT , attempt : 0_u8 , completion_pct : 0_u8 , completion_mask : [0_u8 ; 10usize] , } ; } impl Default for MAG_CAL_PROGRESS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MAG_CAL_PROGRESS_DATA { type Message = MavMessage ; const ID : u32 = 191u32 ; const NAME : & 'static str = "MAG_CAL_PROGRESS" ; const EXTRA_CRC : u8 = 92u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . direction_x = buf . get_f32_le () ; __struct . direction_y = buf . get_f32_le () ; __struct . direction_z = buf . get_f32_le () ; __struct . compass_id = buf . get_u8 () ; __struct . cal_mask = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . cal_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MagCalStatus" , value : tmp as u32 }) ? ; __struct . attempt = buf . get_u8 () ; __struct . completion_pct = buf . get_u8 () ; for v in & mut __struct . completion_mask { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . direction_x) ; __tmp . put_f32_le (self . direction_y) ; __tmp . put_f32_le (self . direction_z) ; __tmp . put_u8 (self . compass_id) ; __tmp . put_u8 (self . cal_mask) ; __tmp . put_u8 (self . cal_status as u8) ; __tmp . put_u8 (self . attempt) ; __tmp . put_u8 (self . completion_pct) ; for val in & self . completion_mask { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FILE_TRANSFER_PROTOCOL_DATA { pub target_network : u8 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 251] , } impl FILE_TRANSFER_PROTOCOL_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { target_network : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , payload : [0_u8 ; 251usize] , } ; } impl Default for FILE_TRANSFER_PROTOCOL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FILE_TRANSFER_PROTOCOL_DATA { type Message = MavMessage ; const ID : u32 = 110u32 ; const NAME : & 'static str = "FILE_TRANSFER_PROTOCOL" ; const EXTRA_CRC : u8 = 84u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_network = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_network) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PID_TUNING_DATA { pub desired : f32 , pub achieved : f32 , pub FF : f32 , pub P : f32 , pub I : f32 , pub D : f32 , pub axis : PidTuningAxis , } impl PID_TUNING_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { desired : 0.0_f32 , achieved : 0.0_f32 , FF : 0.0_f32 , P : 0.0_f32 , I : 0.0_f32 , D : 0.0_f32 , axis : PidTuningAxis :: DEFAULT , } ; } impl Default for PID_TUNING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PID_TUNING_DATA { type Message = MavMessage ; const ID : u32 = 194u32 ; const NAME : & 'static str = "PID_TUNING" ; const EXTRA_CRC : u8 = 98u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . desired = buf . get_f32_le () ; __struct . achieved = buf . get_f32_le () ; __struct . FF = buf . get_f32_le () ; __struct . P = buf . get_f32_le () ; __struct . I = buf . get_f32_le () ; __struct . D = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . axis = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "PidTuningAxis" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . desired) ; __tmp . put_f32_le (self . achieved) ; __tmp . put_f32_le (self . FF) ; __tmp . put_f32_le (self . P) ; __tmp . put_f32_le (self . I) ; __tmp . put_f32_le (self . D) ; __tmp . put_u8 (self . axis as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_CONTROLS_DATA { pub time_usec : u64 , pub roll_ailerons : f32 , pub pitch_elevator : f32 , pub yaw_rudder : f32 , pub throttle : f32 , pub aux1 : f32 , pub aux2 : f32 , pub aux3 : f32 , pub aux4 : f32 , pub mode : MavMode , pub nav_mode : u8 , } impl HIL_CONTROLS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , roll_ailerons : 0.0_f32 , pitch_elevator : 0.0_f32 , yaw_rudder : 0.0_f32 , throttle : 0.0_f32 , aux1 : 0.0_f32 , aux2 : 0.0_f32 , aux3 : 0.0_f32 , aux4 : 0.0_f32 , mode : MavMode :: DEFAULT , nav_mode : 0_u8 , } ; } impl Default for HIL_CONTROLS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_CONTROLS_DATA { type Message = MavMessage ; const ID : u32 = 91u32 ; const NAME : & 'static str = "HIL_CONTROLS" ; const EXTRA_CRC : u8 = 63u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . roll_ailerons = buf . get_f32_le () ; __struct . pitch_elevator = buf . get_f32_le () ; __struct . yaw_rudder = buf . get_f32_le () ; __struct . throttle = buf . get_f32_le () ; __struct . aux1 = buf . get_f32_le () ; __struct . aux2 = buf . get_f32_le () ; __struct . aux3 = buf . get_f32_le () ; __struct . aux4 = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMode" , value : tmp as u32 }) ? ; __struct . nav_mode = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . roll_ailerons) ; __tmp . put_f32_le (self . pitch_elevator) ; __tmp . put_f32_le (self . yaw_rudder) ; __tmp . put_f32_le (self . throttle) ; __tmp . put_f32_le (self . aux1) ; __tmp . put_f32_le (self . aux2) ; __tmp . put_f32_le (self . aux3) ; __tmp . put_f32_le (self . aux4) ; __tmp . put_u8 (self . mode as u8) ; __tmp . put_u8 (self . nav_mode) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { pub operator_latitude : i32 , pub operator_longitude : i32 , pub operator_altitude_geo : f32 , pub timestamp : u32 , pub target_system : u8 , pub target_component : u8 , } impl OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { operator_latitude : 0_i32 , operator_longitude : 0_i32 , operator_altitude_geo : 0.0_f32 , timestamp : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { type Message = MavMessage ; const ID : u32 = 12919u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SYSTEM_UPDATE" ; const EXTRA_CRC : u8 = 7u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . operator_latitude = buf . get_i32_le () ; __struct . operator_longitude = buf . get_i32_le () ; __struct . operator_altitude_geo = buf . get_f32_le () ; __struct . timestamp = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . operator_latitude) ; __tmp . put_i32_le (self . operator_longitude) ; __tmp . put_f32_le (self . operator_altitude_geo) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAN_FRAME_DATA { pub id : u32 , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 8] , } impl CAN_FRAME_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , len : 0_u8 , data : [0_u8 ; 8usize] , } ; } impl Default for CAN_FRAME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAN_FRAME_DATA { type Message = MavMessage ; const ID : u32 = 386u32 ; const NAME : & 'static str = "CAN_FRAME" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRACKING_GEO_STATUS_DATA { pub lat : i32 , pub lon : i32 , pub alt : f32 , pub h_acc : f32 , pub v_acc : f32 , pub vel_n : f32 , pub vel_e : f32 , pub vel_d : f32 , pub vel_acc : f32 , pub dist : f32 , pub hdg : f32 , pub hdg_acc : f32 , pub tracking_status : CameraTrackingStatusFlags , } impl CAMERA_TRACKING_GEO_STATUS_DATA { pub const ENCODED_LEN : usize = 49usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , h_acc : 0.0_f32 , v_acc : 0.0_f32 , vel_n : 0.0_f32 , vel_e : 0.0_f32 , vel_d : 0.0_f32 , vel_acc : 0.0_f32 , dist : 0.0_f32 , hdg : 0.0_f32 , hdg_acc : 0.0_f32 , tracking_status : CameraTrackingStatusFlags :: DEFAULT , } ; } impl Default for CAMERA_TRACKING_GEO_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRACKING_GEO_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 276u32 ; const NAME : & 'static str = "CAMERA_TRACKING_GEO_STATUS" ; const EXTRA_CRC : u8 = 18u8 ; const ENCODED_LEN : usize = 49usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . h_acc = buf . get_f32_le () ; __struct . v_acc = buf . get_f32_le () ; __struct . vel_n = buf . get_f32_le () ; __struct . vel_e = buf . get_f32_le () ; __struct . vel_d = buf . get_f32_le () ; __struct . vel_acc = buf . get_f32_le () ; __struct . dist = buf . get_f32_le () ; __struct . hdg = buf . get_f32_le () ; __struct . hdg_acc = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . tracking_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . h_acc) ; __tmp . put_f32_le (self . v_acc) ; __tmp . put_f32_le (self . vel_n) ; __tmp . put_f32_le (self . vel_e) ; __tmp . put_f32_le (self . vel_d) ; __tmp . put_f32_le (self . vel_acc) ; __tmp . put_f32_le (self . dist) ; __tmp . put_f32_le (self . hdg) ; __tmp . put_f32_le (self . hdg_acc) ; __tmp . put_u8 (self . tracking_status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_QUATERNION_COV_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 9] , } impl ATTITUDE_QUATERNION_COV_DATA { pub const ENCODED_LEN : usize = 72usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , q : [0.0_f32 ; 4usize] , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , covariance : [0.0_f32 ; 9usize] , } ; } impl Default for ATTITUDE_QUATERNION_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_QUATERNION_COV_DATA { type Message = MavMessage ; const ID : u32 = 61u32 ; const NAME : & 'static str = "ATTITUDE_QUATERNION_COV" ; const EXTRA_CRC : u8 = 167u8 ; const ENCODED_LEN : usize = 72usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_MAG_OFFSETS_DATA { pub mag_ofs_x : i16 , pub mag_ofs_y : i16 , pub mag_ofs_z : i16 , pub target_system : u8 , pub target_component : u8 , } impl SET_MAG_OFFSETS_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { mag_ofs_x : 0_i16 , mag_ofs_y : 0_i16 , mag_ofs_z : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SET_MAG_OFFSETS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_MAG_OFFSETS_DATA { type Message = MavMessage ; const ID : u32 = 151u32 ; const NAME : & 'static str = "SET_MAG_OFFSETS" ; const EXTRA_CRC : u8 = 219u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mag_ofs_x = buf . get_i16_le () ; __struct . mag_ofs_y = buf . get_i16_le () ; __struct . mag_ofs_z = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . mag_ofs_x) ; __tmp . put_i16_le (self . mag_ofs_y) ; __tmp . put_i16_le (self . mag_ofs_z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_SPEED_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , } impl VISION_SPEED_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , } ; } impl Default for VISION_SPEED_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_SPEED_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 103u32 ; const NAME : & 'static str = "VISION_SPEED_ESTIMATE" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MOUNT_CONTROL_DATA { pub input_a : i32 , pub input_b : i32 , pub input_c : i32 , pub target_system : u8 , pub target_component : u8 , pub save_position : u8 , } impl MOUNT_CONTROL_DATA { pub const ENCODED_LEN : usize = 15usize ; pub const DEFAULT : Self = Self { input_a : 0_i32 , input_b : 0_i32 , input_c : 0_i32 , target_system : 0_u8 , target_component : 0_u8 , save_position : 0_u8 , } ; } impl Default for MOUNT_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MOUNT_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 157u32 ; const NAME : & 'static str = "MOUNT_CONTROL" ; const EXTRA_CRC : u8 = 21u8 ; const ENCODED_LEN : usize = 15usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . input_a = buf . get_i32_le () ; __struct . input_b = buf . get_i32_le () ; __struct . input_c = buf . get_i32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . save_position = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . input_a) ; __tmp . put_i32_le (self . input_b) ; __tmp . put_i32_le (self . input_c) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . save_position) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEEPSTALL_DATA { pub landing_lat : i32 , pub landing_lon : i32 , pub path_lat : i32 , pub path_lon : i32 , pub arc_entry_lat : i32 , pub arc_entry_lon : i32 , pub altitude : f32 , pub expected_travel_distance : f32 , pub cross_track_error : f32 , pub stage : DeepstallStage , } impl DEEPSTALL_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { landing_lat : 0_i32 , landing_lon : 0_i32 , path_lat : 0_i32 , path_lon : 0_i32 , arc_entry_lat : 0_i32 , arc_entry_lon : 0_i32 , altitude : 0.0_f32 , expected_travel_distance : 0.0_f32 , cross_track_error : 0.0_f32 , stage : DeepstallStage :: DEFAULT , } ; } impl Default for DEEPSTALL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEEPSTALL_DATA { type Message = MavMessage ; const ID : u32 = 195u32 ; const NAME : & 'static str = "DEEPSTALL" ; const EXTRA_CRC : u8 = 120u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . landing_lat = buf . get_i32_le () ; __struct . landing_lon = buf . get_i32_le () ; __struct . path_lat = buf . get_i32_le () ; __struct . path_lon = buf . get_i32_le () ; __struct . arc_entry_lat = buf . get_i32_le () ; __struct . arc_entry_lon = buf . get_i32_le () ; __struct . altitude = buf . get_f32_le () ; __struct . expected_travel_distance = buf . get_f32_le () ; __struct . cross_track_error = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . stage = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "DeepstallStage" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . landing_lat) ; __tmp . put_i32_le (self . landing_lon) ; __tmp . put_i32_le (self . path_lat) ; __tmp . put_i32_le (self . path_lon) ; __tmp . put_i32_le (self . arc_entry_lat) ; __tmp . put_i32_le (self . arc_entry_lon) ; __tmp . put_f32_le (self . altitude) ; __tmp . put_f32_le (self . expected_travel_distance) ; __tmp . put_f32_le (self . cross_track_error) ; __tmp . put_u8 (self . stage as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_ACK_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , pub param_result : ParamAck , } impl PARAM_EXT_ACK_DATA { pub const ENCODED_LEN : usize = 146usize ; pub const DEFAULT : Self = Self { param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , param_result : ParamAck :: DEFAULT , } ; } impl Default for PARAM_EXT_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_ACK_DATA { type Message = MavMessage ; const ID : u32 = 324u32 ; const NAME : & 'static str = "PARAM_EXT_ACK" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 146usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . param_result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "ParamAck" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; __tmp . put_u8 (self . param_result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COLLISION_DATA { pub id : u32 , pub time_to_minimum_delta : f32 , pub altitude_minimum_delta : f32 , pub horizontal_minimum_delta : f32 , pub src : MavCollisionSrc , pub action : MavCollisionAction , pub threat_level : MavCollisionThreatLevel , } impl COLLISION_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { id : 0_u32 , time_to_minimum_delta : 0.0_f32 , altitude_minimum_delta : 0.0_f32 , horizontal_minimum_delta : 0.0_f32 , src : MavCollisionSrc :: DEFAULT , action : MavCollisionAction :: DEFAULT , threat_level : MavCollisionThreatLevel :: DEFAULT , } ; } impl Default for COLLISION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COLLISION_DATA { type Message = MavMessage ; const ID : u32 = 247u32 ; const NAME : & 'static str = "COLLISION" ; const EXTRA_CRC : u8 = 81u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . time_to_minimum_delta = buf . get_f32_le () ; __struct . altitude_minimum_delta = buf . get_f32_le () ; __struct . horizontal_minimum_delta = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . src = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionSrc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . action = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionAction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . threat_level = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionThreatLevel" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_f32_le (self . time_to_minimum_delta) ; __tmp . put_f32_le (self . altitude_minimum_delta) ; __tmp . put_f32_le (self . horizontal_minimum_delta) ; __tmp . put_u8 (self . src as u8) ; __tmp . put_u8 (self . action as u8) ; __tmp . put_u8 (self . threat_level as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_TORQUE_CMD_REPORT_DATA { pub rl_torque_cmd : i16 , pub el_torque_cmd : i16 , pub az_torque_cmd : i16 , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_TORQUE_CMD_REPORT_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { rl_torque_cmd : 0_i16 , el_torque_cmd : 0_i16 , az_torque_cmd : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_TORQUE_CMD_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_TORQUE_CMD_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 214u32 ; const NAME : & 'static str = "GIMBAL_TORQUE_CMD_REPORT" ; const EXTRA_CRC : u8 = 69u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . rl_torque_cmd = buf . get_i16_le () ; __struct . el_torque_cmd = buf . get_i16_le () ; __struct . az_torque_cmd = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . rl_torque_cmd) ; __tmp . put_i16_le (self . el_torque_cmd) ; __tmp . put_i16_le (self . az_torque_cmd) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_GLOBAL_ORIGIN_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , } impl GPS_GLOBAL_ORIGIN_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , } ; } impl Default for GPS_GLOBAL_ORIGIN_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_GLOBAL_ORIGIN_DATA { type Message = MavMessage ; const ID : u32 = 49u32 ; const NAME : & 'static str = "GPS_GLOBAL_ORIGIN" ; const EXTRA_CRC : u8 = 39u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_POSITION_TARGET_LOCAL_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub target_system : u8 , pub target_component : u8 , pub coordinate_frame : MavFrame , } impl SET_POSITION_TARGET_LOCAL_NED_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for SET_POSITION_TARGET_LOCAL_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_POSITION_TARGET_LOCAL_NED_DATA { type Message = MavMessage ; const ID : u32 = 84u32 ; const NAME : & 'static str = "SET_POSITION_TARGET_LOCAL_NED" ; const EXTRA_CRC : u8 = 143u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EFI_STATUS_DATA { pub ecu_index : f32 , pub rpm : f32 , pub fuel_consumed : f32 , pub fuel_flow : f32 , pub engine_load : f32 , pub throttle_position : f32 , pub spark_dwell_time : f32 , pub barometric_pressure : f32 , pub intake_manifold_pressure : f32 , pub intake_manifold_temperature : f32 , pub cylinder_head_temperature : f32 , pub ignition_timing : f32 , pub injection_time : f32 , pub exhaust_gas_temperature : f32 , pub throttle_out : f32 , pub pt_compensation : f32 , pub health : u8 , } impl EFI_STATUS_DATA { pub const ENCODED_LEN : usize = 65usize ; pub const DEFAULT : Self = Self { ecu_index : 0.0_f32 , rpm : 0.0_f32 , fuel_consumed : 0.0_f32 , fuel_flow : 0.0_f32 , engine_load : 0.0_f32 , throttle_position : 0.0_f32 , spark_dwell_time : 0.0_f32 , barometric_pressure : 0.0_f32 , intake_manifold_pressure : 0.0_f32 , intake_manifold_temperature : 0.0_f32 , cylinder_head_temperature : 0.0_f32 , ignition_timing : 0.0_f32 , injection_time : 0.0_f32 , exhaust_gas_temperature : 0.0_f32 , throttle_out : 0.0_f32 , pt_compensation : 0.0_f32 , health : 0_u8 , } ; } impl Default for EFI_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EFI_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 225u32 ; const NAME : & 'static str = "EFI_STATUS" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 65usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ecu_index = buf . get_f32_le () ; __struct . rpm = buf . get_f32_le () ; __struct . fuel_consumed = buf . get_f32_le () ; __struct . fuel_flow = buf . get_f32_le () ; __struct . engine_load = buf . get_f32_le () ; __struct . throttle_position = buf . get_f32_le () ; __struct . spark_dwell_time = buf . get_f32_le () ; __struct . barometric_pressure = buf . get_f32_le () ; __struct . intake_manifold_pressure = buf . get_f32_le () ; __struct . intake_manifold_temperature = buf . get_f32_le () ; __struct . cylinder_head_temperature = buf . get_f32_le () ; __struct . ignition_timing = buf . get_f32_le () ; __struct . injection_time = buf . get_f32_le () ; __struct . exhaust_gas_temperature = buf . get_f32_le () ; __struct . throttle_out = buf . get_f32_le () ; __struct . pt_compensation = buf . get_f32_le () ; __struct . health = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . ecu_index) ; __tmp . put_f32_le (self . rpm) ; __tmp . put_f32_le (self . fuel_consumed) ; __tmp . put_f32_le (self . fuel_flow) ; __tmp . put_f32_le (self . engine_load) ; __tmp . put_f32_le (self . throttle_position) ; __tmp . put_f32_le (self . spark_dwell_time) ; __tmp . put_f32_le (self . barometric_pressure) ; __tmp . put_f32_le (self . intake_manifold_pressure) ; __tmp . put_f32_le (self . intake_manifold_temperature) ; __tmp . put_f32_le (self . cylinder_head_temperature) ; __tmp . put_f32_le (self . ignition_timing) ; __tmp . put_f32_le (self . injection_time) ; __tmp . put_f32_le (self . exhaust_gas_temperature) ; __tmp . put_f32_le (self . throttle_out) ; __tmp . put_f32_le (self . pt_compensation) ; __tmp . put_u8 (self . health) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_STATE_DATA { pub time_usec : u64 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , } impl HIL_STATE_DATA { pub const ENCODED_LEN : usize = 56usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , } ; } impl Default for HIL_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_STATE_DATA { type Message = MavMessage ; const ID : u32 = 90u32 ; const NAME : & 'static str = "HIL_STATE" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 56usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ACTUATOR_OUTPUT_STATUS_DATA { pub time_usec : u64 , pub active : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub actuator : [f32 ; 32] , } impl ACTUATOR_OUTPUT_STATUS_DATA { pub const ENCODED_LEN : usize = 140usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , active : 0_u32 , actuator : [0.0_f32 ; 32usize] , } ; } impl Default for ACTUATOR_OUTPUT_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ACTUATOR_OUTPUT_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 375u32 ; const NAME : & 'static str = "ACTUATOR_OUTPUT_STATUS" ; const EXTRA_CRC : u8 = 251u8 ; const ENCODED_LEN : usize = 140usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . active = buf . get_u32_le () ; for v in & mut __struct . actuator { let val = buf . get_f32_le () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . active) ; for val in & self . actuator { __tmp . put_f32_le (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MCU_STATUS_DATA { pub MCU_temperature : i16 , pub MCU_voltage : u16 , pub MCU_voltage_min : u16 , pub MCU_voltage_max : u16 , pub id : u8 , } impl MCU_STATUS_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { MCU_temperature : 0_i16 , MCU_voltage : 0_u16 , MCU_voltage_min : 0_u16 , MCU_voltage_max : 0_u16 , id : 0_u8 , } ; } impl Default for MCU_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MCU_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 11039u32 ; const NAME : & 'static str = "MCU_STATUS" ; const EXTRA_CRC : u8 = 142u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . MCU_temperature = buf . get_i16_le () ; __struct . MCU_voltage = buf . get_u16_le () ; __struct . MCU_voltage_min = buf . get_u16_le () ; __struct . MCU_voltage_max = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . MCU_temperature) ; __tmp . put_u16_le (self . MCU_voltage) ; __tmp . put_u16_le (self . MCU_voltage_min) ; __tmp . put_u16_le (self . MCU_voltage_max) ; __tmp . put_u8 (self . id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_MAP_RC_DATA { pub param_value0 : f32 , pub scale : f32 , pub param_value_min : f32 , pub param_value_max : f32 , pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub parameter_rc_channel_index : u8 , } impl PARAM_MAP_RC_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param_value0 : 0.0_f32 , scale : 0.0_f32 , param_value_min : 0.0_f32 , param_value_max : 0.0_f32 , param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , parameter_rc_channel_index : 0_u8 , } ; } impl Default for PARAM_MAP_RC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_MAP_RC_DATA { type Message = MavMessage ; const ID : u32 = 50u32 ; const NAME : & 'static str = "PARAM_MAP_RC" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value0 = buf . get_f32_le () ; __struct . scale = buf . get_f32_le () ; __struct . param_value_min = buf . get_f32_le () ; __struct . param_value_max = buf . get_f32_le () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } __struct . parameter_rc_channel_index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value0) ; __tmp . put_f32_le (self . scale) ; __tmp . put_f32_le (self . param_value_min) ; __tmp . put_f32_le (self . param_value_max) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . parameter_rc_channel_index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HEARTBEAT_DATA { pub custom_mode : u32 , pub mavtype : MavType , pub autopilot : MavAutopilot , pub base_mode : MavModeFlag , pub system_status : MavState , pub mavlink_version : u8 , } impl HEARTBEAT_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , mavtype : MavType :: DEFAULT , autopilot : MavAutopilot :: DEFAULT , base_mode : MavModeFlag :: DEFAULT , system_status : MavState :: DEFAULT , mavlink_version : 0_u8 , } ; } impl Default for HEARTBEAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HEARTBEAT_DATA { type Message = MavMessage ; const ID : u32 = 0u32 ; const NAME : & 'static str = "HEARTBEAT" ; const EXTRA_CRC : u8 = 50u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . autopilot = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavAutopilot" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . base_mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . system_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavState" , value : tmp as u32 }) ? ; __struct . mavlink_version = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . autopilot as u8) ; __tmp . put_u8 (self . base_mode . bits ()) ; __tmp . put_u8 (self . system_status as u8) ; __tmp . put_u8 (self . mavlink_version) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_OPERATOR_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub operator_id_type : MavOdidOperatorIdType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub operator_id : [u8 ; 20] , } impl OPEN_DRONE_ID_OPERATOR_ID_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , operator_id_type : MavOdidOperatorIdType :: DEFAULT , operator_id : [0_u8 ; 20usize] , } ; } impl Default for OPEN_DRONE_ID_OPERATOR_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_OPERATOR_ID_DATA { type Message = MavMessage ; const ID : u32 = 12905u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_OPERATOR_ID" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . operator_id_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidOperatorIdType" , value : tmp as u32 }) ? ; for v in & mut __struct . operator_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . operator_id_type as u8) ; for val in & self . operator_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA_TRANSMISSION_HANDSHAKE_DATA { pub size : u32 , pub width : u16 , pub height : u16 , pub packets : u16 , pub mavtype : MavlinkDataStreamType , pub payload : u8 , pub jpg_quality : u8 , } impl DATA_TRANSMISSION_HANDSHAKE_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { size : 0_u32 , width : 0_u16 , height : 0_u16 , packets : 0_u16 , mavtype : MavlinkDataStreamType :: DEFAULT , payload : 0_u8 , jpg_quality : 0_u8 , } ; } impl Default for DATA_TRANSMISSION_HANDSHAKE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA_TRANSMISSION_HANDSHAKE_DATA { type Message = MavMessage ; const ID : u32 = 130u32 ; const NAME : & 'static str = "DATA_TRANSMISSION_HANDSHAKE" ; const EXTRA_CRC : u8 = 29u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . size = buf . get_u32_le () ; __struct . width = buf . get_u16_le () ; __struct . height = buf . get_u16_le () ; __struct . packets = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavlinkDataStreamType" , value : tmp as u32 }) ? ; __struct . payload = buf . get_u8 () ; __struct . jpg_quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . size) ; __tmp . put_u16_le (self . width) ; __tmp . put_u16_le (self . height) ; __tmp . put_u16_le (self . packets) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . payload) ; __tmp . put_u8 (self . jpg_quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ODOMETRY_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pose_covariance : [f32 ; 21] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub velocity_covariance : [f32 ; 21] , pub frame_id : MavFrame , pub child_frame_id : MavFrame , } impl ODOMETRY_DATA { pub const ENCODED_LEN : usize = 230usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , pose_covariance : [0.0_f32 ; 21usize] , velocity_covariance : [0.0_f32 ; 21usize] , frame_id : MavFrame :: DEFAULT , child_frame_id : MavFrame :: DEFAULT , } ; } impl Default for ODOMETRY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ODOMETRY_DATA { type Message = MavMessage ; const ID : u32 = 331u32 ; const NAME : & 'static str = "ODOMETRY" ; const EXTRA_CRC : u8 = 91u8 ; const ENCODED_LEN : usize = 230usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; for v in & mut __struct . pose_covariance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . velocity_covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . frame_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . child_frame_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; for val in & self . pose_covariance { __tmp . put_f32_le (* val) ; } for val in & self . velocity_covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . frame_id as u8) ; __tmp . put_u8 (self . child_frame_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DISTANCE_SENSOR_DATA { pub time_boot_ms : u32 , pub min_distance : u16 , pub max_distance : u16 , pub current_distance : u16 , pub mavtype : MavDistanceSensor , pub id : u8 , pub orientation : MavSensorOrientation , pub covariance : u8 , } impl DISTANCE_SENSOR_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , min_distance : 0_u16 , max_distance : 0_u16 , current_distance : 0_u16 , mavtype : MavDistanceSensor :: DEFAULT , id : 0_u8 , orientation : MavSensorOrientation :: DEFAULT , covariance : 0_u8 , } ; } impl Default for DISTANCE_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DISTANCE_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 132u32 ; const NAME : & 'static str = "DISTANCE_SENSOR" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . min_distance = buf . get_u16_le () ; __struct . max_distance = buf . get_u16_le () ; __struct . current_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . orientation = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavSensorOrientation" , value : tmp as u32 }) ? ; __struct . covariance = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . min_distance) ; __tmp . put_u16_le (self . max_distance) ; __tmp . put_u16_le (self . current_distance) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . orientation as u8) ; __tmp . put_u8 (self . covariance) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OSD_PARAM_SHOW_CONFIG_REPLY_DATA { pub request_id : u32 , pub min_value : f32 , pub max_value : f32 , pub increment : f32 , pub result : OsdParamConfigError , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub config_type : OsdParamConfigType , } impl OSD_PARAM_SHOW_CONFIG_REPLY_DATA { pub const ENCODED_LEN : usize = 34usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , min_value : 0.0_f32 , max_value : 0.0_f32 , increment : 0.0_f32 , result : OsdParamConfigError :: DEFAULT , param_id : [0_u8 ; 16usize] , config_type : OsdParamConfigType :: DEFAULT , } ; } impl Default for OSD_PARAM_SHOW_CONFIG_REPLY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OSD_PARAM_SHOW_CONFIG_REPLY_DATA { type Message = MavMessage ; const ID : u32 = 11036u32 ; const NAME : & 'static str = "OSD_PARAM_SHOW_CONFIG_REPLY" ; const EXTRA_CRC : u8 = 177u8 ; const ENCODED_LEN : usize = 34usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . min_value = buf . get_f32_le () ; __struct . max_value = buf . get_f32_le () ; __struct . increment = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "OsdParamConfigError" , value : tmp as u32 }) ? ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . config_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "OsdParamConfigType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_f32_le (self . min_value) ; __tmp . put_f32_le (self . max_value) ; __tmp . put_f32_le (self . increment) ; __tmp . put_u8 (self . result as u8) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . config_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GOPRO_SET_REQUEST_DATA { pub target_system : u8 , pub target_component : u8 , pub cmd_id : GoproCommand , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub value : [u8 ; 4] , } impl GOPRO_SET_REQUEST_DATA { pub const ENCODED_LEN : usize = 7usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , cmd_id : GoproCommand :: DEFAULT , value : [0_u8 ; 4usize] , } ; } impl Default for GOPRO_SET_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GOPRO_SET_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 218u32 ; const NAME : & 'static str = "GOPRO_SET_REQUEST" ; const EXTRA_CRC : u8 = 17u8 ; const ENCODED_LEN : usize = 7usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . cmd_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproCommand" , value : tmp as u32 }) ? ; for v in & mut __struct . value { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . cmd_id as u8) ; for val in & self . value { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_INFO_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub error_count : [u32 ; 4] , pub counter : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub failure_flags : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature : [i16 ; 4] , pub index : u8 , pub count : u8 , pub connection_type : EscConnectionType , pub info : u8 , } impl ESC_INFO_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , error_count : [0_u32 ; 4usize] , counter : 0_u16 , failure_flags : [0_u16 ; 4usize] , temperature : [0_i16 ; 4usize] , index : 0_u8 , count : 0_u8 , connection_type : EscConnectionType :: DEFAULT , info : 0_u8 , } ; } impl Default for ESC_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_INFO_DATA { type Message = MavMessage ; const ID : u32 = 290u32 ; const NAME : & 'static str = "ESC_INFO" ; const EXTRA_CRC : u8 = 251u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . error_count { let val = buf . get_u32_le () ; * v = val ; } __struct . counter = buf . get_u16_le () ; for v in & mut __struct . failure_flags { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . temperature { let val = buf . get_i16_le () ; * v = val ; } __struct . index = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . connection_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "EscConnectionType" , value : tmp as u32 }) ? ; __struct . info = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . error_count { __tmp . put_u32_le (* val) ; } __tmp . put_u16_le (self . counter) ; for val in & self . failure_flags { __tmp . put_u16_le (* val) ; } for val in & self . temperature { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . index) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . connection_type as u8) ; __tmp . put_u8 (self . info) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MANUAL_SETPOINT_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub thrust : f32 , pub mode_switch : u8 , pub manual_override_switch : u8 , } impl MANUAL_SETPOINT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , thrust : 0.0_f32 , mode_switch : 0_u8 , manual_override_switch : 0_u8 , } ; } impl Default for MANUAL_SETPOINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MANUAL_SETPOINT_DATA { type Message = MavMessage ; const ID : u32 = 81u32 ; const NAME : & 'static str = "MANUAL_SETPOINT" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; __struct . mode_switch = buf . get_u8 () ; __struct . manual_override_switch = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . mode_switch) ; __tmp . put_u8 (self . manual_override_switch) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_DATA_DATA { pub ofs : u32 , pub id : u16 , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 90] , } impl LOG_DATA_DATA { pub const ENCODED_LEN : usize = 97usize ; pub const DEFAULT : Self = Self { ofs : 0_u32 , id : 0_u16 , count : 0_u8 , data : [0_u8 ; 90usize] , } ; } impl Default for LOG_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_DATA_DATA { type Message = MavMessage ; const ID : u32 = 120u32 ; const NAME : & 'static str = "LOG_DATA" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 97usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ofs = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ofs) ; __tmp . put_u16_le (self . id) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_FEEDBACK_DATA { pub time_usec : u64 , pub lat : i32 , pub lng : i32 , pub alt_msl : f32 , pub alt_rel : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub foc_len : f32 , pub img_idx : u16 , pub target_system : u8 , pub cam_idx : u8 , pub flags : CameraFeedbackFlags , } impl CAMERA_FEEDBACK_DATA { pub const ENCODED_LEN : usize = 45usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lng : 0_i32 , alt_msl : 0.0_f32 , alt_rel : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , foc_len : 0.0_f32 , img_idx : 0_u16 , target_system : 0_u8 , cam_idx : 0_u8 , flags : CameraFeedbackFlags :: DEFAULT , } ; } impl Default for CAMERA_FEEDBACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_FEEDBACK_DATA { type Message = MavMessage ; const ID : u32 = 180u32 ; const NAME : & 'static str = "CAMERA_FEEDBACK" ; const EXTRA_CRC : u8 = 52u8 ; const ENCODED_LEN : usize = 45usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lng = buf . get_i32_le () ; __struct . alt_msl = buf . get_f32_le () ; __struct . alt_rel = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . foc_len = buf . get_f32_le () ; __struct . img_idx = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . cam_idx = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . flags = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraFeedbackFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lng) ; __tmp . put_f32_le (self . alt_msl) ; __tmp . put_f32_le (self . alt_rel) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . foc_len) ; __tmp . put_u16_le (self . img_idx) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . cam_idx) ; __tmp . put_u8 (self . flags as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FENCE_POINT_DATA { pub lat : f32 , pub lng : f32 , pub target_system : u8 , pub target_component : u8 , pub idx : u8 , pub count : u8 , } impl FENCE_POINT_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { lat : 0.0_f32 , lng : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , idx : 0_u8 , count : 0_u8 , } ; } impl Default for FENCE_POINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FENCE_POINT_DATA { type Message = MavMessage ; const ID : u32 = 160u32 ; const NAME : & 'static str = "FENCE_POINT" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_f32_le () ; __struct . lng = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . idx = buf . get_u8 () ; __struct . count = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . lat) ; __tmp . put_f32_le (self . lng) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . idx) ; __tmp . put_u8 (self . count) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SUPPORTED_TUNES_DATA { pub format : TuneFormat , pub target_system : u8 , pub target_component : u8 , } impl SUPPORTED_TUNES_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { format : TuneFormat :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SUPPORTED_TUNES_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SUPPORTED_TUNES_DATA { type Message = MavMessage ; const ID : u32 = 401u32 ; const NAME : & 'static str = "SUPPORTED_TUNES" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . format = TuneFormat :: from_bits (tmp & TuneFormat :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "TuneFormat" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . format . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_ACK_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOGGING_ACK_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOGGING_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_ACK_DATA { type Message = MavMessage ; const ID : u32 = 268u32 ; const NAME : & 'static str = "LOGGING_ACK" ; const EXTRA_CRC : u8 = 14u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl VISION_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for VISION_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 102u32 ; const NAME : & 'static str = "VISION_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 158u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AHRS_DATA { pub omegaIx : f32 , pub omegaIy : f32 , pub omegaIz : f32 , pub accel_weight : f32 , pub renorm_val : f32 , pub error_rp : f32 , pub error_yaw : f32 , } impl AHRS_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { omegaIx : 0.0_f32 , omegaIy : 0.0_f32 , omegaIz : 0.0_f32 , accel_weight : 0.0_f32 , renorm_val : 0.0_f32 , error_rp : 0.0_f32 , error_yaw : 0.0_f32 , } ; } impl Default for AHRS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AHRS_DATA { type Message = MavMessage ; const ID : u32 = 163u32 ; const NAME : & 'static str = "AHRS" ; const EXTRA_CRC : u8 = 127u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . omegaIx = buf . get_f32_le () ; __struct . omegaIy = buf . get_f32_le () ; __struct . omegaIz = buf . get_f32_le () ; __struct . accel_weight = buf . get_f32_le () ; __struct . renorm_val = buf . get_f32_le () ; __struct . error_rp = buf . get_f32_le () ; __struct . error_yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . omegaIx) ; __tmp . put_f32_le (self . omegaIy) ; __tmp . put_f32_le (self . omegaIz) ; __tmp . put_f32_le (self . accel_weight) ; __tmp . put_f32_le (self . renorm_val) ; __tmp . put_f32_le (self . error_rp) ; __tmp . put_f32_le (self . error_yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MESSAGE_INTERVAL_DATA { pub interval_us : i32 , pub message_id : u16 , } impl MESSAGE_INTERVAL_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { interval_us : 0_i32 , message_id : 0_u16 , } ; } impl Default for MESSAGE_INTERVAL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MESSAGE_INTERVAL_DATA { type Message = MavMessage ; const ID : u32 = 244u32 ; const NAME : & 'static str = "MESSAGE_INTERVAL" ; const EXTRA_CRC : u8 = 95u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . interval_us = buf . get_i32_le () ; __struct . message_id = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . interval_us) ; __tmp . put_u16_le (self . message_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_OVERRIDE_DATA { pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub target_system : u8 , pub target_component : u8 , } impl RC_CHANNELS_OVERRIDE_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for RC_CHANNELS_OVERRIDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_OVERRIDE_DATA { type Message = MavMessage ; const ID : u32 = 70u32 ; const NAME : & 'static str = "RC_CHANNELS_OVERRIDE" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_LIST_DATA { pub start : u16 , pub end : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start : 0_u16 , end : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 117u32 ; const NAME : & 'static str = "LOG_REQUEST_LIST" ; const EXTRA_CRC : u8 = 128u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start = buf . get_u16_le () ; __struct . end = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . start) ; __tmp . put_u16_le (self . end) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RESOURCE_REQUEST_DATA { pub request_id : u8 , pub uri_type : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 120] , pub transfer_type : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage : [u8 ; 120] , } impl RESOURCE_REQUEST_DATA { pub const ENCODED_LEN : usize = 243usize ; pub const DEFAULT : Self = Self { request_id : 0_u8 , uri_type : 0_u8 , uri : [0_u8 ; 120usize] , transfer_type : 0_u8 , storage : [0_u8 ; 120usize] , } ; } impl Default for RESOURCE_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RESOURCE_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 142u32 ; const NAME : & 'static str = "RESOURCE_REQUEST" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 243usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u8 () ; __struct . uri_type = buf . get_u8 () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } __struct . transfer_type = buf . get_u8 () ; for v in & mut __struct . storage { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . request_id) ; __tmp . put_u8 (self . uri_type) ; for val in & self . uri { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . transfer_type) ; for val in & self . storage { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_ATTITUDE_DATA { pub flags : GimbalManagerFlags , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_ATTITUDE_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 282u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_ATTITUDE" ; const EXTRA_CRC : u8 = 123u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ONBOARD_COMPUTER_STATUS_DATA { pub time_usec : u64 , pub uptime : u32 , pub ram_usage : u32 , pub ram_total : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_type : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_usage : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_total : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_type : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_tx_rate : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_rx_rate : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_tx_max : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_rx_max : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub fan_speed : [i16 ; 4] , pub mavtype : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cpu_cores : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cpu_combined : [u8 ; 10] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub gpu_cores : [u8 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub gpu_combined : [u8 ; 10] , pub temperature_board : i8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature_core : [i8 ; 8] , } impl ONBOARD_COMPUTER_STATUS_DATA { pub const ENCODED_LEN : usize = 238usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime : 0_u32 , ram_usage : 0_u32 , ram_total : 0_u32 , storage_type : [0_u32 ; 4usize] , storage_usage : [0_u32 ; 4usize] , storage_total : [0_u32 ; 4usize] , link_type : [0_u32 ; 6usize] , link_tx_rate : [0_u32 ; 6usize] , link_rx_rate : [0_u32 ; 6usize] , link_tx_max : [0_u32 ; 6usize] , link_rx_max : [0_u32 ; 6usize] , fan_speed : [0_i16 ; 4usize] , mavtype : 0_u8 , cpu_cores : [0_u8 ; 8usize] , cpu_combined : [0_u8 ; 10usize] , gpu_cores : [0_u8 ; 4usize] , gpu_combined : [0_u8 ; 10usize] , temperature_board : 0_i8 , temperature_core : [0_i8 ; 8usize] , } ; } impl Default for ONBOARD_COMPUTER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ONBOARD_COMPUTER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 390u32 ; const NAME : & 'static str = "ONBOARD_COMPUTER_STATUS" ; const EXTRA_CRC : u8 = 156u8 ; const ENCODED_LEN : usize = 238usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime = buf . get_u32_le () ; __struct . ram_usage = buf . get_u32_le () ; __struct . ram_total = buf . get_u32_le () ; for v in & mut __struct . storage_type { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . storage_usage { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . storage_total { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_type { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_tx_rate { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_rx_rate { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_tx_max { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_rx_max { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . fan_speed { let val = buf . get_i16_le () ; * v = val ; } __struct . mavtype = buf . get_u8 () ; for v in & mut __struct . cpu_cores { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . cpu_combined { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . gpu_cores { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . gpu_combined { let val = buf . get_u8 () ; * v = val ; } __struct . temperature_board = buf . get_i8 () ; for v in & mut __struct . temperature_core { let val = buf . get_i8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime) ; __tmp . put_u32_le (self . ram_usage) ; __tmp . put_u32_le (self . ram_total) ; for val in & self . storage_type { __tmp . put_u32_le (* val) ; } for val in & self . storage_usage { __tmp . put_u32_le (* val) ; } for val in & self . storage_total { __tmp . put_u32_le (* val) ; } for val in & self . link_type { __tmp . put_u32_le (* val) ; } for val in & self . link_tx_rate { __tmp . put_u32_le (* val) ; } for val in & self . link_rx_rate { __tmp . put_u32_le (* val) ; } for val in & self . link_tx_max { __tmp . put_u32_le (* val) ; } for val in & self . link_rx_max { __tmp . put_u32_le (* val) ; } for val in & self . fan_speed { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . mavtype) ; for val in & self . cpu_cores { __tmp . put_u8 (* val) ; } for val in & self . cpu_combined { __tmp . put_u8 (* val) ; } for val in & self . gpu_cores { __tmp . put_u8 (* val) ; } for val in & self . gpu_combined { __tmp . put_u8 (* val) ; } __tmp . put_i8 (self . temperature_board) ; for val in & self . temperature_core { __tmp . put_i8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , } impl LOCAL_POSITION_NED_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , } ; } impl Default for LOCAL_POSITION_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_DATA { type Message = MavMessage ; const ID : u32 = 32u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED" ; const EXTRA_CRC : u8 = 185u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DIGICAM_CONFIGURE_DATA { pub extra_value : f32 , pub shutter_speed : u16 , pub target_system : u8 , pub target_component : u8 , pub mode : u8 , pub aperture : u8 , pub iso : u8 , pub exposure_type : u8 , pub command_id : u8 , pub engine_cut_off : u8 , pub extra_param : u8 , } impl DIGICAM_CONFIGURE_DATA { pub const ENCODED_LEN : usize = 15usize ; pub const DEFAULT : Self = Self { extra_value : 0.0_f32 , shutter_speed : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , mode : 0_u8 , aperture : 0_u8 , iso : 0_u8 , exposure_type : 0_u8 , command_id : 0_u8 , engine_cut_off : 0_u8 , extra_param : 0_u8 , } ; } impl Default for DIGICAM_CONFIGURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DIGICAM_CONFIGURE_DATA { type Message = MavMessage ; const ID : u32 = 154u32 ; const NAME : & 'static str = "DIGICAM_CONFIGURE" ; const EXTRA_CRC : u8 = 84u8 ; const ENCODED_LEN : usize = 15usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . extra_value = buf . get_f32_le () ; __struct . shutter_speed = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . mode = buf . get_u8 () ; __struct . aperture = buf . get_u8 () ; __struct . iso = buf . get_u8 () ; __struct . exposure_type = buf . get_u8 () ; __struct . command_id = buf . get_u8 () ; __struct . engine_cut_off = buf . get_u8 () ; __struct . extra_param = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . extra_value) ; __tmp . put_u16_le (self . shutter_speed) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . mode) ; __tmp . put_u8 (self . aperture) ; __tmp . put_u8 (self . iso) ; __tmp . put_u8 (self . exposure_type) ; __tmp . put_u8 (self . command_id) ; __tmp . put_u8 (self . engine_cut_off) ; __tmp . put_u8 (self . extra_param) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_TELEMETRY_9_TO_12_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltage : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub current : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub totalcurrent : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rpm : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub count : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature : [u8 ; 4] , } impl ESC_TELEMETRY_9_TO_12_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { voltage : [0_u16 ; 4usize] , current : [0_u16 ; 4usize] , totalcurrent : [0_u16 ; 4usize] , rpm : [0_u16 ; 4usize] , count : [0_u16 ; 4usize] , temperature : [0_u8 ; 4usize] , } ; } impl Default for ESC_TELEMETRY_9_TO_12_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_TELEMETRY_9_TO_12_DATA { type Message = MavMessage ; const ID : u32 = 11032u32 ; const NAME : & 'static str = "ESC_TELEMETRY_9_TO_12" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . voltage { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . current { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . totalcurrent { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . rpm { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . count { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . temperature { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . voltage { __tmp . put_u16_le (* val) ; } for val in & self . current { __tmp . put_u16_le (* val) ; } for val in & self . totalcurrent { __tmp . put_u16_le (* val) ; } for val in & self . rpm { __tmp . put_u16_le (* val) ; } for val in & self . count { __tmp . put_u16_le (* val) ; } for val in & self . temperature { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_yaw : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_yaw : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub command : [u16 ; 5] , pub valid_points : u8 , } impl TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { pub const ENCODED_LEN : usize = 239usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , pos_x : [0.0_f32 ; 5usize] , pos_y : [0.0_f32 ; 5usize] , pos_z : [0.0_f32 ; 5usize] , vel_x : [0.0_f32 ; 5usize] , vel_y : [0.0_f32 ; 5usize] , vel_z : [0.0_f32 ; 5usize] , acc_x : [0.0_f32 ; 5usize] , acc_y : [0.0_f32 ; 5usize] , acc_z : [0.0_f32 ; 5usize] , pos_yaw : [0.0_f32 ; 5usize] , vel_yaw : [0.0_f32 ; 5usize] , command : [0_u16 ; 5usize] , valid_points : 0_u8 , } ; } impl Default for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { type Message = MavMessage ; const ID : u32 = 332u32 ; const NAME : & 'static str = "TRAJECTORY_REPRESENTATION_WAYPOINTS" ; const EXTRA_CRC : u8 = 236u8 ; const ENCODED_LEN : usize = 239usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . pos_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_yaw { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_yaw { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . command { let val = buf . get_u16_le () ; * v = val ; } __struct . valid_points = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . pos_x { __tmp . put_f32_le (* val) ; } for val in & self . pos_y { __tmp . put_f32_le (* val) ; } for val in & self . pos_z { __tmp . put_f32_le (* val) ; } for val in & self . vel_x { __tmp . put_f32_le (* val) ; } for val in & self . vel_y { __tmp . put_f32_le (* val) ; } for val in & self . vel_z { __tmp . put_f32_le (* val) ; } for val in & self . acc_x { __tmp . put_f32_le (* val) ; } for val in & self . acc_y { __tmp . put_f32_le (* val) ; } for val in & self . acc_z { __tmp . put_f32_le (* val) ; } for val in & self . pos_yaw { __tmp . put_f32_le (* val) ; } for val in & self . vel_yaw { __tmp . put_f32_le (* val) ; } for val in & self . command { __tmp . put_u16_le (* val) ; } __tmp . put_u8 (self . valid_points) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POSITION_TARGET_LOCAL_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub coordinate_frame : MavFrame , } impl POSITION_TARGET_LOCAL_NED_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for POSITION_TARGET_LOCAL_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POSITION_TARGET_LOCAL_NED_DATA { type Message = MavMessage ; const ID : u32 = 85u32 ; const NAME : & 'static str = "POSITION_TARGET_LOCAL_NED" ; const EXTRA_CRC : u8 = 140u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SAFETY_ALLOWED_AREA_DATA { pub p1x : f32 , pub p1y : f32 , pub p1z : f32 , pub p2x : f32 , pub p2y : f32 , pub p2z : f32 , pub frame : MavFrame , } impl SAFETY_ALLOWED_AREA_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { p1x : 0.0_f32 , p1y : 0.0_f32 , p1z : 0.0_f32 , p2x : 0.0_f32 , p2y : 0.0_f32 , p2z : 0.0_f32 , frame : MavFrame :: DEFAULT , } ; } impl Default for SAFETY_ALLOWED_AREA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SAFETY_ALLOWED_AREA_DATA { type Message = MavMessage ; const ID : u32 = 55u32 ; const NAME : & 'static str = "SAFETY_ALLOWED_AREA" ; const EXTRA_CRC : u8 = 3u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . p1x = buf . get_f32_le () ; __struct . p1y = buf . get_f32_le () ; __struct . p1z = buf . get_f32_le () ; __struct . p2x = buf . get_f32_le () ; __struct . p2y = buf . get_f32_le () ; __struct . p2z = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . p1x) ; __tmp . put_f32_le (self . p1y) ; __tmp . put_f32_le (self . p1z) ; __tmp . put_f32_le (self . p2x) ; __tmp . put_f32_le (self . p2y) ; __tmp . put_f32_le (self . p2z) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_INT_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl COMMAND_INT_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for COMMAND_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_INT_DATA { type Message = MavMessage ; const ID : u32 = 75u32 ; const NAME : & 'static str = "COMMAND_INT" ; const EXTRA_CRC : u8 = 158u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GOPRO_GET_REQUEST_DATA { pub target_system : u8 , pub target_component : u8 , pub cmd_id : GoproCommand , } impl GOPRO_GET_REQUEST_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , cmd_id : GoproCommand :: DEFAULT , } ; } impl Default for GOPRO_GET_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GOPRO_GET_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 216u32 ; const NAME : & 'static str = "GOPRO_GET_REQUEST" ; const EXTRA_CRC : u8 = 50u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . cmd_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproCommand" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . cmd_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAN_FILTER_MODIFY_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub ids : [u16 ; 16] , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub operation : CanFilterOp , pub num_ids : u8 , } impl CAN_FILTER_MODIFY_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { ids : [0_u16 ; 16usize] , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , operation : CanFilterOp :: DEFAULT , num_ids : 0_u8 , } ; } impl Default for CAN_FILTER_MODIFY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAN_FILTER_MODIFY_DATA { type Message = MavMessage ; const ID : u32 = 388u32 ; const NAME : & 'static str = "CAN_FILTER_MODIFY" ; const EXTRA_CRC : u8 = 8u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . ids { let val = buf . get_u16_le () ; * v = val ; } __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . operation = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CanFilterOp" , value : tmp as u32 }) ? ; __struct . num_ids = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . ids { __tmp . put_u16_le (* val) ; } __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . operation as u8) ; __tmp . put_u8 (self . num_ids) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct STATUSTEXT_DATA { pub severity : MavSeverity , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub text : [u8 ; 50] , } impl STATUSTEXT_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { severity : MavSeverity :: DEFAULT , text : [0_u8 ; 50usize] , } ; } impl Default for STATUSTEXT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for STATUSTEXT_DATA { type Message = MavMessage ; const ID : u32 = 253u32 ; const NAME : & 'static str = "STATUSTEXT" ; const EXTRA_CRC : u8 = 83u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . severity = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavSeverity" , value : tmp as u32 }) ? ; for v in & mut __struct . text { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . severity as u8) ; for val in & self . text { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TIME_ESTIMATE_TO_TARGET_DATA { pub safe_return : i32 , pub land : i32 , pub mission_next_item : i32 , pub mission_end : i32 , pub commanded_action : i32 , } impl TIME_ESTIMATE_TO_TARGET_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { safe_return : 0_i32 , land : 0_i32 , mission_next_item : 0_i32 , mission_end : 0_i32 , commanded_action : 0_i32 , } ; } impl Default for TIME_ESTIMATE_TO_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TIME_ESTIMATE_TO_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 380u32 ; const NAME : & 'static str = "TIME_ESTIMATE_TO_TARGET" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . safe_return = buf . get_i32_le () ; __struct . land = buf . get_i32_le () ; __struct . mission_next_item = buf . get_i32_le () ; __struct . mission_end = buf . get_i32_le () ; __struct . commanded_action = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . safe_return) ; __tmp . put_i32_le (self . land) ; __tmp . put_i32_le (self . mission_next_item) ; __tmp . put_i32_le (self . mission_end) ; __tmp . put_i32_le (self . commanded_action) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_INT_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub seq : u16 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl MISSION_ITEM_INT_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , seq : 0_u16 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for MISSION_ITEM_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_INT_DATA { type Message = MavMessage ; const ID : u32 = 73u32 ; const NAME : & 'static str = "MISSION_ITEM_INT" ; const EXTRA_CRC : u8 = 38u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; __struct . seq = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA { pub offset : u32 , pub target_system : u8 , pub target_component : u8 , } impl CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { offset : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA { type Message = MavMessage ; const ID : u32 = 50005u32 ; const NAME : & 'static str = "CUBEPILOT_FIRMWARE_UPDATE_RESP" ; const EXTRA_CRC : u8 = 152u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . offset = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . offset) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { pub rfHealth : UavionixAdsbRfHealth , } impl UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { pub const ENCODED_LEN : usize = 1usize ; pub const DEFAULT : Self = Self { rfHealth : UavionixAdsbRfHealth :: DEFAULT , } ; } impl Default for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 10003u32 ; const NAME : & 'static str = "UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 1usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . rfHealth = UavionixAdsbRfHealth :: from_bits (tmp & UavionixAdsbRfHealth :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UavionixAdsbRfHealth" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . rfHealth . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_INT_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_INT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_INT_DATA { type Message = MavMessage ; const ID : u32 = 51u32 ; const NAME : & 'static str = "MISSION_REQUEST_INT" ; const EXTRA_CRC : u8 = 196u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct STORAGE_INFORMATION_DATA { pub time_boot_ms : u32 , pub total_capacity : f32 , pub used_capacity : f32 , pub available_capacity : f32 , pub read_speed : f32 , pub write_speed : f32 , pub storage_id : u8 , pub storage_count : u8 , pub status : StorageStatus , } impl STORAGE_INFORMATION_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , total_capacity : 0.0_f32 , used_capacity : 0.0_f32 , available_capacity : 0.0_f32 , read_speed : 0.0_f32 , write_speed : 0.0_f32 , storage_id : 0_u8 , storage_count : 0_u8 , status : StorageStatus :: DEFAULT , } ; } impl Default for STORAGE_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for STORAGE_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 261u32 ; const NAME : & 'static str = "STORAGE_INFORMATION" ; const EXTRA_CRC : u8 = 179u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . total_capacity = buf . get_f32_le () ; __struct . used_capacity = buf . get_f32_le () ; __struct . available_capacity = buf . get_f32_le () ; __struct . read_speed = buf . get_f32_le () ; __struct . write_speed = buf . get_f32_le () ; __struct . storage_id = buf . get_u8 () ; __struct . storage_count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "StorageStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . total_capacity) ; __tmp . put_f32_le (self . used_capacity) ; __tmp . put_f32_le (self . available_capacity) ; __tmp . put_f32_le (self . read_speed) ; __tmp . put_f32_le (self . write_speed) ; __tmp . put_u8 (self . storage_id) ; __tmp . put_u8 (self . storage_count) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UTM_GLOBAL_POSITION_DATA { pub time : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub next_lat : i32 , pub next_lon : i32 , pub next_alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub h_acc : u16 , pub v_acc : u16 , pub vel_acc : u16 , pub update_rate : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uas_id : [u8 ; 18] , pub flight_state : UtmFlightState , pub flags : UtmDataAvailFlags , } impl UTM_GLOBAL_POSITION_DATA { pub const ENCODED_LEN : usize = 70usize ; pub const DEFAULT : Self = Self { time : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , next_lat : 0_i32 , next_lon : 0_i32 , next_alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , h_acc : 0_u16 , v_acc : 0_u16 , vel_acc : 0_u16 , update_rate : 0_u16 , uas_id : [0_u8 ; 18usize] , flight_state : UtmFlightState :: DEFAULT , flags : UtmDataAvailFlags :: DEFAULT , } ; } impl Default for UTM_GLOBAL_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UTM_GLOBAL_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 340u32 ; const NAME : & 'static str = "UTM_GLOBAL_POSITION" ; const EXTRA_CRC : u8 = 99u8 ; const ENCODED_LEN : usize = 70usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . next_lat = buf . get_i32_le () ; __struct . next_lon = buf . get_i32_le () ; __struct . next_alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . h_acc = buf . get_u16_le () ; __struct . v_acc = buf . get_u16_le () ; __struct . vel_acc = buf . get_u16_le () ; __struct . update_rate = buf . get_u16_le () ; for v in & mut __struct . uas_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . flight_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UtmFlightState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = UtmDataAvailFlags :: from_bits (tmp & UtmDataAvailFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UtmDataAvailFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_i32_le (self . next_lat) ; __tmp . put_i32_le (self . next_lon) ; __tmp . put_i32_le (self . next_alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . h_acc) ; __tmp . put_u16_le (self . v_acc) ; __tmp . put_u16_le (self . vel_acc) ; __tmp . put_u16_le (self . update_rate) ; for val in & self . uas_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . flight_state as u8) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MEMINFO_DATA { pub brkval : u16 , pub freemem : u16 , } impl MEMINFO_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { brkval : 0_u16 , freemem : 0_u16 , } ; } impl Default for MEMINFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MEMINFO_DATA { type Message = MavMessage ; const ID : u32 = 152u32 ; const NAME : & 'static str = "MEMINFO" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . brkval = buf . get_u16_le () ; __struct . freemem = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . brkval) ; __tmp . put_u16_le (self . freemem) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_VISION_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl GLOBAL_VISION_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for GLOBAL_VISION_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_VISION_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 101u32 ; const NAME : & 'static str = "GLOBAL_VISION_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 102u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS2_RAW_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub dgps_age : u32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub cog : u16 , pub fix_type : GpsFixType , pub satellites_visible : u8 , pub dgps_numch : u8 , } impl GPS2_RAW_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , dgps_age : 0_u32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , cog : 0_u16 , fix_type : GpsFixType :: DEFAULT , satellites_visible : 0_u8 , dgps_numch : 0_u8 , } ; } impl Default for GPS2_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS2_RAW_DATA { type Message = MavMessage ; const ID : u32 = 124u32 ; const NAME : & 'static str = "GPS2_RAW" ; const EXTRA_CRC : u8 = 87u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . dgps_age = buf . get_u32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . cog = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . satellites_visible = buf . get_u8 () ; __struct . dgps_numch = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u32_le (self . dgps_age) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type as u8) ; __tmp . put_u8 (self . satellites_visible) ; __tmp . put_u8 (self . dgps_numch) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RALLY_POINT_DATA { pub lat : i32 , pub lng : i32 , pub alt : i16 , pub break_alt : i16 , pub land_dir : u16 , pub target_system : u8 , pub target_component : u8 , pub idx : u8 , pub count : u8 , pub flags : RallyFlags , } impl RALLY_POINT_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lng : 0_i32 , alt : 0_i16 , break_alt : 0_i16 , land_dir : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , idx : 0_u8 , count : 0_u8 , flags : RallyFlags :: DEFAULT , } ; } impl Default for RALLY_POINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RALLY_POINT_DATA { type Message = MavMessage ; const ID : u32 = 175u32 ; const NAME : & 'static str = "RALLY_POINT" ; const EXTRA_CRC : u8 = 138u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lng = buf . get_i32_le () ; __struct . alt = buf . get_i16_le () ; __struct . break_alt = buf . get_i16_le () ; __struct . land_dir = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . idx = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . flags = RallyFlags :: from_bits (tmp & RallyFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "RallyFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lng) ; __tmp . put_i16_le (self . alt) ; __tmp . put_i16_le (self . break_alt) ; __tmp . put_u16_le (self . land_dir) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . idx) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AP_ADC_DATA { pub adc1 : u16 , pub adc2 : u16 , pub adc3 : u16 , pub adc4 : u16 , pub adc5 : u16 , pub adc6 : u16 , } impl AP_ADC_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { adc1 : 0_u16 , adc2 : 0_u16 , adc3 : 0_u16 , adc4 : 0_u16 , adc5 : 0_u16 , adc6 : 0_u16 , } ; } impl Default for AP_ADC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AP_ADC_DATA { type Message = MavMessage ; const ID : u32 = 153u32 ; const NAME : & 'static str = "AP_ADC" ; const EXTRA_CRC : u8 = 188u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . adc1 = buf . get_u16_le () ; __struct . adc2 = buf . get_u16_le () ; __struct . adc3 = buf . get_u16_le () ; __struct . adc4 = buf . get_u16_le () ; __struct . adc5 = buf . get_u16_le () ; __struct . adc6 = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . adc1) ; __tmp . put_u16_le (self . adc2) ; __tmp . put_u16_le (self . adc3) ; __tmp . put_u16_le (self . adc4) ; __tmp . put_u16_le (self . adc5) ; __tmp . put_u16_le (self . adc6) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ACTUATOR_CONTROL_TARGET_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 8] , pub group_mlx : u8 , } impl ACTUATOR_CONTROL_TARGET_DATA { pub const ENCODED_LEN : usize = 41usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , controls : [0.0_f32 ; 8usize] , group_mlx : 0_u8 , } ; } impl Default for ACTUATOR_CONTROL_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ACTUATOR_CONTROL_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 140u32 ; const NAME : & 'static str = "ACTUATOR_CONTROL_TARGET" ; const EXTRA_CRC : u8 = 181u8 ; const ENCODED_LEN : usize = 41usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } __struct . group_mlx = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . group_mlx) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_DATA_ACKED_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , pub length : u8 , pub first_message_offset : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 249] , } impl LOGGING_DATA_ACKED_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , length : 0_u8 , first_message_offset : 0_u8 , data : [0_u8 ; 249usize] , } ; } impl Default for LOGGING_DATA_ACKED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_DATA_ACKED_DATA { type Message = MavMessage ; const ID : u32 = 267u32 ; const NAME : & 'static str = "LOGGING_DATA_ACKED" ; const EXTRA_CRC : u8 = 35u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . length = buf . get_u8 () ; __struct . first_message_offset = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . length) ; __tmp . put_u8 (self . first_message_offset) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_DATA { pub time_boot_ms : u32 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub chan9_raw : u16 , pub chan10_raw : u16 , pub chan11_raw : u16 , pub chan12_raw : u16 , pub chan13_raw : u16 , pub chan14_raw : u16 , pub chan15_raw : u16 , pub chan16_raw : u16 , pub chan17_raw : u16 , pub chan18_raw : u16 , pub chancount : u8 , pub rssi : u8 , } impl RC_CHANNELS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , chan9_raw : 0_u16 , chan10_raw : 0_u16 , chan11_raw : 0_u16 , chan12_raw : 0_u16 , chan13_raw : 0_u16 , chan14_raw : 0_u16 , chan15_raw : 0_u16 , chan16_raw : 0_u16 , chan17_raw : 0_u16 , chan18_raw : 0_u16 , chancount : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_DATA { type Message = MavMessage ; const ID : u32 = 65u32 ; const NAME : & 'static str = "RC_CHANNELS" ; const EXTRA_CRC : u8 = 118u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . chan9_raw = buf . get_u16_le () ; __struct . chan10_raw = buf . get_u16_le () ; __struct . chan11_raw = buf . get_u16_le () ; __struct . chan12_raw = buf . get_u16_le () ; __struct . chan13_raw = buf . get_u16_le () ; __struct . chan14_raw = buf . get_u16_le () ; __struct . chan15_raw = buf . get_u16_le () ; __struct . chan16_raw = buf . get_u16_le () ; __struct . chan17_raw = buf . get_u16_le () ; __struct . chan18_raw = buf . get_u16_le () ; __struct . chancount = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u16_le (self . chan9_raw) ; __tmp . put_u16_le (self . chan10_raw) ; __tmp . put_u16_le (self . chan11_raw) ; __tmp . put_u16_le (self . chan12_raw) ; __tmp . put_u16_le (self . chan13_raw) ; __tmp . put_u16_le (self . chan14_raw) ; __tmp . put_u16_le (self . chan15_raw) ; __tmp . put_u16_le (self . chan16_raw) ; __tmp . put_u16_le (self . chan17_raw) ; __tmp . put_u16_le (self . chan18_raw) ; __tmp . put_u8 (self . chancount) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAMED_VALUE_INT_DATA { pub time_boot_ms : u32 , pub value : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl NAMED_VALUE_INT_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0_i32 , name : [0_u8 ; 10usize] , } ; } impl Default for NAMED_VALUE_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAMED_VALUE_INT_DATA { type Message = MavMessage ; const ID : u32 = 252u32 ; const NAME : & 'static str = "NAMED_VALUE_INT" ; const EXTRA_CRC : u8 = 44u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_i32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . value) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LINK_NODE_STATUS_DATA { pub timestamp : u64 , pub tx_rate : u32 , pub rx_rate : u32 , pub messages_sent : u32 , pub messages_received : u32 , pub messages_lost : u32 , pub rx_parse_err : u16 , pub tx_overflows : u16 , pub rx_overflows : u16 , pub tx_buf : u8 , pub rx_buf : u8 , } impl LINK_NODE_STATUS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , tx_rate : 0_u32 , rx_rate : 0_u32 , messages_sent : 0_u32 , messages_received : 0_u32 , messages_lost : 0_u32 , rx_parse_err : 0_u16 , tx_overflows : 0_u16 , rx_overflows : 0_u16 , tx_buf : 0_u8 , rx_buf : 0_u8 , } ; } impl Default for LINK_NODE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LINK_NODE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 8u32 ; const NAME : & 'static str = "LINK_NODE_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . tx_rate = buf . get_u32_le () ; __struct . rx_rate = buf . get_u32_le () ; __struct . messages_sent = buf . get_u32_le () ; __struct . messages_received = buf . get_u32_le () ; __struct . messages_lost = buf . get_u32_le () ; __struct . rx_parse_err = buf . get_u16_le () ; __struct . tx_overflows = buf . get_u16_le () ; __struct . rx_overflows = buf . get_u16_le () ; __struct . tx_buf = buf . get_u8 () ; __struct . rx_buf = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u32_le (self . tx_rate) ; __tmp . put_u32_le (self . rx_rate) ; __tmp . put_u32_le (self . messages_sent) ; __tmp . put_u32_le (self . messages_received) ; __tmp . put_u32_le (self . messages_lost) ; __tmp . put_u16_le (self . rx_parse_err) ; __tmp . put_u16_le (self . tx_overflows) ; __tmp . put_u16_le (self . rx_overflows) ; __tmp . put_u8 (self . tx_buf) ; __tmp . put_u8 (self . rx_buf) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAMED_VALUE_FLOAT_DATA { pub time_boot_ms : u32 , pub value : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl NAMED_VALUE_FLOAT_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0.0_f32 , name : [0_u8 ; 10usize] , } ; } impl Default for NAMED_VALUE_FLOAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAMED_VALUE_FLOAT_DATA { type Message = MavMessage ; const ID : u32 = 251u32 ; const NAME : & 'static str = "NAMED_VALUE_FLOAT" ; const EXTRA_CRC : u8 = 170u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_f32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . value) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SERVO_OUTPUT_RAW_DATA { pub time_usec : u32 , pub servo1_raw : u16 , pub servo2_raw : u16 , pub servo3_raw : u16 , pub servo4_raw : u16 , pub servo5_raw : u16 , pub servo6_raw : u16 , pub servo7_raw : u16 , pub servo8_raw : u16 , pub port : u8 , } impl SERVO_OUTPUT_RAW_DATA { pub const ENCODED_LEN : usize = 21usize ; pub const DEFAULT : Self = Self { time_usec : 0_u32 , servo1_raw : 0_u16 , servo2_raw : 0_u16 , servo3_raw : 0_u16 , servo4_raw : 0_u16 , servo5_raw : 0_u16 , servo6_raw : 0_u16 , servo7_raw : 0_u16 , servo8_raw : 0_u16 , port : 0_u8 , } ; } impl Default for SERVO_OUTPUT_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SERVO_OUTPUT_RAW_DATA { type Message = MavMessage ; const ID : u32 = 36u32 ; const NAME : & 'static str = "SERVO_OUTPUT_RAW" ; const EXTRA_CRC : u8 = 222u8 ; const ENCODED_LEN : usize = 21usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u32_le () ; __struct . servo1_raw = buf . get_u16_le () ; __struct . servo2_raw = buf . get_u16_le () ; __struct . servo3_raw = buf . get_u16_le () ; __struct . servo4_raw = buf . get_u16_le () ; __struct . servo5_raw = buf . get_u16_le () ; __struct . servo6_raw = buf . get_u16_le () ; __struct . servo7_raw = buf . get_u16_le () ; __struct . servo8_raw = buf . get_u16_le () ; __struct . port = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_usec) ; __tmp . put_u16_le (self . servo1_raw) ; __tmp . put_u16_le (self . servo2_raw) ; __tmp . put_u16_le (self . servo3_raw) ; __tmp . put_u16_le (self . servo4_raw) ; __tmp . put_u16_le (self . servo5_raw) ; __tmp . put_u16_le (self . servo6_raw) ; __tmp . put_u16_le (self . servo7_raw) ; __tmp . put_u16_le (self . servo8_raw) ; __tmp . put_u8 (self . port) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CELLULAR_STATUS_DATA { pub mcc : u16 , pub mnc : u16 , pub lac : u16 , pub status : CellularStatusFlag , pub failure_reason : CellularNetworkFailedReason , pub mavtype : CellularNetworkRadioType , pub quality : u8 , } impl CELLULAR_STATUS_DATA { pub const ENCODED_LEN : usize = 10usize ; pub const DEFAULT : Self = Self { mcc : 0_u16 , mnc : 0_u16 , lac : 0_u16 , status : CellularStatusFlag :: DEFAULT , failure_reason : CellularNetworkFailedReason :: DEFAULT , mavtype : CellularNetworkRadioType :: DEFAULT , quality : 0_u8 , } ; } impl Default for CELLULAR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CELLULAR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 334u32 ; const NAME : & 'static str = "CELLULAR_STATUS" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 10usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mcc = buf . get_u16_le () ; __struct . mnc = buf . get_u16_le () ; __struct . lac = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularStatusFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . failure_reason = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularNetworkFailedReason" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularNetworkRadioType" , value : tmp as u32 }) ? ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . mcc) ; __tmp . put_u16_le (self . mnc) ; __tmp . put_u16_le (self . lac) ; __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . failure_reason as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_LOCATION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude_barometric : f32 , pub altitude_geodetic : f32 , pub height : f32 , pub timestamp : f32 , pub direction : u16 , pub speed_horizontal : u16 , pub speed_vertical : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub status : MavOdidStatus , pub height_reference : MavOdidHeightRef , pub horizontal_accuracy : MavOdidHorAcc , pub vertical_accuracy : MavOdidVerAcc , pub barometer_accuracy : MavOdidVerAcc , pub speed_accuracy : MavOdidSpeedAcc , pub timestamp_accuracy : MavOdidTimeAcc , } impl OPEN_DRONE_ID_LOCATION_DATA { pub const ENCODED_LEN : usize = 59usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude_barometric : 0.0_f32 , altitude_geodetic : 0.0_f32 , height : 0.0_f32 , timestamp : 0.0_f32 , direction : 0_u16 , speed_horizontal : 0_u16 , speed_vertical : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , status : MavOdidStatus :: DEFAULT , height_reference : MavOdidHeightRef :: DEFAULT , horizontal_accuracy : MavOdidHorAcc :: DEFAULT , vertical_accuracy : MavOdidVerAcc :: DEFAULT , barometer_accuracy : MavOdidVerAcc :: DEFAULT , speed_accuracy : MavOdidSpeedAcc :: DEFAULT , timestamp_accuracy : MavOdidTimeAcc :: DEFAULT , } ; } impl Default for OPEN_DRONE_ID_LOCATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_LOCATION_DATA { type Message = MavMessage ; const ID : u32 = 12901u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_LOCATION" ; const EXTRA_CRC : u8 = 254u8 ; const ENCODED_LEN : usize = 59usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude_barometric = buf . get_f32_le () ; __struct . altitude_geodetic = buf . get_f32_le () ; __struct . height = buf . get_f32_le () ; __struct . timestamp = buf . get_f32_le () ; __struct . direction = buf . get_u16_le () ; __struct . speed_horizontal = buf . get_u16_le () ; __struct . speed_vertical = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . height_reference = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidHeightRef" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . horizontal_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidHorAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . vertical_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidVerAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . barometer_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidVerAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . speed_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidSpeedAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . timestamp_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidTimeAcc" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_f32_le (self . altitude_barometric) ; __tmp . put_f32_le (self . altitude_geodetic) ; __tmp . put_f32_le (self . height) ; __tmp . put_f32_le (self . timestamp) ; __tmp . put_u16_le (self . direction) ; __tmp . put_u16_le (self . speed_horizontal) ; __tmp . put_i16_le (self . speed_vertical) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . height_reference as u8) ; __tmp . put_u8 (self . horizontal_accuracy as u8) ; __tmp . put_u8 (self . vertical_accuracy as u8) ; __tmp . put_u8 (self . barometer_accuracy as u8) ; __tmp . put_u8 (self . speed_accuracy as u8) ; __tmp . put_u8 (self . timestamp_accuracy as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_FLOAT_ARRAY_DATA { pub time_usec : u64 , pub array_id : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl DEBUG_FLOAT_ARRAY_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , array_id : 0_u16 , name : [0_u8 ; 10usize] , } ; } impl Default for DEBUG_FLOAT_ARRAY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_FLOAT_ARRAY_DATA { type Message = MavMessage ; const ID : u32 = 350u32 ; const NAME : & 'static str = "DEBUG_FLOAT_ARRAY" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . array_id = buf . get_u16_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u16_le (self . array_id) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POWER_STATUS_DATA { pub Vcc : u16 , pub Vservo : u16 , pub flags : MavPowerStatus , } impl POWER_STATUS_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { Vcc : 0_u16 , Vservo : 0_u16 , flags : MavPowerStatus :: DEFAULT , } ; } impl Default for POWER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POWER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 125u32 ; const NAME : & 'static str = "POWER_STATUS" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . Vcc = buf . get_u16_le () ; __struct . Vservo = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = MavPowerStatus :: from_bits (tmp & MavPowerStatus :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavPowerStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . Vcc) ; __tmp . put_u16_le (self . Vservo) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub failure_flags : GimbalDeviceErrorFlags , pub flags : GimbalDeviceFlags , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , failure_flags : GimbalDeviceErrorFlags :: DEFAULT , flags : GimbalDeviceFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 285u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_ATTITUDE_STATUS" ; const EXTRA_CRC : u8 = 137u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . failure_flags = GimbalDeviceErrorFlags :: from_bits (tmp & GimbalDeviceErrorFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceErrorFlags" , value : tmp as u32 }) ? ; let tmp = buf . get_u16_le () ; __struct . flags = GimbalDeviceFlags :: from_bits (tmp & GimbalDeviceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u32_le (self . failure_flags . bits ()) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BUTTON_CHANGE_DATA { pub time_boot_ms : u32 , pub last_change_ms : u32 , pub state : u8 , } impl BUTTON_CHANGE_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , last_change_ms : 0_u32 , state : 0_u8 , } ; } impl Default for BUTTON_CHANGE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BUTTON_CHANGE_DATA { type Message = MavMessage ; const ID : u32 = 257u32 ; const NAME : & 'static str = "BUTTON_CHANGE" ; const EXTRA_CRC : u8 = 131u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . last_change_ms = buf . get_u32_le () ; __struct . state = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . last_change_ms) ; __tmp . put_u8 (self . state) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CURRENT_EVENT_SEQUENCE_DATA { pub sequence : u16 , pub flags : MavEventCurrentSequenceFlags , } impl CURRENT_EVENT_SEQUENCE_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , flags : MavEventCurrentSequenceFlags :: DEFAULT , } ; } impl Default for CURRENT_EVENT_SEQUENCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CURRENT_EVENT_SEQUENCE_DATA { type Message = MavMessage ; const ID : u32 = 411u32 ; const NAME : & 'static str = "CURRENT_EVENT_SEQUENCE" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . flags = MavEventCurrentSequenceFlags :: from_bits (tmp & MavEventCurrentSequenceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavEventCurrentSequenceFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_REQUEST_READ_DATA { pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , } impl PARAM_EXT_REQUEST_READ_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , } ; } impl Default for PARAM_EXT_REQUEST_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_REQUEST_READ_DATA { type Message = MavMessage ; const ID : u32 = 320u32 ; const NAME : & 'static str = "PARAM_EXT_REQUEST_READ" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MOUNT_STATUS_DATA { pub pointing_a : i32 , pub pointing_b : i32 , pub pointing_c : i32 , pub target_system : u8 , pub target_component : u8 , } impl MOUNT_STATUS_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { pointing_a : 0_i32 , pointing_b : 0_i32 , pointing_c : 0_i32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MOUNT_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MOUNT_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 158u32 ; const NAME : & 'static str = "MOUNT_STATUS" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . pointing_a = buf . get_i32_le () ; __struct . pointing_b = buf . get_i32_le () ; __struct . pointing_c = buf . get_i32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . pointing_a) ; __tmp . put_i32_le (self . pointing_b) ; __tmp . put_i32_le (self . pointing_c) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_CURRENT_DATA { pub seq : u16 , } impl MISSION_CURRENT_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , } ; } impl Default for MISSION_CURRENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_CURRENT_DATA { type Message = MavMessage ; const ID : u32 = 42u32 ; const NAME : & 'static str = "MISSION_CURRENT" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_VECT_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl DEBUG_VECT_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , name : [0_u8 ; 10usize] , } ; } impl Default for DEBUG_VECT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_VECT_DATA { type Message = MavMessage ; const ID : u32 = 250u32 ; const NAME : & 'static str = "DEBUG_VECT" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_FOV_STATUS_DATA { pub time_boot_ms : u32 , pub lat_camera : i32 , pub lon_camera : i32 , pub alt_camera : i32 , pub lat_image : i32 , pub lon_image : i32 , pub alt_image : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub hfov : f32 , pub vfov : f32 , } impl CAMERA_FOV_STATUS_DATA { pub const ENCODED_LEN : usize = 52usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_camera : 0_i32 , lon_camera : 0_i32 , alt_camera : 0_i32 , lat_image : 0_i32 , lon_image : 0_i32 , alt_image : 0_i32 , q : [0.0_f32 ; 4usize] , hfov : 0.0_f32 , vfov : 0.0_f32 , } ; } impl Default for CAMERA_FOV_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_FOV_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 271u32 ; const NAME : & 'static str = "CAMERA_FOV_STATUS" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 52usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_camera = buf . get_i32_le () ; __struct . lon_camera = buf . get_i32_le () ; __struct . alt_camera = buf . get_i32_le () ; __struct . lat_image = buf . get_i32_le () ; __struct . lon_image = buf . get_i32_le () ; __struct . alt_image = buf . get_i32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . hfov = buf . get_f32_le () ; __struct . vfov = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_camera) ; __tmp . put_i32_le (self . lon_camera) ; __tmp . put_i32_le (self . alt_camera) ; __tmp . put_i32_le (self . lat_image) ; __tmp . put_i32_le (self . lon_image) ; __tmp . put_i32_le (self . alt_image) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . hfov) ; __tmp . put_f32_le (self . vfov) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE3_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE3_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE3_DATA { type Message = MavMessage ; const ID : u32 = 143u32 ; const NAME : & 'static str = "SCALED_PRESSURE3" ; const EXTRA_CRC : u8 = 131u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_REACHED_DATA { pub seq : u16 , } impl MISSION_ITEM_REACHED_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , } ; } impl Default for MISSION_ITEM_REACHED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_REACHED_DATA { type Message = MavMessage ; const ID : u32 = 46u32 ; const NAME : & 'static str = "MISSION_ITEM_REACHED" ; const EXTRA_CRC : u8 = 11u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVIONIX_ADSB_OUT_CFG_DATA { pub ICAO : u32 , pub stallSpeed : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 9] , pub emitterType : AdsbEmitterType , pub aircraftSize : UavionixAdsbOutCfgAircraftSize , pub gpsOffsetLat : UavionixAdsbOutCfgGpsOffsetLat , pub gpsOffsetLon : UavionixAdsbOutCfgGpsOffsetLon , pub rfSelect : UavionixAdsbOutRfSelect , } impl UAVIONIX_ADSB_OUT_CFG_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { ICAO : 0_u32 , stallSpeed : 0_u16 , callsign : [0_u8 ; 9usize] , emitterType : AdsbEmitterType :: DEFAULT , aircraftSize : UavionixAdsbOutCfgAircraftSize :: DEFAULT , gpsOffsetLat : UavionixAdsbOutCfgGpsOffsetLat :: DEFAULT , gpsOffsetLon : UavionixAdsbOutCfgGpsOffsetLon :: DEFAULT , rfSelect : UavionixAdsbOutRfSelect :: DEFAULT , } ; } impl Default for UAVIONIX_ADSB_OUT_CFG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVIONIX_ADSB_OUT_CFG_DATA { type Message = MavMessage ; const ID : u32 = 10001u32 ; const NAME : & 'static str = "UAVIONIX_ADSB_OUT_CFG" ; const EXTRA_CRC : u8 = 209u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ICAO = buf . get_u32_le () ; __struct . stallSpeed = buf . get_u16_le () ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . emitterType = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbEmitterType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . aircraftSize = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutCfgAircraftSize" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . gpsOffsetLat = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutCfgGpsOffsetLat" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . gpsOffsetLon = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutCfgGpsOffsetLon" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . rfSelect = UavionixAdsbOutRfSelect :: from_bits (tmp & UavionixAdsbOutRfSelect :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UavionixAdsbOutRfSelect" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ICAO) ; __tmp . put_u16_le (self . stallSpeed) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . emitterType as u8) ; __tmp . put_u8 (self . aircraftSize as u8) ; __tmp . put_u8 (self . gpsOffsetLat as u8) ; __tmp . put_u8 (self . gpsOffsetLon as u8) ; __tmp . put_u8 (self . rfSelect . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_VALUE_DATA { pub param_value : f32 , pub param_count : u16 , pub param_index : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub param_type : MavParamType , } impl PARAM_VALUE_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { param_value : 0.0_f32 , param_count : 0_u16 , param_index : 0_u16 , param_id : [0_u8 ; 16usize] , param_type : MavParamType :: DEFAULT , } ; } impl Default for PARAM_VALUE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_VALUE_DATA { type Message = MavMessage ; const ID : u32 = 22u32 ; const NAME : & 'static str = "PARAM_VALUE" ; const EXTRA_CRC : u8 = 220u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value = buf . get_f32_le () ; __struct . param_count = buf . get_u16_le () ; __struct . param_index = buf . get_u16_le () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value) ; __tmp . put_u16_le (self . param_count) ; __tmp . put_u16_le (self . param_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VICON_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl VICON_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for VICON_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VICON_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 104u32 ; const NAME : & 'static str = "VICON_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 56u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TIMESYNC_DATA { pub tc1 : i64 , pub ts1 : i64 , } impl TIMESYNC_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { tc1 : 0_i64 , ts1 : 0_i64 , } ; } impl Default for TIMESYNC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TIMESYNC_DATA { type Message = MavMessage ; const ID : u32 = 111u32 ; const NAME : & 'static str = "TIMESYNC" ; const EXTRA_CRC : u8 = 34u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . tc1 = buf . get_i64_le () ; __struct . ts1 = buf . get_i64_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i64_le (self . tc1) ; __tmp . put_i64_le (self . ts1) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MANUAL_CONTROL_DATA { pub x : i16 , pub y : i16 , pub z : i16 , pub r : i16 , pub buttons : u16 , pub target : u8 , } impl MANUAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 11usize ; pub const DEFAULT : Self = Self { x : 0_i16 , y : 0_i16 , z : 0_i16 , r : 0_i16 , buttons : 0_u16 , target : 0_u8 , } ; } impl Default for MANUAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MANUAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 69u32 ; const NAME : & 'static str = "MANUAL_CONTROL" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 11usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . x = buf . get_i16_le () ; __struct . y = buf . get_i16_le () ; __struct . z = buf . get_i16_le () ; __struct . r = buf . get_i16_le () ; __struct . buttons = buf . get_u16_le () ; __struct . target = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . x) ; __tmp . put_i16_le (self . y) ; __tmp . put_i16_le (self . z) ; __tmp . put_i16_le (self . r) ; __tmp . put_u16_le (self . buttons) ; __tmp . put_u8 (self . target) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MEMORY_VECT_DATA { pub address : u16 , pub ver : u8 , pub mavtype : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub value : [i8 ; 32] , } impl MEMORY_VECT_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { address : 0_u16 , ver : 0_u8 , mavtype : 0_u8 , value : [0_i8 ; 32usize] , } ; } impl Default for MEMORY_VECT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MEMORY_VECT_DATA { type Message = MavMessage ; const ID : u32 = 249u32 ; const NAME : & 'static str = "MEMORY_VECT" ; const EXTRA_CRC : u8 = 204u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . address = buf . get_u16_le () ; __struct . ver = buf . get_u8 () ; __struct . mavtype = buf . get_u8 () ; for v in & mut __struct . value { let val = buf . get_i8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . address) ; __tmp . put_u8 (self . ver) ; __tmp . put_u8 (self . mavtype) ; for val in & self . value { __tmp . put_i8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OBSTACLE_DISTANCE_3D_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub min_distance : f32 , pub max_distance : f32 , pub obstacle_id : u16 , pub sensor_type : MavDistanceSensor , pub frame : MavFrame , } impl OBSTACLE_DISTANCE_3D_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , min_distance : 0.0_f32 , max_distance : 0.0_f32 , obstacle_id : 0_u16 , sensor_type : MavDistanceSensor :: DEFAULT , frame : MavFrame :: DEFAULT , } ; } impl Default for OBSTACLE_DISTANCE_3D_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OBSTACLE_DISTANCE_3D_DATA { type Message = MavMessage ; const ID : u32 = 11037u32 ; const NAME : & 'static str = "OBSTACLE_DISTANCE_3D" ; const EXTRA_CRC : u8 = 130u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . min_distance = buf . get_f32_le () ; __struct . max_distance = buf . get_f32_le () ; __struct . obstacle_id = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . sensor_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . min_distance) ; __tmp . put_f32_le (self . max_distance) ; __tmp . put_u16_le (self . obstacle_id) ; __tmp . put_u8 (self . sensor_type as u8) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPONENT_METADATA_DATA { pub time_boot_ms : u32 , pub file_crc : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 100] , } impl COMPONENT_METADATA_DATA { pub const ENCODED_LEN : usize = 108usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , file_crc : 0_u32 , uri : [0_u8 ; 100usize] , } ; } impl Default for COMPONENT_METADATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPONENT_METADATA_DATA { type Message = MavMessage ; const ID : u32 = 397u32 ; const NAME : & 'static str = "COMPONENT_METADATA" ; const EXTRA_CRC : u8 = 182u8 ; const ENCODED_LEN : usize = 108usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . file_crc = buf . get_u32_le () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . file_crc) ; for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_SETTINGS_DATA { pub time_boot_ms : u32 , pub mode_id : CameraMode , } impl CAMERA_SETTINGS_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , mode_id : CameraMode :: DEFAULT , } ; } impl Default for CAMERA_SETTINGS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_SETTINGS_DATA { type Message = MavMessage ; const ID : u32 = 260u32 ; const NAME : & 'static str = "CAMERA_SETTINGS" ; const EXTRA_CRC : u8 = 146u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . mode_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraMode" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u8 (self . mode_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MAG_CAL_REPORT_DATA { pub fitness : f32 , pub ofs_x : f32 , pub ofs_y : f32 , pub ofs_z : f32 , pub diag_x : f32 , pub diag_y : f32 , pub diag_z : f32 , pub offdiag_x : f32 , pub offdiag_y : f32 , pub offdiag_z : f32 , pub compass_id : u8 , pub cal_mask : u8 , pub cal_status : MagCalStatus , pub autosaved : u8 , } impl MAG_CAL_REPORT_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { fitness : 0.0_f32 , ofs_x : 0.0_f32 , ofs_y : 0.0_f32 , ofs_z : 0.0_f32 , diag_x : 0.0_f32 , diag_y : 0.0_f32 , diag_z : 0.0_f32 , offdiag_x : 0.0_f32 , offdiag_y : 0.0_f32 , offdiag_z : 0.0_f32 , compass_id : 0_u8 , cal_mask : 0_u8 , cal_status : MagCalStatus :: DEFAULT , autosaved : 0_u8 , } ; } impl Default for MAG_CAL_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MAG_CAL_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 192u32 ; const NAME : & 'static str = "MAG_CAL_REPORT" ; const EXTRA_CRC : u8 = 36u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . fitness = buf . get_f32_le () ; __struct . ofs_x = buf . get_f32_le () ; __struct . ofs_y = buf . get_f32_le () ; __struct . ofs_z = buf . get_f32_le () ; __struct . diag_x = buf . get_f32_le () ; __struct . diag_y = buf . get_f32_le () ; __struct . diag_z = buf . get_f32_le () ; __struct . offdiag_x = buf . get_f32_le () ; __struct . offdiag_y = buf . get_f32_le () ; __struct . offdiag_z = buf . get_f32_le () ; __struct . compass_id = buf . get_u8 () ; __struct . cal_mask = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . cal_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MagCalStatus" , value : tmp as u32 }) ? ; __struct . autosaved = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . fitness) ; __tmp . put_f32_le (self . ofs_x) ; __tmp . put_f32_le (self . ofs_y) ; __tmp . put_f32_le (self . ofs_z) ; __tmp . put_f32_le (self . diag_x) ; __tmp . put_f32_le (self . diag_y) ; __tmp . put_f32_le (self . diag_z) ; __tmp . put_f32_le (self . offdiag_x) ; __tmp . put_f32_le (self . offdiag_y) ; __tmp . put_f32_le (self . offdiag_z) ; __tmp . put_u8 (self . compass_id) ; __tmp . put_u8 (self . cal_mask) ; __tmp . put_u8 (self . cal_status as u8) ; __tmp . put_u8 (self . autosaved) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SYSTEM_DATA { pub operator_latitude : i32 , pub operator_longitude : i32 , pub area_ceiling : f32 , pub area_floor : f32 , pub operator_altitude_geo : f32 , pub timestamp : u32 , pub area_count : u16 , pub area_radius : u16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub operator_location_type : MavOdidOperatorLocationType , pub classification_type : MavOdidClassificationType , pub category_eu : MavOdidCategoryEu , pub class_eu : MavOdidClassEu , } impl OPEN_DRONE_ID_SYSTEM_DATA { pub const ENCODED_LEN : usize = 54usize ; pub const DEFAULT : Self = Self { operator_latitude : 0_i32 , operator_longitude : 0_i32 , area_ceiling : 0.0_f32 , area_floor : 0.0_f32 , operator_altitude_geo : 0.0_f32 , timestamp : 0_u32 , area_count : 0_u16 , area_radius : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , operator_location_type : MavOdidOperatorLocationType :: DEFAULT , classification_type : MavOdidClassificationType :: DEFAULT , category_eu : MavOdidCategoryEu :: DEFAULT , class_eu : MavOdidClassEu :: DEFAULT , } ; } impl Default for OPEN_DRONE_ID_SYSTEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SYSTEM_DATA { type Message = MavMessage ; const ID : u32 = 12904u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SYSTEM" ; const EXTRA_CRC : u8 = 77u8 ; const ENCODED_LEN : usize = 54usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . operator_latitude = buf . get_i32_le () ; __struct . operator_longitude = buf . get_i32_le () ; __struct . area_ceiling = buf . get_f32_le () ; __struct . area_floor = buf . get_f32_le () ; __struct . operator_altitude_geo = buf . get_f32_le () ; __struct . timestamp = buf . get_u32_le () ; __struct . area_count = buf . get_u16_le () ; __struct . area_radius = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . operator_location_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidOperatorLocationType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . classification_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidClassificationType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . category_eu = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidCategoryEu" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . class_eu = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidClassEu" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . operator_latitude) ; __tmp . put_i32_le (self . operator_longitude) ; __tmp . put_f32_le (self . area_ceiling) ; __tmp . put_f32_le (self . area_floor) ; __tmp . put_f32_le (self . operator_altitude_geo) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u16_le (self . area_count) ; __tmp . put_u16_le (self . area_radius) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . operator_location_type as u8) ; __tmp . put_u8 (self . classification_type as u8) ; __tmp . put_u8 (self . category_eu as u8) ; __tmp . put_u8 (self . class_eu as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_TARGET_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub body_roll_rate : f32 , pub body_pitch_rate : f32 , pub body_yaw_rate : f32 , pub thrust : f32 , pub type_mask : AttitudeTargetTypemask , } impl ATTITUDE_TARGET_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , body_roll_rate : 0.0_f32 , body_pitch_rate : 0.0_f32 , body_yaw_rate : 0.0_f32 , thrust : 0.0_f32 , type_mask : AttitudeTargetTypemask :: DEFAULT , } ; } impl Default for ATTITUDE_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 83u32 ; const NAME : & 'static str = "ATTITUDE_TARGET" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . body_roll_rate = buf . get_f32_le () ; __struct . body_pitch_rate = buf . get_f32_le () ; __struct . body_yaw_rate = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . type_mask = AttitudeTargetTypemask :: from_bits (tmp & AttitudeTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AttitudeTargetTypemask" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . body_roll_rate) ; __tmp . put_f32_le (self . body_pitch_rate) ; __tmp . put_f32_le (self . body_yaw_rate) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . type_mask . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_POSITION_TARGET_GLOBAL_INT_DATA { pub time_boot_ms : u32 , pub lat_int : i32 , pub lon_int : i32 , pub alt : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub target_system : u8 , pub target_component : u8 , pub coordinate_frame : MavFrame , } impl SET_POSITION_TARGET_GLOBAL_INT_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_int : 0_i32 , lon_int : 0_i32 , alt : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for SET_POSITION_TARGET_GLOBAL_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_POSITION_TARGET_GLOBAL_INT_DATA { type Message = MavMessage ; const ID : u32 = 86u32 ; const NAME : & 'static str = "SET_POSITION_TARGET_GLOBAL_INT" ; const EXTRA_CRC : u8 = 5u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_int = buf . get_i32_le () ; __struct . lon_int = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_int) ; __tmp . put_i32_le (self . lon_int) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WINCH_STATUS_DATA { pub time_usec : u64 , pub line_length : f32 , pub speed : f32 , pub tension : f32 , pub voltage : f32 , pub current : f32 , pub status : MavWinchStatusFlag , pub temperature : i16 , } impl WINCH_STATUS_DATA { pub const ENCODED_LEN : usize = 34usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , line_length : 0.0_f32 , speed : 0.0_f32 , tension : 0.0_f32 , voltage : 0.0_f32 , current : 0.0_f32 , status : MavWinchStatusFlag :: DEFAULT , temperature : 0_i16 , } ; } impl Default for WINCH_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WINCH_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 9005u32 ; const NAME : & 'static str = "WINCH_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 34usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . line_length = buf . get_f32_le () ; __struct . speed = buf . get_f32_le () ; __struct . tension = buf . get_f32_le () ; __struct . voltage = buf . get_f32_le () ; __struct . current = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . status = MavWinchStatusFlag :: from_bits (tmp & MavWinchStatusFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavWinchStatusFlag" , value : tmp as u32 }) ? ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . line_length) ; __tmp . put_f32_le (self . speed) ; __tmp . put_f32_le (self . tension) ; __tmp . put_f32_le (self . voltage) ; __tmp . put_f32_le (self . current) ; __tmp . put_u32_le (self . status . bits ()) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_INFORMATION_DATA { pub uid : u64 , pub time_boot_ms : u32 , pub firmware_version : u32 , pub hardware_version : u32 , pub roll_min : f32 , pub roll_max : f32 , pub pitch_min : f32 , pub pitch_max : f32 , pub yaw_min : f32 , pub yaw_max : f32 , pub cap_flags : GimbalDeviceCapFlags , pub custom_cap_flags : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vendor_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub model_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub custom_name : [u8 ; 32] , } impl GIMBAL_DEVICE_INFORMATION_DATA { pub const ENCODED_LEN : usize = 144usize ; pub const DEFAULT : Self = Self { uid : 0_u64 , time_boot_ms : 0_u32 , firmware_version : 0_u32 , hardware_version : 0_u32 , roll_min : 0.0_f32 , roll_max : 0.0_f32 , pitch_min : 0.0_f32 , pitch_max : 0.0_f32 , yaw_min : 0.0_f32 , yaw_max : 0.0_f32 , cap_flags : GimbalDeviceCapFlags :: DEFAULT , custom_cap_flags : 0_u16 , vendor_name : [0_u8 ; 32usize] , model_name : [0_u8 ; 32usize] , custom_name : [0_u8 ; 32usize] , } ; } impl Default for GIMBAL_DEVICE_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 283u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_INFORMATION" ; const EXTRA_CRC : u8 = 74u8 ; const ENCODED_LEN : usize = 144usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . uid = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . firmware_version = buf . get_u32_le () ; __struct . hardware_version = buf . get_u32_le () ; __struct . roll_min = buf . get_f32_le () ; __struct . roll_max = buf . get_f32_le () ; __struct . pitch_min = buf . get_f32_le () ; __struct . pitch_max = buf . get_f32_le () ; __struct . yaw_min = buf . get_f32_le () ; __struct . yaw_max = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . cap_flags = GimbalDeviceCapFlags :: from_bits (tmp & GimbalDeviceCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceCapFlags" , value : tmp as u32 }) ? ; __struct . custom_cap_flags = buf . get_u16_le () ; for v in & mut __struct . vendor_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . model_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . custom_name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . uid) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . firmware_version) ; __tmp . put_u32_le (self . hardware_version) ; __tmp . put_f32_le (self . roll_min) ; __tmp . put_f32_le (self . roll_max) ; __tmp . put_f32_le (self . pitch_min) ; __tmp . put_f32_le (self . pitch_max) ; __tmp . put_f32_le (self . yaw_min) ; __tmp . put_f32_le (self . yaw_max) ; __tmp . put_u16_le (self . cap_flags . bits ()) ; __tmp . put_u16_le (self . custom_cap_flags) ; for val in & self . vendor_name { __tmp . put_u8 (* val) ; } for val in & self . model_name { __tmp . put_u8 (* val) ; } for val in & self . custom_name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ICAROUS_HEARTBEAT_DATA { pub status : IcarousFmsState , } impl ICAROUS_HEARTBEAT_DATA { pub const ENCODED_LEN : usize = 1usize ; pub const DEFAULT : Self = Self { status : IcarousFmsState :: DEFAULT , } ; } impl Default for ICAROUS_HEARTBEAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ICAROUS_HEARTBEAT_DATA { type Message = MavMessage ; const ID : u32 = 42000u32 ; const NAME : & 'static str = "ICAROUS_HEARTBEAT" ; const EXTRA_CRC : u8 = 227u8 ; const ENCODED_LEN : usize = 1usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousFmsState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GOPRO_GET_RESPONSE_DATA { pub cmd_id : GoproCommand , pub status : GoproRequestStatus , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub value : [u8 ; 4] , } impl GOPRO_GET_RESPONSE_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { cmd_id : GoproCommand :: DEFAULT , status : GoproRequestStatus :: DEFAULT , value : [0_u8 ; 4usize] , } ; } impl Default for GOPRO_GET_RESPONSE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GOPRO_GET_RESPONSE_DATA { type Message = MavMessage ; const ID : u32 = 217u32 ; const NAME : & 'static str = "GOPRO_GET_RESPONSE" ; const EXTRA_CRC : u8 = 202u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . cmd_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproCommand" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproRequestStatus" , value : tmp as u32 }) ? ; for v in & mut __struct . value { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . cmd_id as u8) ; __tmp . put_u8 (self . status as u8) ; for val in & self . value { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RAW_INT_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub cog : u16 , pub fix_type : GpsFixType , pub satellites_visible : u8 , } impl GPS_RAW_INT_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , cog : 0_u16 , fix_type : GpsFixType :: DEFAULT , satellites_visible : 0_u8 , } ; } impl Default for GPS_RAW_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RAW_INT_DATA { type Message = MavMessage ; const ID : u32 = 24u32 ; const NAME : & 'static str = "GPS_RAW_INT" ; const EXTRA_CRC : u8 = 24u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . cog = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type as u8) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PING_DATA { pub time_usec : u64 , pub seq : u32 , pub target_system : u8 , pub target_component : u8 , } impl PING_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , seq : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PING_DATA { type Message = MavMessage ; const ID : u32 = 4u32 ; const NAME : & 'static str = "PING" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . seq = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_QUATERNION_DATA { pub time_boot_ms : u32 , pub q1 : f32 , pub q2 : f32 , pub q3 : f32 , pub q4 : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , } impl ATTITUDE_QUATERNION_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q1 : 0.0_f32 , q2 : 0.0_f32 , q3 : 0.0_f32 , q4 : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , } ; } impl Default for ATTITUDE_QUATERNION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_QUATERNION_DATA { type Message = MavMessage ; const ID : u32 = 31u32 ; const NAME : & 'static str = "ATTITUDE_QUATERNION" ; const EXTRA_CRC : u8 = 246u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . q1 = buf . get_f32_le () ; __struct . q2 = buf . get_f32_le () ; __struct . q3 = buf . get_f32_le () ; __struct . q4 = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . q1) ; __tmp . put_f32_le (self . q2) ; __tmp . put_f32_le (self . q3) ; __tmp . put_f32_le (self . q4) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_TELEMETRY_1_TO_4_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltage : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub current : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub totalcurrent : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rpm : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub count : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature : [u8 ; 4] , } impl ESC_TELEMETRY_1_TO_4_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { voltage : [0_u16 ; 4usize] , current : [0_u16 ; 4usize] , totalcurrent : [0_u16 ; 4usize] , rpm : [0_u16 ; 4usize] , count : [0_u16 ; 4usize] , temperature : [0_u8 ; 4usize] , } ; } impl Default for ESC_TELEMETRY_1_TO_4_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_TELEMETRY_1_TO_4_DATA { type Message = MavMessage ; const ID : u32 = 11030u32 ; const NAME : & 'static str = "ESC_TELEMETRY_1_TO_4" ; const EXTRA_CRC : u8 = 144u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . voltage { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . current { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . totalcurrent { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . rpm { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . count { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . temperature { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . voltage { __tmp . put_u16_le (* val) ; } for val in & self . current { __tmp . put_u16_le (* val) ; } for val in & self . totalcurrent { __tmp . put_u16_le (* val) ; } for val in & self . rpm { __tmp . put_u16_le (* val) ; } for val in & self . count { __tmp . put_u16_le (* val) ; } for val in & self . temperature { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HERELINK_VIDEO_STREAM_INFORMATION_DATA { pub framerate : f32 , pub bitrate : u32 , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub camera_id : u8 , pub status : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 230] , } impl HERELINK_VIDEO_STREAM_INFORMATION_DATA { pub const ENCODED_LEN : usize = 246usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , camera_id : 0_u8 , status : 0_u8 , uri : [0_u8 ; 230usize] , } ; } impl Default for HERELINK_VIDEO_STREAM_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HERELINK_VIDEO_STREAM_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 50002u32 ; const NAME : & 'static str = "HERELINK_VIDEO_STREAM_INFORMATION" ; const EXTRA_CRC : u8 = 181u8 ; const ENCODED_LEN : usize = 246usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . camera_id = buf . get_u8 () ; __struct . status = buf . get_u8 () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u8 (self . camera_id) ; __tmp . put_u8 (self . status) ; for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_LONG_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub param5 : f32 , pub param6 : f32 , pub param7 : f32 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub confirmation : u8 , } impl COMMAND_LONG_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , param5 : 0.0_f32 , param6 : 0.0_f32 , param7 : 0.0_f32 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , confirmation : 0_u8 , } ; } impl Default for COMMAND_LONG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_LONG_DATA { type Message = MavMessage ; const ID : u32 = 76u32 ; const NAME : & 'static str = "COMMAND_LONG" ; const EXTRA_CRC : u8 = 152u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . param5 = buf . get_f32_le () ; __struct . param6 = buf . get_f32_le () ; __struct . param7 = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . confirmation = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_f32_le (self . param5) ; __tmp . put_f32_le (self . param6) ; __tmp . put_f32_le (self . param7) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . confirmation) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_INFORMATION_DATA { pub time_boot_ms : u32 , pub cap_flags : GimbalManagerCapFlags , pub roll_min : f32 , pub roll_max : f32 , pub pitch_min : f32 , pub pitch_max : f32 , pub yaw_min : f32 , pub yaw_max : f32 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_INFORMATION_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , cap_flags : GimbalManagerCapFlags :: DEFAULT , roll_min : 0.0_f32 , roll_max : 0.0_f32 , pitch_min : 0.0_f32 , pitch_max : 0.0_f32 , yaw_min : 0.0_f32 , yaw_max : 0.0_f32 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 280u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_INFORMATION" ; const EXTRA_CRC : u8 = 70u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u32_le () ; __struct . cap_flags = GimbalManagerCapFlags :: from_bits (tmp & GimbalManagerCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalManagerCapFlags" , value : tmp as u32 }) ? ; __struct . roll_min = buf . get_f32_le () ; __struct . roll_max = buf . get_f32_le () ; __struct . pitch_min = buf . get_f32_le () ; __struct . pitch_max = buf . get_f32_le () ; __struct . yaw_min = buf . get_f32_le () ; __struct . yaw_max = buf . get_f32_le () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . cap_flags . bits ()) ; __tmp . put_f32_le (self . roll_min) ; __tmp . put_f32_le (self . roll_max) ; __tmp . put_f32_le (self . pitch_min) ; __tmp . put_f32_le (self . pitch_max) ; __tmp . put_f32_le (self . yaw_min) ; __tmp . put_f32_le (self . yaw_max) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU2_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU2_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU2_DATA { type Message = MavMessage ; const ID : u32 = 116u32 ; const NAME : & 'static str = "SCALED_IMU2" ; const EXTRA_CRC : u8 = 76u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AHRS2_DATA { pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub altitude : f32 , pub lat : i32 , pub lng : i32 , } impl AHRS2_DATA { pub const ENCODED_LEN : usize = 24usize ; pub const DEFAULT : Self = Self { roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , altitude : 0.0_f32 , lat : 0_i32 , lng : 0_i32 , } ; } impl Default for AHRS2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AHRS2_DATA { type Message = MavMessage ; const ID : u32 = 178u32 ; const NAME : & 'static str = "AHRS2" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 24usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . altitude = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lng = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . altitude) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lng) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATT_POS_MOCAP_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub x : f32 , pub y : f32 , pub z : f32 , } impl ATT_POS_MOCAP_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , q : [0.0_f32 ; 4usize] , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , } ; } impl Default for ATT_POS_MOCAP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATT_POS_MOCAP_DATA { type Message = MavMessage ; const ID : u32 = 138u32 ; const NAME : & 'static str = "ATT_POS_MOCAP" ; const EXTRA_CRC : u8 = 109u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPTICAL_FLOW_RAD_DATA { pub time_usec : u64 , pub integration_time_us : u32 , pub integrated_x : f32 , pub integrated_y : f32 , pub integrated_xgyro : f32 , pub integrated_ygyro : f32 , pub integrated_zgyro : f32 , pub time_delta_distance_us : u32 , pub distance : f32 , pub temperature : i16 , pub sensor_id : u8 , pub quality : u8 , } impl OPTICAL_FLOW_RAD_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , integration_time_us : 0_u32 , integrated_x : 0.0_f32 , integrated_y : 0.0_f32 , integrated_xgyro : 0.0_f32 , integrated_ygyro : 0.0_f32 , integrated_zgyro : 0.0_f32 , time_delta_distance_us : 0_u32 , distance : 0.0_f32 , temperature : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for OPTICAL_FLOW_RAD_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPTICAL_FLOW_RAD_DATA { type Message = MavMessage ; const ID : u32 = 106u32 ; const NAME : & 'static str = "OPTICAL_FLOW_RAD" ; const EXTRA_CRC : u8 = 138u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . integration_time_us = buf . get_u32_le () ; __struct . integrated_x = buf . get_f32_le () ; __struct . integrated_y = buf . get_f32_le () ; __struct . integrated_xgyro = buf . get_f32_le () ; __struct . integrated_ygyro = buf . get_f32_le () ; __struct . integrated_zgyro = buf . get_f32_le () ; __struct . time_delta_distance_us = buf . get_u32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . integration_time_us) ; __tmp . put_f32_le (self . integrated_x) ; __tmp . put_f32_le (self . integrated_y) ; __tmp . put_f32_le (self . integrated_xgyro) ; __tmp . put_f32_le (self . integrated_ygyro) ; __tmp . put_f32_le (self . integrated_zgyro) ; __tmp . put_u32_le (self . time_delta_distance_us) ; __tmp . put_f32_le (self . distance) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAV_CONTROLLER_OUTPUT_DATA { pub nav_roll : f32 , pub nav_pitch : f32 , pub alt_error : f32 , pub aspd_error : f32 , pub xtrack_error : f32 , pub nav_bearing : i16 , pub target_bearing : i16 , pub wp_dist : u16 , } impl NAV_CONTROLLER_OUTPUT_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { nav_roll : 0.0_f32 , nav_pitch : 0.0_f32 , alt_error : 0.0_f32 , aspd_error : 0.0_f32 , xtrack_error : 0.0_f32 , nav_bearing : 0_i16 , target_bearing : 0_i16 , wp_dist : 0_u16 , } ; } impl Default for NAV_CONTROLLER_OUTPUT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAV_CONTROLLER_OUTPUT_DATA { type Message = MavMessage ; const ID : u32 = 62u32 ; const NAME : & 'static str = "NAV_CONTROLLER_OUTPUT" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . nav_roll = buf . get_f32_le () ; __struct . nav_pitch = buf . get_f32_le () ; __struct . alt_error = buf . get_f32_le () ; __struct . aspd_error = buf . get_f32_le () ; __struct . xtrack_error = buf . get_f32_le () ; __struct . nav_bearing = buf . get_i16_le () ; __struct . target_bearing = buf . get_i16_le () ; __struct . wp_dist = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . nav_roll) ; __tmp . put_f32_le (self . nav_pitch) ; __tmp . put_f32_le (self . alt_error) ; __tmp . put_f32_le (self . aspd_error) ; __tmp . put_f32_le (self . xtrack_error) ; __tmp . put_i16_le (self . nav_bearing) ; __tmp . put_i16_le (self . target_bearing) ; __tmp . put_u16_le (self . wp_dist) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ACK_DATA { pub target_system : u8 , pub target_component : u8 , pub mavtype : MavMissionResult , } impl MISSION_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , mavtype : MavMissionResult :: DEFAULT , } ; } impl Default for MISSION_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ACK_DATA { type Message = MavMessage ; const ID : u32 = 47u32 ; const NAME : & 'static str = "MISSION_ACK" ; const EXTRA_CRC : u8 = 153u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMissionResult" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . mavtype as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_SET_DATA { pub param_value : f32 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub param_type : MavParamType , } impl PARAM_SET_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { param_value : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , param_type : MavParamType :: DEFAULT , } ; } impl Default for PARAM_SET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_SET_DATA { type Message = MavMessage ; const ID : u32 = 23u32 ; const NAME : & 'static str = "PARAM_SET" ; const EXTRA_CRC : u8 = 168u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_DATA { pub time_boot_ms : u32 , pub value : f32 , pub ind : u8 , } impl DEBUG_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0.0_f32 , ind : 0_u8 , } ; } impl Default for DEBUG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_DATA { type Message = MavMessage ; const ID : u32 = 254u32 ; const NAME : & 'static str = "DEBUG" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_f32_le () ; __struct . ind = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . value) ; __tmp . put_u8 (self . ind) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTH_KEY_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub key : [u8 ; 32] , } impl AUTH_KEY_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { key : [0_u8 ; 32usize] , } ; } impl Default for AUTH_KEY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTH_KEY_DATA { type Message = MavMessage ; const ID : u32 = 7u32 ; const NAME : & 'static str = "AUTH_KEY" ; const EXTRA_CRC : u8 = 119u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . key { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . key { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SAFETY_SET_ALLOWED_AREA_DATA { pub p1x : f32 , pub p1y : f32 , pub p1z : f32 , pub p2x : f32 , pub p2y : f32 , pub p2z : f32 , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , } impl SAFETY_SET_ALLOWED_AREA_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { p1x : 0.0_f32 , p1y : 0.0_f32 , p1z : 0.0_f32 , p2x : 0.0_f32 , p2y : 0.0_f32 , p2z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , } ; } impl Default for SAFETY_SET_ALLOWED_AREA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SAFETY_SET_ALLOWED_AREA_DATA { type Message = MavMessage ; const ID : u32 = 54u32 ; const NAME : & 'static str = "SAFETY_SET_ALLOWED_AREA" ; const EXTRA_CRC : u8 = 15u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . p1x = buf . get_f32_le () ; __struct . p1y = buf . get_f32_le () ; __struct . p1z = buf . get_f32_le () ; __struct . p2x = buf . get_f32_le () ; __struct . p2y = buf . get_f32_le () ; __struct . p2z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . p1x) ; __tmp . put_f32_le (self . p1y) ; __tmp . put_f32_le (self . p1z) ; __tmp . put_f32_le (self . p2x) ; __tmp . put_f32_le (self . p2y) ; __tmp . put_f32_le (self . p2z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ICAROUS_KINEMATIC_BANDS_DATA { pub min1 : f32 , pub max1 : f32 , pub min2 : f32 , pub max2 : f32 , pub min3 : f32 , pub max3 : f32 , pub min4 : f32 , pub max4 : f32 , pub min5 : f32 , pub max5 : f32 , pub numBands : i8 , pub type1 : IcarousTrackBandTypes , pub type2 : IcarousTrackBandTypes , pub type3 : IcarousTrackBandTypes , pub type4 : IcarousTrackBandTypes , pub type5 : IcarousTrackBandTypes , } impl ICAROUS_KINEMATIC_BANDS_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { min1 : 0.0_f32 , max1 : 0.0_f32 , min2 : 0.0_f32 , max2 : 0.0_f32 , min3 : 0.0_f32 , max3 : 0.0_f32 , min4 : 0.0_f32 , max4 : 0.0_f32 , min5 : 0.0_f32 , max5 : 0.0_f32 , numBands : 0_i8 , type1 : IcarousTrackBandTypes :: DEFAULT , type2 : IcarousTrackBandTypes :: DEFAULT , type3 : IcarousTrackBandTypes :: DEFAULT , type4 : IcarousTrackBandTypes :: DEFAULT , type5 : IcarousTrackBandTypes :: DEFAULT , } ; } impl Default for ICAROUS_KINEMATIC_BANDS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ICAROUS_KINEMATIC_BANDS_DATA { type Message = MavMessage ; const ID : u32 = 42001u32 ; const NAME : & 'static str = "ICAROUS_KINEMATIC_BANDS" ; const EXTRA_CRC : u8 = 239u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . min1 = buf . get_f32_le () ; __struct . max1 = buf . get_f32_le () ; __struct . min2 = buf . get_f32_le () ; __struct . max2 = buf . get_f32_le () ; __struct . min3 = buf . get_f32_le () ; __struct . max3 = buf . get_f32_le () ; __struct . min4 = buf . get_f32_le () ; __struct . max4 = buf . get_f32_le () ; __struct . min5 = buf . get_f32_le () ; __struct . max5 = buf . get_f32_le () ; __struct . numBands = buf . get_i8 () ; let tmp = buf . get_u8 () ; __struct . type1 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type2 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type3 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type4 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type5 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . min1) ; __tmp . put_f32_le (self . max1) ; __tmp . put_f32_le (self . min2) ; __tmp . put_f32_le (self . max2) ; __tmp . put_f32_le (self . min3) ; __tmp . put_f32_le (self . max3) ; __tmp . put_f32_le (self . min4) ; __tmp . put_f32_le (self . max4) ; __tmp . put_f32_le (self . min5) ; __tmp . put_f32_le (self . max5) ; __tmp . put_i8 (self . numBands) ; __tmp . put_u8 (self . type1 as u8) ; __tmp . put_u8 (self . type2 as u8) ; __tmp . put_u8 (self . type3 as u8) ; __tmp . put_u8 (self . type4 as u8) ; __tmp . put_u8 (self . type5 as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_COUNT_DATA { pub count : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_COUNT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { count : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_COUNT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_COUNT_DATA { type Message = MavMessage ; const ID : u32 = 44u32 ; const NAME : & 'static str = "MISSION_COUNT" ; const EXTRA_CRC : u8 = 221u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . count = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . count) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ADSB_VEHICLE_DATA { pub ICAO_address : u32 , pub lat : i32 , pub lon : i32 , pub altitude : i32 , pub heading : u16 , pub hor_velocity : u16 , pub ver_velocity : i16 , pub flags : AdsbFlags , pub squawk : u16 , pub altitude_type : AdsbAltitudeType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 9] , pub emitter_type : AdsbEmitterType , pub tslc : u8 , } impl ADSB_VEHICLE_DATA { pub const ENCODED_LEN : usize = 38usize ; pub const DEFAULT : Self = Self { ICAO_address : 0_u32 , lat : 0_i32 , lon : 0_i32 , altitude : 0_i32 , heading : 0_u16 , hor_velocity : 0_u16 , ver_velocity : 0_i16 , flags : AdsbFlags :: DEFAULT , squawk : 0_u16 , altitude_type : AdsbAltitudeType :: DEFAULT , callsign : [0_u8 ; 9usize] , emitter_type : AdsbEmitterType :: DEFAULT , tslc : 0_u8 , } ; } impl Default for ADSB_VEHICLE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ADSB_VEHICLE_DATA { type Message = MavMessage ; const ID : u32 = 246u32 ; const NAME : & 'static str = "ADSB_VEHICLE" ; const EXTRA_CRC : u8 = 184u8 ; const ENCODED_LEN : usize = 38usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ICAO_address = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . heading = buf . get_u16_le () ; __struct . hor_velocity = buf . get_u16_le () ; __struct . ver_velocity = buf . get_i16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = AdsbFlags :: from_bits (tmp & AdsbFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AdsbFlags" , value : tmp as u32 }) ? ; __struct . squawk = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . altitude_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbAltitudeType" , value : tmp as u32 }) ? ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . emitter_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbEmitterType" , value : tmp as u32 }) ? ; __struct . tslc = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ICAO_address) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_u16_le (self . heading) ; __tmp . put_u16_le (self . hor_velocity) ; __tmp . put_i16_le (self . ver_velocity) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u16_le (self . squawk) ; __tmp . put_u8 (self . altitude_type as u8) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . emitter_type as u8) ; __tmp . put_u8 (self . tslc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ENCAPSULATED_DATA_DATA { pub seqnr : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 253] , } impl ENCAPSULATED_DATA_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { seqnr : 0_u16 , data : [0_u8 ; 253usize] , } ; } impl Default for ENCAPSULATED_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ENCAPSULATED_DATA_DATA { type Message = MavMessage ; const ID : u32 = 131u32 ; const NAME : & 'static str = "ENCAPSULATED_DATA" ; const EXTRA_CRC : u8 = 223u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seqnr = buf . get_u16_le () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seqnr) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE_DATA { type Message = MavMessage ; const ID : u32 = 29u32 ; const NAME : & 'static str = "SCALED_PRESSURE" ; const EXTRA_CRC : u8 = 115u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MOUNT_CONFIGURE_DATA { pub target_system : u8 , pub target_component : u8 , pub mount_mode : MavMountMode , pub stab_roll : u8 , pub stab_pitch : u8 , pub stab_yaw : u8 , } impl MOUNT_CONFIGURE_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , mount_mode : MavMountMode :: DEFAULT , stab_roll : 0_u8 , stab_pitch : 0_u8 , stab_yaw : 0_u8 , } ; } impl Default for MOUNT_CONFIGURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MOUNT_CONFIGURE_DATA { type Message = MavMessage ; const ID : u32 = 156u32 ; const NAME : & 'static str = "MOUNT_CONFIGURE" ; const EXTRA_CRC : u8 = 19u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mount_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMountMode" , value : tmp as u32 }) ? ; __struct . stab_roll = buf . get_u8 () ; __struct . stab_pitch = buf . get_u8 () ; __struct . stab_yaw = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . mount_mode as u8) ; __tmp . put_u8 (self . stab_roll) ; __tmp . put_u8 (self . stab_pitch) ; __tmp . put_u8 (self . stab_yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OSD_PARAM_CONFIG_REPLY_DATA { pub request_id : u32 , pub result : OsdParamConfigError , } impl OSD_PARAM_CONFIG_REPLY_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , result : OsdParamConfigError :: DEFAULT , } ; } impl Default for OSD_PARAM_CONFIG_REPLY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OSD_PARAM_CONFIG_REPLY_DATA { type Message = MavMessage ; const ID : u32 = 11034u32 ; const NAME : & 'static str = "OSD_PARAM_CONFIG_REPLY" ; const EXTRA_CRC : u8 = 79u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "OsdParamConfigError" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_u8 (self . result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SETUP_SIGNING_DATA { pub initial_timestamp : u64 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub secret_key : [u8 ; 32] , } impl SETUP_SIGNING_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { initial_timestamp : 0_u64 , target_system : 0_u8 , target_component : 0_u8 , secret_key : [0_u8 ; 32usize] , } ; } impl Default for SETUP_SIGNING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SETUP_SIGNING_DATA { type Message = MavMessage ; const ID : u32 = 256u32 ; const NAME : & 'static str = "SETUP_SIGNING" ; const EXTRA_CRC : u8 = 71u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . initial_timestamp = buf . get_u64_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . secret_key { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . initial_timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . secret_key { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA32_DATA { pub mavtype : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 32] , } impl DATA32_DATA { pub const ENCODED_LEN : usize = 34usize ; pub const DEFAULT : Self = Self { mavtype : 0_u8 , len : 0_u8 , data : [0_u8 ; 32usize] , } ; } impl Default for DATA32_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA32_DATA { type Message = MavMessage ; const ID : u32 = 170u32 ; const NAME : & 'static str = "DATA32" ; const EXTRA_CRC : u8 = 73u8 ; const ENCODED_LEN : usize = 34usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mavtype = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . mavtype) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { type Message = MavMessage ; const ID : u32 = 89u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET" ; const EXTRA_CRC : u8 = 231u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TUNNEL_DATA { pub payload_type : MavTunnelPayloadType , pub target_system : u8 , pub target_component : u8 , pub payload_length : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 128] , } impl TUNNEL_DATA { pub const ENCODED_LEN : usize = 133usize ; pub const DEFAULT : Self = Self { payload_type : MavTunnelPayloadType :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , payload_length : 0_u8 , payload : [0_u8 ; 128usize] , } ; } impl Default for TUNNEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TUNNEL_DATA { type Message = MavMessage ; const ID : u32 = 385u32 ; const NAME : & 'static str = "TUNNEL" ; const EXTRA_CRC : u8 = 147u8 ; const ENCODED_LEN : usize = 133usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . payload_type = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavTunnelPayloadType" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . payload_length = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . payload_type as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . payload_length) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA96_DATA { pub mavtype : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 96] , } impl DATA96_DATA { pub const ENCODED_LEN : usize = 98usize ; pub const DEFAULT : Self = Self { mavtype : 0_u8 , len : 0_u8 , data : [0_u8 ; 96usize] , } ; } impl Default for DATA96_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA96_DATA { type Message = MavMessage ; const ID : u32 = 172u32 ; const NAME : & 'static str = "DATA96" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 98usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mavtype = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . mavtype) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESTIMATOR_STATUS_DATA { pub time_usec : u64 , pub vel_ratio : f32 , pub pos_horiz_ratio : f32 , pub pos_vert_ratio : f32 , pub mag_ratio : f32 , pub hagl_ratio : f32 , pub tas_ratio : f32 , pub pos_horiz_accuracy : f32 , pub pos_vert_accuracy : f32 , pub flags : EstimatorStatusFlags , } impl ESTIMATOR_STATUS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , vel_ratio : 0.0_f32 , pos_horiz_ratio : 0.0_f32 , pos_vert_ratio : 0.0_f32 , mag_ratio : 0.0_f32 , hagl_ratio : 0.0_f32 , tas_ratio : 0.0_f32 , pos_horiz_accuracy : 0.0_f32 , pos_vert_accuracy : 0.0_f32 , flags : EstimatorStatusFlags :: DEFAULT , } ; } impl Default for ESTIMATOR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESTIMATOR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 230u32 ; const NAME : & 'static str = "ESTIMATOR_STATUS" ; const EXTRA_CRC : u8 = 163u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . vel_ratio = buf . get_f32_le () ; __struct . pos_horiz_ratio = buf . get_f32_le () ; __struct . pos_vert_ratio = buf . get_f32_le () ; __struct . mag_ratio = buf . get_f32_le () ; __struct . hagl_ratio = buf . get_f32_le () ; __struct . tas_ratio = buf . get_f32_le () ; __struct . pos_horiz_accuracy = buf . get_f32_le () ; __struct . pos_vert_accuracy = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = EstimatorStatusFlags :: from_bits (tmp & EstimatorStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EstimatorStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . vel_ratio) ; __tmp . put_f32_le (self . pos_horiz_ratio) ; __tmp . put_f32_le (self . pos_vert_ratio) ; __tmp . put_f32_le (self . mag_ratio) ; __tmp . put_f32_le (self . hagl_ratio) ; __tmp . put_f32_le (self . tas_ratio) ; __tmp . put_f32_le (self . pos_horiz_accuracy) ; __tmp . put_f32_le (self . pos_vert_accuracy) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ALTITUDE_DATA { pub time_usec : u64 , pub altitude_monotonic : f32 , pub altitude_amsl : f32 , pub altitude_local : f32 , pub altitude_relative : f32 , pub altitude_terrain : f32 , pub bottom_clearance : f32 , } impl ALTITUDE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , altitude_monotonic : 0.0_f32 , altitude_amsl : 0.0_f32 , altitude_local : 0.0_f32 , altitude_relative : 0.0_f32 , altitude_terrain : 0.0_f32 , bottom_clearance : 0.0_f32 , } ; } impl Default for ALTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ALTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 141u32 ; const NAME : & 'static str = "ALTITUDE" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . altitude_monotonic = buf . get_f32_le () ; __struct . altitude_amsl = buf . get_f32_le () ; __struct . altitude_local = buf . get_f32_le () ; __struct . altitude_relative = buf . get_f32_le () ; __struct . altitude_terrain = buf . get_f32_le () ; __struct . bottom_clearance = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . altitude_monotonic) ; __tmp . put_f32_le (self . altitude_amsl) ; __tmp . put_f32_le (self . altitude_local) ; __tmp . put_f32_le (self . altitude_relative) ; __tmp . put_f32_le (self . altitude_terrain) ; __tmp . put_f32_le (self . bottom_clearance) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RTCM_DATA_DATA { pub flags : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 180] , } impl GPS_RTCM_DATA_DATA { pub const ENCODED_LEN : usize = 182usize ; pub const DEFAULT : Self = Self { flags : 0_u8 , len : 0_u8 , data : [0_u8 ; 180usize] , } ; } impl Default for GPS_RTCM_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RTCM_DATA_DATA { type Message = MavMessage ; const ID : u32 = 233u32 ; const NAME : & 'static str = "GPS_RTCM_DATA" ; const EXTRA_CRC : u8 = 35u8 ; const ENCODED_LEN : usize = 182usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . flags = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . flags) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU3_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU3_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU3_DATA { type Message = MavMessage ; const ID : u32 = 129u32 ; const NAME : & 'static str = "SCALED_IMU3" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_VERSION_DATA { pub capabilities : MavProtocolCapability , pub uid : u64 , pub flight_sw_version : u32 , pub middleware_sw_version : u32 , pub os_sw_version : u32 , pub board_version : u32 , pub vendor_id : u16 , pub product_id : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub flight_custom_version : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub middleware_custom_version : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub os_custom_version : [u8 ; 8] , } impl AUTOPILOT_VERSION_DATA { pub const ENCODED_LEN : usize = 60usize ; pub const DEFAULT : Self = Self { capabilities : MavProtocolCapability :: DEFAULT , uid : 0_u64 , flight_sw_version : 0_u32 , middleware_sw_version : 0_u32 , os_sw_version : 0_u32 , board_version : 0_u32 , vendor_id : 0_u16 , product_id : 0_u16 , flight_custom_version : [0_u8 ; 8usize] , middleware_custom_version : [0_u8 ; 8usize] , os_custom_version : [0_u8 ; 8usize] , } ; } impl Default for AUTOPILOT_VERSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_VERSION_DATA { type Message = MavMessage ; const ID : u32 = 148u32 ; const NAME : & 'static str = "AUTOPILOT_VERSION" ; const EXTRA_CRC : u8 = 178u8 ; const ENCODED_LEN : usize = 60usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u64_le () ; __struct . capabilities = MavProtocolCapability :: from_bits (tmp & MavProtocolCapability :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavProtocolCapability" , value : tmp as u32 }) ? ; __struct . uid = buf . get_u64_le () ; __struct . flight_sw_version = buf . get_u32_le () ; __struct . middleware_sw_version = buf . get_u32_le () ; __struct . os_sw_version = buf . get_u32_le () ; __struct . board_version = buf . get_u32_le () ; __struct . vendor_id = buf . get_u16_le () ; __struct . product_id = buf . get_u16_le () ; for v in & mut __struct . flight_custom_version { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . middleware_custom_version { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . os_custom_version { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . capabilities . bits ()) ; __tmp . put_u64_le (self . uid) ; __tmp . put_u32_le (self . flight_sw_version) ; __tmp . put_u32_le (self . middleware_sw_version) ; __tmp . put_u32_le (self . os_sw_version) ; __tmp . put_u32_le (self . board_version) ; __tmp . put_u16_le (self . vendor_id) ; __tmp . put_u16_le (self . product_id) ; for val in & self . flight_custom_version { __tmp . put_u8 (* val) ; } for val in & self . middleware_custom_version { __tmp . put_u8 (* val) ; } for val in & self . os_custom_version { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_HOME_POSITION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub approach_x : f32 , pub approach_y : f32 , pub approach_z : f32 , pub target_system : u8 , } impl SET_HOME_POSITION_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , approach_x : 0.0_f32 , approach_y : 0.0_f32 , approach_z : 0.0_f32 , target_system : 0_u8 , } ; } impl Default for SET_HOME_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_HOME_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 243u32 ; const NAME : & 'static str = "SET_HOME_POSITION" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . approach_x = buf . get_f32_le () ; __struct . approach_y = buf . get_f32_le () ; __struct . approach_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . approach_x) ; __tmp . put_f32_le (self . approach_y) ; __tmp . put_f32_le (self . approach_z) ; __tmp . put_u8 (self . target_system) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_CONTROL_DATA { pub demanded_rate_x : f32 , pub demanded_rate_y : f32 , pub demanded_rate_z : f32 , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { demanded_rate_x : 0.0_f32 , demanded_rate_y : 0.0_f32 , demanded_rate_z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 201u32 ; const NAME : & 'static str = "GIMBAL_CONTROL" ; const EXTRA_CRC : u8 = 205u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . demanded_rate_x = buf . get_f32_le () ; __struct . demanded_rate_y = buf . get_f32_le () ; __struct . demanded_rate_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . demanded_rate_x) ; __tmp . put_f32_le (self . demanded_rate_y) ; __tmp . put_f32_le (self . demanded_rate_z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GOPRO_HEARTBEAT_DATA { pub status : GoproHeartbeatStatus , pub capture_mode : GoproCaptureMode , pub flags : GoproHeartbeatFlags , } impl GOPRO_HEARTBEAT_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { status : GoproHeartbeatStatus :: DEFAULT , capture_mode : GoproCaptureMode :: DEFAULT , flags : GoproHeartbeatFlags :: DEFAULT , } ; } impl Default for GOPRO_HEARTBEAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GOPRO_HEARTBEAT_DATA { type Message = MavMessage ; const ID : u32 = 215u32 ; const NAME : & 'static str = "GOPRO_HEARTBEAT" ; const EXTRA_CRC : u8 = 101u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproHeartbeatStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . capture_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproCaptureMode" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = GoproHeartbeatFlags :: from_bits (tmp & GoproHeartbeatFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GoproHeartbeatFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . capture_mode as u8) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_STATE_QUATERNION_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub attitude_quaternion : [f32 ; 4] , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub ind_airspeed : u16 , pub true_airspeed : u16 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , } impl HIL_STATE_QUATERNION_DATA { pub const ENCODED_LEN : usize = 64usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , attitude_quaternion : [0.0_f32 ; 4usize] , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , ind_airspeed : 0_u16 , true_airspeed : 0_u16 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , } ; } impl Default for HIL_STATE_QUATERNION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_STATE_QUATERNION_DATA { type Message = MavMessage ; const ID : u32 = 115u32 ; const NAME : & 'static str = "HIL_STATE_QUATERNION" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 64usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . attitude_quaternion { let val = buf . get_f32_le () ; * v = val ; } __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . ind_airspeed = buf . get_u16_le () ; __struct . true_airspeed = buf . get_u16_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . attitude_quaternion { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . ind_airspeed) ; __tmp . put_u16_le (self . true_airspeed) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_REPORT_DATA { pub lat : i32 , pub lon : i32 , pub terrain_height : f32 , pub current_height : f32 , pub spacing : u16 , pub pending : u16 , pub loaded : u16 , } impl TERRAIN_REPORT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , terrain_height : 0.0_f32 , current_height : 0.0_f32 , spacing : 0_u16 , pending : 0_u16 , loaded : 0_u16 , } ; } impl Default for TERRAIN_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 136u32 ; const NAME : & 'static str = "TERRAIN_REPORT" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . terrain_height = buf . get_f32_le () ; __struct . current_height = buf . get_f32_le () ; __struct . spacing = buf . get_u16_le () ; __struct . pending = buf . get_u16_le () ; __struct . loaded = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . terrain_height) ; __tmp . put_f32_le (self . current_height) ; __tmp . put_u16_le (self . spacing) ; __tmp . put_u16_le (self . pending) ; __tmp . put_u16_le (self . loaded) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIND_DATA { pub direction : f32 , pub speed : f32 , pub speed_z : f32 , } impl WIND_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { direction : 0.0_f32 , speed : 0.0_f32 , speed_z : 0.0_f32 , } ; } impl Default for WIND_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIND_DATA { type Message = MavMessage ; const ID : u32 = 168u32 ; const NAME : & 'static str = "WIND" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . direction = buf . get_f32_le () ; __struct . speed = buf . get_f32_le () ; __struct . speed_z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . direction) ; __tmp . put_f32_le (self . speed) ; __tmp . put_f32_le (self . speed_z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_PRESSURE_DATA { pub time_usec : u64 , pub press_abs : i16 , pub press_diff1 : i16 , pub press_diff2 : i16 , pub temperature : i16 , } impl RAW_PRESSURE_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , press_abs : 0_i16 , press_diff1 : 0_i16 , press_diff2 : 0_i16 , temperature : 0_i16 , } ; } impl Default for RAW_PRESSURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_PRESSURE_DATA { type Message = MavMessage ; const ID : u32 = 28u32 ; const NAME : & 'static str = "RAW_PRESSURE" ; const EXTRA_CRC : u8 = 67u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . press_abs = buf . get_i16_le () ; __struct . press_diff1 = buf . get_i16_le () ; __struct . press_diff2 = buf . get_i16_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i16_le (self . press_abs) ; __tmp . put_i16_le (self . press_diff1) ; __tmp . put_i16_le (self . press_diff2) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_WRITE_PARTIAL_LIST_DATA { pub start_index : i16 , pub end_index : i16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_WRITE_PARTIAL_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start_index : 0_i16 , end_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_WRITE_PARTIAL_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_WRITE_PARTIAL_LIST_DATA { type Message = MavMessage ; const ID : u32 = 38u32 ; const NAME : & 'static str = "MISSION_WRITE_PARTIAL_LIST" ; const EXTRA_CRC : u8 = 9u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start_index = buf . get_i16_le () ; __struct . end_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . start_index) ; __tmp . put_i16_le (self . end_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CUBEPILOT_FIRMWARE_UPDATE_START_DATA { pub size : u32 , pub crc : u32 , pub target_system : u8 , pub target_component : u8 , } impl CUBEPILOT_FIRMWARE_UPDATE_START_DATA { pub const ENCODED_LEN : usize = 10usize ; pub const DEFAULT : Self = Self { size : 0_u32 , crc : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for CUBEPILOT_FIRMWARE_UPDATE_START_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CUBEPILOT_FIRMWARE_UPDATE_START_DATA { type Message = MavMessage ; const ID : u32 = 50004u32 ; const NAME : & 'static str = "CUBEPILOT_FIRMWARE_UPDATE_START" ; const EXTRA_CRC : u8 = 240u8 ; const ENCODED_LEN : usize = 10usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . size = buf . get_u32_le () ; __struct . crc = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . size) ; __tmp . put_u32_le (self . crc) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GENERATOR_STATUS_DATA { pub status : MavGeneratorStatusFlag , pub battery_current : f32 , pub load_current : f32 , pub power_generated : f32 , pub bus_voltage : f32 , pub bat_current_setpoint : f32 , pub runtime : u32 , pub time_until_maintenance : i32 , pub generator_speed : u16 , pub rectifier_temperature : i16 , pub generator_temperature : i16 , } impl GENERATOR_STATUS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { status : MavGeneratorStatusFlag :: DEFAULT , battery_current : 0.0_f32 , load_current : 0.0_f32 , power_generated : 0.0_f32 , bus_voltage : 0.0_f32 , bat_current_setpoint : 0.0_f32 , runtime : 0_u32 , time_until_maintenance : 0_i32 , generator_speed : 0_u16 , rectifier_temperature : 0_i16 , generator_temperature : 0_i16 , } ; } impl Default for GENERATOR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GENERATOR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 373u32 ; const NAME : & 'static str = "GENERATOR_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u64_le () ; __struct . status = MavGeneratorStatusFlag :: from_bits (tmp & MavGeneratorStatusFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavGeneratorStatusFlag" , value : tmp as u32 }) ? ; __struct . battery_current = buf . get_f32_le () ; __struct . load_current = buf . get_f32_le () ; __struct . power_generated = buf . get_f32_le () ; __struct . bus_voltage = buf . get_f32_le () ; __struct . bat_current_setpoint = buf . get_f32_le () ; __struct . runtime = buf . get_u32_le () ; __struct . time_until_maintenance = buf . get_i32_le () ; __struct . generator_speed = buf . get_u16_le () ; __struct . rectifier_temperature = buf . get_i16_le () ; __struct . generator_temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . status . bits ()) ; __tmp . put_f32_le (self . battery_current) ; __tmp . put_f32_le (self . load_current) ; __tmp . put_f32_le (self . power_generated) ; __tmp . put_f32_le (self . bus_voltage) ; __tmp . put_f32_le (self . bat_current_setpoint) ; __tmp . put_u32_le (self . runtime) ; __tmp . put_i32_le (self . time_until_maintenance) ; __tmp . put_u16_le (self . generator_speed) ; __tmp . put_i16_le (self . rectifier_temperature) ; __tmp . put_i16_le (self . generator_temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RADIO_DATA { pub rxerrors : u16 , pub fixed : u16 , pub rssi : u8 , pub remrssi : u8 , pub txbuf : u8 , pub noise : u8 , pub remnoise : u8 , } impl RADIO_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { rxerrors : 0_u16 , fixed : 0_u16 , rssi : 0_u8 , remrssi : 0_u8 , txbuf : 0_u8 , noise : 0_u8 , remnoise : 0_u8 , } ; } impl Default for RADIO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RADIO_DATA { type Message = MavMessage ; const ID : u32 = 166u32 ; const NAME : & 'static str = "RADIO" ; const EXTRA_CRC : u8 = 21u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . rxerrors = buf . get_u16_le () ; __struct . fixed = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; __struct . remrssi = buf . get_u8 () ; __struct . txbuf = buf . get_u8 () ; __struct . noise = buf . get_u8 () ; __struct . remnoise = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . rxerrors) ; __tmp . put_u16_le (self . fixed) ; __tmp . put_u8 (self . rssi) ; __tmp . put_u8 (self . remrssi) ; __tmp . put_u8 (self . txbuf) ; __tmp . put_u8 (self . noise) ; __tmp . put_u8 (self . remnoise) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEVICE_OP_READ_DATA { pub request_id : u32 , pub target_system : u8 , pub target_component : u8 , pub bustype : DeviceOpBustype , pub bus : u8 , pub address : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub busname : [u8 ; 40] , pub regstart : u8 , pub count : u8 , } impl DEVICE_OP_READ_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bustype : DeviceOpBustype :: DEFAULT , bus : 0_u8 , address : 0_u8 , busname : [0_u8 ; 40usize] , regstart : 0_u8 , count : 0_u8 , } ; } impl Default for DEVICE_OP_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEVICE_OP_READ_DATA { type Message = MavMessage ; const ID : u32 = 11000u32 ; const NAME : & 'static str = "DEVICE_OP_READ" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . bustype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "DeviceOpBustype" , value : tmp as u32 }) ? ; __struct . bus = buf . get_u8 () ; __struct . address = buf . get_u8 () ; for v in & mut __struct . busname { let val = buf . get_u8 () ; * v = val ; } __struct . regstart = buf . get_u8 () ; __struct . count = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bustype as u8) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . address) ; for val in & self . busname { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . regstart) ; __tmp . put_u8 (self . count) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AIS_VESSEL_DATA { pub MMSI : u32 , pub lat : i32 , pub lon : i32 , pub COG : u16 , pub heading : u16 , pub velocity : u16 , pub dimension_bow : u16 , pub dimension_stern : u16 , pub tslc : u16 , pub flags : AisFlags , pub turn_rate : i8 , pub navigational_status : AisNavStatus , pub mavtype : AisType , pub dimension_port : u8 , pub dimension_starboard : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 7] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 20] , } impl AIS_VESSEL_DATA { pub const ENCODED_LEN : usize = 58usize ; pub const DEFAULT : Self = Self { MMSI : 0_u32 , lat : 0_i32 , lon : 0_i32 , COG : 0_u16 , heading : 0_u16 , velocity : 0_u16 , dimension_bow : 0_u16 , dimension_stern : 0_u16 , tslc : 0_u16 , flags : AisFlags :: DEFAULT , turn_rate : 0_i8 , navigational_status : AisNavStatus :: DEFAULT , mavtype : AisType :: DEFAULT , dimension_port : 0_u8 , dimension_starboard : 0_u8 , callsign : [0_u8 ; 7usize] , name : [0_u8 ; 20usize] , } ; } impl Default for AIS_VESSEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AIS_VESSEL_DATA { type Message = MavMessage ; const ID : u32 = 301u32 ; const NAME : & 'static str = "AIS_VESSEL" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 58usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . MMSI = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . COG = buf . get_u16_le () ; __struct . heading = buf . get_u16_le () ; __struct . velocity = buf . get_u16_le () ; __struct . dimension_bow = buf . get_u16_le () ; __struct . dimension_stern = buf . get_u16_le () ; __struct . tslc = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = AisFlags :: from_bits (tmp & AisFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AisFlags" , value : tmp as u32 }) ? ; __struct . turn_rate = buf . get_i8 () ; let tmp = buf . get_u8 () ; __struct . navigational_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AisNavStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AisType" , value : tmp as u32 }) ? ; __struct . dimension_port = buf . get_u8 () ; __struct . dimension_starboard = buf . get_u8 () ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . MMSI) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . COG) ; __tmp . put_u16_le (self . heading) ; __tmp . put_u16_le (self . velocity) ; __tmp . put_u16_le (self . dimension_bow) ; __tmp . put_u16_le (self . dimension_stern) ; __tmp . put_u16_le (self . tslc) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_i8 (self . turn_rate) ; __tmp . put_u8 (self . navigational_status as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . dimension_port) ; __tmp . put_u8 (self . dimension_starboard) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRACKING_IMAGE_STATUS_DATA { pub point_x : f32 , pub point_y : f32 , pub radius : f32 , pub rec_top_x : f32 , pub rec_top_y : f32 , pub rec_bottom_x : f32 , pub rec_bottom_y : f32 , pub tracking_status : CameraTrackingStatusFlags , pub tracking_mode : CameraTrackingMode , pub target_data : CameraTrackingTargetData , } impl CAMERA_TRACKING_IMAGE_STATUS_DATA { pub const ENCODED_LEN : usize = 31usize ; pub const DEFAULT : Self = Self { point_x : 0.0_f32 , point_y : 0.0_f32 , radius : 0.0_f32 , rec_top_x : 0.0_f32 , rec_top_y : 0.0_f32 , rec_bottom_x : 0.0_f32 , rec_bottom_y : 0.0_f32 , tracking_status : CameraTrackingStatusFlags :: DEFAULT , tracking_mode : CameraTrackingMode :: DEFAULT , target_data : CameraTrackingTargetData :: DEFAULT , } ; } impl Default for CAMERA_TRACKING_IMAGE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRACKING_IMAGE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 275u32 ; const NAME : & 'static str = "CAMERA_TRACKING_IMAGE_STATUS" ; const EXTRA_CRC : u8 = 126u8 ; const ENCODED_LEN : usize = 31usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . point_x = buf . get_f32_le () ; __struct . point_y = buf . get_f32_le () ; __struct . radius = buf . get_f32_le () ; __struct . rec_top_x = buf . get_f32_le () ; __struct . rec_top_y = buf . get_f32_le () ; __struct . rec_bottom_x = buf . get_f32_le () ; __struct . rec_bottom_y = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . tracking_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingStatusFlags" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . tracking_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingMode" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . target_data = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingTargetData" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . point_x) ; __tmp . put_f32_le (self . point_y) ; __tmp . put_f32_le (self . radius) ; __tmp . put_f32_le (self . rec_top_x) ; __tmp . put_f32_le (self . rec_top_y) ; __tmp . put_f32_le (self . rec_bottom_x) ; __tmp . put_f32_le (self . rec_bottom_y) ; __tmp . put_u8 (self . tracking_status as u8) ; __tmp . put_u8 (self . tracking_mode as u8) ; __tmp . put_u8 (self . target_data as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_VALUE_DATA { pub param_count : u16 , pub param_index : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , } impl PARAM_EXT_VALUE_DATA { pub const ENCODED_LEN : usize = 149usize ; pub const DEFAULT : Self = Self { param_count : 0_u16 , param_index : 0_u16 , param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , } ; } impl Default for PARAM_EXT_VALUE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_VALUE_DATA { type Message = MavMessage ; const ID : u32 = 322u32 ; const NAME : & 'static str = "PARAM_EXT_VALUE" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 149usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_count = buf . get_u16_le () ; __struct . param_index = buf . get_u16_le () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . param_count) ; __tmp . put_u16_le (self . param_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVCAN_NODE_STATUS_DATA { pub time_usec : u64 , pub uptime_sec : u32 , pub vendor_specific_status_code : u16 , pub health : UavcanNodeHealth , pub mode : UavcanNodeMode , pub sub_mode : u8 , } impl UAVCAN_NODE_STATUS_DATA { pub const ENCODED_LEN : usize = 17usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime_sec : 0_u32 , vendor_specific_status_code : 0_u16 , health : UavcanNodeHealth :: DEFAULT , mode : UavcanNodeMode :: DEFAULT , sub_mode : 0_u8 , } ; } impl Default for UAVCAN_NODE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVCAN_NODE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 310u32 ; const NAME : & 'static str = "UAVCAN_NODE_STATUS" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 17usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime_sec = buf . get_u32_le () ; __struct . vendor_specific_status_code = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . health = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavcanNodeHealth" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavcanNodeMode" , value : tmp as u32 }) ? ; __struct . sub_mode = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime_sec) ; __tmp . put_u16_le (self . vendor_specific_status_code) ; __tmp . put_u8 (self . health as u8) ; __tmp . put_u8 (self . mode as u8) ; __tmp . put_u8 (self . sub_mode) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TRAJECTORY_REPRESENTATION_BEZIER_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub delta : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_yaw : [f32 ; 5] , pub valid_points : u8 , } impl TRAJECTORY_REPRESENTATION_BEZIER_DATA { pub const ENCODED_LEN : usize = 109usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , pos_x : [0.0_f32 ; 5usize] , pos_y : [0.0_f32 ; 5usize] , pos_z : [0.0_f32 ; 5usize] , delta : [0.0_f32 ; 5usize] , pos_yaw : [0.0_f32 ; 5usize] , valid_points : 0_u8 , } ; } impl Default for TRAJECTORY_REPRESENTATION_BEZIER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TRAJECTORY_REPRESENTATION_BEZIER_DATA { type Message = MavMessage ; const ID : u32 = 333u32 ; const NAME : & 'static str = "TRAJECTORY_REPRESENTATION_BEZIER" ; const EXTRA_CRC : u8 = 231u8 ; const ENCODED_LEN : usize = 109usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . pos_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . delta { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_yaw { let val = buf . get_f32_le () ; * v = val ; } __struct . valid_points = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . pos_x { __tmp . put_f32_le (* val) ; } for val in & self . pos_y { __tmp . put_f32_le (* val) ; } for val in & self . pos_z { __tmp . put_f32_le (* val) ; } for val in & self . delta { __tmp . put_f32_le (* val) ; } for val in & self . pos_yaw { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . valid_points) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WATER_DEPTH_DATA { pub time_boot_ms : u32 , pub lat : i32 , pub lng : i32 , pub alt : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub distance : f32 , pub temperature : f32 , pub id : u8 , pub healthy : u8 , } impl WATER_DEPTH_DATA { pub const ENCODED_LEN : usize = 38usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat : 0_i32 , lng : 0_i32 , alt : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , distance : 0.0_f32 , temperature : 0.0_f32 , id : 0_u8 , healthy : 0_u8 , } ; } impl Default for WATER_DEPTH_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WATER_DEPTH_DATA { type Message = MavMessage ; const ID : u32 = 11038u32 ; const NAME : & 'static str = "WATER_DEPTH" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 38usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lng = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; __struct . id = buf . get_u8 () ; __struct . healthy = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lng) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . distance) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . healthy) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SIM_STATE_DATA { pub q1 : f32 , pub q2 : f32 , pub q3 : f32 , pub q4 : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub lat : f32 , pub lon : f32 , pub alt : f32 , pub std_dev_horz : f32 , pub std_dev_vert : f32 , pub vn : f32 , pub ve : f32 , pub vd : f32 , } impl SIM_STATE_DATA { pub const ENCODED_LEN : usize = 84usize ; pub const DEFAULT : Self = Self { q1 : 0.0_f32 , q2 : 0.0_f32 , q3 : 0.0_f32 , q4 : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , lat : 0.0_f32 , lon : 0.0_f32 , alt : 0.0_f32 , std_dev_horz : 0.0_f32 , std_dev_vert : 0.0_f32 , vn : 0.0_f32 , ve : 0.0_f32 , vd : 0.0_f32 , } ; } impl Default for SIM_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SIM_STATE_DATA { type Message = MavMessage ; const ID : u32 = 108u32 ; const NAME : & 'static str = "SIM_STATE" ; const EXTRA_CRC : u8 = 32u8 ; const ENCODED_LEN : usize = 84usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . q1 = buf . get_f32_le () ; __struct . q2 = buf . get_f32_le () ; __struct . q3 = buf . get_f32_le () ; __struct . q4 = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . lat = buf . get_f32_le () ; __struct . lon = buf . get_f32_le () ; __struct . alt = buf . get_f32_le () ; __struct . std_dev_horz = buf . get_f32_le () ; __struct . std_dev_vert = buf . get_f32_le () ; __struct . vn = buf . get_f32_le () ; __struct . ve = buf . get_f32_le () ; __struct . vd = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . q1) ; __tmp . put_f32_le (self . q2) ; __tmp . put_f32_le (self . q3) ; __tmp . put_f32_le (self . q4) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . lat) ; __tmp . put_f32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . std_dev_horz) ; __tmp . put_f32_le (self . std_dev_vert) ; __tmp . put_f32_le (self . vn) ; __tmp . put_f32_le (self . ve) ; __tmp . put_f32_le (self . vd) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_REQUEST_DATA { pub mask : u64 , pub lat : i32 , pub lon : i32 , pub grid_spacing : u16 , } impl TERRAIN_REQUEST_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { mask : 0_u64 , lat : 0_i32 , lon : 0_i32 , grid_spacing : 0_u16 , } ; } impl Default for TERRAIN_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 133u32 ; const NAME : & 'static str = "TERRAIN_REQUEST" ; const EXTRA_CRC : u8 = 6u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mask = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . grid_spacing = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . mask) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . grid_spacing) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_REQUEST_READ_DATA { pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , } impl PARAM_REQUEST_READ_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , } ; } impl Default for PARAM_REQUEST_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_REQUEST_READ_DATA { type Message = MavMessage ; const ID : u32 = 20u32 ; const NAME : & 'static str = "PARAM_REQUEST_READ" ; const EXTRA_CRC : u8 = 214u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_POSITION_INT_DATA { pub time_boot_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub hdg : u16 , } impl GLOBAL_POSITION_INT_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , hdg : 0_u16 , } ; } impl Default for GLOBAL_POSITION_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_POSITION_INT_DATA { type Message = MavMessage ; const ID : u32 = 33u32 ; const NAME : & 'static str = "GLOBAL_POSITION_INT" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . hdg = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . hdg) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PLAY_TUNE_V2_DATA { pub format : TuneFormat , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub tune : [u8 ; 248] , } impl PLAY_TUNE_V2_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { format : TuneFormat :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , tune : [0_u8 ; 248usize] , } ; } impl Default for PLAY_TUNE_V2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PLAY_TUNE_V2_DATA { type Message = MavMessage ; const ID : u32 = 400u32 ; const NAME : & 'static str = "PLAY_TUNE_V2" ; const EXTRA_CRC : u8 = 110u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . format = TuneFormat :: from_bits (tmp & TuneFormat :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "TuneFormat" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . tune { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . format . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . tune { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_MESSAGE_PACK_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub single_message_size : u8 , pub msg_pack_size : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub messages : [u8 ; 225] , } impl OPEN_DRONE_ID_MESSAGE_PACK_DATA { pub const ENCODED_LEN : usize = 249usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , single_message_size : 0_u8 , msg_pack_size : 0_u8 , messages : [0_u8 ; 225usize] , } ; } impl Default for OPEN_DRONE_ID_MESSAGE_PACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_MESSAGE_PACK_DATA { type Message = MavMessage ; const ID : u32 = 12915u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_MESSAGE_PACK" ; const EXTRA_CRC : u8 = 94u8 ; const ENCODED_LEN : usize = 249usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } __struct . single_message_size = buf . get_u8 () ; __struct . msg_pack_size = buf . get_u8 () ; for v in & mut __struct . messages { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . single_message_size) ; __tmp . put_u8 (self . msg_pack_size) ; for val in & self . messages { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SYSTEM_TIME_DATA { pub time_unix_usec : u64 , pub time_boot_ms : u32 , } impl SYSTEM_TIME_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { time_unix_usec : 0_u64 , time_boot_ms : 0_u32 , } ; } impl Default for SYSTEM_TIME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SYSTEM_TIME_DATA { type Message = MavMessage ; const ID : u32 = 2u32 ; const NAME : & 'static str = "SYSTEM_TIME" ; const EXTRA_CRC : u8 = 137u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_unix_usec = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_unix_usec) ; __tmp . put_u32_le (self . time_boot_ms) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS2_RTK_DATA { pub time_last_baseline_ms : u32 , pub tow : u32 , pub baseline_a_mm : i32 , pub baseline_b_mm : i32 , pub baseline_c_mm : i32 , pub accuracy : u32 , pub iar_num_hypotheses : i32 , pub wn : u16 , pub rtk_receiver_id : u8 , pub rtk_health : u8 , pub rtk_rate : u8 , pub nsats : u8 , pub baseline_coords_type : RtkBaselineCoordinateSystem , } impl GPS2_RTK_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_last_baseline_ms : 0_u32 , tow : 0_u32 , baseline_a_mm : 0_i32 , baseline_b_mm : 0_i32 , baseline_c_mm : 0_i32 , accuracy : 0_u32 , iar_num_hypotheses : 0_i32 , wn : 0_u16 , rtk_receiver_id : 0_u8 , rtk_health : 0_u8 , rtk_rate : 0_u8 , nsats : 0_u8 , baseline_coords_type : RtkBaselineCoordinateSystem :: DEFAULT , } ; } impl Default for GPS2_RTK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS2_RTK_DATA { type Message = MavMessage ; const ID : u32 = 128u32 ; const NAME : & 'static str = "GPS2_RTK" ; const EXTRA_CRC : u8 = 226u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_last_baseline_ms = buf . get_u32_le () ; __struct . tow = buf . get_u32_le () ; __struct . baseline_a_mm = buf . get_i32_le () ; __struct . baseline_b_mm = buf . get_i32_le () ; __struct . baseline_c_mm = buf . get_i32_le () ; __struct . accuracy = buf . get_u32_le () ; __struct . iar_num_hypotheses = buf . get_i32_le () ; __struct . wn = buf . get_u16_le () ; __struct . rtk_receiver_id = buf . get_u8 () ; __struct . rtk_health = buf . get_u8 () ; __struct . rtk_rate = buf . get_u8 () ; __struct . nsats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . baseline_coords_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "RtkBaselineCoordinateSystem" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_last_baseline_ms) ; __tmp . put_u32_le (self . tow) ; __tmp . put_i32_le (self . baseline_a_mm) ; __tmp . put_i32_le (self . baseline_b_mm) ; __tmp . put_i32_le (self . baseline_c_mm) ; __tmp . put_u32_le (self . accuracy) ; __tmp . put_i32_le (self . iar_num_hypotheses) ; __tmp . put_u16_le (self . wn) ; __tmp . put_u8 (self . rtk_receiver_id) ; __tmp . put_u8 (self . rtk_health) ; __tmp . put_u8 (self . rtk_rate) ; __tmp . put_u8 (self . nsats) ; __tmp . put_u8 (self . baseline_coords_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGH_LATENCY2_DATA { pub timestamp : u32 , pub latitude : i32 , pub longitude : i32 , pub custom_mode : u16 , pub altitude : i16 , pub target_altitude : i16 , pub target_distance : u16 , pub wp_num : u16 , pub failure_flags : HlFailureFlag , pub mavtype : MavType , pub autopilot : MavAutopilot , pub heading : u8 , pub target_heading : u8 , pub throttle : u8 , pub airspeed : u8 , pub airspeed_sp : u8 , pub groundspeed : u8 , pub windspeed : u8 , pub wind_heading : u8 , pub eph : u8 , pub epv : u8 , pub temperature_air : i8 , pub climb_rate : i8 , pub battery : i8 , pub custom0 : i8 , pub custom1 : i8 , pub custom2 : i8 , } impl HIGH_LATENCY2_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { timestamp : 0_u32 , latitude : 0_i32 , longitude : 0_i32 , custom_mode : 0_u16 , altitude : 0_i16 , target_altitude : 0_i16 , target_distance : 0_u16 , wp_num : 0_u16 , failure_flags : HlFailureFlag :: DEFAULT , mavtype : MavType :: DEFAULT , autopilot : MavAutopilot :: DEFAULT , heading : 0_u8 , target_heading : 0_u8 , throttle : 0_u8 , airspeed : 0_u8 , airspeed_sp : 0_u8 , groundspeed : 0_u8 , windspeed : 0_u8 , wind_heading : 0_u8 , eph : 0_u8 , epv : 0_u8 , temperature_air : 0_i8 , climb_rate : 0_i8 , battery : 0_i8 , custom0 : 0_i8 , custom1 : 0_i8 , custom2 : 0_i8 , } ; } impl Default for HIGH_LATENCY2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGH_LATENCY2_DATA { type Message = MavMessage ; const ID : u32 = 235u32 ; const NAME : & 'static str = "HIGH_LATENCY2" ; const EXTRA_CRC : u8 = 179u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u32_le () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . custom_mode = buf . get_u16_le () ; __struct . altitude = buf . get_i16_le () ; __struct . target_altitude = buf . get_i16_le () ; __struct . target_distance = buf . get_u16_le () ; __struct . wp_num = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . failure_flags = HlFailureFlag :: from_bits (tmp & HlFailureFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HlFailureFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . autopilot = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavAutopilot" , value : tmp as u32 }) ? ; __struct . heading = buf . get_u8 () ; __struct . target_heading = buf . get_u8 () ; __struct . throttle = buf . get_u8 () ; __struct . airspeed = buf . get_u8 () ; __struct . airspeed_sp = buf . get_u8 () ; __struct . groundspeed = buf . get_u8 () ; __struct . windspeed = buf . get_u8 () ; __struct . wind_heading = buf . get_u8 () ; __struct . eph = buf . get_u8 () ; __struct . epv = buf . get_u8 () ; __struct . temperature_air = buf . get_i8 () ; __struct . climb_rate = buf . get_i8 () ; __struct . battery = buf . get_i8 () ; __struct . custom0 = buf . get_i8 () ; __struct . custom1 = buf . get_i8 () ; __struct . custom2 = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_u16_le (self . custom_mode) ; __tmp . put_i16_le (self . altitude) ; __tmp . put_i16_le (self . target_altitude) ; __tmp . put_u16_le (self . target_distance) ; __tmp . put_u16_le (self . wp_num) ; __tmp . put_u16_le (self . failure_flags . bits ()) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . autopilot as u8) ; __tmp . put_u8 (self . heading) ; __tmp . put_u8 (self . target_heading) ; __tmp . put_u8 (self . throttle) ; __tmp . put_u8 (self . airspeed) ; __tmp . put_u8 (self . airspeed_sp) ; __tmp . put_u8 (self . groundspeed) ; __tmp . put_u8 (self . windspeed) ; __tmp . put_u8 (self . wind_heading) ; __tmp . put_u8 (self . eph) ; __tmp . put_u8 (self . epv) ; __tmp . put_i8 (self . temperature_air) ; __tmp . put_i8 (self . climb_rate) ; __tmp . put_i8 (self . battery) ; __tmp . put_i8 (self . custom0) ; __tmp . put_i8 (self . custom1) ; __tmp . put_i8 (self . custom2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MOUNT_ORIENTATION_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl MOUNT_ORIENTATION_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for MOUNT_ORIENTATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MOUNT_ORIENTATION_DATA { type Message = MavMessage ; const ID : u32 = 265u32 ; const NAME : & 'static str = "MOUNT_ORIENTATION" ; const EXTRA_CRC : u8 = 26u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_RAW_DATA { pub time_boot_ms : u32 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub port : u8 , pub rssi : u8 , } impl RC_CHANNELS_RAW_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , port : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_RAW_DATA { type Message = MavMessage ; const ID : u32 = 35u32 ; const NAME : & 'static str = "RC_CHANNELS_RAW" ; const EXTRA_CRC : u8 = 244u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . port = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u8 (self . port) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_STATUS_DATA { pub time_boot_ms : u32 , pub flags : GimbalManagerFlags , pub gimbal_device_id : u8 , pub primary_control_sysid : u8 , pub primary_control_compid : u8 , pub secondary_control_sysid : u8 , pub secondary_control_compid : u8 , } impl GIMBAL_MANAGER_STATUS_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , flags : GimbalManagerFlags :: DEFAULT , gimbal_device_id : 0_u8 , primary_control_sysid : 0_u8 , primary_control_compid : 0_u8 , secondary_control_sysid : 0_u8 , secondary_control_compid : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 281u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_STATUS" ; const EXTRA_CRC : u8 = 48u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . gimbal_device_id = buf . get_u8 () ; __struct . primary_control_sysid = buf . get_u8 () ; __struct . primary_control_compid = buf . get_u8 () ; __struct . secondary_control_sysid = buf . get_u8 () ; __struct . secondary_control_compid = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_u8 (self . gimbal_device_id) ; __tmp . put_u8 (self . primary_control_sysid) ; __tmp . put_u8 (self . primary_control_compid) ; __tmp . put_u8 (self . secondary_control_sysid) ; __tmp . put_u8 (self . secondary_control_compid) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SENSOR_OFFSETS_DATA { pub mag_declination : f32 , pub raw_press : i32 , pub raw_temp : i32 , pub gyro_cal_x : f32 , pub gyro_cal_y : f32 , pub gyro_cal_z : f32 , pub accel_cal_x : f32 , pub accel_cal_y : f32 , pub accel_cal_z : f32 , pub mag_ofs_x : i16 , pub mag_ofs_y : i16 , pub mag_ofs_z : i16 , } impl SENSOR_OFFSETS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { mag_declination : 0.0_f32 , raw_press : 0_i32 , raw_temp : 0_i32 , gyro_cal_x : 0.0_f32 , gyro_cal_y : 0.0_f32 , gyro_cal_z : 0.0_f32 , accel_cal_x : 0.0_f32 , accel_cal_y : 0.0_f32 , accel_cal_z : 0.0_f32 , mag_ofs_x : 0_i16 , mag_ofs_y : 0_i16 , mag_ofs_z : 0_i16 , } ; } impl Default for SENSOR_OFFSETS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SENSOR_OFFSETS_DATA { type Message = MavMessage ; const ID : u32 = 150u32 ; const NAME : & 'static str = "SENSOR_OFFSETS" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mag_declination = buf . get_f32_le () ; __struct . raw_press = buf . get_i32_le () ; __struct . raw_temp = buf . get_i32_le () ; __struct . gyro_cal_x = buf . get_f32_le () ; __struct . gyro_cal_y = buf . get_f32_le () ; __struct . gyro_cal_z = buf . get_f32_le () ; __struct . accel_cal_x = buf . get_f32_le () ; __struct . accel_cal_y = buf . get_f32_le () ; __struct . accel_cal_z = buf . get_f32_le () ; __struct . mag_ofs_x = buf . get_i16_le () ; __struct . mag_ofs_y = buf . get_i16_le () ; __struct . mag_ofs_z = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . mag_declination) ; __tmp . put_i32_le (self . raw_press) ; __tmp . put_i32_le (self . raw_temp) ; __tmp . put_f32_le (self . gyro_cal_x) ; __tmp . put_f32_le (self . gyro_cal_y) ; __tmp . put_f32_le (self . gyro_cal_z) ; __tmp . put_f32_le (self . accel_cal_x) ; __tmp . put_f32_le (self . accel_cal_y) ; __tmp . put_f32_le (self . accel_cal_z) ; __tmp . put_i16_le (self . mag_ofs_x) ; __tmp . put_i16_le (self . mag_ofs_y) ; __tmp . put_i16_le (self . mag_ofs_z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FENCE_FETCH_POINT_DATA { pub target_system : u8 , pub target_component : u8 , pub idx : u8 , } impl FENCE_FETCH_POINT_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , idx : 0_u8 , } ; } impl Default for FENCE_FETCH_POINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FENCE_FETCH_POINT_DATA { type Message = MavMessage ; const ID : u32 = 161u32 ; const NAME : & 'static str = "FENCE_FETCH_POINT" ; const EXTRA_CRC : u8 = 68u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . idx = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . idx) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LIMITS_STATUS_DATA { pub last_trigger : u32 , pub last_action : u32 , pub last_recovery : u32 , pub last_clear : u32 , pub breach_count : u16 , pub limits_state : LimitsState , pub mods_enabled : LimitModule , pub mods_required : LimitModule , pub mods_triggered : LimitModule , } impl LIMITS_STATUS_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { last_trigger : 0_u32 , last_action : 0_u32 , last_recovery : 0_u32 , last_clear : 0_u32 , breach_count : 0_u16 , limits_state : LimitsState :: DEFAULT , mods_enabled : LimitModule :: DEFAULT , mods_required : LimitModule :: DEFAULT , mods_triggered : LimitModule :: DEFAULT , } ; } impl Default for LIMITS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LIMITS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 167u32 ; const NAME : & 'static str = "LIMITS_STATUS" ; const EXTRA_CRC : u8 = 144u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . last_trigger = buf . get_u32_le () ; __struct . last_action = buf . get_u32_le () ; __struct . last_recovery = buf . get_u32_le () ; __struct . last_clear = buf . get_u32_le () ; __struct . breach_count = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . limits_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "LimitsState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mods_enabled = LimitModule :: from_bits (tmp & LimitModule :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "LimitModule" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mods_required = LimitModule :: from_bits (tmp & LimitModule :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "LimitModule" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mods_triggered = LimitModule :: from_bits (tmp & LimitModule :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "LimitModule" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . last_trigger) ; __tmp . put_u32_le (self . last_action) ; __tmp . put_u32_le (self . last_recovery) ; __tmp . put_u32_le (self . last_clear) ; __tmp . put_u16_le (self . breach_count) ; __tmp . put_u8 (self . limits_state as u8) ; __tmp . put_u8 (self . mods_enabled . bits ()) ; __tmp . put_u8 (self . mods_required . bits ()) ; __tmp . put_u8 (self . mods_triggered . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POSITION_TARGET_GLOBAL_INT_DATA { pub time_boot_ms : u32 , pub lat_int : i32 , pub lon_int : i32 , pub alt : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub coordinate_frame : MavFrame , } impl POSITION_TARGET_GLOBAL_INT_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_int : 0_i32 , lon_int : 0_i32 , alt : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for POSITION_TARGET_GLOBAL_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POSITION_TARGET_GLOBAL_INT_DATA { type Message = MavMessage ; const ID : u32 = 87u32 ; const NAME : & 'static str = "POSITION_TARGET_GLOBAL_INT" ; const EXTRA_CRC : u8 = 150u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_int = buf . get_i32_le () ; __struct . lon_int = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_int) ; __tmp . put_i32_le (self . lon_int) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA64_DATA { pub mavtype : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 64] , } impl DATA64_DATA { pub const ENCODED_LEN : usize = 66usize ; pub const DEFAULT : Self = Self { mavtype : 0_u8 , len : 0_u8 , data : [0_u8 ; 64usize] , } ; } impl Default for DATA64_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA64_DATA { type Message = MavMessage ; const ID : u32 = 171u32 ; const NAME : & 'static str = "DATA64" ; const EXTRA_CRC : u8 = 181u8 ; const ENCODED_LEN : usize = 66usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mavtype = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . mavtype) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HOME_POSITION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub approach_x : f32 , pub approach_y : f32 , pub approach_z : f32 , } impl HOME_POSITION_DATA { pub const ENCODED_LEN : usize = 52usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , approach_x : 0.0_f32 , approach_y : 0.0_f32 , approach_z : 0.0_f32 , } ; } impl Default for HOME_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HOME_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 242u32 ; const NAME : & 'static str = "HOME_POSITION" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 52usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . approach_x = buf . get_f32_le () ; __struct . approach_y = buf . get_f32_le () ; __struct . approach_z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . approach_x) ; __tmp . put_f32_le (self . approach_y) ; __tmp . put_f32_le (self . approach_z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_DATA_DATA { pub ofs : u32 , pub count : u32 , pub id : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_DATA_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { ofs : 0_u32 , count : 0_u32 , id : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_DATA_DATA { type Message = MavMessage ; const ID : u32 = 119u32 ; const NAME : & 'static str = "LOG_REQUEST_DATA" ; const EXTRA_CRC : u8 = 116u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ofs = buf . get_u32_le () ; __struct . count = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ofs) ; __tmp . put_u32_le (self . count) ; __tmp . put_u16_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { pub time_boot_us : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub q_estimated_delay_us : u32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub v_estimated_delay_us : u32 , pub feed_forward_angular_velocity_z : f32 , pub estimator_status : EstimatorStatusFlags , pub target_system : u8 , pub target_component : u8 , pub landed_state : MavLandedState , } impl AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_us : 0_u64 , q : [0.0_f32 ; 4usize] , q_estimated_delay_us : 0_u32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , v_estimated_delay_us : 0_u32 , feed_forward_angular_velocity_z : 0.0_f32 , estimator_status : EstimatorStatusFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , landed_state : MavLandedState :: DEFAULT , } ; } impl Default for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { type Message = MavMessage ; const ID : u32 = 286u32 ; const NAME : & 'static str = "AUTOPILOT_STATE_FOR_GIMBAL_DEVICE" ; const EXTRA_CRC : u8 = 210u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_us = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . q_estimated_delay_us = buf . get_u32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . v_estimated_delay_us = buf . get_u32_le () ; __struct . feed_forward_angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . estimator_status = EstimatorStatusFlags :: from_bits (tmp & EstimatorStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EstimatorStatusFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_boot_us) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_u32_le (self . q_estimated_delay_us) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_u32_le (self . v_estimated_delay_us) ; __tmp . put_f32_le (self . feed_forward_angular_velocity_z) ; __tmp . put_u16_le (self . estimator_status . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . landed_state as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_VERSION_REQUEST_DATA { pub target_system : u8 , pub target_component : u8 , } impl AUTOPILOT_VERSION_REQUEST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for AUTOPILOT_VERSION_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_VERSION_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 183u32 ; const NAME : & 'static str = "AUTOPILOT_VERSION_REQUEST" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , } impl ATTITUDE_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , } ; } impl Default for ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 30u32 ; const NAME : & 'static str = "ATTITUDE" ; const EXTRA_CRC : u8 = 39u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REMOTE_LOG_BLOCK_STATUS_DATA { pub seqno : u32 , pub target_system : u8 , pub target_component : u8 , pub status : MavRemoteLogDataBlockStatuses , } impl REMOTE_LOG_BLOCK_STATUS_DATA { pub const ENCODED_LEN : usize = 7usize ; pub const DEFAULT : Self = Self { seqno : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , status : MavRemoteLogDataBlockStatuses :: DEFAULT , } ; } impl Default for REMOTE_LOG_BLOCK_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REMOTE_LOG_BLOCK_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 185u32 ; const NAME : & 'static str = "REMOTE_LOG_BLOCK_STATUS" ; const EXTRA_CRC : u8 = 186u8 ; const ENCODED_LEN : usize = 7usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seqno = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavRemoteLogDataBlockStatuses" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . seqno) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ADAP_TUNING_DATA { pub desired : f32 , pub achieved : f32 , pub error : f32 , pub theta : f32 , pub omega : f32 , pub sigma : f32 , pub theta_dot : f32 , pub omega_dot : f32 , pub sigma_dot : f32 , pub f : f32 , pub f_dot : f32 , pub u : f32 , pub axis : PidTuningAxis , } impl ADAP_TUNING_DATA { pub const ENCODED_LEN : usize = 49usize ; pub const DEFAULT : Self = Self { desired : 0.0_f32 , achieved : 0.0_f32 , error : 0.0_f32 , theta : 0.0_f32 , omega : 0.0_f32 , sigma : 0.0_f32 , theta_dot : 0.0_f32 , omega_dot : 0.0_f32 , sigma_dot : 0.0_f32 , f : 0.0_f32 , f_dot : 0.0_f32 , u : 0.0_f32 , axis : PidTuningAxis :: DEFAULT , } ; } impl Default for ADAP_TUNING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ADAP_TUNING_DATA { type Message = MavMessage ; const ID : u32 = 11010u32 ; const NAME : & 'static str = "ADAP_TUNING" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 49usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . desired = buf . get_f32_le () ; __struct . achieved = buf . get_f32_le () ; __struct . error = buf . get_f32_le () ; __struct . theta = buf . get_f32_le () ; __struct . omega = buf . get_f32_le () ; __struct . sigma = buf . get_f32_le () ; __struct . theta_dot = buf . get_f32_le () ; __struct . omega_dot = buf . get_f32_le () ; __struct . sigma_dot = buf . get_f32_le () ; __struct . f = buf . get_f32_le () ; __struct . f_dot = buf . get_f32_le () ; __struct . u = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . axis = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "PidTuningAxis" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . desired) ; __tmp . put_f32_le (self . achieved) ; __tmp . put_f32_le (self . error) ; __tmp . put_f32_le (self . theta) ; __tmp . put_f32_le (self . omega) ; __tmp . put_f32_le (self . sigma) ; __tmp . put_f32_le (self . theta_dot) ; __tmp . put_f32_le (self . omega_dot) ; __tmp . put_f32_le (self . sigma_dot) ; __tmp . put_f32_le (self . f) ; __tmp . put_f32_le (self . f_dot) ; __tmp . put_f32_le (self . u) ; __tmp . put_u8 (self . axis as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_SET_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , } impl PARAM_EXT_SET_DATA { pub const ENCODED_LEN : usize = 147usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , } ; } impl Default for PARAM_EXT_SET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_SET_DATA { type Message = MavMessage ; const ID : u32 = 323u32 ; const NAME : & 'static str = "PARAM_EXT_SET" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 147usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_OPTICAL_FLOW_DATA { pub time_usec : u64 , pub integration_time_us : u32 , pub integrated_x : f32 , pub integrated_y : f32 , pub integrated_xgyro : f32 , pub integrated_ygyro : f32 , pub integrated_zgyro : f32 , pub time_delta_distance_us : u32 , pub distance : f32 , pub temperature : i16 , pub sensor_id : u8 , pub quality : u8 , } impl HIL_OPTICAL_FLOW_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , integration_time_us : 0_u32 , integrated_x : 0.0_f32 , integrated_y : 0.0_f32 , integrated_xgyro : 0.0_f32 , integrated_ygyro : 0.0_f32 , integrated_zgyro : 0.0_f32 , time_delta_distance_us : 0_u32 , distance : 0.0_f32 , temperature : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for HIL_OPTICAL_FLOW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_OPTICAL_FLOW_DATA { type Message = MavMessage ; const ID : u32 = 114u32 ; const NAME : & 'static str = "HIL_OPTICAL_FLOW" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . integration_time_us = buf . get_u32_le () ; __struct . integrated_x = buf . get_f32_le () ; __struct . integrated_y = buf . get_f32_le () ; __struct . integrated_xgyro = buf . get_f32_le () ; __struct . integrated_ygyro = buf . get_f32_le () ; __struct . integrated_zgyro = buf . get_f32_le () ; __struct . time_delta_distance_us = buf . get_u32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . integration_time_us) ; __tmp . put_f32_le (self . integrated_x) ; __tmp . put_f32_le (self . integrated_y) ; __tmp . put_f32_le (self . integrated_xgyro) ; __tmp . put_f32_le (self . integrated_ygyro) ; __tmp . put_f32_le (self . integrated_zgyro) ; __tmp . put_u32_le (self . time_delta_distance_us) ; __tmp . put_f32_le (self . distance) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_SCALED_DATA { pub time_boot_ms : u32 , pub chan1_scaled : i16 , pub chan2_scaled : i16 , pub chan3_scaled : i16 , pub chan4_scaled : i16 , pub chan5_scaled : i16 , pub chan6_scaled : i16 , pub chan7_scaled : i16 , pub chan8_scaled : i16 , pub port : u8 , pub rssi : u8 , } impl RC_CHANNELS_SCALED_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_scaled : 0_i16 , chan2_scaled : 0_i16 , chan3_scaled : 0_i16 , chan4_scaled : 0_i16 , chan5_scaled : 0_i16 , chan6_scaled : 0_i16 , chan7_scaled : 0_i16 , chan8_scaled : 0_i16 , port : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_SCALED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_SCALED_DATA { type Message = MavMessage ; const ID : u32 = 34u32 ; const NAME : & 'static str = "RC_CHANNELS_SCALED" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_scaled = buf . get_i16_le () ; __struct . chan2_scaled = buf . get_i16_le () ; __struct . chan3_scaled = buf . get_i16_le () ; __struct . chan4_scaled = buf . get_i16_le () ; __struct . chan5_scaled = buf . get_i16_le () ; __struct . chan6_scaled = buf . get_i16_le () ; __struct . chan7_scaled = buf . get_i16_le () ; __struct . chan8_scaled = buf . get_i16_le () ; __struct . port = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . chan1_scaled) ; __tmp . put_i16_le (self . chan2_scaled) ; __tmp . put_i16_le (self . chan3_scaled) ; __tmp . put_i16_le (self . chan4_scaled) ; __tmp . put_i16_le (self . chan5_scaled) ; __tmp . put_i16_le (self . chan6_scaled) ; __tmp . put_i16_le (self . chan7_scaled) ; __tmp . put_i16_le (self . chan8_scaled) ; __tmp . put_u8 (self . port) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EXTENDED_SYS_STATE_DATA { pub vtol_state : MavVtolState , pub landed_state : MavLandedState , } impl EXTENDED_SYS_STATE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { vtol_state : MavVtolState :: DEFAULT , landed_state : MavLandedState :: DEFAULT , } ; } impl Default for EXTENDED_SYS_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EXTENDED_SYS_STATE_DATA { type Message = MavMessage ; const ID : u32 = 245u32 ; const NAME : & 'static str = "EXTENDED_SYS_STATE" ; const EXTRA_CRC : u8 = 130u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . vtol_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavVtolState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . vtol_state as u8) ; __tmp . put_u8 (self . landed_state as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CHANGE_OPERATOR_CONTROL_ACK_DATA { pub gcs_system_id : u8 , pub control_request : u8 , pub ack : u8 , } impl CHANGE_OPERATOR_CONTROL_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { gcs_system_id : 0_u8 , control_request : 0_u8 , ack : 0_u8 , } ; } impl Default for CHANGE_OPERATOR_CONTROL_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CHANGE_OPERATOR_CONTROL_ACK_DATA { type Message = MavMessage ; const ID : u32 = 6u32 ; const NAME : & 'static str = "CHANGE_OPERATOR_CONTROL_ACK" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . gcs_system_id = buf . get_u8 () ; __struct . control_request = buf . get_u8 () ; __struct . ack = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . gcs_system_id) ; __tmp . put_u8 (self . control_request) ; __tmp . put_u8 (self . ack) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_END_DATA { pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_END_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_END_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_END_DATA { type Message = MavMessage ; const ID : u32 = 122u32 ; const NAME : & 'static str = "LOG_REQUEST_END" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPTICAL_FLOW_DATA { pub time_usec : u64 , pub flow_comp_m_x : f32 , pub flow_comp_m_y : f32 , pub ground_distance : f32 , pub flow_x : i16 , pub flow_y : i16 , pub sensor_id : u8 , pub quality : u8 , } impl OPTICAL_FLOW_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , flow_comp_m_x : 0.0_f32 , flow_comp_m_y : 0.0_f32 , ground_distance : 0.0_f32 , flow_x : 0_i16 , flow_y : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for OPTICAL_FLOW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPTICAL_FLOW_DATA { type Message = MavMessage ; const ID : u32 = 100u32 ; const NAME : & 'static str = "OPTICAL_FLOW" ; const EXTRA_CRC : u8 = 175u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . flow_comp_m_x = buf . get_f32_le () ; __struct . flow_comp_m_y = buf . get_f32_le () ; __struct . ground_distance = buf . get_f32_le () ; __struct . flow_x = buf . get_i16_le () ; __struct . flow_y = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . flow_comp_m_x) ; __tmp . put_f32_le (self . flow_comp_m_y) ; __tmp . put_f32_le (self . ground_distance) ; __tmp . put_i16_le (self . flow_x) ; __tmp . put_i16_le (self . flow_y) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_ACK_DATA { pub command : MavCmd , pub result : MavResult , } impl COMMAND_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { command : MavCmd :: DEFAULT , result : MavResult :: DEFAULT , } ; } impl Default for COMMAND_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_ACK_DATA { type Message = MavMessage ; const ID : u32 = 77u32 ; const NAME : & 'static str = "COMMAND_ACK" ; const EXTRA_CRC : u8 = 143u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavResult" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_ACTUATOR_CONTROL_TARGET_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 8] , pub group_mlx : u8 , pub target_system : u8 , pub target_component : u8 , } impl SET_ACTUATOR_CONTROL_TARGET_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , controls : [0.0_f32 ; 8usize] , group_mlx : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SET_ACTUATOR_CONTROL_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_ACTUATOR_CONTROL_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 139u32 ; const NAME : & 'static str = "SET_ACTUATOR_CONTROL_TARGET" ; const EXTRA_CRC : u8 = 168u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } __struct . group_mlx = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . group_mlx) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_AUTHENTICATION_DATA { pub timestamp : u32 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub authentication_type : MavOdidAuthType , pub data_page : u8 , pub last_page_index : u8 , pub length : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub authentication_data : [u8 ; 23] , } impl OPEN_DRONE_ID_AUTHENTICATION_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { timestamp : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , authentication_type : MavOdidAuthType :: DEFAULT , data_page : 0_u8 , last_page_index : 0_u8 , length : 0_u8 , authentication_data : [0_u8 ; 23usize] , } ; } impl Default for OPEN_DRONE_ID_AUTHENTICATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_AUTHENTICATION_DATA { type Message = MavMessage ; const ID : u32 = 12902u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_AUTHENTICATION" ; const EXTRA_CRC : u8 = 140u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . authentication_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidAuthType" , value : tmp as u32 }) ? ; __struct . data_page = buf . get_u8 () ; __struct . last_page_index = buf . get_u8 () ; __struct . length = buf . get_u8 () ; for v in & mut __struct . authentication_data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . authentication_type as u8) ; __tmp . put_u8 (self . data_page) ; __tmp . put_u8 (self . last_page_index) ; __tmp . put_u8 (self . length) ; for val in & self . authentication_data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_PARTIAL_LIST_DATA { pub start_index : i16 , pub end_index : i16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_PARTIAL_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start_index : 0_i16 , end_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_PARTIAL_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_PARTIAL_LIST_DATA { type Message = MavMessage ; const ID : u32 = 37u32 ; const NAME : & 'static str = "MISSION_REQUEST_PARTIAL_LIST" ; const EXTRA_CRC : u8 = 212u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start_index = buf . get_i16_le () ; __struct . end_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . start_index) ; __tmp . put_i16_le (self . end_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 43u32 ; const NAME : & 'static str = "MISSION_REQUEST_LIST" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl PARAM_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PARAM_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 21u32 ; const NAME : & 'static str = "PARAM_REQUEST_LIST" ; const EXTRA_CRC : u8 = 159u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_SET_CURRENT_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_SET_CURRENT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_SET_CURRENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_SET_CURRENT_DATA { type Message = MavMessage ; const ID : u32 = 41u32 ; const NAME : & 'static str = "MISSION_SET_CURRENT" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CONTROL_SYSTEM_STATE_DATA { pub time_usec : u64 , pub x_acc : f32 , pub y_acc : f32 , pub z_acc : f32 , pub x_vel : f32 , pub y_vel : f32 , pub z_vel : f32 , pub x_pos : f32 , pub y_pos : f32 , pub z_pos : f32 , pub airspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_variance : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_variance : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub roll_rate : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , } impl CONTROL_SYSTEM_STATE_DATA { pub const ENCODED_LEN : usize = 100usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x_acc : 0.0_f32 , y_acc : 0.0_f32 , z_acc : 0.0_f32 , x_vel : 0.0_f32 , y_vel : 0.0_f32 , z_vel : 0.0_f32 , x_pos : 0.0_f32 , y_pos : 0.0_f32 , z_pos : 0.0_f32 , airspeed : 0.0_f32 , vel_variance : [0.0_f32 ; 3usize] , pos_variance : [0.0_f32 ; 3usize] , q : [0.0_f32 ; 4usize] , roll_rate : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , } ; } impl Default for CONTROL_SYSTEM_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CONTROL_SYSTEM_STATE_DATA { type Message = MavMessage ; const ID : u32 = 146u32 ; const NAME : & 'static str = "CONTROL_SYSTEM_STATE" ; const EXTRA_CRC : u8 = 103u8 ; const ENCODED_LEN : usize = 100usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x_acc = buf . get_f32_le () ; __struct . y_acc = buf . get_f32_le () ; __struct . z_acc = buf . get_f32_le () ; __struct . x_vel = buf . get_f32_le () ; __struct . y_vel = buf . get_f32_le () ; __struct . z_vel = buf . get_f32_le () ; __struct . x_pos = buf . get_f32_le () ; __struct . y_pos = buf . get_f32_le () ; __struct . z_pos = buf . get_f32_le () ; __struct . airspeed = buf . get_f32_le () ; for v in & mut __struct . vel_variance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_variance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . roll_rate = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x_acc) ; __tmp . put_f32_le (self . y_acc) ; __tmp . put_f32_le (self . z_acc) ; __tmp . put_f32_le (self . x_vel) ; __tmp . put_f32_le (self . y_vel) ; __tmp . put_f32_le (self . z_vel) ; __tmp . put_f32_le (self . x_pos) ; __tmp . put_f32_le (self . y_pos) ; __tmp . put_f32_le (self . z_pos) ; __tmp . put_f32_le (self . airspeed) ; for val in & self . vel_variance { __tmp . put_f32_le (* val) ; } for val in & self . pos_variance { __tmp . put_f32_le (* val) ; } for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . roll_rate) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_PITCHYAW_DATA { pub flags : GimbalManagerFlags , pub pitch : f32 , pub yaw : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_PITCHYAW_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , pitch : 0.0_f32 , yaw : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_PITCHYAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_PITCHYAW_DATA { type Message = MavMessage ; const ID : u32 = 287u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_PITCHYAW" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SMART_BATTERY_INFO_DATA { pub capacity_full_specification : i32 , pub capacity_full : i32 , pub cycle_count : u16 , pub weight : u16 , pub discharge_minimum_voltage : u16 , pub charging_minimum_voltage : u16 , pub resting_minimum_voltage : u16 , pub id : u8 , pub battery_function : MavBatteryFunction , pub mavtype : MavBatteryType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub serial_number : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub device_name : [u8 ; 50] , } impl SMART_BATTERY_INFO_DATA { pub const ENCODED_LEN : usize = 87usize ; pub const DEFAULT : Self = Self { capacity_full_specification : 0_i32 , capacity_full : 0_i32 , cycle_count : 0_u16 , weight : 0_u16 , discharge_minimum_voltage : 0_u16 , charging_minimum_voltage : 0_u16 , resting_minimum_voltage : 0_u16 , id : 0_u8 , battery_function : MavBatteryFunction :: DEFAULT , mavtype : MavBatteryType :: DEFAULT , serial_number : [0_u8 ; 16usize] , device_name : [0_u8 ; 50usize] , } ; } impl Default for SMART_BATTERY_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SMART_BATTERY_INFO_DATA { type Message = MavMessage ; const ID : u32 = 370u32 ; const NAME : & 'static str = "SMART_BATTERY_INFO" ; const EXTRA_CRC : u8 = 75u8 ; const ENCODED_LEN : usize = 87usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . capacity_full_specification = buf . get_i32_le () ; __struct . capacity_full = buf . get_i32_le () ; __struct . cycle_count = buf . get_u16_le () ; __struct . weight = buf . get_u16_le () ; __struct . discharge_minimum_voltage = buf . get_u16_le () ; __struct . charging_minimum_voltage = buf . get_u16_le () ; __struct . resting_minimum_voltage = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . battery_function = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryFunction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryType" , value : tmp as u32 }) ? ; for v in & mut __struct . serial_number { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . device_name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . capacity_full_specification) ; __tmp . put_i32_le (self . capacity_full) ; __tmp . put_u16_le (self . cycle_count) ; __tmp . put_u16_le (self . weight) ; __tmp . put_u16_le (self . discharge_minimum_voltage) ; __tmp . put_u16_le (self . charging_minimum_voltage) ; __tmp . put_u16_le (self . resting_minimum_voltage) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . battery_function as u8) ; __tmp . put_u8 (self . mavtype as u8) ; for val in & self . serial_number { __tmp . put_u8 (* val) ; } for val in & self . device_name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { pub flags : GimbalManagerFlags , pub pitch : f32 , pub yaw : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , pitch : 0.0_f32 , yaw : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 288u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_MANUAL_CONTROL" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_COV_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub ax : f32 , pub ay : f32 , pub az : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 45] , pub estimator_type : MavEstimatorType , } impl LOCAL_POSITION_NED_COV_DATA { pub const ENCODED_LEN : usize = 225usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , ax : 0.0_f32 , ay : 0.0_f32 , az : 0.0_f32 , covariance : [0.0_f32 ; 45usize] , estimator_type : MavEstimatorType :: DEFAULT , } ; } impl Default for LOCAL_POSITION_NED_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_COV_DATA { type Message = MavMessage ; const ID : u32 = 64u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED_COV" ; const EXTRA_CRC : u8 = 191u8 ; const ENCODED_LEN : usize = 225usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . ax = buf . get_f32_le () ; __struct . ay = buf . get_f32_le () ; __struct . az = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . estimator_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEstimatorType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . ax) ; __tmp . put_f32_le (self . ay) ; __tmp . put_f32_le (self . az) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . estimator_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIDEO_STREAM_STATUS_DATA { pub framerate : f32 , pub bitrate : u32 , pub flags : VideoStreamStatusFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub hfov : u16 , pub stream_id : u8 , } impl VIDEO_STREAM_STATUS_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , flags : VideoStreamStatusFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , hfov : 0_u16 , stream_id : 0_u8 , } ; } impl Default for VIDEO_STREAM_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIDEO_STREAM_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 270u32 ; const NAME : & 'static str = "VIDEO_STREAM_STATUS" ; const EXTRA_CRC : u8 = 59u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamStatusFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . hfov = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . flags as u16) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u16_le (self . hfov) ; __tmp . put_u8 (self . stream_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_MODE_DATA { pub custom_mode : u32 , pub target_system : u8 , pub base_mode : MavMode , } impl SET_MODE_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , target_system : 0_u8 , base_mode : MavMode :: DEFAULT , } ; } impl Default for SET_MODE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_MODE_DATA { type Message = MavMessage ; const ID : u32 = 11u32 ; const NAME : & 'static str = "SET_MODE" ; const EXTRA_CRC : u8 = 89u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . base_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMode" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . base_mode as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HERELINK_TELEM_DATA { } impl HERELINK_TELEM_DATA { pub const ENCODED_LEN : usize = 0usize ; pub const DEFAULT : Self = Self { } ; } impl Default for HERELINK_TELEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HERELINK_TELEM_DATA { type Message = MavMessage ; const ID : u32 = 50003u32 ; const NAME : & 'static str = "HERELINK_TELEM" ; const EXTRA_CRC : u8 = 53u8 ; const ENCODED_LEN : usize = 0usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { Ok (Self :: default ()) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_INJECT_DATA_DATA { pub target_system : u8 , pub target_component : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 110] , } impl GPS_INJECT_DATA_DATA { pub const ENCODED_LEN : usize = 113usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , len : 0_u8 , data : [0_u8 ; 110usize] , } ; } impl Default for GPS_INJECT_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_INJECT_DATA_DATA { type Message = MavMessage ; const ID : u32 = 123u32 ; const NAME : & 'static str = "GPS_INJECT_DATA" ; const EXTRA_CRC : u8 = 250u8 ; const ENCODED_LEN : usize = 113usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VFR_HUD_DATA { pub airspeed : f32 , pub groundspeed : f32 , pub alt : f32 , pub climb : f32 , pub heading : i16 , pub throttle : u16 , } impl VFR_HUD_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { airspeed : 0.0_f32 , groundspeed : 0.0_f32 , alt : 0.0_f32 , climb : 0.0_f32 , heading : 0_i16 , throttle : 0_u16 , } ; } impl Default for VFR_HUD_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VFR_HUD_DATA { type Message = MavMessage ; const ID : u32 = 74u32 ; const NAME : & 'static str = "VFR_HUD" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . airspeed = buf . get_f32_le () ; __struct . groundspeed = buf . get_f32_le () ; __struct . alt = buf . get_f32_le () ; __struct . climb = buf . get_f32_le () ; __struct . heading = buf . get_i16_le () ; __struct . throttle = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . airspeed) ; __tmp . put_f32_le (self . groundspeed) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . climb) ; __tmp . put_i16_le (self . heading) ; __tmp . put_u16_le (self . throttle) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGH_LATENCY_DATA { pub custom_mode : u32 , pub latitude : i32 , pub longitude : i32 , pub roll : i16 , pub pitch : i16 , pub heading : u16 , pub heading_sp : i16 , pub altitude_amsl : i16 , pub altitude_sp : i16 , pub wp_distance : u16 , pub base_mode : MavModeFlag , pub landed_state : MavLandedState , pub throttle : i8 , pub airspeed : u8 , pub airspeed_sp : u8 , pub groundspeed : u8 , pub climb_rate : i8 , pub gps_nsat : u8 , pub gps_fix_type : GpsFixType , pub battery_remaining : u8 , pub temperature : i8 , pub temperature_air : i8 , pub failsafe : u8 , pub wp_num : u8 , } impl HIGH_LATENCY_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , latitude : 0_i32 , longitude : 0_i32 , roll : 0_i16 , pitch : 0_i16 , heading : 0_u16 , heading_sp : 0_i16 , altitude_amsl : 0_i16 , altitude_sp : 0_i16 , wp_distance : 0_u16 , base_mode : MavModeFlag :: DEFAULT , landed_state : MavLandedState :: DEFAULT , throttle : 0_i8 , airspeed : 0_u8 , airspeed_sp : 0_u8 , groundspeed : 0_u8 , climb_rate : 0_i8 , gps_nsat : 0_u8 , gps_fix_type : GpsFixType :: DEFAULT , battery_remaining : 0_u8 , temperature : 0_i8 , temperature_air : 0_i8 , failsafe : 0_u8 , wp_num : 0_u8 , } ; } impl Default for HIGH_LATENCY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGH_LATENCY_DATA { type Message = MavMessage ; const ID : u32 = 234u32 ; const NAME : & 'static str = "HIGH_LATENCY" ; const EXTRA_CRC : u8 = 150u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . roll = buf . get_i16_le () ; __struct . pitch = buf . get_i16_le () ; __struct . heading = buf . get_u16_le () ; __struct . heading_sp = buf . get_i16_le () ; __struct . altitude_amsl = buf . get_i16_le () ; __struct . altitude_sp = buf . get_i16_le () ; __struct . wp_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . base_mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; __struct . throttle = buf . get_i8 () ; __struct . airspeed = buf . get_u8 () ; __struct . airspeed_sp = buf . get_u8 () ; __struct . groundspeed = buf . get_u8 () ; __struct . climb_rate = buf . get_i8 () ; __struct . gps_nsat = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . gps_fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . battery_remaining = buf . get_u8 () ; __struct . temperature = buf . get_i8 () ; __struct . temperature_air = buf . get_i8 () ; __struct . failsafe = buf . get_u8 () ; __struct . wp_num = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i16_le (self . roll) ; __tmp . put_i16_le (self . pitch) ; __tmp . put_u16_le (self . heading) ; __tmp . put_i16_le (self . heading_sp) ; __tmp . put_i16_le (self . altitude_amsl) ; __tmp . put_i16_le (self . altitude_sp) ; __tmp . put_u16_le (self . wp_distance) ; __tmp . put_u8 (self . base_mode . bits ()) ; __tmp . put_u8 (self . landed_state as u8) ; __tmp . put_i8 (self . throttle) ; __tmp . put_u8 (self . airspeed) ; __tmp . put_u8 (self . airspeed_sp) ; __tmp . put_u8 (self . groundspeed) ; __tmp . put_i8 (self . climb_rate) ; __tmp . put_u8 (self . gps_nsat) ; __tmp . put_u8 (self . gps_fix_type as u8) ; __tmp . put_u8 (self . battery_remaining) ; __tmp . put_i8 (self . temperature) ; __tmp . put_i8 (self . temperature_air) ; __tmp . put_u8 (self . failsafe) ; __tmp . put_u8 (self . wp_num) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DIGICAM_CONTROL_DATA { pub extra_value : f32 , pub target_system : u8 , pub target_component : u8 , pub session : u8 , pub zoom_pos : u8 , pub zoom_step : i8 , pub focus_lock : u8 , pub shot : u8 , pub command_id : u8 , pub extra_param : u8 , } impl DIGICAM_CONTROL_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { extra_value : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , session : 0_u8 , zoom_pos : 0_u8 , zoom_step : 0_i8 , focus_lock : 0_u8 , shot : 0_u8 , command_id : 0_u8 , extra_param : 0_u8 , } ; } impl Default for DIGICAM_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DIGICAM_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 155u32 ; const NAME : & 'static str = "DIGICAM_CONTROL" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . extra_value = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . session = buf . get_u8 () ; __struct . zoom_pos = buf . get_u8 () ; __struct . zoom_step = buf . get_i8 () ; __struct . focus_lock = buf . get_u8 () ; __struct . shot = buf . get_u8 () ; __struct . command_id = buf . get_u8 () ; __struct . extra_param = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . extra_value) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . session) ; __tmp . put_u8 (self . zoom_pos) ; __tmp . put_i8 (self . zoom_step) ; __tmp . put_u8 (self . focus_lock) ; __tmp . put_u8 (self . shot) ; __tmp . put_u8 (self . command_id) ; __tmp . put_u8 (self . extra_param) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WHEEL_DISTANCE_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub distance : [f64 ; 16] , pub count : u8 , } impl WHEEL_DISTANCE_DATA { pub const ENCODED_LEN : usize = 137usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , distance : [0.0_f64 ; 16usize] , count : 0_u8 , } ; } impl Default for WHEEL_DISTANCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WHEEL_DISTANCE_DATA { type Message = MavMessage ; const ID : u32 = 9000u32 ; const NAME : & 'static str = "WHEEL_DISTANCE" ; const EXTRA_CRC : u8 = 113u8 ; const ENCODED_LEN : usize = 137usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . distance { let val = buf . get_f64_le () ; * v = val ; } __struct . count = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . distance { __tmp . put_f64_le (* val) ; } __tmp . put_u8 (self . count) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_CANCEL_DATA { pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , } impl COMMAND_CANCEL_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for COMMAND_CANCEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_CANCEL_DATA { type Message = MavMessage ; const ID : u32 = 80u32 ; const NAME : & 'static str = "COMMAND_CANCEL" ; const EXTRA_CRC : u8 = 14u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SIMSTATE_DATA { pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub lat : i32 , pub lng : i32 , } impl SIMSTATE_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , lat : 0_i32 , lng : 0_i32 , } ; } impl Default for SIMSTATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SIMSTATE_DATA { type Message = MavMessage ; const ID : u32 = 164u32 ; const NAME : & 'static str = "SIMSTATE" ; const EXTRA_CRC : u8 = 154u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lng = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lng) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA16_DATA { pub mavtype : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 16] , } impl DATA16_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { mavtype : 0_u8 , len : 0_u8 , data : [0_u8 ; 16usize] , } ; } impl Default for DATA16_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA16_DATA { type Message = MavMessage ; const ID : u32 = 169u32 ; const NAME : & 'static str = "DATA16" ; const EXTRA_CRC : u8 = 234u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mavtype = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . mavtype) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_CLEAR_ALL_DATA { pub target_system : u8 , pub target_component : u8 , } impl MISSION_CLEAR_ALL_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_CLEAR_ALL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_CLEAR_ALL_DATA { type Message = MavMessage ; const ID : u32 = 45u32 ; const NAME : & 'static str = "MISSION_CLEAR_ALL" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REMOTE_LOG_DATA_BLOCK_DATA { pub seqno : MavRemoteLogDataBlockCommands , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 200] , } impl REMOTE_LOG_DATA_BLOCK_DATA { pub const ENCODED_LEN : usize = 206usize ; pub const DEFAULT : Self = Self { seqno : MavRemoteLogDataBlockCommands :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , data : [0_u8 ; 200usize] , } ; } impl Default for REMOTE_LOG_DATA_BLOCK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REMOTE_LOG_DATA_BLOCK_DATA { type Message = MavMessage ; const ID : u32 = 184u32 ; const NAME : & 'static str = "REMOTE_LOG_DATA_BLOCK" ; const EXTRA_CRC : u8 = 159u8 ; const ENCODED_LEN : usize = 206usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . seqno = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavRemoteLogDataBlockCommands" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . seqno as u32) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RPM_DATA { pub rpm1 : f32 , pub rpm2 : f32 , } impl RPM_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { rpm1 : 0.0_f32 , rpm2 : 0.0_f32 , } ; } impl Default for RPM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RPM_DATA { type Message = MavMessage ; const ID : u32 = 226u32 ; const NAME : & 'static str = "RPM" ; const EXTRA_CRC : u8 = 207u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . rpm1 = buf . get_f32_le () ; __struct . rpm2 = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . rpm1) ; __tmp . put_f32_le (self . rpm2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_POSITION_DELTA_DATA { pub time_usec : u64 , pub time_delta_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub angle_delta : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub position_delta : [f32 ; 3] , pub confidence : f32 , } impl VISION_POSITION_DELTA_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , time_delta_usec : 0_u64 , angle_delta : [0.0_f32 ; 3usize] , position_delta : [0.0_f32 ; 3usize] , confidence : 0.0_f32 , } ; } impl Default for VISION_POSITION_DELTA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_POSITION_DELTA_DATA { type Message = MavMessage ; const ID : u32 = 11011u32 ; const NAME : & 'static str = "VISION_POSITION_DELTA" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . time_delta_usec = buf . get_u64_le () ; for v in & mut __struct . angle_delta { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . position_delta { let val = buf . get_f32_le () ; * v = val ; } __struct . confidence = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u64_le (self . time_delta_usec) ; for val in & self . angle_delta { __tmp . put_f32_le (* val) ; } for val in & self . position_delta { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . confidence) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AHRS3_DATA { pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub altitude : f32 , pub lat : i32 , pub lng : i32 , pub v1 : f32 , pub v2 : f32 , pub v3 : f32 , pub v4 : f32 , } impl AHRS3_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , altitude : 0.0_f32 , lat : 0_i32 , lng : 0_i32 , v1 : 0.0_f32 , v2 : 0.0_f32 , v3 : 0.0_f32 , v4 : 0.0_f32 , } ; } impl Default for AHRS3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AHRS3_DATA { type Message = MavMessage ; const ID : u32 = 182u32 ; const NAME : & 'static str = "AHRS3" ; const EXTRA_CRC : u8 = 229u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . altitude = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lng = buf . get_i32_le () ; __struct . v1 = buf . get_f32_le () ; __struct . v2 = buf . get_f32_le () ; __struct . v3 = buf . get_f32_le () ; __struct . v4 = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . altitude) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lng) ; __tmp . put_f32_le (self . v1) ; __tmp . put_f32_le (self . v2) ; __tmp . put_f32_le (self . v3) ; __tmp . put_f32_le (self . v4) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OSD_PARAM_SHOW_CONFIG_DATA { pub request_id : u32 , pub target_system : u8 , pub target_component : u8 , pub osd_screen : u8 , pub osd_index : u8 , } impl OSD_PARAM_SHOW_CONFIG_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , osd_screen : 0_u8 , osd_index : 0_u8 , } ; } impl Default for OSD_PARAM_SHOW_CONFIG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OSD_PARAM_SHOW_CONFIG_DATA { type Message = MavMessage ; const ID : u32 = 11035u32 ; const NAME : & 'static str = "OSD_PARAM_SHOW_CONFIG" ; const EXTRA_CRC : u8 = 128u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . osd_screen = buf . get_u8 () ; __struct . osd_index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . osd_screen) ; __tmp . put_u8 (self . osd_index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_GPS_GLOBAL_ORIGIN_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub target_system : u8 , } impl SET_GPS_GLOBAL_ORIGIN_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , target_system : 0_u8 , } ; } impl Default for SET_GPS_GLOBAL_ORIGIN_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_GPS_GLOBAL_ORIGIN_DATA { type Message = MavMessage ; const ID : u32 = 48u32 ; const NAME : & 'static str = "SET_GPS_GLOBAL_ORIGIN" ; const EXTRA_CRC : u8 = 41u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . target_system = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_u8 (self . target_system) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_ATTITUDE_TARGET_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub body_roll_rate : f32 , pub body_pitch_rate : f32 , pub body_yaw_rate : f32 , pub thrust : f32 , pub target_system : u8 , pub target_component : u8 , pub type_mask : AttitudeTargetTypemask , } impl SET_ATTITUDE_TARGET_DATA { pub const ENCODED_LEN : usize = 39usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , body_roll_rate : 0.0_f32 , body_pitch_rate : 0.0_f32 , body_yaw_rate : 0.0_f32 , thrust : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , type_mask : AttitudeTargetTypemask :: DEFAULT , } ; } impl Default for SET_ATTITUDE_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_ATTITUDE_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 82u32 ; const NAME : & 'static str = "SET_ATTITUDE_TARGET" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 39usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . body_roll_rate = buf . get_f32_le () ; __struct . body_pitch_rate = buf . get_f32_le () ; __struct . body_yaw_rate = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . type_mask = AttitudeTargetTypemask :: from_bits (tmp & AttitudeTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AttitudeTargetTypemask" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . body_roll_rate) ; __tmp . put_f32_le (self . body_pitch_rate) ; __tmp . put_f32_le (self . body_yaw_rate) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . type_mask . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GOPRO_SET_RESPONSE_DATA { pub cmd_id : GoproCommand , pub status : GoproRequestStatus , } impl GOPRO_SET_RESPONSE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { cmd_id : GoproCommand :: DEFAULT , status : GoproRequestStatus :: DEFAULT , } ; } impl Default for GOPRO_SET_RESPONSE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GOPRO_SET_RESPONSE_DATA { type Message = MavMessage ; const ID : u32 = 219u32 ; const NAME : & 'static str = "GOPRO_SET_RESPONSE" ; const EXTRA_CRC : u8 = 162u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . cmd_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproCommand" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproRequestStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . cmd_id as u8) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE2_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE2_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE2_DATA { type Message = MavMessage ; const ID : u32 = 137u32 ; const NAME : & 'static str = "SCALED_PRESSURE2" ; const EXTRA_CRC : u8 = 195u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_SENSOR_DATA { pub time_usec : u64 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub xmag : f32 , pub ymag : f32 , pub zmag : f32 , pub abs_pressure : f32 , pub diff_pressure : f32 , pub pressure_alt : f32 , pub temperature : f32 , pub fields_updated : HilSensorUpdatedFlags , } impl HIL_SENSOR_DATA { pub const ENCODED_LEN : usize = 64usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , xmag : 0.0_f32 , ymag : 0.0_f32 , zmag : 0.0_f32 , abs_pressure : 0.0_f32 , diff_pressure : 0.0_f32 , pressure_alt : 0.0_f32 , temperature : 0.0_f32 , fields_updated : HilSensorUpdatedFlags :: DEFAULT , } ; } impl Default for HIL_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 107u32 ; const NAME : & 'static str = "HIL_SENSOR" ; const EXTRA_CRC : u8 = 108u8 ; const ENCODED_LEN : usize = 64usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . xmag = buf . get_f32_le () ; __struct . ymag = buf . get_f32_le () ; __struct . zmag = buf . get_f32_le () ; __struct . abs_pressure = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . pressure_alt = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . fields_updated = HilSensorUpdatedFlags :: from_bits (tmp & HilSensorUpdatedFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HilSensorUpdatedFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . xmag) ; __tmp . put_f32_le (self . ymag) ; __tmp . put_f32_le (self . zmag) ; __tmp . put_f32_le (self . abs_pressure) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . pressure_alt) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u32_le (self . fields_updated . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CANFD_FRAME_DATA { pub id : u32 , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 64] , } impl CANFD_FRAME_DATA { pub const ENCODED_LEN : usize = 72usize ; pub const DEFAULT : Self = Self { id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , len : 0_u8 , data : [0_u8 ; 64usize] , } ; } impl Default for CANFD_FRAME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CANFD_FRAME_DATA { type Message = MavMessage ; const ID : u32 = 387u32 ; const NAME : & 'static str = "CANFD_FRAME" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 72usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA_STREAM_DATA { pub message_rate : u16 , pub stream_id : u8 , pub on_off : u8 , } impl DATA_STREAM_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { message_rate : 0_u16 , stream_id : 0_u8 , on_off : 0_u8 , } ; } impl Default for DATA_STREAM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA_STREAM_DATA { type Message = MavMessage ; const ID : u32 = 67u32 ; const NAME : & 'static str = "DATA_STREAM" ; const EXTRA_CRC : u8 = 21u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . message_rate = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; __struct . on_off = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . message_rate) ; __tmp . put_u8 (self . stream_id) ; __tmp . put_u8 (self . on_off) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGHRES_IMU_DATA { pub time_usec : u64 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub xmag : f32 , pub ymag : f32 , pub zmag : f32 , pub abs_pressure : f32 , pub diff_pressure : f32 , pub pressure_alt : f32 , pub temperature : f32 , pub fields_updated : HighresImuUpdatedFlags , } impl HIGHRES_IMU_DATA { pub const ENCODED_LEN : usize = 62usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , xmag : 0.0_f32 , ymag : 0.0_f32 , zmag : 0.0_f32 , abs_pressure : 0.0_f32 , diff_pressure : 0.0_f32 , pressure_alt : 0.0_f32 , temperature : 0.0_f32 , fields_updated : HighresImuUpdatedFlags :: DEFAULT , } ; } impl Default for HIGHRES_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGHRES_IMU_DATA { type Message = MavMessage ; const ID : u32 = 105u32 ; const NAME : & 'static str = "HIGHRES_IMU" ; const EXTRA_CRC : u8 = 93u8 ; const ENCODED_LEN : usize = 62usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . xmag = buf . get_f32_le () ; __struct . ymag = buf . get_f32_le () ; __struct . zmag = buf . get_f32_le () ; __struct . abs_pressure = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . pressure_alt = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . fields_updated = HighresImuUpdatedFlags :: from_bits (tmp & HighresImuUpdatedFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HighresImuUpdatedFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . xmag) ; __tmp . put_f32_le (self . ymag) ; __tmp . put_f32_le (self . zmag) ; __tmp . put_f32_le (self . abs_pressure) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . pressure_alt) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u16_le (self . fields_updated . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CHANGE_OPERATOR_CONTROL_DATA { pub target_system : u8 , pub control_request : u8 , pub version : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub passkey : [u8 ; 25] , } impl CHANGE_OPERATOR_CONTROL_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , control_request : 0_u8 , version : 0_u8 , passkey : [0_u8 ; 25usize] , } ; } impl Default for CHANGE_OPERATOR_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CHANGE_OPERATOR_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 5u32 ; const NAME : & 'static str = "CHANGE_OPERATOR_CONTROL" ; const EXTRA_CRC : u8 = 217u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . control_request = buf . get_u8 () ; __struct . version = buf . get_u8 () ; for v in & mut __struct . passkey { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . control_request) ; __tmp . put_u8 (self . version) ; for val in & self . passkey { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 40u32 ; const NAME : & 'static str = "MISSION_REQUEST" ; const EXTRA_CRC : u8 = 230u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIDEO_STREAM_INFORMATION_DATA { pub framerate : f32 , pub bitrate : u32 , pub flags : VideoStreamStatusFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub hfov : u16 , pub stream_id : u8 , pub count : u8 , pub mavtype : VideoStreamType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 160] , } impl VIDEO_STREAM_INFORMATION_DATA { pub const ENCODED_LEN : usize = 213usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , flags : VideoStreamStatusFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , hfov : 0_u16 , stream_id : 0_u8 , count : 0_u8 , mavtype : VideoStreamType :: DEFAULT , name : [0_u8 ; 32usize] , uri : [0_u8 ; 160usize] , } ; } impl Default for VIDEO_STREAM_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIDEO_STREAM_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 269u32 ; const NAME : & 'static str = "VIDEO_STREAM_INFORMATION" ; const EXTRA_CRC : u8 = 109u8 ; const ENCODED_LEN : usize = 213usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamStatusFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . hfov = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamType" , value : tmp as u32 }) ? ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . flags as u16) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u16_le (self . hfov) ; __tmp . put_u8 (self . stream_id) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . mavtype as u8) ; for val in & self . name { __tmp . put_u8 (* val) ; } for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU_DATA { type Message = MavMessage ; const ID : u32 = 26u32 ; const NAME : & 'static str = "SCALED_IMU" ; const EXTRA_CRC : u8 = 170u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEVICE_OP_WRITE_DATA { pub request_id : u32 , pub target_system : u8 , pub target_component : u8 , pub bustype : DeviceOpBustype , pub bus : u8 , pub address : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub busname : [u8 ; 40] , pub regstart : u8 , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 128] , } impl DEVICE_OP_WRITE_DATA { pub const ENCODED_LEN : usize = 179usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bustype : DeviceOpBustype :: DEFAULT , bus : 0_u8 , address : 0_u8 , busname : [0_u8 ; 40usize] , regstart : 0_u8 , count : 0_u8 , data : [0_u8 ; 128usize] , } ; } impl Default for DEVICE_OP_WRITE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEVICE_OP_WRITE_DATA { type Message = MavMessage ; const ID : u32 = 11002u32 ; const NAME : & 'static str = "DEVICE_OP_WRITE" ; const EXTRA_CRC : u8 = 234u8 ; const ENCODED_LEN : usize = 179usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . bustype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "DeviceOpBustype" , value : tmp as u32 }) ? ; __struct . bus = buf . get_u8 () ; __struct . address = buf . get_u8 () ; for v in & mut __struct . busname { let val = buf . get_u8 () ; * v = val ; } __struct . regstart = buf . get_u8 () ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bustype as u8) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . address) ; for val in & self . busname { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . regstart) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HYGROMETER_SENSOR_DATA { pub temperature : i16 , pub humidity : u16 , pub id : u8 , } impl HYGROMETER_SENSOR_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { temperature : 0_i16 , humidity : 0_u16 , id : 0_u8 , } ; } impl Default for HYGROMETER_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HYGROMETER_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 12920u32 ; const NAME : & 'static str = "HYGROMETER_SENSOR" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . temperature = buf . get_i16_le () ; __struct . humidity = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u16_le (self . humidity) ; __tmp . put_u8 (self . id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CUBEPILOT_RAW_RC_DATA { } impl CUBEPILOT_RAW_RC_DATA { pub const ENCODED_LEN : usize = 0usize ; pub const DEFAULT : Self = Self { } ; } impl Default for CUBEPILOT_RAW_RC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CUBEPILOT_RAW_RC_DATA { type Message = MavMessage ; const ID : u32 = 50001u32 ; const NAME : & 'static str = "CUBEPILOT_RAW_RC" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 0usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { Ok (Self :: default ()) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_STATUS_DATA { pub satellites_visible : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_prn : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_used : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_elevation : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_azimuth : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_snr : [u8 ; 20] , } impl GPS_STATUS_DATA { pub const ENCODED_LEN : usize = 101usize ; pub const DEFAULT : Self = Self { satellites_visible : 0_u8 , satellite_prn : [0_u8 ; 20usize] , satellite_used : [0_u8 ; 20usize] , satellite_elevation : [0_u8 ; 20usize] , satellite_azimuth : [0_u8 ; 20usize] , satellite_snr : [0_u8 ; 20usize] , } ; } impl Default for GPS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 25u32 ; const NAME : & 'static str = "GPS_STATUS" ; const EXTRA_CRC : u8 = 23u8 ; const ENCODED_LEN : usize = 101usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . satellites_visible = buf . get_u8 () ; for v in & mut __struct . satellite_prn { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_used { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_elevation { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_azimuth { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_snr { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . satellites_visible) ; for val in & self . satellite_prn { __tmp . put_u8 (* val) ; } for val in & self . satellite_used { __tmp . put_u8 (* val) ; } for val in & self . satellite_elevation { __tmp . put_u8 (* val) ; } for val in & self . satellite_azimuth { __tmp . put_u8 (* val) ; } for val in & self . satellite_snr { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEVICE_OP_WRITE_REPLY_DATA { pub request_id : u32 , pub result : u8 , } impl DEVICE_OP_WRITE_REPLY_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , result : 0_u8 , } ; } impl Default for DEVICE_OP_WRITE_REPLY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEVICE_OP_WRITE_REPLY_DATA { type Message = MavMessage ; const ID : u32 = 11003u32 ; const NAME : & 'static str = "DEVICE_OP_WRITE_REPLY" ; const EXTRA_CRC : u8 = 64u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . result = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_u8 (self . result) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRIGGER_DATA { pub time_usec : u64 , pub seq : u32 , } impl CAMERA_TRIGGER_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , seq : 0_u32 , } ; } impl Default for CAMERA_TRIGGER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRIGGER_DATA { type Message = MavMessage ; const ID : u32 = 112u32 ; const NAME : & 'static str = "CAMERA_TRIGGER" ; const EXTRA_CRC : u8 = 174u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . seq = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SERIAL_CONTROL_DATA { pub baudrate : u32 , pub timeout : u16 , pub device : SerialControlDev , pub flags : SerialControlFlag , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 70] , } impl SERIAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 79usize ; pub const DEFAULT : Self = Self { baudrate : 0_u32 , timeout : 0_u16 , device : SerialControlDev :: DEFAULT , flags : SerialControlFlag :: DEFAULT , count : 0_u8 , data : [0_u8 ; 70usize] , } ; } impl Default for SERIAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SERIAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 126u32 ; const NAME : & 'static str = "SERIAL_CONTROL" ; const EXTRA_CRC : u8 = 220u8 ; const ENCODED_LEN : usize = 79usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . baudrate = buf . get_u32_le () ; __struct . timeout = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . device = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "SerialControlDev" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = SerialControlFlag :: from_bits (tmp & SerialControlFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "SerialControlFlag" , value : tmp as u32 }) ? ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . baudrate) ; __tmp . put_u16_le (self . timeout) ; __tmp . put_u8 (self . device as u8) ; __tmp . put_u8 (self . flags . bits ()) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OBSTACLE_DISTANCE_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub distances : [u16 ; 72] , pub min_distance : u16 , pub max_distance : u16 , pub sensor_type : MavDistanceSensor , pub increment : u8 , } impl OBSTACLE_DISTANCE_DATA { pub const ENCODED_LEN : usize = 158usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , distances : [0_u16 ; 72usize] , min_distance : 0_u16 , max_distance : 0_u16 , sensor_type : MavDistanceSensor :: DEFAULT , increment : 0_u8 , } ; } impl Default for OBSTACLE_DISTANCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OBSTACLE_DISTANCE_DATA { type Message = MavMessage ; const ID : u32 = 330u32 ; const NAME : & 'static str = "OBSTACLE_DISTANCE" ; const EXTRA_CRC : u8 = 23u8 ; const ENCODED_LEN : usize = 158usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . distances { let val = buf . get_u16_le () ; * v = val ; } __struct . min_distance = buf . get_u16_le () ; __struct . max_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . sensor_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; __struct . increment = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . distances { __tmp . put_u16_le (* val) ; } __tmp . put_u16_le (self . min_distance) ; __tmp . put_u16_le (self . max_distance) ; __tmp . put_u8 (self . sensor_type as u8) ; __tmp . put_u8 (self . increment) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FENCE_STATUS_DATA { pub breach_time : u32 , pub breach_count : u16 , pub breach_status : u8 , pub breach_type : FenceBreach , } impl FENCE_STATUS_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { breach_time : 0_u32 , breach_count : 0_u16 , breach_status : 0_u8 , breach_type : FenceBreach :: DEFAULT , } ; } impl Default for FENCE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FENCE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 162u32 ; const NAME : & 'static str = "FENCE_STATUS" ; const EXTRA_CRC : u8 = 189u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . breach_time = buf . get_u32_le () ; __struct . breach_count = buf . get_u16_le () ; __struct . breach_status = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . breach_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "FenceBreach" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . breach_time) ; __tmp . put_u16_le (self . breach_count) ; __tmp . put_u8 (self . breach_status) ; __tmp . put_u8 (self . breach_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_STATUS_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rpm : [i32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltage : [f32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub current : [f32 ; 4] , pub index : u8 , } impl ESC_STATUS_DATA { pub const ENCODED_LEN : usize = 57usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , rpm : [0_i32 ; 4usize] , voltage : [0.0_f32 ; 4usize] , current : [0.0_f32 ; 4usize] , index : 0_u8 , } ; } impl Default for ESC_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 291u32 ; const NAME : & 'static str = "ESC_STATUS" ; const EXTRA_CRC : u8 = 10u8 ; const ENCODED_LEN : usize = 57usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . rpm { let val = buf . get_i32_le () ; * v = val ; } for v in & mut __struct . voltage { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . current { let val = buf . get_f32_le () ; * v = val ; } __struct . index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . rpm { __tmp . put_i32_le (* val) ; } for val in & self . voltage { __tmp . put_f32_le (* val) ; } for val in & self . current { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LANDING_TARGET_DATA { pub time_usec : u64 , pub angle_x : f32 , pub angle_y : f32 , pub distance : f32 , pub size_x : f32 , pub size_y : f32 , pub target_num : u8 , pub frame : MavFrame , } impl LANDING_TARGET_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , angle_x : 0.0_f32 , angle_y : 0.0_f32 , distance : 0.0_f32 , size_x : 0.0_f32 , size_y : 0.0_f32 , target_num : 0_u8 , frame : MavFrame :: DEFAULT , } ; } impl Default for LANDING_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LANDING_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 149u32 ; const NAME : & 'static str = "LANDING_TARGET" ; const EXTRA_CRC : u8 = 200u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . angle_x = buf . get_f32_le () ; __struct . angle_y = buf . get_f32_le () ; __struct . distance = buf . get_f32_le () ; __struct . size_x = buf . get_f32_le () ; __struct . size_y = buf . get_f32_le () ; __struct . target_num = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . angle_x) ; __tmp . put_f32_le (self . angle_y) ; __tmp . put_f32_le (self . distance) ; __tmp . put_f32_le (self . size_x) ; __tmp . put_f32_le (self . size_y) ; __tmp . put_u8 (self . target_num) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SELF_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub description_type : MavOdidDescType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub description : [u8 ; 23] , } impl OPEN_DRONE_ID_SELF_ID_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , description_type : MavOdidDescType :: DEFAULT , description : [0_u8 ; 23usize] , } ; } impl Default for OPEN_DRONE_ID_SELF_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SELF_ID_DATA { type Message = MavMessage ; const ID : u32 = 12903u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SELF_ID" ; const EXTRA_CRC : u8 = 249u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . description_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidDescType" , value : tmp as u32 }) ? ; for v in & mut __struct . description { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . description_type as u8) ; for val in & self . description { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_CAPTURE_STATUS_DATA { pub time_boot_ms : u32 , pub image_interval : f32 , pub recording_time_ms : u32 , pub available_capacity : f32 , pub image_status : u8 , pub video_status : u8 , } impl CAMERA_CAPTURE_STATUS_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , image_interval : 0.0_f32 , recording_time_ms : 0_u32 , available_capacity : 0.0_f32 , image_status : 0_u8 , video_status : 0_u8 , } ; } impl Default for CAMERA_CAPTURE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_CAPTURE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 262u32 ; const NAME : & 'static str = "CAMERA_CAPTURE_STATUS" ; const EXTRA_CRC : u8 = 12u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . image_interval = buf . get_f32_le () ; __struct . recording_time_ms = buf . get_u32_le () ; __struct . available_capacity = buf . get_f32_le () ; __struct . image_status = buf . get_u8 () ; __struct . video_status = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . image_interval) ; __tmp . put_u32_le (self . recording_time_ms) ; __tmp . put_f32_le (self . available_capacity) ; __tmp . put_u8 (self . image_status) ; __tmp . put_u8 (self . video_status) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BATTERY2_DATA { pub voltage : u16 , pub current_battery : i16 , } impl BATTERY2_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { voltage : 0_u16 , current_battery : 0_i16 , } ; } impl Default for BATTERY2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BATTERY2_DATA { type Message = MavMessage ; const ID : u32 = 181u32 ; const NAME : & 'static str = "BATTERY2" ; const EXTRA_CRC : u8 = 174u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . voltage = buf . get_u16_le () ; __struct . current_battery = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . voltage) ; __tmp . put_i16_le (self . current_battery) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_DATA_DATA { pub lat : i32 , pub lon : i32 , pub grid_spacing : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [i16 ; 16] , pub gridbit : u8 , } impl TERRAIN_DATA_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , grid_spacing : 0_u16 , data : [0_i16 ; 16usize] , gridbit : 0_u8 , } ; } impl Default for TERRAIN_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_DATA_DATA { type Message = MavMessage ; const ID : u32 = 134u32 ; const NAME : & 'static str = "TERRAIN_DATA" ; const EXTRA_CRC : u8 = 229u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . grid_spacing = buf . get_u16_le () ; for v in & mut __struct . data { let val = buf . get_i16_le () ; * v = val ; } __struct . gridbit = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . grid_spacing) ; for val in & self . data { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . gridbit) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_INPUT_DATA { pub time_usec : u64 , pub time_week_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : f32 , pub hdop : f32 , pub vdop : f32 , pub vn : f32 , pub ve : f32 , pub vd : f32 , pub speed_accuracy : f32 , pub horiz_accuracy : f32 , pub vert_accuracy : f32 , pub ignore_flags : GpsInputIgnoreFlags , pub time_week : u16 , pub gps_id : u8 , pub fix_type : u8 , pub satellites_visible : u8 , } impl GPS_INPUT_DATA { pub const ENCODED_LEN : usize = 63usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , time_week_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , hdop : 0.0_f32 , vdop : 0.0_f32 , vn : 0.0_f32 , ve : 0.0_f32 , vd : 0.0_f32 , speed_accuracy : 0.0_f32 , horiz_accuracy : 0.0_f32 , vert_accuracy : 0.0_f32 , ignore_flags : GpsInputIgnoreFlags :: DEFAULT , time_week : 0_u16 , gps_id : 0_u8 , fix_type : 0_u8 , satellites_visible : 0_u8 , } ; } impl Default for GPS_INPUT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_INPUT_DATA { type Message = MavMessage ; const ID : u32 = 232u32 ; const NAME : & 'static str = "GPS_INPUT" ; const EXTRA_CRC : u8 = 151u8 ; const ENCODED_LEN : usize = 63usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . time_week_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . hdop = buf . get_f32_le () ; __struct . vdop = buf . get_f32_le () ; __struct . vn = buf . get_f32_le () ; __struct . ve = buf . get_f32_le () ; __struct . vd = buf . get_f32_le () ; __struct . speed_accuracy = buf . get_f32_le () ; __struct . horiz_accuracy = buf . get_f32_le () ; __struct . vert_accuracy = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . ignore_flags = GpsInputIgnoreFlags :: from_bits (tmp & GpsInputIgnoreFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GpsInputIgnoreFlags" , value : tmp as u32 }) ? ; __struct . time_week = buf . get_u16_le () ; __struct . gps_id = buf . get_u8 () ; __struct . fix_type = buf . get_u8 () ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . time_week_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . hdop) ; __tmp . put_f32_le (self . vdop) ; __tmp . put_f32_le (self . vn) ; __tmp . put_f32_le (self . ve) ; __tmp . put_f32_le (self . vd) ; __tmp . put_f32_le (self . speed_accuracy) ; __tmp . put_f32_le (self . horiz_accuracy) ; __tmp . put_f32_le (self . vert_accuracy) ; __tmp . put_u16_le (self . ignore_flags . bits ()) ; __tmp . put_u16_le (self . time_week) ; __tmp . put_u8 (self . gps_id) ; __tmp . put_u8 (self . fix_type) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AIRSPEED_AUTOCAL_DATA { pub vx : f32 , pub vy : f32 , pub vz : f32 , pub diff_pressure : f32 , pub EAS2TAS : f32 , pub ratio : f32 , pub state_x : f32 , pub state_y : f32 , pub state_z : f32 , pub Pax : f32 , pub Pby : f32 , pub Pcz : f32 , } impl AIRSPEED_AUTOCAL_DATA { pub const ENCODED_LEN : usize = 48usize ; pub const DEFAULT : Self = Self { vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , diff_pressure : 0.0_f32 , EAS2TAS : 0.0_f32 , ratio : 0.0_f32 , state_x : 0.0_f32 , state_y : 0.0_f32 , state_z : 0.0_f32 , Pax : 0.0_f32 , Pby : 0.0_f32 , Pcz : 0.0_f32 , } ; } impl Default for AIRSPEED_AUTOCAL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AIRSPEED_AUTOCAL_DATA { type Message = MavMessage ; const ID : u32 = 174u32 ; const NAME : & 'static str = "AIRSPEED_AUTOCAL" ; const EXTRA_CRC : u8 = 167u8 ; const ENCODED_LEN : usize = 48usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . EAS2TAS = buf . get_f32_le () ; __struct . ratio = buf . get_f32_le () ; __struct . state_x = buf . get_f32_le () ; __struct . state_y = buf . get_f32_le () ; __struct . state_z = buf . get_f32_le () ; __struct . Pax = buf . get_f32_le () ; __struct . Pby = buf . get_f32_le () ; __struct . Pcz = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . EAS2TAS) ; __tmp . put_f32_le (self . ratio) ; __tmp . put_f32_le (self . state_x) ; __tmp . put_f32_le (self . state_y) ; __tmp . put_f32_le (self . state_z) ; __tmp . put_f32_le (self . Pax) ; __tmp . put_f32_le (self . Pby) ; __tmp . put_f32_le (self . Pcz) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_IMAGE_CAPTURED_DATA { pub time_utc : u64 , pub time_boot_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub image_index : i32 , pub camera_id : u8 , pub capture_result : i8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub file_url : [u8 ; 205] , } impl CAMERA_IMAGE_CAPTURED_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { time_utc : 0_u64 , time_boot_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , q : [0.0_f32 ; 4usize] , image_index : 0_i32 , camera_id : 0_u8 , capture_result : 0_i8 , file_url : [0_u8 ; 205usize] , } ; } impl Default for CAMERA_IMAGE_CAPTURED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_IMAGE_CAPTURED_DATA { type Message = MavMessage ; const ID : u32 = 263u32 ; const NAME : & 'static str = "CAMERA_IMAGE_CAPTURED" ; const EXTRA_CRC : u8 = 133u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_utc = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . image_index = buf . get_i32_le () ; __struct . camera_id = buf . get_u8 () ; __struct . capture_result = buf . get_i8 () ; for v in & mut __struct . file_url { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_utc) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_i32_le (self . image_index) ; __tmp . put_u8 (self . camera_id) ; __tmp . put_i8 (self . capture_result) ; for val in & self . file_url { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_ACTUATOR_CONTROLS_DATA { pub time_usec : u64 , pub flags : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 16] , pub mode : MavModeFlag , } impl HIL_ACTUATOR_CONTROLS_DATA { pub const ENCODED_LEN : usize = 81usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , flags : 0_u64 , controls : [0.0_f32 ; 16usize] , mode : MavModeFlag :: DEFAULT , } ; } impl Default for HIL_ACTUATOR_CONTROLS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_ACTUATOR_CONTROLS_DATA { type Message = MavMessage ; const ID : u32 = 93u32 ; const NAME : & 'static str = "HIL_ACTUATOR_CONTROLS" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 81usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . flags = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u64_le (self . flags) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . mode . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_BASIC_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub id_type : MavOdidIdType , pub ua_type : MavOdidUaType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uas_id : [u8 ; 20] , } impl OPEN_DRONE_ID_BASIC_ID_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , id_type : MavOdidIdType :: DEFAULT , ua_type : MavOdidUaType :: DEFAULT , uas_id : [0_u8 ; 20usize] , } ; } impl Default for OPEN_DRONE_ID_BASIC_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_BASIC_ID_DATA { type Message = MavMessage ; const ID : u32 = 12900u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_BASIC_ID" ; const EXTRA_CRC : u8 = 114u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . id_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidIdType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . ua_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidUaType" , value : tmp as u32 }) ? ; for v in & mut __struct . uas_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . id_type as u8) ; __tmp . put_u8 (self . ua_type as u8) ; for val in & self . uas_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RESPONSE_EVENT_ERROR_DATA { pub sequence : u16 , pub sequence_oldest_available : u16 , pub target_system : u8 , pub target_component : u8 , pub reason : MavEventErrorReason , } impl RESPONSE_EVENT_ERROR_DATA { pub const ENCODED_LEN : usize = 7usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , sequence_oldest_available : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , reason : MavEventErrorReason :: DEFAULT , } ; } impl Default for RESPONSE_EVENT_ERROR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RESPONSE_EVENT_ERROR_DATA { type Message = MavMessage ; const ID : u32 = 413u32 ; const NAME : & 'static str = "RESPONSE_EVENT_ERROR" ; const EXTRA_CRC : u8 = 77u8 ; const ENCODED_LEN : usize = 7usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . sequence_oldest_available = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . reason = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEventErrorReason" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u16_le (self . sequence_oldest_available) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . reason as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_ENTRY_DATA { pub time_utc : u32 , pub size : u32 , pub id : u16 , pub num_logs : u16 , pub last_log_num : u16 , } impl LOG_ENTRY_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_utc : 0_u32 , size : 0_u32 , id : 0_u16 , num_logs : 0_u16 , last_log_num : 0_u16 , } ; } impl Default for LOG_ENTRY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_ENTRY_DATA { type Message = MavMessage ; const ID : u32 = 118u32 ; const NAME : & 'static str = "LOG_ENTRY" ; const EXTRA_CRC : u8 = 56u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_utc = buf . get_u32_le () ; __struct . size = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . num_logs = buf . get_u16_le () ; __struct . last_log_num = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_utc) ; __tmp . put_u32_le (self . size) ; __tmp . put_u16_le (self . id) ; __tmp . put_u16_le (self . num_logs) ; __tmp . put_u16_le (self . last_log_num) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl PARAM_EXT_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PARAM_EXT_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 321u32 ; const NAME : & 'static str = "PARAM_EXT_REQUEST_LIST" ; const EXTRA_CRC : u8 = 88u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_ERASE_DATA { pub target_system : u8 , pub target_component : u8 , } impl LOG_ERASE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_ERASE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_ERASE_DATA { type Message = MavMessage ; const ID : u32 = 121u32 ; const NAME : & 'static str = "LOG_ERASE" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ORBIT_EXECUTION_STATUS_DATA { pub time_usec : u64 , pub radius : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub frame : MavFrame , } impl ORBIT_EXECUTION_STATUS_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , radius : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , frame : MavFrame :: DEFAULT , } ; } impl Default for ORBIT_EXECUTION_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ORBIT_EXECUTION_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 360u32 ; const NAME : & 'static str = "ORBIT_EXECUTION_STATUS" ; const EXTRA_CRC : u8 = 11u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . radius = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . radius) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPASSMOT_STATUS_DATA { pub current : f32 , pub CompensationX : f32 , pub CompensationY : f32 , pub CompensationZ : f32 , pub throttle : u16 , pub interference : u16 , } impl COMPASSMOT_STATUS_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { current : 0.0_f32 , CompensationX : 0.0_f32 , CompensationY : 0.0_f32 , CompensationZ : 0.0_f32 , throttle : 0_u16 , interference : 0_u16 , } ; } impl Default for COMPASSMOT_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPASSMOT_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 177u32 ; const NAME : & 'static str = "COMPASSMOT_STATUS" ; const EXTRA_CRC : u8 = 240u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . current = buf . get_f32_le () ; __struct . CompensationX = buf . get_f32_le () ; __struct . CompensationY = buf . get_f32_le () ; __struct . CompensationZ = buf . get_f32_le () ; __struct . throttle = buf . get_u16_le () ; __struct . interference = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . current) ; __tmp . put_f32_le (self . CompensationX) ; __tmp . put_f32_le (self . CompensationY) ; __tmp . put_f32_le (self . CompensationZ) ; __tmp . put_u16_le (self . throttle) ; __tmp . put_u16_le (self . interference) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_GPS_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub vn : i16 , pub ve : i16 , pub vd : i16 , pub cog : u16 , pub fix_type : u8 , pub satellites_visible : u8 , } impl HIL_GPS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , vn : 0_i16 , ve : 0_i16 , vd : 0_i16 , cog : 0_u16 , fix_type : 0_u8 , satellites_visible : 0_u8 , } ; } impl Default for HIL_GPS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_GPS_DATA { type Message = MavMessage ; const ID : u32 = 113u32 ; const NAME : & 'static str = "HIL_GPS" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . vn = buf . get_i16_le () ; __struct . ve = buf . get_i16_le () ; __struct . vd = buf . get_i16_le () ; __struct . cog = buf . get_u16_le () ; __struct . fix_type = buf . get_u8 () ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_i16_le (self . vn) ; __tmp . put_i16_le (self . ve) ; __tmp . put_i16_le (self . vd) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_DATA_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , pub length : u8 , pub first_message_offset : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 249] , } impl LOGGING_DATA_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , length : 0_u8 , first_message_offset : 0_u8 , data : [0_u8 ; 249usize] , } ; } impl Default for LOGGING_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_DATA_DATA { type Message = MavMessage ; const ID : u32 = 266u32 ; const NAME : & 'static str = "LOGGING_DATA" ; const EXTRA_CRC : u8 = 193u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . length = buf . get_u8 () ; __struct . first_message_offset = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . length) ; __tmp . put_u8 (self . first_message_offset) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PLAY_TUNE_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub tune : [u8 ; 30] , } impl PLAY_TUNE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , tune : [0_u8 ; 30usize] , } ; } impl Default for PLAY_TUNE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PLAY_TUNE_DATA { type Message = MavMessage ; const ID : u32 = 258u32 ; const NAME : & 'static str = "PLAY_TUNE" ; const EXTRA_CRC : u8 = 187u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . tune { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . tune { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PROTOCOL_VERSION_DATA { pub version : u16 , pub min_version : u16 , pub max_version : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub spec_version_hash : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub library_version_hash : [u8 ; 8] , } impl PROTOCOL_VERSION_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { version : 0_u16 , min_version : 0_u16 , max_version : 0_u16 , spec_version_hash : [0_u8 ; 8usize] , library_version_hash : [0_u8 ; 8usize] , } ; } impl Default for PROTOCOL_VERSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PROTOCOL_VERSION_DATA { type Message = MavMessage ; const ID : u32 = 300u32 ; const NAME : & 'static str = "PROTOCOL_VERSION" ; const EXTRA_CRC : u8 = 217u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . version = buf . get_u16_le () ; __struct . min_version = buf . get_u16_le () ; __struct . max_version = buf . get_u16_le () ; for v in & mut __struct . spec_version_hash { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . library_version_hash { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . version) ; __tmp . put_u16_le (self . min_version) ; __tmp . put_u16_le (self . max_version) ; for val in & self . spec_version_hash { __tmp . put_u8 (* val) ; } for val in & self . library_version_hash { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CELLULAR_CONFIG_DATA { pub enable_lte : u8 , pub enable_pin : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pin : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub new_pin : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub apn : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub puk : [u8 ; 16] , pub roaming : u8 , pub response : CellularConfigResponse , } impl CELLULAR_CONFIG_DATA { pub const ENCODED_LEN : usize = 84usize ; pub const DEFAULT : Self = Self { enable_lte : 0_u8 , enable_pin : 0_u8 , pin : [0_u8 ; 16usize] , new_pin : [0_u8 ; 16usize] , apn : [0_u8 ; 32usize] , puk : [0_u8 ; 16usize] , roaming : 0_u8 , response : CellularConfigResponse :: DEFAULT , } ; } impl Default for CELLULAR_CONFIG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CELLULAR_CONFIG_DATA { type Message = MavMessage ; const ID : u32 = 336u32 ; const NAME : & 'static str = "CELLULAR_CONFIG" ; const EXTRA_CRC : u8 = 245u8 ; const ENCODED_LEN : usize = 84usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . enable_lte = buf . get_u8 () ; __struct . enable_pin = buf . get_u8 () ; for v in & mut __struct . pin { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . new_pin { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . apn { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . puk { let val = buf . get_u8 () ; * v = val ; } __struct . roaming = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . response = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularConfigResponse" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . enable_lte) ; __tmp . put_u8 (self . enable_pin) ; for val in & self . pin { __tmp . put_u8 (* val) ; } for val in & self . new_pin { __tmp . put_u8 (* val) ; } for val in & self . apn { __tmp . put_u8 (* val) ; } for val in & self . puk { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . roaming) ; __tmp . put_u8 (self . response as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEVICE_OP_READ_REPLY_DATA { pub request_id : u32 , pub result : u8 , pub regstart : u8 , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 128] , } impl DEVICE_OP_READ_REPLY_DATA { pub const ENCODED_LEN : usize = 135usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , result : 0_u8 , regstart : 0_u8 , count : 0_u8 , data : [0_u8 ; 128usize] , } ; } impl Default for DEVICE_OP_READ_REPLY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEVICE_OP_READ_REPLY_DATA { type Message = MavMessage ; const ID : u32 = 11001u32 ; const NAME : & 'static str = "DEVICE_OP_READ_REPLY" ; const EXTRA_CRC : u8 = 15u8 ; const ENCODED_LEN : usize = 135usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . result = buf . get_u8 () ; __struct . regstart = buf . get_u8 () ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_u8 (self . result) ; __tmp . put_u8 (self . regstart) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EVENT_DATA { pub id : u32 , pub event_time_boot_ms : u32 , pub sequence : u16 , pub destination_component : u8 , pub destination_system : u8 , pub log_levels : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub arguments : [u8 ; 40] , } impl EVENT_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { id : 0_u32 , event_time_boot_ms : 0_u32 , sequence : 0_u16 , destination_component : 0_u8 , destination_system : 0_u8 , log_levels : 0_u8 , arguments : [0_u8 ; 40usize] , } ; } impl Default for EVENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EVENT_DATA { type Message = MavMessage ; const ID : u32 = 410u32 ; const NAME : & 'static str = "EVENT" ; const EXTRA_CRC : u8 = 160u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . event_time_boot_ms = buf . get_u32_le () ; __struct . sequence = buf . get_u16_le () ; __struct . destination_component = buf . get_u8 () ; __struct . destination_system = buf . get_u8 () ; __struct . log_levels = buf . get_u8 () ; for v in & mut __struct . arguments { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u32_le (self . event_time_boot_ms) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . destination_component) ; __tmp . put_u8 (self . destination_system) ; __tmp . put_u8 (self . log_levels) ; for val in & self . arguments { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct V2_EXTENSION_DATA { pub message_type : u16 , pub target_network : u8 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 249] , } impl V2_EXTENSION_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { message_type : 0_u16 , target_network : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , payload : [0_u8 ; 249usize] , } ; } impl Default for V2_EXTENSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for V2_EXTENSION_DATA { type Message = MavMessage ; const ID : u32 = 248u32 ; const NAME : & 'static str = "V2_EXTENSION" ; const EXTRA_CRC : u8 = 8u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . message_type = buf . get_u16_le () ; __struct . target_network = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . message_type) ; __tmp . put_u8 (self . target_network) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RALLY_FETCH_POINT_DATA { pub target_system : u8 , pub target_component : u8 , pub idx : u8 , } impl RALLY_FETCH_POINT_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , idx : 0_u8 , } ; } impl Default for RALLY_FETCH_POINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RALLY_FETCH_POINT_DATA { type Message = MavMessage ; const ID : u32 = 176u32 ; const NAME : & 'static str = "RALLY_FETCH_POINT" ; const EXTRA_CRC : u8 = 234u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . idx = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . idx) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_STATUS_DATA { pub time_usec : u64 , pub p1 : f32 , pub p2 : f32 , pub p3 : f32 , pub p4 : f32 , pub img_idx : u16 , pub target_system : u8 , pub cam_idx : u8 , pub event_id : CameraStatusTypes , } impl CAMERA_STATUS_DATA { pub const ENCODED_LEN : usize = 29usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , p1 : 0.0_f32 , p2 : 0.0_f32 , p3 : 0.0_f32 , p4 : 0.0_f32 , img_idx : 0_u16 , target_system : 0_u8 , cam_idx : 0_u8 , event_id : CameraStatusTypes :: DEFAULT , } ; } impl Default for CAMERA_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 179u32 ; const NAME : & 'static str = "CAMERA_STATUS" ; const EXTRA_CRC : u8 = 189u8 ; const ENCODED_LEN : usize = 29usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . p1 = buf . get_f32_le () ; __struct . p2 = buf . get_f32_le () ; __struct . p3 = buf . get_f32_le () ; __struct . p4 = buf . get_f32_le () ; __struct . img_idx = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . cam_idx = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . event_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraStatusTypes" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . p1) ; __tmp . put_f32_le (self . p2) ; __tmp . put_f32_le (self . p3) ; __tmp . put_f32_le (self . p4) ; __tmp . put_u16_le (self . img_idx) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . cam_idx) ; __tmp . put_u8 (self . event_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RANGEFINDER_DATA { pub distance : f32 , pub voltage : f32 , } impl RANGEFINDER_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { distance : 0.0_f32 , voltage : 0.0_f32 , } ; } impl Default for RANGEFINDER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RANGEFINDER_DATA { type Message = MavMessage ; const ID : u32 = 173u32 ; const NAME : & 'static str = "RANGEFINDER" ; const EXTRA_CRC : u8 = 83u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . distance = buf . get_f32_le () ; __struct . voltage = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . distance) ; __tmp . put_f32_le (self . voltage) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_TELEMETRY_5_TO_8_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltage : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub current : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub totalcurrent : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rpm : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub count : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature : [u8 ; 4] , } impl ESC_TELEMETRY_5_TO_8_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { voltage : [0_u16 ; 4usize] , current : [0_u16 ; 4usize] , totalcurrent : [0_u16 ; 4usize] , rpm : [0_u16 ; 4usize] , count : [0_u16 ; 4usize] , temperature : [0_u8 ; 4usize] , } ; } impl Default for ESC_TELEMETRY_5_TO_8_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_TELEMETRY_5_TO_8_DATA { type Message = MavMessage ; const ID : u32 = 11031u32 ; const NAME : & 'static str = "ESC_TELEMETRY_5_TO_8" ; const EXTRA_CRC : u8 = 133u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . voltage { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . current { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . totalcurrent { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . rpm { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . count { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . temperature { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . voltage { __tmp . put_u16_le (* val) ; } for val in & self . current { __tmp . put_u16_le (* val) ; } for val in & self . totalcurrent { __tmp . put_u16_le (* val) ; } for val in & self . rpm { __tmp . put_u16_le (* val) ; } for val in & self . count { __tmp . put_u16_le (* val) ; } for val in & self . temperature { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Clone , PartialEq , Debug)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMessage { GIMBAL_DEVICE_SET_ATTITUDE (GIMBAL_DEVICE_SET_ATTITUDE_DATA) , COMPONENT_INFORMATION (COMPONENT_INFORMATION_DATA) , OSD_PARAM_CONFIG (OSD_PARAM_CONFIG_DATA) , MISSION_ITEM (MISSION_ITEM_DATA) , RADIO_STATUS (RADIO_STATUS_DATA) , FLIGHT_INFORMATION (FLIGHT_INFORMATION_DATA) , HIL_RC_INPUTS_RAW (HIL_RC_INPUTS_RAW_DATA) , VIBRATION (VIBRATION_DATA) , BATTERY_STATUS (BATTERY_STATUS_DATA) , WIND_COV (WIND_COV_DATA) , CAMERA_INFORMATION (CAMERA_INFORMATION_DATA) , RAW_IMU (RAW_IMU_DATA) , GPS_RTK (GPS_RTK_DATA) , RAW_RPM (RAW_RPM_DATA) , TERRAIN_CHECK (TERRAIN_CHECK_DATA) , REQUEST_EVENT (REQUEST_EVENT_DATA) , REQUEST_DATA_STREAM (REQUEST_DATA_STREAM_DATA) , HWSTATUS (HWSTATUS_DATA) , FOLLOW_TARGET (FOLLOW_TARGET_DATA) , GLOBAL_POSITION_INT_COV (GLOBAL_POSITION_INT_COV_DATA) , UAVCAN_NODE_INFO (UAVCAN_NODE_INFO_DATA) , AOA_SSA (AOA_SSA_DATA) , ISBD_LINK_STATUS (ISBD_LINK_STATUS_DATA) , LED_CONTROL (LED_CONTROL_DATA) , WIFI_CONFIG_AP (WIFI_CONFIG_AP_DATA) , UAVIONIX_ADSB_OUT_DYNAMIC (UAVIONIX_ADSB_OUT_DYNAMIC_DATA) , EKF_STATUS_REPORT (EKF_STATUS_REPORT_DATA) , OPEN_DRONE_ID_ARM_STATUS (OPEN_DRONE_ID_ARM_STATUS_DATA) , GIMBAL_REPORT (GIMBAL_REPORT_DATA) , SYS_STATUS (SYS_STATUS_DATA) , MAG_CAL_PROGRESS (MAG_CAL_PROGRESS_DATA) , FILE_TRANSFER_PROTOCOL (FILE_TRANSFER_PROTOCOL_DATA) , PID_TUNING (PID_TUNING_DATA) , HIL_CONTROLS (HIL_CONTROLS_DATA) , OPEN_DRONE_ID_SYSTEM_UPDATE (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA) , CAN_FRAME (CAN_FRAME_DATA) , CAMERA_TRACKING_GEO_STATUS (CAMERA_TRACKING_GEO_STATUS_DATA) , ATTITUDE_QUATERNION_COV (ATTITUDE_QUATERNION_COV_DATA) , SET_MAG_OFFSETS (SET_MAG_OFFSETS_DATA) , VISION_SPEED_ESTIMATE (VISION_SPEED_ESTIMATE_DATA) , MOUNT_CONTROL (MOUNT_CONTROL_DATA) , DEEPSTALL (DEEPSTALL_DATA) , PARAM_EXT_ACK (PARAM_EXT_ACK_DATA) , COLLISION (COLLISION_DATA) , GIMBAL_TORQUE_CMD_REPORT (GIMBAL_TORQUE_CMD_REPORT_DATA) , GPS_GLOBAL_ORIGIN (GPS_GLOBAL_ORIGIN_DATA) , SET_POSITION_TARGET_LOCAL_NED (SET_POSITION_TARGET_LOCAL_NED_DATA) , EFI_STATUS (EFI_STATUS_DATA) , HIL_STATE (HIL_STATE_DATA) , ACTUATOR_OUTPUT_STATUS (ACTUATOR_OUTPUT_STATUS_DATA) , MCU_STATUS (MCU_STATUS_DATA) , PARAM_MAP_RC (PARAM_MAP_RC_DATA) , HEARTBEAT (HEARTBEAT_DATA) , OPEN_DRONE_ID_OPERATOR_ID (OPEN_DRONE_ID_OPERATOR_ID_DATA) , DATA_TRANSMISSION_HANDSHAKE (DATA_TRANSMISSION_HANDSHAKE_DATA) , ODOMETRY (ODOMETRY_DATA) , DISTANCE_SENSOR (DISTANCE_SENSOR_DATA) , OSD_PARAM_SHOW_CONFIG_REPLY (OSD_PARAM_SHOW_CONFIG_REPLY_DATA) , GOPRO_SET_REQUEST (GOPRO_SET_REQUEST_DATA) , ESC_INFO (ESC_INFO_DATA) , MANUAL_SETPOINT (MANUAL_SETPOINT_DATA) , LOG_DATA (LOG_DATA_DATA) , CAMERA_FEEDBACK (CAMERA_FEEDBACK_DATA) , FENCE_POINT (FENCE_POINT_DATA) , SUPPORTED_TUNES (SUPPORTED_TUNES_DATA) , LOGGING_ACK (LOGGING_ACK_DATA) , VISION_POSITION_ESTIMATE (VISION_POSITION_ESTIMATE_DATA) , AHRS (AHRS_DATA) , MESSAGE_INTERVAL (MESSAGE_INTERVAL_DATA) , RC_CHANNELS_OVERRIDE (RC_CHANNELS_OVERRIDE_DATA) , LOG_REQUEST_LIST (LOG_REQUEST_LIST_DATA) , RESOURCE_REQUEST (RESOURCE_REQUEST_DATA) , GIMBAL_MANAGER_SET_ATTITUDE (GIMBAL_MANAGER_SET_ATTITUDE_DATA) , ONBOARD_COMPUTER_STATUS (ONBOARD_COMPUTER_STATUS_DATA) , LOCAL_POSITION_NED (LOCAL_POSITION_NED_DATA) , DIGICAM_CONFIGURE (DIGICAM_CONFIGURE_DATA) , ESC_TELEMETRY_9_TO_12 (ESC_TELEMETRY_9_TO_12_DATA) , TRAJECTORY_REPRESENTATION_WAYPOINTS (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA) , POSITION_TARGET_LOCAL_NED (POSITION_TARGET_LOCAL_NED_DATA) , SAFETY_ALLOWED_AREA (SAFETY_ALLOWED_AREA_DATA) , COMMAND_INT (COMMAND_INT_DATA) , GOPRO_GET_REQUEST (GOPRO_GET_REQUEST_DATA) , CAN_FILTER_MODIFY (CAN_FILTER_MODIFY_DATA) , STATUSTEXT (STATUSTEXT_DATA) , TIME_ESTIMATE_TO_TARGET (TIME_ESTIMATE_TO_TARGET_DATA) , MISSION_ITEM_INT (MISSION_ITEM_INT_DATA) , CUBEPILOT_FIRMWARE_UPDATE_RESP (CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA) , MISSION_REQUEST_INT (MISSION_REQUEST_INT_DATA) , STORAGE_INFORMATION (STORAGE_INFORMATION_DATA) , UTM_GLOBAL_POSITION (UTM_GLOBAL_POSITION_DATA) , MEMINFO (MEMINFO_DATA) , GLOBAL_VISION_POSITION_ESTIMATE (GLOBAL_VISION_POSITION_ESTIMATE_DATA) , GPS2_RAW (GPS2_RAW_DATA) , RALLY_POINT (RALLY_POINT_DATA) , AP_ADC (AP_ADC_DATA) , ACTUATOR_CONTROL_TARGET (ACTUATOR_CONTROL_TARGET_DATA) , LOGGING_DATA_ACKED (LOGGING_DATA_ACKED_DATA) , RC_CHANNELS (RC_CHANNELS_DATA) , NAMED_VALUE_INT (NAMED_VALUE_INT_DATA) , LINK_NODE_STATUS (LINK_NODE_STATUS_DATA) , NAMED_VALUE_FLOAT (NAMED_VALUE_FLOAT_DATA) , SERVO_OUTPUT_RAW (SERVO_OUTPUT_RAW_DATA) , CELLULAR_STATUS (CELLULAR_STATUS_DATA) , OPEN_DRONE_ID_LOCATION (OPEN_DRONE_ID_LOCATION_DATA) , DEBUG_FLOAT_ARRAY (DEBUG_FLOAT_ARRAY_DATA) , POWER_STATUS (POWER_STATUS_DATA) , GIMBAL_DEVICE_ATTITUDE_STATUS (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA) , BUTTON_CHANGE (BUTTON_CHANGE_DATA) , CURRENT_EVENT_SEQUENCE (CURRENT_EVENT_SEQUENCE_DATA) , PARAM_EXT_REQUEST_READ (PARAM_EXT_REQUEST_READ_DATA) , MOUNT_STATUS (MOUNT_STATUS_DATA) , MISSION_CURRENT (MISSION_CURRENT_DATA) , DEBUG_VECT (DEBUG_VECT_DATA) , CAMERA_FOV_STATUS (CAMERA_FOV_STATUS_DATA) , SCALED_PRESSURE3 (SCALED_PRESSURE3_DATA) , MISSION_ITEM_REACHED (MISSION_ITEM_REACHED_DATA) , UAVIONIX_ADSB_OUT_CFG (UAVIONIX_ADSB_OUT_CFG_DATA) , PARAM_VALUE (PARAM_VALUE_DATA) , VICON_POSITION_ESTIMATE (VICON_POSITION_ESTIMATE_DATA) , TIMESYNC (TIMESYNC_DATA) , MANUAL_CONTROL (MANUAL_CONTROL_DATA) , MEMORY_VECT (MEMORY_VECT_DATA) , OBSTACLE_DISTANCE_3D (OBSTACLE_DISTANCE_3D_DATA) , COMPONENT_METADATA (COMPONENT_METADATA_DATA) , CAMERA_SETTINGS (CAMERA_SETTINGS_DATA) , MAG_CAL_REPORT (MAG_CAL_REPORT_DATA) , OPEN_DRONE_ID_SYSTEM (OPEN_DRONE_ID_SYSTEM_DATA) , ATTITUDE_TARGET (ATTITUDE_TARGET_DATA) , SET_POSITION_TARGET_GLOBAL_INT (SET_POSITION_TARGET_GLOBAL_INT_DATA) , WINCH_STATUS (WINCH_STATUS_DATA) , GIMBAL_DEVICE_INFORMATION (GIMBAL_DEVICE_INFORMATION_DATA) , ICAROUS_HEARTBEAT (ICAROUS_HEARTBEAT_DATA) , GOPRO_GET_RESPONSE (GOPRO_GET_RESPONSE_DATA) , GPS_RAW_INT (GPS_RAW_INT_DATA) , PING (PING_DATA) , ATTITUDE_QUATERNION (ATTITUDE_QUATERNION_DATA) , ESC_TELEMETRY_1_TO_4 (ESC_TELEMETRY_1_TO_4_DATA) , HERELINK_VIDEO_STREAM_INFORMATION (HERELINK_VIDEO_STREAM_INFORMATION_DATA) , COMMAND_LONG (COMMAND_LONG_DATA) , GIMBAL_MANAGER_INFORMATION (GIMBAL_MANAGER_INFORMATION_DATA) , SCALED_IMU2 (SCALED_IMU2_DATA) , AHRS2 (AHRS2_DATA) , ATT_POS_MOCAP (ATT_POS_MOCAP_DATA) , OPTICAL_FLOW_RAD (OPTICAL_FLOW_RAD_DATA) , NAV_CONTROLLER_OUTPUT (NAV_CONTROLLER_OUTPUT_DATA) , MISSION_ACK (MISSION_ACK_DATA) , PARAM_SET (PARAM_SET_DATA) , DEBUG (DEBUG_DATA) , AUTH_KEY (AUTH_KEY_DATA) , SAFETY_SET_ALLOWED_AREA (SAFETY_SET_ALLOWED_AREA_DATA) , ICAROUS_KINEMATIC_BANDS (ICAROUS_KINEMATIC_BANDS_DATA) , MISSION_COUNT (MISSION_COUNT_DATA) , ADSB_VEHICLE (ADSB_VEHICLE_DATA) , ENCAPSULATED_DATA (ENCAPSULATED_DATA_DATA) , SCALED_PRESSURE (SCALED_PRESSURE_DATA) , MOUNT_CONFIGURE (MOUNT_CONFIGURE_DATA) , OSD_PARAM_CONFIG_REPLY (OSD_PARAM_CONFIG_REPLY_DATA) , SETUP_SIGNING (SETUP_SIGNING_DATA) , DATA32 (DATA32_DATA) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA) , TUNNEL (TUNNEL_DATA) , DATA96 (DATA96_DATA) , ESTIMATOR_STATUS (ESTIMATOR_STATUS_DATA) , ALTITUDE (ALTITUDE_DATA) , GPS_RTCM_DATA (GPS_RTCM_DATA_DATA) , SCALED_IMU3 (SCALED_IMU3_DATA) , AUTOPILOT_VERSION (AUTOPILOT_VERSION_DATA) , SET_HOME_POSITION (SET_HOME_POSITION_DATA) , GIMBAL_CONTROL (GIMBAL_CONTROL_DATA) , GOPRO_HEARTBEAT (GOPRO_HEARTBEAT_DATA) , HIL_STATE_QUATERNION (HIL_STATE_QUATERNION_DATA) , TERRAIN_REPORT (TERRAIN_REPORT_DATA) , WIND (WIND_DATA) , RAW_PRESSURE (RAW_PRESSURE_DATA) , MISSION_WRITE_PARTIAL_LIST (MISSION_WRITE_PARTIAL_LIST_DATA) , CUBEPILOT_FIRMWARE_UPDATE_START (CUBEPILOT_FIRMWARE_UPDATE_START_DATA) , GENERATOR_STATUS (GENERATOR_STATUS_DATA) , RADIO (RADIO_DATA) , DEVICE_OP_READ (DEVICE_OP_READ_DATA) , AIS_VESSEL (AIS_VESSEL_DATA) , CAMERA_TRACKING_IMAGE_STATUS (CAMERA_TRACKING_IMAGE_STATUS_DATA) , PARAM_EXT_VALUE (PARAM_EXT_VALUE_DATA) , UAVCAN_NODE_STATUS (UAVCAN_NODE_STATUS_DATA) , TRAJECTORY_REPRESENTATION_BEZIER (TRAJECTORY_REPRESENTATION_BEZIER_DATA) , WATER_DEPTH (WATER_DEPTH_DATA) , SIM_STATE (SIM_STATE_DATA) , TERRAIN_REQUEST (TERRAIN_REQUEST_DATA) , PARAM_REQUEST_READ (PARAM_REQUEST_READ_DATA) , GLOBAL_POSITION_INT (GLOBAL_POSITION_INT_DATA) , PLAY_TUNE_V2 (PLAY_TUNE_V2_DATA) , OPEN_DRONE_ID_MESSAGE_PACK (OPEN_DRONE_ID_MESSAGE_PACK_DATA) , SYSTEM_TIME (SYSTEM_TIME_DATA) , GPS2_RTK (GPS2_RTK_DATA) , HIGH_LATENCY2 (HIGH_LATENCY2_DATA) , MOUNT_ORIENTATION (MOUNT_ORIENTATION_DATA) , RC_CHANNELS_RAW (RC_CHANNELS_RAW_DATA) , GIMBAL_MANAGER_STATUS (GIMBAL_MANAGER_STATUS_DATA) , SENSOR_OFFSETS (SENSOR_OFFSETS_DATA) , FENCE_FETCH_POINT (FENCE_FETCH_POINT_DATA) , LIMITS_STATUS (LIMITS_STATUS_DATA) , POSITION_TARGET_GLOBAL_INT (POSITION_TARGET_GLOBAL_INT_DATA) , DATA64 (DATA64_DATA) , HOME_POSITION (HOME_POSITION_DATA) , LOG_REQUEST_DATA (LOG_REQUEST_DATA_DATA) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA) , AUTOPILOT_VERSION_REQUEST (AUTOPILOT_VERSION_REQUEST_DATA) , ATTITUDE (ATTITUDE_DATA) , REMOTE_LOG_BLOCK_STATUS (REMOTE_LOG_BLOCK_STATUS_DATA) , ADAP_TUNING (ADAP_TUNING_DATA) , PARAM_EXT_SET (PARAM_EXT_SET_DATA) , HIL_OPTICAL_FLOW (HIL_OPTICAL_FLOW_DATA) , RC_CHANNELS_SCALED (RC_CHANNELS_SCALED_DATA) , EXTENDED_SYS_STATE (EXTENDED_SYS_STATE_DATA) , CHANGE_OPERATOR_CONTROL_ACK (CHANGE_OPERATOR_CONTROL_ACK_DATA) , LOG_REQUEST_END (LOG_REQUEST_END_DATA) , OPTICAL_FLOW (OPTICAL_FLOW_DATA) , COMMAND_ACK (COMMAND_ACK_DATA) , SET_ACTUATOR_CONTROL_TARGET (SET_ACTUATOR_CONTROL_TARGET_DATA) , OPEN_DRONE_ID_AUTHENTICATION (OPEN_DRONE_ID_AUTHENTICATION_DATA) , MISSION_REQUEST_PARTIAL_LIST (MISSION_REQUEST_PARTIAL_LIST_DATA) , MISSION_REQUEST_LIST (MISSION_REQUEST_LIST_DATA) , PARAM_REQUEST_LIST (PARAM_REQUEST_LIST_DATA) , MISSION_SET_CURRENT (MISSION_SET_CURRENT_DATA) , CONTROL_SYSTEM_STATE (CONTROL_SYSTEM_STATE_DATA) , GIMBAL_MANAGER_SET_PITCHYAW (GIMBAL_MANAGER_SET_PITCHYAW_DATA) , SMART_BATTERY_INFO (SMART_BATTERY_INFO_DATA) , GIMBAL_MANAGER_SET_MANUAL_CONTROL (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA) , LOCAL_POSITION_NED_COV (LOCAL_POSITION_NED_COV_DATA) , VIDEO_STREAM_STATUS (VIDEO_STREAM_STATUS_DATA) , SET_MODE (SET_MODE_DATA) , HERELINK_TELEM (HERELINK_TELEM_DATA) , GPS_INJECT_DATA (GPS_INJECT_DATA_DATA) , VFR_HUD (VFR_HUD_DATA) , HIGH_LATENCY (HIGH_LATENCY_DATA) , DIGICAM_CONTROL (DIGICAM_CONTROL_DATA) , WHEEL_DISTANCE (WHEEL_DISTANCE_DATA) , COMMAND_CANCEL (COMMAND_CANCEL_DATA) , SIMSTATE (SIMSTATE_DATA) , DATA16 (DATA16_DATA) , MISSION_CLEAR_ALL (MISSION_CLEAR_ALL_DATA) , REMOTE_LOG_DATA_BLOCK (REMOTE_LOG_DATA_BLOCK_DATA) , RPM (RPM_DATA) , VISION_POSITION_DELTA (VISION_POSITION_DELTA_DATA) , AHRS3 (AHRS3_DATA) , OSD_PARAM_SHOW_CONFIG (OSD_PARAM_SHOW_CONFIG_DATA) , SET_GPS_GLOBAL_ORIGIN (SET_GPS_GLOBAL_ORIGIN_DATA) , SET_ATTITUDE_TARGET (SET_ATTITUDE_TARGET_DATA) , GOPRO_SET_RESPONSE (GOPRO_SET_RESPONSE_DATA) , SCALED_PRESSURE2 (SCALED_PRESSURE2_DATA) , HIL_SENSOR (HIL_SENSOR_DATA) , CANFD_FRAME (CANFD_FRAME_DATA) , DATA_STREAM (DATA_STREAM_DATA) , HIGHRES_IMU (HIGHRES_IMU_DATA) , CHANGE_OPERATOR_CONTROL (CHANGE_OPERATOR_CONTROL_DATA) , MISSION_REQUEST (MISSION_REQUEST_DATA) , VIDEO_STREAM_INFORMATION (VIDEO_STREAM_INFORMATION_DATA) , SCALED_IMU (SCALED_IMU_DATA) , DEVICE_OP_WRITE (DEVICE_OP_WRITE_DATA) , HYGROMETER_SENSOR (HYGROMETER_SENSOR_DATA) , CUBEPILOT_RAW_RC (CUBEPILOT_RAW_RC_DATA) , GPS_STATUS (GPS_STATUS_DATA) , DEVICE_OP_WRITE_REPLY (DEVICE_OP_WRITE_REPLY_DATA) , CAMERA_TRIGGER (CAMERA_TRIGGER_DATA) , SERIAL_CONTROL (SERIAL_CONTROL_DATA) , OBSTACLE_DISTANCE (OBSTACLE_DISTANCE_DATA) , FENCE_STATUS (FENCE_STATUS_DATA) , ESC_STATUS (ESC_STATUS_DATA) , LANDING_TARGET (LANDING_TARGET_DATA) , OPEN_DRONE_ID_SELF_ID (OPEN_DRONE_ID_SELF_ID_DATA) , CAMERA_CAPTURE_STATUS (CAMERA_CAPTURE_STATUS_DATA) , BATTERY2 (BATTERY2_DATA) , TERRAIN_DATA (TERRAIN_DATA_DATA) , GPS_INPUT (GPS_INPUT_DATA) , AIRSPEED_AUTOCAL (AIRSPEED_AUTOCAL_DATA) , CAMERA_IMAGE_CAPTURED (CAMERA_IMAGE_CAPTURED_DATA) , HIL_ACTUATOR_CONTROLS (HIL_ACTUATOR_CONTROLS_DATA) , OPEN_DRONE_ID_BASIC_ID (OPEN_DRONE_ID_BASIC_ID_DATA) , RESPONSE_EVENT_ERROR (RESPONSE_EVENT_ERROR_DATA) , LOG_ENTRY (LOG_ENTRY_DATA) , PARAM_EXT_REQUEST_LIST (PARAM_EXT_REQUEST_LIST_DATA) , LOG_ERASE (LOG_ERASE_DATA) , ORBIT_EXECUTION_STATUS (ORBIT_EXECUTION_STATUS_DATA) , COMPASSMOT_STATUS (COMPASSMOT_STATUS_DATA) , HIL_GPS (HIL_GPS_DATA) , LOGGING_DATA (LOGGING_DATA_DATA) , PLAY_TUNE (PLAY_TUNE_DATA) , PROTOCOL_VERSION (PROTOCOL_VERSION_DATA) , CELLULAR_CONFIG (CELLULAR_CONFIG_DATA) , DEVICE_OP_READ_REPLY (DEVICE_OP_READ_REPLY_DATA) , EVENT (EVENT_DATA) , V2_EXTENSION (V2_EXTENSION_DATA) , RALLY_FETCH_POINT (RALLY_FETCH_POINT_DATA) , CAMERA_STATUS (CAMERA_STATUS_DATA) , RANGEFINDER (RANGEFINDER_DATA) , ESC_TELEMETRY_5_TO_8 (ESC_TELEMETRY_5_TO_8_DATA) , } impl Message for MavMessage { fn parse (version : MavlinkVersion , id : u32 , payload : & [u8]) -> Result < Self , ParserError > { match id { GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_SET_ATTITUDE) , COMPONENT_INFORMATION_DATA :: ID => COMPONENT_INFORMATION_DATA :: deser (version , payload) . map (Self :: COMPONENT_INFORMATION) , OSD_PARAM_CONFIG_DATA :: ID => OSD_PARAM_CONFIG_DATA :: deser (version , payload) . map (Self :: OSD_PARAM_CONFIG) , MISSION_ITEM_DATA :: ID => MISSION_ITEM_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM) , RADIO_STATUS_DATA :: ID => RADIO_STATUS_DATA :: deser (version , payload) . map (Self :: RADIO_STATUS) , FLIGHT_INFORMATION_DATA :: ID => FLIGHT_INFORMATION_DATA :: deser (version , payload) . map (Self :: FLIGHT_INFORMATION) , HIL_RC_INPUTS_RAW_DATA :: ID => HIL_RC_INPUTS_RAW_DATA :: deser (version , payload) . map (Self :: HIL_RC_INPUTS_RAW) , VIBRATION_DATA :: ID => VIBRATION_DATA :: deser (version , payload) . map (Self :: VIBRATION) , BATTERY_STATUS_DATA :: ID => BATTERY_STATUS_DATA :: deser (version , payload) . map (Self :: BATTERY_STATUS) , WIND_COV_DATA :: ID => WIND_COV_DATA :: deser (version , payload) . map (Self :: WIND_COV) , CAMERA_INFORMATION_DATA :: ID => CAMERA_INFORMATION_DATA :: deser (version , payload) . map (Self :: CAMERA_INFORMATION) , RAW_IMU_DATA :: ID => RAW_IMU_DATA :: deser (version , payload) . map (Self :: RAW_IMU) , GPS_RTK_DATA :: ID => GPS_RTK_DATA :: deser (version , payload) . map (Self :: GPS_RTK) , RAW_RPM_DATA :: ID => RAW_RPM_DATA :: deser (version , payload) . map (Self :: RAW_RPM) , TERRAIN_CHECK_DATA :: ID => TERRAIN_CHECK_DATA :: deser (version , payload) . map (Self :: TERRAIN_CHECK) , REQUEST_EVENT_DATA :: ID => REQUEST_EVENT_DATA :: deser (version , payload) . map (Self :: REQUEST_EVENT) , REQUEST_DATA_STREAM_DATA :: ID => REQUEST_DATA_STREAM_DATA :: deser (version , payload) . map (Self :: REQUEST_DATA_STREAM) , HWSTATUS_DATA :: ID => HWSTATUS_DATA :: deser (version , payload) . map (Self :: HWSTATUS) , FOLLOW_TARGET_DATA :: ID => FOLLOW_TARGET_DATA :: deser (version , payload) . map (Self :: FOLLOW_TARGET) , GLOBAL_POSITION_INT_COV_DATA :: ID => GLOBAL_POSITION_INT_COV_DATA :: deser (version , payload) . map (Self :: GLOBAL_POSITION_INT_COV) , UAVCAN_NODE_INFO_DATA :: ID => UAVCAN_NODE_INFO_DATA :: deser (version , payload) . map (Self :: UAVCAN_NODE_INFO) , AOA_SSA_DATA :: ID => AOA_SSA_DATA :: deser (version , payload) . map (Self :: AOA_SSA) , ISBD_LINK_STATUS_DATA :: ID => ISBD_LINK_STATUS_DATA :: deser (version , payload) . map (Self :: ISBD_LINK_STATUS) , LED_CONTROL_DATA :: ID => LED_CONTROL_DATA :: deser (version , payload) . map (Self :: LED_CONTROL) , WIFI_CONFIG_AP_DATA :: ID => WIFI_CONFIG_AP_DATA :: deser (version , payload) . map (Self :: WIFI_CONFIG_AP) , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: deser (version , payload) . map (Self :: UAVIONIX_ADSB_OUT_DYNAMIC) , EKF_STATUS_REPORT_DATA :: ID => EKF_STATUS_REPORT_DATA :: deser (version , payload) . map (Self :: EKF_STATUS_REPORT) , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => OPEN_DRONE_ID_ARM_STATUS_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_ARM_STATUS) , GIMBAL_REPORT_DATA :: ID => GIMBAL_REPORT_DATA :: deser (version , payload) . map (Self :: GIMBAL_REPORT) , SYS_STATUS_DATA :: ID => SYS_STATUS_DATA :: deser (version , payload) . map (Self :: SYS_STATUS) , MAG_CAL_PROGRESS_DATA :: ID => MAG_CAL_PROGRESS_DATA :: deser (version , payload) . map (Self :: MAG_CAL_PROGRESS) , FILE_TRANSFER_PROTOCOL_DATA :: ID => FILE_TRANSFER_PROTOCOL_DATA :: deser (version , payload) . map (Self :: FILE_TRANSFER_PROTOCOL) , PID_TUNING_DATA :: ID => PID_TUNING_DATA :: deser (version , payload) . map (Self :: PID_TUNING) , HIL_CONTROLS_DATA :: ID => HIL_CONTROLS_DATA :: deser (version , payload) . map (Self :: HIL_CONTROLS) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SYSTEM_UPDATE) , CAN_FRAME_DATA :: ID => CAN_FRAME_DATA :: deser (version , payload) . map (Self :: CAN_FRAME) , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => CAMERA_TRACKING_GEO_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_TRACKING_GEO_STATUS) , ATTITUDE_QUATERNION_COV_DATA :: ID => ATTITUDE_QUATERNION_COV_DATA :: deser (version , payload) . map (Self :: ATTITUDE_QUATERNION_COV) , SET_MAG_OFFSETS_DATA :: ID => SET_MAG_OFFSETS_DATA :: deser (version , payload) . map (Self :: SET_MAG_OFFSETS) , VISION_SPEED_ESTIMATE_DATA :: ID => VISION_SPEED_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VISION_SPEED_ESTIMATE) , MOUNT_CONTROL_DATA :: ID => MOUNT_CONTROL_DATA :: deser (version , payload) . map (Self :: MOUNT_CONTROL) , DEEPSTALL_DATA :: ID => DEEPSTALL_DATA :: deser (version , payload) . map (Self :: DEEPSTALL) , PARAM_EXT_ACK_DATA :: ID => PARAM_EXT_ACK_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_ACK) , COLLISION_DATA :: ID => COLLISION_DATA :: deser (version , payload) . map (Self :: COLLISION) , GIMBAL_TORQUE_CMD_REPORT_DATA :: ID => GIMBAL_TORQUE_CMD_REPORT_DATA :: deser (version , payload) . map (Self :: GIMBAL_TORQUE_CMD_REPORT) , GPS_GLOBAL_ORIGIN_DATA :: ID => GPS_GLOBAL_ORIGIN_DATA :: deser (version , payload) . map (Self :: GPS_GLOBAL_ORIGIN) , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => SET_POSITION_TARGET_LOCAL_NED_DATA :: deser (version , payload) . map (Self :: SET_POSITION_TARGET_LOCAL_NED) , EFI_STATUS_DATA :: ID => EFI_STATUS_DATA :: deser (version , payload) . map (Self :: EFI_STATUS) , HIL_STATE_DATA :: ID => HIL_STATE_DATA :: deser (version , payload) . map (Self :: HIL_STATE) , ACTUATOR_OUTPUT_STATUS_DATA :: ID => ACTUATOR_OUTPUT_STATUS_DATA :: deser (version , payload) . map (Self :: ACTUATOR_OUTPUT_STATUS) , MCU_STATUS_DATA :: ID => MCU_STATUS_DATA :: deser (version , payload) . map (Self :: MCU_STATUS) , PARAM_MAP_RC_DATA :: ID => PARAM_MAP_RC_DATA :: deser (version , payload) . map (Self :: PARAM_MAP_RC) , HEARTBEAT_DATA :: ID => HEARTBEAT_DATA :: deser (version , payload) . map (Self :: HEARTBEAT) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => OPEN_DRONE_ID_OPERATOR_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_OPERATOR_ID) , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => DATA_TRANSMISSION_HANDSHAKE_DATA :: deser (version , payload) . map (Self :: DATA_TRANSMISSION_HANDSHAKE) , ODOMETRY_DATA :: ID => ODOMETRY_DATA :: deser (version , payload) . map (Self :: ODOMETRY) , DISTANCE_SENSOR_DATA :: ID => DISTANCE_SENSOR_DATA :: deser (version , payload) . map (Self :: DISTANCE_SENSOR) , OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: ID => OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: deser (version , payload) . map (Self :: OSD_PARAM_SHOW_CONFIG_REPLY) , GOPRO_SET_REQUEST_DATA :: ID => GOPRO_SET_REQUEST_DATA :: deser (version , payload) . map (Self :: GOPRO_SET_REQUEST) , ESC_INFO_DATA :: ID => ESC_INFO_DATA :: deser (version , payload) . map (Self :: ESC_INFO) , MANUAL_SETPOINT_DATA :: ID => MANUAL_SETPOINT_DATA :: deser (version , payload) . map (Self :: MANUAL_SETPOINT) , LOG_DATA_DATA :: ID => LOG_DATA_DATA :: deser (version , payload) . map (Self :: LOG_DATA) , CAMERA_FEEDBACK_DATA :: ID => CAMERA_FEEDBACK_DATA :: deser (version , payload) . map (Self :: CAMERA_FEEDBACK) , FENCE_POINT_DATA :: ID => FENCE_POINT_DATA :: deser (version , payload) . map (Self :: FENCE_POINT) , SUPPORTED_TUNES_DATA :: ID => SUPPORTED_TUNES_DATA :: deser (version , payload) . map (Self :: SUPPORTED_TUNES) , LOGGING_ACK_DATA :: ID => LOGGING_ACK_DATA :: deser (version , payload) . map (Self :: LOGGING_ACK) , VISION_POSITION_ESTIMATE_DATA :: ID => VISION_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VISION_POSITION_ESTIMATE) , AHRS_DATA :: ID => AHRS_DATA :: deser (version , payload) . map (Self :: AHRS) , MESSAGE_INTERVAL_DATA :: ID => MESSAGE_INTERVAL_DATA :: deser (version , payload) . map (Self :: MESSAGE_INTERVAL) , RC_CHANNELS_OVERRIDE_DATA :: ID => RC_CHANNELS_OVERRIDE_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_OVERRIDE) , LOG_REQUEST_LIST_DATA :: ID => LOG_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_LIST) , RESOURCE_REQUEST_DATA :: ID => RESOURCE_REQUEST_DATA :: deser (version , payload) . map (Self :: RESOURCE_REQUEST) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_ATTITUDE) , ONBOARD_COMPUTER_STATUS_DATA :: ID => ONBOARD_COMPUTER_STATUS_DATA :: deser (version , payload) . map (Self :: ONBOARD_COMPUTER_STATUS) , LOCAL_POSITION_NED_DATA :: ID => LOCAL_POSITION_NED_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED) , DIGICAM_CONFIGURE_DATA :: ID => DIGICAM_CONFIGURE_DATA :: deser (version , payload) . map (Self :: DIGICAM_CONFIGURE) , ESC_TELEMETRY_9_TO_12_DATA :: ID => ESC_TELEMETRY_9_TO_12_DATA :: deser (version , payload) . map (Self :: ESC_TELEMETRY_9_TO_12) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: deser (version , payload) . map (Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS) , POSITION_TARGET_LOCAL_NED_DATA :: ID => POSITION_TARGET_LOCAL_NED_DATA :: deser (version , payload) . map (Self :: POSITION_TARGET_LOCAL_NED) , SAFETY_ALLOWED_AREA_DATA :: ID => SAFETY_ALLOWED_AREA_DATA :: deser (version , payload) . map (Self :: SAFETY_ALLOWED_AREA) , COMMAND_INT_DATA :: ID => COMMAND_INT_DATA :: deser (version , payload) . map (Self :: COMMAND_INT) , GOPRO_GET_REQUEST_DATA :: ID => GOPRO_GET_REQUEST_DATA :: deser (version , payload) . map (Self :: GOPRO_GET_REQUEST) , CAN_FILTER_MODIFY_DATA :: ID => CAN_FILTER_MODIFY_DATA :: deser (version , payload) . map (Self :: CAN_FILTER_MODIFY) , STATUSTEXT_DATA :: ID => STATUSTEXT_DATA :: deser (version , payload) . map (Self :: STATUSTEXT) , TIME_ESTIMATE_TO_TARGET_DATA :: ID => TIME_ESTIMATE_TO_TARGET_DATA :: deser (version , payload) . map (Self :: TIME_ESTIMATE_TO_TARGET) , MISSION_ITEM_INT_DATA :: ID => MISSION_ITEM_INT_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM_INT) , CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: ID => CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: deser (version , payload) . map (Self :: CUBEPILOT_FIRMWARE_UPDATE_RESP) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: deser (version , payload) . map (Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT) , MISSION_REQUEST_INT_DATA :: ID => MISSION_REQUEST_INT_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_INT) , STORAGE_INFORMATION_DATA :: ID => STORAGE_INFORMATION_DATA :: deser (version , payload) . map (Self :: STORAGE_INFORMATION) , UTM_GLOBAL_POSITION_DATA :: ID => UTM_GLOBAL_POSITION_DATA :: deser (version , payload) . map (Self :: UTM_GLOBAL_POSITION) , MEMINFO_DATA :: ID => MEMINFO_DATA :: deser (version , payload) . map (Self :: MEMINFO) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: GLOBAL_VISION_POSITION_ESTIMATE) , GPS2_RAW_DATA :: ID => GPS2_RAW_DATA :: deser (version , payload) . map (Self :: GPS2_RAW) , RALLY_POINT_DATA :: ID => RALLY_POINT_DATA :: deser (version , payload) . map (Self :: RALLY_POINT) , AP_ADC_DATA :: ID => AP_ADC_DATA :: deser (version , payload) . map (Self :: AP_ADC) , ACTUATOR_CONTROL_TARGET_DATA :: ID => ACTUATOR_CONTROL_TARGET_DATA :: deser (version , payload) . map (Self :: ACTUATOR_CONTROL_TARGET) , LOGGING_DATA_ACKED_DATA :: ID => LOGGING_DATA_ACKED_DATA :: deser (version , payload) . map (Self :: LOGGING_DATA_ACKED) , RC_CHANNELS_DATA :: ID => RC_CHANNELS_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS) , NAMED_VALUE_INT_DATA :: ID => NAMED_VALUE_INT_DATA :: deser (version , payload) . map (Self :: NAMED_VALUE_INT) , LINK_NODE_STATUS_DATA :: ID => LINK_NODE_STATUS_DATA :: deser (version , payload) . map (Self :: LINK_NODE_STATUS) , NAMED_VALUE_FLOAT_DATA :: ID => NAMED_VALUE_FLOAT_DATA :: deser (version , payload) . map (Self :: NAMED_VALUE_FLOAT) , SERVO_OUTPUT_RAW_DATA :: ID => SERVO_OUTPUT_RAW_DATA :: deser (version , payload) . map (Self :: SERVO_OUTPUT_RAW) , CELLULAR_STATUS_DATA :: ID => CELLULAR_STATUS_DATA :: deser (version , payload) . map (Self :: CELLULAR_STATUS) , OPEN_DRONE_ID_LOCATION_DATA :: ID => OPEN_DRONE_ID_LOCATION_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_LOCATION) , DEBUG_FLOAT_ARRAY_DATA :: ID => DEBUG_FLOAT_ARRAY_DATA :: deser (version , payload) . map (Self :: DEBUG_FLOAT_ARRAY) , POWER_STATUS_DATA :: ID => POWER_STATUS_DATA :: deser (version , payload) . map (Self :: POWER_STATUS) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_ATTITUDE_STATUS) , BUTTON_CHANGE_DATA :: ID => BUTTON_CHANGE_DATA :: deser (version , payload) . map (Self :: BUTTON_CHANGE) , CURRENT_EVENT_SEQUENCE_DATA :: ID => CURRENT_EVENT_SEQUENCE_DATA :: deser (version , payload) . map (Self :: CURRENT_EVENT_SEQUENCE) , PARAM_EXT_REQUEST_READ_DATA :: ID => PARAM_EXT_REQUEST_READ_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_REQUEST_READ) , MOUNT_STATUS_DATA :: ID => MOUNT_STATUS_DATA :: deser (version , payload) . map (Self :: MOUNT_STATUS) , MISSION_CURRENT_DATA :: ID => MISSION_CURRENT_DATA :: deser (version , payload) . map (Self :: MISSION_CURRENT) , DEBUG_VECT_DATA :: ID => DEBUG_VECT_DATA :: deser (version , payload) . map (Self :: DEBUG_VECT) , CAMERA_FOV_STATUS_DATA :: ID => CAMERA_FOV_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_FOV_STATUS) , SCALED_PRESSURE3_DATA :: ID => SCALED_PRESSURE3_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE3) , MISSION_ITEM_REACHED_DATA :: ID => MISSION_ITEM_REACHED_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM_REACHED) , UAVIONIX_ADSB_OUT_CFG_DATA :: ID => UAVIONIX_ADSB_OUT_CFG_DATA :: deser (version , payload) . map (Self :: UAVIONIX_ADSB_OUT_CFG) , PARAM_VALUE_DATA :: ID => PARAM_VALUE_DATA :: deser (version , payload) . map (Self :: PARAM_VALUE) , VICON_POSITION_ESTIMATE_DATA :: ID => VICON_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VICON_POSITION_ESTIMATE) , TIMESYNC_DATA :: ID => TIMESYNC_DATA :: deser (version , payload) . map (Self :: TIMESYNC) , MANUAL_CONTROL_DATA :: ID => MANUAL_CONTROL_DATA :: deser (version , payload) . map (Self :: MANUAL_CONTROL) , MEMORY_VECT_DATA :: ID => MEMORY_VECT_DATA :: deser (version , payload) . map (Self :: MEMORY_VECT) , OBSTACLE_DISTANCE_3D_DATA :: ID => OBSTACLE_DISTANCE_3D_DATA :: deser (version , payload) . map (Self :: OBSTACLE_DISTANCE_3D) , COMPONENT_METADATA_DATA :: ID => COMPONENT_METADATA_DATA :: deser (version , payload) . map (Self :: COMPONENT_METADATA) , CAMERA_SETTINGS_DATA :: ID => CAMERA_SETTINGS_DATA :: deser (version , payload) . map (Self :: CAMERA_SETTINGS) , MAG_CAL_REPORT_DATA :: ID => MAG_CAL_REPORT_DATA :: deser (version , payload) . map (Self :: MAG_CAL_REPORT) , OPEN_DRONE_ID_SYSTEM_DATA :: ID => OPEN_DRONE_ID_SYSTEM_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SYSTEM) , ATTITUDE_TARGET_DATA :: ID => ATTITUDE_TARGET_DATA :: deser (version , payload) . map (Self :: ATTITUDE_TARGET) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => SET_POSITION_TARGET_GLOBAL_INT_DATA :: deser (version , payload) . map (Self :: SET_POSITION_TARGET_GLOBAL_INT) , WINCH_STATUS_DATA :: ID => WINCH_STATUS_DATA :: deser (version , payload) . map (Self :: WINCH_STATUS) , GIMBAL_DEVICE_INFORMATION_DATA :: ID => GIMBAL_DEVICE_INFORMATION_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_INFORMATION) , ICAROUS_HEARTBEAT_DATA :: ID => ICAROUS_HEARTBEAT_DATA :: deser (version , payload) . map (Self :: ICAROUS_HEARTBEAT) , GOPRO_GET_RESPONSE_DATA :: ID => GOPRO_GET_RESPONSE_DATA :: deser (version , payload) . map (Self :: GOPRO_GET_RESPONSE) , GPS_RAW_INT_DATA :: ID => GPS_RAW_INT_DATA :: deser (version , payload) . map (Self :: GPS_RAW_INT) , PING_DATA :: ID => PING_DATA :: deser (version , payload) . map (Self :: PING) , ATTITUDE_QUATERNION_DATA :: ID => ATTITUDE_QUATERNION_DATA :: deser (version , payload) . map (Self :: ATTITUDE_QUATERNION) , ESC_TELEMETRY_1_TO_4_DATA :: ID => ESC_TELEMETRY_1_TO_4_DATA :: deser (version , payload) . map (Self :: ESC_TELEMETRY_1_TO_4) , HERELINK_VIDEO_STREAM_INFORMATION_DATA :: ID => HERELINK_VIDEO_STREAM_INFORMATION_DATA :: deser (version , payload) . map (Self :: HERELINK_VIDEO_STREAM_INFORMATION) , COMMAND_LONG_DATA :: ID => COMMAND_LONG_DATA :: deser (version , payload) . map (Self :: COMMAND_LONG) , GIMBAL_MANAGER_INFORMATION_DATA :: ID => GIMBAL_MANAGER_INFORMATION_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_INFORMATION) , SCALED_IMU2_DATA :: ID => SCALED_IMU2_DATA :: deser (version , payload) . map (Self :: SCALED_IMU2) , AHRS2_DATA :: ID => AHRS2_DATA :: deser (version , payload) . map (Self :: AHRS2) , ATT_POS_MOCAP_DATA :: ID => ATT_POS_MOCAP_DATA :: deser (version , payload) . map (Self :: ATT_POS_MOCAP) , OPTICAL_FLOW_RAD_DATA :: ID => OPTICAL_FLOW_RAD_DATA :: deser (version , payload) . map (Self :: OPTICAL_FLOW_RAD) , NAV_CONTROLLER_OUTPUT_DATA :: ID => NAV_CONTROLLER_OUTPUT_DATA :: deser (version , payload) . map (Self :: NAV_CONTROLLER_OUTPUT) , MISSION_ACK_DATA :: ID => MISSION_ACK_DATA :: deser (version , payload) . map (Self :: MISSION_ACK) , PARAM_SET_DATA :: ID => PARAM_SET_DATA :: deser (version , payload) . map (Self :: PARAM_SET) , DEBUG_DATA :: ID => DEBUG_DATA :: deser (version , payload) . map (Self :: DEBUG) , AUTH_KEY_DATA :: ID => AUTH_KEY_DATA :: deser (version , payload) . map (Self :: AUTH_KEY) , SAFETY_SET_ALLOWED_AREA_DATA :: ID => SAFETY_SET_ALLOWED_AREA_DATA :: deser (version , payload) . map (Self :: SAFETY_SET_ALLOWED_AREA) , ICAROUS_KINEMATIC_BANDS_DATA :: ID => ICAROUS_KINEMATIC_BANDS_DATA :: deser (version , payload) . map (Self :: ICAROUS_KINEMATIC_BANDS) , MISSION_COUNT_DATA :: ID => MISSION_COUNT_DATA :: deser (version , payload) . map (Self :: MISSION_COUNT) , ADSB_VEHICLE_DATA :: ID => ADSB_VEHICLE_DATA :: deser (version , payload) . map (Self :: ADSB_VEHICLE) , ENCAPSULATED_DATA_DATA :: ID => ENCAPSULATED_DATA_DATA :: deser (version , payload) . map (Self :: ENCAPSULATED_DATA) , SCALED_PRESSURE_DATA :: ID => SCALED_PRESSURE_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE) , MOUNT_CONFIGURE_DATA :: ID => MOUNT_CONFIGURE_DATA :: deser (version , payload) . map (Self :: MOUNT_CONFIGURE) , OSD_PARAM_CONFIG_REPLY_DATA :: ID => OSD_PARAM_CONFIG_REPLY_DATA :: deser (version , payload) . map (Self :: OSD_PARAM_CONFIG_REPLY) , SETUP_SIGNING_DATA :: ID => SETUP_SIGNING_DATA :: deser (version , payload) . map (Self :: SETUP_SIGNING) , DATA32_DATA :: ID => DATA32_DATA :: deser (version , payload) . map (Self :: DATA32) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET) , TUNNEL_DATA :: ID => TUNNEL_DATA :: deser (version , payload) . map (Self :: TUNNEL) , DATA96_DATA :: ID => DATA96_DATA :: deser (version , payload) . map (Self :: DATA96) , ESTIMATOR_STATUS_DATA :: ID => ESTIMATOR_STATUS_DATA :: deser (version , payload) . map (Self :: ESTIMATOR_STATUS) , ALTITUDE_DATA :: ID => ALTITUDE_DATA :: deser (version , payload) . map (Self :: ALTITUDE) , GPS_RTCM_DATA_DATA :: ID => GPS_RTCM_DATA_DATA :: deser (version , payload) . map (Self :: GPS_RTCM_DATA) , SCALED_IMU3_DATA :: ID => SCALED_IMU3_DATA :: deser (version , payload) . map (Self :: SCALED_IMU3) , AUTOPILOT_VERSION_DATA :: ID => AUTOPILOT_VERSION_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_VERSION) , SET_HOME_POSITION_DATA :: ID => SET_HOME_POSITION_DATA :: deser (version , payload) . map (Self :: SET_HOME_POSITION) , GIMBAL_CONTROL_DATA :: ID => GIMBAL_CONTROL_DATA :: deser (version , payload) . map (Self :: GIMBAL_CONTROL) , GOPRO_HEARTBEAT_DATA :: ID => GOPRO_HEARTBEAT_DATA :: deser (version , payload) . map (Self :: GOPRO_HEARTBEAT) , HIL_STATE_QUATERNION_DATA :: ID => HIL_STATE_QUATERNION_DATA :: deser (version , payload) . map (Self :: HIL_STATE_QUATERNION) , TERRAIN_REPORT_DATA :: ID => TERRAIN_REPORT_DATA :: deser (version , payload) . map (Self :: TERRAIN_REPORT) , WIND_DATA :: ID => WIND_DATA :: deser (version , payload) . map (Self :: WIND) , RAW_PRESSURE_DATA :: ID => RAW_PRESSURE_DATA :: deser (version , payload) . map (Self :: RAW_PRESSURE) , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => MISSION_WRITE_PARTIAL_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_WRITE_PARTIAL_LIST) , CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: ID => CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: deser (version , payload) . map (Self :: CUBEPILOT_FIRMWARE_UPDATE_START) , GENERATOR_STATUS_DATA :: ID => GENERATOR_STATUS_DATA :: deser (version , payload) . map (Self :: GENERATOR_STATUS) , RADIO_DATA :: ID => RADIO_DATA :: deser (version , payload) . map (Self :: RADIO) , DEVICE_OP_READ_DATA :: ID => DEVICE_OP_READ_DATA :: deser (version , payload) . map (Self :: DEVICE_OP_READ) , AIS_VESSEL_DATA :: ID => AIS_VESSEL_DATA :: deser (version , payload) . map (Self :: AIS_VESSEL) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => CAMERA_TRACKING_IMAGE_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_TRACKING_IMAGE_STATUS) , PARAM_EXT_VALUE_DATA :: ID => PARAM_EXT_VALUE_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_VALUE) , UAVCAN_NODE_STATUS_DATA :: ID => UAVCAN_NODE_STATUS_DATA :: deser (version , payload) . map (Self :: UAVCAN_NODE_STATUS) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: deser (version , payload) . map (Self :: TRAJECTORY_REPRESENTATION_BEZIER) , WATER_DEPTH_DATA :: ID => WATER_DEPTH_DATA :: deser (version , payload) . map (Self :: WATER_DEPTH) , SIM_STATE_DATA :: ID => SIM_STATE_DATA :: deser (version , payload) . map (Self :: SIM_STATE) , TERRAIN_REQUEST_DATA :: ID => TERRAIN_REQUEST_DATA :: deser (version , payload) . map (Self :: TERRAIN_REQUEST) , PARAM_REQUEST_READ_DATA :: ID => PARAM_REQUEST_READ_DATA :: deser (version , payload) . map (Self :: PARAM_REQUEST_READ) , GLOBAL_POSITION_INT_DATA :: ID => GLOBAL_POSITION_INT_DATA :: deser (version , payload) . map (Self :: GLOBAL_POSITION_INT) , PLAY_TUNE_V2_DATA :: ID => PLAY_TUNE_V2_DATA :: deser (version , payload) . map (Self :: PLAY_TUNE_V2) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_MESSAGE_PACK) , SYSTEM_TIME_DATA :: ID => SYSTEM_TIME_DATA :: deser (version , payload) . map (Self :: SYSTEM_TIME) , GPS2_RTK_DATA :: ID => GPS2_RTK_DATA :: deser (version , payload) . map (Self :: GPS2_RTK) , HIGH_LATENCY2_DATA :: ID => HIGH_LATENCY2_DATA :: deser (version , payload) . map (Self :: HIGH_LATENCY2) , MOUNT_ORIENTATION_DATA :: ID => MOUNT_ORIENTATION_DATA :: deser (version , payload) . map (Self :: MOUNT_ORIENTATION) , RC_CHANNELS_RAW_DATA :: ID => RC_CHANNELS_RAW_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_RAW) , GIMBAL_MANAGER_STATUS_DATA :: ID => GIMBAL_MANAGER_STATUS_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_STATUS) , SENSOR_OFFSETS_DATA :: ID => SENSOR_OFFSETS_DATA :: deser (version , payload) . map (Self :: SENSOR_OFFSETS) , FENCE_FETCH_POINT_DATA :: ID => FENCE_FETCH_POINT_DATA :: deser (version , payload) . map (Self :: FENCE_FETCH_POINT) , LIMITS_STATUS_DATA :: ID => LIMITS_STATUS_DATA :: deser (version , payload) . map (Self :: LIMITS_STATUS) , POSITION_TARGET_GLOBAL_INT_DATA :: ID => POSITION_TARGET_GLOBAL_INT_DATA :: deser (version , payload) . map (Self :: POSITION_TARGET_GLOBAL_INT) , DATA64_DATA :: ID => DATA64_DATA :: deser (version , payload) . map (Self :: DATA64) , HOME_POSITION_DATA :: ID => HOME_POSITION_DATA :: deser (version , payload) . map (Self :: HOME_POSITION) , LOG_REQUEST_DATA_DATA :: ID => LOG_REQUEST_DATA_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_DATA) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE) , AUTOPILOT_VERSION_REQUEST_DATA :: ID => AUTOPILOT_VERSION_REQUEST_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_VERSION_REQUEST) , ATTITUDE_DATA :: ID => ATTITUDE_DATA :: deser (version , payload) . map (Self :: ATTITUDE) , REMOTE_LOG_BLOCK_STATUS_DATA :: ID => REMOTE_LOG_BLOCK_STATUS_DATA :: deser (version , payload) . map (Self :: REMOTE_LOG_BLOCK_STATUS) , ADAP_TUNING_DATA :: ID => ADAP_TUNING_DATA :: deser (version , payload) . map (Self :: ADAP_TUNING) , PARAM_EXT_SET_DATA :: ID => PARAM_EXT_SET_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_SET) , HIL_OPTICAL_FLOW_DATA :: ID => HIL_OPTICAL_FLOW_DATA :: deser (version , payload) . map (Self :: HIL_OPTICAL_FLOW) , RC_CHANNELS_SCALED_DATA :: ID => RC_CHANNELS_SCALED_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_SCALED) , EXTENDED_SYS_STATE_DATA :: ID => EXTENDED_SYS_STATE_DATA :: deser (version , payload) . map (Self :: EXTENDED_SYS_STATE) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => CHANGE_OPERATOR_CONTROL_ACK_DATA :: deser (version , payload) . map (Self :: CHANGE_OPERATOR_CONTROL_ACK) , LOG_REQUEST_END_DATA :: ID => LOG_REQUEST_END_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_END) , OPTICAL_FLOW_DATA :: ID => OPTICAL_FLOW_DATA :: deser (version , payload) . map (Self :: OPTICAL_FLOW) , COMMAND_ACK_DATA :: ID => COMMAND_ACK_DATA :: deser (version , payload) . map (Self :: COMMAND_ACK) , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => SET_ACTUATOR_CONTROL_TARGET_DATA :: deser (version , payload) . map (Self :: SET_ACTUATOR_CONTROL_TARGET) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => OPEN_DRONE_ID_AUTHENTICATION_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_AUTHENTICATION) , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => MISSION_REQUEST_PARTIAL_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_PARTIAL_LIST) , MISSION_REQUEST_LIST_DATA :: ID => MISSION_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_LIST) , PARAM_REQUEST_LIST_DATA :: ID => PARAM_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: PARAM_REQUEST_LIST) , MISSION_SET_CURRENT_DATA :: ID => MISSION_SET_CURRENT_DATA :: deser (version , payload) . map (Self :: MISSION_SET_CURRENT) , CONTROL_SYSTEM_STATE_DATA :: ID => CONTROL_SYSTEM_STATE_DATA :: deser (version , payload) . map (Self :: CONTROL_SYSTEM_STATE) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_PITCHYAW) , SMART_BATTERY_INFO_DATA :: ID => SMART_BATTERY_INFO_DATA :: deser (version , payload) . map (Self :: SMART_BATTERY_INFO) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL) , LOCAL_POSITION_NED_COV_DATA :: ID => LOCAL_POSITION_NED_COV_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED_COV) , VIDEO_STREAM_STATUS_DATA :: ID => VIDEO_STREAM_STATUS_DATA :: deser (version , payload) . map (Self :: VIDEO_STREAM_STATUS) , SET_MODE_DATA :: ID => SET_MODE_DATA :: deser (version , payload) . map (Self :: SET_MODE) , HERELINK_TELEM_DATA :: ID => HERELINK_TELEM_DATA :: deser (version , payload) . map (Self :: HERELINK_TELEM) , GPS_INJECT_DATA_DATA :: ID => GPS_INJECT_DATA_DATA :: deser (version , payload) . map (Self :: GPS_INJECT_DATA) , VFR_HUD_DATA :: ID => VFR_HUD_DATA :: deser (version , payload) . map (Self :: VFR_HUD) , HIGH_LATENCY_DATA :: ID => HIGH_LATENCY_DATA :: deser (version , payload) . map (Self :: HIGH_LATENCY) , DIGICAM_CONTROL_DATA :: ID => DIGICAM_CONTROL_DATA :: deser (version , payload) . map (Self :: DIGICAM_CONTROL) , WHEEL_DISTANCE_DATA :: ID => WHEEL_DISTANCE_DATA :: deser (version , payload) . map (Self :: WHEEL_DISTANCE) , COMMAND_CANCEL_DATA :: ID => COMMAND_CANCEL_DATA :: deser (version , payload) . map (Self :: COMMAND_CANCEL) , SIMSTATE_DATA :: ID => SIMSTATE_DATA :: deser (version , payload) . map (Self :: SIMSTATE) , DATA16_DATA :: ID => DATA16_DATA :: deser (version , payload) . map (Self :: DATA16) , MISSION_CLEAR_ALL_DATA :: ID => MISSION_CLEAR_ALL_DATA :: deser (version , payload) . map (Self :: MISSION_CLEAR_ALL) , REMOTE_LOG_DATA_BLOCK_DATA :: ID => REMOTE_LOG_DATA_BLOCK_DATA :: deser (version , payload) . map (Self :: REMOTE_LOG_DATA_BLOCK) , RPM_DATA :: ID => RPM_DATA :: deser (version , payload) . map (Self :: RPM) , VISION_POSITION_DELTA_DATA :: ID => VISION_POSITION_DELTA_DATA :: deser (version , payload) . map (Self :: VISION_POSITION_DELTA) , AHRS3_DATA :: ID => AHRS3_DATA :: deser (version , payload) . map (Self :: AHRS3) , OSD_PARAM_SHOW_CONFIG_DATA :: ID => OSD_PARAM_SHOW_CONFIG_DATA :: deser (version , payload) . map (Self :: OSD_PARAM_SHOW_CONFIG) , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => SET_GPS_GLOBAL_ORIGIN_DATA :: deser (version , payload) . map (Self :: SET_GPS_GLOBAL_ORIGIN) , SET_ATTITUDE_TARGET_DATA :: ID => SET_ATTITUDE_TARGET_DATA :: deser (version , payload) . map (Self :: SET_ATTITUDE_TARGET) , GOPRO_SET_RESPONSE_DATA :: ID => GOPRO_SET_RESPONSE_DATA :: deser (version , payload) . map (Self :: GOPRO_SET_RESPONSE) , SCALED_PRESSURE2_DATA :: ID => SCALED_PRESSURE2_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE2) , HIL_SENSOR_DATA :: ID => HIL_SENSOR_DATA :: deser (version , payload) . map (Self :: HIL_SENSOR) , CANFD_FRAME_DATA :: ID => CANFD_FRAME_DATA :: deser (version , payload) . map (Self :: CANFD_FRAME) , DATA_STREAM_DATA :: ID => DATA_STREAM_DATA :: deser (version , payload) . map (Self :: DATA_STREAM) , HIGHRES_IMU_DATA :: ID => HIGHRES_IMU_DATA :: deser (version , payload) . map (Self :: HIGHRES_IMU) , CHANGE_OPERATOR_CONTROL_DATA :: ID => CHANGE_OPERATOR_CONTROL_DATA :: deser (version , payload) . map (Self :: CHANGE_OPERATOR_CONTROL) , MISSION_REQUEST_DATA :: ID => MISSION_REQUEST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST) , VIDEO_STREAM_INFORMATION_DATA :: ID => VIDEO_STREAM_INFORMATION_DATA :: deser (version , payload) . map (Self :: VIDEO_STREAM_INFORMATION) , SCALED_IMU_DATA :: ID => SCALED_IMU_DATA :: deser (version , payload) . map (Self :: SCALED_IMU) , DEVICE_OP_WRITE_DATA :: ID => DEVICE_OP_WRITE_DATA :: deser (version , payload) . map (Self :: DEVICE_OP_WRITE) , HYGROMETER_SENSOR_DATA :: ID => HYGROMETER_SENSOR_DATA :: deser (version , payload) . map (Self :: HYGROMETER_SENSOR) , CUBEPILOT_RAW_RC_DATA :: ID => CUBEPILOT_RAW_RC_DATA :: deser (version , payload) . map (Self :: CUBEPILOT_RAW_RC) , GPS_STATUS_DATA :: ID => GPS_STATUS_DATA :: deser (version , payload) . map (Self :: GPS_STATUS) , DEVICE_OP_WRITE_REPLY_DATA :: ID => DEVICE_OP_WRITE_REPLY_DATA :: deser (version , payload) . map (Self :: DEVICE_OP_WRITE_REPLY) , CAMERA_TRIGGER_DATA :: ID => CAMERA_TRIGGER_DATA :: deser (version , payload) . map (Self :: CAMERA_TRIGGER) , SERIAL_CONTROL_DATA :: ID => SERIAL_CONTROL_DATA :: deser (version , payload) . map (Self :: SERIAL_CONTROL) , OBSTACLE_DISTANCE_DATA :: ID => OBSTACLE_DISTANCE_DATA :: deser (version , payload) . map (Self :: OBSTACLE_DISTANCE) , FENCE_STATUS_DATA :: ID => FENCE_STATUS_DATA :: deser (version , payload) . map (Self :: FENCE_STATUS) , ESC_STATUS_DATA :: ID => ESC_STATUS_DATA :: deser (version , payload) . map (Self :: ESC_STATUS) , LANDING_TARGET_DATA :: ID => LANDING_TARGET_DATA :: deser (version , payload) . map (Self :: LANDING_TARGET) , OPEN_DRONE_ID_SELF_ID_DATA :: ID => OPEN_DRONE_ID_SELF_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SELF_ID) , CAMERA_CAPTURE_STATUS_DATA :: ID => CAMERA_CAPTURE_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_CAPTURE_STATUS) , BATTERY2_DATA :: ID => BATTERY2_DATA :: deser (version , payload) . map (Self :: BATTERY2) , TERRAIN_DATA_DATA :: ID => TERRAIN_DATA_DATA :: deser (version , payload) . map (Self :: TERRAIN_DATA) , GPS_INPUT_DATA :: ID => GPS_INPUT_DATA :: deser (version , payload) . map (Self :: GPS_INPUT) , AIRSPEED_AUTOCAL_DATA :: ID => AIRSPEED_AUTOCAL_DATA :: deser (version , payload) . map (Self :: AIRSPEED_AUTOCAL) , CAMERA_IMAGE_CAPTURED_DATA :: ID => CAMERA_IMAGE_CAPTURED_DATA :: deser (version , payload) . map (Self :: CAMERA_IMAGE_CAPTURED) , HIL_ACTUATOR_CONTROLS_DATA :: ID => HIL_ACTUATOR_CONTROLS_DATA :: deser (version , payload) . map (Self :: HIL_ACTUATOR_CONTROLS) , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => OPEN_DRONE_ID_BASIC_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_BASIC_ID) , RESPONSE_EVENT_ERROR_DATA :: ID => RESPONSE_EVENT_ERROR_DATA :: deser (version , payload) . map (Self :: RESPONSE_EVENT_ERROR) , LOG_ENTRY_DATA :: ID => LOG_ENTRY_DATA :: deser (version , payload) . map (Self :: LOG_ENTRY) , PARAM_EXT_REQUEST_LIST_DATA :: ID => PARAM_EXT_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_REQUEST_LIST) , LOG_ERASE_DATA :: ID => LOG_ERASE_DATA :: deser (version , payload) . map (Self :: LOG_ERASE) , ORBIT_EXECUTION_STATUS_DATA :: ID => ORBIT_EXECUTION_STATUS_DATA :: deser (version , payload) . map (Self :: ORBIT_EXECUTION_STATUS) , COMPASSMOT_STATUS_DATA :: ID => COMPASSMOT_STATUS_DATA :: deser (version , payload) . map (Self :: COMPASSMOT_STATUS) , HIL_GPS_DATA :: ID => HIL_GPS_DATA :: deser (version , payload) . map (Self :: HIL_GPS) , LOGGING_DATA_DATA :: ID => LOGGING_DATA_DATA :: deser (version , payload) . map (Self :: LOGGING_DATA) , PLAY_TUNE_DATA :: ID => PLAY_TUNE_DATA :: deser (version , payload) . map (Self :: PLAY_TUNE) , PROTOCOL_VERSION_DATA :: ID => PROTOCOL_VERSION_DATA :: deser (version , payload) . map (Self :: PROTOCOL_VERSION) , CELLULAR_CONFIG_DATA :: ID => CELLULAR_CONFIG_DATA :: deser (version , payload) . map (Self :: CELLULAR_CONFIG) , DEVICE_OP_READ_REPLY_DATA :: ID => DEVICE_OP_READ_REPLY_DATA :: deser (version , payload) . map (Self :: DEVICE_OP_READ_REPLY) , EVENT_DATA :: ID => EVENT_DATA :: deser (version , payload) . map (Self :: EVENT) , V2_EXTENSION_DATA :: ID => V2_EXTENSION_DATA :: deser (version , payload) . map (Self :: V2_EXTENSION) , RALLY_FETCH_POINT_DATA :: ID => RALLY_FETCH_POINT_DATA :: deser (version , payload) . map (Self :: RALLY_FETCH_POINT) , CAMERA_STATUS_DATA :: ID => CAMERA_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_STATUS) , RANGEFINDER_DATA :: ID => RANGEFINDER_DATA :: deser (version , payload) . map (Self :: RANGEFINDER) , ESC_TELEMETRY_5_TO_8_DATA :: ID => ESC_TELEMETRY_5_TO_8_DATA :: deser (version , payload) . map (Self :: ESC_TELEMETRY_5_TO_8) , _ => { Err (ParserError :: UnknownMessage { id }) } , } } fn message_name (& self) -> & 'static str { match self { Self :: GIMBAL_DEVICE_SET_ATTITUDE (..) => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: NAME , Self :: COMPONENT_INFORMATION (..) => COMPONENT_INFORMATION_DATA :: NAME , Self :: OSD_PARAM_CONFIG (..) => OSD_PARAM_CONFIG_DATA :: NAME , Self :: MISSION_ITEM (..) => MISSION_ITEM_DATA :: NAME , Self :: RADIO_STATUS (..) => RADIO_STATUS_DATA :: NAME , Self :: FLIGHT_INFORMATION (..) => FLIGHT_INFORMATION_DATA :: NAME , Self :: HIL_RC_INPUTS_RAW (..) => HIL_RC_INPUTS_RAW_DATA :: NAME , Self :: VIBRATION (..) => VIBRATION_DATA :: NAME , Self :: BATTERY_STATUS (..) => BATTERY_STATUS_DATA :: NAME , Self :: WIND_COV (..) => WIND_COV_DATA :: NAME , Self :: CAMERA_INFORMATION (..) => CAMERA_INFORMATION_DATA :: NAME , Self :: RAW_IMU (..) => RAW_IMU_DATA :: NAME , Self :: GPS_RTK (..) => GPS_RTK_DATA :: NAME , Self :: RAW_RPM (..) => RAW_RPM_DATA :: NAME , Self :: TERRAIN_CHECK (..) => TERRAIN_CHECK_DATA :: NAME , Self :: REQUEST_EVENT (..) => REQUEST_EVENT_DATA :: NAME , Self :: REQUEST_DATA_STREAM (..) => REQUEST_DATA_STREAM_DATA :: NAME , Self :: HWSTATUS (..) => HWSTATUS_DATA :: NAME , Self :: FOLLOW_TARGET (..) => FOLLOW_TARGET_DATA :: NAME , Self :: GLOBAL_POSITION_INT_COV (..) => GLOBAL_POSITION_INT_COV_DATA :: NAME , Self :: UAVCAN_NODE_INFO (..) => UAVCAN_NODE_INFO_DATA :: NAME , Self :: AOA_SSA (..) => AOA_SSA_DATA :: NAME , Self :: ISBD_LINK_STATUS (..) => ISBD_LINK_STATUS_DATA :: NAME , Self :: LED_CONTROL (..) => LED_CONTROL_DATA :: NAME , Self :: WIFI_CONFIG_AP (..) => WIFI_CONFIG_AP_DATA :: NAME , Self :: UAVIONIX_ADSB_OUT_DYNAMIC (..) => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: NAME , Self :: EKF_STATUS_REPORT (..) => EKF_STATUS_REPORT_DATA :: NAME , Self :: OPEN_DRONE_ID_ARM_STATUS (..) => OPEN_DRONE_ID_ARM_STATUS_DATA :: NAME , Self :: GIMBAL_REPORT (..) => GIMBAL_REPORT_DATA :: NAME , Self :: SYS_STATUS (..) => SYS_STATUS_DATA :: NAME , Self :: MAG_CAL_PROGRESS (..) => MAG_CAL_PROGRESS_DATA :: NAME , Self :: FILE_TRANSFER_PROTOCOL (..) => FILE_TRANSFER_PROTOCOL_DATA :: NAME , Self :: PID_TUNING (..) => PID_TUNING_DATA :: NAME , Self :: HIL_CONTROLS (..) => HIL_CONTROLS_DATA :: NAME , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (..) => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: NAME , Self :: CAN_FRAME (..) => CAN_FRAME_DATA :: NAME , Self :: CAMERA_TRACKING_GEO_STATUS (..) => CAMERA_TRACKING_GEO_STATUS_DATA :: NAME , Self :: ATTITUDE_QUATERNION_COV (..) => ATTITUDE_QUATERNION_COV_DATA :: NAME , Self :: SET_MAG_OFFSETS (..) => SET_MAG_OFFSETS_DATA :: NAME , Self :: VISION_SPEED_ESTIMATE (..) => VISION_SPEED_ESTIMATE_DATA :: NAME , Self :: MOUNT_CONTROL (..) => MOUNT_CONTROL_DATA :: NAME , Self :: DEEPSTALL (..) => DEEPSTALL_DATA :: NAME , Self :: PARAM_EXT_ACK (..) => PARAM_EXT_ACK_DATA :: NAME , Self :: COLLISION (..) => COLLISION_DATA :: NAME , Self :: GIMBAL_TORQUE_CMD_REPORT (..) => GIMBAL_TORQUE_CMD_REPORT_DATA :: NAME , Self :: GPS_GLOBAL_ORIGIN (..) => GPS_GLOBAL_ORIGIN_DATA :: NAME , Self :: SET_POSITION_TARGET_LOCAL_NED (..) => SET_POSITION_TARGET_LOCAL_NED_DATA :: NAME , Self :: EFI_STATUS (..) => EFI_STATUS_DATA :: NAME , Self :: HIL_STATE (..) => HIL_STATE_DATA :: NAME , Self :: ACTUATOR_OUTPUT_STATUS (..) => ACTUATOR_OUTPUT_STATUS_DATA :: NAME , Self :: MCU_STATUS (..) => MCU_STATUS_DATA :: NAME , Self :: PARAM_MAP_RC (..) => PARAM_MAP_RC_DATA :: NAME , Self :: HEARTBEAT (..) => HEARTBEAT_DATA :: NAME , Self :: OPEN_DRONE_ID_OPERATOR_ID (..) => OPEN_DRONE_ID_OPERATOR_ID_DATA :: NAME , Self :: DATA_TRANSMISSION_HANDSHAKE (..) => DATA_TRANSMISSION_HANDSHAKE_DATA :: NAME , Self :: ODOMETRY (..) => ODOMETRY_DATA :: NAME , Self :: DISTANCE_SENSOR (..) => DISTANCE_SENSOR_DATA :: NAME , Self :: OSD_PARAM_SHOW_CONFIG_REPLY (..) => OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: NAME , Self :: GOPRO_SET_REQUEST (..) => GOPRO_SET_REQUEST_DATA :: NAME , Self :: ESC_INFO (..) => ESC_INFO_DATA :: NAME , Self :: MANUAL_SETPOINT (..) => MANUAL_SETPOINT_DATA :: NAME , Self :: LOG_DATA (..) => LOG_DATA_DATA :: NAME , Self :: CAMERA_FEEDBACK (..) => CAMERA_FEEDBACK_DATA :: NAME , Self :: FENCE_POINT (..) => FENCE_POINT_DATA :: NAME , Self :: SUPPORTED_TUNES (..) => SUPPORTED_TUNES_DATA :: NAME , Self :: LOGGING_ACK (..) => LOGGING_ACK_DATA :: NAME , Self :: VISION_POSITION_ESTIMATE (..) => VISION_POSITION_ESTIMATE_DATA :: NAME , Self :: AHRS (..) => AHRS_DATA :: NAME , Self :: MESSAGE_INTERVAL (..) => MESSAGE_INTERVAL_DATA :: NAME , Self :: RC_CHANNELS_OVERRIDE (..) => RC_CHANNELS_OVERRIDE_DATA :: NAME , Self :: LOG_REQUEST_LIST (..) => LOG_REQUEST_LIST_DATA :: NAME , Self :: RESOURCE_REQUEST (..) => RESOURCE_REQUEST_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_ATTITUDE (..) => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: NAME , Self :: ONBOARD_COMPUTER_STATUS (..) => ONBOARD_COMPUTER_STATUS_DATA :: NAME , Self :: LOCAL_POSITION_NED (..) => LOCAL_POSITION_NED_DATA :: NAME , Self :: DIGICAM_CONFIGURE (..) => DIGICAM_CONFIGURE_DATA :: NAME , Self :: ESC_TELEMETRY_9_TO_12 (..) => ESC_TELEMETRY_9_TO_12_DATA :: NAME , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (..) => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: NAME , Self :: POSITION_TARGET_LOCAL_NED (..) => POSITION_TARGET_LOCAL_NED_DATA :: NAME , Self :: SAFETY_ALLOWED_AREA (..) => SAFETY_ALLOWED_AREA_DATA :: NAME , Self :: COMMAND_INT (..) => COMMAND_INT_DATA :: NAME , Self :: GOPRO_GET_REQUEST (..) => GOPRO_GET_REQUEST_DATA :: NAME , Self :: CAN_FILTER_MODIFY (..) => CAN_FILTER_MODIFY_DATA :: NAME , Self :: STATUSTEXT (..) => STATUSTEXT_DATA :: NAME , Self :: TIME_ESTIMATE_TO_TARGET (..) => TIME_ESTIMATE_TO_TARGET_DATA :: NAME , Self :: MISSION_ITEM_INT (..) => MISSION_ITEM_INT_DATA :: NAME , Self :: CUBEPILOT_FIRMWARE_UPDATE_RESP (..) => CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: NAME , Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (..) => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: NAME , Self :: MISSION_REQUEST_INT (..) => MISSION_REQUEST_INT_DATA :: NAME , Self :: STORAGE_INFORMATION (..) => STORAGE_INFORMATION_DATA :: NAME , Self :: UTM_GLOBAL_POSITION (..) => UTM_GLOBAL_POSITION_DATA :: NAME , Self :: MEMINFO (..) => MEMINFO_DATA :: NAME , Self :: GLOBAL_VISION_POSITION_ESTIMATE (..) => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: NAME , Self :: GPS2_RAW (..) => GPS2_RAW_DATA :: NAME , Self :: RALLY_POINT (..) => RALLY_POINT_DATA :: NAME , Self :: AP_ADC (..) => AP_ADC_DATA :: NAME , Self :: ACTUATOR_CONTROL_TARGET (..) => ACTUATOR_CONTROL_TARGET_DATA :: NAME , Self :: LOGGING_DATA_ACKED (..) => LOGGING_DATA_ACKED_DATA :: NAME , Self :: RC_CHANNELS (..) => RC_CHANNELS_DATA :: NAME , Self :: NAMED_VALUE_INT (..) => NAMED_VALUE_INT_DATA :: NAME , Self :: LINK_NODE_STATUS (..) => LINK_NODE_STATUS_DATA :: NAME , Self :: NAMED_VALUE_FLOAT (..) => NAMED_VALUE_FLOAT_DATA :: NAME , Self :: SERVO_OUTPUT_RAW (..) => SERVO_OUTPUT_RAW_DATA :: NAME , Self :: CELLULAR_STATUS (..) => CELLULAR_STATUS_DATA :: NAME , Self :: OPEN_DRONE_ID_LOCATION (..) => OPEN_DRONE_ID_LOCATION_DATA :: NAME , Self :: DEBUG_FLOAT_ARRAY (..) => DEBUG_FLOAT_ARRAY_DATA :: NAME , Self :: POWER_STATUS (..) => POWER_STATUS_DATA :: NAME , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (..) => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: NAME , Self :: BUTTON_CHANGE (..) => BUTTON_CHANGE_DATA :: NAME , Self :: CURRENT_EVENT_SEQUENCE (..) => CURRENT_EVENT_SEQUENCE_DATA :: NAME , Self :: PARAM_EXT_REQUEST_READ (..) => PARAM_EXT_REQUEST_READ_DATA :: NAME , Self :: MOUNT_STATUS (..) => MOUNT_STATUS_DATA :: NAME , Self :: MISSION_CURRENT (..) => MISSION_CURRENT_DATA :: NAME , Self :: DEBUG_VECT (..) => DEBUG_VECT_DATA :: NAME , Self :: CAMERA_FOV_STATUS (..) => CAMERA_FOV_STATUS_DATA :: NAME , Self :: SCALED_PRESSURE3 (..) => SCALED_PRESSURE3_DATA :: NAME , Self :: MISSION_ITEM_REACHED (..) => MISSION_ITEM_REACHED_DATA :: NAME , Self :: UAVIONIX_ADSB_OUT_CFG (..) => UAVIONIX_ADSB_OUT_CFG_DATA :: NAME , Self :: PARAM_VALUE (..) => PARAM_VALUE_DATA :: NAME , Self :: VICON_POSITION_ESTIMATE (..) => VICON_POSITION_ESTIMATE_DATA :: NAME , Self :: TIMESYNC (..) => TIMESYNC_DATA :: NAME , Self :: MANUAL_CONTROL (..) => MANUAL_CONTROL_DATA :: NAME , Self :: MEMORY_VECT (..) => MEMORY_VECT_DATA :: NAME , Self :: OBSTACLE_DISTANCE_3D (..) => OBSTACLE_DISTANCE_3D_DATA :: NAME , Self :: COMPONENT_METADATA (..) => COMPONENT_METADATA_DATA :: NAME , Self :: CAMERA_SETTINGS (..) => CAMERA_SETTINGS_DATA :: NAME , Self :: MAG_CAL_REPORT (..) => MAG_CAL_REPORT_DATA :: NAME , Self :: OPEN_DRONE_ID_SYSTEM (..) => OPEN_DRONE_ID_SYSTEM_DATA :: NAME , Self :: ATTITUDE_TARGET (..) => ATTITUDE_TARGET_DATA :: NAME , Self :: SET_POSITION_TARGET_GLOBAL_INT (..) => SET_POSITION_TARGET_GLOBAL_INT_DATA :: NAME , Self :: WINCH_STATUS (..) => WINCH_STATUS_DATA :: NAME , Self :: GIMBAL_DEVICE_INFORMATION (..) => GIMBAL_DEVICE_INFORMATION_DATA :: NAME , Self :: ICAROUS_HEARTBEAT (..) => ICAROUS_HEARTBEAT_DATA :: NAME , Self :: GOPRO_GET_RESPONSE (..) => GOPRO_GET_RESPONSE_DATA :: NAME , Self :: GPS_RAW_INT (..) => GPS_RAW_INT_DATA :: NAME , Self :: PING (..) => PING_DATA :: NAME , Self :: ATTITUDE_QUATERNION (..) => ATTITUDE_QUATERNION_DATA :: NAME , Self :: ESC_TELEMETRY_1_TO_4 (..) => ESC_TELEMETRY_1_TO_4_DATA :: NAME , Self :: HERELINK_VIDEO_STREAM_INFORMATION (..) => HERELINK_VIDEO_STREAM_INFORMATION_DATA :: NAME , Self :: COMMAND_LONG (..) => COMMAND_LONG_DATA :: NAME , Self :: GIMBAL_MANAGER_INFORMATION (..) => GIMBAL_MANAGER_INFORMATION_DATA :: NAME , Self :: SCALED_IMU2 (..) => SCALED_IMU2_DATA :: NAME , Self :: AHRS2 (..) => AHRS2_DATA :: NAME , Self :: ATT_POS_MOCAP (..) => ATT_POS_MOCAP_DATA :: NAME , Self :: OPTICAL_FLOW_RAD (..) => OPTICAL_FLOW_RAD_DATA :: NAME , Self :: NAV_CONTROLLER_OUTPUT (..) => NAV_CONTROLLER_OUTPUT_DATA :: NAME , Self :: MISSION_ACK (..) => MISSION_ACK_DATA :: NAME , Self :: PARAM_SET (..) => PARAM_SET_DATA :: NAME , Self :: DEBUG (..) => DEBUG_DATA :: NAME , Self :: AUTH_KEY (..) => AUTH_KEY_DATA :: NAME , Self :: SAFETY_SET_ALLOWED_AREA (..) => SAFETY_SET_ALLOWED_AREA_DATA :: NAME , Self :: ICAROUS_KINEMATIC_BANDS (..) => ICAROUS_KINEMATIC_BANDS_DATA :: NAME , Self :: MISSION_COUNT (..) => MISSION_COUNT_DATA :: NAME , Self :: ADSB_VEHICLE (..) => ADSB_VEHICLE_DATA :: NAME , Self :: ENCAPSULATED_DATA (..) => ENCAPSULATED_DATA_DATA :: NAME , Self :: SCALED_PRESSURE (..) => SCALED_PRESSURE_DATA :: NAME , Self :: MOUNT_CONFIGURE (..) => MOUNT_CONFIGURE_DATA :: NAME , Self :: OSD_PARAM_CONFIG_REPLY (..) => OSD_PARAM_CONFIG_REPLY_DATA :: NAME , Self :: SETUP_SIGNING (..) => SETUP_SIGNING_DATA :: NAME , Self :: DATA32 (..) => DATA32_DATA :: NAME , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (..) => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: NAME , Self :: TUNNEL (..) => TUNNEL_DATA :: NAME , Self :: DATA96 (..) => DATA96_DATA :: NAME , Self :: ESTIMATOR_STATUS (..) => ESTIMATOR_STATUS_DATA :: NAME , Self :: ALTITUDE (..) => ALTITUDE_DATA :: NAME , Self :: GPS_RTCM_DATA (..) => GPS_RTCM_DATA_DATA :: NAME , Self :: SCALED_IMU3 (..) => SCALED_IMU3_DATA :: NAME , Self :: AUTOPILOT_VERSION (..) => AUTOPILOT_VERSION_DATA :: NAME , Self :: SET_HOME_POSITION (..) => SET_HOME_POSITION_DATA :: NAME , Self :: GIMBAL_CONTROL (..) => GIMBAL_CONTROL_DATA :: NAME , Self :: GOPRO_HEARTBEAT (..) => GOPRO_HEARTBEAT_DATA :: NAME , Self :: HIL_STATE_QUATERNION (..) => HIL_STATE_QUATERNION_DATA :: NAME , Self :: TERRAIN_REPORT (..) => TERRAIN_REPORT_DATA :: NAME , Self :: WIND (..) => WIND_DATA :: NAME , Self :: RAW_PRESSURE (..) => RAW_PRESSURE_DATA :: NAME , Self :: MISSION_WRITE_PARTIAL_LIST (..) => MISSION_WRITE_PARTIAL_LIST_DATA :: NAME , Self :: CUBEPILOT_FIRMWARE_UPDATE_START (..) => CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: NAME , Self :: GENERATOR_STATUS (..) => GENERATOR_STATUS_DATA :: NAME , Self :: RADIO (..) => RADIO_DATA :: NAME , Self :: DEVICE_OP_READ (..) => DEVICE_OP_READ_DATA :: NAME , Self :: AIS_VESSEL (..) => AIS_VESSEL_DATA :: NAME , Self :: CAMERA_TRACKING_IMAGE_STATUS (..) => CAMERA_TRACKING_IMAGE_STATUS_DATA :: NAME , Self :: PARAM_EXT_VALUE (..) => PARAM_EXT_VALUE_DATA :: NAME , Self :: UAVCAN_NODE_STATUS (..) => UAVCAN_NODE_STATUS_DATA :: NAME , Self :: TRAJECTORY_REPRESENTATION_BEZIER (..) => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: NAME , Self :: WATER_DEPTH (..) => WATER_DEPTH_DATA :: NAME , Self :: SIM_STATE (..) => SIM_STATE_DATA :: NAME , Self :: TERRAIN_REQUEST (..) => TERRAIN_REQUEST_DATA :: NAME , Self :: PARAM_REQUEST_READ (..) => PARAM_REQUEST_READ_DATA :: NAME , Self :: GLOBAL_POSITION_INT (..) => GLOBAL_POSITION_INT_DATA :: NAME , Self :: PLAY_TUNE_V2 (..) => PLAY_TUNE_V2_DATA :: NAME , Self :: OPEN_DRONE_ID_MESSAGE_PACK (..) => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: NAME , Self :: SYSTEM_TIME (..) => SYSTEM_TIME_DATA :: NAME , Self :: GPS2_RTK (..) => GPS2_RTK_DATA :: NAME , Self :: HIGH_LATENCY2 (..) => HIGH_LATENCY2_DATA :: NAME , Self :: MOUNT_ORIENTATION (..) => MOUNT_ORIENTATION_DATA :: NAME , Self :: RC_CHANNELS_RAW (..) => RC_CHANNELS_RAW_DATA :: NAME , Self :: GIMBAL_MANAGER_STATUS (..) => GIMBAL_MANAGER_STATUS_DATA :: NAME , Self :: SENSOR_OFFSETS (..) => SENSOR_OFFSETS_DATA :: NAME , Self :: FENCE_FETCH_POINT (..) => FENCE_FETCH_POINT_DATA :: NAME , Self :: LIMITS_STATUS (..) => LIMITS_STATUS_DATA :: NAME , Self :: POSITION_TARGET_GLOBAL_INT (..) => POSITION_TARGET_GLOBAL_INT_DATA :: NAME , Self :: DATA64 (..) => DATA64_DATA :: NAME , Self :: HOME_POSITION (..) => HOME_POSITION_DATA :: NAME , Self :: LOG_REQUEST_DATA (..) => LOG_REQUEST_DATA_DATA :: NAME , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (..) => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: NAME , Self :: AUTOPILOT_VERSION_REQUEST (..) => AUTOPILOT_VERSION_REQUEST_DATA :: NAME , Self :: ATTITUDE (..) => ATTITUDE_DATA :: NAME , Self :: REMOTE_LOG_BLOCK_STATUS (..) => REMOTE_LOG_BLOCK_STATUS_DATA :: NAME , Self :: ADAP_TUNING (..) => ADAP_TUNING_DATA :: NAME , Self :: PARAM_EXT_SET (..) => PARAM_EXT_SET_DATA :: NAME , Self :: HIL_OPTICAL_FLOW (..) => HIL_OPTICAL_FLOW_DATA :: NAME , Self :: RC_CHANNELS_SCALED (..) => RC_CHANNELS_SCALED_DATA :: NAME , Self :: EXTENDED_SYS_STATE (..) => EXTENDED_SYS_STATE_DATA :: NAME , Self :: CHANGE_OPERATOR_CONTROL_ACK (..) => CHANGE_OPERATOR_CONTROL_ACK_DATA :: NAME , Self :: LOG_REQUEST_END (..) => LOG_REQUEST_END_DATA :: NAME , Self :: OPTICAL_FLOW (..) => OPTICAL_FLOW_DATA :: NAME , Self :: COMMAND_ACK (..) => COMMAND_ACK_DATA :: NAME , Self :: SET_ACTUATOR_CONTROL_TARGET (..) => SET_ACTUATOR_CONTROL_TARGET_DATA :: NAME , Self :: OPEN_DRONE_ID_AUTHENTICATION (..) => OPEN_DRONE_ID_AUTHENTICATION_DATA :: NAME , Self :: MISSION_REQUEST_PARTIAL_LIST (..) => MISSION_REQUEST_PARTIAL_LIST_DATA :: NAME , Self :: MISSION_REQUEST_LIST (..) => MISSION_REQUEST_LIST_DATA :: NAME , Self :: PARAM_REQUEST_LIST (..) => PARAM_REQUEST_LIST_DATA :: NAME , Self :: MISSION_SET_CURRENT (..) => MISSION_SET_CURRENT_DATA :: NAME , Self :: CONTROL_SYSTEM_STATE (..) => CONTROL_SYSTEM_STATE_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_PITCHYAW (..) => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: NAME , Self :: SMART_BATTERY_INFO (..) => SMART_BATTERY_INFO_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (..) => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: NAME , Self :: LOCAL_POSITION_NED_COV (..) => LOCAL_POSITION_NED_COV_DATA :: NAME , Self :: VIDEO_STREAM_STATUS (..) => VIDEO_STREAM_STATUS_DATA :: NAME , Self :: SET_MODE (..) => SET_MODE_DATA :: NAME , Self :: HERELINK_TELEM (..) => HERELINK_TELEM_DATA :: NAME , Self :: GPS_INJECT_DATA (..) => GPS_INJECT_DATA_DATA :: NAME , Self :: VFR_HUD (..) => VFR_HUD_DATA :: NAME , Self :: HIGH_LATENCY (..) => HIGH_LATENCY_DATA :: NAME , Self :: DIGICAM_CONTROL (..) => DIGICAM_CONTROL_DATA :: NAME , Self :: WHEEL_DISTANCE (..) => WHEEL_DISTANCE_DATA :: NAME , Self :: COMMAND_CANCEL (..) => COMMAND_CANCEL_DATA :: NAME , Self :: SIMSTATE (..) => SIMSTATE_DATA :: NAME , Self :: DATA16 (..) => DATA16_DATA :: NAME , Self :: MISSION_CLEAR_ALL (..) => MISSION_CLEAR_ALL_DATA :: NAME , Self :: REMOTE_LOG_DATA_BLOCK (..) => REMOTE_LOG_DATA_BLOCK_DATA :: NAME , Self :: RPM (..) => RPM_DATA :: NAME , Self :: VISION_POSITION_DELTA (..) => VISION_POSITION_DELTA_DATA :: NAME , Self :: AHRS3 (..) => AHRS3_DATA :: NAME , Self :: OSD_PARAM_SHOW_CONFIG (..) => OSD_PARAM_SHOW_CONFIG_DATA :: NAME , Self :: SET_GPS_GLOBAL_ORIGIN (..) => SET_GPS_GLOBAL_ORIGIN_DATA :: NAME , Self :: SET_ATTITUDE_TARGET (..) => SET_ATTITUDE_TARGET_DATA :: NAME , Self :: GOPRO_SET_RESPONSE (..) => GOPRO_SET_RESPONSE_DATA :: NAME , Self :: SCALED_PRESSURE2 (..) => SCALED_PRESSURE2_DATA :: NAME , Self :: HIL_SENSOR (..) => HIL_SENSOR_DATA :: NAME , Self :: CANFD_FRAME (..) => CANFD_FRAME_DATA :: NAME , Self :: DATA_STREAM (..) => DATA_STREAM_DATA :: NAME , Self :: HIGHRES_IMU (..) => HIGHRES_IMU_DATA :: NAME , Self :: CHANGE_OPERATOR_CONTROL (..) => CHANGE_OPERATOR_CONTROL_DATA :: NAME , Self :: MISSION_REQUEST (..) => MISSION_REQUEST_DATA :: NAME , Self :: VIDEO_STREAM_INFORMATION (..) => VIDEO_STREAM_INFORMATION_DATA :: NAME , Self :: SCALED_IMU (..) => SCALED_IMU_DATA :: NAME , Self :: DEVICE_OP_WRITE (..) => DEVICE_OP_WRITE_DATA :: NAME , Self :: HYGROMETER_SENSOR (..) => HYGROMETER_SENSOR_DATA :: NAME , Self :: CUBEPILOT_RAW_RC (..) => CUBEPILOT_RAW_RC_DATA :: NAME , Self :: GPS_STATUS (..) => GPS_STATUS_DATA :: NAME , Self :: DEVICE_OP_WRITE_REPLY (..) => DEVICE_OP_WRITE_REPLY_DATA :: NAME , Self :: CAMERA_TRIGGER (..) => CAMERA_TRIGGER_DATA :: NAME , Self :: SERIAL_CONTROL (..) => SERIAL_CONTROL_DATA :: NAME , Self :: OBSTACLE_DISTANCE (..) => OBSTACLE_DISTANCE_DATA :: NAME , Self :: FENCE_STATUS (..) => FENCE_STATUS_DATA :: NAME , Self :: ESC_STATUS (..) => ESC_STATUS_DATA :: NAME , Self :: LANDING_TARGET (..) => LANDING_TARGET_DATA :: NAME , Self :: OPEN_DRONE_ID_SELF_ID (..) => OPEN_DRONE_ID_SELF_ID_DATA :: NAME , Self :: CAMERA_CAPTURE_STATUS (..) => CAMERA_CAPTURE_STATUS_DATA :: NAME , Self :: BATTERY2 (..) => BATTERY2_DATA :: NAME , Self :: TERRAIN_DATA (..) => TERRAIN_DATA_DATA :: NAME , Self :: GPS_INPUT (..) => GPS_INPUT_DATA :: NAME , Self :: AIRSPEED_AUTOCAL (..) => AIRSPEED_AUTOCAL_DATA :: NAME , Self :: CAMERA_IMAGE_CAPTURED (..) => CAMERA_IMAGE_CAPTURED_DATA :: NAME , Self :: HIL_ACTUATOR_CONTROLS (..) => HIL_ACTUATOR_CONTROLS_DATA :: NAME , Self :: OPEN_DRONE_ID_BASIC_ID (..) => OPEN_DRONE_ID_BASIC_ID_DATA :: NAME , Self :: RESPONSE_EVENT_ERROR (..) => RESPONSE_EVENT_ERROR_DATA :: NAME , Self :: LOG_ENTRY (..) => LOG_ENTRY_DATA :: NAME , Self :: PARAM_EXT_REQUEST_LIST (..) => PARAM_EXT_REQUEST_LIST_DATA :: NAME , Self :: LOG_ERASE (..) => LOG_ERASE_DATA :: NAME , Self :: ORBIT_EXECUTION_STATUS (..) => ORBIT_EXECUTION_STATUS_DATA :: NAME , Self :: COMPASSMOT_STATUS (..) => COMPASSMOT_STATUS_DATA :: NAME , Self :: HIL_GPS (..) => HIL_GPS_DATA :: NAME , Self :: LOGGING_DATA (..) => LOGGING_DATA_DATA :: NAME , Self :: PLAY_TUNE (..) => PLAY_TUNE_DATA :: NAME , Self :: PROTOCOL_VERSION (..) => PROTOCOL_VERSION_DATA :: NAME , Self :: CELLULAR_CONFIG (..) => CELLULAR_CONFIG_DATA :: NAME , Self :: DEVICE_OP_READ_REPLY (..) => DEVICE_OP_READ_REPLY_DATA :: NAME , Self :: EVENT (..) => EVENT_DATA :: NAME , Self :: V2_EXTENSION (..) => V2_EXTENSION_DATA :: NAME , Self :: RALLY_FETCH_POINT (..) => RALLY_FETCH_POINT_DATA :: NAME , Self :: CAMERA_STATUS (..) => CAMERA_STATUS_DATA :: NAME , Self :: RANGEFINDER (..) => RANGEFINDER_DATA :: NAME , Self :: ESC_TELEMETRY_5_TO_8 (..) => ESC_TELEMETRY_5_TO_8_DATA :: NAME , } } fn message_id (& self) -> u32 { match self { Self :: GIMBAL_DEVICE_SET_ATTITUDE (..) => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID , Self :: COMPONENT_INFORMATION (..) => COMPONENT_INFORMATION_DATA :: ID , Self :: OSD_PARAM_CONFIG (..) => OSD_PARAM_CONFIG_DATA :: ID , Self :: MISSION_ITEM (..) => MISSION_ITEM_DATA :: ID , Self :: RADIO_STATUS (..) => RADIO_STATUS_DATA :: ID , Self :: FLIGHT_INFORMATION (..) => FLIGHT_INFORMATION_DATA :: ID , Self :: HIL_RC_INPUTS_RAW (..) => HIL_RC_INPUTS_RAW_DATA :: ID , Self :: VIBRATION (..) => VIBRATION_DATA :: ID , Self :: BATTERY_STATUS (..) => BATTERY_STATUS_DATA :: ID , Self :: WIND_COV (..) => WIND_COV_DATA :: ID , Self :: CAMERA_INFORMATION (..) => CAMERA_INFORMATION_DATA :: ID , Self :: RAW_IMU (..) => RAW_IMU_DATA :: ID , Self :: GPS_RTK (..) => GPS_RTK_DATA :: ID , Self :: RAW_RPM (..) => RAW_RPM_DATA :: ID , Self :: TERRAIN_CHECK (..) => TERRAIN_CHECK_DATA :: ID , Self :: REQUEST_EVENT (..) => REQUEST_EVENT_DATA :: ID , Self :: REQUEST_DATA_STREAM (..) => REQUEST_DATA_STREAM_DATA :: ID , Self :: HWSTATUS (..) => HWSTATUS_DATA :: ID , Self :: FOLLOW_TARGET (..) => FOLLOW_TARGET_DATA :: ID , Self :: GLOBAL_POSITION_INT_COV (..) => GLOBAL_POSITION_INT_COV_DATA :: ID , Self :: UAVCAN_NODE_INFO (..) => UAVCAN_NODE_INFO_DATA :: ID , Self :: AOA_SSA (..) => AOA_SSA_DATA :: ID , Self :: ISBD_LINK_STATUS (..) => ISBD_LINK_STATUS_DATA :: ID , Self :: LED_CONTROL (..) => LED_CONTROL_DATA :: ID , Self :: WIFI_CONFIG_AP (..) => WIFI_CONFIG_AP_DATA :: ID , Self :: UAVIONIX_ADSB_OUT_DYNAMIC (..) => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID , Self :: EKF_STATUS_REPORT (..) => EKF_STATUS_REPORT_DATA :: ID , Self :: OPEN_DRONE_ID_ARM_STATUS (..) => OPEN_DRONE_ID_ARM_STATUS_DATA :: ID , Self :: GIMBAL_REPORT (..) => GIMBAL_REPORT_DATA :: ID , Self :: SYS_STATUS (..) => SYS_STATUS_DATA :: ID , Self :: MAG_CAL_PROGRESS (..) => MAG_CAL_PROGRESS_DATA :: ID , Self :: FILE_TRANSFER_PROTOCOL (..) => FILE_TRANSFER_PROTOCOL_DATA :: ID , Self :: PID_TUNING (..) => PID_TUNING_DATA :: ID , Self :: HIL_CONTROLS (..) => HIL_CONTROLS_DATA :: ID , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (..) => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID , Self :: CAN_FRAME (..) => CAN_FRAME_DATA :: ID , Self :: CAMERA_TRACKING_GEO_STATUS (..) => CAMERA_TRACKING_GEO_STATUS_DATA :: ID , Self :: ATTITUDE_QUATERNION_COV (..) => ATTITUDE_QUATERNION_COV_DATA :: ID , Self :: SET_MAG_OFFSETS (..) => SET_MAG_OFFSETS_DATA :: ID , Self :: VISION_SPEED_ESTIMATE (..) => VISION_SPEED_ESTIMATE_DATA :: ID , Self :: MOUNT_CONTROL (..) => MOUNT_CONTROL_DATA :: ID , Self :: DEEPSTALL (..) => DEEPSTALL_DATA :: ID , Self :: PARAM_EXT_ACK (..) => PARAM_EXT_ACK_DATA :: ID , Self :: COLLISION (..) => COLLISION_DATA :: ID , Self :: GIMBAL_TORQUE_CMD_REPORT (..) => GIMBAL_TORQUE_CMD_REPORT_DATA :: ID , Self :: GPS_GLOBAL_ORIGIN (..) => GPS_GLOBAL_ORIGIN_DATA :: ID , Self :: SET_POSITION_TARGET_LOCAL_NED (..) => SET_POSITION_TARGET_LOCAL_NED_DATA :: ID , Self :: EFI_STATUS (..) => EFI_STATUS_DATA :: ID , Self :: HIL_STATE (..) => HIL_STATE_DATA :: ID , Self :: ACTUATOR_OUTPUT_STATUS (..) => ACTUATOR_OUTPUT_STATUS_DATA :: ID , Self :: MCU_STATUS (..) => MCU_STATUS_DATA :: ID , Self :: PARAM_MAP_RC (..) => PARAM_MAP_RC_DATA :: ID , Self :: HEARTBEAT (..) => HEARTBEAT_DATA :: ID , Self :: OPEN_DRONE_ID_OPERATOR_ID (..) => OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID , Self :: DATA_TRANSMISSION_HANDSHAKE (..) => DATA_TRANSMISSION_HANDSHAKE_DATA :: ID , Self :: ODOMETRY (..) => ODOMETRY_DATA :: ID , Self :: DISTANCE_SENSOR (..) => DISTANCE_SENSOR_DATA :: ID , Self :: OSD_PARAM_SHOW_CONFIG_REPLY (..) => OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: ID , Self :: GOPRO_SET_REQUEST (..) => GOPRO_SET_REQUEST_DATA :: ID , Self :: ESC_INFO (..) => ESC_INFO_DATA :: ID , Self :: MANUAL_SETPOINT (..) => MANUAL_SETPOINT_DATA :: ID , Self :: LOG_DATA (..) => LOG_DATA_DATA :: ID , Self :: CAMERA_FEEDBACK (..) => CAMERA_FEEDBACK_DATA :: ID , Self :: FENCE_POINT (..) => FENCE_POINT_DATA :: ID , Self :: SUPPORTED_TUNES (..) => SUPPORTED_TUNES_DATA :: ID , Self :: LOGGING_ACK (..) => LOGGING_ACK_DATA :: ID , Self :: VISION_POSITION_ESTIMATE (..) => VISION_POSITION_ESTIMATE_DATA :: ID , Self :: AHRS (..) => AHRS_DATA :: ID , Self :: MESSAGE_INTERVAL (..) => MESSAGE_INTERVAL_DATA :: ID , Self :: RC_CHANNELS_OVERRIDE (..) => RC_CHANNELS_OVERRIDE_DATA :: ID , Self :: LOG_REQUEST_LIST (..) => LOG_REQUEST_LIST_DATA :: ID , Self :: RESOURCE_REQUEST (..) => RESOURCE_REQUEST_DATA :: ID , Self :: GIMBAL_MANAGER_SET_ATTITUDE (..) => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID , Self :: ONBOARD_COMPUTER_STATUS (..) => ONBOARD_COMPUTER_STATUS_DATA :: ID , Self :: LOCAL_POSITION_NED (..) => LOCAL_POSITION_NED_DATA :: ID , Self :: DIGICAM_CONFIGURE (..) => DIGICAM_CONFIGURE_DATA :: ID , Self :: ESC_TELEMETRY_9_TO_12 (..) => ESC_TELEMETRY_9_TO_12_DATA :: ID , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (..) => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID , Self :: POSITION_TARGET_LOCAL_NED (..) => POSITION_TARGET_LOCAL_NED_DATA :: ID , Self :: SAFETY_ALLOWED_AREA (..) => SAFETY_ALLOWED_AREA_DATA :: ID , Self :: COMMAND_INT (..) => COMMAND_INT_DATA :: ID , Self :: GOPRO_GET_REQUEST (..) => GOPRO_GET_REQUEST_DATA :: ID , Self :: CAN_FILTER_MODIFY (..) => CAN_FILTER_MODIFY_DATA :: ID , Self :: STATUSTEXT (..) => STATUSTEXT_DATA :: ID , Self :: TIME_ESTIMATE_TO_TARGET (..) => TIME_ESTIMATE_TO_TARGET_DATA :: ID , Self :: MISSION_ITEM_INT (..) => MISSION_ITEM_INT_DATA :: ID , Self :: CUBEPILOT_FIRMWARE_UPDATE_RESP (..) => CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: ID , Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (..) => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID , Self :: MISSION_REQUEST_INT (..) => MISSION_REQUEST_INT_DATA :: ID , Self :: STORAGE_INFORMATION (..) => STORAGE_INFORMATION_DATA :: ID , Self :: UTM_GLOBAL_POSITION (..) => UTM_GLOBAL_POSITION_DATA :: ID , Self :: MEMINFO (..) => MEMINFO_DATA :: ID , Self :: GLOBAL_VISION_POSITION_ESTIMATE (..) => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID , Self :: GPS2_RAW (..) => GPS2_RAW_DATA :: ID , Self :: RALLY_POINT (..) => RALLY_POINT_DATA :: ID , Self :: AP_ADC (..) => AP_ADC_DATA :: ID , Self :: ACTUATOR_CONTROL_TARGET (..) => ACTUATOR_CONTROL_TARGET_DATA :: ID , Self :: LOGGING_DATA_ACKED (..) => LOGGING_DATA_ACKED_DATA :: ID , Self :: RC_CHANNELS (..) => RC_CHANNELS_DATA :: ID , Self :: NAMED_VALUE_INT (..) => NAMED_VALUE_INT_DATA :: ID , Self :: LINK_NODE_STATUS (..) => LINK_NODE_STATUS_DATA :: ID , Self :: NAMED_VALUE_FLOAT (..) => NAMED_VALUE_FLOAT_DATA :: ID , Self :: SERVO_OUTPUT_RAW (..) => SERVO_OUTPUT_RAW_DATA :: ID , Self :: CELLULAR_STATUS (..) => CELLULAR_STATUS_DATA :: ID , Self :: OPEN_DRONE_ID_LOCATION (..) => OPEN_DRONE_ID_LOCATION_DATA :: ID , Self :: DEBUG_FLOAT_ARRAY (..) => DEBUG_FLOAT_ARRAY_DATA :: ID , Self :: POWER_STATUS (..) => POWER_STATUS_DATA :: ID , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (..) => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID , Self :: BUTTON_CHANGE (..) => BUTTON_CHANGE_DATA :: ID , Self :: CURRENT_EVENT_SEQUENCE (..) => CURRENT_EVENT_SEQUENCE_DATA :: ID , Self :: PARAM_EXT_REQUEST_READ (..) => PARAM_EXT_REQUEST_READ_DATA :: ID , Self :: MOUNT_STATUS (..) => MOUNT_STATUS_DATA :: ID , Self :: MISSION_CURRENT (..) => MISSION_CURRENT_DATA :: ID , Self :: DEBUG_VECT (..) => DEBUG_VECT_DATA :: ID , Self :: CAMERA_FOV_STATUS (..) => CAMERA_FOV_STATUS_DATA :: ID , Self :: SCALED_PRESSURE3 (..) => SCALED_PRESSURE3_DATA :: ID , Self :: MISSION_ITEM_REACHED (..) => MISSION_ITEM_REACHED_DATA :: ID , Self :: UAVIONIX_ADSB_OUT_CFG (..) => UAVIONIX_ADSB_OUT_CFG_DATA :: ID , Self :: PARAM_VALUE (..) => PARAM_VALUE_DATA :: ID , Self :: VICON_POSITION_ESTIMATE (..) => VICON_POSITION_ESTIMATE_DATA :: ID , Self :: TIMESYNC (..) => TIMESYNC_DATA :: ID , Self :: MANUAL_CONTROL (..) => MANUAL_CONTROL_DATA :: ID , Self :: MEMORY_VECT (..) => MEMORY_VECT_DATA :: ID , Self :: OBSTACLE_DISTANCE_3D (..) => OBSTACLE_DISTANCE_3D_DATA :: ID , Self :: COMPONENT_METADATA (..) => COMPONENT_METADATA_DATA :: ID , Self :: CAMERA_SETTINGS (..) => CAMERA_SETTINGS_DATA :: ID , Self :: MAG_CAL_REPORT (..) => MAG_CAL_REPORT_DATA :: ID , Self :: OPEN_DRONE_ID_SYSTEM (..) => OPEN_DRONE_ID_SYSTEM_DATA :: ID , Self :: ATTITUDE_TARGET (..) => ATTITUDE_TARGET_DATA :: ID , Self :: SET_POSITION_TARGET_GLOBAL_INT (..) => SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID , Self :: WINCH_STATUS (..) => WINCH_STATUS_DATA :: ID , Self :: GIMBAL_DEVICE_INFORMATION (..) => GIMBAL_DEVICE_INFORMATION_DATA :: ID , Self :: ICAROUS_HEARTBEAT (..) => ICAROUS_HEARTBEAT_DATA :: ID , Self :: GOPRO_GET_RESPONSE (..) => GOPRO_GET_RESPONSE_DATA :: ID , Self :: GPS_RAW_INT (..) => GPS_RAW_INT_DATA :: ID , Self :: PING (..) => PING_DATA :: ID , Self :: ATTITUDE_QUATERNION (..) => ATTITUDE_QUATERNION_DATA :: ID , Self :: ESC_TELEMETRY_1_TO_4 (..) => ESC_TELEMETRY_1_TO_4_DATA :: ID , Self :: HERELINK_VIDEO_STREAM_INFORMATION (..) => HERELINK_VIDEO_STREAM_INFORMATION_DATA :: ID , Self :: COMMAND_LONG (..) => COMMAND_LONG_DATA :: ID , Self :: GIMBAL_MANAGER_INFORMATION (..) => GIMBAL_MANAGER_INFORMATION_DATA :: ID , Self :: SCALED_IMU2 (..) => SCALED_IMU2_DATA :: ID , Self :: AHRS2 (..) => AHRS2_DATA :: ID , Self :: ATT_POS_MOCAP (..) => ATT_POS_MOCAP_DATA :: ID , Self :: OPTICAL_FLOW_RAD (..) => OPTICAL_FLOW_RAD_DATA :: ID , Self :: NAV_CONTROLLER_OUTPUT (..) => NAV_CONTROLLER_OUTPUT_DATA :: ID , Self :: MISSION_ACK (..) => MISSION_ACK_DATA :: ID , Self :: PARAM_SET (..) => PARAM_SET_DATA :: ID , Self :: DEBUG (..) => DEBUG_DATA :: ID , Self :: AUTH_KEY (..) => AUTH_KEY_DATA :: ID , Self :: SAFETY_SET_ALLOWED_AREA (..) => SAFETY_SET_ALLOWED_AREA_DATA :: ID , Self :: ICAROUS_KINEMATIC_BANDS (..) => ICAROUS_KINEMATIC_BANDS_DATA :: ID , Self :: MISSION_COUNT (..) => MISSION_COUNT_DATA :: ID , Self :: ADSB_VEHICLE (..) => ADSB_VEHICLE_DATA :: ID , Self :: ENCAPSULATED_DATA (..) => ENCAPSULATED_DATA_DATA :: ID , Self :: SCALED_PRESSURE (..) => SCALED_PRESSURE_DATA :: ID , Self :: MOUNT_CONFIGURE (..) => MOUNT_CONFIGURE_DATA :: ID , Self :: OSD_PARAM_CONFIG_REPLY (..) => OSD_PARAM_CONFIG_REPLY_DATA :: ID , Self :: SETUP_SIGNING (..) => SETUP_SIGNING_DATA :: ID , Self :: DATA32 (..) => DATA32_DATA :: ID , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (..) => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID , Self :: TUNNEL (..) => TUNNEL_DATA :: ID , Self :: DATA96 (..) => DATA96_DATA :: ID , Self :: ESTIMATOR_STATUS (..) => ESTIMATOR_STATUS_DATA :: ID , Self :: ALTITUDE (..) => ALTITUDE_DATA :: ID , Self :: GPS_RTCM_DATA (..) => GPS_RTCM_DATA_DATA :: ID , Self :: SCALED_IMU3 (..) => SCALED_IMU3_DATA :: ID , Self :: AUTOPILOT_VERSION (..) => AUTOPILOT_VERSION_DATA :: ID , Self :: SET_HOME_POSITION (..) => SET_HOME_POSITION_DATA :: ID , Self :: GIMBAL_CONTROL (..) => GIMBAL_CONTROL_DATA :: ID , Self :: GOPRO_HEARTBEAT (..) => GOPRO_HEARTBEAT_DATA :: ID , Self :: HIL_STATE_QUATERNION (..) => HIL_STATE_QUATERNION_DATA :: ID , Self :: TERRAIN_REPORT (..) => TERRAIN_REPORT_DATA :: ID , Self :: WIND (..) => WIND_DATA :: ID , Self :: RAW_PRESSURE (..) => RAW_PRESSURE_DATA :: ID , Self :: MISSION_WRITE_PARTIAL_LIST (..) => MISSION_WRITE_PARTIAL_LIST_DATA :: ID , Self :: CUBEPILOT_FIRMWARE_UPDATE_START (..) => CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: ID , Self :: GENERATOR_STATUS (..) => GENERATOR_STATUS_DATA :: ID , Self :: RADIO (..) => RADIO_DATA :: ID , Self :: DEVICE_OP_READ (..) => DEVICE_OP_READ_DATA :: ID , Self :: AIS_VESSEL (..) => AIS_VESSEL_DATA :: ID , Self :: CAMERA_TRACKING_IMAGE_STATUS (..) => CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID , Self :: PARAM_EXT_VALUE (..) => PARAM_EXT_VALUE_DATA :: ID , Self :: UAVCAN_NODE_STATUS (..) => UAVCAN_NODE_STATUS_DATA :: ID , Self :: TRAJECTORY_REPRESENTATION_BEZIER (..) => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID , Self :: WATER_DEPTH (..) => WATER_DEPTH_DATA :: ID , Self :: SIM_STATE (..) => SIM_STATE_DATA :: ID , Self :: TERRAIN_REQUEST (..) => TERRAIN_REQUEST_DATA :: ID , Self :: PARAM_REQUEST_READ (..) => PARAM_REQUEST_READ_DATA :: ID , Self :: GLOBAL_POSITION_INT (..) => GLOBAL_POSITION_INT_DATA :: ID , Self :: PLAY_TUNE_V2 (..) => PLAY_TUNE_V2_DATA :: ID , Self :: OPEN_DRONE_ID_MESSAGE_PACK (..) => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID , Self :: SYSTEM_TIME (..) => SYSTEM_TIME_DATA :: ID , Self :: GPS2_RTK (..) => GPS2_RTK_DATA :: ID , Self :: HIGH_LATENCY2 (..) => HIGH_LATENCY2_DATA :: ID , Self :: MOUNT_ORIENTATION (..) => MOUNT_ORIENTATION_DATA :: ID , Self :: RC_CHANNELS_RAW (..) => RC_CHANNELS_RAW_DATA :: ID , Self :: GIMBAL_MANAGER_STATUS (..) => GIMBAL_MANAGER_STATUS_DATA :: ID , Self :: SENSOR_OFFSETS (..) => SENSOR_OFFSETS_DATA :: ID , Self :: FENCE_FETCH_POINT (..) => FENCE_FETCH_POINT_DATA :: ID , Self :: LIMITS_STATUS (..) => LIMITS_STATUS_DATA :: ID , Self :: POSITION_TARGET_GLOBAL_INT (..) => POSITION_TARGET_GLOBAL_INT_DATA :: ID , Self :: DATA64 (..) => DATA64_DATA :: ID , Self :: HOME_POSITION (..) => HOME_POSITION_DATA :: ID , Self :: LOG_REQUEST_DATA (..) => LOG_REQUEST_DATA_DATA :: ID , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (..) => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID , Self :: AUTOPILOT_VERSION_REQUEST (..) => AUTOPILOT_VERSION_REQUEST_DATA :: ID , Self :: ATTITUDE (..) => ATTITUDE_DATA :: ID , Self :: REMOTE_LOG_BLOCK_STATUS (..) => REMOTE_LOG_BLOCK_STATUS_DATA :: ID , Self :: ADAP_TUNING (..) => ADAP_TUNING_DATA :: ID , Self :: PARAM_EXT_SET (..) => PARAM_EXT_SET_DATA :: ID , Self :: HIL_OPTICAL_FLOW (..) => HIL_OPTICAL_FLOW_DATA :: ID , Self :: RC_CHANNELS_SCALED (..) => RC_CHANNELS_SCALED_DATA :: ID , Self :: EXTENDED_SYS_STATE (..) => EXTENDED_SYS_STATE_DATA :: ID , Self :: CHANGE_OPERATOR_CONTROL_ACK (..) => CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID , Self :: LOG_REQUEST_END (..) => LOG_REQUEST_END_DATA :: ID , Self :: OPTICAL_FLOW (..) => OPTICAL_FLOW_DATA :: ID , Self :: COMMAND_ACK (..) => COMMAND_ACK_DATA :: ID , Self :: SET_ACTUATOR_CONTROL_TARGET (..) => SET_ACTUATOR_CONTROL_TARGET_DATA :: ID , Self :: OPEN_DRONE_ID_AUTHENTICATION (..) => OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID , Self :: MISSION_REQUEST_PARTIAL_LIST (..) => MISSION_REQUEST_PARTIAL_LIST_DATA :: ID , Self :: MISSION_REQUEST_LIST (..) => MISSION_REQUEST_LIST_DATA :: ID , Self :: PARAM_REQUEST_LIST (..) => PARAM_REQUEST_LIST_DATA :: ID , Self :: MISSION_SET_CURRENT (..) => MISSION_SET_CURRENT_DATA :: ID , Self :: CONTROL_SYSTEM_STATE (..) => CONTROL_SYSTEM_STATE_DATA :: ID , Self :: GIMBAL_MANAGER_SET_PITCHYAW (..) => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID , Self :: SMART_BATTERY_INFO (..) => SMART_BATTERY_INFO_DATA :: ID , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (..) => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID , Self :: LOCAL_POSITION_NED_COV (..) => LOCAL_POSITION_NED_COV_DATA :: ID , Self :: VIDEO_STREAM_STATUS (..) => VIDEO_STREAM_STATUS_DATA :: ID , Self :: SET_MODE (..) => SET_MODE_DATA :: ID , Self :: HERELINK_TELEM (..) => HERELINK_TELEM_DATA :: ID , Self :: GPS_INJECT_DATA (..) => GPS_INJECT_DATA_DATA :: ID , Self :: VFR_HUD (..) => VFR_HUD_DATA :: ID , Self :: HIGH_LATENCY (..) => HIGH_LATENCY_DATA :: ID , Self :: DIGICAM_CONTROL (..) => DIGICAM_CONTROL_DATA :: ID , Self :: WHEEL_DISTANCE (..) => WHEEL_DISTANCE_DATA :: ID , Self :: COMMAND_CANCEL (..) => COMMAND_CANCEL_DATA :: ID , Self :: SIMSTATE (..) => SIMSTATE_DATA :: ID , Self :: DATA16 (..) => DATA16_DATA :: ID , Self :: MISSION_CLEAR_ALL (..) => MISSION_CLEAR_ALL_DATA :: ID , Self :: REMOTE_LOG_DATA_BLOCK (..) => REMOTE_LOG_DATA_BLOCK_DATA :: ID , Self :: RPM (..) => RPM_DATA :: ID , Self :: VISION_POSITION_DELTA (..) => VISION_POSITION_DELTA_DATA :: ID , Self :: AHRS3 (..) => AHRS3_DATA :: ID , Self :: OSD_PARAM_SHOW_CONFIG (..) => OSD_PARAM_SHOW_CONFIG_DATA :: ID , Self :: SET_GPS_GLOBAL_ORIGIN (..) => SET_GPS_GLOBAL_ORIGIN_DATA :: ID , Self :: SET_ATTITUDE_TARGET (..) => SET_ATTITUDE_TARGET_DATA :: ID , Self :: GOPRO_SET_RESPONSE (..) => GOPRO_SET_RESPONSE_DATA :: ID , Self :: SCALED_PRESSURE2 (..) => SCALED_PRESSURE2_DATA :: ID , Self :: HIL_SENSOR (..) => HIL_SENSOR_DATA :: ID , Self :: CANFD_FRAME (..) => CANFD_FRAME_DATA :: ID , Self :: DATA_STREAM (..) => DATA_STREAM_DATA :: ID , Self :: HIGHRES_IMU (..) => HIGHRES_IMU_DATA :: ID , Self :: CHANGE_OPERATOR_CONTROL (..) => CHANGE_OPERATOR_CONTROL_DATA :: ID , Self :: MISSION_REQUEST (..) => MISSION_REQUEST_DATA :: ID , Self :: VIDEO_STREAM_INFORMATION (..) => VIDEO_STREAM_INFORMATION_DATA :: ID , Self :: SCALED_IMU (..) => SCALED_IMU_DATA :: ID , Self :: DEVICE_OP_WRITE (..) => DEVICE_OP_WRITE_DATA :: ID , Self :: HYGROMETER_SENSOR (..) => HYGROMETER_SENSOR_DATA :: ID , Self :: CUBEPILOT_RAW_RC (..) => CUBEPILOT_RAW_RC_DATA :: ID , Self :: GPS_STATUS (..) => GPS_STATUS_DATA :: ID , Self :: DEVICE_OP_WRITE_REPLY (..) => DEVICE_OP_WRITE_REPLY_DATA :: ID , Self :: CAMERA_TRIGGER (..) => CAMERA_TRIGGER_DATA :: ID , Self :: SERIAL_CONTROL (..) => SERIAL_CONTROL_DATA :: ID , Self :: OBSTACLE_DISTANCE (..) => OBSTACLE_DISTANCE_DATA :: ID , Self :: FENCE_STATUS (..) => FENCE_STATUS_DATA :: ID , Self :: ESC_STATUS (..) => ESC_STATUS_DATA :: ID , Self :: LANDING_TARGET (..) => LANDING_TARGET_DATA :: ID , Self :: OPEN_DRONE_ID_SELF_ID (..) => OPEN_DRONE_ID_SELF_ID_DATA :: ID , Self :: CAMERA_CAPTURE_STATUS (..) => CAMERA_CAPTURE_STATUS_DATA :: ID , Self :: BATTERY2 (..) => BATTERY2_DATA :: ID , Self :: TERRAIN_DATA (..) => TERRAIN_DATA_DATA :: ID , Self :: GPS_INPUT (..) => GPS_INPUT_DATA :: ID , Self :: AIRSPEED_AUTOCAL (..) => AIRSPEED_AUTOCAL_DATA :: ID , Self :: CAMERA_IMAGE_CAPTURED (..) => CAMERA_IMAGE_CAPTURED_DATA :: ID , Self :: HIL_ACTUATOR_CONTROLS (..) => HIL_ACTUATOR_CONTROLS_DATA :: ID , Self :: OPEN_DRONE_ID_BASIC_ID (..) => OPEN_DRONE_ID_BASIC_ID_DATA :: ID , Self :: RESPONSE_EVENT_ERROR (..) => RESPONSE_EVENT_ERROR_DATA :: ID , Self :: LOG_ENTRY (..) => LOG_ENTRY_DATA :: ID , Self :: PARAM_EXT_REQUEST_LIST (..) => PARAM_EXT_REQUEST_LIST_DATA :: ID , Self :: LOG_ERASE (..) => LOG_ERASE_DATA :: ID , Self :: ORBIT_EXECUTION_STATUS (..) => ORBIT_EXECUTION_STATUS_DATA :: ID , Self :: COMPASSMOT_STATUS (..) => COMPASSMOT_STATUS_DATA :: ID , Self :: HIL_GPS (..) => HIL_GPS_DATA :: ID , Self :: LOGGING_DATA (..) => LOGGING_DATA_DATA :: ID , Self :: PLAY_TUNE (..) => PLAY_TUNE_DATA :: ID , Self :: PROTOCOL_VERSION (..) => PROTOCOL_VERSION_DATA :: ID , Self :: CELLULAR_CONFIG (..) => CELLULAR_CONFIG_DATA :: ID , Self :: DEVICE_OP_READ_REPLY (..) => DEVICE_OP_READ_REPLY_DATA :: ID , Self :: EVENT (..) => EVENT_DATA :: ID , Self :: V2_EXTENSION (..) => V2_EXTENSION_DATA :: ID , Self :: RALLY_FETCH_POINT (..) => RALLY_FETCH_POINT_DATA :: ID , Self :: CAMERA_STATUS (..) => CAMERA_STATUS_DATA :: ID , Self :: RANGEFINDER (..) => RANGEFINDER_DATA :: ID , Self :: ESC_TELEMETRY_5_TO_8 (..) => ESC_TELEMETRY_5_TO_8_DATA :: ID , } } fn message_id_from_name (name : & str) -> Result < u32 , & 'static str > { match name { GIMBAL_DEVICE_SET_ATTITUDE_DATA :: NAME => Ok (GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID) , COMPONENT_INFORMATION_DATA :: NAME => Ok (COMPONENT_INFORMATION_DATA :: ID) , OSD_PARAM_CONFIG_DATA :: NAME => Ok (OSD_PARAM_CONFIG_DATA :: ID) , MISSION_ITEM_DATA :: NAME => Ok (MISSION_ITEM_DATA :: ID) , RADIO_STATUS_DATA :: NAME => Ok (RADIO_STATUS_DATA :: ID) , FLIGHT_INFORMATION_DATA :: NAME => Ok (FLIGHT_INFORMATION_DATA :: ID) , HIL_RC_INPUTS_RAW_DATA :: NAME => Ok (HIL_RC_INPUTS_RAW_DATA :: ID) , VIBRATION_DATA :: NAME => Ok (VIBRATION_DATA :: ID) , BATTERY_STATUS_DATA :: NAME => Ok (BATTERY_STATUS_DATA :: ID) , WIND_COV_DATA :: NAME => Ok (WIND_COV_DATA :: ID) , CAMERA_INFORMATION_DATA :: NAME => Ok (CAMERA_INFORMATION_DATA :: ID) , RAW_IMU_DATA :: NAME => Ok (RAW_IMU_DATA :: ID) , GPS_RTK_DATA :: NAME => Ok (GPS_RTK_DATA :: ID) , RAW_RPM_DATA :: NAME => Ok (RAW_RPM_DATA :: ID) , TERRAIN_CHECK_DATA :: NAME => Ok (TERRAIN_CHECK_DATA :: ID) , REQUEST_EVENT_DATA :: NAME => Ok (REQUEST_EVENT_DATA :: ID) , REQUEST_DATA_STREAM_DATA :: NAME => Ok (REQUEST_DATA_STREAM_DATA :: ID) , HWSTATUS_DATA :: NAME => Ok (HWSTATUS_DATA :: ID) , FOLLOW_TARGET_DATA :: NAME => Ok (FOLLOW_TARGET_DATA :: ID) , GLOBAL_POSITION_INT_COV_DATA :: NAME => Ok (GLOBAL_POSITION_INT_COV_DATA :: ID) , UAVCAN_NODE_INFO_DATA :: NAME => Ok (UAVCAN_NODE_INFO_DATA :: ID) , AOA_SSA_DATA :: NAME => Ok (AOA_SSA_DATA :: ID) , ISBD_LINK_STATUS_DATA :: NAME => Ok (ISBD_LINK_STATUS_DATA :: ID) , LED_CONTROL_DATA :: NAME => Ok (LED_CONTROL_DATA :: ID) , WIFI_CONFIG_AP_DATA :: NAME => Ok (WIFI_CONFIG_AP_DATA :: ID) , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: NAME => Ok (UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID) , EKF_STATUS_REPORT_DATA :: NAME => Ok (EKF_STATUS_REPORT_DATA :: ID) , OPEN_DRONE_ID_ARM_STATUS_DATA :: NAME => Ok (OPEN_DRONE_ID_ARM_STATUS_DATA :: ID) , GIMBAL_REPORT_DATA :: NAME => Ok (GIMBAL_REPORT_DATA :: ID) , SYS_STATUS_DATA :: NAME => Ok (SYS_STATUS_DATA :: ID) , MAG_CAL_PROGRESS_DATA :: NAME => Ok (MAG_CAL_PROGRESS_DATA :: ID) , FILE_TRANSFER_PROTOCOL_DATA :: NAME => Ok (FILE_TRANSFER_PROTOCOL_DATA :: ID) , PID_TUNING_DATA :: NAME => Ok (PID_TUNING_DATA :: ID) , HIL_CONTROLS_DATA :: NAME => Ok (HIL_CONTROLS_DATA :: ID) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: NAME => Ok (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID) , CAN_FRAME_DATA :: NAME => Ok (CAN_FRAME_DATA :: ID) , CAMERA_TRACKING_GEO_STATUS_DATA :: NAME => Ok (CAMERA_TRACKING_GEO_STATUS_DATA :: ID) , ATTITUDE_QUATERNION_COV_DATA :: NAME => Ok (ATTITUDE_QUATERNION_COV_DATA :: ID) , SET_MAG_OFFSETS_DATA :: NAME => Ok (SET_MAG_OFFSETS_DATA :: ID) , VISION_SPEED_ESTIMATE_DATA :: NAME => Ok (VISION_SPEED_ESTIMATE_DATA :: ID) , MOUNT_CONTROL_DATA :: NAME => Ok (MOUNT_CONTROL_DATA :: ID) , DEEPSTALL_DATA :: NAME => Ok (DEEPSTALL_DATA :: ID) , PARAM_EXT_ACK_DATA :: NAME => Ok (PARAM_EXT_ACK_DATA :: ID) , COLLISION_DATA :: NAME => Ok (COLLISION_DATA :: ID) , GIMBAL_TORQUE_CMD_REPORT_DATA :: NAME => Ok (GIMBAL_TORQUE_CMD_REPORT_DATA :: ID) , GPS_GLOBAL_ORIGIN_DATA :: NAME => Ok (GPS_GLOBAL_ORIGIN_DATA :: ID) , SET_POSITION_TARGET_LOCAL_NED_DATA :: NAME => Ok (SET_POSITION_TARGET_LOCAL_NED_DATA :: ID) , EFI_STATUS_DATA :: NAME => Ok (EFI_STATUS_DATA :: ID) , HIL_STATE_DATA :: NAME => Ok (HIL_STATE_DATA :: ID) , ACTUATOR_OUTPUT_STATUS_DATA :: NAME => Ok (ACTUATOR_OUTPUT_STATUS_DATA :: ID) , MCU_STATUS_DATA :: NAME => Ok (MCU_STATUS_DATA :: ID) , PARAM_MAP_RC_DATA :: NAME => Ok (PARAM_MAP_RC_DATA :: ID) , HEARTBEAT_DATA :: NAME => Ok (HEARTBEAT_DATA :: ID) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID) , DATA_TRANSMISSION_HANDSHAKE_DATA :: NAME => Ok (DATA_TRANSMISSION_HANDSHAKE_DATA :: ID) , ODOMETRY_DATA :: NAME => Ok (ODOMETRY_DATA :: ID) , DISTANCE_SENSOR_DATA :: NAME => Ok (DISTANCE_SENSOR_DATA :: ID) , OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: NAME => Ok (OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: ID) , GOPRO_SET_REQUEST_DATA :: NAME => Ok (GOPRO_SET_REQUEST_DATA :: ID) , ESC_INFO_DATA :: NAME => Ok (ESC_INFO_DATA :: ID) , MANUAL_SETPOINT_DATA :: NAME => Ok (MANUAL_SETPOINT_DATA :: ID) , LOG_DATA_DATA :: NAME => Ok (LOG_DATA_DATA :: ID) , CAMERA_FEEDBACK_DATA :: NAME => Ok (CAMERA_FEEDBACK_DATA :: ID) , FENCE_POINT_DATA :: NAME => Ok (FENCE_POINT_DATA :: ID) , SUPPORTED_TUNES_DATA :: NAME => Ok (SUPPORTED_TUNES_DATA :: ID) , LOGGING_ACK_DATA :: NAME => Ok (LOGGING_ACK_DATA :: ID) , VISION_POSITION_ESTIMATE_DATA :: NAME => Ok (VISION_POSITION_ESTIMATE_DATA :: ID) , AHRS_DATA :: NAME => Ok (AHRS_DATA :: ID) , MESSAGE_INTERVAL_DATA :: NAME => Ok (MESSAGE_INTERVAL_DATA :: ID) , RC_CHANNELS_OVERRIDE_DATA :: NAME => Ok (RC_CHANNELS_OVERRIDE_DATA :: ID) , LOG_REQUEST_LIST_DATA :: NAME => Ok (LOG_REQUEST_LIST_DATA :: ID) , RESOURCE_REQUEST_DATA :: NAME => Ok (RESOURCE_REQUEST_DATA :: ID) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID) , ONBOARD_COMPUTER_STATUS_DATA :: NAME => Ok (ONBOARD_COMPUTER_STATUS_DATA :: ID) , LOCAL_POSITION_NED_DATA :: NAME => Ok (LOCAL_POSITION_NED_DATA :: ID) , DIGICAM_CONFIGURE_DATA :: NAME => Ok (DIGICAM_CONFIGURE_DATA :: ID) , ESC_TELEMETRY_9_TO_12_DATA :: NAME => Ok (ESC_TELEMETRY_9_TO_12_DATA :: ID) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: NAME => Ok (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID) , POSITION_TARGET_LOCAL_NED_DATA :: NAME => Ok (POSITION_TARGET_LOCAL_NED_DATA :: ID) , SAFETY_ALLOWED_AREA_DATA :: NAME => Ok (SAFETY_ALLOWED_AREA_DATA :: ID) , COMMAND_INT_DATA :: NAME => Ok (COMMAND_INT_DATA :: ID) , GOPRO_GET_REQUEST_DATA :: NAME => Ok (GOPRO_GET_REQUEST_DATA :: ID) , CAN_FILTER_MODIFY_DATA :: NAME => Ok (CAN_FILTER_MODIFY_DATA :: ID) , STATUSTEXT_DATA :: NAME => Ok (STATUSTEXT_DATA :: ID) , TIME_ESTIMATE_TO_TARGET_DATA :: NAME => Ok (TIME_ESTIMATE_TO_TARGET_DATA :: ID) , MISSION_ITEM_INT_DATA :: NAME => Ok (MISSION_ITEM_INT_DATA :: ID) , CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: NAME => Ok (CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: ID) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: NAME => Ok (UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID) , MISSION_REQUEST_INT_DATA :: NAME => Ok (MISSION_REQUEST_INT_DATA :: ID) , STORAGE_INFORMATION_DATA :: NAME => Ok (STORAGE_INFORMATION_DATA :: ID) , UTM_GLOBAL_POSITION_DATA :: NAME => Ok (UTM_GLOBAL_POSITION_DATA :: ID) , MEMINFO_DATA :: NAME => Ok (MEMINFO_DATA :: ID) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: NAME => Ok (GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID) , GPS2_RAW_DATA :: NAME => Ok (GPS2_RAW_DATA :: ID) , RALLY_POINT_DATA :: NAME => Ok (RALLY_POINT_DATA :: ID) , AP_ADC_DATA :: NAME => Ok (AP_ADC_DATA :: ID) , ACTUATOR_CONTROL_TARGET_DATA :: NAME => Ok (ACTUATOR_CONTROL_TARGET_DATA :: ID) , LOGGING_DATA_ACKED_DATA :: NAME => Ok (LOGGING_DATA_ACKED_DATA :: ID) , RC_CHANNELS_DATA :: NAME => Ok (RC_CHANNELS_DATA :: ID) , NAMED_VALUE_INT_DATA :: NAME => Ok (NAMED_VALUE_INT_DATA :: ID) , LINK_NODE_STATUS_DATA :: NAME => Ok (LINK_NODE_STATUS_DATA :: ID) , NAMED_VALUE_FLOAT_DATA :: NAME => Ok (NAMED_VALUE_FLOAT_DATA :: ID) , SERVO_OUTPUT_RAW_DATA :: NAME => Ok (SERVO_OUTPUT_RAW_DATA :: ID) , CELLULAR_STATUS_DATA :: NAME => Ok (CELLULAR_STATUS_DATA :: ID) , OPEN_DRONE_ID_LOCATION_DATA :: NAME => Ok (OPEN_DRONE_ID_LOCATION_DATA :: ID) , DEBUG_FLOAT_ARRAY_DATA :: NAME => Ok (DEBUG_FLOAT_ARRAY_DATA :: ID) , POWER_STATUS_DATA :: NAME => Ok (POWER_STATUS_DATA :: ID) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: NAME => Ok (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID) , BUTTON_CHANGE_DATA :: NAME => Ok (BUTTON_CHANGE_DATA :: ID) , CURRENT_EVENT_SEQUENCE_DATA :: NAME => Ok (CURRENT_EVENT_SEQUENCE_DATA :: ID) , PARAM_EXT_REQUEST_READ_DATA :: NAME => Ok (PARAM_EXT_REQUEST_READ_DATA :: ID) , MOUNT_STATUS_DATA :: NAME => Ok (MOUNT_STATUS_DATA :: ID) , MISSION_CURRENT_DATA :: NAME => Ok (MISSION_CURRENT_DATA :: ID) , DEBUG_VECT_DATA :: NAME => Ok (DEBUG_VECT_DATA :: ID) , CAMERA_FOV_STATUS_DATA :: NAME => Ok (CAMERA_FOV_STATUS_DATA :: ID) , SCALED_PRESSURE3_DATA :: NAME => Ok (SCALED_PRESSURE3_DATA :: ID) , MISSION_ITEM_REACHED_DATA :: NAME => Ok (MISSION_ITEM_REACHED_DATA :: ID) , UAVIONIX_ADSB_OUT_CFG_DATA :: NAME => Ok (UAVIONIX_ADSB_OUT_CFG_DATA :: ID) , PARAM_VALUE_DATA :: NAME => Ok (PARAM_VALUE_DATA :: ID) , VICON_POSITION_ESTIMATE_DATA :: NAME => Ok (VICON_POSITION_ESTIMATE_DATA :: ID) , TIMESYNC_DATA :: NAME => Ok (TIMESYNC_DATA :: ID) , MANUAL_CONTROL_DATA :: NAME => Ok (MANUAL_CONTROL_DATA :: ID) , MEMORY_VECT_DATA :: NAME => Ok (MEMORY_VECT_DATA :: ID) , OBSTACLE_DISTANCE_3D_DATA :: NAME => Ok (OBSTACLE_DISTANCE_3D_DATA :: ID) , COMPONENT_METADATA_DATA :: NAME => Ok (COMPONENT_METADATA_DATA :: ID) , CAMERA_SETTINGS_DATA :: NAME => Ok (CAMERA_SETTINGS_DATA :: ID) , MAG_CAL_REPORT_DATA :: NAME => Ok (MAG_CAL_REPORT_DATA :: ID) , OPEN_DRONE_ID_SYSTEM_DATA :: NAME => Ok (OPEN_DRONE_ID_SYSTEM_DATA :: ID) , ATTITUDE_TARGET_DATA :: NAME => Ok (ATTITUDE_TARGET_DATA :: ID) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: NAME => Ok (SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID) , WINCH_STATUS_DATA :: NAME => Ok (WINCH_STATUS_DATA :: ID) , GIMBAL_DEVICE_INFORMATION_DATA :: NAME => Ok (GIMBAL_DEVICE_INFORMATION_DATA :: ID) , ICAROUS_HEARTBEAT_DATA :: NAME => Ok (ICAROUS_HEARTBEAT_DATA :: ID) , GOPRO_GET_RESPONSE_DATA :: NAME => Ok (GOPRO_GET_RESPONSE_DATA :: ID) , GPS_RAW_INT_DATA :: NAME => Ok (GPS_RAW_INT_DATA :: ID) , PING_DATA :: NAME => Ok (PING_DATA :: ID) , ATTITUDE_QUATERNION_DATA :: NAME => Ok (ATTITUDE_QUATERNION_DATA :: ID) , ESC_TELEMETRY_1_TO_4_DATA :: NAME => Ok (ESC_TELEMETRY_1_TO_4_DATA :: ID) , HERELINK_VIDEO_STREAM_INFORMATION_DATA :: NAME => Ok (HERELINK_VIDEO_STREAM_INFORMATION_DATA :: ID) , COMMAND_LONG_DATA :: NAME => Ok (COMMAND_LONG_DATA :: ID) , GIMBAL_MANAGER_INFORMATION_DATA :: NAME => Ok (GIMBAL_MANAGER_INFORMATION_DATA :: ID) , SCALED_IMU2_DATA :: NAME => Ok (SCALED_IMU2_DATA :: ID) , AHRS2_DATA :: NAME => Ok (AHRS2_DATA :: ID) , ATT_POS_MOCAP_DATA :: NAME => Ok (ATT_POS_MOCAP_DATA :: ID) , OPTICAL_FLOW_RAD_DATA :: NAME => Ok (OPTICAL_FLOW_RAD_DATA :: ID) , NAV_CONTROLLER_OUTPUT_DATA :: NAME => Ok (NAV_CONTROLLER_OUTPUT_DATA :: ID) , MISSION_ACK_DATA :: NAME => Ok (MISSION_ACK_DATA :: ID) , PARAM_SET_DATA :: NAME => Ok (PARAM_SET_DATA :: ID) , DEBUG_DATA :: NAME => Ok (DEBUG_DATA :: ID) , AUTH_KEY_DATA :: NAME => Ok (AUTH_KEY_DATA :: ID) , SAFETY_SET_ALLOWED_AREA_DATA :: NAME => Ok (SAFETY_SET_ALLOWED_AREA_DATA :: ID) , ICAROUS_KINEMATIC_BANDS_DATA :: NAME => Ok (ICAROUS_KINEMATIC_BANDS_DATA :: ID) , MISSION_COUNT_DATA :: NAME => Ok (MISSION_COUNT_DATA :: ID) , ADSB_VEHICLE_DATA :: NAME => Ok (ADSB_VEHICLE_DATA :: ID) , ENCAPSULATED_DATA_DATA :: NAME => Ok (ENCAPSULATED_DATA_DATA :: ID) , SCALED_PRESSURE_DATA :: NAME => Ok (SCALED_PRESSURE_DATA :: ID) , MOUNT_CONFIGURE_DATA :: NAME => Ok (MOUNT_CONFIGURE_DATA :: ID) , OSD_PARAM_CONFIG_REPLY_DATA :: NAME => Ok (OSD_PARAM_CONFIG_REPLY_DATA :: ID) , SETUP_SIGNING_DATA :: NAME => Ok (SETUP_SIGNING_DATA :: ID) , DATA32_DATA :: NAME => Ok (DATA32_DATA :: ID) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: NAME => Ok (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID) , TUNNEL_DATA :: NAME => Ok (TUNNEL_DATA :: ID) , DATA96_DATA :: NAME => Ok (DATA96_DATA :: ID) , ESTIMATOR_STATUS_DATA :: NAME => Ok (ESTIMATOR_STATUS_DATA :: ID) , ALTITUDE_DATA :: NAME => Ok (ALTITUDE_DATA :: ID) , GPS_RTCM_DATA_DATA :: NAME => Ok (GPS_RTCM_DATA_DATA :: ID) , SCALED_IMU3_DATA :: NAME => Ok (SCALED_IMU3_DATA :: ID) , AUTOPILOT_VERSION_DATA :: NAME => Ok (AUTOPILOT_VERSION_DATA :: ID) , SET_HOME_POSITION_DATA :: NAME => Ok (SET_HOME_POSITION_DATA :: ID) , GIMBAL_CONTROL_DATA :: NAME => Ok (GIMBAL_CONTROL_DATA :: ID) , GOPRO_HEARTBEAT_DATA :: NAME => Ok (GOPRO_HEARTBEAT_DATA :: ID) , HIL_STATE_QUATERNION_DATA :: NAME => Ok (HIL_STATE_QUATERNION_DATA :: ID) , TERRAIN_REPORT_DATA :: NAME => Ok (TERRAIN_REPORT_DATA :: ID) , WIND_DATA :: NAME => Ok (WIND_DATA :: ID) , RAW_PRESSURE_DATA :: NAME => Ok (RAW_PRESSURE_DATA :: ID) , MISSION_WRITE_PARTIAL_LIST_DATA :: NAME => Ok (MISSION_WRITE_PARTIAL_LIST_DATA :: ID) , CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: NAME => Ok (CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: ID) , GENERATOR_STATUS_DATA :: NAME => Ok (GENERATOR_STATUS_DATA :: ID) , RADIO_DATA :: NAME => Ok (RADIO_DATA :: ID) , DEVICE_OP_READ_DATA :: NAME => Ok (DEVICE_OP_READ_DATA :: ID) , AIS_VESSEL_DATA :: NAME => Ok (AIS_VESSEL_DATA :: ID) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: NAME => Ok (CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID) , PARAM_EXT_VALUE_DATA :: NAME => Ok (PARAM_EXT_VALUE_DATA :: ID) , UAVCAN_NODE_STATUS_DATA :: NAME => Ok (UAVCAN_NODE_STATUS_DATA :: ID) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: NAME => Ok (TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID) , WATER_DEPTH_DATA :: NAME => Ok (WATER_DEPTH_DATA :: ID) , SIM_STATE_DATA :: NAME => Ok (SIM_STATE_DATA :: ID) , TERRAIN_REQUEST_DATA :: NAME => Ok (TERRAIN_REQUEST_DATA :: ID) , PARAM_REQUEST_READ_DATA :: NAME => Ok (PARAM_REQUEST_READ_DATA :: ID) , GLOBAL_POSITION_INT_DATA :: NAME => Ok (GLOBAL_POSITION_INT_DATA :: ID) , PLAY_TUNE_V2_DATA :: NAME => Ok (PLAY_TUNE_V2_DATA :: ID) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: NAME => Ok (OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID) , SYSTEM_TIME_DATA :: NAME => Ok (SYSTEM_TIME_DATA :: ID) , GPS2_RTK_DATA :: NAME => Ok (GPS2_RTK_DATA :: ID) , HIGH_LATENCY2_DATA :: NAME => Ok (HIGH_LATENCY2_DATA :: ID) , MOUNT_ORIENTATION_DATA :: NAME => Ok (MOUNT_ORIENTATION_DATA :: ID) , RC_CHANNELS_RAW_DATA :: NAME => Ok (RC_CHANNELS_RAW_DATA :: ID) , GIMBAL_MANAGER_STATUS_DATA :: NAME => Ok (GIMBAL_MANAGER_STATUS_DATA :: ID) , SENSOR_OFFSETS_DATA :: NAME => Ok (SENSOR_OFFSETS_DATA :: ID) , FENCE_FETCH_POINT_DATA :: NAME => Ok (FENCE_FETCH_POINT_DATA :: ID) , LIMITS_STATUS_DATA :: NAME => Ok (LIMITS_STATUS_DATA :: ID) , POSITION_TARGET_GLOBAL_INT_DATA :: NAME => Ok (POSITION_TARGET_GLOBAL_INT_DATA :: ID) , DATA64_DATA :: NAME => Ok (DATA64_DATA :: ID) , HOME_POSITION_DATA :: NAME => Ok (HOME_POSITION_DATA :: ID) , LOG_REQUEST_DATA_DATA :: NAME => Ok (LOG_REQUEST_DATA_DATA :: ID) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: NAME => Ok (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID) , AUTOPILOT_VERSION_REQUEST_DATA :: NAME => Ok (AUTOPILOT_VERSION_REQUEST_DATA :: ID) , ATTITUDE_DATA :: NAME => Ok (ATTITUDE_DATA :: ID) , REMOTE_LOG_BLOCK_STATUS_DATA :: NAME => Ok (REMOTE_LOG_BLOCK_STATUS_DATA :: ID) , ADAP_TUNING_DATA :: NAME => Ok (ADAP_TUNING_DATA :: ID) , PARAM_EXT_SET_DATA :: NAME => Ok (PARAM_EXT_SET_DATA :: ID) , HIL_OPTICAL_FLOW_DATA :: NAME => Ok (HIL_OPTICAL_FLOW_DATA :: ID) , RC_CHANNELS_SCALED_DATA :: NAME => Ok (RC_CHANNELS_SCALED_DATA :: ID) , EXTENDED_SYS_STATE_DATA :: NAME => Ok (EXTENDED_SYS_STATE_DATA :: ID) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: NAME => Ok (CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID) , LOG_REQUEST_END_DATA :: NAME => Ok (LOG_REQUEST_END_DATA :: ID) , OPTICAL_FLOW_DATA :: NAME => Ok (OPTICAL_FLOW_DATA :: ID) , COMMAND_ACK_DATA :: NAME => Ok (COMMAND_ACK_DATA :: ID) , SET_ACTUATOR_CONTROL_TARGET_DATA :: NAME => Ok (SET_ACTUATOR_CONTROL_TARGET_DATA :: ID) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: NAME => Ok (OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID) , MISSION_REQUEST_PARTIAL_LIST_DATA :: NAME => Ok (MISSION_REQUEST_PARTIAL_LIST_DATA :: ID) , MISSION_REQUEST_LIST_DATA :: NAME => Ok (MISSION_REQUEST_LIST_DATA :: ID) , PARAM_REQUEST_LIST_DATA :: NAME => Ok (PARAM_REQUEST_LIST_DATA :: ID) , MISSION_SET_CURRENT_DATA :: NAME => Ok (MISSION_SET_CURRENT_DATA :: ID) , CONTROL_SYSTEM_STATE_DATA :: NAME => Ok (CONTROL_SYSTEM_STATE_DATA :: ID) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID) , SMART_BATTERY_INFO_DATA :: NAME => Ok (SMART_BATTERY_INFO_DATA :: ID) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID) , LOCAL_POSITION_NED_COV_DATA :: NAME => Ok (LOCAL_POSITION_NED_COV_DATA :: ID) , VIDEO_STREAM_STATUS_DATA :: NAME => Ok (VIDEO_STREAM_STATUS_DATA :: ID) , SET_MODE_DATA :: NAME => Ok (SET_MODE_DATA :: ID) , HERELINK_TELEM_DATA :: NAME => Ok (HERELINK_TELEM_DATA :: ID) , GPS_INJECT_DATA_DATA :: NAME => Ok (GPS_INJECT_DATA_DATA :: ID) , VFR_HUD_DATA :: NAME => Ok (VFR_HUD_DATA :: ID) , HIGH_LATENCY_DATA :: NAME => Ok (HIGH_LATENCY_DATA :: ID) , DIGICAM_CONTROL_DATA :: NAME => Ok (DIGICAM_CONTROL_DATA :: ID) , WHEEL_DISTANCE_DATA :: NAME => Ok (WHEEL_DISTANCE_DATA :: ID) , COMMAND_CANCEL_DATA :: NAME => Ok (COMMAND_CANCEL_DATA :: ID) , SIMSTATE_DATA :: NAME => Ok (SIMSTATE_DATA :: ID) , DATA16_DATA :: NAME => Ok (DATA16_DATA :: ID) , MISSION_CLEAR_ALL_DATA :: NAME => Ok (MISSION_CLEAR_ALL_DATA :: ID) , REMOTE_LOG_DATA_BLOCK_DATA :: NAME => Ok (REMOTE_LOG_DATA_BLOCK_DATA :: ID) , RPM_DATA :: NAME => Ok (RPM_DATA :: ID) , VISION_POSITION_DELTA_DATA :: NAME => Ok (VISION_POSITION_DELTA_DATA :: ID) , AHRS3_DATA :: NAME => Ok (AHRS3_DATA :: ID) , OSD_PARAM_SHOW_CONFIG_DATA :: NAME => Ok (OSD_PARAM_SHOW_CONFIG_DATA :: ID) , SET_GPS_GLOBAL_ORIGIN_DATA :: NAME => Ok (SET_GPS_GLOBAL_ORIGIN_DATA :: ID) , SET_ATTITUDE_TARGET_DATA :: NAME => Ok (SET_ATTITUDE_TARGET_DATA :: ID) , GOPRO_SET_RESPONSE_DATA :: NAME => Ok (GOPRO_SET_RESPONSE_DATA :: ID) , SCALED_PRESSURE2_DATA :: NAME => Ok (SCALED_PRESSURE2_DATA :: ID) , HIL_SENSOR_DATA :: NAME => Ok (HIL_SENSOR_DATA :: ID) , CANFD_FRAME_DATA :: NAME => Ok (CANFD_FRAME_DATA :: ID) , DATA_STREAM_DATA :: NAME => Ok (DATA_STREAM_DATA :: ID) , HIGHRES_IMU_DATA :: NAME => Ok (HIGHRES_IMU_DATA :: ID) , CHANGE_OPERATOR_CONTROL_DATA :: NAME => Ok (CHANGE_OPERATOR_CONTROL_DATA :: ID) , MISSION_REQUEST_DATA :: NAME => Ok (MISSION_REQUEST_DATA :: ID) , VIDEO_STREAM_INFORMATION_DATA :: NAME => Ok (VIDEO_STREAM_INFORMATION_DATA :: ID) , SCALED_IMU_DATA :: NAME => Ok (SCALED_IMU_DATA :: ID) , DEVICE_OP_WRITE_DATA :: NAME => Ok (DEVICE_OP_WRITE_DATA :: ID) , HYGROMETER_SENSOR_DATA :: NAME => Ok (HYGROMETER_SENSOR_DATA :: ID) , CUBEPILOT_RAW_RC_DATA :: NAME => Ok (CUBEPILOT_RAW_RC_DATA :: ID) , GPS_STATUS_DATA :: NAME => Ok (GPS_STATUS_DATA :: ID) , DEVICE_OP_WRITE_REPLY_DATA :: NAME => Ok (DEVICE_OP_WRITE_REPLY_DATA :: ID) , CAMERA_TRIGGER_DATA :: NAME => Ok (CAMERA_TRIGGER_DATA :: ID) , SERIAL_CONTROL_DATA :: NAME => Ok (SERIAL_CONTROL_DATA :: ID) , OBSTACLE_DISTANCE_DATA :: NAME => Ok (OBSTACLE_DISTANCE_DATA :: ID) , FENCE_STATUS_DATA :: NAME => Ok (FENCE_STATUS_DATA :: ID) , ESC_STATUS_DATA :: NAME => Ok (ESC_STATUS_DATA :: ID) , LANDING_TARGET_DATA :: NAME => Ok (LANDING_TARGET_DATA :: ID) , OPEN_DRONE_ID_SELF_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_SELF_ID_DATA :: ID) , CAMERA_CAPTURE_STATUS_DATA :: NAME => Ok (CAMERA_CAPTURE_STATUS_DATA :: ID) , BATTERY2_DATA :: NAME => Ok (BATTERY2_DATA :: ID) , TERRAIN_DATA_DATA :: NAME => Ok (TERRAIN_DATA_DATA :: ID) , GPS_INPUT_DATA :: NAME => Ok (GPS_INPUT_DATA :: ID) , AIRSPEED_AUTOCAL_DATA :: NAME => Ok (AIRSPEED_AUTOCAL_DATA :: ID) , CAMERA_IMAGE_CAPTURED_DATA :: NAME => Ok (CAMERA_IMAGE_CAPTURED_DATA :: ID) , HIL_ACTUATOR_CONTROLS_DATA :: NAME => Ok (HIL_ACTUATOR_CONTROLS_DATA :: ID) , OPEN_DRONE_ID_BASIC_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_BASIC_ID_DATA :: ID) , RESPONSE_EVENT_ERROR_DATA :: NAME => Ok (RESPONSE_EVENT_ERROR_DATA :: ID) , LOG_ENTRY_DATA :: NAME => Ok (LOG_ENTRY_DATA :: ID) , PARAM_EXT_REQUEST_LIST_DATA :: NAME => Ok (PARAM_EXT_REQUEST_LIST_DATA :: ID) , LOG_ERASE_DATA :: NAME => Ok (LOG_ERASE_DATA :: ID) , ORBIT_EXECUTION_STATUS_DATA :: NAME => Ok (ORBIT_EXECUTION_STATUS_DATA :: ID) , COMPASSMOT_STATUS_DATA :: NAME => Ok (COMPASSMOT_STATUS_DATA :: ID) , HIL_GPS_DATA :: NAME => Ok (HIL_GPS_DATA :: ID) , LOGGING_DATA_DATA :: NAME => Ok (LOGGING_DATA_DATA :: ID) , PLAY_TUNE_DATA :: NAME => Ok (PLAY_TUNE_DATA :: ID) , PROTOCOL_VERSION_DATA :: NAME => Ok (PROTOCOL_VERSION_DATA :: ID) , CELLULAR_CONFIG_DATA :: NAME => Ok (CELLULAR_CONFIG_DATA :: ID) , DEVICE_OP_READ_REPLY_DATA :: NAME => Ok (DEVICE_OP_READ_REPLY_DATA :: ID) , EVENT_DATA :: NAME => Ok (EVENT_DATA :: ID) , V2_EXTENSION_DATA :: NAME => Ok (V2_EXTENSION_DATA :: ID) , RALLY_FETCH_POINT_DATA :: NAME => Ok (RALLY_FETCH_POINT_DATA :: ID) , CAMERA_STATUS_DATA :: NAME => Ok (CAMERA_STATUS_DATA :: ID) , RANGEFINDER_DATA :: NAME => Ok (RANGEFINDER_DATA :: ID) , ESC_TELEMETRY_5_TO_8_DATA :: NAME => Ok (ESC_TELEMETRY_5_TO_8_DATA :: ID) , _ => { Err ("Invalid message name.") } } } fn default_message_from_id (id : u32) -> Result < Self , & 'static str > { match id { GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_SET_ATTITUDE (GIMBAL_DEVICE_SET_ATTITUDE_DATA :: default ())) , COMPONENT_INFORMATION_DATA :: ID => Ok (Self :: COMPONENT_INFORMATION (COMPONENT_INFORMATION_DATA :: default ())) , OSD_PARAM_CONFIG_DATA :: ID => Ok (Self :: OSD_PARAM_CONFIG (OSD_PARAM_CONFIG_DATA :: default ())) , MISSION_ITEM_DATA :: ID => Ok (Self :: MISSION_ITEM (MISSION_ITEM_DATA :: default ())) , RADIO_STATUS_DATA :: ID => Ok (Self :: RADIO_STATUS (RADIO_STATUS_DATA :: default ())) , FLIGHT_INFORMATION_DATA :: ID => Ok (Self :: FLIGHT_INFORMATION (FLIGHT_INFORMATION_DATA :: default ())) , HIL_RC_INPUTS_RAW_DATA :: ID => Ok (Self :: HIL_RC_INPUTS_RAW (HIL_RC_INPUTS_RAW_DATA :: default ())) , VIBRATION_DATA :: ID => Ok (Self :: VIBRATION (VIBRATION_DATA :: default ())) , BATTERY_STATUS_DATA :: ID => Ok (Self :: BATTERY_STATUS (BATTERY_STATUS_DATA :: default ())) , WIND_COV_DATA :: ID => Ok (Self :: WIND_COV (WIND_COV_DATA :: default ())) , CAMERA_INFORMATION_DATA :: ID => Ok (Self :: CAMERA_INFORMATION (CAMERA_INFORMATION_DATA :: default ())) , RAW_IMU_DATA :: ID => Ok (Self :: RAW_IMU (RAW_IMU_DATA :: default ())) , GPS_RTK_DATA :: ID => Ok (Self :: GPS_RTK (GPS_RTK_DATA :: default ())) , RAW_RPM_DATA :: ID => Ok (Self :: RAW_RPM (RAW_RPM_DATA :: default ())) , TERRAIN_CHECK_DATA :: ID => Ok (Self :: TERRAIN_CHECK (TERRAIN_CHECK_DATA :: default ())) , REQUEST_EVENT_DATA :: ID => Ok (Self :: REQUEST_EVENT (REQUEST_EVENT_DATA :: default ())) , REQUEST_DATA_STREAM_DATA :: ID => Ok (Self :: REQUEST_DATA_STREAM (REQUEST_DATA_STREAM_DATA :: default ())) , HWSTATUS_DATA :: ID => Ok (Self :: HWSTATUS (HWSTATUS_DATA :: default ())) , FOLLOW_TARGET_DATA :: ID => Ok (Self :: FOLLOW_TARGET (FOLLOW_TARGET_DATA :: default ())) , GLOBAL_POSITION_INT_COV_DATA :: ID => Ok (Self :: GLOBAL_POSITION_INT_COV (GLOBAL_POSITION_INT_COV_DATA :: default ())) , UAVCAN_NODE_INFO_DATA :: ID => Ok (Self :: UAVCAN_NODE_INFO (UAVCAN_NODE_INFO_DATA :: default ())) , AOA_SSA_DATA :: ID => Ok (Self :: AOA_SSA (AOA_SSA_DATA :: default ())) , ISBD_LINK_STATUS_DATA :: ID => Ok (Self :: ISBD_LINK_STATUS (ISBD_LINK_STATUS_DATA :: default ())) , LED_CONTROL_DATA :: ID => Ok (Self :: LED_CONTROL (LED_CONTROL_DATA :: default ())) , WIFI_CONFIG_AP_DATA :: ID => Ok (Self :: WIFI_CONFIG_AP (WIFI_CONFIG_AP_DATA :: default ())) , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID => Ok (Self :: UAVIONIX_ADSB_OUT_DYNAMIC (UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: default ())) , EKF_STATUS_REPORT_DATA :: ID => Ok (Self :: EKF_STATUS_REPORT (EKF_STATUS_REPORT_DATA :: default ())) , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_ARM_STATUS (OPEN_DRONE_ID_ARM_STATUS_DATA :: default ())) , GIMBAL_REPORT_DATA :: ID => Ok (Self :: GIMBAL_REPORT (GIMBAL_REPORT_DATA :: default ())) , SYS_STATUS_DATA :: ID => Ok (Self :: SYS_STATUS (SYS_STATUS_DATA :: default ())) , MAG_CAL_PROGRESS_DATA :: ID => Ok (Self :: MAG_CAL_PROGRESS (MAG_CAL_PROGRESS_DATA :: default ())) , FILE_TRANSFER_PROTOCOL_DATA :: ID => Ok (Self :: FILE_TRANSFER_PROTOCOL (FILE_TRANSFER_PROTOCOL_DATA :: default ())) , PID_TUNING_DATA :: ID => Ok (Self :: PID_TUNING (PID_TUNING_DATA :: default ())) , HIL_CONTROLS_DATA :: ID => Ok (Self :: HIL_CONTROLS (HIL_CONTROLS_DATA :: default ())) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: default ())) , CAN_FRAME_DATA :: ID => Ok (Self :: CAN_FRAME (CAN_FRAME_DATA :: default ())) , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => Ok (Self :: CAMERA_TRACKING_GEO_STATUS (CAMERA_TRACKING_GEO_STATUS_DATA :: default ())) , ATTITUDE_QUATERNION_COV_DATA :: ID => Ok (Self :: ATTITUDE_QUATERNION_COV (ATTITUDE_QUATERNION_COV_DATA :: default ())) , SET_MAG_OFFSETS_DATA :: ID => Ok (Self :: SET_MAG_OFFSETS (SET_MAG_OFFSETS_DATA :: default ())) , VISION_SPEED_ESTIMATE_DATA :: ID => Ok (Self :: VISION_SPEED_ESTIMATE (VISION_SPEED_ESTIMATE_DATA :: default ())) , MOUNT_CONTROL_DATA :: ID => Ok (Self :: MOUNT_CONTROL (MOUNT_CONTROL_DATA :: default ())) , DEEPSTALL_DATA :: ID => Ok (Self :: DEEPSTALL (DEEPSTALL_DATA :: default ())) , PARAM_EXT_ACK_DATA :: ID => Ok (Self :: PARAM_EXT_ACK (PARAM_EXT_ACK_DATA :: default ())) , COLLISION_DATA :: ID => Ok (Self :: COLLISION (COLLISION_DATA :: default ())) , GIMBAL_TORQUE_CMD_REPORT_DATA :: ID => Ok (Self :: GIMBAL_TORQUE_CMD_REPORT (GIMBAL_TORQUE_CMD_REPORT_DATA :: default ())) , GPS_GLOBAL_ORIGIN_DATA :: ID => Ok (Self :: GPS_GLOBAL_ORIGIN (GPS_GLOBAL_ORIGIN_DATA :: default ())) , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => Ok (Self :: SET_POSITION_TARGET_LOCAL_NED (SET_POSITION_TARGET_LOCAL_NED_DATA :: default ())) , EFI_STATUS_DATA :: ID => Ok (Self :: EFI_STATUS (EFI_STATUS_DATA :: default ())) , HIL_STATE_DATA :: ID => Ok (Self :: HIL_STATE (HIL_STATE_DATA :: default ())) , ACTUATOR_OUTPUT_STATUS_DATA :: ID => Ok (Self :: ACTUATOR_OUTPUT_STATUS (ACTUATOR_OUTPUT_STATUS_DATA :: default ())) , MCU_STATUS_DATA :: ID => Ok (Self :: MCU_STATUS (MCU_STATUS_DATA :: default ())) , PARAM_MAP_RC_DATA :: ID => Ok (Self :: PARAM_MAP_RC (PARAM_MAP_RC_DATA :: default ())) , HEARTBEAT_DATA :: ID => Ok (Self :: HEARTBEAT (HEARTBEAT_DATA :: default ())) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_OPERATOR_ID (OPEN_DRONE_ID_OPERATOR_ID_DATA :: default ())) , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => Ok (Self :: DATA_TRANSMISSION_HANDSHAKE (DATA_TRANSMISSION_HANDSHAKE_DATA :: default ())) , ODOMETRY_DATA :: ID => Ok (Self :: ODOMETRY (ODOMETRY_DATA :: default ())) , DISTANCE_SENSOR_DATA :: ID => Ok (Self :: DISTANCE_SENSOR (DISTANCE_SENSOR_DATA :: default ())) , OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: ID => Ok (Self :: OSD_PARAM_SHOW_CONFIG_REPLY (OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: default ())) , GOPRO_SET_REQUEST_DATA :: ID => Ok (Self :: GOPRO_SET_REQUEST (GOPRO_SET_REQUEST_DATA :: default ())) , ESC_INFO_DATA :: ID => Ok (Self :: ESC_INFO (ESC_INFO_DATA :: default ())) , MANUAL_SETPOINT_DATA :: ID => Ok (Self :: MANUAL_SETPOINT (MANUAL_SETPOINT_DATA :: default ())) , LOG_DATA_DATA :: ID => Ok (Self :: LOG_DATA (LOG_DATA_DATA :: default ())) , CAMERA_FEEDBACK_DATA :: ID => Ok (Self :: CAMERA_FEEDBACK (CAMERA_FEEDBACK_DATA :: default ())) , FENCE_POINT_DATA :: ID => Ok (Self :: FENCE_POINT (FENCE_POINT_DATA :: default ())) , SUPPORTED_TUNES_DATA :: ID => Ok (Self :: SUPPORTED_TUNES (SUPPORTED_TUNES_DATA :: default ())) , LOGGING_ACK_DATA :: ID => Ok (Self :: LOGGING_ACK (LOGGING_ACK_DATA :: default ())) , VISION_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: VISION_POSITION_ESTIMATE (VISION_POSITION_ESTIMATE_DATA :: default ())) , AHRS_DATA :: ID => Ok (Self :: AHRS (AHRS_DATA :: default ())) , MESSAGE_INTERVAL_DATA :: ID => Ok (Self :: MESSAGE_INTERVAL (MESSAGE_INTERVAL_DATA :: default ())) , RC_CHANNELS_OVERRIDE_DATA :: ID => Ok (Self :: RC_CHANNELS_OVERRIDE (RC_CHANNELS_OVERRIDE_DATA :: default ())) , LOG_REQUEST_LIST_DATA :: ID => Ok (Self :: LOG_REQUEST_LIST (LOG_REQUEST_LIST_DATA :: default ())) , RESOURCE_REQUEST_DATA :: ID => Ok (Self :: RESOURCE_REQUEST (RESOURCE_REQUEST_DATA :: default ())) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_ATTITUDE (GIMBAL_MANAGER_SET_ATTITUDE_DATA :: default ())) , ONBOARD_COMPUTER_STATUS_DATA :: ID => Ok (Self :: ONBOARD_COMPUTER_STATUS (ONBOARD_COMPUTER_STATUS_DATA :: default ())) , LOCAL_POSITION_NED_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED (LOCAL_POSITION_NED_DATA :: default ())) , DIGICAM_CONFIGURE_DATA :: ID => Ok (Self :: DIGICAM_CONFIGURE (DIGICAM_CONFIGURE_DATA :: default ())) , ESC_TELEMETRY_9_TO_12_DATA :: ID => Ok (Self :: ESC_TELEMETRY_9_TO_12 (ESC_TELEMETRY_9_TO_12_DATA :: default ())) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => Ok (Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: default ())) , POSITION_TARGET_LOCAL_NED_DATA :: ID => Ok (Self :: POSITION_TARGET_LOCAL_NED (POSITION_TARGET_LOCAL_NED_DATA :: default ())) , SAFETY_ALLOWED_AREA_DATA :: ID => Ok (Self :: SAFETY_ALLOWED_AREA (SAFETY_ALLOWED_AREA_DATA :: default ())) , COMMAND_INT_DATA :: ID => Ok (Self :: COMMAND_INT (COMMAND_INT_DATA :: default ())) , GOPRO_GET_REQUEST_DATA :: ID => Ok (Self :: GOPRO_GET_REQUEST (GOPRO_GET_REQUEST_DATA :: default ())) , CAN_FILTER_MODIFY_DATA :: ID => Ok (Self :: CAN_FILTER_MODIFY (CAN_FILTER_MODIFY_DATA :: default ())) , STATUSTEXT_DATA :: ID => Ok (Self :: STATUSTEXT (STATUSTEXT_DATA :: default ())) , TIME_ESTIMATE_TO_TARGET_DATA :: ID => Ok (Self :: TIME_ESTIMATE_TO_TARGET (TIME_ESTIMATE_TO_TARGET_DATA :: default ())) , MISSION_ITEM_INT_DATA :: ID => Ok (Self :: MISSION_ITEM_INT (MISSION_ITEM_INT_DATA :: default ())) , CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: ID => Ok (Self :: CUBEPILOT_FIRMWARE_UPDATE_RESP (CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: default ())) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID => Ok (Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: default ())) , MISSION_REQUEST_INT_DATA :: ID => Ok (Self :: MISSION_REQUEST_INT (MISSION_REQUEST_INT_DATA :: default ())) , STORAGE_INFORMATION_DATA :: ID => Ok (Self :: STORAGE_INFORMATION (STORAGE_INFORMATION_DATA :: default ())) , UTM_GLOBAL_POSITION_DATA :: ID => Ok (Self :: UTM_GLOBAL_POSITION (UTM_GLOBAL_POSITION_DATA :: default ())) , MEMINFO_DATA :: ID => Ok (Self :: MEMINFO (MEMINFO_DATA :: default ())) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: GLOBAL_VISION_POSITION_ESTIMATE (GLOBAL_VISION_POSITION_ESTIMATE_DATA :: default ())) , GPS2_RAW_DATA :: ID => Ok (Self :: GPS2_RAW (GPS2_RAW_DATA :: default ())) , RALLY_POINT_DATA :: ID => Ok (Self :: RALLY_POINT (RALLY_POINT_DATA :: default ())) , AP_ADC_DATA :: ID => Ok (Self :: AP_ADC (AP_ADC_DATA :: default ())) , ACTUATOR_CONTROL_TARGET_DATA :: ID => Ok (Self :: ACTUATOR_CONTROL_TARGET (ACTUATOR_CONTROL_TARGET_DATA :: default ())) , LOGGING_DATA_ACKED_DATA :: ID => Ok (Self :: LOGGING_DATA_ACKED (LOGGING_DATA_ACKED_DATA :: default ())) , RC_CHANNELS_DATA :: ID => Ok (Self :: RC_CHANNELS (RC_CHANNELS_DATA :: default ())) , NAMED_VALUE_INT_DATA :: ID => Ok (Self :: NAMED_VALUE_INT (NAMED_VALUE_INT_DATA :: default ())) , LINK_NODE_STATUS_DATA :: ID => Ok (Self :: LINK_NODE_STATUS (LINK_NODE_STATUS_DATA :: default ())) , NAMED_VALUE_FLOAT_DATA :: ID => Ok (Self :: NAMED_VALUE_FLOAT (NAMED_VALUE_FLOAT_DATA :: default ())) , SERVO_OUTPUT_RAW_DATA :: ID => Ok (Self :: SERVO_OUTPUT_RAW (SERVO_OUTPUT_RAW_DATA :: default ())) , CELLULAR_STATUS_DATA :: ID => Ok (Self :: CELLULAR_STATUS (CELLULAR_STATUS_DATA :: default ())) , OPEN_DRONE_ID_LOCATION_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_LOCATION (OPEN_DRONE_ID_LOCATION_DATA :: default ())) , DEBUG_FLOAT_ARRAY_DATA :: ID => Ok (Self :: DEBUG_FLOAT_ARRAY (DEBUG_FLOAT_ARRAY_DATA :: default ())) , POWER_STATUS_DATA :: ID => Ok (Self :: POWER_STATUS (POWER_STATUS_DATA :: default ())) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: default ())) , BUTTON_CHANGE_DATA :: ID => Ok (Self :: BUTTON_CHANGE (BUTTON_CHANGE_DATA :: default ())) , CURRENT_EVENT_SEQUENCE_DATA :: ID => Ok (Self :: CURRENT_EVENT_SEQUENCE (CURRENT_EVENT_SEQUENCE_DATA :: default ())) , PARAM_EXT_REQUEST_READ_DATA :: ID => Ok (Self :: PARAM_EXT_REQUEST_READ (PARAM_EXT_REQUEST_READ_DATA :: default ())) , MOUNT_STATUS_DATA :: ID => Ok (Self :: MOUNT_STATUS (MOUNT_STATUS_DATA :: default ())) , MISSION_CURRENT_DATA :: ID => Ok (Self :: MISSION_CURRENT (MISSION_CURRENT_DATA :: default ())) , DEBUG_VECT_DATA :: ID => Ok (Self :: DEBUG_VECT (DEBUG_VECT_DATA :: default ())) , CAMERA_FOV_STATUS_DATA :: ID => Ok (Self :: CAMERA_FOV_STATUS (CAMERA_FOV_STATUS_DATA :: default ())) , SCALED_PRESSURE3_DATA :: ID => Ok (Self :: SCALED_PRESSURE3 (SCALED_PRESSURE3_DATA :: default ())) , MISSION_ITEM_REACHED_DATA :: ID => Ok (Self :: MISSION_ITEM_REACHED (MISSION_ITEM_REACHED_DATA :: default ())) , UAVIONIX_ADSB_OUT_CFG_DATA :: ID => Ok (Self :: UAVIONIX_ADSB_OUT_CFG (UAVIONIX_ADSB_OUT_CFG_DATA :: default ())) , PARAM_VALUE_DATA :: ID => Ok (Self :: PARAM_VALUE (PARAM_VALUE_DATA :: default ())) , VICON_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: VICON_POSITION_ESTIMATE (VICON_POSITION_ESTIMATE_DATA :: default ())) , TIMESYNC_DATA :: ID => Ok (Self :: TIMESYNC (TIMESYNC_DATA :: default ())) , MANUAL_CONTROL_DATA :: ID => Ok (Self :: MANUAL_CONTROL (MANUAL_CONTROL_DATA :: default ())) , MEMORY_VECT_DATA :: ID => Ok (Self :: MEMORY_VECT (MEMORY_VECT_DATA :: default ())) , OBSTACLE_DISTANCE_3D_DATA :: ID => Ok (Self :: OBSTACLE_DISTANCE_3D (OBSTACLE_DISTANCE_3D_DATA :: default ())) , COMPONENT_METADATA_DATA :: ID => Ok (Self :: COMPONENT_METADATA (COMPONENT_METADATA_DATA :: default ())) , CAMERA_SETTINGS_DATA :: ID => Ok (Self :: CAMERA_SETTINGS (CAMERA_SETTINGS_DATA :: default ())) , MAG_CAL_REPORT_DATA :: ID => Ok (Self :: MAG_CAL_REPORT (MAG_CAL_REPORT_DATA :: default ())) , OPEN_DRONE_ID_SYSTEM_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SYSTEM (OPEN_DRONE_ID_SYSTEM_DATA :: default ())) , ATTITUDE_TARGET_DATA :: ID => Ok (Self :: ATTITUDE_TARGET (ATTITUDE_TARGET_DATA :: default ())) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => Ok (Self :: SET_POSITION_TARGET_GLOBAL_INT (SET_POSITION_TARGET_GLOBAL_INT_DATA :: default ())) , WINCH_STATUS_DATA :: ID => Ok (Self :: WINCH_STATUS (WINCH_STATUS_DATA :: default ())) , GIMBAL_DEVICE_INFORMATION_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_INFORMATION (GIMBAL_DEVICE_INFORMATION_DATA :: default ())) , ICAROUS_HEARTBEAT_DATA :: ID => Ok (Self :: ICAROUS_HEARTBEAT (ICAROUS_HEARTBEAT_DATA :: default ())) , GOPRO_GET_RESPONSE_DATA :: ID => Ok (Self :: GOPRO_GET_RESPONSE (GOPRO_GET_RESPONSE_DATA :: default ())) , GPS_RAW_INT_DATA :: ID => Ok (Self :: GPS_RAW_INT (GPS_RAW_INT_DATA :: default ())) , PING_DATA :: ID => Ok (Self :: PING (PING_DATA :: default ())) , ATTITUDE_QUATERNION_DATA :: ID => Ok (Self :: ATTITUDE_QUATERNION (ATTITUDE_QUATERNION_DATA :: default ())) , ESC_TELEMETRY_1_TO_4_DATA :: ID => Ok (Self :: ESC_TELEMETRY_1_TO_4 (ESC_TELEMETRY_1_TO_4_DATA :: default ())) , HERELINK_VIDEO_STREAM_INFORMATION_DATA :: ID => Ok (Self :: HERELINK_VIDEO_STREAM_INFORMATION (HERELINK_VIDEO_STREAM_INFORMATION_DATA :: default ())) , COMMAND_LONG_DATA :: ID => Ok (Self :: COMMAND_LONG (COMMAND_LONG_DATA :: default ())) , GIMBAL_MANAGER_INFORMATION_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_INFORMATION (GIMBAL_MANAGER_INFORMATION_DATA :: default ())) , SCALED_IMU2_DATA :: ID => Ok (Self :: SCALED_IMU2 (SCALED_IMU2_DATA :: default ())) , AHRS2_DATA :: ID => Ok (Self :: AHRS2 (AHRS2_DATA :: default ())) , ATT_POS_MOCAP_DATA :: ID => Ok (Self :: ATT_POS_MOCAP (ATT_POS_MOCAP_DATA :: default ())) , OPTICAL_FLOW_RAD_DATA :: ID => Ok (Self :: OPTICAL_FLOW_RAD (OPTICAL_FLOW_RAD_DATA :: default ())) , NAV_CONTROLLER_OUTPUT_DATA :: ID => Ok (Self :: NAV_CONTROLLER_OUTPUT (NAV_CONTROLLER_OUTPUT_DATA :: default ())) , MISSION_ACK_DATA :: ID => Ok (Self :: MISSION_ACK (MISSION_ACK_DATA :: default ())) , PARAM_SET_DATA :: ID => Ok (Self :: PARAM_SET (PARAM_SET_DATA :: default ())) , DEBUG_DATA :: ID => Ok (Self :: DEBUG (DEBUG_DATA :: default ())) , AUTH_KEY_DATA :: ID => Ok (Self :: AUTH_KEY (AUTH_KEY_DATA :: default ())) , SAFETY_SET_ALLOWED_AREA_DATA :: ID => Ok (Self :: SAFETY_SET_ALLOWED_AREA (SAFETY_SET_ALLOWED_AREA_DATA :: default ())) , ICAROUS_KINEMATIC_BANDS_DATA :: ID => Ok (Self :: ICAROUS_KINEMATIC_BANDS (ICAROUS_KINEMATIC_BANDS_DATA :: default ())) , MISSION_COUNT_DATA :: ID => Ok (Self :: MISSION_COUNT (MISSION_COUNT_DATA :: default ())) , ADSB_VEHICLE_DATA :: ID => Ok (Self :: ADSB_VEHICLE (ADSB_VEHICLE_DATA :: default ())) , ENCAPSULATED_DATA_DATA :: ID => Ok (Self :: ENCAPSULATED_DATA (ENCAPSULATED_DATA_DATA :: default ())) , SCALED_PRESSURE_DATA :: ID => Ok (Self :: SCALED_PRESSURE (SCALED_PRESSURE_DATA :: default ())) , MOUNT_CONFIGURE_DATA :: ID => Ok (Self :: MOUNT_CONFIGURE (MOUNT_CONFIGURE_DATA :: default ())) , OSD_PARAM_CONFIG_REPLY_DATA :: ID => Ok (Self :: OSD_PARAM_CONFIG_REPLY (OSD_PARAM_CONFIG_REPLY_DATA :: default ())) , SETUP_SIGNING_DATA :: ID => Ok (Self :: SETUP_SIGNING (SETUP_SIGNING_DATA :: default ())) , DATA32_DATA :: ID => Ok (Self :: DATA32 (DATA32_DATA :: default ())) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: default ())) , TUNNEL_DATA :: ID => Ok (Self :: TUNNEL (TUNNEL_DATA :: default ())) , DATA96_DATA :: ID => Ok (Self :: DATA96 (DATA96_DATA :: default ())) , ESTIMATOR_STATUS_DATA :: ID => Ok (Self :: ESTIMATOR_STATUS (ESTIMATOR_STATUS_DATA :: default ())) , ALTITUDE_DATA :: ID => Ok (Self :: ALTITUDE (ALTITUDE_DATA :: default ())) , GPS_RTCM_DATA_DATA :: ID => Ok (Self :: GPS_RTCM_DATA (GPS_RTCM_DATA_DATA :: default ())) , SCALED_IMU3_DATA :: ID => Ok (Self :: SCALED_IMU3 (SCALED_IMU3_DATA :: default ())) , AUTOPILOT_VERSION_DATA :: ID => Ok (Self :: AUTOPILOT_VERSION (AUTOPILOT_VERSION_DATA :: default ())) , SET_HOME_POSITION_DATA :: ID => Ok (Self :: SET_HOME_POSITION (SET_HOME_POSITION_DATA :: default ())) , GIMBAL_CONTROL_DATA :: ID => Ok (Self :: GIMBAL_CONTROL (GIMBAL_CONTROL_DATA :: default ())) , GOPRO_HEARTBEAT_DATA :: ID => Ok (Self :: GOPRO_HEARTBEAT (GOPRO_HEARTBEAT_DATA :: default ())) , HIL_STATE_QUATERNION_DATA :: ID => Ok (Self :: HIL_STATE_QUATERNION (HIL_STATE_QUATERNION_DATA :: default ())) , TERRAIN_REPORT_DATA :: ID => Ok (Self :: TERRAIN_REPORT (TERRAIN_REPORT_DATA :: default ())) , WIND_DATA :: ID => Ok (Self :: WIND (WIND_DATA :: default ())) , RAW_PRESSURE_DATA :: ID => Ok (Self :: RAW_PRESSURE (RAW_PRESSURE_DATA :: default ())) , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => Ok (Self :: MISSION_WRITE_PARTIAL_LIST (MISSION_WRITE_PARTIAL_LIST_DATA :: default ())) , CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: ID => Ok (Self :: CUBEPILOT_FIRMWARE_UPDATE_START (CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: default ())) , GENERATOR_STATUS_DATA :: ID => Ok (Self :: GENERATOR_STATUS (GENERATOR_STATUS_DATA :: default ())) , RADIO_DATA :: ID => Ok (Self :: RADIO (RADIO_DATA :: default ())) , DEVICE_OP_READ_DATA :: ID => Ok (Self :: DEVICE_OP_READ (DEVICE_OP_READ_DATA :: default ())) , AIS_VESSEL_DATA :: ID => Ok (Self :: AIS_VESSEL (AIS_VESSEL_DATA :: default ())) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => Ok (Self :: CAMERA_TRACKING_IMAGE_STATUS (CAMERA_TRACKING_IMAGE_STATUS_DATA :: default ())) , PARAM_EXT_VALUE_DATA :: ID => Ok (Self :: PARAM_EXT_VALUE (PARAM_EXT_VALUE_DATA :: default ())) , UAVCAN_NODE_STATUS_DATA :: ID => Ok (Self :: UAVCAN_NODE_STATUS (UAVCAN_NODE_STATUS_DATA :: default ())) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => Ok (Self :: TRAJECTORY_REPRESENTATION_BEZIER (TRAJECTORY_REPRESENTATION_BEZIER_DATA :: default ())) , WATER_DEPTH_DATA :: ID => Ok (Self :: WATER_DEPTH (WATER_DEPTH_DATA :: default ())) , SIM_STATE_DATA :: ID => Ok (Self :: SIM_STATE (SIM_STATE_DATA :: default ())) , TERRAIN_REQUEST_DATA :: ID => Ok (Self :: TERRAIN_REQUEST (TERRAIN_REQUEST_DATA :: default ())) , PARAM_REQUEST_READ_DATA :: ID => Ok (Self :: PARAM_REQUEST_READ (PARAM_REQUEST_READ_DATA :: default ())) , GLOBAL_POSITION_INT_DATA :: ID => Ok (Self :: GLOBAL_POSITION_INT (GLOBAL_POSITION_INT_DATA :: default ())) , PLAY_TUNE_V2_DATA :: ID => Ok (Self :: PLAY_TUNE_V2 (PLAY_TUNE_V2_DATA :: default ())) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_MESSAGE_PACK (OPEN_DRONE_ID_MESSAGE_PACK_DATA :: default ())) , SYSTEM_TIME_DATA :: ID => Ok (Self :: SYSTEM_TIME (SYSTEM_TIME_DATA :: default ())) , GPS2_RTK_DATA :: ID => Ok (Self :: GPS2_RTK (GPS2_RTK_DATA :: default ())) , HIGH_LATENCY2_DATA :: ID => Ok (Self :: HIGH_LATENCY2 (HIGH_LATENCY2_DATA :: default ())) , MOUNT_ORIENTATION_DATA :: ID => Ok (Self :: MOUNT_ORIENTATION (MOUNT_ORIENTATION_DATA :: default ())) , RC_CHANNELS_RAW_DATA :: ID => Ok (Self :: RC_CHANNELS_RAW (RC_CHANNELS_RAW_DATA :: default ())) , GIMBAL_MANAGER_STATUS_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_STATUS (GIMBAL_MANAGER_STATUS_DATA :: default ())) , SENSOR_OFFSETS_DATA :: ID => Ok (Self :: SENSOR_OFFSETS (SENSOR_OFFSETS_DATA :: default ())) , FENCE_FETCH_POINT_DATA :: ID => Ok (Self :: FENCE_FETCH_POINT (FENCE_FETCH_POINT_DATA :: default ())) , LIMITS_STATUS_DATA :: ID => Ok (Self :: LIMITS_STATUS (LIMITS_STATUS_DATA :: default ())) , POSITION_TARGET_GLOBAL_INT_DATA :: ID => Ok (Self :: POSITION_TARGET_GLOBAL_INT (POSITION_TARGET_GLOBAL_INT_DATA :: default ())) , DATA64_DATA :: ID => Ok (Self :: DATA64 (DATA64_DATA :: default ())) , HOME_POSITION_DATA :: ID => Ok (Self :: HOME_POSITION (HOME_POSITION_DATA :: default ())) , LOG_REQUEST_DATA_DATA :: ID => Ok (Self :: LOG_REQUEST_DATA (LOG_REQUEST_DATA_DATA :: default ())) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => Ok (Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: default ())) , AUTOPILOT_VERSION_REQUEST_DATA :: ID => Ok (Self :: AUTOPILOT_VERSION_REQUEST (AUTOPILOT_VERSION_REQUEST_DATA :: default ())) , ATTITUDE_DATA :: ID => Ok (Self :: ATTITUDE (ATTITUDE_DATA :: default ())) , REMOTE_LOG_BLOCK_STATUS_DATA :: ID => Ok (Self :: REMOTE_LOG_BLOCK_STATUS (REMOTE_LOG_BLOCK_STATUS_DATA :: default ())) , ADAP_TUNING_DATA :: ID => Ok (Self :: ADAP_TUNING (ADAP_TUNING_DATA :: default ())) , PARAM_EXT_SET_DATA :: ID => Ok (Self :: PARAM_EXT_SET (PARAM_EXT_SET_DATA :: default ())) , HIL_OPTICAL_FLOW_DATA :: ID => Ok (Self :: HIL_OPTICAL_FLOW (HIL_OPTICAL_FLOW_DATA :: default ())) , RC_CHANNELS_SCALED_DATA :: ID => Ok (Self :: RC_CHANNELS_SCALED (RC_CHANNELS_SCALED_DATA :: default ())) , EXTENDED_SYS_STATE_DATA :: ID => Ok (Self :: EXTENDED_SYS_STATE (EXTENDED_SYS_STATE_DATA :: default ())) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => Ok (Self :: CHANGE_OPERATOR_CONTROL_ACK (CHANGE_OPERATOR_CONTROL_ACK_DATA :: default ())) , LOG_REQUEST_END_DATA :: ID => Ok (Self :: LOG_REQUEST_END (LOG_REQUEST_END_DATA :: default ())) , OPTICAL_FLOW_DATA :: ID => Ok (Self :: OPTICAL_FLOW (OPTICAL_FLOW_DATA :: default ())) , COMMAND_ACK_DATA :: ID => Ok (Self :: COMMAND_ACK (COMMAND_ACK_DATA :: default ())) , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => Ok (Self :: SET_ACTUATOR_CONTROL_TARGET (SET_ACTUATOR_CONTROL_TARGET_DATA :: default ())) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_AUTHENTICATION (OPEN_DRONE_ID_AUTHENTICATION_DATA :: default ())) , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => Ok (Self :: MISSION_REQUEST_PARTIAL_LIST (MISSION_REQUEST_PARTIAL_LIST_DATA :: default ())) , MISSION_REQUEST_LIST_DATA :: ID => Ok (Self :: MISSION_REQUEST_LIST (MISSION_REQUEST_LIST_DATA :: default ())) , PARAM_REQUEST_LIST_DATA :: ID => Ok (Self :: PARAM_REQUEST_LIST (PARAM_REQUEST_LIST_DATA :: default ())) , MISSION_SET_CURRENT_DATA :: ID => Ok (Self :: MISSION_SET_CURRENT (MISSION_SET_CURRENT_DATA :: default ())) , CONTROL_SYSTEM_STATE_DATA :: ID => Ok (Self :: CONTROL_SYSTEM_STATE (CONTROL_SYSTEM_STATE_DATA :: default ())) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_PITCHYAW (GIMBAL_MANAGER_SET_PITCHYAW_DATA :: default ())) , SMART_BATTERY_INFO_DATA :: ID => Ok (Self :: SMART_BATTERY_INFO (SMART_BATTERY_INFO_DATA :: default ())) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: default ())) , LOCAL_POSITION_NED_COV_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED_COV (LOCAL_POSITION_NED_COV_DATA :: default ())) , VIDEO_STREAM_STATUS_DATA :: ID => Ok (Self :: VIDEO_STREAM_STATUS (VIDEO_STREAM_STATUS_DATA :: default ())) , SET_MODE_DATA :: ID => Ok (Self :: SET_MODE (SET_MODE_DATA :: default ())) , HERELINK_TELEM_DATA :: ID => Ok (Self :: HERELINK_TELEM (HERELINK_TELEM_DATA :: default ())) , GPS_INJECT_DATA_DATA :: ID => Ok (Self :: GPS_INJECT_DATA (GPS_INJECT_DATA_DATA :: default ())) , VFR_HUD_DATA :: ID => Ok (Self :: VFR_HUD (VFR_HUD_DATA :: default ())) , HIGH_LATENCY_DATA :: ID => Ok (Self :: HIGH_LATENCY (HIGH_LATENCY_DATA :: default ())) , DIGICAM_CONTROL_DATA :: ID => Ok (Self :: DIGICAM_CONTROL (DIGICAM_CONTROL_DATA :: default ())) , WHEEL_DISTANCE_DATA :: ID => Ok (Self :: WHEEL_DISTANCE (WHEEL_DISTANCE_DATA :: default ())) , COMMAND_CANCEL_DATA :: ID => Ok (Self :: COMMAND_CANCEL (COMMAND_CANCEL_DATA :: default ())) , SIMSTATE_DATA :: ID => Ok (Self :: SIMSTATE (SIMSTATE_DATA :: default ())) , DATA16_DATA :: ID => Ok (Self :: DATA16 (DATA16_DATA :: default ())) , MISSION_CLEAR_ALL_DATA :: ID => Ok (Self :: MISSION_CLEAR_ALL (MISSION_CLEAR_ALL_DATA :: default ())) , REMOTE_LOG_DATA_BLOCK_DATA :: ID => Ok (Self :: REMOTE_LOG_DATA_BLOCK (REMOTE_LOG_DATA_BLOCK_DATA :: default ())) , RPM_DATA :: ID => Ok (Self :: RPM (RPM_DATA :: default ())) , VISION_POSITION_DELTA_DATA :: ID => Ok (Self :: VISION_POSITION_DELTA (VISION_POSITION_DELTA_DATA :: default ())) , AHRS3_DATA :: ID => Ok (Self :: AHRS3 (AHRS3_DATA :: default ())) , OSD_PARAM_SHOW_CONFIG_DATA :: ID => Ok (Self :: OSD_PARAM_SHOW_CONFIG (OSD_PARAM_SHOW_CONFIG_DATA :: default ())) , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => Ok (Self :: SET_GPS_GLOBAL_ORIGIN (SET_GPS_GLOBAL_ORIGIN_DATA :: default ())) , SET_ATTITUDE_TARGET_DATA :: ID => Ok (Self :: SET_ATTITUDE_TARGET (SET_ATTITUDE_TARGET_DATA :: default ())) , GOPRO_SET_RESPONSE_DATA :: ID => Ok (Self :: GOPRO_SET_RESPONSE (GOPRO_SET_RESPONSE_DATA :: default ())) , SCALED_PRESSURE2_DATA :: ID => Ok (Self :: SCALED_PRESSURE2 (SCALED_PRESSURE2_DATA :: default ())) , HIL_SENSOR_DATA :: ID => Ok (Self :: HIL_SENSOR (HIL_SENSOR_DATA :: default ())) , CANFD_FRAME_DATA :: ID => Ok (Self :: CANFD_FRAME (CANFD_FRAME_DATA :: default ())) , DATA_STREAM_DATA :: ID => Ok (Self :: DATA_STREAM (DATA_STREAM_DATA :: default ())) , HIGHRES_IMU_DATA :: ID => Ok (Self :: HIGHRES_IMU (HIGHRES_IMU_DATA :: default ())) , CHANGE_OPERATOR_CONTROL_DATA :: ID => Ok (Self :: CHANGE_OPERATOR_CONTROL (CHANGE_OPERATOR_CONTROL_DATA :: default ())) , MISSION_REQUEST_DATA :: ID => Ok (Self :: MISSION_REQUEST (MISSION_REQUEST_DATA :: default ())) , VIDEO_STREAM_INFORMATION_DATA :: ID => Ok (Self :: VIDEO_STREAM_INFORMATION (VIDEO_STREAM_INFORMATION_DATA :: default ())) , SCALED_IMU_DATA :: ID => Ok (Self :: SCALED_IMU (SCALED_IMU_DATA :: default ())) , DEVICE_OP_WRITE_DATA :: ID => Ok (Self :: DEVICE_OP_WRITE (DEVICE_OP_WRITE_DATA :: default ())) , HYGROMETER_SENSOR_DATA :: ID => Ok (Self :: HYGROMETER_SENSOR (HYGROMETER_SENSOR_DATA :: default ())) , CUBEPILOT_RAW_RC_DATA :: ID => Ok (Self :: CUBEPILOT_RAW_RC (CUBEPILOT_RAW_RC_DATA :: default ())) , GPS_STATUS_DATA :: ID => Ok (Self :: GPS_STATUS (GPS_STATUS_DATA :: default ())) , DEVICE_OP_WRITE_REPLY_DATA :: ID => Ok (Self :: DEVICE_OP_WRITE_REPLY (DEVICE_OP_WRITE_REPLY_DATA :: default ())) , CAMERA_TRIGGER_DATA :: ID => Ok (Self :: CAMERA_TRIGGER (CAMERA_TRIGGER_DATA :: default ())) , SERIAL_CONTROL_DATA :: ID => Ok (Self :: SERIAL_CONTROL (SERIAL_CONTROL_DATA :: default ())) , OBSTACLE_DISTANCE_DATA :: ID => Ok (Self :: OBSTACLE_DISTANCE (OBSTACLE_DISTANCE_DATA :: default ())) , FENCE_STATUS_DATA :: ID => Ok (Self :: FENCE_STATUS (FENCE_STATUS_DATA :: default ())) , ESC_STATUS_DATA :: ID => Ok (Self :: ESC_STATUS (ESC_STATUS_DATA :: default ())) , LANDING_TARGET_DATA :: ID => Ok (Self :: LANDING_TARGET (LANDING_TARGET_DATA :: default ())) , OPEN_DRONE_ID_SELF_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SELF_ID (OPEN_DRONE_ID_SELF_ID_DATA :: default ())) , CAMERA_CAPTURE_STATUS_DATA :: ID => Ok (Self :: CAMERA_CAPTURE_STATUS (CAMERA_CAPTURE_STATUS_DATA :: default ())) , BATTERY2_DATA :: ID => Ok (Self :: BATTERY2 (BATTERY2_DATA :: default ())) , TERRAIN_DATA_DATA :: ID => Ok (Self :: TERRAIN_DATA (TERRAIN_DATA_DATA :: default ())) , GPS_INPUT_DATA :: ID => Ok (Self :: GPS_INPUT (GPS_INPUT_DATA :: default ())) , AIRSPEED_AUTOCAL_DATA :: ID => Ok (Self :: AIRSPEED_AUTOCAL (AIRSPEED_AUTOCAL_DATA :: default ())) , CAMERA_IMAGE_CAPTURED_DATA :: ID => Ok (Self :: CAMERA_IMAGE_CAPTURED (CAMERA_IMAGE_CAPTURED_DATA :: default ())) , HIL_ACTUATOR_CONTROLS_DATA :: ID => Ok (Self :: HIL_ACTUATOR_CONTROLS (HIL_ACTUATOR_CONTROLS_DATA :: default ())) , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_BASIC_ID (OPEN_DRONE_ID_BASIC_ID_DATA :: default ())) , RESPONSE_EVENT_ERROR_DATA :: ID => Ok (Self :: RESPONSE_EVENT_ERROR (RESPONSE_EVENT_ERROR_DATA :: default ())) , LOG_ENTRY_DATA :: ID => Ok (Self :: LOG_ENTRY (LOG_ENTRY_DATA :: default ())) , PARAM_EXT_REQUEST_LIST_DATA :: ID => Ok (Self :: PARAM_EXT_REQUEST_LIST (PARAM_EXT_REQUEST_LIST_DATA :: default ())) , LOG_ERASE_DATA :: ID => Ok (Self :: LOG_ERASE (LOG_ERASE_DATA :: default ())) , ORBIT_EXECUTION_STATUS_DATA :: ID => Ok (Self :: ORBIT_EXECUTION_STATUS (ORBIT_EXECUTION_STATUS_DATA :: default ())) , COMPASSMOT_STATUS_DATA :: ID => Ok (Self :: COMPASSMOT_STATUS (COMPASSMOT_STATUS_DATA :: default ())) , HIL_GPS_DATA :: ID => Ok (Self :: HIL_GPS (HIL_GPS_DATA :: default ())) , LOGGING_DATA_DATA :: ID => Ok (Self :: LOGGING_DATA (LOGGING_DATA_DATA :: default ())) , PLAY_TUNE_DATA :: ID => Ok (Self :: PLAY_TUNE (PLAY_TUNE_DATA :: default ())) , PROTOCOL_VERSION_DATA :: ID => Ok (Self :: PROTOCOL_VERSION (PROTOCOL_VERSION_DATA :: default ())) , CELLULAR_CONFIG_DATA :: ID => Ok (Self :: CELLULAR_CONFIG (CELLULAR_CONFIG_DATA :: default ())) , DEVICE_OP_READ_REPLY_DATA :: ID => Ok (Self :: DEVICE_OP_READ_REPLY (DEVICE_OP_READ_REPLY_DATA :: default ())) , EVENT_DATA :: ID => Ok (Self :: EVENT (EVENT_DATA :: default ())) , V2_EXTENSION_DATA :: ID => Ok (Self :: V2_EXTENSION (V2_EXTENSION_DATA :: default ())) , RALLY_FETCH_POINT_DATA :: ID => Ok (Self :: RALLY_FETCH_POINT (RALLY_FETCH_POINT_DATA :: default ())) , CAMERA_STATUS_DATA :: ID => Ok (Self :: CAMERA_STATUS (CAMERA_STATUS_DATA :: default ())) , RANGEFINDER_DATA :: ID => Ok (Self :: RANGEFINDER (RANGEFINDER_DATA :: default ())) , ESC_TELEMETRY_5_TO_8_DATA :: ID => Ok (Self :: ESC_TELEMETRY_5_TO_8 (ESC_TELEMETRY_5_TO_8_DATA :: default ())) , _ => { Err ("Invalid message id.") } } } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { match self { Self :: GIMBAL_DEVICE_SET_ATTITUDE (body) => body . ser (version , bytes) , Self :: COMPONENT_INFORMATION (body) => body . ser (version , bytes) , Self :: OSD_PARAM_CONFIG (body) => body . ser (version , bytes) , Self :: MISSION_ITEM (body) => body . ser (version , bytes) , Self :: RADIO_STATUS (body) => body . ser (version , bytes) , Self :: FLIGHT_INFORMATION (body) => body . ser (version , bytes) , Self :: HIL_RC_INPUTS_RAW (body) => body . ser (version , bytes) , Self :: VIBRATION (body) => body . ser (version , bytes) , Self :: BATTERY_STATUS (body) => body . ser (version , bytes) , Self :: WIND_COV (body) => body . ser (version , bytes) , Self :: CAMERA_INFORMATION (body) => body . ser (version , bytes) , Self :: RAW_IMU (body) => body . ser (version , bytes) , Self :: GPS_RTK (body) => body . ser (version , bytes) , Self :: RAW_RPM (body) => body . ser (version , bytes) , Self :: TERRAIN_CHECK (body) => body . ser (version , bytes) , Self :: REQUEST_EVENT (body) => body . ser (version , bytes) , Self :: REQUEST_DATA_STREAM (body) => body . ser (version , bytes) , Self :: HWSTATUS (body) => body . ser (version , bytes) , Self :: FOLLOW_TARGET (body) => body . ser (version , bytes) , Self :: GLOBAL_POSITION_INT_COV (body) => body . ser (version , bytes) , Self :: UAVCAN_NODE_INFO (body) => body . ser (version , bytes) , Self :: AOA_SSA (body) => body . ser (version , bytes) , Self :: ISBD_LINK_STATUS (body) => body . ser (version , bytes) , Self :: LED_CONTROL (body) => body . ser (version , bytes) , Self :: WIFI_CONFIG_AP (body) => body . ser (version , bytes) , Self :: UAVIONIX_ADSB_OUT_DYNAMIC (body) => body . ser (version , bytes) , Self :: EKF_STATUS_REPORT (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_ARM_STATUS (body) => body . ser (version , bytes) , Self :: GIMBAL_REPORT (body) => body . ser (version , bytes) , Self :: SYS_STATUS (body) => body . ser (version , bytes) , Self :: MAG_CAL_PROGRESS (body) => body . ser (version , bytes) , Self :: FILE_TRANSFER_PROTOCOL (body) => body . ser (version , bytes) , Self :: PID_TUNING (body) => body . ser (version , bytes) , Self :: HIL_CONTROLS (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (body) => body . ser (version , bytes) , Self :: CAN_FRAME (body) => body . ser (version , bytes) , Self :: CAMERA_TRACKING_GEO_STATUS (body) => body . ser (version , bytes) , Self :: ATTITUDE_QUATERNION_COV (body) => body . ser (version , bytes) , Self :: SET_MAG_OFFSETS (body) => body . ser (version , bytes) , Self :: VISION_SPEED_ESTIMATE (body) => body . ser (version , bytes) , Self :: MOUNT_CONTROL (body) => body . ser (version , bytes) , Self :: DEEPSTALL (body) => body . ser (version , bytes) , Self :: PARAM_EXT_ACK (body) => body . ser (version , bytes) , Self :: COLLISION (body) => body . ser (version , bytes) , Self :: GIMBAL_TORQUE_CMD_REPORT (body) => body . ser (version , bytes) , Self :: GPS_GLOBAL_ORIGIN (body) => body . ser (version , bytes) , Self :: SET_POSITION_TARGET_LOCAL_NED (body) => body . ser (version , bytes) , Self :: EFI_STATUS (body) => body . ser (version , bytes) , Self :: HIL_STATE (body) => body . ser (version , bytes) , Self :: ACTUATOR_OUTPUT_STATUS (body) => body . ser (version , bytes) , Self :: MCU_STATUS (body) => body . ser (version , bytes) , Self :: PARAM_MAP_RC (body) => body . ser (version , bytes) , Self :: HEARTBEAT (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_OPERATOR_ID (body) => body . ser (version , bytes) , Self :: DATA_TRANSMISSION_HANDSHAKE (body) => body . ser (version , bytes) , Self :: ODOMETRY (body) => body . ser (version , bytes) , Self :: DISTANCE_SENSOR (body) => body . ser (version , bytes) , Self :: OSD_PARAM_SHOW_CONFIG_REPLY (body) => body . ser (version , bytes) , Self :: GOPRO_SET_REQUEST (body) => body . ser (version , bytes) , Self :: ESC_INFO (body) => body . ser (version , bytes) , Self :: MANUAL_SETPOINT (body) => body . ser (version , bytes) , Self :: LOG_DATA (body) => body . ser (version , bytes) , Self :: CAMERA_FEEDBACK (body) => body . ser (version , bytes) , Self :: FENCE_POINT (body) => body . ser (version , bytes) , Self :: SUPPORTED_TUNES (body) => body . ser (version , bytes) , Self :: LOGGING_ACK (body) => body . ser (version , bytes) , Self :: VISION_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: AHRS (body) => body . ser (version , bytes) , Self :: MESSAGE_INTERVAL (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_OVERRIDE (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: RESOURCE_REQUEST (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_ATTITUDE (body) => body . ser (version , bytes) , Self :: ONBOARD_COMPUTER_STATUS (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED (body) => body . ser (version , bytes) , Self :: DIGICAM_CONFIGURE (body) => body . ser (version , bytes) , Self :: ESC_TELEMETRY_9_TO_12 (body) => body . ser (version , bytes) , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (body) => body . ser (version , bytes) , Self :: POSITION_TARGET_LOCAL_NED (body) => body . ser (version , bytes) , Self :: SAFETY_ALLOWED_AREA (body) => body . ser (version , bytes) , Self :: COMMAND_INT (body) => body . ser (version , bytes) , Self :: GOPRO_GET_REQUEST (body) => body . ser (version , bytes) , Self :: CAN_FILTER_MODIFY (body) => body . ser (version , bytes) , Self :: STATUSTEXT (body) => body . ser (version , bytes) , Self :: TIME_ESTIMATE_TO_TARGET (body) => body . ser (version , bytes) , Self :: MISSION_ITEM_INT (body) => body . ser (version , bytes) , Self :: CUBEPILOT_FIRMWARE_UPDATE_RESP (body) => body . ser (version , bytes) , Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_INT (body) => body . ser (version , bytes) , Self :: STORAGE_INFORMATION (body) => body . ser (version , bytes) , Self :: UTM_GLOBAL_POSITION (body) => body . ser (version , bytes) , Self :: MEMINFO (body) => body . ser (version , bytes) , Self :: GLOBAL_VISION_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: GPS2_RAW (body) => body . ser (version , bytes) , Self :: RALLY_POINT (body) => body . ser (version , bytes) , Self :: AP_ADC (body) => body . ser (version , bytes) , Self :: ACTUATOR_CONTROL_TARGET (body) => body . ser (version , bytes) , Self :: LOGGING_DATA_ACKED (body) => body . ser (version , bytes) , Self :: RC_CHANNELS (body) => body . ser (version , bytes) , Self :: NAMED_VALUE_INT (body) => body . ser (version , bytes) , Self :: LINK_NODE_STATUS (body) => body . ser (version , bytes) , Self :: NAMED_VALUE_FLOAT (body) => body . ser (version , bytes) , Self :: SERVO_OUTPUT_RAW (body) => body . ser (version , bytes) , Self :: CELLULAR_STATUS (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_LOCATION (body) => body . ser (version , bytes) , Self :: DEBUG_FLOAT_ARRAY (body) => body . ser (version , bytes) , Self :: POWER_STATUS (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (body) => body . ser (version , bytes) , Self :: BUTTON_CHANGE (body) => body . ser (version , bytes) , Self :: CURRENT_EVENT_SEQUENCE (body) => body . ser (version , bytes) , Self :: PARAM_EXT_REQUEST_READ (body) => body . ser (version , bytes) , Self :: MOUNT_STATUS (body) => body . ser (version , bytes) , Self :: MISSION_CURRENT (body) => body . ser (version , bytes) , Self :: DEBUG_VECT (body) => body . ser (version , bytes) , Self :: CAMERA_FOV_STATUS (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE3 (body) => body . ser (version , bytes) , Self :: MISSION_ITEM_REACHED (body) => body . ser (version , bytes) , Self :: UAVIONIX_ADSB_OUT_CFG (body) => body . ser (version , bytes) , Self :: PARAM_VALUE (body) => body . ser (version , bytes) , Self :: VICON_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: TIMESYNC (body) => body . ser (version , bytes) , Self :: MANUAL_CONTROL (body) => body . ser (version , bytes) , Self :: MEMORY_VECT (body) => body . ser (version , bytes) , Self :: OBSTACLE_DISTANCE_3D (body) => body . ser (version , bytes) , Self :: COMPONENT_METADATA (body) => body . ser (version , bytes) , Self :: CAMERA_SETTINGS (body) => body . ser (version , bytes) , Self :: MAG_CAL_REPORT (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SYSTEM (body) => body . ser (version , bytes) , Self :: ATTITUDE_TARGET (body) => body . ser (version , bytes) , Self :: SET_POSITION_TARGET_GLOBAL_INT (body) => body . ser (version , bytes) , Self :: WINCH_STATUS (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_INFORMATION (body) => body . ser (version , bytes) , Self :: ICAROUS_HEARTBEAT (body) => body . ser (version , bytes) , Self :: GOPRO_GET_RESPONSE (body) => body . ser (version , bytes) , Self :: GPS_RAW_INT (body) => body . ser (version , bytes) , Self :: PING (body) => body . ser (version , bytes) , Self :: ATTITUDE_QUATERNION (body) => body . ser (version , bytes) , Self :: ESC_TELEMETRY_1_TO_4 (body) => body . ser (version , bytes) , Self :: HERELINK_VIDEO_STREAM_INFORMATION (body) => body . ser (version , bytes) , Self :: COMMAND_LONG (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_INFORMATION (body) => body . ser (version , bytes) , Self :: SCALED_IMU2 (body) => body . ser (version , bytes) , Self :: AHRS2 (body) => body . ser (version , bytes) , Self :: ATT_POS_MOCAP (body) => body . ser (version , bytes) , Self :: OPTICAL_FLOW_RAD (body) => body . ser (version , bytes) , Self :: NAV_CONTROLLER_OUTPUT (body) => body . ser (version , bytes) , Self :: MISSION_ACK (body) => body . ser (version , bytes) , Self :: PARAM_SET (body) => body . ser (version , bytes) , Self :: DEBUG (body) => body . ser (version , bytes) , Self :: AUTH_KEY (body) => body . ser (version , bytes) , Self :: SAFETY_SET_ALLOWED_AREA (body) => body . ser (version , bytes) , Self :: ICAROUS_KINEMATIC_BANDS (body) => body . ser (version , bytes) , Self :: MISSION_COUNT (body) => body . ser (version , bytes) , Self :: ADSB_VEHICLE (body) => body . ser (version , bytes) , Self :: ENCAPSULATED_DATA (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE (body) => body . ser (version , bytes) , Self :: MOUNT_CONFIGURE (body) => body . ser (version , bytes) , Self :: OSD_PARAM_CONFIG_REPLY (body) => body . ser (version , bytes) , Self :: SETUP_SIGNING (body) => body . ser (version , bytes) , Self :: DATA32 (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (body) => body . ser (version , bytes) , Self :: TUNNEL (body) => body . ser (version , bytes) , Self :: DATA96 (body) => body . ser (version , bytes) , Self :: ESTIMATOR_STATUS (body) => body . ser (version , bytes) , Self :: ALTITUDE (body) => body . ser (version , bytes) , Self :: GPS_RTCM_DATA (body) => body . ser (version , bytes) , Self :: SCALED_IMU3 (body) => body . ser (version , bytes) , Self :: AUTOPILOT_VERSION (body) => body . ser (version , bytes) , Self :: SET_HOME_POSITION (body) => body . ser (version , bytes) , Self :: GIMBAL_CONTROL (body) => body . ser (version , bytes) , Self :: GOPRO_HEARTBEAT (body) => body . ser (version , bytes) , Self :: HIL_STATE_QUATERNION (body) => body . ser (version , bytes) , Self :: TERRAIN_REPORT (body) => body . ser (version , bytes) , Self :: WIND (body) => body . ser (version , bytes) , Self :: RAW_PRESSURE (body) => body . ser (version , bytes) , Self :: MISSION_WRITE_PARTIAL_LIST (body) => body . ser (version , bytes) , Self :: CUBEPILOT_FIRMWARE_UPDATE_START (body) => body . ser (version , bytes) , Self :: GENERATOR_STATUS (body) => body . ser (version , bytes) , Self :: RADIO (body) => body . ser (version , bytes) , Self :: DEVICE_OP_READ (body) => body . ser (version , bytes) , Self :: AIS_VESSEL (body) => body . ser (version , bytes) , Self :: CAMERA_TRACKING_IMAGE_STATUS (body) => body . ser (version , bytes) , Self :: PARAM_EXT_VALUE (body) => body . ser (version , bytes) , Self :: UAVCAN_NODE_STATUS (body) => body . ser (version , bytes) , Self :: TRAJECTORY_REPRESENTATION_BEZIER (body) => body . ser (version , bytes) , Self :: WATER_DEPTH (body) => body . ser (version , bytes) , Self :: SIM_STATE (body) => body . ser (version , bytes) , Self :: TERRAIN_REQUEST (body) => body . ser (version , bytes) , Self :: PARAM_REQUEST_READ (body) => body . ser (version , bytes) , Self :: GLOBAL_POSITION_INT (body) => body . ser (version , bytes) , Self :: PLAY_TUNE_V2 (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_MESSAGE_PACK (body) => body . ser (version , bytes) , Self :: SYSTEM_TIME (body) => body . ser (version , bytes) , Self :: GPS2_RTK (body) => body . ser (version , bytes) , Self :: HIGH_LATENCY2 (body) => body . ser (version , bytes) , Self :: MOUNT_ORIENTATION (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_RAW (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_STATUS (body) => body . ser (version , bytes) , Self :: SENSOR_OFFSETS (body) => body . ser (version , bytes) , Self :: FENCE_FETCH_POINT (body) => body . ser (version , bytes) , Self :: LIMITS_STATUS (body) => body . ser (version , bytes) , Self :: POSITION_TARGET_GLOBAL_INT (body) => body . ser (version , bytes) , Self :: DATA64 (body) => body . ser (version , bytes) , Self :: HOME_POSITION (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_DATA (body) => body . ser (version , bytes) , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (body) => body . ser (version , bytes) , Self :: AUTOPILOT_VERSION_REQUEST (body) => body . ser (version , bytes) , Self :: ATTITUDE (body) => body . ser (version , bytes) , Self :: REMOTE_LOG_BLOCK_STATUS (body) => body . ser (version , bytes) , Self :: ADAP_TUNING (body) => body . ser (version , bytes) , Self :: PARAM_EXT_SET (body) => body . ser (version , bytes) , Self :: HIL_OPTICAL_FLOW (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_SCALED (body) => body . ser (version , bytes) , Self :: EXTENDED_SYS_STATE (body) => body . ser (version , bytes) , Self :: CHANGE_OPERATOR_CONTROL_ACK (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_END (body) => body . ser (version , bytes) , Self :: OPTICAL_FLOW (body) => body . ser (version , bytes) , Self :: COMMAND_ACK (body) => body . ser (version , bytes) , Self :: SET_ACTUATOR_CONTROL_TARGET (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_AUTHENTICATION (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_PARTIAL_LIST (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: PARAM_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: MISSION_SET_CURRENT (body) => body . ser (version , bytes) , Self :: CONTROL_SYSTEM_STATE (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_PITCHYAW (body) => body . ser (version , bytes) , Self :: SMART_BATTERY_INFO (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED_COV (body) => body . ser (version , bytes) , Self :: VIDEO_STREAM_STATUS (body) => body . ser (version , bytes) , Self :: SET_MODE (body) => body . ser (version , bytes) , Self :: HERELINK_TELEM (body) => body . ser (version , bytes) , Self :: GPS_INJECT_DATA (body) => body . ser (version , bytes) , Self :: VFR_HUD (body) => body . ser (version , bytes) , Self :: HIGH_LATENCY (body) => body . ser (version , bytes) , Self :: DIGICAM_CONTROL (body) => body . ser (version , bytes) , Self :: WHEEL_DISTANCE (body) => body . ser (version , bytes) , Self :: COMMAND_CANCEL (body) => body . ser (version , bytes) , Self :: SIMSTATE (body) => body . ser (version , bytes) , Self :: DATA16 (body) => body . ser (version , bytes) , Self :: MISSION_CLEAR_ALL (body) => body . ser (version , bytes) , Self :: REMOTE_LOG_DATA_BLOCK (body) => body . ser (version , bytes) , Self :: RPM (body) => body . ser (version , bytes) , Self :: VISION_POSITION_DELTA (body) => body . ser (version , bytes) , Self :: AHRS3 (body) => body . ser (version , bytes) , Self :: OSD_PARAM_SHOW_CONFIG (body) => body . ser (version , bytes) , Self :: SET_GPS_GLOBAL_ORIGIN (body) => body . ser (version , bytes) , Self :: SET_ATTITUDE_TARGET (body) => body . ser (version , bytes) , Self :: GOPRO_SET_RESPONSE (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE2 (body) => body . ser (version , bytes) , Self :: HIL_SENSOR (body) => body . ser (version , bytes) , Self :: CANFD_FRAME (body) => body . ser (version , bytes) , Self :: DATA_STREAM (body) => body . ser (version , bytes) , Self :: HIGHRES_IMU (body) => body . ser (version , bytes) , Self :: CHANGE_OPERATOR_CONTROL (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST (body) => body . ser (version , bytes) , Self :: VIDEO_STREAM_INFORMATION (body) => body . ser (version , bytes) , Self :: SCALED_IMU (body) => body . ser (version , bytes) , Self :: DEVICE_OP_WRITE (body) => body . ser (version , bytes) , Self :: HYGROMETER_SENSOR (body) => body . ser (version , bytes) , Self :: CUBEPILOT_RAW_RC (body) => body . ser (version , bytes) , Self :: GPS_STATUS (body) => body . ser (version , bytes) , Self :: DEVICE_OP_WRITE_REPLY (body) => body . ser (version , bytes) , Self :: CAMERA_TRIGGER (body) => body . ser (version , bytes) , Self :: SERIAL_CONTROL (body) => body . ser (version , bytes) , Self :: OBSTACLE_DISTANCE (body) => body . ser (version , bytes) , Self :: FENCE_STATUS (body) => body . ser (version , bytes) , Self :: ESC_STATUS (body) => body . ser (version , bytes) , Self :: LANDING_TARGET (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SELF_ID (body) => body . ser (version , bytes) , Self :: CAMERA_CAPTURE_STATUS (body) => body . ser (version , bytes) , Self :: BATTERY2 (body) => body . ser (version , bytes) , Self :: TERRAIN_DATA (body) => body . ser (version , bytes) , Self :: GPS_INPUT (body) => body . ser (version , bytes) , Self :: AIRSPEED_AUTOCAL (body) => body . ser (version , bytes) , Self :: CAMERA_IMAGE_CAPTURED (body) => body . ser (version , bytes) , Self :: HIL_ACTUATOR_CONTROLS (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_BASIC_ID (body) => body . ser (version , bytes) , Self :: RESPONSE_EVENT_ERROR (body) => body . ser (version , bytes) , Self :: LOG_ENTRY (body) => body . ser (version , bytes) , Self :: PARAM_EXT_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: LOG_ERASE (body) => body . ser (version , bytes) , Self :: ORBIT_EXECUTION_STATUS (body) => body . ser (version , bytes) , Self :: COMPASSMOT_STATUS (body) => body . ser (version , bytes) , Self :: HIL_GPS (body) => body . ser (version , bytes) , Self :: LOGGING_DATA (body) => body . ser (version , bytes) , Self :: PLAY_TUNE (body) => body . ser (version , bytes) , Self :: PROTOCOL_VERSION (body) => body . ser (version , bytes) , Self :: CELLULAR_CONFIG (body) => body . ser (version , bytes) , Self :: DEVICE_OP_READ_REPLY (body) => body . ser (version , bytes) , Self :: EVENT (body) => body . ser (version , bytes) , Self :: V2_EXTENSION (body) => body . ser (version , bytes) , Self :: RALLY_FETCH_POINT (body) => body . ser (version , bytes) , Self :: CAMERA_STATUS (body) => body . ser (version , bytes) , Self :: RANGEFINDER (body) => body . ser (version , bytes) , Self :: ESC_TELEMETRY_5_TO_8 (body) => body . ser (version , bytes) , } } fn extra_crc (id : u32) -> u8 { match id { GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: EXTRA_CRC , COMPONENT_INFORMATION_DATA :: ID => COMPONENT_INFORMATION_DATA :: EXTRA_CRC , OSD_PARAM_CONFIG_DATA :: ID => OSD_PARAM_CONFIG_DATA :: EXTRA_CRC , MISSION_ITEM_DATA :: ID => MISSION_ITEM_DATA :: EXTRA_CRC , RADIO_STATUS_DATA :: ID => RADIO_STATUS_DATA :: EXTRA_CRC , FLIGHT_INFORMATION_DATA :: ID => FLIGHT_INFORMATION_DATA :: EXTRA_CRC , HIL_RC_INPUTS_RAW_DATA :: ID => HIL_RC_INPUTS_RAW_DATA :: EXTRA_CRC , VIBRATION_DATA :: ID => VIBRATION_DATA :: EXTRA_CRC , BATTERY_STATUS_DATA :: ID => BATTERY_STATUS_DATA :: EXTRA_CRC , WIND_COV_DATA :: ID => WIND_COV_DATA :: EXTRA_CRC , CAMERA_INFORMATION_DATA :: ID => CAMERA_INFORMATION_DATA :: EXTRA_CRC , RAW_IMU_DATA :: ID => RAW_IMU_DATA :: EXTRA_CRC , GPS_RTK_DATA :: ID => GPS_RTK_DATA :: EXTRA_CRC , RAW_RPM_DATA :: ID => RAW_RPM_DATA :: EXTRA_CRC , TERRAIN_CHECK_DATA :: ID => TERRAIN_CHECK_DATA :: EXTRA_CRC , REQUEST_EVENT_DATA :: ID => REQUEST_EVENT_DATA :: EXTRA_CRC , REQUEST_DATA_STREAM_DATA :: ID => REQUEST_DATA_STREAM_DATA :: EXTRA_CRC , HWSTATUS_DATA :: ID => HWSTATUS_DATA :: EXTRA_CRC , FOLLOW_TARGET_DATA :: ID => FOLLOW_TARGET_DATA :: EXTRA_CRC , GLOBAL_POSITION_INT_COV_DATA :: ID => GLOBAL_POSITION_INT_COV_DATA :: EXTRA_CRC , UAVCAN_NODE_INFO_DATA :: ID => UAVCAN_NODE_INFO_DATA :: EXTRA_CRC , AOA_SSA_DATA :: ID => AOA_SSA_DATA :: EXTRA_CRC , ISBD_LINK_STATUS_DATA :: ID => ISBD_LINK_STATUS_DATA :: EXTRA_CRC , LED_CONTROL_DATA :: ID => LED_CONTROL_DATA :: EXTRA_CRC , WIFI_CONFIG_AP_DATA :: ID => WIFI_CONFIG_AP_DATA :: EXTRA_CRC , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: EXTRA_CRC , EKF_STATUS_REPORT_DATA :: ID => EKF_STATUS_REPORT_DATA :: EXTRA_CRC , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => OPEN_DRONE_ID_ARM_STATUS_DATA :: EXTRA_CRC , GIMBAL_REPORT_DATA :: ID => GIMBAL_REPORT_DATA :: EXTRA_CRC , SYS_STATUS_DATA :: ID => SYS_STATUS_DATA :: EXTRA_CRC , MAG_CAL_PROGRESS_DATA :: ID => MAG_CAL_PROGRESS_DATA :: EXTRA_CRC , FILE_TRANSFER_PROTOCOL_DATA :: ID => FILE_TRANSFER_PROTOCOL_DATA :: EXTRA_CRC , PID_TUNING_DATA :: ID => PID_TUNING_DATA :: EXTRA_CRC , HIL_CONTROLS_DATA :: ID => HIL_CONTROLS_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: EXTRA_CRC , CAN_FRAME_DATA :: ID => CAN_FRAME_DATA :: EXTRA_CRC , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => CAMERA_TRACKING_GEO_STATUS_DATA :: EXTRA_CRC , ATTITUDE_QUATERNION_COV_DATA :: ID => ATTITUDE_QUATERNION_COV_DATA :: EXTRA_CRC , SET_MAG_OFFSETS_DATA :: ID => SET_MAG_OFFSETS_DATA :: EXTRA_CRC , VISION_SPEED_ESTIMATE_DATA :: ID => VISION_SPEED_ESTIMATE_DATA :: EXTRA_CRC , MOUNT_CONTROL_DATA :: ID => MOUNT_CONTROL_DATA :: EXTRA_CRC , DEEPSTALL_DATA :: ID => DEEPSTALL_DATA :: EXTRA_CRC , PARAM_EXT_ACK_DATA :: ID => PARAM_EXT_ACK_DATA :: EXTRA_CRC , COLLISION_DATA :: ID => COLLISION_DATA :: EXTRA_CRC , GIMBAL_TORQUE_CMD_REPORT_DATA :: ID => GIMBAL_TORQUE_CMD_REPORT_DATA :: EXTRA_CRC , GPS_GLOBAL_ORIGIN_DATA :: ID => GPS_GLOBAL_ORIGIN_DATA :: EXTRA_CRC , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => SET_POSITION_TARGET_LOCAL_NED_DATA :: EXTRA_CRC , EFI_STATUS_DATA :: ID => EFI_STATUS_DATA :: EXTRA_CRC , HIL_STATE_DATA :: ID => HIL_STATE_DATA :: EXTRA_CRC , ACTUATOR_OUTPUT_STATUS_DATA :: ID => ACTUATOR_OUTPUT_STATUS_DATA :: EXTRA_CRC , MCU_STATUS_DATA :: ID => MCU_STATUS_DATA :: EXTRA_CRC , PARAM_MAP_RC_DATA :: ID => PARAM_MAP_RC_DATA :: EXTRA_CRC , HEARTBEAT_DATA :: ID => HEARTBEAT_DATA :: EXTRA_CRC , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => OPEN_DRONE_ID_OPERATOR_ID_DATA :: EXTRA_CRC , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => DATA_TRANSMISSION_HANDSHAKE_DATA :: EXTRA_CRC , ODOMETRY_DATA :: ID => ODOMETRY_DATA :: EXTRA_CRC , DISTANCE_SENSOR_DATA :: ID => DISTANCE_SENSOR_DATA :: EXTRA_CRC , OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: ID => OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: EXTRA_CRC , GOPRO_SET_REQUEST_DATA :: ID => GOPRO_SET_REQUEST_DATA :: EXTRA_CRC , ESC_INFO_DATA :: ID => ESC_INFO_DATA :: EXTRA_CRC , MANUAL_SETPOINT_DATA :: ID => MANUAL_SETPOINT_DATA :: EXTRA_CRC , LOG_DATA_DATA :: ID => LOG_DATA_DATA :: EXTRA_CRC , CAMERA_FEEDBACK_DATA :: ID => CAMERA_FEEDBACK_DATA :: EXTRA_CRC , FENCE_POINT_DATA :: ID => FENCE_POINT_DATA :: EXTRA_CRC , SUPPORTED_TUNES_DATA :: ID => SUPPORTED_TUNES_DATA :: EXTRA_CRC , LOGGING_ACK_DATA :: ID => LOGGING_ACK_DATA :: EXTRA_CRC , VISION_POSITION_ESTIMATE_DATA :: ID => VISION_POSITION_ESTIMATE_DATA :: EXTRA_CRC , AHRS_DATA :: ID => AHRS_DATA :: EXTRA_CRC , MESSAGE_INTERVAL_DATA :: ID => MESSAGE_INTERVAL_DATA :: EXTRA_CRC , RC_CHANNELS_OVERRIDE_DATA :: ID => RC_CHANNELS_OVERRIDE_DATA :: EXTRA_CRC , LOG_REQUEST_LIST_DATA :: ID => LOG_REQUEST_LIST_DATA :: EXTRA_CRC , RESOURCE_REQUEST_DATA :: ID => RESOURCE_REQUEST_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: EXTRA_CRC , ONBOARD_COMPUTER_STATUS_DATA :: ID => ONBOARD_COMPUTER_STATUS_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_DATA :: ID => LOCAL_POSITION_NED_DATA :: EXTRA_CRC , DIGICAM_CONFIGURE_DATA :: ID => DIGICAM_CONFIGURE_DATA :: EXTRA_CRC , ESC_TELEMETRY_9_TO_12_DATA :: ID => ESC_TELEMETRY_9_TO_12_DATA :: EXTRA_CRC , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: EXTRA_CRC , POSITION_TARGET_LOCAL_NED_DATA :: ID => POSITION_TARGET_LOCAL_NED_DATA :: EXTRA_CRC , SAFETY_ALLOWED_AREA_DATA :: ID => SAFETY_ALLOWED_AREA_DATA :: EXTRA_CRC , COMMAND_INT_DATA :: ID => COMMAND_INT_DATA :: EXTRA_CRC , GOPRO_GET_REQUEST_DATA :: ID => GOPRO_GET_REQUEST_DATA :: EXTRA_CRC , CAN_FILTER_MODIFY_DATA :: ID => CAN_FILTER_MODIFY_DATA :: EXTRA_CRC , STATUSTEXT_DATA :: ID => STATUSTEXT_DATA :: EXTRA_CRC , TIME_ESTIMATE_TO_TARGET_DATA :: ID => TIME_ESTIMATE_TO_TARGET_DATA :: EXTRA_CRC , MISSION_ITEM_INT_DATA :: ID => MISSION_ITEM_INT_DATA :: EXTRA_CRC , CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: ID => CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: EXTRA_CRC , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: EXTRA_CRC , MISSION_REQUEST_INT_DATA :: ID => MISSION_REQUEST_INT_DATA :: EXTRA_CRC , STORAGE_INFORMATION_DATA :: ID => STORAGE_INFORMATION_DATA :: EXTRA_CRC , UTM_GLOBAL_POSITION_DATA :: ID => UTM_GLOBAL_POSITION_DATA :: EXTRA_CRC , MEMINFO_DATA :: ID => MEMINFO_DATA :: EXTRA_CRC , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: EXTRA_CRC , GPS2_RAW_DATA :: ID => GPS2_RAW_DATA :: EXTRA_CRC , RALLY_POINT_DATA :: ID => RALLY_POINT_DATA :: EXTRA_CRC , AP_ADC_DATA :: ID => AP_ADC_DATA :: EXTRA_CRC , ACTUATOR_CONTROL_TARGET_DATA :: ID => ACTUATOR_CONTROL_TARGET_DATA :: EXTRA_CRC , LOGGING_DATA_ACKED_DATA :: ID => LOGGING_DATA_ACKED_DATA :: EXTRA_CRC , RC_CHANNELS_DATA :: ID => RC_CHANNELS_DATA :: EXTRA_CRC , NAMED_VALUE_INT_DATA :: ID => NAMED_VALUE_INT_DATA :: EXTRA_CRC , LINK_NODE_STATUS_DATA :: ID => LINK_NODE_STATUS_DATA :: EXTRA_CRC , NAMED_VALUE_FLOAT_DATA :: ID => NAMED_VALUE_FLOAT_DATA :: EXTRA_CRC , SERVO_OUTPUT_RAW_DATA :: ID => SERVO_OUTPUT_RAW_DATA :: EXTRA_CRC , CELLULAR_STATUS_DATA :: ID => CELLULAR_STATUS_DATA :: EXTRA_CRC , OPEN_DRONE_ID_LOCATION_DATA :: ID => OPEN_DRONE_ID_LOCATION_DATA :: EXTRA_CRC , DEBUG_FLOAT_ARRAY_DATA :: ID => DEBUG_FLOAT_ARRAY_DATA :: EXTRA_CRC , POWER_STATUS_DATA :: ID => POWER_STATUS_DATA :: EXTRA_CRC , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: EXTRA_CRC , BUTTON_CHANGE_DATA :: ID => BUTTON_CHANGE_DATA :: EXTRA_CRC , CURRENT_EVENT_SEQUENCE_DATA :: ID => CURRENT_EVENT_SEQUENCE_DATA :: EXTRA_CRC , PARAM_EXT_REQUEST_READ_DATA :: ID => PARAM_EXT_REQUEST_READ_DATA :: EXTRA_CRC , MOUNT_STATUS_DATA :: ID => MOUNT_STATUS_DATA :: EXTRA_CRC , MISSION_CURRENT_DATA :: ID => MISSION_CURRENT_DATA :: EXTRA_CRC , DEBUG_VECT_DATA :: ID => DEBUG_VECT_DATA :: EXTRA_CRC , CAMERA_FOV_STATUS_DATA :: ID => CAMERA_FOV_STATUS_DATA :: EXTRA_CRC , SCALED_PRESSURE3_DATA :: ID => SCALED_PRESSURE3_DATA :: EXTRA_CRC , MISSION_ITEM_REACHED_DATA :: ID => MISSION_ITEM_REACHED_DATA :: EXTRA_CRC , UAVIONIX_ADSB_OUT_CFG_DATA :: ID => UAVIONIX_ADSB_OUT_CFG_DATA :: EXTRA_CRC , PARAM_VALUE_DATA :: ID => PARAM_VALUE_DATA :: EXTRA_CRC , VICON_POSITION_ESTIMATE_DATA :: ID => VICON_POSITION_ESTIMATE_DATA :: EXTRA_CRC , TIMESYNC_DATA :: ID => TIMESYNC_DATA :: EXTRA_CRC , MANUAL_CONTROL_DATA :: ID => MANUAL_CONTROL_DATA :: EXTRA_CRC , MEMORY_VECT_DATA :: ID => MEMORY_VECT_DATA :: EXTRA_CRC , OBSTACLE_DISTANCE_3D_DATA :: ID => OBSTACLE_DISTANCE_3D_DATA :: EXTRA_CRC , COMPONENT_METADATA_DATA :: ID => COMPONENT_METADATA_DATA :: EXTRA_CRC , CAMERA_SETTINGS_DATA :: ID => CAMERA_SETTINGS_DATA :: EXTRA_CRC , MAG_CAL_REPORT_DATA :: ID => MAG_CAL_REPORT_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SYSTEM_DATA :: ID => OPEN_DRONE_ID_SYSTEM_DATA :: EXTRA_CRC , ATTITUDE_TARGET_DATA :: ID => ATTITUDE_TARGET_DATA :: EXTRA_CRC , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => SET_POSITION_TARGET_GLOBAL_INT_DATA :: EXTRA_CRC , WINCH_STATUS_DATA :: ID => WINCH_STATUS_DATA :: EXTRA_CRC , GIMBAL_DEVICE_INFORMATION_DATA :: ID => GIMBAL_DEVICE_INFORMATION_DATA :: EXTRA_CRC , ICAROUS_HEARTBEAT_DATA :: ID => ICAROUS_HEARTBEAT_DATA :: EXTRA_CRC , GOPRO_GET_RESPONSE_DATA :: ID => GOPRO_GET_RESPONSE_DATA :: EXTRA_CRC , GPS_RAW_INT_DATA :: ID => GPS_RAW_INT_DATA :: EXTRA_CRC , PING_DATA :: ID => PING_DATA :: EXTRA_CRC , ATTITUDE_QUATERNION_DATA :: ID => ATTITUDE_QUATERNION_DATA :: EXTRA_CRC , ESC_TELEMETRY_1_TO_4_DATA :: ID => ESC_TELEMETRY_1_TO_4_DATA :: EXTRA_CRC , HERELINK_VIDEO_STREAM_INFORMATION_DATA :: ID => HERELINK_VIDEO_STREAM_INFORMATION_DATA :: EXTRA_CRC , COMMAND_LONG_DATA :: ID => COMMAND_LONG_DATA :: EXTRA_CRC , GIMBAL_MANAGER_INFORMATION_DATA :: ID => GIMBAL_MANAGER_INFORMATION_DATA :: EXTRA_CRC , SCALED_IMU2_DATA :: ID => SCALED_IMU2_DATA :: EXTRA_CRC , AHRS2_DATA :: ID => AHRS2_DATA :: EXTRA_CRC , ATT_POS_MOCAP_DATA :: ID => ATT_POS_MOCAP_DATA :: EXTRA_CRC , OPTICAL_FLOW_RAD_DATA :: ID => OPTICAL_FLOW_RAD_DATA :: EXTRA_CRC , NAV_CONTROLLER_OUTPUT_DATA :: ID => NAV_CONTROLLER_OUTPUT_DATA :: EXTRA_CRC , MISSION_ACK_DATA :: ID => MISSION_ACK_DATA :: EXTRA_CRC , PARAM_SET_DATA :: ID => PARAM_SET_DATA :: EXTRA_CRC , DEBUG_DATA :: ID => DEBUG_DATA :: EXTRA_CRC , AUTH_KEY_DATA :: ID => AUTH_KEY_DATA :: EXTRA_CRC , SAFETY_SET_ALLOWED_AREA_DATA :: ID => SAFETY_SET_ALLOWED_AREA_DATA :: EXTRA_CRC , ICAROUS_KINEMATIC_BANDS_DATA :: ID => ICAROUS_KINEMATIC_BANDS_DATA :: EXTRA_CRC , MISSION_COUNT_DATA :: ID => MISSION_COUNT_DATA :: EXTRA_CRC , ADSB_VEHICLE_DATA :: ID => ADSB_VEHICLE_DATA :: EXTRA_CRC , ENCAPSULATED_DATA_DATA :: ID => ENCAPSULATED_DATA_DATA :: EXTRA_CRC , SCALED_PRESSURE_DATA :: ID => SCALED_PRESSURE_DATA :: EXTRA_CRC , MOUNT_CONFIGURE_DATA :: ID => MOUNT_CONFIGURE_DATA :: EXTRA_CRC , OSD_PARAM_CONFIG_REPLY_DATA :: ID => OSD_PARAM_CONFIG_REPLY_DATA :: EXTRA_CRC , SETUP_SIGNING_DATA :: ID => SETUP_SIGNING_DATA :: EXTRA_CRC , DATA32_DATA :: ID => DATA32_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: EXTRA_CRC , TUNNEL_DATA :: ID => TUNNEL_DATA :: EXTRA_CRC , DATA96_DATA :: ID => DATA96_DATA :: EXTRA_CRC , ESTIMATOR_STATUS_DATA :: ID => ESTIMATOR_STATUS_DATA :: EXTRA_CRC , ALTITUDE_DATA :: ID => ALTITUDE_DATA :: EXTRA_CRC , GPS_RTCM_DATA_DATA :: ID => GPS_RTCM_DATA_DATA :: EXTRA_CRC , SCALED_IMU3_DATA :: ID => SCALED_IMU3_DATA :: EXTRA_CRC , AUTOPILOT_VERSION_DATA :: ID => AUTOPILOT_VERSION_DATA :: EXTRA_CRC , SET_HOME_POSITION_DATA :: ID => SET_HOME_POSITION_DATA :: EXTRA_CRC , GIMBAL_CONTROL_DATA :: ID => GIMBAL_CONTROL_DATA :: EXTRA_CRC , GOPRO_HEARTBEAT_DATA :: ID => GOPRO_HEARTBEAT_DATA :: EXTRA_CRC , HIL_STATE_QUATERNION_DATA :: ID => HIL_STATE_QUATERNION_DATA :: EXTRA_CRC , TERRAIN_REPORT_DATA :: ID => TERRAIN_REPORT_DATA :: EXTRA_CRC , WIND_DATA :: ID => WIND_DATA :: EXTRA_CRC , RAW_PRESSURE_DATA :: ID => RAW_PRESSURE_DATA :: EXTRA_CRC , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => MISSION_WRITE_PARTIAL_LIST_DATA :: EXTRA_CRC , CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: ID => CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: EXTRA_CRC , GENERATOR_STATUS_DATA :: ID => GENERATOR_STATUS_DATA :: EXTRA_CRC , RADIO_DATA :: ID => RADIO_DATA :: EXTRA_CRC , DEVICE_OP_READ_DATA :: ID => DEVICE_OP_READ_DATA :: EXTRA_CRC , AIS_VESSEL_DATA :: ID => AIS_VESSEL_DATA :: EXTRA_CRC , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => CAMERA_TRACKING_IMAGE_STATUS_DATA :: EXTRA_CRC , PARAM_EXT_VALUE_DATA :: ID => PARAM_EXT_VALUE_DATA :: EXTRA_CRC , UAVCAN_NODE_STATUS_DATA :: ID => UAVCAN_NODE_STATUS_DATA :: EXTRA_CRC , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: EXTRA_CRC , WATER_DEPTH_DATA :: ID => WATER_DEPTH_DATA :: EXTRA_CRC , SIM_STATE_DATA :: ID => SIM_STATE_DATA :: EXTRA_CRC , TERRAIN_REQUEST_DATA :: ID => TERRAIN_REQUEST_DATA :: EXTRA_CRC , PARAM_REQUEST_READ_DATA :: ID => PARAM_REQUEST_READ_DATA :: EXTRA_CRC , GLOBAL_POSITION_INT_DATA :: ID => GLOBAL_POSITION_INT_DATA :: EXTRA_CRC , PLAY_TUNE_V2_DATA :: ID => PLAY_TUNE_V2_DATA :: EXTRA_CRC , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: EXTRA_CRC , SYSTEM_TIME_DATA :: ID => SYSTEM_TIME_DATA :: EXTRA_CRC , GPS2_RTK_DATA :: ID => GPS2_RTK_DATA :: EXTRA_CRC , HIGH_LATENCY2_DATA :: ID => HIGH_LATENCY2_DATA :: EXTRA_CRC , MOUNT_ORIENTATION_DATA :: ID => MOUNT_ORIENTATION_DATA :: EXTRA_CRC , RC_CHANNELS_RAW_DATA :: ID => RC_CHANNELS_RAW_DATA :: EXTRA_CRC , GIMBAL_MANAGER_STATUS_DATA :: ID => GIMBAL_MANAGER_STATUS_DATA :: EXTRA_CRC , SENSOR_OFFSETS_DATA :: ID => SENSOR_OFFSETS_DATA :: EXTRA_CRC , FENCE_FETCH_POINT_DATA :: ID => FENCE_FETCH_POINT_DATA :: EXTRA_CRC , LIMITS_STATUS_DATA :: ID => LIMITS_STATUS_DATA :: EXTRA_CRC , POSITION_TARGET_GLOBAL_INT_DATA :: ID => POSITION_TARGET_GLOBAL_INT_DATA :: EXTRA_CRC , DATA64_DATA :: ID => DATA64_DATA :: EXTRA_CRC , HOME_POSITION_DATA :: ID => HOME_POSITION_DATA :: EXTRA_CRC , LOG_REQUEST_DATA_DATA :: ID => LOG_REQUEST_DATA_DATA :: EXTRA_CRC , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: EXTRA_CRC , AUTOPILOT_VERSION_REQUEST_DATA :: ID => AUTOPILOT_VERSION_REQUEST_DATA :: EXTRA_CRC , ATTITUDE_DATA :: ID => ATTITUDE_DATA :: EXTRA_CRC , REMOTE_LOG_BLOCK_STATUS_DATA :: ID => REMOTE_LOG_BLOCK_STATUS_DATA :: EXTRA_CRC , ADAP_TUNING_DATA :: ID => ADAP_TUNING_DATA :: EXTRA_CRC , PARAM_EXT_SET_DATA :: ID => PARAM_EXT_SET_DATA :: EXTRA_CRC , HIL_OPTICAL_FLOW_DATA :: ID => HIL_OPTICAL_FLOW_DATA :: EXTRA_CRC , RC_CHANNELS_SCALED_DATA :: ID => RC_CHANNELS_SCALED_DATA :: EXTRA_CRC , EXTENDED_SYS_STATE_DATA :: ID => EXTENDED_SYS_STATE_DATA :: EXTRA_CRC , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => CHANGE_OPERATOR_CONTROL_ACK_DATA :: EXTRA_CRC , LOG_REQUEST_END_DATA :: ID => LOG_REQUEST_END_DATA :: EXTRA_CRC , OPTICAL_FLOW_DATA :: ID => OPTICAL_FLOW_DATA :: EXTRA_CRC , COMMAND_ACK_DATA :: ID => COMMAND_ACK_DATA :: EXTRA_CRC , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => SET_ACTUATOR_CONTROL_TARGET_DATA :: EXTRA_CRC , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => OPEN_DRONE_ID_AUTHENTICATION_DATA :: EXTRA_CRC , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => MISSION_REQUEST_PARTIAL_LIST_DATA :: EXTRA_CRC , MISSION_REQUEST_LIST_DATA :: ID => MISSION_REQUEST_LIST_DATA :: EXTRA_CRC , PARAM_REQUEST_LIST_DATA :: ID => PARAM_REQUEST_LIST_DATA :: EXTRA_CRC , MISSION_SET_CURRENT_DATA :: ID => MISSION_SET_CURRENT_DATA :: EXTRA_CRC , CONTROL_SYSTEM_STATE_DATA :: ID => CONTROL_SYSTEM_STATE_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: EXTRA_CRC , SMART_BATTERY_INFO_DATA :: ID => SMART_BATTERY_INFO_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_COV_DATA :: ID => LOCAL_POSITION_NED_COV_DATA :: EXTRA_CRC , VIDEO_STREAM_STATUS_DATA :: ID => VIDEO_STREAM_STATUS_DATA :: EXTRA_CRC , SET_MODE_DATA :: ID => SET_MODE_DATA :: EXTRA_CRC , HERELINK_TELEM_DATA :: ID => HERELINK_TELEM_DATA :: EXTRA_CRC , GPS_INJECT_DATA_DATA :: ID => GPS_INJECT_DATA_DATA :: EXTRA_CRC , VFR_HUD_DATA :: ID => VFR_HUD_DATA :: EXTRA_CRC , HIGH_LATENCY_DATA :: ID => HIGH_LATENCY_DATA :: EXTRA_CRC , DIGICAM_CONTROL_DATA :: ID => DIGICAM_CONTROL_DATA :: EXTRA_CRC , WHEEL_DISTANCE_DATA :: ID => WHEEL_DISTANCE_DATA :: EXTRA_CRC , COMMAND_CANCEL_DATA :: ID => COMMAND_CANCEL_DATA :: EXTRA_CRC , SIMSTATE_DATA :: ID => SIMSTATE_DATA :: EXTRA_CRC , DATA16_DATA :: ID => DATA16_DATA :: EXTRA_CRC , MISSION_CLEAR_ALL_DATA :: ID => MISSION_CLEAR_ALL_DATA :: EXTRA_CRC , REMOTE_LOG_DATA_BLOCK_DATA :: ID => REMOTE_LOG_DATA_BLOCK_DATA :: EXTRA_CRC , RPM_DATA :: ID => RPM_DATA :: EXTRA_CRC , VISION_POSITION_DELTA_DATA :: ID => VISION_POSITION_DELTA_DATA :: EXTRA_CRC , AHRS3_DATA :: ID => AHRS3_DATA :: EXTRA_CRC , OSD_PARAM_SHOW_CONFIG_DATA :: ID => OSD_PARAM_SHOW_CONFIG_DATA :: EXTRA_CRC , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => SET_GPS_GLOBAL_ORIGIN_DATA :: EXTRA_CRC , SET_ATTITUDE_TARGET_DATA :: ID => SET_ATTITUDE_TARGET_DATA :: EXTRA_CRC , GOPRO_SET_RESPONSE_DATA :: ID => GOPRO_SET_RESPONSE_DATA :: EXTRA_CRC , SCALED_PRESSURE2_DATA :: ID => SCALED_PRESSURE2_DATA :: EXTRA_CRC , HIL_SENSOR_DATA :: ID => HIL_SENSOR_DATA :: EXTRA_CRC , CANFD_FRAME_DATA :: ID => CANFD_FRAME_DATA :: EXTRA_CRC , DATA_STREAM_DATA :: ID => DATA_STREAM_DATA :: EXTRA_CRC , HIGHRES_IMU_DATA :: ID => HIGHRES_IMU_DATA :: EXTRA_CRC , CHANGE_OPERATOR_CONTROL_DATA :: ID => CHANGE_OPERATOR_CONTROL_DATA :: EXTRA_CRC , MISSION_REQUEST_DATA :: ID => MISSION_REQUEST_DATA :: EXTRA_CRC , VIDEO_STREAM_INFORMATION_DATA :: ID => VIDEO_STREAM_INFORMATION_DATA :: EXTRA_CRC , SCALED_IMU_DATA :: ID => SCALED_IMU_DATA :: EXTRA_CRC , DEVICE_OP_WRITE_DATA :: ID => DEVICE_OP_WRITE_DATA :: EXTRA_CRC , HYGROMETER_SENSOR_DATA :: ID => HYGROMETER_SENSOR_DATA :: EXTRA_CRC , CUBEPILOT_RAW_RC_DATA :: ID => CUBEPILOT_RAW_RC_DATA :: EXTRA_CRC , GPS_STATUS_DATA :: ID => GPS_STATUS_DATA :: EXTRA_CRC , DEVICE_OP_WRITE_REPLY_DATA :: ID => DEVICE_OP_WRITE_REPLY_DATA :: EXTRA_CRC , CAMERA_TRIGGER_DATA :: ID => CAMERA_TRIGGER_DATA :: EXTRA_CRC , SERIAL_CONTROL_DATA :: ID => SERIAL_CONTROL_DATA :: EXTRA_CRC , OBSTACLE_DISTANCE_DATA :: ID => OBSTACLE_DISTANCE_DATA :: EXTRA_CRC , FENCE_STATUS_DATA :: ID => FENCE_STATUS_DATA :: EXTRA_CRC , ESC_STATUS_DATA :: ID => ESC_STATUS_DATA :: EXTRA_CRC , LANDING_TARGET_DATA :: ID => LANDING_TARGET_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SELF_ID_DATA :: ID => OPEN_DRONE_ID_SELF_ID_DATA :: EXTRA_CRC , CAMERA_CAPTURE_STATUS_DATA :: ID => CAMERA_CAPTURE_STATUS_DATA :: EXTRA_CRC , BATTERY2_DATA :: ID => BATTERY2_DATA :: EXTRA_CRC , TERRAIN_DATA_DATA :: ID => TERRAIN_DATA_DATA :: EXTRA_CRC , GPS_INPUT_DATA :: ID => GPS_INPUT_DATA :: EXTRA_CRC , AIRSPEED_AUTOCAL_DATA :: ID => AIRSPEED_AUTOCAL_DATA :: EXTRA_CRC , CAMERA_IMAGE_CAPTURED_DATA :: ID => CAMERA_IMAGE_CAPTURED_DATA :: EXTRA_CRC , HIL_ACTUATOR_CONTROLS_DATA :: ID => HIL_ACTUATOR_CONTROLS_DATA :: EXTRA_CRC , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => OPEN_DRONE_ID_BASIC_ID_DATA :: EXTRA_CRC , RESPONSE_EVENT_ERROR_DATA :: ID => RESPONSE_EVENT_ERROR_DATA :: EXTRA_CRC , LOG_ENTRY_DATA :: ID => LOG_ENTRY_DATA :: EXTRA_CRC , PARAM_EXT_REQUEST_LIST_DATA :: ID => PARAM_EXT_REQUEST_LIST_DATA :: EXTRA_CRC , LOG_ERASE_DATA :: ID => LOG_ERASE_DATA :: EXTRA_CRC , ORBIT_EXECUTION_STATUS_DATA :: ID => ORBIT_EXECUTION_STATUS_DATA :: EXTRA_CRC , COMPASSMOT_STATUS_DATA :: ID => COMPASSMOT_STATUS_DATA :: EXTRA_CRC , HIL_GPS_DATA :: ID => HIL_GPS_DATA :: EXTRA_CRC , LOGGING_DATA_DATA :: ID => LOGGING_DATA_DATA :: EXTRA_CRC , PLAY_TUNE_DATA :: ID => PLAY_TUNE_DATA :: EXTRA_CRC , PROTOCOL_VERSION_DATA :: ID => PROTOCOL_VERSION_DATA :: EXTRA_CRC , CELLULAR_CONFIG_DATA :: ID => CELLULAR_CONFIG_DATA :: EXTRA_CRC , DEVICE_OP_READ_REPLY_DATA :: ID => DEVICE_OP_READ_REPLY_DATA :: EXTRA_CRC , EVENT_DATA :: ID => EVENT_DATA :: EXTRA_CRC , V2_EXTENSION_DATA :: ID => V2_EXTENSION_DATA :: EXTRA_CRC , RALLY_FETCH_POINT_DATA :: ID => RALLY_FETCH_POINT_DATA :: EXTRA_CRC , CAMERA_STATUS_DATA :: ID => CAMERA_STATUS_DATA :: EXTRA_CRC , RANGEFINDER_DATA :: ID => RANGEFINDER_DATA :: EXTRA_CRC , ESC_TELEMETRY_5_TO_8_DATA :: ID => ESC_TELEMETRY_5_TO_8_DATA :: EXTRA_CRC , _ => { 0 } , } } }
+
# ! [doc = "This file was automatically generated, do not edit"] use crate :: MavlinkVersion ; # [allow (unused_imports)] use num_derive :: FromPrimitive ; # [allow (unused_imports)] use num_traits :: FromPrimitive ; # [allow (unused_imports)] use num_derive :: ToPrimitive ; # [allow (unused_imports)] use num_traits :: ToPrimitive ; # [allow (unused_imports)] use bitflags :: bitflags ; use crate :: { Message , MessageData , error :: * , bytes :: Bytes , bytes_mut :: BytesMut } ; # [cfg (feature = "serde")] use serde :: { Serialize , Deserialize } ; # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproCharging { GOPRO_CHARGING_DISABLED = 0 , GOPRO_CHARGING_ENABLED = 1 , } impl GoproCharging { pub const DEFAULT : Self = Self :: GOPRO_CHARGING_DISABLED ; } impl Default for GoproCharging { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GimbalAxisCalibrationStatus { GIMBAL_AXIS_CALIBRATION_STATUS_IN_PROGRESS = 0 , GIMBAL_AXIS_CALIBRATION_STATUS_SUCCEEDED = 1 , GIMBAL_AXIS_CALIBRATION_STATUS_FAILED = 2 , } impl GimbalAxisCalibrationStatus { pub const DEFAULT : Self = Self :: GIMBAL_AXIS_CALIBRATION_STATUS_IN_PROGRESS ; } impl Default for GimbalAxisCalibrationStatus { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EkfStatusFlags : u16 { const EKF_ATTITUDE = 1 ; const EKF_VELOCITY_HORIZ = 2 ; const EKF_VELOCITY_VERT = 4 ; const EKF_POS_HORIZ_REL = 8 ; const EKF_POS_HORIZ_ABS = 16 ; const EKF_POS_VERT_ABS = 32 ; const EKF_POS_VERT_AGL = 64 ; const EKF_CONST_POS_MODE = 128 ; const EKF_PRED_POS_HORIZ_REL = 256 ; const EKF_PRED_POS_HORIZ_ABS = 512 ; const EKF_UNINITIALIZED = 1024 ; } } impl EkfStatusFlags { pub const DEFAULT : Self = Self :: EKF_ATTITUDE ; } impl Default for EkfStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproHeartbeatStatus { GOPRO_HEARTBEAT_STATUS_DISCONNECTED = 0 , GOPRO_HEARTBEAT_STATUS_INCOMPATIBLE = 1 , GOPRO_HEARTBEAT_STATUS_CONNECTED = 2 , GOPRO_HEARTBEAT_STATUS_ERROR = 3 , } impl GoproHeartbeatStatus { pub const DEFAULT : Self = Self :: GOPRO_HEARTBEAT_STATUS_DISCONNECTED ; } impl Default for GoproHeartbeatStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum PlaneMode { PLANE_MODE_MANUAL = 0 , PLANE_MODE_CIRCLE = 1 , PLANE_MODE_STABILIZE = 2 , PLANE_MODE_TRAINING = 3 , PLANE_MODE_ACRO = 4 , PLANE_MODE_FLY_BY_WIRE_A = 5 , PLANE_MODE_FLY_BY_WIRE_B = 6 , PLANE_MODE_CRUISE = 7 , PLANE_MODE_AUTOTUNE = 8 , PLANE_MODE_AUTO = 10 , PLANE_MODE_RTL = 11 , PLANE_MODE_LOITER = 12 , PLANE_MODE_TAKEOFF = 13 , PLANE_MODE_AVOID_ADSB = 14 , PLANE_MODE_GUIDED = 15 , PLANE_MODE_INITIALIZING = 16 , PLANE_MODE_QSTABILIZE = 17 , PLANE_MODE_QHOVER = 18 , PLANE_MODE_QLOITER = 19 , PLANE_MODE_QLAND = 20 , PLANE_MODE_QRTL = 21 , PLANE_MODE_QAUTOTUNE = 22 , PLANE_MODE_QACRO = 23 , PLANE_MODE_THERMAL = 24 , } impl PlaneMode { pub const DEFAULT : Self = Self :: PLANE_MODE_MANUAL ; } impl Default for PlaneMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CopterMode { COPTER_MODE_STABILIZE = 0 , COPTER_MODE_ACRO = 1 , COPTER_MODE_ALT_HOLD = 2 , COPTER_MODE_AUTO = 3 , COPTER_MODE_GUIDED = 4 , COPTER_MODE_LOITER = 5 , COPTER_MODE_RTL = 6 , COPTER_MODE_CIRCLE = 7 , COPTER_MODE_LAND = 9 , COPTER_MODE_DRIFT = 11 , COPTER_MODE_SPORT = 13 , COPTER_MODE_FLIP = 14 , COPTER_MODE_AUTOTUNE = 15 , COPTER_MODE_POSHOLD = 16 , COPTER_MODE_BRAKE = 17 , COPTER_MODE_THROW = 18 , COPTER_MODE_AVOID_ADSB = 19 , COPTER_MODE_GUIDED_NOGPS = 20 , COPTER_MODE_SMART_RTL = 21 , COPTER_MODE_FLOWHOLD = 22 , COPTER_MODE_FOLLOW = 23 , COPTER_MODE_ZIGZAG = 24 , COPTER_MODE_SYSTEMID = 25 , COPTER_MODE_AUTOROTATE = 26 , COPTER_MODE_AUTO_RTL = 27 , } impl CopterMode { pub const DEFAULT : Self = Self :: COPTER_MODE_STABILIZE ; } impl Default for CopterMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum SerialControlDev { SERIAL_CONTROL_DEV_TELEM1 = 0 , SERIAL_CONTROL_DEV_TELEM2 = 1 , SERIAL_CONTROL_DEV_GPS1 = 2 , SERIAL_CONTROL_DEV_GPS2 = 3 , SERIAL_CONTROL_DEV_SHELL = 10 , SERIAL_CONTROL_SERIAL0 = 100 , SERIAL_CONTROL_SERIAL1 = 101 , SERIAL_CONTROL_SERIAL2 = 102 , SERIAL_CONTROL_SERIAL3 = 103 , SERIAL_CONTROL_SERIAL4 = 104 , SERIAL_CONTROL_SERIAL5 = 105 , SERIAL_CONTROL_SERIAL6 = 106 , SERIAL_CONTROL_SERIAL7 = 107 , SERIAL_CONTROL_SERIAL8 = 108 , SERIAL_CONTROL_SERIAL9 = 109 , } impl SerialControlDev { pub const DEFAULT : Self = Self :: SERIAL_CONTROL_DEV_TELEM1 ; } impl Default for SerialControlDev { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FenceAction { FENCE_ACTION_NONE = 0 , FENCE_ACTION_GUIDED = 1 , FENCE_ACTION_REPORT = 2 , FENCE_ACTION_GUIDED_THR_PASS = 3 , FENCE_ACTION_RTL = 4 , FENCE_ACTION_HOLD = 5 , FENCE_ACTION_TERMINATE = 6 , FENCE_ACTION_LAND = 7 , } impl FenceAction { pub const DEFAULT : Self = Self :: FENCE_ACTION_NONE ; } impl Default for FenceAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum PrecisionLandMode { PRECISION_LAND_MODE_DISABLED = 0 , PRECISION_LAND_MODE_OPPORTUNISTIC = 1 , PRECISION_LAND_MODE_REQUIRED = 2 , } impl PrecisionLandMode { pub const DEFAULT : Self = Self :: PRECISION_LAND_MODE_DISABLED ; } impl Default for PrecisionLandMode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SerialControlFlag : u8 { const SERIAL_CONTROL_FLAG_REPLY = 1 ; const SERIAL_CONTROL_FLAG_RESPOND = 2 ; const SERIAL_CONTROL_FLAG_EXCLUSIVE = 4 ; const SERIAL_CONTROL_FLAG_BLOCKING = 8 ; const SERIAL_CONTROL_FLAG_MULTI = 16 ; } } impl SerialControlFlag { pub const DEFAULT : Self = Self :: SERIAL_CONTROL_FLAG_REPLY ; } impl Default for SerialControlFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraStatusTypes { CAMERA_STATUS_TYPE_HEARTBEAT = 0 , CAMERA_STATUS_TYPE_TRIGGER = 1 , CAMERA_STATUS_TYPE_DISCONNECT = 2 , CAMERA_STATUS_TYPE_ERROR = 3 , CAMERA_STATUS_TYPE_LOWBATT = 4 , CAMERA_STATUS_TYPE_LOWSTORE = 5 , CAMERA_STATUS_TYPE_LOWSTOREV = 6 , } impl CameraStatusTypes { pub const DEFAULT : Self = Self :: CAMERA_STATUS_TYPE_HEARTBEAT ; } impl Default for CameraStatusTypes { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavModeFlagDecodePosition { MAV_MODE_FLAG_DECODE_POSITION_SAFETY = 128 , MAV_MODE_FLAG_DECODE_POSITION_MANUAL = 64 , MAV_MODE_FLAG_DECODE_POSITION_HIL = 32 , MAV_MODE_FLAG_DECODE_POSITION_STABILIZE = 16 , MAV_MODE_FLAG_DECODE_POSITION_GUIDED = 8 , MAV_MODE_FLAG_DECODE_POSITION_AUTO = 4 , MAV_MODE_FLAG_DECODE_POSITION_TEST = 2 , MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE = 1 , } impl MavModeFlagDecodePosition { pub const DEFAULT : Self = Self :: MAV_MODE_FLAG_DECODE_POSITION_SAFETY ; } impl Default for MavModeFlagDecodePosition { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproBurstRate { GOPRO_BURST_RATE_3_IN_1_SECOND = 0 , GOPRO_BURST_RATE_5_IN_1_SECOND = 1 , GOPRO_BURST_RATE_10_IN_1_SECOND = 2 , GOPRO_BURST_RATE_10_IN_2_SECOND = 3 , GOPRO_BURST_RATE_10_IN_3_SECOND = 4 , GOPRO_BURST_RATE_30_IN_1_SECOND = 5 , GOPRO_BURST_RATE_30_IN_2_SECOND = 6 , GOPRO_BURST_RATE_30_IN_3_SECOND = 7 , GOPRO_BURST_RATE_30_IN_6_SECOND = 8 , } impl GoproBurstRate { pub const DEFAULT : Self = Self :: GOPRO_BURST_RATE_3_IN_1_SECOND ; } impl Default for GoproBurstRate { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavLandedState { MAV_LANDED_STATE_UNDEFINED = 0 , MAV_LANDED_STATE_ON_GROUND = 1 , MAV_LANDED_STATE_IN_AIR = 2 , MAV_LANDED_STATE_TAKEOFF = 3 , MAV_LANDED_STATE_LANDING = 4 , } impl MavLandedState { pub const DEFAULT : Self = Self :: MAV_LANDED_STATE_UNDEFINED ; } impl Default for MavLandedState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CanFilterOp { CAN_FILTER_REPLACE = 0 , CAN_FILTER_ADD = 1 , CAN_FILTER_REMOVE = 2 , } impl CanFilterOp { pub const DEFAULT : Self = Self :: CAN_FILTER_REPLACE ; } impl Default for CanFilterOp { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidDescType { MAV_ODID_DESC_TYPE_TEXT = 0 , MAV_ODID_DESC_TYPE_EMERGENCY = 1 , MAV_ODID_DESC_TYPE_EXTENDED_STATUS = 2 , } impl MavOdidDescType { pub const DEFAULT : Self = Self :: MAV_ODID_DESC_TYPE_TEXT ; } impl Default for MavOdidDescType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum ActuatorConfiguration { ACTUATOR_CONFIGURATION_NONE = 0 , ACTUATOR_CONFIGURATION_BEEP = 1 , ACTUATOR_CONFIGURATION_3D_MODE_ON = 2 , ACTUATOR_CONFIGURATION_3D_MODE_OFF = 3 , ACTUATOR_CONFIGURATION_SPIN_DIRECTION1 = 4 , ACTUATOR_CONFIGURATION_SPIN_DIRECTION2 = 5 , } impl ActuatorConfiguration { pub const DEFAULT : Self = Self :: ACTUATOR_CONFIGURATION_NONE ; } impl Default for ActuatorConfiguration { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FirmwareVersionType { FIRMWARE_VERSION_TYPE_DEV = 0 , FIRMWARE_VERSION_TYPE_ALPHA = 64 , FIRMWARE_VERSION_TYPE_BETA = 128 , FIRMWARE_VERSION_TYPE_RC = 192 , FIRMWARE_VERSION_TYPE_OFFICIAL = 255 , } impl FirmwareVersionType { pub const DEFAULT : Self = Self :: FIRMWARE_VERSION_TYPE_DEV ; } impl Default for FirmwareVersionType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RallyFlags : u8 { const FAVORABLE_WIND = 1 ; const LAND_IMMEDIATELY = 2 ; } } impl RallyFlags { pub const DEFAULT : Self = Self :: FAVORABLE_WIND ; } impl Default for RallyFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproFrameRate { GOPRO_FRAME_RATE_12 = 0 , GOPRO_FRAME_RATE_15 = 1 , GOPRO_FRAME_RATE_24 = 2 , GOPRO_FRAME_RATE_25 = 3 , GOPRO_FRAME_RATE_30 = 4 , GOPRO_FRAME_RATE_48 = 5 , GOPRO_FRAME_RATE_50 = 6 , GOPRO_FRAME_RATE_60 = 7 , GOPRO_FRAME_RATE_80 = 8 , GOPRO_FRAME_RATE_90 = 9 , GOPRO_FRAME_RATE_100 = 10 , GOPRO_FRAME_RATE_120 = 11 , GOPRO_FRAME_RATE_240 = 12 , GOPRO_FRAME_RATE_12_5 = 13 , } impl GoproFrameRate { pub const DEFAULT : Self = Self :: GOPRO_FRAME_RATE_12 ; } impl Default for GoproFrameRate { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EstimatorStatusFlags : u16 { const ESTIMATOR_ATTITUDE = 1 ; const ESTIMATOR_VELOCITY_HORIZ = 2 ; const ESTIMATOR_VELOCITY_VERT = 4 ; const ESTIMATOR_POS_HORIZ_REL = 8 ; const ESTIMATOR_POS_HORIZ_ABS = 16 ; const ESTIMATOR_POS_VERT_ABS = 32 ; const ESTIMATOR_POS_VERT_AGL = 64 ; const ESTIMATOR_CONST_POS_MODE = 128 ; const ESTIMATOR_PRED_POS_HORIZ_REL = 256 ; const ESTIMATOR_PRED_POS_HORIZ_ABS = 512 ; const ESTIMATOR_GPS_GLITCH = 1024 ; const ESTIMATOR_ACCEL_ERROR = 2048 ; } } impl EstimatorStatusFlags { pub const DEFAULT : Self = Self :: ESTIMATOR_ATTITUDE ; } impl Default for EstimatorStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum EscConnectionType { ESC_CONNECTION_TYPE_PPM = 0 , ESC_CONNECTION_TYPE_SERIAL = 1 , ESC_CONNECTION_TYPE_ONESHOT = 2 , ESC_CONNECTION_TYPE_I2C = 3 , ESC_CONNECTION_TYPE_CAN = 4 , ESC_CONNECTION_TYPE_DSHOT = 5 , } impl EscConnectionType { pub const DEFAULT : Self = Self :: ESC_CONNECTION_TYPE_PPM ; } impl Default for EscConnectionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMode { MAV_MODE_PREFLIGHT = 0 , MAV_MODE_STABILIZE_DISARMED = 80 , MAV_MODE_STABILIZE_ARMED = 208 , MAV_MODE_MANUAL_DISARMED = 64 , MAV_MODE_MANUAL_ARMED = 192 , MAV_MODE_GUIDED_DISARMED = 88 , MAV_MODE_GUIDED_ARMED = 216 , MAV_MODE_AUTO_DISARMED = 92 , MAV_MODE_AUTO_ARMED = 220 , MAV_MODE_TEST_DISARMED = 66 , MAV_MODE_TEST_ARMED = 194 , } impl MavMode { pub const DEFAULT : Self = Self :: MAV_MODE_PREFLIGHT ; } impl Default for MavMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidSpeedAcc { MAV_ODID_SPEED_ACC_UNKNOWN = 0 , MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND = 1 , MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND = 2 , MAV_ODID_SPEED_ACC_1_METERS_PER_SECOND = 3 , MAV_ODID_SPEED_ACC_0_3_METERS_PER_SECOND = 4 , } impl MavOdidSpeedAcc { pub const DEFAULT : Self = Self :: MAV_ODID_SPEED_ACC_UNKNOWN ; } impl Default for MavOdidSpeedAcc { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HighresImuUpdatedFlags : u16 { const HIGHRES_IMU_UPDATED_NONE = 0 ; const HIGHRES_IMU_UPDATED_XACC = 1 ; const HIGHRES_IMU_UPDATED_YACC = 2 ; const HIGHRES_IMU_UPDATED_ZACC = 4 ; const HIGHRES_IMU_UPDATED_XGYRO = 8 ; const HIGHRES_IMU_UPDATED_YGYRO = 16 ; const HIGHRES_IMU_UPDATED_ZGYRO = 32 ; const HIGHRES_IMU_UPDATED_XMAG = 64 ; const HIGHRES_IMU_UPDATED_YMAG = 128 ; const HIGHRES_IMU_UPDATED_ZMAG = 256 ; const HIGHRES_IMU_UPDATED_ABS_PRESSURE = 512 ; const HIGHRES_IMU_UPDATED_DIFF_PRESSURE = 1024 ; const HIGHRES_IMU_UPDATED_PRESSURE_ALT = 2048 ; const HIGHRES_IMU_UPDATED_TEMPERATURE = 4096 ; const HIGHRES_IMU_UPDATED_ALL = 65535 ; } } impl HighresImuUpdatedFlags { pub const DEFAULT : Self = Self :: HIGHRES_IMU_UPDATED_NONE ; } impl Default for HighresImuUpdatedFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FenceBreach { FENCE_BREACH_NONE = 0 , FENCE_BREACH_MINALT = 1 , FENCE_BREACH_MAXALT = 2 , FENCE_BREACH_BOUNDARY = 3 , } impl FenceBreach { pub const DEFAULT : Self = Self :: FENCE_BREACH_NONE ; } impl Default for FenceBreach { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MissionState { MISSION_STATE_UNKNOWN = 0 , MISSION_STATE_NO_MISSION = 1 , MISSION_STATE_NOT_STARTED = 2 , MISSION_STATE_ACTIVE = 3 , MISSION_STATE_PAUSED = 4 , MISSION_STATE_COMPLETE = 5 , } impl MissionState { pub const DEFAULT : Self = Self :: MISSION_STATE_UNKNOWN ; } impl Default for MissionState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MotorTestOrder { MOTOR_TEST_ORDER_DEFAULT = 0 , MOTOR_TEST_ORDER_SEQUENCE = 1 , MOTOR_TEST_ORDER_BOARD = 2 , } impl MotorTestOrder { pub const DEFAULT : Self = Self :: MOTOR_TEST_ORDER_DEFAULT ; } impl Default for MotorTestOrder { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavEventErrorReason { MAV_EVENT_ERROR_REASON_UNAVAILABLE = 0 , } impl MavEventErrorReason { pub const DEFAULT : Self = Self :: MAV_EVENT_ERROR_REASON_UNAVAILABLE ; } impl Default for MavEventErrorReason { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TuneFormat : u32 { const TUNE_FORMAT_QBASIC1_1 = 1 ; const TUNE_FORMAT_MML_MODERN = 2 ; } } impl TuneFormat { pub const DEFAULT : Self = Self :: TUNE_FORMAT_QBASIC1_1 ; } impl Default for TuneFormat { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum RcType { RC_TYPE_SPEKTRUM_DSM2 = 0 , RC_TYPE_SPEKTRUM_DSMX = 1 , } impl RcType { pub const DEFAULT : Self = Self :: RC_TYPE_SPEKTRUM_DSM2 ; } impl Default for RcType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavFtpOpcode { MAV_FTP_OPCODE_NONE = 0 , MAV_FTP_OPCODE_TERMINATESESSION = 1 , MAV_FTP_OPCODE_RESETSESSION = 2 , MAV_FTP_OPCODE_LISTDIRECTORY = 3 , MAV_FTP_OPCODE_OPENFILERO = 4 , MAV_FTP_OPCODE_READFILE = 5 , MAV_FTP_OPCODE_CREATEFILE = 6 , MAV_FTP_OPCODE_WRITEFILE = 7 , MAV_FTP_OPCODE_REMOVEFILE = 8 , MAV_FTP_OPCODE_CREATEDIRECTORY = 9 , MAV_FTP_OPCODE_REMOVEDIRECTORY = 10 , MAV_FTP_OPCODE_OPENFILEWO = 11 , MAV_FTP_OPCODE_TRUNCATEFILE = 12 , MAV_FTP_OPCODE_RENAME = 13 , MAV_FTP_OPCODE_CALCFILECRC = 14 , MAV_FTP_OPCODE_BURSTREADFILE = 15 , MAV_FTP_OPCODE_ACK = 128 , MAV_FTP_OPCODE_NAK = 129 , } impl MavFtpOpcode { pub const DEFAULT : Self = Self :: MAV_FTP_OPCODE_NONE ; } impl Default for MavFtpOpcode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceFlags : u16 { const GIMBAL_DEVICE_FLAGS_RETRACT = 1 ; const GIMBAL_DEVICE_FLAGS_NEUTRAL = 2 ; const GIMBAL_DEVICE_FLAGS_ROLL_LOCK = 4 ; const GIMBAL_DEVICE_FLAGS_PITCH_LOCK = 8 ; const GIMBAL_DEVICE_FLAGS_YAW_LOCK = 16 ; const GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME = 32 ; const GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME = 64 ; const GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME = 128 ; const GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE = 256 ; const GIMBAL_DEVICE_FLAGS_RC_MIXED = 512 ; } } impl GimbalDeviceFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_FLAGS_RETRACT ; } impl Default for GimbalDeviceFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavEstimatorType { MAV_ESTIMATOR_TYPE_UNKNOWN = 0 , MAV_ESTIMATOR_TYPE_NAIVE = 1 , MAV_ESTIMATOR_TYPE_VISION = 2 , MAV_ESTIMATOR_TYPE_VIO = 3 , MAV_ESTIMATOR_TYPE_GPS = 4 , MAV_ESTIMATOR_TYPE_GPS_INS = 5 , MAV_ESTIMATOR_TYPE_MOCAP = 6 , MAV_ESTIMATOR_TYPE_LIDAR = 7 , MAV_ESTIMATOR_TYPE_AUTOPILOT = 8 , } impl MavEstimatorType { pub const DEFAULT : Self = Self :: MAV_ESTIMATOR_TYPE_UNKNOWN ; } impl Default for MavEstimatorType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavcanNodeHealth { UAVCAN_NODE_HEALTH_OK = 0 , UAVCAN_NODE_HEALTH_WARNING = 1 , UAVCAN_NODE_HEALTH_ERROR = 2 , UAVCAN_NODE_HEALTH_CRITICAL = 3 , } impl UavcanNodeHealth { pub const DEFAULT : Self = Self :: UAVCAN_NODE_HEALTH_OK ; } impl Default for UavcanNodeHealth { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UavionixAdsbOutRfSelect : u8 { const UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY = 0 ; const UAVIONIX_ADSB_OUT_RF_SELECT_RX_ENABLED = 1 ; const UAVIONIX_ADSB_OUT_RF_SELECT_TX_ENABLED = 2 ; } } impl UavionixAdsbOutRfSelect { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY ; } impl Default for UavionixAdsbOutRfSelect { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavGoto { MAV_GOTO_DO_HOLD = 0 , MAV_GOTO_DO_CONTINUE = 1 , MAV_GOTO_HOLD_AT_CURRENT_POSITION = 2 , MAV_GOTO_HOLD_AT_SPECIFIED_POSITION = 3 , } impl MavGoto { pub const DEFAULT : Self = Self :: MAV_GOTO_DO_HOLD ; } impl Default for MavGoto { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavGeneratorStatusFlag : u64 { const MAV_GENERATOR_STATUS_FLAG_OFF = 1 ; const MAV_GENERATOR_STATUS_FLAG_READY = 2 ; const MAV_GENERATOR_STATUS_FLAG_GENERATING = 4 ; const MAV_GENERATOR_STATUS_FLAG_CHARGING = 8 ; const MAV_GENERATOR_STATUS_FLAG_REDUCED_POWER = 16 ; const MAV_GENERATOR_STATUS_FLAG_MAXPOWER = 32 ; const MAV_GENERATOR_STATUS_FLAG_OVERTEMP_WARNING = 64 ; const MAV_GENERATOR_STATUS_FLAG_OVERTEMP_FAULT = 128 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_WARNING = 256 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_FAULT = 512 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_FAULT = 1024 ; const MAV_GENERATOR_STATUS_FLAG_POWERSOURCE_FAULT = 2048 ; const MAV_GENERATOR_STATUS_FLAG_COMMUNICATION_WARNING = 4096 ; const MAV_GENERATOR_STATUS_FLAG_COOLING_WARNING = 8192 ; const MAV_GENERATOR_STATUS_FLAG_POWER_RAIL_FAULT = 16384 ; const MAV_GENERATOR_STATUS_FLAG_OVERCURRENT_FAULT = 32768 ; const MAV_GENERATOR_STATUS_FLAG_BATTERY_OVERCHARGE_CURRENT_FAULT = 65536 ; const MAV_GENERATOR_STATUS_FLAG_OVERVOLTAGE_FAULT = 131072 ; const MAV_GENERATOR_STATUS_FLAG_BATTERY_UNDERVOLT_FAULT = 262144 ; const MAV_GENERATOR_STATUS_FLAG_START_INHIBITED = 524288 ; const MAV_GENERATOR_STATUS_FLAG_MAINTENANCE_REQUIRED = 1048576 ; const MAV_GENERATOR_STATUS_FLAG_WARMING_UP = 2097152 ; const MAV_GENERATOR_STATUS_FLAG_IDLE = 4194304 ; } } impl MavGeneratorStatusFlag { pub const DEFAULT : Self = Self :: MAV_GENERATOR_STATUS_FLAG_OFF ; } impl Default for MavGeneratorStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum SpeedType { SPEED_TYPE_AIRSPEED = 0 , SPEED_TYPE_GROUNDSPEED = 1 , } impl SpeedType { pub const DEFAULT : Self = Self :: SPEED_TYPE_AIRSPEED ; } impl Default for SpeedType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproPhotoResolution { GOPRO_PHOTO_RESOLUTION_5MP_MEDIUM = 0 , GOPRO_PHOTO_RESOLUTION_7MP_MEDIUM = 1 , GOPRO_PHOTO_RESOLUTION_7MP_WIDE = 2 , GOPRO_PHOTO_RESOLUTION_10MP_WIDE = 3 , GOPRO_PHOTO_RESOLUTION_12MP_WIDE = 4 , } impl GoproPhotoResolution { pub const DEFAULT : Self = Self :: GOPRO_PHOTO_RESOLUTION_5MP_MEDIUM ; } impl Default for GoproPhotoResolution { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryFault { MAV_BATTERY_FAULT_DEEP_DISCHARGE = 1 , MAV_BATTERY_FAULT_SPIKES = 2 , MAV_BATTERY_FAULT_CELL_FAIL = 4 , MAV_BATTERY_FAULT_OVER_CURRENT = 8 , MAV_BATTERY_FAULT_OVER_TEMPERATURE = 16 , MAV_BATTERY_FAULT_UNDER_TEMPERATURE = 32 , MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE = 64 , MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE = 128 , BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION = 256 , } impl MavBatteryFault { pub const DEFAULT : Self = Self :: MAV_BATTERY_FAULT_DEEP_DISCHARGE ; } impl Default for MavBatteryFault { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCmdDoAuxFunctionSwitchLevel { MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_LOW = 0 , MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_MIDDLE = 1 , MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_HIGH = 2 , } impl MavCmdDoAuxFunctionSwitchLevel { pub const DEFAULT : Self = Self :: MAV_CMD_DO_AUX_FUNCTION_SWITCH_LEVEL_LOW ; } impl Default for MavCmdDoAuxFunctionSwitchLevel { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavSysStatusSensor : u32 { const MAV_SYS_STATUS_SENSOR_3D_GYRO = 1 ; const MAV_SYS_STATUS_SENSOR_3D_ACCEL = 2 ; const MAV_SYS_STATUS_SENSOR_3D_MAG = 4 ; const MAV_SYS_STATUS_SENSOR_ABSOLUTE_PRESSURE = 8 ; const MAV_SYS_STATUS_SENSOR_DIFFERENTIAL_PRESSURE = 16 ; const MAV_SYS_STATUS_SENSOR_GPS = 32 ; const MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW = 64 ; const MAV_SYS_STATUS_SENSOR_VISION_POSITION = 128 ; const MAV_SYS_STATUS_SENSOR_LASER_POSITION = 256 ; const MAV_SYS_STATUS_SENSOR_EXTERNAL_GROUND_TRUTH = 512 ; const MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL = 1024 ; const MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION = 2048 ; const MAV_SYS_STATUS_SENSOR_YAW_POSITION = 4096 ; const MAV_SYS_STATUS_SENSOR_Z_ALTITUDE_CONTROL = 8192 ; const MAV_SYS_STATUS_SENSOR_XY_POSITION_CONTROL = 16384 ; const MAV_SYS_STATUS_SENSOR_MOTOR_OUTPUTS = 32768 ; const MAV_SYS_STATUS_SENSOR_RC_RECEIVER = 65536 ; const MAV_SYS_STATUS_SENSOR_3D_GYRO2 = 131072 ; const MAV_SYS_STATUS_SENSOR_3D_ACCEL2 = 262144 ; const MAV_SYS_STATUS_SENSOR_3D_MAG2 = 524288 ; const MAV_SYS_STATUS_GEOFENCE = 1048576 ; const MAV_SYS_STATUS_AHRS = 2097152 ; const MAV_SYS_STATUS_TERRAIN = 4194304 ; const MAV_SYS_STATUS_REVERSE_MOTOR = 8388608 ; const MAV_SYS_STATUS_LOGGING = 16777216 ; const MAV_SYS_STATUS_SENSOR_BATTERY = 33554432 ; const MAV_SYS_STATUS_SENSOR_PROXIMITY = 67108864 ; const MAV_SYS_STATUS_SENSOR_SATCOM = 134217728 ; const MAV_SYS_STATUS_PREARM_CHECK = 268435456 ; const MAV_SYS_STATUS_OBSTACLE_AVOIDANCE = 536870912 ; const MAV_SYS_STATUS_SENSOR_PROPULSION = 1073741824 ; const MAV_SYS_STATUS_EXTENSION_USED = 2147483648 ; } } impl MavSysStatusSensor { pub const DEFAULT : Self = Self :: MAV_SYS_STATUS_SENSOR_3D_GYRO ; } impl Default for MavSysStatusSensor { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum WinchActions { WINCH_RELAXED = 0 , WINCH_RELATIVE_LENGTH_CONTROL = 1 , WINCH_RATE_CONTROL = 2 , WINCH_LOCK = 3 , WINCH_DELIVER = 4 , WINCH_HOLD = 5 , WINCH_RETRACT = 6 , WINCH_LOAD_LINE = 7 , WINCH_ABANDON_LINE = 8 , WINCH_LOAD_PAYLOAD = 9 , } impl WinchActions { pub const DEFAULT : Self = Self :: WINCH_RELAXED ; } impl Default for WinchActions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavFrame { MAV_FRAME_GLOBAL = 0 , MAV_FRAME_LOCAL_NED = 1 , MAV_FRAME_MISSION = 2 , MAV_FRAME_GLOBAL_RELATIVE_ALT = 3 , MAV_FRAME_LOCAL_ENU = 4 , MAV_FRAME_GLOBAL_INT = 5 , MAV_FRAME_GLOBAL_RELATIVE_ALT_INT = 6 , MAV_FRAME_LOCAL_OFFSET_NED = 7 , MAV_FRAME_BODY_NED = 8 , MAV_FRAME_BODY_OFFSET_NED = 9 , MAV_FRAME_GLOBAL_TERRAIN_ALT = 10 , MAV_FRAME_GLOBAL_TERRAIN_ALT_INT = 11 , MAV_FRAME_BODY_FRD = 12 , MAV_FRAME_RESERVED_13 = 13 , MAV_FRAME_RESERVED_14 = 14 , MAV_FRAME_RESERVED_15 = 15 , MAV_FRAME_RESERVED_16 = 16 , MAV_FRAME_RESERVED_17 = 17 , MAV_FRAME_RESERVED_18 = 18 , MAV_FRAME_RESERVED_19 = 19 , MAV_FRAME_LOCAL_FRD = 20 , MAV_FRAME_LOCAL_FLU = 21 , } impl MavFrame { pub const DEFAULT : Self = Self :: MAV_FRAME_GLOBAL ; } impl Default for MavFrame { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CellularStatusFlag { CELLULAR_STATUS_FLAG_UNKNOWN = 0 , CELLULAR_STATUS_FLAG_FAILED = 1 , CELLULAR_STATUS_FLAG_INITIALIZING = 2 , CELLULAR_STATUS_FLAG_LOCKED = 3 , CELLULAR_STATUS_FLAG_DISABLED = 4 , CELLULAR_STATUS_FLAG_DISABLING = 5 , CELLULAR_STATUS_FLAG_ENABLING = 6 , CELLULAR_STATUS_FLAG_ENABLED = 7 , CELLULAR_STATUS_FLAG_SEARCHING = 8 , CELLULAR_STATUS_FLAG_REGISTERED = 9 , CELLULAR_STATUS_FLAG_DISCONNECTING = 10 , CELLULAR_STATUS_FLAG_CONNECTING = 11 , CELLULAR_STATUS_FLAG_CONNECTED = 12 , } impl CellularStatusFlag { pub const DEFAULT : Self = Self :: CELLULAR_STATUS_FLAG_UNKNOWN ; } impl Default for CellularStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraTrackingStatusFlags { CAMERA_TRACKING_STATUS_FLAGS_IDLE = 0 , CAMERA_TRACKING_STATUS_FLAGS_ACTIVE = 1 , CAMERA_TRACKING_STATUS_FLAGS_ERROR = 2 , } impl CameraTrackingStatusFlags { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_STATUS_FLAGS_IDLE ; } impl Default for CameraTrackingStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidStatus { MAV_ODID_STATUS_UNDECLARED = 0 , MAV_ODID_STATUS_GROUND = 1 , MAV_ODID_STATUS_AIRBORNE = 2 , MAV_ODID_STATUS_EMERGENCY = 3 , MAV_ODID_STATUS_REMOTE_ID_SYSTEM_FAILURE = 4 , } impl MavOdidStatus { pub const DEFAULT : Self = Self :: MAV_ODID_STATUS_UNDECLARED ; } impl Default for MavOdidStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AisNavStatus { UNDER_WAY = 0 , AIS_NAV_ANCHORED = 1 , AIS_NAV_UN_COMMANDED = 2 , AIS_NAV_RESTRICTED_MANOEUVERABILITY = 3 , AIS_NAV_DRAUGHT_CONSTRAINED = 4 , AIS_NAV_MOORED = 5 , AIS_NAV_AGROUND = 6 , AIS_NAV_FISHING = 7 , AIS_NAV_SAILING = 8 , AIS_NAV_RESERVED_HSC = 9 , AIS_NAV_RESERVED_WIG = 10 , AIS_NAV_RESERVED_1 = 11 , AIS_NAV_RESERVED_2 = 12 , AIS_NAV_RESERVED_3 = 13 , AIS_NAV_AIS_SART = 14 , AIS_NAV_UNKNOWN = 15 , } impl AisNavStatus { pub const DEFAULT : Self = Self :: UNDER_WAY ; } impl Default for AisNavStatus { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavWinchStatusFlag : u32 { const MAV_WINCH_STATUS_HEALTHY = 1 ; const MAV_WINCH_STATUS_FULLY_RETRACTED = 2 ; const MAV_WINCH_STATUS_MOVING = 4 ; const MAV_WINCH_STATUS_CLUTCH_ENGAGED = 8 ; const MAV_WINCH_STATUS_LOCKED = 16 ; const MAV_WINCH_STATUS_DROPPING = 32 ; const MAV_WINCH_STATUS_ARRESTING = 64 ; const MAV_WINCH_STATUS_GROUND_SENSE = 128 ; const MAV_WINCH_STATUS_RETRACTING = 256 ; const MAV_WINCH_STATUS_REDELIVER = 512 ; const MAV_WINCH_STATUS_ABANDON_LINE = 1024 ; const MAV_WINCH_STATUS_LOCKING = 2048 ; const MAV_WINCH_STATUS_LOAD_LINE = 4096 ; const MAV_WINCH_STATUS_LOAD_PAYLOAD = 8192 ; } } impl MavWinchStatusFlag { pub const DEFAULT : Self = Self :: MAV_WINCH_STATUS_HEALTHY ; } impl Default for MavWinchStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidClassEu { MAV_ODID_CLASS_EU_UNDECLARED = 0 , MAV_ODID_CLASS_EU_CLASS_0 = 1 , MAV_ODID_CLASS_EU_CLASS_1 = 2 , MAV_ODID_CLASS_EU_CLASS_2 = 3 , MAV_ODID_CLASS_EU_CLASS_3 = 4 , MAV_ODID_CLASS_EU_CLASS_4 = 5 , MAV_ODID_CLASS_EU_CLASS_5 = 6 , MAV_ODID_CLASS_EU_CLASS_6 = 7 , } impl MavOdidClassEu { pub const DEFAULT : Self = Self :: MAV_ODID_CLASS_EU_UNDECLARED ; } impl Default for MavOdidClassEu { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavModeGimbal { MAV_MODE_GIMBAL_UNINITIALIZED = 0 , MAV_MODE_GIMBAL_CALIBRATING_PITCH = 1 , MAV_MODE_GIMBAL_CALIBRATING_ROLL = 2 , MAV_MODE_GIMBAL_CALIBRATING_YAW = 3 , MAV_MODE_GIMBAL_INITIALIZED = 4 , MAV_MODE_GIMBAL_ACTIVE = 5 , MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT = 6 , } impl MavModeGimbal { pub const DEFAULT : Self = Self :: MAV_MODE_GIMBAL_UNINITIALIZED ; } impl Default for MavModeGimbal { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CellularNetworkFailedReason { CELLULAR_NETWORK_FAILED_REASON_NONE = 0 , CELLULAR_NETWORK_FAILED_REASON_UNKNOWN = 1 , CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING = 2 , CELLULAR_NETWORK_FAILED_REASON_SIM_ERROR = 3 , } impl CellularNetworkFailedReason { pub const DEFAULT : Self = Self :: CELLULAR_NETWORK_FAILED_REASON_NONE ; } impl Default for CellularNetworkFailedReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproProtuneSharpness { GOPRO_PROTUNE_SHARPNESS_LOW = 0 , GOPRO_PROTUNE_SHARPNESS_MEDIUM = 1 , GOPRO_PROTUNE_SHARPNESS_HIGH = 2 , } impl GoproProtuneSharpness { pub const DEFAULT : Self = Self :: GOPRO_PROTUNE_SHARPNESS_LOW ; } impl Default for GoproProtuneSharpness { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproCommand { GOPRO_COMMAND_POWER = 0 , GOPRO_COMMAND_CAPTURE_MODE = 1 , GOPRO_COMMAND_SHUTTER = 2 , GOPRO_COMMAND_BATTERY = 3 , GOPRO_COMMAND_MODEL = 4 , GOPRO_COMMAND_VIDEO_SETTINGS = 5 , GOPRO_COMMAND_LOW_LIGHT = 6 , GOPRO_COMMAND_PHOTO_RESOLUTION = 7 , GOPRO_COMMAND_PHOTO_BURST_RATE = 8 , GOPRO_COMMAND_PROTUNE = 9 , GOPRO_COMMAND_PROTUNE_WHITE_BALANCE = 10 , GOPRO_COMMAND_PROTUNE_COLOUR = 11 , GOPRO_COMMAND_PROTUNE_GAIN = 12 , GOPRO_COMMAND_PROTUNE_SHARPNESS = 13 , GOPRO_COMMAND_PROTUNE_EXPOSURE = 14 , GOPRO_COMMAND_TIME = 15 , GOPRO_COMMAND_CHARGING = 16 , } impl GoproCommand { pub const DEFAULT : Self = Self :: GOPRO_COMMAND_POWER ; } impl Default for GoproCommand { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproProtuneColour { GOPRO_PROTUNE_COLOUR_STANDARD = 0 , GOPRO_PROTUNE_COLOUR_NEUTRAL = 1 , } impl GoproProtuneColour { pub const DEFAULT : Self = Self :: GOPRO_PROTUNE_COLOUR_STANDARD ; } impl Default for GoproProtuneColour { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproProtuneExposure { GOPRO_PROTUNE_EXPOSURE_NEG_5_0 = 0 , GOPRO_PROTUNE_EXPOSURE_NEG_4_5 = 1 , GOPRO_PROTUNE_EXPOSURE_NEG_4_0 = 2 , GOPRO_PROTUNE_EXPOSURE_NEG_3_5 = 3 , GOPRO_PROTUNE_EXPOSURE_NEG_3_0 = 4 , GOPRO_PROTUNE_EXPOSURE_NEG_2_5 = 5 , GOPRO_PROTUNE_EXPOSURE_NEG_2_0 = 6 , GOPRO_PROTUNE_EXPOSURE_NEG_1_5 = 7 , GOPRO_PROTUNE_EXPOSURE_NEG_1_0 = 8 , GOPRO_PROTUNE_EXPOSURE_NEG_0_5 = 9 , GOPRO_PROTUNE_EXPOSURE_ZERO = 10 , GOPRO_PROTUNE_EXPOSURE_POS_0_5 = 11 , GOPRO_PROTUNE_EXPOSURE_POS_1_0 = 12 , GOPRO_PROTUNE_EXPOSURE_POS_1_5 = 13 , GOPRO_PROTUNE_EXPOSURE_POS_2_0 = 14 , GOPRO_PROTUNE_EXPOSURE_POS_2_5 = 15 , GOPRO_PROTUNE_EXPOSURE_POS_3_0 = 16 , GOPRO_PROTUNE_EXPOSURE_POS_3_5 = 17 , GOPRO_PROTUNE_EXPOSURE_POS_4_0 = 18 , GOPRO_PROTUNE_EXPOSURE_POS_4_5 = 19 , GOPRO_PROTUNE_EXPOSURE_POS_5_0 = 20 , } impl GoproProtuneExposure { pub const DEFAULT : Self = Self :: GOPRO_PROTUNE_EXPOSURE_NEG_5_0 ; } impl Default for GoproProtuneExposure { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum PidTuningAxis { PID_TUNING_ROLL = 1 , PID_TUNING_PITCH = 2 , PID_TUNING_YAW = 3 , PID_TUNING_ACCZ = 4 , PID_TUNING_STEER = 5 , PID_TUNING_LANDING = 6 , } impl PidTuningAxis { pub const DEFAULT : Self = Self :: PID_TUNING_ROLL ; } impl Default for PidTuningAxis { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum PreflightStorageParameterAction { PARAM_READ_PERSISTENT = 0 , PARAM_WRITE_PERSISTENT = 1 , PARAM_RESET_CONFIG_DEFAULT = 2 , PARAM_RESET_SENSOR_DEFAULT = 3 , PARAM_RESET_ALL_DEFAULT = 4 , } impl PreflightStorageParameterAction { pub const DEFAULT : Self = Self :: PARAM_READ_PERSISTENT ; } impl Default for PreflightStorageParameterAction { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AttitudeTargetTypemask : u8 { const ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE = 1 ; const ATTITUDE_TARGET_TYPEMASK_BODY_PITCH_RATE_IGNORE = 2 ; const ATTITUDE_TARGET_TYPEMASK_BODY_YAW_RATE_IGNORE = 4 ; const ATTITUDE_TARGET_TYPEMASK_THRUST_BODY_SET = 32 ; const ATTITUDE_TARGET_TYPEMASK_THROTTLE_IGNORE = 64 ; const ATTITUDE_TARGET_TYPEMASK_ATTITUDE_IGNORE = 128 ; } } impl AttitudeTargetTypemask { pub const DEFAULT : Self = Self :: ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE ; } impl Default for AttitudeTargetTypemask { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavionixAdsbEmergencyStatus { UAVIONIX_ADSB_OUT_NO_EMERGENCY = 0 , UAVIONIX_ADSB_OUT_GENERAL_EMERGENCY = 1 , UAVIONIX_ADSB_OUT_LIFEGUARD_EMERGENCY = 2 , UAVIONIX_ADSB_OUT_MINIMUM_FUEL_EMERGENCY = 3 , UAVIONIX_ADSB_OUT_NO_COMM_EMERGENCY = 4 , UAVIONIX_ADSB_OUT_UNLAWFUL_INTERFERANCE_EMERGENCY = 5 , UAVIONIX_ADSB_OUT_DOWNED_AIRCRAFT_EMERGENCY = 6 , UAVIONIX_ADSB_OUT_RESERVED = 7 , } impl UavionixAdsbEmergencyStatus { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_NO_EMERGENCY ; } impl Default for UavionixAdsbEmergencyStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum LandingTargetType { LANDING_TARGET_TYPE_LIGHT_BEACON = 0 , LANDING_TARGET_TYPE_RADIO_BEACON = 1 , LANDING_TARGET_TYPE_VISION_FIDUCIAL = 2 , LANDING_TARGET_TYPE_VISION_OTHER = 3 , } impl LandingTargetType { pub const DEFAULT : Self = Self :: LANDING_TARGET_TYPE_LIGHT_BEACON ; } impl Default for LandingTargetType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCmd { MAV_CMD_NAV_WAYPOINT = 16 , MAV_CMD_NAV_LOITER_UNLIM = 17 , MAV_CMD_NAV_LOITER_TURNS = 18 , MAV_CMD_NAV_LOITER_TIME = 19 , MAV_CMD_NAV_RETURN_TO_LAUNCH = 20 , MAV_CMD_NAV_LAND = 21 , MAV_CMD_NAV_TAKEOFF = 22 , MAV_CMD_NAV_LAND_LOCAL = 23 , MAV_CMD_NAV_TAKEOFF_LOCAL = 24 , MAV_CMD_NAV_FOLLOW = 25 , MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT = 30 , MAV_CMD_NAV_LOITER_TO_ALT = 31 , MAV_CMD_DO_FOLLOW = 32 , MAV_CMD_DO_FOLLOW_REPOSITION = 33 , MAV_CMD_DO_ORBIT = 34 , MAV_CMD_NAV_ROI = 80 , MAV_CMD_NAV_PATHPLANNING = 81 , MAV_CMD_NAV_SPLINE_WAYPOINT = 82 , MAV_CMD_NAV_VTOL_TAKEOFF = 84 , MAV_CMD_NAV_VTOL_LAND = 85 , MAV_CMD_NAV_GUIDED_ENABLE = 92 , MAV_CMD_NAV_DELAY = 93 , MAV_CMD_NAV_PAYLOAD_PLACE = 94 , MAV_CMD_NAV_LAST = 95 , MAV_CMD_CONDITION_DELAY = 112 , MAV_CMD_CONDITION_CHANGE_ALT = 113 , MAV_CMD_CONDITION_DISTANCE = 114 , MAV_CMD_CONDITION_YAW = 115 , MAV_CMD_CONDITION_LAST = 159 , MAV_CMD_DO_SET_MODE = 176 , MAV_CMD_DO_JUMP = 177 , MAV_CMD_DO_CHANGE_SPEED = 178 , MAV_CMD_DO_SET_HOME = 179 , MAV_CMD_DO_SET_PARAMETER = 180 , MAV_CMD_DO_SET_RELAY = 181 , MAV_CMD_DO_REPEAT_RELAY = 182 , MAV_CMD_DO_SET_SERVO = 183 , MAV_CMD_DO_REPEAT_SERVO = 184 , MAV_CMD_DO_FLIGHTTERMINATION = 185 , MAV_CMD_DO_CHANGE_ALTITUDE = 186 , MAV_CMD_DO_SET_ACTUATOR = 187 , MAV_CMD_DO_LAND_START = 189 , MAV_CMD_DO_RALLY_LAND = 190 , MAV_CMD_DO_GO_AROUND = 191 , MAV_CMD_DO_REPOSITION = 192 , MAV_CMD_DO_PAUSE_CONTINUE = 193 , MAV_CMD_DO_SET_REVERSE = 194 , MAV_CMD_DO_SET_ROI_LOCATION = 195 , MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET = 196 , MAV_CMD_DO_SET_ROI_NONE = 197 , MAV_CMD_DO_SET_ROI_SYSID = 198 , MAV_CMD_DO_CONTROL_VIDEO = 200 , MAV_CMD_DO_SET_ROI = 201 , MAV_CMD_DO_DIGICAM_CONFIGURE = 202 , MAV_CMD_DO_DIGICAM_CONTROL = 203 , MAV_CMD_DO_MOUNT_CONFIGURE = 204 , MAV_CMD_DO_MOUNT_CONTROL = 205 , MAV_CMD_DO_SET_CAM_TRIGG_DIST = 206 , MAV_CMD_DO_FENCE_ENABLE = 207 , MAV_CMD_DO_PARACHUTE = 208 , MAV_CMD_DO_MOTOR_TEST = 209 , MAV_CMD_DO_INVERTED_FLIGHT = 210 , MAV_CMD_DO_GRIPPER = 211 , MAV_CMD_DO_AUTOTUNE_ENABLE = 212 , MAV_CMD_NAV_SET_YAW_SPEED = 213 , MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL = 214 , MAV_CMD_DO_MOUNT_CONTROL_QUAT = 220 , MAV_CMD_DO_GUIDED_MASTER = 221 , MAV_CMD_DO_GUIDED_LIMITS = 222 , MAV_CMD_DO_ENGINE_CONTROL = 223 , MAV_CMD_DO_SET_MISSION_CURRENT = 224 , MAV_CMD_DO_LAST = 240 , MAV_CMD_PREFLIGHT_CALIBRATION = 241 , MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS = 242 , MAV_CMD_PREFLIGHT_UAVCAN = 243 , MAV_CMD_PREFLIGHT_STORAGE = 245 , MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN = 246 , MAV_CMD_OVERRIDE_GOTO = 252 , MAV_CMD_OBLIQUE_SURVEY = 260 , MAV_CMD_MISSION_START = 300 , MAV_CMD_ACTUATOR_TEST = 310 , MAV_CMD_CONFIGURE_ACTUATOR = 311 , MAV_CMD_COMPONENT_ARM_DISARM = 400 , MAV_CMD_RUN_PREARM_CHECKS = 401 , MAV_CMD_ILLUMINATOR_ON_OFF = 405 , MAV_CMD_GET_HOME_POSITION = 410 , MAV_CMD_INJECT_FAILURE = 420 , MAV_CMD_START_RX_PAIR = 500 , MAV_CMD_GET_MESSAGE_INTERVAL = 510 , MAV_CMD_SET_MESSAGE_INTERVAL = 511 , MAV_CMD_REQUEST_MESSAGE = 512 , MAV_CMD_REQUEST_PROTOCOL_VERSION = 519 , MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES = 520 , MAV_CMD_REQUEST_CAMERA_INFORMATION = 521 , MAV_CMD_REQUEST_CAMERA_SETTINGS = 522 , MAV_CMD_REQUEST_STORAGE_INFORMATION = 525 , MAV_CMD_STORAGE_FORMAT = 526 , MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS = 527 , MAV_CMD_REQUEST_FLIGHT_INFORMATION = 528 , MAV_CMD_RESET_CAMERA_SETTINGS = 529 , MAV_CMD_SET_CAMERA_MODE = 530 , MAV_CMD_SET_CAMERA_ZOOM = 531 , MAV_CMD_SET_CAMERA_FOCUS = 532 , MAV_CMD_SET_STORAGE_USAGE = 533 , MAV_CMD_JUMP_TAG = 600 , MAV_CMD_DO_JUMP_TAG = 601 , MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW = 1000 , MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE = 1001 , MAV_CMD_IMAGE_START_CAPTURE = 2000 , MAV_CMD_IMAGE_STOP_CAPTURE = 2001 , MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE = 2002 , MAV_CMD_DO_TRIGGER_CONTROL = 2003 , MAV_CMD_CAMERA_TRACK_POINT = 2004 , MAV_CMD_CAMERA_TRACK_RECTANGLE = 2005 , MAV_CMD_CAMERA_STOP_TRACKING = 2010 , MAV_CMD_VIDEO_START_CAPTURE = 2500 , MAV_CMD_VIDEO_STOP_CAPTURE = 2501 , MAV_CMD_VIDEO_START_STREAMING = 2502 , MAV_CMD_VIDEO_STOP_STREAMING = 2503 , MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION = 2504 , MAV_CMD_REQUEST_VIDEO_STREAM_STATUS = 2505 , MAV_CMD_LOGGING_START = 2510 , MAV_CMD_LOGGING_STOP = 2511 , MAV_CMD_AIRFRAME_CONFIGURATION = 2520 , MAV_CMD_CONTROL_HIGH_LATENCY = 2600 , MAV_CMD_PANORAMA_CREATE = 2800 , MAV_CMD_DO_VTOL_TRANSITION = 3000 , MAV_CMD_ARM_AUTHORIZATION_REQUEST = 3001 , MAV_CMD_SET_GUIDED_SUBMODE_STANDARD = 4000 , MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE = 4001 , MAV_CMD_CONDITION_GATE = 4501 , MAV_CMD_NAV_FENCE_RETURN_POINT = 5000 , MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION = 5001 , MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION = 5002 , MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION = 5003 , MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION = 5004 , MAV_CMD_NAV_RALLY_POINT = 5100 , MAV_CMD_UAVCAN_GET_NODE_INFO = 5200 , MAV_CMD_DO_ADSB_OUT_IDENT = 10001 , MAV_CMD_PAYLOAD_PREPARE_DEPLOY = 30001 , MAV_CMD_PAYLOAD_CONTROL_DEPLOY = 30002 , MAV_CMD_FIXED_MAG_CAL_YAW = 42006 , MAV_CMD_DO_WINCH = 42600 , MAV_CMD_WAYPOINT_USER_1 = 31000 , MAV_CMD_WAYPOINT_USER_2 = 31001 , MAV_CMD_WAYPOINT_USER_3 = 31002 , MAV_CMD_WAYPOINT_USER_4 = 31003 , MAV_CMD_WAYPOINT_USER_5 = 31004 , MAV_CMD_SPATIAL_USER_1 = 31005 , MAV_CMD_SPATIAL_USER_2 = 31006 , MAV_CMD_SPATIAL_USER_3 = 31007 , MAV_CMD_SPATIAL_USER_4 = 31008 , MAV_CMD_SPATIAL_USER_5 = 31009 , MAV_CMD_USER_1 = 31010 , MAV_CMD_USER_2 = 31011 , MAV_CMD_USER_3 = 31012 , MAV_CMD_USER_4 = 31013 , MAV_CMD_USER_5 = 31014 , MAV_CMD_CAN_FORWARD = 32000 , MAV_CMD_DO_SET_RESUME_REPEAT_DIST = 215 , MAV_CMD_DO_SPRAYER = 216 , MAV_CMD_DO_SEND_SCRIPT_MESSAGE = 217 , MAV_CMD_DO_AUX_FUNCTION = 218 , MAV_CMD_NAV_ALTITUDE_WAIT = 83 , MAV_CMD_POWER_OFF_INITIATED = 42000 , MAV_CMD_SOLO_BTN_FLY_CLICK = 42001 , MAV_CMD_SOLO_BTN_FLY_HOLD = 42002 , MAV_CMD_SOLO_BTN_PAUSE_CLICK = 42003 , MAV_CMD_FIXED_MAG_CAL = 42004 , MAV_CMD_FIXED_MAG_CAL_FIELD = 42005 , MAV_CMD_SET_EKF_SOURCE_SET = 42007 , MAV_CMD_DO_START_MAG_CAL = 42424 , MAV_CMD_DO_ACCEPT_MAG_CAL = 42425 , MAV_CMD_DO_CANCEL_MAG_CAL = 42426 , MAV_CMD_ACCELCAL_VEHICLE_POS = 42429 , MAV_CMD_DO_SEND_BANNER = 42428 , MAV_CMD_SET_FACTORY_TEST_MODE = 42427 , MAV_CMD_GIMBAL_RESET = 42501 , MAV_CMD_GIMBAL_AXIS_CALIBRATION_STATUS = 42502 , MAV_CMD_GIMBAL_REQUEST_AXIS_CALIBRATION = 42503 , MAV_CMD_GIMBAL_FULL_RESET = 42505 , MAV_CMD_FLASH_BOOTLOADER = 42650 , MAV_CMD_BATTERY_RESET = 42651 , MAV_CMD_DEBUG_TRAP = 42700 , MAV_CMD_SCRIPTING = 42701 , MAV_CMD_NAV_SCRIPT_TIME = 42702 , MAV_CMD_NAV_ATTITUDE_TIME = 42703 , MAV_CMD_GUIDED_CHANGE_SPEED = 43000 , MAV_CMD_GUIDED_CHANGE_ALTITUDE = 43001 , MAV_CMD_GUIDED_CHANGE_HEADING = 43002 , } impl MavCmd { pub const DEFAULT : Self = Self :: MAV_CMD_NAV_WAYPOINT ; } impl Default for MavCmd { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalManagerCapFlags : u32 { const GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT = 1 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_NEUTRAL = 2 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_AXIS = 4 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_FOLLOW = 8 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_LOCK = 16 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_AXIS = 32 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_FOLLOW = 64 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_LOCK = 128 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_AXIS = 256 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_FOLLOW = 512 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_LOCK = 1024 ; const GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_INFINITE_YAW = 2048 ; const GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME = 4096 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_RC_INPUTS = 8192 ; const GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_LOCAL = 65536 ; const GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_GLOBAL = 131072 ; } } impl GimbalManagerCapFlags { pub const DEFAULT : Self = Self :: GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT ; } impl Default for GimbalManagerCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidOperatorIdType { MAV_ODID_OPERATOR_ID_TYPE_CAA = 0 , } impl MavOdidOperatorIdType { pub const DEFAULT : Self = Self :: MAV_ODID_OPERATOR_ID_TYPE_CAA ; } impl Default for MavOdidOperatorIdType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum HeadingType { HEADING_TYPE_COURSE_OVER_GROUND = 0 , HEADING_TYPE_HEADING = 1 , } impl HeadingType { pub const DEFAULT : Self = Self :: HEADING_TYPE_COURSE_OVER_GROUND ; } impl Default for HeadingType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraFeedbackFlags { CAMERA_FEEDBACK_PHOTO = 0 , CAMERA_FEEDBACK_VIDEO = 1 , CAMERA_FEEDBACK_BADEXPOSURE = 2 , CAMERA_FEEDBACK_CLOSEDLOOP = 3 , CAMERA_FEEDBACK_OPENLOOP = 4 , } impl CameraFeedbackFlags { pub const DEFAULT : Self = Self :: CAMERA_FEEDBACK_PHOTO ; } impl Default for CameraFeedbackFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavDistanceSensor { MAV_DISTANCE_SENSOR_LASER = 0 , MAV_DISTANCE_SENSOR_ULTRASOUND = 1 , MAV_DISTANCE_SENSOR_INFRARED = 2 , MAV_DISTANCE_SENSOR_RADAR = 3 , MAV_DISTANCE_SENSOR_UNKNOWN = 4 , } impl MavDistanceSensor { pub const DEFAULT : Self = Self :: MAV_DISTANCE_SENSOR_LASER ; } impl Default for MavDistanceSensor { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavionixAdsbOutCfgAircraftSize { UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA = 0 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L15M_W23M = 1 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25M_W28P5M = 2 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25_34M = 3 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_33M = 4 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_38M = 5 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_39P5M = 6 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_45M = 7 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_45M = 8 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_52M = 9 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_59P5M = 10 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_67M = 11 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W72P5M = 12 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W80M = 13 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W80M = 14 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W90M = 15 , } impl UavionixAdsbOutCfgAircraftSize { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA ; } impl Default for UavionixAdsbOutCfgAircraftSize { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UavionixAdsbRfHealth : u8 { const UAVIONIX_ADSB_RF_HEALTH_INITIALIZING = 0 ; const UAVIONIX_ADSB_RF_HEALTH_OK = 1 ; const UAVIONIX_ADSB_RF_HEALTH_FAIL_TX = 2 ; const UAVIONIX_ADSB_RF_HEALTH_FAIL_RX = 16 ; } } impl UavionixAdsbRfHealth { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_RF_HEALTH_INITIALIZING ; } impl Default for UavionixAdsbRfHealth { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CellularNetworkRadioType { CELLULAR_NETWORK_RADIO_TYPE_NONE = 0 , CELLULAR_NETWORK_RADIO_TYPE_GSM = 1 , CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2 , CELLULAR_NETWORK_RADIO_TYPE_WCDMA = 3 , CELLULAR_NETWORK_RADIO_TYPE_LTE = 4 , } impl CellularNetworkRadioType { pub const DEFAULT : Self = Self :: CELLULAR_NETWORK_RADIO_TYPE_NONE ; } impl Default for CellularNetworkRadioType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavEventCurrentSequenceFlags : u8 { const MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET = 1 ; } } impl MavEventCurrentSequenceFlags { pub const DEFAULT : Self = Self :: MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET ; } impl Default for MavEventCurrentSequenceFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavSysStatusSensorExtended { MAV_SYS_STATUS_RECOVERY_SYSTEM = 1 , } impl MavSysStatusSensorExtended { pub const DEFAULT : Self = Self :: MAV_SYS_STATUS_RECOVERY_SYSTEM ; } impl Default for MavSysStatusSensorExtended { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidHorAcc { MAV_ODID_HOR_ACC_UNKNOWN = 0 , MAV_ODID_HOR_ACC_10NM = 1 , MAV_ODID_HOR_ACC_4NM = 2 , MAV_ODID_HOR_ACC_2NM = 3 , MAV_ODID_HOR_ACC_1NM = 4 , MAV_ODID_HOR_ACC_0_5NM = 5 , MAV_ODID_HOR_ACC_0_3NM = 6 , MAV_ODID_HOR_ACC_0_1NM = 7 , MAV_ODID_HOR_ACC_0_05NM = 8 , MAV_ODID_HOR_ACC_30_METER = 9 , MAV_ODID_HOR_ACC_10_METER = 10 , MAV_ODID_HOR_ACC_3_METER = 11 , MAV_ODID_HOR_ACC_1_METER = 12 , } impl MavOdidHorAcc { pub const DEFAULT : Self = Self :: MAV_ODID_HOR_ACC_UNKNOWN ; } impl Default for MavOdidHorAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MagCalStatus { MAG_CAL_NOT_STARTED = 0 , MAG_CAL_WAITING_TO_START = 1 , MAG_CAL_RUNNING_STEP_ONE = 2 , MAG_CAL_RUNNING_STEP_TWO = 3 , MAG_CAL_SUCCESS = 4 , MAG_CAL_FAILED = 5 , MAG_CAL_BAD_ORIENTATION = 6 , MAG_CAL_BAD_RADIUS = 7 , } impl MagCalStatus { pub const DEFAULT : Self = Self :: MAG_CAL_NOT_STARTED ; } impl Default for MagCalStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraZoomType { ZOOM_TYPE_STEP = 0 , ZOOM_TYPE_CONTINUOUS = 1 , ZOOM_TYPE_RANGE = 2 , ZOOM_TYPE_FOCAL_LENGTH = 3 , } impl CameraZoomType { pub const DEFAULT : Self = Self :: ZOOM_TYPE_STEP ; } impl Default for CameraZoomType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AdsbEmitterType { ADSB_EMITTER_TYPE_NO_INFO = 0 , ADSB_EMITTER_TYPE_LIGHT = 1 , ADSB_EMITTER_TYPE_SMALL = 2 , ADSB_EMITTER_TYPE_LARGE = 3 , ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE = 4 , ADSB_EMITTER_TYPE_HEAVY = 5 , ADSB_EMITTER_TYPE_HIGHLY_MANUV = 6 , ADSB_EMITTER_TYPE_ROTOCRAFT = 7 , ADSB_EMITTER_TYPE_UNASSIGNED = 8 , ADSB_EMITTER_TYPE_GLIDER = 9 , ADSB_EMITTER_TYPE_LIGHTER_AIR = 10 , ADSB_EMITTER_TYPE_PARACHUTE = 11 , ADSB_EMITTER_TYPE_ULTRA_LIGHT = 12 , ADSB_EMITTER_TYPE_UNASSIGNED2 = 13 , ADSB_EMITTER_TYPE_UAV = 14 , ADSB_EMITTER_TYPE_SPACE = 15 , ADSB_EMITTER_TYPE_UNASSGINED3 = 16 , ADSB_EMITTER_TYPE_EMERGENCY_SURFACE = 17 , ADSB_EMITTER_TYPE_SERVICE_SURFACE = 18 , ADSB_EMITTER_TYPE_POINT_OBSTACLE = 19 , } impl AdsbEmitterType { pub const DEFAULT : Self = Self :: ADSB_EMITTER_TYPE_NO_INFO ; } impl Default for AdsbEmitterType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HlFailureFlag : u16 { const HL_FAILURE_FLAG_GPS = 1 ; const HL_FAILURE_FLAG_DIFFERENTIAL_PRESSURE = 2 ; const HL_FAILURE_FLAG_ABSOLUTE_PRESSURE = 4 ; const HL_FAILURE_FLAG_3D_ACCEL = 8 ; const HL_FAILURE_FLAG_3D_GYRO = 16 ; const HL_FAILURE_FLAG_3D_MAG = 32 ; const HL_FAILURE_FLAG_TERRAIN = 64 ; const HL_FAILURE_FLAG_BATTERY = 128 ; const HL_FAILURE_FLAG_RC_RECEIVER = 256 ; const HL_FAILURE_FLAG_OFFBOARD_LINK = 512 ; const HL_FAILURE_FLAG_ENGINE = 1024 ; const HL_FAILURE_FLAG_GEOFENCE = 2048 ; const HL_FAILURE_FLAG_ESTIMATOR = 4096 ; const HL_FAILURE_FLAG_MISSION = 8192 ; } } impl HlFailureFlag { pub const DEFAULT : Self = Self :: HL_FAILURE_FLAG_GPS ; } impl Default for HlFailureFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidCategoryEu { MAV_ODID_CATEGORY_EU_UNDECLARED = 0 , MAV_ODID_CATEGORY_EU_OPEN = 1 , MAV_ODID_CATEGORY_EU_SPECIFIC = 2 , MAV_ODID_CATEGORY_EU_CERTIFIED = 3 , } impl MavOdidCategoryEu { pub const DEFAULT : Self = Self :: MAV_ODID_CATEGORY_EU_UNDECLARED ; } impl Default for MavOdidCategoryEu { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GimbalAxis { GIMBAL_AXIS_YAW = 0 , GIMBAL_AXIS_PITCH = 1 , GIMBAL_AXIS_ROLL = 2 , } impl GimbalAxis { pub const DEFAULT : Self = Self :: GIMBAL_AXIS_YAW ; } impl Default for GimbalAxis { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum SubMode { SUB_MODE_STABILIZE = 0 , SUB_MODE_ACRO = 1 , SUB_MODE_ALT_HOLD = 2 , SUB_MODE_AUTO = 3 , SUB_MODE_GUIDED = 4 , SUB_MODE_CIRCLE = 7 , SUB_MODE_SURFACE = 9 , SUB_MODE_POSHOLD = 16 , SUB_MODE_MANUAL = 19 , } impl SubMode { pub const DEFAULT : Self = Self :: SUB_MODE_STABILIZE ; } impl Default for SubMode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavModeFlag : u8 { const MAV_MODE_FLAG_SAFETY_ARMED = 128 ; const MAV_MODE_FLAG_MANUAL_INPUT_ENABLED = 64 ; const MAV_MODE_FLAG_HIL_ENABLED = 32 ; const MAV_MODE_FLAG_STABILIZE_ENABLED = 16 ; const MAV_MODE_FLAG_GUIDED_ENABLED = 8 ; const MAV_MODE_FLAG_AUTO_ENABLED = 4 ; const MAV_MODE_FLAG_TEST_ENABLED = 2 ; const MAV_MODE_FLAG_CUSTOM_MODE_ENABLED = 1 ; } } impl MavModeFlag { pub const DEFAULT : Self = Self :: MAV_MODE_FLAG_SAFETY_ARMED ; } impl Default for MavModeFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum RoverMode { ROVER_MODE_MANUAL = 0 , ROVER_MODE_ACRO = 1 , ROVER_MODE_STEERING = 3 , ROVER_MODE_HOLD = 4 , ROVER_MODE_LOITER = 5 , ROVER_MODE_FOLLOW = 6 , ROVER_MODE_SIMPLE = 7 , ROVER_MODE_AUTO = 10 , ROVER_MODE_RTL = 11 , ROVER_MODE_SMART_RTL = 12 , ROVER_MODE_GUIDED = 15 , ROVER_MODE_INITIALIZING = 16 , } impl RoverMode { pub const DEFAULT : Self = Self :: ROVER_MODE_MANUAL ; } impl Default for RoverMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum TrackerMode { TRACKER_MODE_MANUAL = 0 , TRACKER_MODE_STOP = 1 , TRACKER_MODE_SCAN = 2 , TRACKER_MODE_SERVO_TEST = 3 , TRACKER_MODE_AUTO = 10 , TRACKER_MODE_INITIALIZING = 16 , } impl TrackerMode { pub const DEFAULT : Self = Self :: TRACKER_MODE_MANUAL ; } impl Default for TrackerMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum PreflightStorageMissionAction { MISSION_READ_PERSISTENT = 0 , MISSION_WRITE_PERSISTENT = 1 , MISSION_RESET_DEFAULT = 2 , } impl PreflightStorageMissionAction { pub const DEFAULT : Self = Self :: MISSION_READ_PERSISTENT ; } impl Default for PreflightStorageMissionAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavSensorOrientation { MAV_SENSOR_ROTATION_NONE = 0 , MAV_SENSOR_ROTATION_YAW_45 = 1 , MAV_SENSOR_ROTATION_YAW_90 = 2 , MAV_SENSOR_ROTATION_YAW_135 = 3 , MAV_SENSOR_ROTATION_YAW_180 = 4 , MAV_SENSOR_ROTATION_YAW_225 = 5 , MAV_SENSOR_ROTATION_YAW_270 = 6 , MAV_SENSOR_ROTATION_YAW_315 = 7 , MAV_SENSOR_ROTATION_ROLL_180 = 8 , MAV_SENSOR_ROTATION_ROLL_180_YAW_45 = 9 , MAV_SENSOR_ROTATION_ROLL_180_YAW_90 = 10 , MAV_SENSOR_ROTATION_ROLL_180_YAW_135 = 11 , MAV_SENSOR_ROTATION_PITCH_180 = 12 , MAV_SENSOR_ROTATION_ROLL_180_YAW_225 = 13 , MAV_SENSOR_ROTATION_ROLL_180_YAW_270 = 14 , MAV_SENSOR_ROTATION_ROLL_180_YAW_315 = 15 , MAV_SENSOR_ROTATION_ROLL_90 = 16 , MAV_SENSOR_ROTATION_ROLL_90_YAW_45 = 17 , MAV_SENSOR_ROTATION_ROLL_90_YAW_90 = 18 , MAV_SENSOR_ROTATION_ROLL_90_YAW_135 = 19 , MAV_SENSOR_ROTATION_ROLL_270 = 20 , MAV_SENSOR_ROTATION_ROLL_270_YAW_45 = 21 , MAV_SENSOR_ROTATION_ROLL_270_YAW_90 = 22 , MAV_SENSOR_ROTATION_ROLL_270_YAW_135 = 23 , MAV_SENSOR_ROTATION_PITCH_90 = 24 , MAV_SENSOR_ROTATION_PITCH_270 = 25 , MAV_SENSOR_ROTATION_PITCH_180_YAW_90 = 26 , MAV_SENSOR_ROTATION_PITCH_180_YAW_270 = 27 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_90 = 28 , MAV_SENSOR_ROTATION_ROLL_180_PITCH_90 = 29 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_90 = 30 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_180 = 31 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_180 = 32 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_270 = 33 , MAV_SENSOR_ROTATION_ROLL_180_PITCH_270 = 34 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_270 = 35 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_180_YAW_90 = 36 , MAV_SENSOR_ROTATION_ROLL_90_YAW_270 = 37 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_68_YAW_293 = 38 , MAV_SENSOR_ROTATION_PITCH_315 = 39 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_315 = 40 , MAV_SENSOR_ROTATION_CUSTOM = 100 , } impl MavSensorOrientation { pub const DEFAULT : Self = Self :: MAV_SENSOR_ROTATION_NONE ; } impl Default for MavSensorOrientation { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproProtuneWhiteBalance { GOPRO_PROTUNE_WHITE_BALANCE_AUTO = 0 , GOPRO_PROTUNE_WHITE_BALANCE_3000K = 1 , GOPRO_PROTUNE_WHITE_BALANCE_5500K = 2 , GOPRO_PROTUNE_WHITE_BALANCE_6500K = 3 , GOPRO_PROTUNE_WHITE_BALANCE_RAW = 4 , } impl GoproProtuneWhiteBalance { pub const DEFAULT : Self = Self :: GOPRO_PROTUNE_WHITE_BALANCE_AUTO ; } impl Default for GoproProtuneWhiteBalance { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MotorTestThrottleType { MOTOR_TEST_THROTTLE_PERCENT = 0 , MOTOR_TEST_THROTTLE_PWM = 1 , MOTOR_TEST_THROTTLE_PILOT = 2 , MOTOR_TEST_COMPASS_CAL = 3 , } impl MotorTestThrottleType { pub const DEFAULT : Self = Self :: MOTOR_TEST_THROTTLE_PERCENT ; } impl Default for MotorTestThrottleType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum SetFocusType { FOCUS_TYPE_STEP = 0 , FOCUS_TYPE_CONTINUOUS = 1 , FOCUS_TYPE_RANGE = 2 , FOCUS_TYPE_METERS = 3 , FOCUS_TYPE_AUTO = 4 , FOCUS_TYPE_AUTO_SINGLE = 5 , FOCUS_TYPE_AUTO_CONTINUOUS = 6 , } impl SetFocusType { pub const DEFAULT : Self = Self :: FOCUS_TYPE_STEP ; } impl Default for SetFocusType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AdsbAltitudeType { ADSB_ALTITUDE_TYPE_PRESSURE_QNH = 0 , ADSB_ALTITUDE_TYPE_GEOMETRIC = 1 , } impl AdsbAltitudeType { pub const DEFAULT : Self = Self :: ADSB_ALTITUDE_TYPE_PRESSURE_QNH ; } impl Default for AdsbAltitudeType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FailureUnit { FAILURE_UNIT_SENSOR_GYRO = 0 , FAILURE_UNIT_SENSOR_ACCEL = 1 , FAILURE_UNIT_SENSOR_MAG = 2 , FAILURE_UNIT_SENSOR_BARO = 3 , FAILURE_UNIT_SENSOR_GPS = 4 , FAILURE_UNIT_SENSOR_OPTICAL_FLOW = 5 , FAILURE_UNIT_SENSOR_VIO = 6 , FAILURE_UNIT_SENSOR_DISTANCE_SENSOR = 7 , FAILURE_UNIT_SENSOR_AIRSPEED = 8 , FAILURE_UNIT_SYSTEM_BATTERY = 100 , FAILURE_UNIT_SYSTEM_MOTOR = 101 , FAILURE_UNIT_SYSTEM_SERVO = 102 , FAILURE_UNIT_SYSTEM_AVOIDANCE = 103 , FAILURE_UNIT_SYSTEM_RC_SIGNAL = 104 , FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL = 105 , } impl FailureUnit { pub const DEFAULT : Self = Self :: FAILURE_UNIT_SENSOR_GYRO ; } impl Default for FailureUnit { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproModel { GOPRO_MODEL_UNKNOWN = 0 , GOPRO_MODEL_HERO_3_PLUS_SILVER = 1 , GOPRO_MODEL_HERO_3_PLUS_BLACK = 2 , GOPRO_MODEL_HERO_4_SILVER = 3 , GOPRO_MODEL_HERO_4_BLACK = 4 , } impl GoproModel { pub const DEFAULT : Self = Self :: GOPRO_MODEL_UNKNOWN ; } impl Default for GoproModel { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavFtpErr { MAV_FTP_ERR_NONE = 0 , MAV_FTP_ERR_FAIL = 1 , MAV_FTP_ERR_FAILERRNO = 2 , MAV_FTP_ERR_INVALIDDATASIZE = 3 , MAV_FTP_ERR_INVALIDSESSION = 4 , MAV_FTP_ERR_NOSESSIONSAVAILABLE = 5 , MAV_FTP_ERR_EOF = 6 , MAV_FTP_ERR_UNKNOWNCOMMAND = 7 , MAV_FTP_ERR_FILEEXISTS = 8 , MAV_FTP_ERR_FILEPROTECTED = 9 , MAV_FTP_ERR_FILENOTFOUND = 10 , } impl MavFtpErr { pub const DEFAULT : Self = Self :: MAV_FTP_ERR_NONE ; } impl Default for MavFtpErr { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavlinkDataStreamType { MAVLINK_DATA_STREAM_IMG_JPEG = 0 , MAVLINK_DATA_STREAM_IMG_BMP = 1 , MAVLINK_DATA_STREAM_IMG_RAW8U = 2 , MAVLINK_DATA_STREAM_IMG_RAW32U = 3 , MAVLINK_DATA_STREAM_IMG_PGM = 4 , MAVLINK_DATA_STREAM_IMG_PNG = 5 , } impl MavlinkDataStreamType { pub const DEFAULT : Self = Self :: MAVLINK_DATA_STREAM_IMG_JPEG ; } impl Default for MavlinkDataStreamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GpsFixType { GPS_FIX_TYPE_NO_GPS = 0 , GPS_FIX_TYPE_NO_FIX = 1 , GPS_FIX_TYPE_2D_FIX = 2 , GPS_FIX_TYPE_3D_FIX = 3 , GPS_FIX_TYPE_DGPS = 4 , GPS_FIX_TYPE_RTK_FLOAT = 5 , GPS_FIX_TYPE_RTK_FIXED = 6 , GPS_FIX_TYPE_STATIC = 7 , GPS_FIX_TYPE_PPP = 8 , } impl GpsFixType { pub const DEFAULT : Self = Self :: GPS_FIX_TYPE_NO_GPS ; } impl Default for GpsFixType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum DeepstallStage { DEEPSTALL_STAGE_FLY_TO_LANDING = 0 , DEEPSTALL_STAGE_ESTIMATE_WIND = 1 , DEEPSTALL_STAGE_WAIT_FOR_BREAKOUT = 2 , DEEPSTALL_STAGE_FLY_TO_ARC = 3 , DEEPSTALL_STAGE_ARC = 4 , DEEPSTALL_STAGE_APPROACH = 5 , DEEPSTALL_STAGE_LAND = 6 , } impl DeepstallStage { pub const DEFAULT : Self = Self :: DEEPSTALL_STAGE_FLY_TO_LANDING ; } impl Default for DeepstallStage { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidVerAcc { MAV_ODID_VER_ACC_UNKNOWN = 0 , MAV_ODID_VER_ACC_150_METER = 1 , MAV_ODID_VER_ACC_45_METER = 2 , MAV_ODID_VER_ACC_25_METER = 3 , MAV_ODID_VER_ACC_10_METER = 4 , MAV_ODID_VER_ACC_3_METER = 5 , MAV_ODID_VER_ACC_1_METER = 6 , } impl MavOdidVerAcc { pub const DEFAULT : Self = Self :: MAV_ODID_VER_ACC_UNKNOWN ; } impl Default for MavOdidVerAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum VideoStreamStatusFlags { VIDEO_STREAM_STATUS_FLAGS_RUNNING = 1 , VIDEO_STREAM_STATUS_FLAGS_THERMAL = 2 , } impl VideoStreamStatusFlags { pub const DEFAULT : Self = Self :: VIDEO_STREAM_STATUS_FLAGS_RUNNING ; } impl Default for VideoStreamStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum LedControlPattern { LED_CONTROL_PATTERN_OFF = 0 , LED_CONTROL_PATTERN_FIRMWAREUPDATE = 1 , LED_CONTROL_PATTERN_CUSTOM = 255 , } impl LedControlPattern { pub const DEFAULT : Self = Self :: LED_CONTROL_PATTERN_OFF ; } impl Default for LedControlPattern { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum StorageUsageFlag { STORAGE_USAGE_FLAG_SET = 1 , STORAGE_USAGE_FLAG_PHOTO = 2 , STORAGE_USAGE_FLAG_VIDEO = 4 , STORAGE_USAGE_FLAG_LOGS = 8 , } impl StorageUsageFlag { pub const DEFAULT : Self = Self :: STORAGE_USAGE_FLAG_SET ; } impl Default for StorageUsageFlag { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GpsInputIgnoreFlags : u16 { const GPS_INPUT_IGNORE_FLAG_ALT = 1 ; const GPS_INPUT_IGNORE_FLAG_HDOP = 2 ; const GPS_INPUT_IGNORE_FLAG_VDOP = 4 ; const GPS_INPUT_IGNORE_FLAG_VEL_HORIZ = 8 ; const GPS_INPUT_IGNORE_FLAG_VEL_VERT = 16 ; const GPS_INPUT_IGNORE_FLAG_SPEED_ACCURACY = 32 ; const GPS_INPUT_IGNORE_FLAG_HORIZONTAL_ACCURACY = 64 ; const GPS_INPUT_IGNORE_FLAG_VERTICAL_ACCURACY = 128 ; } } impl GpsInputIgnoreFlags { pub const DEFAULT : Self = Self :: GPS_INPUT_IGNORE_FLAG_ALT ; } impl Default for GpsInputIgnoreFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavParamType { MAV_PARAM_TYPE_UINT8 = 1 , MAV_PARAM_TYPE_INT8 = 2 , MAV_PARAM_TYPE_UINT16 = 3 , MAV_PARAM_TYPE_INT16 = 4 , MAV_PARAM_TYPE_UINT32 = 5 , MAV_PARAM_TYPE_INT32 = 6 , MAV_PARAM_TYPE_UINT64 = 7 , MAV_PARAM_TYPE_INT64 = 8 , MAV_PARAM_TYPE_REAL32 = 9 , MAV_PARAM_TYPE_REAL64 = 10 , } impl MavParamType { pub const DEFAULT : Self = Self :: MAV_PARAM_TYPE_UINT8 ; } impl Default for MavParamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraMode { CAMERA_MODE_IMAGE = 0 , CAMERA_MODE_VIDEO = 1 , CAMERA_MODE_IMAGE_SURVEY = 2 , } impl CameraMode { pub const DEFAULT : Self = Self :: CAMERA_MODE_IMAGE ; } impl Default for CameraMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum DeviceOpBustype { DEVICE_OP_BUSTYPE_I2C = 0 , DEVICE_OP_BUSTYPE_SPI = 1 , } impl DeviceOpBustype { pub const DEFAULT : Self = Self :: DEVICE_OP_BUSTYPE_I2C ; } impl Default for DeviceOpBustype { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraTrackingTargetData { CAMERA_TRACKING_TARGET_DATA_NONE = 0 , CAMERA_TRACKING_TARGET_DATA_EMBEDDED = 1 , CAMERA_TRACKING_TARGET_DATA_RENDERED = 2 , CAMERA_TRACKING_TARGET_DATA_IN_STATUS = 4 , } impl CameraTrackingTargetData { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_TARGET_DATA_NONE ; } impl Default for CameraTrackingTargetData { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryMode { MAV_BATTERY_MODE_UNKNOWN = 0 , MAV_BATTERY_MODE_AUTO_DISCHARGING = 1 , MAV_BATTERY_MODE_HOT_SWAP = 2 , } impl MavBatteryMode { pub const DEFAULT : Self = Self :: MAV_BATTERY_MODE_UNKNOWN ; } impl Default for MavBatteryMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproProtuneGain { GOPRO_PROTUNE_GAIN_400 = 0 , GOPRO_PROTUNE_GAIN_800 = 1 , GOPRO_PROTUNE_GAIN_1600 = 2 , GOPRO_PROTUNE_GAIN_3200 = 3 , GOPRO_PROTUNE_GAIN_6400 = 4 , } impl GoproProtuneGain { pub const DEFAULT : Self = Self :: GOPRO_PROTUNE_GAIN_400 ; } impl Default for GoproProtuneGain { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AdsbFlags : u16 { const ADSB_FLAGS_VALID_COORDS = 1 ; const ADSB_FLAGS_VALID_ALTITUDE = 2 ; const ADSB_FLAGS_VALID_HEADING = 4 ; const ADSB_FLAGS_VALID_VELOCITY = 8 ; const ADSB_FLAGS_VALID_CALLSIGN = 16 ; const ADSB_FLAGS_VALID_SQUAWK = 32 ; const ADSB_FLAGS_SIMULATED = 64 ; const ADSB_FLAGS_VERTICAL_VELOCITY_VALID = 128 ; const ADSB_FLAGS_BARO_VALID = 256 ; const ADSB_FLAGS_SOURCE_UAT = 32768 ; } } impl AdsbFlags { pub const DEFAULT : Self = Self :: ADSB_FLAGS_VALID_COORDS ; } impl Default for AdsbFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavType { MAV_TYPE_GENERIC = 0 , MAV_TYPE_FIXED_WING = 1 , MAV_TYPE_QUADROTOR = 2 , MAV_TYPE_COAXIAL = 3 , MAV_TYPE_HELICOPTER = 4 , MAV_TYPE_ANTENNA_TRACKER = 5 , MAV_TYPE_GCS = 6 , MAV_TYPE_AIRSHIP = 7 , MAV_TYPE_FREE_BALLOON = 8 , MAV_TYPE_ROCKET = 9 , MAV_TYPE_GROUND_ROVER = 10 , MAV_TYPE_SURFACE_BOAT = 11 , MAV_TYPE_SUBMARINE = 12 , MAV_TYPE_HEXAROTOR = 13 , MAV_TYPE_OCTOROTOR = 14 , MAV_TYPE_TRICOPTER = 15 , MAV_TYPE_FLAPPING_WING = 16 , MAV_TYPE_KITE = 17 , MAV_TYPE_ONBOARD_CONTROLLER = 18 , MAV_TYPE_VTOL_TAILSITTER_DUOROTOR = 19 , MAV_TYPE_VTOL_TAILSITTER_QUADROTOR = 20 , MAV_TYPE_VTOL_TILTROTOR = 21 , MAV_TYPE_VTOL_FIXEDROTOR = 22 , MAV_TYPE_VTOL_TAILSITTER = 23 , MAV_TYPE_VTOL_TILTWING = 24 , MAV_TYPE_VTOL_RESERVED5 = 25 , MAV_TYPE_GIMBAL = 26 , MAV_TYPE_ADSB = 27 , MAV_TYPE_PARAFOIL = 28 , MAV_TYPE_DODECAROTOR = 29 , MAV_TYPE_CAMERA = 30 , MAV_TYPE_CHARGING_STATION = 31 , MAV_TYPE_FLARM = 32 , MAV_TYPE_SERVO = 33 , MAV_TYPE_ODID = 34 , MAV_TYPE_DECAROTOR = 35 , MAV_TYPE_BATTERY = 36 , MAV_TYPE_PARACHUTE = 37 , MAV_TYPE_LOG = 38 , MAV_TYPE_OSD = 39 , MAV_TYPE_IMU = 40 , MAV_TYPE_GPS = 41 , MAV_TYPE_WINCH = 42 , } impl MavType { pub const DEFAULT : Self = Self :: MAV_TYPE_GENERIC ; } impl Default for MavType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LimitModule : u8 { const LIMIT_GPSLOCK = 1 ; const LIMIT_GEOFENCE = 2 ; const LIMIT_ALTITUDE = 4 ; } } impl LimitModule { pub const DEFAULT : Self = Self :: LIMIT_GPSLOCK ; } impl Default for LimitModule { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproRequestStatus { GOPRO_REQUEST_SUCCESS = 0 , GOPRO_REQUEST_FAILED = 1 , } impl GoproRequestStatus { pub const DEFAULT : Self = Self :: GOPRO_REQUEST_SUCCESS ; } impl Default for GoproRequestStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavRemoteLogDataBlockStatuses { MAV_REMOTE_LOG_DATA_BLOCK_NACK = 0 , MAV_REMOTE_LOG_DATA_BLOCK_ACK = 1 , } impl MavRemoteLogDataBlockStatuses { pub const DEFAULT : Self = Self :: MAV_REMOTE_LOG_DATA_BLOCK_NACK ; } impl Default for MavRemoteLogDataBlockStatuses { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavParamExtType { MAV_PARAM_EXT_TYPE_UINT8 = 1 , MAV_PARAM_EXT_TYPE_INT8 = 2 , MAV_PARAM_EXT_TYPE_UINT16 = 3 , MAV_PARAM_EXT_TYPE_INT16 = 4 , MAV_PARAM_EXT_TYPE_UINT32 = 5 , MAV_PARAM_EXT_TYPE_INT32 = 6 , MAV_PARAM_EXT_TYPE_UINT64 = 7 , MAV_PARAM_EXT_TYPE_INT64 = 8 , MAV_PARAM_EXT_TYPE_REAL32 = 9 , MAV_PARAM_EXT_TYPE_REAL64 = 10 , MAV_PARAM_EXT_TYPE_CUSTOM = 11 , } impl MavParamExtType { pub const DEFAULT : Self = Self :: MAV_PARAM_EXT_TYPE_UINT8 ; } impl Default for MavParamExtType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceCapFlags : u16 { const GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT = 1 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL = 2 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS = 4 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW = 8 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK = 16 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS = 32 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW = 64 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK = 128 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS = 256 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW = 512 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK = 1024 ; const GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW = 2048 ; const GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME = 4096 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS = 8192 ; } } impl GimbalDeviceCapFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT ; } impl Default for GimbalDeviceCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum StorageType { STORAGE_TYPE_UNKNOWN = 0 , STORAGE_TYPE_USB_STICK = 1 , STORAGE_TYPE_SD = 2 , STORAGE_TYPE_MICROSD = 3 , STORAGE_TYPE_CF = 4 , STORAGE_TYPE_CFE = 5 , STORAGE_TYPE_XQD = 6 , STORAGE_TYPE_HD = 7 , STORAGE_TYPE_OTHER = 254 , } impl StorageType { pub const DEFAULT : Self = Self :: STORAGE_TYPE_UNKNOWN ; } impl Default for StorageType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryFunction { MAV_BATTERY_FUNCTION_UNKNOWN = 0 , MAV_BATTERY_FUNCTION_ALL = 1 , MAV_BATTERY_FUNCTION_PROPULSION = 2 , MAV_BATTERY_FUNCTION_AVIONICS = 3 , MAV_BATTERY_FUNCTION_PAYLOAD = 4 , } impl MavBatteryFunction { pub const DEFAULT : Self = Self :: MAV_BATTERY_FUNCTION_UNKNOWN ; } impl Default for MavBatteryFunction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum RtkBaselineCoordinateSystem { RTK_BASELINE_COORDINATE_SYSTEM_ECEF = 0 , RTK_BASELINE_COORDINATE_SYSTEM_NED = 1 , } impl RtkBaselineCoordinateSystem { pub const DEFAULT : Self = Self :: RTK_BASELINE_COORDINATE_SYSTEM_ECEF ; } impl Default for RtkBaselineCoordinateSystem { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UtmFlightState { UTM_FLIGHT_STATE_UNKNOWN = 1 , UTM_FLIGHT_STATE_GROUND = 2 , UTM_FLIGHT_STATE_AIRBORNE = 3 , UTM_FLIGHT_STATE_EMERGENCY = 16 , UTM_FLIGHT_STATE_NOCTRL = 32 , } impl UtmFlightState { pub const DEFAULT : Self = Self :: UTM_FLIGHT_STATE_UNKNOWN ; } impl Default for UtmFlightState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GimbalManagerFlags { GIMBAL_MANAGER_FLAGS_RETRACT = 1 , GIMBAL_MANAGER_FLAGS_NEUTRAL = 2 , GIMBAL_MANAGER_FLAGS_ROLL_LOCK = 4 , GIMBAL_MANAGER_FLAGS_PITCH_LOCK = 8 , GIMBAL_MANAGER_FLAGS_YAW_LOCK = 16 , GIMBAL_MANAGER_FLAGS_YAW_IN_VEHICLE_FRAME = 32 , GIMBAL_MANAGER_FLAGS_YAW_IN_EARTH_FRAME = 64 , GIMBAL_MANAGER_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME = 128 , GIMBAL_MANAGER_FLAGS_RC_EXCLUSIVE = 256 , GIMBAL_MANAGER_FLAGS_RC_MIXED = 512 , } impl GimbalManagerFlags { pub const DEFAULT : Self = Self :: GIMBAL_MANAGER_FLAGS_RETRACT ; } impl Default for GimbalManagerFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavResult { MAV_RESULT_ACCEPTED = 0 , MAV_RESULT_TEMPORARILY_REJECTED = 1 , MAV_RESULT_DENIED = 2 , MAV_RESULT_UNSUPPORTED = 3 , MAV_RESULT_FAILED = 4 , MAV_RESULT_IN_PROGRESS = 5 , MAV_RESULT_CANCELLED = 6 , } impl MavResult { pub const DEFAULT : Self = Self :: MAV_RESULT_ACCEPTED ; } impl Default for MavResult { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GripperActions { GRIPPER_ACTION_RELEASE = 0 , GRIPPER_ACTION_GRAB = 1 , } impl GripperActions { pub const DEFAULT : Self = Self :: GRIPPER_ACTION_RELEASE ; } impl Default for GripperActions { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EscFailureFlags : u16 { const ESC_FAILURE_NONE = 0 ; const ESC_FAILURE_OVER_CURRENT = 1 ; const ESC_FAILURE_OVER_VOLTAGE = 2 ; const ESC_FAILURE_OVER_TEMPERATURE = 4 ; const ESC_FAILURE_OVER_RPM = 8 ; const ESC_FAILURE_INCONSISTENT_CMD = 16 ; const ESC_FAILURE_MOTOR_STUCK = 32 ; const ESC_FAILURE_GENERIC = 64 ; } } impl EscFailureFlags { pub const DEFAULT : Self = Self :: ESC_FAILURE_NONE ; } impl Default for EscFailureFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CellularConfigResponse { CELLULAR_CONFIG_RESPONSE_ACCEPTED = 0 , CELLULAR_CONFIG_RESPONSE_APN_ERROR = 1 , CELLULAR_CONFIG_RESPONSE_PIN_ERROR = 2 , CELLULAR_CONFIG_RESPONSE_REJECTED = 3 , CELLULAR_CONFIG_BLOCKED_PUK_REQUIRED = 4 , } impl CellularConfigResponse { pub const DEFAULT : Self = Self :: CELLULAR_CONFIG_RESPONSE_ACCEPTED ; } impl Default for CellularConfigResponse { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum IcarousTrackBandTypes { ICAROUS_TRACK_BAND_TYPE_NONE = 0 , ICAROUS_TRACK_BAND_TYPE_NEAR = 1 , ICAROUS_TRACK_BAND_TYPE_RECOVERY = 2 , } impl IcarousTrackBandTypes { pub const DEFAULT : Self = Self :: ICAROUS_TRACK_BAND_TYPE_NONE ; } impl Default for IcarousTrackBandTypes { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum OrbitYawBehaviour { ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER = 0 , ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING = 1 , ORBIT_YAW_BEHAVIOUR_UNCONTROLLED = 2 , ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE = 3 , ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED = 4 , } impl OrbitYawBehaviour { pub const DEFAULT : Self = Self :: ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER ; } impl Default for OrbitYawBehaviour { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AccelcalVehiclePos { ACCELCAL_VEHICLE_POS_LEVEL = 1 , ACCELCAL_VEHICLE_POS_LEFT = 2 , ACCELCAL_VEHICLE_POS_RIGHT = 3 , ACCELCAL_VEHICLE_POS_NOSEDOWN = 4 , ACCELCAL_VEHICLE_POS_NOSEUP = 5 , ACCELCAL_VEHICLE_POS_BACK = 6 , ACCELCAL_VEHICLE_POS_SUCCESS = 16777215 , ACCELCAL_VEHICLE_POS_FAILED = 16777216 , } impl AccelcalVehiclePos { pub const DEFAULT : Self = Self :: ACCELCAL_VEHICLE_POS_LEVEL ; } impl Default for AccelcalVehiclePos { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum IcarousFmsState { ICAROUS_FMS_STATE_IDLE = 0 , ICAROUS_FMS_STATE_TAKEOFF = 1 , ICAROUS_FMS_STATE_CLIMB = 2 , ICAROUS_FMS_STATE_CRUISE = 3 , ICAROUS_FMS_STATE_APPROACH = 4 , ICAROUS_FMS_STATE_LAND = 5 , } impl IcarousFmsState { pub const DEFAULT : Self = Self :: ICAROUS_FMS_STATE_IDLE ; } impl Default for IcarousFmsState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproVideoSettingsFlags { GOPRO_VIDEO_SETTINGS_TV_MODE = 1 , } impl GoproVideoSettingsFlags { pub const DEFAULT : Self = Self :: GOPRO_VIDEO_SETTINGS_TV_MODE ; } impl Default for GoproVideoSettingsFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum ScriptingCmd { SCRIPTING_CMD_REPL_START = 0 , SCRIPTING_CMD_REPL_STOP = 1 , SCRIPTING_CMD_STOP = 2 , SCRIPTING_CMD_STOP_AND_RESTART = 3 , } impl ScriptingCmd { pub const DEFAULT : Self = Self :: SCRIPTING_CMD_REPL_START ; } impl Default for ScriptingCmd { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCollisionAction { MAV_COLLISION_ACTION_NONE = 0 , MAV_COLLISION_ACTION_REPORT = 1 , MAV_COLLISION_ACTION_ASCEND_OR_DESCEND = 2 , MAV_COLLISION_ACTION_MOVE_HORIZONTALLY = 3 , MAV_COLLISION_ACTION_MOVE_PERPENDICULAR = 4 , MAV_COLLISION_ACTION_RTL = 5 , MAV_COLLISION_ACTION_HOVER = 6 , } impl MavCollisionAction { pub const DEFAULT : Self = Self :: MAV_COLLISION_ACTION_NONE ; } impl Default for MavCollisionAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavDoRepositionFlags { MAV_DO_REPOSITION_FLAGS_CHANGE_MODE = 1 , } impl MavDoRepositionFlags { pub const DEFAULT : Self = Self :: MAV_DO_REPOSITION_FLAGS_CHANGE_MODE ; } impl Default for MavDoRepositionFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum ParachuteAction { PARACHUTE_DISABLE = 0 , PARACHUTE_ENABLE = 1 , PARACHUTE_RELEASE = 2 , } impl ParachuteAction { pub const DEFAULT : Self = Self :: PARACHUTE_DISABLE ; } impl Default for ParachuteAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidIdType { MAV_ODID_ID_TYPE_NONE = 0 , MAV_ODID_ID_TYPE_SERIAL_NUMBER = 1 , MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID = 2 , MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID = 3 , MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID = 4 , } impl MavOdidIdType { pub const DEFAULT : Self = Self :: MAV_ODID_ID_TYPE_NONE ; } impl Default for MavOdidIdType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidOperatorLocationType { MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF = 0 , MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS = 1 , MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED = 2 , } impl MavOdidOperatorLocationType { pub const DEFAULT : Self = Self :: MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF ; } impl Default for MavOdidOperatorLocationType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproResolution { GOPRO_RESOLUTION_480p = 0 , GOPRO_RESOLUTION_720p = 1 , GOPRO_RESOLUTION_960p = 2 , GOPRO_RESOLUTION_1080p = 3 , GOPRO_RESOLUTION_1440p = 4 , GOPRO_RESOLUTION_2_7k_17_9 = 5 , GOPRO_RESOLUTION_2_7k_16_9 = 6 , GOPRO_RESOLUTION_2_7k_4_3 = 7 , GOPRO_RESOLUTION_4k_16_9 = 8 , GOPRO_RESOLUTION_4k_17_9 = 9 , GOPRO_RESOLUTION_720p_SUPERVIEW = 10 , GOPRO_RESOLUTION_1080p_SUPERVIEW = 11 , GOPRO_RESOLUTION_2_7k_SUPERVIEW = 12 , GOPRO_RESOLUTION_4k_SUPERVIEW = 13 , } impl GoproResolution { pub const DEFAULT : Self = Self :: GOPRO_RESOLUTION_480p ; } impl Default for GoproResolution { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum VtolTransitionHeading { VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT = 0 , VTOL_TRANSITION_HEADING_NEXT_WAYPOINT = 1 , VTOL_TRANSITION_HEADING_TAKEOFF = 2 , VTOL_TRANSITION_HEADING_SPECIFIED = 3 , VTOL_TRANSITION_HEADING_ANY = 4 , } impl VtolTransitionHeading { pub const DEFAULT : Self = Self :: VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT ; } impl Default for VtolTransitionHeading { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavRoi { MAV_ROI_NONE = 0 , MAV_ROI_WPNEXT = 1 , MAV_ROI_WPINDEX = 2 , MAV_ROI_LOCATION = 3 , MAV_ROI_TARGET = 4 , } impl MavRoi { pub const DEFAULT : Self = Self :: MAV_ROI_NONE ; } impl Default for MavRoi { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum OsdParamConfigError { OSD_PARAM_SUCCESS = 0 , OSD_PARAM_INVALID_SCREEN = 1 , OSD_PARAM_INVALID_PARAMETER_INDEX = 2 , OSD_PARAM_INVALID_PARAMETER = 3 , } impl OsdParamConfigError { pub const DEFAULT : Self = Self :: OSD_PARAM_SUCCESS ; } impl Default for OsdParamConfigError { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CameraCapFlags : u32 { const CAMERA_CAP_FLAGS_CAPTURE_VIDEO = 1 ; const CAMERA_CAP_FLAGS_CAPTURE_IMAGE = 2 ; const CAMERA_CAP_FLAGS_HAS_MODES = 4 ; const CAMERA_CAP_FLAGS_CAN_CAPTURE_IMAGE_IN_VIDEO_MODE = 8 ; const CAMERA_CAP_FLAGS_CAN_CAPTURE_VIDEO_IN_IMAGE_MODE = 16 ; const CAMERA_CAP_FLAGS_HAS_IMAGE_SURVEY_MODE = 32 ; const CAMERA_CAP_FLAGS_HAS_BASIC_ZOOM = 64 ; const CAMERA_CAP_FLAGS_HAS_BASIC_FOCUS = 128 ; const CAMERA_CAP_FLAGS_HAS_VIDEO_STREAM = 256 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_POINT = 512 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE = 1024 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_GEO_STATUS = 2048 ; } } impl CameraCapFlags { pub const DEFAULT : Self = Self :: CAMERA_CAP_FLAGS_CAPTURE_VIDEO ; } impl Default for CameraCapFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceErrorFlags : u32 { const GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT = 1 ; const GIMBAL_DEVICE_ERROR_FLAGS_AT_PITCH_LIMIT = 2 ; const GIMBAL_DEVICE_ERROR_FLAGS_AT_YAW_LIMIT = 4 ; const GIMBAL_DEVICE_ERROR_FLAGS_ENCODER_ERROR = 8 ; const GIMBAL_DEVICE_ERROR_FLAGS_POWER_ERROR = 16 ; const GIMBAL_DEVICE_ERROR_FLAGS_MOTOR_ERROR = 32 ; const GIMBAL_DEVICE_ERROR_FLAGS_SOFTWARE_ERROR = 64 ; const GIMBAL_DEVICE_ERROR_FLAGS_COMMS_ERROR = 128 ; const GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING = 256 ; const GIMBAL_DEVICE_ERROR_FLAGS_NO_MANAGER = 512 ; } } impl GimbalDeviceErrorFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT ; } impl Default for GimbalDeviceErrorFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavState { MAV_STATE_UNINIT = 0 , MAV_STATE_BOOT = 1 , MAV_STATE_CALIBRATING = 2 , MAV_STATE_STANDBY = 3 , MAV_STATE_ACTIVE = 4 , MAV_STATE_CRITICAL = 5 , MAV_STATE_EMERGENCY = 6 , MAV_STATE_POWEROFF = 7 , MAV_STATE_FLIGHT_TERMINATION = 8 , } impl MavState { pub const DEFAULT : Self = Self :: MAV_STATE_UNINIT ; } impl Default for MavState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavionixAdsbOutCfgGpsOffsetLat { UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA = 0 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_2M = 1 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_4M = 2 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_6M = 3 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_0M = 4 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_2M = 5 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_4M = 6 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_6M = 7 , } impl UavionixAdsbOutCfgGpsOffsetLat { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA ; } impl Default for UavionixAdsbOutCfgGpsOffsetLat { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PositionTargetTypemask : u16 { const POSITION_TARGET_TYPEMASK_X_IGNORE = 1 ; const POSITION_TARGET_TYPEMASK_Y_IGNORE = 2 ; const POSITION_TARGET_TYPEMASK_Z_IGNORE = 4 ; const POSITION_TARGET_TYPEMASK_VX_IGNORE = 8 ; const POSITION_TARGET_TYPEMASK_VY_IGNORE = 16 ; const POSITION_TARGET_TYPEMASK_VZ_IGNORE = 32 ; const POSITION_TARGET_TYPEMASK_AX_IGNORE = 64 ; const POSITION_TARGET_TYPEMASK_AY_IGNORE = 128 ; const POSITION_TARGET_TYPEMASK_AZ_IGNORE = 256 ; const POSITION_TARGET_TYPEMASK_FORCE_SET = 512 ; const POSITION_TARGET_TYPEMASK_YAW_IGNORE = 1024 ; const POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE = 2048 ; } } impl PositionTargetTypemask { pub const DEFAULT : Self = Self :: POSITION_TARGET_TYPEMASK_X_IGNORE ; } impl Default for PositionTargetTypemask { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavDataStream { MAV_DATA_STREAM_ALL = 0 , MAV_DATA_STREAM_RAW_SENSORS = 1 , MAV_DATA_STREAM_EXTENDED_STATUS = 2 , MAV_DATA_STREAM_RC_CHANNELS = 3 , MAV_DATA_STREAM_RAW_CONTROLLER = 4 , MAV_DATA_STREAM_POSITION = 6 , MAV_DATA_STREAM_EXTRA1 = 10 , MAV_DATA_STREAM_EXTRA2 = 11 , MAV_DATA_STREAM_EXTRA3 = 12 , } impl MavDataStream { pub const DEFAULT : Self = Self :: MAV_DATA_STREAM_ALL ; } impl Default for MavDataStream { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavionixAdsbOutDynamicGpsFix { UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0 = 0 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_1 = 1 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_2D = 2 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_3D = 3 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_DGPS = 4 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_RTK = 5 , } impl UavionixAdsbOutDynamicGpsFix { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0 ; } impl Default for UavionixAdsbOutDynamicGpsFix { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum ActuatorOutputFunction { ACTUATOR_OUTPUT_FUNCTION_NONE = 0 , ACTUATOR_OUTPUT_FUNCTION_MOTOR1 = 1 , ACTUATOR_OUTPUT_FUNCTION_MOTOR2 = 2 , ACTUATOR_OUTPUT_FUNCTION_MOTOR3 = 3 , ACTUATOR_OUTPUT_FUNCTION_MOTOR4 = 4 , ACTUATOR_OUTPUT_FUNCTION_MOTOR5 = 5 , ACTUATOR_OUTPUT_FUNCTION_MOTOR6 = 6 , ACTUATOR_OUTPUT_FUNCTION_MOTOR7 = 7 , ACTUATOR_OUTPUT_FUNCTION_MOTOR8 = 8 , ACTUATOR_OUTPUT_FUNCTION_MOTOR9 = 9 , ACTUATOR_OUTPUT_FUNCTION_MOTOR10 = 10 , ACTUATOR_OUTPUT_FUNCTION_MOTOR11 = 11 , ACTUATOR_OUTPUT_FUNCTION_MOTOR12 = 12 , ACTUATOR_OUTPUT_FUNCTION_MOTOR13 = 13 , ACTUATOR_OUTPUT_FUNCTION_MOTOR14 = 14 , ACTUATOR_OUTPUT_FUNCTION_MOTOR15 = 15 , ACTUATOR_OUTPUT_FUNCTION_MOTOR16 = 16 , ACTUATOR_OUTPUT_FUNCTION_SERVO1 = 33 , ACTUATOR_OUTPUT_FUNCTION_SERVO2 = 34 , ACTUATOR_OUTPUT_FUNCTION_SERVO3 = 35 , ACTUATOR_OUTPUT_FUNCTION_SERVO4 = 36 , ACTUATOR_OUTPUT_FUNCTION_SERVO5 = 37 , ACTUATOR_OUTPUT_FUNCTION_SERVO6 = 38 , ACTUATOR_OUTPUT_FUNCTION_SERVO7 = 39 , ACTUATOR_OUTPUT_FUNCTION_SERVO8 = 40 , ACTUATOR_OUTPUT_FUNCTION_SERVO9 = 41 , ACTUATOR_OUTPUT_FUNCTION_SERVO10 = 42 , ACTUATOR_OUTPUT_FUNCTION_SERVO11 = 43 , ACTUATOR_OUTPUT_FUNCTION_SERVO12 = 44 , ACTUATOR_OUTPUT_FUNCTION_SERVO13 = 45 , ACTUATOR_OUTPUT_FUNCTION_SERVO14 = 46 , ACTUATOR_OUTPUT_FUNCTION_SERVO15 = 47 , ACTUATOR_OUTPUT_FUNCTION_SERVO16 = 48 , } impl ActuatorOutputFunction { pub const DEFAULT : Self = Self :: ACTUATOR_OUTPUT_FUNCTION_NONE ; } impl Default for ActuatorOutputFunction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavSeverity { MAV_SEVERITY_EMERGENCY = 0 , MAV_SEVERITY_ALERT = 1 , MAV_SEVERITY_CRITICAL = 2 , MAV_SEVERITY_ERROR = 3 , MAV_SEVERITY_WARNING = 4 , MAV_SEVERITY_NOTICE = 5 , MAV_SEVERITY_INFO = 6 , MAV_SEVERITY_DEBUG = 7 , } impl MavSeverity { pub const DEFAULT : Self = Self :: MAV_SEVERITY_EMERGENCY ; } impl Default for MavSeverity { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidUaType { MAV_ODID_UA_TYPE_NONE = 0 , MAV_ODID_UA_TYPE_AEROPLANE = 1 , MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR = 2 , MAV_ODID_UA_TYPE_GYROPLANE = 3 , MAV_ODID_UA_TYPE_HYBRID_LIFT = 4 , MAV_ODID_UA_TYPE_ORNITHOPTER = 5 , MAV_ODID_UA_TYPE_GLIDER = 6 , MAV_ODID_UA_TYPE_KITE = 7 , MAV_ODID_UA_TYPE_FREE_BALLOON = 8 , MAV_ODID_UA_TYPE_CAPTIVE_BALLOON = 9 , MAV_ODID_UA_TYPE_AIRSHIP = 10 , MAV_ODID_UA_TYPE_FREE_FALL_PARACHUTE = 11 , MAV_ODID_UA_TYPE_ROCKET = 12 , MAV_ODID_UA_TYPE_TETHERED_POWERED_AIRCRAFT = 13 , MAV_ODID_UA_TYPE_GROUND_OBSTACLE = 14 , MAV_ODID_UA_TYPE_OTHER = 15 , } impl MavOdidUaType { pub const DEFAULT : Self = Self :: MAV_ODID_UA_TYPE_NONE ; } impl Default for MavOdidUaType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GimbalAxisCalibrationRequired { GIMBAL_AXIS_CALIBRATION_REQUIRED_UNKNOWN = 0 , GIMBAL_AXIS_CALIBRATION_REQUIRED_TRUE = 1 , GIMBAL_AXIS_CALIBRATION_REQUIRED_FALSE = 2 , } impl GimbalAxisCalibrationRequired { pub const DEFAULT : Self = Self :: GIMBAL_AXIS_CALIBRATION_REQUIRED_UNKNOWN ; } impl Default for GimbalAxisCalibrationRequired { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum ParamAck { PARAM_ACK_ACCEPTED = 0 , PARAM_ACK_VALUE_UNSUPPORTED = 1 , PARAM_ACK_FAILED = 2 , PARAM_ACK_IN_PROGRESS = 3 , } impl ParamAck { pub const DEFAULT : Self = Self :: PARAM_ACK_ACCEPTED ; } impl Default for ParamAck { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum VideoStreamType { VIDEO_STREAM_TYPE_RTSP = 0 , VIDEO_STREAM_TYPE_RTPUDP = 1 , VIDEO_STREAM_TYPE_TCP_MPEG = 2 , VIDEO_STREAM_TYPE_MPEG_TS_H264 = 3 , } impl VideoStreamType { pub const DEFAULT : Self = Self :: VIDEO_STREAM_TYPE_RTSP ; } impl Default for VideoStreamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidClassificationType { MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED = 0 , MAV_ODID_CLASSIFICATION_TYPE_EU = 1 , } impl MavOdidClassificationType { pub const DEFAULT : Self = Self :: MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED ; } impl Default for MavOdidClassificationType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum StorageStatus { STORAGE_STATUS_EMPTY = 0 , STORAGE_STATUS_UNFORMATTED = 1 , STORAGE_STATUS_READY = 2 , STORAGE_STATUS_NOT_SUPPORTED = 3 , } impl StorageStatus { pub const DEFAULT : Self = Self :: STORAGE_STATUS_EMPTY ; } impl Default for StorageStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavArmAuthDeniedReason { MAV_ARM_AUTH_DENIED_REASON_GENERIC = 0 , MAV_ARM_AUTH_DENIED_REASON_NONE = 1 , MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT = 2 , MAV_ARM_AUTH_DENIED_REASON_TIMEOUT = 3 , MAV_ARM_AUTH_DENIED_REASON_AIRSPACE_IN_USE = 4 , MAV_ARM_AUTH_DENIED_REASON_BAD_WEATHER = 5 , } impl MavArmAuthDeniedReason { pub const DEFAULT : Self = Self :: MAV_ARM_AUTH_DENIED_REASON_GENERIC ; } impl Default for MavArmAuthDeniedReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavTunnelPayloadType { MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN = 0 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0 = 200 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1 = 201 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED2 = 202 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED3 = 203 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED4 = 204 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED5 = 205 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED6 = 206 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED7 = 207 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED8 = 208 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED9 = 209 , } impl MavTunnelPayloadType { pub const DEFAULT : Self = Self :: MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN ; } impl Default for MavTunnelPayloadType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMissionType { MAV_MISSION_TYPE_MISSION = 0 , MAV_MISSION_TYPE_FENCE = 1 , MAV_MISSION_TYPE_RALLY = 2 , MAV_MISSION_TYPE_ALL = 255 , } impl MavMissionType { pub const DEFAULT : Self = Self :: MAV_MISSION_TYPE_MISSION ; } impl Default for MavMissionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AisType { AIS_TYPE_UNKNOWN = 0 , AIS_TYPE_RESERVED_1 = 1 , AIS_TYPE_RESERVED_2 = 2 , AIS_TYPE_RESERVED_3 = 3 , AIS_TYPE_RESERVED_4 = 4 , AIS_TYPE_RESERVED_5 = 5 , AIS_TYPE_RESERVED_6 = 6 , AIS_TYPE_RESERVED_7 = 7 , AIS_TYPE_RESERVED_8 = 8 , AIS_TYPE_RESERVED_9 = 9 , AIS_TYPE_RESERVED_10 = 10 , AIS_TYPE_RESERVED_11 = 11 , AIS_TYPE_RESERVED_12 = 12 , AIS_TYPE_RESERVED_13 = 13 , AIS_TYPE_RESERVED_14 = 14 , AIS_TYPE_RESERVED_15 = 15 , AIS_TYPE_RESERVED_16 = 16 , AIS_TYPE_RESERVED_17 = 17 , AIS_TYPE_RESERVED_18 = 18 , AIS_TYPE_RESERVED_19 = 19 , AIS_TYPE_WIG = 20 , AIS_TYPE_WIG_HAZARDOUS_A = 21 , AIS_TYPE_WIG_HAZARDOUS_B = 22 , AIS_TYPE_WIG_HAZARDOUS_C = 23 , AIS_TYPE_WIG_HAZARDOUS_D = 24 , AIS_TYPE_WIG_RESERVED_1 = 25 , AIS_TYPE_WIG_RESERVED_2 = 26 , AIS_TYPE_WIG_RESERVED_3 = 27 , AIS_TYPE_WIG_RESERVED_4 = 28 , AIS_TYPE_WIG_RESERVED_5 = 29 , AIS_TYPE_FISHING = 30 , AIS_TYPE_TOWING = 31 , AIS_TYPE_TOWING_LARGE = 32 , AIS_TYPE_DREDGING = 33 , AIS_TYPE_DIVING = 34 , AIS_TYPE_MILITARY = 35 , AIS_TYPE_SAILING = 36 , AIS_TYPE_PLEASURE = 37 , AIS_TYPE_RESERVED_20 = 38 , AIS_TYPE_RESERVED_21 = 39 , AIS_TYPE_HSC = 40 , AIS_TYPE_HSC_HAZARDOUS_A = 41 , AIS_TYPE_HSC_HAZARDOUS_B = 42 , AIS_TYPE_HSC_HAZARDOUS_C = 43 , AIS_TYPE_HSC_HAZARDOUS_D = 44 , AIS_TYPE_HSC_RESERVED_1 = 45 , AIS_TYPE_HSC_RESERVED_2 = 46 , AIS_TYPE_HSC_RESERVED_3 = 47 , AIS_TYPE_HSC_RESERVED_4 = 48 , AIS_TYPE_HSC_UNKNOWN = 49 , AIS_TYPE_PILOT = 50 , AIS_TYPE_SAR = 51 , AIS_TYPE_TUG = 52 , AIS_TYPE_PORT_TENDER = 53 , AIS_TYPE_ANTI_POLLUTION = 54 , AIS_TYPE_LAW_ENFORCEMENT = 55 , AIS_TYPE_SPARE_LOCAL_1 = 56 , AIS_TYPE_SPARE_LOCAL_2 = 57 , AIS_TYPE_MEDICAL_TRANSPORT = 58 , AIS_TYPE_NONECOMBATANT = 59 , AIS_TYPE_PASSENGER = 60 , AIS_TYPE_PASSENGER_HAZARDOUS_A = 61 , AIS_TYPE_PASSENGER_HAZARDOUS_B = 62 , AIS_TYPE_PASSENGER_HAZARDOUS_C = 63 , AIS_TYPE_PASSENGER_HAZARDOUS_D = 64 , AIS_TYPE_PASSENGER_RESERVED_1 = 65 , AIS_TYPE_PASSENGER_RESERVED_2 = 66 , AIS_TYPE_PASSENGER_RESERVED_3 = 67 , AIS_TYPE_PASSENGER_RESERVED_4 = 68 , AIS_TYPE_PASSENGER_UNKNOWN = 69 , AIS_TYPE_CARGO = 70 , AIS_TYPE_CARGO_HAZARDOUS_A = 71 , AIS_TYPE_CARGO_HAZARDOUS_B = 72 , AIS_TYPE_CARGO_HAZARDOUS_C = 73 , AIS_TYPE_CARGO_HAZARDOUS_D = 74 , AIS_TYPE_CARGO_RESERVED_1 = 75 , AIS_TYPE_CARGO_RESERVED_2 = 76 , AIS_TYPE_CARGO_RESERVED_3 = 77 , AIS_TYPE_CARGO_RESERVED_4 = 78 , AIS_TYPE_CARGO_UNKNOWN = 79 , AIS_TYPE_TANKER = 80 , AIS_TYPE_TANKER_HAZARDOUS_A = 81 , AIS_TYPE_TANKER_HAZARDOUS_B = 82 , AIS_TYPE_TANKER_HAZARDOUS_C = 83 , AIS_TYPE_TANKER_HAZARDOUS_D = 84 , AIS_TYPE_TANKER_RESERVED_1 = 85 , AIS_TYPE_TANKER_RESERVED_2 = 86 , AIS_TYPE_TANKER_RESERVED_3 = 87 , AIS_TYPE_TANKER_RESERVED_4 = 88 , AIS_TYPE_TANKER_UNKNOWN = 89 , AIS_TYPE_OTHER = 90 , AIS_TYPE_OTHER_HAZARDOUS_A = 91 , AIS_TYPE_OTHER_HAZARDOUS_B = 92 , AIS_TYPE_OTHER_HAZARDOUS_C = 93 , AIS_TYPE_OTHER_HAZARDOUS_D = 94 , AIS_TYPE_OTHER_RESERVED_1 = 95 , AIS_TYPE_OTHER_RESERVED_2 = 96 , AIS_TYPE_OTHER_RESERVED_3 = 97 , AIS_TYPE_OTHER_RESERVED_4 = 98 , AIS_TYPE_OTHER_UNKNOWN = 99 , } impl AisType { pub const DEFAULT : Self = Self :: AIS_TYPE_UNKNOWN ; } impl Default for AisType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavVtolState { MAV_VTOL_STATE_UNDEFINED = 0 , MAV_VTOL_STATE_TRANSITION_TO_FW = 1 , MAV_VTOL_STATE_TRANSITION_TO_MC = 2 , MAV_VTOL_STATE_MC = 3 , MAV_VTOL_STATE_FW = 4 , } impl MavVtolState { pub const DEFAULT : Self = Self :: MAV_VTOL_STATE_UNDEFINED ; } impl Default for MavVtolState { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HilSensorUpdatedFlags : u32 { const HIL_SENSOR_UPDATED_NONE = 0 ; const HIL_SENSOR_UPDATED_XACC = 1 ; const HIL_SENSOR_UPDATED_YACC = 2 ; const HIL_SENSOR_UPDATED_ZACC = 4 ; const HIL_SENSOR_UPDATED_XGYRO = 8 ; const HIL_SENSOR_UPDATED_YGYRO = 16 ; const HIL_SENSOR_UPDATED_ZGYRO = 32 ; const HIL_SENSOR_UPDATED_XMAG = 64 ; const HIL_SENSOR_UPDATED_YMAG = 128 ; const HIL_SENSOR_UPDATED_ZMAG = 256 ; const HIL_SENSOR_UPDATED_ABS_PRESSURE = 512 ; const HIL_SENSOR_UPDATED_DIFF_PRESSURE = 1024 ; const HIL_SENSOR_UPDATED_PRESSURE_ALT = 2048 ; const HIL_SENSOR_UPDATED_TEMPERATURE = 4096 ; const HIL_SENSOR_UPDATED_RESET = 2147483648 ; } } impl HilSensorUpdatedFlags { pub const DEFAULT : Self = Self :: HIL_SENSOR_UPDATED_NONE ; } impl Default for HilSensorUpdatedFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavComponent { MAV_COMP_ID_ALL = 0 , MAV_COMP_ID_AUTOPILOT1 = 1 , MAV_COMP_ID_USER1 = 25 , MAV_COMP_ID_USER2 = 26 , MAV_COMP_ID_USER3 = 27 , MAV_COMP_ID_USER4 = 28 , MAV_COMP_ID_USER5 = 29 , MAV_COMP_ID_USER6 = 30 , MAV_COMP_ID_USER7 = 31 , MAV_COMP_ID_USER8 = 32 , MAV_COMP_ID_USER9 = 33 , MAV_COMP_ID_USER10 = 34 , MAV_COMP_ID_USER11 = 35 , MAV_COMP_ID_USER12 = 36 , MAV_COMP_ID_USER13 = 37 , MAV_COMP_ID_USER14 = 38 , MAV_COMP_ID_USER15 = 39 , MAV_COMP_ID_USER16 = 40 , MAV_COMP_ID_USER17 = 41 , MAV_COMP_ID_USER18 = 42 , MAV_COMP_ID_USER19 = 43 , MAV_COMP_ID_USER20 = 44 , MAV_COMP_ID_USER21 = 45 , MAV_COMP_ID_USER22 = 46 , MAV_COMP_ID_USER23 = 47 , MAV_COMP_ID_USER24 = 48 , MAV_COMP_ID_USER25 = 49 , MAV_COMP_ID_USER26 = 50 , MAV_COMP_ID_USER27 = 51 , MAV_COMP_ID_USER28 = 52 , MAV_COMP_ID_USER29 = 53 , MAV_COMP_ID_USER30 = 54 , MAV_COMP_ID_USER31 = 55 , MAV_COMP_ID_USER32 = 56 , MAV_COMP_ID_USER33 = 57 , MAV_COMP_ID_USER34 = 58 , MAV_COMP_ID_USER35 = 59 , MAV_COMP_ID_USER36 = 60 , MAV_COMP_ID_USER37 = 61 , MAV_COMP_ID_USER38 = 62 , MAV_COMP_ID_USER39 = 63 , MAV_COMP_ID_USER40 = 64 , MAV_COMP_ID_USER41 = 65 , MAV_COMP_ID_USER42 = 66 , MAV_COMP_ID_USER43 = 67 , MAV_COMP_ID_TELEMETRY_RADIO = 68 , MAV_COMP_ID_USER45 = 69 , MAV_COMP_ID_USER46 = 70 , MAV_COMP_ID_USER47 = 71 , MAV_COMP_ID_USER48 = 72 , MAV_COMP_ID_USER49 = 73 , MAV_COMP_ID_USER50 = 74 , MAV_COMP_ID_USER51 = 75 , MAV_COMP_ID_USER52 = 76 , MAV_COMP_ID_USER53 = 77 , MAV_COMP_ID_USER54 = 78 , MAV_COMP_ID_USER55 = 79 , MAV_COMP_ID_USER56 = 80 , MAV_COMP_ID_USER57 = 81 , MAV_COMP_ID_USER58 = 82 , MAV_COMP_ID_USER59 = 83 , MAV_COMP_ID_USER60 = 84 , MAV_COMP_ID_USER61 = 85 , MAV_COMP_ID_USER62 = 86 , MAV_COMP_ID_USER63 = 87 , MAV_COMP_ID_USER64 = 88 , MAV_COMP_ID_USER65 = 89 , MAV_COMP_ID_USER66 = 90 , MAV_COMP_ID_USER67 = 91 , MAV_COMP_ID_USER68 = 92 , MAV_COMP_ID_USER69 = 93 , MAV_COMP_ID_USER70 = 94 , MAV_COMP_ID_USER71 = 95 , MAV_COMP_ID_USER72 = 96 , MAV_COMP_ID_USER73 = 97 , MAV_COMP_ID_USER74 = 98 , MAV_COMP_ID_USER75 = 99 , MAV_COMP_ID_CAMERA = 100 , MAV_COMP_ID_CAMERA2 = 101 , MAV_COMP_ID_CAMERA3 = 102 , MAV_COMP_ID_CAMERA4 = 103 , MAV_COMP_ID_CAMERA5 = 104 , MAV_COMP_ID_CAMERA6 = 105 , MAV_COMP_ID_SERVO1 = 140 , MAV_COMP_ID_SERVO2 = 141 , MAV_COMP_ID_SERVO3 = 142 , MAV_COMP_ID_SERVO4 = 143 , MAV_COMP_ID_SERVO5 = 144 , MAV_COMP_ID_SERVO6 = 145 , MAV_COMP_ID_SERVO7 = 146 , MAV_COMP_ID_SERVO8 = 147 , MAV_COMP_ID_SERVO9 = 148 , MAV_COMP_ID_SERVO10 = 149 , MAV_COMP_ID_SERVO11 = 150 , MAV_COMP_ID_SERVO12 = 151 , MAV_COMP_ID_SERVO13 = 152 , MAV_COMP_ID_SERVO14 = 153 , MAV_COMP_ID_GIMBAL = 154 , MAV_COMP_ID_LOG = 155 , MAV_COMP_ID_ADSB = 156 , MAV_COMP_ID_OSD = 157 , MAV_COMP_ID_PERIPHERAL = 158 , MAV_COMP_ID_QX1_GIMBAL = 159 , MAV_COMP_ID_FLARM = 160 , MAV_COMP_ID_PARACHUTE = 161 , MAV_COMP_ID_WINCH = 169 , MAV_COMP_ID_GIMBAL2 = 171 , MAV_COMP_ID_GIMBAL3 = 172 , MAV_COMP_ID_GIMBAL4 = 173 , MAV_COMP_ID_GIMBAL5 = 174 , MAV_COMP_ID_GIMBAL6 = 175 , MAV_COMP_ID_BATTERY = 180 , MAV_COMP_ID_BATTERY2 = 181 , MAV_COMP_ID_MAVCAN = 189 , MAV_COMP_ID_MISSIONPLANNER = 190 , MAV_COMP_ID_ONBOARD_COMPUTER = 191 , MAV_COMP_ID_ONBOARD_COMPUTER2 = 192 , MAV_COMP_ID_ONBOARD_COMPUTER3 = 193 , MAV_COMP_ID_ONBOARD_COMPUTER4 = 194 , MAV_COMP_ID_PATHPLANNER = 195 , MAV_COMP_ID_OBSTACLE_AVOIDANCE = 196 , MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY = 197 , MAV_COMP_ID_PAIRING_MANAGER = 198 , MAV_COMP_ID_IMU = 200 , MAV_COMP_ID_IMU_2 = 201 , MAV_COMP_ID_IMU_3 = 202 , MAV_COMP_ID_GPS = 220 , MAV_COMP_ID_GPS2 = 221 , MAV_COMP_ID_ODID_TXRX_1 = 236 , MAV_COMP_ID_ODID_TXRX_2 = 237 , MAV_COMP_ID_ODID_TXRX_3 = 238 , MAV_COMP_ID_UDP_BRIDGE = 240 , MAV_COMP_ID_UART_BRIDGE = 241 , MAV_COMP_ID_TUNNEL_NODE = 242 , MAV_COMP_ID_SYSTEM_CONTROL = 250 , } impl MavComponent { pub const DEFAULT : Self = Self :: MAV_COMP_ID_ALL ; } impl Default for MavComponent { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavProtocolCapability : u64 { const MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT = 1 ; const MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT = 2 ; const MAV_PROTOCOL_CAPABILITY_MISSION_INT = 4 ; const MAV_PROTOCOL_CAPABILITY_COMMAND_INT = 8 ; const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE = 16 ; const MAV_PROTOCOL_CAPABILITY_FTP = 32 ; const MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET = 64 ; const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED = 128 ; const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT = 256 ; const MAV_PROTOCOL_CAPABILITY_TERRAIN = 512 ; const MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET = 1024 ; const MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION = 2048 ; const MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION = 4096 ; const MAV_PROTOCOL_CAPABILITY_MAVLINK2 = 8192 ; const MAV_PROTOCOL_CAPABILITY_MISSION_FENCE = 16384 ; const MAV_PROTOCOL_CAPABILITY_MISSION_RALLY = 32768 ; const MAV_PROTOCOL_CAPABILITY_RESERVED2 = 65536 ; const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST = 131072 ; } } impl MavProtocolCapability { pub const DEFAULT : Self = Self :: MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT ; } impl Default for MavProtocolCapability { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidHeightRef { MAV_ODID_HEIGHT_REF_OVER_TAKEOFF = 0 , MAV_ODID_HEIGHT_REF_OVER_GROUND = 1 , } impl MavOdidHeightRef { pub const DEFAULT : Self = Self :: MAV_ODID_HEIGHT_REF_OVER_TAKEOFF ; } impl Default for MavOdidHeightRef { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FenceMitigate { FENCE_MITIGATE_UNKNOWN = 0 , FENCE_MITIGATE_NONE = 1 , FENCE_MITIGATE_VEL_LIMIT = 2 , } impl FenceMitigate { pub const DEFAULT : Self = Self :: FENCE_MITIGATE_UNKNOWN ; } impl Default for FenceMitigate { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidAuthType { MAV_ODID_AUTH_TYPE_NONE = 0 , MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE = 1 , MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE = 2 , MAV_ODID_AUTH_TYPE_MESSAGE_SET_SIGNATURE = 3 , MAV_ODID_AUTH_TYPE_NETWORK_REMOTE_ID = 4 , MAV_ODID_AUTH_TYPE_SPECIFIC_AUTHENTICATION = 5 , } impl MavOdidAuthType { pub const DEFAULT : Self = Self :: MAV_ODID_AUTH_TYPE_NONE ; } impl Default for MavOdidAuthType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMissionResult { MAV_MISSION_ACCEPTED = 0 , MAV_MISSION_ERROR = 1 , MAV_MISSION_UNSUPPORTED_FRAME = 2 , MAV_MISSION_UNSUPPORTED = 3 , MAV_MISSION_NO_SPACE = 4 , MAV_MISSION_INVALID = 5 , MAV_MISSION_INVALID_PARAM1 = 6 , MAV_MISSION_INVALID_PARAM2 = 7 , MAV_MISSION_INVALID_PARAM3 = 8 , MAV_MISSION_INVALID_PARAM4 = 9 , MAV_MISSION_INVALID_PARAM5_X = 10 , MAV_MISSION_INVALID_PARAM6_Y = 11 , MAV_MISSION_INVALID_PARAM7 = 12 , MAV_MISSION_INVALID_SEQUENCE = 13 , MAV_MISSION_DENIED = 14 , MAV_MISSION_OPERATION_CANCELLED = 15 , } impl MavMissionResult { pub const DEFAULT : Self = Self :: MAV_MISSION_ACCEPTED ; } impl Default for MavMissionResult { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FailureType { FAILURE_TYPE_OK = 0 , FAILURE_TYPE_OFF = 1 , FAILURE_TYPE_STUCK = 2 , FAILURE_TYPE_GARBAGE = 3 , FAILURE_TYPE_WRONG = 4 , FAILURE_TYPE_SLOW = 5 , FAILURE_TYPE_DELAYED = 6 , FAILURE_TYPE_INTERMITTENT = 7 , } impl FailureType { pub const DEFAULT : Self = Self :: FAILURE_TYPE_OK ; } impl Default for FailureType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AisFlags : u16 { const AIS_FLAGS_POSITION_ACCURACY = 1 ; const AIS_FLAGS_VALID_COG = 2 ; const AIS_FLAGS_VALID_VELOCITY = 4 ; const AIS_FLAGS_HIGH_VELOCITY = 8 ; const AIS_FLAGS_VALID_TURN_RATE = 16 ; const AIS_FLAGS_TURN_RATE_SIGN_ONLY = 32 ; const AIS_FLAGS_VALID_DIMENSIONS = 64 ; const AIS_FLAGS_LARGE_BOW_DIMENSION = 128 ; const AIS_FLAGS_LARGE_STERN_DIMENSION = 256 ; const AIS_FLAGS_LARGE_PORT_DIMENSION = 512 ; const AIS_FLAGS_LARGE_STARBOARD_DIMENSION = 1024 ; const AIS_FLAGS_VALID_CALLSIGN = 2048 ; const AIS_FLAGS_VALID_NAME = 4096 ; } } impl AisFlags { pub const DEFAULT : Self = Self :: AIS_FLAGS_POSITION_ACCURACY ; } impl Default for AisFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidArmStatus { MAV_ODID_ARM_STATUS_GOOD_TO_ARM = 0 , MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC = 1 , } impl MavOdidArmStatus { pub const DEFAULT : Self = Self :: MAV_ODID_ARM_STATUS_GOOD_TO_ARM ; } impl Default for MavOdidArmStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum OsdParamConfigType { OSD_PARAM_NONE = 0 , OSD_PARAM_SERIAL_PROTOCOL = 1 , OSD_PARAM_SERVO_FUNCTION = 2 , OSD_PARAM_AUX_FUNCTION = 3 , OSD_PARAM_FLIGHT_MODE = 4 , OSD_PARAM_FAILSAFE_ACTION = 5 , OSD_PARAM_FAILSAFE_ACTION_1 = 6 , OSD_PARAM_FAILSAFE_ACTION_2 = 7 , OSD_PARAM_NUM_TYPES = 8 , } impl OsdParamConfigType { pub const DEFAULT : Self = Self :: OSD_PARAM_NONE ; } impl Default for OsdParamConfigType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum WifiConfigApMode { WIFI_CONFIG_AP_MODE_UNDEFINED = 0 , WIFI_CONFIG_AP_MODE_AP = 1 , WIFI_CONFIG_AP_MODE_STATION = 2 , WIFI_CONFIG_AP_MODE_DISABLED = 3 , } impl WifiConfigApMode { pub const DEFAULT : Self = Self :: WIFI_CONFIG_AP_MODE_UNDEFINED ; } impl Default for WifiConfigApMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum NavVtolLandOptions { NAV_VTOL_LAND_OPTIONS_DEFAULT = 0 , NAV_VTOL_LAND_OPTIONS_FW_DESCENT = 1 , NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT = 2 , } impl NavVtolLandOptions { pub const DEFAULT : Self = Self :: NAV_VTOL_LAND_OPTIONS_DEFAULT ; } impl Default for NavVtolLandOptions { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GoproHeartbeatFlags : u8 { const GOPRO_FLAG_RECORDING = 1 ; } } impl GoproHeartbeatFlags { pub const DEFAULT : Self = Self :: GOPRO_FLAG_RECORDING ; } impl Default for GoproHeartbeatFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproCaptureMode { GOPRO_CAPTURE_MODE_VIDEO = 0 , GOPRO_CAPTURE_MODE_PHOTO = 1 , GOPRO_CAPTURE_MODE_BURST = 2 , GOPRO_CAPTURE_MODE_TIME_LAPSE = 3 , GOPRO_CAPTURE_MODE_MULTI_SHOT = 4 , GOPRO_CAPTURE_MODE_PLAYBACK = 5 , GOPRO_CAPTURE_MODE_SETUP = 6 , GOPRO_CAPTURE_MODE_UNKNOWN = 255 , } impl GoproCaptureMode { pub const DEFAULT : Self = Self :: GOPRO_CAPTURE_MODE_VIDEO ; } impl Default for GoproCaptureMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavRemoteLogDataBlockCommands { MAV_REMOTE_LOG_DATA_BLOCK_STOP = 2147483645 , MAV_REMOTE_LOG_DATA_BLOCK_START = 2147483646 , } impl MavRemoteLogDataBlockCommands { pub const DEFAULT : Self = Self :: MAV_REMOTE_LOG_DATA_BLOCK_STOP ; } impl Default for MavRemoteLogDataBlockCommands { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCollisionThreatLevel { MAV_COLLISION_THREAT_LEVEL_NONE = 0 , MAV_COLLISION_THREAT_LEVEL_LOW = 1 , MAV_COLLISION_THREAT_LEVEL_HIGH = 2 , } impl MavCollisionThreatLevel { pub const DEFAULT : Self = Self :: MAV_COLLISION_THREAT_LEVEL_NONE ; } impl Default for MavCollisionThreatLevel { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UtmDataAvailFlags : u8 { const UTM_DATA_AVAIL_FLAGS_TIME_VALID = 1 ; const UTM_DATA_AVAIL_FLAGS_UAS_ID_AVAILABLE = 2 ; const UTM_DATA_AVAIL_FLAGS_POSITION_AVAILABLE = 4 ; const UTM_DATA_AVAIL_FLAGS_ALTITUDE_AVAILABLE = 8 ; const UTM_DATA_AVAIL_FLAGS_RELATIVE_ALTITUDE_AVAILABLE = 16 ; const UTM_DATA_AVAIL_FLAGS_HORIZONTAL_VELO_AVAILABLE = 32 ; const UTM_DATA_AVAIL_FLAGS_VERTICAL_VELO_AVAILABLE = 64 ; const UTM_DATA_AVAIL_FLAGS_NEXT_WAYPOINT_AVAILABLE = 128 ; } } impl UtmDataAvailFlags { pub const DEFAULT : Self = Self :: UTM_DATA_AVAIL_FLAGS_TIME_VALID ; } impl Default for UtmDataAvailFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GoproFieldOfView { GOPRO_FIELD_OF_VIEW_WIDE = 0 , GOPRO_FIELD_OF_VIEW_MEDIUM = 1 , GOPRO_FIELD_OF_VIEW_NARROW = 2 , } impl GoproFieldOfView { pub const DEFAULT : Self = Self :: GOPRO_FIELD_OF_VIEW_WIDE ; } impl Default for GoproFieldOfView { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavPowerStatus : u16 { const MAV_POWER_STATUS_BRICK_VALID = 1 ; const MAV_POWER_STATUS_SERVO_VALID = 2 ; const MAV_POWER_STATUS_USB_CONNECTED = 4 ; const MAV_POWER_STATUS_PERIPH_OVERCURRENT = 8 ; const MAV_POWER_STATUS_PERIPH_HIPOWER_OVERCURRENT = 16 ; const MAV_POWER_STATUS_CHANGED = 32 ; } } impl MavPowerStatus { pub const DEFAULT : Self = Self :: MAV_POWER_STATUS_BRICK_VALID ; } impl Default for MavPowerStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryType { MAV_BATTERY_TYPE_UNKNOWN = 0 , MAV_BATTERY_TYPE_LIPO = 1 , MAV_BATTERY_TYPE_LIFE = 2 , MAV_BATTERY_TYPE_LION = 3 , MAV_BATTERY_TYPE_NIMH = 4 , } impl MavBatteryType { pub const DEFAULT : Self = Self :: MAV_BATTERY_TYPE_UNKNOWN ; } impl Default for MavBatteryType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavcanNodeMode { UAVCAN_NODE_MODE_OPERATIONAL = 0 , UAVCAN_NODE_MODE_INITIALIZATION = 1 , UAVCAN_NODE_MODE_MAINTENANCE = 2 , UAVCAN_NODE_MODE_SOFTWARE_UPDATE = 3 , UAVCAN_NODE_MODE_OFFLINE = 7 , } impl UavcanNodeMode { pub const DEFAULT : Self = Self :: UAVCAN_NODE_MODE_OPERATIONAL ; } impl Default for UavcanNodeMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavAutopilot { MAV_AUTOPILOT_GENERIC = 0 , MAV_AUTOPILOT_RESERVED = 1 , MAV_AUTOPILOT_SLUGS = 2 , MAV_AUTOPILOT_ARDUPILOTMEGA = 3 , MAV_AUTOPILOT_OPENPILOT = 4 , MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY = 5 , MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY = 6 , MAV_AUTOPILOT_GENERIC_MISSION_FULL = 7 , MAV_AUTOPILOT_INVALID = 8 , MAV_AUTOPILOT_PPZ = 9 , MAV_AUTOPILOT_UDB = 10 , MAV_AUTOPILOT_FP = 11 , MAV_AUTOPILOT_PX4 = 12 , MAV_AUTOPILOT_SMACCMPILOT = 13 , MAV_AUTOPILOT_AUTOQUAD = 14 , MAV_AUTOPILOT_ARMAZILA = 15 , MAV_AUTOPILOT_AEROB = 16 , MAV_AUTOPILOT_ASLUAV = 17 , MAV_AUTOPILOT_SMARTAP = 18 , MAV_AUTOPILOT_AIRRAILS = 19 , MAV_AUTOPILOT_REFLEX = 20 , } impl MavAutopilot { pub const DEFAULT : Self = Self :: MAV_AUTOPILOT_GENERIC ; } impl Default for MavAutopilot { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidTimeAcc { MAV_ODID_TIME_ACC_UNKNOWN = 0 , MAV_ODID_TIME_ACC_0_1_SECOND = 1 , MAV_ODID_TIME_ACC_0_2_SECOND = 2 , MAV_ODID_TIME_ACC_0_3_SECOND = 3 , MAV_ODID_TIME_ACC_0_4_SECOND = 4 , MAV_ODID_TIME_ACC_0_5_SECOND = 5 , MAV_ODID_TIME_ACC_0_6_SECOND = 6 , MAV_ODID_TIME_ACC_0_7_SECOND = 7 , MAV_ODID_TIME_ACC_0_8_SECOND = 8 , MAV_ODID_TIME_ACC_0_9_SECOND = 9 , MAV_ODID_TIME_ACC_1_0_SECOND = 10 , MAV_ODID_TIME_ACC_1_1_SECOND = 11 , MAV_ODID_TIME_ACC_1_2_SECOND = 12 , MAV_ODID_TIME_ACC_1_3_SECOND = 13 , MAV_ODID_TIME_ACC_1_4_SECOND = 14 , MAV_ODID_TIME_ACC_1_5_SECOND = 15 , } impl MavOdidTimeAcc { pub const DEFAULT : Self = Self :: MAV_ODID_TIME_ACC_UNKNOWN ; } impl Default for MavOdidTimeAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCollisionSrc { MAV_COLLISION_SRC_ADSB = 0 , MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT = 1 , } impl MavCollisionSrc { pub const DEFAULT : Self = Self :: MAV_COLLISION_SRC_ADSB ; } impl Default for MavCollisionSrc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CompMetadataType { COMP_METADATA_TYPE_GENERAL = 0 , COMP_METADATA_TYPE_PARAMETER = 1 , COMP_METADATA_TYPE_COMMANDS = 2 , COMP_METADATA_TYPE_PERIPHERALS = 3 , COMP_METADATA_TYPE_EVENTS = 4 , COMP_METADATA_TYPE_ACTUATORS = 5 , } impl CompMetadataType { pub const DEFAULT : Self = Self :: COMP_METADATA_TYPE_GENERAL ; } impl Default for CompMetadataType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UavionixAdsbOutDynamicState : u16 { const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE = 1 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_AUTOPILOT_ENABLED = 2 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_NICBARO_CROSSCHECKED = 4 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_ON_GROUND = 8 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_IDENT = 16 ; } } impl UavionixAdsbOutDynamicState { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE ; } impl Default for UavionixAdsbOutDynamicState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraTrackingMode { CAMERA_TRACKING_MODE_NONE = 0 , CAMERA_TRACKING_MODE_POINT = 1 , CAMERA_TRACKING_MODE_RECTANGLE = 2 , } impl CameraTrackingMode { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_MODE_NONE ; } impl Default for CameraTrackingMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCmdAck { MAV_CMD_ACK_OK = 0 , MAV_CMD_ACK_ERR_FAIL = 1 , MAV_CMD_ACK_ERR_ACCESS_DENIED = 2 , MAV_CMD_ACK_ERR_NOT_SUPPORTED = 3 , MAV_CMD_ACK_ERR_COORDINATE_FRAME_NOT_SUPPORTED = 4 , MAV_CMD_ACK_ERR_COORDINATES_OUT_OF_RANGE = 5 , MAV_CMD_ACK_ERR_X_LAT_OUT_OF_RANGE = 6 , MAV_CMD_ACK_ERR_Y_LON_OUT_OF_RANGE = 7 , MAV_CMD_ACK_ERR_Z_ALT_OUT_OF_RANGE = 8 , } impl MavCmdAck { pub const DEFAULT : Self = Self :: MAV_CMD_ACK_OK ; } impl Default for MavCmdAck { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum WifiConfigApResponse { WIFI_CONFIG_AP_RESPONSE_UNDEFINED = 0 , WIFI_CONFIG_AP_RESPONSE_ACCEPTED = 1 , WIFI_CONFIG_AP_RESPONSE_REJECTED = 2 , WIFI_CONFIG_AP_RESPONSE_MODE_ERROR = 3 , WIFI_CONFIG_AP_RESPONSE_SSID_ERROR = 4 , WIFI_CONFIG_AP_RESPONSE_PASSWORD_ERROR = 5 , } impl WifiConfigApResponse { pub const DEFAULT : Self = Self :: WIFI_CONFIG_AP_RESPONSE_UNDEFINED ; } impl Default for WifiConfigApResponse { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryChargeState { MAV_BATTERY_CHARGE_STATE_UNDEFINED = 0 , MAV_BATTERY_CHARGE_STATE_OK = 1 , MAV_BATTERY_CHARGE_STATE_LOW = 2 , MAV_BATTERY_CHARGE_STATE_CRITICAL = 3 , MAV_BATTERY_CHARGE_STATE_EMERGENCY = 4 , MAV_BATTERY_CHARGE_STATE_FAILED = 5 , MAV_BATTERY_CHARGE_STATE_UNHEALTHY = 6 , MAV_BATTERY_CHARGE_STATE_CHARGING = 7 , } impl MavBatteryChargeState { pub const DEFAULT : Self = Self :: MAV_BATTERY_CHARGE_STATE_UNDEFINED ; } impl Default for MavBatteryChargeState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AutotuneAxis { AUTOTUNE_AXIS_DEFAULT = 0 , AUTOTUNE_AXIS_ROLL = 1 , AUTOTUNE_AXIS_PITCH = 2 , AUTOTUNE_AXIS_YAW = 4 , } impl AutotuneAxis { pub const DEFAULT : Self = Self :: AUTOTUNE_AXIS_DEFAULT ; } impl Default for AutotuneAxis { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMountMode { MAV_MOUNT_MODE_RETRACT = 0 , MAV_MOUNT_MODE_NEUTRAL = 1 , MAV_MOUNT_MODE_MAVLINK_TARGETING = 2 , MAV_MOUNT_MODE_RC_TARGETING = 3 , MAV_MOUNT_MODE_GPS_POINT = 4 , MAV_MOUNT_MODE_SYSID_TARGET = 5 , MAV_MOUNT_MODE_HOME_LOCATION = 6 , } impl MavMountMode { pub const DEFAULT : Self = Self :: MAV_MOUNT_MODE_RETRACT ; } impl Default for MavMountMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavionixAdsbOutCfgGpsOffsetLon { UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA = 0 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_APPLIED_BY_SENSOR = 1 , } impl UavionixAdsbOutCfgGpsOffsetLon { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA ; } impl Default for UavionixAdsbOutCfgGpsOffsetLon { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum LimitsState { LIMITS_INIT = 0 , LIMITS_DISABLED = 1 , LIMITS_ENABLED = 2 , LIMITS_TRIGGERED = 3 , LIMITS_RECOVERING = 4 , LIMITS_RECOVERED = 5 , } impl LimitsState { pub const DEFAULT : Self = Self :: LIMITS_INIT ; } impl Default for LimitsState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_DATA_DATA { pub ofs : u32 , pub count : u32 , pub id : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_DATA_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { ofs : 0_u32 , count : 0_u32 , id : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_DATA_DATA { type Message = MavMessage ; const ID : u32 = 119u32 ; const NAME : & 'static str = "LOG_REQUEST_DATA" ; const EXTRA_CRC : u8 = 116u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ofs = buf . get_u32_le () ; __struct . count = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ofs) ; __tmp . put_u32_le (self . count) ; __tmp . put_u16_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTH_KEY_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub key : [u8 ; 32] , } impl AUTH_KEY_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { key : [0_u8 ; 32usize] , } ; } impl Default for AUTH_KEY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTH_KEY_DATA { type Message = MavMessage ; const ID : u32 = 7u32 ; const NAME : & 'static str = "AUTH_KEY" ; const EXTRA_CRC : u8 = 119u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . key { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . key { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 40u32 ; const NAME : & 'static str = "MISSION_REQUEST" ; const EXTRA_CRC : u8 = 230u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_OPERATOR_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub operator_id_type : MavOdidOperatorIdType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub operator_id : [u8 ; 20] , } impl OPEN_DRONE_ID_OPERATOR_ID_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , operator_id_type : MavOdidOperatorIdType :: DEFAULT , operator_id : [0_u8 ; 20usize] , } ; } impl Default for OPEN_DRONE_ID_OPERATOR_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_OPERATOR_ID_DATA { type Message = MavMessage ; const ID : u32 = 12905u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_OPERATOR_ID" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . operator_id_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidOperatorIdType" , value : tmp as u32 }) ? ; for v in & mut __struct . operator_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . operator_id_type as u8) ; for val in & self . operator_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CELLULAR_CONFIG_DATA { pub enable_lte : u8 , pub enable_pin : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pin : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub new_pin : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub apn : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub puk : [u8 ; 16] , pub roaming : u8 , pub response : CellularConfigResponse , } impl CELLULAR_CONFIG_DATA { pub const ENCODED_LEN : usize = 84usize ; pub const DEFAULT : Self = Self { enable_lte : 0_u8 , enable_pin : 0_u8 , pin : [0_u8 ; 16usize] , new_pin : [0_u8 ; 16usize] , apn : [0_u8 ; 32usize] , puk : [0_u8 ; 16usize] , roaming : 0_u8 , response : CellularConfigResponse :: DEFAULT , } ; } impl Default for CELLULAR_CONFIG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CELLULAR_CONFIG_DATA { type Message = MavMessage ; const ID : u32 = 336u32 ; const NAME : & 'static str = "CELLULAR_CONFIG" ; const EXTRA_CRC : u8 = 245u8 ; const ENCODED_LEN : usize = 84usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . enable_lte = buf . get_u8 () ; __struct . enable_pin = buf . get_u8 () ; for v in & mut __struct . pin { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . new_pin { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . apn { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . puk { let val = buf . get_u8 () ; * v = val ; } __struct . roaming = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . response = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularConfigResponse" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . enable_lte) ; __tmp . put_u8 (self . enable_pin) ; for val in & self . pin { __tmp . put_u8 (* val) ; } for val in & self . new_pin { __tmp . put_u8 (* val) ; } for val in & self . apn { __tmp . put_u8 (* val) ; } for val in & self . puk { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . roaming) ; __tmp . put_u8 (self . response as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE3_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE3_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE3_DATA { type Message = MavMessage ; const ID : u32 = 143u32 ; const NAME : & 'static str = "SCALED_PRESSURE3" ; const EXTRA_CRC : u8 = 131u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CUBEPILOT_RAW_RC_DATA { } impl CUBEPILOT_RAW_RC_DATA { pub const ENCODED_LEN : usize = 0usize ; pub const DEFAULT : Self = Self { } ; } impl Default for CUBEPILOT_RAW_RC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CUBEPILOT_RAW_RC_DATA { type Message = MavMessage ; const ID : u32 = 50001u32 ; const NAME : & 'static str = "CUBEPILOT_RAW_RC" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 0usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { Ok (Self :: default ()) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LED_CONTROL_DATA { pub target_system : u8 , pub target_component : u8 , pub instance : u8 , pub pattern : u8 , pub custom_len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub custom_bytes : [u8 ; 24] , } impl LED_CONTROL_DATA { pub const ENCODED_LEN : usize = 29usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , instance : 0_u8 , pattern : 0_u8 , custom_len : 0_u8 , custom_bytes : [0_u8 ; 24usize] , } ; } impl Default for LED_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LED_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 186u32 ; const NAME : & 'static str = "LED_CONTROL" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 29usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . instance = buf . get_u8 () ; __struct . pattern = buf . get_u8 () ; __struct . custom_len = buf . get_u8 () ; for v in & mut __struct . custom_bytes { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . instance) ; __tmp . put_u8 (self . pattern) ; __tmp . put_u8 (self . custom_len) ; for val in & self . custom_bytes { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_GLOBAL_ORIGIN_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , } impl GPS_GLOBAL_ORIGIN_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , } ; } impl Default for GPS_GLOBAL_ORIGIN_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_GLOBAL_ORIGIN_DATA { type Message = MavMessage ; const ID : u32 = 49u32 ; const NAME : & 'static str = "GPS_GLOBAL_ORIGIN" ; const EXTRA_CRC : u8 = 39u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_STATUS_DATA { pub time_boot_ms : u32 , pub flags : GimbalManagerFlags , pub gimbal_device_id : u8 , pub primary_control_sysid : u8 , pub primary_control_compid : u8 , pub secondary_control_sysid : u8 , pub secondary_control_compid : u8 , } impl GIMBAL_MANAGER_STATUS_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , flags : GimbalManagerFlags :: DEFAULT , gimbal_device_id : 0_u8 , primary_control_sysid : 0_u8 , primary_control_compid : 0_u8 , secondary_control_sysid : 0_u8 , secondary_control_compid : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 281u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_STATUS" ; const EXTRA_CRC : u8 = 48u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . gimbal_device_id = buf . get_u8 () ; __struct . primary_control_sysid = buf . get_u8 () ; __struct . primary_control_compid = buf . get_u8 () ; __struct . secondary_control_sysid = buf . get_u8 () ; __struct . secondary_control_compid = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_u8 (self . gimbal_device_id) ; __tmp . put_u8 (self . primary_control_sysid) ; __tmp . put_u8 (self . primary_control_compid) ; __tmp . put_u8 (self . secondary_control_sysid) ; __tmp . put_u8 (self . secondary_control_compid) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AIS_VESSEL_DATA { pub MMSI : u32 , pub lat : i32 , pub lon : i32 , pub COG : u16 , pub heading : u16 , pub velocity : u16 , pub dimension_bow : u16 , pub dimension_stern : u16 , pub tslc : u16 , pub flags : AisFlags , pub turn_rate : i8 , pub navigational_status : AisNavStatus , pub mavtype : AisType , pub dimension_port : u8 , pub dimension_starboard : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 7] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 20] , } impl AIS_VESSEL_DATA { pub const ENCODED_LEN : usize = 58usize ; pub const DEFAULT : Self = Self { MMSI : 0_u32 , lat : 0_i32 , lon : 0_i32 , COG : 0_u16 , heading : 0_u16 , velocity : 0_u16 , dimension_bow : 0_u16 , dimension_stern : 0_u16 , tslc : 0_u16 , flags : AisFlags :: DEFAULT , turn_rate : 0_i8 , navigational_status : AisNavStatus :: DEFAULT , mavtype : AisType :: DEFAULT , dimension_port : 0_u8 , dimension_starboard : 0_u8 , callsign : [0_u8 ; 7usize] , name : [0_u8 ; 20usize] , } ; } impl Default for AIS_VESSEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AIS_VESSEL_DATA { type Message = MavMessage ; const ID : u32 = 301u32 ; const NAME : & 'static str = "AIS_VESSEL" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 58usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . MMSI = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . COG = buf . get_u16_le () ; __struct . heading = buf . get_u16_le () ; __struct . velocity = buf . get_u16_le () ; __struct . dimension_bow = buf . get_u16_le () ; __struct . dimension_stern = buf . get_u16_le () ; __struct . tslc = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = AisFlags :: from_bits (tmp & AisFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AisFlags" , value : tmp as u32 }) ? ; __struct . turn_rate = buf . get_i8 () ; let tmp = buf . get_u8 () ; __struct . navigational_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AisNavStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AisType" , value : tmp as u32 }) ? ; __struct . dimension_port = buf . get_u8 () ; __struct . dimension_starboard = buf . get_u8 () ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . MMSI) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . COG) ; __tmp . put_u16_le (self . heading) ; __tmp . put_u16_le (self . velocity) ; __tmp . put_u16_le (self . dimension_bow) ; __tmp . put_u16_le (self . dimension_stern) ; __tmp . put_u16_le (self . tslc) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_i8 (self . turn_rate) ; __tmp . put_u8 (self . navigational_status as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . dimension_port) ; __tmp . put_u8 (self . dimension_starboard) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU_DATA { type Message = MavMessage ; const ID : u32 = 26u32 ; const NAME : & 'static str = "SCALED_IMU" ; const EXTRA_CRC : u8 = 170u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_INFORMATION_DATA { pub time_boot_ms : u32 , pub firmware_version : u32 , pub focal_length : f32 , pub sensor_size_h : f32 , pub sensor_size_v : f32 , pub flags : CameraCapFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub cam_definition_version : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vendor_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub model_name : [u8 ; 32] , pub lens_id : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cam_definition_uri : [u8 ; 140] , } impl CAMERA_INFORMATION_DATA { pub const ENCODED_LEN : usize = 235usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , firmware_version : 0_u32 , focal_length : 0.0_f32 , sensor_size_h : 0.0_f32 , sensor_size_v : 0.0_f32 , flags : CameraCapFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , cam_definition_version : 0_u16 , vendor_name : [0_u8 ; 32usize] , model_name : [0_u8 ; 32usize] , lens_id : 0_u8 , cam_definition_uri : [0_u8 ; 140usize] , } ; } impl Default for CAMERA_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 259u32 ; const NAME : & 'static str = "CAMERA_INFORMATION" ; const EXTRA_CRC : u8 = 92u8 ; const ENCODED_LEN : usize = 235usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . firmware_version = buf . get_u32_le () ; __struct . focal_length = buf . get_f32_le () ; __struct . sensor_size_h = buf . get_f32_le () ; __struct . sensor_size_v = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . flags = CameraCapFlags :: from_bits (tmp & CameraCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "CameraCapFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . cam_definition_version = buf . get_u16_le () ; for v in & mut __struct . vendor_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . model_name { let val = buf . get_u8 () ; * v = val ; } __struct . lens_id = buf . get_u8 () ; for v in & mut __struct . cam_definition_uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . firmware_version) ; __tmp . put_f32_le (self . focal_length) ; __tmp . put_f32_le (self . sensor_size_h) ; __tmp . put_f32_le (self . sensor_size_v) ; __tmp . put_u32_le (self . flags . bits ()) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . cam_definition_version) ; for val in & self . vendor_name { __tmp . put_u8 (* val) ; } for val in & self . model_name { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . lens_id) ; for val in & self . cam_definition_uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_ATTITUDE_DATA { pub flags : GimbalManagerFlags , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_ATTITUDE_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 282u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_ATTITUDE" ; const EXTRA_CRC : u8 = 123u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SUPPORTED_TUNES_DATA { pub format : TuneFormat , pub target_system : u8 , pub target_component : u8 , } impl SUPPORTED_TUNES_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { format : TuneFormat :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SUPPORTED_TUNES_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SUPPORTED_TUNES_DATA { type Message = MavMessage ; const ID : u32 = 401u32 ; const NAME : & 'static str = "SUPPORTED_TUNES" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . format = TuneFormat :: from_bits (tmp & TuneFormat :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "TuneFormat" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . format . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RANGEFINDER_DATA { pub distance : f32 , pub voltage : f32 , } impl RANGEFINDER_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { distance : 0.0_f32 , voltage : 0.0_f32 , } ; } impl Default for RANGEFINDER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RANGEFINDER_DATA { type Message = MavMessage ; const ID : u32 = 173u32 ; const NAME : & 'static str = "RANGEFINDER" ; const EXTRA_CRC : u8 = 83u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . distance = buf . get_f32_le () ; __struct . voltage = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . distance) ; __tmp . put_f32_le (self . voltage) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_VISION_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl GLOBAL_VISION_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for GLOBAL_VISION_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_VISION_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 101u32 ; const NAME : & 'static str = "GLOBAL_VISION_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 102u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GENERATOR_STATUS_DATA { pub status : MavGeneratorStatusFlag , pub battery_current : f32 , pub load_current : f32 , pub power_generated : f32 , pub bus_voltage : f32 , pub bat_current_setpoint : f32 , pub runtime : u32 , pub time_until_maintenance : i32 , pub generator_speed : u16 , pub rectifier_temperature : i16 , pub generator_temperature : i16 , } impl GENERATOR_STATUS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { status : MavGeneratorStatusFlag :: DEFAULT , battery_current : 0.0_f32 , load_current : 0.0_f32 , power_generated : 0.0_f32 , bus_voltage : 0.0_f32 , bat_current_setpoint : 0.0_f32 , runtime : 0_u32 , time_until_maintenance : 0_i32 , generator_speed : 0_u16 , rectifier_temperature : 0_i16 , generator_temperature : 0_i16 , } ; } impl Default for GENERATOR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GENERATOR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 373u32 ; const NAME : & 'static str = "GENERATOR_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u64_le () ; __struct . status = MavGeneratorStatusFlag :: from_bits (tmp & MavGeneratorStatusFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavGeneratorStatusFlag" , value : tmp as u32 }) ? ; __struct . battery_current = buf . get_f32_le () ; __struct . load_current = buf . get_f32_le () ; __struct . power_generated = buf . get_f32_le () ; __struct . bus_voltage = buf . get_f32_le () ; __struct . bat_current_setpoint = buf . get_f32_le () ; __struct . runtime = buf . get_u32_le () ; __struct . time_until_maintenance = buf . get_i32_le () ; __struct . generator_speed = buf . get_u16_le () ; __struct . rectifier_temperature = buf . get_i16_le () ; __struct . generator_temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . status . bits ()) ; __tmp . put_f32_le (self . battery_current) ; __tmp . put_f32_le (self . load_current) ; __tmp . put_f32_le (self . power_generated) ; __tmp . put_f32_le (self . bus_voltage) ; __tmp . put_f32_le (self . bat_current_setpoint) ; __tmp . put_u32_le (self . runtime) ; __tmp . put_i32_le (self . time_until_maintenance) ; __tmp . put_u16_le (self . generator_speed) ; __tmp . put_i16_le (self . rectifier_temperature) ; __tmp . put_i16_le (self . generator_temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COLLISION_DATA { pub id : u32 , pub time_to_minimum_delta : f32 , pub altitude_minimum_delta : f32 , pub horizontal_minimum_delta : f32 , pub src : MavCollisionSrc , pub action : MavCollisionAction , pub threat_level : MavCollisionThreatLevel , } impl COLLISION_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { id : 0_u32 , time_to_minimum_delta : 0.0_f32 , altitude_minimum_delta : 0.0_f32 , horizontal_minimum_delta : 0.0_f32 , src : MavCollisionSrc :: DEFAULT , action : MavCollisionAction :: DEFAULT , threat_level : MavCollisionThreatLevel :: DEFAULT , } ; } impl Default for COLLISION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COLLISION_DATA { type Message = MavMessage ; const ID : u32 = 247u32 ; const NAME : & 'static str = "COLLISION" ; const EXTRA_CRC : u8 = 81u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . time_to_minimum_delta = buf . get_f32_le () ; __struct . altitude_minimum_delta = buf . get_f32_le () ; __struct . horizontal_minimum_delta = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . src = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionSrc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . action = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionAction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . threat_level = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionThreatLevel" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_f32_le (self . time_to_minimum_delta) ; __tmp . put_f32_le (self . altitude_minimum_delta) ; __tmp . put_f32_le (self . horizontal_minimum_delta) ; __tmp . put_u8 (self . src as u8) ; __tmp . put_u8 (self . action as u8) ; __tmp . put_u8 (self . threat_level as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { pub operator_latitude : i32 , pub operator_longitude : i32 , pub operator_altitude_geo : f32 , pub timestamp : u32 , pub target_system : u8 , pub target_component : u8 , } impl OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { operator_latitude : 0_i32 , operator_longitude : 0_i32 , operator_altitude_geo : 0.0_f32 , timestamp : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { type Message = MavMessage ; const ID : u32 = 12919u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SYSTEM_UPDATE" ; const EXTRA_CRC : u8 = 7u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . operator_latitude = buf . get_i32_le () ; __struct . operator_longitude = buf . get_i32_le () ; __struct . operator_altitude_geo = buf . get_f32_le () ; __struct . timestamp = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . operator_latitude) ; __tmp . put_i32_le (self . operator_longitude) ; __tmp . put_f32_le (self . operator_altitude_geo) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_INT_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_INT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_INT_DATA { type Message = MavMessage ; const ID : u32 = 51u32 ; const NAME : & 'static str = "MISSION_REQUEST_INT" ; const EXTRA_CRC : u8 = 196u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_DATA_DATA { pub lat : i32 , pub lon : i32 , pub grid_spacing : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [i16 ; 16] , pub gridbit : u8 , } impl TERRAIN_DATA_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , grid_spacing : 0_u16 , data : [0_i16 ; 16usize] , gridbit : 0_u8 , } ; } impl Default for TERRAIN_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_DATA_DATA { type Message = MavMessage ; const ID : u32 = 134u32 ; const NAME : & 'static str = "TERRAIN_DATA" ; const EXTRA_CRC : u8 = 229u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . grid_spacing = buf . get_u16_le () ; for v in & mut __struct . data { let val = buf . get_i16_le () ; * v = val ; } __struct . gridbit = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . grid_spacing) ; for val in & self . data { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . gridbit) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REMOTE_LOG_DATA_BLOCK_DATA { pub seqno : MavRemoteLogDataBlockCommands , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 200] , } impl REMOTE_LOG_DATA_BLOCK_DATA { pub const ENCODED_LEN : usize = 206usize ; pub const DEFAULT : Self = Self { seqno : MavRemoteLogDataBlockCommands :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , data : [0_u8 ; 200usize] , } ; } impl Default for REMOTE_LOG_DATA_BLOCK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REMOTE_LOG_DATA_BLOCK_DATA { type Message = MavMessage ; const ID : u32 = 184u32 ; const NAME : & 'static str = "REMOTE_LOG_DATA_BLOCK" ; const EXTRA_CRC : u8 = 159u8 ; const ENCODED_LEN : usize = 206usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . seqno = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavRemoteLogDataBlockCommands" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . seqno as u32) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_FLOAT_ARRAY_DATA { pub time_usec : u64 , pub array_id : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl DEBUG_FLOAT_ARRAY_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , array_id : 0_u16 , name : [0_u8 ; 10usize] , } ; } impl Default for DEBUG_FLOAT_ARRAY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_FLOAT_ARRAY_DATA { type Message = MavMessage ; const ID : u32 = 350u32 ; const NAME : & 'static str = "DEBUG_FLOAT_ARRAY" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . array_id = buf . get_u16_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u16_le (self . array_id) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_ARM_STATUS_DATA { pub status : MavOdidArmStatus , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub error : [u8 ; 50] , } impl OPEN_DRONE_ID_ARM_STATUS_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { status : MavOdidArmStatus :: DEFAULT , error : [0_u8 ; 50usize] , } ; } impl Default for OPEN_DRONE_ID_ARM_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_ARM_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 12918u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_ARM_STATUS" ; const EXTRA_CRC : u8 = 139u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidArmStatus" , value : tmp as u32 }) ? ; for v in & mut __struct . error { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . status as u8) ; for val in & self . error { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPTICAL_FLOW_DATA { pub time_usec : u64 , pub flow_comp_m_x : f32 , pub flow_comp_m_y : f32 , pub ground_distance : f32 , pub flow_x : i16 , pub flow_y : i16 , pub sensor_id : u8 , pub quality : u8 , } impl OPTICAL_FLOW_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , flow_comp_m_x : 0.0_f32 , flow_comp_m_y : 0.0_f32 , ground_distance : 0.0_f32 , flow_x : 0_i16 , flow_y : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for OPTICAL_FLOW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPTICAL_FLOW_DATA { type Message = MavMessage ; const ID : u32 = 100u32 ; const NAME : & 'static str = "OPTICAL_FLOW" ; const EXTRA_CRC : u8 = 175u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . flow_comp_m_x = buf . get_f32_le () ; __struct . flow_comp_m_y = buf . get_f32_le () ; __struct . ground_distance = buf . get_f32_le () ; __struct . flow_x = buf . get_i16_le () ; __struct . flow_y = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . flow_comp_m_x) ; __tmp . put_f32_le (self . flow_comp_m_y) ; __tmp . put_f32_le (self . ground_distance) ; __tmp . put_i16_le (self . flow_x) ; __tmp . put_i16_le (self . flow_y) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIDEO_STREAM_STATUS_DATA { pub framerate : f32 , pub bitrate : u32 , pub flags : VideoStreamStatusFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub hfov : u16 , pub stream_id : u8 , } impl VIDEO_STREAM_STATUS_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , flags : VideoStreamStatusFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , hfov : 0_u16 , stream_id : 0_u8 , } ; } impl Default for VIDEO_STREAM_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIDEO_STREAM_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 270u32 ; const NAME : & 'static str = "VIDEO_STREAM_STATUS" ; const EXTRA_CRC : u8 = 59u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamStatusFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . hfov = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . flags as u16) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u16_le (self . hfov) ; __tmp . put_u8 (self . stream_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE_DATA { type Message = MavMessage ; const ID : u32 = 29u32 ; const NAME : & 'static str = "SCALED_PRESSURE" ; const EXTRA_CRC : u8 = 115u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGHRES_IMU_DATA { pub time_usec : u64 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub xmag : f32 , pub ymag : f32 , pub zmag : f32 , pub abs_pressure : f32 , pub diff_pressure : f32 , pub pressure_alt : f32 , pub temperature : f32 , pub fields_updated : HighresImuUpdatedFlags , } impl HIGHRES_IMU_DATA { pub const ENCODED_LEN : usize = 62usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , xmag : 0.0_f32 , ymag : 0.0_f32 , zmag : 0.0_f32 , abs_pressure : 0.0_f32 , diff_pressure : 0.0_f32 , pressure_alt : 0.0_f32 , temperature : 0.0_f32 , fields_updated : HighresImuUpdatedFlags :: DEFAULT , } ; } impl Default for HIGHRES_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGHRES_IMU_DATA { type Message = MavMessage ; const ID : u32 = 105u32 ; const NAME : & 'static str = "HIGHRES_IMU" ; const EXTRA_CRC : u8 = 93u8 ; const ENCODED_LEN : usize = 62usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . xmag = buf . get_f32_le () ; __struct . ymag = buf . get_f32_le () ; __struct . zmag = buf . get_f32_le () ; __struct . abs_pressure = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . pressure_alt = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . fields_updated = HighresImuUpdatedFlags :: from_bits (tmp & HighresImuUpdatedFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HighresImuUpdatedFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . xmag) ; __tmp . put_f32_le (self . ymag) ; __tmp . put_f32_le (self . zmag) ; __tmp . put_f32_le (self . abs_pressure) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . pressure_alt) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u16_le (self . fields_updated . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RTCM_DATA_DATA { pub flags : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 180] , } impl GPS_RTCM_DATA_DATA { pub const ENCODED_LEN : usize = 182usize ; pub const DEFAULT : Self = Self { flags : 0_u8 , len : 0_u8 , data : [0_u8 ; 180usize] , } ; } impl Default for GPS_RTCM_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RTCM_DATA_DATA { type Message = MavMessage ; const ID : u32 = 233u32 ; const NAME : & 'static str = "GPS_RTCM_DATA" ; const EXTRA_CRC : u8 = 35u8 ; const ENCODED_LEN : usize = 182usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . flags = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . flags) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { pub rfHealth : UavionixAdsbRfHealth , } impl UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { pub const ENCODED_LEN : usize = 1usize ; pub const DEFAULT : Self = Self { rfHealth : UavionixAdsbRfHealth :: DEFAULT , } ; } impl Default for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 10003u32 ; const NAME : & 'static str = "UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 1usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . rfHealth = UavionixAdsbRfHealth :: from_bits (tmp & UavionixAdsbRfHealth :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UavionixAdsbRfHealth" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . rfHealth . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIND_DATA { pub direction : f32 , pub speed : f32 , pub speed_z : f32 , } impl WIND_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { direction : 0.0_f32 , speed : 0.0_f32 , speed_z : 0.0_f32 , } ; } impl Default for WIND_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIND_DATA { type Message = MavMessage ; const ID : u32 = 168u32 ; const NAME : & 'static str = "WIND" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . direction = buf . get_f32_le () ; __struct . speed = buf . get_f32_le () ; __struct . speed_z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . direction) ; __tmp . put_f32_le (self . speed) ; __tmp . put_f32_le (self . speed_z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RALLY_FETCH_POINT_DATA { pub target_system : u8 , pub target_component : u8 , pub idx : u8 , } impl RALLY_FETCH_POINT_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , idx : 0_u8 , } ; } impl Default for RALLY_FETCH_POINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RALLY_FETCH_POINT_DATA { type Message = MavMessage ; const ID : u32 = 176u32 ; const NAME : & 'static str = "RALLY_FETCH_POINT" ; const EXTRA_CRC : u8 = 234u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . idx = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . idx) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FOLLOW_TARGET_DATA { pub timestamp : u64 , pub custom_state : u64 , pub lat : i32 , pub lon : i32 , pub alt : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub attitude_q : [f32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rates : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub position_cov : [f32 ; 3] , pub est_capabilities : u8 , } impl FOLLOW_TARGET_DATA { pub const ENCODED_LEN : usize = 93usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , custom_state : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , vel : [0.0_f32 ; 3usize] , acc : [0.0_f32 ; 3usize] , attitude_q : [0.0_f32 ; 4usize] , rates : [0.0_f32 ; 3usize] , position_cov : [0.0_f32 ; 3usize] , est_capabilities : 0_u8 , } ; } impl Default for FOLLOW_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FOLLOW_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 144u32 ; const NAME : & 'static str = "FOLLOW_TARGET" ; const EXTRA_CRC : u8 = 127u8 ; const ENCODED_LEN : usize = 93usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . custom_state = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; for v in & mut __struct . vel { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . attitude_q { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . rates { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . position_cov { let val = buf . get_f32_le () ; * v = val ; } __struct . est_capabilities = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u64_le (self . custom_state) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; for val in & self . vel { __tmp . put_f32_le (* val) ; } for val in & self . acc { __tmp . put_f32_le (* val) ; } for val in & self . attitude_q { __tmp . put_f32_le (* val) ; } for val in & self . rates { __tmp . put_f32_le (* val) ; } for val in & self . position_cov { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . est_capabilities) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GOPRO_HEARTBEAT_DATA { pub status : GoproHeartbeatStatus , pub capture_mode : GoproCaptureMode , pub flags : GoproHeartbeatFlags , } impl GOPRO_HEARTBEAT_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { status : GoproHeartbeatStatus :: DEFAULT , capture_mode : GoproCaptureMode :: DEFAULT , flags : GoproHeartbeatFlags :: DEFAULT , } ; } impl Default for GOPRO_HEARTBEAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GOPRO_HEARTBEAT_DATA { type Message = MavMessage ; const ID : u32 = 215u32 ; const NAME : & 'static str = "GOPRO_HEARTBEAT" ; const EXTRA_CRC : u8 = 101u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproHeartbeatStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . capture_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproCaptureMode" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = GoproHeartbeatFlags :: from_bits (tmp & GoproHeartbeatFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GoproHeartbeatFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . capture_mode as u8) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_CAPTURE_STATUS_DATA { pub time_boot_ms : u32 , pub image_interval : f32 , pub recording_time_ms : u32 , pub available_capacity : f32 , pub image_status : u8 , pub video_status : u8 , } impl CAMERA_CAPTURE_STATUS_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , image_interval : 0.0_f32 , recording_time_ms : 0_u32 , available_capacity : 0.0_f32 , image_status : 0_u8 , video_status : 0_u8 , } ; } impl Default for CAMERA_CAPTURE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_CAPTURE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 262u32 ; const NAME : & 'static str = "CAMERA_CAPTURE_STATUS" ; const EXTRA_CRC : u8 = 12u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . image_interval = buf . get_f32_le () ; __struct . recording_time_ms = buf . get_u32_le () ; __struct . available_capacity = buf . get_f32_le () ; __struct . image_status = buf . get_u8 () ; __struct . video_status = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . image_interval) ; __tmp . put_u32_le (self . recording_time_ms) ; __tmp . put_f32_le (self . available_capacity) ; __tmp . put_u8 (self . image_status) ; __tmp . put_u8 (self . video_status) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MESSAGE_INTERVAL_DATA { pub interval_us : i32 , pub message_id : u16 , } impl MESSAGE_INTERVAL_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { interval_us : 0_i32 , message_id : 0_u16 , } ; } impl Default for MESSAGE_INTERVAL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MESSAGE_INTERVAL_DATA { type Message = MavMessage ; const ID : u32 = 244u32 ; const NAME : & 'static str = "MESSAGE_INTERVAL" ; const EXTRA_CRC : u8 = 95u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . interval_us = buf . get_i32_le () ; __struct . message_id = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . interval_us) ; __tmp . put_u16_le (self . message_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MEMORY_VECT_DATA { pub address : u16 , pub ver : u8 , pub mavtype : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub value : [i8 ; 32] , } impl MEMORY_VECT_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { address : 0_u16 , ver : 0_u8 , mavtype : 0_u8 , value : [0_i8 ; 32usize] , } ; } impl Default for MEMORY_VECT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MEMORY_VECT_DATA { type Message = MavMessage ; const ID : u32 = 249u32 ; const NAME : & 'static str = "MEMORY_VECT" ; const EXTRA_CRC : u8 = 204u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . address = buf . get_u16_le () ; __struct . ver = buf . get_u8 () ; __struct . mavtype = buf . get_u8 () ; for v in & mut __struct . value { let val = buf . get_i8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . address) ; __tmp . put_u8 (self . ver) ; __tmp . put_u8 (self . mavtype) ; for val in & self . value { __tmp . put_i8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ENCAPSULATED_DATA_DATA { pub seqnr : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 253] , } impl ENCAPSULATED_DATA_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { seqnr : 0_u16 , data : [0_u8 ; 253usize] , } ; } impl Default for ENCAPSULATED_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ENCAPSULATED_DATA_DATA { type Message = MavMessage ; const ID : u32 = 131u32 ; const NAME : & 'static str = "ENCAPSULATED_DATA" ; const EXTRA_CRC : u8 = 223u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seqnr = buf . get_u16_le () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seqnr) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_MAP_RC_DATA { pub param_value0 : f32 , pub scale : f32 , pub param_value_min : f32 , pub param_value_max : f32 , pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub parameter_rc_channel_index : u8 , } impl PARAM_MAP_RC_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param_value0 : 0.0_f32 , scale : 0.0_f32 , param_value_min : 0.0_f32 , param_value_max : 0.0_f32 , param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , parameter_rc_channel_index : 0_u8 , } ; } impl Default for PARAM_MAP_RC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_MAP_RC_DATA { type Message = MavMessage ; const ID : u32 = 50u32 ; const NAME : & 'static str = "PARAM_MAP_RC" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value0 = buf . get_f32_le () ; __struct . scale = buf . get_f32_le () ; __struct . param_value_min = buf . get_f32_le () ; __struct . param_value_max = buf . get_f32_le () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } __struct . parameter_rc_channel_index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value0) ; __tmp . put_f32_le (self . scale) ; __tmp . put_f32_le (self . param_value_min) ; __tmp . put_f32_le (self . param_value_max) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . parameter_rc_channel_index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_ACK_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOGGING_ACK_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOGGING_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_ACK_DATA { type Message = MavMessage ; const ID : u32 = 268u32 ; const NAME : & 'static str = "LOGGING_ACK" ; const EXTRA_CRC : u8 = 14u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_MESSAGE_PACK_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub single_message_size : u8 , pub msg_pack_size : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub messages : [u8 ; 225] , } impl OPEN_DRONE_ID_MESSAGE_PACK_DATA { pub const ENCODED_LEN : usize = 249usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , single_message_size : 0_u8 , msg_pack_size : 0_u8 , messages : [0_u8 ; 225usize] , } ; } impl Default for OPEN_DRONE_ID_MESSAGE_PACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_MESSAGE_PACK_DATA { type Message = MavMessage ; const ID : u32 = 12915u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_MESSAGE_PACK" ; const EXTRA_CRC : u8 = 94u8 ; const ENCODED_LEN : usize = 249usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } __struct . single_message_size = buf . get_u8 () ; __struct . msg_pack_size = buf . get_u8 () ; for v in & mut __struct . messages { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . single_message_size) ; __tmp . put_u8 (self . msg_pack_size) ; for val in & self . messages { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PROTOCOL_VERSION_DATA { pub version : u16 , pub min_version : u16 , pub max_version : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub spec_version_hash : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub library_version_hash : [u8 ; 8] , } impl PROTOCOL_VERSION_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { version : 0_u16 , min_version : 0_u16 , max_version : 0_u16 , spec_version_hash : [0_u8 ; 8usize] , library_version_hash : [0_u8 ; 8usize] , } ; } impl Default for PROTOCOL_VERSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PROTOCOL_VERSION_DATA { type Message = MavMessage ; const ID : u32 = 300u32 ; const NAME : & 'static str = "PROTOCOL_VERSION" ; const EXTRA_CRC : u8 = 217u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . version = buf . get_u16_le () ; __struct . min_version = buf . get_u16_le () ; __struct . max_version = buf . get_u16_le () ; for v in & mut __struct . spec_version_hash { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . library_version_hash { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . version) ; __tmp . put_u16_le (self . min_version) ; __tmp . put_u16_le (self . max_version) ; for val in & self . spec_version_hash { __tmp . put_u8 (* val) ; } for val in & self . library_version_hash { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , } impl ATTITUDE_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , } ; } impl Default for ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 30u32 ; const NAME : & 'static str = "ATTITUDE" ; const EXTRA_CRC : u8 = 39u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AOA_SSA_DATA { pub time_usec : u64 , pub AOA : f32 , pub SSA : f32 , } impl AOA_SSA_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , AOA : 0.0_f32 , SSA : 0.0_f32 , } ; } impl Default for AOA_SSA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AOA_SSA_DATA { type Message = MavMessage ; const ID : u32 = 11020u32 ; const NAME : & 'static str = "AOA_SSA" ; const EXTRA_CRC : u8 = 205u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . AOA = buf . get_f32_le () ; __struct . SSA = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . AOA) ; __tmp . put_f32_le (self . SSA) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_TELEMETRY_1_TO_4_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltage : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub current : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub totalcurrent : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rpm : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub count : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature : [u8 ; 4] , } impl ESC_TELEMETRY_1_TO_4_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { voltage : [0_u16 ; 4usize] , current : [0_u16 ; 4usize] , totalcurrent : [0_u16 ; 4usize] , rpm : [0_u16 ; 4usize] , count : [0_u16 ; 4usize] , temperature : [0_u8 ; 4usize] , } ; } impl Default for ESC_TELEMETRY_1_TO_4_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_TELEMETRY_1_TO_4_DATA { type Message = MavMessage ; const ID : u32 = 11030u32 ; const NAME : & 'static str = "ESC_TELEMETRY_1_TO_4" ; const EXTRA_CRC : u8 = 144u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . voltage { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . current { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . totalcurrent { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . rpm { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . count { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . temperature { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . voltage { __tmp . put_u16_le (* val) ; } for val in & self . current { __tmp . put_u16_le (* val) ; } for val in & self . totalcurrent { __tmp . put_u16_le (* val) ; } for val in & self . rpm { __tmp . put_u16_le (* val) ; } for val in & self . count { __tmp . put_u16_le (* val) ; } for val in & self . temperature { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_DATA_ACKED_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , pub length : u8 , pub first_message_offset : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 249] , } impl LOGGING_DATA_ACKED_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , length : 0_u8 , first_message_offset : 0_u8 , data : [0_u8 ; 249usize] , } ; } impl Default for LOGGING_DATA_ACKED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_DATA_ACKED_DATA { type Message = MavMessage ; const ID : u32 = 267u32 ; const NAME : & 'static str = "LOGGING_DATA_ACKED" ; const EXTRA_CRC : u8 = 35u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . length = buf . get_u8 () ; __struct . first_message_offset = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . length) ; __tmp . put_u8 (self . first_message_offset) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PLAY_TUNE_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub tune : [u8 ; 30] , } impl PLAY_TUNE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , tune : [0_u8 ; 30usize] , } ; } impl Default for PLAY_TUNE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PLAY_TUNE_DATA { type Message = MavMessage ; const ID : u32 = 258u32 ; const NAME : & 'static str = "PLAY_TUNE" ; const EXTRA_CRC : u8 = 187u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . tune { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . tune { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SIM_STATE_DATA { pub q1 : f32 , pub q2 : f32 , pub q3 : f32 , pub q4 : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub lat : f32 , pub lon : f32 , pub alt : f32 , pub std_dev_horz : f32 , pub std_dev_vert : f32 , pub vn : f32 , pub ve : f32 , pub vd : f32 , } impl SIM_STATE_DATA { pub const ENCODED_LEN : usize = 84usize ; pub const DEFAULT : Self = Self { q1 : 0.0_f32 , q2 : 0.0_f32 , q3 : 0.0_f32 , q4 : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , lat : 0.0_f32 , lon : 0.0_f32 , alt : 0.0_f32 , std_dev_horz : 0.0_f32 , std_dev_vert : 0.0_f32 , vn : 0.0_f32 , ve : 0.0_f32 , vd : 0.0_f32 , } ; } impl Default for SIM_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SIM_STATE_DATA { type Message = MavMessage ; const ID : u32 = 108u32 ; const NAME : & 'static str = "SIM_STATE" ; const EXTRA_CRC : u8 = 32u8 ; const ENCODED_LEN : usize = 84usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . q1 = buf . get_f32_le () ; __struct . q2 = buf . get_f32_le () ; __struct . q3 = buf . get_f32_le () ; __struct . q4 = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . lat = buf . get_f32_le () ; __struct . lon = buf . get_f32_le () ; __struct . alt = buf . get_f32_le () ; __struct . std_dev_horz = buf . get_f32_le () ; __struct . std_dev_vert = buf . get_f32_le () ; __struct . vn = buf . get_f32_le () ; __struct . ve = buf . get_f32_le () ; __struct . vd = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . q1) ; __tmp . put_f32_le (self . q2) ; __tmp . put_f32_le (self . q3) ; __tmp . put_f32_le (self . q4) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . lat) ; __tmp . put_f32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . std_dev_horz) ; __tmp . put_f32_le (self . std_dev_vert) ; __tmp . put_f32_le (self . vn) ; __tmp . put_f32_le (self . ve) ; __tmp . put_f32_le (self . vd) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MANUAL_SETPOINT_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub thrust : f32 , pub mode_switch : u8 , pub manual_override_switch : u8 , } impl MANUAL_SETPOINT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , thrust : 0.0_f32 , mode_switch : 0_u8 , manual_override_switch : 0_u8 , } ; } impl Default for MANUAL_SETPOINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MANUAL_SETPOINT_DATA { type Message = MavMessage ; const ID : u32 = 81u32 ; const NAME : & 'static str = "MANUAL_SETPOINT" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; __struct . mode_switch = buf . get_u8 () ; __struct . manual_override_switch = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . mode_switch) ; __tmp . put_u8 (self . manual_override_switch) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIBRATION_DATA { pub time_usec : u64 , pub vibration_x : f32 , pub vibration_y : f32 , pub vibration_z : f32 , pub clipping_0 : u32 , pub clipping_1 : u32 , pub clipping_2 : u32 , } impl VIBRATION_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , vibration_x : 0.0_f32 , vibration_y : 0.0_f32 , vibration_z : 0.0_f32 , clipping_0 : 0_u32 , clipping_1 : 0_u32 , clipping_2 : 0_u32 , } ; } impl Default for VIBRATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIBRATION_DATA { type Message = MavMessage ; const ID : u32 = 241u32 ; const NAME : & 'static str = "VIBRATION" ; const EXTRA_CRC : u8 = 90u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . vibration_x = buf . get_f32_le () ; __struct . vibration_y = buf . get_f32_le () ; __struct . vibration_z = buf . get_f32_le () ; __struct . clipping_0 = buf . get_u32_le () ; __struct . clipping_1 = buf . get_u32_le () ; __struct . clipping_2 = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . vibration_x) ; __tmp . put_f32_le (self . vibration_y) ; __tmp . put_f32_le (self . vibration_z) ; __tmp . put_u32_le (self . clipping_0) ; __tmp . put_u32_le (self . clipping_1) ; __tmp . put_u32_le (self . clipping_2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ACTUATOR_OUTPUT_STATUS_DATA { pub time_usec : u64 , pub active : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub actuator : [f32 ; 32] , } impl ACTUATOR_OUTPUT_STATUS_DATA { pub const ENCODED_LEN : usize = 140usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , active : 0_u32 , actuator : [0.0_f32 ; 32usize] , } ; } impl Default for ACTUATOR_OUTPUT_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ACTUATOR_OUTPUT_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 375u32 ; const NAME : & 'static str = "ACTUATOR_OUTPUT_STATUS" ; const EXTRA_CRC : u8 = 251u8 ; const ENCODED_LEN : usize = 140usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . active = buf . get_u32_le () ; for v in & mut __struct . actuator { let val = buf . get_f32_le () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . active) ; for val in & self . actuator { __tmp . put_f32_le (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEEPSTALL_DATA { pub landing_lat : i32 , pub landing_lon : i32 , pub path_lat : i32 , pub path_lon : i32 , pub arc_entry_lat : i32 , pub arc_entry_lon : i32 , pub altitude : f32 , pub expected_travel_distance : f32 , pub cross_track_error : f32 , pub stage : DeepstallStage , } impl DEEPSTALL_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { landing_lat : 0_i32 , landing_lon : 0_i32 , path_lat : 0_i32 , path_lon : 0_i32 , arc_entry_lat : 0_i32 , arc_entry_lon : 0_i32 , altitude : 0.0_f32 , expected_travel_distance : 0.0_f32 , cross_track_error : 0.0_f32 , stage : DeepstallStage :: DEFAULT , } ; } impl Default for DEEPSTALL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEEPSTALL_DATA { type Message = MavMessage ; const ID : u32 = 195u32 ; const NAME : & 'static str = "DEEPSTALL" ; const EXTRA_CRC : u8 = 120u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . landing_lat = buf . get_i32_le () ; __struct . landing_lon = buf . get_i32_le () ; __struct . path_lat = buf . get_i32_le () ; __struct . path_lon = buf . get_i32_le () ; __struct . arc_entry_lat = buf . get_i32_le () ; __struct . arc_entry_lon = buf . get_i32_le () ; __struct . altitude = buf . get_f32_le () ; __struct . expected_travel_distance = buf . get_f32_le () ; __struct . cross_track_error = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . stage = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "DeepstallStage" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . landing_lat) ; __tmp . put_i32_le (self . landing_lon) ; __tmp . put_i32_le (self . path_lat) ; __tmp . put_i32_le (self . path_lon) ; __tmp . put_i32_le (self . arc_entry_lat) ; __tmp . put_i32_le (self . arc_entry_lon) ; __tmp . put_f32_le (self . altitude) ; __tmp . put_f32_le (self . expected_travel_distance) ; __tmp . put_f32_le (self . cross_track_error) ; __tmp . put_u8 (self . stage as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MAG_CAL_REPORT_DATA { pub fitness : f32 , pub ofs_x : f32 , pub ofs_y : f32 , pub ofs_z : f32 , pub diag_x : f32 , pub diag_y : f32 , pub diag_z : f32 , pub offdiag_x : f32 , pub offdiag_y : f32 , pub offdiag_z : f32 , pub compass_id : u8 , pub cal_mask : u8 , pub cal_status : MagCalStatus , pub autosaved : u8 , } impl MAG_CAL_REPORT_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { fitness : 0.0_f32 , ofs_x : 0.0_f32 , ofs_y : 0.0_f32 , ofs_z : 0.0_f32 , diag_x : 0.0_f32 , diag_y : 0.0_f32 , diag_z : 0.0_f32 , offdiag_x : 0.0_f32 , offdiag_y : 0.0_f32 , offdiag_z : 0.0_f32 , compass_id : 0_u8 , cal_mask : 0_u8 , cal_status : MagCalStatus :: DEFAULT , autosaved : 0_u8 , } ; } impl Default for MAG_CAL_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MAG_CAL_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 192u32 ; const NAME : & 'static str = "MAG_CAL_REPORT" ; const EXTRA_CRC : u8 = 36u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . fitness = buf . get_f32_le () ; __struct . ofs_x = buf . get_f32_le () ; __struct . ofs_y = buf . get_f32_le () ; __struct . ofs_z = buf . get_f32_le () ; __struct . diag_x = buf . get_f32_le () ; __struct . diag_y = buf . get_f32_le () ; __struct . diag_z = buf . get_f32_le () ; __struct . offdiag_x = buf . get_f32_le () ; __struct . offdiag_y = buf . get_f32_le () ; __struct . offdiag_z = buf . get_f32_le () ; __struct . compass_id = buf . get_u8 () ; __struct . cal_mask = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . cal_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MagCalStatus" , value : tmp as u32 }) ? ; __struct . autosaved = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . fitness) ; __tmp . put_f32_le (self . ofs_x) ; __tmp . put_f32_le (self . ofs_y) ; __tmp . put_f32_le (self . ofs_z) ; __tmp . put_f32_le (self . diag_x) ; __tmp . put_f32_le (self . diag_y) ; __tmp . put_f32_le (self . diag_z) ; __tmp . put_f32_le (self . offdiag_x) ; __tmp . put_f32_le (self . offdiag_y) ; __tmp . put_f32_le (self . offdiag_z) ; __tmp . put_u8 (self . compass_id) ; __tmp . put_u8 (self . cal_mask) ; __tmp . put_u8 (self . cal_status as u8) ; __tmp . put_u8 (self . autosaved) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TIME_ESTIMATE_TO_TARGET_DATA { pub safe_return : i32 , pub land : i32 , pub mission_next_item : i32 , pub mission_end : i32 , pub commanded_action : i32 , } impl TIME_ESTIMATE_TO_TARGET_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { safe_return : 0_i32 , land : 0_i32 , mission_next_item : 0_i32 , mission_end : 0_i32 , commanded_action : 0_i32 , } ; } impl Default for TIME_ESTIMATE_TO_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TIME_ESTIMATE_TO_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 380u32 ; const NAME : & 'static str = "TIME_ESTIMATE_TO_TARGET" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . safe_return = buf . get_i32_le () ; __struct . land = buf . get_i32_le () ; __struct . mission_next_item = buf . get_i32_le () ; __struct . mission_end = buf . get_i32_le () ; __struct . commanded_action = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . safe_return) ; __tmp . put_i32_le (self . land) ; __tmp . put_i32_le (self . mission_next_item) ; __tmp . put_i32_le (self . mission_end) ; __tmp . put_i32_le (self . commanded_action) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU2_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU2_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU2_DATA { type Message = MavMessage ; const ID : u32 = 116u32 ; const NAME : & 'static str = "SCALED_IMU2" ; const EXTRA_CRC : u8 = 76u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GOPRO_GET_REQUEST_DATA { pub target_system : u8 , pub target_component : u8 , pub cmd_id : GoproCommand , } impl GOPRO_GET_REQUEST_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , cmd_id : GoproCommand :: DEFAULT , } ; } impl Default for GOPRO_GET_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GOPRO_GET_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 216u32 ; const NAME : & 'static str = "GOPRO_GET_REQUEST" ; const EXTRA_CRC : u8 = 50u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . cmd_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproCommand" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . cmd_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_INT_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl COMMAND_INT_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for COMMAND_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_INT_DATA { type Message = MavMessage ; const ID : u32 = 75u32 ; const NAME : & 'static str = "COMMAND_INT" ; const EXTRA_CRC : u8 = 158u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVCAN_NODE_STATUS_DATA { pub time_usec : u64 , pub uptime_sec : u32 , pub vendor_specific_status_code : u16 , pub health : UavcanNodeHealth , pub mode : UavcanNodeMode , pub sub_mode : u8 , } impl UAVCAN_NODE_STATUS_DATA { pub const ENCODED_LEN : usize = 17usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime_sec : 0_u32 , vendor_specific_status_code : 0_u16 , health : UavcanNodeHealth :: DEFAULT , mode : UavcanNodeMode :: DEFAULT , sub_mode : 0_u8 , } ; } impl Default for UAVCAN_NODE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVCAN_NODE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 310u32 ; const NAME : & 'static str = "UAVCAN_NODE_STATUS" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 17usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime_sec = buf . get_u32_le () ; __struct . vendor_specific_status_code = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . health = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavcanNodeHealth" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavcanNodeMode" , value : tmp as u32 }) ? ; __struct . sub_mode = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime_sec) ; __tmp . put_u16_le (self . vendor_specific_status_code) ; __tmp . put_u8 (self . health as u8) ; __tmp . put_u8 (self . mode as u8) ; __tmp . put_u8 (self . sub_mode) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ODOMETRY_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pose_covariance : [f32 ; 21] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub velocity_covariance : [f32 ; 21] , pub frame_id : MavFrame , pub child_frame_id : MavFrame , } impl ODOMETRY_DATA { pub const ENCODED_LEN : usize = 230usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , pose_covariance : [0.0_f32 ; 21usize] , velocity_covariance : [0.0_f32 ; 21usize] , frame_id : MavFrame :: DEFAULT , child_frame_id : MavFrame :: DEFAULT , } ; } impl Default for ODOMETRY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ODOMETRY_DATA { type Message = MavMessage ; const ID : u32 = 331u32 ; const NAME : & 'static str = "ODOMETRY" ; const EXTRA_CRC : u8 = 91u8 ; const ENCODED_LEN : usize = 230usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; for v in & mut __struct . pose_covariance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . velocity_covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . frame_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . child_frame_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; for val in & self . pose_covariance { __tmp . put_f32_le (* val) ; } for val in & self . velocity_covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . frame_id as u8) ; __tmp . put_u8 (self . child_frame_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGH_LATENCY2_DATA { pub timestamp : u32 , pub latitude : i32 , pub longitude : i32 , pub custom_mode : u16 , pub altitude : i16 , pub target_altitude : i16 , pub target_distance : u16 , pub wp_num : u16 , pub failure_flags : HlFailureFlag , pub mavtype : MavType , pub autopilot : MavAutopilot , pub heading : u8 , pub target_heading : u8 , pub throttle : u8 , pub airspeed : u8 , pub airspeed_sp : u8 , pub groundspeed : u8 , pub windspeed : u8 , pub wind_heading : u8 , pub eph : u8 , pub epv : u8 , pub temperature_air : i8 , pub climb_rate : i8 , pub battery : i8 , pub custom0 : i8 , pub custom1 : i8 , pub custom2 : i8 , } impl HIGH_LATENCY2_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { timestamp : 0_u32 , latitude : 0_i32 , longitude : 0_i32 , custom_mode : 0_u16 , altitude : 0_i16 , target_altitude : 0_i16 , target_distance : 0_u16 , wp_num : 0_u16 , failure_flags : HlFailureFlag :: DEFAULT , mavtype : MavType :: DEFAULT , autopilot : MavAutopilot :: DEFAULT , heading : 0_u8 , target_heading : 0_u8 , throttle : 0_u8 , airspeed : 0_u8 , airspeed_sp : 0_u8 , groundspeed : 0_u8 , windspeed : 0_u8 , wind_heading : 0_u8 , eph : 0_u8 , epv : 0_u8 , temperature_air : 0_i8 , climb_rate : 0_i8 , battery : 0_i8 , custom0 : 0_i8 , custom1 : 0_i8 , custom2 : 0_i8 , } ; } impl Default for HIGH_LATENCY2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGH_LATENCY2_DATA { type Message = MavMessage ; const ID : u32 = 235u32 ; const NAME : & 'static str = "HIGH_LATENCY2" ; const EXTRA_CRC : u8 = 179u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u32_le () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . custom_mode = buf . get_u16_le () ; __struct . altitude = buf . get_i16_le () ; __struct . target_altitude = buf . get_i16_le () ; __struct . target_distance = buf . get_u16_le () ; __struct . wp_num = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . failure_flags = HlFailureFlag :: from_bits (tmp & HlFailureFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HlFailureFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . autopilot = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavAutopilot" , value : tmp as u32 }) ? ; __struct . heading = buf . get_u8 () ; __struct . target_heading = buf . get_u8 () ; __struct . throttle = buf . get_u8 () ; __struct . airspeed = buf . get_u8 () ; __struct . airspeed_sp = buf . get_u8 () ; __struct . groundspeed = buf . get_u8 () ; __struct . windspeed = buf . get_u8 () ; __struct . wind_heading = buf . get_u8 () ; __struct . eph = buf . get_u8 () ; __struct . epv = buf . get_u8 () ; __struct . temperature_air = buf . get_i8 () ; __struct . climb_rate = buf . get_i8 () ; __struct . battery = buf . get_i8 () ; __struct . custom0 = buf . get_i8 () ; __struct . custom1 = buf . get_i8 () ; __struct . custom2 = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_u16_le (self . custom_mode) ; __tmp . put_i16_le (self . altitude) ; __tmp . put_i16_le (self . target_altitude) ; __tmp . put_u16_le (self . target_distance) ; __tmp . put_u16_le (self . wp_num) ; __tmp . put_u16_le (self . failure_flags . bits ()) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . autopilot as u8) ; __tmp . put_u8 (self . heading) ; __tmp . put_u8 (self . target_heading) ; __tmp . put_u8 (self . throttle) ; __tmp . put_u8 (self . airspeed) ; __tmp . put_u8 (self . airspeed_sp) ; __tmp . put_u8 (self . groundspeed) ; __tmp . put_u8 (self . windspeed) ; __tmp . put_u8 (self . wind_heading) ; __tmp . put_u8 (self . eph) ; __tmp . put_u8 (self . epv) ; __tmp . put_i8 (self . temperature_air) ; __tmp . put_i8 (self . climb_rate) ; __tmp . put_i8 (self . battery) ; __tmp . put_i8 (self . custom0) ; __tmp . put_i8 (self . custom1) ; __tmp . put_i8 (self . custom2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REQUEST_EVENT_DATA { pub first_sequence : u16 , pub last_sequence : u16 , pub target_system : u8 , pub target_component : u8 , } impl REQUEST_EVENT_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { first_sequence : 0_u16 , last_sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for REQUEST_EVENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REQUEST_EVENT_DATA { type Message = MavMessage ; const ID : u32 = 412u32 ; const NAME : & 'static str = "REQUEST_EVENT" ; const EXTRA_CRC : u8 = 33u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . first_sequence = buf . get_u16_le () ; __struct . last_sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . first_sequence) ; __tmp . put_u16_le (self . last_sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ICAROUS_HEARTBEAT_DATA { pub status : IcarousFmsState , } impl ICAROUS_HEARTBEAT_DATA { pub const ENCODED_LEN : usize = 1usize ; pub const DEFAULT : Self = Self { status : IcarousFmsState :: DEFAULT , } ; } impl Default for ICAROUS_HEARTBEAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ICAROUS_HEARTBEAT_DATA { type Message = MavMessage ; const ID : u32 = 42000u32 ; const NAME : & 'static str = "ICAROUS_HEARTBEAT" ; const EXTRA_CRC : u8 = 227u8 ; const ENCODED_LEN : usize = 1usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousFmsState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_COUNT_DATA { pub count : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_COUNT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { count : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_COUNT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_COUNT_DATA { type Message = MavMessage ; const ID : u32 = 44u32 ; const NAME : & 'static str = "MISSION_COUNT" ; const EXTRA_CRC : u8 = 221u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . count = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . count) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AIRSPEED_AUTOCAL_DATA { pub vx : f32 , pub vy : f32 , pub vz : f32 , pub diff_pressure : f32 , pub EAS2TAS : f32 , pub ratio : f32 , pub state_x : f32 , pub state_y : f32 , pub state_z : f32 , pub Pax : f32 , pub Pby : f32 , pub Pcz : f32 , } impl AIRSPEED_AUTOCAL_DATA { pub const ENCODED_LEN : usize = 48usize ; pub const DEFAULT : Self = Self { vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , diff_pressure : 0.0_f32 , EAS2TAS : 0.0_f32 , ratio : 0.0_f32 , state_x : 0.0_f32 , state_y : 0.0_f32 , state_z : 0.0_f32 , Pax : 0.0_f32 , Pby : 0.0_f32 , Pcz : 0.0_f32 , } ; } impl Default for AIRSPEED_AUTOCAL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AIRSPEED_AUTOCAL_DATA { type Message = MavMessage ; const ID : u32 = 174u32 ; const NAME : & 'static str = "AIRSPEED_AUTOCAL" ; const EXTRA_CRC : u8 = 167u8 ; const ENCODED_LEN : usize = 48usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . EAS2TAS = buf . get_f32_le () ; __struct . ratio = buf . get_f32_le () ; __struct . state_x = buf . get_f32_le () ; __struct . state_y = buf . get_f32_le () ; __struct . state_z = buf . get_f32_le () ; __struct . Pax = buf . get_f32_le () ; __struct . Pby = buf . get_f32_le () ; __struct . Pcz = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . EAS2TAS) ; __tmp . put_f32_le (self . ratio) ; __tmp . put_f32_le (self . state_x) ; __tmp . put_f32_le (self . state_y) ; __tmp . put_f32_le (self . state_z) ; __tmp . put_f32_le (self . Pax) ; __tmp . put_f32_le (self . Pby) ; __tmp . put_f32_le (self . Pcz) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_REQUEST_READ_DATA { pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , } impl PARAM_EXT_REQUEST_READ_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , } ; } impl Default for PARAM_EXT_REQUEST_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_REQUEST_READ_DATA { type Message = MavMessage ; const ID : u32 = 320u32 ; const NAME : & 'static str = "PARAM_EXT_REQUEST_READ" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CELLULAR_STATUS_DATA { pub mcc : u16 , pub mnc : u16 , pub lac : u16 , pub status : CellularStatusFlag , pub failure_reason : CellularNetworkFailedReason , pub mavtype : CellularNetworkRadioType , pub quality : u8 , } impl CELLULAR_STATUS_DATA { pub const ENCODED_LEN : usize = 10usize ; pub const DEFAULT : Self = Self { mcc : 0_u16 , mnc : 0_u16 , lac : 0_u16 , status : CellularStatusFlag :: DEFAULT , failure_reason : CellularNetworkFailedReason :: DEFAULT , mavtype : CellularNetworkRadioType :: DEFAULT , quality : 0_u8 , } ; } impl Default for CELLULAR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CELLULAR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 334u32 ; const NAME : & 'static str = "CELLULAR_STATUS" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 10usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mcc = buf . get_u16_le () ; __struct . mnc = buf . get_u16_le () ; __struct . lac = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularStatusFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . failure_reason = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularNetworkFailedReason" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularNetworkRadioType" , value : tmp as u32 }) ? ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . mcc) ; __tmp . put_u16_le (self . mnc) ; __tmp . put_u16_le (self . lac) ; __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . failure_reason as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPASSMOT_STATUS_DATA { pub current : f32 , pub CompensationX : f32 , pub CompensationY : f32 , pub CompensationZ : f32 , pub throttle : u16 , pub interference : u16 , } impl COMPASSMOT_STATUS_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { current : 0.0_f32 , CompensationX : 0.0_f32 , CompensationY : 0.0_f32 , CompensationZ : 0.0_f32 , throttle : 0_u16 , interference : 0_u16 , } ; } impl Default for COMPASSMOT_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPASSMOT_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 177u32 ; const NAME : & 'static str = "COMPASSMOT_STATUS" ; const EXTRA_CRC : u8 = 240u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . current = buf . get_f32_le () ; __struct . CompensationX = buf . get_f32_le () ; __struct . CompensationY = buf . get_f32_le () ; __struct . CompensationZ = buf . get_f32_le () ; __struct . throttle = buf . get_u16_le () ; __struct . interference = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . current) ; __tmp . put_f32_le (self . CompensationX) ; __tmp . put_f32_le (self . CompensationY) ; __tmp . put_f32_le (self . CompensationZ) ; __tmp . put_u16_le (self . throttle) ; __tmp . put_u16_le (self . interference) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RAW_INT_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub cog : u16 , pub fix_type : GpsFixType , pub satellites_visible : u8 , } impl GPS_RAW_INT_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , cog : 0_u16 , fix_type : GpsFixType :: DEFAULT , satellites_visible : 0_u8 , } ; } impl Default for GPS_RAW_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RAW_INT_DATA { type Message = MavMessage ; const ID : u32 = 24u32 ; const NAME : & 'static str = "GPS_RAW_INT" ; const EXTRA_CRC : u8 = 24u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . cog = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type as u8) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIND_COV_DATA { pub time_usec : u64 , pub wind_x : f32 , pub wind_y : f32 , pub wind_z : f32 , pub var_horiz : f32 , pub var_vert : f32 , pub wind_alt : f32 , pub horiz_accuracy : f32 , pub vert_accuracy : f32 , } impl WIND_COV_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , wind_x : 0.0_f32 , wind_y : 0.0_f32 , wind_z : 0.0_f32 , var_horiz : 0.0_f32 , var_vert : 0.0_f32 , wind_alt : 0.0_f32 , horiz_accuracy : 0.0_f32 , vert_accuracy : 0.0_f32 , } ; } impl Default for WIND_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIND_COV_DATA { type Message = MavMessage ; const ID : u32 = 231u32 ; const NAME : & 'static str = "WIND_COV" ; const EXTRA_CRC : u8 = 105u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . wind_x = buf . get_f32_le () ; __struct . wind_y = buf . get_f32_le () ; __struct . wind_z = buf . get_f32_le () ; __struct . var_horiz = buf . get_f32_le () ; __struct . var_vert = buf . get_f32_le () ; __struct . wind_alt = buf . get_f32_le () ; __struct . horiz_accuracy = buf . get_f32_le () ; __struct . vert_accuracy = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . wind_x) ; __tmp . put_f32_le (self . wind_y) ; __tmp . put_f32_le (self . wind_z) ; __tmp . put_f32_le (self . var_horiz) ; __tmp . put_f32_le (self . var_vert) ; __tmp . put_f32_le (self . wind_alt) ; __tmp . put_f32_le (self . horiz_accuracy) ; __tmp . put_f32_le (self . vert_accuracy) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct V2_EXTENSION_DATA { pub message_type : u16 , pub target_network : u8 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 249] , } impl V2_EXTENSION_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { message_type : 0_u16 , target_network : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , payload : [0_u8 ; 249usize] , } ; } impl Default for V2_EXTENSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for V2_EXTENSION_DATA { type Message = MavMessage ; const ID : u32 = 248u32 ; const NAME : & 'static str = "V2_EXTENSION" ; const EXTRA_CRC : u8 = 8u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . message_type = buf . get_u16_le () ; __struct . target_network = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . message_type) ; __tmp . put_u8 (self . target_network) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WHEEL_DISTANCE_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub distance : [f64 ; 16] , pub count : u8 , } impl WHEEL_DISTANCE_DATA { pub const ENCODED_LEN : usize = 137usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , distance : [0.0_f64 ; 16usize] , count : 0_u8 , } ; } impl Default for WHEEL_DISTANCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WHEEL_DISTANCE_DATA { type Message = MavMessage ; const ID : u32 = 9000u32 ; const NAME : & 'static str = "WHEEL_DISTANCE" ; const EXTRA_CRC : u8 = 113u8 ; const ENCODED_LEN : usize = 137usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . distance { let val = buf . get_f64_le () ; * v = val ; } __struct . count = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . distance { __tmp . put_f64_le (* val) ; } __tmp . put_u8 (self . count) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { type Message = MavMessage ; const ID : u32 = 89u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET" ; const EXTRA_CRC : u8 = 231u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OSD_PARAM_CONFIG_REPLY_DATA { pub request_id : u32 , pub result : OsdParamConfigError , } impl OSD_PARAM_CONFIG_REPLY_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , result : OsdParamConfigError :: DEFAULT , } ; } impl Default for OSD_PARAM_CONFIG_REPLY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OSD_PARAM_CONFIG_REPLY_DATA { type Message = MavMessage ; const ID : u32 = 11034u32 ; const NAME : & 'static str = "OSD_PARAM_CONFIG_REPLY" ; const EXTRA_CRC : u8 = 79u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "OsdParamConfigError" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_u8 (self . result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AHRS2_DATA { pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub altitude : f32 , pub lat : i32 , pub lng : i32 , } impl AHRS2_DATA { pub const ENCODED_LEN : usize = 24usize ; pub const DEFAULT : Self = Self { roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , altitude : 0.0_f32 , lat : 0_i32 , lng : 0_i32 , } ; } impl Default for AHRS2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AHRS2_DATA { type Message = MavMessage ; const ID : u32 = 178u32 ; const NAME : & 'static str = "AHRS2" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 24usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . altitude = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lng = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . altitude) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lng) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BATTERY2_DATA { pub voltage : u16 , pub current_battery : i16 , } impl BATTERY2_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { voltage : 0_u16 , current_battery : 0_i16 , } ; } impl Default for BATTERY2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BATTERY2_DATA { type Message = MavMessage ; const ID : u32 = 181u32 ; const NAME : & 'static str = "BATTERY2" ; const EXTRA_CRC : u8 = 174u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . voltage = buf . get_u16_le () ; __struct . current_battery = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . voltage) ; __tmp . put_i16_le (self . current_battery) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_END_DATA { pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_END_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_END_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_END_DATA { type Message = MavMessage ; const ID : u32 = 122u32 ; const NAME : & 'static str = "LOG_REQUEST_END" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FILE_TRANSFER_PROTOCOL_DATA { pub target_network : u8 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 251] , } impl FILE_TRANSFER_PROTOCOL_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { target_network : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , payload : [0_u8 ; 251usize] , } ; } impl Default for FILE_TRANSFER_PROTOCOL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FILE_TRANSFER_PROTOCOL_DATA { type Message = MavMessage ; const ID : u32 = 110u32 ; const NAME : & 'static str = "FILE_TRANSFER_PROTOCOL" ; const EXTRA_CRC : u8 = 84u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_network = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_network) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , } impl LOCAL_POSITION_NED_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , } ; } impl Default for LOCAL_POSITION_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_DATA { type Message = MavMessage ; const ID : u32 = 32u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED" ; const EXTRA_CRC : u8 = 185u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PID_TUNING_DATA { pub desired : f32 , pub achieved : f32 , pub FF : f32 , pub P : f32 , pub I : f32 , pub D : f32 , pub axis : PidTuningAxis , } impl PID_TUNING_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { desired : 0.0_f32 , achieved : 0.0_f32 , FF : 0.0_f32 , P : 0.0_f32 , I : 0.0_f32 , D : 0.0_f32 , axis : PidTuningAxis :: DEFAULT , } ; } impl Default for PID_TUNING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PID_TUNING_DATA { type Message = MavMessage ; const ID : u32 = 194u32 ; const NAME : & 'static str = "PID_TUNING" ; const EXTRA_CRC : u8 = 98u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . desired = buf . get_f32_le () ; __struct . achieved = buf . get_f32_le () ; __struct . FF = buf . get_f32_le () ; __struct . P = buf . get_f32_le () ; __struct . I = buf . get_f32_le () ; __struct . D = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . axis = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "PidTuningAxis" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . desired) ; __tmp . put_f32_le (self . achieved) ; __tmp . put_f32_le (self . FF) ; __tmp . put_f32_le (self . P) ; __tmp . put_f32_le (self . I) ; __tmp . put_f32_le (self . D) ; __tmp . put_u8 (self . axis as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { pub time_boot_us : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub q_estimated_delay_us : u32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub v_estimated_delay_us : u32 , pub feed_forward_angular_velocity_z : f32 , pub estimator_status : EstimatorStatusFlags , pub target_system : u8 , pub target_component : u8 , pub landed_state : MavLandedState , } impl AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_us : 0_u64 , q : [0.0_f32 ; 4usize] , q_estimated_delay_us : 0_u32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , v_estimated_delay_us : 0_u32 , feed_forward_angular_velocity_z : 0.0_f32 , estimator_status : EstimatorStatusFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , landed_state : MavLandedState :: DEFAULT , } ; } impl Default for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { type Message = MavMessage ; const ID : u32 = 286u32 ; const NAME : & 'static str = "AUTOPILOT_STATE_FOR_GIMBAL_DEVICE" ; const EXTRA_CRC : u8 = 210u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_us = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . q_estimated_delay_us = buf . get_u32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . v_estimated_delay_us = buf . get_u32_le () ; __struct . feed_forward_angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . estimator_status = EstimatorStatusFlags :: from_bits (tmp & EstimatorStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EstimatorStatusFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_boot_us) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_u32_le (self . q_estimated_delay_us) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_u32_le (self . v_estimated_delay_us) ; __tmp . put_f32_le (self . feed_forward_angular_velocity_z) ; __tmp . put_u16_le (self . estimator_status . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . landed_state as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ICAROUS_KINEMATIC_BANDS_DATA { pub min1 : f32 , pub max1 : f32 , pub min2 : f32 , pub max2 : f32 , pub min3 : f32 , pub max3 : f32 , pub min4 : f32 , pub max4 : f32 , pub min5 : f32 , pub max5 : f32 , pub numBands : i8 , pub type1 : IcarousTrackBandTypes , pub type2 : IcarousTrackBandTypes , pub type3 : IcarousTrackBandTypes , pub type4 : IcarousTrackBandTypes , pub type5 : IcarousTrackBandTypes , } impl ICAROUS_KINEMATIC_BANDS_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { min1 : 0.0_f32 , max1 : 0.0_f32 , min2 : 0.0_f32 , max2 : 0.0_f32 , min3 : 0.0_f32 , max3 : 0.0_f32 , min4 : 0.0_f32 , max4 : 0.0_f32 , min5 : 0.0_f32 , max5 : 0.0_f32 , numBands : 0_i8 , type1 : IcarousTrackBandTypes :: DEFAULT , type2 : IcarousTrackBandTypes :: DEFAULT , type3 : IcarousTrackBandTypes :: DEFAULT , type4 : IcarousTrackBandTypes :: DEFAULT , type5 : IcarousTrackBandTypes :: DEFAULT , } ; } impl Default for ICAROUS_KINEMATIC_BANDS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ICAROUS_KINEMATIC_BANDS_DATA { type Message = MavMessage ; const ID : u32 = 42001u32 ; const NAME : & 'static str = "ICAROUS_KINEMATIC_BANDS" ; const EXTRA_CRC : u8 = 239u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . min1 = buf . get_f32_le () ; __struct . max1 = buf . get_f32_le () ; __struct . min2 = buf . get_f32_le () ; __struct . max2 = buf . get_f32_le () ; __struct . min3 = buf . get_f32_le () ; __struct . max3 = buf . get_f32_le () ; __struct . min4 = buf . get_f32_le () ; __struct . max4 = buf . get_f32_le () ; __struct . min5 = buf . get_f32_le () ; __struct . max5 = buf . get_f32_le () ; __struct . numBands = buf . get_i8 () ; let tmp = buf . get_u8 () ; __struct . type1 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type2 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type3 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type4 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type5 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . min1) ; __tmp . put_f32_le (self . max1) ; __tmp . put_f32_le (self . min2) ; __tmp . put_f32_le (self . max2) ; __tmp . put_f32_le (self . min3) ; __tmp . put_f32_le (self . max3) ; __tmp . put_f32_le (self . min4) ; __tmp . put_f32_le (self . max4) ; __tmp . put_f32_le (self . min5) ; __tmp . put_f32_le (self . max5) ; __tmp . put_i8 (self . numBands) ; __tmp . put_u8 (self . type1 as u8) ; __tmp . put_u8 (self . type2 as u8) ; __tmp . put_u8 (self . type3 as u8) ; __tmp . put_u8 (self . type4 as u8) ; __tmp . put_u8 (self . type5 as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_INFO_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub error_count : [u32 ; 4] , pub counter : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub failure_flags : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature : [i16 ; 4] , pub index : u8 , pub count : u8 , pub connection_type : EscConnectionType , pub info : u8 , } impl ESC_INFO_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , error_count : [0_u32 ; 4usize] , counter : 0_u16 , failure_flags : [0_u16 ; 4usize] , temperature : [0_i16 ; 4usize] , index : 0_u8 , count : 0_u8 , connection_type : EscConnectionType :: DEFAULT , info : 0_u8 , } ; } impl Default for ESC_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_INFO_DATA { type Message = MavMessage ; const ID : u32 = 290u32 ; const NAME : & 'static str = "ESC_INFO" ; const EXTRA_CRC : u8 = 251u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . error_count { let val = buf . get_u32_le () ; * v = val ; } __struct . counter = buf . get_u16_le () ; for v in & mut __struct . failure_flags { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . temperature { let val = buf . get_i16_le () ; * v = val ; } __struct . index = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . connection_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "EscConnectionType" , value : tmp as u32 }) ? ; __struct . info = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . error_count { __tmp . put_u32_le (* val) ; } __tmp . put_u16_le (self . counter) ; for val in & self . failure_flags { __tmp . put_u16_le (* val) ; } for val in & self . temperature { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . index) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . connection_type as u8) ; __tmp . put_u8 (self . info) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POSITION_TARGET_LOCAL_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub coordinate_frame : MavFrame , } impl POSITION_TARGET_LOCAL_NED_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for POSITION_TARGET_LOCAL_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POSITION_TARGET_LOCAL_NED_DATA { type Message = MavMessage ; const ID : u32 = 85u32 ; const NAME : & 'static str = "POSITION_TARGET_LOCAL_NED" ; const EXTRA_CRC : u8 = 140u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRIGGER_DATA { pub time_usec : u64 , pub seq : u32 , } impl CAMERA_TRIGGER_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , seq : 0_u32 , } ; } impl Default for CAMERA_TRIGGER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRIGGER_DATA { type Message = MavMessage ; const ID : u32 = 112u32 ; const NAME : & 'static str = "CAMERA_TRIGGER" ; const EXTRA_CRC : u8 = 174u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . seq = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_INPUT_DATA { pub time_usec : u64 , pub time_week_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : f32 , pub hdop : f32 , pub vdop : f32 , pub vn : f32 , pub ve : f32 , pub vd : f32 , pub speed_accuracy : f32 , pub horiz_accuracy : f32 , pub vert_accuracy : f32 , pub ignore_flags : GpsInputIgnoreFlags , pub time_week : u16 , pub gps_id : u8 , pub fix_type : u8 , pub satellites_visible : u8 , } impl GPS_INPUT_DATA { pub const ENCODED_LEN : usize = 63usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , time_week_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , hdop : 0.0_f32 , vdop : 0.0_f32 , vn : 0.0_f32 , ve : 0.0_f32 , vd : 0.0_f32 , speed_accuracy : 0.0_f32 , horiz_accuracy : 0.0_f32 , vert_accuracy : 0.0_f32 , ignore_flags : GpsInputIgnoreFlags :: DEFAULT , time_week : 0_u16 , gps_id : 0_u8 , fix_type : 0_u8 , satellites_visible : 0_u8 , } ; } impl Default for GPS_INPUT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_INPUT_DATA { type Message = MavMessage ; const ID : u32 = 232u32 ; const NAME : & 'static str = "GPS_INPUT" ; const EXTRA_CRC : u8 = 151u8 ; const ENCODED_LEN : usize = 63usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . time_week_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . hdop = buf . get_f32_le () ; __struct . vdop = buf . get_f32_le () ; __struct . vn = buf . get_f32_le () ; __struct . ve = buf . get_f32_le () ; __struct . vd = buf . get_f32_le () ; __struct . speed_accuracy = buf . get_f32_le () ; __struct . horiz_accuracy = buf . get_f32_le () ; __struct . vert_accuracy = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . ignore_flags = GpsInputIgnoreFlags :: from_bits (tmp & GpsInputIgnoreFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GpsInputIgnoreFlags" , value : tmp as u32 }) ? ; __struct . time_week = buf . get_u16_le () ; __struct . gps_id = buf . get_u8 () ; __struct . fix_type = buf . get_u8 () ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . time_week_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . hdop) ; __tmp . put_f32_le (self . vdop) ; __tmp . put_f32_le (self . vn) ; __tmp . put_f32_le (self . ve) ; __tmp . put_f32_le (self . vd) ; __tmp . put_f32_le (self . speed_accuracy) ; __tmp . put_f32_le (self . horiz_accuracy) ; __tmp . put_f32_le (self . vert_accuracy) ; __tmp . put_u16_le (self . ignore_flags . bits ()) ; __tmp . put_u16_le (self . time_week) ; __tmp . put_u8 (self . gps_id) ; __tmp . put_u8 (self . fix_type) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BATTERY_STATUS_DATA { pub current_consumed : i32 , pub energy_consumed : i32 , pub temperature : i16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltages : [u16 ; 10] , pub current_battery : i16 , pub id : u8 , pub battery_function : MavBatteryFunction , pub mavtype : MavBatteryType , pub battery_remaining : i8 , } impl BATTERY_STATUS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { current_consumed : 0_i32 , energy_consumed : 0_i32 , temperature : 0_i16 , voltages : [0_u16 ; 10usize] , current_battery : 0_i16 , id : 0_u8 , battery_function : MavBatteryFunction :: DEFAULT , mavtype : MavBatteryType :: DEFAULT , battery_remaining : 0_i8 , } ; } impl Default for BATTERY_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BATTERY_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 147u32 ; const NAME : & 'static str = "BATTERY_STATUS" ; const EXTRA_CRC : u8 = 154u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . current_consumed = buf . get_i32_le () ; __struct . energy_consumed = buf . get_i32_le () ; __struct . temperature = buf . get_i16_le () ; for v in & mut __struct . voltages { let val = buf . get_u16_le () ; * v = val ; } __struct . current_battery = buf . get_i16_le () ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . battery_function = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryFunction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryType" , value : tmp as u32 }) ? ; __struct . battery_remaining = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . current_consumed) ; __tmp . put_i32_le (self . energy_consumed) ; __tmp . put_i16_le (self . temperature) ; for val in & self . voltages { __tmp . put_u16_le (* val) ; } __tmp . put_i16_le (self . current_battery) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . battery_function as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_i8 (self . battery_remaining) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FENCE_FETCH_POINT_DATA { pub target_system : u8 , pub target_component : u8 , pub idx : u8 , } impl FENCE_FETCH_POINT_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , idx : 0_u8 , } ; } impl Default for FENCE_FETCH_POINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FENCE_FETCH_POINT_DATA { type Message = MavMessage ; const ID : u32 = 161u32 ; const NAME : & 'static str = "FENCE_FETCH_POINT" ; const EXTRA_CRC : u8 = 68u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . idx = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . idx) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SYS_STATUS_DATA { pub onboard_control_sensors_present : MavSysStatusSensor , pub onboard_control_sensors_enabled : MavSysStatusSensor , pub onboard_control_sensors_health : MavSysStatusSensor , pub load : u16 , pub voltage_battery : u16 , pub current_battery : i16 , pub drop_rate_comm : u16 , pub errors_comm : u16 , pub errors_count1 : u16 , pub errors_count2 : u16 , pub errors_count3 : u16 , pub errors_count4 : u16 , pub battery_remaining : i8 , } impl SYS_STATUS_DATA { pub const ENCODED_LEN : usize = 31usize ; pub const DEFAULT : Self = Self { onboard_control_sensors_present : MavSysStatusSensor :: DEFAULT , onboard_control_sensors_enabled : MavSysStatusSensor :: DEFAULT , onboard_control_sensors_health : MavSysStatusSensor :: DEFAULT , load : 0_u16 , voltage_battery : 0_u16 , current_battery : 0_i16 , drop_rate_comm : 0_u16 , errors_comm : 0_u16 , errors_count1 : 0_u16 , errors_count2 : 0_u16 , errors_count3 : 0_u16 , errors_count4 : 0_u16 , battery_remaining : 0_i8 , } ; } impl Default for SYS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SYS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 1u32 ; const NAME : & 'static str = "SYS_STATUS" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 31usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_present = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_enabled = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_health = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; __struct . load = buf . get_u16_le () ; __struct . voltage_battery = buf . get_u16_le () ; __struct . current_battery = buf . get_i16_le () ; __struct . drop_rate_comm = buf . get_u16_le () ; __struct . errors_comm = buf . get_u16_le () ; __struct . errors_count1 = buf . get_u16_le () ; __struct . errors_count2 = buf . get_u16_le () ; __struct . errors_count3 = buf . get_u16_le () ; __struct . errors_count4 = buf . get_u16_le () ; __struct . battery_remaining = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . onboard_control_sensors_present . bits ()) ; __tmp . put_u32_le (self . onboard_control_sensors_enabled . bits ()) ; __tmp . put_u32_le (self . onboard_control_sensors_health . bits ()) ; __tmp . put_u16_le (self . load) ; __tmp . put_u16_le (self . voltage_battery) ; __tmp . put_i16_le (self . current_battery) ; __tmp . put_u16_le (self . drop_rate_comm) ; __tmp . put_u16_le (self . errors_comm) ; __tmp . put_u16_le (self . errors_count1) ; __tmp . put_u16_le (self . errors_count2) ; __tmp . put_u16_le (self . errors_count3) ; __tmp . put_u16_le (self . errors_count4) ; __tmp . put_i8 (self . battery_remaining) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ISBD_LINK_STATUS_DATA { pub timestamp : u64 , pub last_heartbeat : u64 , pub failed_sessions : u16 , pub successful_sessions : u16 , pub signal_quality : u8 , pub ring_pending : u8 , pub tx_session_pending : u8 , pub rx_session_pending : u8 , } impl ISBD_LINK_STATUS_DATA { pub const ENCODED_LEN : usize = 24usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , last_heartbeat : 0_u64 , failed_sessions : 0_u16 , successful_sessions : 0_u16 , signal_quality : 0_u8 , ring_pending : 0_u8 , tx_session_pending : 0_u8 , rx_session_pending : 0_u8 , } ; } impl Default for ISBD_LINK_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ISBD_LINK_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 335u32 ; const NAME : & 'static str = "ISBD_LINK_STATUS" ; const EXTRA_CRC : u8 = 225u8 ; const ENCODED_LEN : usize = 24usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . last_heartbeat = buf . get_u64_le () ; __struct . failed_sessions = buf . get_u16_le () ; __struct . successful_sessions = buf . get_u16_le () ; __struct . signal_quality = buf . get_u8 () ; __struct . ring_pending = buf . get_u8 () ; __struct . tx_session_pending = buf . get_u8 () ; __struct . rx_session_pending = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u64_le (self . last_heartbeat) ; __tmp . put_u16_le (self . failed_sessions) ; __tmp . put_u16_le (self . successful_sessions) ; __tmp . put_u8 (self . signal_quality) ; __tmp . put_u8 (self . ring_pending) ; __tmp . put_u8 (self . tx_session_pending) ; __tmp . put_u8 (self . rx_session_pending) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_VECT_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl DEBUG_VECT_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , name : [0_u8 ; 10usize] , } ; } impl Default for DEBUG_VECT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_VECT_DATA { type Message = MavMessage ; const ID : u32 = 250u32 ; const NAME : & 'static str = "DEBUG_VECT" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SIMSTATE_DATA { pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub lat : i32 , pub lng : i32 , } impl SIMSTATE_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , lat : 0_i32 , lng : 0_i32 , } ; } impl Default for SIMSTATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SIMSTATE_DATA { type Message = MavMessage ; const ID : u32 = 164u32 ; const NAME : & 'static str = "SIMSTATE" ; const EXTRA_CRC : u8 = 154u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lng = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lng) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FENCE_POINT_DATA { pub lat : f32 , pub lng : f32 , pub target_system : u8 , pub target_component : u8 , pub idx : u8 , pub count : u8 , } impl FENCE_POINT_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { lat : 0.0_f32 , lng : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , idx : 0_u8 , count : 0_u8 , } ; } impl Default for FENCE_POINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FENCE_POINT_DATA { type Message = MavMessage ; const ID : u32 = 160u32 ; const NAME : & 'static str = "FENCE_POINT" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_f32_le () ; __struct . lng = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . idx = buf . get_u8 () ; __struct . count = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . lat) ; __tmp . put_f32_le (self . lng) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . idx) ; __tmp . put_u8 (self . count) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA { pub offset : u32 , pub target_system : u8 , pub target_component : u8 , } impl CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { offset : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA { type Message = MavMessage ; const ID : u32 = 50005u32 ; const NAME : & 'static str = "CUBEPILOT_FIRMWARE_UPDATE_RESP" ; const EXTRA_CRC : u8 = 152u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . offset = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . offset) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SETUP_SIGNING_DATA { pub initial_timestamp : u64 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub secret_key : [u8 ; 32] , } impl SETUP_SIGNING_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { initial_timestamp : 0_u64 , target_system : 0_u8 , target_component : 0_u8 , secret_key : [0_u8 ; 32usize] , } ; } impl Default for SETUP_SIGNING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SETUP_SIGNING_DATA { type Message = MavMessage ; const ID : u32 = 256u32 ; const NAME : & 'static str = "SETUP_SIGNING" ; const EXTRA_CRC : u8 = 71u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . initial_timestamp = buf . get_u64_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . secret_key { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . initial_timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . secret_key { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPONENT_METADATA_DATA { pub time_boot_ms : u32 , pub file_crc : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 100] , } impl COMPONENT_METADATA_DATA { pub const ENCODED_LEN : usize = 108usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , file_crc : 0_u32 , uri : [0_u8 ; 100usize] , } ; } impl Default for COMPONENT_METADATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPONENT_METADATA_DATA { type Message = MavMessage ; const ID : u32 = 397u32 ; const NAME : & 'static str = "COMPONENT_METADATA" ; const EXTRA_CRC : u8 = 182u8 ; const ENCODED_LEN : usize = 108usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . file_crc = buf . get_u32_le () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . file_crc) ; for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_STATUS_DATA { pub time_usec : u64 , pub p1 : f32 , pub p2 : f32 , pub p3 : f32 , pub p4 : f32 , pub img_idx : u16 , pub target_system : u8 , pub cam_idx : u8 , pub event_id : CameraStatusTypes , } impl CAMERA_STATUS_DATA { pub const ENCODED_LEN : usize = 29usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , p1 : 0.0_f32 , p2 : 0.0_f32 , p3 : 0.0_f32 , p4 : 0.0_f32 , img_idx : 0_u16 , target_system : 0_u8 , cam_idx : 0_u8 , event_id : CameraStatusTypes :: DEFAULT , } ; } impl Default for CAMERA_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 179u32 ; const NAME : & 'static str = "CAMERA_STATUS" ; const EXTRA_CRC : u8 = 189u8 ; const ENCODED_LEN : usize = 29usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . p1 = buf . get_f32_le () ; __struct . p2 = buf . get_f32_le () ; __struct . p3 = buf . get_f32_le () ; __struct . p4 = buf . get_f32_le () ; __struct . img_idx = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . cam_idx = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . event_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraStatusTypes" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . p1) ; __tmp . put_f32_le (self . p2) ; __tmp . put_f32_le (self . p3) ; __tmp . put_f32_le (self . p4) ; __tmp . put_u16_le (self . img_idx) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . cam_idx) ; __tmp . put_u8 (self . event_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA96_DATA { pub mavtype : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 96] , } impl DATA96_DATA { pub const ENCODED_LEN : usize = 98usize ; pub const DEFAULT : Self = Self { mavtype : 0_u8 , len : 0_u8 , data : [0_u8 ; 96usize] , } ; } impl Default for DATA96_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA96_DATA { type Message = MavMessage ; const ID : u32 = 172u32 ; const NAME : & 'static str = "DATA96" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 98usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mavtype = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . mavtype) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { pub flags : GimbalManagerFlags , pub pitch : f32 , pub yaw : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , pitch : 0.0_f32 , yaw : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 288u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_MANUAL_CONTROL" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ALTITUDE_DATA { pub time_usec : u64 , pub altitude_monotonic : f32 , pub altitude_amsl : f32 , pub altitude_local : f32 , pub altitude_relative : f32 , pub altitude_terrain : f32 , pub bottom_clearance : f32 , } impl ALTITUDE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , altitude_monotonic : 0.0_f32 , altitude_amsl : 0.0_f32 , altitude_local : 0.0_f32 , altitude_relative : 0.0_f32 , altitude_terrain : 0.0_f32 , bottom_clearance : 0.0_f32 , } ; } impl Default for ALTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ALTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 141u32 ; const NAME : & 'static str = "ALTITUDE" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . altitude_monotonic = buf . get_f32_le () ; __struct . altitude_amsl = buf . get_f32_le () ; __struct . altitude_local = buf . get_f32_le () ; __struct . altitude_relative = buf . get_f32_le () ; __struct . altitude_terrain = buf . get_f32_le () ; __struct . bottom_clearance = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . altitude_monotonic) ; __tmp . put_f32_le (self . altitude_amsl) ; __tmp . put_f32_le (self . altitude_local) ; __tmp . put_f32_le (self . altitude_relative) ; __tmp . put_f32_le (self . altitude_terrain) ; __tmp . put_f32_le (self . bottom_clearance) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OBSTACLE_DISTANCE_3D_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub min_distance : f32 , pub max_distance : f32 , pub obstacle_id : u16 , pub sensor_type : MavDistanceSensor , pub frame : MavFrame , } impl OBSTACLE_DISTANCE_3D_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , min_distance : 0.0_f32 , max_distance : 0.0_f32 , obstacle_id : 0_u16 , sensor_type : MavDistanceSensor :: DEFAULT , frame : MavFrame :: DEFAULT , } ; } impl Default for OBSTACLE_DISTANCE_3D_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OBSTACLE_DISTANCE_3D_DATA { type Message = MavMessage ; const ID : u32 = 11037u32 ; const NAME : & 'static str = "OBSTACLE_DISTANCE_3D" ; const EXTRA_CRC : u8 = 130u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . min_distance = buf . get_f32_le () ; __struct . max_distance = buf . get_f32_le () ; __struct . obstacle_id = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . sensor_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . min_distance) ; __tmp . put_f32_le (self . max_distance) ; __tmp . put_u16_le (self . obstacle_id) ; __tmp . put_u8 (self . sensor_type as u8) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HERELINK_TELEM_DATA { } impl HERELINK_TELEM_DATA { pub const ENCODED_LEN : usize = 0usize ; pub const DEFAULT : Self = Self { } ; } impl Default for HERELINK_TELEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HERELINK_TELEM_DATA { type Message = MavMessage ; const ID : u32 = 50003u32 ; const NAME : & 'static str = "HERELINK_TELEM" ; const EXTRA_CRC : u8 = 53u8 ; const ENCODED_LEN : usize = 0usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { Ok (Self :: default ()) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_STATUS_DATA { pub satellites_visible : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_prn : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_used : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_elevation : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_azimuth : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_snr : [u8 ; 20] , } impl GPS_STATUS_DATA { pub const ENCODED_LEN : usize = 101usize ; pub const DEFAULT : Self = Self { satellites_visible : 0_u8 , satellite_prn : [0_u8 ; 20usize] , satellite_used : [0_u8 ; 20usize] , satellite_elevation : [0_u8 ; 20usize] , satellite_azimuth : [0_u8 ; 20usize] , satellite_snr : [0_u8 ; 20usize] , } ; } impl Default for GPS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 25u32 ; const NAME : & 'static str = "GPS_STATUS" ; const EXTRA_CRC : u8 = 23u8 ; const ENCODED_LEN : usize = 101usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . satellites_visible = buf . get_u8 () ; for v in & mut __struct . satellite_prn { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_used { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_elevation { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_azimuth { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_snr { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . satellites_visible) ; for val in & self . satellite_prn { __tmp . put_u8 (* val) ; } for val in & self . satellite_used { __tmp . put_u8 (* val) ; } for val in & self . satellite_elevation { __tmp . put_u8 (* val) ; } for val in & self . satellite_azimuth { __tmp . put_u8 (* val) ; } for val in & self . satellite_snr { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_OVERRIDE_DATA { pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub target_system : u8 , pub target_component : u8 , } impl RC_CHANNELS_OVERRIDE_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for RC_CHANNELS_OVERRIDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_OVERRIDE_DATA { type Message = MavMessage ; const ID : u32 = 70u32 ; const NAME : & 'static str = "RC_CHANNELS_OVERRIDE" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RPM_DATA { pub rpm1 : f32 , pub rpm2 : f32 , } impl RPM_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { rpm1 : 0.0_f32 , rpm2 : 0.0_f32 , } ; } impl Default for RPM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RPM_DATA { type Message = MavMessage ; const ID : u32 = 226u32 ; const NAME : & 'static str = "RPM" ; const EXTRA_CRC : u8 = 207u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . rpm1 = buf . get_f32_le () ; __struct . rpm2 = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . rpm1) ; __tmp . put_f32_le (self . rpm2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CANFD_FRAME_DATA { pub id : u32 , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 64] , } impl CANFD_FRAME_DATA { pub const ENCODED_LEN : usize = 72usize ; pub const DEFAULT : Self = Self { id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , len : 0_u8 , data : [0_u8 ; 64usize] , } ; } impl Default for CANFD_FRAME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CANFD_FRAME_DATA { type Message = MavMessage ; const ID : u32 = 387u32 ; const NAME : & 'static str = "CANFD_FRAME" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 72usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_SET_ATTITUDE_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub flags : GimbalDeviceFlags , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_DEVICE_SET_ATTITUDE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , flags : GimbalDeviceFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_DEVICE_SET_ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_SET_ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 284u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_SET_ATTITUDE" ; const EXTRA_CRC : u8 = 99u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = GimbalDeviceFlags :: from_bits (tmp & GimbalDeviceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POSITION_TARGET_GLOBAL_INT_DATA { pub time_boot_ms : u32 , pub lat_int : i32 , pub lon_int : i32 , pub alt : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub coordinate_frame : MavFrame , } impl POSITION_TARGET_GLOBAL_INT_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_int : 0_i32 , lon_int : 0_i32 , alt : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for POSITION_TARGET_GLOBAL_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POSITION_TARGET_GLOBAL_INT_DATA { type Message = MavMessage ; const ID : u32 = 87u32 ; const NAME : & 'static str = "POSITION_TARGET_GLOBAL_INT" ; const EXTRA_CRC : u8 = 150u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_int = buf . get_i32_le () ; __struct . lon_int = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_int) ; __tmp . put_i32_le (self . lon_int) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_VERSION_REQUEST_DATA { pub target_system : u8 , pub target_component : u8 , } impl AUTOPILOT_VERSION_REQUEST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for AUTOPILOT_VERSION_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_VERSION_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 183u32 ; const NAME : & 'static str = "AUTOPILOT_VERSION_REQUEST" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_DATA_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , pub length : u8 , pub first_message_offset : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 249] , } impl LOGGING_DATA_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , length : 0_u8 , first_message_offset : 0_u8 , data : [0_u8 ; 249usize] , } ; } impl Default for LOGGING_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_DATA_DATA { type Message = MavMessage ; const ID : u32 = 266u32 ; const NAME : & 'static str = "LOGGING_DATA" ; const EXTRA_CRC : u8 = 193u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . length = buf . get_u8 () ; __struct . first_message_offset = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . length) ; __tmp . put_u8 (self . first_message_offset) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CHANGE_OPERATOR_CONTROL_DATA { pub target_system : u8 , pub control_request : u8 , pub version : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub passkey : [u8 ; 25] , } impl CHANGE_OPERATOR_CONTROL_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , control_request : 0_u8 , version : 0_u8 , passkey : [0_u8 ; 25usize] , } ; } impl Default for CHANGE_OPERATOR_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CHANGE_OPERATOR_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 5u32 ; const NAME : & 'static str = "CHANGE_OPERATOR_CONTROL" ; const EXTRA_CRC : u8 = 217u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . control_request = buf . get_u8 () ; __struct . version = buf . get_u8 () ; for v in & mut __struct . passkey { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . control_request) ; __tmp . put_u8 (self . version) ; for val in & self . passkey { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DIGICAM_CONTROL_DATA { pub extra_value : f32 , pub target_system : u8 , pub target_component : u8 , pub session : u8 , pub zoom_pos : u8 , pub zoom_step : i8 , pub focus_lock : u8 , pub shot : u8 , pub command_id : u8 , pub extra_param : u8 , } impl DIGICAM_CONTROL_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { extra_value : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , session : 0_u8 , zoom_pos : 0_u8 , zoom_step : 0_i8 , focus_lock : 0_u8 , shot : 0_u8 , command_id : 0_u8 , extra_param : 0_u8 , } ; } impl Default for DIGICAM_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DIGICAM_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 155u32 ; const NAME : & 'static str = "DIGICAM_CONTROL" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . extra_value = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . session = buf . get_u8 () ; __struct . zoom_pos = buf . get_u8 () ; __struct . zoom_step = buf . get_i8 () ; __struct . focus_lock = buf . get_u8 () ; __struct . shot = buf . get_u8 () ; __struct . command_id = buf . get_u8 () ; __struct . extra_param = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . extra_value) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . session) ; __tmp . put_u8 (self . zoom_pos) ; __tmp . put_i8 (self . zoom_step) ; __tmp . put_u8 (self . focus_lock) ; __tmp . put_u8 (self . shot) ; __tmp . put_u8 (self . command_id) ; __tmp . put_u8 (self . extra_param) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FENCE_STATUS_DATA { pub breach_time : u32 , pub breach_count : u16 , pub breach_status : u8 , pub breach_type : FenceBreach , } impl FENCE_STATUS_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { breach_time : 0_u32 , breach_count : 0_u16 , breach_status : 0_u8 , breach_type : FenceBreach :: DEFAULT , } ; } impl Default for FENCE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FENCE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 162u32 ; const NAME : & 'static str = "FENCE_STATUS" ; const EXTRA_CRC : u8 = 189u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . breach_time = buf . get_u32_le () ; __struct . breach_count = buf . get_u16_le () ; __struct . breach_status = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . breach_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "FenceBreach" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . breach_time) ; __tmp . put_u16_le (self . breach_count) ; __tmp . put_u8 (self . breach_status) ; __tmp . put_u8 (self . breach_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : f32 , pub y : f32 , pub z : f32 , pub seq : u16 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl MISSION_ITEM_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , seq : 0_u16 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for MISSION_ITEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_DATA { type Message = MavMessage ; const ID : u32 = 39u32 ; const NAME : & 'static str = "MISSION_ITEM" ; const EXTRA_CRC : u8 = 254u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . seq = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_PARTIAL_LIST_DATA { pub start_index : i16 , pub end_index : i16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_PARTIAL_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start_index : 0_i16 , end_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_PARTIAL_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_PARTIAL_LIST_DATA { type Message = MavMessage ; const ID : u32 = 37u32 ; const NAME : & 'static str = "MISSION_REQUEST_PARTIAL_LIST" ; const EXTRA_CRC : u8 = 212u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start_index = buf . get_i16_le () ; __struct . end_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . start_index) ; __tmp . put_i16_le (self . end_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_QUATERNION_DATA { pub time_boot_ms : u32 , pub q1 : f32 , pub q2 : f32 , pub q3 : f32 , pub q4 : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , } impl ATTITUDE_QUATERNION_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q1 : 0.0_f32 , q2 : 0.0_f32 , q3 : 0.0_f32 , q4 : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , } ; } impl Default for ATTITUDE_QUATERNION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_QUATERNION_DATA { type Message = MavMessage ; const ID : u32 = 31u32 ; const NAME : & 'static str = "ATTITUDE_QUATERNION" ; const EXTRA_CRC : u8 = 246u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . q1 = buf . get_f32_le () ; __struct . q2 = buf . get_f32_le () ; __struct . q3 = buf . get_f32_le () ; __struct . q4 = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . q1) ; __tmp . put_f32_le (self . q2) ; __tmp . put_f32_le (self . q3) ; __tmp . put_f32_le (self . q4) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_VERSION_DATA { pub capabilities : MavProtocolCapability , pub uid : u64 , pub flight_sw_version : u32 , pub middleware_sw_version : u32 , pub os_sw_version : u32 , pub board_version : u32 , pub vendor_id : u16 , pub product_id : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub flight_custom_version : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub middleware_custom_version : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub os_custom_version : [u8 ; 8] , } impl AUTOPILOT_VERSION_DATA { pub const ENCODED_LEN : usize = 60usize ; pub const DEFAULT : Self = Self { capabilities : MavProtocolCapability :: DEFAULT , uid : 0_u64 , flight_sw_version : 0_u32 , middleware_sw_version : 0_u32 , os_sw_version : 0_u32 , board_version : 0_u32 , vendor_id : 0_u16 , product_id : 0_u16 , flight_custom_version : [0_u8 ; 8usize] , middleware_custom_version : [0_u8 ; 8usize] , os_custom_version : [0_u8 ; 8usize] , } ; } impl Default for AUTOPILOT_VERSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_VERSION_DATA { type Message = MavMessage ; const ID : u32 = 148u32 ; const NAME : & 'static str = "AUTOPILOT_VERSION" ; const EXTRA_CRC : u8 = 178u8 ; const ENCODED_LEN : usize = 60usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u64_le () ; __struct . capabilities = MavProtocolCapability :: from_bits (tmp & MavProtocolCapability :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavProtocolCapability" , value : tmp as u32 }) ? ; __struct . uid = buf . get_u64_le () ; __struct . flight_sw_version = buf . get_u32_le () ; __struct . middleware_sw_version = buf . get_u32_le () ; __struct . os_sw_version = buf . get_u32_le () ; __struct . board_version = buf . get_u32_le () ; __struct . vendor_id = buf . get_u16_le () ; __struct . product_id = buf . get_u16_le () ; for v in & mut __struct . flight_custom_version { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . middleware_custom_version { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . os_custom_version { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . capabilities . bits ()) ; __tmp . put_u64_le (self . uid) ; __tmp . put_u32_le (self . flight_sw_version) ; __tmp . put_u32_le (self . middleware_sw_version) ; __tmp . put_u32_le (self . os_sw_version) ; __tmp . put_u32_le (self . board_version) ; __tmp . put_u16_le (self . vendor_id) ; __tmp . put_u16_le (self . product_id) ; for val in & self . flight_custom_version { __tmp . put_u8 (* val) ; } for val in & self . middleware_custom_version { __tmp . put_u8 (* val) ; } for val in & self . os_custom_version { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_ACTUATOR_CONTROLS_DATA { pub time_usec : u64 , pub flags : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 16] , pub mode : MavModeFlag , } impl HIL_ACTUATOR_CONTROLS_DATA { pub const ENCODED_LEN : usize = 81usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , flags : 0_u64 , controls : [0.0_f32 ; 16usize] , mode : MavModeFlag :: DEFAULT , } ; } impl Default for HIL_ACTUATOR_CONTROLS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_ACTUATOR_CONTROLS_DATA { type Message = MavMessage ; const ID : u32 = 93u32 ; const NAME : & 'static str = "HIL_ACTUATOR_CONTROLS" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 81usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . flags = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u64_le (self . flags) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . mode . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_OPTICAL_FLOW_DATA { pub time_usec : u64 , pub integration_time_us : u32 , pub integrated_x : f32 , pub integrated_y : f32 , pub integrated_xgyro : f32 , pub integrated_ygyro : f32 , pub integrated_zgyro : f32 , pub time_delta_distance_us : u32 , pub distance : f32 , pub temperature : i16 , pub sensor_id : u8 , pub quality : u8 , } impl HIL_OPTICAL_FLOW_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , integration_time_us : 0_u32 , integrated_x : 0.0_f32 , integrated_y : 0.0_f32 , integrated_xgyro : 0.0_f32 , integrated_ygyro : 0.0_f32 , integrated_zgyro : 0.0_f32 , time_delta_distance_us : 0_u32 , distance : 0.0_f32 , temperature : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for HIL_OPTICAL_FLOW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_OPTICAL_FLOW_DATA { type Message = MavMessage ; const ID : u32 = 114u32 ; const NAME : & 'static str = "HIL_OPTICAL_FLOW" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . integration_time_us = buf . get_u32_le () ; __struct . integrated_x = buf . get_f32_le () ; __struct . integrated_y = buf . get_f32_le () ; __struct . integrated_xgyro = buf . get_f32_le () ; __struct . integrated_ygyro = buf . get_f32_le () ; __struct . integrated_zgyro = buf . get_f32_le () ; __struct . time_delta_distance_us = buf . get_u32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . integration_time_us) ; __tmp . put_f32_le (self . integrated_x) ; __tmp . put_f32_le (self . integrated_y) ; __tmp . put_f32_le (self . integrated_xgyro) ; __tmp . put_f32_le (self . integrated_ygyro) ; __tmp . put_f32_le (self . integrated_zgyro) ; __tmp . put_u32_le (self . time_delta_distance_us) ; __tmp . put_f32_le (self . distance) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA_TRANSMISSION_HANDSHAKE_DATA { pub size : u32 , pub width : u16 , pub height : u16 , pub packets : u16 , pub mavtype : MavlinkDataStreamType , pub payload : u8 , pub jpg_quality : u8 , } impl DATA_TRANSMISSION_HANDSHAKE_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { size : 0_u32 , width : 0_u16 , height : 0_u16 , packets : 0_u16 , mavtype : MavlinkDataStreamType :: DEFAULT , payload : 0_u8 , jpg_quality : 0_u8 , } ; } impl Default for DATA_TRANSMISSION_HANDSHAKE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA_TRANSMISSION_HANDSHAKE_DATA { type Message = MavMessage ; const ID : u32 = 130u32 ; const NAME : & 'static str = "DATA_TRANSMISSION_HANDSHAKE" ; const EXTRA_CRC : u8 = 29u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . size = buf . get_u32_le () ; __struct . width = buf . get_u16_le () ; __struct . height = buf . get_u16_le () ; __struct . packets = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavlinkDataStreamType" , value : tmp as u32 }) ? ; __struct . payload = buf . get_u8 () ; __struct . jpg_quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . size) ; __tmp . put_u16_le (self . width) ; __tmp . put_u16_le (self . height) ; __tmp . put_u16_le (self . packets) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . payload) ; __tmp . put_u8 (self . jpg_quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PLAY_TUNE_V2_DATA { pub format : TuneFormat , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub tune : [u8 ; 248] , } impl PLAY_TUNE_V2_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { format : TuneFormat :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , tune : [0_u8 ; 248usize] , } ; } impl Default for PLAY_TUNE_V2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PLAY_TUNE_V2_DATA { type Message = MavMessage ; const ID : u32 = 400u32 ; const NAME : & 'static str = "PLAY_TUNE_V2" ; const EXTRA_CRC : u8 = 110u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . format = TuneFormat :: from_bits (tmp & TuneFormat :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "TuneFormat" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . tune { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . format . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . tune { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_REPORT_DATA { pub delta_time : f32 , pub delta_angle_x : f32 , pub delta_angle_y : f32 , pub delta_angle_z : f32 , pub delta_velocity_x : f32 , pub delta_velocity_y : f32 , pub delta_velocity_z : f32 , pub joint_roll : f32 , pub joint_el : f32 , pub joint_az : f32 , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_REPORT_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { delta_time : 0.0_f32 , delta_angle_x : 0.0_f32 , delta_angle_y : 0.0_f32 , delta_angle_z : 0.0_f32 , delta_velocity_x : 0.0_f32 , delta_velocity_y : 0.0_f32 , delta_velocity_z : 0.0_f32 , joint_roll : 0.0_f32 , joint_el : 0.0_f32 , joint_az : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 200u32 ; const NAME : & 'static str = "GIMBAL_REPORT" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . delta_time = buf . get_f32_le () ; __struct . delta_angle_x = buf . get_f32_le () ; __struct . delta_angle_y = buf . get_f32_le () ; __struct . delta_angle_z = buf . get_f32_le () ; __struct . delta_velocity_x = buf . get_f32_le () ; __struct . delta_velocity_y = buf . get_f32_le () ; __struct . delta_velocity_z = buf . get_f32_le () ; __struct . joint_roll = buf . get_f32_le () ; __struct . joint_el = buf . get_f32_le () ; __struct . joint_az = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . delta_time) ; __tmp . put_f32_le (self . delta_angle_x) ; __tmp . put_f32_le (self . delta_angle_y) ; __tmp . put_f32_le (self . delta_angle_z) ; __tmp . put_f32_le (self . delta_velocity_x) ; __tmp . put_f32_le (self . delta_velocity_y) ; __tmp . put_f32_le (self . delta_velocity_z) ; __tmp . put_f32_le (self . joint_roll) ; __tmp . put_f32_le (self . joint_el) ; __tmp . put_f32_le (self . joint_az) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SAFETY_SET_ALLOWED_AREA_DATA { pub p1x : f32 , pub p1y : f32 , pub p1z : f32 , pub p2x : f32 , pub p2y : f32 , pub p2z : f32 , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , } impl SAFETY_SET_ALLOWED_AREA_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { p1x : 0.0_f32 , p1y : 0.0_f32 , p1z : 0.0_f32 , p2x : 0.0_f32 , p2y : 0.0_f32 , p2z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , } ; } impl Default for SAFETY_SET_ALLOWED_AREA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SAFETY_SET_ALLOWED_AREA_DATA { type Message = MavMessage ; const ID : u32 = 54u32 ; const NAME : & 'static str = "SAFETY_SET_ALLOWED_AREA" ; const EXTRA_CRC : u8 = 15u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . p1x = buf . get_f32_le () ; __struct . p1y = buf . get_f32_le () ; __struct . p1z = buf . get_f32_le () ; __struct . p2x = buf . get_f32_le () ; __struct . p2y = buf . get_f32_le () ; __struct . p2z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . p1x) ; __tmp . put_f32_le (self . p1y) ; __tmp . put_f32_le (self . p1z) ; __tmp . put_f32_le (self . p2x) ; __tmp . put_f32_le (self . p2y) ; __tmp . put_f32_le (self . p2z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HOME_POSITION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub approach_x : f32 , pub approach_y : f32 , pub approach_z : f32 , } impl HOME_POSITION_DATA { pub const ENCODED_LEN : usize = 52usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , approach_x : 0.0_f32 , approach_y : 0.0_f32 , approach_z : 0.0_f32 , } ; } impl Default for HOME_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HOME_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 242u32 ; const NAME : & 'static str = "HOME_POSITION" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 52usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . approach_x = buf . get_f32_le () ; __struct . approach_y = buf . get_f32_le () ; __struct . approach_z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . approach_x) ; __tmp . put_f32_le (self . approach_y) ; __tmp . put_f32_le (self . approach_z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA64_DATA { pub mavtype : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 64] , } impl DATA64_DATA { pub const ENCODED_LEN : usize = 66usize ; pub const DEFAULT : Self = Self { mavtype : 0_u8 , len : 0_u8 , data : [0_u8 ; 64usize] , } ; } impl Default for DATA64_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA64_DATA { type Message = MavMessage ; const ID : u32 = 171u32 ; const NAME : & 'static str = "DATA64" ; const EXTRA_CRC : u8 = 181u8 ; const ENCODED_LEN : usize = 66usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mavtype = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . mavtype) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_STATUS_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rpm : [i32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltage : [f32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub current : [f32 ; 4] , pub index : u8 , } impl ESC_STATUS_DATA { pub const ENCODED_LEN : usize = 57usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , rpm : [0_i32 ; 4usize] , voltage : [0.0_f32 ; 4usize] , current : [0.0_f32 ; 4usize] , index : 0_u8 , } ; } impl Default for ESC_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 291u32 ; const NAME : & 'static str = "ESC_STATUS" ; const EXTRA_CRC : u8 = 10u8 ; const ENCODED_LEN : usize = 57usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . rpm { let val = buf . get_i32_le () ; * v = val ; } for v in & mut __struct . voltage { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . current { let val = buf . get_f32_le () ; * v = val ; } __struct . index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . rpm { __tmp . put_i32_le (* val) ; } for val in & self . voltage { __tmp . put_f32_le (* val) ; } for val in & self . current { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_SET_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , } impl PARAM_EXT_SET_DATA { pub const ENCODED_LEN : usize = 147usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , } ; } impl Default for PARAM_EXT_SET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_SET_DATA { type Message = MavMessage ; const ID : u32 = 323u32 ; const NAME : & 'static str = "PARAM_EXT_SET" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 147usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_SPEED_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , } impl VISION_SPEED_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , } ; } impl Default for VISION_SPEED_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_SPEED_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 103u32 ; const NAME : & 'static str = "VISION_SPEED_ESTIMATE" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CHANGE_OPERATOR_CONTROL_ACK_DATA { pub gcs_system_id : u8 , pub control_request : u8 , pub ack : u8 , } impl CHANGE_OPERATOR_CONTROL_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { gcs_system_id : 0_u8 , control_request : 0_u8 , ack : 0_u8 , } ; } impl Default for CHANGE_OPERATOR_CONTROL_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CHANGE_OPERATOR_CONTROL_ACK_DATA { type Message = MavMessage ; const ID : u32 = 6u32 ; const NAME : & 'static str = "CHANGE_OPERATOR_CONTROL_ACK" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . gcs_system_id = buf . get_u8 () ; __struct . control_request = buf . get_u8 () ; __struct . ack = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . gcs_system_id) ; __tmp . put_u8 (self . control_request) ; __tmp . put_u8 (self . ack) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DISTANCE_SENSOR_DATA { pub time_boot_ms : u32 , pub min_distance : u16 , pub max_distance : u16 , pub current_distance : u16 , pub mavtype : MavDistanceSensor , pub id : u8 , pub orientation : MavSensorOrientation , pub covariance : u8 , } impl DISTANCE_SENSOR_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , min_distance : 0_u16 , max_distance : 0_u16 , current_distance : 0_u16 , mavtype : MavDistanceSensor :: DEFAULT , id : 0_u8 , orientation : MavSensorOrientation :: DEFAULT , covariance : 0_u8 , } ; } impl Default for DISTANCE_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DISTANCE_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 132u32 ; const NAME : & 'static str = "DISTANCE_SENSOR" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . min_distance = buf . get_u16_le () ; __struct . max_distance = buf . get_u16_le () ; __struct . current_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . orientation = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavSensorOrientation" , value : tmp as u32 }) ? ; __struct . covariance = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . min_distance) ; __tmp . put_u16_le (self . max_distance) ; __tmp . put_u16_le (self . current_distance) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . orientation as u8) ; __tmp . put_u8 (self . covariance) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_INFORMATION_DATA { pub uid : u64 , pub time_boot_ms : u32 , pub firmware_version : u32 , pub hardware_version : u32 , pub roll_min : f32 , pub roll_max : f32 , pub pitch_min : f32 , pub pitch_max : f32 , pub yaw_min : f32 , pub yaw_max : f32 , pub cap_flags : GimbalDeviceCapFlags , pub custom_cap_flags : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vendor_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub model_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub custom_name : [u8 ; 32] , } impl GIMBAL_DEVICE_INFORMATION_DATA { pub const ENCODED_LEN : usize = 144usize ; pub const DEFAULT : Self = Self { uid : 0_u64 , time_boot_ms : 0_u32 , firmware_version : 0_u32 , hardware_version : 0_u32 , roll_min : 0.0_f32 , roll_max : 0.0_f32 , pitch_min : 0.0_f32 , pitch_max : 0.0_f32 , yaw_min : 0.0_f32 , yaw_max : 0.0_f32 , cap_flags : GimbalDeviceCapFlags :: DEFAULT , custom_cap_flags : 0_u16 , vendor_name : [0_u8 ; 32usize] , model_name : [0_u8 ; 32usize] , custom_name : [0_u8 ; 32usize] , } ; } impl Default for GIMBAL_DEVICE_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 283u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_INFORMATION" ; const EXTRA_CRC : u8 = 74u8 ; const ENCODED_LEN : usize = 144usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . uid = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . firmware_version = buf . get_u32_le () ; __struct . hardware_version = buf . get_u32_le () ; __struct . roll_min = buf . get_f32_le () ; __struct . roll_max = buf . get_f32_le () ; __struct . pitch_min = buf . get_f32_le () ; __struct . pitch_max = buf . get_f32_le () ; __struct . yaw_min = buf . get_f32_le () ; __struct . yaw_max = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . cap_flags = GimbalDeviceCapFlags :: from_bits (tmp & GimbalDeviceCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceCapFlags" , value : tmp as u32 }) ? ; __struct . custom_cap_flags = buf . get_u16_le () ; for v in & mut __struct . vendor_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . model_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . custom_name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . uid) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . firmware_version) ; __tmp . put_u32_le (self . hardware_version) ; __tmp . put_f32_le (self . roll_min) ; __tmp . put_f32_le (self . roll_max) ; __tmp . put_f32_le (self . pitch_min) ; __tmp . put_f32_le (self . pitch_max) ; __tmp . put_f32_le (self . yaw_min) ; __tmp . put_f32_le (self . yaw_max) ; __tmp . put_u16_le (self . cap_flags . bits ()) ; __tmp . put_u16_le (self . custom_cap_flags) ; for val in & self . vendor_name { __tmp . put_u8 (* val) ; } for val in & self . model_name { __tmp . put_u8 (* val) ; } for val in & self . custom_name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATT_POS_MOCAP_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub x : f32 , pub y : f32 , pub z : f32 , } impl ATT_POS_MOCAP_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , q : [0.0_f32 ; 4usize] , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , } ; } impl Default for ATT_POS_MOCAP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATT_POS_MOCAP_DATA { type Message = MavMessage ; const ID : u32 = 138u32 ; const NAME : & 'static str = "ATT_POS_MOCAP" ; const EXTRA_CRC : u8 = 109u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_MAG_OFFSETS_DATA { pub mag_ofs_x : i16 , pub mag_ofs_y : i16 , pub mag_ofs_z : i16 , pub target_system : u8 , pub target_component : u8 , } impl SET_MAG_OFFSETS_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { mag_ofs_x : 0_i16 , mag_ofs_y : 0_i16 , mag_ofs_z : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SET_MAG_OFFSETS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_MAG_OFFSETS_DATA { type Message = MavMessage ; const ID : u32 = 151u32 ; const NAME : & 'static str = "SET_MAG_OFFSETS" ; const EXTRA_CRC : u8 = 219u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mag_ofs_x = buf . get_i16_le () ; __struct . mag_ofs_y = buf . get_i16_le () ; __struct . mag_ofs_z = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . mag_ofs_x) ; __tmp . put_i16_le (self . mag_ofs_y) ; __tmp . put_i16_le (self . mag_ofs_z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LINK_NODE_STATUS_DATA { pub timestamp : u64 , pub tx_rate : u32 , pub rx_rate : u32 , pub messages_sent : u32 , pub messages_received : u32 , pub messages_lost : u32 , pub rx_parse_err : u16 , pub tx_overflows : u16 , pub rx_overflows : u16 , pub tx_buf : u8 , pub rx_buf : u8 , } impl LINK_NODE_STATUS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , tx_rate : 0_u32 , rx_rate : 0_u32 , messages_sent : 0_u32 , messages_received : 0_u32 , messages_lost : 0_u32 , rx_parse_err : 0_u16 , tx_overflows : 0_u16 , rx_overflows : 0_u16 , tx_buf : 0_u8 , rx_buf : 0_u8 , } ; } impl Default for LINK_NODE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LINK_NODE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 8u32 ; const NAME : & 'static str = "LINK_NODE_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . tx_rate = buf . get_u32_le () ; __struct . rx_rate = buf . get_u32_le () ; __struct . messages_sent = buf . get_u32_le () ; __struct . messages_received = buf . get_u32_le () ; __struct . messages_lost = buf . get_u32_le () ; __struct . rx_parse_err = buf . get_u16_le () ; __struct . tx_overflows = buf . get_u16_le () ; __struct . rx_overflows = buf . get_u16_le () ; __struct . tx_buf = buf . get_u8 () ; __struct . rx_buf = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u32_le (self . tx_rate) ; __tmp . put_u32_le (self . rx_rate) ; __tmp . put_u32_le (self . messages_sent) ; __tmp . put_u32_le (self . messages_received) ; __tmp . put_u32_le (self . messages_lost) ; __tmp . put_u16_le (self . rx_parse_err) ; __tmp . put_u16_le (self . tx_overflows) ; __tmp . put_u16_le (self . rx_overflows) ; __tmp . put_u8 (self . tx_buf) ; __tmp . put_u8 (self . rx_buf) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ACK_DATA { pub target_system : u8 , pub target_component : u8 , pub mavtype : MavMissionResult , } impl MISSION_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , mavtype : MavMissionResult :: DEFAULT , } ; } impl Default for MISSION_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ACK_DATA { type Message = MavMessage ; const ID : u32 = 47u32 ; const NAME : & 'static str = "MISSION_ACK" ; const EXTRA_CRC : u8 = 153u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMissionResult" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . mavtype as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HWSTATUS_DATA { pub Vcc : u16 , pub I2Cerr : u8 , } impl HWSTATUS_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { Vcc : 0_u16 , I2Cerr : 0_u8 , } ; } impl Default for HWSTATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HWSTATUS_DATA { type Message = MavMessage ; const ID : u32 = 165u32 ; const NAME : & 'static str = "HWSTATUS" ; const EXTRA_CRC : u8 = 21u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . Vcc = buf . get_u16_le () ; __struct . I2Cerr = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . Vcc) ; __tmp . put_u8 (self . I2Cerr) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_SET_DATA { pub param_value : f32 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub param_type : MavParamType , } impl PARAM_SET_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { param_value : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , param_type : MavParamType :: DEFAULT , } ; } impl Default for PARAM_SET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_SET_DATA { type Message = MavMessage ; const ID : u32 = 23u32 ; const NAME : & 'static str = "PARAM_SET" ; const EXTRA_CRC : u8 = 168u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_FEEDBACK_DATA { pub time_usec : u64 , pub lat : i32 , pub lng : i32 , pub alt_msl : f32 , pub alt_rel : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub foc_len : f32 , pub img_idx : u16 , pub target_system : u8 , pub cam_idx : u8 , pub flags : CameraFeedbackFlags , } impl CAMERA_FEEDBACK_DATA { pub const ENCODED_LEN : usize = 45usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lng : 0_i32 , alt_msl : 0.0_f32 , alt_rel : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , foc_len : 0.0_f32 , img_idx : 0_u16 , target_system : 0_u8 , cam_idx : 0_u8 , flags : CameraFeedbackFlags :: DEFAULT , } ; } impl Default for CAMERA_FEEDBACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_FEEDBACK_DATA { type Message = MavMessage ; const ID : u32 = 180u32 ; const NAME : & 'static str = "CAMERA_FEEDBACK" ; const EXTRA_CRC : u8 = 52u8 ; const ENCODED_LEN : usize = 45usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lng = buf . get_i32_le () ; __struct . alt_msl = buf . get_f32_le () ; __struct . alt_rel = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . foc_len = buf . get_f32_le () ; __struct . img_idx = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . cam_idx = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . flags = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraFeedbackFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lng) ; __tmp . put_f32_le (self . alt_msl) ; __tmp . put_f32_le (self . alt_rel) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . foc_len) ; __tmp . put_u16_le (self . img_idx) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . cam_idx) ; __tmp . put_u8 (self . flags as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPONENT_INFORMATION_DATA { pub time_boot_ms : u32 , pub general_metadata_file_crc : u32 , pub peripherals_metadata_file_crc : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub general_metadata_uri : [u8 ; 100] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub peripherals_metadata_uri : [u8 ; 100] , } impl COMPONENT_INFORMATION_DATA { pub const ENCODED_LEN : usize = 212usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , general_metadata_file_crc : 0_u32 , peripherals_metadata_file_crc : 0_u32 , general_metadata_uri : [0_u8 ; 100usize] , peripherals_metadata_uri : [0_u8 ; 100usize] , } ; } impl Default for COMPONENT_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPONENT_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 395u32 ; const NAME : & 'static str = "COMPONENT_INFORMATION" ; const EXTRA_CRC : u8 = 0u8 ; const ENCODED_LEN : usize = 212usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . general_metadata_file_crc = buf . get_u32_le () ; __struct . peripherals_metadata_file_crc = buf . get_u32_le () ; for v in & mut __struct . general_metadata_uri { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . peripherals_metadata_uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . general_metadata_file_crc) ; __tmp . put_u32_le (self . peripherals_metadata_file_crc) ; for val in & self . general_metadata_uri { __tmp . put_u8 (* val) ; } for val in & self . peripherals_metadata_uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_ATTITUDE_TARGET_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub body_roll_rate : f32 , pub body_pitch_rate : f32 , pub body_yaw_rate : f32 , pub thrust : f32 , pub target_system : u8 , pub target_component : u8 , pub type_mask : AttitudeTargetTypemask , } impl SET_ATTITUDE_TARGET_DATA { pub const ENCODED_LEN : usize = 39usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , body_roll_rate : 0.0_f32 , body_pitch_rate : 0.0_f32 , body_yaw_rate : 0.0_f32 , thrust : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , type_mask : AttitudeTargetTypemask :: DEFAULT , } ; } impl Default for SET_ATTITUDE_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_ATTITUDE_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 82u32 ; const NAME : & 'static str = "SET_ATTITUDE_TARGET" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 39usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . body_roll_rate = buf . get_f32_le () ; __struct . body_pitch_rate = buf . get_f32_le () ; __struct . body_yaw_rate = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . type_mask = AttitudeTargetTypemask :: from_bits (tmp & AttitudeTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AttitudeTargetTypemask" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . body_roll_rate) ; __tmp . put_f32_le (self . body_pitch_rate) ; __tmp . put_f32_le (self . body_yaw_rate) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . type_mask . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OSD_PARAM_SHOW_CONFIG_REPLY_DATA { pub request_id : u32 , pub min_value : f32 , pub max_value : f32 , pub increment : f32 , pub result : OsdParamConfigError , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub config_type : OsdParamConfigType , } impl OSD_PARAM_SHOW_CONFIG_REPLY_DATA { pub const ENCODED_LEN : usize = 34usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , min_value : 0.0_f32 , max_value : 0.0_f32 , increment : 0.0_f32 , result : OsdParamConfigError :: DEFAULT , param_id : [0_u8 ; 16usize] , config_type : OsdParamConfigType :: DEFAULT , } ; } impl Default for OSD_PARAM_SHOW_CONFIG_REPLY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OSD_PARAM_SHOW_CONFIG_REPLY_DATA { type Message = MavMessage ; const ID : u32 = 11036u32 ; const NAME : & 'static str = "OSD_PARAM_SHOW_CONFIG_REPLY" ; const EXTRA_CRC : u8 = 177u8 ; const ENCODED_LEN : usize = 34usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . min_value = buf . get_f32_le () ; __struct . max_value = buf . get_f32_le () ; __struct . increment = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "OsdParamConfigError" , value : tmp as u32 }) ? ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . config_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "OsdParamConfigType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_f32_le (self . min_value) ; __tmp . put_f32_le (self . max_value) ; __tmp . put_f32_le (self . increment) ; __tmp . put_u8 (self . result as u8) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . config_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RADIO_STATUS_DATA { pub rxerrors : u16 , pub fixed : u16 , pub rssi : u8 , pub remrssi : u8 , pub txbuf : u8 , pub noise : u8 , pub remnoise : u8 , } impl RADIO_STATUS_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { rxerrors : 0_u16 , fixed : 0_u16 , rssi : 0_u8 , remrssi : 0_u8 , txbuf : 0_u8 , noise : 0_u8 , remnoise : 0_u8 , } ; } impl Default for RADIO_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RADIO_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 109u32 ; const NAME : & 'static str = "RADIO_STATUS" ; const EXTRA_CRC : u8 = 185u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . rxerrors = buf . get_u16_le () ; __struct . fixed = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; __struct . remrssi = buf . get_u8 () ; __struct . txbuf = buf . get_u8 () ; __struct . noise = buf . get_u8 () ; __struct . remnoise = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . rxerrors) ; __tmp . put_u16_le (self . fixed) ; __tmp . put_u8 (self . rssi) ; __tmp . put_u8 (self . remrssi) ; __tmp . put_u8 (self . txbuf) ; __tmp . put_u8 (self . noise) ; __tmp . put_u8 (self . remnoise) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_IMAGE_CAPTURED_DATA { pub time_utc : u64 , pub time_boot_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub image_index : i32 , pub camera_id : u8 , pub capture_result : i8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub file_url : [u8 ; 205] , } impl CAMERA_IMAGE_CAPTURED_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { time_utc : 0_u64 , time_boot_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , q : [0.0_f32 ; 4usize] , image_index : 0_i32 , camera_id : 0_u8 , capture_result : 0_i8 , file_url : [0_u8 ; 205usize] , } ; } impl Default for CAMERA_IMAGE_CAPTURED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_IMAGE_CAPTURED_DATA { type Message = MavMessage ; const ID : u32 = 263u32 ; const NAME : & 'static str = "CAMERA_IMAGE_CAPTURED" ; const EXTRA_CRC : u8 = 133u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_utc = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . image_index = buf . get_i32_le () ; __struct . camera_id = buf . get_u8 () ; __struct . capture_result = buf . get_i8 () ; for v in & mut __struct . file_url { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_utc) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_i32_le (self . image_index) ; __tmp . put_u8 (self . camera_id) ; __tmp . put_i8 (self . capture_result) ; for val in & self . file_url { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 43u32 ; const NAME : & 'static str = "MISSION_REQUEST_LIST" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UTM_GLOBAL_POSITION_DATA { pub time : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub next_lat : i32 , pub next_lon : i32 , pub next_alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub h_acc : u16 , pub v_acc : u16 , pub vel_acc : u16 , pub update_rate : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uas_id : [u8 ; 18] , pub flight_state : UtmFlightState , pub flags : UtmDataAvailFlags , } impl UTM_GLOBAL_POSITION_DATA { pub const ENCODED_LEN : usize = 70usize ; pub const DEFAULT : Self = Self { time : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , next_lat : 0_i32 , next_lon : 0_i32 , next_alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , h_acc : 0_u16 , v_acc : 0_u16 , vel_acc : 0_u16 , update_rate : 0_u16 , uas_id : [0_u8 ; 18usize] , flight_state : UtmFlightState :: DEFAULT , flags : UtmDataAvailFlags :: DEFAULT , } ; } impl Default for UTM_GLOBAL_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UTM_GLOBAL_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 340u32 ; const NAME : & 'static str = "UTM_GLOBAL_POSITION" ; const EXTRA_CRC : u8 = 99u8 ; const ENCODED_LEN : usize = 70usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . next_lat = buf . get_i32_le () ; __struct . next_lon = buf . get_i32_le () ; __struct . next_alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . h_acc = buf . get_u16_le () ; __struct . v_acc = buf . get_u16_le () ; __struct . vel_acc = buf . get_u16_le () ; __struct . update_rate = buf . get_u16_le () ; for v in & mut __struct . uas_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . flight_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UtmFlightState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = UtmDataAvailFlags :: from_bits (tmp & UtmDataAvailFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UtmDataAvailFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_i32_le (self . next_lat) ; __tmp . put_i32_le (self . next_lon) ; __tmp . put_i32_le (self . next_alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . h_acc) ; __tmp . put_u16_le (self . v_acc) ; __tmp . put_u16_le (self . vel_acc) ; __tmp . put_u16_le (self . update_rate) ; for val in & self . uas_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . flight_state as u8) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_CONTROLS_DATA { pub time_usec : u64 , pub roll_ailerons : f32 , pub pitch_elevator : f32 , pub yaw_rudder : f32 , pub throttle : f32 , pub aux1 : f32 , pub aux2 : f32 , pub aux3 : f32 , pub aux4 : f32 , pub mode : MavMode , pub nav_mode : u8 , } impl HIL_CONTROLS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , roll_ailerons : 0.0_f32 , pitch_elevator : 0.0_f32 , yaw_rudder : 0.0_f32 , throttle : 0.0_f32 , aux1 : 0.0_f32 , aux2 : 0.0_f32 , aux3 : 0.0_f32 , aux4 : 0.0_f32 , mode : MavMode :: DEFAULT , nav_mode : 0_u8 , } ; } impl Default for HIL_CONTROLS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_CONTROLS_DATA { type Message = MavMessage ; const ID : u32 = 91u32 ; const NAME : & 'static str = "HIL_CONTROLS" ; const EXTRA_CRC : u8 = 63u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . roll_ailerons = buf . get_f32_le () ; __struct . pitch_elevator = buf . get_f32_le () ; __struct . yaw_rudder = buf . get_f32_le () ; __struct . throttle = buf . get_f32_le () ; __struct . aux1 = buf . get_f32_le () ; __struct . aux2 = buf . get_f32_le () ; __struct . aux3 = buf . get_f32_le () ; __struct . aux4 = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMode" , value : tmp as u32 }) ? ; __struct . nav_mode = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . roll_ailerons) ; __tmp . put_f32_le (self . pitch_elevator) ; __tmp . put_f32_le (self . yaw_rudder) ; __tmp . put_f32_le (self . throttle) ; __tmp . put_f32_le (self . aux1) ; __tmp . put_f32_le (self . aux2) ; __tmp . put_f32_le (self . aux3) ; __tmp . put_f32_le (self . aux4) ; __tmp . put_u8 (self . mode as u8) ; __tmp . put_u8 (self . nav_mode) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SERVO_OUTPUT_RAW_DATA { pub time_usec : u32 , pub servo1_raw : u16 , pub servo2_raw : u16 , pub servo3_raw : u16 , pub servo4_raw : u16 , pub servo5_raw : u16 , pub servo6_raw : u16 , pub servo7_raw : u16 , pub servo8_raw : u16 , pub port : u8 , } impl SERVO_OUTPUT_RAW_DATA { pub const ENCODED_LEN : usize = 21usize ; pub const DEFAULT : Self = Self { time_usec : 0_u32 , servo1_raw : 0_u16 , servo2_raw : 0_u16 , servo3_raw : 0_u16 , servo4_raw : 0_u16 , servo5_raw : 0_u16 , servo6_raw : 0_u16 , servo7_raw : 0_u16 , servo8_raw : 0_u16 , port : 0_u8 , } ; } impl Default for SERVO_OUTPUT_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SERVO_OUTPUT_RAW_DATA { type Message = MavMessage ; const ID : u32 = 36u32 ; const NAME : & 'static str = "SERVO_OUTPUT_RAW" ; const EXTRA_CRC : u8 = 222u8 ; const ENCODED_LEN : usize = 21usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u32_le () ; __struct . servo1_raw = buf . get_u16_le () ; __struct . servo2_raw = buf . get_u16_le () ; __struct . servo3_raw = buf . get_u16_le () ; __struct . servo4_raw = buf . get_u16_le () ; __struct . servo5_raw = buf . get_u16_le () ; __struct . servo6_raw = buf . get_u16_le () ; __struct . servo7_raw = buf . get_u16_le () ; __struct . servo8_raw = buf . get_u16_le () ; __struct . port = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_usec) ; __tmp . put_u16_le (self . servo1_raw) ; __tmp . put_u16_le (self . servo2_raw) ; __tmp . put_u16_le (self . servo3_raw) ; __tmp . put_u16_le (self . servo4_raw) ; __tmp . put_u16_le (self . servo5_raw) ; __tmp . put_u16_le (self . servo6_raw) ; __tmp . put_u16_le (self . servo7_raw) ; __tmp . put_u16_le (self . servo8_raw) ; __tmp . put_u8 (self . port) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_GPS_GLOBAL_ORIGIN_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub target_system : u8 , } impl SET_GPS_GLOBAL_ORIGIN_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , target_system : 0_u8 , } ; } impl Default for SET_GPS_GLOBAL_ORIGIN_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_GPS_GLOBAL_ORIGIN_DATA { type Message = MavMessage ; const ID : u32 = 48u32 ; const NAME : & 'static str = "SET_GPS_GLOBAL_ORIGIN" ; const EXTRA_CRC : u8 = 41u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . target_system = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_u8 (self . target_system) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVCAN_NODE_INFO_DATA { pub time_usec : u64 , pub uptime_sec : u32 , pub sw_vcs_commit : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 80] , pub hw_version_major : u8 , pub hw_version_minor : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub hw_unique_id : [u8 ; 16] , pub sw_version_major : u8 , pub sw_version_minor : u8 , } impl UAVCAN_NODE_INFO_DATA { pub const ENCODED_LEN : usize = 116usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime_sec : 0_u32 , sw_vcs_commit : 0_u32 , name : [0_u8 ; 80usize] , hw_version_major : 0_u8 , hw_version_minor : 0_u8 , hw_unique_id : [0_u8 ; 16usize] , sw_version_major : 0_u8 , sw_version_minor : 0_u8 , } ; } impl Default for UAVCAN_NODE_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVCAN_NODE_INFO_DATA { type Message = MavMessage ; const ID : u32 = 311u32 ; const NAME : & 'static str = "UAVCAN_NODE_INFO" ; const EXTRA_CRC : u8 = 95u8 ; const ENCODED_LEN : usize = 116usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime_sec = buf . get_u32_le () ; __struct . sw_vcs_commit = buf . get_u32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } __struct . hw_version_major = buf . get_u8 () ; __struct . hw_version_minor = buf . get_u8 () ; for v in & mut __struct . hw_unique_id { let val = buf . get_u8 () ; * v = val ; } __struct . sw_version_major = buf . get_u8 () ; __struct . sw_version_minor = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime_sec) ; __tmp . put_u32_le (self . sw_vcs_commit) ; for val in & self . name { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . hw_version_major) ; __tmp . put_u8 (self . hw_version_minor) ; for val in & self . hw_unique_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . sw_version_major) ; __tmp . put_u8 (self . sw_version_minor) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_QUATERNION_COV_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 9] , } impl ATTITUDE_QUATERNION_COV_DATA { pub const ENCODED_LEN : usize = 72usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , q : [0.0_f32 ; 4usize] , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , covariance : [0.0_f32 ; 9usize] , } ; } impl Default for ATTITUDE_QUATERNION_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_QUATERNION_COV_DATA { type Message = MavMessage ; const ID : u32 = 61u32 ; const NAME : & 'static str = "ATTITUDE_QUATERNION_COV" ; const EXTRA_CRC : u8 = 167u8 ; const ENCODED_LEN : usize = 72usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct STATUSTEXT_DATA { pub severity : MavSeverity , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub text : [u8 ; 50] , } impl STATUSTEXT_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { severity : MavSeverity :: DEFAULT , text : [0_u8 ; 50usize] , } ; } impl Default for STATUSTEXT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for STATUSTEXT_DATA { type Message = MavMessage ; const ID : u32 = 253u32 ; const NAME : & 'static str = "STATUSTEXT" ; const EXTRA_CRC : u8 = 83u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . severity = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavSeverity" , value : tmp as u32 }) ? ; for v in & mut __struct . text { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . severity as u8) ; for val in & self . text { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GOPRO_SET_REQUEST_DATA { pub target_system : u8 , pub target_component : u8 , pub cmd_id : GoproCommand , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub value : [u8 ; 4] , } impl GOPRO_SET_REQUEST_DATA { pub const ENCODED_LEN : usize = 7usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , cmd_id : GoproCommand :: DEFAULT , value : [0_u8 ; 4usize] , } ; } impl Default for GOPRO_SET_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GOPRO_SET_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 218u32 ; const NAME : & 'static str = "GOPRO_SET_REQUEST" ; const EXTRA_CRC : u8 = 17u8 ; const ENCODED_LEN : usize = 7usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . cmd_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproCommand" , value : tmp as u32 }) ? ; for v in & mut __struct . value { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . cmd_id as u8) ; for val in & self . value { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_POSITION_TARGET_LOCAL_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub target_system : u8 , pub target_component : u8 , pub coordinate_frame : MavFrame , } impl SET_POSITION_TARGET_LOCAL_NED_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for SET_POSITION_TARGET_LOCAL_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_POSITION_TARGET_LOCAL_NED_DATA { type Message = MavMessage ; const ID : u32 = 84u32 ; const NAME : & 'static str = "SET_POSITION_TARGET_LOCAL_NED" ; const EXTRA_CRC : u8 = 143u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPTICAL_FLOW_RAD_DATA { pub time_usec : u64 , pub integration_time_us : u32 , pub integrated_x : f32 , pub integrated_y : f32 , pub integrated_xgyro : f32 , pub integrated_ygyro : f32 , pub integrated_zgyro : f32 , pub time_delta_distance_us : u32 , pub distance : f32 , pub temperature : i16 , pub sensor_id : u8 , pub quality : u8 , } impl OPTICAL_FLOW_RAD_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , integration_time_us : 0_u32 , integrated_x : 0.0_f32 , integrated_y : 0.0_f32 , integrated_xgyro : 0.0_f32 , integrated_ygyro : 0.0_f32 , integrated_zgyro : 0.0_f32 , time_delta_distance_us : 0_u32 , distance : 0.0_f32 , temperature : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for OPTICAL_FLOW_RAD_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPTICAL_FLOW_RAD_DATA { type Message = MavMessage ; const ID : u32 = 106u32 ; const NAME : & 'static str = "OPTICAL_FLOW_RAD" ; const EXTRA_CRC : u8 = 138u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . integration_time_us = buf . get_u32_le () ; __struct . integrated_x = buf . get_f32_le () ; __struct . integrated_y = buf . get_f32_le () ; __struct . integrated_xgyro = buf . get_f32_le () ; __struct . integrated_ygyro = buf . get_f32_le () ; __struct . integrated_zgyro = buf . get_f32_le () ; __struct . time_delta_distance_us = buf . get_u32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . integration_time_us) ; __tmp . put_f32_le (self . integrated_x) ; __tmp . put_f32_le (self . integrated_y) ; __tmp . put_f32_le (self . integrated_xgyro) ; __tmp . put_f32_le (self . integrated_ygyro) ; __tmp . put_f32_le (self . integrated_zgyro) ; __tmp . put_u32_le (self . time_delta_distance_us) ; __tmp . put_f32_le (self . distance) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LANDING_TARGET_DATA { pub time_usec : u64 , pub angle_x : f32 , pub angle_y : f32 , pub distance : f32 , pub size_x : f32 , pub size_y : f32 , pub target_num : u8 , pub frame : MavFrame , } impl LANDING_TARGET_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , angle_x : 0.0_f32 , angle_y : 0.0_f32 , distance : 0.0_f32 , size_x : 0.0_f32 , size_y : 0.0_f32 , target_num : 0_u8 , frame : MavFrame :: DEFAULT , } ; } impl Default for LANDING_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LANDING_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 149u32 ; const NAME : & 'static str = "LANDING_TARGET" ; const EXTRA_CRC : u8 = 200u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . angle_x = buf . get_f32_le () ; __struct . angle_y = buf . get_f32_le () ; __struct . distance = buf . get_f32_le () ; __struct . size_x = buf . get_f32_le () ; __struct . size_y = buf . get_f32_le () ; __struct . target_num = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . angle_x) ; __tmp . put_f32_le (self . angle_y) ; __tmp . put_f32_le (self . distance) ; __tmp . put_f32_le (self . size_x) ; __tmp . put_f32_le (self . size_y) ; __tmp . put_u8 (self . target_num) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRACKING_IMAGE_STATUS_DATA { pub point_x : f32 , pub point_y : f32 , pub radius : f32 , pub rec_top_x : f32 , pub rec_top_y : f32 , pub rec_bottom_x : f32 , pub rec_bottom_y : f32 , pub tracking_status : CameraTrackingStatusFlags , pub tracking_mode : CameraTrackingMode , pub target_data : CameraTrackingTargetData , } impl CAMERA_TRACKING_IMAGE_STATUS_DATA { pub const ENCODED_LEN : usize = 31usize ; pub const DEFAULT : Self = Self { point_x : 0.0_f32 , point_y : 0.0_f32 , radius : 0.0_f32 , rec_top_x : 0.0_f32 , rec_top_y : 0.0_f32 , rec_bottom_x : 0.0_f32 , rec_bottom_y : 0.0_f32 , tracking_status : CameraTrackingStatusFlags :: DEFAULT , tracking_mode : CameraTrackingMode :: DEFAULT , target_data : CameraTrackingTargetData :: DEFAULT , } ; } impl Default for CAMERA_TRACKING_IMAGE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRACKING_IMAGE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 275u32 ; const NAME : & 'static str = "CAMERA_TRACKING_IMAGE_STATUS" ; const EXTRA_CRC : u8 = 126u8 ; const ENCODED_LEN : usize = 31usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . point_x = buf . get_f32_le () ; __struct . point_y = buf . get_f32_le () ; __struct . radius = buf . get_f32_le () ; __struct . rec_top_x = buf . get_f32_le () ; __struct . rec_top_y = buf . get_f32_le () ; __struct . rec_bottom_x = buf . get_f32_le () ; __struct . rec_bottom_y = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . tracking_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingStatusFlags" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . tracking_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingMode" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . target_data = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingTargetData" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . point_x) ; __tmp . put_f32_le (self . point_y) ; __tmp . put_f32_le (self . radius) ; __tmp . put_f32_le (self . rec_top_x) ; __tmp . put_f32_le (self . rec_top_y) ; __tmp . put_f32_le (self . rec_bottom_x) ; __tmp . put_f32_le (self . rec_bottom_y) ; __tmp . put_u8 (self . tracking_status as u8) ; __tmp . put_u8 (self . tracking_mode as u8) ; __tmp . put_u8 (self . target_data as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_DATA_DATA { pub ofs : u32 , pub id : u16 , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 90] , } impl LOG_DATA_DATA { pub const ENCODED_LEN : usize = 97usize ; pub const DEFAULT : Self = Self { ofs : 0_u32 , id : 0_u16 , count : 0_u8 , data : [0_u8 ; 90usize] , } ; } impl Default for LOG_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_DATA_DATA { type Message = MavMessage ; const ID : u32 = 120u32 ; const NAME : & 'static str = "LOG_DATA" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 97usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ofs = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ofs) ; __tmp . put_u16_le (self . id) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVIONIX_ADSB_OUT_DYNAMIC_DATA { pub utcTime : u32 , pub gpsLat : i32 , pub gpsLon : i32 , pub gpsAlt : i32 , pub baroAltMSL : i32 , pub accuracyHor : u32 , pub accuracyVert : u16 , pub accuracyVel : u16 , pub velVert : i16 , pub velNS : i16 , pub VelEW : i16 , pub state : UavionixAdsbOutDynamicState , pub squawk : u16 , pub gpsFix : UavionixAdsbOutDynamicGpsFix , pub numSats : u8 , pub emergencyStatus : UavionixAdsbEmergencyStatus , } impl UAVIONIX_ADSB_OUT_DYNAMIC_DATA { pub const ENCODED_LEN : usize = 41usize ; pub const DEFAULT : Self = Self { utcTime : 0_u32 , gpsLat : 0_i32 , gpsLon : 0_i32 , gpsAlt : 0_i32 , baroAltMSL : 0_i32 , accuracyHor : 0_u32 , accuracyVert : 0_u16 , accuracyVel : 0_u16 , velVert : 0_i16 , velNS : 0_i16 , VelEW : 0_i16 , state : UavionixAdsbOutDynamicState :: DEFAULT , squawk : 0_u16 , gpsFix : UavionixAdsbOutDynamicGpsFix :: DEFAULT , numSats : 0_u8 , emergencyStatus : UavionixAdsbEmergencyStatus :: DEFAULT , } ; } impl Default for UAVIONIX_ADSB_OUT_DYNAMIC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVIONIX_ADSB_OUT_DYNAMIC_DATA { type Message = MavMessage ; const ID : u32 = 10002u32 ; const NAME : & 'static str = "UAVIONIX_ADSB_OUT_DYNAMIC" ; const EXTRA_CRC : u8 = 186u8 ; const ENCODED_LEN : usize = 41usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . utcTime = buf . get_u32_le () ; __struct . gpsLat = buf . get_i32_le () ; __struct . gpsLon = buf . get_i32_le () ; __struct . gpsAlt = buf . get_i32_le () ; __struct . baroAltMSL = buf . get_i32_le () ; __struct . accuracyHor = buf . get_u32_le () ; __struct . accuracyVert = buf . get_u16_le () ; __struct . accuracyVel = buf . get_u16_le () ; __struct . velVert = buf . get_i16_le () ; __struct . velNS = buf . get_i16_le () ; __struct . VelEW = buf . get_i16_le () ; let tmp = buf . get_u16_le () ; __struct . state = UavionixAdsbOutDynamicState :: from_bits (tmp & UavionixAdsbOutDynamicState :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UavionixAdsbOutDynamicState" , value : tmp as u32 }) ? ; __struct . squawk = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . gpsFix = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutDynamicGpsFix" , value : tmp as u32 }) ? ; __struct . numSats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . emergencyStatus = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbEmergencyStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . utcTime) ; __tmp . put_i32_le (self . gpsLat) ; __tmp . put_i32_le (self . gpsLon) ; __tmp . put_i32_le (self . gpsAlt) ; __tmp . put_i32_le (self . baroAltMSL) ; __tmp . put_u32_le (self . accuracyHor) ; __tmp . put_u16_le (self . accuracyVert) ; __tmp . put_u16_le (self . accuracyVel) ; __tmp . put_i16_le (self . velVert) ; __tmp . put_i16_le (self . velNS) ; __tmp . put_i16_le (self . VelEW) ; __tmp . put_u16_le (self . state . bits ()) ; __tmp . put_u16_le (self . squawk) ; __tmp . put_u8 (self . gpsFix as u8) ; __tmp . put_u8 (self . numSats) ; __tmp . put_u8 (self . emergencyStatus as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SENSOR_OFFSETS_DATA { pub mag_declination : f32 , pub raw_press : i32 , pub raw_temp : i32 , pub gyro_cal_x : f32 , pub gyro_cal_y : f32 , pub gyro_cal_z : f32 , pub accel_cal_x : f32 , pub accel_cal_y : f32 , pub accel_cal_z : f32 , pub mag_ofs_x : i16 , pub mag_ofs_y : i16 , pub mag_ofs_z : i16 , } impl SENSOR_OFFSETS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { mag_declination : 0.0_f32 , raw_press : 0_i32 , raw_temp : 0_i32 , gyro_cal_x : 0.0_f32 , gyro_cal_y : 0.0_f32 , gyro_cal_z : 0.0_f32 , accel_cal_x : 0.0_f32 , accel_cal_y : 0.0_f32 , accel_cal_z : 0.0_f32 , mag_ofs_x : 0_i16 , mag_ofs_y : 0_i16 , mag_ofs_z : 0_i16 , } ; } impl Default for SENSOR_OFFSETS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SENSOR_OFFSETS_DATA { type Message = MavMessage ; const ID : u32 = 150u32 ; const NAME : & 'static str = "SENSOR_OFFSETS" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mag_declination = buf . get_f32_le () ; __struct . raw_press = buf . get_i32_le () ; __struct . raw_temp = buf . get_i32_le () ; __struct . gyro_cal_x = buf . get_f32_le () ; __struct . gyro_cal_y = buf . get_f32_le () ; __struct . gyro_cal_z = buf . get_f32_le () ; __struct . accel_cal_x = buf . get_f32_le () ; __struct . accel_cal_y = buf . get_f32_le () ; __struct . accel_cal_z = buf . get_f32_le () ; __struct . mag_ofs_x = buf . get_i16_le () ; __struct . mag_ofs_y = buf . get_i16_le () ; __struct . mag_ofs_z = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . mag_declination) ; __tmp . put_i32_le (self . raw_press) ; __tmp . put_i32_le (self . raw_temp) ; __tmp . put_f32_le (self . gyro_cal_x) ; __tmp . put_f32_le (self . gyro_cal_y) ; __tmp . put_f32_le (self . gyro_cal_z) ; __tmp . put_f32_le (self . accel_cal_x) ; __tmp . put_f32_le (self . accel_cal_y) ; __tmp . put_f32_le (self . accel_cal_z) ; __tmp . put_i16_le (self . mag_ofs_x) ; __tmp . put_i16_le (self . mag_ofs_y) ; __tmp . put_i16_le (self . mag_ofs_z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIFI_CONFIG_AP_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub ssid : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub password : [u8 ; 64] , } impl WIFI_CONFIG_AP_DATA { pub const ENCODED_LEN : usize = 96usize ; pub const DEFAULT : Self = Self { ssid : [0_u8 ; 32usize] , password : [0_u8 ; 64usize] , } ; } impl Default for WIFI_CONFIG_AP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIFI_CONFIG_AP_DATA { type Message = MavMessage ; const ID : u32 = 299u32 ; const NAME : & 'static str = "WIFI_CONFIG_AP" ; const EXTRA_CRC : u8 = 19u8 ; const ENCODED_LEN : usize = 96usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . ssid { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . password { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . ssid { __tmp . put_u8 (* val) ; } for val in & self . password { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEVICE_OP_READ_DATA { pub request_id : u32 , pub target_system : u8 , pub target_component : u8 , pub bustype : DeviceOpBustype , pub bus : u8 , pub address : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub busname : [u8 ; 40] , pub regstart : u8 , pub count : u8 , } impl DEVICE_OP_READ_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bustype : DeviceOpBustype :: DEFAULT , bus : 0_u8 , address : 0_u8 , busname : [0_u8 ; 40usize] , regstart : 0_u8 , count : 0_u8 , } ; } impl Default for DEVICE_OP_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEVICE_OP_READ_DATA { type Message = MavMessage ; const ID : u32 = 11000u32 ; const NAME : & 'static str = "DEVICE_OP_READ" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . bustype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "DeviceOpBustype" , value : tmp as u32 }) ? ; __struct . bus = buf . get_u8 () ; __struct . address = buf . get_u8 () ; for v in & mut __struct . busname { let val = buf . get_u8 () ; * v = val ; } __struct . regstart = buf . get_u8 () ; __struct . count = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bustype as u8) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . address) ; for val in & self . busname { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . regstart) ; __tmp . put_u8 (self . count) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RTK_DATA { pub time_last_baseline_ms : u32 , pub tow : u32 , pub baseline_a_mm : i32 , pub baseline_b_mm : i32 , pub baseline_c_mm : i32 , pub accuracy : u32 , pub iar_num_hypotheses : i32 , pub wn : u16 , pub rtk_receiver_id : u8 , pub rtk_health : u8 , pub rtk_rate : u8 , pub nsats : u8 , pub baseline_coords_type : RtkBaselineCoordinateSystem , } impl GPS_RTK_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_last_baseline_ms : 0_u32 , tow : 0_u32 , baseline_a_mm : 0_i32 , baseline_b_mm : 0_i32 , baseline_c_mm : 0_i32 , accuracy : 0_u32 , iar_num_hypotheses : 0_i32 , wn : 0_u16 , rtk_receiver_id : 0_u8 , rtk_health : 0_u8 , rtk_rate : 0_u8 , nsats : 0_u8 , baseline_coords_type : RtkBaselineCoordinateSystem :: DEFAULT , } ; } impl Default for GPS_RTK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RTK_DATA { type Message = MavMessage ; const ID : u32 = 127u32 ; const NAME : & 'static str = "GPS_RTK" ; const EXTRA_CRC : u8 = 25u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_last_baseline_ms = buf . get_u32_le () ; __struct . tow = buf . get_u32_le () ; __struct . baseline_a_mm = buf . get_i32_le () ; __struct . baseline_b_mm = buf . get_i32_le () ; __struct . baseline_c_mm = buf . get_i32_le () ; __struct . accuracy = buf . get_u32_le () ; __struct . iar_num_hypotheses = buf . get_i32_le () ; __struct . wn = buf . get_u16_le () ; __struct . rtk_receiver_id = buf . get_u8 () ; __struct . rtk_health = buf . get_u8 () ; __struct . rtk_rate = buf . get_u8 () ; __struct . nsats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . baseline_coords_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "RtkBaselineCoordinateSystem" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_last_baseline_ms) ; __tmp . put_u32_le (self . tow) ; __tmp . put_i32_le (self . baseline_a_mm) ; __tmp . put_i32_le (self . baseline_b_mm) ; __tmp . put_i32_le (self . baseline_c_mm) ; __tmp . put_u32_le (self . accuracy) ; __tmp . put_i32_le (self . iar_num_hypotheses) ; __tmp . put_u16_le (self . wn) ; __tmp . put_u8 (self . rtk_receiver_id) ; __tmp . put_u8 (self . rtk_health) ; __tmp . put_u8 (self . rtk_rate) ; __tmp . put_u8 (self . nsats) ; __tmp . put_u8 (self . baseline_coords_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl PARAM_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PARAM_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 21u32 ; const NAME : & 'static str = "PARAM_REQUEST_LIST" ; const EXTRA_CRC : u8 = 159u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HERELINK_VIDEO_STREAM_INFORMATION_DATA { pub framerate : f32 , pub bitrate : u32 , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub camera_id : u8 , pub status : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 230] , } impl HERELINK_VIDEO_STREAM_INFORMATION_DATA { pub const ENCODED_LEN : usize = 246usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , camera_id : 0_u8 , status : 0_u8 , uri : [0_u8 ; 230usize] , } ; } impl Default for HERELINK_VIDEO_STREAM_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HERELINK_VIDEO_STREAM_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 50002u32 ; const NAME : & 'static str = "HERELINK_VIDEO_STREAM_INFORMATION" ; const EXTRA_CRC : u8 = 181u8 ; const ENCODED_LEN : usize = 246usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . camera_id = buf . get_u8 () ; __struct . status = buf . get_u8 () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u8 (self . camera_id) ; __tmp . put_u8 (self . status) ; for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REMOTE_LOG_BLOCK_STATUS_DATA { pub seqno : u32 , pub target_system : u8 , pub target_component : u8 , pub status : MavRemoteLogDataBlockStatuses , } impl REMOTE_LOG_BLOCK_STATUS_DATA { pub const ENCODED_LEN : usize = 7usize ; pub const DEFAULT : Self = Self { seqno : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , status : MavRemoteLogDataBlockStatuses :: DEFAULT , } ; } impl Default for REMOTE_LOG_BLOCK_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REMOTE_LOG_BLOCK_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 185u32 ; const NAME : & 'static str = "REMOTE_LOG_BLOCK_STATUS" ; const EXTRA_CRC : u8 = 186u8 ; const ENCODED_LEN : usize = 7usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seqno = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavRemoteLogDataBlockStatuses" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . seqno) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_ACK_DATA { pub command : MavCmd , pub result : MavResult , } impl COMMAND_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { command : MavCmd :: DEFAULT , result : MavResult :: DEFAULT , } ; } impl Default for COMMAND_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_ACK_DATA { type Message = MavMessage ; const ID : u32 = 77u32 ; const NAME : & 'static str = "COMMAND_ACK" ; const EXTRA_CRC : u8 = 143u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavResult" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_SETTINGS_DATA { pub time_boot_ms : u32 , pub mode_id : CameraMode , } impl CAMERA_SETTINGS_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , mode_id : CameraMode :: DEFAULT , } ; } impl Default for CAMERA_SETTINGS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_SETTINGS_DATA { type Message = MavMessage ; const ID : u32 = 260u32 ; const NAME : & 'static str = "CAMERA_SETTINGS" ; const EXTRA_CRC : u8 = 146u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . mode_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraMode" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u8 (self . mode_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_IMU_DATA { pub time_usec : u64 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl RAW_IMU_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for RAW_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_IMU_DATA { type Message = MavMessage ; const ID : u32 = 27u32 ; const NAME : & 'static str = "RAW_IMU" ; const EXTRA_CRC : u8 = 144u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RADIO_DATA { pub rxerrors : u16 , pub fixed : u16 , pub rssi : u8 , pub remrssi : u8 , pub txbuf : u8 , pub noise : u8 , pub remnoise : u8 , } impl RADIO_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { rxerrors : 0_u16 , fixed : 0_u16 , rssi : 0_u8 , remrssi : 0_u8 , txbuf : 0_u8 , noise : 0_u8 , remnoise : 0_u8 , } ; } impl Default for RADIO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RADIO_DATA { type Message = MavMessage ; const ID : u32 = 166u32 ; const NAME : & 'static str = "RADIO" ; const EXTRA_CRC : u8 = 21u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . rxerrors = buf . get_u16_le () ; __struct . fixed = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; __struct . remrssi = buf . get_u8 () ; __struct . txbuf = buf . get_u8 () ; __struct . noise = buf . get_u8 () ; __struct . remnoise = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . rxerrors) ; __tmp . put_u16_le (self . fixed) ; __tmp . put_u8 (self . rssi) ; __tmp . put_u8 (self . remrssi) ; __tmp . put_u8 (self . txbuf) ; __tmp . put_u8 (self . noise) ; __tmp . put_u8 (self . remnoise) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SAFETY_ALLOWED_AREA_DATA { pub p1x : f32 , pub p1y : f32 , pub p1z : f32 , pub p2x : f32 , pub p2y : f32 , pub p2z : f32 , pub frame : MavFrame , } impl SAFETY_ALLOWED_AREA_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { p1x : 0.0_f32 , p1y : 0.0_f32 , p1z : 0.0_f32 , p2x : 0.0_f32 , p2y : 0.0_f32 , p2z : 0.0_f32 , frame : MavFrame :: DEFAULT , } ; } impl Default for SAFETY_ALLOWED_AREA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SAFETY_ALLOWED_AREA_DATA { type Message = MavMessage ; const ID : u32 = 55u32 ; const NAME : & 'static str = "SAFETY_ALLOWED_AREA" ; const EXTRA_CRC : u8 = 3u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . p1x = buf . get_f32_le () ; __struct . p1y = buf . get_f32_le () ; __struct . p1z = buf . get_f32_le () ; __struct . p2x = buf . get_f32_le () ; __struct . p2y = buf . get_f32_le () ; __struct . p2z = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . p1x) ; __tmp . put_f32_le (self . p1y) ; __tmp . put_f32_le (self . p1z) ; __tmp . put_f32_le (self . p2x) ; __tmp . put_f32_le (self . p2y) ; __tmp . put_f32_le (self . p2z) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CUBEPILOT_FIRMWARE_UPDATE_START_DATA { pub size : u32 , pub crc : u32 , pub target_system : u8 , pub target_component : u8 , } impl CUBEPILOT_FIRMWARE_UPDATE_START_DATA { pub const ENCODED_LEN : usize = 10usize ; pub const DEFAULT : Self = Self { size : 0_u32 , crc : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for CUBEPILOT_FIRMWARE_UPDATE_START_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CUBEPILOT_FIRMWARE_UPDATE_START_DATA { type Message = MavMessage ; const ID : u32 = 50004u32 ; const NAME : & 'static str = "CUBEPILOT_FIRMWARE_UPDATE_START" ; const EXTRA_CRC : u8 = 240u8 ; const ENCODED_LEN : usize = 10usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . size = buf . get_u32_le () ; __struct . crc = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . size) ; __tmp . put_u32_le (self . crc) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEVICE_OP_WRITE_DATA { pub request_id : u32 , pub target_system : u8 , pub target_component : u8 , pub bustype : DeviceOpBustype , pub bus : u8 , pub address : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub busname : [u8 ; 40] , pub regstart : u8 , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 128] , } impl DEVICE_OP_WRITE_DATA { pub const ENCODED_LEN : usize = 179usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bustype : DeviceOpBustype :: DEFAULT , bus : 0_u8 , address : 0_u8 , busname : [0_u8 ; 40usize] , regstart : 0_u8 , count : 0_u8 , data : [0_u8 ; 128usize] , } ; } impl Default for DEVICE_OP_WRITE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEVICE_OP_WRITE_DATA { type Message = MavMessage ; const ID : u32 = 11002u32 ; const NAME : & 'static str = "DEVICE_OP_WRITE" ; const EXTRA_CRC : u8 = 234u8 ; const ENCODED_LEN : usize = 179usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . bustype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "DeviceOpBustype" , value : tmp as u32 }) ? ; __struct . bus = buf . get_u8 () ; __struct . address = buf . get_u8 () ; for v in & mut __struct . busname { let val = buf . get_u8 () ; * v = val ; } __struct . regstart = buf . get_u8 () ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bustype as u8) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . address) ; for val in & self . busname { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . regstart) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_LOCATION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude_barometric : f32 , pub altitude_geodetic : f32 , pub height : f32 , pub timestamp : f32 , pub direction : u16 , pub speed_horizontal : u16 , pub speed_vertical : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub status : MavOdidStatus , pub height_reference : MavOdidHeightRef , pub horizontal_accuracy : MavOdidHorAcc , pub vertical_accuracy : MavOdidVerAcc , pub barometer_accuracy : MavOdidVerAcc , pub speed_accuracy : MavOdidSpeedAcc , pub timestamp_accuracy : MavOdidTimeAcc , } impl OPEN_DRONE_ID_LOCATION_DATA { pub const ENCODED_LEN : usize = 59usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude_barometric : 0.0_f32 , altitude_geodetic : 0.0_f32 , height : 0.0_f32 , timestamp : 0.0_f32 , direction : 0_u16 , speed_horizontal : 0_u16 , speed_vertical : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , status : MavOdidStatus :: DEFAULT , height_reference : MavOdidHeightRef :: DEFAULT , horizontal_accuracy : MavOdidHorAcc :: DEFAULT , vertical_accuracy : MavOdidVerAcc :: DEFAULT , barometer_accuracy : MavOdidVerAcc :: DEFAULT , speed_accuracy : MavOdidSpeedAcc :: DEFAULT , timestamp_accuracy : MavOdidTimeAcc :: DEFAULT , } ; } impl Default for OPEN_DRONE_ID_LOCATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_LOCATION_DATA { type Message = MavMessage ; const ID : u32 = 12901u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_LOCATION" ; const EXTRA_CRC : u8 = 254u8 ; const ENCODED_LEN : usize = 59usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude_barometric = buf . get_f32_le () ; __struct . altitude_geodetic = buf . get_f32_le () ; __struct . height = buf . get_f32_le () ; __struct . timestamp = buf . get_f32_le () ; __struct . direction = buf . get_u16_le () ; __struct . speed_horizontal = buf . get_u16_le () ; __struct . speed_vertical = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . height_reference = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidHeightRef" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . horizontal_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidHorAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . vertical_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidVerAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . barometer_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidVerAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . speed_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidSpeedAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . timestamp_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidTimeAcc" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_f32_le (self . altitude_barometric) ; __tmp . put_f32_le (self . altitude_geodetic) ; __tmp . put_f32_le (self . height) ; __tmp . put_f32_le (self . timestamp) ; __tmp . put_u16_le (self . direction) ; __tmp . put_u16_le (self . speed_horizontal) ; __tmp . put_i16_le (self . speed_vertical) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . height_reference as u8) ; __tmp . put_u8 (self . horizontal_accuracy as u8) ; __tmp . put_u8 (self . vertical_accuracy as u8) ; __tmp . put_u8 (self . barometer_accuracy as u8) ; __tmp . put_u8 (self . speed_accuracy as u8) ; __tmp . put_u8 (self . timestamp_accuracy as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_CONTROL_DATA { pub demanded_rate_x : f32 , pub demanded_rate_y : f32 , pub demanded_rate_z : f32 , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { demanded_rate_x : 0.0_f32 , demanded_rate_y : 0.0_f32 , demanded_rate_z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 201u32 ; const NAME : & 'static str = "GIMBAL_CONTROL" ; const EXTRA_CRC : u8 = 205u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . demanded_rate_x = buf . get_f32_le () ; __struct . demanded_rate_y = buf . get_f32_le () ; __struct . demanded_rate_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . demanded_rate_x) ; __tmp . put_f32_le (self . demanded_rate_y) ; __tmp . put_f32_le (self . demanded_rate_z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_CLEAR_ALL_DATA { pub target_system : u8 , pub target_component : u8 , } impl MISSION_CLEAR_ALL_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_CLEAR_ALL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_CLEAR_ALL_DATA { type Message = MavMessage ; const ID : u32 = 45u32 ; const NAME : & 'static str = "MISSION_CLEAR_ALL" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ONBOARD_COMPUTER_STATUS_DATA { pub time_usec : u64 , pub uptime : u32 , pub ram_usage : u32 , pub ram_total : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_type : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_usage : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_total : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_type : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_tx_rate : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_rx_rate : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_tx_max : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_rx_max : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub fan_speed : [i16 ; 4] , pub mavtype : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cpu_cores : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cpu_combined : [u8 ; 10] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub gpu_cores : [u8 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub gpu_combined : [u8 ; 10] , pub temperature_board : i8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature_core : [i8 ; 8] , } impl ONBOARD_COMPUTER_STATUS_DATA { pub const ENCODED_LEN : usize = 238usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime : 0_u32 , ram_usage : 0_u32 , ram_total : 0_u32 , storage_type : [0_u32 ; 4usize] , storage_usage : [0_u32 ; 4usize] , storage_total : [0_u32 ; 4usize] , link_type : [0_u32 ; 6usize] , link_tx_rate : [0_u32 ; 6usize] , link_rx_rate : [0_u32 ; 6usize] , link_tx_max : [0_u32 ; 6usize] , link_rx_max : [0_u32 ; 6usize] , fan_speed : [0_i16 ; 4usize] , mavtype : 0_u8 , cpu_cores : [0_u8 ; 8usize] , cpu_combined : [0_u8 ; 10usize] , gpu_cores : [0_u8 ; 4usize] , gpu_combined : [0_u8 ; 10usize] , temperature_board : 0_i8 , temperature_core : [0_i8 ; 8usize] , } ; } impl Default for ONBOARD_COMPUTER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ONBOARD_COMPUTER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 390u32 ; const NAME : & 'static str = "ONBOARD_COMPUTER_STATUS" ; const EXTRA_CRC : u8 = 156u8 ; const ENCODED_LEN : usize = 238usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime = buf . get_u32_le () ; __struct . ram_usage = buf . get_u32_le () ; __struct . ram_total = buf . get_u32_le () ; for v in & mut __struct . storage_type { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . storage_usage { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . storage_total { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_type { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_tx_rate { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_rx_rate { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_tx_max { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_rx_max { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . fan_speed { let val = buf . get_i16_le () ; * v = val ; } __struct . mavtype = buf . get_u8 () ; for v in & mut __struct . cpu_cores { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . cpu_combined { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . gpu_cores { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . gpu_combined { let val = buf . get_u8 () ; * v = val ; } __struct . temperature_board = buf . get_i8 () ; for v in & mut __struct . temperature_core { let val = buf . get_i8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime) ; __tmp . put_u32_le (self . ram_usage) ; __tmp . put_u32_le (self . ram_total) ; for val in & self . storage_type { __tmp . put_u32_le (* val) ; } for val in & self . storage_usage { __tmp . put_u32_le (* val) ; } for val in & self . storage_total { __tmp . put_u32_le (* val) ; } for val in & self . link_type { __tmp . put_u32_le (* val) ; } for val in & self . link_tx_rate { __tmp . put_u32_le (* val) ; } for val in & self . link_rx_rate { __tmp . put_u32_le (* val) ; } for val in & self . link_tx_max { __tmp . put_u32_le (* val) ; } for val in & self . link_rx_max { __tmp . put_u32_le (* val) ; } for val in & self . fan_speed { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . mavtype) ; for val in & self . cpu_cores { __tmp . put_u8 (* val) ; } for val in & self . cpu_combined { __tmp . put_u8 (* val) ; } for val in & self . gpu_cores { __tmp . put_u8 (* val) ; } for val in & self . gpu_combined { __tmp . put_u8 (* val) ; } __tmp . put_i8 (self . temperature_board) ; for val in & self . temperature_core { __tmp . put_i8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RESOURCE_REQUEST_DATA { pub request_id : u8 , pub uri_type : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 120] , pub transfer_type : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage : [u8 ; 120] , } impl RESOURCE_REQUEST_DATA { pub const ENCODED_LEN : usize = 243usize ; pub const DEFAULT : Self = Self { request_id : 0_u8 , uri_type : 0_u8 , uri : [0_u8 ; 120usize] , transfer_type : 0_u8 , storage : [0_u8 ; 120usize] , } ; } impl Default for RESOURCE_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RESOURCE_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 142u32 ; const NAME : & 'static str = "RESOURCE_REQUEST" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 243usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u8 () ; __struct . uri_type = buf . get_u8 () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } __struct . transfer_type = buf . get_u8 () ; for v in & mut __struct . storage { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . request_id) ; __tmp . put_u8 (self . uri_type) ; for val in & self . uri { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . transfer_type) ; for val in & self . storage { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_POSITION_INT_COV_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 36] , pub estimator_type : MavEstimatorType , } impl GLOBAL_POSITION_INT_COV_DATA { pub const ENCODED_LEN : usize = 181usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , covariance : [0.0_f32 ; 36usize] , estimator_type : MavEstimatorType :: DEFAULT , } ; } impl Default for GLOBAL_POSITION_INT_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_POSITION_INT_COV_DATA { type Message = MavMessage ; const ID : u32 = 63u32 ; const NAME : & 'static str = "GLOBAL_POSITION_INT_COV" ; const EXTRA_CRC : u8 = 119u8 ; const ENCODED_LEN : usize = 181usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . estimator_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEstimatorType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . estimator_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct STORAGE_INFORMATION_DATA { pub time_boot_ms : u32 , pub total_capacity : f32 , pub used_capacity : f32 , pub available_capacity : f32 , pub read_speed : f32 , pub write_speed : f32 , pub storage_id : u8 , pub storage_count : u8 , pub status : StorageStatus , } impl STORAGE_INFORMATION_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , total_capacity : 0.0_f32 , used_capacity : 0.0_f32 , available_capacity : 0.0_f32 , read_speed : 0.0_f32 , write_speed : 0.0_f32 , storage_id : 0_u8 , storage_count : 0_u8 , status : StorageStatus :: DEFAULT , } ; } impl Default for STORAGE_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for STORAGE_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 261u32 ; const NAME : & 'static str = "STORAGE_INFORMATION" ; const EXTRA_CRC : u8 = 179u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . total_capacity = buf . get_f32_le () ; __struct . used_capacity = buf . get_f32_le () ; __struct . available_capacity = buf . get_f32_le () ; __struct . read_speed = buf . get_f32_le () ; __struct . write_speed = buf . get_f32_le () ; __struct . storage_id = buf . get_u8 () ; __struct . storage_count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "StorageStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . total_capacity) ; __tmp . put_f32_le (self . used_capacity) ; __tmp . put_f32_le (self . available_capacity) ; __tmp . put_f32_le (self . read_speed) ; __tmp . put_f32_le (self . write_speed) ; __tmp . put_u8 (self . storage_id) ; __tmp . put_u8 (self . storage_count) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SYSTEM_TIME_DATA { pub time_unix_usec : u64 , pub time_boot_ms : u32 , } impl SYSTEM_TIME_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { time_unix_usec : 0_u64 , time_boot_ms : 0_u32 , } ; } impl Default for SYSTEM_TIME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SYSTEM_TIME_DATA { type Message = MavMessage ; const ID : u32 = 2u32 ; const NAME : & 'static str = "SYSTEM_TIME" ; const EXTRA_CRC : u8 = 137u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_unix_usec = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_unix_usec) ; __tmp . put_u32_le (self . time_boot_ms) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_CURRENT_DATA { pub seq : u16 , } impl MISSION_CURRENT_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , } ; } impl Default for MISSION_CURRENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_CURRENT_DATA { type Message = MavMessage ; const ID : u32 = 42u32 ; const NAME : & 'static str = "MISSION_CURRENT" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_LIST_DATA { pub start : u16 , pub end : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start : 0_u16 , end : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 117u32 ; const NAME : & 'static str = "LOG_REQUEST_LIST" ; const EXTRA_CRC : u8 = 128u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start = buf . get_u16_le () ; __struct . end = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . start) ; __tmp . put_u16_le (self . end) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MAG_CAL_PROGRESS_DATA { pub direction_x : f32 , pub direction_y : f32 , pub direction_z : f32 , pub compass_id : u8 , pub cal_mask : u8 , pub cal_status : MagCalStatus , pub attempt : u8 , pub completion_pct : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub completion_mask : [u8 ; 10] , } impl MAG_CAL_PROGRESS_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { direction_x : 0.0_f32 , direction_y : 0.0_f32 , direction_z : 0.0_f32 , compass_id : 0_u8 , cal_mask : 0_u8 , cal_status : MagCalStatus :: DEFAULT , attempt : 0_u8 , completion_pct : 0_u8 , completion_mask : [0_u8 ; 10usize] , } ; } impl Default for MAG_CAL_PROGRESS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MAG_CAL_PROGRESS_DATA { type Message = MavMessage ; const ID : u32 = 191u32 ; const NAME : & 'static str = "MAG_CAL_PROGRESS" ; const EXTRA_CRC : u8 = 92u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . direction_x = buf . get_f32_le () ; __struct . direction_y = buf . get_f32_le () ; __struct . direction_z = buf . get_f32_le () ; __struct . compass_id = buf . get_u8 () ; __struct . cal_mask = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . cal_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MagCalStatus" , value : tmp as u32 }) ? ; __struct . attempt = buf . get_u8 () ; __struct . completion_pct = buf . get_u8 () ; for v in & mut __struct . completion_mask { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . direction_x) ; __tmp . put_f32_le (self . direction_y) ; __tmp . put_f32_le (self . direction_z) ; __tmp . put_u8 (self . compass_id) ; __tmp . put_u8 (self . cal_mask) ; __tmp . put_u8 (self . cal_status as u8) ; __tmp . put_u8 (self . attempt) ; __tmp . put_u8 (self . completion_pct) ; for val in & self . completion_mask { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS2_RTK_DATA { pub time_last_baseline_ms : u32 , pub tow : u32 , pub baseline_a_mm : i32 , pub baseline_b_mm : i32 , pub baseline_c_mm : i32 , pub accuracy : u32 , pub iar_num_hypotheses : i32 , pub wn : u16 , pub rtk_receiver_id : u8 , pub rtk_health : u8 , pub rtk_rate : u8 , pub nsats : u8 , pub baseline_coords_type : RtkBaselineCoordinateSystem , } impl GPS2_RTK_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_last_baseline_ms : 0_u32 , tow : 0_u32 , baseline_a_mm : 0_i32 , baseline_b_mm : 0_i32 , baseline_c_mm : 0_i32 , accuracy : 0_u32 , iar_num_hypotheses : 0_i32 , wn : 0_u16 , rtk_receiver_id : 0_u8 , rtk_health : 0_u8 , rtk_rate : 0_u8 , nsats : 0_u8 , baseline_coords_type : RtkBaselineCoordinateSystem :: DEFAULT , } ; } impl Default for GPS2_RTK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS2_RTK_DATA { type Message = MavMessage ; const ID : u32 = 128u32 ; const NAME : & 'static str = "GPS2_RTK" ; const EXTRA_CRC : u8 = 226u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_last_baseline_ms = buf . get_u32_le () ; __struct . tow = buf . get_u32_le () ; __struct . baseline_a_mm = buf . get_i32_le () ; __struct . baseline_b_mm = buf . get_i32_le () ; __struct . baseline_c_mm = buf . get_i32_le () ; __struct . accuracy = buf . get_u32_le () ; __struct . iar_num_hypotheses = buf . get_i32_le () ; __struct . wn = buf . get_u16_le () ; __struct . rtk_receiver_id = buf . get_u8 () ; __struct . rtk_health = buf . get_u8 () ; __struct . rtk_rate = buf . get_u8 () ; __struct . nsats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . baseline_coords_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "RtkBaselineCoordinateSystem" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_last_baseline_ms) ; __tmp . put_u32_le (self . tow) ; __tmp . put_i32_le (self . baseline_a_mm) ; __tmp . put_i32_le (self . baseline_b_mm) ; __tmp . put_i32_le (self . baseline_c_mm) ; __tmp . put_u32_le (self . accuracy) ; __tmp . put_i32_le (self . iar_num_hypotheses) ; __tmp . put_u16_le (self . wn) ; __tmp . put_u8 (self . rtk_receiver_id) ; __tmp . put_u8 (self . rtk_health) ; __tmp . put_u8 (self . rtk_rate) ; __tmp . put_u8 (self . nsats) ; __tmp . put_u8 (self . baseline_coords_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SYSTEM_DATA { pub operator_latitude : i32 , pub operator_longitude : i32 , pub area_ceiling : f32 , pub area_floor : f32 , pub operator_altitude_geo : f32 , pub timestamp : u32 , pub area_count : u16 , pub area_radius : u16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub operator_location_type : MavOdidOperatorLocationType , pub classification_type : MavOdidClassificationType , pub category_eu : MavOdidCategoryEu , pub class_eu : MavOdidClassEu , } impl OPEN_DRONE_ID_SYSTEM_DATA { pub const ENCODED_LEN : usize = 54usize ; pub const DEFAULT : Self = Self { operator_latitude : 0_i32 , operator_longitude : 0_i32 , area_ceiling : 0.0_f32 , area_floor : 0.0_f32 , operator_altitude_geo : 0.0_f32 , timestamp : 0_u32 , area_count : 0_u16 , area_radius : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , operator_location_type : MavOdidOperatorLocationType :: DEFAULT , classification_type : MavOdidClassificationType :: DEFAULT , category_eu : MavOdidCategoryEu :: DEFAULT , class_eu : MavOdidClassEu :: DEFAULT , } ; } impl Default for OPEN_DRONE_ID_SYSTEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SYSTEM_DATA { type Message = MavMessage ; const ID : u32 = 12904u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SYSTEM" ; const EXTRA_CRC : u8 = 77u8 ; const ENCODED_LEN : usize = 54usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . operator_latitude = buf . get_i32_le () ; __struct . operator_longitude = buf . get_i32_le () ; __struct . area_ceiling = buf . get_f32_le () ; __struct . area_floor = buf . get_f32_le () ; __struct . operator_altitude_geo = buf . get_f32_le () ; __struct . timestamp = buf . get_u32_le () ; __struct . area_count = buf . get_u16_le () ; __struct . area_radius = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . operator_location_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidOperatorLocationType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . classification_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidClassificationType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . category_eu = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidCategoryEu" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . class_eu = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidClassEu" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . operator_latitude) ; __tmp . put_i32_le (self . operator_longitude) ; __tmp . put_f32_le (self . area_ceiling) ; __tmp . put_f32_le (self . area_floor) ; __tmp . put_f32_le (self . operator_altitude_geo) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u16_le (self . area_count) ; __tmp . put_u16_le (self . area_radius) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . operator_location_type as u8) ; __tmp . put_u8 (self . classification_type as u8) ; __tmp . put_u8 (self . category_eu as u8) ; __tmp . put_u8 (self . class_eu as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_ENTRY_DATA { pub time_utc : u32 , pub size : u32 , pub id : u16 , pub num_logs : u16 , pub last_log_num : u16 , } impl LOG_ENTRY_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_utc : 0_u32 , size : 0_u32 , id : 0_u16 , num_logs : 0_u16 , last_log_num : 0_u16 , } ; } impl Default for LOG_ENTRY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_ENTRY_DATA { type Message = MavMessage ; const ID : u32 = 118u32 ; const NAME : & 'static str = "LOG_ENTRY" ; const EXTRA_CRC : u8 = 56u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_utc = buf . get_u32_le () ; __struct . size = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . num_logs = buf . get_u16_le () ; __struct . last_log_num = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_utc) ; __tmp . put_u32_le (self . size) ; __tmp . put_u16_le (self . id) ; __tmp . put_u16_le (self . num_logs) ; __tmp . put_u16_le (self . last_log_num) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_REACHED_DATA { pub seq : u16 , } impl MISSION_ITEM_REACHED_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , } ; } impl Default for MISSION_ITEM_REACHED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_REACHED_DATA { type Message = MavMessage ; const ID : u32 = 46u32 ; const NAME : & 'static str = "MISSION_ITEM_REACHED" ; const EXTRA_CRC : u8 = 11u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_CHECK_DATA { pub lat : i32 , pub lon : i32 , } impl TERRAIN_CHECK_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , } ; } impl Default for TERRAIN_CHECK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_CHECK_DATA { type Message = MavMessage ; const ID : u32 = 135u32 ; const NAME : & 'static str = "TERRAIN_CHECK" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HEARTBEAT_DATA { pub custom_mode : u32 , pub mavtype : MavType , pub autopilot : MavAutopilot , pub base_mode : MavModeFlag , pub system_status : MavState , pub mavlink_version : u8 , } impl HEARTBEAT_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , mavtype : MavType :: DEFAULT , autopilot : MavAutopilot :: DEFAULT , base_mode : MavModeFlag :: DEFAULT , system_status : MavState :: DEFAULT , mavlink_version : 0_u8 , } ; } impl Default for HEARTBEAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HEARTBEAT_DATA { type Message = MavMessage ; const ID : u32 = 0u32 ; const NAME : & 'static str = "HEARTBEAT" ; const EXTRA_CRC : u8 = 50u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . autopilot = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavAutopilot" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . base_mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . system_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavState" , value : tmp as u32 }) ? ; __struct . mavlink_version = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . autopilot as u8) ; __tmp . put_u8 (self . base_mode . bits ()) ; __tmp . put_u8 (self . system_status as u8) ; __tmp . put_u8 (self . mavlink_version) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAN_FILTER_MODIFY_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub ids : [u16 ; 16] , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub operation : CanFilterOp , pub num_ids : u8 , } impl CAN_FILTER_MODIFY_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { ids : [0_u16 ; 16usize] , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , operation : CanFilterOp :: DEFAULT , num_ids : 0_u8 , } ; } impl Default for CAN_FILTER_MODIFY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAN_FILTER_MODIFY_DATA { type Message = MavMessage ; const ID : u32 = 388u32 ; const NAME : & 'static str = "CAN_FILTER_MODIFY" ; const EXTRA_CRC : u8 = 8u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . ids { let val = buf . get_u16_le () ; * v = val ; } __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . operation = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CanFilterOp" , value : tmp as u32 }) ? ; __struct . num_ids = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . ids { __tmp . put_u16_le (* val) ; } __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . operation as u8) ; __tmp . put_u8 (self . num_ids) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_PITCHYAW_DATA { pub flags : GimbalManagerFlags , pub pitch : f32 , pub yaw : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_PITCHYAW_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , pitch : 0.0_f32 , yaw : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_PITCHYAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_PITCHYAW_DATA { type Message = MavMessage ; const ID : u32 = 287u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_PITCHYAW" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FLIGHT_INFORMATION_DATA { pub arming_time_utc : u64 , pub takeoff_time_utc : u64 , pub flight_uuid : u64 , pub time_boot_ms : u32 , } impl FLIGHT_INFORMATION_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { arming_time_utc : 0_u64 , takeoff_time_utc : 0_u64 , flight_uuid : 0_u64 , time_boot_ms : 0_u32 , } ; } impl Default for FLIGHT_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FLIGHT_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 264u32 ; const NAME : & 'static str = "FLIGHT_INFORMATION" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . arming_time_utc = buf . get_u64_le () ; __struct . takeoff_time_utc = buf . get_u64_le () ; __struct . flight_uuid = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . arming_time_utc) ; __tmp . put_u64_le (self . takeoff_time_utc) ; __tmp . put_u64_le (self . flight_uuid) ; __tmp . put_u32_le (self . time_boot_ms) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VFR_HUD_DATA { pub airspeed : f32 , pub groundspeed : f32 , pub alt : f32 , pub climb : f32 , pub heading : i16 , pub throttle : u16 , } impl VFR_HUD_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { airspeed : 0.0_f32 , groundspeed : 0.0_f32 , alt : 0.0_f32 , climb : 0.0_f32 , heading : 0_i16 , throttle : 0_u16 , } ; } impl Default for VFR_HUD_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VFR_HUD_DATA { type Message = MavMessage ; const ID : u32 = 74u32 ; const NAME : & 'static str = "VFR_HUD" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . airspeed = buf . get_f32_le () ; __struct . groundspeed = buf . get_f32_le () ; __struct . alt = buf . get_f32_le () ; __struct . climb = buf . get_f32_le () ; __struct . heading = buf . get_i16_le () ; __struct . throttle = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . airspeed) ; __tmp . put_f32_le (self . groundspeed) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . climb) ; __tmp . put_i16_le (self . heading) ; __tmp . put_u16_le (self . throttle) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MOUNT_CONTROL_DATA { pub input_a : i32 , pub input_b : i32 , pub input_c : i32 , pub target_system : u8 , pub target_component : u8 , pub save_position : u8 , } impl MOUNT_CONTROL_DATA { pub const ENCODED_LEN : usize = 15usize ; pub const DEFAULT : Self = Self { input_a : 0_i32 , input_b : 0_i32 , input_c : 0_i32 , target_system : 0_u8 , target_component : 0_u8 , save_position : 0_u8 , } ; } impl Default for MOUNT_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MOUNT_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 157u32 ; const NAME : & 'static str = "MOUNT_CONTROL" ; const EXTRA_CRC : u8 = 21u8 ; const ENCODED_LEN : usize = 15usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . input_a = buf . get_i32_le () ; __struct . input_b = buf . get_i32_le () ; __struct . input_c = buf . get_i32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . save_position = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . input_a) ; __tmp . put_i32_le (self . input_b) ; __tmp . put_i32_le (self . input_c) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . save_position) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WATER_DEPTH_DATA { pub time_boot_ms : u32 , pub lat : i32 , pub lng : i32 , pub alt : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub distance : f32 , pub temperature : f32 , pub id : u8 , pub healthy : u8 , } impl WATER_DEPTH_DATA { pub const ENCODED_LEN : usize = 38usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat : 0_i32 , lng : 0_i32 , alt : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , distance : 0.0_f32 , temperature : 0.0_f32 , id : 0_u8 , healthy : 0_u8 , } ; } impl Default for WATER_DEPTH_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WATER_DEPTH_DATA { type Message = MavMessage ; const ID : u32 = 11038u32 ; const NAME : & 'static str = "WATER_DEPTH" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 38usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lng = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; __struct . id = buf . get_u8 () ; __struct . healthy = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lng) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . distance) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . healthy) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_MODE_DATA { pub custom_mode : u32 , pub target_system : u8 , pub base_mode : MavMode , } impl SET_MODE_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , target_system : 0_u8 , base_mode : MavMode :: DEFAULT , } ; } impl Default for SET_MODE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_MODE_DATA { type Message = MavMessage ; const ID : u32 = 11u32 ; const NAME : & 'static str = "SET_MODE" ; const EXTRA_CRC : u8 = 89u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . base_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMode" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . base_mode as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OSD_PARAM_CONFIG_DATA { pub request_id : u32 , pub min_value : f32 , pub max_value : f32 , pub increment : f32 , pub target_system : u8 , pub target_component : u8 , pub osd_screen : u8 , pub osd_index : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub config_type : OsdParamConfigType , } impl OSD_PARAM_CONFIG_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , min_value : 0.0_f32 , max_value : 0.0_f32 , increment : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , osd_screen : 0_u8 , osd_index : 0_u8 , param_id : [0_u8 ; 16usize] , config_type : OsdParamConfigType :: DEFAULT , } ; } impl Default for OSD_PARAM_CONFIG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OSD_PARAM_CONFIG_DATA { type Message = MavMessage ; const ID : u32 = 11033u32 ; const NAME : & 'static str = "OSD_PARAM_CONFIG" ; const EXTRA_CRC : u8 = 195u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . min_value = buf . get_f32_le () ; __struct . max_value = buf . get_f32_le () ; __struct . increment = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . osd_screen = buf . get_u8 () ; __struct . osd_index = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . config_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "OsdParamConfigType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_f32_le (self . min_value) ; __tmp . put_f32_le (self . max_value) ; __tmp . put_f32_le (self . increment) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . osd_screen) ; __tmp . put_u8 (self . osd_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . config_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PING_DATA { pub time_usec : u64 , pub seq : u32 , pub target_system : u8 , pub target_component : u8 , } impl PING_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , seq : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PING_DATA { type Message = MavMessage ; const ID : u32 = 4u32 ; const NAME : & 'static str = "PING" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . seq = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_ACK_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , pub param_result : ParamAck , } impl PARAM_EXT_ACK_DATA { pub const ENCODED_LEN : usize = 146usize ; pub const DEFAULT : Self = Self { param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , param_result : ParamAck :: DEFAULT , } ; } impl Default for PARAM_EXT_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_ACK_DATA { type Message = MavMessage ; const ID : u32 = 324u32 ; const NAME : & 'static str = "PARAM_EXT_ACK" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 146usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . param_result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "ParamAck" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; __tmp . put_u8 (self . param_result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TIMESYNC_DATA { pub tc1 : i64 , pub ts1 : i64 , } impl TIMESYNC_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { tc1 : 0_i64 , ts1 : 0_i64 , } ; } impl Default for TIMESYNC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TIMESYNC_DATA { type Message = MavMessage ; const ID : u32 = 111u32 ; const NAME : & 'static str = "TIMESYNC" ; const EXTRA_CRC : u8 = 34u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . tc1 = buf . get_i64_le () ; __struct . ts1 = buf . get_i64_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i64_le (self . tc1) ; __tmp . put_i64_le (self . ts1) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_TELEMETRY_5_TO_8_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltage : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub current : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub totalcurrent : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rpm : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub count : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature : [u8 ; 4] , } impl ESC_TELEMETRY_5_TO_8_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { voltage : [0_u16 ; 4usize] , current : [0_u16 ; 4usize] , totalcurrent : [0_u16 ; 4usize] , rpm : [0_u16 ; 4usize] , count : [0_u16 ; 4usize] , temperature : [0_u8 ; 4usize] , } ; } impl Default for ESC_TELEMETRY_5_TO_8_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_TELEMETRY_5_TO_8_DATA { type Message = MavMessage ; const ID : u32 = 11031u32 ; const NAME : & 'static str = "ESC_TELEMETRY_5_TO_8" ; const EXTRA_CRC : u8 = 133u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . voltage { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . current { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . totalcurrent { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . rpm { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . count { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . temperature { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . voltage { __tmp . put_u16_le (* val) ; } for val in & self . current { __tmp . put_u16_le (* val) ; } for val in & self . totalcurrent { __tmp . put_u16_le (* val) ; } for val in & self . rpm { __tmp . put_u16_le (* val) ; } for val in & self . count { __tmp . put_u16_le (* val) ; } for val in & self . temperature { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_PRESSURE_DATA { pub time_usec : u64 , pub press_abs : i16 , pub press_diff1 : i16 , pub press_diff2 : i16 , pub temperature : i16 , } impl RAW_PRESSURE_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , press_abs : 0_i16 , press_diff1 : 0_i16 , press_diff2 : 0_i16 , temperature : 0_i16 , } ; } impl Default for RAW_PRESSURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_PRESSURE_DATA { type Message = MavMessage ; const ID : u32 = 28u32 ; const NAME : & 'static str = "RAW_PRESSURE" ; const EXTRA_CRC : u8 = 67u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . press_abs = buf . get_i16_le () ; __struct . press_diff1 = buf . get_i16_le () ; __struct . press_diff2 = buf . get_i16_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i16_le (self . press_abs) ; __tmp . put_i16_le (self . press_diff1) ; __tmp . put_i16_le (self . press_diff2) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SMART_BATTERY_INFO_DATA { pub capacity_full_specification : i32 , pub capacity_full : i32 , pub cycle_count : u16 , pub weight : u16 , pub discharge_minimum_voltage : u16 , pub charging_minimum_voltage : u16 , pub resting_minimum_voltage : u16 , pub id : u8 , pub battery_function : MavBatteryFunction , pub mavtype : MavBatteryType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub serial_number : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub device_name : [u8 ; 50] , } impl SMART_BATTERY_INFO_DATA { pub const ENCODED_LEN : usize = 87usize ; pub const DEFAULT : Self = Self { capacity_full_specification : 0_i32 , capacity_full : 0_i32 , cycle_count : 0_u16 , weight : 0_u16 , discharge_minimum_voltage : 0_u16 , charging_minimum_voltage : 0_u16 , resting_minimum_voltage : 0_u16 , id : 0_u8 , battery_function : MavBatteryFunction :: DEFAULT , mavtype : MavBatteryType :: DEFAULT , serial_number : [0_u8 ; 16usize] , device_name : [0_u8 ; 50usize] , } ; } impl Default for SMART_BATTERY_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SMART_BATTERY_INFO_DATA { type Message = MavMessage ; const ID : u32 = 370u32 ; const NAME : & 'static str = "SMART_BATTERY_INFO" ; const EXTRA_CRC : u8 = 75u8 ; const ENCODED_LEN : usize = 87usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . capacity_full_specification = buf . get_i32_le () ; __struct . capacity_full = buf . get_i32_le () ; __struct . cycle_count = buf . get_u16_le () ; __struct . weight = buf . get_u16_le () ; __struct . discharge_minimum_voltage = buf . get_u16_le () ; __struct . charging_minimum_voltage = buf . get_u16_le () ; __struct . resting_minimum_voltage = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . battery_function = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryFunction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryType" , value : tmp as u32 }) ? ; for v in & mut __struct . serial_number { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . device_name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . capacity_full_specification) ; __tmp . put_i32_le (self . capacity_full) ; __tmp . put_u16_le (self . cycle_count) ; __tmp . put_u16_le (self . weight) ; __tmp . put_u16_le (self . discharge_minimum_voltage) ; __tmp . put_u16_le (self . charging_minimum_voltage) ; __tmp . put_u16_le (self . resting_minimum_voltage) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . battery_function as u8) ; __tmp . put_u8 (self . mavtype as u8) ; for val in & self . serial_number { __tmp . put_u8 (* val) ; } for val in & self . device_name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OBSTACLE_DISTANCE_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub distances : [u16 ; 72] , pub min_distance : u16 , pub max_distance : u16 , pub sensor_type : MavDistanceSensor , pub increment : u8 , } impl OBSTACLE_DISTANCE_DATA { pub const ENCODED_LEN : usize = 158usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , distances : [0_u16 ; 72usize] , min_distance : 0_u16 , max_distance : 0_u16 , sensor_type : MavDistanceSensor :: DEFAULT , increment : 0_u8 , } ; } impl Default for OBSTACLE_DISTANCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OBSTACLE_DISTANCE_DATA { type Message = MavMessage ; const ID : u32 = 330u32 ; const NAME : & 'static str = "OBSTACLE_DISTANCE" ; const EXTRA_CRC : u8 = 23u8 ; const ENCODED_LEN : usize = 158usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . distances { let val = buf . get_u16_le () ; * v = val ; } __struct . min_distance = buf . get_u16_le () ; __struct . max_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . sensor_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; __struct . increment = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . distances { __tmp . put_u16_le (* val) ; } __tmp . put_u16_le (self . min_distance) ; __tmp . put_u16_le (self . max_distance) ; __tmp . put_u8 (self . sensor_type as u8) ; __tmp . put_u8 (self . increment) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_FOV_STATUS_DATA { pub time_boot_ms : u32 , pub lat_camera : i32 , pub lon_camera : i32 , pub alt_camera : i32 , pub lat_image : i32 , pub lon_image : i32 , pub alt_image : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub hfov : f32 , pub vfov : f32 , } impl CAMERA_FOV_STATUS_DATA { pub const ENCODED_LEN : usize = 52usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_camera : 0_i32 , lon_camera : 0_i32 , alt_camera : 0_i32 , lat_image : 0_i32 , lon_image : 0_i32 , alt_image : 0_i32 , q : [0.0_f32 ; 4usize] , hfov : 0.0_f32 , vfov : 0.0_f32 , } ; } impl Default for CAMERA_FOV_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_FOV_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 271u32 ; const NAME : & 'static str = "CAMERA_FOV_STATUS" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 52usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_camera = buf . get_i32_le () ; __struct . lon_camera = buf . get_i32_le () ; __struct . alt_camera = buf . get_i32_le () ; __struct . lat_image = buf . get_i32_le () ; __struct . lon_image = buf . get_i32_le () ; __struct . alt_image = buf . get_i32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . hfov = buf . get_f32_le () ; __struct . vfov = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_camera) ; __tmp . put_i32_le (self . lon_camera) ; __tmp . put_i32_le (self . alt_camera) ; __tmp . put_i32_le (self . lat_image) ; __tmp . put_i32_le (self . lon_image) ; __tmp . put_i32_le (self . alt_image) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . hfov) ; __tmp . put_f32_le (self . vfov) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_TARGET_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub body_roll_rate : f32 , pub body_pitch_rate : f32 , pub body_yaw_rate : f32 , pub thrust : f32 , pub type_mask : AttitudeTargetTypemask , } impl ATTITUDE_TARGET_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , body_roll_rate : 0.0_f32 , body_pitch_rate : 0.0_f32 , body_yaw_rate : 0.0_f32 , thrust : 0.0_f32 , type_mask : AttitudeTargetTypemask :: DEFAULT , } ; } impl Default for ATTITUDE_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 83u32 ; const NAME : & 'static str = "ATTITUDE_TARGET" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . body_roll_rate = buf . get_f32_le () ; __struct . body_pitch_rate = buf . get_f32_le () ; __struct . body_yaw_rate = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . type_mask = AttitudeTargetTypemask :: from_bits (tmp & AttitudeTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AttitudeTargetTypemask" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . body_roll_rate) ; __tmp . put_f32_le (self . body_pitch_rate) ; __tmp . put_f32_le (self . body_yaw_rate) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . type_mask . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS2_RAW_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub dgps_age : u32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub cog : u16 , pub fix_type : GpsFixType , pub satellites_visible : u8 , pub dgps_numch : u8 , } impl GPS2_RAW_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , dgps_age : 0_u32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , cog : 0_u16 , fix_type : GpsFixType :: DEFAULT , satellites_visible : 0_u8 , dgps_numch : 0_u8 , } ; } impl Default for GPS2_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS2_RAW_DATA { type Message = MavMessage ; const ID : u32 = 124u32 ; const NAME : & 'static str = "GPS2_RAW" ; const EXTRA_CRC : u8 = 87u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . dgps_age = buf . get_u32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . cog = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . satellites_visible = buf . get_u8 () ; __struct . dgps_numch = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u32_le (self . dgps_age) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type as u8) ; __tmp . put_u8 (self . satellites_visible) ; __tmp . put_u8 (self . dgps_numch) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_DATA { pub time_boot_ms : u32 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub chan9_raw : u16 , pub chan10_raw : u16 , pub chan11_raw : u16 , pub chan12_raw : u16 , pub chan13_raw : u16 , pub chan14_raw : u16 , pub chan15_raw : u16 , pub chan16_raw : u16 , pub chan17_raw : u16 , pub chan18_raw : u16 , pub chancount : u8 , pub rssi : u8 , } impl RC_CHANNELS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , chan9_raw : 0_u16 , chan10_raw : 0_u16 , chan11_raw : 0_u16 , chan12_raw : 0_u16 , chan13_raw : 0_u16 , chan14_raw : 0_u16 , chan15_raw : 0_u16 , chan16_raw : 0_u16 , chan17_raw : 0_u16 , chan18_raw : 0_u16 , chancount : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_DATA { type Message = MavMessage ; const ID : u32 = 65u32 ; const NAME : & 'static str = "RC_CHANNELS" ; const EXTRA_CRC : u8 = 118u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . chan9_raw = buf . get_u16_le () ; __struct . chan10_raw = buf . get_u16_le () ; __struct . chan11_raw = buf . get_u16_le () ; __struct . chan12_raw = buf . get_u16_le () ; __struct . chan13_raw = buf . get_u16_le () ; __struct . chan14_raw = buf . get_u16_le () ; __struct . chan15_raw = buf . get_u16_le () ; __struct . chan16_raw = buf . get_u16_le () ; __struct . chan17_raw = buf . get_u16_le () ; __struct . chan18_raw = buf . get_u16_le () ; __struct . chancount = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u16_le (self . chan9_raw) ; __tmp . put_u16_le (self . chan10_raw) ; __tmp . put_u16_le (self . chan11_raw) ; __tmp . put_u16_le (self . chan12_raw) ; __tmp . put_u16_le (self . chan13_raw) ; __tmp . put_u16_le (self . chan14_raw) ; __tmp . put_u16_le (self . chan15_raw) ; __tmp . put_u16_le (self . chan16_raw) ; __tmp . put_u16_le (self . chan17_raw) ; __tmp . put_u16_le (self . chan18_raw) ; __tmp . put_u8 (self . chancount) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA_STREAM_DATA { pub message_rate : u16 , pub stream_id : u8 , pub on_off : u8 , } impl DATA_STREAM_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { message_rate : 0_u16 , stream_id : 0_u8 , on_off : 0_u8 , } ; } impl Default for DATA_STREAM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA_STREAM_DATA { type Message = MavMessage ; const ID : u32 = 67u32 ; const NAME : & 'static str = "DATA_STREAM" ; const EXTRA_CRC : u8 = 21u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . message_rate = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; __struct . on_off = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . message_rate) ; __tmp . put_u8 (self . stream_id) ; __tmp . put_u8 (self . on_off) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIDEO_STREAM_INFORMATION_DATA { pub framerate : f32 , pub bitrate : u32 , pub flags : VideoStreamStatusFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub hfov : u16 , pub stream_id : u8 , pub count : u8 , pub mavtype : VideoStreamType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 160] , } impl VIDEO_STREAM_INFORMATION_DATA { pub const ENCODED_LEN : usize = 213usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , flags : VideoStreamStatusFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , hfov : 0_u16 , stream_id : 0_u8 , count : 0_u8 , mavtype : VideoStreamType :: DEFAULT , name : [0_u8 ; 32usize] , uri : [0_u8 ; 160usize] , } ; } impl Default for VIDEO_STREAM_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIDEO_STREAM_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 269u32 ; const NAME : & 'static str = "VIDEO_STREAM_INFORMATION" ; const EXTRA_CRC : u8 = 109u8 ; const ENCODED_LEN : usize = 213usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamStatusFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . hfov = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamType" , value : tmp as u32 }) ? ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . flags as u16) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u16_le (self . hfov) ; __tmp . put_u8 (self . stream_id) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . mavtype as u8) ; for val in & self . name { __tmp . put_u8 (* val) ; } for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_GPS_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub vn : i16 , pub ve : i16 , pub vd : i16 , pub cog : u16 , pub fix_type : u8 , pub satellites_visible : u8 , } impl HIL_GPS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , vn : 0_i16 , ve : 0_i16 , vd : 0_i16 , cog : 0_u16 , fix_type : 0_u8 , satellites_visible : 0_u8 , } ; } impl Default for HIL_GPS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_GPS_DATA { type Message = MavMessage ; const ID : u32 = 113u32 ; const NAME : & 'static str = "HIL_GPS" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . vn = buf . get_i16_le () ; __struct . ve = buf . get_i16_le () ; __struct . vd = buf . get_i16_le () ; __struct . cog = buf . get_u16_le () ; __struct . fix_type = buf . get_u8 () ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_i16_le (self . vn) ; __tmp . put_i16_le (self . ve) ; __tmp . put_i16_le (self . vd) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_POSITION_DELTA_DATA { pub time_usec : u64 , pub time_delta_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub angle_delta : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub position_delta : [f32 ; 3] , pub confidence : f32 , } impl VISION_POSITION_DELTA_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , time_delta_usec : 0_u64 , angle_delta : [0.0_f32 ; 3usize] , position_delta : [0.0_f32 ; 3usize] , confidence : 0.0_f32 , } ; } impl Default for VISION_POSITION_DELTA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_POSITION_DELTA_DATA { type Message = MavMessage ; const ID : u32 = 11011u32 ; const NAME : & 'static str = "VISION_POSITION_DELTA" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . time_delta_usec = buf . get_u64_le () ; for v in & mut __struct . angle_delta { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . position_delta { let val = buf . get_f32_le () ; * v = val ; } __struct . confidence = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u64_le (self . time_delta_usec) ; for val in & self . angle_delta { __tmp . put_f32_le (* val) ; } for val in & self . position_delta { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . confidence) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_REQUEST_DATA { pub mask : u64 , pub lat : i32 , pub lon : i32 , pub grid_spacing : u16 , } impl TERRAIN_REQUEST_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { mask : 0_u64 , lat : 0_i32 , lon : 0_i32 , grid_spacing : 0_u16 , } ; } impl Default for TERRAIN_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 133u32 ; const NAME : & 'static str = "TERRAIN_REQUEST" ; const EXTRA_CRC : u8 = 6u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mask = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . grid_spacing = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . mask) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . grid_spacing) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGH_LATENCY_DATA { pub custom_mode : u32 , pub latitude : i32 , pub longitude : i32 , pub roll : i16 , pub pitch : i16 , pub heading : u16 , pub heading_sp : i16 , pub altitude_amsl : i16 , pub altitude_sp : i16 , pub wp_distance : u16 , pub base_mode : MavModeFlag , pub landed_state : MavLandedState , pub throttle : i8 , pub airspeed : u8 , pub airspeed_sp : u8 , pub groundspeed : u8 , pub climb_rate : i8 , pub gps_nsat : u8 , pub gps_fix_type : GpsFixType , pub battery_remaining : u8 , pub temperature : i8 , pub temperature_air : i8 , pub failsafe : u8 , pub wp_num : u8 , } impl HIGH_LATENCY_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , latitude : 0_i32 , longitude : 0_i32 , roll : 0_i16 , pitch : 0_i16 , heading : 0_u16 , heading_sp : 0_i16 , altitude_amsl : 0_i16 , altitude_sp : 0_i16 , wp_distance : 0_u16 , base_mode : MavModeFlag :: DEFAULT , landed_state : MavLandedState :: DEFAULT , throttle : 0_i8 , airspeed : 0_u8 , airspeed_sp : 0_u8 , groundspeed : 0_u8 , climb_rate : 0_i8 , gps_nsat : 0_u8 , gps_fix_type : GpsFixType :: DEFAULT , battery_remaining : 0_u8 , temperature : 0_i8 , temperature_air : 0_i8 , failsafe : 0_u8 , wp_num : 0_u8 , } ; } impl Default for HIGH_LATENCY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGH_LATENCY_DATA { type Message = MavMessage ; const ID : u32 = 234u32 ; const NAME : & 'static str = "HIGH_LATENCY" ; const EXTRA_CRC : u8 = 150u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . roll = buf . get_i16_le () ; __struct . pitch = buf . get_i16_le () ; __struct . heading = buf . get_u16_le () ; __struct . heading_sp = buf . get_i16_le () ; __struct . altitude_amsl = buf . get_i16_le () ; __struct . altitude_sp = buf . get_i16_le () ; __struct . wp_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . base_mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; __struct . throttle = buf . get_i8 () ; __struct . airspeed = buf . get_u8 () ; __struct . airspeed_sp = buf . get_u8 () ; __struct . groundspeed = buf . get_u8 () ; __struct . climb_rate = buf . get_i8 () ; __struct . gps_nsat = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . gps_fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . battery_remaining = buf . get_u8 () ; __struct . temperature = buf . get_i8 () ; __struct . temperature_air = buf . get_i8 () ; __struct . failsafe = buf . get_u8 () ; __struct . wp_num = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i16_le (self . roll) ; __tmp . put_i16_le (self . pitch) ; __tmp . put_u16_le (self . heading) ; __tmp . put_i16_le (self . heading_sp) ; __tmp . put_i16_le (self . altitude_amsl) ; __tmp . put_i16_le (self . altitude_sp) ; __tmp . put_u16_le (self . wp_distance) ; __tmp . put_u8 (self . base_mode . bits ()) ; __tmp . put_u8 (self . landed_state as u8) ; __tmp . put_i8 (self . throttle) ; __tmp . put_u8 (self . airspeed) ; __tmp . put_u8 (self . airspeed_sp) ; __tmp . put_u8 (self . groundspeed) ; __tmp . put_i8 (self . climb_rate) ; __tmp . put_u8 (self . gps_nsat) ; __tmp . put_u8 (self . gps_fix_type as u8) ; __tmp . put_u8 (self . battery_remaining) ; __tmp . put_i8 (self . temperature) ; __tmp . put_i8 (self . temperature_air) ; __tmp . put_u8 (self . failsafe) ; __tmp . put_u8 (self . wp_num) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TUNNEL_DATA { pub payload_type : MavTunnelPayloadType , pub target_system : u8 , pub target_component : u8 , pub payload_length : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 128] , } impl TUNNEL_DATA { pub const ENCODED_LEN : usize = 133usize ; pub const DEFAULT : Self = Self { payload_type : MavTunnelPayloadType :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , payload_length : 0_u8 , payload : [0_u8 ; 128usize] , } ; } impl Default for TUNNEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TUNNEL_DATA { type Message = MavMessage ; const ID : u32 = 385u32 ; const NAME : & 'static str = "TUNNEL" ; const EXTRA_CRC : u8 = 147u8 ; const ENCODED_LEN : usize = 133usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . payload_type = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavTunnelPayloadType" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . payload_length = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . payload_type as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . payload_length) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LIMITS_STATUS_DATA { pub last_trigger : u32 , pub last_action : u32 , pub last_recovery : u32 , pub last_clear : u32 , pub breach_count : u16 , pub limits_state : LimitsState , pub mods_enabled : LimitModule , pub mods_required : LimitModule , pub mods_triggered : LimitModule , } impl LIMITS_STATUS_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { last_trigger : 0_u32 , last_action : 0_u32 , last_recovery : 0_u32 , last_clear : 0_u32 , breach_count : 0_u16 , limits_state : LimitsState :: DEFAULT , mods_enabled : LimitModule :: DEFAULT , mods_required : LimitModule :: DEFAULT , mods_triggered : LimitModule :: DEFAULT , } ; } impl Default for LIMITS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LIMITS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 167u32 ; const NAME : & 'static str = "LIMITS_STATUS" ; const EXTRA_CRC : u8 = 144u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . last_trigger = buf . get_u32_le () ; __struct . last_action = buf . get_u32_le () ; __struct . last_recovery = buf . get_u32_le () ; __struct . last_clear = buf . get_u32_le () ; __struct . breach_count = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . limits_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "LimitsState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mods_enabled = LimitModule :: from_bits (tmp & LimitModule :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "LimitModule" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mods_required = LimitModule :: from_bits (tmp & LimitModule :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "LimitModule" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mods_triggered = LimitModule :: from_bits (tmp & LimitModule :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "LimitModule" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . last_trigger) ; __tmp . put_u32_le (self . last_action) ; __tmp . put_u32_le (self . last_recovery) ; __tmp . put_u32_le (self . last_clear) ; __tmp . put_u16_le (self . breach_count) ; __tmp . put_u8 (self . limits_state as u8) ; __tmp . put_u8 (self . mods_enabled . bits ()) ; __tmp . put_u8 (self . mods_required . bits ()) ; __tmp . put_u8 (self . mods_triggered . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TRAJECTORY_REPRESENTATION_BEZIER_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub delta : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_yaw : [f32 ; 5] , pub valid_points : u8 , } impl TRAJECTORY_REPRESENTATION_BEZIER_DATA { pub const ENCODED_LEN : usize = 109usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , pos_x : [0.0_f32 ; 5usize] , pos_y : [0.0_f32 ; 5usize] , pos_z : [0.0_f32 ; 5usize] , delta : [0.0_f32 ; 5usize] , pos_yaw : [0.0_f32 ; 5usize] , valid_points : 0_u8 , } ; } impl Default for TRAJECTORY_REPRESENTATION_BEZIER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TRAJECTORY_REPRESENTATION_BEZIER_DATA { type Message = MavMessage ; const ID : u32 = 333u32 ; const NAME : & 'static str = "TRAJECTORY_REPRESENTATION_BEZIER" ; const EXTRA_CRC : u8 = 231u8 ; const ENCODED_LEN : usize = 109usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . pos_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . delta { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_yaw { let val = buf . get_f32_le () ; * v = val ; } __struct . valid_points = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . pos_x { __tmp . put_f32_le (* val) ; } for val in & self . pos_y { __tmp . put_f32_le (* val) ; } for val in & self . pos_z { __tmp . put_f32_le (* val) ; } for val in & self . delta { __tmp . put_f32_le (* val) ; } for val in & self . pos_yaw { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . valid_points) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_ACTUATOR_CONTROL_TARGET_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 8] , pub group_mlx : u8 , pub target_system : u8 , pub target_component : u8 , } impl SET_ACTUATOR_CONTROL_TARGET_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , controls : [0.0_f32 ; 8usize] , group_mlx : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SET_ACTUATOR_CONTROL_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_ACTUATOR_CONTROL_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 139u32 ; const NAME : & 'static str = "SET_ACTUATOR_CONTROL_TARGET" ; const EXTRA_CRC : u8 = 168u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } __struct . group_mlx = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . group_mlx) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_SCALED_DATA { pub time_boot_ms : u32 , pub chan1_scaled : i16 , pub chan2_scaled : i16 , pub chan3_scaled : i16 , pub chan4_scaled : i16 , pub chan5_scaled : i16 , pub chan6_scaled : i16 , pub chan7_scaled : i16 , pub chan8_scaled : i16 , pub port : u8 , pub rssi : u8 , } impl RC_CHANNELS_SCALED_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_scaled : 0_i16 , chan2_scaled : 0_i16 , chan3_scaled : 0_i16 , chan4_scaled : 0_i16 , chan5_scaled : 0_i16 , chan6_scaled : 0_i16 , chan7_scaled : 0_i16 , chan8_scaled : 0_i16 , port : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_SCALED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_SCALED_DATA { type Message = MavMessage ; const ID : u32 = 34u32 ; const NAME : & 'static str = "RC_CHANNELS_SCALED" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_scaled = buf . get_i16_le () ; __struct . chan2_scaled = buf . get_i16_le () ; __struct . chan3_scaled = buf . get_i16_le () ; __struct . chan4_scaled = buf . get_i16_le () ; __struct . chan5_scaled = buf . get_i16_le () ; __struct . chan6_scaled = buf . get_i16_le () ; __struct . chan7_scaled = buf . get_i16_le () ; __struct . chan8_scaled = buf . get_i16_le () ; __struct . port = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . chan1_scaled) ; __tmp . put_i16_le (self . chan2_scaled) ; __tmp . put_i16_le (self . chan3_scaled) ; __tmp . put_i16_le (self . chan4_scaled) ; __tmp . put_i16_le (self . chan5_scaled) ; __tmp . put_i16_le (self . chan6_scaled) ; __tmp . put_i16_le (self . chan7_scaled) ; __tmp . put_i16_le (self . chan8_scaled) ; __tmp . put_u8 (self . port) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SELF_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub description_type : MavOdidDescType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub description : [u8 ; 23] , } impl OPEN_DRONE_ID_SELF_ID_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , description_type : MavOdidDescType :: DEFAULT , description : [0_u8 ; 23usize] , } ; } impl Default for OPEN_DRONE_ID_SELF_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SELF_ID_DATA { type Message = MavMessage ; const ID : u32 = 12903u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SELF_ID" ; const EXTRA_CRC : u8 = 249u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . description_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidDescType" , value : tmp as u32 }) ? ; for v in & mut __struct . description { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . description_type as u8) ; for val in & self . description { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MOUNT_ORIENTATION_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl MOUNT_ORIENTATION_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for MOUNT_ORIENTATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MOUNT_ORIENTATION_DATA { type Message = MavMessage ; const ID : u32 = 265u32 ; const NAME : & 'static str = "MOUNT_ORIENTATION" ; const EXTRA_CRC : u8 = 26u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_POSITION_INT_DATA { pub time_boot_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub hdg : u16 , } impl GLOBAL_POSITION_INT_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , hdg : 0_u16 , } ; } impl Default for GLOBAL_POSITION_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_POSITION_INT_DATA { type Message = MavMessage ; const ID : u32 = 33u32 ; const NAME : & 'static str = "GLOBAL_POSITION_INT" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . hdg = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . hdg) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEVICE_OP_READ_REPLY_DATA { pub request_id : u32 , pub result : u8 , pub regstart : u8 , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 128] , } impl DEVICE_OP_READ_REPLY_DATA { pub const ENCODED_LEN : usize = 135usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , result : 0_u8 , regstart : 0_u8 , count : 0_u8 , data : [0_u8 ; 128usize] , } ; } impl Default for DEVICE_OP_READ_REPLY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEVICE_OP_READ_REPLY_DATA { type Message = MavMessage ; const ID : u32 = 11001u32 ; const NAME : & 'static str = "DEVICE_OP_READ_REPLY" ; const EXTRA_CRC : u8 = 15u8 ; const ENCODED_LEN : usize = 135usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . result = buf . get_u8 () ; __struct . regstart = buf . get_u8 () ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_u8 (self . result) ; __tmp . put_u8 (self . regstart) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SERIAL_CONTROL_DATA { pub baudrate : u32 , pub timeout : u16 , pub device : SerialControlDev , pub flags : SerialControlFlag , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 70] , } impl SERIAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 79usize ; pub const DEFAULT : Self = Self { baudrate : 0_u32 , timeout : 0_u16 , device : SerialControlDev :: DEFAULT , flags : SerialControlFlag :: DEFAULT , count : 0_u8 , data : [0_u8 ; 70usize] , } ; } impl Default for SERIAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SERIAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 126u32 ; const NAME : & 'static str = "SERIAL_CONTROL" ; const EXTRA_CRC : u8 = 220u8 ; const ENCODED_LEN : usize = 79usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . baudrate = buf . get_u32_le () ; __struct . timeout = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . device = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "SerialControlDev" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = SerialControlFlag :: from_bits (tmp & SerialControlFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "SerialControlFlag" , value : tmp as u32 }) ? ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . baudrate) ; __tmp . put_u16_le (self . timeout) ; __tmp . put_u8 (self . device as u8) ; __tmp . put_u8 (self . flags . bits ()) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAN_FRAME_DATA { pub id : u32 , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 8] , } impl CAN_FRAME_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , len : 0_u8 , data : [0_u8 ; 8usize] , } ; } impl Default for CAN_FRAME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAN_FRAME_DATA { type Message = MavMessage ; const ID : u32 = 386u32 ; const NAME : & 'static str = "CAN_FRAME" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AHRS3_DATA { pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub altitude : f32 , pub lat : i32 , pub lng : i32 , pub v1 : f32 , pub v2 : f32 , pub v3 : f32 , pub v4 : f32 , } impl AHRS3_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , altitude : 0.0_f32 , lat : 0_i32 , lng : 0_i32 , v1 : 0.0_f32 , v2 : 0.0_f32 , v3 : 0.0_f32 , v4 : 0.0_f32 , } ; } impl Default for AHRS3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AHRS3_DATA { type Message = MavMessage ; const ID : u32 = 182u32 ; const NAME : & 'static str = "AHRS3" ; const EXTRA_CRC : u8 = 229u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . altitude = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lng = buf . get_i32_le () ; __struct . v1 = buf . get_f32_le () ; __struct . v2 = buf . get_f32_le () ; __struct . v3 = buf . get_f32_le () ; __struct . v4 = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . altitude) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lng) ; __tmp . put_f32_le (self . v1) ; __tmp . put_f32_le (self . v2) ; __tmp . put_f32_le (self . v3) ; __tmp . put_f32_le (self . v4) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl PARAM_EXT_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PARAM_EXT_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 321u32 ; const NAME : & 'static str = "PARAM_EXT_REQUEST_LIST" ; const EXTRA_CRC : u8 = 88u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRACKING_GEO_STATUS_DATA { pub lat : i32 , pub lon : i32 , pub alt : f32 , pub h_acc : f32 , pub v_acc : f32 , pub vel_n : f32 , pub vel_e : f32 , pub vel_d : f32 , pub vel_acc : f32 , pub dist : f32 , pub hdg : f32 , pub hdg_acc : f32 , pub tracking_status : CameraTrackingStatusFlags , } impl CAMERA_TRACKING_GEO_STATUS_DATA { pub const ENCODED_LEN : usize = 49usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , h_acc : 0.0_f32 , v_acc : 0.0_f32 , vel_n : 0.0_f32 , vel_e : 0.0_f32 , vel_d : 0.0_f32 , vel_acc : 0.0_f32 , dist : 0.0_f32 , hdg : 0.0_f32 , hdg_acc : 0.0_f32 , tracking_status : CameraTrackingStatusFlags :: DEFAULT , } ; } impl Default for CAMERA_TRACKING_GEO_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRACKING_GEO_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 276u32 ; const NAME : & 'static str = "CAMERA_TRACKING_GEO_STATUS" ; const EXTRA_CRC : u8 = 18u8 ; const ENCODED_LEN : usize = 49usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . h_acc = buf . get_f32_le () ; __struct . v_acc = buf . get_f32_le () ; __struct . vel_n = buf . get_f32_le () ; __struct . vel_e = buf . get_f32_le () ; __struct . vel_d = buf . get_f32_le () ; __struct . vel_acc = buf . get_f32_le () ; __struct . dist = buf . get_f32_le () ; __struct . hdg = buf . get_f32_le () ; __struct . hdg_acc = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . tracking_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . h_acc) ; __tmp . put_f32_le (self . v_acc) ; __tmp . put_f32_le (self . vel_n) ; __tmp . put_f32_le (self . vel_e) ; __tmp . put_f32_le (self . vel_d) ; __tmp . put_f32_le (self . vel_acc) ; __tmp . put_f32_le (self . dist) ; __tmp . put_f32_le (self . hdg) ; __tmp . put_f32_le (self . hdg_acc) ; __tmp . put_u8 (self . tracking_status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU3_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU3_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU3_DATA { type Message = MavMessage ; const ID : u32 = 129u32 ; const NAME : & 'static str = "SCALED_IMU3" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_yaw : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_yaw : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub command : [u16 ; 5] , pub valid_points : u8 , } impl TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { pub const ENCODED_LEN : usize = 239usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , pos_x : [0.0_f32 ; 5usize] , pos_y : [0.0_f32 ; 5usize] , pos_z : [0.0_f32 ; 5usize] , vel_x : [0.0_f32 ; 5usize] , vel_y : [0.0_f32 ; 5usize] , vel_z : [0.0_f32 ; 5usize] , acc_x : [0.0_f32 ; 5usize] , acc_y : [0.0_f32 ; 5usize] , acc_z : [0.0_f32 ; 5usize] , pos_yaw : [0.0_f32 ; 5usize] , vel_yaw : [0.0_f32 ; 5usize] , command : [0_u16 ; 5usize] , valid_points : 0_u8 , } ; } impl Default for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { type Message = MavMessage ; const ID : u32 = 332u32 ; const NAME : & 'static str = "TRAJECTORY_REPRESENTATION_WAYPOINTS" ; const EXTRA_CRC : u8 = 236u8 ; const ENCODED_LEN : usize = 239usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . pos_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_yaw { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_yaw { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . command { let val = buf . get_u16_le () ; * v = val ; } __struct . valid_points = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . pos_x { __tmp . put_f32_le (* val) ; } for val in & self . pos_y { __tmp . put_f32_le (* val) ; } for val in & self . pos_z { __tmp . put_f32_le (* val) ; } for val in & self . vel_x { __tmp . put_f32_le (* val) ; } for val in & self . vel_y { __tmp . put_f32_le (* val) ; } for val in & self . vel_z { __tmp . put_f32_le (* val) ; } for val in & self . acc_x { __tmp . put_f32_le (* val) ; } for val in & self . acc_y { __tmp . put_f32_le (* val) ; } for val in & self . acc_z { __tmp . put_f32_le (* val) ; } for val in & self . pos_yaw { __tmp . put_f32_le (* val) ; } for val in & self . vel_yaw { __tmp . put_f32_le (* val) ; } for val in & self . command { __tmp . put_u16_le (* val) ; } __tmp . put_u8 (self . valid_points) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_INT_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub seq : u16 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl MISSION_ITEM_INT_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , seq : 0_u16 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for MISSION_ITEM_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_INT_DATA { type Message = MavMessage ; const ID : u32 = 73u32 ; const NAME : & 'static str = "MISSION_ITEM_INT" ; const EXTRA_CRC : u8 = 38u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; __struct . seq = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ADAP_TUNING_DATA { pub desired : f32 , pub achieved : f32 , pub error : f32 , pub theta : f32 , pub omega : f32 , pub sigma : f32 , pub theta_dot : f32 , pub omega_dot : f32 , pub sigma_dot : f32 , pub f : f32 , pub f_dot : f32 , pub u : f32 , pub axis : PidTuningAxis , } impl ADAP_TUNING_DATA { pub const ENCODED_LEN : usize = 49usize ; pub const DEFAULT : Self = Self { desired : 0.0_f32 , achieved : 0.0_f32 , error : 0.0_f32 , theta : 0.0_f32 , omega : 0.0_f32 , sigma : 0.0_f32 , theta_dot : 0.0_f32 , omega_dot : 0.0_f32 , sigma_dot : 0.0_f32 , f : 0.0_f32 , f_dot : 0.0_f32 , u : 0.0_f32 , axis : PidTuningAxis :: DEFAULT , } ; } impl Default for ADAP_TUNING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ADAP_TUNING_DATA { type Message = MavMessage ; const ID : u32 = 11010u32 ; const NAME : & 'static str = "ADAP_TUNING" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 49usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . desired = buf . get_f32_le () ; __struct . achieved = buf . get_f32_le () ; __struct . error = buf . get_f32_le () ; __struct . theta = buf . get_f32_le () ; __struct . omega = buf . get_f32_le () ; __struct . sigma = buf . get_f32_le () ; __struct . theta_dot = buf . get_f32_le () ; __struct . omega_dot = buf . get_f32_le () ; __struct . sigma_dot = buf . get_f32_le () ; __struct . f = buf . get_f32_le () ; __struct . f_dot = buf . get_f32_le () ; __struct . u = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . axis = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "PidTuningAxis" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . desired) ; __tmp . put_f32_le (self . achieved) ; __tmp . put_f32_le (self . error) ; __tmp . put_f32_le (self . theta) ; __tmp . put_f32_le (self . omega) ; __tmp . put_f32_le (self . sigma) ; __tmp . put_f32_le (self . theta_dot) ; __tmp . put_f32_le (self . omega_dot) ; __tmp . put_f32_le (self . sigma_dot) ; __tmp . put_f32_le (self . f) ; __tmp . put_f32_le (self . f_dot) ; __tmp . put_f32_le (self . u) ; __tmp . put_u8 (self . axis as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EFI_STATUS_DATA { pub ecu_index : f32 , pub rpm : f32 , pub fuel_consumed : f32 , pub fuel_flow : f32 , pub engine_load : f32 , pub throttle_position : f32 , pub spark_dwell_time : f32 , pub barometric_pressure : f32 , pub intake_manifold_pressure : f32 , pub intake_manifold_temperature : f32 , pub cylinder_head_temperature : f32 , pub ignition_timing : f32 , pub injection_time : f32 , pub exhaust_gas_temperature : f32 , pub throttle_out : f32 , pub pt_compensation : f32 , pub health : u8 , } impl EFI_STATUS_DATA { pub const ENCODED_LEN : usize = 65usize ; pub const DEFAULT : Self = Self { ecu_index : 0.0_f32 , rpm : 0.0_f32 , fuel_consumed : 0.0_f32 , fuel_flow : 0.0_f32 , engine_load : 0.0_f32 , throttle_position : 0.0_f32 , spark_dwell_time : 0.0_f32 , barometric_pressure : 0.0_f32 , intake_manifold_pressure : 0.0_f32 , intake_manifold_temperature : 0.0_f32 , cylinder_head_temperature : 0.0_f32 , ignition_timing : 0.0_f32 , injection_time : 0.0_f32 , exhaust_gas_temperature : 0.0_f32 , throttle_out : 0.0_f32 , pt_compensation : 0.0_f32 , health : 0_u8 , } ; } impl Default for EFI_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EFI_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 225u32 ; const NAME : & 'static str = "EFI_STATUS" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 65usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ecu_index = buf . get_f32_le () ; __struct . rpm = buf . get_f32_le () ; __struct . fuel_consumed = buf . get_f32_le () ; __struct . fuel_flow = buf . get_f32_le () ; __struct . engine_load = buf . get_f32_le () ; __struct . throttle_position = buf . get_f32_le () ; __struct . spark_dwell_time = buf . get_f32_le () ; __struct . barometric_pressure = buf . get_f32_le () ; __struct . intake_manifold_pressure = buf . get_f32_le () ; __struct . intake_manifold_temperature = buf . get_f32_le () ; __struct . cylinder_head_temperature = buf . get_f32_le () ; __struct . ignition_timing = buf . get_f32_le () ; __struct . injection_time = buf . get_f32_le () ; __struct . exhaust_gas_temperature = buf . get_f32_le () ; __struct . throttle_out = buf . get_f32_le () ; __struct . pt_compensation = buf . get_f32_le () ; __struct . health = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . ecu_index) ; __tmp . put_f32_le (self . rpm) ; __tmp . put_f32_le (self . fuel_consumed) ; __tmp . put_f32_le (self . fuel_flow) ; __tmp . put_f32_le (self . engine_load) ; __tmp . put_f32_le (self . throttle_position) ; __tmp . put_f32_le (self . spark_dwell_time) ; __tmp . put_f32_le (self . barometric_pressure) ; __tmp . put_f32_le (self . intake_manifold_pressure) ; __tmp . put_f32_le (self . intake_manifold_temperature) ; __tmp . put_f32_le (self . cylinder_head_temperature) ; __tmp . put_f32_le (self . ignition_timing) ; __tmp . put_f32_le (self . injection_time) ; __tmp . put_f32_le (self . exhaust_gas_temperature) ; __tmp . put_f32_le (self . throttle_out) ; __tmp . put_f32_le (self . pt_compensation) ; __tmp . put_u8 (self . health) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_REPORT_DATA { pub lat : i32 , pub lon : i32 , pub terrain_height : f32 , pub current_height : f32 , pub spacing : u16 , pub pending : u16 , pub loaded : u16 , } impl TERRAIN_REPORT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , terrain_height : 0.0_f32 , current_height : 0.0_f32 , spacing : 0_u16 , pending : 0_u16 , loaded : 0_u16 , } ; } impl Default for TERRAIN_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 136u32 ; const NAME : & 'static str = "TERRAIN_REPORT" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . terrain_height = buf . get_f32_le () ; __struct . current_height = buf . get_f32_le () ; __struct . spacing = buf . get_u16_le () ; __struct . pending = buf . get_u16_le () ; __struct . loaded = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . terrain_height) ; __tmp . put_f32_le (self . current_height) ; __tmp . put_u16_le (self . spacing) ; __tmp . put_u16_le (self . pending) ; __tmp . put_u16_le (self . loaded) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE2_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE2_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE2_DATA { type Message = MavMessage ; const ID : u32 = 137u32 ; const NAME : & 'static str = "SCALED_PRESSURE2" ; const EXTRA_CRC : u8 = 195u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_HOME_POSITION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub approach_x : f32 , pub approach_y : f32 , pub approach_z : f32 , pub target_system : u8 , } impl SET_HOME_POSITION_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , approach_x : 0.0_f32 , approach_y : 0.0_f32 , approach_z : 0.0_f32 , target_system : 0_u8 , } ; } impl Default for SET_HOME_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_HOME_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 243u32 ; const NAME : & 'static str = "SET_HOME_POSITION" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . approach_x = buf . get_f32_le () ; __struct . approach_y = buf . get_f32_le () ; __struct . approach_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . approach_x) ; __tmp . put_f32_le (self . approach_y) ; __tmp . put_f32_le (self . approach_z) ; __tmp . put_u8 (self . target_system) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AP_ADC_DATA { pub adc1 : u16 , pub adc2 : u16 , pub adc3 : u16 , pub adc4 : u16 , pub adc5 : u16 , pub adc6 : u16 , } impl AP_ADC_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { adc1 : 0_u16 , adc2 : 0_u16 , adc3 : 0_u16 , adc4 : 0_u16 , adc5 : 0_u16 , adc6 : 0_u16 , } ; } impl Default for AP_ADC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AP_ADC_DATA { type Message = MavMessage ; const ID : u32 = 153u32 ; const NAME : & 'static str = "AP_ADC" ; const EXTRA_CRC : u8 = 188u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . adc1 = buf . get_u16_le () ; __struct . adc2 = buf . get_u16_le () ; __struct . adc3 = buf . get_u16_le () ; __struct . adc4 = buf . get_u16_le () ; __struct . adc5 = buf . get_u16_le () ; __struct . adc6 = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . adc1) ; __tmp . put_u16_le (self . adc2) ; __tmp . put_u16_le (self . adc3) ; __tmp . put_u16_le (self . adc4) ; __tmp . put_u16_le (self . adc5) ; __tmp . put_u16_le (self . adc6) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_TORQUE_CMD_REPORT_DATA { pub rl_torque_cmd : i16 , pub el_torque_cmd : i16 , pub az_torque_cmd : i16 , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_TORQUE_CMD_REPORT_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { rl_torque_cmd : 0_i16 , el_torque_cmd : 0_i16 , az_torque_cmd : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_TORQUE_CMD_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_TORQUE_CMD_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 214u32 ; const NAME : & 'static str = "GIMBAL_TORQUE_CMD_REPORT" ; const EXTRA_CRC : u8 = 69u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . rl_torque_cmd = buf . get_i16_le () ; __struct . el_torque_cmd = buf . get_i16_le () ; __struct . az_torque_cmd = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . rl_torque_cmd) ; __tmp . put_i16_le (self . el_torque_cmd) ; __tmp . put_i16_le (self . az_torque_cmd) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GOPRO_SET_RESPONSE_DATA { pub cmd_id : GoproCommand , pub status : GoproRequestStatus , } impl GOPRO_SET_RESPONSE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { cmd_id : GoproCommand :: DEFAULT , status : GoproRequestStatus :: DEFAULT , } ; } impl Default for GOPRO_SET_RESPONSE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GOPRO_SET_RESPONSE_DATA { type Message = MavMessage ; const ID : u32 = 219u32 ; const NAME : & 'static str = "GOPRO_SET_RESPONSE" ; const EXTRA_CRC : u8 = 162u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . cmd_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproCommand" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproRequestStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . cmd_id as u8) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_TELEMETRY_9_TO_12_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltage : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub current : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub totalcurrent : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rpm : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub count : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature : [u8 ; 4] , } impl ESC_TELEMETRY_9_TO_12_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { voltage : [0_u16 ; 4usize] , current : [0_u16 ; 4usize] , totalcurrent : [0_u16 ; 4usize] , rpm : [0_u16 ; 4usize] , count : [0_u16 ; 4usize] , temperature : [0_u8 ; 4usize] , } ; } impl Default for ESC_TELEMETRY_9_TO_12_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_TELEMETRY_9_TO_12_DATA { type Message = MavMessage ; const ID : u32 = 11032u32 ; const NAME : & 'static str = "ESC_TELEMETRY_9_TO_12" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . voltage { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . current { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . totalcurrent { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . rpm { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . count { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . temperature { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . voltage { __tmp . put_u16_le (* val) ; } for val in & self . current { __tmp . put_u16_le (* val) ; } for val in & self . totalcurrent { __tmp . put_u16_le (* val) ; } for val in & self . rpm { __tmp . put_u16_le (* val) ; } for val in & self . count { __tmp . put_u16_le (* val) ; } for val in & self . temperature { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HYGROMETER_SENSOR_DATA { pub temperature : i16 , pub humidity : u16 , pub id : u8 , } impl HYGROMETER_SENSOR_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { temperature : 0_i16 , humidity : 0_u16 , id : 0_u8 , } ; } impl Default for HYGROMETER_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HYGROMETER_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 12920u32 ; const NAME : & 'static str = "HYGROMETER_SENSOR" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . temperature = buf . get_i16_le () ; __struct . humidity = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u16_le (self . humidity) ; __tmp . put_u8 (self . id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CONTROL_SYSTEM_STATE_DATA { pub time_usec : u64 , pub x_acc : f32 , pub y_acc : f32 , pub z_acc : f32 , pub x_vel : f32 , pub y_vel : f32 , pub z_vel : f32 , pub x_pos : f32 , pub y_pos : f32 , pub z_pos : f32 , pub airspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_variance : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_variance : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub roll_rate : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , } impl CONTROL_SYSTEM_STATE_DATA { pub const ENCODED_LEN : usize = 100usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x_acc : 0.0_f32 , y_acc : 0.0_f32 , z_acc : 0.0_f32 , x_vel : 0.0_f32 , y_vel : 0.0_f32 , z_vel : 0.0_f32 , x_pos : 0.0_f32 , y_pos : 0.0_f32 , z_pos : 0.0_f32 , airspeed : 0.0_f32 , vel_variance : [0.0_f32 ; 3usize] , pos_variance : [0.0_f32 ; 3usize] , q : [0.0_f32 ; 4usize] , roll_rate : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , } ; } impl Default for CONTROL_SYSTEM_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CONTROL_SYSTEM_STATE_DATA { type Message = MavMessage ; const ID : u32 = 146u32 ; const NAME : & 'static str = "CONTROL_SYSTEM_STATE" ; const EXTRA_CRC : u8 = 103u8 ; const ENCODED_LEN : usize = 100usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x_acc = buf . get_f32_le () ; __struct . y_acc = buf . get_f32_le () ; __struct . z_acc = buf . get_f32_le () ; __struct . x_vel = buf . get_f32_le () ; __struct . y_vel = buf . get_f32_le () ; __struct . z_vel = buf . get_f32_le () ; __struct . x_pos = buf . get_f32_le () ; __struct . y_pos = buf . get_f32_le () ; __struct . z_pos = buf . get_f32_le () ; __struct . airspeed = buf . get_f32_le () ; for v in & mut __struct . vel_variance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_variance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . roll_rate = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x_acc) ; __tmp . put_f32_le (self . y_acc) ; __tmp . put_f32_le (self . z_acc) ; __tmp . put_f32_le (self . x_vel) ; __tmp . put_f32_le (self . y_vel) ; __tmp . put_f32_le (self . z_vel) ; __tmp . put_f32_le (self . x_pos) ; __tmp . put_f32_le (self . y_pos) ; __tmp . put_f32_le (self . z_pos) ; __tmp . put_f32_le (self . airspeed) ; for val in & self . vel_variance { __tmp . put_f32_le (* val) ; } for val in & self . pos_variance { __tmp . put_f32_le (* val) ; } for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . roll_rate) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BUTTON_CHANGE_DATA { pub time_boot_ms : u32 , pub last_change_ms : u32 , pub state : u8 , } impl BUTTON_CHANGE_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , last_change_ms : 0_u32 , state : 0_u8 , } ; } impl Default for BUTTON_CHANGE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BUTTON_CHANGE_DATA { type Message = MavMessage ; const ID : u32 = 257u32 ; const NAME : & 'static str = "BUTTON_CHANGE" ; const EXTRA_CRC : u8 = 131u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . last_change_ms = buf . get_u32_le () ; __struct . state = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . last_change_ms) ; __tmp . put_u8 (self . state) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VICON_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl VICON_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for VICON_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VICON_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 104u32 ; const NAME : & 'static str = "VICON_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 56u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_RC_INPUTS_RAW_DATA { pub time_usec : u64 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub chan9_raw : u16 , pub chan10_raw : u16 , pub chan11_raw : u16 , pub chan12_raw : u16 , pub rssi : u8 , } impl HIL_RC_INPUTS_RAW_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , chan9_raw : 0_u16 , chan10_raw : 0_u16 , chan11_raw : 0_u16 , chan12_raw : 0_u16 , rssi : 0_u8 , } ; } impl Default for HIL_RC_INPUTS_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_RC_INPUTS_RAW_DATA { type Message = MavMessage ; const ID : u32 = 92u32 ; const NAME : & 'static str = "HIL_RC_INPUTS_RAW" ; const EXTRA_CRC : u8 = 54u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . chan9_raw = buf . get_u16_le () ; __struct . chan10_raw = buf . get_u16_le () ; __struct . chan11_raw = buf . get_u16_le () ; __struct . chan12_raw = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u16_le (self . chan9_raw) ; __tmp . put_u16_le (self . chan10_raw) ; __tmp . put_u16_le (self . chan11_raw) ; __tmp . put_u16_le (self . chan12_raw) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_AUTHENTICATION_DATA { pub timestamp : u32 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub authentication_type : MavOdidAuthType , pub data_page : u8 , pub last_page_index : u8 , pub length : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub authentication_data : [u8 ; 23] , } impl OPEN_DRONE_ID_AUTHENTICATION_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { timestamp : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , authentication_type : MavOdidAuthType :: DEFAULT , data_page : 0_u8 , last_page_index : 0_u8 , length : 0_u8 , authentication_data : [0_u8 ; 23usize] , } ; } impl Default for OPEN_DRONE_ID_AUTHENTICATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_AUTHENTICATION_DATA { type Message = MavMessage ; const ID : u32 = 12902u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_AUTHENTICATION" ; const EXTRA_CRC : u8 = 140u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . authentication_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidAuthType" , value : tmp as u32 }) ? ; __struct . data_page = buf . get_u8 () ; __struct . last_page_index = buf . get_u8 () ; __struct . length = buf . get_u8 () ; for v in & mut __struct . authentication_data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . authentication_type as u8) ; __tmp . put_u8 (self . data_page) ; __tmp . put_u8 (self . last_page_index) ; __tmp . put_u8 (self . length) ; for val in & self . authentication_data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_STATE_DATA { pub time_usec : u64 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , } impl HIL_STATE_DATA { pub const ENCODED_LEN : usize = 56usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , } ; } impl Default for HIL_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_STATE_DATA { type Message = MavMessage ; const ID : u32 = 90u32 ; const NAME : & 'static str = "HIL_STATE" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 56usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GOPRO_GET_RESPONSE_DATA { pub cmd_id : GoproCommand , pub status : GoproRequestStatus , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub value : [u8 ; 4] , } impl GOPRO_GET_RESPONSE_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { cmd_id : GoproCommand :: DEFAULT , status : GoproRequestStatus :: DEFAULT , value : [0_u8 ; 4usize] , } ; } impl Default for GOPRO_GET_RESPONSE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GOPRO_GET_RESPONSE_DATA { type Message = MavMessage ; const ID : u32 = 217u32 ; const NAME : & 'static str = "GOPRO_GET_RESPONSE" ; const EXTRA_CRC : u8 = 202u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . cmd_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproCommand" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GoproRequestStatus" , value : tmp as u32 }) ? ; for v in & mut __struct . value { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . cmd_id as u8) ; __tmp . put_u8 (self . status as u8) ; for val in & self . value { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POWER_STATUS_DATA { pub Vcc : u16 , pub Vservo : u16 , pub flags : MavPowerStatus , } impl POWER_STATUS_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { Vcc : 0_u16 , Vservo : 0_u16 , flags : MavPowerStatus :: DEFAULT , } ; } impl Default for POWER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POWER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 125u32 ; const NAME : & 'static str = "POWER_STATUS" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . Vcc = buf . get_u16_le () ; __struct . Vservo = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = MavPowerStatus :: from_bits (tmp & MavPowerStatus :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavPowerStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . Vcc) ; __tmp . put_u16_le (self . Vservo) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AHRS_DATA { pub omegaIx : f32 , pub omegaIy : f32 , pub omegaIz : f32 , pub accel_weight : f32 , pub renorm_val : f32 , pub error_rp : f32 , pub error_yaw : f32 , } impl AHRS_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { omegaIx : 0.0_f32 , omegaIy : 0.0_f32 , omegaIz : 0.0_f32 , accel_weight : 0.0_f32 , renorm_val : 0.0_f32 , error_rp : 0.0_f32 , error_yaw : 0.0_f32 , } ; } impl Default for AHRS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AHRS_DATA { type Message = MavMessage ; const ID : u32 = 163u32 ; const NAME : & 'static str = "AHRS" ; const EXTRA_CRC : u8 = 127u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . omegaIx = buf . get_f32_le () ; __struct . omegaIy = buf . get_f32_le () ; __struct . omegaIz = buf . get_f32_le () ; __struct . accel_weight = buf . get_f32_le () ; __struct . renorm_val = buf . get_f32_le () ; __struct . error_rp = buf . get_f32_le () ; __struct . error_yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . omegaIx) ; __tmp . put_f32_le (self . omegaIy) ; __tmp . put_f32_le (self . omegaIz) ; __tmp . put_f32_le (self . accel_weight) ; __tmp . put_f32_le (self . renorm_val) ; __tmp . put_f32_le (self . error_rp) ; __tmp . put_f32_le (self . error_yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_POSITION_TARGET_GLOBAL_INT_DATA { pub time_boot_ms : u32 , pub lat_int : i32 , pub lon_int : i32 , pub alt : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub target_system : u8 , pub target_component : u8 , pub coordinate_frame : MavFrame , } impl SET_POSITION_TARGET_GLOBAL_INT_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_int : 0_i32 , lon_int : 0_i32 , alt : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for SET_POSITION_TARGET_GLOBAL_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_POSITION_TARGET_GLOBAL_INT_DATA { type Message = MavMessage ; const ID : u32 = 86u32 ; const NAME : & 'static str = "SET_POSITION_TARGET_GLOBAL_INT" ; const EXTRA_CRC : u8 = 5u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_int = buf . get_i32_le () ; __struct . lon_int = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_int) ; __tmp . put_i32_le (self . lon_int) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_ERASE_DATA { pub target_system : u8 , pub target_component : u8 , } impl LOG_ERASE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_ERASE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_ERASE_DATA { type Message = MavMessage ; const ID : u32 = 121u32 ; const NAME : & 'static str = "LOG_ERASE" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ACTUATOR_CONTROL_TARGET_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 8] , pub group_mlx : u8 , } impl ACTUATOR_CONTROL_TARGET_DATA { pub const ENCODED_LEN : usize = 41usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , controls : [0.0_f32 ; 8usize] , group_mlx : 0_u8 , } ; } impl Default for ACTUATOR_CONTROL_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ACTUATOR_CONTROL_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 140u32 ; const NAME : & 'static str = "ACTUATOR_CONTROL_TARGET" ; const EXTRA_CRC : u8 = 181u8 ; const ENCODED_LEN : usize = 41usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } __struct . group_mlx = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . group_mlx) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAV_CONTROLLER_OUTPUT_DATA { pub nav_roll : f32 , pub nav_pitch : f32 , pub alt_error : f32 , pub aspd_error : f32 , pub xtrack_error : f32 , pub nav_bearing : i16 , pub target_bearing : i16 , pub wp_dist : u16 , } impl NAV_CONTROLLER_OUTPUT_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { nav_roll : 0.0_f32 , nav_pitch : 0.0_f32 , alt_error : 0.0_f32 , aspd_error : 0.0_f32 , xtrack_error : 0.0_f32 , nav_bearing : 0_i16 , target_bearing : 0_i16 , wp_dist : 0_u16 , } ; } impl Default for NAV_CONTROLLER_OUTPUT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAV_CONTROLLER_OUTPUT_DATA { type Message = MavMessage ; const ID : u32 = 62u32 ; const NAME : & 'static str = "NAV_CONTROLLER_OUTPUT" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . nav_roll = buf . get_f32_le () ; __struct . nav_pitch = buf . get_f32_le () ; __struct . alt_error = buf . get_f32_le () ; __struct . aspd_error = buf . get_f32_le () ; __struct . xtrack_error = buf . get_f32_le () ; __struct . nav_bearing = buf . get_i16_le () ; __struct . target_bearing = buf . get_i16_le () ; __struct . wp_dist = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . nav_roll) ; __tmp . put_f32_le (self . nav_pitch) ; __tmp . put_f32_le (self . alt_error) ; __tmp . put_f32_le (self . aspd_error) ; __tmp . put_f32_le (self . xtrack_error) ; __tmp . put_i16_le (self . nav_bearing) ; __tmp . put_i16_le (self . target_bearing) ; __tmp . put_u16_le (self . wp_dist) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ADSB_VEHICLE_DATA { pub ICAO_address : u32 , pub lat : i32 , pub lon : i32 , pub altitude : i32 , pub heading : u16 , pub hor_velocity : u16 , pub ver_velocity : i16 , pub flags : AdsbFlags , pub squawk : u16 , pub altitude_type : AdsbAltitudeType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 9] , pub emitter_type : AdsbEmitterType , pub tslc : u8 , } impl ADSB_VEHICLE_DATA { pub const ENCODED_LEN : usize = 38usize ; pub const DEFAULT : Self = Self { ICAO_address : 0_u32 , lat : 0_i32 , lon : 0_i32 , altitude : 0_i32 , heading : 0_u16 , hor_velocity : 0_u16 , ver_velocity : 0_i16 , flags : AdsbFlags :: DEFAULT , squawk : 0_u16 , altitude_type : AdsbAltitudeType :: DEFAULT , callsign : [0_u8 ; 9usize] , emitter_type : AdsbEmitterType :: DEFAULT , tslc : 0_u8 , } ; } impl Default for ADSB_VEHICLE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ADSB_VEHICLE_DATA { type Message = MavMessage ; const ID : u32 = 246u32 ; const NAME : & 'static str = "ADSB_VEHICLE" ; const EXTRA_CRC : u8 = 184u8 ; const ENCODED_LEN : usize = 38usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ICAO_address = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . heading = buf . get_u16_le () ; __struct . hor_velocity = buf . get_u16_le () ; __struct . ver_velocity = buf . get_i16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = AdsbFlags :: from_bits (tmp & AdsbFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AdsbFlags" , value : tmp as u32 }) ? ; __struct . squawk = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . altitude_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbAltitudeType" , value : tmp as u32 }) ? ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . emitter_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbEmitterType" , value : tmp as u32 }) ? ; __struct . tslc = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ICAO_address) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_u16_le (self . heading) ; __tmp . put_u16_le (self . hor_velocity) ; __tmp . put_i16_le (self . ver_velocity) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u16_le (self . squawk) ; __tmp . put_u8 (self . altitude_type as u8) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . emitter_type as u8) ; __tmp . put_u8 (self . tslc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_INJECT_DATA_DATA { pub target_system : u8 , pub target_component : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 110] , } impl GPS_INJECT_DATA_DATA { pub const ENCODED_LEN : usize = 113usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , len : 0_u8 , data : [0_u8 ; 110usize] , } ; } impl Default for GPS_INJECT_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_INJECT_DATA_DATA { type Message = MavMessage ; const ID : u32 = 123u32 ; const NAME : & 'static str = "GPS_INJECT_DATA" ; const EXTRA_CRC : u8 = 250u8 ; const ENCODED_LEN : usize = 113usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAMED_VALUE_INT_DATA { pub time_boot_ms : u32 , pub value : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl NAMED_VALUE_INT_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0_i32 , name : [0_u8 ; 10usize] , } ; } impl Default for NAMED_VALUE_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAMED_VALUE_INT_DATA { type Message = MavMessage ; const ID : u32 = 252u32 ; const NAME : & 'static str = "NAMED_VALUE_INT" ; const EXTRA_CRC : u8 = 44u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_i32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . value) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DIGICAM_CONFIGURE_DATA { pub extra_value : f32 , pub shutter_speed : u16 , pub target_system : u8 , pub target_component : u8 , pub mode : u8 , pub aperture : u8 , pub iso : u8 , pub exposure_type : u8 , pub command_id : u8 , pub engine_cut_off : u8 , pub extra_param : u8 , } impl DIGICAM_CONFIGURE_DATA { pub const ENCODED_LEN : usize = 15usize ; pub const DEFAULT : Self = Self { extra_value : 0.0_f32 , shutter_speed : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , mode : 0_u8 , aperture : 0_u8 , iso : 0_u8 , exposure_type : 0_u8 , command_id : 0_u8 , engine_cut_off : 0_u8 , extra_param : 0_u8 , } ; } impl Default for DIGICAM_CONFIGURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DIGICAM_CONFIGURE_DATA { type Message = MavMessage ; const ID : u32 = 154u32 ; const NAME : & 'static str = "DIGICAM_CONFIGURE" ; const EXTRA_CRC : u8 = 84u8 ; const ENCODED_LEN : usize = 15usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . extra_value = buf . get_f32_le () ; __struct . shutter_speed = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . mode = buf . get_u8 () ; __struct . aperture = buf . get_u8 () ; __struct . iso = buf . get_u8 () ; __struct . exposure_type = buf . get_u8 () ; __struct . command_id = buf . get_u8 () ; __struct . engine_cut_off = buf . get_u8 () ; __struct . extra_param = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . extra_value) ; __tmp . put_u16_le (self . shutter_speed) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . mode) ; __tmp . put_u8 (self . aperture) ; __tmp . put_u8 (self . iso) ; __tmp . put_u8 (self . exposure_type) ; __tmp . put_u8 (self . command_id) ; __tmp . put_u8 (self . engine_cut_off) ; __tmp . put_u8 (self . extra_param) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EKF_STATUS_REPORT_DATA { pub velocity_variance : f32 , pub pos_horiz_variance : f32 , pub pos_vert_variance : f32 , pub compass_variance : f32 , pub terrain_alt_variance : f32 , pub flags : EkfStatusFlags , } impl EKF_STATUS_REPORT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { velocity_variance : 0.0_f32 , pos_horiz_variance : 0.0_f32 , pos_vert_variance : 0.0_f32 , compass_variance : 0.0_f32 , terrain_alt_variance : 0.0_f32 , flags : EkfStatusFlags :: DEFAULT , } ; } impl Default for EKF_STATUS_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EKF_STATUS_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 193u32 ; const NAME : & 'static str = "EKF_STATUS_REPORT" ; const EXTRA_CRC : u8 = 71u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . velocity_variance = buf . get_f32_le () ; __struct . pos_horiz_variance = buf . get_f32_le () ; __struct . pos_vert_variance = buf . get_f32_le () ; __struct . compass_variance = buf . get_f32_le () ; __struct . terrain_alt_variance = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = EkfStatusFlags :: from_bits (tmp & EkfStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EkfStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . velocity_variance) ; __tmp . put_f32_le (self . pos_horiz_variance) ; __tmp . put_f32_le (self . pos_vert_variance) ; __tmp . put_f32_le (self . compass_variance) ; __tmp . put_f32_le (self . terrain_alt_variance) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OSD_PARAM_SHOW_CONFIG_DATA { pub request_id : u32 , pub target_system : u8 , pub target_component : u8 , pub osd_screen : u8 , pub osd_index : u8 , } impl OSD_PARAM_SHOW_CONFIG_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , osd_screen : 0_u8 , osd_index : 0_u8 , } ; } impl Default for OSD_PARAM_SHOW_CONFIG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OSD_PARAM_SHOW_CONFIG_DATA { type Message = MavMessage ; const ID : u32 = 11035u32 ; const NAME : & 'static str = "OSD_PARAM_SHOW_CONFIG" ; const EXTRA_CRC : u8 = 128u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . osd_screen = buf . get_u8 () ; __struct . osd_index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . osd_screen) ; __tmp . put_u8 (self . osd_index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REQUEST_DATA_STREAM_DATA { pub req_message_rate : u16 , pub target_system : u8 , pub target_component : u8 , pub req_stream_id : u8 , pub start_stop : u8 , } impl REQUEST_DATA_STREAM_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { req_message_rate : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , req_stream_id : 0_u8 , start_stop : 0_u8 , } ; } impl Default for REQUEST_DATA_STREAM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REQUEST_DATA_STREAM_DATA { type Message = MavMessage ; const ID : u32 = 66u32 ; const NAME : & 'static str = "REQUEST_DATA_STREAM" ; const EXTRA_CRC : u8 = 148u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . req_message_rate = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . req_stream_id = buf . get_u8 () ; __struct . start_stop = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . req_message_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . req_stream_id) ; __tmp . put_u8 (self . start_stop) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub failure_flags : GimbalDeviceErrorFlags , pub flags : GimbalDeviceFlags , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , failure_flags : GimbalDeviceErrorFlags :: DEFAULT , flags : GimbalDeviceFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 285u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_ATTITUDE_STATUS" ; const EXTRA_CRC : u8 = 137u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . failure_flags = GimbalDeviceErrorFlags :: from_bits (tmp & GimbalDeviceErrorFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceErrorFlags" , value : tmp as u32 }) ? ; let tmp = buf . get_u16_le () ; __struct . flags = GimbalDeviceFlags :: from_bits (tmp & GimbalDeviceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u32_le (self . failure_flags . bits ()) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_SENSOR_DATA { pub time_usec : u64 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub xmag : f32 , pub ymag : f32 , pub zmag : f32 , pub abs_pressure : f32 , pub diff_pressure : f32 , pub pressure_alt : f32 , pub temperature : f32 , pub fields_updated : HilSensorUpdatedFlags , } impl HIL_SENSOR_DATA { pub const ENCODED_LEN : usize = 64usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , xmag : 0.0_f32 , ymag : 0.0_f32 , zmag : 0.0_f32 , abs_pressure : 0.0_f32 , diff_pressure : 0.0_f32 , pressure_alt : 0.0_f32 , temperature : 0.0_f32 , fields_updated : HilSensorUpdatedFlags :: DEFAULT , } ; } impl Default for HIL_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 107u32 ; const NAME : & 'static str = "HIL_SENSOR" ; const EXTRA_CRC : u8 = 108u8 ; const ENCODED_LEN : usize = 64usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . xmag = buf . get_f32_le () ; __struct . ymag = buf . get_f32_le () ; __struct . zmag = buf . get_f32_le () ; __struct . abs_pressure = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . pressure_alt = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . fields_updated = HilSensorUpdatedFlags :: from_bits (tmp & HilSensorUpdatedFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HilSensorUpdatedFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . xmag) ; __tmp . put_f32_le (self . ymag) ; __tmp . put_f32_le (self . zmag) ; __tmp . put_f32_le (self . abs_pressure) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . pressure_alt) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u32_le (self . fields_updated . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WINCH_STATUS_DATA { pub time_usec : u64 , pub line_length : f32 , pub speed : f32 , pub tension : f32 , pub voltage : f32 , pub current : f32 , pub status : MavWinchStatusFlag , pub temperature : i16 , } impl WINCH_STATUS_DATA { pub const ENCODED_LEN : usize = 34usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , line_length : 0.0_f32 , speed : 0.0_f32 , tension : 0.0_f32 , voltage : 0.0_f32 , current : 0.0_f32 , status : MavWinchStatusFlag :: DEFAULT , temperature : 0_i16 , } ; } impl Default for WINCH_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WINCH_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 9005u32 ; const NAME : & 'static str = "WINCH_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 34usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . line_length = buf . get_f32_le () ; __struct . speed = buf . get_f32_le () ; __struct . tension = buf . get_f32_le () ; __struct . voltage = buf . get_f32_le () ; __struct . current = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . status = MavWinchStatusFlag :: from_bits (tmp & MavWinchStatusFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavWinchStatusFlag" , value : tmp as u32 }) ? ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . line_length) ; __tmp . put_f32_le (self . speed) ; __tmp . put_f32_le (self . tension) ; __tmp . put_f32_le (self . voltage) ; __tmp . put_f32_le (self . current) ; __tmp . put_u32_le (self . status . bits ()) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_INFORMATION_DATA { pub time_boot_ms : u32 , pub cap_flags : GimbalManagerCapFlags , pub roll_min : f32 , pub roll_max : f32 , pub pitch_min : f32 , pub pitch_max : f32 , pub yaw_min : f32 , pub yaw_max : f32 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_INFORMATION_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , cap_flags : GimbalManagerCapFlags :: DEFAULT , roll_min : 0.0_f32 , roll_max : 0.0_f32 , pitch_min : 0.0_f32 , pitch_max : 0.0_f32 , yaw_min : 0.0_f32 , yaw_max : 0.0_f32 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 280u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_INFORMATION" ; const EXTRA_CRC : u8 = 70u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u32_le () ; __struct . cap_flags = GimbalManagerCapFlags :: from_bits (tmp & GimbalManagerCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalManagerCapFlags" , value : tmp as u32 }) ? ; __struct . roll_min = buf . get_f32_le () ; __struct . roll_max = buf . get_f32_le () ; __struct . pitch_min = buf . get_f32_le () ; __struct . pitch_max = buf . get_f32_le () ; __struct . yaw_min = buf . get_f32_le () ; __struct . yaw_max = buf . get_f32_le () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . cap_flags . bits ()) ; __tmp . put_f32_le (self . roll_min) ; __tmp . put_f32_le (self . roll_max) ; __tmp . put_f32_le (self . pitch_min) ; __tmp . put_f32_le (self . pitch_max) ; __tmp . put_f32_le (self . yaw_min) ; __tmp . put_f32_le (self . yaw_max) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MOUNT_CONFIGURE_DATA { pub target_system : u8 , pub target_component : u8 , pub mount_mode : MavMountMode , pub stab_roll : u8 , pub stab_pitch : u8 , pub stab_yaw : u8 , } impl MOUNT_CONFIGURE_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , mount_mode : MavMountMode :: DEFAULT , stab_roll : 0_u8 , stab_pitch : 0_u8 , stab_yaw : 0_u8 , } ; } impl Default for MOUNT_CONFIGURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MOUNT_CONFIGURE_DATA { type Message = MavMessage ; const ID : u32 = 156u32 ; const NAME : & 'static str = "MOUNT_CONFIGURE" ; const EXTRA_CRC : u8 = 19u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mount_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMountMode" , value : tmp as u32 }) ? ; __struct . stab_roll = buf . get_u8 () ; __struct . stab_pitch = buf . get_u8 () ; __struct . stab_yaw = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . mount_mode as u8) ; __tmp . put_u8 (self . stab_roll) ; __tmp . put_u8 (self . stab_pitch) ; __tmp . put_u8 (self . stab_yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA32_DATA { pub mavtype : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 32] , } impl DATA32_DATA { pub const ENCODED_LEN : usize = 34usize ; pub const DEFAULT : Self = Self { mavtype : 0_u8 , len : 0_u8 , data : [0_u8 ; 32usize] , } ; } impl Default for DATA32_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA32_DATA { type Message = MavMessage ; const ID : u32 = 170u32 ; const NAME : & 'static str = "DATA32" ; const EXTRA_CRC : u8 = 73u8 ; const ENCODED_LEN : usize = 34usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mavtype = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . mavtype) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_LONG_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub param5 : f32 , pub param6 : f32 , pub param7 : f32 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub confirmation : u8 , } impl COMMAND_LONG_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , param5 : 0.0_f32 , param6 : 0.0_f32 , param7 : 0.0_f32 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , confirmation : 0_u8 , } ; } impl Default for COMMAND_LONG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_LONG_DATA { type Message = MavMessage ; const ID : u32 = 76u32 ; const NAME : & 'static str = "COMMAND_LONG" ; const EXTRA_CRC : u8 = 152u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . param5 = buf . get_f32_le () ; __struct . param6 = buf . get_f32_le () ; __struct . param7 = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . confirmation = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_f32_le (self . param5) ; __tmp . put_f32_le (self . param6) ; __tmp . put_f32_le (self . param7) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . confirmation) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAMED_VALUE_FLOAT_DATA { pub time_boot_ms : u32 , pub value : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl NAMED_VALUE_FLOAT_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0.0_f32 , name : [0_u8 ; 10usize] , } ; } impl Default for NAMED_VALUE_FLOAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAMED_VALUE_FLOAT_DATA { type Message = MavMessage ; const ID : u32 = 251u32 ; const NAME : & 'static str = "NAMED_VALUE_FLOAT" ; const EXTRA_CRC : u8 = 170u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_f32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . value) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_WRITE_PARTIAL_LIST_DATA { pub start_index : i16 , pub end_index : i16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_WRITE_PARTIAL_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start_index : 0_i16 , end_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_WRITE_PARTIAL_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_WRITE_PARTIAL_LIST_DATA { type Message = MavMessage ; const ID : u32 = 38u32 ; const NAME : & 'static str = "MISSION_WRITE_PARTIAL_LIST" ; const EXTRA_CRC : u8 = 9u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start_index = buf . get_i16_le () ; __struct . end_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . start_index) ; __tmp . put_i16_le (self . end_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl VISION_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for VISION_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 102u32 ; const NAME : & 'static str = "VISION_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 158u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MEMINFO_DATA { pub brkval : u16 , pub freemem : u16 , } impl MEMINFO_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { brkval : 0_u16 , freemem : 0_u16 , } ; } impl Default for MEMINFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MEMINFO_DATA { type Message = MavMessage ; const ID : u32 = 152u32 ; const NAME : & 'static str = "MEMINFO" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . brkval = buf . get_u16_le () ; __struct . freemem = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . brkval) ; __tmp . put_u16_le (self . freemem) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEVICE_OP_WRITE_REPLY_DATA { pub request_id : u32 , pub result : u8 , } impl DEVICE_OP_WRITE_REPLY_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { request_id : 0_u32 , result : 0_u8 , } ; } impl Default for DEVICE_OP_WRITE_REPLY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEVICE_OP_WRITE_REPLY_DATA { type Message = MavMessage ; const ID : u32 = 11003u32 ; const NAME : & 'static str = "DEVICE_OP_WRITE_REPLY" ; const EXTRA_CRC : u8 = 64u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u32_le () ; __struct . result = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . request_id) ; __tmp . put_u8 (self . result) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_CANCEL_DATA { pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , } impl COMMAND_CANCEL_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for COMMAND_CANCEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_CANCEL_DATA { type Message = MavMessage ; const ID : u32 = 80u32 ; const NAME : & 'static str = "COMMAND_CANCEL" ; const EXTRA_CRC : u8 = 14u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_RAW_DATA { pub time_boot_ms : u32 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub port : u8 , pub rssi : u8 , } impl RC_CHANNELS_RAW_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , port : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_RAW_DATA { type Message = MavMessage ; const ID : u32 = 35u32 ; const NAME : & 'static str = "RC_CHANNELS_RAW" ; const EXTRA_CRC : u8 = 244u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . port = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u8 (self . port) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_VALUE_DATA { pub param_count : u16 , pub param_index : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , } impl PARAM_EXT_VALUE_DATA { pub const ENCODED_LEN : usize = 149usize ; pub const DEFAULT : Self = Self { param_count : 0_u16 , param_index : 0_u16 , param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , } ; } impl Default for PARAM_EXT_VALUE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_VALUE_DATA { type Message = MavMessage ; const ID : u32 = 322u32 ; const NAME : & 'static str = "PARAM_EXT_VALUE" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 149usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_count = buf . get_u16_le () ; __struct . param_index = buf . get_u16_le () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . param_count) ; __tmp . put_u16_le (self . param_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RESPONSE_EVENT_ERROR_DATA { pub sequence : u16 , pub sequence_oldest_available : u16 , pub target_system : u8 , pub target_component : u8 , pub reason : MavEventErrorReason , } impl RESPONSE_EVENT_ERROR_DATA { pub const ENCODED_LEN : usize = 7usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , sequence_oldest_available : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , reason : MavEventErrorReason :: DEFAULT , } ; } impl Default for RESPONSE_EVENT_ERROR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RESPONSE_EVENT_ERROR_DATA { type Message = MavMessage ; const ID : u32 = 413u32 ; const NAME : & 'static str = "RESPONSE_EVENT_ERROR" ; const EXTRA_CRC : u8 = 77u8 ; const ENCODED_LEN : usize = 7usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . sequence_oldest_available = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . reason = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEventErrorReason" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u16_le (self . sequence_oldest_available) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . reason as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_SET_CURRENT_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_SET_CURRENT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_SET_CURRENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_SET_CURRENT_DATA { type Message = MavMessage ; const ID : u32 = 41u32 ; const NAME : & 'static str = "MISSION_SET_CURRENT" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_STATE_QUATERNION_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub attitude_quaternion : [f32 ; 4] , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub ind_airspeed : u16 , pub true_airspeed : u16 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , } impl HIL_STATE_QUATERNION_DATA { pub const ENCODED_LEN : usize = 64usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , attitude_quaternion : [0.0_f32 ; 4usize] , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , ind_airspeed : 0_u16 , true_airspeed : 0_u16 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , } ; } impl Default for HIL_STATE_QUATERNION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_STATE_QUATERNION_DATA { type Message = MavMessage ; const ID : u32 = 115u32 ; const NAME : & 'static str = "HIL_STATE_QUATERNION" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 64usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . attitude_quaternion { let val = buf . get_f32_le () ; * v = val ; } __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . ind_airspeed = buf . get_u16_le () ; __struct . true_airspeed = buf . get_u16_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . attitude_quaternion { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . ind_airspeed) ; __tmp . put_u16_le (self . true_airspeed) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVIONIX_ADSB_OUT_CFG_DATA { pub ICAO : u32 , pub stallSpeed : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 9] , pub emitterType : AdsbEmitterType , pub aircraftSize : UavionixAdsbOutCfgAircraftSize , pub gpsOffsetLat : UavionixAdsbOutCfgGpsOffsetLat , pub gpsOffsetLon : UavionixAdsbOutCfgGpsOffsetLon , pub rfSelect : UavionixAdsbOutRfSelect , } impl UAVIONIX_ADSB_OUT_CFG_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { ICAO : 0_u32 , stallSpeed : 0_u16 , callsign : [0_u8 ; 9usize] , emitterType : AdsbEmitterType :: DEFAULT , aircraftSize : UavionixAdsbOutCfgAircraftSize :: DEFAULT , gpsOffsetLat : UavionixAdsbOutCfgGpsOffsetLat :: DEFAULT , gpsOffsetLon : UavionixAdsbOutCfgGpsOffsetLon :: DEFAULT , rfSelect : UavionixAdsbOutRfSelect :: DEFAULT , } ; } impl Default for UAVIONIX_ADSB_OUT_CFG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVIONIX_ADSB_OUT_CFG_DATA { type Message = MavMessage ; const ID : u32 = 10001u32 ; const NAME : & 'static str = "UAVIONIX_ADSB_OUT_CFG" ; const EXTRA_CRC : u8 = 209u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ICAO = buf . get_u32_le () ; __struct . stallSpeed = buf . get_u16_le () ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . emitterType = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbEmitterType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . aircraftSize = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutCfgAircraftSize" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . gpsOffsetLat = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutCfgGpsOffsetLat" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . gpsOffsetLon = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutCfgGpsOffsetLon" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . rfSelect = UavionixAdsbOutRfSelect :: from_bits (tmp & UavionixAdsbOutRfSelect :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UavionixAdsbOutRfSelect" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ICAO) ; __tmp . put_u16_le (self . stallSpeed) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . emitterType as u8) ; __tmp . put_u8 (self . aircraftSize as u8) ; __tmp . put_u8 (self . gpsOffsetLat as u8) ; __tmp . put_u8 (self . gpsOffsetLon as u8) ; __tmp . put_u8 (self . rfSelect . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESTIMATOR_STATUS_DATA { pub time_usec : u64 , pub vel_ratio : f32 , pub pos_horiz_ratio : f32 , pub pos_vert_ratio : f32 , pub mag_ratio : f32 , pub hagl_ratio : f32 , pub tas_ratio : f32 , pub pos_horiz_accuracy : f32 , pub pos_vert_accuracy : f32 , pub flags : EstimatorStatusFlags , } impl ESTIMATOR_STATUS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , vel_ratio : 0.0_f32 , pos_horiz_ratio : 0.0_f32 , pos_vert_ratio : 0.0_f32 , mag_ratio : 0.0_f32 , hagl_ratio : 0.0_f32 , tas_ratio : 0.0_f32 , pos_horiz_accuracy : 0.0_f32 , pos_vert_accuracy : 0.0_f32 , flags : EstimatorStatusFlags :: DEFAULT , } ; } impl Default for ESTIMATOR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESTIMATOR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 230u32 ; const NAME : & 'static str = "ESTIMATOR_STATUS" ; const EXTRA_CRC : u8 = 163u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . vel_ratio = buf . get_f32_le () ; __struct . pos_horiz_ratio = buf . get_f32_le () ; __struct . pos_vert_ratio = buf . get_f32_le () ; __struct . mag_ratio = buf . get_f32_le () ; __struct . hagl_ratio = buf . get_f32_le () ; __struct . tas_ratio = buf . get_f32_le () ; __struct . pos_horiz_accuracy = buf . get_f32_le () ; __struct . pos_vert_accuracy = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = EstimatorStatusFlags :: from_bits (tmp & EstimatorStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EstimatorStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . vel_ratio) ; __tmp . put_f32_le (self . pos_horiz_ratio) ; __tmp . put_f32_le (self . pos_vert_ratio) ; __tmp . put_f32_le (self . mag_ratio) ; __tmp . put_f32_le (self . hagl_ratio) ; __tmp . put_f32_le (self . tas_ratio) ; __tmp . put_f32_le (self . pos_horiz_accuracy) ; __tmp . put_f32_le (self . pos_vert_accuracy) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_VALUE_DATA { pub param_value : f32 , pub param_count : u16 , pub param_index : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub param_type : MavParamType , } impl PARAM_VALUE_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { param_value : 0.0_f32 , param_count : 0_u16 , param_index : 0_u16 , param_id : [0_u8 ; 16usize] , param_type : MavParamType :: DEFAULT , } ; } impl Default for PARAM_VALUE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_VALUE_DATA { type Message = MavMessage ; const ID : u32 = 22u32 ; const NAME : & 'static str = "PARAM_VALUE" ; const EXTRA_CRC : u8 = 220u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value = buf . get_f32_le () ; __struct . param_count = buf . get_u16_le () ; __struct . param_index = buf . get_u16_le () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value) ; __tmp . put_u16_le (self . param_count) ; __tmp . put_u16_le (self . param_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ORBIT_EXECUTION_STATUS_DATA { pub time_usec : u64 , pub radius : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub frame : MavFrame , } impl ORBIT_EXECUTION_STATUS_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , radius : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , frame : MavFrame :: DEFAULT , } ; } impl Default for ORBIT_EXECUTION_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ORBIT_EXECUTION_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 360u32 ; const NAME : & 'static str = "ORBIT_EXECUTION_STATUS" ; const EXTRA_CRC : u8 = 11u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . radius = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . radius) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RALLY_POINT_DATA { pub lat : i32 , pub lng : i32 , pub alt : i16 , pub break_alt : i16 , pub land_dir : u16 , pub target_system : u8 , pub target_component : u8 , pub idx : u8 , pub count : u8 , pub flags : RallyFlags , } impl RALLY_POINT_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lng : 0_i32 , alt : 0_i16 , break_alt : 0_i16 , land_dir : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , idx : 0_u8 , count : 0_u8 , flags : RallyFlags :: DEFAULT , } ; } impl Default for RALLY_POINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RALLY_POINT_DATA { type Message = MavMessage ; const ID : u32 = 175u32 ; const NAME : & 'static str = "RALLY_POINT" ; const EXTRA_CRC : u8 = 138u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lng = buf . get_i32_le () ; __struct . alt = buf . get_i16_le () ; __struct . break_alt = buf . get_i16_le () ; __struct . land_dir = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . idx = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . flags = RallyFlags :: from_bits (tmp & RallyFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "RallyFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lng) ; __tmp . put_i16_le (self . alt) ; __tmp . put_i16_le (self . break_alt) ; __tmp . put_u16_le (self . land_dir) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . idx) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MANUAL_CONTROL_DATA { pub x : i16 , pub y : i16 , pub z : i16 , pub r : i16 , pub buttons : u16 , pub target : u8 , } impl MANUAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 11usize ; pub const DEFAULT : Self = Self { x : 0_i16 , y : 0_i16 , z : 0_i16 , r : 0_i16 , buttons : 0_u16 , target : 0_u8 , } ; } impl Default for MANUAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MANUAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 69u32 ; const NAME : & 'static str = "MANUAL_CONTROL" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 11usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . x = buf . get_i16_le () ; __struct . y = buf . get_i16_le () ; __struct . z = buf . get_i16_le () ; __struct . r = buf . get_i16_le () ; __struct . buttons = buf . get_u16_le () ; __struct . target = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . x) ; __tmp . put_i16_le (self . y) ; __tmp . put_i16_le (self . z) ; __tmp . put_i16_le (self . r) ; __tmp . put_u16_le (self . buttons) ; __tmp . put_u8 (self . target) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EXTENDED_SYS_STATE_DATA { pub vtol_state : MavVtolState , pub landed_state : MavLandedState , } impl EXTENDED_SYS_STATE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { vtol_state : MavVtolState :: DEFAULT , landed_state : MavLandedState :: DEFAULT , } ; } impl Default for EXTENDED_SYS_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EXTENDED_SYS_STATE_DATA { type Message = MavMessage ; const ID : u32 = 245u32 ; const NAME : & 'static str = "EXTENDED_SYS_STATE" ; const EXTRA_CRC : u8 = 130u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . vtol_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavVtolState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . vtol_state as u8) ; __tmp . put_u8 (self . landed_state as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA16_DATA { pub mavtype : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 16] , } impl DATA16_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { mavtype : 0_u8 , len : 0_u8 , data : [0_u8 ; 16usize] , } ; } impl Default for DATA16_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA16_DATA { type Message = MavMessage ; const ID : u32 = 169u32 ; const NAME : & 'static str = "DATA16" ; const EXTRA_CRC : u8 = 234u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mavtype = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . mavtype) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CURRENT_EVENT_SEQUENCE_DATA { pub sequence : u16 , pub flags : MavEventCurrentSequenceFlags , } impl CURRENT_EVENT_SEQUENCE_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , flags : MavEventCurrentSequenceFlags :: DEFAULT , } ; } impl Default for CURRENT_EVENT_SEQUENCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CURRENT_EVENT_SEQUENCE_DATA { type Message = MavMessage ; const ID : u32 = 411u32 ; const NAME : & 'static str = "CURRENT_EVENT_SEQUENCE" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . flags = MavEventCurrentSequenceFlags :: from_bits (tmp & MavEventCurrentSequenceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavEventCurrentSequenceFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MOUNT_STATUS_DATA { pub pointing_a : i32 , pub pointing_b : i32 , pub pointing_c : i32 , pub target_system : u8 , pub target_component : u8 , } impl MOUNT_STATUS_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { pointing_a : 0_i32 , pointing_b : 0_i32 , pointing_c : 0_i32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MOUNT_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MOUNT_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 158u32 ; const NAME : & 'static str = "MOUNT_STATUS" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . pointing_a = buf . get_i32_le () ; __struct . pointing_b = buf . get_i32_le () ; __struct . pointing_c = buf . get_i32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . pointing_a) ; __tmp . put_i32_le (self . pointing_b) ; __tmp . put_i32_le (self . pointing_c) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_DATA { pub time_boot_ms : u32 , pub value : f32 , pub ind : u8 , } impl DEBUG_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0.0_f32 , ind : 0_u8 , } ; } impl Default for DEBUG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_DATA { type Message = MavMessage ; const ID : u32 = 254u32 ; const NAME : & 'static str = "DEBUG" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_f32_le () ; __struct . ind = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . value) ; __tmp . put_u8 (self . ind) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_BASIC_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub id_type : MavOdidIdType , pub ua_type : MavOdidUaType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uas_id : [u8 ; 20] , } impl OPEN_DRONE_ID_BASIC_ID_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , id_type : MavOdidIdType :: DEFAULT , ua_type : MavOdidUaType :: DEFAULT , uas_id : [0_u8 ; 20usize] , } ; } impl Default for OPEN_DRONE_ID_BASIC_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_BASIC_ID_DATA { type Message = MavMessage ; const ID : u32 = 12900u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_BASIC_ID" ; const EXTRA_CRC : u8 = 114u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . id_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidIdType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . ua_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidUaType" , value : tmp as u32 }) ? ; for v in & mut __struct . uas_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . id_type as u8) ; __tmp . put_u8 (self . ua_type as u8) ; for val in & self . uas_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EVENT_DATA { pub id : u32 , pub event_time_boot_ms : u32 , pub sequence : u16 , pub destination_component : u8 , pub destination_system : u8 , pub log_levels : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub arguments : [u8 ; 40] , } impl EVENT_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { id : 0_u32 , event_time_boot_ms : 0_u32 , sequence : 0_u16 , destination_component : 0_u8 , destination_system : 0_u8 , log_levels : 0_u8 , arguments : [0_u8 ; 40usize] , } ; } impl Default for EVENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EVENT_DATA { type Message = MavMessage ; const ID : u32 = 410u32 ; const NAME : & 'static str = "EVENT" ; const EXTRA_CRC : u8 = 160u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . event_time_boot_ms = buf . get_u32_le () ; __struct . sequence = buf . get_u16_le () ; __struct . destination_component = buf . get_u8 () ; __struct . destination_system = buf . get_u8 () ; __struct . log_levels = buf . get_u8 () ; for v in & mut __struct . arguments { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u32_le (self . event_time_boot_ms) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . destination_component) ; __tmp . put_u8 (self . destination_system) ; __tmp . put_u8 (self . log_levels) ; for val in & self . arguments { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MCU_STATUS_DATA { pub MCU_temperature : i16 , pub MCU_voltage : u16 , pub MCU_voltage_min : u16 , pub MCU_voltage_max : u16 , pub id : u8 , } impl MCU_STATUS_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { MCU_temperature : 0_i16 , MCU_voltage : 0_u16 , MCU_voltage_min : 0_u16 , MCU_voltage_max : 0_u16 , id : 0_u8 , } ; } impl Default for MCU_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MCU_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 11039u32 ; const NAME : & 'static str = "MCU_STATUS" ; const EXTRA_CRC : u8 = 142u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . MCU_temperature = buf . get_i16_le () ; __struct . MCU_voltage = buf . get_u16_le () ; __struct . MCU_voltage_min = buf . get_u16_le () ; __struct . MCU_voltage_max = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . MCU_temperature) ; __tmp . put_u16_le (self . MCU_voltage) ; __tmp . put_u16_le (self . MCU_voltage_min) ; __tmp . put_u16_le (self . MCU_voltage_max) ; __tmp . put_u8 (self . id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_COV_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub ax : f32 , pub ay : f32 , pub az : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 45] , pub estimator_type : MavEstimatorType , } impl LOCAL_POSITION_NED_COV_DATA { pub const ENCODED_LEN : usize = 225usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , ax : 0.0_f32 , ay : 0.0_f32 , az : 0.0_f32 , covariance : [0.0_f32 ; 45usize] , estimator_type : MavEstimatorType :: DEFAULT , } ; } impl Default for LOCAL_POSITION_NED_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_COV_DATA { type Message = MavMessage ; const ID : u32 = 64u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED_COV" ; const EXTRA_CRC : u8 = 191u8 ; const ENCODED_LEN : usize = 225usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . ax = buf . get_f32_le () ; __struct . ay = buf . get_f32_le () ; __struct . az = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . estimator_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEstimatorType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . ax) ; __tmp . put_f32_le (self . ay) ; __tmp . put_f32_le (self . az) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . estimator_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_RPM_DATA { pub frequency : f32 , pub index : u8 , } impl RAW_RPM_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { frequency : 0.0_f32 , index : 0_u8 , } ; } impl Default for RAW_RPM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_RPM_DATA { type Message = MavMessage ; const ID : u32 = 339u32 ; const NAME : & 'static str = "RAW_RPM" ; const EXTRA_CRC : u8 = 199u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . frequency = buf . get_f32_le () ; __struct . index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . frequency) ; __tmp . put_u8 (self . index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_REQUEST_READ_DATA { pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , } impl PARAM_REQUEST_READ_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , } ; } impl Default for PARAM_REQUEST_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_REQUEST_READ_DATA { type Message = MavMessage ; const ID : u32 = 20u32 ; const NAME : & 'static str = "PARAM_REQUEST_READ" ; const EXTRA_CRC : u8 = 214u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Clone , PartialEq , Debug)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMessage { LOG_REQUEST_DATA (LOG_REQUEST_DATA_DATA) , AUTH_KEY (AUTH_KEY_DATA) , MISSION_REQUEST (MISSION_REQUEST_DATA) , OPEN_DRONE_ID_OPERATOR_ID (OPEN_DRONE_ID_OPERATOR_ID_DATA) , CELLULAR_CONFIG (CELLULAR_CONFIG_DATA) , SCALED_PRESSURE3 (SCALED_PRESSURE3_DATA) , CUBEPILOT_RAW_RC (CUBEPILOT_RAW_RC_DATA) , LED_CONTROL (LED_CONTROL_DATA) , GPS_GLOBAL_ORIGIN (GPS_GLOBAL_ORIGIN_DATA) , GIMBAL_MANAGER_STATUS (GIMBAL_MANAGER_STATUS_DATA) , AIS_VESSEL (AIS_VESSEL_DATA) , SCALED_IMU (SCALED_IMU_DATA) , CAMERA_INFORMATION (CAMERA_INFORMATION_DATA) , GIMBAL_MANAGER_SET_ATTITUDE (GIMBAL_MANAGER_SET_ATTITUDE_DATA) , SUPPORTED_TUNES (SUPPORTED_TUNES_DATA) , RANGEFINDER (RANGEFINDER_DATA) , GLOBAL_VISION_POSITION_ESTIMATE (GLOBAL_VISION_POSITION_ESTIMATE_DATA) , GENERATOR_STATUS (GENERATOR_STATUS_DATA) , COLLISION (COLLISION_DATA) , OPEN_DRONE_ID_SYSTEM_UPDATE (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA) , MISSION_REQUEST_INT (MISSION_REQUEST_INT_DATA) , TERRAIN_DATA (TERRAIN_DATA_DATA) , REMOTE_LOG_DATA_BLOCK (REMOTE_LOG_DATA_BLOCK_DATA) , DEBUG_FLOAT_ARRAY (DEBUG_FLOAT_ARRAY_DATA) , OPEN_DRONE_ID_ARM_STATUS (OPEN_DRONE_ID_ARM_STATUS_DATA) , OPTICAL_FLOW (OPTICAL_FLOW_DATA) , VIDEO_STREAM_STATUS (VIDEO_STREAM_STATUS_DATA) , SCALED_PRESSURE (SCALED_PRESSURE_DATA) , HIGHRES_IMU (HIGHRES_IMU_DATA) , GPS_RTCM_DATA (GPS_RTCM_DATA_DATA) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA) , WIND (WIND_DATA) , RALLY_FETCH_POINT (RALLY_FETCH_POINT_DATA) , FOLLOW_TARGET (FOLLOW_TARGET_DATA) , GOPRO_HEARTBEAT (GOPRO_HEARTBEAT_DATA) , CAMERA_CAPTURE_STATUS (CAMERA_CAPTURE_STATUS_DATA) , MESSAGE_INTERVAL (MESSAGE_INTERVAL_DATA) , MEMORY_VECT (MEMORY_VECT_DATA) , ENCAPSULATED_DATA (ENCAPSULATED_DATA_DATA) , PARAM_MAP_RC (PARAM_MAP_RC_DATA) , LOGGING_ACK (LOGGING_ACK_DATA) , OPEN_DRONE_ID_MESSAGE_PACK (OPEN_DRONE_ID_MESSAGE_PACK_DATA) , PROTOCOL_VERSION (PROTOCOL_VERSION_DATA) , ATTITUDE (ATTITUDE_DATA) , AOA_SSA (AOA_SSA_DATA) , ESC_TELEMETRY_1_TO_4 (ESC_TELEMETRY_1_TO_4_DATA) , LOGGING_DATA_ACKED (LOGGING_DATA_ACKED_DATA) , PLAY_TUNE (PLAY_TUNE_DATA) , SIM_STATE (SIM_STATE_DATA) , MANUAL_SETPOINT (MANUAL_SETPOINT_DATA) , VIBRATION (VIBRATION_DATA) , ACTUATOR_OUTPUT_STATUS (ACTUATOR_OUTPUT_STATUS_DATA) , DEEPSTALL (DEEPSTALL_DATA) , MAG_CAL_REPORT (MAG_CAL_REPORT_DATA) , TIME_ESTIMATE_TO_TARGET (TIME_ESTIMATE_TO_TARGET_DATA) , SCALED_IMU2 (SCALED_IMU2_DATA) , GOPRO_GET_REQUEST (GOPRO_GET_REQUEST_DATA) , COMMAND_INT (COMMAND_INT_DATA) , UAVCAN_NODE_STATUS (UAVCAN_NODE_STATUS_DATA) , ODOMETRY (ODOMETRY_DATA) , HIGH_LATENCY2 (HIGH_LATENCY2_DATA) , REQUEST_EVENT (REQUEST_EVENT_DATA) , ICAROUS_HEARTBEAT (ICAROUS_HEARTBEAT_DATA) , MISSION_COUNT (MISSION_COUNT_DATA) , AIRSPEED_AUTOCAL (AIRSPEED_AUTOCAL_DATA) , PARAM_EXT_REQUEST_READ (PARAM_EXT_REQUEST_READ_DATA) , CELLULAR_STATUS (CELLULAR_STATUS_DATA) , COMPASSMOT_STATUS (COMPASSMOT_STATUS_DATA) , GPS_RAW_INT (GPS_RAW_INT_DATA) , WIND_COV (WIND_COV_DATA) , V2_EXTENSION (V2_EXTENSION_DATA) , WHEEL_DISTANCE (WHEEL_DISTANCE_DATA) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA) , OSD_PARAM_CONFIG_REPLY (OSD_PARAM_CONFIG_REPLY_DATA) , AHRS2 (AHRS2_DATA) , BATTERY2 (BATTERY2_DATA) , LOG_REQUEST_END (LOG_REQUEST_END_DATA) , FILE_TRANSFER_PROTOCOL (FILE_TRANSFER_PROTOCOL_DATA) , LOCAL_POSITION_NED (LOCAL_POSITION_NED_DATA) , PID_TUNING (PID_TUNING_DATA) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA) , ICAROUS_KINEMATIC_BANDS (ICAROUS_KINEMATIC_BANDS_DATA) , ESC_INFO (ESC_INFO_DATA) , POSITION_TARGET_LOCAL_NED (POSITION_TARGET_LOCAL_NED_DATA) , CAMERA_TRIGGER (CAMERA_TRIGGER_DATA) , GPS_INPUT (GPS_INPUT_DATA) , BATTERY_STATUS (BATTERY_STATUS_DATA) , FENCE_FETCH_POINT (FENCE_FETCH_POINT_DATA) , SYS_STATUS (SYS_STATUS_DATA) , ISBD_LINK_STATUS (ISBD_LINK_STATUS_DATA) , DEBUG_VECT (DEBUG_VECT_DATA) , SIMSTATE (SIMSTATE_DATA) , FENCE_POINT (FENCE_POINT_DATA) , CUBEPILOT_FIRMWARE_UPDATE_RESP (CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA) , SETUP_SIGNING (SETUP_SIGNING_DATA) , COMPONENT_METADATA (COMPONENT_METADATA_DATA) , CAMERA_STATUS (CAMERA_STATUS_DATA) , DATA96 (DATA96_DATA) , GIMBAL_MANAGER_SET_MANUAL_CONTROL (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA) , ALTITUDE (ALTITUDE_DATA) , OBSTACLE_DISTANCE_3D (OBSTACLE_DISTANCE_3D_DATA) , HERELINK_TELEM (HERELINK_TELEM_DATA) , GPS_STATUS (GPS_STATUS_DATA) , RC_CHANNELS_OVERRIDE (RC_CHANNELS_OVERRIDE_DATA) , RPM (RPM_DATA) , CANFD_FRAME (CANFD_FRAME_DATA) , GIMBAL_DEVICE_SET_ATTITUDE (GIMBAL_DEVICE_SET_ATTITUDE_DATA) , POSITION_TARGET_GLOBAL_INT (POSITION_TARGET_GLOBAL_INT_DATA) , AUTOPILOT_VERSION_REQUEST (AUTOPILOT_VERSION_REQUEST_DATA) , LOGGING_DATA (LOGGING_DATA_DATA) , CHANGE_OPERATOR_CONTROL (CHANGE_OPERATOR_CONTROL_DATA) , DIGICAM_CONTROL (DIGICAM_CONTROL_DATA) , FENCE_STATUS (FENCE_STATUS_DATA) , MISSION_ITEM (MISSION_ITEM_DATA) , MISSION_REQUEST_PARTIAL_LIST (MISSION_REQUEST_PARTIAL_LIST_DATA) , ATTITUDE_QUATERNION (ATTITUDE_QUATERNION_DATA) , AUTOPILOT_VERSION (AUTOPILOT_VERSION_DATA) , HIL_ACTUATOR_CONTROLS (HIL_ACTUATOR_CONTROLS_DATA) , HIL_OPTICAL_FLOW (HIL_OPTICAL_FLOW_DATA) , DATA_TRANSMISSION_HANDSHAKE (DATA_TRANSMISSION_HANDSHAKE_DATA) , PLAY_TUNE_V2 (PLAY_TUNE_V2_DATA) , GIMBAL_REPORT (GIMBAL_REPORT_DATA) , SAFETY_SET_ALLOWED_AREA (SAFETY_SET_ALLOWED_AREA_DATA) , HOME_POSITION (HOME_POSITION_DATA) , DATA64 (DATA64_DATA) , ESC_STATUS (ESC_STATUS_DATA) , PARAM_EXT_SET (PARAM_EXT_SET_DATA) , VISION_SPEED_ESTIMATE (VISION_SPEED_ESTIMATE_DATA) , CHANGE_OPERATOR_CONTROL_ACK (CHANGE_OPERATOR_CONTROL_ACK_DATA) , DISTANCE_SENSOR (DISTANCE_SENSOR_DATA) , GIMBAL_DEVICE_INFORMATION (GIMBAL_DEVICE_INFORMATION_DATA) , ATT_POS_MOCAP (ATT_POS_MOCAP_DATA) , SET_MAG_OFFSETS (SET_MAG_OFFSETS_DATA) , LINK_NODE_STATUS (LINK_NODE_STATUS_DATA) , MISSION_ACK (MISSION_ACK_DATA) , HWSTATUS (HWSTATUS_DATA) , PARAM_SET (PARAM_SET_DATA) , CAMERA_FEEDBACK (CAMERA_FEEDBACK_DATA) , COMPONENT_INFORMATION (COMPONENT_INFORMATION_DATA) , SET_ATTITUDE_TARGET (SET_ATTITUDE_TARGET_DATA) , OSD_PARAM_SHOW_CONFIG_REPLY (OSD_PARAM_SHOW_CONFIG_REPLY_DATA) , RADIO_STATUS (RADIO_STATUS_DATA) , CAMERA_IMAGE_CAPTURED (CAMERA_IMAGE_CAPTURED_DATA) , MISSION_REQUEST_LIST (MISSION_REQUEST_LIST_DATA) , UTM_GLOBAL_POSITION (UTM_GLOBAL_POSITION_DATA) , HIL_CONTROLS (HIL_CONTROLS_DATA) , SERVO_OUTPUT_RAW (SERVO_OUTPUT_RAW_DATA) , SET_GPS_GLOBAL_ORIGIN (SET_GPS_GLOBAL_ORIGIN_DATA) , UAVCAN_NODE_INFO (UAVCAN_NODE_INFO_DATA) , ATTITUDE_QUATERNION_COV (ATTITUDE_QUATERNION_COV_DATA) , STATUSTEXT (STATUSTEXT_DATA) , GOPRO_SET_REQUEST (GOPRO_SET_REQUEST_DATA) , SET_POSITION_TARGET_LOCAL_NED (SET_POSITION_TARGET_LOCAL_NED_DATA) , OPTICAL_FLOW_RAD (OPTICAL_FLOW_RAD_DATA) , LANDING_TARGET (LANDING_TARGET_DATA) , CAMERA_TRACKING_IMAGE_STATUS (CAMERA_TRACKING_IMAGE_STATUS_DATA) , LOG_DATA (LOG_DATA_DATA) , UAVIONIX_ADSB_OUT_DYNAMIC (UAVIONIX_ADSB_OUT_DYNAMIC_DATA) , SENSOR_OFFSETS (SENSOR_OFFSETS_DATA) , WIFI_CONFIG_AP (WIFI_CONFIG_AP_DATA) , DEVICE_OP_READ (DEVICE_OP_READ_DATA) , GPS_RTK (GPS_RTK_DATA) , PARAM_REQUEST_LIST (PARAM_REQUEST_LIST_DATA) , HERELINK_VIDEO_STREAM_INFORMATION (HERELINK_VIDEO_STREAM_INFORMATION_DATA) , REMOTE_LOG_BLOCK_STATUS (REMOTE_LOG_BLOCK_STATUS_DATA) , COMMAND_ACK (COMMAND_ACK_DATA) , CAMERA_SETTINGS (CAMERA_SETTINGS_DATA) , RAW_IMU (RAW_IMU_DATA) , RADIO (RADIO_DATA) , SAFETY_ALLOWED_AREA (SAFETY_ALLOWED_AREA_DATA) , CUBEPILOT_FIRMWARE_UPDATE_START (CUBEPILOT_FIRMWARE_UPDATE_START_DATA) , DEVICE_OP_WRITE (DEVICE_OP_WRITE_DATA) , OPEN_DRONE_ID_LOCATION (OPEN_DRONE_ID_LOCATION_DATA) , GIMBAL_CONTROL (GIMBAL_CONTROL_DATA) , MISSION_CLEAR_ALL (MISSION_CLEAR_ALL_DATA) , ONBOARD_COMPUTER_STATUS (ONBOARD_COMPUTER_STATUS_DATA) , RESOURCE_REQUEST (RESOURCE_REQUEST_DATA) , GLOBAL_POSITION_INT_COV (GLOBAL_POSITION_INT_COV_DATA) , STORAGE_INFORMATION (STORAGE_INFORMATION_DATA) , SYSTEM_TIME (SYSTEM_TIME_DATA) , MISSION_CURRENT (MISSION_CURRENT_DATA) , LOG_REQUEST_LIST (LOG_REQUEST_LIST_DATA) , MAG_CAL_PROGRESS (MAG_CAL_PROGRESS_DATA) , GPS2_RTK (GPS2_RTK_DATA) , OPEN_DRONE_ID_SYSTEM (OPEN_DRONE_ID_SYSTEM_DATA) , LOG_ENTRY (LOG_ENTRY_DATA) , MISSION_ITEM_REACHED (MISSION_ITEM_REACHED_DATA) , TERRAIN_CHECK (TERRAIN_CHECK_DATA) , HEARTBEAT (HEARTBEAT_DATA) , CAN_FILTER_MODIFY (CAN_FILTER_MODIFY_DATA) , GIMBAL_MANAGER_SET_PITCHYAW (GIMBAL_MANAGER_SET_PITCHYAW_DATA) , FLIGHT_INFORMATION (FLIGHT_INFORMATION_DATA) , VFR_HUD (VFR_HUD_DATA) , MOUNT_CONTROL (MOUNT_CONTROL_DATA) , WATER_DEPTH (WATER_DEPTH_DATA) , SET_MODE (SET_MODE_DATA) , OSD_PARAM_CONFIG (OSD_PARAM_CONFIG_DATA) , PING (PING_DATA) , PARAM_EXT_ACK (PARAM_EXT_ACK_DATA) , TIMESYNC (TIMESYNC_DATA) , ESC_TELEMETRY_5_TO_8 (ESC_TELEMETRY_5_TO_8_DATA) , RAW_PRESSURE (RAW_PRESSURE_DATA) , SMART_BATTERY_INFO (SMART_BATTERY_INFO_DATA) , OBSTACLE_DISTANCE (OBSTACLE_DISTANCE_DATA) , CAMERA_FOV_STATUS (CAMERA_FOV_STATUS_DATA) , ATTITUDE_TARGET (ATTITUDE_TARGET_DATA) , GPS2_RAW (GPS2_RAW_DATA) , RC_CHANNELS (RC_CHANNELS_DATA) , DATA_STREAM (DATA_STREAM_DATA) , VIDEO_STREAM_INFORMATION (VIDEO_STREAM_INFORMATION_DATA) , HIL_GPS (HIL_GPS_DATA) , VISION_POSITION_DELTA (VISION_POSITION_DELTA_DATA) , TERRAIN_REQUEST (TERRAIN_REQUEST_DATA) , HIGH_LATENCY (HIGH_LATENCY_DATA) , TUNNEL (TUNNEL_DATA) , LIMITS_STATUS (LIMITS_STATUS_DATA) , TRAJECTORY_REPRESENTATION_BEZIER (TRAJECTORY_REPRESENTATION_BEZIER_DATA) , SET_ACTUATOR_CONTROL_TARGET (SET_ACTUATOR_CONTROL_TARGET_DATA) , RC_CHANNELS_SCALED (RC_CHANNELS_SCALED_DATA) , OPEN_DRONE_ID_SELF_ID (OPEN_DRONE_ID_SELF_ID_DATA) , MOUNT_ORIENTATION (MOUNT_ORIENTATION_DATA) , GLOBAL_POSITION_INT (GLOBAL_POSITION_INT_DATA) , DEVICE_OP_READ_REPLY (DEVICE_OP_READ_REPLY_DATA) , SERIAL_CONTROL (SERIAL_CONTROL_DATA) , CAN_FRAME (CAN_FRAME_DATA) , AHRS3 (AHRS3_DATA) , PARAM_EXT_REQUEST_LIST (PARAM_EXT_REQUEST_LIST_DATA) , CAMERA_TRACKING_GEO_STATUS (CAMERA_TRACKING_GEO_STATUS_DATA) , SCALED_IMU3 (SCALED_IMU3_DATA) , TRAJECTORY_REPRESENTATION_WAYPOINTS (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA) , MISSION_ITEM_INT (MISSION_ITEM_INT_DATA) , ADAP_TUNING (ADAP_TUNING_DATA) , EFI_STATUS (EFI_STATUS_DATA) , TERRAIN_REPORT (TERRAIN_REPORT_DATA) , SCALED_PRESSURE2 (SCALED_PRESSURE2_DATA) , SET_HOME_POSITION (SET_HOME_POSITION_DATA) , AP_ADC (AP_ADC_DATA) , GIMBAL_TORQUE_CMD_REPORT (GIMBAL_TORQUE_CMD_REPORT_DATA) , GOPRO_SET_RESPONSE (GOPRO_SET_RESPONSE_DATA) , ESC_TELEMETRY_9_TO_12 (ESC_TELEMETRY_9_TO_12_DATA) , HYGROMETER_SENSOR (HYGROMETER_SENSOR_DATA) , CONTROL_SYSTEM_STATE (CONTROL_SYSTEM_STATE_DATA) , BUTTON_CHANGE (BUTTON_CHANGE_DATA) , VICON_POSITION_ESTIMATE (VICON_POSITION_ESTIMATE_DATA) , HIL_RC_INPUTS_RAW (HIL_RC_INPUTS_RAW_DATA) , OPEN_DRONE_ID_AUTHENTICATION (OPEN_DRONE_ID_AUTHENTICATION_DATA) , HIL_STATE (HIL_STATE_DATA) , GOPRO_GET_RESPONSE (GOPRO_GET_RESPONSE_DATA) , POWER_STATUS (POWER_STATUS_DATA) , AHRS (AHRS_DATA) , SET_POSITION_TARGET_GLOBAL_INT (SET_POSITION_TARGET_GLOBAL_INT_DATA) , LOG_ERASE (LOG_ERASE_DATA) , ACTUATOR_CONTROL_TARGET (ACTUATOR_CONTROL_TARGET_DATA) , NAV_CONTROLLER_OUTPUT (NAV_CONTROLLER_OUTPUT_DATA) , ADSB_VEHICLE (ADSB_VEHICLE_DATA) , GPS_INJECT_DATA (GPS_INJECT_DATA_DATA) , NAMED_VALUE_INT (NAMED_VALUE_INT_DATA) , DIGICAM_CONFIGURE (DIGICAM_CONFIGURE_DATA) , EKF_STATUS_REPORT (EKF_STATUS_REPORT_DATA) , OSD_PARAM_SHOW_CONFIG (OSD_PARAM_SHOW_CONFIG_DATA) , REQUEST_DATA_STREAM (REQUEST_DATA_STREAM_DATA) , GIMBAL_DEVICE_ATTITUDE_STATUS (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA) , HIL_SENSOR (HIL_SENSOR_DATA) , WINCH_STATUS (WINCH_STATUS_DATA) , GIMBAL_MANAGER_INFORMATION (GIMBAL_MANAGER_INFORMATION_DATA) , MOUNT_CONFIGURE (MOUNT_CONFIGURE_DATA) , DATA32 (DATA32_DATA) , COMMAND_LONG (COMMAND_LONG_DATA) , NAMED_VALUE_FLOAT (NAMED_VALUE_FLOAT_DATA) , MISSION_WRITE_PARTIAL_LIST (MISSION_WRITE_PARTIAL_LIST_DATA) , VISION_POSITION_ESTIMATE (VISION_POSITION_ESTIMATE_DATA) , MEMINFO (MEMINFO_DATA) , DEVICE_OP_WRITE_REPLY (DEVICE_OP_WRITE_REPLY_DATA) , COMMAND_CANCEL (COMMAND_CANCEL_DATA) , RC_CHANNELS_RAW (RC_CHANNELS_RAW_DATA) , PARAM_EXT_VALUE (PARAM_EXT_VALUE_DATA) , RESPONSE_EVENT_ERROR (RESPONSE_EVENT_ERROR_DATA) , MISSION_SET_CURRENT (MISSION_SET_CURRENT_DATA) , HIL_STATE_QUATERNION (HIL_STATE_QUATERNION_DATA) , UAVIONIX_ADSB_OUT_CFG (UAVIONIX_ADSB_OUT_CFG_DATA) , ESTIMATOR_STATUS (ESTIMATOR_STATUS_DATA) , PARAM_VALUE (PARAM_VALUE_DATA) , ORBIT_EXECUTION_STATUS (ORBIT_EXECUTION_STATUS_DATA) , RALLY_POINT (RALLY_POINT_DATA) , MANUAL_CONTROL (MANUAL_CONTROL_DATA) , EXTENDED_SYS_STATE (EXTENDED_SYS_STATE_DATA) , DATA16 (DATA16_DATA) , CURRENT_EVENT_SEQUENCE (CURRENT_EVENT_SEQUENCE_DATA) , MOUNT_STATUS (MOUNT_STATUS_DATA) , DEBUG (DEBUG_DATA) , OPEN_DRONE_ID_BASIC_ID (OPEN_DRONE_ID_BASIC_ID_DATA) , EVENT (EVENT_DATA) , MCU_STATUS (MCU_STATUS_DATA) , LOCAL_POSITION_NED_COV (LOCAL_POSITION_NED_COV_DATA) , RAW_RPM (RAW_RPM_DATA) , PARAM_REQUEST_READ (PARAM_REQUEST_READ_DATA) , } impl Message for MavMessage { fn parse (version : MavlinkVersion , id : u32 , payload : & [u8]) -> Result < Self , ParserError > { match id { LOG_REQUEST_DATA_DATA :: ID => LOG_REQUEST_DATA_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_DATA) , AUTH_KEY_DATA :: ID => AUTH_KEY_DATA :: deser (version , payload) . map (Self :: AUTH_KEY) , MISSION_REQUEST_DATA :: ID => MISSION_REQUEST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => OPEN_DRONE_ID_OPERATOR_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_OPERATOR_ID) , CELLULAR_CONFIG_DATA :: ID => CELLULAR_CONFIG_DATA :: deser (version , payload) . map (Self :: CELLULAR_CONFIG) , SCALED_PRESSURE3_DATA :: ID => SCALED_PRESSURE3_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE3) , CUBEPILOT_RAW_RC_DATA :: ID => CUBEPILOT_RAW_RC_DATA :: deser (version , payload) . map (Self :: CUBEPILOT_RAW_RC) , LED_CONTROL_DATA :: ID => LED_CONTROL_DATA :: deser (version , payload) . map (Self :: LED_CONTROL) , GPS_GLOBAL_ORIGIN_DATA :: ID => GPS_GLOBAL_ORIGIN_DATA :: deser (version , payload) . map (Self :: GPS_GLOBAL_ORIGIN) , GIMBAL_MANAGER_STATUS_DATA :: ID => GIMBAL_MANAGER_STATUS_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_STATUS) , AIS_VESSEL_DATA :: ID => AIS_VESSEL_DATA :: deser (version , payload) . map (Self :: AIS_VESSEL) , SCALED_IMU_DATA :: ID => SCALED_IMU_DATA :: deser (version , payload) . map (Self :: SCALED_IMU) , CAMERA_INFORMATION_DATA :: ID => CAMERA_INFORMATION_DATA :: deser (version , payload) . map (Self :: CAMERA_INFORMATION) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_ATTITUDE) , SUPPORTED_TUNES_DATA :: ID => SUPPORTED_TUNES_DATA :: deser (version , payload) . map (Self :: SUPPORTED_TUNES) , RANGEFINDER_DATA :: ID => RANGEFINDER_DATA :: deser (version , payload) . map (Self :: RANGEFINDER) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: GLOBAL_VISION_POSITION_ESTIMATE) , GENERATOR_STATUS_DATA :: ID => GENERATOR_STATUS_DATA :: deser (version , payload) . map (Self :: GENERATOR_STATUS) , COLLISION_DATA :: ID => COLLISION_DATA :: deser (version , payload) . map (Self :: COLLISION) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SYSTEM_UPDATE) , MISSION_REQUEST_INT_DATA :: ID => MISSION_REQUEST_INT_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_INT) , TERRAIN_DATA_DATA :: ID => TERRAIN_DATA_DATA :: deser (version , payload) . map (Self :: TERRAIN_DATA) , REMOTE_LOG_DATA_BLOCK_DATA :: ID => REMOTE_LOG_DATA_BLOCK_DATA :: deser (version , payload) . map (Self :: REMOTE_LOG_DATA_BLOCK) , DEBUG_FLOAT_ARRAY_DATA :: ID => DEBUG_FLOAT_ARRAY_DATA :: deser (version , payload) . map (Self :: DEBUG_FLOAT_ARRAY) , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => OPEN_DRONE_ID_ARM_STATUS_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_ARM_STATUS) , OPTICAL_FLOW_DATA :: ID => OPTICAL_FLOW_DATA :: deser (version , payload) . map (Self :: OPTICAL_FLOW) , VIDEO_STREAM_STATUS_DATA :: ID => VIDEO_STREAM_STATUS_DATA :: deser (version , payload) . map (Self :: VIDEO_STREAM_STATUS) , SCALED_PRESSURE_DATA :: ID => SCALED_PRESSURE_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE) , HIGHRES_IMU_DATA :: ID => HIGHRES_IMU_DATA :: deser (version , payload) . map (Self :: HIGHRES_IMU) , GPS_RTCM_DATA_DATA :: ID => GPS_RTCM_DATA_DATA :: deser (version , payload) . map (Self :: GPS_RTCM_DATA) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: deser (version , payload) . map (Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT) , WIND_DATA :: ID => WIND_DATA :: deser (version , payload) . map (Self :: WIND) , RALLY_FETCH_POINT_DATA :: ID => RALLY_FETCH_POINT_DATA :: deser (version , payload) . map (Self :: RALLY_FETCH_POINT) , FOLLOW_TARGET_DATA :: ID => FOLLOW_TARGET_DATA :: deser (version , payload) . map (Self :: FOLLOW_TARGET) , GOPRO_HEARTBEAT_DATA :: ID => GOPRO_HEARTBEAT_DATA :: deser (version , payload) . map (Self :: GOPRO_HEARTBEAT) , CAMERA_CAPTURE_STATUS_DATA :: ID => CAMERA_CAPTURE_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_CAPTURE_STATUS) , MESSAGE_INTERVAL_DATA :: ID => MESSAGE_INTERVAL_DATA :: deser (version , payload) . map (Self :: MESSAGE_INTERVAL) , MEMORY_VECT_DATA :: ID => MEMORY_VECT_DATA :: deser (version , payload) . map (Self :: MEMORY_VECT) , ENCAPSULATED_DATA_DATA :: ID => ENCAPSULATED_DATA_DATA :: deser (version , payload) . map (Self :: ENCAPSULATED_DATA) , PARAM_MAP_RC_DATA :: ID => PARAM_MAP_RC_DATA :: deser (version , payload) . map (Self :: PARAM_MAP_RC) , LOGGING_ACK_DATA :: ID => LOGGING_ACK_DATA :: deser (version , payload) . map (Self :: LOGGING_ACK) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_MESSAGE_PACK) , PROTOCOL_VERSION_DATA :: ID => PROTOCOL_VERSION_DATA :: deser (version , payload) . map (Self :: PROTOCOL_VERSION) , ATTITUDE_DATA :: ID => ATTITUDE_DATA :: deser (version , payload) . map (Self :: ATTITUDE) , AOA_SSA_DATA :: ID => AOA_SSA_DATA :: deser (version , payload) . map (Self :: AOA_SSA) , ESC_TELEMETRY_1_TO_4_DATA :: ID => ESC_TELEMETRY_1_TO_4_DATA :: deser (version , payload) . map (Self :: ESC_TELEMETRY_1_TO_4) , LOGGING_DATA_ACKED_DATA :: ID => LOGGING_DATA_ACKED_DATA :: deser (version , payload) . map (Self :: LOGGING_DATA_ACKED) , PLAY_TUNE_DATA :: ID => PLAY_TUNE_DATA :: deser (version , payload) . map (Self :: PLAY_TUNE) , SIM_STATE_DATA :: ID => SIM_STATE_DATA :: deser (version , payload) . map (Self :: SIM_STATE) , MANUAL_SETPOINT_DATA :: ID => MANUAL_SETPOINT_DATA :: deser (version , payload) . map (Self :: MANUAL_SETPOINT) , VIBRATION_DATA :: ID => VIBRATION_DATA :: deser (version , payload) . map (Self :: VIBRATION) , ACTUATOR_OUTPUT_STATUS_DATA :: ID => ACTUATOR_OUTPUT_STATUS_DATA :: deser (version , payload) . map (Self :: ACTUATOR_OUTPUT_STATUS) , DEEPSTALL_DATA :: ID => DEEPSTALL_DATA :: deser (version , payload) . map (Self :: DEEPSTALL) , MAG_CAL_REPORT_DATA :: ID => MAG_CAL_REPORT_DATA :: deser (version , payload) . map (Self :: MAG_CAL_REPORT) , TIME_ESTIMATE_TO_TARGET_DATA :: ID => TIME_ESTIMATE_TO_TARGET_DATA :: deser (version , payload) . map (Self :: TIME_ESTIMATE_TO_TARGET) , SCALED_IMU2_DATA :: ID => SCALED_IMU2_DATA :: deser (version , payload) . map (Self :: SCALED_IMU2) , GOPRO_GET_REQUEST_DATA :: ID => GOPRO_GET_REQUEST_DATA :: deser (version , payload) . map (Self :: GOPRO_GET_REQUEST) , COMMAND_INT_DATA :: ID => COMMAND_INT_DATA :: deser (version , payload) . map (Self :: COMMAND_INT) , UAVCAN_NODE_STATUS_DATA :: ID => UAVCAN_NODE_STATUS_DATA :: deser (version , payload) . map (Self :: UAVCAN_NODE_STATUS) , ODOMETRY_DATA :: ID => ODOMETRY_DATA :: deser (version , payload) . map (Self :: ODOMETRY) , HIGH_LATENCY2_DATA :: ID => HIGH_LATENCY2_DATA :: deser (version , payload) . map (Self :: HIGH_LATENCY2) , REQUEST_EVENT_DATA :: ID => REQUEST_EVENT_DATA :: deser (version , payload) . map (Self :: REQUEST_EVENT) , ICAROUS_HEARTBEAT_DATA :: ID => ICAROUS_HEARTBEAT_DATA :: deser (version , payload) . map (Self :: ICAROUS_HEARTBEAT) , MISSION_COUNT_DATA :: ID => MISSION_COUNT_DATA :: deser (version , payload) . map (Self :: MISSION_COUNT) , AIRSPEED_AUTOCAL_DATA :: ID => AIRSPEED_AUTOCAL_DATA :: deser (version , payload) . map (Self :: AIRSPEED_AUTOCAL) , PARAM_EXT_REQUEST_READ_DATA :: ID => PARAM_EXT_REQUEST_READ_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_REQUEST_READ) , CELLULAR_STATUS_DATA :: ID => CELLULAR_STATUS_DATA :: deser (version , payload) . map (Self :: CELLULAR_STATUS) , COMPASSMOT_STATUS_DATA :: ID => COMPASSMOT_STATUS_DATA :: deser (version , payload) . map (Self :: COMPASSMOT_STATUS) , GPS_RAW_INT_DATA :: ID => GPS_RAW_INT_DATA :: deser (version , payload) . map (Self :: GPS_RAW_INT) , WIND_COV_DATA :: ID => WIND_COV_DATA :: deser (version , payload) . map (Self :: WIND_COV) , V2_EXTENSION_DATA :: ID => V2_EXTENSION_DATA :: deser (version , payload) . map (Self :: V2_EXTENSION) , WHEEL_DISTANCE_DATA :: ID => WHEEL_DISTANCE_DATA :: deser (version , payload) . map (Self :: WHEEL_DISTANCE) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET) , OSD_PARAM_CONFIG_REPLY_DATA :: ID => OSD_PARAM_CONFIG_REPLY_DATA :: deser (version , payload) . map (Self :: OSD_PARAM_CONFIG_REPLY) , AHRS2_DATA :: ID => AHRS2_DATA :: deser (version , payload) . map (Self :: AHRS2) , BATTERY2_DATA :: ID => BATTERY2_DATA :: deser (version , payload) . map (Self :: BATTERY2) , LOG_REQUEST_END_DATA :: ID => LOG_REQUEST_END_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_END) , FILE_TRANSFER_PROTOCOL_DATA :: ID => FILE_TRANSFER_PROTOCOL_DATA :: deser (version , payload) . map (Self :: FILE_TRANSFER_PROTOCOL) , LOCAL_POSITION_NED_DATA :: ID => LOCAL_POSITION_NED_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED) , PID_TUNING_DATA :: ID => PID_TUNING_DATA :: deser (version , payload) . map (Self :: PID_TUNING) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE) , ICAROUS_KINEMATIC_BANDS_DATA :: ID => ICAROUS_KINEMATIC_BANDS_DATA :: deser (version , payload) . map (Self :: ICAROUS_KINEMATIC_BANDS) , ESC_INFO_DATA :: ID => ESC_INFO_DATA :: deser (version , payload) . map (Self :: ESC_INFO) , POSITION_TARGET_LOCAL_NED_DATA :: ID => POSITION_TARGET_LOCAL_NED_DATA :: deser (version , payload) . map (Self :: POSITION_TARGET_LOCAL_NED) , CAMERA_TRIGGER_DATA :: ID => CAMERA_TRIGGER_DATA :: deser (version , payload) . map (Self :: CAMERA_TRIGGER) , GPS_INPUT_DATA :: ID => GPS_INPUT_DATA :: deser (version , payload) . map (Self :: GPS_INPUT) , BATTERY_STATUS_DATA :: ID => BATTERY_STATUS_DATA :: deser (version , payload) . map (Self :: BATTERY_STATUS) , FENCE_FETCH_POINT_DATA :: ID => FENCE_FETCH_POINT_DATA :: deser (version , payload) . map (Self :: FENCE_FETCH_POINT) , SYS_STATUS_DATA :: ID => SYS_STATUS_DATA :: deser (version , payload) . map (Self :: SYS_STATUS) , ISBD_LINK_STATUS_DATA :: ID => ISBD_LINK_STATUS_DATA :: deser (version , payload) . map (Self :: ISBD_LINK_STATUS) , DEBUG_VECT_DATA :: ID => DEBUG_VECT_DATA :: deser (version , payload) . map (Self :: DEBUG_VECT) , SIMSTATE_DATA :: ID => SIMSTATE_DATA :: deser (version , payload) . map (Self :: SIMSTATE) , FENCE_POINT_DATA :: ID => FENCE_POINT_DATA :: deser (version , payload) . map (Self :: FENCE_POINT) , CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: ID => CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: deser (version , payload) . map (Self :: CUBEPILOT_FIRMWARE_UPDATE_RESP) , SETUP_SIGNING_DATA :: ID => SETUP_SIGNING_DATA :: deser (version , payload) . map (Self :: SETUP_SIGNING) , COMPONENT_METADATA_DATA :: ID => COMPONENT_METADATA_DATA :: deser (version , payload) . map (Self :: COMPONENT_METADATA) , CAMERA_STATUS_DATA :: ID => CAMERA_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_STATUS) , DATA96_DATA :: ID => DATA96_DATA :: deser (version , payload) . map (Self :: DATA96) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL) , ALTITUDE_DATA :: ID => ALTITUDE_DATA :: deser (version , payload) . map (Self :: ALTITUDE) , OBSTACLE_DISTANCE_3D_DATA :: ID => OBSTACLE_DISTANCE_3D_DATA :: deser (version , payload) . map (Self :: OBSTACLE_DISTANCE_3D) , HERELINK_TELEM_DATA :: ID => HERELINK_TELEM_DATA :: deser (version , payload) . map (Self :: HERELINK_TELEM) , GPS_STATUS_DATA :: ID => GPS_STATUS_DATA :: deser (version , payload) . map (Self :: GPS_STATUS) , RC_CHANNELS_OVERRIDE_DATA :: ID => RC_CHANNELS_OVERRIDE_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_OVERRIDE) , RPM_DATA :: ID => RPM_DATA :: deser (version , payload) . map (Self :: RPM) , CANFD_FRAME_DATA :: ID => CANFD_FRAME_DATA :: deser (version , payload) . map (Self :: CANFD_FRAME) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_SET_ATTITUDE) , POSITION_TARGET_GLOBAL_INT_DATA :: ID => POSITION_TARGET_GLOBAL_INT_DATA :: deser (version , payload) . map (Self :: POSITION_TARGET_GLOBAL_INT) , AUTOPILOT_VERSION_REQUEST_DATA :: ID => AUTOPILOT_VERSION_REQUEST_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_VERSION_REQUEST) , LOGGING_DATA_DATA :: ID => LOGGING_DATA_DATA :: deser (version , payload) . map (Self :: LOGGING_DATA) , CHANGE_OPERATOR_CONTROL_DATA :: ID => CHANGE_OPERATOR_CONTROL_DATA :: deser (version , payload) . map (Self :: CHANGE_OPERATOR_CONTROL) , DIGICAM_CONTROL_DATA :: ID => DIGICAM_CONTROL_DATA :: deser (version , payload) . map (Self :: DIGICAM_CONTROL) , FENCE_STATUS_DATA :: ID => FENCE_STATUS_DATA :: deser (version , payload) . map (Self :: FENCE_STATUS) , MISSION_ITEM_DATA :: ID => MISSION_ITEM_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM) , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => MISSION_REQUEST_PARTIAL_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_PARTIAL_LIST) , ATTITUDE_QUATERNION_DATA :: ID => ATTITUDE_QUATERNION_DATA :: deser (version , payload) . map (Self :: ATTITUDE_QUATERNION) , AUTOPILOT_VERSION_DATA :: ID => AUTOPILOT_VERSION_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_VERSION) , HIL_ACTUATOR_CONTROLS_DATA :: ID => HIL_ACTUATOR_CONTROLS_DATA :: deser (version , payload) . map (Self :: HIL_ACTUATOR_CONTROLS) , HIL_OPTICAL_FLOW_DATA :: ID => HIL_OPTICAL_FLOW_DATA :: deser (version , payload) . map (Self :: HIL_OPTICAL_FLOW) , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => DATA_TRANSMISSION_HANDSHAKE_DATA :: deser (version , payload) . map (Self :: DATA_TRANSMISSION_HANDSHAKE) , PLAY_TUNE_V2_DATA :: ID => PLAY_TUNE_V2_DATA :: deser (version , payload) . map (Self :: PLAY_TUNE_V2) , GIMBAL_REPORT_DATA :: ID => GIMBAL_REPORT_DATA :: deser (version , payload) . map (Self :: GIMBAL_REPORT) , SAFETY_SET_ALLOWED_AREA_DATA :: ID => SAFETY_SET_ALLOWED_AREA_DATA :: deser (version , payload) . map (Self :: SAFETY_SET_ALLOWED_AREA) , HOME_POSITION_DATA :: ID => HOME_POSITION_DATA :: deser (version , payload) . map (Self :: HOME_POSITION) , DATA64_DATA :: ID => DATA64_DATA :: deser (version , payload) . map (Self :: DATA64) , ESC_STATUS_DATA :: ID => ESC_STATUS_DATA :: deser (version , payload) . map (Self :: ESC_STATUS) , PARAM_EXT_SET_DATA :: ID => PARAM_EXT_SET_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_SET) , VISION_SPEED_ESTIMATE_DATA :: ID => VISION_SPEED_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VISION_SPEED_ESTIMATE) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => CHANGE_OPERATOR_CONTROL_ACK_DATA :: deser (version , payload) . map (Self :: CHANGE_OPERATOR_CONTROL_ACK) , DISTANCE_SENSOR_DATA :: ID => DISTANCE_SENSOR_DATA :: deser (version , payload) . map (Self :: DISTANCE_SENSOR) , GIMBAL_DEVICE_INFORMATION_DATA :: ID => GIMBAL_DEVICE_INFORMATION_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_INFORMATION) , ATT_POS_MOCAP_DATA :: ID => ATT_POS_MOCAP_DATA :: deser (version , payload) . map (Self :: ATT_POS_MOCAP) , SET_MAG_OFFSETS_DATA :: ID => SET_MAG_OFFSETS_DATA :: deser (version , payload) . map (Self :: SET_MAG_OFFSETS) , LINK_NODE_STATUS_DATA :: ID => LINK_NODE_STATUS_DATA :: deser (version , payload) . map (Self :: LINK_NODE_STATUS) , MISSION_ACK_DATA :: ID => MISSION_ACK_DATA :: deser (version , payload) . map (Self :: MISSION_ACK) , HWSTATUS_DATA :: ID => HWSTATUS_DATA :: deser (version , payload) . map (Self :: HWSTATUS) , PARAM_SET_DATA :: ID => PARAM_SET_DATA :: deser (version , payload) . map (Self :: PARAM_SET) , CAMERA_FEEDBACK_DATA :: ID => CAMERA_FEEDBACK_DATA :: deser (version , payload) . map (Self :: CAMERA_FEEDBACK) , COMPONENT_INFORMATION_DATA :: ID => COMPONENT_INFORMATION_DATA :: deser (version , payload) . map (Self :: COMPONENT_INFORMATION) , SET_ATTITUDE_TARGET_DATA :: ID => SET_ATTITUDE_TARGET_DATA :: deser (version , payload) . map (Self :: SET_ATTITUDE_TARGET) , OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: ID => OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: deser (version , payload) . map (Self :: OSD_PARAM_SHOW_CONFIG_REPLY) , RADIO_STATUS_DATA :: ID => RADIO_STATUS_DATA :: deser (version , payload) . map (Self :: RADIO_STATUS) , CAMERA_IMAGE_CAPTURED_DATA :: ID => CAMERA_IMAGE_CAPTURED_DATA :: deser (version , payload) . map (Self :: CAMERA_IMAGE_CAPTURED) , MISSION_REQUEST_LIST_DATA :: ID => MISSION_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_LIST) , UTM_GLOBAL_POSITION_DATA :: ID => UTM_GLOBAL_POSITION_DATA :: deser (version , payload) . map (Self :: UTM_GLOBAL_POSITION) , HIL_CONTROLS_DATA :: ID => HIL_CONTROLS_DATA :: deser (version , payload) . map (Self :: HIL_CONTROLS) , SERVO_OUTPUT_RAW_DATA :: ID => SERVO_OUTPUT_RAW_DATA :: deser (version , payload) . map (Self :: SERVO_OUTPUT_RAW) , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => SET_GPS_GLOBAL_ORIGIN_DATA :: deser (version , payload) . map (Self :: SET_GPS_GLOBAL_ORIGIN) , UAVCAN_NODE_INFO_DATA :: ID => UAVCAN_NODE_INFO_DATA :: deser (version , payload) . map (Self :: UAVCAN_NODE_INFO) , ATTITUDE_QUATERNION_COV_DATA :: ID => ATTITUDE_QUATERNION_COV_DATA :: deser (version , payload) . map (Self :: ATTITUDE_QUATERNION_COV) , STATUSTEXT_DATA :: ID => STATUSTEXT_DATA :: deser (version , payload) . map (Self :: STATUSTEXT) , GOPRO_SET_REQUEST_DATA :: ID => GOPRO_SET_REQUEST_DATA :: deser (version , payload) . map (Self :: GOPRO_SET_REQUEST) , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => SET_POSITION_TARGET_LOCAL_NED_DATA :: deser (version , payload) . map (Self :: SET_POSITION_TARGET_LOCAL_NED) , OPTICAL_FLOW_RAD_DATA :: ID => OPTICAL_FLOW_RAD_DATA :: deser (version , payload) . map (Self :: OPTICAL_FLOW_RAD) , LANDING_TARGET_DATA :: ID => LANDING_TARGET_DATA :: deser (version , payload) . map (Self :: LANDING_TARGET) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => CAMERA_TRACKING_IMAGE_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_TRACKING_IMAGE_STATUS) , LOG_DATA_DATA :: ID => LOG_DATA_DATA :: deser (version , payload) . map (Self :: LOG_DATA) , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: deser (version , payload) . map (Self :: UAVIONIX_ADSB_OUT_DYNAMIC) , SENSOR_OFFSETS_DATA :: ID => SENSOR_OFFSETS_DATA :: deser (version , payload) . map (Self :: SENSOR_OFFSETS) , WIFI_CONFIG_AP_DATA :: ID => WIFI_CONFIG_AP_DATA :: deser (version , payload) . map (Self :: WIFI_CONFIG_AP) , DEVICE_OP_READ_DATA :: ID => DEVICE_OP_READ_DATA :: deser (version , payload) . map (Self :: DEVICE_OP_READ) , GPS_RTK_DATA :: ID => GPS_RTK_DATA :: deser (version , payload) . map (Self :: GPS_RTK) , PARAM_REQUEST_LIST_DATA :: ID => PARAM_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: PARAM_REQUEST_LIST) , HERELINK_VIDEO_STREAM_INFORMATION_DATA :: ID => HERELINK_VIDEO_STREAM_INFORMATION_DATA :: deser (version , payload) . map (Self :: HERELINK_VIDEO_STREAM_INFORMATION) , REMOTE_LOG_BLOCK_STATUS_DATA :: ID => REMOTE_LOG_BLOCK_STATUS_DATA :: deser (version , payload) . map (Self :: REMOTE_LOG_BLOCK_STATUS) , COMMAND_ACK_DATA :: ID => COMMAND_ACK_DATA :: deser (version , payload) . map (Self :: COMMAND_ACK) , CAMERA_SETTINGS_DATA :: ID => CAMERA_SETTINGS_DATA :: deser (version , payload) . map (Self :: CAMERA_SETTINGS) , RAW_IMU_DATA :: ID => RAW_IMU_DATA :: deser (version , payload) . map (Self :: RAW_IMU) , RADIO_DATA :: ID => RADIO_DATA :: deser (version , payload) . map (Self :: RADIO) , SAFETY_ALLOWED_AREA_DATA :: ID => SAFETY_ALLOWED_AREA_DATA :: deser (version , payload) . map (Self :: SAFETY_ALLOWED_AREA) , CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: ID => CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: deser (version , payload) . map (Self :: CUBEPILOT_FIRMWARE_UPDATE_START) , DEVICE_OP_WRITE_DATA :: ID => DEVICE_OP_WRITE_DATA :: deser (version , payload) . map (Self :: DEVICE_OP_WRITE) , OPEN_DRONE_ID_LOCATION_DATA :: ID => OPEN_DRONE_ID_LOCATION_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_LOCATION) , GIMBAL_CONTROL_DATA :: ID => GIMBAL_CONTROL_DATA :: deser (version , payload) . map (Self :: GIMBAL_CONTROL) , MISSION_CLEAR_ALL_DATA :: ID => MISSION_CLEAR_ALL_DATA :: deser (version , payload) . map (Self :: MISSION_CLEAR_ALL) , ONBOARD_COMPUTER_STATUS_DATA :: ID => ONBOARD_COMPUTER_STATUS_DATA :: deser (version , payload) . map (Self :: ONBOARD_COMPUTER_STATUS) , RESOURCE_REQUEST_DATA :: ID => RESOURCE_REQUEST_DATA :: deser (version , payload) . map (Self :: RESOURCE_REQUEST) , GLOBAL_POSITION_INT_COV_DATA :: ID => GLOBAL_POSITION_INT_COV_DATA :: deser (version , payload) . map (Self :: GLOBAL_POSITION_INT_COV) , STORAGE_INFORMATION_DATA :: ID => STORAGE_INFORMATION_DATA :: deser (version , payload) . map (Self :: STORAGE_INFORMATION) , SYSTEM_TIME_DATA :: ID => SYSTEM_TIME_DATA :: deser (version , payload) . map (Self :: SYSTEM_TIME) , MISSION_CURRENT_DATA :: ID => MISSION_CURRENT_DATA :: deser (version , payload) . map (Self :: MISSION_CURRENT) , LOG_REQUEST_LIST_DATA :: ID => LOG_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_LIST) , MAG_CAL_PROGRESS_DATA :: ID => MAG_CAL_PROGRESS_DATA :: deser (version , payload) . map (Self :: MAG_CAL_PROGRESS) , GPS2_RTK_DATA :: ID => GPS2_RTK_DATA :: deser (version , payload) . map (Self :: GPS2_RTK) , OPEN_DRONE_ID_SYSTEM_DATA :: ID => OPEN_DRONE_ID_SYSTEM_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SYSTEM) , LOG_ENTRY_DATA :: ID => LOG_ENTRY_DATA :: deser (version , payload) . map (Self :: LOG_ENTRY) , MISSION_ITEM_REACHED_DATA :: ID => MISSION_ITEM_REACHED_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM_REACHED) , TERRAIN_CHECK_DATA :: ID => TERRAIN_CHECK_DATA :: deser (version , payload) . map (Self :: TERRAIN_CHECK) , HEARTBEAT_DATA :: ID => HEARTBEAT_DATA :: deser (version , payload) . map (Self :: HEARTBEAT) , CAN_FILTER_MODIFY_DATA :: ID => CAN_FILTER_MODIFY_DATA :: deser (version , payload) . map (Self :: CAN_FILTER_MODIFY) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_PITCHYAW) , FLIGHT_INFORMATION_DATA :: ID => FLIGHT_INFORMATION_DATA :: deser (version , payload) . map (Self :: FLIGHT_INFORMATION) , VFR_HUD_DATA :: ID => VFR_HUD_DATA :: deser (version , payload) . map (Self :: VFR_HUD) , MOUNT_CONTROL_DATA :: ID => MOUNT_CONTROL_DATA :: deser (version , payload) . map (Self :: MOUNT_CONTROL) , WATER_DEPTH_DATA :: ID => WATER_DEPTH_DATA :: deser (version , payload) . map (Self :: WATER_DEPTH) , SET_MODE_DATA :: ID => SET_MODE_DATA :: deser (version , payload) . map (Self :: SET_MODE) , OSD_PARAM_CONFIG_DATA :: ID => OSD_PARAM_CONFIG_DATA :: deser (version , payload) . map (Self :: OSD_PARAM_CONFIG) , PING_DATA :: ID => PING_DATA :: deser (version , payload) . map (Self :: PING) , PARAM_EXT_ACK_DATA :: ID => PARAM_EXT_ACK_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_ACK) , TIMESYNC_DATA :: ID => TIMESYNC_DATA :: deser (version , payload) . map (Self :: TIMESYNC) , ESC_TELEMETRY_5_TO_8_DATA :: ID => ESC_TELEMETRY_5_TO_8_DATA :: deser (version , payload) . map (Self :: ESC_TELEMETRY_5_TO_8) , RAW_PRESSURE_DATA :: ID => RAW_PRESSURE_DATA :: deser (version , payload) . map (Self :: RAW_PRESSURE) , SMART_BATTERY_INFO_DATA :: ID => SMART_BATTERY_INFO_DATA :: deser (version , payload) . map (Self :: SMART_BATTERY_INFO) , OBSTACLE_DISTANCE_DATA :: ID => OBSTACLE_DISTANCE_DATA :: deser (version , payload) . map (Self :: OBSTACLE_DISTANCE) , CAMERA_FOV_STATUS_DATA :: ID => CAMERA_FOV_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_FOV_STATUS) , ATTITUDE_TARGET_DATA :: ID => ATTITUDE_TARGET_DATA :: deser (version , payload) . map (Self :: ATTITUDE_TARGET) , GPS2_RAW_DATA :: ID => GPS2_RAW_DATA :: deser (version , payload) . map (Self :: GPS2_RAW) , RC_CHANNELS_DATA :: ID => RC_CHANNELS_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS) , DATA_STREAM_DATA :: ID => DATA_STREAM_DATA :: deser (version , payload) . map (Self :: DATA_STREAM) , VIDEO_STREAM_INFORMATION_DATA :: ID => VIDEO_STREAM_INFORMATION_DATA :: deser (version , payload) . map (Self :: VIDEO_STREAM_INFORMATION) , HIL_GPS_DATA :: ID => HIL_GPS_DATA :: deser (version , payload) . map (Self :: HIL_GPS) , VISION_POSITION_DELTA_DATA :: ID => VISION_POSITION_DELTA_DATA :: deser (version , payload) . map (Self :: VISION_POSITION_DELTA) , TERRAIN_REQUEST_DATA :: ID => TERRAIN_REQUEST_DATA :: deser (version , payload) . map (Self :: TERRAIN_REQUEST) , HIGH_LATENCY_DATA :: ID => HIGH_LATENCY_DATA :: deser (version , payload) . map (Self :: HIGH_LATENCY) , TUNNEL_DATA :: ID => TUNNEL_DATA :: deser (version , payload) . map (Self :: TUNNEL) , LIMITS_STATUS_DATA :: ID => LIMITS_STATUS_DATA :: deser (version , payload) . map (Self :: LIMITS_STATUS) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: deser (version , payload) . map (Self :: TRAJECTORY_REPRESENTATION_BEZIER) , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => SET_ACTUATOR_CONTROL_TARGET_DATA :: deser (version , payload) . map (Self :: SET_ACTUATOR_CONTROL_TARGET) , RC_CHANNELS_SCALED_DATA :: ID => RC_CHANNELS_SCALED_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_SCALED) , OPEN_DRONE_ID_SELF_ID_DATA :: ID => OPEN_DRONE_ID_SELF_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SELF_ID) , MOUNT_ORIENTATION_DATA :: ID => MOUNT_ORIENTATION_DATA :: deser (version , payload) . map (Self :: MOUNT_ORIENTATION) , GLOBAL_POSITION_INT_DATA :: ID => GLOBAL_POSITION_INT_DATA :: deser (version , payload) . map (Self :: GLOBAL_POSITION_INT) , DEVICE_OP_READ_REPLY_DATA :: ID => DEVICE_OP_READ_REPLY_DATA :: deser (version , payload) . map (Self :: DEVICE_OP_READ_REPLY) , SERIAL_CONTROL_DATA :: ID => SERIAL_CONTROL_DATA :: deser (version , payload) . map (Self :: SERIAL_CONTROL) , CAN_FRAME_DATA :: ID => CAN_FRAME_DATA :: deser (version , payload) . map (Self :: CAN_FRAME) , AHRS3_DATA :: ID => AHRS3_DATA :: deser (version , payload) . map (Self :: AHRS3) , PARAM_EXT_REQUEST_LIST_DATA :: ID => PARAM_EXT_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_REQUEST_LIST) , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => CAMERA_TRACKING_GEO_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_TRACKING_GEO_STATUS) , SCALED_IMU3_DATA :: ID => SCALED_IMU3_DATA :: deser (version , payload) . map (Self :: SCALED_IMU3) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: deser (version , payload) . map (Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS) , MISSION_ITEM_INT_DATA :: ID => MISSION_ITEM_INT_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM_INT) , ADAP_TUNING_DATA :: ID => ADAP_TUNING_DATA :: deser (version , payload) . map (Self :: ADAP_TUNING) , EFI_STATUS_DATA :: ID => EFI_STATUS_DATA :: deser (version , payload) . map (Self :: EFI_STATUS) , TERRAIN_REPORT_DATA :: ID => TERRAIN_REPORT_DATA :: deser (version , payload) . map (Self :: TERRAIN_REPORT) , SCALED_PRESSURE2_DATA :: ID => SCALED_PRESSURE2_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE2) , SET_HOME_POSITION_DATA :: ID => SET_HOME_POSITION_DATA :: deser (version , payload) . map (Self :: SET_HOME_POSITION) , AP_ADC_DATA :: ID => AP_ADC_DATA :: deser (version , payload) . map (Self :: AP_ADC) , GIMBAL_TORQUE_CMD_REPORT_DATA :: ID => GIMBAL_TORQUE_CMD_REPORT_DATA :: deser (version , payload) . map (Self :: GIMBAL_TORQUE_CMD_REPORT) , GOPRO_SET_RESPONSE_DATA :: ID => GOPRO_SET_RESPONSE_DATA :: deser (version , payload) . map (Self :: GOPRO_SET_RESPONSE) , ESC_TELEMETRY_9_TO_12_DATA :: ID => ESC_TELEMETRY_9_TO_12_DATA :: deser (version , payload) . map (Self :: ESC_TELEMETRY_9_TO_12) , HYGROMETER_SENSOR_DATA :: ID => HYGROMETER_SENSOR_DATA :: deser (version , payload) . map (Self :: HYGROMETER_SENSOR) , CONTROL_SYSTEM_STATE_DATA :: ID => CONTROL_SYSTEM_STATE_DATA :: deser (version , payload) . map (Self :: CONTROL_SYSTEM_STATE) , BUTTON_CHANGE_DATA :: ID => BUTTON_CHANGE_DATA :: deser (version , payload) . map (Self :: BUTTON_CHANGE) , VICON_POSITION_ESTIMATE_DATA :: ID => VICON_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VICON_POSITION_ESTIMATE) , HIL_RC_INPUTS_RAW_DATA :: ID => HIL_RC_INPUTS_RAW_DATA :: deser (version , payload) . map (Self :: HIL_RC_INPUTS_RAW) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => OPEN_DRONE_ID_AUTHENTICATION_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_AUTHENTICATION) , HIL_STATE_DATA :: ID => HIL_STATE_DATA :: deser (version , payload) . map (Self :: HIL_STATE) , GOPRO_GET_RESPONSE_DATA :: ID => GOPRO_GET_RESPONSE_DATA :: deser (version , payload) . map (Self :: GOPRO_GET_RESPONSE) , POWER_STATUS_DATA :: ID => POWER_STATUS_DATA :: deser (version , payload) . map (Self :: POWER_STATUS) , AHRS_DATA :: ID => AHRS_DATA :: deser (version , payload) . map (Self :: AHRS) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => SET_POSITION_TARGET_GLOBAL_INT_DATA :: deser (version , payload) . map (Self :: SET_POSITION_TARGET_GLOBAL_INT) , LOG_ERASE_DATA :: ID => LOG_ERASE_DATA :: deser (version , payload) . map (Self :: LOG_ERASE) , ACTUATOR_CONTROL_TARGET_DATA :: ID => ACTUATOR_CONTROL_TARGET_DATA :: deser (version , payload) . map (Self :: ACTUATOR_CONTROL_TARGET) , NAV_CONTROLLER_OUTPUT_DATA :: ID => NAV_CONTROLLER_OUTPUT_DATA :: deser (version , payload) . map (Self :: NAV_CONTROLLER_OUTPUT) , ADSB_VEHICLE_DATA :: ID => ADSB_VEHICLE_DATA :: deser (version , payload) . map (Self :: ADSB_VEHICLE) , GPS_INJECT_DATA_DATA :: ID => GPS_INJECT_DATA_DATA :: deser (version , payload) . map (Self :: GPS_INJECT_DATA) , NAMED_VALUE_INT_DATA :: ID => NAMED_VALUE_INT_DATA :: deser (version , payload) . map (Self :: NAMED_VALUE_INT) , DIGICAM_CONFIGURE_DATA :: ID => DIGICAM_CONFIGURE_DATA :: deser (version , payload) . map (Self :: DIGICAM_CONFIGURE) , EKF_STATUS_REPORT_DATA :: ID => EKF_STATUS_REPORT_DATA :: deser (version , payload) . map (Self :: EKF_STATUS_REPORT) , OSD_PARAM_SHOW_CONFIG_DATA :: ID => OSD_PARAM_SHOW_CONFIG_DATA :: deser (version , payload) . map (Self :: OSD_PARAM_SHOW_CONFIG) , REQUEST_DATA_STREAM_DATA :: ID => REQUEST_DATA_STREAM_DATA :: deser (version , payload) . map (Self :: REQUEST_DATA_STREAM) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_ATTITUDE_STATUS) , HIL_SENSOR_DATA :: ID => HIL_SENSOR_DATA :: deser (version , payload) . map (Self :: HIL_SENSOR) , WINCH_STATUS_DATA :: ID => WINCH_STATUS_DATA :: deser (version , payload) . map (Self :: WINCH_STATUS) , GIMBAL_MANAGER_INFORMATION_DATA :: ID => GIMBAL_MANAGER_INFORMATION_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_INFORMATION) , MOUNT_CONFIGURE_DATA :: ID => MOUNT_CONFIGURE_DATA :: deser (version , payload) . map (Self :: MOUNT_CONFIGURE) , DATA32_DATA :: ID => DATA32_DATA :: deser (version , payload) . map (Self :: DATA32) , COMMAND_LONG_DATA :: ID => COMMAND_LONG_DATA :: deser (version , payload) . map (Self :: COMMAND_LONG) , NAMED_VALUE_FLOAT_DATA :: ID => NAMED_VALUE_FLOAT_DATA :: deser (version , payload) . map (Self :: NAMED_VALUE_FLOAT) , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => MISSION_WRITE_PARTIAL_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_WRITE_PARTIAL_LIST) , VISION_POSITION_ESTIMATE_DATA :: ID => VISION_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VISION_POSITION_ESTIMATE) , MEMINFO_DATA :: ID => MEMINFO_DATA :: deser (version , payload) . map (Self :: MEMINFO) , DEVICE_OP_WRITE_REPLY_DATA :: ID => DEVICE_OP_WRITE_REPLY_DATA :: deser (version , payload) . map (Self :: DEVICE_OP_WRITE_REPLY) , COMMAND_CANCEL_DATA :: ID => COMMAND_CANCEL_DATA :: deser (version , payload) . map (Self :: COMMAND_CANCEL) , RC_CHANNELS_RAW_DATA :: ID => RC_CHANNELS_RAW_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_RAW) , PARAM_EXT_VALUE_DATA :: ID => PARAM_EXT_VALUE_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_VALUE) , RESPONSE_EVENT_ERROR_DATA :: ID => RESPONSE_EVENT_ERROR_DATA :: deser (version , payload) . map (Self :: RESPONSE_EVENT_ERROR) , MISSION_SET_CURRENT_DATA :: ID => MISSION_SET_CURRENT_DATA :: deser (version , payload) . map (Self :: MISSION_SET_CURRENT) , HIL_STATE_QUATERNION_DATA :: ID => HIL_STATE_QUATERNION_DATA :: deser (version , payload) . map (Self :: HIL_STATE_QUATERNION) , UAVIONIX_ADSB_OUT_CFG_DATA :: ID => UAVIONIX_ADSB_OUT_CFG_DATA :: deser (version , payload) . map (Self :: UAVIONIX_ADSB_OUT_CFG) , ESTIMATOR_STATUS_DATA :: ID => ESTIMATOR_STATUS_DATA :: deser (version , payload) . map (Self :: ESTIMATOR_STATUS) , PARAM_VALUE_DATA :: ID => PARAM_VALUE_DATA :: deser (version , payload) . map (Self :: PARAM_VALUE) , ORBIT_EXECUTION_STATUS_DATA :: ID => ORBIT_EXECUTION_STATUS_DATA :: deser (version , payload) . map (Self :: ORBIT_EXECUTION_STATUS) , RALLY_POINT_DATA :: ID => RALLY_POINT_DATA :: deser (version , payload) . map (Self :: RALLY_POINT) , MANUAL_CONTROL_DATA :: ID => MANUAL_CONTROL_DATA :: deser (version , payload) . map (Self :: MANUAL_CONTROL) , EXTENDED_SYS_STATE_DATA :: ID => EXTENDED_SYS_STATE_DATA :: deser (version , payload) . map (Self :: EXTENDED_SYS_STATE) , DATA16_DATA :: ID => DATA16_DATA :: deser (version , payload) . map (Self :: DATA16) , CURRENT_EVENT_SEQUENCE_DATA :: ID => CURRENT_EVENT_SEQUENCE_DATA :: deser (version , payload) . map (Self :: CURRENT_EVENT_SEQUENCE) , MOUNT_STATUS_DATA :: ID => MOUNT_STATUS_DATA :: deser (version , payload) . map (Self :: MOUNT_STATUS) , DEBUG_DATA :: ID => DEBUG_DATA :: deser (version , payload) . map (Self :: DEBUG) , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => OPEN_DRONE_ID_BASIC_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_BASIC_ID) , EVENT_DATA :: ID => EVENT_DATA :: deser (version , payload) . map (Self :: EVENT) , MCU_STATUS_DATA :: ID => MCU_STATUS_DATA :: deser (version , payload) . map (Self :: MCU_STATUS) , LOCAL_POSITION_NED_COV_DATA :: ID => LOCAL_POSITION_NED_COV_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED_COV) , RAW_RPM_DATA :: ID => RAW_RPM_DATA :: deser (version , payload) . map (Self :: RAW_RPM) , PARAM_REQUEST_READ_DATA :: ID => PARAM_REQUEST_READ_DATA :: deser (version , payload) . map (Self :: PARAM_REQUEST_READ) , _ => { Err (ParserError :: UnknownMessage { id }) } , } } fn message_name (& self) -> & 'static str { match self { Self :: LOG_REQUEST_DATA (..) => LOG_REQUEST_DATA_DATA :: NAME , Self :: AUTH_KEY (..) => AUTH_KEY_DATA :: NAME , Self :: MISSION_REQUEST (..) => MISSION_REQUEST_DATA :: NAME , Self :: OPEN_DRONE_ID_OPERATOR_ID (..) => OPEN_DRONE_ID_OPERATOR_ID_DATA :: NAME , Self :: CELLULAR_CONFIG (..) => CELLULAR_CONFIG_DATA :: NAME , Self :: SCALED_PRESSURE3 (..) => SCALED_PRESSURE3_DATA :: NAME , Self :: CUBEPILOT_RAW_RC (..) => CUBEPILOT_RAW_RC_DATA :: NAME , Self :: LED_CONTROL (..) => LED_CONTROL_DATA :: NAME , Self :: GPS_GLOBAL_ORIGIN (..) => GPS_GLOBAL_ORIGIN_DATA :: NAME , Self :: GIMBAL_MANAGER_STATUS (..) => GIMBAL_MANAGER_STATUS_DATA :: NAME , Self :: AIS_VESSEL (..) => AIS_VESSEL_DATA :: NAME , Self :: SCALED_IMU (..) => SCALED_IMU_DATA :: NAME , Self :: CAMERA_INFORMATION (..) => CAMERA_INFORMATION_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_ATTITUDE (..) => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: NAME , Self :: SUPPORTED_TUNES (..) => SUPPORTED_TUNES_DATA :: NAME , Self :: RANGEFINDER (..) => RANGEFINDER_DATA :: NAME , Self :: GLOBAL_VISION_POSITION_ESTIMATE (..) => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: NAME , Self :: GENERATOR_STATUS (..) => GENERATOR_STATUS_DATA :: NAME , Self :: COLLISION (..) => COLLISION_DATA :: NAME , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (..) => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: NAME , Self :: MISSION_REQUEST_INT (..) => MISSION_REQUEST_INT_DATA :: NAME , Self :: TERRAIN_DATA (..) => TERRAIN_DATA_DATA :: NAME , Self :: REMOTE_LOG_DATA_BLOCK (..) => REMOTE_LOG_DATA_BLOCK_DATA :: NAME , Self :: DEBUG_FLOAT_ARRAY (..) => DEBUG_FLOAT_ARRAY_DATA :: NAME , Self :: OPEN_DRONE_ID_ARM_STATUS (..) => OPEN_DRONE_ID_ARM_STATUS_DATA :: NAME , Self :: OPTICAL_FLOW (..) => OPTICAL_FLOW_DATA :: NAME , Self :: VIDEO_STREAM_STATUS (..) => VIDEO_STREAM_STATUS_DATA :: NAME , Self :: SCALED_PRESSURE (..) => SCALED_PRESSURE_DATA :: NAME , Self :: HIGHRES_IMU (..) => HIGHRES_IMU_DATA :: NAME , Self :: GPS_RTCM_DATA (..) => GPS_RTCM_DATA_DATA :: NAME , Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (..) => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: NAME , Self :: WIND (..) => WIND_DATA :: NAME , Self :: RALLY_FETCH_POINT (..) => RALLY_FETCH_POINT_DATA :: NAME , Self :: FOLLOW_TARGET (..) => FOLLOW_TARGET_DATA :: NAME , Self :: GOPRO_HEARTBEAT (..) => GOPRO_HEARTBEAT_DATA :: NAME , Self :: CAMERA_CAPTURE_STATUS (..) => CAMERA_CAPTURE_STATUS_DATA :: NAME , Self :: MESSAGE_INTERVAL (..) => MESSAGE_INTERVAL_DATA :: NAME , Self :: MEMORY_VECT (..) => MEMORY_VECT_DATA :: NAME , Self :: ENCAPSULATED_DATA (..) => ENCAPSULATED_DATA_DATA :: NAME , Self :: PARAM_MAP_RC (..) => PARAM_MAP_RC_DATA :: NAME , Self :: LOGGING_ACK (..) => LOGGING_ACK_DATA :: NAME , Self :: OPEN_DRONE_ID_MESSAGE_PACK (..) => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: NAME , Self :: PROTOCOL_VERSION (..) => PROTOCOL_VERSION_DATA :: NAME , Self :: ATTITUDE (..) => ATTITUDE_DATA :: NAME , Self :: AOA_SSA (..) => AOA_SSA_DATA :: NAME , Self :: ESC_TELEMETRY_1_TO_4 (..) => ESC_TELEMETRY_1_TO_4_DATA :: NAME , Self :: LOGGING_DATA_ACKED (..) => LOGGING_DATA_ACKED_DATA :: NAME , Self :: PLAY_TUNE (..) => PLAY_TUNE_DATA :: NAME , Self :: SIM_STATE (..) => SIM_STATE_DATA :: NAME , Self :: MANUAL_SETPOINT (..) => MANUAL_SETPOINT_DATA :: NAME , Self :: VIBRATION (..) => VIBRATION_DATA :: NAME , Self :: ACTUATOR_OUTPUT_STATUS (..) => ACTUATOR_OUTPUT_STATUS_DATA :: NAME , Self :: DEEPSTALL (..) => DEEPSTALL_DATA :: NAME , Self :: MAG_CAL_REPORT (..) => MAG_CAL_REPORT_DATA :: NAME , Self :: TIME_ESTIMATE_TO_TARGET (..) => TIME_ESTIMATE_TO_TARGET_DATA :: NAME , Self :: SCALED_IMU2 (..) => SCALED_IMU2_DATA :: NAME , Self :: GOPRO_GET_REQUEST (..) => GOPRO_GET_REQUEST_DATA :: NAME , Self :: COMMAND_INT (..) => COMMAND_INT_DATA :: NAME , Self :: UAVCAN_NODE_STATUS (..) => UAVCAN_NODE_STATUS_DATA :: NAME , Self :: ODOMETRY (..) => ODOMETRY_DATA :: NAME , Self :: HIGH_LATENCY2 (..) => HIGH_LATENCY2_DATA :: NAME , Self :: REQUEST_EVENT (..) => REQUEST_EVENT_DATA :: NAME , Self :: ICAROUS_HEARTBEAT (..) => ICAROUS_HEARTBEAT_DATA :: NAME , Self :: MISSION_COUNT (..) => MISSION_COUNT_DATA :: NAME , Self :: AIRSPEED_AUTOCAL (..) => AIRSPEED_AUTOCAL_DATA :: NAME , Self :: PARAM_EXT_REQUEST_READ (..) => PARAM_EXT_REQUEST_READ_DATA :: NAME , Self :: CELLULAR_STATUS (..) => CELLULAR_STATUS_DATA :: NAME , Self :: COMPASSMOT_STATUS (..) => COMPASSMOT_STATUS_DATA :: NAME , Self :: GPS_RAW_INT (..) => GPS_RAW_INT_DATA :: NAME , Self :: WIND_COV (..) => WIND_COV_DATA :: NAME , Self :: V2_EXTENSION (..) => V2_EXTENSION_DATA :: NAME , Self :: WHEEL_DISTANCE (..) => WHEEL_DISTANCE_DATA :: NAME , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (..) => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: NAME , Self :: OSD_PARAM_CONFIG_REPLY (..) => OSD_PARAM_CONFIG_REPLY_DATA :: NAME , Self :: AHRS2 (..) => AHRS2_DATA :: NAME , Self :: BATTERY2 (..) => BATTERY2_DATA :: NAME , Self :: LOG_REQUEST_END (..) => LOG_REQUEST_END_DATA :: NAME , Self :: FILE_TRANSFER_PROTOCOL (..) => FILE_TRANSFER_PROTOCOL_DATA :: NAME , Self :: LOCAL_POSITION_NED (..) => LOCAL_POSITION_NED_DATA :: NAME , Self :: PID_TUNING (..) => PID_TUNING_DATA :: NAME , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (..) => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: NAME , Self :: ICAROUS_KINEMATIC_BANDS (..) => ICAROUS_KINEMATIC_BANDS_DATA :: NAME , Self :: ESC_INFO (..) => ESC_INFO_DATA :: NAME , Self :: POSITION_TARGET_LOCAL_NED (..) => POSITION_TARGET_LOCAL_NED_DATA :: NAME , Self :: CAMERA_TRIGGER (..) => CAMERA_TRIGGER_DATA :: NAME , Self :: GPS_INPUT (..) => GPS_INPUT_DATA :: NAME , Self :: BATTERY_STATUS (..) => BATTERY_STATUS_DATA :: NAME , Self :: FENCE_FETCH_POINT (..) => FENCE_FETCH_POINT_DATA :: NAME , Self :: SYS_STATUS (..) => SYS_STATUS_DATA :: NAME , Self :: ISBD_LINK_STATUS (..) => ISBD_LINK_STATUS_DATA :: NAME , Self :: DEBUG_VECT (..) => DEBUG_VECT_DATA :: NAME , Self :: SIMSTATE (..) => SIMSTATE_DATA :: NAME , Self :: FENCE_POINT (..) => FENCE_POINT_DATA :: NAME , Self :: CUBEPILOT_FIRMWARE_UPDATE_RESP (..) => CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: NAME , Self :: SETUP_SIGNING (..) => SETUP_SIGNING_DATA :: NAME , Self :: COMPONENT_METADATA (..) => COMPONENT_METADATA_DATA :: NAME , Self :: CAMERA_STATUS (..) => CAMERA_STATUS_DATA :: NAME , Self :: DATA96 (..) => DATA96_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (..) => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: NAME , Self :: ALTITUDE (..) => ALTITUDE_DATA :: NAME , Self :: OBSTACLE_DISTANCE_3D (..) => OBSTACLE_DISTANCE_3D_DATA :: NAME , Self :: HERELINK_TELEM (..) => HERELINK_TELEM_DATA :: NAME , Self :: GPS_STATUS (..) => GPS_STATUS_DATA :: NAME , Self :: RC_CHANNELS_OVERRIDE (..) => RC_CHANNELS_OVERRIDE_DATA :: NAME , Self :: RPM (..) => RPM_DATA :: NAME , Self :: CANFD_FRAME (..) => CANFD_FRAME_DATA :: NAME , Self :: GIMBAL_DEVICE_SET_ATTITUDE (..) => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: NAME , Self :: POSITION_TARGET_GLOBAL_INT (..) => POSITION_TARGET_GLOBAL_INT_DATA :: NAME , Self :: AUTOPILOT_VERSION_REQUEST (..) => AUTOPILOT_VERSION_REQUEST_DATA :: NAME , Self :: LOGGING_DATA (..) => LOGGING_DATA_DATA :: NAME , Self :: CHANGE_OPERATOR_CONTROL (..) => CHANGE_OPERATOR_CONTROL_DATA :: NAME , Self :: DIGICAM_CONTROL (..) => DIGICAM_CONTROL_DATA :: NAME , Self :: FENCE_STATUS (..) => FENCE_STATUS_DATA :: NAME , Self :: MISSION_ITEM (..) => MISSION_ITEM_DATA :: NAME , Self :: MISSION_REQUEST_PARTIAL_LIST (..) => MISSION_REQUEST_PARTIAL_LIST_DATA :: NAME , Self :: ATTITUDE_QUATERNION (..) => ATTITUDE_QUATERNION_DATA :: NAME , Self :: AUTOPILOT_VERSION (..) => AUTOPILOT_VERSION_DATA :: NAME , Self :: HIL_ACTUATOR_CONTROLS (..) => HIL_ACTUATOR_CONTROLS_DATA :: NAME , Self :: HIL_OPTICAL_FLOW (..) => HIL_OPTICAL_FLOW_DATA :: NAME , Self :: DATA_TRANSMISSION_HANDSHAKE (..) => DATA_TRANSMISSION_HANDSHAKE_DATA :: NAME , Self :: PLAY_TUNE_V2 (..) => PLAY_TUNE_V2_DATA :: NAME , Self :: GIMBAL_REPORT (..) => GIMBAL_REPORT_DATA :: NAME , Self :: SAFETY_SET_ALLOWED_AREA (..) => SAFETY_SET_ALLOWED_AREA_DATA :: NAME , Self :: HOME_POSITION (..) => HOME_POSITION_DATA :: NAME , Self :: DATA64 (..) => DATA64_DATA :: NAME , Self :: ESC_STATUS (..) => ESC_STATUS_DATA :: NAME , Self :: PARAM_EXT_SET (..) => PARAM_EXT_SET_DATA :: NAME , Self :: VISION_SPEED_ESTIMATE (..) => VISION_SPEED_ESTIMATE_DATA :: NAME , Self :: CHANGE_OPERATOR_CONTROL_ACK (..) => CHANGE_OPERATOR_CONTROL_ACK_DATA :: NAME , Self :: DISTANCE_SENSOR (..) => DISTANCE_SENSOR_DATA :: NAME , Self :: GIMBAL_DEVICE_INFORMATION (..) => GIMBAL_DEVICE_INFORMATION_DATA :: NAME , Self :: ATT_POS_MOCAP (..) => ATT_POS_MOCAP_DATA :: NAME , Self :: SET_MAG_OFFSETS (..) => SET_MAG_OFFSETS_DATA :: NAME , Self :: LINK_NODE_STATUS (..) => LINK_NODE_STATUS_DATA :: NAME , Self :: MISSION_ACK (..) => MISSION_ACK_DATA :: NAME , Self :: HWSTATUS (..) => HWSTATUS_DATA :: NAME , Self :: PARAM_SET (..) => PARAM_SET_DATA :: NAME , Self :: CAMERA_FEEDBACK (..) => CAMERA_FEEDBACK_DATA :: NAME , Self :: COMPONENT_INFORMATION (..) => COMPONENT_INFORMATION_DATA :: NAME , Self :: SET_ATTITUDE_TARGET (..) => SET_ATTITUDE_TARGET_DATA :: NAME , Self :: OSD_PARAM_SHOW_CONFIG_REPLY (..) => OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: NAME , Self :: RADIO_STATUS (..) => RADIO_STATUS_DATA :: NAME , Self :: CAMERA_IMAGE_CAPTURED (..) => CAMERA_IMAGE_CAPTURED_DATA :: NAME , Self :: MISSION_REQUEST_LIST (..) => MISSION_REQUEST_LIST_DATA :: NAME , Self :: UTM_GLOBAL_POSITION (..) => UTM_GLOBAL_POSITION_DATA :: NAME , Self :: HIL_CONTROLS (..) => HIL_CONTROLS_DATA :: NAME , Self :: SERVO_OUTPUT_RAW (..) => SERVO_OUTPUT_RAW_DATA :: NAME , Self :: SET_GPS_GLOBAL_ORIGIN (..) => SET_GPS_GLOBAL_ORIGIN_DATA :: NAME , Self :: UAVCAN_NODE_INFO (..) => UAVCAN_NODE_INFO_DATA :: NAME , Self :: ATTITUDE_QUATERNION_COV (..) => ATTITUDE_QUATERNION_COV_DATA :: NAME , Self :: STATUSTEXT (..) => STATUSTEXT_DATA :: NAME , Self :: GOPRO_SET_REQUEST (..) => GOPRO_SET_REQUEST_DATA :: NAME , Self :: SET_POSITION_TARGET_LOCAL_NED (..) => SET_POSITION_TARGET_LOCAL_NED_DATA :: NAME , Self :: OPTICAL_FLOW_RAD (..) => OPTICAL_FLOW_RAD_DATA :: NAME , Self :: LANDING_TARGET (..) => LANDING_TARGET_DATA :: NAME , Self :: CAMERA_TRACKING_IMAGE_STATUS (..) => CAMERA_TRACKING_IMAGE_STATUS_DATA :: NAME , Self :: LOG_DATA (..) => LOG_DATA_DATA :: NAME , Self :: UAVIONIX_ADSB_OUT_DYNAMIC (..) => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: NAME , Self :: SENSOR_OFFSETS (..) => SENSOR_OFFSETS_DATA :: NAME , Self :: WIFI_CONFIG_AP (..) => WIFI_CONFIG_AP_DATA :: NAME , Self :: DEVICE_OP_READ (..) => DEVICE_OP_READ_DATA :: NAME , Self :: GPS_RTK (..) => GPS_RTK_DATA :: NAME , Self :: PARAM_REQUEST_LIST (..) => PARAM_REQUEST_LIST_DATA :: NAME , Self :: HERELINK_VIDEO_STREAM_INFORMATION (..) => HERELINK_VIDEO_STREAM_INFORMATION_DATA :: NAME , Self :: REMOTE_LOG_BLOCK_STATUS (..) => REMOTE_LOG_BLOCK_STATUS_DATA :: NAME , Self :: COMMAND_ACK (..) => COMMAND_ACK_DATA :: NAME , Self :: CAMERA_SETTINGS (..) => CAMERA_SETTINGS_DATA :: NAME , Self :: RAW_IMU (..) => RAW_IMU_DATA :: NAME , Self :: RADIO (..) => RADIO_DATA :: NAME , Self :: SAFETY_ALLOWED_AREA (..) => SAFETY_ALLOWED_AREA_DATA :: NAME , Self :: CUBEPILOT_FIRMWARE_UPDATE_START (..) => CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: NAME , Self :: DEVICE_OP_WRITE (..) => DEVICE_OP_WRITE_DATA :: NAME , Self :: OPEN_DRONE_ID_LOCATION (..) => OPEN_DRONE_ID_LOCATION_DATA :: NAME , Self :: GIMBAL_CONTROL (..) => GIMBAL_CONTROL_DATA :: NAME , Self :: MISSION_CLEAR_ALL (..) => MISSION_CLEAR_ALL_DATA :: NAME , Self :: ONBOARD_COMPUTER_STATUS (..) => ONBOARD_COMPUTER_STATUS_DATA :: NAME , Self :: RESOURCE_REQUEST (..) => RESOURCE_REQUEST_DATA :: NAME , Self :: GLOBAL_POSITION_INT_COV (..) => GLOBAL_POSITION_INT_COV_DATA :: NAME , Self :: STORAGE_INFORMATION (..) => STORAGE_INFORMATION_DATA :: NAME , Self :: SYSTEM_TIME (..) => SYSTEM_TIME_DATA :: NAME , Self :: MISSION_CURRENT (..) => MISSION_CURRENT_DATA :: NAME , Self :: LOG_REQUEST_LIST (..) => LOG_REQUEST_LIST_DATA :: NAME , Self :: MAG_CAL_PROGRESS (..) => MAG_CAL_PROGRESS_DATA :: NAME , Self :: GPS2_RTK (..) => GPS2_RTK_DATA :: NAME , Self :: OPEN_DRONE_ID_SYSTEM (..) => OPEN_DRONE_ID_SYSTEM_DATA :: NAME , Self :: LOG_ENTRY (..) => LOG_ENTRY_DATA :: NAME , Self :: MISSION_ITEM_REACHED (..) => MISSION_ITEM_REACHED_DATA :: NAME , Self :: TERRAIN_CHECK (..) => TERRAIN_CHECK_DATA :: NAME , Self :: HEARTBEAT (..) => HEARTBEAT_DATA :: NAME , Self :: CAN_FILTER_MODIFY (..) => CAN_FILTER_MODIFY_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_PITCHYAW (..) => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: NAME , Self :: FLIGHT_INFORMATION (..) => FLIGHT_INFORMATION_DATA :: NAME , Self :: VFR_HUD (..) => VFR_HUD_DATA :: NAME , Self :: MOUNT_CONTROL (..) => MOUNT_CONTROL_DATA :: NAME , Self :: WATER_DEPTH (..) => WATER_DEPTH_DATA :: NAME , Self :: SET_MODE (..) => SET_MODE_DATA :: NAME , Self :: OSD_PARAM_CONFIG (..) => OSD_PARAM_CONFIG_DATA :: NAME , Self :: PING (..) => PING_DATA :: NAME , Self :: PARAM_EXT_ACK (..) => PARAM_EXT_ACK_DATA :: NAME , Self :: TIMESYNC (..) => TIMESYNC_DATA :: NAME , Self :: ESC_TELEMETRY_5_TO_8 (..) => ESC_TELEMETRY_5_TO_8_DATA :: NAME , Self :: RAW_PRESSURE (..) => RAW_PRESSURE_DATA :: NAME , Self :: SMART_BATTERY_INFO (..) => SMART_BATTERY_INFO_DATA :: NAME , Self :: OBSTACLE_DISTANCE (..) => OBSTACLE_DISTANCE_DATA :: NAME , Self :: CAMERA_FOV_STATUS (..) => CAMERA_FOV_STATUS_DATA :: NAME , Self :: ATTITUDE_TARGET (..) => ATTITUDE_TARGET_DATA :: NAME , Self :: GPS2_RAW (..) => GPS2_RAW_DATA :: NAME , Self :: RC_CHANNELS (..) => RC_CHANNELS_DATA :: NAME , Self :: DATA_STREAM (..) => DATA_STREAM_DATA :: NAME , Self :: VIDEO_STREAM_INFORMATION (..) => VIDEO_STREAM_INFORMATION_DATA :: NAME , Self :: HIL_GPS (..) => HIL_GPS_DATA :: NAME , Self :: VISION_POSITION_DELTA (..) => VISION_POSITION_DELTA_DATA :: NAME , Self :: TERRAIN_REQUEST (..) => TERRAIN_REQUEST_DATA :: NAME , Self :: HIGH_LATENCY (..) => HIGH_LATENCY_DATA :: NAME , Self :: TUNNEL (..) => TUNNEL_DATA :: NAME , Self :: LIMITS_STATUS (..) => LIMITS_STATUS_DATA :: NAME , Self :: TRAJECTORY_REPRESENTATION_BEZIER (..) => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: NAME , Self :: SET_ACTUATOR_CONTROL_TARGET (..) => SET_ACTUATOR_CONTROL_TARGET_DATA :: NAME , Self :: RC_CHANNELS_SCALED (..) => RC_CHANNELS_SCALED_DATA :: NAME , Self :: OPEN_DRONE_ID_SELF_ID (..) => OPEN_DRONE_ID_SELF_ID_DATA :: NAME , Self :: MOUNT_ORIENTATION (..) => MOUNT_ORIENTATION_DATA :: NAME , Self :: GLOBAL_POSITION_INT (..) => GLOBAL_POSITION_INT_DATA :: NAME , Self :: DEVICE_OP_READ_REPLY (..) => DEVICE_OP_READ_REPLY_DATA :: NAME , Self :: SERIAL_CONTROL (..) => SERIAL_CONTROL_DATA :: NAME , Self :: CAN_FRAME (..) => CAN_FRAME_DATA :: NAME , Self :: AHRS3 (..) => AHRS3_DATA :: NAME , Self :: PARAM_EXT_REQUEST_LIST (..) => PARAM_EXT_REQUEST_LIST_DATA :: NAME , Self :: CAMERA_TRACKING_GEO_STATUS (..) => CAMERA_TRACKING_GEO_STATUS_DATA :: NAME , Self :: SCALED_IMU3 (..) => SCALED_IMU3_DATA :: NAME , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (..) => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: NAME , Self :: MISSION_ITEM_INT (..) => MISSION_ITEM_INT_DATA :: NAME , Self :: ADAP_TUNING (..) => ADAP_TUNING_DATA :: NAME , Self :: EFI_STATUS (..) => EFI_STATUS_DATA :: NAME , Self :: TERRAIN_REPORT (..) => TERRAIN_REPORT_DATA :: NAME , Self :: SCALED_PRESSURE2 (..) => SCALED_PRESSURE2_DATA :: NAME , Self :: SET_HOME_POSITION (..) => SET_HOME_POSITION_DATA :: NAME , Self :: AP_ADC (..) => AP_ADC_DATA :: NAME , Self :: GIMBAL_TORQUE_CMD_REPORT (..) => GIMBAL_TORQUE_CMD_REPORT_DATA :: NAME , Self :: GOPRO_SET_RESPONSE (..) => GOPRO_SET_RESPONSE_DATA :: NAME , Self :: ESC_TELEMETRY_9_TO_12 (..) => ESC_TELEMETRY_9_TO_12_DATA :: NAME , Self :: HYGROMETER_SENSOR (..) => HYGROMETER_SENSOR_DATA :: NAME , Self :: CONTROL_SYSTEM_STATE (..) => CONTROL_SYSTEM_STATE_DATA :: NAME , Self :: BUTTON_CHANGE (..) => BUTTON_CHANGE_DATA :: NAME , Self :: VICON_POSITION_ESTIMATE (..) => VICON_POSITION_ESTIMATE_DATA :: NAME , Self :: HIL_RC_INPUTS_RAW (..) => HIL_RC_INPUTS_RAW_DATA :: NAME , Self :: OPEN_DRONE_ID_AUTHENTICATION (..) => OPEN_DRONE_ID_AUTHENTICATION_DATA :: NAME , Self :: HIL_STATE (..) => HIL_STATE_DATA :: NAME , Self :: GOPRO_GET_RESPONSE (..) => GOPRO_GET_RESPONSE_DATA :: NAME , Self :: POWER_STATUS (..) => POWER_STATUS_DATA :: NAME , Self :: AHRS (..) => AHRS_DATA :: NAME , Self :: SET_POSITION_TARGET_GLOBAL_INT (..) => SET_POSITION_TARGET_GLOBAL_INT_DATA :: NAME , Self :: LOG_ERASE (..) => LOG_ERASE_DATA :: NAME , Self :: ACTUATOR_CONTROL_TARGET (..) => ACTUATOR_CONTROL_TARGET_DATA :: NAME , Self :: NAV_CONTROLLER_OUTPUT (..) => NAV_CONTROLLER_OUTPUT_DATA :: NAME , Self :: ADSB_VEHICLE (..) => ADSB_VEHICLE_DATA :: NAME , Self :: GPS_INJECT_DATA (..) => GPS_INJECT_DATA_DATA :: NAME , Self :: NAMED_VALUE_INT (..) => NAMED_VALUE_INT_DATA :: NAME , Self :: DIGICAM_CONFIGURE (..) => DIGICAM_CONFIGURE_DATA :: NAME , Self :: EKF_STATUS_REPORT (..) => EKF_STATUS_REPORT_DATA :: NAME , Self :: OSD_PARAM_SHOW_CONFIG (..) => OSD_PARAM_SHOW_CONFIG_DATA :: NAME , Self :: REQUEST_DATA_STREAM (..) => REQUEST_DATA_STREAM_DATA :: NAME , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (..) => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: NAME , Self :: HIL_SENSOR (..) => HIL_SENSOR_DATA :: NAME , Self :: WINCH_STATUS (..) => WINCH_STATUS_DATA :: NAME , Self :: GIMBAL_MANAGER_INFORMATION (..) => GIMBAL_MANAGER_INFORMATION_DATA :: NAME , Self :: MOUNT_CONFIGURE (..) => MOUNT_CONFIGURE_DATA :: NAME , Self :: DATA32 (..) => DATA32_DATA :: NAME , Self :: COMMAND_LONG (..) => COMMAND_LONG_DATA :: NAME , Self :: NAMED_VALUE_FLOAT (..) => NAMED_VALUE_FLOAT_DATA :: NAME , Self :: MISSION_WRITE_PARTIAL_LIST (..) => MISSION_WRITE_PARTIAL_LIST_DATA :: NAME , Self :: VISION_POSITION_ESTIMATE (..) => VISION_POSITION_ESTIMATE_DATA :: NAME , Self :: MEMINFO (..) => MEMINFO_DATA :: NAME , Self :: DEVICE_OP_WRITE_REPLY (..) => DEVICE_OP_WRITE_REPLY_DATA :: NAME , Self :: COMMAND_CANCEL (..) => COMMAND_CANCEL_DATA :: NAME , Self :: RC_CHANNELS_RAW (..) => RC_CHANNELS_RAW_DATA :: NAME , Self :: PARAM_EXT_VALUE (..) => PARAM_EXT_VALUE_DATA :: NAME , Self :: RESPONSE_EVENT_ERROR (..) => RESPONSE_EVENT_ERROR_DATA :: NAME , Self :: MISSION_SET_CURRENT (..) => MISSION_SET_CURRENT_DATA :: NAME , Self :: HIL_STATE_QUATERNION (..) => HIL_STATE_QUATERNION_DATA :: NAME , Self :: UAVIONIX_ADSB_OUT_CFG (..) => UAVIONIX_ADSB_OUT_CFG_DATA :: NAME , Self :: ESTIMATOR_STATUS (..) => ESTIMATOR_STATUS_DATA :: NAME , Self :: PARAM_VALUE (..) => PARAM_VALUE_DATA :: NAME , Self :: ORBIT_EXECUTION_STATUS (..) => ORBIT_EXECUTION_STATUS_DATA :: NAME , Self :: RALLY_POINT (..) => RALLY_POINT_DATA :: NAME , Self :: MANUAL_CONTROL (..) => MANUAL_CONTROL_DATA :: NAME , Self :: EXTENDED_SYS_STATE (..) => EXTENDED_SYS_STATE_DATA :: NAME , Self :: DATA16 (..) => DATA16_DATA :: NAME , Self :: CURRENT_EVENT_SEQUENCE (..) => CURRENT_EVENT_SEQUENCE_DATA :: NAME , Self :: MOUNT_STATUS (..) => MOUNT_STATUS_DATA :: NAME , Self :: DEBUG (..) => DEBUG_DATA :: NAME , Self :: OPEN_DRONE_ID_BASIC_ID (..) => OPEN_DRONE_ID_BASIC_ID_DATA :: NAME , Self :: EVENT (..) => EVENT_DATA :: NAME , Self :: MCU_STATUS (..) => MCU_STATUS_DATA :: NAME , Self :: LOCAL_POSITION_NED_COV (..) => LOCAL_POSITION_NED_COV_DATA :: NAME , Self :: RAW_RPM (..) => RAW_RPM_DATA :: NAME , Self :: PARAM_REQUEST_READ (..) => PARAM_REQUEST_READ_DATA :: NAME , } } fn message_id (& self) -> u32 { match self { Self :: LOG_REQUEST_DATA (..) => LOG_REQUEST_DATA_DATA :: ID , Self :: AUTH_KEY (..) => AUTH_KEY_DATA :: ID , Self :: MISSION_REQUEST (..) => MISSION_REQUEST_DATA :: ID , Self :: OPEN_DRONE_ID_OPERATOR_ID (..) => OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID , Self :: CELLULAR_CONFIG (..) => CELLULAR_CONFIG_DATA :: ID , Self :: SCALED_PRESSURE3 (..) => SCALED_PRESSURE3_DATA :: ID , Self :: CUBEPILOT_RAW_RC (..) => CUBEPILOT_RAW_RC_DATA :: ID , Self :: LED_CONTROL (..) => LED_CONTROL_DATA :: ID , Self :: GPS_GLOBAL_ORIGIN (..) => GPS_GLOBAL_ORIGIN_DATA :: ID , Self :: GIMBAL_MANAGER_STATUS (..) => GIMBAL_MANAGER_STATUS_DATA :: ID , Self :: AIS_VESSEL (..) => AIS_VESSEL_DATA :: ID , Self :: SCALED_IMU (..) => SCALED_IMU_DATA :: ID , Self :: CAMERA_INFORMATION (..) => CAMERA_INFORMATION_DATA :: ID , Self :: GIMBAL_MANAGER_SET_ATTITUDE (..) => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID , Self :: SUPPORTED_TUNES (..) => SUPPORTED_TUNES_DATA :: ID , Self :: RANGEFINDER (..) => RANGEFINDER_DATA :: ID , Self :: GLOBAL_VISION_POSITION_ESTIMATE (..) => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID , Self :: GENERATOR_STATUS (..) => GENERATOR_STATUS_DATA :: ID , Self :: COLLISION (..) => COLLISION_DATA :: ID , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (..) => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID , Self :: MISSION_REQUEST_INT (..) => MISSION_REQUEST_INT_DATA :: ID , Self :: TERRAIN_DATA (..) => TERRAIN_DATA_DATA :: ID , Self :: REMOTE_LOG_DATA_BLOCK (..) => REMOTE_LOG_DATA_BLOCK_DATA :: ID , Self :: DEBUG_FLOAT_ARRAY (..) => DEBUG_FLOAT_ARRAY_DATA :: ID , Self :: OPEN_DRONE_ID_ARM_STATUS (..) => OPEN_DRONE_ID_ARM_STATUS_DATA :: ID , Self :: OPTICAL_FLOW (..) => OPTICAL_FLOW_DATA :: ID , Self :: VIDEO_STREAM_STATUS (..) => VIDEO_STREAM_STATUS_DATA :: ID , Self :: SCALED_PRESSURE (..) => SCALED_PRESSURE_DATA :: ID , Self :: HIGHRES_IMU (..) => HIGHRES_IMU_DATA :: ID , Self :: GPS_RTCM_DATA (..) => GPS_RTCM_DATA_DATA :: ID , Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (..) => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID , Self :: WIND (..) => WIND_DATA :: ID , Self :: RALLY_FETCH_POINT (..) => RALLY_FETCH_POINT_DATA :: ID , Self :: FOLLOW_TARGET (..) => FOLLOW_TARGET_DATA :: ID , Self :: GOPRO_HEARTBEAT (..) => GOPRO_HEARTBEAT_DATA :: ID , Self :: CAMERA_CAPTURE_STATUS (..) => CAMERA_CAPTURE_STATUS_DATA :: ID , Self :: MESSAGE_INTERVAL (..) => MESSAGE_INTERVAL_DATA :: ID , Self :: MEMORY_VECT (..) => MEMORY_VECT_DATA :: ID , Self :: ENCAPSULATED_DATA (..) => ENCAPSULATED_DATA_DATA :: ID , Self :: PARAM_MAP_RC (..) => PARAM_MAP_RC_DATA :: ID , Self :: LOGGING_ACK (..) => LOGGING_ACK_DATA :: ID , Self :: OPEN_DRONE_ID_MESSAGE_PACK (..) => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID , Self :: PROTOCOL_VERSION (..) => PROTOCOL_VERSION_DATA :: ID , Self :: ATTITUDE (..) => ATTITUDE_DATA :: ID , Self :: AOA_SSA (..) => AOA_SSA_DATA :: ID , Self :: ESC_TELEMETRY_1_TO_4 (..) => ESC_TELEMETRY_1_TO_4_DATA :: ID , Self :: LOGGING_DATA_ACKED (..) => LOGGING_DATA_ACKED_DATA :: ID , Self :: PLAY_TUNE (..) => PLAY_TUNE_DATA :: ID , Self :: SIM_STATE (..) => SIM_STATE_DATA :: ID , Self :: MANUAL_SETPOINT (..) => MANUAL_SETPOINT_DATA :: ID , Self :: VIBRATION (..) => VIBRATION_DATA :: ID , Self :: ACTUATOR_OUTPUT_STATUS (..) => ACTUATOR_OUTPUT_STATUS_DATA :: ID , Self :: DEEPSTALL (..) => DEEPSTALL_DATA :: ID , Self :: MAG_CAL_REPORT (..) => MAG_CAL_REPORT_DATA :: ID , Self :: TIME_ESTIMATE_TO_TARGET (..) => TIME_ESTIMATE_TO_TARGET_DATA :: ID , Self :: SCALED_IMU2 (..) => SCALED_IMU2_DATA :: ID , Self :: GOPRO_GET_REQUEST (..) => GOPRO_GET_REQUEST_DATA :: ID , Self :: COMMAND_INT (..) => COMMAND_INT_DATA :: ID , Self :: UAVCAN_NODE_STATUS (..) => UAVCAN_NODE_STATUS_DATA :: ID , Self :: ODOMETRY (..) => ODOMETRY_DATA :: ID , Self :: HIGH_LATENCY2 (..) => HIGH_LATENCY2_DATA :: ID , Self :: REQUEST_EVENT (..) => REQUEST_EVENT_DATA :: ID , Self :: ICAROUS_HEARTBEAT (..) => ICAROUS_HEARTBEAT_DATA :: ID , Self :: MISSION_COUNT (..) => MISSION_COUNT_DATA :: ID , Self :: AIRSPEED_AUTOCAL (..) => AIRSPEED_AUTOCAL_DATA :: ID , Self :: PARAM_EXT_REQUEST_READ (..) => PARAM_EXT_REQUEST_READ_DATA :: ID , Self :: CELLULAR_STATUS (..) => CELLULAR_STATUS_DATA :: ID , Self :: COMPASSMOT_STATUS (..) => COMPASSMOT_STATUS_DATA :: ID , Self :: GPS_RAW_INT (..) => GPS_RAW_INT_DATA :: ID , Self :: WIND_COV (..) => WIND_COV_DATA :: ID , Self :: V2_EXTENSION (..) => V2_EXTENSION_DATA :: ID , Self :: WHEEL_DISTANCE (..) => WHEEL_DISTANCE_DATA :: ID , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (..) => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID , Self :: OSD_PARAM_CONFIG_REPLY (..) => OSD_PARAM_CONFIG_REPLY_DATA :: ID , Self :: AHRS2 (..) => AHRS2_DATA :: ID , Self :: BATTERY2 (..) => BATTERY2_DATA :: ID , Self :: LOG_REQUEST_END (..) => LOG_REQUEST_END_DATA :: ID , Self :: FILE_TRANSFER_PROTOCOL (..) => FILE_TRANSFER_PROTOCOL_DATA :: ID , Self :: LOCAL_POSITION_NED (..) => LOCAL_POSITION_NED_DATA :: ID , Self :: PID_TUNING (..) => PID_TUNING_DATA :: ID , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (..) => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID , Self :: ICAROUS_KINEMATIC_BANDS (..) => ICAROUS_KINEMATIC_BANDS_DATA :: ID , Self :: ESC_INFO (..) => ESC_INFO_DATA :: ID , Self :: POSITION_TARGET_LOCAL_NED (..) => POSITION_TARGET_LOCAL_NED_DATA :: ID , Self :: CAMERA_TRIGGER (..) => CAMERA_TRIGGER_DATA :: ID , Self :: GPS_INPUT (..) => GPS_INPUT_DATA :: ID , Self :: BATTERY_STATUS (..) => BATTERY_STATUS_DATA :: ID , Self :: FENCE_FETCH_POINT (..) => FENCE_FETCH_POINT_DATA :: ID , Self :: SYS_STATUS (..) => SYS_STATUS_DATA :: ID , Self :: ISBD_LINK_STATUS (..) => ISBD_LINK_STATUS_DATA :: ID , Self :: DEBUG_VECT (..) => DEBUG_VECT_DATA :: ID , Self :: SIMSTATE (..) => SIMSTATE_DATA :: ID , Self :: FENCE_POINT (..) => FENCE_POINT_DATA :: ID , Self :: CUBEPILOT_FIRMWARE_UPDATE_RESP (..) => CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: ID , Self :: SETUP_SIGNING (..) => SETUP_SIGNING_DATA :: ID , Self :: COMPONENT_METADATA (..) => COMPONENT_METADATA_DATA :: ID , Self :: CAMERA_STATUS (..) => CAMERA_STATUS_DATA :: ID , Self :: DATA96 (..) => DATA96_DATA :: ID , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (..) => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID , Self :: ALTITUDE (..) => ALTITUDE_DATA :: ID , Self :: OBSTACLE_DISTANCE_3D (..) => OBSTACLE_DISTANCE_3D_DATA :: ID , Self :: HERELINK_TELEM (..) => HERELINK_TELEM_DATA :: ID , Self :: GPS_STATUS (..) => GPS_STATUS_DATA :: ID , Self :: RC_CHANNELS_OVERRIDE (..) => RC_CHANNELS_OVERRIDE_DATA :: ID , Self :: RPM (..) => RPM_DATA :: ID , Self :: CANFD_FRAME (..) => CANFD_FRAME_DATA :: ID , Self :: GIMBAL_DEVICE_SET_ATTITUDE (..) => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID , Self :: POSITION_TARGET_GLOBAL_INT (..) => POSITION_TARGET_GLOBAL_INT_DATA :: ID , Self :: AUTOPILOT_VERSION_REQUEST (..) => AUTOPILOT_VERSION_REQUEST_DATA :: ID , Self :: LOGGING_DATA (..) => LOGGING_DATA_DATA :: ID , Self :: CHANGE_OPERATOR_CONTROL (..) => CHANGE_OPERATOR_CONTROL_DATA :: ID , Self :: DIGICAM_CONTROL (..) => DIGICAM_CONTROL_DATA :: ID , Self :: FENCE_STATUS (..) => FENCE_STATUS_DATA :: ID , Self :: MISSION_ITEM (..) => MISSION_ITEM_DATA :: ID , Self :: MISSION_REQUEST_PARTIAL_LIST (..) => MISSION_REQUEST_PARTIAL_LIST_DATA :: ID , Self :: ATTITUDE_QUATERNION (..) => ATTITUDE_QUATERNION_DATA :: ID , Self :: AUTOPILOT_VERSION (..) => AUTOPILOT_VERSION_DATA :: ID , Self :: HIL_ACTUATOR_CONTROLS (..) => HIL_ACTUATOR_CONTROLS_DATA :: ID , Self :: HIL_OPTICAL_FLOW (..) => HIL_OPTICAL_FLOW_DATA :: ID , Self :: DATA_TRANSMISSION_HANDSHAKE (..) => DATA_TRANSMISSION_HANDSHAKE_DATA :: ID , Self :: PLAY_TUNE_V2 (..) => PLAY_TUNE_V2_DATA :: ID , Self :: GIMBAL_REPORT (..) => GIMBAL_REPORT_DATA :: ID , Self :: SAFETY_SET_ALLOWED_AREA (..) => SAFETY_SET_ALLOWED_AREA_DATA :: ID , Self :: HOME_POSITION (..) => HOME_POSITION_DATA :: ID , Self :: DATA64 (..) => DATA64_DATA :: ID , Self :: ESC_STATUS (..) => ESC_STATUS_DATA :: ID , Self :: PARAM_EXT_SET (..) => PARAM_EXT_SET_DATA :: ID , Self :: VISION_SPEED_ESTIMATE (..) => VISION_SPEED_ESTIMATE_DATA :: ID , Self :: CHANGE_OPERATOR_CONTROL_ACK (..) => CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID , Self :: DISTANCE_SENSOR (..) => DISTANCE_SENSOR_DATA :: ID , Self :: GIMBAL_DEVICE_INFORMATION (..) => GIMBAL_DEVICE_INFORMATION_DATA :: ID , Self :: ATT_POS_MOCAP (..) => ATT_POS_MOCAP_DATA :: ID , Self :: SET_MAG_OFFSETS (..) => SET_MAG_OFFSETS_DATA :: ID , Self :: LINK_NODE_STATUS (..) => LINK_NODE_STATUS_DATA :: ID , Self :: MISSION_ACK (..) => MISSION_ACK_DATA :: ID , Self :: HWSTATUS (..) => HWSTATUS_DATA :: ID , Self :: PARAM_SET (..) => PARAM_SET_DATA :: ID , Self :: CAMERA_FEEDBACK (..) => CAMERA_FEEDBACK_DATA :: ID , Self :: COMPONENT_INFORMATION (..) => COMPONENT_INFORMATION_DATA :: ID , Self :: SET_ATTITUDE_TARGET (..) => SET_ATTITUDE_TARGET_DATA :: ID , Self :: OSD_PARAM_SHOW_CONFIG_REPLY (..) => OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: ID , Self :: RADIO_STATUS (..) => RADIO_STATUS_DATA :: ID , Self :: CAMERA_IMAGE_CAPTURED (..) => CAMERA_IMAGE_CAPTURED_DATA :: ID , Self :: MISSION_REQUEST_LIST (..) => MISSION_REQUEST_LIST_DATA :: ID , Self :: UTM_GLOBAL_POSITION (..) => UTM_GLOBAL_POSITION_DATA :: ID , Self :: HIL_CONTROLS (..) => HIL_CONTROLS_DATA :: ID , Self :: SERVO_OUTPUT_RAW (..) => SERVO_OUTPUT_RAW_DATA :: ID , Self :: SET_GPS_GLOBAL_ORIGIN (..) => SET_GPS_GLOBAL_ORIGIN_DATA :: ID , Self :: UAVCAN_NODE_INFO (..) => UAVCAN_NODE_INFO_DATA :: ID , Self :: ATTITUDE_QUATERNION_COV (..) => ATTITUDE_QUATERNION_COV_DATA :: ID , Self :: STATUSTEXT (..) => STATUSTEXT_DATA :: ID , Self :: GOPRO_SET_REQUEST (..) => GOPRO_SET_REQUEST_DATA :: ID , Self :: SET_POSITION_TARGET_LOCAL_NED (..) => SET_POSITION_TARGET_LOCAL_NED_DATA :: ID , Self :: OPTICAL_FLOW_RAD (..) => OPTICAL_FLOW_RAD_DATA :: ID , Self :: LANDING_TARGET (..) => LANDING_TARGET_DATA :: ID , Self :: CAMERA_TRACKING_IMAGE_STATUS (..) => CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID , Self :: LOG_DATA (..) => LOG_DATA_DATA :: ID , Self :: UAVIONIX_ADSB_OUT_DYNAMIC (..) => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID , Self :: SENSOR_OFFSETS (..) => SENSOR_OFFSETS_DATA :: ID , Self :: WIFI_CONFIG_AP (..) => WIFI_CONFIG_AP_DATA :: ID , Self :: DEVICE_OP_READ (..) => DEVICE_OP_READ_DATA :: ID , Self :: GPS_RTK (..) => GPS_RTK_DATA :: ID , Self :: PARAM_REQUEST_LIST (..) => PARAM_REQUEST_LIST_DATA :: ID , Self :: HERELINK_VIDEO_STREAM_INFORMATION (..) => HERELINK_VIDEO_STREAM_INFORMATION_DATA :: ID , Self :: REMOTE_LOG_BLOCK_STATUS (..) => REMOTE_LOG_BLOCK_STATUS_DATA :: ID , Self :: COMMAND_ACK (..) => COMMAND_ACK_DATA :: ID , Self :: CAMERA_SETTINGS (..) => CAMERA_SETTINGS_DATA :: ID , Self :: RAW_IMU (..) => RAW_IMU_DATA :: ID , Self :: RADIO (..) => RADIO_DATA :: ID , Self :: SAFETY_ALLOWED_AREA (..) => SAFETY_ALLOWED_AREA_DATA :: ID , Self :: CUBEPILOT_FIRMWARE_UPDATE_START (..) => CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: ID , Self :: DEVICE_OP_WRITE (..) => DEVICE_OP_WRITE_DATA :: ID , Self :: OPEN_DRONE_ID_LOCATION (..) => OPEN_DRONE_ID_LOCATION_DATA :: ID , Self :: GIMBAL_CONTROL (..) => GIMBAL_CONTROL_DATA :: ID , Self :: MISSION_CLEAR_ALL (..) => MISSION_CLEAR_ALL_DATA :: ID , Self :: ONBOARD_COMPUTER_STATUS (..) => ONBOARD_COMPUTER_STATUS_DATA :: ID , Self :: RESOURCE_REQUEST (..) => RESOURCE_REQUEST_DATA :: ID , Self :: GLOBAL_POSITION_INT_COV (..) => GLOBAL_POSITION_INT_COV_DATA :: ID , Self :: STORAGE_INFORMATION (..) => STORAGE_INFORMATION_DATA :: ID , Self :: SYSTEM_TIME (..) => SYSTEM_TIME_DATA :: ID , Self :: MISSION_CURRENT (..) => MISSION_CURRENT_DATA :: ID , Self :: LOG_REQUEST_LIST (..) => LOG_REQUEST_LIST_DATA :: ID , Self :: MAG_CAL_PROGRESS (..) => MAG_CAL_PROGRESS_DATA :: ID , Self :: GPS2_RTK (..) => GPS2_RTK_DATA :: ID , Self :: OPEN_DRONE_ID_SYSTEM (..) => OPEN_DRONE_ID_SYSTEM_DATA :: ID , Self :: LOG_ENTRY (..) => LOG_ENTRY_DATA :: ID , Self :: MISSION_ITEM_REACHED (..) => MISSION_ITEM_REACHED_DATA :: ID , Self :: TERRAIN_CHECK (..) => TERRAIN_CHECK_DATA :: ID , Self :: HEARTBEAT (..) => HEARTBEAT_DATA :: ID , Self :: CAN_FILTER_MODIFY (..) => CAN_FILTER_MODIFY_DATA :: ID , Self :: GIMBAL_MANAGER_SET_PITCHYAW (..) => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID , Self :: FLIGHT_INFORMATION (..) => FLIGHT_INFORMATION_DATA :: ID , Self :: VFR_HUD (..) => VFR_HUD_DATA :: ID , Self :: MOUNT_CONTROL (..) => MOUNT_CONTROL_DATA :: ID , Self :: WATER_DEPTH (..) => WATER_DEPTH_DATA :: ID , Self :: SET_MODE (..) => SET_MODE_DATA :: ID , Self :: OSD_PARAM_CONFIG (..) => OSD_PARAM_CONFIG_DATA :: ID , Self :: PING (..) => PING_DATA :: ID , Self :: PARAM_EXT_ACK (..) => PARAM_EXT_ACK_DATA :: ID , Self :: TIMESYNC (..) => TIMESYNC_DATA :: ID , Self :: ESC_TELEMETRY_5_TO_8 (..) => ESC_TELEMETRY_5_TO_8_DATA :: ID , Self :: RAW_PRESSURE (..) => RAW_PRESSURE_DATA :: ID , Self :: SMART_BATTERY_INFO (..) => SMART_BATTERY_INFO_DATA :: ID , Self :: OBSTACLE_DISTANCE (..) => OBSTACLE_DISTANCE_DATA :: ID , Self :: CAMERA_FOV_STATUS (..) => CAMERA_FOV_STATUS_DATA :: ID , Self :: ATTITUDE_TARGET (..) => ATTITUDE_TARGET_DATA :: ID , Self :: GPS2_RAW (..) => GPS2_RAW_DATA :: ID , Self :: RC_CHANNELS (..) => RC_CHANNELS_DATA :: ID , Self :: DATA_STREAM (..) => DATA_STREAM_DATA :: ID , Self :: VIDEO_STREAM_INFORMATION (..) => VIDEO_STREAM_INFORMATION_DATA :: ID , Self :: HIL_GPS (..) => HIL_GPS_DATA :: ID , Self :: VISION_POSITION_DELTA (..) => VISION_POSITION_DELTA_DATA :: ID , Self :: TERRAIN_REQUEST (..) => TERRAIN_REQUEST_DATA :: ID , Self :: HIGH_LATENCY (..) => HIGH_LATENCY_DATA :: ID , Self :: TUNNEL (..) => TUNNEL_DATA :: ID , Self :: LIMITS_STATUS (..) => LIMITS_STATUS_DATA :: ID , Self :: TRAJECTORY_REPRESENTATION_BEZIER (..) => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID , Self :: SET_ACTUATOR_CONTROL_TARGET (..) => SET_ACTUATOR_CONTROL_TARGET_DATA :: ID , Self :: RC_CHANNELS_SCALED (..) => RC_CHANNELS_SCALED_DATA :: ID , Self :: OPEN_DRONE_ID_SELF_ID (..) => OPEN_DRONE_ID_SELF_ID_DATA :: ID , Self :: MOUNT_ORIENTATION (..) => MOUNT_ORIENTATION_DATA :: ID , Self :: GLOBAL_POSITION_INT (..) => GLOBAL_POSITION_INT_DATA :: ID , Self :: DEVICE_OP_READ_REPLY (..) => DEVICE_OP_READ_REPLY_DATA :: ID , Self :: SERIAL_CONTROL (..) => SERIAL_CONTROL_DATA :: ID , Self :: CAN_FRAME (..) => CAN_FRAME_DATA :: ID , Self :: AHRS3 (..) => AHRS3_DATA :: ID , Self :: PARAM_EXT_REQUEST_LIST (..) => PARAM_EXT_REQUEST_LIST_DATA :: ID , Self :: CAMERA_TRACKING_GEO_STATUS (..) => CAMERA_TRACKING_GEO_STATUS_DATA :: ID , Self :: SCALED_IMU3 (..) => SCALED_IMU3_DATA :: ID , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (..) => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID , Self :: MISSION_ITEM_INT (..) => MISSION_ITEM_INT_DATA :: ID , Self :: ADAP_TUNING (..) => ADAP_TUNING_DATA :: ID , Self :: EFI_STATUS (..) => EFI_STATUS_DATA :: ID , Self :: TERRAIN_REPORT (..) => TERRAIN_REPORT_DATA :: ID , Self :: SCALED_PRESSURE2 (..) => SCALED_PRESSURE2_DATA :: ID , Self :: SET_HOME_POSITION (..) => SET_HOME_POSITION_DATA :: ID , Self :: AP_ADC (..) => AP_ADC_DATA :: ID , Self :: GIMBAL_TORQUE_CMD_REPORT (..) => GIMBAL_TORQUE_CMD_REPORT_DATA :: ID , Self :: GOPRO_SET_RESPONSE (..) => GOPRO_SET_RESPONSE_DATA :: ID , Self :: ESC_TELEMETRY_9_TO_12 (..) => ESC_TELEMETRY_9_TO_12_DATA :: ID , Self :: HYGROMETER_SENSOR (..) => HYGROMETER_SENSOR_DATA :: ID , Self :: CONTROL_SYSTEM_STATE (..) => CONTROL_SYSTEM_STATE_DATA :: ID , Self :: BUTTON_CHANGE (..) => BUTTON_CHANGE_DATA :: ID , Self :: VICON_POSITION_ESTIMATE (..) => VICON_POSITION_ESTIMATE_DATA :: ID , Self :: HIL_RC_INPUTS_RAW (..) => HIL_RC_INPUTS_RAW_DATA :: ID , Self :: OPEN_DRONE_ID_AUTHENTICATION (..) => OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID , Self :: HIL_STATE (..) => HIL_STATE_DATA :: ID , Self :: GOPRO_GET_RESPONSE (..) => GOPRO_GET_RESPONSE_DATA :: ID , Self :: POWER_STATUS (..) => POWER_STATUS_DATA :: ID , Self :: AHRS (..) => AHRS_DATA :: ID , Self :: SET_POSITION_TARGET_GLOBAL_INT (..) => SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID , Self :: LOG_ERASE (..) => LOG_ERASE_DATA :: ID , Self :: ACTUATOR_CONTROL_TARGET (..) => ACTUATOR_CONTROL_TARGET_DATA :: ID , Self :: NAV_CONTROLLER_OUTPUT (..) => NAV_CONTROLLER_OUTPUT_DATA :: ID , Self :: ADSB_VEHICLE (..) => ADSB_VEHICLE_DATA :: ID , Self :: GPS_INJECT_DATA (..) => GPS_INJECT_DATA_DATA :: ID , Self :: NAMED_VALUE_INT (..) => NAMED_VALUE_INT_DATA :: ID , Self :: DIGICAM_CONFIGURE (..) => DIGICAM_CONFIGURE_DATA :: ID , Self :: EKF_STATUS_REPORT (..) => EKF_STATUS_REPORT_DATA :: ID , Self :: OSD_PARAM_SHOW_CONFIG (..) => OSD_PARAM_SHOW_CONFIG_DATA :: ID , Self :: REQUEST_DATA_STREAM (..) => REQUEST_DATA_STREAM_DATA :: ID , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (..) => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID , Self :: HIL_SENSOR (..) => HIL_SENSOR_DATA :: ID , Self :: WINCH_STATUS (..) => WINCH_STATUS_DATA :: ID , Self :: GIMBAL_MANAGER_INFORMATION (..) => GIMBAL_MANAGER_INFORMATION_DATA :: ID , Self :: MOUNT_CONFIGURE (..) => MOUNT_CONFIGURE_DATA :: ID , Self :: DATA32 (..) => DATA32_DATA :: ID , Self :: COMMAND_LONG (..) => COMMAND_LONG_DATA :: ID , Self :: NAMED_VALUE_FLOAT (..) => NAMED_VALUE_FLOAT_DATA :: ID , Self :: MISSION_WRITE_PARTIAL_LIST (..) => MISSION_WRITE_PARTIAL_LIST_DATA :: ID , Self :: VISION_POSITION_ESTIMATE (..) => VISION_POSITION_ESTIMATE_DATA :: ID , Self :: MEMINFO (..) => MEMINFO_DATA :: ID , Self :: DEVICE_OP_WRITE_REPLY (..) => DEVICE_OP_WRITE_REPLY_DATA :: ID , Self :: COMMAND_CANCEL (..) => COMMAND_CANCEL_DATA :: ID , Self :: RC_CHANNELS_RAW (..) => RC_CHANNELS_RAW_DATA :: ID , Self :: PARAM_EXT_VALUE (..) => PARAM_EXT_VALUE_DATA :: ID , Self :: RESPONSE_EVENT_ERROR (..) => RESPONSE_EVENT_ERROR_DATA :: ID , Self :: MISSION_SET_CURRENT (..) => MISSION_SET_CURRENT_DATA :: ID , Self :: HIL_STATE_QUATERNION (..) => HIL_STATE_QUATERNION_DATA :: ID , Self :: UAVIONIX_ADSB_OUT_CFG (..) => UAVIONIX_ADSB_OUT_CFG_DATA :: ID , Self :: ESTIMATOR_STATUS (..) => ESTIMATOR_STATUS_DATA :: ID , Self :: PARAM_VALUE (..) => PARAM_VALUE_DATA :: ID , Self :: ORBIT_EXECUTION_STATUS (..) => ORBIT_EXECUTION_STATUS_DATA :: ID , Self :: RALLY_POINT (..) => RALLY_POINT_DATA :: ID , Self :: MANUAL_CONTROL (..) => MANUAL_CONTROL_DATA :: ID , Self :: EXTENDED_SYS_STATE (..) => EXTENDED_SYS_STATE_DATA :: ID , Self :: DATA16 (..) => DATA16_DATA :: ID , Self :: CURRENT_EVENT_SEQUENCE (..) => CURRENT_EVENT_SEQUENCE_DATA :: ID , Self :: MOUNT_STATUS (..) => MOUNT_STATUS_DATA :: ID , Self :: DEBUG (..) => DEBUG_DATA :: ID , Self :: OPEN_DRONE_ID_BASIC_ID (..) => OPEN_DRONE_ID_BASIC_ID_DATA :: ID , Self :: EVENT (..) => EVENT_DATA :: ID , Self :: MCU_STATUS (..) => MCU_STATUS_DATA :: ID , Self :: LOCAL_POSITION_NED_COV (..) => LOCAL_POSITION_NED_COV_DATA :: ID , Self :: RAW_RPM (..) => RAW_RPM_DATA :: ID , Self :: PARAM_REQUEST_READ (..) => PARAM_REQUEST_READ_DATA :: ID , } } fn message_id_from_name (name : & str) -> Result < u32 , & 'static str > { match name { LOG_REQUEST_DATA_DATA :: NAME => Ok (LOG_REQUEST_DATA_DATA :: ID) , AUTH_KEY_DATA :: NAME => Ok (AUTH_KEY_DATA :: ID) , MISSION_REQUEST_DATA :: NAME => Ok (MISSION_REQUEST_DATA :: ID) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID) , CELLULAR_CONFIG_DATA :: NAME => Ok (CELLULAR_CONFIG_DATA :: ID) , SCALED_PRESSURE3_DATA :: NAME => Ok (SCALED_PRESSURE3_DATA :: ID) , CUBEPILOT_RAW_RC_DATA :: NAME => Ok (CUBEPILOT_RAW_RC_DATA :: ID) , LED_CONTROL_DATA :: NAME => Ok (LED_CONTROL_DATA :: ID) , GPS_GLOBAL_ORIGIN_DATA :: NAME => Ok (GPS_GLOBAL_ORIGIN_DATA :: ID) , GIMBAL_MANAGER_STATUS_DATA :: NAME => Ok (GIMBAL_MANAGER_STATUS_DATA :: ID) , AIS_VESSEL_DATA :: NAME => Ok (AIS_VESSEL_DATA :: ID) , SCALED_IMU_DATA :: NAME => Ok (SCALED_IMU_DATA :: ID) , CAMERA_INFORMATION_DATA :: NAME => Ok (CAMERA_INFORMATION_DATA :: ID) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID) , SUPPORTED_TUNES_DATA :: NAME => Ok (SUPPORTED_TUNES_DATA :: ID) , RANGEFINDER_DATA :: NAME => Ok (RANGEFINDER_DATA :: ID) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: NAME => Ok (GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID) , GENERATOR_STATUS_DATA :: NAME => Ok (GENERATOR_STATUS_DATA :: ID) , COLLISION_DATA :: NAME => Ok (COLLISION_DATA :: ID) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: NAME => Ok (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID) , MISSION_REQUEST_INT_DATA :: NAME => Ok (MISSION_REQUEST_INT_DATA :: ID) , TERRAIN_DATA_DATA :: NAME => Ok (TERRAIN_DATA_DATA :: ID) , REMOTE_LOG_DATA_BLOCK_DATA :: NAME => Ok (REMOTE_LOG_DATA_BLOCK_DATA :: ID) , DEBUG_FLOAT_ARRAY_DATA :: NAME => Ok (DEBUG_FLOAT_ARRAY_DATA :: ID) , OPEN_DRONE_ID_ARM_STATUS_DATA :: NAME => Ok (OPEN_DRONE_ID_ARM_STATUS_DATA :: ID) , OPTICAL_FLOW_DATA :: NAME => Ok (OPTICAL_FLOW_DATA :: ID) , VIDEO_STREAM_STATUS_DATA :: NAME => Ok (VIDEO_STREAM_STATUS_DATA :: ID) , SCALED_PRESSURE_DATA :: NAME => Ok (SCALED_PRESSURE_DATA :: ID) , HIGHRES_IMU_DATA :: NAME => Ok (HIGHRES_IMU_DATA :: ID) , GPS_RTCM_DATA_DATA :: NAME => Ok (GPS_RTCM_DATA_DATA :: ID) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: NAME => Ok (UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID) , WIND_DATA :: NAME => Ok (WIND_DATA :: ID) , RALLY_FETCH_POINT_DATA :: NAME => Ok (RALLY_FETCH_POINT_DATA :: ID) , FOLLOW_TARGET_DATA :: NAME => Ok (FOLLOW_TARGET_DATA :: ID) , GOPRO_HEARTBEAT_DATA :: NAME => Ok (GOPRO_HEARTBEAT_DATA :: ID) , CAMERA_CAPTURE_STATUS_DATA :: NAME => Ok (CAMERA_CAPTURE_STATUS_DATA :: ID) , MESSAGE_INTERVAL_DATA :: NAME => Ok (MESSAGE_INTERVAL_DATA :: ID) , MEMORY_VECT_DATA :: NAME => Ok (MEMORY_VECT_DATA :: ID) , ENCAPSULATED_DATA_DATA :: NAME => Ok (ENCAPSULATED_DATA_DATA :: ID) , PARAM_MAP_RC_DATA :: NAME => Ok (PARAM_MAP_RC_DATA :: ID) , LOGGING_ACK_DATA :: NAME => Ok (LOGGING_ACK_DATA :: ID) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: NAME => Ok (OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID) , PROTOCOL_VERSION_DATA :: NAME => Ok (PROTOCOL_VERSION_DATA :: ID) , ATTITUDE_DATA :: NAME => Ok (ATTITUDE_DATA :: ID) , AOA_SSA_DATA :: NAME => Ok (AOA_SSA_DATA :: ID) , ESC_TELEMETRY_1_TO_4_DATA :: NAME => Ok (ESC_TELEMETRY_1_TO_4_DATA :: ID) , LOGGING_DATA_ACKED_DATA :: NAME => Ok (LOGGING_DATA_ACKED_DATA :: ID) , PLAY_TUNE_DATA :: NAME => Ok (PLAY_TUNE_DATA :: ID) , SIM_STATE_DATA :: NAME => Ok (SIM_STATE_DATA :: ID) , MANUAL_SETPOINT_DATA :: NAME => Ok (MANUAL_SETPOINT_DATA :: ID) , VIBRATION_DATA :: NAME => Ok (VIBRATION_DATA :: ID) , ACTUATOR_OUTPUT_STATUS_DATA :: NAME => Ok (ACTUATOR_OUTPUT_STATUS_DATA :: ID) , DEEPSTALL_DATA :: NAME => Ok (DEEPSTALL_DATA :: ID) , MAG_CAL_REPORT_DATA :: NAME => Ok (MAG_CAL_REPORT_DATA :: ID) , TIME_ESTIMATE_TO_TARGET_DATA :: NAME => Ok (TIME_ESTIMATE_TO_TARGET_DATA :: ID) , SCALED_IMU2_DATA :: NAME => Ok (SCALED_IMU2_DATA :: ID) , GOPRO_GET_REQUEST_DATA :: NAME => Ok (GOPRO_GET_REQUEST_DATA :: ID) , COMMAND_INT_DATA :: NAME => Ok (COMMAND_INT_DATA :: ID) , UAVCAN_NODE_STATUS_DATA :: NAME => Ok (UAVCAN_NODE_STATUS_DATA :: ID) , ODOMETRY_DATA :: NAME => Ok (ODOMETRY_DATA :: ID) , HIGH_LATENCY2_DATA :: NAME => Ok (HIGH_LATENCY2_DATA :: ID) , REQUEST_EVENT_DATA :: NAME => Ok (REQUEST_EVENT_DATA :: ID) , ICAROUS_HEARTBEAT_DATA :: NAME => Ok (ICAROUS_HEARTBEAT_DATA :: ID) , MISSION_COUNT_DATA :: NAME => Ok (MISSION_COUNT_DATA :: ID) , AIRSPEED_AUTOCAL_DATA :: NAME => Ok (AIRSPEED_AUTOCAL_DATA :: ID) , PARAM_EXT_REQUEST_READ_DATA :: NAME => Ok (PARAM_EXT_REQUEST_READ_DATA :: ID) , CELLULAR_STATUS_DATA :: NAME => Ok (CELLULAR_STATUS_DATA :: ID) , COMPASSMOT_STATUS_DATA :: NAME => Ok (COMPASSMOT_STATUS_DATA :: ID) , GPS_RAW_INT_DATA :: NAME => Ok (GPS_RAW_INT_DATA :: ID) , WIND_COV_DATA :: NAME => Ok (WIND_COV_DATA :: ID) , V2_EXTENSION_DATA :: NAME => Ok (V2_EXTENSION_DATA :: ID) , WHEEL_DISTANCE_DATA :: NAME => Ok (WHEEL_DISTANCE_DATA :: ID) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: NAME => Ok (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID) , OSD_PARAM_CONFIG_REPLY_DATA :: NAME => Ok (OSD_PARAM_CONFIG_REPLY_DATA :: ID) , AHRS2_DATA :: NAME => Ok (AHRS2_DATA :: ID) , BATTERY2_DATA :: NAME => Ok (BATTERY2_DATA :: ID) , LOG_REQUEST_END_DATA :: NAME => Ok (LOG_REQUEST_END_DATA :: ID) , FILE_TRANSFER_PROTOCOL_DATA :: NAME => Ok (FILE_TRANSFER_PROTOCOL_DATA :: ID) , LOCAL_POSITION_NED_DATA :: NAME => Ok (LOCAL_POSITION_NED_DATA :: ID) , PID_TUNING_DATA :: NAME => Ok (PID_TUNING_DATA :: ID) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: NAME => Ok (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID) , ICAROUS_KINEMATIC_BANDS_DATA :: NAME => Ok (ICAROUS_KINEMATIC_BANDS_DATA :: ID) , ESC_INFO_DATA :: NAME => Ok (ESC_INFO_DATA :: ID) , POSITION_TARGET_LOCAL_NED_DATA :: NAME => Ok (POSITION_TARGET_LOCAL_NED_DATA :: ID) , CAMERA_TRIGGER_DATA :: NAME => Ok (CAMERA_TRIGGER_DATA :: ID) , GPS_INPUT_DATA :: NAME => Ok (GPS_INPUT_DATA :: ID) , BATTERY_STATUS_DATA :: NAME => Ok (BATTERY_STATUS_DATA :: ID) , FENCE_FETCH_POINT_DATA :: NAME => Ok (FENCE_FETCH_POINT_DATA :: ID) , SYS_STATUS_DATA :: NAME => Ok (SYS_STATUS_DATA :: ID) , ISBD_LINK_STATUS_DATA :: NAME => Ok (ISBD_LINK_STATUS_DATA :: ID) , DEBUG_VECT_DATA :: NAME => Ok (DEBUG_VECT_DATA :: ID) , SIMSTATE_DATA :: NAME => Ok (SIMSTATE_DATA :: ID) , FENCE_POINT_DATA :: NAME => Ok (FENCE_POINT_DATA :: ID) , CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: NAME => Ok (CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: ID) , SETUP_SIGNING_DATA :: NAME => Ok (SETUP_SIGNING_DATA :: ID) , COMPONENT_METADATA_DATA :: NAME => Ok (COMPONENT_METADATA_DATA :: ID) , CAMERA_STATUS_DATA :: NAME => Ok (CAMERA_STATUS_DATA :: ID) , DATA96_DATA :: NAME => Ok (DATA96_DATA :: ID) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID) , ALTITUDE_DATA :: NAME => Ok (ALTITUDE_DATA :: ID) , OBSTACLE_DISTANCE_3D_DATA :: NAME => Ok (OBSTACLE_DISTANCE_3D_DATA :: ID) , HERELINK_TELEM_DATA :: NAME => Ok (HERELINK_TELEM_DATA :: ID) , GPS_STATUS_DATA :: NAME => Ok (GPS_STATUS_DATA :: ID) , RC_CHANNELS_OVERRIDE_DATA :: NAME => Ok (RC_CHANNELS_OVERRIDE_DATA :: ID) , RPM_DATA :: NAME => Ok (RPM_DATA :: ID) , CANFD_FRAME_DATA :: NAME => Ok (CANFD_FRAME_DATA :: ID) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: NAME => Ok (GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID) , POSITION_TARGET_GLOBAL_INT_DATA :: NAME => Ok (POSITION_TARGET_GLOBAL_INT_DATA :: ID) , AUTOPILOT_VERSION_REQUEST_DATA :: NAME => Ok (AUTOPILOT_VERSION_REQUEST_DATA :: ID) , LOGGING_DATA_DATA :: NAME => Ok (LOGGING_DATA_DATA :: ID) , CHANGE_OPERATOR_CONTROL_DATA :: NAME => Ok (CHANGE_OPERATOR_CONTROL_DATA :: ID) , DIGICAM_CONTROL_DATA :: NAME => Ok (DIGICAM_CONTROL_DATA :: ID) , FENCE_STATUS_DATA :: NAME => Ok (FENCE_STATUS_DATA :: ID) , MISSION_ITEM_DATA :: NAME => Ok (MISSION_ITEM_DATA :: ID) , MISSION_REQUEST_PARTIAL_LIST_DATA :: NAME => Ok (MISSION_REQUEST_PARTIAL_LIST_DATA :: ID) , ATTITUDE_QUATERNION_DATA :: NAME => Ok (ATTITUDE_QUATERNION_DATA :: ID) , AUTOPILOT_VERSION_DATA :: NAME => Ok (AUTOPILOT_VERSION_DATA :: ID) , HIL_ACTUATOR_CONTROLS_DATA :: NAME => Ok (HIL_ACTUATOR_CONTROLS_DATA :: ID) , HIL_OPTICAL_FLOW_DATA :: NAME => Ok (HIL_OPTICAL_FLOW_DATA :: ID) , DATA_TRANSMISSION_HANDSHAKE_DATA :: NAME => Ok (DATA_TRANSMISSION_HANDSHAKE_DATA :: ID) , PLAY_TUNE_V2_DATA :: NAME => Ok (PLAY_TUNE_V2_DATA :: ID) , GIMBAL_REPORT_DATA :: NAME => Ok (GIMBAL_REPORT_DATA :: ID) , SAFETY_SET_ALLOWED_AREA_DATA :: NAME => Ok (SAFETY_SET_ALLOWED_AREA_DATA :: ID) , HOME_POSITION_DATA :: NAME => Ok (HOME_POSITION_DATA :: ID) , DATA64_DATA :: NAME => Ok (DATA64_DATA :: ID) , ESC_STATUS_DATA :: NAME => Ok (ESC_STATUS_DATA :: ID) , PARAM_EXT_SET_DATA :: NAME => Ok (PARAM_EXT_SET_DATA :: ID) , VISION_SPEED_ESTIMATE_DATA :: NAME => Ok (VISION_SPEED_ESTIMATE_DATA :: ID) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: NAME => Ok (CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID) , DISTANCE_SENSOR_DATA :: NAME => Ok (DISTANCE_SENSOR_DATA :: ID) , GIMBAL_DEVICE_INFORMATION_DATA :: NAME => Ok (GIMBAL_DEVICE_INFORMATION_DATA :: ID) , ATT_POS_MOCAP_DATA :: NAME => Ok (ATT_POS_MOCAP_DATA :: ID) , SET_MAG_OFFSETS_DATA :: NAME => Ok (SET_MAG_OFFSETS_DATA :: ID) , LINK_NODE_STATUS_DATA :: NAME => Ok (LINK_NODE_STATUS_DATA :: ID) , MISSION_ACK_DATA :: NAME => Ok (MISSION_ACK_DATA :: ID) , HWSTATUS_DATA :: NAME => Ok (HWSTATUS_DATA :: ID) , PARAM_SET_DATA :: NAME => Ok (PARAM_SET_DATA :: ID) , CAMERA_FEEDBACK_DATA :: NAME => Ok (CAMERA_FEEDBACK_DATA :: ID) , COMPONENT_INFORMATION_DATA :: NAME => Ok (COMPONENT_INFORMATION_DATA :: ID) , SET_ATTITUDE_TARGET_DATA :: NAME => Ok (SET_ATTITUDE_TARGET_DATA :: ID) , OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: NAME => Ok (OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: ID) , RADIO_STATUS_DATA :: NAME => Ok (RADIO_STATUS_DATA :: ID) , CAMERA_IMAGE_CAPTURED_DATA :: NAME => Ok (CAMERA_IMAGE_CAPTURED_DATA :: ID) , MISSION_REQUEST_LIST_DATA :: NAME => Ok (MISSION_REQUEST_LIST_DATA :: ID) , UTM_GLOBAL_POSITION_DATA :: NAME => Ok (UTM_GLOBAL_POSITION_DATA :: ID) , HIL_CONTROLS_DATA :: NAME => Ok (HIL_CONTROLS_DATA :: ID) , SERVO_OUTPUT_RAW_DATA :: NAME => Ok (SERVO_OUTPUT_RAW_DATA :: ID) , SET_GPS_GLOBAL_ORIGIN_DATA :: NAME => Ok (SET_GPS_GLOBAL_ORIGIN_DATA :: ID) , UAVCAN_NODE_INFO_DATA :: NAME => Ok (UAVCAN_NODE_INFO_DATA :: ID) , ATTITUDE_QUATERNION_COV_DATA :: NAME => Ok (ATTITUDE_QUATERNION_COV_DATA :: ID) , STATUSTEXT_DATA :: NAME => Ok (STATUSTEXT_DATA :: ID) , GOPRO_SET_REQUEST_DATA :: NAME => Ok (GOPRO_SET_REQUEST_DATA :: ID) , SET_POSITION_TARGET_LOCAL_NED_DATA :: NAME => Ok (SET_POSITION_TARGET_LOCAL_NED_DATA :: ID) , OPTICAL_FLOW_RAD_DATA :: NAME => Ok (OPTICAL_FLOW_RAD_DATA :: ID) , LANDING_TARGET_DATA :: NAME => Ok (LANDING_TARGET_DATA :: ID) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: NAME => Ok (CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID) , LOG_DATA_DATA :: NAME => Ok (LOG_DATA_DATA :: ID) , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: NAME => Ok (UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID) , SENSOR_OFFSETS_DATA :: NAME => Ok (SENSOR_OFFSETS_DATA :: ID) , WIFI_CONFIG_AP_DATA :: NAME => Ok (WIFI_CONFIG_AP_DATA :: ID) , DEVICE_OP_READ_DATA :: NAME => Ok (DEVICE_OP_READ_DATA :: ID) , GPS_RTK_DATA :: NAME => Ok (GPS_RTK_DATA :: ID) , PARAM_REQUEST_LIST_DATA :: NAME => Ok (PARAM_REQUEST_LIST_DATA :: ID) , HERELINK_VIDEO_STREAM_INFORMATION_DATA :: NAME => Ok (HERELINK_VIDEO_STREAM_INFORMATION_DATA :: ID) , REMOTE_LOG_BLOCK_STATUS_DATA :: NAME => Ok (REMOTE_LOG_BLOCK_STATUS_DATA :: ID) , COMMAND_ACK_DATA :: NAME => Ok (COMMAND_ACK_DATA :: ID) , CAMERA_SETTINGS_DATA :: NAME => Ok (CAMERA_SETTINGS_DATA :: ID) , RAW_IMU_DATA :: NAME => Ok (RAW_IMU_DATA :: ID) , RADIO_DATA :: NAME => Ok (RADIO_DATA :: ID) , SAFETY_ALLOWED_AREA_DATA :: NAME => Ok (SAFETY_ALLOWED_AREA_DATA :: ID) , CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: NAME => Ok (CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: ID) , DEVICE_OP_WRITE_DATA :: NAME => Ok (DEVICE_OP_WRITE_DATA :: ID) , OPEN_DRONE_ID_LOCATION_DATA :: NAME => Ok (OPEN_DRONE_ID_LOCATION_DATA :: ID) , GIMBAL_CONTROL_DATA :: NAME => Ok (GIMBAL_CONTROL_DATA :: ID) , MISSION_CLEAR_ALL_DATA :: NAME => Ok (MISSION_CLEAR_ALL_DATA :: ID) , ONBOARD_COMPUTER_STATUS_DATA :: NAME => Ok (ONBOARD_COMPUTER_STATUS_DATA :: ID) , RESOURCE_REQUEST_DATA :: NAME => Ok (RESOURCE_REQUEST_DATA :: ID) , GLOBAL_POSITION_INT_COV_DATA :: NAME => Ok (GLOBAL_POSITION_INT_COV_DATA :: ID) , STORAGE_INFORMATION_DATA :: NAME => Ok (STORAGE_INFORMATION_DATA :: ID) , SYSTEM_TIME_DATA :: NAME => Ok (SYSTEM_TIME_DATA :: ID) , MISSION_CURRENT_DATA :: NAME => Ok (MISSION_CURRENT_DATA :: ID) , LOG_REQUEST_LIST_DATA :: NAME => Ok (LOG_REQUEST_LIST_DATA :: ID) , MAG_CAL_PROGRESS_DATA :: NAME => Ok (MAG_CAL_PROGRESS_DATA :: ID) , GPS2_RTK_DATA :: NAME => Ok (GPS2_RTK_DATA :: ID) , OPEN_DRONE_ID_SYSTEM_DATA :: NAME => Ok (OPEN_DRONE_ID_SYSTEM_DATA :: ID) , LOG_ENTRY_DATA :: NAME => Ok (LOG_ENTRY_DATA :: ID) , MISSION_ITEM_REACHED_DATA :: NAME => Ok (MISSION_ITEM_REACHED_DATA :: ID) , TERRAIN_CHECK_DATA :: NAME => Ok (TERRAIN_CHECK_DATA :: ID) , HEARTBEAT_DATA :: NAME => Ok (HEARTBEAT_DATA :: ID) , CAN_FILTER_MODIFY_DATA :: NAME => Ok (CAN_FILTER_MODIFY_DATA :: ID) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID) , FLIGHT_INFORMATION_DATA :: NAME => Ok (FLIGHT_INFORMATION_DATA :: ID) , VFR_HUD_DATA :: NAME => Ok (VFR_HUD_DATA :: ID) , MOUNT_CONTROL_DATA :: NAME => Ok (MOUNT_CONTROL_DATA :: ID) , WATER_DEPTH_DATA :: NAME => Ok (WATER_DEPTH_DATA :: ID) , SET_MODE_DATA :: NAME => Ok (SET_MODE_DATA :: ID) , OSD_PARAM_CONFIG_DATA :: NAME => Ok (OSD_PARAM_CONFIG_DATA :: ID) , PING_DATA :: NAME => Ok (PING_DATA :: ID) , PARAM_EXT_ACK_DATA :: NAME => Ok (PARAM_EXT_ACK_DATA :: ID) , TIMESYNC_DATA :: NAME => Ok (TIMESYNC_DATA :: ID) , ESC_TELEMETRY_5_TO_8_DATA :: NAME => Ok (ESC_TELEMETRY_5_TO_8_DATA :: ID) , RAW_PRESSURE_DATA :: NAME => Ok (RAW_PRESSURE_DATA :: ID) , SMART_BATTERY_INFO_DATA :: NAME => Ok (SMART_BATTERY_INFO_DATA :: ID) , OBSTACLE_DISTANCE_DATA :: NAME => Ok (OBSTACLE_DISTANCE_DATA :: ID) , CAMERA_FOV_STATUS_DATA :: NAME => Ok (CAMERA_FOV_STATUS_DATA :: ID) , ATTITUDE_TARGET_DATA :: NAME => Ok (ATTITUDE_TARGET_DATA :: ID) , GPS2_RAW_DATA :: NAME => Ok (GPS2_RAW_DATA :: ID) , RC_CHANNELS_DATA :: NAME => Ok (RC_CHANNELS_DATA :: ID) , DATA_STREAM_DATA :: NAME => Ok (DATA_STREAM_DATA :: ID) , VIDEO_STREAM_INFORMATION_DATA :: NAME => Ok (VIDEO_STREAM_INFORMATION_DATA :: ID) , HIL_GPS_DATA :: NAME => Ok (HIL_GPS_DATA :: ID) , VISION_POSITION_DELTA_DATA :: NAME => Ok (VISION_POSITION_DELTA_DATA :: ID) , TERRAIN_REQUEST_DATA :: NAME => Ok (TERRAIN_REQUEST_DATA :: ID) , HIGH_LATENCY_DATA :: NAME => Ok (HIGH_LATENCY_DATA :: ID) , TUNNEL_DATA :: NAME => Ok (TUNNEL_DATA :: ID) , LIMITS_STATUS_DATA :: NAME => Ok (LIMITS_STATUS_DATA :: ID) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: NAME => Ok (TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID) , SET_ACTUATOR_CONTROL_TARGET_DATA :: NAME => Ok (SET_ACTUATOR_CONTROL_TARGET_DATA :: ID) , RC_CHANNELS_SCALED_DATA :: NAME => Ok (RC_CHANNELS_SCALED_DATA :: ID) , OPEN_DRONE_ID_SELF_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_SELF_ID_DATA :: ID) , MOUNT_ORIENTATION_DATA :: NAME => Ok (MOUNT_ORIENTATION_DATA :: ID) , GLOBAL_POSITION_INT_DATA :: NAME => Ok (GLOBAL_POSITION_INT_DATA :: ID) , DEVICE_OP_READ_REPLY_DATA :: NAME => Ok (DEVICE_OP_READ_REPLY_DATA :: ID) , SERIAL_CONTROL_DATA :: NAME => Ok (SERIAL_CONTROL_DATA :: ID) , CAN_FRAME_DATA :: NAME => Ok (CAN_FRAME_DATA :: ID) , AHRS3_DATA :: NAME => Ok (AHRS3_DATA :: ID) , PARAM_EXT_REQUEST_LIST_DATA :: NAME => Ok (PARAM_EXT_REQUEST_LIST_DATA :: ID) , CAMERA_TRACKING_GEO_STATUS_DATA :: NAME => Ok (CAMERA_TRACKING_GEO_STATUS_DATA :: ID) , SCALED_IMU3_DATA :: NAME => Ok (SCALED_IMU3_DATA :: ID) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: NAME => Ok (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID) , MISSION_ITEM_INT_DATA :: NAME => Ok (MISSION_ITEM_INT_DATA :: ID) , ADAP_TUNING_DATA :: NAME => Ok (ADAP_TUNING_DATA :: ID) , EFI_STATUS_DATA :: NAME => Ok (EFI_STATUS_DATA :: ID) , TERRAIN_REPORT_DATA :: NAME => Ok (TERRAIN_REPORT_DATA :: ID) , SCALED_PRESSURE2_DATA :: NAME => Ok (SCALED_PRESSURE2_DATA :: ID) , SET_HOME_POSITION_DATA :: NAME => Ok (SET_HOME_POSITION_DATA :: ID) , AP_ADC_DATA :: NAME => Ok (AP_ADC_DATA :: ID) , GIMBAL_TORQUE_CMD_REPORT_DATA :: NAME => Ok (GIMBAL_TORQUE_CMD_REPORT_DATA :: ID) , GOPRO_SET_RESPONSE_DATA :: NAME => Ok (GOPRO_SET_RESPONSE_DATA :: ID) , ESC_TELEMETRY_9_TO_12_DATA :: NAME => Ok (ESC_TELEMETRY_9_TO_12_DATA :: ID) , HYGROMETER_SENSOR_DATA :: NAME => Ok (HYGROMETER_SENSOR_DATA :: ID) , CONTROL_SYSTEM_STATE_DATA :: NAME => Ok (CONTROL_SYSTEM_STATE_DATA :: ID) , BUTTON_CHANGE_DATA :: NAME => Ok (BUTTON_CHANGE_DATA :: ID) , VICON_POSITION_ESTIMATE_DATA :: NAME => Ok (VICON_POSITION_ESTIMATE_DATA :: ID) , HIL_RC_INPUTS_RAW_DATA :: NAME => Ok (HIL_RC_INPUTS_RAW_DATA :: ID) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: NAME => Ok (OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID) , HIL_STATE_DATA :: NAME => Ok (HIL_STATE_DATA :: ID) , GOPRO_GET_RESPONSE_DATA :: NAME => Ok (GOPRO_GET_RESPONSE_DATA :: ID) , POWER_STATUS_DATA :: NAME => Ok (POWER_STATUS_DATA :: ID) , AHRS_DATA :: NAME => Ok (AHRS_DATA :: ID) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: NAME => Ok (SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID) , LOG_ERASE_DATA :: NAME => Ok (LOG_ERASE_DATA :: ID) , ACTUATOR_CONTROL_TARGET_DATA :: NAME => Ok (ACTUATOR_CONTROL_TARGET_DATA :: ID) , NAV_CONTROLLER_OUTPUT_DATA :: NAME => Ok (NAV_CONTROLLER_OUTPUT_DATA :: ID) , ADSB_VEHICLE_DATA :: NAME => Ok (ADSB_VEHICLE_DATA :: ID) , GPS_INJECT_DATA_DATA :: NAME => Ok (GPS_INJECT_DATA_DATA :: ID) , NAMED_VALUE_INT_DATA :: NAME => Ok (NAMED_VALUE_INT_DATA :: ID) , DIGICAM_CONFIGURE_DATA :: NAME => Ok (DIGICAM_CONFIGURE_DATA :: ID) , EKF_STATUS_REPORT_DATA :: NAME => Ok (EKF_STATUS_REPORT_DATA :: ID) , OSD_PARAM_SHOW_CONFIG_DATA :: NAME => Ok (OSD_PARAM_SHOW_CONFIG_DATA :: ID) , REQUEST_DATA_STREAM_DATA :: NAME => Ok (REQUEST_DATA_STREAM_DATA :: ID) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: NAME => Ok (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID) , HIL_SENSOR_DATA :: NAME => Ok (HIL_SENSOR_DATA :: ID) , WINCH_STATUS_DATA :: NAME => Ok (WINCH_STATUS_DATA :: ID) , GIMBAL_MANAGER_INFORMATION_DATA :: NAME => Ok (GIMBAL_MANAGER_INFORMATION_DATA :: ID) , MOUNT_CONFIGURE_DATA :: NAME => Ok (MOUNT_CONFIGURE_DATA :: ID) , DATA32_DATA :: NAME => Ok (DATA32_DATA :: ID) , COMMAND_LONG_DATA :: NAME => Ok (COMMAND_LONG_DATA :: ID) , NAMED_VALUE_FLOAT_DATA :: NAME => Ok (NAMED_VALUE_FLOAT_DATA :: ID) , MISSION_WRITE_PARTIAL_LIST_DATA :: NAME => Ok (MISSION_WRITE_PARTIAL_LIST_DATA :: ID) , VISION_POSITION_ESTIMATE_DATA :: NAME => Ok (VISION_POSITION_ESTIMATE_DATA :: ID) , MEMINFO_DATA :: NAME => Ok (MEMINFO_DATA :: ID) , DEVICE_OP_WRITE_REPLY_DATA :: NAME => Ok (DEVICE_OP_WRITE_REPLY_DATA :: ID) , COMMAND_CANCEL_DATA :: NAME => Ok (COMMAND_CANCEL_DATA :: ID) , RC_CHANNELS_RAW_DATA :: NAME => Ok (RC_CHANNELS_RAW_DATA :: ID) , PARAM_EXT_VALUE_DATA :: NAME => Ok (PARAM_EXT_VALUE_DATA :: ID) , RESPONSE_EVENT_ERROR_DATA :: NAME => Ok (RESPONSE_EVENT_ERROR_DATA :: ID) , MISSION_SET_CURRENT_DATA :: NAME => Ok (MISSION_SET_CURRENT_DATA :: ID) , HIL_STATE_QUATERNION_DATA :: NAME => Ok (HIL_STATE_QUATERNION_DATA :: ID) , UAVIONIX_ADSB_OUT_CFG_DATA :: NAME => Ok (UAVIONIX_ADSB_OUT_CFG_DATA :: ID) , ESTIMATOR_STATUS_DATA :: NAME => Ok (ESTIMATOR_STATUS_DATA :: ID) , PARAM_VALUE_DATA :: NAME => Ok (PARAM_VALUE_DATA :: ID) , ORBIT_EXECUTION_STATUS_DATA :: NAME => Ok (ORBIT_EXECUTION_STATUS_DATA :: ID) , RALLY_POINT_DATA :: NAME => Ok (RALLY_POINT_DATA :: ID) , MANUAL_CONTROL_DATA :: NAME => Ok (MANUAL_CONTROL_DATA :: ID) , EXTENDED_SYS_STATE_DATA :: NAME => Ok (EXTENDED_SYS_STATE_DATA :: ID) , DATA16_DATA :: NAME => Ok (DATA16_DATA :: ID) , CURRENT_EVENT_SEQUENCE_DATA :: NAME => Ok (CURRENT_EVENT_SEQUENCE_DATA :: ID) , MOUNT_STATUS_DATA :: NAME => Ok (MOUNT_STATUS_DATA :: ID) , DEBUG_DATA :: NAME => Ok (DEBUG_DATA :: ID) , OPEN_DRONE_ID_BASIC_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_BASIC_ID_DATA :: ID) , EVENT_DATA :: NAME => Ok (EVENT_DATA :: ID) , MCU_STATUS_DATA :: NAME => Ok (MCU_STATUS_DATA :: ID) , LOCAL_POSITION_NED_COV_DATA :: NAME => Ok (LOCAL_POSITION_NED_COV_DATA :: ID) , RAW_RPM_DATA :: NAME => Ok (RAW_RPM_DATA :: ID) , PARAM_REQUEST_READ_DATA :: NAME => Ok (PARAM_REQUEST_READ_DATA :: ID) , _ => { Err ("Invalid message name.") } } } fn default_message_from_id (id : u32) -> Result < Self , & 'static str > { match id { LOG_REQUEST_DATA_DATA :: ID => Ok (Self :: LOG_REQUEST_DATA (LOG_REQUEST_DATA_DATA :: default ())) , AUTH_KEY_DATA :: ID => Ok (Self :: AUTH_KEY (AUTH_KEY_DATA :: default ())) , MISSION_REQUEST_DATA :: ID => Ok (Self :: MISSION_REQUEST (MISSION_REQUEST_DATA :: default ())) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_OPERATOR_ID (OPEN_DRONE_ID_OPERATOR_ID_DATA :: default ())) , CELLULAR_CONFIG_DATA :: ID => Ok (Self :: CELLULAR_CONFIG (CELLULAR_CONFIG_DATA :: default ())) , SCALED_PRESSURE3_DATA :: ID => Ok (Self :: SCALED_PRESSURE3 (SCALED_PRESSURE3_DATA :: default ())) , CUBEPILOT_RAW_RC_DATA :: ID => Ok (Self :: CUBEPILOT_RAW_RC (CUBEPILOT_RAW_RC_DATA :: default ())) , LED_CONTROL_DATA :: ID => Ok (Self :: LED_CONTROL (LED_CONTROL_DATA :: default ())) , GPS_GLOBAL_ORIGIN_DATA :: ID => Ok (Self :: GPS_GLOBAL_ORIGIN (GPS_GLOBAL_ORIGIN_DATA :: default ())) , GIMBAL_MANAGER_STATUS_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_STATUS (GIMBAL_MANAGER_STATUS_DATA :: default ())) , AIS_VESSEL_DATA :: ID => Ok (Self :: AIS_VESSEL (AIS_VESSEL_DATA :: default ())) , SCALED_IMU_DATA :: ID => Ok (Self :: SCALED_IMU (SCALED_IMU_DATA :: default ())) , CAMERA_INFORMATION_DATA :: ID => Ok (Self :: CAMERA_INFORMATION (CAMERA_INFORMATION_DATA :: default ())) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_ATTITUDE (GIMBAL_MANAGER_SET_ATTITUDE_DATA :: default ())) , SUPPORTED_TUNES_DATA :: ID => Ok (Self :: SUPPORTED_TUNES (SUPPORTED_TUNES_DATA :: default ())) , RANGEFINDER_DATA :: ID => Ok (Self :: RANGEFINDER (RANGEFINDER_DATA :: default ())) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: GLOBAL_VISION_POSITION_ESTIMATE (GLOBAL_VISION_POSITION_ESTIMATE_DATA :: default ())) , GENERATOR_STATUS_DATA :: ID => Ok (Self :: GENERATOR_STATUS (GENERATOR_STATUS_DATA :: default ())) , COLLISION_DATA :: ID => Ok (Self :: COLLISION (COLLISION_DATA :: default ())) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: default ())) , MISSION_REQUEST_INT_DATA :: ID => Ok (Self :: MISSION_REQUEST_INT (MISSION_REQUEST_INT_DATA :: default ())) , TERRAIN_DATA_DATA :: ID => Ok (Self :: TERRAIN_DATA (TERRAIN_DATA_DATA :: default ())) , REMOTE_LOG_DATA_BLOCK_DATA :: ID => Ok (Self :: REMOTE_LOG_DATA_BLOCK (REMOTE_LOG_DATA_BLOCK_DATA :: default ())) , DEBUG_FLOAT_ARRAY_DATA :: ID => Ok (Self :: DEBUG_FLOAT_ARRAY (DEBUG_FLOAT_ARRAY_DATA :: default ())) , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_ARM_STATUS (OPEN_DRONE_ID_ARM_STATUS_DATA :: default ())) , OPTICAL_FLOW_DATA :: ID => Ok (Self :: OPTICAL_FLOW (OPTICAL_FLOW_DATA :: default ())) , VIDEO_STREAM_STATUS_DATA :: ID => Ok (Self :: VIDEO_STREAM_STATUS (VIDEO_STREAM_STATUS_DATA :: default ())) , SCALED_PRESSURE_DATA :: ID => Ok (Self :: SCALED_PRESSURE (SCALED_PRESSURE_DATA :: default ())) , HIGHRES_IMU_DATA :: ID => Ok (Self :: HIGHRES_IMU (HIGHRES_IMU_DATA :: default ())) , GPS_RTCM_DATA_DATA :: ID => Ok (Self :: GPS_RTCM_DATA (GPS_RTCM_DATA_DATA :: default ())) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID => Ok (Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: default ())) , WIND_DATA :: ID => Ok (Self :: WIND (WIND_DATA :: default ())) , RALLY_FETCH_POINT_DATA :: ID => Ok (Self :: RALLY_FETCH_POINT (RALLY_FETCH_POINT_DATA :: default ())) , FOLLOW_TARGET_DATA :: ID => Ok (Self :: FOLLOW_TARGET (FOLLOW_TARGET_DATA :: default ())) , GOPRO_HEARTBEAT_DATA :: ID => Ok (Self :: GOPRO_HEARTBEAT (GOPRO_HEARTBEAT_DATA :: default ())) , CAMERA_CAPTURE_STATUS_DATA :: ID => Ok (Self :: CAMERA_CAPTURE_STATUS (CAMERA_CAPTURE_STATUS_DATA :: default ())) , MESSAGE_INTERVAL_DATA :: ID => Ok (Self :: MESSAGE_INTERVAL (MESSAGE_INTERVAL_DATA :: default ())) , MEMORY_VECT_DATA :: ID => Ok (Self :: MEMORY_VECT (MEMORY_VECT_DATA :: default ())) , ENCAPSULATED_DATA_DATA :: ID => Ok (Self :: ENCAPSULATED_DATA (ENCAPSULATED_DATA_DATA :: default ())) , PARAM_MAP_RC_DATA :: ID => Ok (Self :: PARAM_MAP_RC (PARAM_MAP_RC_DATA :: default ())) , LOGGING_ACK_DATA :: ID => Ok (Self :: LOGGING_ACK (LOGGING_ACK_DATA :: default ())) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_MESSAGE_PACK (OPEN_DRONE_ID_MESSAGE_PACK_DATA :: default ())) , PROTOCOL_VERSION_DATA :: ID => Ok (Self :: PROTOCOL_VERSION (PROTOCOL_VERSION_DATA :: default ())) , ATTITUDE_DATA :: ID => Ok (Self :: ATTITUDE (ATTITUDE_DATA :: default ())) , AOA_SSA_DATA :: ID => Ok (Self :: AOA_SSA (AOA_SSA_DATA :: default ())) , ESC_TELEMETRY_1_TO_4_DATA :: ID => Ok (Self :: ESC_TELEMETRY_1_TO_4 (ESC_TELEMETRY_1_TO_4_DATA :: default ())) , LOGGING_DATA_ACKED_DATA :: ID => Ok (Self :: LOGGING_DATA_ACKED (LOGGING_DATA_ACKED_DATA :: default ())) , PLAY_TUNE_DATA :: ID => Ok (Self :: PLAY_TUNE (PLAY_TUNE_DATA :: default ())) , SIM_STATE_DATA :: ID => Ok (Self :: SIM_STATE (SIM_STATE_DATA :: default ())) , MANUAL_SETPOINT_DATA :: ID => Ok (Self :: MANUAL_SETPOINT (MANUAL_SETPOINT_DATA :: default ())) , VIBRATION_DATA :: ID => Ok (Self :: VIBRATION (VIBRATION_DATA :: default ())) , ACTUATOR_OUTPUT_STATUS_DATA :: ID => Ok (Self :: ACTUATOR_OUTPUT_STATUS (ACTUATOR_OUTPUT_STATUS_DATA :: default ())) , DEEPSTALL_DATA :: ID => Ok (Self :: DEEPSTALL (DEEPSTALL_DATA :: default ())) , MAG_CAL_REPORT_DATA :: ID => Ok (Self :: MAG_CAL_REPORT (MAG_CAL_REPORT_DATA :: default ())) , TIME_ESTIMATE_TO_TARGET_DATA :: ID => Ok (Self :: TIME_ESTIMATE_TO_TARGET (TIME_ESTIMATE_TO_TARGET_DATA :: default ())) , SCALED_IMU2_DATA :: ID => Ok (Self :: SCALED_IMU2 (SCALED_IMU2_DATA :: default ())) , GOPRO_GET_REQUEST_DATA :: ID => Ok (Self :: GOPRO_GET_REQUEST (GOPRO_GET_REQUEST_DATA :: default ())) , COMMAND_INT_DATA :: ID => Ok (Self :: COMMAND_INT (COMMAND_INT_DATA :: default ())) , UAVCAN_NODE_STATUS_DATA :: ID => Ok (Self :: UAVCAN_NODE_STATUS (UAVCAN_NODE_STATUS_DATA :: default ())) , ODOMETRY_DATA :: ID => Ok (Self :: ODOMETRY (ODOMETRY_DATA :: default ())) , HIGH_LATENCY2_DATA :: ID => Ok (Self :: HIGH_LATENCY2 (HIGH_LATENCY2_DATA :: default ())) , REQUEST_EVENT_DATA :: ID => Ok (Self :: REQUEST_EVENT (REQUEST_EVENT_DATA :: default ())) , ICAROUS_HEARTBEAT_DATA :: ID => Ok (Self :: ICAROUS_HEARTBEAT (ICAROUS_HEARTBEAT_DATA :: default ())) , MISSION_COUNT_DATA :: ID => Ok (Self :: MISSION_COUNT (MISSION_COUNT_DATA :: default ())) , AIRSPEED_AUTOCAL_DATA :: ID => Ok (Self :: AIRSPEED_AUTOCAL (AIRSPEED_AUTOCAL_DATA :: default ())) , PARAM_EXT_REQUEST_READ_DATA :: ID => Ok (Self :: PARAM_EXT_REQUEST_READ (PARAM_EXT_REQUEST_READ_DATA :: default ())) , CELLULAR_STATUS_DATA :: ID => Ok (Self :: CELLULAR_STATUS (CELLULAR_STATUS_DATA :: default ())) , COMPASSMOT_STATUS_DATA :: ID => Ok (Self :: COMPASSMOT_STATUS (COMPASSMOT_STATUS_DATA :: default ())) , GPS_RAW_INT_DATA :: ID => Ok (Self :: GPS_RAW_INT (GPS_RAW_INT_DATA :: default ())) , WIND_COV_DATA :: ID => Ok (Self :: WIND_COV (WIND_COV_DATA :: default ())) , V2_EXTENSION_DATA :: ID => Ok (Self :: V2_EXTENSION (V2_EXTENSION_DATA :: default ())) , WHEEL_DISTANCE_DATA :: ID => Ok (Self :: WHEEL_DISTANCE (WHEEL_DISTANCE_DATA :: default ())) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: default ())) , OSD_PARAM_CONFIG_REPLY_DATA :: ID => Ok (Self :: OSD_PARAM_CONFIG_REPLY (OSD_PARAM_CONFIG_REPLY_DATA :: default ())) , AHRS2_DATA :: ID => Ok (Self :: AHRS2 (AHRS2_DATA :: default ())) , BATTERY2_DATA :: ID => Ok (Self :: BATTERY2 (BATTERY2_DATA :: default ())) , LOG_REQUEST_END_DATA :: ID => Ok (Self :: LOG_REQUEST_END (LOG_REQUEST_END_DATA :: default ())) , FILE_TRANSFER_PROTOCOL_DATA :: ID => Ok (Self :: FILE_TRANSFER_PROTOCOL (FILE_TRANSFER_PROTOCOL_DATA :: default ())) , LOCAL_POSITION_NED_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED (LOCAL_POSITION_NED_DATA :: default ())) , PID_TUNING_DATA :: ID => Ok (Self :: PID_TUNING (PID_TUNING_DATA :: default ())) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => Ok (Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: default ())) , ICAROUS_KINEMATIC_BANDS_DATA :: ID => Ok (Self :: ICAROUS_KINEMATIC_BANDS (ICAROUS_KINEMATIC_BANDS_DATA :: default ())) , ESC_INFO_DATA :: ID => Ok (Self :: ESC_INFO (ESC_INFO_DATA :: default ())) , POSITION_TARGET_LOCAL_NED_DATA :: ID => Ok (Self :: POSITION_TARGET_LOCAL_NED (POSITION_TARGET_LOCAL_NED_DATA :: default ())) , CAMERA_TRIGGER_DATA :: ID => Ok (Self :: CAMERA_TRIGGER (CAMERA_TRIGGER_DATA :: default ())) , GPS_INPUT_DATA :: ID => Ok (Self :: GPS_INPUT (GPS_INPUT_DATA :: default ())) , BATTERY_STATUS_DATA :: ID => Ok (Self :: BATTERY_STATUS (BATTERY_STATUS_DATA :: default ())) , FENCE_FETCH_POINT_DATA :: ID => Ok (Self :: FENCE_FETCH_POINT (FENCE_FETCH_POINT_DATA :: default ())) , SYS_STATUS_DATA :: ID => Ok (Self :: SYS_STATUS (SYS_STATUS_DATA :: default ())) , ISBD_LINK_STATUS_DATA :: ID => Ok (Self :: ISBD_LINK_STATUS (ISBD_LINK_STATUS_DATA :: default ())) , DEBUG_VECT_DATA :: ID => Ok (Self :: DEBUG_VECT (DEBUG_VECT_DATA :: default ())) , SIMSTATE_DATA :: ID => Ok (Self :: SIMSTATE (SIMSTATE_DATA :: default ())) , FENCE_POINT_DATA :: ID => Ok (Self :: FENCE_POINT (FENCE_POINT_DATA :: default ())) , CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: ID => Ok (Self :: CUBEPILOT_FIRMWARE_UPDATE_RESP (CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: default ())) , SETUP_SIGNING_DATA :: ID => Ok (Self :: SETUP_SIGNING (SETUP_SIGNING_DATA :: default ())) , COMPONENT_METADATA_DATA :: ID => Ok (Self :: COMPONENT_METADATA (COMPONENT_METADATA_DATA :: default ())) , CAMERA_STATUS_DATA :: ID => Ok (Self :: CAMERA_STATUS (CAMERA_STATUS_DATA :: default ())) , DATA96_DATA :: ID => Ok (Self :: DATA96 (DATA96_DATA :: default ())) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: default ())) , ALTITUDE_DATA :: ID => Ok (Self :: ALTITUDE (ALTITUDE_DATA :: default ())) , OBSTACLE_DISTANCE_3D_DATA :: ID => Ok (Self :: OBSTACLE_DISTANCE_3D (OBSTACLE_DISTANCE_3D_DATA :: default ())) , HERELINK_TELEM_DATA :: ID => Ok (Self :: HERELINK_TELEM (HERELINK_TELEM_DATA :: default ())) , GPS_STATUS_DATA :: ID => Ok (Self :: GPS_STATUS (GPS_STATUS_DATA :: default ())) , RC_CHANNELS_OVERRIDE_DATA :: ID => Ok (Self :: RC_CHANNELS_OVERRIDE (RC_CHANNELS_OVERRIDE_DATA :: default ())) , RPM_DATA :: ID => Ok (Self :: RPM (RPM_DATA :: default ())) , CANFD_FRAME_DATA :: ID => Ok (Self :: CANFD_FRAME (CANFD_FRAME_DATA :: default ())) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_SET_ATTITUDE (GIMBAL_DEVICE_SET_ATTITUDE_DATA :: default ())) , POSITION_TARGET_GLOBAL_INT_DATA :: ID => Ok (Self :: POSITION_TARGET_GLOBAL_INT (POSITION_TARGET_GLOBAL_INT_DATA :: default ())) , AUTOPILOT_VERSION_REQUEST_DATA :: ID => Ok (Self :: AUTOPILOT_VERSION_REQUEST (AUTOPILOT_VERSION_REQUEST_DATA :: default ())) , LOGGING_DATA_DATA :: ID => Ok (Self :: LOGGING_DATA (LOGGING_DATA_DATA :: default ())) , CHANGE_OPERATOR_CONTROL_DATA :: ID => Ok (Self :: CHANGE_OPERATOR_CONTROL (CHANGE_OPERATOR_CONTROL_DATA :: default ())) , DIGICAM_CONTROL_DATA :: ID => Ok (Self :: DIGICAM_CONTROL (DIGICAM_CONTROL_DATA :: default ())) , FENCE_STATUS_DATA :: ID => Ok (Self :: FENCE_STATUS (FENCE_STATUS_DATA :: default ())) , MISSION_ITEM_DATA :: ID => Ok (Self :: MISSION_ITEM (MISSION_ITEM_DATA :: default ())) , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => Ok (Self :: MISSION_REQUEST_PARTIAL_LIST (MISSION_REQUEST_PARTIAL_LIST_DATA :: default ())) , ATTITUDE_QUATERNION_DATA :: ID => Ok (Self :: ATTITUDE_QUATERNION (ATTITUDE_QUATERNION_DATA :: default ())) , AUTOPILOT_VERSION_DATA :: ID => Ok (Self :: AUTOPILOT_VERSION (AUTOPILOT_VERSION_DATA :: default ())) , HIL_ACTUATOR_CONTROLS_DATA :: ID => Ok (Self :: HIL_ACTUATOR_CONTROLS (HIL_ACTUATOR_CONTROLS_DATA :: default ())) , HIL_OPTICAL_FLOW_DATA :: ID => Ok (Self :: HIL_OPTICAL_FLOW (HIL_OPTICAL_FLOW_DATA :: default ())) , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => Ok (Self :: DATA_TRANSMISSION_HANDSHAKE (DATA_TRANSMISSION_HANDSHAKE_DATA :: default ())) , PLAY_TUNE_V2_DATA :: ID => Ok (Self :: PLAY_TUNE_V2 (PLAY_TUNE_V2_DATA :: default ())) , GIMBAL_REPORT_DATA :: ID => Ok (Self :: GIMBAL_REPORT (GIMBAL_REPORT_DATA :: default ())) , SAFETY_SET_ALLOWED_AREA_DATA :: ID => Ok (Self :: SAFETY_SET_ALLOWED_AREA (SAFETY_SET_ALLOWED_AREA_DATA :: default ())) , HOME_POSITION_DATA :: ID => Ok (Self :: HOME_POSITION (HOME_POSITION_DATA :: default ())) , DATA64_DATA :: ID => Ok (Self :: DATA64 (DATA64_DATA :: default ())) , ESC_STATUS_DATA :: ID => Ok (Self :: ESC_STATUS (ESC_STATUS_DATA :: default ())) , PARAM_EXT_SET_DATA :: ID => Ok (Self :: PARAM_EXT_SET (PARAM_EXT_SET_DATA :: default ())) , VISION_SPEED_ESTIMATE_DATA :: ID => Ok (Self :: VISION_SPEED_ESTIMATE (VISION_SPEED_ESTIMATE_DATA :: default ())) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => Ok (Self :: CHANGE_OPERATOR_CONTROL_ACK (CHANGE_OPERATOR_CONTROL_ACK_DATA :: default ())) , DISTANCE_SENSOR_DATA :: ID => Ok (Self :: DISTANCE_SENSOR (DISTANCE_SENSOR_DATA :: default ())) , GIMBAL_DEVICE_INFORMATION_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_INFORMATION (GIMBAL_DEVICE_INFORMATION_DATA :: default ())) , ATT_POS_MOCAP_DATA :: ID => Ok (Self :: ATT_POS_MOCAP (ATT_POS_MOCAP_DATA :: default ())) , SET_MAG_OFFSETS_DATA :: ID => Ok (Self :: SET_MAG_OFFSETS (SET_MAG_OFFSETS_DATA :: default ())) , LINK_NODE_STATUS_DATA :: ID => Ok (Self :: LINK_NODE_STATUS (LINK_NODE_STATUS_DATA :: default ())) , MISSION_ACK_DATA :: ID => Ok (Self :: MISSION_ACK (MISSION_ACK_DATA :: default ())) , HWSTATUS_DATA :: ID => Ok (Self :: HWSTATUS (HWSTATUS_DATA :: default ())) , PARAM_SET_DATA :: ID => Ok (Self :: PARAM_SET (PARAM_SET_DATA :: default ())) , CAMERA_FEEDBACK_DATA :: ID => Ok (Self :: CAMERA_FEEDBACK (CAMERA_FEEDBACK_DATA :: default ())) , COMPONENT_INFORMATION_DATA :: ID => Ok (Self :: COMPONENT_INFORMATION (COMPONENT_INFORMATION_DATA :: default ())) , SET_ATTITUDE_TARGET_DATA :: ID => Ok (Self :: SET_ATTITUDE_TARGET (SET_ATTITUDE_TARGET_DATA :: default ())) , OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: ID => Ok (Self :: OSD_PARAM_SHOW_CONFIG_REPLY (OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: default ())) , RADIO_STATUS_DATA :: ID => Ok (Self :: RADIO_STATUS (RADIO_STATUS_DATA :: default ())) , CAMERA_IMAGE_CAPTURED_DATA :: ID => Ok (Self :: CAMERA_IMAGE_CAPTURED (CAMERA_IMAGE_CAPTURED_DATA :: default ())) , MISSION_REQUEST_LIST_DATA :: ID => Ok (Self :: MISSION_REQUEST_LIST (MISSION_REQUEST_LIST_DATA :: default ())) , UTM_GLOBAL_POSITION_DATA :: ID => Ok (Self :: UTM_GLOBAL_POSITION (UTM_GLOBAL_POSITION_DATA :: default ())) , HIL_CONTROLS_DATA :: ID => Ok (Self :: HIL_CONTROLS (HIL_CONTROLS_DATA :: default ())) , SERVO_OUTPUT_RAW_DATA :: ID => Ok (Self :: SERVO_OUTPUT_RAW (SERVO_OUTPUT_RAW_DATA :: default ())) , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => Ok (Self :: SET_GPS_GLOBAL_ORIGIN (SET_GPS_GLOBAL_ORIGIN_DATA :: default ())) , UAVCAN_NODE_INFO_DATA :: ID => Ok (Self :: UAVCAN_NODE_INFO (UAVCAN_NODE_INFO_DATA :: default ())) , ATTITUDE_QUATERNION_COV_DATA :: ID => Ok (Self :: ATTITUDE_QUATERNION_COV (ATTITUDE_QUATERNION_COV_DATA :: default ())) , STATUSTEXT_DATA :: ID => Ok (Self :: STATUSTEXT (STATUSTEXT_DATA :: default ())) , GOPRO_SET_REQUEST_DATA :: ID => Ok (Self :: GOPRO_SET_REQUEST (GOPRO_SET_REQUEST_DATA :: default ())) , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => Ok (Self :: SET_POSITION_TARGET_LOCAL_NED (SET_POSITION_TARGET_LOCAL_NED_DATA :: default ())) , OPTICAL_FLOW_RAD_DATA :: ID => Ok (Self :: OPTICAL_FLOW_RAD (OPTICAL_FLOW_RAD_DATA :: default ())) , LANDING_TARGET_DATA :: ID => Ok (Self :: LANDING_TARGET (LANDING_TARGET_DATA :: default ())) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => Ok (Self :: CAMERA_TRACKING_IMAGE_STATUS (CAMERA_TRACKING_IMAGE_STATUS_DATA :: default ())) , LOG_DATA_DATA :: ID => Ok (Self :: LOG_DATA (LOG_DATA_DATA :: default ())) , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID => Ok (Self :: UAVIONIX_ADSB_OUT_DYNAMIC (UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: default ())) , SENSOR_OFFSETS_DATA :: ID => Ok (Self :: SENSOR_OFFSETS (SENSOR_OFFSETS_DATA :: default ())) , WIFI_CONFIG_AP_DATA :: ID => Ok (Self :: WIFI_CONFIG_AP (WIFI_CONFIG_AP_DATA :: default ())) , DEVICE_OP_READ_DATA :: ID => Ok (Self :: DEVICE_OP_READ (DEVICE_OP_READ_DATA :: default ())) , GPS_RTK_DATA :: ID => Ok (Self :: GPS_RTK (GPS_RTK_DATA :: default ())) , PARAM_REQUEST_LIST_DATA :: ID => Ok (Self :: PARAM_REQUEST_LIST (PARAM_REQUEST_LIST_DATA :: default ())) , HERELINK_VIDEO_STREAM_INFORMATION_DATA :: ID => Ok (Self :: HERELINK_VIDEO_STREAM_INFORMATION (HERELINK_VIDEO_STREAM_INFORMATION_DATA :: default ())) , REMOTE_LOG_BLOCK_STATUS_DATA :: ID => Ok (Self :: REMOTE_LOG_BLOCK_STATUS (REMOTE_LOG_BLOCK_STATUS_DATA :: default ())) , COMMAND_ACK_DATA :: ID => Ok (Self :: COMMAND_ACK (COMMAND_ACK_DATA :: default ())) , CAMERA_SETTINGS_DATA :: ID => Ok (Self :: CAMERA_SETTINGS (CAMERA_SETTINGS_DATA :: default ())) , RAW_IMU_DATA :: ID => Ok (Self :: RAW_IMU (RAW_IMU_DATA :: default ())) , RADIO_DATA :: ID => Ok (Self :: RADIO (RADIO_DATA :: default ())) , SAFETY_ALLOWED_AREA_DATA :: ID => Ok (Self :: SAFETY_ALLOWED_AREA (SAFETY_ALLOWED_AREA_DATA :: default ())) , CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: ID => Ok (Self :: CUBEPILOT_FIRMWARE_UPDATE_START (CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: default ())) , DEVICE_OP_WRITE_DATA :: ID => Ok (Self :: DEVICE_OP_WRITE (DEVICE_OP_WRITE_DATA :: default ())) , OPEN_DRONE_ID_LOCATION_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_LOCATION (OPEN_DRONE_ID_LOCATION_DATA :: default ())) , GIMBAL_CONTROL_DATA :: ID => Ok (Self :: GIMBAL_CONTROL (GIMBAL_CONTROL_DATA :: default ())) , MISSION_CLEAR_ALL_DATA :: ID => Ok (Self :: MISSION_CLEAR_ALL (MISSION_CLEAR_ALL_DATA :: default ())) , ONBOARD_COMPUTER_STATUS_DATA :: ID => Ok (Self :: ONBOARD_COMPUTER_STATUS (ONBOARD_COMPUTER_STATUS_DATA :: default ())) , RESOURCE_REQUEST_DATA :: ID => Ok (Self :: RESOURCE_REQUEST (RESOURCE_REQUEST_DATA :: default ())) , GLOBAL_POSITION_INT_COV_DATA :: ID => Ok (Self :: GLOBAL_POSITION_INT_COV (GLOBAL_POSITION_INT_COV_DATA :: default ())) , STORAGE_INFORMATION_DATA :: ID => Ok (Self :: STORAGE_INFORMATION (STORAGE_INFORMATION_DATA :: default ())) , SYSTEM_TIME_DATA :: ID => Ok (Self :: SYSTEM_TIME (SYSTEM_TIME_DATA :: default ())) , MISSION_CURRENT_DATA :: ID => Ok (Self :: MISSION_CURRENT (MISSION_CURRENT_DATA :: default ())) , LOG_REQUEST_LIST_DATA :: ID => Ok (Self :: LOG_REQUEST_LIST (LOG_REQUEST_LIST_DATA :: default ())) , MAG_CAL_PROGRESS_DATA :: ID => Ok (Self :: MAG_CAL_PROGRESS (MAG_CAL_PROGRESS_DATA :: default ())) , GPS2_RTK_DATA :: ID => Ok (Self :: GPS2_RTK (GPS2_RTK_DATA :: default ())) , OPEN_DRONE_ID_SYSTEM_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SYSTEM (OPEN_DRONE_ID_SYSTEM_DATA :: default ())) , LOG_ENTRY_DATA :: ID => Ok (Self :: LOG_ENTRY (LOG_ENTRY_DATA :: default ())) , MISSION_ITEM_REACHED_DATA :: ID => Ok (Self :: MISSION_ITEM_REACHED (MISSION_ITEM_REACHED_DATA :: default ())) , TERRAIN_CHECK_DATA :: ID => Ok (Self :: TERRAIN_CHECK (TERRAIN_CHECK_DATA :: default ())) , HEARTBEAT_DATA :: ID => Ok (Self :: HEARTBEAT (HEARTBEAT_DATA :: default ())) , CAN_FILTER_MODIFY_DATA :: ID => Ok (Self :: CAN_FILTER_MODIFY (CAN_FILTER_MODIFY_DATA :: default ())) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_PITCHYAW (GIMBAL_MANAGER_SET_PITCHYAW_DATA :: default ())) , FLIGHT_INFORMATION_DATA :: ID => Ok (Self :: FLIGHT_INFORMATION (FLIGHT_INFORMATION_DATA :: default ())) , VFR_HUD_DATA :: ID => Ok (Self :: VFR_HUD (VFR_HUD_DATA :: default ())) , MOUNT_CONTROL_DATA :: ID => Ok (Self :: MOUNT_CONTROL (MOUNT_CONTROL_DATA :: default ())) , WATER_DEPTH_DATA :: ID => Ok (Self :: WATER_DEPTH (WATER_DEPTH_DATA :: default ())) , SET_MODE_DATA :: ID => Ok (Self :: SET_MODE (SET_MODE_DATA :: default ())) , OSD_PARAM_CONFIG_DATA :: ID => Ok (Self :: OSD_PARAM_CONFIG (OSD_PARAM_CONFIG_DATA :: default ())) , PING_DATA :: ID => Ok (Self :: PING (PING_DATA :: default ())) , PARAM_EXT_ACK_DATA :: ID => Ok (Self :: PARAM_EXT_ACK (PARAM_EXT_ACK_DATA :: default ())) , TIMESYNC_DATA :: ID => Ok (Self :: TIMESYNC (TIMESYNC_DATA :: default ())) , ESC_TELEMETRY_5_TO_8_DATA :: ID => Ok (Self :: ESC_TELEMETRY_5_TO_8 (ESC_TELEMETRY_5_TO_8_DATA :: default ())) , RAW_PRESSURE_DATA :: ID => Ok (Self :: RAW_PRESSURE (RAW_PRESSURE_DATA :: default ())) , SMART_BATTERY_INFO_DATA :: ID => Ok (Self :: SMART_BATTERY_INFO (SMART_BATTERY_INFO_DATA :: default ())) , OBSTACLE_DISTANCE_DATA :: ID => Ok (Self :: OBSTACLE_DISTANCE (OBSTACLE_DISTANCE_DATA :: default ())) , CAMERA_FOV_STATUS_DATA :: ID => Ok (Self :: CAMERA_FOV_STATUS (CAMERA_FOV_STATUS_DATA :: default ())) , ATTITUDE_TARGET_DATA :: ID => Ok (Self :: ATTITUDE_TARGET (ATTITUDE_TARGET_DATA :: default ())) , GPS2_RAW_DATA :: ID => Ok (Self :: GPS2_RAW (GPS2_RAW_DATA :: default ())) , RC_CHANNELS_DATA :: ID => Ok (Self :: RC_CHANNELS (RC_CHANNELS_DATA :: default ())) , DATA_STREAM_DATA :: ID => Ok (Self :: DATA_STREAM (DATA_STREAM_DATA :: default ())) , VIDEO_STREAM_INFORMATION_DATA :: ID => Ok (Self :: VIDEO_STREAM_INFORMATION (VIDEO_STREAM_INFORMATION_DATA :: default ())) , HIL_GPS_DATA :: ID => Ok (Self :: HIL_GPS (HIL_GPS_DATA :: default ())) , VISION_POSITION_DELTA_DATA :: ID => Ok (Self :: VISION_POSITION_DELTA (VISION_POSITION_DELTA_DATA :: default ())) , TERRAIN_REQUEST_DATA :: ID => Ok (Self :: TERRAIN_REQUEST (TERRAIN_REQUEST_DATA :: default ())) , HIGH_LATENCY_DATA :: ID => Ok (Self :: HIGH_LATENCY (HIGH_LATENCY_DATA :: default ())) , TUNNEL_DATA :: ID => Ok (Self :: TUNNEL (TUNNEL_DATA :: default ())) , LIMITS_STATUS_DATA :: ID => Ok (Self :: LIMITS_STATUS (LIMITS_STATUS_DATA :: default ())) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => Ok (Self :: TRAJECTORY_REPRESENTATION_BEZIER (TRAJECTORY_REPRESENTATION_BEZIER_DATA :: default ())) , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => Ok (Self :: SET_ACTUATOR_CONTROL_TARGET (SET_ACTUATOR_CONTROL_TARGET_DATA :: default ())) , RC_CHANNELS_SCALED_DATA :: ID => Ok (Self :: RC_CHANNELS_SCALED (RC_CHANNELS_SCALED_DATA :: default ())) , OPEN_DRONE_ID_SELF_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SELF_ID (OPEN_DRONE_ID_SELF_ID_DATA :: default ())) , MOUNT_ORIENTATION_DATA :: ID => Ok (Self :: MOUNT_ORIENTATION (MOUNT_ORIENTATION_DATA :: default ())) , GLOBAL_POSITION_INT_DATA :: ID => Ok (Self :: GLOBAL_POSITION_INT (GLOBAL_POSITION_INT_DATA :: default ())) , DEVICE_OP_READ_REPLY_DATA :: ID => Ok (Self :: DEVICE_OP_READ_REPLY (DEVICE_OP_READ_REPLY_DATA :: default ())) , SERIAL_CONTROL_DATA :: ID => Ok (Self :: SERIAL_CONTROL (SERIAL_CONTROL_DATA :: default ())) , CAN_FRAME_DATA :: ID => Ok (Self :: CAN_FRAME (CAN_FRAME_DATA :: default ())) , AHRS3_DATA :: ID => Ok (Self :: AHRS3 (AHRS3_DATA :: default ())) , PARAM_EXT_REQUEST_LIST_DATA :: ID => Ok (Self :: PARAM_EXT_REQUEST_LIST (PARAM_EXT_REQUEST_LIST_DATA :: default ())) , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => Ok (Self :: CAMERA_TRACKING_GEO_STATUS (CAMERA_TRACKING_GEO_STATUS_DATA :: default ())) , SCALED_IMU3_DATA :: ID => Ok (Self :: SCALED_IMU3 (SCALED_IMU3_DATA :: default ())) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => Ok (Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: default ())) , MISSION_ITEM_INT_DATA :: ID => Ok (Self :: MISSION_ITEM_INT (MISSION_ITEM_INT_DATA :: default ())) , ADAP_TUNING_DATA :: ID => Ok (Self :: ADAP_TUNING (ADAP_TUNING_DATA :: default ())) , EFI_STATUS_DATA :: ID => Ok (Self :: EFI_STATUS (EFI_STATUS_DATA :: default ())) , TERRAIN_REPORT_DATA :: ID => Ok (Self :: TERRAIN_REPORT (TERRAIN_REPORT_DATA :: default ())) , SCALED_PRESSURE2_DATA :: ID => Ok (Self :: SCALED_PRESSURE2 (SCALED_PRESSURE2_DATA :: default ())) , SET_HOME_POSITION_DATA :: ID => Ok (Self :: SET_HOME_POSITION (SET_HOME_POSITION_DATA :: default ())) , AP_ADC_DATA :: ID => Ok (Self :: AP_ADC (AP_ADC_DATA :: default ())) , GIMBAL_TORQUE_CMD_REPORT_DATA :: ID => Ok (Self :: GIMBAL_TORQUE_CMD_REPORT (GIMBAL_TORQUE_CMD_REPORT_DATA :: default ())) , GOPRO_SET_RESPONSE_DATA :: ID => Ok (Self :: GOPRO_SET_RESPONSE (GOPRO_SET_RESPONSE_DATA :: default ())) , ESC_TELEMETRY_9_TO_12_DATA :: ID => Ok (Self :: ESC_TELEMETRY_9_TO_12 (ESC_TELEMETRY_9_TO_12_DATA :: default ())) , HYGROMETER_SENSOR_DATA :: ID => Ok (Self :: HYGROMETER_SENSOR (HYGROMETER_SENSOR_DATA :: default ())) , CONTROL_SYSTEM_STATE_DATA :: ID => Ok (Self :: CONTROL_SYSTEM_STATE (CONTROL_SYSTEM_STATE_DATA :: default ())) , BUTTON_CHANGE_DATA :: ID => Ok (Self :: BUTTON_CHANGE (BUTTON_CHANGE_DATA :: default ())) , VICON_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: VICON_POSITION_ESTIMATE (VICON_POSITION_ESTIMATE_DATA :: default ())) , HIL_RC_INPUTS_RAW_DATA :: ID => Ok (Self :: HIL_RC_INPUTS_RAW (HIL_RC_INPUTS_RAW_DATA :: default ())) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_AUTHENTICATION (OPEN_DRONE_ID_AUTHENTICATION_DATA :: default ())) , HIL_STATE_DATA :: ID => Ok (Self :: HIL_STATE (HIL_STATE_DATA :: default ())) , GOPRO_GET_RESPONSE_DATA :: ID => Ok (Self :: GOPRO_GET_RESPONSE (GOPRO_GET_RESPONSE_DATA :: default ())) , POWER_STATUS_DATA :: ID => Ok (Self :: POWER_STATUS (POWER_STATUS_DATA :: default ())) , AHRS_DATA :: ID => Ok (Self :: AHRS (AHRS_DATA :: default ())) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => Ok (Self :: SET_POSITION_TARGET_GLOBAL_INT (SET_POSITION_TARGET_GLOBAL_INT_DATA :: default ())) , LOG_ERASE_DATA :: ID => Ok (Self :: LOG_ERASE (LOG_ERASE_DATA :: default ())) , ACTUATOR_CONTROL_TARGET_DATA :: ID => Ok (Self :: ACTUATOR_CONTROL_TARGET (ACTUATOR_CONTROL_TARGET_DATA :: default ())) , NAV_CONTROLLER_OUTPUT_DATA :: ID => Ok (Self :: NAV_CONTROLLER_OUTPUT (NAV_CONTROLLER_OUTPUT_DATA :: default ())) , ADSB_VEHICLE_DATA :: ID => Ok (Self :: ADSB_VEHICLE (ADSB_VEHICLE_DATA :: default ())) , GPS_INJECT_DATA_DATA :: ID => Ok (Self :: GPS_INJECT_DATA (GPS_INJECT_DATA_DATA :: default ())) , NAMED_VALUE_INT_DATA :: ID => Ok (Self :: NAMED_VALUE_INT (NAMED_VALUE_INT_DATA :: default ())) , DIGICAM_CONFIGURE_DATA :: ID => Ok (Self :: DIGICAM_CONFIGURE (DIGICAM_CONFIGURE_DATA :: default ())) , EKF_STATUS_REPORT_DATA :: ID => Ok (Self :: EKF_STATUS_REPORT (EKF_STATUS_REPORT_DATA :: default ())) , OSD_PARAM_SHOW_CONFIG_DATA :: ID => Ok (Self :: OSD_PARAM_SHOW_CONFIG (OSD_PARAM_SHOW_CONFIG_DATA :: default ())) , REQUEST_DATA_STREAM_DATA :: ID => Ok (Self :: REQUEST_DATA_STREAM (REQUEST_DATA_STREAM_DATA :: default ())) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: default ())) , HIL_SENSOR_DATA :: ID => Ok (Self :: HIL_SENSOR (HIL_SENSOR_DATA :: default ())) , WINCH_STATUS_DATA :: ID => Ok (Self :: WINCH_STATUS (WINCH_STATUS_DATA :: default ())) , GIMBAL_MANAGER_INFORMATION_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_INFORMATION (GIMBAL_MANAGER_INFORMATION_DATA :: default ())) , MOUNT_CONFIGURE_DATA :: ID => Ok (Self :: MOUNT_CONFIGURE (MOUNT_CONFIGURE_DATA :: default ())) , DATA32_DATA :: ID => Ok (Self :: DATA32 (DATA32_DATA :: default ())) , COMMAND_LONG_DATA :: ID => Ok (Self :: COMMAND_LONG (COMMAND_LONG_DATA :: default ())) , NAMED_VALUE_FLOAT_DATA :: ID => Ok (Self :: NAMED_VALUE_FLOAT (NAMED_VALUE_FLOAT_DATA :: default ())) , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => Ok (Self :: MISSION_WRITE_PARTIAL_LIST (MISSION_WRITE_PARTIAL_LIST_DATA :: default ())) , VISION_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: VISION_POSITION_ESTIMATE (VISION_POSITION_ESTIMATE_DATA :: default ())) , MEMINFO_DATA :: ID => Ok (Self :: MEMINFO (MEMINFO_DATA :: default ())) , DEVICE_OP_WRITE_REPLY_DATA :: ID => Ok (Self :: DEVICE_OP_WRITE_REPLY (DEVICE_OP_WRITE_REPLY_DATA :: default ())) , COMMAND_CANCEL_DATA :: ID => Ok (Self :: COMMAND_CANCEL (COMMAND_CANCEL_DATA :: default ())) , RC_CHANNELS_RAW_DATA :: ID => Ok (Self :: RC_CHANNELS_RAW (RC_CHANNELS_RAW_DATA :: default ())) , PARAM_EXT_VALUE_DATA :: ID => Ok (Self :: PARAM_EXT_VALUE (PARAM_EXT_VALUE_DATA :: default ())) , RESPONSE_EVENT_ERROR_DATA :: ID => Ok (Self :: RESPONSE_EVENT_ERROR (RESPONSE_EVENT_ERROR_DATA :: default ())) , MISSION_SET_CURRENT_DATA :: ID => Ok (Self :: MISSION_SET_CURRENT (MISSION_SET_CURRENT_DATA :: default ())) , HIL_STATE_QUATERNION_DATA :: ID => Ok (Self :: HIL_STATE_QUATERNION (HIL_STATE_QUATERNION_DATA :: default ())) , UAVIONIX_ADSB_OUT_CFG_DATA :: ID => Ok (Self :: UAVIONIX_ADSB_OUT_CFG (UAVIONIX_ADSB_OUT_CFG_DATA :: default ())) , ESTIMATOR_STATUS_DATA :: ID => Ok (Self :: ESTIMATOR_STATUS (ESTIMATOR_STATUS_DATA :: default ())) , PARAM_VALUE_DATA :: ID => Ok (Self :: PARAM_VALUE (PARAM_VALUE_DATA :: default ())) , ORBIT_EXECUTION_STATUS_DATA :: ID => Ok (Self :: ORBIT_EXECUTION_STATUS (ORBIT_EXECUTION_STATUS_DATA :: default ())) , RALLY_POINT_DATA :: ID => Ok (Self :: RALLY_POINT (RALLY_POINT_DATA :: default ())) , MANUAL_CONTROL_DATA :: ID => Ok (Self :: MANUAL_CONTROL (MANUAL_CONTROL_DATA :: default ())) , EXTENDED_SYS_STATE_DATA :: ID => Ok (Self :: EXTENDED_SYS_STATE (EXTENDED_SYS_STATE_DATA :: default ())) , DATA16_DATA :: ID => Ok (Self :: DATA16 (DATA16_DATA :: default ())) , CURRENT_EVENT_SEQUENCE_DATA :: ID => Ok (Self :: CURRENT_EVENT_SEQUENCE (CURRENT_EVENT_SEQUENCE_DATA :: default ())) , MOUNT_STATUS_DATA :: ID => Ok (Self :: MOUNT_STATUS (MOUNT_STATUS_DATA :: default ())) , DEBUG_DATA :: ID => Ok (Self :: DEBUG (DEBUG_DATA :: default ())) , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_BASIC_ID (OPEN_DRONE_ID_BASIC_ID_DATA :: default ())) , EVENT_DATA :: ID => Ok (Self :: EVENT (EVENT_DATA :: default ())) , MCU_STATUS_DATA :: ID => Ok (Self :: MCU_STATUS (MCU_STATUS_DATA :: default ())) , LOCAL_POSITION_NED_COV_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED_COV (LOCAL_POSITION_NED_COV_DATA :: default ())) , RAW_RPM_DATA :: ID => Ok (Self :: RAW_RPM (RAW_RPM_DATA :: default ())) , PARAM_REQUEST_READ_DATA :: ID => Ok (Self :: PARAM_REQUEST_READ (PARAM_REQUEST_READ_DATA :: default ())) , _ => { Err ("Invalid message id.") } } } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { match self { Self :: LOG_REQUEST_DATA (body) => body . ser (version , bytes) , Self :: AUTH_KEY (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_OPERATOR_ID (body) => body . ser (version , bytes) , Self :: CELLULAR_CONFIG (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE3 (body) => body . ser (version , bytes) , Self :: CUBEPILOT_RAW_RC (body) => body . ser (version , bytes) , Self :: LED_CONTROL (body) => body . ser (version , bytes) , Self :: GPS_GLOBAL_ORIGIN (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_STATUS (body) => body . ser (version , bytes) , Self :: AIS_VESSEL (body) => body . ser (version , bytes) , Self :: SCALED_IMU (body) => body . ser (version , bytes) , Self :: CAMERA_INFORMATION (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_ATTITUDE (body) => body . ser (version , bytes) , Self :: SUPPORTED_TUNES (body) => body . ser (version , bytes) , Self :: RANGEFINDER (body) => body . ser (version , bytes) , Self :: GLOBAL_VISION_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: GENERATOR_STATUS (body) => body . ser (version , bytes) , Self :: COLLISION (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_INT (body) => body . ser (version , bytes) , Self :: TERRAIN_DATA (body) => body . ser (version , bytes) , Self :: REMOTE_LOG_DATA_BLOCK (body) => body . ser (version , bytes) , Self :: DEBUG_FLOAT_ARRAY (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_ARM_STATUS (body) => body . ser (version , bytes) , Self :: OPTICAL_FLOW (body) => body . ser (version , bytes) , Self :: VIDEO_STREAM_STATUS (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE (body) => body . ser (version , bytes) , Self :: HIGHRES_IMU (body) => body . ser (version , bytes) , Self :: GPS_RTCM_DATA (body) => body . ser (version , bytes) , Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (body) => body . ser (version , bytes) , Self :: WIND (body) => body . ser (version , bytes) , Self :: RALLY_FETCH_POINT (body) => body . ser (version , bytes) , Self :: FOLLOW_TARGET (body) => body . ser (version , bytes) , Self :: GOPRO_HEARTBEAT (body) => body . ser (version , bytes) , Self :: CAMERA_CAPTURE_STATUS (body) => body . ser (version , bytes) , Self :: MESSAGE_INTERVAL (body) => body . ser (version , bytes) , Self :: MEMORY_VECT (body) => body . ser (version , bytes) , Self :: ENCAPSULATED_DATA (body) => body . ser (version , bytes) , Self :: PARAM_MAP_RC (body) => body . ser (version , bytes) , Self :: LOGGING_ACK (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_MESSAGE_PACK (body) => body . ser (version , bytes) , Self :: PROTOCOL_VERSION (body) => body . ser (version , bytes) , Self :: ATTITUDE (body) => body . ser (version , bytes) , Self :: AOA_SSA (body) => body . ser (version , bytes) , Self :: ESC_TELEMETRY_1_TO_4 (body) => body . ser (version , bytes) , Self :: LOGGING_DATA_ACKED (body) => body . ser (version , bytes) , Self :: PLAY_TUNE (body) => body . ser (version , bytes) , Self :: SIM_STATE (body) => body . ser (version , bytes) , Self :: MANUAL_SETPOINT (body) => body . ser (version , bytes) , Self :: VIBRATION (body) => body . ser (version , bytes) , Self :: ACTUATOR_OUTPUT_STATUS (body) => body . ser (version , bytes) , Self :: DEEPSTALL (body) => body . ser (version , bytes) , Self :: MAG_CAL_REPORT (body) => body . ser (version , bytes) , Self :: TIME_ESTIMATE_TO_TARGET (body) => body . ser (version , bytes) , Self :: SCALED_IMU2 (body) => body . ser (version , bytes) , Self :: GOPRO_GET_REQUEST (body) => body . ser (version , bytes) , Self :: COMMAND_INT (body) => body . ser (version , bytes) , Self :: UAVCAN_NODE_STATUS (body) => body . ser (version , bytes) , Self :: ODOMETRY (body) => body . ser (version , bytes) , Self :: HIGH_LATENCY2 (body) => body . ser (version , bytes) , Self :: REQUEST_EVENT (body) => body . ser (version , bytes) , Self :: ICAROUS_HEARTBEAT (body) => body . ser (version , bytes) , Self :: MISSION_COUNT (body) => body . ser (version , bytes) , Self :: AIRSPEED_AUTOCAL (body) => body . ser (version , bytes) , Self :: PARAM_EXT_REQUEST_READ (body) => body . ser (version , bytes) , Self :: CELLULAR_STATUS (body) => body . ser (version , bytes) , Self :: COMPASSMOT_STATUS (body) => body . ser (version , bytes) , Self :: GPS_RAW_INT (body) => body . ser (version , bytes) , Self :: WIND_COV (body) => body . ser (version , bytes) , Self :: V2_EXTENSION (body) => body . ser (version , bytes) , Self :: WHEEL_DISTANCE (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (body) => body . ser (version , bytes) , Self :: OSD_PARAM_CONFIG_REPLY (body) => body . ser (version , bytes) , Self :: AHRS2 (body) => body . ser (version , bytes) , Self :: BATTERY2 (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_END (body) => body . ser (version , bytes) , Self :: FILE_TRANSFER_PROTOCOL (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED (body) => body . ser (version , bytes) , Self :: PID_TUNING (body) => body . ser (version , bytes) , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (body) => body . ser (version , bytes) , Self :: ICAROUS_KINEMATIC_BANDS (body) => body . ser (version , bytes) , Self :: ESC_INFO (body) => body . ser (version , bytes) , Self :: POSITION_TARGET_LOCAL_NED (body) => body . ser (version , bytes) , Self :: CAMERA_TRIGGER (body) => body . ser (version , bytes) , Self :: GPS_INPUT (body) => body . ser (version , bytes) , Self :: BATTERY_STATUS (body) => body . ser (version , bytes) , Self :: FENCE_FETCH_POINT (body) => body . ser (version , bytes) , Self :: SYS_STATUS (body) => body . ser (version , bytes) , Self :: ISBD_LINK_STATUS (body) => body . ser (version , bytes) , Self :: DEBUG_VECT (body) => body . ser (version , bytes) , Self :: SIMSTATE (body) => body . ser (version , bytes) , Self :: FENCE_POINT (body) => body . ser (version , bytes) , Self :: CUBEPILOT_FIRMWARE_UPDATE_RESP (body) => body . ser (version , bytes) , Self :: SETUP_SIGNING (body) => body . ser (version , bytes) , Self :: COMPONENT_METADATA (body) => body . ser (version , bytes) , Self :: CAMERA_STATUS (body) => body . ser (version , bytes) , Self :: DATA96 (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (body) => body . ser (version , bytes) , Self :: ALTITUDE (body) => body . ser (version , bytes) , Self :: OBSTACLE_DISTANCE_3D (body) => body . ser (version , bytes) , Self :: HERELINK_TELEM (body) => body . ser (version , bytes) , Self :: GPS_STATUS (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_OVERRIDE (body) => body . ser (version , bytes) , Self :: RPM (body) => body . ser (version , bytes) , Self :: CANFD_FRAME (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_SET_ATTITUDE (body) => body . ser (version , bytes) , Self :: POSITION_TARGET_GLOBAL_INT (body) => body . ser (version , bytes) , Self :: AUTOPILOT_VERSION_REQUEST (body) => body . ser (version , bytes) , Self :: LOGGING_DATA (body) => body . ser (version , bytes) , Self :: CHANGE_OPERATOR_CONTROL (body) => body . ser (version , bytes) , Self :: DIGICAM_CONTROL (body) => body . ser (version , bytes) , Self :: FENCE_STATUS (body) => body . ser (version , bytes) , Self :: MISSION_ITEM (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_PARTIAL_LIST (body) => body . ser (version , bytes) , Self :: ATTITUDE_QUATERNION (body) => body . ser (version , bytes) , Self :: AUTOPILOT_VERSION (body) => body . ser (version , bytes) , Self :: HIL_ACTUATOR_CONTROLS (body) => body . ser (version , bytes) , Self :: HIL_OPTICAL_FLOW (body) => body . ser (version , bytes) , Self :: DATA_TRANSMISSION_HANDSHAKE (body) => body . ser (version , bytes) , Self :: PLAY_TUNE_V2 (body) => body . ser (version , bytes) , Self :: GIMBAL_REPORT (body) => body . ser (version , bytes) , Self :: SAFETY_SET_ALLOWED_AREA (body) => body . ser (version , bytes) , Self :: HOME_POSITION (body) => body . ser (version , bytes) , Self :: DATA64 (body) => body . ser (version , bytes) , Self :: ESC_STATUS (body) => body . ser (version , bytes) , Self :: PARAM_EXT_SET (body) => body . ser (version , bytes) , Self :: VISION_SPEED_ESTIMATE (body) => body . ser (version , bytes) , Self :: CHANGE_OPERATOR_CONTROL_ACK (body) => body . ser (version , bytes) , Self :: DISTANCE_SENSOR (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_INFORMATION (body) => body . ser (version , bytes) , Self :: ATT_POS_MOCAP (body) => body . ser (version , bytes) , Self :: SET_MAG_OFFSETS (body) => body . ser (version , bytes) , Self :: LINK_NODE_STATUS (body) => body . ser (version , bytes) , Self :: MISSION_ACK (body) => body . ser (version , bytes) , Self :: HWSTATUS (body) => body . ser (version , bytes) , Self :: PARAM_SET (body) => body . ser (version , bytes) , Self :: CAMERA_FEEDBACK (body) => body . ser (version , bytes) , Self :: COMPONENT_INFORMATION (body) => body . ser (version , bytes) , Self :: SET_ATTITUDE_TARGET (body) => body . ser (version , bytes) , Self :: OSD_PARAM_SHOW_CONFIG_REPLY (body) => body . ser (version , bytes) , Self :: RADIO_STATUS (body) => body . ser (version , bytes) , Self :: CAMERA_IMAGE_CAPTURED (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: UTM_GLOBAL_POSITION (body) => body . ser (version , bytes) , Self :: HIL_CONTROLS (body) => body . ser (version , bytes) , Self :: SERVO_OUTPUT_RAW (body) => body . ser (version , bytes) , Self :: SET_GPS_GLOBAL_ORIGIN (body) => body . ser (version , bytes) , Self :: UAVCAN_NODE_INFO (body) => body . ser (version , bytes) , Self :: ATTITUDE_QUATERNION_COV (body) => body . ser (version , bytes) , Self :: STATUSTEXT (body) => body . ser (version , bytes) , Self :: GOPRO_SET_REQUEST (body) => body . ser (version , bytes) , Self :: SET_POSITION_TARGET_LOCAL_NED (body) => body . ser (version , bytes) , Self :: OPTICAL_FLOW_RAD (body) => body . ser (version , bytes) , Self :: LANDING_TARGET (body) => body . ser (version , bytes) , Self :: CAMERA_TRACKING_IMAGE_STATUS (body) => body . ser (version , bytes) , Self :: LOG_DATA (body) => body . ser (version , bytes) , Self :: UAVIONIX_ADSB_OUT_DYNAMIC (body) => body . ser (version , bytes) , Self :: SENSOR_OFFSETS (body) => body . ser (version , bytes) , Self :: WIFI_CONFIG_AP (body) => body . ser (version , bytes) , Self :: DEVICE_OP_READ (body) => body . ser (version , bytes) , Self :: GPS_RTK (body) => body . ser (version , bytes) , Self :: PARAM_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: HERELINK_VIDEO_STREAM_INFORMATION (body) => body . ser (version , bytes) , Self :: REMOTE_LOG_BLOCK_STATUS (body) => body . ser (version , bytes) , Self :: COMMAND_ACK (body) => body . ser (version , bytes) , Self :: CAMERA_SETTINGS (body) => body . ser (version , bytes) , Self :: RAW_IMU (body) => body . ser (version , bytes) , Self :: RADIO (body) => body . ser (version , bytes) , Self :: SAFETY_ALLOWED_AREA (body) => body . ser (version , bytes) , Self :: CUBEPILOT_FIRMWARE_UPDATE_START (body) => body . ser (version , bytes) , Self :: DEVICE_OP_WRITE (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_LOCATION (body) => body . ser (version , bytes) , Self :: GIMBAL_CONTROL (body) => body . ser (version , bytes) , Self :: MISSION_CLEAR_ALL (body) => body . ser (version , bytes) , Self :: ONBOARD_COMPUTER_STATUS (body) => body . ser (version , bytes) , Self :: RESOURCE_REQUEST (body) => body . ser (version , bytes) , Self :: GLOBAL_POSITION_INT_COV (body) => body . ser (version , bytes) , Self :: STORAGE_INFORMATION (body) => body . ser (version , bytes) , Self :: SYSTEM_TIME (body) => body . ser (version , bytes) , Self :: MISSION_CURRENT (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: MAG_CAL_PROGRESS (body) => body . ser (version , bytes) , Self :: GPS2_RTK (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SYSTEM (body) => body . ser (version , bytes) , Self :: LOG_ENTRY (body) => body . ser (version , bytes) , Self :: MISSION_ITEM_REACHED (body) => body . ser (version , bytes) , Self :: TERRAIN_CHECK (body) => body . ser (version , bytes) , Self :: HEARTBEAT (body) => body . ser (version , bytes) , Self :: CAN_FILTER_MODIFY (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_PITCHYAW (body) => body . ser (version , bytes) , Self :: FLIGHT_INFORMATION (body) => body . ser (version , bytes) , Self :: VFR_HUD (body) => body . ser (version , bytes) , Self :: MOUNT_CONTROL (body) => body . ser (version , bytes) , Self :: WATER_DEPTH (body) => body . ser (version , bytes) , Self :: SET_MODE (body) => body . ser (version , bytes) , Self :: OSD_PARAM_CONFIG (body) => body . ser (version , bytes) , Self :: PING (body) => body . ser (version , bytes) , Self :: PARAM_EXT_ACK (body) => body . ser (version , bytes) , Self :: TIMESYNC (body) => body . ser (version , bytes) , Self :: ESC_TELEMETRY_5_TO_8 (body) => body . ser (version , bytes) , Self :: RAW_PRESSURE (body) => body . ser (version , bytes) , Self :: SMART_BATTERY_INFO (body) => body . ser (version , bytes) , Self :: OBSTACLE_DISTANCE (body) => body . ser (version , bytes) , Self :: CAMERA_FOV_STATUS (body) => body . ser (version , bytes) , Self :: ATTITUDE_TARGET (body) => body . ser (version , bytes) , Self :: GPS2_RAW (body) => body . ser (version , bytes) , Self :: RC_CHANNELS (body) => body . ser (version , bytes) , Self :: DATA_STREAM (body) => body . ser (version , bytes) , Self :: VIDEO_STREAM_INFORMATION (body) => body . ser (version , bytes) , Self :: HIL_GPS (body) => body . ser (version , bytes) , Self :: VISION_POSITION_DELTA (body) => body . ser (version , bytes) , Self :: TERRAIN_REQUEST (body) => body . ser (version , bytes) , Self :: HIGH_LATENCY (body) => body . ser (version , bytes) , Self :: TUNNEL (body) => body . ser (version , bytes) , Self :: LIMITS_STATUS (body) => body . ser (version , bytes) , Self :: TRAJECTORY_REPRESENTATION_BEZIER (body) => body . ser (version , bytes) , Self :: SET_ACTUATOR_CONTROL_TARGET (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_SCALED (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SELF_ID (body) => body . ser (version , bytes) , Self :: MOUNT_ORIENTATION (body) => body . ser (version , bytes) , Self :: GLOBAL_POSITION_INT (body) => body . ser (version , bytes) , Self :: DEVICE_OP_READ_REPLY (body) => body . ser (version , bytes) , Self :: SERIAL_CONTROL (body) => body . ser (version , bytes) , Self :: CAN_FRAME (body) => body . ser (version , bytes) , Self :: AHRS3 (body) => body . ser (version , bytes) , Self :: PARAM_EXT_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: CAMERA_TRACKING_GEO_STATUS (body) => body . ser (version , bytes) , Self :: SCALED_IMU3 (body) => body . ser (version , bytes) , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (body) => body . ser (version , bytes) , Self :: MISSION_ITEM_INT (body) => body . ser (version , bytes) , Self :: ADAP_TUNING (body) => body . ser (version , bytes) , Self :: EFI_STATUS (body) => body . ser (version , bytes) , Self :: TERRAIN_REPORT (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE2 (body) => body . ser (version , bytes) , Self :: SET_HOME_POSITION (body) => body . ser (version , bytes) , Self :: AP_ADC (body) => body . ser (version , bytes) , Self :: GIMBAL_TORQUE_CMD_REPORT (body) => body . ser (version , bytes) , Self :: GOPRO_SET_RESPONSE (body) => body . ser (version , bytes) , Self :: ESC_TELEMETRY_9_TO_12 (body) => body . ser (version , bytes) , Self :: HYGROMETER_SENSOR (body) => body . ser (version , bytes) , Self :: CONTROL_SYSTEM_STATE (body) => body . ser (version , bytes) , Self :: BUTTON_CHANGE (body) => body . ser (version , bytes) , Self :: VICON_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: HIL_RC_INPUTS_RAW (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_AUTHENTICATION (body) => body . ser (version , bytes) , Self :: HIL_STATE (body) => body . ser (version , bytes) , Self :: GOPRO_GET_RESPONSE (body) => body . ser (version , bytes) , Self :: POWER_STATUS (body) => body . ser (version , bytes) , Self :: AHRS (body) => body . ser (version , bytes) , Self :: SET_POSITION_TARGET_GLOBAL_INT (body) => body . ser (version , bytes) , Self :: LOG_ERASE (body) => body . ser (version , bytes) , Self :: ACTUATOR_CONTROL_TARGET (body) => body . ser (version , bytes) , Self :: NAV_CONTROLLER_OUTPUT (body) => body . ser (version , bytes) , Self :: ADSB_VEHICLE (body) => body . ser (version , bytes) , Self :: GPS_INJECT_DATA (body) => body . ser (version , bytes) , Self :: NAMED_VALUE_INT (body) => body . ser (version , bytes) , Self :: DIGICAM_CONFIGURE (body) => body . ser (version , bytes) , Self :: EKF_STATUS_REPORT (body) => body . ser (version , bytes) , Self :: OSD_PARAM_SHOW_CONFIG (body) => body . ser (version , bytes) , Self :: REQUEST_DATA_STREAM (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (body) => body . ser (version , bytes) , Self :: HIL_SENSOR (body) => body . ser (version , bytes) , Self :: WINCH_STATUS (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_INFORMATION (body) => body . ser (version , bytes) , Self :: MOUNT_CONFIGURE (body) => body . ser (version , bytes) , Self :: DATA32 (body) => body . ser (version , bytes) , Self :: COMMAND_LONG (body) => body . ser (version , bytes) , Self :: NAMED_VALUE_FLOAT (body) => body . ser (version , bytes) , Self :: MISSION_WRITE_PARTIAL_LIST (body) => body . ser (version , bytes) , Self :: VISION_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: MEMINFO (body) => body . ser (version , bytes) , Self :: DEVICE_OP_WRITE_REPLY (body) => body . ser (version , bytes) , Self :: COMMAND_CANCEL (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_RAW (body) => body . ser (version , bytes) , Self :: PARAM_EXT_VALUE (body) => body . ser (version , bytes) , Self :: RESPONSE_EVENT_ERROR (body) => body . ser (version , bytes) , Self :: MISSION_SET_CURRENT (body) => body . ser (version , bytes) , Self :: HIL_STATE_QUATERNION (body) => body . ser (version , bytes) , Self :: UAVIONIX_ADSB_OUT_CFG (body) => body . ser (version , bytes) , Self :: ESTIMATOR_STATUS (body) => body . ser (version , bytes) , Self :: PARAM_VALUE (body) => body . ser (version , bytes) , Self :: ORBIT_EXECUTION_STATUS (body) => body . ser (version , bytes) , Self :: RALLY_POINT (body) => body . ser (version , bytes) , Self :: MANUAL_CONTROL (body) => body . ser (version , bytes) , Self :: EXTENDED_SYS_STATE (body) => body . ser (version , bytes) , Self :: DATA16 (body) => body . ser (version , bytes) , Self :: CURRENT_EVENT_SEQUENCE (body) => body . ser (version , bytes) , Self :: MOUNT_STATUS (body) => body . ser (version , bytes) , Self :: DEBUG (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_BASIC_ID (body) => body . ser (version , bytes) , Self :: EVENT (body) => body . ser (version , bytes) , Self :: MCU_STATUS (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED_COV (body) => body . ser (version , bytes) , Self :: RAW_RPM (body) => body . ser (version , bytes) , Self :: PARAM_REQUEST_READ (body) => body . ser (version , bytes) , } } fn extra_crc (id : u32) -> u8 { match id { LOG_REQUEST_DATA_DATA :: ID => LOG_REQUEST_DATA_DATA :: EXTRA_CRC , AUTH_KEY_DATA :: ID => AUTH_KEY_DATA :: EXTRA_CRC , MISSION_REQUEST_DATA :: ID => MISSION_REQUEST_DATA :: EXTRA_CRC , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => OPEN_DRONE_ID_OPERATOR_ID_DATA :: EXTRA_CRC , CELLULAR_CONFIG_DATA :: ID => CELLULAR_CONFIG_DATA :: EXTRA_CRC , SCALED_PRESSURE3_DATA :: ID => SCALED_PRESSURE3_DATA :: EXTRA_CRC , CUBEPILOT_RAW_RC_DATA :: ID => CUBEPILOT_RAW_RC_DATA :: EXTRA_CRC , LED_CONTROL_DATA :: ID => LED_CONTROL_DATA :: EXTRA_CRC , GPS_GLOBAL_ORIGIN_DATA :: ID => GPS_GLOBAL_ORIGIN_DATA :: EXTRA_CRC , GIMBAL_MANAGER_STATUS_DATA :: ID => GIMBAL_MANAGER_STATUS_DATA :: EXTRA_CRC , AIS_VESSEL_DATA :: ID => AIS_VESSEL_DATA :: EXTRA_CRC , SCALED_IMU_DATA :: ID => SCALED_IMU_DATA :: EXTRA_CRC , CAMERA_INFORMATION_DATA :: ID => CAMERA_INFORMATION_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: EXTRA_CRC , SUPPORTED_TUNES_DATA :: ID => SUPPORTED_TUNES_DATA :: EXTRA_CRC , RANGEFINDER_DATA :: ID => RANGEFINDER_DATA :: EXTRA_CRC , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: EXTRA_CRC , GENERATOR_STATUS_DATA :: ID => GENERATOR_STATUS_DATA :: EXTRA_CRC , COLLISION_DATA :: ID => COLLISION_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: EXTRA_CRC , MISSION_REQUEST_INT_DATA :: ID => MISSION_REQUEST_INT_DATA :: EXTRA_CRC , TERRAIN_DATA_DATA :: ID => TERRAIN_DATA_DATA :: EXTRA_CRC , REMOTE_LOG_DATA_BLOCK_DATA :: ID => REMOTE_LOG_DATA_BLOCK_DATA :: EXTRA_CRC , DEBUG_FLOAT_ARRAY_DATA :: ID => DEBUG_FLOAT_ARRAY_DATA :: EXTRA_CRC , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => OPEN_DRONE_ID_ARM_STATUS_DATA :: EXTRA_CRC , OPTICAL_FLOW_DATA :: ID => OPTICAL_FLOW_DATA :: EXTRA_CRC , VIDEO_STREAM_STATUS_DATA :: ID => VIDEO_STREAM_STATUS_DATA :: EXTRA_CRC , SCALED_PRESSURE_DATA :: ID => SCALED_PRESSURE_DATA :: EXTRA_CRC , HIGHRES_IMU_DATA :: ID => HIGHRES_IMU_DATA :: EXTRA_CRC , GPS_RTCM_DATA_DATA :: ID => GPS_RTCM_DATA_DATA :: EXTRA_CRC , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: EXTRA_CRC , WIND_DATA :: ID => WIND_DATA :: EXTRA_CRC , RALLY_FETCH_POINT_DATA :: ID => RALLY_FETCH_POINT_DATA :: EXTRA_CRC , FOLLOW_TARGET_DATA :: ID => FOLLOW_TARGET_DATA :: EXTRA_CRC , GOPRO_HEARTBEAT_DATA :: ID => GOPRO_HEARTBEAT_DATA :: EXTRA_CRC , CAMERA_CAPTURE_STATUS_DATA :: ID => CAMERA_CAPTURE_STATUS_DATA :: EXTRA_CRC , MESSAGE_INTERVAL_DATA :: ID => MESSAGE_INTERVAL_DATA :: EXTRA_CRC , MEMORY_VECT_DATA :: ID => MEMORY_VECT_DATA :: EXTRA_CRC , ENCAPSULATED_DATA_DATA :: ID => ENCAPSULATED_DATA_DATA :: EXTRA_CRC , PARAM_MAP_RC_DATA :: ID => PARAM_MAP_RC_DATA :: EXTRA_CRC , LOGGING_ACK_DATA :: ID => LOGGING_ACK_DATA :: EXTRA_CRC , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: EXTRA_CRC , PROTOCOL_VERSION_DATA :: ID => PROTOCOL_VERSION_DATA :: EXTRA_CRC , ATTITUDE_DATA :: ID => ATTITUDE_DATA :: EXTRA_CRC , AOA_SSA_DATA :: ID => AOA_SSA_DATA :: EXTRA_CRC , ESC_TELEMETRY_1_TO_4_DATA :: ID => ESC_TELEMETRY_1_TO_4_DATA :: EXTRA_CRC , LOGGING_DATA_ACKED_DATA :: ID => LOGGING_DATA_ACKED_DATA :: EXTRA_CRC , PLAY_TUNE_DATA :: ID => PLAY_TUNE_DATA :: EXTRA_CRC , SIM_STATE_DATA :: ID => SIM_STATE_DATA :: EXTRA_CRC , MANUAL_SETPOINT_DATA :: ID => MANUAL_SETPOINT_DATA :: EXTRA_CRC , VIBRATION_DATA :: ID => VIBRATION_DATA :: EXTRA_CRC , ACTUATOR_OUTPUT_STATUS_DATA :: ID => ACTUATOR_OUTPUT_STATUS_DATA :: EXTRA_CRC , DEEPSTALL_DATA :: ID => DEEPSTALL_DATA :: EXTRA_CRC , MAG_CAL_REPORT_DATA :: ID => MAG_CAL_REPORT_DATA :: EXTRA_CRC , TIME_ESTIMATE_TO_TARGET_DATA :: ID => TIME_ESTIMATE_TO_TARGET_DATA :: EXTRA_CRC , SCALED_IMU2_DATA :: ID => SCALED_IMU2_DATA :: EXTRA_CRC , GOPRO_GET_REQUEST_DATA :: ID => GOPRO_GET_REQUEST_DATA :: EXTRA_CRC , COMMAND_INT_DATA :: ID => COMMAND_INT_DATA :: EXTRA_CRC , UAVCAN_NODE_STATUS_DATA :: ID => UAVCAN_NODE_STATUS_DATA :: EXTRA_CRC , ODOMETRY_DATA :: ID => ODOMETRY_DATA :: EXTRA_CRC , HIGH_LATENCY2_DATA :: ID => HIGH_LATENCY2_DATA :: EXTRA_CRC , REQUEST_EVENT_DATA :: ID => REQUEST_EVENT_DATA :: EXTRA_CRC , ICAROUS_HEARTBEAT_DATA :: ID => ICAROUS_HEARTBEAT_DATA :: EXTRA_CRC , MISSION_COUNT_DATA :: ID => MISSION_COUNT_DATA :: EXTRA_CRC , AIRSPEED_AUTOCAL_DATA :: ID => AIRSPEED_AUTOCAL_DATA :: EXTRA_CRC , PARAM_EXT_REQUEST_READ_DATA :: ID => PARAM_EXT_REQUEST_READ_DATA :: EXTRA_CRC , CELLULAR_STATUS_DATA :: ID => CELLULAR_STATUS_DATA :: EXTRA_CRC , COMPASSMOT_STATUS_DATA :: ID => COMPASSMOT_STATUS_DATA :: EXTRA_CRC , GPS_RAW_INT_DATA :: ID => GPS_RAW_INT_DATA :: EXTRA_CRC , WIND_COV_DATA :: ID => WIND_COV_DATA :: EXTRA_CRC , V2_EXTENSION_DATA :: ID => V2_EXTENSION_DATA :: EXTRA_CRC , WHEEL_DISTANCE_DATA :: ID => WHEEL_DISTANCE_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: EXTRA_CRC , OSD_PARAM_CONFIG_REPLY_DATA :: ID => OSD_PARAM_CONFIG_REPLY_DATA :: EXTRA_CRC , AHRS2_DATA :: ID => AHRS2_DATA :: EXTRA_CRC , BATTERY2_DATA :: ID => BATTERY2_DATA :: EXTRA_CRC , LOG_REQUEST_END_DATA :: ID => LOG_REQUEST_END_DATA :: EXTRA_CRC , FILE_TRANSFER_PROTOCOL_DATA :: ID => FILE_TRANSFER_PROTOCOL_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_DATA :: ID => LOCAL_POSITION_NED_DATA :: EXTRA_CRC , PID_TUNING_DATA :: ID => PID_TUNING_DATA :: EXTRA_CRC , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: EXTRA_CRC , ICAROUS_KINEMATIC_BANDS_DATA :: ID => ICAROUS_KINEMATIC_BANDS_DATA :: EXTRA_CRC , ESC_INFO_DATA :: ID => ESC_INFO_DATA :: EXTRA_CRC , POSITION_TARGET_LOCAL_NED_DATA :: ID => POSITION_TARGET_LOCAL_NED_DATA :: EXTRA_CRC , CAMERA_TRIGGER_DATA :: ID => CAMERA_TRIGGER_DATA :: EXTRA_CRC , GPS_INPUT_DATA :: ID => GPS_INPUT_DATA :: EXTRA_CRC , BATTERY_STATUS_DATA :: ID => BATTERY_STATUS_DATA :: EXTRA_CRC , FENCE_FETCH_POINT_DATA :: ID => FENCE_FETCH_POINT_DATA :: EXTRA_CRC , SYS_STATUS_DATA :: ID => SYS_STATUS_DATA :: EXTRA_CRC , ISBD_LINK_STATUS_DATA :: ID => ISBD_LINK_STATUS_DATA :: EXTRA_CRC , DEBUG_VECT_DATA :: ID => DEBUG_VECT_DATA :: EXTRA_CRC , SIMSTATE_DATA :: ID => SIMSTATE_DATA :: EXTRA_CRC , FENCE_POINT_DATA :: ID => FENCE_POINT_DATA :: EXTRA_CRC , CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: ID => CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA :: EXTRA_CRC , SETUP_SIGNING_DATA :: ID => SETUP_SIGNING_DATA :: EXTRA_CRC , COMPONENT_METADATA_DATA :: ID => COMPONENT_METADATA_DATA :: EXTRA_CRC , CAMERA_STATUS_DATA :: ID => CAMERA_STATUS_DATA :: EXTRA_CRC , DATA96_DATA :: ID => DATA96_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: EXTRA_CRC , ALTITUDE_DATA :: ID => ALTITUDE_DATA :: EXTRA_CRC , OBSTACLE_DISTANCE_3D_DATA :: ID => OBSTACLE_DISTANCE_3D_DATA :: EXTRA_CRC , HERELINK_TELEM_DATA :: ID => HERELINK_TELEM_DATA :: EXTRA_CRC , GPS_STATUS_DATA :: ID => GPS_STATUS_DATA :: EXTRA_CRC , RC_CHANNELS_OVERRIDE_DATA :: ID => RC_CHANNELS_OVERRIDE_DATA :: EXTRA_CRC , RPM_DATA :: ID => RPM_DATA :: EXTRA_CRC , CANFD_FRAME_DATA :: ID => CANFD_FRAME_DATA :: EXTRA_CRC , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: EXTRA_CRC , POSITION_TARGET_GLOBAL_INT_DATA :: ID => POSITION_TARGET_GLOBAL_INT_DATA :: EXTRA_CRC , AUTOPILOT_VERSION_REQUEST_DATA :: ID => AUTOPILOT_VERSION_REQUEST_DATA :: EXTRA_CRC , LOGGING_DATA_DATA :: ID => LOGGING_DATA_DATA :: EXTRA_CRC , CHANGE_OPERATOR_CONTROL_DATA :: ID => CHANGE_OPERATOR_CONTROL_DATA :: EXTRA_CRC , DIGICAM_CONTROL_DATA :: ID => DIGICAM_CONTROL_DATA :: EXTRA_CRC , FENCE_STATUS_DATA :: ID => FENCE_STATUS_DATA :: EXTRA_CRC , MISSION_ITEM_DATA :: ID => MISSION_ITEM_DATA :: EXTRA_CRC , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => MISSION_REQUEST_PARTIAL_LIST_DATA :: EXTRA_CRC , ATTITUDE_QUATERNION_DATA :: ID => ATTITUDE_QUATERNION_DATA :: EXTRA_CRC , AUTOPILOT_VERSION_DATA :: ID => AUTOPILOT_VERSION_DATA :: EXTRA_CRC , HIL_ACTUATOR_CONTROLS_DATA :: ID => HIL_ACTUATOR_CONTROLS_DATA :: EXTRA_CRC , HIL_OPTICAL_FLOW_DATA :: ID => HIL_OPTICAL_FLOW_DATA :: EXTRA_CRC , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => DATA_TRANSMISSION_HANDSHAKE_DATA :: EXTRA_CRC , PLAY_TUNE_V2_DATA :: ID => PLAY_TUNE_V2_DATA :: EXTRA_CRC , GIMBAL_REPORT_DATA :: ID => GIMBAL_REPORT_DATA :: EXTRA_CRC , SAFETY_SET_ALLOWED_AREA_DATA :: ID => SAFETY_SET_ALLOWED_AREA_DATA :: EXTRA_CRC , HOME_POSITION_DATA :: ID => HOME_POSITION_DATA :: EXTRA_CRC , DATA64_DATA :: ID => DATA64_DATA :: EXTRA_CRC , ESC_STATUS_DATA :: ID => ESC_STATUS_DATA :: EXTRA_CRC , PARAM_EXT_SET_DATA :: ID => PARAM_EXT_SET_DATA :: EXTRA_CRC , VISION_SPEED_ESTIMATE_DATA :: ID => VISION_SPEED_ESTIMATE_DATA :: EXTRA_CRC , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => CHANGE_OPERATOR_CONTROL_ACK_DATA :: EXTRA_CRC , DISTANCE_SENSOR_DATA :: ID => DISTANCE_SENSOR_DATA :: EXTRA_CRC , GIMBAL_DEVICE_INFORMATION_DATA :: ID => GIMBAL_DEVICE_INFORMATION_DATA :: EXTRA_CRC , ATT_POS_MOCAP_DATA :: ID => ATT_POS_MOCAP_DATA :: EXTRA_CRC , SET_MAG_OFFSETS_DATA :: ID => SET_MAG_OFFSETS_DATA :: EXTRA_CRC , LINK_NODE_STATUS_DATA :: ID => LINK_NODE_STATUS_DATA :: EXTRA_CRC , MISSION_ACK_DATA :: ID => MISSION_ACK_DATA :: EXTRA_CRC , HWSTATUS_DATA :: ID => HWSTATUS_DATA :: EXTRA_CRC , PARAM_SET_DATA :: ID => PARAM_SET_DATA :: EXTRA_CRC , CAMERA_FEEDBACK_DATA :: ID => CAMERA_FEEDBACK_DATA :: EXTRA_CRC , COMPONENT_INFORMATION_DATA :: ID => COMPONENT_INFORMATION_DATA :: EXTRA_CRC , SET_ATTITUDE_TARGET_DATA :: ID => SET_ATTITUDE_TARGET_DATA :: EXTRA_CRC , OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: ID => OSD_PARAM_SHOW_CONFIG_REPLY_DATA :: EXTRA_CRC , RADIO_STATUS_DATA :: ID => RADIO_STATUS_DATA :: EXTRA_CRC , CAMERA_IMAGE_CAPTURED_DATA :: ID => CAMERA_IMAGE_CAPTURED_DATA :: EXTRA_CRC , MISSION_REQUEST_LIST_DATA :: ID => MISSION_REQUEST_LIST_DATA :: EXTRA_CRC , UTM_GLOBAL_POSITION_DATA :: ID => UTM_GLOBAL_POSITION_DATA :: EXTRA_CRC , HIL_CONTROLS_DATA :: ID => HIL_CONTROLS_DATA :: EXTRA_CRC , SERVO_OUTPUT_RAW_DATA :: ID => SERVO_OUTPUT_RAW_DATA :: EXTRA_CRC , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => SET_GPS_GLOBAL_ORIGIN_DATA :: EXTRA_CRC , UAVCAN_NODE_INFO_DATA :: ID => UAVCAN_NODE_INFO_DATA :: EXTRA_CRC , ATTITUDE_QUATERNION_COV_DATA :: ID => ATTITUDE_QUATERNION_COV_DATA :: EXTRA_CRC , STATUSTEXT_DATA :: ID => STATUSTEXT_DATA :: EXTRA_CRC , GOPRO_SET_REQUEST_DATA :: ID => GOPRO_SET_REQUEST_DATA :: EXTRA_CRC , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => SET_POSITION_TARGET_LOCAL_NED_DATA :: EXTRA_CRC , OPTICAL_FLOW_RAD_DATA :: ID => OPTICAL_FLOW_RAD_DATA :: EXTRA_CRC , LANDING_TARGET_DATA :: ID => LANDING_TARGET_DATA :: EXTRA_CRC , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => CAMERA_TRACKING_IMAGE_STATUS_DATA :: EXTRA_CRC , LOG_DATA_DATA :: ID => LOG_DATA_DATA :: EXTRA_CRC , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: EXTRA_CRC , SENSOR_OFFSETS_DATA :: ID => SENSOR_OFFSETS_DATA :: EXTRA_CRC , WIFI_CONFIG_AP_DATA :: ID => WIFI_CONFIG_AP_DATA :: EXTRA_CRC , DEVICE_OP_READ_DATA :: ID => DEVICE_OP_READ_DATA :: EXTRA_CRC , GPS_RTK_DATA :: ID => GPS_RTK_DATA :: EXTRA_CRC , PARAM_REQUEST_LIST_DATA :: ID => PARAM_REQUEST_LIST_DATA :: EXTRA_CRC , HERELINK_VIDEO_STREAM_INFORMATION_DATA :: ID => HERELINK_VIDEO_STREAM_INFORMATION_DATA :: EXTRA_CRC , REMOTE_LOG_BLOCK_STATUS_DATA :: ID => REMOTE_LOG_BLOCK_STATUS_DATA :: EXTRA_CRC , COMMAND_ACK_DATA :: ID => COMMAND_ACK_DATA :: EXTRA_CRC , CAMERA_SETTINGS_DATA :: ID => CAMERA_SETTINGS_DATA :: EXTRA_CRC , RAW_IMU_DATA :: ID => RAW_IMU_DATA :: EXTRA_CRC , RADIO_DATA :: ID => RADIO_DATA :: EXTRA_CRC , SAFETY_ALLOWED_AREA_DATA :: ID => SAFETY_ALLOWED_AREA_DATA :: EXTRA_CRC , CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: ID => CUBEPILOT_FIRMWARE_UPDATE_START_DATA :: EXTRA_CRC , DEVICE_OP_WRITE_DATA :: ID => DEVICE_OP_WRITE_DATA :: EXTRA_CRC , OPEN_DRONE_ID_LOCATION_DATA :: ID => OPEN_DRONE_ID_LOCATION_DATA :: EXTRA_CRC , GIMBAL_CONTROL_DATA :: ID => GIMBAL_CONTROL_DATA :: EXTRA_CRC , MISSION_CLEAR_ALL_DATA :: ID => MISSION_CLEAR_ALL_DATA :: EXTRA_CRC , ONBOARD_COMPUTER_STATUS_DATA :: ID => ONBOARD_COMPUTER_STATUS_DATA :: EXTRA_CRC , RESOURCE_REQUEST_DATA :: ID => RESOURCE_REQUEST_DATA :: EXTRA_CRC , GLOBAL_POSITION_INT_COV_DATA :: ID => GLOBAL_POSITION_INT_COV_DATA :: EXTRA_CRC , STORAGE_INFORMATION_DATA :: ID => STORAGE_INFORMATION_DATA :: EXTRA_CRC , SYSTEM_TIME_DATA :: ID => SYSTEM_TIME_DATA :: EXTRA_CRC , MISSION_CURRENT_DATA :: ID => MISSION_CURRENT_DATA :: EXTRA_CRC , LOG_REQUEST_LIST_DATA :: ID => LOG_REQUEST_LIST_DATA :: EXTRA_CRC , MAG_CAL_PROGRESS_DATA :: ID => MAG_CAL_PROGRESS_DATA :: EXTRA_CRC , GPS2_RTK_DATA :: ID => GPS2_RTK_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SYSTEM_DATA :: ID => OPEN_DRONE_ID_SYSTEM_DATA :: EXTRA_CRC , LOG_ENTRY_DATA :: ID => LOG_ENTRY_DATA :: EXTRA_CRC , MISSION_ITEM_REACHED_DATA :: ID => MISSION_ITEM_REACHED_DATA :: EXTRA_CRC , TERRAIN_CHECK_DATA :: ID => TERRAIN_CHECK_DATA :: EXTRA_CRC , HEARTBEAT_DATA :: ID => HEARTBEAT_DATA :: EXTRA_CRC , CAN_FILTER_MODIFY_DATA :: ID => CAN_FILTER_MODIFY_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: EXTRA_CRC , FLIGHT_INFORMATION_DATA :: ID => FLIGHT_INFORMATION_DATA :: EXTRA_CRC , VFR_HUD_DATA :: ID => VFR_HUD_DATA :: EXTRA_CRC , MOUNT_CONTROL_DATA :: ID => MOUNT_CONTROL_DATA :: EXTRA_CRC , WATER_DEPTH_DATA :: ID => WATER_DEPTH_DATA :: EXTRA_CRC , SET_MODE_DATA :: ID => SET_MODE_DATA :: EXTRA_CRC , OSD_PARAM_CONFIG_DATA :: ID => OSD_PARAM_CONFIG_DATA :: EXTRA_CRC , PING_DATA :: ID => PING_DATA :: EXTRA_CRC , PARAM_EXT_ACK_DATA :: ID => PARAM_EXT_ACK_DATA :: EXTRA_CRC , TIMESYNC_DATA :: ID => TIMESYNC_DATA :: EXTRA_CRC , ESC_TELEMETRY_5_TO_8_DATA :: ID => ESC_TELEMETRY_5_TO_8_DATA :: EXTRA_CRC , RAW_PRESSURE_DATA :: ID => RAW_PRESSURE_DATA :: EXTRA_CRC , SMART_BATTERY_INFO_DATA :: ID => SMART_BATTERY_INFO_DATA :: EXTRA_CRC , OBSTACLE_DISTANCE_DATA :: ID => OBSTACLE_DISTANCE_DATA :: EXTRA_CRC , CAMERA_FOV_STATUS_DATA :: ID => CAMERA_FOV_STATUS_DATA :: EXTRA_CRC , ATTITUDE_TARGET_DATA :: ID => ATTITUDE_TARGET_DATA :: EXTRA_CRC , GPS2_RAW_DATA :: ID => GPS2_RAW_DATA :: EXTRA_CRC , RC_CHANNELS_DATA :: ID => RC_CHANNELS_DATA :: EXTRA_CRC , DATA_STREAM_DATA :: ID => DATA_STREAM_DATA :: EXTRA_CRC , VIDEO_STREAM_INFORMATION_DATA :: ID => VIDEO_STREAM_INFORMATION_DATA :: EXTRA_CRC , HIL_GPS_DATA :: ID => HIL_GPS_DATA :: EXTRA_CRC , VISION_POSITION_DELTA_DATA :: ID => VISION_POSITION_DELTA_DATA :: EXTRA_CRC , TERRAIN_REQUEST_DATA :: ID => TERRAIN_REQUEST_DATA :: EXTRA_CRC , HIGH_LATENCY_DATA :: ID => HIGH_LATENCY_DATA :: EXTRA_CRC , TUNNEL_DATA :: ID => TUNNEL_DATA :: EXTRA_CRC , LIMITS_STATUS_DATA :: ID => LIMITS_STATUS_DATA :: EXTRA_CRC , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: EXTRA_CRC , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => SET_ACTUATOR_CONTROL_TARGET_DATA :: EXTRA_CRC , RC_CHANNELS_SCALED_DATA :: ID => RC_CHANNELS_SCALED_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SELF_ID_DATA :: ID => OPEN_DRONE_ID_SELF_ID_DATA :: EXTRA_CRC , MOUNT_ORIENTATION_DATA :: ID => MOUNT_ORIENTATION_DATA :: EXTRA_CRC , GLOBAL_POSITION_INT_DATA :: ID => GLOBAL_POSITION_INT_DATA :: EXTRA_CRC , DEVICE_OP_READ_REPLY_DATA :: ID => DEVICE_OP_READ_REPLY_DATA :: EXTRA_CRC , SERIAL_CONTROL_DATA :: ID => SERIAL_CONTROL_DATA :: EXTRA_CRC , CAN_FRAME_DATA :: ID => CAN_FRAME_DATA :: EXTRA_CRC , AHRS3_DATA :: ID => AHRS3_DATA :: EXTRA_CRC , PARAM_EXT_REQUEST_LIST_DATA :: ID => PARAM_EXT_REQUEST_LIST_DATA :: EXTRA_CRC , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => CAMERA_TRACKING_GEO_STATUS_DATA :: EXTRA_CRC , SCALED_IMU3_DATA :: ID => SCALED_IMU3_DATA :: EXTRA_CRC , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: EXTRA_CRC , MISSION_ITEM_INT_DATA :: ID => MISSION_ITEM_INT_DATA :: EXTRA_CRC , ADAP_TUNING_DATA :: ID => ADAP_TUNING_DATA :: EXTRA_CRC , EFI_STATUS_DATA :: ID => EFI_STATUS_DATA :: EXTRA_CRC , TERRAIN_REPORT_DATA :: ID => TERRAIN_REPORT_DATA :: EXTRA_CRC , SCALED_PRESSURE2_DATA :: ID => SCALED_PRESSURE2_DATA :: EXTRA_CRC , SET_HOME_POSITION_DATA :: ID => SET_HOME_POSITION_DATA :: EXTRA_CRC , AP_ADC_DATA :: ID => AP_ADC_DATA :: EXTRA_CRC , GIMBAL_TORQUE_CMD_REPORT_DATA :: ID => GIMBAL_TORQUE_CMD_REPORT_DATA :: EXTRA_CRC , GOPRO_SET_RESPONSE_DATA :: ID => GOPRO_SET_RESPONSE_DATA :: EXTRA_CRC , ESC_TELEMETRY_9_TO_12_DATA :: ID => ESC_TELEMETRY_9_TO_12_DATA :: EXTRA_CRC , HYGROMETER_SENSOR_DATA :: ID => HYGROMETER_SENSOR_DATA :: EXTRA_CRC , CONTROL_SYSTEM_STATE_DATA :: ID => CONTROL_SYSTEM_STATE_DATA :: EXTRA_CRC , BUTTON_CHANGE_DATA :: ID => BUTTON_CHANGE_DATA :: EXTRA_CRC , VICON_POSITION_ESTIMATE_DATA :: ID => VICON_POSITION_ESTIMATE_DATA :: EXTRA_CRC , HIL_RC_INPUTS_RAW_DATA :: ID => HIL_RC_INPUTS_RAW_DATA :: EXTRA_CRC , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => OPEN_DRONE_ID_AUTHENTICATION_DATA :: EXTRA_CRC , HIL_STATE_DATA :: ID => HIL_STATE_DATA :: EXTRA_CRC , GOPRO_GET_RESPONSE_DATA :: ID => GOPRO_GET_RESPONSE_DATA :: EXTRA_CRC , POWER_STATUS_DATA :: ID => POWER_STATUS_DATA :: EXTRA_CRC , AHRS_DATA :: ID => AHRS_DATA :: EXTRA_CRC , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => SET_POSITION_TARGET_GLOBAL_INT_DATA :: EXTRA_CRC , LOG_ERASE_DATA :: ID => LOG_ERASE_DATA :: EXTRA_CRC , ACTUATOR_CONTROL_TARGET_DATA :: ID => ACTUATOR_CONTROL_TARGET_DATA :: EXTRA_CRC , NAV_CONTROLLER_OUTPUT_DATA :: ID => NAV_CONTROLLER_OUTPUT_DATA :: EXTRA_CRC , ADSB_VEHICLE_DATA :: ID => ADSB_VEHICLE_DATA :: EXTRA_CRC , GPS_INJECT_DATA_DATA :: ID => GPS_INJECT_DATA_DATA :: EXTRA_CRC , NAMED_VALUE_INT_DATA :: ID => NAMED_VALUE_INT_DATA :: EXTRA_CRC , DIGICAM_CONFIGURE_DATA :: ID => DIGICAM_CONFIGURE_DATA :: EXTRA_CRC , EKF_STATUS_REPORT_DATA :: ID => EKF_STATUS_REPORT_DATA :: EXTRA_CRC , OSD_PARAM_SHOW_CONFIG_DATA :: ID => OSD_PARAM_SHOW_CONFIG_DATA :: EXTRA_CRC , REQUEST_DATA_STREAM_DATA :: ID => REQUEST_DATA_STREAM_DATA :: EXTRA_CRC , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: EXTRA_CRC , HIL_SENSOR_DATA :: ID => HIL_SENSOR_DATA :: EXTRA_CRC , WINCH_STATUS_DATA :: ID => WINCH_STATUS_DATA :: EXTRA_CRC , GIMBAL_MANAGER_INFORMATION_DATA :: ID => GIMBAL_MANAGER_INFORMATION_DATA :: EXTRA_CRC , MOUNT_CONFIGURE_DATA :: ID => MOUNT_CONFIGURE_DATA :: EXTRA_CRC , DATA32_DATA :: ID => DATA32_DATA :: EXTRA_CRC , COMMAND_LONG_DATA :: ID => COMMAND_LONG_DATA :: EXTRA_CRC , NAMED_VALUE_FLOAT_DATA :: ID => NAMED_VALUE_FLOAT_DATA :: EXTRA_CRC , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => MISSION_WRITE_PARTIAL_LIST_DATA :: EXTRA_CRC , VISION_POSITION_ESTIMATE_DATA :: ID => VISION_POSITION_ESTIMATE_DATA :: EXTRA_CRC , MEMINFO_DATA :: ID => MEMINFO_DATA :: EXTRA_CRC , DEVICE_OP_WRITE_REPLY_DATA :: ID => DEVICE_OP_WRITE_REPLY_DATA :: EXTRA_CRC , COMMAND_CANCEL_DATA :: ID => COMMAND_CANCEL_DATA :: EXTRA_CRC , RC_CHANNELS_RAW_DATA :: ID => RC_CHANNELS_RAW_DATA :: EXTRA_CRC , PARAM_EXT_VALUE_DATA :: ID => PARAM_EXT_VALUE_DATA :: EXTRA_CRC , RESPONSE_EVENT_ERROR_DATA :: ID => RESPONSE_EVENT_ERROR_DATA :: EXTRA_CRC , MISSION_SET_CURRENT_DATA :: ID => MISSION_SET_CURRENT_DATA :: EXTRA_CRC , HIL_STATE_QUATERNION_DATA :: ID => HIL_STATE_QUATERNION_DATA :: EXTRA_CRC , UAVIONIX_ADSB_OUT_CFG_DATA :: ID => UAVIONIX_ADSB_OUT_CFG_DATA :: EXTRA_CRC , ESTIMATOR_STATUS_DATA :: ID => ESTIMATOR_STATUS_DATA :: EXTRA_CRC , PARAM_VALUE_DATA :: ID => PARAM_VALUE_DATA :: EXTRA_CRC , ORBIT_EXECUTION_STATUS_DATA :: ID => ORBIT_EXECUTION_STATUS_DATA :: EXTRA_CRC , RALLY_POINT_DATA :: ID => RALLY_POINT_DATA :: EXTRA_CRC , MANUAL_CONTROL_DATA :: ID => MANUAL_CONTROL_DATA :: EXTRA_CRC , EXTENDED_SYS_STATE_DATA :: ID => EXTENDED_SYS_STATE_DATA :: EXTRA_CRC , DATA16_DATA :: ID => DATA16_DATA :: EXTRA_CRC , CURRENT_EVENT_SEQUENCE_DATA :: ID => CURRENT_EVENT_SEQUENCE_DATA :: EXTRA_CRC , MOUNT_STATUS_DATA :: ID => MOUNT_STATUS_DATA :: EXTRA_CRC , DEBUG_DATA :: ID => DEBUG_DATA :: EXTRA_CRC , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => OPEN_DRONE_ID_BASIC_ID_DATA :: EXTRA_CRC , EVENT_DATA :: ID => EVENT_DATA :: EXTRA_CRC , MCU_STATUS_DATA :: ID => MCU_STATUS_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_COV_DATA :: ID => LOCAL_POSITION_NED_COV_DATA :: EXTRA_CRC , RAW_RPM_DATA :: ID => RAW_RPM_DATA :: EXTRA_CRC , PARAM_REQUEST_READ_DATA :: ID => PARAM_REQUEST_READ_DATA :: EXTRA_CRC , _ => { 0 } , } } }
 
\ No newline at end of file diff --git a/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/common.rs.html b/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/common.rs.html index 5fdd4f1beb..322f108081 100644 --- a/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/common.rs.html +++ b/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/common.rs.html @@ -1,3 +1,3 @@ common.rs - source
1
-
# ! [doc = "This file was automatically generated, do not edit"] use crate :: MavlinkVersion ; # [allow (unused_imports)] use num_derive :: FromPrimitive ; # [allow (unused_imports)] use num_traits :: FromPrimitive ; # [allow (unused_imports)] use num_derive :: ToPrimitive ; # [allow (unused_imports)] use num_traits :: ToPrimitive ; # [allow (unused_imports)] use bitflags :: bitflags ; use crate :: { Message , MessageData , error :: * , bytes :: Bytes , bytes_mut :: BytesMut } ; # [cfg (feature = "serde")] use serde :: { Serialize , Deserialize } ; # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum WifiConfigApResponse { WIFI_CONFIG_AP_RESPONSE_UNDEFINED = 0 , WIFI_CONFIG_AP_RESPONSE_ACCEPTED = 1 , WIFI_CONFIG_AP_RESPONSE_REJECTED = 2 , WIFI_CONFIG_AP_RESPONSE_MODE_ERROR = 3 , WIFI_CONFIG_AP_RESPONSE_SSID_ERROR = 4 , WIFI_CONFIG_AP_RESPONSE_PASSWORD_ERROR = 5 , } impl WifiConfigApResponse { pub const DEFAULT : Self = Self :: WIFI_CONFIG_AP_RESPONSE_UNDEFINED ; } impl Default for WifiConfigApResponse { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FirmwareVersionType { FIRMWARE_VERSION_TYPE_DEV = 0 , FIRMWARE_VERSION_TYPE_ALPHA = 64 , FIRMWARE_VERSION_TYPE_BETA = 128 , FIRMWARE_VERSION_TYPE_RC = 192 , FIRMWARE_VERSION_TYPE_OFFICIAL = 255 , } impl FirmwareVersionType { pub const DEFAULT : Self = Self :: FIRMWARE_VERSION_TYPE_DEV ; } impl Default for FirmwareVersionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavAutopilot { MAV_AUTOPILOT_GENERIC = 0 , MAV_AUTOPILOT_RESERVED = 1 , MAV_AUTOPILOT_SLUGS = 2 , MAV_AUTOPILOT_ARDUPILOTMEGA = 3 , MAV_AUTOPILOT_OPENPILOT = 4 , MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY = 5 , MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY = 6 , MAV_AUTOPILOT_GENERIC_MISSION_FULL = 7 , MAV_AUTOPILOT_INVALID = 8 , MAV_AUTOPILOT_PPZ = 9 , MAV_AUTOPILOT_UDB = 10 , MAV_AUTOPILOT_FP = 11 , MAV_AUTOPILOT_PX4 = 12 , MAV_AUTOPILOT_SMACCMPILOT = 13 , MAV_AUTOPILOT_AUTOQUAD = 14 , MAV_AUTOPILOT_ARMAZILA = 15 , MAV_AUTOPILOT_AEROB = 16 , MAV_AUTOPILOT_ASLUAV = 17 , MAV_AUTOPILOT_SMARTAP = 18 , MAV_AUTOPILOT_AIRRAILS = 19 , MAV_AUTOPILOT_REFLEX = 20 , } impl MavAutopilot { pub const DEFAULT : Self = Self :: MAV_AUTOPILOT_GENERIC ; } impl Default for MavAutopilot { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FailureUnit { FAILURE_UNIT_SENSOR_GYRO = 0 , FAILURE_UNIT_SENSOR_ACCEL = 1 , FAILURE_UNIT_SENSOR_MAG = 2 , FAILURE_UNIT_SENSOR_BARO = 3 , FAILURE_UNIT_SENSOR_GPS = 4 , FAILURE_UNIT_SENSOR_OPTICAL_FLOW = 5 , FAILURE_UNIT_SENSOR_VIO = 6 , FAILURE_UNIT_SENSOR_DISTANCE_SENSOR = 7 , FAILURE_UNIT_SENSOR_AIRSPEED = 8 , FAILURE_UNIT_SYSTEM_BATTERY = 100 , FAILURE_UNIT_SYSTEM_MOTOR = 101 , FAILURE_UNIT_SYSTEM_SERVO = 102 , FAILURE_UNIT_SYSTEM_AVOIDANCE = 103 , FAILURE_UNIT_SYSTEM_RC_SIGNAL = 104 , FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL = 105 , } impl FailureUnit { pub const DEFAULT : Self = Self :: FAILURE_UNIT_SENSOR_GYRO ; } impl Default for FailureUnit { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidClassEu { MAV_ODID_CLASS_EU_UNDECLARED = 0 , MAV_ODID_CLASS_EU_CLASS_0 = 1 , MAV_ODID_CLASS_EU_CLASS_1 = 2 , MAV_ODID_CLASS_EU_CLASS_2 = 3 , MAV_ODID_CLASS_EU_CLASS_3 = 4 , MAV_ODID_CLASS_EU_CLASS_4 = 5 , MAV_ODID_CLASS_EU_CLASS_5 = 6 , MAV_ODID_CLASS_EU_CLASS_6 = 7 , } impl MavOdidClassEu { pub const DEFAULT : Self = Self :: MAV_ODID_CLASS_EU_UNDECLARED ; } impl Default for MavOdidClassEu { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CellularNetworkFailedReason { CELLULAR_NETWORK_FAILED_REASON_NONE = 0 , CELLULAR_NETWORK_FAILED_REASON_UNKNOWN = 1 , CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING = 2 , CELLULAR_NETWORK_FAILED_REASON_SIM_ERROR = 3 , } impl CellularNetworkFailedReason { pub const DEFAULT : Self = Self :: CELLULAR_NETWORK_FAILED_REASON_NONE ; } impl Default for CellularNetworkFailedReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CellularNetworkRadioType { CELLULAR_NETWORK_RADIO_TYPE_NONE = 0 , CELLULAR_NETWORK_RADIO_TYPE_GSM = 1 , CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2 , CELLULAR_NETWORK_RADIO_TYPE_WCDMA = 3 , CELLULAR_NETWORK_RADIO_TYPE_LTE = 4 , } impl CellularNetworkRadioType { pub const DEFAULT : Self = Self :: CELLULAR_NETWORK_RADIO_TYPE_NONE ; } impl Default for CellularNetworkRadioType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidIdType { MAV_ODID_ID_TYPE_NONE = 0 , MAV_ODID_ID_TYPE_SERIAL_NUMBER = 1 , MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID = 2 , MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID = 3 , MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID = 4 , } impl MavOdidIdType { pub const DEFAULT : Self = Self :: MAV_ODID_ID_TYPE_NONE ; } impl Default for MavOdidIdType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavModeFlag : u8 { const MAV_MODE_FLAG_SAFETY_ARMED = 128 ; const MAV_MODE_FLAG_MANUAL_INPUT_ENABLED = 64 ; const MAV_MODE_FLAG_HIL_ENABLED = 32 ; const MAV_MODE_FLAG_STABILIZE_ENABLED = 16 ; const MAV_MODE_FLAG_GUIDED_ENABLED = 8 ; const MAV_MODE_FLAG_AUTO_ENABLED = 4 ; const MAV_MODE_FLAG_TEST_ENABLED = 2 ; const MAV_MODE_FLAG_CUSTOM_MODE_ENABLED = 1 ; } } impl MavModeFlag { pub const DEFAULT : Self = Self :: MAV_MODE_FLAG_SAFETY_ARMED ; } impl Default for MavModeFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidArmStatus { MAV_ODID_ARM_STATUS_GOOD_TO_ARM = 0 , MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC = 1 , } impl MavOdidArmStatus { pub const DEFAULT : Self = Self :: MAV_ODID_ARM_STATUS_GOOD_TO_ARM ; } impl Default for MavOdidArmStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum NavVtolLandOptions { NAV_VTOL_LAND_OPTIONS_DEFAULT = 0 , NAV_VTOL_LAND_OPTIONS_FW_DESCENT = 1 , NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT = 2 , } impl NavVtolLandOptions { pub const DEFAULT : Self = Self :: NAV_VTOL_LAND_OPTIONS_DEFAULT ; } impl Default for NavVtolLandOptions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GripperActions { GRIPPER_ACTION_RELEASE = 0 , GRIPPER_ACTION_GRAB = 1 , } impl GripperActions { pub const DEFAULT : Self = Self :: GRIPPER_ACTION_RELEASE ; } impl Default for GripperActions { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavWinchStatusFlag : u32 { const MAV_WINCH_STATUS_HEALTHY = 1 ; const MAV_WINCH_STATUS_FULLY_RETRACTED = 2 ; const MAV_WINCH_STATUS_MOVING = 4 ; const MAV_WINCH_STATUS_CLUTCH_ENGAGED = 8 ; const MAV_WINCH_STATUS_LOCKED = 16 ; const MAV_WINCH_STATUS_DROPPING = 32 ; const MAV_WINCH_STATUS_ARRESTING = 64 ; const MAV_WINCH_STATUS_GROUND_SENSE = 128 ; const MAV_WINCH_STATUS_RETRACTING = 256 ; const MAV_WINCH_STATUS_REDELIVER = 512 ; const MAV_WINCH_STATUS_ABANDON_LINE = 1024 ; const MAV_WINCH_STATUS_LOCKING = 2048 ; const MAV_WINCH_STATUS_LOAD_LINE = 4096 ; const MAV_WINCH_STATUS_LOAD_PAYLOAD = 8192 ; } } impl MavWinchStatusFlag { pub const DEFAULT : Self = Self :: MAV_WINCH_STATUS_HEALTHY ; } impl Default for MavWinchStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum ParachuteAction { PARACHUTE_DISABLE = 0 , PARACHUTE_ENABLE = 1 , PARACHUTE_RELEASE = 2 , } impl ParachuteAction { pub const DEFAULT : Self = Self :: PARACHUTE_DISABLE ; } impl Default for ParachuteAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CompMetadataType { COMP_METADATA_TYPE_GENERAL = 0 , COMP_METADATA_TYPE_PARAMETER = 1 , COMP_METADATA_TYPE_COMMANDS = 2 , COMP_METADATA_TYPE_PERIPHERALS = 3 , COMP_METADATA_TYPE_EVENTS = 4 , COMP_METADATA_TYPE_ACTUATORS = 5 , } impl CompMetadataType { pub const DEFAULT : Self = Self :: COMP_METADATA_TYPE_GENERAL ; } impl Default for CompMetadataType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AdsbEmitterType { ADSB_EMITTER_TYPE_NO_INFO = 0 , ADSB_EMITTER_TYPE_LIGHT = 1 , ADSB_EMITTER_TYPE_SMALL = 2 , ADSB_EMITTER_TYPE_LARGE = 3 , ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE = 4 , ADSB_EMITTER_TYPE_HEAVY = 5 , ADSB_EMITTER_TYPE_HIGHLY_MANUV = 6 , ADSB_EMITTER_TYPE_ROTOCRAFT = 7 , ADSB_EMITTER_TYPE_UNASSIGNED = 8 , ADSB_EMITTER_TYPE_GLIDER = 9 , ADSB_EMITTER_TYPE_LIGHTER_AIR = 10 , ADSB_EMITTER_TYPE_PARACHUTE = 11 , ADSB_EMITTER_TYPE_ULTRA_LIGHT = 12 , ADSB_EMITTER_TYPE_UNASSIGNED2 = 13 , ADSB_EMITTER_TYPE_UAV = 14 , ADSB_EMITTER_TYPE_SPACE = 15 , ADSB_EMITTER_TYPE_UNASSGINED3 = 16 , ADSB_EMITTER_TYPE_EMERGENCY_SURFACE = 17 , ADSB_EMITTER_TYPE_SERVICE_SURFACE = 18 , ADSB_EMITTER_TYPE_POINT_OBSTACLE = 19 , } impl AdsbEmitterType { pub const DEFAULT : Self = Self :: ADSB_EMITTER_TYPE_NO_INFO ; } impl Default for AdsbEmitterType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMode { MAV_MODE_PREFLIGHT = 0 , MAV_MODE_STABILIZE_DISARMED = 80 , MAV_MODE_STABILIZE_ARMED = 208 , MAV_MODE_MANUAL_DISARMED = 64 , MAV_MODE_MANUAL_ARMED = 192 , MAV_MODE_GUIDED_DISARMED = 88 , MAV_MODE_GUIDED_ARMED = 216 , MAV_MODE_AUTO_DISARMED = 92 , MAV_MODE_AUTO_ARMED = 220 , MAV_MODE_TEST_DISARMED = 66 , MAV_MODE_TEST_ARMED = 194 , } impl MavMode { pub const DEFAULT : Self = Self :: MAV_MODE_PREFLIGHT ; } impl Default for MavMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidClassificationType { MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED = 0 , MAV_ODID_CLASSIFICATION_TYPE_EU = 1 , } impl MavOdidClassificationType { pub const DEFAULT : Self = Self :: MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED ; } impl Default for MavOdidClassificationType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavDistanceSensor { MAV_DISTANCE_SENSOR_LASER = 0 , MAV_DISTANCE_SENSOR_ULTRASOUND = 1 , MAV_DISTANCE_SENSOR_INFRARED = 2 , MAV_DISTANCE_SENSOR_RADAR = 3 , MAV_DISTANCE_SENSOR_UNKNOWN = 4 , } impl MavDistanceSensor { pub const DEFAULT : Self = Self :: MAV_DISTANCE_SENSOR_LASER ; } impl Default for MavDistanceSensor { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PositionTargetTypemask : u16 { const POSITION_TARGET_TYPEMASK_X_IGNORE = 1 ; const POSITION_TARGET_TYPEMASK_Y_IGNORE = 2 ; const POSITION_TARGET_TYPEMASK_Z_IGNORE = 4 ; const POSITION_TARGET_TYPEMASK_VX_IGNORE = 8 ; const POSITION_TARGET_TYPEMASK_VY_IGNORE = 16 ; const POSITION_TARGET_TYPEMASK_VZ_IGNORE = 32 ; const POSITION_TARGET_TYPEMASK_AX_IGNORE = 64 ; const POSITION_TARGET_TYPEMASK_AY_IGNORE = 128 ; const POSITION_TARGET_TYPEMASK_AZ_IGNORE = 256 ; const POSITION_TARGET_TYPEMASK_FORCE_SET = 512 ; const POSITION_TARGET_TYPEMASK_YAW_IGNORE = 1024 ; const POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE = 2048 ; } } impl PositionTargetTypemask { pub const DEFAULT : Self = Self :: POSITION_TARGET_TYPEMASK_X_IGNORE ; } impl Default for PositionTargetTypemask { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCmdAck { MAV_CMD_ACK_OK = 0 , MAV_CMD_ACK_ERR_FAIL = 1 , MAV_CMD_ACK_ERR_ACCESS_DENIED = 2 , MAV_CMD_ACK_ERR_NOT_SUPPORTED = 3 , MAV_CMD_ACK_ERR_COORDINATE_FRAME_NOT_SUPPORTED = 4 , MAV_CMD_ACK_ERR_COORDINATES_OUT_OF_RANGE = 5 , MAV_CMD_ACK_ERR_X_LAT_OUT_OF_RANGE = 6 , MAV_CMD_ACK_ERR_Y_LON_OUT_OF_RANGE = 7 , MAV_CMD_ACK_ERR_Z_ALT_OUT_OF_RANGE = 8 , } impl MavCmdAck { pub const DEFAULT : Self = Self :: MAV_CMD_ACK_OK ; } impl Default for MavCmdAck { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavcanNodeMode { UAVCAN_NODE_MODE_OPERATIONAL = 0 , UAVCAN_NODE_MODE_INITIALIZATION = 1 , UAVCAN_NODE_MODE_MAINTENANCE = 2 , UAVCAN_NODE_MODE_SOFTWARE_UPDATE = 3 , UAVCAN_NODE_MODE_OFFLINE = 7 , } impl UavcanNodeMode { pub const DEFAULT : Self = Self :: UAVCAN_NODE_MODE_OPERATIONAL ; } impl Default for UavcanNodeMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AdsbAltitudeType { ADSB_ALTITUDE_TYPE_PRESSURE_QNH = 0 , ADSB_ALTITUDE_TYPE_GEOMETRIC = 1 , } impl AdsbAltitudeType { pub const DEFAULT : Self = Self :: ADSB_ALTITUDE_TYPE_PRESSURE_QNH ; } impl Default for AdsbAltitudeType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GpsFixType { GPS_FIX_TYPE_NO_GPS = 0 , GPS_FIX_TYPE_NO_FIX = 1 , GPS_FIX_TYPE_2D_FIX = 2 , GPS_FIX_TYPE_3D_FIX = 3 , GPS_FIX_TYPE_DGPS = 4 , GPS_FIX_TYPE_RTK_FLOAT = 5 , GPS_FIX_TYPE_RTK_FIXED = 6 , GPS_FIX_TYPE_STATIC = 7 , GPS_FIX_TYPE_PPP = 8 , } impl GpsFixType { pub const DEFAULT : Self = Self :: GPS_FIX_TYPE_NO_GPS ; } impl Default for GpsFixType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum ParamAck { PARAM_ACK_ACCEPTED = 0 , PARAM_ACK_VALUE_UNSUPPORTED = 1 , PARAM_ACK_FAILED = 2 , PARAM_ACK_IN_PROGRESS = 3 , } impl ParamAck { pub const DEFAULT : Self = Self :: PARAM_ACK_ACCEPTED ; } impl Default for ParamAck { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavComponent { MAV_COMP_ID_ALL = 0 , MAV_COMP_ID_AUTOPILOT1 = 1 , MAV_COMP_ID_USER1 = 25 , MAV_COMP_ID_USER2 = 26 , MAV_COMP_ID_USER3 = 27 , MAV_COMP_ID_USER4 = 28 , MAV_COMP_ID_USER5 = 29 , MAV_COMP_ID_USER6 = 30 , MAV_COMP_ID_USER7 = 31 , MAV_COMP_ID_USER8 = 32 , MAV_COMP_ID_USER9 = 33 , MAV_COMP_ID_USER10 = 34 , MAV_COMP_ID_USER11 = 35 , MAV_COMP_ID_USER12 = 36 , MAV_COMP_ID_USER13 = 37 , MAV_COMP_ID_USER14 = 38 , MAV_COMP_ID_USER15 = 39 , MAV_COMP_ID_USER16 = 40 , MAV_COMP_ID_USER17 = 41 , MAV_COMP_ID_USER18 = 42 , MAV_COMP_ID_USER19 = 43 , MAV_COMP_ID_USER20 = 44 , MAV_COMP_ID_USER21 = 45 , MAV_COMP_ID_USER22 = 46 , MAV_COMP_ID_USER23 = 47 , MAV_COMP_ID_USER24 = 48 , MAV_COMP_ID_USER25 = 49 , MAV_COMP_ID_USER26 = 50 , MAV_COMP_ID_USER27 = 51 , MAV_COMP_ID_USER28 = 52 , MAV_COMP_ID_USER29 = 53 , MAV_COMP_ID_USER30 = 54 , MAV_COMP_ID_USER31 = 55 , MAV_COMP_ID_USER32 = 56 , MAV_COMP_ID_USER33 = 57 , MAV_COMP_ID_USER34 = 58 , MAV_COMP_ID_USER35 = 59 , MAV_COMP_ID_USER36 = 60 , MAV_COMP_ID_USER37 = 61 , MAV_COMP_ID_USER38 = 62 , MAV_COMP_ID_USER39 = 63 , MAV_COMP_ID_USER40 = 64 , MAV_COMP_ID_USER41 = 65 , MAV_COMP_ID_USER42 = 66 , MAV_COMP_ID_USER43 = 67 , MAV_COMP_ID_TELEMETRY_RADIO = 68 , MAV_COMP_ID_USER45 = 69 , MAV_COMP_ID_USER46 = 70 , MAV_COMP_ID_USER47 = 71 , MAV_COMP_ID_USER48 = 72 , MAV_COMP_ID_USER49 = 73 , MAV_COMP_ID_USER50 = 74 , MAV_COMP_ID_USER51 = 75 , MAV_COMP_ID_USER52 = 76 , MAV_COMP_ID_USER53 = 77 , MAV_COMP_ID_USER54 = 78 , MAV_COMP_ID_USER55 = 79 , MAV_COMP_ID_USER56 = 80 , MAV_COMP_ID_USER57 = 81 , MAV_COMP_ID_USER58 = 82 , MAV_COMP_ID_USER59 = 83 , MAV_COMP_ID_USER60 = 84 , MAV_COMP_ID_USER61 = 85 , MAV_COMP_ID_USER62 = 86 , MAV_COMP_ID_USER63 = 87 , MAV_COMP_ID_USER64 = 88 , MAV_COMP_ID_USER65 = 89 , MAV_COMP_ID_USER66 = 90 , MAV_COMP_ID_USER67 = 91 , MAV_COMP_ID_USER68 = 92 , MAV_COMP_ID_USER69 = 93 , MAV_COMP_ID_USER70 = 94 , MAV_COMP_ID_USER71 = 95 , MAV_COMP_ID_USER72 = 96 , MAV_COMP_ID_USER73 = 97 , MAV_COMP_ID_USER74 = 98 , MAV_COMP_ID_USER75 = 99 , MAV_COMP_ID_CAMERA = 100 , MAV_COMP_ID_CAMERA2 = 101 , MAV_COMP_ID_CAMERA3 = 102 , MAV_COMP_ID_CAMERA4 = 103 , MAV_COMP_ID_CAMERA5 = 104 , MAV_COMP_ID_CAMERA6 = 105 , MAV_COMP_ID_SERVO1 = 140 , MAV_COMP_ID_SERVO2 = 141 , MAV_COMP_ID_SERVO3 = 142 , MAV_COMP_ID_SERVO4 = 143 , MAV_COMP_ID_SERVO5 = 144 , MAV_COMP_ID_SERVO6 = 145 , MAV_COMP_ID_SERVO7 = 146 , MAV_COMP_ID_SERVO8 = 147 , MAV_COMP_ID_SERVO9 = 148 , MAV_COMP_ID_SERVO10 = 149 , MAV_COMP_ID_SERVO11 = 150 , MAV_COMP_ID_SERVO12 = 151 , MAV_COMP_ID_SERVO13 = 152 , MAV_COMP_ID_SERVO14 = 153 , MAV_COMP_ID_GIMBAL = 154 , MAV_COMP_ID_LOG = 155 , MAV_COMP_ID_ADSB = 156 , MAV_COMP_ID_OSD = 157 , MAV_COMP_ID_PERIPHERAL = 158 , MAV_COMP_ID_QX1_GIMBAL = 159 , MAV_COMP_ID_FLARM = 160 , MAV_COMP_ID_PARACHUTE = 161 , MAV_COMP_ID_WINCH = 169 , MAV_COMP_ID_GIMBAL2 = 171 , MAV_COMP_ID_GIMBAL3 = 172 , MAV_COMP_ID_GIMBAL4 = 173 , MAV_COMP_ID_GIMBAL5 = 174 , MAV_COMP_ID_GIMBAL6 = 175 , MAV_COMP_ID_BATTERY = 180 , MAV_COMP_ID_BATTERY2 = 181 , MAV_COMP_ID_MAVCAN = 189 , MAV_COMP_ID_MISSIONPLANNER = 190 , MAV_COMP_ID_ONBOARD_COMPUTER = 191 , MAV_COMP_ID_ONBOARD_COMPUTER2 = 192 , MAV_COMP_ID_ONBOARD_COMPUTER3 = 193 , MAV_COMP_ID_ONBOARD_COMPUTER4 = 194 , MAV_COMP_ID_PATHPLANNER = 195 , MAV_COMP_ID_OBSTACLE_AVOIDANCE = 196 , MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY = 197 , MAV_COMP_ID_PAIRING_MANAGER = 198 , MAV_COMP_ID_IMU = 200 , MAV_COMP_ID_IMU_2 = 201 , MAV_COMP_ID_IMU_3 = 202 , MAV_COMP_ID_GPS = 220 , MAV_COMP_ID_GPS2 = 221 , MAV_COMP_ID_ODID_TXRX_1 = 236 , MAV_COMP_ID_ODID_TXRX_2 = 237 , MAV_COMP_ID_ODID_TXRX_3 = 238 , MAV_COMP_ID_UDP_BRIDGE = 240 , MAV_COMP_ID_UART_BRIDGE = 241 , MAV_COMP_ID_TUNNEL_NODE = 242 , MAV_COMP_ID_SYSTEM_CONTROL = 250 , } impl MavComponent { pub const DEFAULT : Self = Self :: MAV_COMP_ID_ALL ; } impl Default for MavComponent { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AisNavStatus { UNDER_WAY = 0 , AIS_NAV_ANCHORED = 1 , AIS_NAV_UN_COMMANDED = 2 , AIS_NAV_RESTRICTED_MANOEUVERABILITY = 3 , AIS_NAV_DRAUGHT_CONSTRAINED = 4 , AIS_NAV_MOORED = 5 , AIS_NAV_AGROUND = 6 , AIS_NAV_FISHING = 7 , AIS_NAV_SAILING = 8 , AIS_NAV_RESERVED_HSC = 9 , AIS_NAV_RESERVED_WIG = 10 , AIS_NAV_RESERVED_1 = 11 , AIS_NAV_RESERVED_2 = 12 , AIS_NAV_RESERVED_3 = 13 , AIS_NAV_AIS_SART = 14 , AIS_NAV_UNKNOWN = 15 , } impl AisNavStatus { pub const DEFAULT : Self = Self :: UNDER_WAY ; } impl Default for AisNavStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MagCalStatus { MAG_CAL_NOT_STARTED = 0 , MAG_CAL_WAITING_TO_START = 1 , MAG_CAL_RUNNING_STEP_ONE = 2 , MAG_CAL_RUNNING_STEP_TWO = 3 , MAG_CAL_SUCCESS = 4 , MAG_CAL_FAILED = 5 , MAG_CAL_BAD_ORIENTATION = 6 , MAG_CAL_BAD_RADIUS = 7 , } impl MagCalStatus { pub const DEFAULT : Self = Self :: MAG_CAL_NOT_STARTED ; } impl Default for MagCalStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraZoomType { ZOOM_TYPE_STEP = 0 , ZOOM_TYPE_CONTINUOUS = 1 , ZOOM_TYPE_RANGE = 2 , ZOOM_TYPE_FOCAL_LENGTH = 3 , } impl CameraZoomType { pub const DEFAULT : Self = Self :: ZOOM_TYPE_STEP ; } impl Default for CameraZoomType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidCategoryEu { MAV_ODID_CATEGORY_EU_UNDECLARED = 0 , MAV_ODID_CATEGORY_EU_OPEN = 1 , MAV_ODID_CATEGORY_EU_SPECIFIC = 2 , MAV_ODID_CATEGORY_EU_CERTIFIED = 3 , } impl MavOdidCategoryEu { pub const DEFAULT : Self = Self :: MAV_ODID_CATEGORY_EU_UNDECLARED ; } impl Default for MavOdidCategoryEu { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryFunction { MAV_BATTERY_FUNCTION_UNKNOWN = 0 , MAV_BATTERY_FUNCTION_ALL = 1 , MAV_BATTERY_FUNCTION_PROPULSION = 2 , MAV_BATTERY_FUNCTION_AVIONICS = 3 , MAV_BATTERY_FUNCTION_PAYLOAD = 4 , } impl MavBatteryFunction { pub const DEFAULT : Self = Self :: MAV_BATTERY_FUNCTION_UNKNOWN ; } impl Default for MavBatteryFunction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum WifiConfigApMode { WIFI_CONFIG_AP_MODE_UNDEFINED = 0 , WIFI_CONFIG_AP_MODE_AP = 1 , WIFI_CONFIG_AP_MODE_STATION = 2 , WIFI_CONFIG_AP_MODE_DISABLED = 3 , } impl WifiConfigApMode { pub const DEFAULT : Self = Self :: WIFI_CONFIG_AP_MODE_UNDEFINED ; } impl Default for WifiConfigApMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavRoi { MAV_ROI_NONE = 0 , MAV_ROI_WPNEXT = 1 , MAV_ROI_WPINDEX = 2 , MAV_ROI_LOCATION = 3 , MAV_ROI_TARGET = 4 , } impl MavRoi { pub const DEFAULT : Self = Self :: MAV_ROI_NONE ; } impl Default for MavRoi { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AisFlags : u16 { const AIS_FLAGS_POSITION_ACCURACY = 1 ; const AIS_FLAGS_VALID_COG = 2 ; const AIS_FLAGS_VALID_VELOCITY = 4 ; const AIS_FLAGS_HIGH_VELOCITY = 8 ; const AIS_FLAGS_VALID_TURN_RATE = 16 ; const AIS_FLAGS_TURN_RATE_SIGN_ONLY = 32 ; const AIS_FLAGS_VALID_DIMENSIONS = 64 ; const AIS_FLAGS_LARGE_BOW_DIMENSION = 128 ; const AIS_FLAGS_LARGE_STERN_DIMENSION = 256 ; const AIS_FLAGS_LARGE_PORT_DIMENSION = 512 ; const AIS_FLAGS_LARGE_STARBOARD_DIMENSION = 1024 ; const AIS_FLAGS_VALID_CALLSIGN = 2048 ; const AIS_FLAGS_VALID_NAME = 4096 ; } } impl AisFlags { pub const DEFAULT : Self = Self :: AIS_FLAGS_POSITION_ACCURACY ; } impl Default for AisFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AisType { AIS_TYPE_UNKNOWN = 0 , AIS_TYPE_RESERVED_1 = 1 , AIS_TYPE_RESERVED_2 = 2 , AIS_TYPE_RESERVED_3 = 3 , AIS_TYPE_RESERVED_4 = 4 , AIS_TYPE_RESERVED_5 = 5 , AIS_TYPE_RESERVED_6 = 6 , AIS_TYPE_RESERVED_7 = 7 , AIS_TYPE_RESERVED_8 = 8 , AIS_TYPE_RESERVED_9 = 9 , AIS_TYPE_RESERVED_10 = 10 , AIS_TYPE_RESERVED_11 = 11 , AIS_TYPE_RESERVED_12 = 12 , AIS_TYPE_RESERVED_13 = 13 , AIS_TYPE_RESERVED_14 = 14 , AIS_TYPE_RESERVED_15 = 15 , AIS_TYPE_RESERVED_16 = 16 , AIS_TYPE_RESERVED_17 = 17 , AIS_TYPE_RESERVED_18 = 18 , AIS_TYPE_RESERVED_19 = 19 , AIS_TYPE_WIG = 20 , AIS_TYPE_WIG_HAZARDOUS_A = 21 , AIS_TYPE_WIG_HAZARDOUS_B = 22 , AIS_TYPE_WIG_HAZARDOUS_C = 23 , AIS_TYPE_WIG_HAZARDOUS_D = 24 , AIS_TYPE_WIG_RESERVED_1 = 25 , AIS_TYPE_WIG_RESERVED_2 = 26 , AIS_TYPE_WIG_RESERVED_3 = 27 , AIS_TYPE_WIG_RESERVED_4 = 28 , AIS_TYPE_WIG_RESERVED_5 = 29 , AIS_TYPE_FISHING = 30 , AIS_TYPE_TOWING = 31 , AIS_TYPE_TOWING_LARGE = 32 , AIS_TYPE_DREDGING = 33 , AIS_TYPE_DIVING = 34 , AIS_TYPE_MILITARY = 35 , AIS_TYPE_SAILING = 36 , AIS_TYPE_PLEASURE = 37 , AIS_TYPE_RESERVED_20 = 38 , AIS_TYPE_RESERVED_21 = 39 , AIS_TYPE_HSC = 40 , AIS_TYPE_HSC_HAZARDOUS_A = 41 , AIS_TYPE_HSC_HAZARDOUS_B = 42 , AIS_TYPE_HSC_HAZARDOUS_C = 43 , AIS_TYPE_HSC_HAZARDOUS_D = 44 , AIS_TYPE_HSC_RESERVED_1 = 45 , AIS_TYPE_HSC_RESERVED_2 = 46 , AIS_TYPE_HSC_RESERVED_3 = 47 , AIS_TYPE_HSC_RESERVED_4 = 48 , AIS_TYPE_HSC_UNKNOWN = 49 , AIS_TYPE_PILOT = 50 , AIS_TYPE_SAR = 51 , AIS_TYPE_TUG = 52 , AIS_TYPE_PORT_TENDER = 53 , AIS_TYPE_ANTI_POLLUTION = 54 , AIS_TYPE_LAW_ENFORCEMENT = 55 , AIS_TYPE_SPARE_LOCAL_1 = 56 , AIS_TYPE_SPARE_LOCAL_2 = 57 , AIS_TYPE_MEDICAL_TRANSPORT = 58 , AIS_TYPE_NONECOMBATANT = 59 , AIS_TYPE_PASSENGER = 60 , AIS_TYPE_PASSENGER_HAZARDOUS_A = 61 , AIS_TYPE_PASSENGER_HAZARDOUS_B = 62 , AIS_TYPE_PASSENGER_HAZARDOUS_C = 63 , AIS_TYPE_PASSENGER_HAZARDOUS_D = 64 , AIS_TYPE_PASSENGER_RESERVED_1 = 65 , AIS_TYPE_PASSENGER_RESERVED_2 = 66 , AIS_TYPE_PASSENGER_RESERVED_3 = 67 , AIS_TYPE_PASSENGER_RESERVED_4 = 68 , AIS_TYPE_PASSENGER_UNKNOWN = 69 , AIS_TYPE_CARGO = 70 , AIS_TYPE_CARGO_HAZARDOUS_A = 71 , AIS_TYPE_CARGO_HAZARDOUS_B = 72 , AIS_TYPE_CARGO_HAZARDOUS_C = 73 , AIS_TYPE_CARGO_HAZARDOUS_D = 74 , AIS_TYPE_CARGO_RESERVED_1 = 75 , AIS_TYPE_CARGO_RESERVED_2 = 76 , AIS_TYPE_CARGO_RESERVED_3 = 77 , AIS_TYPE_CARGO_RESERVED_4 = 78 , AIS_TYPE_CARGO_UNKNOWN = 79 , AIS_TYPE_TANKER = 80 , AIS_TYPE_TANKER_HAZARDOUS_A = 81 , AIS_TYPE_TANKER_HAZARDOUS_B = 82 , AIS_TYPE_TANKER_HAZARDOUS_C = 83 , AIS_TYPE_TANKER_HAZARDOUS_D = 84 , AIS_TYPE_TANKER_RESERVED_1 = 85 , AIS_TYPE_TANKER_RESERVED_2 = 86 , AIS_TYPE_TANKER_RESERVED_3 = 87 , AIS_TYPE_TANKER_RESERVED_4 = 88 , AIS_TYPE_TANKER_UNKNOWN = 89 , AIS_TYPE_OTHER = 90 , AIS_TYPE_OTHER_HAZARDOUS_A = 91 , AIS_TYPE_OTHER_HAZARDOUS_B = 92 , AIS_TYPE_OTHER_HAZARDOUS_C = 93 , AIS_TYPE_OTHER_HAZARDOUS_D = 94 , AIS_TYPE_OTHER_RESERVED_1 = 95 , AIS_TYPE_OTHER_RESERVED_2 = 96 , AIS_TYPE_OTHER_RESERVED_3 = 97 , AIS_TYPE_OTHER_RESERVED_4 = 98 , AIS_TYPE_OTHER_UNKNOWN = 99 , } impl AisType { pub const DEFAULT : Self = Self :: AIS_TYPE_UNKNOWN ; } impl Default for AisType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidDescType { MAV_ODID_DESC_TYPE_TEXT = 0 , MAV_ODID_DESC_TYPE_EMERGENCY = 1 , MAV_ODID_DESC_TYPE_EXTENDED_STATUS = 2 , } impl MavOdidDescType { pub const DEFAULT : Self = Self :: MAV_ODID_DESC_TYPE_TEXT ; } impl Default for MavOdidDescType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CanFilterOp { CAN_FILTER_REPLACE = 0 , CAN_FILTER_ADD = 1 , CAN_FILTER_REMOVE = 2 , } impl CanFilterOp { pub const DEFAULT : Self = Self :: CAN_FILTER_REPLACE ; } impl Default for CanFilterOp { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavFtpOpcode { MAV_FTP_OPCODE_NONE = 0 , MAV_FTP_OPCODE_TERMINATESESSION = 1 , MAV_FTP_OPCODE_RESETSESSION = 2 , MAV_FTP_OPCODE_LISTDIRECTORY = 3 , MAV_FTP_OPCODE_OPENFILERO = 4 , MAV_FTP_OPCODE_READFILE = 5 , MAV_FTP_OPCODE_CREATEFILE = 6 , MAV_FTP_OPCODE_WRITEFILE = 7 , MAV_FTP_OPCODE_REMOVEFILE = 8 , MAV_FTP_OPCODE_CREATEDIRECTORY = 9 , MAV_FTP_OPCODE_REMOVEDIRECTORY = 10 , MAV_FTP_OPCODE_OPENFILEWO = 11 , MAV_FTP_OPCODE_TRUNCATEFILE = 12 , MAV_FTP_OPCODE_RENAME = 13 , MAV_FTP_OPCODE_CALCFILECRC = 14 , MAV_FTP_OPCODE_BURSTREADFILE = 15 , MAV_FTP_OPCODE_ACK = 128 , MAV_FTP_OPCODE_NAK = 129 , } impl MavFtpOpcode { pub const DEFAULT : Self = Self :: MAV_FTP_OPCODE_NONE ; } impl Default for MavFtpOpcode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavVtolState { MAV_VTOL_STATE_UNDEFINED = 0 , MAV_VTOL_STATE_TRANSITION_TO_FW = 1 , MAV_VTOL_STATE_TRANSITION_TO_MC = 2 , MAV_VTOL_STATE_MC = 3 , MAV_VTOL_STATE_FW = 4 , } impl MavVtolState { pub const DEFAULT : Self = Self :: MAV_VTOL_STATE_UNDEFINED ; } impl Default for MavVtolState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavState { MAV_STATE_UNINIT = 0 , MAV_STATE_BOOT = 1 , MAV_STATE_CALIBRATING = 2 , MAV_STATE_STANDBY = 3 , MAV_STATE_ACTIVE = 4 , MAV_STATE_CRITICAL = 5 , MAV_STATE_EMERGENCY = 6 , MAV_STATE_POWEROFF = 7 , MAV_STATE_FLIGHT_TERMINATION = 8 , } impl MavState { pub const DEFAULT : Self = Self :: MAV_STATE_UNINIT ; } impl Default for MavState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FenceBreach { FENCE_BREACH_NONE = 0 , FENCE_BREACH_MINALT = 1 , FENCE_BREACH_MAXALT = 2 , FENCE_BREACH_BOUNDARY = 3 , } impl FenceBreach { pub const DEFAULT : Self = Self :: FENCE_BREACH_NONE ; } impl Default for FenceBreach { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SerialControlFlag : u8 { const SERIAL_CONTROL_FLAG_REPLY = 1 ; const SERIAL_CONTROL_FLAG_RESPOND = 2 ; const SERIAL_CONTROL_FLAG_EXCLUSIVE = 4 ; const SERIAL_CONTROL_FLAG_BLOCKING = 8 ; const SERIAL_CONTROL_FLAG_MULTI = 16 ; } } impl SerialControlFlag { pub const DEFAULT : Self = Self :: SERIAL_CONTROL_FLAG_REPLY ; } impl Default for SerialControlFlag { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TuneFormat : u32 { const TUNE_FORMAT_QBASIC1_1 = 1 ; const TUNE_FORMAT_MML_MODERN = 2 ; } } impl TuneFormat { pub const DEFAULT : Self = Self :: TUNE_FORMAT_QBASIC1_1 ; } impl Default for TuneFormat { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavSeverity { MAV_SEVERITY_EMERGENCY = 0 , MAV_SEVERITY_ALERT = 1 , MAV_SEVERITY_CRITICAL = 2 , MAV_SEVERITY_ERROR = 3 , MAV_SEVERITY_WARNING = 4 , MAV_SEVERITY_NOTICE = 5 , MAV_SEVERITY_INFO = 6 , MAV_SEVERITY_DEBUG = 7 , } impl MavSeverity { pub const DEFAULT : Self = Self :: MAV_SEVERITY_EMERGENCY ; } impl Default for MavSeverity { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavlinkDataStreamType { MAVLINK_DATA_STREAM_IMG_JPEG = 0 , MAVLINK_DATA_STREAM_IMG_BMP = 1 , MAVLINK_DATA_STREAM_IMG_RAW8U = 2 , MAVLINK_DATA_STREAM_IMG_RAW32U = 3 , MAVLINK_DATA_STREAM_IMG_PGM = 4 , MAVLINK_DATA_STREAM_IMG_PNG = 5 , } impl MavlinkDataStreamType { pub const DEFAULT : Self = Self :: MAVLINK_DATA_STREAM_IMG_JPEG ; } impl Default for MavlinkDataStreamType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AdsbFlags : u16 { const ADSB_FLAGS_VALID_COORDS = 1 ; const ADSB_FLAGS_VALID_ALTITUDE = 2 ; const ADSB_FLAGS_VALID_HEADING = 4 ; const ADSB_FLAGS_VALID_VELOCITY = 8 ; const ADSB_FLAGS_VALID_CALLSIGN = 16 ; const ADSB_FLAGS_VALID_SQUAWK = 32 ; const ADSB_FLAGS_SIMULATED = 64 ; const ADSB_FLAGS_VERTICAL_VELOCITY_VALID = 128 ; const ADSB_FLAGS_BARO_VALID = 256 ; const ADSB_FLAGS_SOURCE_UAT = 32768 ; } } impl AdsbFlags { pub const DEFAULT : Self = Self :: ADSB_FLAGS_VALID_COORDS ; } impl Default for AdsbFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMountMode { MAV_MOUNT_MODE_RETRACT = 0 , MAV_MOUNT_MODE_NEUTRAL = 1 , MAV_MOUNT_MODE_MAVLINK_TARGETING = 2 , MAV_MOUNT_MODE_RC_TARGETING = 3 , MAV_MOUNT_MODE_GPS_POINT = 4 , MAV_MOUNT_MODE_SYSID_TARGET = 5 , MAV_MOUNT_MODE_HOME_LOCATION = 6 , } impl MavMountMode { pub const DEFAULT : Self = Self :: MAV_MOUNT_MODE_RETRACT ; } impl Default for MavMountMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FenceMitigate { FENCE_MITIGATE_UNKNOWN = 0 , FENCE_MITIGATE_NONE = 1 , FENCE_MITIGATE_VEL_LIMIT = 2 , } impl FenceMitigate { pub const DEFAULT : Self = Self :: FENCE_MITIGATE_UNKNOWN ; } impl Default for FenceMitigate { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavGeneratorStatusFlag : u64 { const MAV_GENERATOR_STATUS_FLAG_OFF = 1 ; const MAV_GENERATOR_STATUS_FLAG_READY = 2 ; const MAV_GENERATOR_STATUS_FLAG_GENERATING = 4 ; const MAV_GENERATOR_STATUS_FLAG_CHARGING = 8 ; const MAV_GENERATOR_STATUS_FLAG_REDUCED_POWER = 16 ; const MAV_GENERATOR_STATUS_FLAG_MAXPOWER = 32 ; const MAV_GENERATOR_STATUS_FLAG_OVERTEMP_WARNING = 64 ; const MAV_GENERATOR_STATUS_FLAG_OVERTEMP_FAULT = 128 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_WARNING = 256 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_FAULT = 512 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_FAULT = 1024 ; const MAV_GENERATOR_STATUS_FLAG_POWERSOURCE_FAULT = 2048 ; const MAV_GENERATOR_STATUS_FLAG_COMMUNICATION_WARNING = 4096 ; const MAV_GENERATOR_STATUS_FLAG_COOLING_WARNING = 8192 ; const MAV_GENERATOR_STATUS_FLAG_POWER_RAIL_FAULT = 16384 ; const MAV_GENERATOR_STATUS_FLAG_OVERCURRENT_FAULT = 32768 ; const MAV_GENERATOR_STATUS_FLAG_BATTERY_OVERCHARGE_CURRENT_FAULT = 65536 ; const MAV_GENERATOR_STATUS_FLAG_OVERVOLTAGE_FAULT = 131072 ; const MAV_GENERATOR_STATUS_FLAG_BATTERY_UNDERVOLT_FAULT = 262144 ; const MAV_GENERATOR_STATUS_FLAG_START_INHIBITED = 524288 ; const MAV_GENERATOR_STATUS_FLAG_MAINTENANCE_REQUIRED = 1048576 ; const MAV_GENERATOR_STATUS_FLAG_WARMING_UP = 2097152 ; const MAV_GENERATOR_STATUS_FLAG_IDLE = 4194304 ; } } impl MavGeneratorStatusFlag { pub const DEFAULT : Self = Self :: MAV_GENERATOR_STATUS_FLAG_OFF ; } impl Default for MavGeneratorStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryChargeState { MAV_BATTERY_CHARGE_STATE_UNDEFINED = 0 , MAV_BATTERY_CHARGE_STATE_OK = 1 , MAV_BATTERY_CHARGE_STATE_LOW = 2 , MAV_BATTERY_CHARGE_STATE_CRITICAL = 3 , MAV_BATTERY_CHARGE_STATE_EMERGENCY = 4 , MAV_BATTERY_CHARGE_STATE_FAILED = 5 , MAV_BATTERY_CHARGE_STATE_UNHEALTHY = 6 , MAV_BATTERY_CHARGE_STATE_CHARGING = 7 , } impl MavBatteryChargeState { pub const DEFAULT : Self = Self :: MAV_BATTERY_CHARGE_STATE_UNDEFINED ; } impl Default for MavBatteryChargeState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavFtpErr { MAV_FTP_ERR_NONE = 0 , MAV_FTP_ERR_FAIL = 1 , MAV_FTP_ERR_FAILERRNO = 2 , MAV_FTP_ERR_INVALIDDATASIZE = 3 , MAV_FTP_ERR_INVALIDSESSION = 4 , MAV_FTP_ERR_NOSESSIONSAVAILABLE = 5 , MAV_FTP_ERR_EOF = 6 , MAV_FTP_ERR_UNKNOWNCOMMAND = 7 , MAV_FTP_ERR_FILEEXISTS = 8 , MAV_FTP_ERR_FILEPROTECTED = 9 , MAV_FTP_ERR_FILENOTFOUND = 10 , } impl MavFtpErr { pub const DEFAULT : Self = Self :: MAV_FTP_ERR_NONE ; } impl Default for MavFtpErr { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CellularConfigResponse { CELLULAR_CONFIG_RESPONSE_ACCEPTED = 0 , CELLULAR_CONFIG_RESPONSE_APN_ERROR = 1 , CELLULAR_CONFIG_RESPONSE_PIN_ERROR = 2 , CELLULAR_CONFIG_RESPONSE_REJECTED = 3 , CELLULAR_CONFIG_BLOCKED_PUK_REQUIRED = 4 , } impl CellularConfigResponse { pub const DEFAULT : Self = Self :: CELLULAR_CONFIG_RESPONSE_ACCEPTED ; } impl Default for CellularConfigResponse { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidOperatorIdType { MAV_ODID_OPERATOR_ID_TYPE_CAA = 0 , } impl MavOdidOperatorIdType { pub const DEFAULT : Self = Self :: MAV_ODID_OPERATOR_ID_TYPE_CAA ; } impl Default for MavOdidOperatorIdType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidSpeedAcc { MAV_ODID_SPEED_ACC_UNKNOWN = 0 , MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND = 1 , MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND = 2 , MAV_ODID_SPEED_ACC_1_METERS_PER_SECOND = 3 , MAV_ODID_SPEED_ACC_0_3_METERS_PER_SECOND = 4 , } impl MavOdidSpeedAcc { pub const DEFAULT : Self = Self :: MAV_ODID_SPEED_ACC_UNKNOWN ; } impl Default for MavOdidSpeedAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum LandingTargetType { LANDING_TARGET_TYPE_LIGHT_BEACON = 0 , LANDING_TARGET_TYPE_RADIO_BEACON = 1 , LANDING_TARGET_TYPE_VISION_FIDUCIAL = 2 , LANDING_TARGET_TYPE_VISION_OTHER = 3 , } impl LandingTargetType { pub const DEFAULT : Self = Self :: LANDING_TARGET_TYPE_LIGHT_BEACON ; } impl Default for LandingTargetType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCollisionThreatLevel { MAV_COLLISION_THREAT_LEVEL_NONE = 0 , MAV_COLLISION_THREAT_LEVEL_LOW = 1 , MAV_COLLISION_THREAT_LEVEL_HIGH = 2 , } impl MavCollisionThreatLevel { pub const DEFAULT : Self = Self :: MAV_COLLISION_THREAT_LEVEL_NONE ; } impl Default for MavCollisionThreatLevel { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavTunnelPayloadType { MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN = 0 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0 = 200 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1 = 201 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED2 = 202 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED3 = 203 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED4 = 204 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED5 = 205 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED6 = 206 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED7 = 207 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED8 = 208 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED9 = 209 , } impl MavTunnelPayloadType { pub const DEFAULT : Self = Self :: MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN ; } impl Default for MavTunnelPayloadType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavEventErrorReason { MAV_EVENT_ERROR_REASON_UNAVAILABLE = 0 , } impl MavEventErrorReason { pub const DEFAULT : Self = Self :: MAV_EVENT_ERROR_REASON_UNAVAILABLE ; } impl Default for MavEventErrorReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidVerAcc { MAV_ODID_VER_ACC_UNKNOWN = 0 , MAV_ODID_VER_ACC_150_METER = 1 , MAV_ODID_VER_ACC_45_METER = 2 , MAV_ODID_VER_ACC_25_METER = 3 , MAV_ODID_VER_ACC_10_METER = 4 , MAV_ODID_VER_ACC_3_METER = 5 , MAV_ODID_VER_ACC_1_METER = 6 , } impl MavOdidVerAcc { pub const DEFAULT : Self = Self :: MAV_ODID_VER_ACC_UNKNOWN ; } impl Default for MavOdidVerAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MotorTestThrottleType { MOTOR_TEST_THROTTLE_PERCENT = 0 , MOTOR_TEST_THROTTLE_PWM = 1 , MOTOR_TEST_THROTTLE_PILOT = 2 , MOTOR_TEST_COMPASS_CAL = 3 , } impl MotorTestThrottleType { pub const DEFAULT : Self = Self :: MOTOR_TEST_THROTTLE_PERCENT ; } impl Default for MotorTestThrottleType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum OrbitYawBehaviour { ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER = 0 , ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING = 1 , ORBIT_YAW_BEHAVIOUR_UNCONTROLLED = 2 , ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE = 3 , ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED = 4 , } impl OrbitYawBehaviour { pub const DEFAULT : Self = Self :: ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER ; } impl Default for OrbitYawBehaviour { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum ActuatorConfiguration { ACTUATOR_CONFIGURATION_NONE = 0 , ACTUATOR_CONFIGURATION_BEEP = 1 , ACTUATOR_CONFIGURATION_3D_MODE_ON = 2 , ACTUATOR_CONFIGURATION_3D_MODE_OFF = 3 , ACTUATOR_CONFIGURATION_SPIN_DIRECTION1 = 4 , ACTUATOR_CONFIGURATION_SPIN_DIRECTION2 = 5 , } impl ActuatorConfiguration { pub const DEFAULT : Self = Self :: ACTUATOR_CONFIGURATION_NONE ; } impl Default for ActuatorConfiguration { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavEstimatorType { MAV_ESTIMATOR_TYPE_UNKNOWN = 0 , MAV_ESTIMATOR_TYPE_NAIVE = 1 , MAV_ESTIMATOR_TYPE_VISION = 2 , MAV_ESTIMATOR_TYPE_VIO = 3 , MAV_ESTIMATOR_TYPE_GPS = 4 , MAV_ESTIMATOR_TYPE_GPS_INS = 5 , MAV_ESTIMATOR_TYPE_MOCAP = 6 , MAV_ESTIMATOR_TYPE_LIDAR = 7 , MAV_ESTIMATOR_TYPE_AUTOPILOT = 8 , } impl MavEstimatorType { pub const DEFAULT : Self = Self :: MAV_ESTIMATOR_TYPE_UNKNOWN ; } impl Default for MavEstimatorType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EstimatorStatusFlags : u16 { const ESTIMATOR_ATTITUDE = 1 ; const ESTIMATOR_VELOCITY_HORIZ = 2 ; const ESTIMATOR_VELOCITY_VERT = 4 ; const ESTIMATOR_POS_HORIZ_REL = 8 ; const ESTIMATOR_POS_HORIZ_ABS = 16 ; const ESTIMATOR_POS_VERT_ABS = 32 ; const ESTIMATOR_POS_VERT_AGL = 64 ; const ESTIMATOR_CONST_POS_MODE = 128 ; const ESTIMATOR_PRED_POS_HORIZ_REL = 256 ; const ESTIMATOR_PRED_POS_HORIZ_ABS = 512 ; const ESTIMATOR_GPS_GLITCH = 1024 ; const ESTIMATOR_ACCEL_ERROR = 2048 ; } } impl EstimatorStatusFlags { pub const DEFAULT : Self = Self :: ESTIMATOR_ATTITUDE ; } impl Default for EstimatorStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FailureType { FAILURE_TYPE_OK = 0 , FAILURE_TYPE_OFF = 1 , FAILURE_TYPE_STUCK = 2 , FAILURE_TYPE_GARBAGE = 3 , FAILURE_TYPE_WRONG = 4 , FAILURE_TYPE_SLOW = 5 , FAILURE_TYPE_DELAYED = 6 , FAILURE_TYPE_INTERMITTENT = 7 , } impl FailureType { pub const DEFAULT : Self = Self :: FAILURE_TYPE_OK ; } impl Default for FailureType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum PreflightStorageParameterAction { PARAM_READ_PERSISTENT = 0 , PARAM_WRITE_PERSISTENT = 1 , PARAM_RESET_CONFIG_DEFAULT = 2 , PARAM_RESET_SENSOR_DEFAULT = 3 , PARAM_RESET_ALL_DEFAULT = 4 , } impl PreflightStorageParameterAction { pub const DEFAULT : Self = Self :: PARAM_READ_PERSISTENT ; } impl Default for PreflightStorageParameterAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavParamType { MAV_PARAM_TYPE_UINT8 = 1 , MAV_PARAM_TYPE_INT8 = 2 , MAV_PARAM_TYPE_UINT16 = 3 , MAV_PARAM_TYPE_INT16 = 4 , MAV_PARAM_TYPE_UINT32 = 5 , MAV_PARAM_TYPE_INT32 = 6 , MAV_PARAM_TYPE_UINT64 = 7 , MAV_PARAM_TYPE_INT64 = 8 , MAV_PARAM_TYPE_REAL32 = 9 , MAV_PARAM_TYPE_REAL64 = 10 , } impl MavParamType { pub const DEFAULT : Self = Self :: MAV_PARAM_TYPE_UINT8 ; } impl Default for MavParamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavModeFlagDecodePosition { MAV_MODE_FLAG_DECODE_POSITION_SAFETY = 128 , MAV_MODE_FLAG_DECODE_POSITION_MANUAL = 64 , MAV_MODE_FLAG_DECODE_POSITION_HIL = 32 , MAV_MODE_FLAG_DECODE_POSITION_STABILIZE = 16 , MAV_MODE_FLAG_DECODE_POSITION_GUIDED = 8 , MAV_MODE_FLAG_DECODE_POSITION_AUTO = 4 , MAV_MODE_FLAG_DECODE_POSITION_TEST = 2 , MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE = 1 , } impl MavModeFlagDecodePosition { pub const DEFAULT : Self = Self :: MAV_MODE_FLAG_DECODE_POSITION_SAFETY ; } impl Default for MavModeFlagDecodePosition { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum StorageUsageFlag { STORAGE_USAGE_FLAG_SET = 1 , STORAGE_USAGE_FLAG_PHOTO = 2 , STORAGE_USAGE_FLAG_VIDEO = 4 , STORAGE_USAGE_FLAG_LOGS = 8 , } impl StorageUsageFlag { pub const DEFAULT : Self = Self :: STORAGE_USAGE_FLAG_SET ; } impl Default for StorageUsageFlag { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavEventCurrentSequenceFlags : u8 { const MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET = 1 ; } } impl MavEventCurrentSequenceFlags { pub const DEFAULT : Self = Self :: MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET ; } impl Default for MavEventCurrentSequenceFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavGoto { MAV_GOTO_DO_HOLD = 0 , MAV_GOTO_DO_CONTINUE = 1 , MAV_GOTO_HOLD_AT_CURRENT_POSITION = 2 , MAV_GOTO_HOLD_AT_SPECIFIED_POSITION = 3 , } impl MavGoto { pub const DEFAULT : Self = Self :: MAV_GOTO_DO_HOLD ; } impl Default for MavGoto { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceCapFlags : u16 { const GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT = 1 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL = 2 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS = 4 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW = 8 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK = 16 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS = 32 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW = 64 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK = 128 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS = 256 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW = 512 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK = 1024 ; const GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW = 2048 ; const GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME = 4096 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS = 8192 ; } } impl GimbalDeviceCapFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT ; } impl Default for GimbalDeviceCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum VtolTransitionHeading { VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT = 0 , VTOL_TRANSITION_HEADING_NEXT_WAYPOINT = 1 , VTOL_TRANSITION_HEADING_TAKEOFF = 2 , VTOL_TRANSITION_HEADING_SPECIFIED = 3 , VTOL_TRANSITION_HEADING_ANY = 4 , } impl VtolTransitionHeading { pub const DEFAULT : Self = Self :: VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT ; } impl Default for VtolTransitionHeading { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceFlags : u16 { const GIMBAL_DEVICE_FLAGS_RETRACT = 1 ; const GIMBAL_DEVICE_FLAGS_NEUTRAL = 2 ; const GIMBAL_DEVICE_FLAGS_ROLL_LOCK = 4 ; const GIMBAL_DEVICE_FLAGS_PITCH_LOCK = 8 ; const GIMBAL_DEVICE_FLAGS_YAW_LOCK = 16 ; const GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME = 32 ; const GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME = 64 ; const GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME = 128 ; const GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE = 256 ; const GIMBAL_DEVICE_FLAGS_RC_MIXED = 512 ; } } impl GimbalDeviceFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_FLAGS_RETRACT ; } impl Default for GimbalDeviceFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum SerialControlDev { SERIAL_CONTROL_DEV_TELEM1 = 0 , SERIAL_CONTROL_DEV_TELEM2 = 1 , SERIAL_CONTROL_DEV_GPS1 = 2 , SERIAL_CONTROL_DEV_GPS2 = 3 , SERIAL_CONTROL_DEV_SHELL = 10 , SERIAL_CONTROL_SERIAL0 = 100 , SERIAL_CONTROL_SERIAL1 = 101 , SERIAL_CONTROL_SERIAL2 = 102 , SERIAL_CONTROL_SERIAL3 = 103 , SERIAL_CONTROL_SERIAL4 = 104 , SERIAL_CONTROL_SERIAL5 = 105 , SERIAL_CONTROL_SERIAL6 = 106 , SERIAL_CONTROL_SERIAL7 = 107 , SERIAL_CONTROL_SERIAL8 = 108 , SERIAL_CONTROL_SERIAL9 = 109 , } impl SerialControlDev { pub const DEFAULT : Self = Self :: SERIAL_CONTROL_DEV_TELEM1 ; } impl Default for SerialControlDev { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavSysStatusSensor : u32 { const MAV_SYS_STATUS_SENSOR_3D_GYRO = 1 ; const MAV_SYS_STATUS_SENSOR_3D_ACCEL = 2 ; const MAV_SYS_STATUS_SENSOR_3D_MAG = 4 ; const MAV_SYS_STATUS_SENSOR_ABSOLUTE_PRESSURE = 8 ; const MAV_SYS_STATUS_SENSOR_DIFFERENTIAL_PRESSURE = 16 ; const MAV_SYS_STATUS_SENSOR_GPS = 32 ; const MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW = 64 ; const MAV_SYS_STATUS_SENSOR_VISION_POSITION = 128 ; const MAV_SYS_STATUS_SENSOR_LASER_POSITION = 256 ; const MAV_SYS_STATUS_SENSOR_EXTERNAL_GROUND_TRUTH = 512 ; const MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL = 1024 ; const MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION = 2048 ; const MAV_SYS_STATUS_SENSOR_YAW_POSITION = 4096 ; const MAV_SYS_STATUS_SENSOR_Z_ALTITUDE_CONTROL = 8192 ; const MAV_SYS_STATUS_SENSOR_XY_POSITION_CONTROL = 16384 ; const MAV_SYS_STATUS_SENSOR_MOTOR_OUTPUTS = 32768 ; const MAV_SYS_STATUS_SENSOR_RC_RECEIVER = 65536 ; const MAV_SYS_STATUS_SENSOR_3D_GYRO2 = 131072 ; const MAV_SYS_STATUS_SENSOR_3D_ACCEL2 = 262144 ; const MAV_SYS_STATUS_SENSOR_3D_MAG2 = 524288 ; const MAV_SYS_STATUS_GEOFENCE = 1048576 ; const MAV_SYS_STATUS_AHRS = 2097152 ; const MAV_SYS_STATUS_TERRAIN = 4194304 ; const MAV_SYS_STATUS_REVERSE_MOTOR = 8388608 ; const MAV_SYS_STATUS_LOGGING = 16777216 ; const MAV_SYS_STATUS_SENSOR_BATTERY = 33554432 ; const MAV_SYS_STATUS_SENSOR_PROXIMITY = 67108864 ; const MAV_SYS_STATUS_SENSOR_SATCOM = 134217728 ; const MAV_SYS_STATUS_PREARM_CHECK = 268435456 ; const MAV_SYS_STATUS_OBSTACLE_AVOIDANCE = 536870912 ; const MAV_SYS_STATUS_SENSOR_PROPULSION = 1073741824 ; const MAV_SYS_STATUS_EXTENSION_USED = 2147483648 ; } } impl MavSysStatusSensor { pub const DEFAULT : Self = Self :: MAV_SYS_STATUS_SENSOR_3D_GYRO ; } impl Default for MavSysStatusSensor { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavDataStream { MAV_DATA_STREAM_ALL = 0 , MAV_DATA_STREAM_RAW_SENSORS = 1 , MAV_DATA_STREAM_EXTENDED_STATUS = 2 , MAV_DATA_STREAM_RC_CHANNELS = 3 , MAV_DATA_STREAM_RAW_CONTROLLER = 4 , MAV_DATA_STREAM_POSITION = 6 , MAV_DATA_STREAM_EXTRA1 = 10 , MAV_DATA_STREAM_EXTRA2 = 11 , MAV_DATA_STREAM_EXTRA3 = 12 , } impl MavDataStream { pub const DEFAULT : Self = Self :: MAV_DATA_STREAM_ALL ; } impl Default for MavDataStream { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCollisionSrc { MAV_COLLISION_SRC_ADSB = 0 , MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT = 1 , } impl MavCollisionSrc { pub const DEFAULT : Self = Self :: MAV_COLLISION_SRC_ADSB ; } impl Default for MavCollisionSrc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum VideoStreamStatusFlags { VIDEO_STREAM_STATUS_FLAGS_RUNNING = 1 , VIDEO_STREAM_STATUS_FLAGS_THERMAL = 2 , } impl VideoStreamStatusFlags { pub const DEFAULT : Self = Self :: VIDEO_STREAM_STATUS_FLAGS_RUNNING ; } impl Default for VideoStreamStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraTrackingStatusFlags { CAMERA_TRACKING_STATUS_FLAGS_IDLE = 0 , CAMERA_TRACKING_STATUS_FLAGS_ACTIVE = 1 , CAMERA_TRACKING_STATUS_FLAGS_ERROR = 2 , } impl CameraTrackingStatusFlags { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_STATUS_FLAGS_IDLE ; } impl Default for CameraTrackingStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum RcType { RC_TYPE_SPEKTRUM_DSM2 = 0 , RC_TYPE_SPEKTRUM_DSMX = 1 , } impl RcType { pub const DEFAULT : Self = Self :: RC_TYPE_SPEKTRUM_DSM2 ; } impl Default for RcType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AttitudeTargetTypemask : u8 { const ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE = 1 ; const ATTITUDE_TARGET_TYPEMASK_BODY_PITCH_RATE_IGNORE = 2 ; const ATTITUDE_TARGET_TYPEMASK_BODY_YAW_RATE_IGNORE = 4 ; const ATTITUDE_TARGET_TYPEMASK_THRUST_BODY_SET = 32 ; const ATTITUDE_TARGET_TYPEMASK_THROTTLE_IGNORE = 64 ; const ATTITUDE_TARGET_TYPEMASK_ATTITUDE_IGNORE = 128 ; } } impl AttitudeTargetTypemask { pub const DEFAULT : Self = Self :: ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE ; } impl Default for AttitudeTargetTypemask { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidAuthType { MAV_ODID_AUTH_TYPE_NONE = 0 , MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE = 1 , MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE = 2 , MAV_ODID_AUTH_TYPE_MESSAGE_SET_SIGNATURE = 3 , MAV_ODID_AUTH_TYPE_NETWORK_REMOTE_ID = 4 , MAV_ODID_AUTH_TYPE_SPECIFIC_AUTHENTICATION = 5 , } impl MavOdidAuthType { pub const DEFAULT : Self = Self :: MAV_ODID_AUTH_TYPE_NONE ; } impl Default for MavOdidAuthType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceErrorFlags : u32 { const GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT = 1 ; const GIMBAL_DEVICE_ERROR_FLAGS_AT_PITCH_LIMIT = 2 ; const GIMBAL_DEVICE_ERROR_FLAGS_AT_YAW_LIMIT = 4 ; const GIMBAL_DEVICE_ERROR_FLAGS_ENCODER_ERROR = 8 ; const GIMBAL_DEVICE_ERROR_FLAGS_POWER_ERROR = 16 ; const GIMBAL_DEVICE_ERROR_FLAGS_MOTOR_ERROR = 32 ; const GIMBAL_DEVICE_ERROR_FLAGS_SOFTWARE_ERROR = 64 ; const GIMBAL_DEVICE_ERROR_FLAGS_COMMS_ERROR = 128 ; const GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING = 256 ; const GIMBAL_DEVICE_ERROR_FLAGS_NO_MANAGER = 512 ; } } impl GimbalDeviceErrorFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT ; } impl Default for GimbalDeviceErrorFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GimbalManagerFlags { GIMBAL_MANAGER_FLAGS_RETRACT = 1 , GIMBAL_MANAGER_FLAGS_NEUTRAL = 2 , GIMBAL_MANAGER_FLAGS_ROLL_LOCK = 4 , GIMBAL_MANAGER_FLAGS_PITCH_LOCK = 8 , GIMBAL_MANAGER_FLAGS_YAW_LOCK = 16 , GIMBAL_MANAGER_FLAGS_YAW_IN_VEHICLE_FRAME = 32 , GIMBAL_MANAGER_FLAGS_YAW_IN_EARTH_FRAME = 64 , GIMBAL_MANAGER_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME = 128 , GIMBAL_MANAGER_FLAGS_RC_EXCLUSIVE = 256 , GIMBAL_MANAGER_FLAGS_RC_MIXED = 512 , } impl GimbalManagerFlags { pub const DEFAULT : Self = Self :: GIMBAL_MANAGER_FLAGS_RETRACT ; } impl Default for GimbalManagerFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum ActuatorOutputFunction { ACTUATOR_OUTPUT_FUNCTION_NONE = 0 , ACTUATOR_OUTPUT_FUNCTION_MOTOR1 = 1 , ACTUATOR_OUTPUT_FUNCTION_MOTOR2 = 2 , ACTUATOR_OUTPUT_FUNCTION_MOTOR3 = 3 , ACTUATOR_OUTPUT_FUNCTION_MOTOR4 = 4 , ACTUATOR_OUTPUT_FUNCTION_MOTOR5 = 5 , ACTUATOR_OUTPUT_FUNCTION_MOTOR6 = 6 , ACTUATOR_OUTPUT_FUNCTION_MOTOR7 = 7 , ACTUATOR_OUTPUT_FUNCTION_MOTOR8 = 8 , ACTUATOR_OUTPUT_FUNCTION_MOTOR9 = 9 , ACTUATOR_OUTPUT_FUNCTION_MOTOR10 = 10 , ACTUATOR_OUTPUT_FUNCTION_MOTOR11 = 11 , ACTUATOR_OUTPUT_FUNCTION_MOTOR12 = 12 , ACTUATOR_OUTPUT_FUNCTION_MOTOR13 = 13 , ACTUATOR_OUTPUT_FUNCTION_MOTOR14 = 14 , ACTUATOR_OUTPUT_FUNCTION_MOTOR15 = 15 , ACTUATOR_OUTPUT_FUNCTION_MOTOR16 = 16 , ACTUATOR_OUTPUT_FUNCTION_SERVO1 = 33 , ACTUATOR_OUTPUT_FUNCTION_SERVO2 = 34 , ACTUATOR_OUTPUT_FUNCTION_SERVO3 = 35 , ACTUATOR_OUTPUT_FUNCTION_SERVO4 = 36 , ACTUATOR_OUTPUT_FUNCTION_SERVO5 = 37 , ACTUATOR_OUTPUT_FUNCTION_SERVO6 = 38 , ACTUATOR_OUTPUT_FUNCTION_SERVO7 = 39 , ACTUATOR_OUTPUT_FUNCTION_SERVO8 = 40 , ACTUATOR_OUTPUT_FUNCTION_SERVO9 = 41 , ACTUATOR_OUTPUT_FUNCTION_SERVO10 = 42 , ACTUATOR_OUTPUT_FUNCTION_SERVO11 = 43 , ACTUATOR_OUTPUT_FUNCTION_SERVO12 = 44 , ACTUATOR_OUTPUT_FUNCTION_SERVO13 = 45 , ACTUATOR_OUTPUT_FUNCTION_SERVO14 = 46 , ACTUATOR_OUTPUT_FUNCTION_SERVO15 = 47 , ACTUATOR_OUTPUT_FUNCTION_SERVO16 = 48 , } impl ActuatorOutputFunction { pub const DEFAULT : Self = Self :: ACTUATOR_OUTPUT_FUNCTION_NONE ; } impl Default for ActuatorOutputFunction { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavProtocolCapability : u64 { const MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT = 1 ; const MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT = 2 ; const MAV_PROTOCOL_CAPABILITY_MISSION_INT = 4 ; const MAV_PROTOCOL_CAPABILITY_COMMAND_INT = 8 ; const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE = 16 ; const MAV_PROTOCOL_CAPABILITY_FTP = 32 ; const MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET = 64 ; const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED = 128 ; const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT = 256 ; const MAV_PROTOCOL_CAPABILITY_TERRAIN = 512 ; const MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET = 1024 ; const MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION = 2048 ; const MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION = 4096 ; const MAV_PROTOCOL_CAPABILITY_MAVLINK2 = 8192 ; const MAV_PROTOCOL_CAPABILITY_MISSION_FENCE = 16384 ; const MAV_PROTOCOL_CAPABILITY_MISSION_RALLY = 32768 ; const MAV_PROTOCOL_CAPABILITY_RESERVED2 = 65536 ; const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST = 131072 ; } } impl MavProtocolCapability { pub const DEFAULT : Self = Self :: MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT ; } impl Default for MavProtocolCapability { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCmd { MAV_CMD_NAV_WAYPOINT = 16 , MAV_CMD_NAV_LOITER_UNLIM = 17 , MAV_CMD_NAV_LOITER_TURNS = 18 , MAV_CMD_NAV_LOITER_TIME = 19 , MAV_CMD_NAV_RETURN_TO_LAUNCH = 20 , MAV_CMD_NAV_LAND = 21 , MAV_CMD_NAV_TAKEOFF = 22 , MAV_CMD_NAV_LAND_LOCAL = 23 , MAV_CMD_NAV_TAKEOFF_LOCAL = 24 , MAV_CMD_NAV_FOLLOW = 25 , MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT = 30 , MAV_CMD_NAV_LOITER_TO_ALT = 31 , MAV_CMD_DO_FOLLOW = 32 , MAV_CMD_DO_FOLLOW_REPOSITION = 33 , MAV_CMD_DO_ORBIT = 34 , MAV_CMD_NAV_ROI = 80 , MAV_CMD_NAV_PATHPLANNING = 81 , MAV_CMD_NAV_SPLINE_WAYPOINT = 82 , MAV_CMD_NAV_VTOL_TAKEOFF = 84 , MAV_CMD_NAV_VTOL_LAND = 85 , MAV_CMD_NAV_GUIDED_ENABLE = 92 , MAV_CMD_NAV_DELAY = 93 , MAV_CMD_NAV_PAYLOAD_PLACE = 94 , MAV_CMD_NAV_LAST = 95 , MAV_CMD_CONDITION_DELAY = 112 , MAV_CMD_CONDITION_CHANGE_ALT = 113 , MAV_CMD_CONDITION_DISTANCE = 114 , MAV_CMD_CONDITION_YAW = 115 , MAV_CMD_CONDITION_LAST = 159 , MAV_CMD_DO_SET_MODE = 176 , MAV_CMD_DO_JUMP = 177 , MAV_CMD_DO_CHANGE_SPEED = 178 , MAV_CMD_DO_SET_HOME = 179 , MAV_CMD_DO_SET_PARAMETER = 180 , MAV_CMD_DO_SET_RELAY = 181 , MAV_CMD_DO_REPEAT_RELAY = 182 , MAV_CMD_DO_SET_SERVO = 183 , MAV_CMD_DO_REPEAT_SERVO = 184 , MAV_CMD_DO_FLIGHTTERMINATION = 185 , MAV_CMD_DO_CHANGE_ALTITUDE = 186 , MAV_CMD_DO_SET_ACTUATOR = 187 , MAV_CMD_DO_LAND_START = 189 , MAV_CMD_DO_RALLY_LAND = 190 , MAV_CMD_DO_GO_AROUND = 191 , MAV_CMD_DO_REPOSITION = 192 , MAV_CMD_DO_PAUSE_CONTINUE = 193 , MAV_CMD_DO_SET_REVERSE = 194 , MAV_CMD_DO_SET_ROI_LOCATION = 195 , MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET = 196 , MAV_CMD_DO_SET_ROI_NONE = 197 , MAV_CMD_DO_SET_ROI_SYSID = 198 , MAV_CMD_DO_CONTROL_VIDEO = 200 , MAV_CMD_DO_SET_ROI = 201 , MAV_CMD_DO_DIGICAM_CONFIGURE = 202 , MAV_CMD_DO_DIGICAM_CONTROL = 203 , MAV_CMD_DO_MOUNT_CONFIGURE = 204 , MAV_CMD_DO_MOUNT_CONTROL = 205 , MAV_CMD_DO_SET_CAM_TRIGG_DIST = 206 , MAV_CMD_DO_FENCE_ENABLE = 207 , MAV_CMD_DO_PARACHUTE = 208 , MAV_CMD_DO_MOTOR_TEST = 209 , MAV_CMD_DO_INVERTED_FLIGHT = 210 , MAV_CMD_DO_GRIPPER = 211 , MAV_CMD_DO_AUTOTUNE_ENABLE = 212 , MAV_CMD_NAV_SET_YAW_SPEED = 213 , MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL = 214 , MAV_CMD_DO_MOUNT_CONTROL_QUAT = 220 , MAV_CMD_DO_GUIDED_MASTER = 221 , MAV_CMD_DO_GUIDED_LIMITS = 222 , MAV_CMD_DO_ENGINE_CONTROL = 223 , MAV_CMD_DO_SET_MISSION_CURRENT = 224 , MAV_CMD_DO_LAST = 240 , MAV_CMD_PREFLIGHT_CALIBRATION = 241 , MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS = 242 , MAV_CMD_PREFLIGHT_UAVCAN = 243 , MAV_CMD_PREFLIGHT_STORAGE = 245 , MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN = 246 , MAV_CMD_OVERRIDE_GOTO = 252 , MAV_CMD_OBLIQUE_SURVEY = 260 , MAV_CMD_MISSION_START = 300 , MAV_CMD_ACTUATOR_TEST = 310 , MAV_CMD_CONFIGURE_ACTUATOR = 311 , MAV_CMD_COMPONENT_ARM_DISARM = 400 , MAV_CMD_RUN_PREARM_CHECKS = 401 , MAV_CMD_ILLUMINATOR_ON_OFF = 405 , MAV_CMD_GET_HOME_POSITION = 410 , MAV_CMD_INJECT_FAILURE = 420 , MAV_CMD_START_RX_PAIR = 500 , MAV_CMD_GET_MESSAGE_INTERVAL = 510 , MAV_CMD_SET_MESSAGE_INTERVAL = 511 , MAV_CMD_REQUEST_MESSAGE = 512 , MAV_CMD_REQUEST_PROTOCOL_VERSION = 519 , MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES = 520 , MAV_CMD_REQUEST_CAMERA_INFORMATION = 521 , MAV_CMD_REQUEST_CAMERA_SETTINGS = 522 , MAV_CMD_REQUEST_STORAGE_INFORMATION = 525 , MAV_CMD_STORAGE_FORMAT = 526 , MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS = 527 , MAV_CMD_REQUEST_FLIGHT_INFORMATION = 528 , MAV_CMD_RESET_CAMERA_SETTINGS = 529 , MAV_CMD_SET_CAMERA_MODE = 530 , MAV_CMD_SET_CAMERA_ZOOM = 531 , MAV_CMD_SET_CAMERA_FOCUS = 532 , MAV_CMD_SET_STORAGE_USAGE = 533 , MAV_CMD_JUMP_TAG = 600 , MAV_CMD_DO_JUMP_TAG = 601 , MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW = 1000 , MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE = 1001 , MAV_CMD_IMAGE_START_CAPTURE = 2000 , MAV_CMD_IMAGE_STOP_CAPTURE = 2001 , MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE = 2002 , MAV_CMD_DO_TRIGGER_CONTROL = 2003 , MAV_CMD_CAMERA_TRACK_POINT = 2004 , MAV_CMD_CAMERA_TRACK_RECTANGLE = 2005 , MAV_CMD_CAMERA_STOP_TRACKING = 2010 , MAV_CMD_VIDEO_START_CAPTURE = 2500 , MAV_CMD_VIDEO_STOP_CAPTURE = 2501 , MAV_CMD_VIDEO_START_STREAMING = 2502 , MAV_CMD_VIDEO_STOP_STREAMING = 2503 , MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION = 2504 , MAV_CMD_REQUEST_VIDEO_STREAM_STATUS = 2505 , MAV_CMD_LOGGING_START = 2510 , MAV_CMD_LOGGING_STOP = 2511 , MAV_CMD_AIRFRAME_CONFIGURATION = 2520 , MAV_CMD_CONTROL_HIGH_LATENCY = 2600 , MAV_CMD_PANORAMA_CREATE = 2800 , MAV_CMD_DO_VTOL_TRANSITION = 3000 , MAV_CMD_ARM_AUTHORIZATION_REQUEST = 3001 , MAV_CMD_SET_GUIDED_SUBMODE_STANDARD = 4000 , MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE = 4001 , MAV_CMD_CONDITION_GATE = 4501 , MAV_CMD_NAV_FENCE_RETURN_POINT = 5000 , MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION = 5001 , MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION = 5002 , MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION = 5003 , MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION = 5004 , MAV_CMD_NAV_RALLY_POINT = 5100 , MAV_CMD_UAVCAN_GET_NODE_INFO = 5200 , MAV_CMD_DO_ADSB_OUT_IDENT = 10001 , MAV_CMD_PAYLOAD_PREPARE_DEPLOY = 30001 , MAV_CMD_PAYLOAD_CONTROL_DEPLOY = 30002 , MAV_CMD_FIXED_MAG_CAL_YAW = 42006 , MAV_CMD_DO_WINCH = 42600 , MAV_CMD_WAYPOINT_USER_1 = 31000 , MAV_CMD_WAYPOINT_USER_2 = 31001 , MAV_CMD_WAYPOINT_USER_3 = 31002 , MAV_CMD_WAYPOINT_USER_4 = 31003 , MAV_CMD_WAYPOINT_USER_5 = 31004 , MAV_CMD_SPATIAL_USER_1 = 31005 , MAV_CMD_SPATIAL_USER_2 = 31006 , MAV_CMD_SPATIAL_USER_3 = 31007 , MAV_CMD_SPATIAL_USER_4 = 31008 , MAV_CMD_SPATIAL_USER_5 = 31009 , MAV_CMD_USER_1 = 31010 , MAV_CMD_USER_2 = 31011 , MAV_CMD_USER_3 = 31012 , MAV_CMD_USER_4 = 31013 , MAV_CMD_USER_5 = 31014 , MAV_CMD_CAN_FORWARD = 32000 , } impl MavCmd { pub const DEFAULT : Self = Self :: MAV_CMD_NAV_WAYPOINT ; } impl Default for MavCmd { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryType { MAV_BATTERY_TYPE_UNKNOWN = 0 , MAV_BATTERY_TYPE_LIPO = 1 , MAV_BATTERY_TYPE_LIFE = 2 , MAV_BATTERY_TYPE_LION = 3 , MAV_BATTERY_TYPE_NIMH = 4 , } impl MavBatteryType { pub const DEFAULT : Self = Self :: MAV_BATTERY_TYPE_UNKNOWN ; } impl Default for MavBatteryType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum WinchActions { WINCH_RELAXED = 0 , WINCH_RELATIVE_LENGTH_CONTROL = 1 , WINCH_RATE_CONTROL = 2 , WINCH_LOCK = 3 , WINCH_DELIVER = 4 , WINCH_HOLD = 5 , WINCH_RETRACT = 6 , WINCH_LOAD_LINE = 7 , WINCH_ABANDON_LINE = 8 , WINCH_LOAD_PAYLOAD = 9 , } impl WinchActions { pub const DEFAULT : Self = Self :: WINCH_RELAXED ; } impl Default for WinchActions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidUaType { MAV_ODID_UA_TYPE_NONE = 0 , MAV_ODID_UA_TYPE_AEROPLANE = 1 , MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR = 2 , MAV_ODID_UA_TYPE_GYROPLANE = 3 , MAV_ODID_UA_TYPE_HYBRID_LIFT = 4 , MAV_ODID_UA_TYPE_ORNITHOPTER = 5 , MAV_ODID_UA_TYPE_GLIDER = 6 , MAV_ODID_UA_TYPE_KITE = 7 , MAV_ODID_UA_TYPE_FREE_BALLOON = 8 , MAV_ODID_UA_TYPE_CAPTIVE_BALLOON = 9 , MAV_ODID_UA_TYPE_AIRSHIP = 10 , MAV_ODID_UA_TYPE_FREE_FALL_PARACHUTE = 11 , MAV_ODID_UA_TYPE_ROCKET = 12 , MAV_ODID_UA_TYPE_TETHERED_POWERED_AIRCRAFT = 13 , MAV_ODID_UA_TYPE_GROUND_OBSTACLE = 14 , MAV_ODID_UA_TYPE_OTHER = 15 , } impl MavOdidUaType { pub const DEFAULT : Self = Self :: MAV_ODID_UA_TYPE_NONE ; } impl Default for MavOdidUaType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidStatus { MAV_ODID_STATUS_UNDECLARED = 0 , MAV_ODID_STATUS_GROUND = 1 , MAV_ODID_STATUS_AIRBORNE = 2 , MAV_ODID_STATUS_EMERGENCY = 3 , MAV_ODID_STATUS_REMOTE_ID_SYSTEM_FAILURE = 4 , } impl MavOdidStatus { pub const DEFAULT : Self = Self :: MAV_ODID_STATUS_UNDECLARED ; } impl Default for MavOdidStatus { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HlFailureFlag : u16 { const HL_FAILURE_FLAG_GPS = 1 ; const HL_FAILURE_FLAG_DIFFERENTIAL_PRESSURE = 2 ; const HL_FAILURE_FLAG_ABSOLUTE_PRESSURE = 4 ; const HL_FAILURE_FLAG_3D_ACCEL = 8 ; const HL_FAILURE_FLAG_3D_GYRO = 16 ; const HL_FAILURE_FLAG_3D_MAG = 32 ; const HL_FAILURE_FLAG_TERRAIN = 64 ; const HL_FAILURE_FLAG_BATTERY = 128 ; const HL_FAILURE_FLAG_RC_RECEIVER = 256 ; const HL_FAILURE_FLAG_OFFBOARD_LINK = 512 ; const HL_FAILURE_FLAG_ENGINE = 1024 ; const HL_FAILURE_FLAG_GEOFENCE = 2048 ; const HL_FAILURE_FLAG_ESTIMATOR = 4096 ; const HL_FAILURE_FLAG_MISSION = 8192 ; } } impl HlFailureFlag { pub const DEFAULT : Self = Self :: HL_FAILURE_FLAG_GPS ; } impl Default for HlFailureFlag { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UtmDataAvailFlags : u8 { const UTM_DATA_AVAIL_FLAGS_TIME_VALID = 1 ; const UTM_DATA_AVAIL_FLAGS_UAS_ID_AVAILABLE = 2 ; const UTM_DATA_AVAIL_FLAGS_POSITION_AVAILABLE = 4 ; const UTM_DATA_AVAIL_FLAGS_ALTITUDE_AVAILABLE = 8 ; const UTM_DATA_AVAIL_FLAGS_RELATIVE_ALTITUDE_AVAILABLE = 16 ; const UTM_DATA_AVAIL_FLAGS_HORIZONTAL_VELO_AVAILABLE = 32 ; const UTM_DATA_AVAIL_FLAGS_VERTICAL_VELO_AVAILABLE = 64 ; const UTM_DATA_AVAIL_FLAGS_NEXT_WAYPOINT_AVAILABLE = 128 ; } } impl UtmDataAvailFlags { pub const DEFAULT : Self = Self :: UTM_DATA_AVAIL_FLAGS_TIME_VALID ; } impl Default for UtmDataAvailFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum RtkBaselineCoordinateSystem { RTK_BASELINE_COORDINATE_SYSTEM_ECEF = 0 , RTK_BASELINE_COORDINATE_SYSTEM_NED = 1 , } impl RtkBaselineCoordinateSystem { pub const DEFAULT : Self = Self :: RTK_BASELINE_COORDINATE_SYSTEM_ECEF ; } impl Default for RtkBaselineCoordinateSystem { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum PreflightStorageMissionAction { MISSION_READ_PERSISTENT = 0 , MISSION_WRITE_PERSISTENT = 1 , MISSION_RESET_DEFAULT = 2 , } impl PreflightStorageMissionAction { pub const DEFAULT : Self = Self :: MISSION_READ_PERSISTENT ; } impl Default for PreflightStorageMissionAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum StorageType { STORAGE_TYPE_UNKNOWN = 0 , STORAGE_TYPE_USB_STICK = 1 , STORAGE_TYPE_SD = 2 , STORAGE_TYPE_MICROSD = 3 , STORAGE_TYPE_CF = 4 , STORAGE_TYPE_CFE = 5 , STORAGE_TYPE_XQD = 6 , STORAGE_TYPE_HD = 7 , STORAGE_TYPE_OTHER = 254 , } impl StorageType { pub const DEFAULT : Self = Self :: STORAGE_TYPE_UNKNOWN ; } impl Default for StorageType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCollisionAction { MAV_COLLISION_ACTION_NONE = 0 , MAV_COLLISION_ACTION_REPORT = 1 , MAV_COLLISION_ACTION_ASCEND_OR_DESCEND = 2 , MAV_COLLISION_ACTION_MOVE_HORIZONTALLY = 3 , MAV_COLLISION_ACTION_MOVE_PERPENDICULAR = 4 , MAV_COLLISION_ACTION_RTL = 5 , MAV_COLLISION_ACTION_HOVER = 6 , } impl MavCollisionAction { pub const DEFAULT : Self = Self :: MAV_COLLISION_ACTION_NONE ; } impl Default for MavCollisionAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavFrame { MAV_FRAME_GLOBAL = 0 , MAV_FRAME_LOCAL_NED = 1 , MAV_FRAME_MISSION = 2 , MAV_FRAME_GLOBAL_RELATIVE_ALT = 3 , MAV_FRAME_LOCAL_ENU = 4 , MAV_FRAME_GLOBAL_INT = 5 , MAV_FRAME_GLOBAL_RELATIVE_ALT_INT = 6 , MAV_FRAME_LOCAL_OFFSET_NED = 7 , MAV_FRAME_BODY_NED = 8 , MAV_FRAME_BODY_OFFSET_NED = 9 , MAV_FRAME_GLOBAL_TERRAIN_ALT = 10 , MAV_FRAME_GLOBAL_TERRAIN_ALT_INT = 11 , MAV_FRAME_BODY_FRD = 12 , MAV_FRAME_RESERVED_13 = 13 , MAV_FRAME_RESERVED_14 = 14 , MAV_FRAME_RESERVED_15 = 15 , MAV_FRAME_RESERVED_16 = 16 , MAV_FRAME_RESERVED_17 = 17 , MAV_FRAME_RESERVED_18 = 18 , MAV_FRAME_RESERVED_19 = 19 , MAV_FRAME_LOCAL_FRD = 20 , MAV_FRAME_LOCAL_FLU = 21 , } impl MavFrame { pub const DEFAULT : Self = Self :: MAV_FRAME_GLOBAL ; } impl Default for MavFrame { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CameraCapFlags : u32 { const CAMERA_CAP_FLAGS_CAPTURE_VIDEO = 1 ; const CAMERA_CAP_FLAGS_CAPTURE_IMAGE = 2 ; const CAMERA_CAP_FLAGS_HAS_MODES = 4 ; const CAMERA_CAP_FLAGS_CAN_CAPTURE_IMAGE_IN_VIDEO_MODE = 8 ; const CAMERA_CAP_FLAGS_CAN_CAPTURE_VIDEO_IN_IMAGE_MODE = 16 ; const CAMERA_CAP_FLAGS_HAS_IMAGE_SURVEY_MODE = 32 ; const CAMERA_CAP_FLAGS_HAS_BASIC_ZOOM = 64 ; const CAMERA_CAP_FLAGS_HAS_BASIC_FOCUS = 128 ; const CAMERA_CAP_FLAGS_HAS_VIDEO_STREAM = 256 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_POINT = 512 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE = 1024 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_GEO_STATUS = 2048 ; } } impl CameraCapFlags { pub const DEFAULT : Self = Self :: CAMERA_CAP_FLAGS_CAPTURE_VIDEO ; } impl Default for CameraCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraTrackingTargetData { CAMERA_TRACKING_TARGET_DATA_NONE = 0 , CAMERA_TRACKING_TARGET_DATA_EMBEDDED = 1 , CAMERA_TRACKING_TARGET_DATA_RENDERED = 2 , CAMERA_TRACKING_TARGET_DATA_IN_STATUS = 4 , } impl CameraTrackingTargetData { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_TARGET_DATA_NONE ; } impl Default for CameraTrackingTargetData { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraMode { CAMERA_MODE_IMAGE = 0 , CAMERA_MODE_VIDEO = 1 , CAMERA_MODE_IMAGE_SURVEY = 2 , } impl CameraMode { pub const DEFAULT : Self = Self :: CAMERA_MODE_IMAGE ; } impl Default for CameraMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum EscConnectionType { ESC_CONNECTION_TYPE_PPM = 0 , ESC_CONNECTION_TYPE_SERIAL = 1 , ESC_CONNECTION_TYPE_ONESHOT = 2 , ESC_CONNECTION_TYPE_I2C = 3 , ESC_CONNECTION_TYPE_CAN = 4 , ESC_CONNECTION_TYPE_DSHOT = 5 , } impl EscConnectionType { pub const DEFAULT : Self = Self :: ESC_CONNECTION_TYPE_PPM ; } impl Default for EscConnectionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavcanNodeHealth { UAVCAN_NODE_HEALTH_OK = 0 , UAVCAN_NODE_HEALTH_WARNING = 1 , UAVCAN_NODE_HEALTH_ERROR = 2 , UAVCAN_NODE_HEALTH_CRITICAL = 3 , } impl UavcanNodeHealth { pub const DEFAULT : Self = Self :: UAVCAN_NODE_HEALTH_OK ; } impl Default for UavcanNodeHealth { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavParamExtType { MAV_PARAM_EXT_TYPE_UINT8 = 1 , MAV_PARAM_EXT_TYPE_INT8 = 2 , MAV_PARAM_EXT_TYPE_UINT16 = 3 , MAV_PARAM_EXT_TYPE_INT16 = 4 , MAV_PARAM_EXT_TYPE_UINT32 = 5 , MAV_PARAM_EXT_TYPE_INT32 = 6 , MAV_PARAM_EXT_TYPE_UINT64 = 7 , MAV_PARAM_EXT_TYPE_INT64 = 8 , MAV_PARAM_EXT_TYPE_REAL32 = 9 , MAV_PARAM_EXT_TYPE_REAL64 = 10 , MAV_PARAM_EXT_TYPE_CUSTOM = 11 , } impl MavParamExtType { pub const DEFAULT : Self = Self :: MAV_PARAM_EXT_TYPE_UINT8 ; } impl Default for MavParamExtType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidHorAcc { MAV_ODID_HOR_ACC_UNKNOWN = 0 , MAV_ODID_HOR_ACC_10NM = 1 , MAV_ODID_HOR_ACC_4NM = 2 , MAV_ODID_HOR_ACC_2NM = 3 , MAV_ODID_HOR_ACC_1NM = 4 , MAV_ODID_HOR_ACC_0_5NM = 5 , MAV_ODID_HOR_ACC_0_3NM = 6 , MAV_ODID_HOR_ACC_0_1NM = 7 , MAV_ODID_HOR_ACC_0_05NM = 8 , MAV_ODID_HOR_ACC_30_METER = 9 , MAV_ODID_HOR_ACC_10_METER = 10 , MAV_ODID_HOR_ACC_3_METER = 11 , MAV_ODID_HOR_ACC_1_METER = 12 , } impl MavOdidHorAcc { pub const DEFAULT : Self = Self :: MAV_ODID_HOR_ACC_UNKNOWN ; } impl Default for MavOdidHorAcc { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalManagerCapFlags : u32 { const GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT = 1 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_NEUTRAL = 2 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_AXIS = 4 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_FOLLOW = 8 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_LOCK = 16 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_AXIS = 32 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_FOLLOW = 64 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_LOCK = 128 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_AXIS = 256 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_FOLLOW = 512 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_LOCK = 1024 ; const GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_INFINITE_YAW = 2048 ; const GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME = 4096 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_RC_INPUTS = 8192 ; const GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_LOCAL = 65536 ; const GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_GLOBAL = 131072 ; } } impl GimbalManagerCapFlags { pub const DEFAULT : Self = Self :: GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT ; } impl Default for GimbalManagerCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMissionResult { MAV_MISSION_ACCEPTED = 0 , MAV_MISSION_ERROR = 1 , MAV_MISSION_UNSUPPORTED_FRAME = 2 , MAV_MISSION_UNSUPPORTED = 3 , MAV_MISSION_NO_SPACE = 4 , MAV_MISSION_INVALID = 5 , MAV_MISSION_INVALID_PARAM1 = 6 , MAV_MISSION_INVALID_PARAM2 = 7 , MAV_MISSION_INVALID_PARAM3 = 8 , MAV_MISSION_INVALID_PARAM4 = 9 , MAV_MISSION_INVALID_PARAM5_X = 10 , MAV_MISSION_INVALID_PARAM6_Y = 11 , MAV_MISSION_INVALID_PARAM7 = 12 , MAV_MISSION_INVALID_SEQUENCE = 13 , MAV_MISSION_DENIED = 14 , MAV_MISSION_OPERATION_CANCELLED = 15 , } impl MavMissionResult { pub const DEFAULT : Self = Self :: MAV_MISSION_ACCEPTED ; } impl Default for MavMissionResult { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CellularStatusFlag { CELLULAR_STATUS_FLAG_UNKNOWN = 0 , CELLULAR_STATUS_FLAG_FAILED = 1 , CELLULAR_STATUS_FLAG_INITIALIZING = 2 , CELLULAR_STATUS_FLAG_LOCKED = 3 , CELLULAR_STATUS_FLAG_DISABLED = 4 , CELLULAR_STATUS_FLAG_DISABLING = 5 , CELLULAR_STATUS_FLAG_ENABLING = 6 , CELLULAR_STATUS_FLAG_ENABLED = 7 , CELLULAR_STATUS_FLAG_SEARCHING = 8 , CELLULAR_STATUS_FLAG_REGISTERED = 9 , CELLULAR_STATUS_FLAG_DISCONNECTING = 10 , CELLULAR_STATUS_FLAG_CONNECTING = 11 , CELLULAR_STATUS_FLAG_CONNECTED = 12 , } impl CellularStatusFlag { pub const DEFAULT : Self = Self :: CELLULAR_STATUS_FLAG_UNKNOWN ; } impl Default for CellularStatusFlag { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavPowerStatus : u16 { const MAV_POWER_STATUS_BRICK_VALID = 1 ; const MAV_POWER_STATUS_SERVO_VALID = 2 ; const MAV_POWER_STATUS_USB_CONNECTED = 4 ; const MAV_POWER_STATUS_PERIPH_OVERCURRENT = 8 ; const MAV_POWER_STATUS_PERIPH_HIPOWER_OVERCURRENT = 16 ; const MAV_POWER_STATUS_CHANGED = 32 ; } } impl MavPowerStatus { pub const DEFAULT : Self = Self :: MAV_POWER_STATUS_BRICK_VALID ; } impl Default for MavPowerStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraTrackingMode { CAMERA_TRACKING_MODE_NONE = 0 , CAMERA_TRACKING_MODE_POINT = 1 , CAMERA_TRACKING_MODE_RECTANGLE = 2 , } impl CameraTrackingMode { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_MODE_NONE ; } impl Default for CameraTrackingMode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GpsInputIgnoreFlags : u16 { const GPS_INPUT_IGNORE_FLAG_ALT = 1 ; const GPS_INPUT_IGNORE_FLAG_HDOP = 2 ; const GPS_INPUT_IGNORE_FLAG_VDOP = 4 ; const GPS_INPUT_IGNORE_FLAG_VEL_HORIZ = 8 ; const GPS_INPUT_IGNORE_FLAG_VEL_VERT = 16 ; const GPS_INPUT_IGNORE_FLAG_SPEED_ACCURACY = 32 ; const GPS_INPUT_IGNORE_FLAG_HORIZONTAL_ACCURACY = 64 ; const GPS_INPUT_IGNORE_FLAG_VERTICAL_ACCURACY = 128 ; } } impl GpsInputIgnoreFlags { pub const DEFAULT : Self = Self :: GPS_INPUT_IGNORE_FLAG_ALT ; } impl Default for GpsInputIgnoreFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum VideoStreamType { VIDEO_STREAM_TYPE_RTSP = 0 , VIDEO_STREAM_TYPE_RTPUDP = 1 , VIDEO_STREAM_TYPE_TCP_MPEG = 2 , VIDEO_STREAM_TYPE_MPEG_TS_H264 = 3 , } impl VideoStreamType { pub const DEFAULT : Self = Self :: VIDEO_STREAM_TYPE_RTSP ; } impl Default for VideoStreamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FenceAction { FENCE_ACTION_NONE = 0 , FENCE_ACTION_GUIDED = 1 , FENCE_ACTION_REPORT = 2 , FENCE_ACTION_GUIDED_THR_PASS = 3 , FENCE_ACTION_RTL = 4 , FENCE_ACTION_HOLD = 5 , FENCE_ACTION_TERMINATE = 6 , FENCE_ACTION_LAND = 7 , } impl FenceAction { pub const DEFAULT : Self = Self :: FENCE_ACTION_NONE ; } impl Default for FenceAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum PrecisionLandMode { PRECISION_LAND_MODE_DISABLED = 0 , PRECISION_LAND_MODE_OPPORTUNISTIC = 1 , PRECISION_LAND_MODE_REQUIRED = 2 , } impl PrecisionLandMode { pub const DEFAULT : Self = Self :: PRECISION_LAND_MODE_DISABLED ; } impl Default for PrecisionLandMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavSensorOrientation { MAV_SENSOR_ROTATION_NONE = 0 , MAV_SENSOR_ROTATION_YAW_45 = 1 , MAV_SENSOR_ROTATION_YAW_90 = 2 , MAV_SENSOR_ROTATION_YAW_135 = 3 , MAV_SENSOR_ROTATION_YAW_180 = 4 , MAV_SENSOR_ROTATION_YAW_225 = 5 , MAV_SENSOR_ROTATION_YAW_270 = 6 , MAV_SENSOR_ROTATION_YAW_315 = 7 , MAV_SENSOR_ROTATION_ROLL_180 = 8 , MAV_SENSOR_ROTATION_ROLL_180_YAW_45 = 9 , MAV_SENSOR_ROTATION_ROLL_180_YAW_90 = 10 , MAV_SENSOR_ROTATION_ROLL_180_YAW_135 = 11 , MAV_SENSOR_ROTATION_PITCH_180 = 12 , MAV_SENSOR_ROTATION_ROLL_180_YAW_225 = 13 , MAV_SENSOR_ROTATION_ROLL_180_YAW_270 = 14 , MAV_SENSOR_ROTATION_ROLL_180_YAW_315 = 15 , MAV_SENSOR_ROTATION_ROLL_90 = 16 , MAV_SENSOR_ROTATION_ROLL_90_YAW_45 = 17 , MAV_SENSOR_ROTATION_ROLL_90_YAW_90 = 18 , MAV_SENSOR_ROTATION_ROLL_90_YAW_135 = 19 , MAV_SENSOR_ROTATION_ROLL_270 = 20 , MAV_SENSOR_ROTATION_ROLL_270_YAW_45 = 21 , MAV_SENSOR_ROTATION_ROLL_270_YAW_90 = 22 , MAV_SENSOR_ROTATION_ROLL_270_YAW_135 = 23 , MAV_SENSOR_ROTATION_PITCH_90 = 24 , MAV_SENSOR_ROTATION_PITCH_270 = 25 , MAV_SENSOR_ROTATION_PITCH_180_YAW_90 = 26 , MAV_SENSOR_ROTATION_PITCH_180_YAW_270 = 27 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_90 = 28 , MAV_SENSOR_ROTATION_ROLL_180_PITCH_90 = 29 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_90 = 30 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_180 = 31 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_180 = 32 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_270 = 33 , MAV_SENSOR_ROTATION_ROLL_180_PITCH_270 = 34 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_270 = 35 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_180_YAW_90 = 36 , MAV_SENSOR_ROTATION_ROLL_90_YAW_270 = 37 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_68_YAW_293 = 38 , MAV_SENSOR_ROTATION_PITCH_315 = 39 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_315 = 40 , MAV_SENSOR_ROTATION_CUSTOM = 100 , } impl MavSensorOrientation { pub const DEFAULT : Self = Self :: MAV_SENSOR_ROTATION_NONE ; } impl Default for MavSensorOrientation { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMissionType { MAV_MISSION_TYPE_MISSION = 0 , MAV_MISSION_TYPE_FENCE = 1 , MAV_MISSION_TYPE_RALLY = 2 , MAV_MISSION_TYPE_ALL = 255 , } impl MavMissionType { pub const DEFAULT : Self = Self :: MAV_MISSION_TYPE_MISSION ; } impl Default for MavMissionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavType { MAV_TYPE_GENERIC = 0 , MAV_TYPE_FIXED_WING = 1 , MAV_TYPE_QUADROTOR = 2 , MAV_TYPE_COAXIAL = 3 , MAV_TYPE_HELICOPTER = 4 , MAV_TYPE_ANTENNA_TRACKER = 5 , MAV_TYPE_GCS = 6 , MAV_TYPE_AIRSHIP = 7 , MAV_TYPE_FREE_BALLOON = 8 , MAV_TYPE_ROCKET = 9 , MAV_TYPE_GROUND_ROVER = 10 , MAV_TYPE_SURFACE_BOAT = 11 , MAV_TYPE_SUBMARINE = 12 , MAV_TYPE_HEXAROTOR = 13 , MAV_TYPE_OCTOROTOR = 14 , MAV_TYPE_TRICOPTER = 15 , MAV_TYPE_FLAPPING_WING = 16 , MAV_TYPE_KITE = 17 , MAV_TYPE_ONBOARD_CONTROLLER = 18 , MAV_TYPE_VTOL_TAILSITTER_DUOROTOR = 19 , MAV_TYPE_VTOL_TAILSITTER_QUADROTOR = 20 , MAV_TYPE_VTOL_TILTROTOR = 21 , MAV_TYPE_VTOL_FIXEDROTOR = 22 , MAV_TYPE_VTOL_TAILSITTER = 23 , MAV_TYPE_VTOL_TILTWING = 24 , MAV_TYPE_VTOL_RESERVED5 = 25 , MAV_TYPE_GIMBAL = 26 , MAV_TYPE_ADSB = 27 , MAV_TYPE_PARAFOIL = 28 , MAV_TYPE_DODECAROTOR = 29 , MAV_TYPE_CAMERA = 30 , MAV_TYPE_CHARGING_STATION = 31 , MAV_TYPE_FLARM = 32 , MAV_TYPE_SERVO = 33 , MAV_TYPE_ODID = 34 , MAV_TYPE_DECAROTOR = 35 , MAV_TYPE_BATTERY = 36 , MAV_TYPE_PARACHUTE = 37 , MAV_TYPE_LOG = 38 , MAV_TYPE_OSD = 39 , MAV_TYPE_IMU = 40 , MAV_TYPE_GPS = 41 , MAV_TYPE_WINCH = 42 , } impl MavType { pub const DEFAULT : Self = Self :: MAV_TYPE_GENERIC ; } impl Default for MavType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidOperatorLocationType { MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF = 0 , MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS = 1 , MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED = 2 , } impl MavOdidOperatorLocationType { pub const DEFAULT : Self = Self :: MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF ; } impl Default for MavOdidOperatorLocationType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavResult { MAV_RESULT_ACCEPTED = 0 , MAV_RESULT_TEMPORARILY_REJECTED = 1 , MAV_RESULT_DENIED = 2 , MAV_RESULT_UNSUPPORTED = 3 , MAV_RESULT_FAILED = 4 , MAV_RESULT_IN_PROGRESS = 5 , MAV_RESULT_CANCELLED = 6 , } impl MavResult { pub const DEFAULT : Self = Self :: MAV_RESULT_ACCEPTED ; } impl Default for MavResult { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MissionState { MISSION_STATE_UNKNOWN = 0 , MISSION_STATE_NO_MISSION = 1 , MISSION_STATE_NOT_STARTED = 2 , MISSION_STATE_ACTIVE = 3 , MISSION_STATE_PAUSED = 4 , MISSION_STATE_COMPLETE = 5 , } impl MissionState { pub const DEFAULT : Self = Self :: MISSION_STATE_UNKNOWN ; } impl Default for MissionState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum StorageStatus { STORAGE_STATUS_EMPTY = 0 , STORAGE_STATUS_UNFORMATTED = 1 , STORAGE_STATUS_READY = 2 , STORAGE_STATUS_NOT_SUPPORTED = 3 , } impl StorageStatus { pub const DEFAULT : Self = Self :: STORAGE_STATUS_EMPTY ; } impl Default for StorageStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavArmAuthDeniedReason { MAV_ARM_AUTH_DENIED_REASON_GENERIC = 0 , MAV_ARM_AUTH_DENIED_REASON_NONE = 1 , MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT = 2 , MAV_ARM_AUTH_DENIED_REASON_TIMEOUT = 3 , MAV_ARM_AUTH_DENIED_REASON_AIRSPACE_IN_USE = 4 , MAV_ARM_AUTH_DENIED_REASON_BAD_WEATHER = 5 , } impl MavArmAuthDeniedReason { pub const DEFAULT : Self = Self :: MAV_ARM_AUTH_DENIED_REASON_GENERIC ; } impl Default for MavArmAuthDeniedReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AutotuneAxis { AUTOTUNE_AXIS_DEFAULT = 0 , AUTOTUNE_AXIS_ROLL = 1 , AUTOTUNE_AXIS_PITCH = 2 , AUTOTUNE_AXIS_YAW = 4 , } impl AutotuneAxis { pub const DEFAULT : Self = Self :: AUTOTUNE_AXIS_DEFAULT ; } impl Default for AutotuneAxis { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HighresImuUpdatedFlags : u16 { const HIGHRES_IMU_UPDATED_NONE = 0 ; const HIGHRES_IMU_UPDATED_XACC = 1 ; const HIGHRES_IMU_UPDATED_YACC = 2 ; const HIGHRES_IMU_UPDATED_ZACC = 4 ; const HIGHRES_IMU_UPDATED_XGYRO = 8 ; const HIGHRES_IMU_UPDATED_YGYRO = 16 ; const HIGHRES_IMU_UPDATED_ZGYRO = 32 ; const HIGHRES_IMU_UPDATED_XMAG = 64 ; const HIGHRES_IMU_UPDATED_YMAG = 128 ; const HIGHRES_IMU_UPDATED_ZMAG = 256 ; const HIGHRES_IMU_UPDATED_ABS_PRESSURE = 512 ; const HIGHRES_IMU_UPDATED_DIFF_PRESSURE = 1024 ; const HIGHRES_IMU_UPDATED_PRESSURE_ALT = 2048 ; const HIGHRES_IMU_UPDATED_TEMPERATURE = 4096 ; const HIGHRES_IMU_UPDATED_ALL = 65535 ; } } impl HighresImuUpdatedFlags { pub const DEFAULT : Self = Self :: HIGHRES_IMU_UPDATED_NONE ; } impl Default for HighresImuUpdatedFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UtmFlightState { UTM_FLIGHT_STATE_UNKNOWN = 1 , UTM_FLIGHT_STATE_GROUND = 2 , UTM_FLIGHT_STATE_AIRBORNE = 3 , UTM_FLIGHT_STATE_EMERGENCY = 16 , UTM_FLIGHT_STATE_NOCTRL = 32 , } impl UtmFlightState { pub const DEFAULT : Self = Self :: UTM_FLIGHT_STATE_UNKNOWN ; } impl Default for UtmFlightState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavDoRepositionFlags { MAV_DO_REPOSITION_FLAGS_CHANGE_MODE = 1 , } impl MavDoRepositionFlags { pub const DEFAULT : Self = Self :: MAV_DO_REPOSITION_FLAGS_CHANGE_MODE ; } impl Default for MavDoRepositionFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidTimeAcc { MAV_ODID_TIME_ACC_UNKNOWN = 0 , MAV_ODID_TIME_ACC_0_1_SECOND = 1 , MAV_ODID_TIME_ACC_0_2_SECOND = 2 , MAV_ODID_TIME_ACC_0_3_SECOND = 3 , MAV_ODID_TIME_ACC_0_4_SECOND = 4 , MAV_ODID_TIME_ACC_0_5_SECOND = 5 , MAV_ODID_TIME_ACC_0_6_SECOND = 6 , MAV_ODID_TIME_ACC_0_7_SECOND = 7 , MAV_ODID_TIME_ACC_0_8_SECOND = 8 , MAV_ODID_TIME_ACC_0_9_SECOND = 9 , MAV_ODID_TIME_ACC_1_0_SECOND = 10 , MAV_ODID_TIME_ACC_1_1_SECOND = 11 , MAV_ODID_TIME_ACC_1_2_SECOND = 12 , MAV_ODID_TIME_ACC_1_3_SECOND = 13 , MAV_ODID_TIME_ACC_1_4_SECOND = 14 , MAV_ODID_TIME_ACC_1_5_SECOND = 15 , } impl MavOdidTimeAcc { pub const DEFAULT : Self = Self :: MAV_ODID_TIME_ACC_UNKNOWN ; } impl Default for MavOdidTimeAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryMode { MAV_BATTERY_MODE_UNKNOWN = 0 , MAV_BATTERY_MODE_AUTO_DISCHARGING = 1 , MAV_BATTERY_MODE_HOT_SWAP = 2 , } impl MavBatteryMode { pub const DEFAULT : Self = Self :: MAV_BATTERY_MODE_UNKNOWN ; } impl Default for MavBatteryMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavSysStatusSensorExtended { MAV_SYS_STATUS_RECOVERY_SYSTEM = 1 , } impl MavSysStatusSensorExtended { pub const DEFAULT : Self = Self :: MAV_SYS_STATUS_RECOVERY_SYSTEM ; } impl Default for MavSysStatusSensorExtended { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavLandedState { MAV_LANDED_STATE_UNDEFINED = 0 , MAV_LANDED_STATE_ON_GROUND = 1 , MAV_LANDED_STATE_IN_AIR = 2 , MAV_LANDED_STATE_TAKEOFF = 3 , MAV_LANDED_STATE_LANDING = 4 , } impl MavLandedState { pub const DEFAULT : Self = Self :: MAV_LANDED_STATE_UNDEFINED ; } impl Default for MavLandedState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryFault { MAV_BATTERY_FAULT_DEEP_DISCHARGE = 1 , MAV_BATTERY_FAULT_SPIKES = 2 , MAV_BATTERY_FAULT_CELL_FAIL = 4 , MAV_BATTERY_FAULT_OVER_CURRENT = 8 , MAV_BATTERY_FAULT_OVER_TEMPERATURE = 16 , MAV_BATTERY_FAULT_UNDER_TEMPERATURE = 32 , MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE = 64 , MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE = 128 , BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION = 256 , } impl MavBatteryFault { pub const DEFAULT : Self = Self :: MAV_BATTERY_FAULT_DEEP_DISCHARGE ; } impl Default for MavBatteryFault { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum SetFocusType { FOCUS_TYPE_STEP = 0 , FOCUS_TYPE_CONTINUOUS = 1 , FOCUS_TYPE_RANGE = 2 , FOCUS_TYPE_METERS = 3 , FOCUS_TYPE_AUTO = 4 , FOCUS_TYPE_AUTO_SINGLE = 5 , FOCUS_TYPE_AUTO_CONTINUOUS = 6 , } impl SetFocusType { pub const DEFAULT : Self = Self :: FOCUS_TYPE_STEP ; } impl Default for SetFocusType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidHeightRef { MAV_ODID_HEIGHT_REF_OVER_TAKEOFF = 0 , MAV_ODID_HEIGHT_REF_OVER_GROUND = 1 , } impl MavOdidHeightRef { pub const DEFAULT : Self = Self :: MAV_ODID_HEIGHT_REF_OVER_TAKEOFF ; } impl Default for MavOdidHeightRef { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HilSensorUpdatedFlags : u32 { const HIL_SENSOR_UPDATED_NONE = 0 ; const HIL_SENSOR_UPDATED_XACC = 1 ; const HIL_SENSOR_UPDATED_YACC = 2 ; const HIL_SENSOR_UPDATED_ZACC = 4 ; const HIL_SENSOR_UPDATED_XGYRO = 8 ; const HIL_SENSOR_UPDATED_YGYRO = 16 ; const HIL_SENSOR_UPDATED_ZGYRO = 32 ; const HIL_SENSOR_UPDATED_XMAG = 64 ; const HIL_SENSOR_UPDATED_YMAG = 128 ; const HIL_SENSOR_UPDATED_ZMAG = 256 ; const HIL_SENSOR_UPDATED_ABS_PRESSURE = 512 ; const HIL_SENSOR_UPDATED_DIFF_PRESSURE = 1024 ; const HIL_SENSOR_UPDATED_PRESSURE_ALT = 2048 ; const HIL_SENSOR_UPDATED_TEMPERATURE = 4096 ; const HIL_SENSOR_UPDATED_RESET = 2147483648 ; } } impl HilSensorUpdatedFlags { pub const DEFAULT : Self = Self :: HIL_SENSOR_UPDATED_NONE ; } impl Default for HilSensorUpdatedFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MotorTestOrder { MOTOR_TEST_ORDER_DEFAULT = 0 , MOTOR_TEST_ORDER_SEQUENCE = 1 , MOTOR_TEST_ORDER_BOARD = 2 , } impl MotorTestOrder { pub const DEFAULT : Self = Self :: MOTOR_TEST_ORDER_DEFAULT ; } impl Default for MotorTestOrder { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EscFailureFlags : u16 { const ESC_FAILURE_NONE = 0 ; const ESC_FAILURE_OVER_CURRENT = 1 ; const ESC_FAILURE_OVER_VOLTAGE = 2 ; const ESC_FAILURE_OVER_TEMPERATURE = 4 ; const ESC_FAILURE_OVER_RPM = 8 ; const ESC_FAILURE_INCONSISTENT_CMD = 16 ; const ESC_FAILURE_MOTOR_STUCK = 32 ; const ESC_FAILURE_GENERIC = 64 ; } } impl EscFailureFlags { pub const DEFAULT : Self = Self :: ESC_FAILURE_NONE ; } impl Default for EscFailureFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_CLEAR_ALL_DATA { pub target_system : u8 , pub target_component : u8 , } impl MISSION_CLEAR_ALL_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_CLEAR_ALL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_CLEAR_ALL_DATA { type Message = MavMessage ; const ID : u32 = 45u32 ; const NAME : & 'static str = "MISSION_CLEAR_ALL" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_INT_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl COMMAND_INT_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for COMMAND_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_INT_DATA { type Message = MavMessage ; const ID : u32 = 75u32 ; const NAME : & 'static str = "COMMAND_INT" ; const EXTRA_CRC : u8 = 158u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COLLISION_DATA { pub id : u32 , pub time_to_minimum_delta : f32 , pub altitude_minimum_delta : f32 , pub horizontal_minimum_delta : f32 , pub src : MavCollisionSrc , pub action : MavCollisionAction , pub threat_level : MavCollisionThreatLevel , } impl COLLISION_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { id : 0_u32 , time_to_minimum_delta : 0.0_f32 , altitude_minimum_delta : 0.0_f32 , horizontal_minimum_delta : 0.0_f32 , src : MavCollisionSrc :: DEFAULT , action : MavCollisionAction :: DEFAULT , threat_level : MavCollisionThreatLevel :: DEFAULT , } ; } impl Default for COLLISION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COLLISION_DATA { type Message = MavMessage ; const ID : u32 = 247u32 ; const NAME : & 'static str = "COLLISION" ; const EXTRA_CRC : u8 = 81u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . time_to_minimum_delta = buf . get_f32_le () ; __struct . altitude_minimum_delta = buf . get_f32_le () ; __struct . horizontal_minimum_delta = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . src = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionSrc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . action = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionAction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . threat_level = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionThreatLevel" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_f32_le (self . time_to_minimum_delta) ; __tmp . put_f32_le (self . altitude_minimum_delta) ; __tmp . put_f32_le (self . horizontal_minimum_delta) ; __tmp . put_u8 (self . src as u8) ; __tmp . put_u8 (self . action as u8) ; __tmp . put_u8 (self . threat_level as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_RAW_DATA { pub time_boot_ms : u32 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub port : u8 , pub rssi : u8 , } impl RC_CHANNELS_RAW_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , port : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_RAW_DATA { type Message = MavMessage ; const ID : u32 = 35u32 ; const NAME : & 'static str = "RC_CHANNELS_RAW" ; const EXTRA_CRC : u8 = 244u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . port = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u8 (self . port) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPTICAL_FLOW_RAD_DATA { pub time_usec : u64 , pub integration_time_us : u32 , pub integrated_x : f32 , pub integrated_y : f32 , pub integrated_xgyro : f32 , pub integrated_ygyro : f32 , pub integrated_zgyro : f32 , pub time_delta_distance_us : u32 , pub distance : f32 , pub temperature : i16 , pub sensor_id : u8 , pub quality : u8 , } impl OPTICAL_FLOW_RAD_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , integration_time_us : 0_u32 , integrated_x : 0.0_f32 , integrated_y : 0.0_f32 , integrated_xgyro : 0.0_f32 , integrated_ygyro : 0.0_f32 , integrated_zgyro : 0.0_f32 , time_delta_distance_us : 0_u32 , distance : 0.0_f32 , temperature : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for OPTICAL_FLOW_RAD_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPTICAL_FLOW_RAD_DATA { type Message = MavMessage ; const ID : u32 = 106u32 ; const NAME : & 'static str = "OPTICAL_FLOW_RAD" ; const EXTRA_CRC : u8 = 138u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . integration_time_us = buf . get_u32_le () ; __struct . integrated_x = buf . get_f32_le () ; __struct . integrated_y = buf . get_f32_le () ; __struct . integrated_xgyro = buf . get_f32_le () ; __struct . integrated_ygyro = buf . get_f32_le () ; __struct . integrated_zgyro = buf . get_f32_le () ; __struct . time_delta_distance_us = buf . get_u32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . integration_time_us) ; __tmp . put_f32_le (self . integrated_x) ; __tmp . put_f32_le (self . integrated_y) ; __tmp . put_f32_le (self . integrated_xgyro) ; __tmp . put_f32_le (self . integrated_ygyro) ; __tmp . put_f32_le (self . integrated_zgyro) ; __tmp . put_u32_le (self . time_delta_distance_us) ; __tmp . put_f32_le (self . distance) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_ACK_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOGGING_ACK_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOGGING_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_ACK_DATA { type Message = MavMessage ; const ID : u32 = 268u32 ; const NAME : & 'static str = "LOGGING_ACK" ; const EXTRA_CRC : u8 = 14u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIFI_CONFIG_AP_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub ssid : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub password : [u8 ; 64] , } impl WIFI_CONFIG_AP_DATA { pub const ENCODED_LEN : usize = 96usize ; pub const DEFAULT : Self = Self { ssid : [0_u8 ; 32usize] , password : [0_u8 ; 64usize] , } ; } impl Default for WIFI_CONFIG_AP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIFI_CONFIG_AP_DATA { type Message = MavMessage ; const ID : u32 = 299u32 ; const NAME : & 'static str = "WIFI_CONFIG_AP" ; const EXTRA_CRC : u8 = 19u8 ; const ENCODED_LEN : usize = 96usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . ssid { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . password { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . ssid { __tmp . put_u8 (* val) ; } for val in & self . password { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_WRITE_PARTIAL_LIST_DATA { pub start_index : i16 , pub end_index : i16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_WRITE_PARTIAL_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start_index : 0_i16 , end_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_WRITE_PARTIAL_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_WRITE_PARTIAL_LIST_DATA { type Message = MavMessage ; const ID : u32 = 38u32 ; const NAME : & 'static str = "MISSION_WRITE_PARTIAL_LIST" ; const EXTRA_CRC : u8 = 9u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start_index = buf . get_i16_le () ; __struct . end_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . start_index) ; __tmp . put_i16_le (self . end_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MANUAL_CONTROL_DATA { pub x : i16 , pub y : i16 , pub z : i16 , pub r : i16 , pub buttons : u16 , pub target : u8 , } impl MANUAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 11usize ; pub const DEFAULT : Self = Self { x : 0_i16 , y : 0_i16 , z : 0_i16 , r : 0_i16 , buttons : 0_u16 , target : 0_u8 , } ; } impl Default for MANUAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MANUAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 69u32 ; const NAME : & 'static str = "MANUAL_CONTROL" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 11usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . x = buf . get_i16_le () ; __struct . y = buf . get_i16_le () ; __struct . z = buf . get_i16_le () ; __struct . r = buf . get_i16_le () ; __struct . buttons = buf . get_u16_le () ; __struct . target = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . x) ; __tmp . put_i16_le (self . y) ; __tmp . put_i16_le (self . z) ; __tmp . put_i16_le (self . r) ; __tmp . put_u16_le (self . buttons) ; __tmp . put_u8 (self . target) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SMART_BATTERY_INFO_DATA { pub capacity_full_specification : i32 , pub capacity_full : i32 , pub cycle_count : u16 , pub weight : u16 , pub discharge_minimum_voltage : u16 , pub charging_minimum_voltage : u16 , pub resting_minimum_voltage : u16 , pub id : u8 , pub battery_function : MavBatteryFunction , pub mavtype : MavBatteryType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub serial_number : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub device_name : [u8 ; 50] , } impl SMART_BATTERY_INFO_DATA { pub const ENCODED_LEN : usize = 87usize ; pub const DEFAULT : Self = Self { capacity_full_specification : 0_i32 , capacity_full : 0_i32 , cycle_count : 0_u16 , weight : 0_u16 , discharge_minimum_voltage : 0_u16 , charging_minimum_voltage : 0_u16 , resting_minimum_voltage : 0_u16 , id : 0_u8 , battery_function : MavBatteryFunction :: DEFAULT , mavtype : MavBatteryType :: DEFAULT , serial_number : [0_u8 ; 16usize] , device_name : [0_u8 ; 50usize] , } ; } impl Default for SMART_BATTERY_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SMART_BATTERY_INFO_DATA { type Message = MavMessage ; const ID : u32 = 370u32 ; const NAME : & 'static str = "SMART_BATTERY_INFO" ; const EXTRA_CRC : u8 = 75u8 ; const ENCODED_LEN : usize = 87usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . capacity_full_specification = buf . get_i32_le () ; __struct . capacity_full = buf . get_i32_le () ; __struct . cycle_count = buf . get_u16_le () ; __struct . weight = buf . get_u16_le () ; __struct . discharge_minimum_voltage = buf . get_u16_le () ; __struct . charging_minimum_voltage = buf . get_u16_le () ; __struct . resting_minimum_voltage = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . battery_function = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryFunction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryType" , value : tmp as u32 }) ? ; for v in & mut __struct . serial_number { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . device_name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . capacity_full_specification) ; __tmp . put_i32_le (self . capacity_full) ; __tmp . put_u16_le (self . cycle_count) ; __tmp . put_u16_le (self . weight) ; __tmp . put_u16_le (self . discharge_minimum_voltage) ; __tmp . put_u16_le (self . charging_minimum_voltage) ; __tmp . put_u16_le (self . resting_minimum_voltage) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . battery_function as u8) ; __tmp . put_u8 (self . mavtype as u8) ; for val in & self . serial_number { __tmp . put_u8 (* val) ; } for val in & self . device_name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_CANCEL_DATA { pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , } impl COMMAND_CANCEL_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for COMMAND_CANCEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_CANCEL_DATA { type Message = MavMessage ; const ID : u32 = 80u32 ; const NAME : & 'static str = "COMMAND_CANCEL" ; const EXTRA_CRC : u8 = 14u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_ENTRY_DATA { pub time_utc : u32 , pub size : u32 , pub id : u16 , pub num_logs : u16 , pub last_log_num : u16 , } impl LOG_ENTRY_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_utc : 0_u32 , size : 0_u32 , id : 0_u16 , num_logs : 0_u16 , last_log_num : 0_u16 , } ; } impl Default for LOG_ENTRY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_ENTRY_DATA { type Message = MavMessage ; const ID : u32 = 118u32 ; const NAME : & 'static str = "LOG_ENTRY" ; const EXTRA_CRC : u8 = 56u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_utc = buf . get_u32_le () ; __struct . size = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . num_logs = buf . get_u16_le () ; __struct . last_log_num = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_utc) ; __tmp . put_u32_le (self . size) ; __tmp . put_u16_le (self . id) ; __tmp . put_u16_le (self . num_logs) ; __tmp . put_u16_le (self . last_log_num) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_AUTHENTICATION_DATA { pub timestamp : u32 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub authentication_type : MavOdidAuthType , pub data_page : u8 , pub last_page_index : u8 , pub length : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub authentication_data : [u8 ; 23] , } impl OPEN_DRONE_ID_AUTHENTICATION_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { timestamp : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , authentication_type : MavOdidAuthType :: DEFAULT , data_page : 0_u8 , last_page_index : 0_u8 , length : 0_u8 , authentication_data : [0_u8 ; 23usize] , } ; } impl Default for OPEN_DRONE_ID_AUTHENTICATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_AUTHENTICATION_DATA { type Message = MavMessage ; const ID : u32 = 12902u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_AUTHENTICATION" ; const EXTRA_CRC : u8 = 140u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . authentication_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidAuthType" , value : tmp as u32 }) ? ; __struct . data_page = buf . get_u8 () ; __struct . last_page_index = buf . get_u8 () ; __struct . length = buf . get_u8 () ; for v in & mut __struct . authentication_data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . authentication_type as u8) ; __tmp . put_u8 (self . data_page) ; __tmp . put_u8 (self . last_page_index) ; __tmp . put_u8 (self . length) ; for val in & self . authentication_data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE2_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE2_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE2_DATA { type Message = MavMessage ; const ID : u32 = 137u32 ; const NAME : & 'static str = "SCALED_PRESSURE2" ; const EXTRA_CRC : u8 = 195u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRIGGER_DATA { pub time_usec : u64 , pub seq : u32 , } impl CAMERA_TRIGGER_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , seq : 0_u32 , } ; } impl Default for CAMERA_TRIGGER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRIGGER_DATA { type Message = MavMessage ; const ID : u32 = 112u32 ; const NAME : & 'static str = "CAMERA_TRIGGER" ; const EXTRA_CRC : u8 = 174u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . seq = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_HOME_POSITION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub approach_x : f32 , pub approach_y : f32 , pub approach_z : f32 , pub target_system : u8 , } impl SET_HOME_POSITION_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , approach_x : 0.0_f32 , approach_y : 0.0_f32 , approach_z : 0.0_f32 , target_system : 0_u8 , } ; } impl Default for SET_HOME_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_HOME_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 243u32 ; const NAME : & 'static str = "SET_HOME_POSITION" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . approach_x = buf . get_f32_le () ; __struct . approach_y = buf . get_f32_le () ; __struct . approach_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . approach_x) ; __tmp . put_f32_le (self . approach_y) ; __tmp . put_f32_le (self . approach_z) ; __tmp . put_u8 (self . target_system) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_IMU_DATA { pub time_usec : u64 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl RAW_IMU_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for RAW_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_IMU_DATA { type Message = MavMessage ; const ID : u32 = 27u32 ; const NAME : & 'static str = "RAW_IMU" ; const EXTRA_CRC : u8 = 144u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SAFETY_SET_ALLOWED_AREA_DATA { pub p1x : f32 , pub p1y : f32 , pub p1z : f32 , pub p2x : f32 , pub p2y : f32 , pub p2z : f32 , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , } impl SAFETY_SET_ALLOWED_AREA_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { p1x : 0.0_f32 , p1y : 0.0_f32 , p1z : 0.0_f32 , p2x : 0.0_f32 , p2y : 0.0_f32 , p2z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , } ; } impl Default for SAFETY_SET_ALLOWED_AREA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SAFETY_SET_ALLOWED_AREA_DATA { type Message = MavMessage ; const ID : u32 = 54u32 ; const NAME : & 'static str = "SAFETY_SET_ALLOWED_AREA" ; const EXTRA_CRC : u8 = 15u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . p1x = buf . get_f32_le () ; __struct . p1y = buf . get_f32_le () ; __struct . p1z = buf . get_f32_le () ; __struct . p2x = buf . get_f32_le () ; __struct . p2y = buf . get_f32_le () ; __struct . p2z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . p1x) ; __tmp . put_f32_le (self . p1y) ; __tmp . put_f32_le (self . p1z) ; __tmp . put_f32_le (self . p2x) ; __tmp . put_f32_le (self . p2y) ; __tmp . put_f32_le (self . p2z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPONENT_METADATA_DATA { pub time_boot_ms : u32 , pub file_crc : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 100] , } impl COMPONENT_METADATA_DATA { pub const ENCODED_LEN : usize = 108usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , file_crc : 0_u32 , uri : [0_u8 ; 100usize] , } ; } impl Default for COMPONENT_METADATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPONENT_METADATA_DATA { type Message = MavMessage ; const ID : u32 = 397u32 ; const NAME : & 'static str = "COMPONENT_METADATA" ; const EXTRA_CRC : u8 = 182u8 ; const ENCODED_LEN : usize = 108usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . file_crc = buf . get_u32_le () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . file_crc) ; for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_INFORMATION_DATA { pub time_boot_ms : u32 , pub cap_flags : GimbalManagerCapFlags , pub roll_min : f32 , pub roll_max : f32 , pub pitch_min : f32 , pub pitch_max : f32 , pub yaw_min : f32 , pub yaw_max : f32 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_INFORMATION_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , cap_flags : GimbalManagerCapFlags :: DEFAULT , roll_min : 0.0_f32 , roll_max : 0.0_f32 , pitch_min : 0.0_f32 , pitch_max : 0.0_f32 , yaw_min : 0.0_f32 , yaw_max : 0.0_f32 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 280u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_INFORMATION" ; const EXTRA_CRC : u8 = 70u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u32_le () ; __struct . cap_flags = GimbalManagerCapFlags :: from_bits (tmp & GimbalManagerCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalManagerCapFlags" , value : tmp as u32 }) ? ; __struct . roll_min = buf . get_f32_le () ; __struct . roll_max = buf . get_f32_le () ; __struct . pitch_min = buf . get_f32_le () ; __struct . pitch_max = buf . get_f32_le () ; __struct . yaw_min = buf . get_f32_le () ; __struct . yaw_max = buf . get_f32_le () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . cap_flags . bits ()) ; __tmp . put_f32_le (self . roll_min) ; __tmp . put_f32_le (self . roll_max) ; __tmp . put_f32_le (self . pitch_min) ; __tmp . put_f32_le (self . pitch_max) ; __tmp . put_f32_le (self . yaw_min) ; __tmp . put_f32_le (self . yaw_max) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ACTUATOR_CONTROL_TARGET_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 8] , pub group_mlx : u8 , } impl ACTUATOR_CONTROL_TARGET_DATA { pub const ENCODED_LEN : usize = 41usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , controls : [0.0_f32 ; 8usize] , group_mlx : 0_u8 , } ; } impl Default for ACTUATOR_CONTROL_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ACTUATOR_CONTROL_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 140u32 ; const NAME : & 'static str = "ACTUATOR_CONTROL_TARGET" ; const EXTRA_CRC : u8 = 181u8 ; const ENCODED_LEN : usize = 41usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } __struct . group_mlx = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . group_mlx) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_CURRENT_DATA { pub seq : u16 , } impl MISSION_CURRENT_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , } ; } impl Default for MISSION_CURRENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_CURRENT_DATA { type Message = MavMessage ; const ID : u32 = 42u32 ; const NAME : & 'static str = "MISSION_CURRENT" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_END_DATA { pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_END_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_END_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_END_DATA { type Message = MavMessage ; const ID : u32 = 122u32 ; const NAME : & 'static str = "LOG_REQUEST_END" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FILE_TRANSFER_PROTOCOL_DATA { pub target_network : u8 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 251] , } impl FILE_TRANSFER_PROTOCOL_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { target_network : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , payload : [0_u8 ; 251usize] , } ; } impl Default for FILE_TRANSFER_PROTOCOL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FILE_TRANSFER_PROTOCOL_DATA { type Message = MavMessage ; const ID : u32 = 110u32 ; const NAME : & 'static str = "FILE_TRANSFER_PROTOCOL" ; const EXTRA_CRC : u8 = 84u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_network = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_network) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BATTERY_STATUS_DATA { pub current_consumed : i32 , pub energy_consumed : i32 , pub temperature : i16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltages : [u16 ; 10] , pub current_battery : i16 , pub id : u8 , pub battery_function : MavBatteryFunction , pub mavtype : MavBatteryType , pub battery_remaining : i8 , } impl BATTERY_STATUS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { current_consumed : 0_i32 , energy_consumed : 0_i32 , temperature : 0_i16 , voltages : [0_u16 ; 10usize] , current_battery : 0_i16 , id : 0_u8 , battery_function : MavBatteryFunction :: DEFAULT , mavtype : MavBatteryType :: DEFAULT , battery_remaining : 0_i8 , } ; } impl Default for BATTERY_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BATTERY_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 147u32 ; const NAME : & 'static str = "BATTERY_STATUS" ; const EXTRA_CRC : u8 = 154u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . current_consumed = buf . get_i32_le () ; __struct . energy_consumed = buf . get_i32_le () ; __struct . temperature = buf . get_i16_le () ; for v in & mut __struct . voltages { let val = buf . get_u16_le () ; * v = val ; } __struct . current_battery = buf . get_i16_le () ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . battery_function = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryFunction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryType" , value : tmp as u32 }) ? ; __struct . battery_remaining = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . current_consumed) ; __tmp . put_i32_le (self . energy_consumed) ; __tmp . put_i16_le (self . temperature) ; for val in & self . voltages { __tmp . put_u16_le (* val) ; } __tmp . put_i16_le (self . current_battery) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . battery_function as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_i8 (self . battery_remaining) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LANDING_TARGET_DATA { pub time_usec : u64 , pub angle_x : f32 , pub angle_y : f32 , pub distance : f32 , pub size_x : f32 , pub size_y : f32 , pub target_num : u8 , pub frame : MavFrame , } impl LANDING_TARGET_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , angle_x : 0.0_f32 , angle_y : 0.0_f32 , distance : 0.0_f32 , size_x : 0.0_f32 , size_y : 0.0_f32 , target_num : 0_u8 , frame : MavFrame :: DEFAULT , } ; } impl Default for LANDING_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LANDING_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 149u32 ; const NAME : & 'static str = "LANDING_TARGET" ; const EXTRA_CRC : u8 = 200u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . angle_x = buf . get_f32_le () ; __struct . angle_y = buf . get_f32_le () ; __struct . distance = buf . get_f32_le () ; __struct . size_x = buf . get_f32_le () ; __struct . size_y = buf . get_f32_le () ; __struct . target_num = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . angle_x) ; __tmp . put_f32_le (self . angle_y) ; __tmp . put_f32_le (self . distance) ; __tmp . put_f32_le (self . size_x) ; __tmp . put_f32_le (self . size_y) ; __tmp . put_u8 (self . target_num) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MESSAGE_INTERVAL_DATA { pub interval_us : i32 , pub message_id : u16 , } impl MESSAGE_INTERVAL_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { interval_us : 0_i32 , message_id : 0_u16 , } ; } impl Default for MESSAGE_INTERVAL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MESSAGE_INTERVAL_DATA { type Message = MavMessage ; const ID : u32 = 244u32 ; const NAME : & 'static str = "MESSAGE_INTERVAL" ; const EXTRA_CRC : u8 = 95u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . interval_us = buf . get_i32_le () ; __struct . message_id = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . interval_us) ; __tmp . put_u16_le (self . message_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WHEEL_DISTANCE_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub distance : [f64 ; 16] , pub count : u8 , } impl WHEEL_DISTANCE_DATA { pub const ENCODED_LEN : usize = 137usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , distance : [0.0_f64 ; 16usize] , count : 0_u8 , } ; } impl Default for WHEEL_DISTANCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WHEEL_DISTANCE_DATA { type Message = MavMessage ; const ID : u32 = 9000u32 ; const NAME : & 'static str = "WHEEL_DISTANCE" ; const EXTRA_CRC : u8 = 113u8 ; const ENCODED_LEN : usize = 137usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . distance { let val = buf . get_f64_le () ; * v = val ; } __struct . count = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . distance { __tmp . put_f64_le (* val) ; } __tmp . put_u8 (self . count) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_COUNT_DATA { pub count : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_COUNT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { count : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_COUNT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_COUNT_DATA { type Message = MavMessage ; const ID : u32 = 44u32 ; const NAME : & 'static str = "MISSION_COUNT" ; const EXTRA_CRC : u8 = 221u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . count = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . count) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { pub time_boot_us : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub q_estimated_delay_us : u32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub v_estimated_delay_us : u32 , pub feed_forward_angular_velocity_z : f32 , pub estimator_status : EstimatorStatusFlags , pub target_system : u8 , pub target_component : u8 , pub landed_state : MavLandedState , } impl AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_us : 0_u64 , q : [0.0_f32 ; 4usize] , q_estimated_delay_us : 0_u32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , v_estimated_delay_us : 0_u32 , feed_forward_angular_velocity_z : 0.0_f32 , estimator_status : EstimatorStatusFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , landed_state : MavLandedState :: DEFAULT , } ; } impl Default for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { type Message = MavMessage ; const ID : u32 = 286u32 ; const NAME : & 'static str = "AUTOPILOT_STATE_FOR_GIMBAL_DEVICE" ; const EXTRA_CRC : u8 = 210u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_us = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . q_estimated_delay_us = buf . get_u32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . v_estimated_delay_us = buf . get_u32_le () ; __struct . feed_forward_angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . estimator_status = EstimatorStatusFlags :: from_bits (tmp & EstimatorStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EstimatorStatusFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_boot_us) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_u32_le (self . q_estimated_delay_us) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_u32_le (self . v_estimated_delay_us) ; __tmp . put_f32_le (self . feed_forward_angular_velocity_z) ; __tmp . put_u16_le (self . estimator_status . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . landed_state as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CHANGE_OPERATOR_CONTROL_DATA { pub target_system : u8 , pub control_request : u8 , pub version : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub passkey : [u8 ; 25] , } impl CHANGE_OPERATOR_CONTROL_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , control_request : 0_u8 , version : 0_u8 , passkey : [0_u8 ; 25usize] , } ; } impl Default for CHANGE_OPERATOR_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CHANGE_OPERATOR_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 5u32 ; const NAME : & 'static str = "CHANGE_OPERATOR_CONTROL" ; const EXTRA_CRC : u8 = 217u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . control_request = buf . get_u8 () ; __struct . version = buf . get_u8 () ; for v in & mut __struct . passkey { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . control_request) ; __tmp . put_u8 (self . version) ; for val in & self . passkey { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_STATE_DATA { pub time_usec : u64 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , } impl HIL_STATE_DATA { pub const ENCODED_LEN : usize = 56usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , } ; } impl Default for HIL_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_STATE_DATA { type Message = MavMessage ; const ID : u32 = 90u32 ; const NAME : & 'static str = "HIL_STATE" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 56usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_SENSOR_DATA { pub time_usec : u64 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub xmag : f32 , pub ymag : f32 , pub zmag : f32 , pub abs_pressure : f32 , pub diff_pressure : f32 , pub pressure_alt : f32 , pub temperature : f32 , pub fields_updated : HilSensorUpdatedFlags , } impl HIL_SENSOR_DATA { pub const ENCODED_LEN : usize = 64usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , xmag : 0.0_f32 , ymag : 0.0_f32 , zmag : 0.0_f32 , abs_pressure : 0.0_f32 , diff_pressure : 0.0_f32 , pressure_alt : 0.0_f32 , temperature : 0.0_f32 , fields_updated : HilSensorUpdatedFlags :: DEFAULT , } ; } impl Default for HIL_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 107u32 ; const NAME : & 'static str = "HIL_SENSOR" ; const EXTRA_CRC : u8 = 108u8 ; const ENCODED_LEN : usize = 64usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . xmag = buf . get_f32_le () ; __struct . ymag = buf . get_f32_le () ; __struct . zmag = buf . get_f32_le () ; __struct . abs_pressure = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . pressure_alt = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . fields_updated = HilSensorUpdatedFlags :: from_bits (tmp & HilSensorUpdatedFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HilSensorUpdatedFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . xmag) ; __tmp . put_f32_le (self . ymag) ; __tmp . put_f32_le (self . zmag) ; __tmp . put_f32_le (self . abs_pressure) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . pressure_alt) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u32_le (self . fields_updated . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_REQUEST_READ_DATA { pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , } impl PARAM_EXT_REQUEST_READ_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , } ; } impl Default for PARAM_EXT_REQUEST_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_REQUEST_READ_DATA { type Message = MavMessage ; const ID : u32 = 320u32 ; const NAME : & 'static str = "PARAM_EXT_REQUEST_READ" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE_DATA { type Message = MavMessage ; const ID : u32 = 29u32 ; const NAME : & 'static str = "SCALED_PRESSURE" ; const EXTRA_CRC : u8 = 115u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_GPS_GLOBAL_ORIGIN_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub target_system : u8 , } impl SET_GPS_GLOBAL_ORIGIN_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , target_system : 0_u8 , } ; } impl Default for SET_GPS_GLOBAL_ORIGIN_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_GPS_GLOBAL_ORIGIN_DATA { type Message = MavMessage ; const ID : u32 = 48u32 ; const NAME : & 'static str = "SET_GPS_GLOBAL_ORIGIN" ; const EXTRA_CRC : u8 = 41u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . target_system = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_u8 (self . target_system) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ENCAPSULATED_DATA_DATA { pub seqnr : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 253] , } impl ENCAPSULATED_DATA_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { seqnr : 0_u16 , data : [0_u8 ; 253usize] , } ; } impl Default for ENCAPSULATED_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ENCAPSULATED_DATA_DATA { type Message = MavMessage ; const ID : u32 = 131u32 ; const NAME : & 'static str = "ENCAPSULATED_DATA" ; const EXTRA_CRC : u8 = 223u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seqnr = buf . get_u16_le () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seqnr) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPONENT_INFORMATION_DATA { pub time_boot_ms : u32 , pub general_metadata_file_crc : u32 , pub peripherals_metadata_file_crc : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub general_metadata_uri : [u8 ; 100] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub peripherals_metadata_uri : [u8 ; 100] , } impl COMPONENT_INFORMATION_DATA { pub const ENCODED_LEN : usize = 212usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , general_metadata_file_crc : 0_u32 , peripherals_metadata_file_crc : 0_u32 , general_metadata_uri : [0_u8 ; 100usize] , peripherals_metadata_uri : [0_u8 ; 100usize] , } ; } impl Default for COMPONENT_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPONENT_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 395u32 ; const NAME : & 'static str = "COMPONENT_INFORMATION" ; const EXTRA_CRC : u8 = 0u8 ; const ENCODED_LEN : usize = 212usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . general_metadata_file_crc = buf . get_u32_le () ; __struct . peripherals_metadata_file_crc = buf . get_u32_le () ; for v in & mut __struct . general_metadata_uri { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . peripherals_metadata_uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . general_metadata_file_crc) ; __tmp . put_u32_le (self . peripherals_metadata_file_crc) ; for val in & self . general_metadata_uri { __tmp . put_u8 (* val) ; } for val in & self . peripherals_metadata_uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIDEO_STREAM_STATUS_DATA { pub framerate : f32 , pub bitrate : u32 , pub flags : VideoStreamStatusFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub hfov : u16 , pub stream_id : u8 , } impl VIDEO_STREAM_STATUS_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , flags : VideoStreamStatusFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , hfov : 0_u16 , stream_id : 0_u8 , } ; } impl Default for VIDEO_STREAM_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIDEO_STREAM_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 270u32 ; const NAME : & 'static str = "VIDEO_STREAM_STATUS" ; const EXTRA_CRC : u8 = 59u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamStatusFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . hfov = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . flags as u16) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u16_le (self . hfov) ; __tmp . put_u8 (self . stream_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_INFORMATION_DATA { pub uid : u64 , pub time_boot_ms : u32 , pub firmware_version : u32 , pub hardware_version : u32 , pub roll_min : f32 , pub roll_max : f32 , pub pitch_min : f32 , pub pitch_max : f32 , pub yaw_min : f32 , pub yaw_max : f32 , pub cap_flags : GimbalDeviceCapFlags , pub custom_cap_flags : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vendor_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub model_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub custom_name : [u8 ; 32] , } impl GIMBAL_DEVICE_INFORMATION_DATA { pub const ENCODED_LEN : usize = 144usize ; pub const DEFAULT : Self = Self { uid : 0_u64 , time_boot_ms : 0_u32 , firmware_version : 0_u32 , hardware_version : 0_u32 , roll_min : 0.0_f32 , roll_max : 0.0_f32 , pitch_min : 0.0_f32 , pitch_max : 0.0_f32 , yaw_min : 0.0_f32 , yaw_max : 0.0_f32 , cap_flags : GimbalDeviceCapFlags :: DEFAULT , custom_cap_flags : 0_u16 , vendor_name : [0_u8 ; 32usize] , model_name : [0_u8 ; 32usize] , custom_name : [0_u8 ; 32usize] , } ; } impl Default for GIMBAL_DEVICE_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 283u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_INFORMATION" ; const EXTRA_CRC : u8 = 74u8 ; const ENCODED_LEN : usize = 144usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . uid = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . firmware_version = buf . get_u32_le () ; __struct . hardware_version = buf . get_u32_le () ; __struct . roll_min = buf . get_f32_le () ; __struct . roll_max = buf . get_f32_le () ; __struct . pitch_min = buf . get_f32_le () ; __struct . pitch_max = buf . get_f32_le () ; __struct . yaw_min = buf . get_f32_le () ; __struct . yaw_max = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . cap_flags = GimbalDeviceCapFlags :: from_bits (tmp & GimbalDeviceCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceCapFlags" , value : tmp as u32 }) ? ; __struct . custom_cap_flags = buf . get_u16_le () ; for v in & mut __struct . vendor_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . model_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . custom_name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . uid) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . firmware_version) ; __tmp . put_u32_le (self . hardware_version) ; __tmp . put_f32_le (self . roll_min) ; __tmp . put_f32_le (self . roll_max) ; __tmp . put_f32_le (self . pitch_min) ; __tmp . put_f32_le (self . pitch_max) ; __tmp . put_f32_le (self . yaw_min) ; __tmp . put_f32_le (self . yaw_max) ; __tmp . put_u16_le (self . cap_flags . bits ()) ; __tmp . put_u16_le (self . custom_cap_flags) ; for val in & self . vendor_name { __tmp . put_u8 (* val) ; } for val in & self . model_name { __tmp . put_u8 (* val) ; } for val in & self . custom_name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_GPS_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub vn : i16 , pub ve : i16 , pub vd : i16 , pub cog : u16 , pub fix_type : u8 , pub satellites_visible : u8 , } impl HIL_GPS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , vn : 0_i16 , ve : 0_i16 , vd : 0_i16 , cog : 0_u16 , fix_type : 0_u8 , satellites_visible : 0_u8 , } ; } impl Default for HIL_GPS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_GPS_DATA { type Message = MavMessage ; const ID : u32 = 113u32 ; const NAME : & 'static str = "HIL_GPS" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . vn = buf . get_i16_le () ; __struct . ve = buf . get_i16_le () ; __struct . vd = buf . get_i16_le () ; __struct . cog = buf . get_u16_le () ; __struct . fix_type = buf . get_u8 () ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_i16_le (self . vn) ; __tmp . put_i16_le (self . ve) ; __tmp . put_i16_le (self . vd) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_POSITION_INT_COV_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 36] , pub estimator_type : MavEstimatorType , } impl GLOBAL_POSITION_INT_COV_DATA { pub const ENCODED_LEN : usize = 181usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , covariance : [0.0_f32 ; 36usize] , estimator_type : MavEstimatorType :: DEFAULT , } ; } impl Default for GLOBAL_POSITION_INT_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_POSITION_INT_COV_DATA { type Message = MavMessage ; const ID : u32 = 63u32 ; const NAME : & 'static str = "GLOBAL_POSITION_INT_COV" ; const EXTRA_CRC : u8 = 119u8 ; const ENCODED_LEN : usize = 181usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . estimator_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEstimatorType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . estimator_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_REPORT_DATA { pub lat : i32 , pub lon : i32 , pub terrain_height : f32 , pub current_height : f32 , pub spacing : u16 , pub pending : u16 , pub loaded : u16 , } impl TERRAIN_REPORT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , terrain_height : 0.0_f32 , current_height : 0.0_f32 , spacing : 0_u16 , pending : 0_u16 , loaded : 0_u16 , } ; } impl Default for TERRAIN_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 136u32 ; const NAME : & 'static str = "TERRAIN_REPORT" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . terrain_height = buf . get_f32_le () ; __struct . current_height = buf . get_f32_le () ; __struct . spacing = buf . get_u16_le () ; __struct . pending = buf . get_u16_le () ; __struct . loaded = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . terrain_height) ; __tmp . put_f32_le (self . current_height) ; __tmp . put_u16_le (self . spacing) ; __tmp . put_u16_le (self . pending) ; __tmp . put_u16_le (self . loaded) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AIS_VESSEL_DATA { pub MMSI : u32 , pub lat : i32 , pub lon : i32 , pub COG : u16 , pub heading : u16 , pub velocity : u16 , pub dimension_bow : u16 , pub dimension_stern : u16 , pub tslc : u16 , pub flags : AisFlags , pub turn_rate : i8 , pub navigational_status : AisNavStatus , pub mavtype : AisType , pub dimension_port : u8 , pub dimension_starboard : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 7] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 20] , } impl AIS_VESSEL_DATA { pub const ENCODED_LEN : usize = 58usize ; pub const DEFAULT : Self = Self { MMSI : 0_u32 , lat : 0_i32 , lon : 0_i32 , COG : 0_u16 , heading : 0_u16 , velocity : 0_u16 , dimension_bow : 0_u16 , dimension_stern : 0_u16 , tslc : 0_u16 , flags : AisFlags :: DEFAULT , turn_rate : 0_i8 , navigational_status : AisNavStatus :: DEFAULT , mavtype : AisType :: DEFAULT , dimension_port : 0_u8 , dimension_starboard : 0_u8 , callsign : [0_u8 ; 7usize] , name : [0_u8 ; 20usize] , } ; } impl Default for AIS_VESSEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AIS_VESSEL_DATA { type Message = MavMessage ; const ID : u32 = 301u32 ; const NAME : & 'static str = "AIS_VESSEL" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 58usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . MMSI = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . COG = buf . get_u16_le () ; __struct . heading = buf . get_u16_le () ; __struct . velocity = buf . get_u16_le () ; __struct . dimension_bow = buf . get_u16_le () ; __struct . dimension_stern = buf . get_u16_le () ; __struct . tslc = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = AisFlags :: from_bits (tmp & AisFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AisFlags" , value : tmp as u32 }) ? ; __struct . turn_rate = buf . get_i8 () ; let tmp = buf . get_u8 () ; __struct . navigational_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AisNavStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AisType" , value : tmp as u32 }) ? ; __struct . dimension_port = buf . get_u8 () ; __struct . dimension_starboard = buf . get_u8 () ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . MMSI) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . COG) ; __tmp . put_u16_le (self . heading) ; __tmp . put_u16_le (self . velocity) ; __tmp . put_u16_le (self . dimension_bow) ; __tmp . put_u16_le (self . dimension_stern) ; __tmp . put_u16_le (self . tslc) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_i8 (self . turn_rate) ; __tmp . put_u8 (self . navigational_status as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . dimension_port) ; __tmp . put_u8 (self . dimension_starboard) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ODOMETRY_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pose_covariance : [f32 ; 21] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub velocity_covariance : [f32 ; 21] , pub frame_id : MavFrame , pub child_frame_id : MavFrame , } impl ODOMETRY_DATA { pub const ENCODED_LEN : usize = 230usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , pose_covariance : [0.0_f32 ; 21usize] , velocity_covariance : [0.0_f32 ; 21usize] , frame_id : MavFrame :: DEFAULT , child_frame_id : MavFrame :: DEFAULT , } ; } impl Default for ODOMETRY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ODOMETRY_DATA { type Message = MavMessage ; const ID : u32 = 331u32 ; const NAME : & 'static str = "ODOMETRY" ; const EXTRA_CRC : u8 = 91u8 ; const ENCODED_LEN : usize = 230usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; for v in & mut __struct . pose_covariance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . velocity_covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . frame_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . child_frame_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; for val in & self . pose_covariance { __tmp . put_f32_le (* val) ; } for val in & self . velocity_covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . frame_id as u8) ; __tmp . put_u8 (self . child_frame_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SUPPORTED_TUNES_DATA { pub format : TuneFormat , pub target_system : u8 , pub target_component : u8 , } impl SUPPORTED_TUNES_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { format : TuneFormat :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SUPPORTED_TUNES_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SUPPORTED_TUNES_DATA { type Message = MavMessage ; const ID : u32 = 401u32 ; const NAME : & 'static str = "SUPPORTED_TUNES" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . format = TuneFormat :: from_bits (tmp & TuneFormat :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "TuneFormat" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . format . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CONTROL_SYSTEM_STATE_DATA { pub time_usec : u64 , pub x_acc : f32 , pub y_acc : f32 , pub z_acc : f32 , pub x_vel : f32 , pub y_vel : f32 , pub z_vel : f32 , pub x_pos : f32 , pub y_pos : f32 , pub z_pos : f32 , pub airspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_variance : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_variance : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub roll_rate : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , } impl CONTROL_SYSTEM_STATE_DATA { pub const ENCODED_LEN : usize = 100usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x_acc : 0.0_f32 , y_acc : 0.0_f32 , z_acc : 0.0_f32 , x_vel : 0.0_f32 , y_vel : 0.0_f32 , z_vel : 0.0_f32 , x_pos : 0.0_f32 , y_pos : 0.0_f32 , z_pos : 0.0_f32 , airspeed : 0.0_f32 , vel_variance : [0.0_f32 ; 3usize] , pos_variance : [0.0_f32 ; 3usize] , q : [0.0_f32 ; 4usize] , roll_rate : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , } ; } impl Default for CONTROL_SYSTEM_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CONTROL_SYSTEM_STATE_DATA { type Message = MavMessage ; const ID : u32 = 146u32 ; const NAME : & 'static str = "CONTROL_SYSTEM_STATE" ; const EXTRA_CRC : u8 = 103u8 ; const ENCODED_LEN : usize = 100usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x_acc = buf . get_f32_le () ; __struct . y_acc = buf . get_f32_le () ; __struct . z_acc = buf . get_f32_le () ; __struct . x_vel = buf . get_f32_le () ; __struct . y_vel = buf . get_f32_le () ; __struct . z_vel = buf . get_f32_le () ; __struct . x_pos = buf . get_f32_le () ; __struct . y_pos = buf . get_f32_le () ; __struct . z_pos = buf . get_f32_le () ; __struct . airspeed = buf . get_f32_le () ; for v in & mut __struct . vel_variance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_variance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . roll_rate = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x_acc) ; __tmp . put_f32_le (self . y_acc) ; __tmp . put_f32_le (self . z_acc) ; __tmp . put_f32_le (self . x_vel) ; __tmp . put_f32_le (self . y_vel) ; __tmp . put_f32_le (self . z_vel) ; __tmp . put_f32_le (self . x_pos) ; __tmp . put_f32_le (self . y_pos) ; __tmp . put_f32_le (self . z_pos) ; __tmp . put_f32_le (self . airspeed) ; for val in & self . vel_variance { __tmp . put_f32_le (* val) ; } for val in & self . pos_variance { __tmp . put_f32_le (* val) ; } for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . roll_rate) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SYSTEM_DATA { pub operator_latitude : i32 , pub operator_longitude : i32 , pub area_ceiling : f32 , pub area_floor : f32 , pub operator_altitude_geo : f32 , pub timestamp : u32 , pub area_count : u16 , pub area_radius : u16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub operator_location_type : MavOdidOperatorLocationType , pub classification_type : MavOdidClassificationType , pub category_eu : MavOdidCategoryEu , pub class_eu : MavOdidClassEu , } impl OPEN_DRONE_ID_SYSTEM_DATA { pub const ENCODED_LEN : usize = 54usize ; pub const DEFAULT : Self = Self { operator_latitude : 0_i32 , operator_longitude : 0_i32 , area_ceiling : 0.0_f32 , area_floor : 0.0_f32 , operator_altitude_geo : 0.0_f32 , timestamp : 0_u32 , area_count : 0_u16 , area_radius : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , operator_location_type : MavOdidOperatorLocationType :: DEFAULT , classification_type : MavOdidClassificationType :: DEFAULT , category_eu : MavOdidCategoryEu :: DEFAULT , class_eu : MavOdidClassEu :: DEFAULT , } ; } impl Default for OPEN_DRONE_ID_SYSTEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SYSTEM_DATA { type Message = MavMessage ; const ID : u32 = 12904u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SYSTEM" ; const EXTRA_CRC : u8 = 77u8 ; const ENCODED_LEN : usize = 54usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . operator_latitude = buf . get_i32_le () ; __struct . operator_longitude = buf . get_i32_le () ; __struct . area_ceiling = buf . get_f32_le () ; __struct . area_floor = buf . get_f32_le () ; __struct . operator_altitude_geo = buf . get_f32_le () ; __struct . timestamp = buf . get_u32_le () ; __struct . area_count = buf . get_u16_le () ; __struct . area_radius = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . operator_location_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidOperatorLocationType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . classification_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidClassificationType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . category_eu = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidCategoryEu" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . class_eu = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidClassEu" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . operator_latitude) ; __tmp . put_i32_le (self . operator_longitude) ; __tmp . put_f32_le (self . area_ceiling) ; __tmp . put_f32_le (self . area_floor) ; __tmp . put_f32_le (self . operator_altitude_geo) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u16_le (self . area_count) ; __tmp . put_u16_le (self . area_radius) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . operator_location_type as u8) ; __tmp . put_u8 (self . classification_type as u8) ; __tmp . put_u8 (self . category_eu as u8) ; __tmp . put_u8 (self . class_eu as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATT_POS_MOCAP_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub x : f32 , pub y : f32 , pub z : f32 , } impl ATT_POS_MOCAP_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , q : [0.0_f32 ; 4usize] , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , } ; } impl Default for ATT_POS_MOCAP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATT_POS_MOCAP_DATA { type Message = MavMessage ; const ID : u32 = 138u32 ; const NAME : & 'static str = "ATT_POS_MOCAP" ; const EXTRA_CRC : u8 = 109u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_DATA_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , pub length : u8 , pub first_message_offset : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 249] , } impl LOGGING_DATA_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , length : 0_u8 , first_message_offset : 0_u8 , data : [0_u8 ; 249usize] , } ; } impl Default for LOGGING_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_DATA_DATA { type Message = MavMessage ; const ID : u32 = 266u32 ; const NAME : & 'static str = "LOGGING_DATA" ; const EXTRA_CRC : u8 = 193u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . length = buf . get_u8 () ; __struct . first_message_offset = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . length) ; __tmp . put_u8 (self . first_message_offset) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_MESSAGE_PACK_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub single_message_size : u8 , pub msg_pack_size : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub messages : [u8 ; 225] , } impl OPEN_DRONE_ID_MESSAGE_PACK_DATA { pub const ENCODED_LEN : usize = 249usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , single_message_size : 0_u8 , msg_pack_size : 0_u8 , messages : [0_u8 ; 225usize] , } ; } impl Default for OPEN_DRONE_ID_MESSAGE_PACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_MESSAGE_PACK_DATA { type Message = MavMessage ; const ID : u32 = 12915u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_MESSAGE_PACK" ; const EXTRA_CRC : u8 = 94u8 ; const ENCODED_LEN : usize = 249usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } __struct . single_message_size = buf . get_u8 () ; __struct . msg_pack_size = buf . get_u8 () ; for v in & mut __struct . messages { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . single_message_size) ; __tmp . put_u8 (self . msg_pack_size) ; for val in & self . messages { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_PARTIAL_LIST_DATA { pub start_index : i16 , pub end_index : i16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_PARTIAL_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start_index : 0_i16 , end_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_PARTIAL_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_PARTIAL_LIST_DATA { type Message = MavMessage ; const ID : u32 = 37u32 ; const NAME : & 'static str = "MISSION_REQUEST_PARTIAL_LIST" ; const EXTRA_CRC : u8 = 212u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start_index = buf . get_i16_le () ; __struct . end_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . start_index) ; __tmp . put_i16_le (self . end_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SETUP_SIGNING_DATA { pub initial_timestamp : u64 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub secret_key : [u8 ; 32] , } impl SETUP_SIGNING_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { initial_timestamp : 0_u64 , target_system : 0_u8 , target_component : 0_u8 , secret_key : [0_u8 ; 32usize] , } ; } impl Default for SETUP_SIGNING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SETUP_SIGNING_DATA { type Message = MavMessage ; const ID : u32 = 256u32 ; const NAME : & 'static str = "SETUP_SIGNING" ; const EXTRA_CRC : u8 = 71u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . initial_timestamp = buf . get_u64_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . secret_key { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . initial_timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . secret_key { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_ACK_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , pub param_result : ParamAck , } impl PARAM_EXT_ACK_DATA { pub const ENCODED_LEN : usize = 146usize ; pub const DEFAULT : Self = Self { param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , param_result : ParamAck :: DEFAULT , } ; } impl Default for PARAM_EXT_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_ACK_DATA { type Message = MavMessage ; const ID : u32 = 324u32 ; const NAME : & 'static str = "PARAM_EXT_ACK" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 146usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . param_result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "ParamAck" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; __tmp . put_u8 (self . param_result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RADIO_STATUS_DATA { pub rxerrors : u16 , pub fixed : u16 , pub rssi : u8 , pub remrssi : u8 , pub txbuf : u8 , pub noise : u8 , pub remnoise : u8 , } impl RADIO_STATUS_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { rxerrors : 0_u16 , fixed : 0_u16 , rssi : 0_u8 , remrssi : 0_u8 , txbuf : 0_u8 , noise : 0_u8 , remnoise : 0_u8 , } ; } impl Default for RADIO_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RADIO_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 109u32 ; const NAME : & 'static str = "RADIO_STATUS" ; const EXTRA_CRC : u8 = 185u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . rxerrors = buf . get_u16_le () ; __struct . fixed = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; __struct . remrssi = buf . get_u8 () ; __struct . txbuf = buf . get_u8 () ; __struct . noise = buf . get_u8 () ; __struct . remnoise = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . rxerrors) ; __tmp . put_u16_le (self . fixed) ; __tmp . put_u8 (self . rssi) ; __tmp . put_u8 (self . remrssi) ; __tmp . put_u8 (self . txbuf) ; __tmp . put_u8 (self . noise) ; __tmp . put_u8 (self . remnoise) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RESPONSE_EVENT_ERROR_DATA { pub sequence : u16 , pub sequence_oldest_available : u16 , pub target_system : u8 , pub target_component : u8 , pub reason : MavEventErrorReason , } impl RESPONSE_EVENT_ERROR_DATA { pub const ENCODED_LEN : usize = 7usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , sequence_oldest_available : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , reason : MavEventErrorReason :: DEFAULT , } ; } impl Default for RESPONSE_EVENT_ERROR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RESPONSE_EVENT_ERROR_DATA { type Message = MavMessage ; const ID : u32 = 413u32 ; const NAME : & 'static str = "RESPONSE_EVENT_ERROR" ; const EXTRA_CRC : u8 = 77u8 ; const ENCODED_LEN : usize = 7usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . sequence_oldest_available = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . reason = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEventErrorReason" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u16_le (self . sequence_oldest_available) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . reason as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SIM_STATE_DATA { pub q1 : f32 , pub q2 : f32 , pub q3 : f32 , pub q4 : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub lat : f32 , pub lon : f32 , pub alt : f32 , pub std_dev_horz : f32 , pub std_dev_vert : f32 , pub vn : f32 , pub ve : f32 , pub vd : f32 , } impl SIM_STATE_DATA { pub const ENCODED_LEN : usize = 84usize ; pub const DEFAULT : Self = Self { q1 : 0.0_f32 , q2 : 0.0_f32 , q3 : 0.0_f32 , q4 : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , lat : 0.0_f32 , lon : 0.0_f32 , alt : 0.0_f32 , std_dev_horz : 0.0_f32 , std_dev_vert : 0.0_f32 , vn : 0.0_f32 , ve : 0.0_f32 , vd : 0.0_f32 , } ; } impl Default for SIM_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SIM_STATE_DATA { type Message = MavMessage ; const ID : u32 = 108u32 ; const NAME : & 'static str = "SIM_STATE" ; const EXTRA_CRC : u8 = 32u8 ; const ENCODED_LEN : usize = 84usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . q1 = buf . get_f32_le () ; __struct . q2 = buf . get_f32_le () ; __struct . q3 = buf . get_f32_le () ; __struct . q4 = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . lat = buf . get_f32_le () ; __struct . lon = buf . get_f32_le () ; __struct . alt = buf . get_f32_le () ; __struct . std_dev_horz = buf . get_f32_le () ; __struct . std_dev_vert = buf . get_f32_le () ; __struct . vn = buf . get_f32_le () ; __struct . ve = buf . get_f32_le () ; __struct . vd = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . q1) ; __tmp . put_f32_le (self . q2) ; __tmp . put_f32_le (self . q3) ; __tmp . put_f32_le (self . q4) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . lat) ; __tmp . put_f32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . std_dev_horz) ; __tmp . put_f32_le (self . std_dev_vert) ; __tmp . put_f32_le (self . vn) ; __tmp . put_f32_le (self . ve) ; __tmp . put_f32_le (self . vd) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FENCE_STATUS_DATA { pub breach_time : u32 , pub breach_count : u16 , pub breach_status : u8 , pub breach_type : FenceBreach , } impl FENCE_STATUS_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { breach_time : 0_u32 , breach_count : 0_u16 , breach_status : 0_u8 , breach_type : FenceBreach :: DEFAULT , } ; } impl Default for FENCE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FENCE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 162u32 ; const NAME : & 'static str = "FENCE_STATUS" ; const EXTRA_CRC : u8 = 189u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . breach_time = buf . get_u32_le () ; __struct . breach_count = buf . get_u16_le () ; __struct . breach_status = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . breach_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "FenceBreach" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . breach_time) ; __tmp . put_u16_le (self . breach_count) ; __tmp . put_u8 (self . breach_status) ; __tmp . put_u8 (self . breach_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RESOURCE_REQUEST_DATA { pub request_id : u8 , pub uri_type : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 120] , pub transfer_type : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage : [u8 ; 120] , } impl RESOURCE_REQUEST_DATA { pub const ENCODED_LEN : usize = 243usize ; pub const DEFAULT : Self = Self { request_id : 0_u8 , uri_type : 0_u8 , uri : [0_u8 ; 120usize] , transfer_type : 0_u8 , storage : [0_u8 ; 120usize] , } ; } impl Default for RESOURCE_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RESOURCE_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 142u32 ; const NAME : & 'static str = "RESOURCE_REQUEST" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 243usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u8 () ; __struct . uri_type = buf . get_u8 () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } __struct . transfer_type = buf . get_u8 () ; for v in & mut __struct . storage { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . request_id) ; __tmp . put_u8 (self . uri_type) ; for val in & self . uri { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . transfer_type) ; for val in & self . storage { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_DATA_DATA { pub lat : i32 , pub lon : i32 , pub grid_spacing : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [i16 ; 16] , pub gridbit : u8 , } impl TERRAIN_DATA_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , grid_spacing : 0_u16 , data : [0_i16 ; 16usize] , gridbit : 0_u8 , } ; } impl Default for TERRAIN_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_DATA_DATA { type Message = MavMessage ; const ID : u32 = 134u32 ; const NAME : & 'static str = "TERRAIN_DATA" ; const EXTRA_CRC : u8 = 229u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . grid_spacing = buf . get_u16_le () ; for v in & mut __struct . data { let val = buf . get_i16_le () ; * v = val ; } __struct . gridbit = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . grid_spacing) ; for val in & self . data { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . gridbit) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VICON_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl VICON_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for VICON_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VICON_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 104u32 ; const NAME : & 'static str = "VICON_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 56u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EXTENDED_SYS_STATE_DATA { pub vtol_state : MavVtolState , pub landed_state : MavLandedState , } impl EXTENDED_SYS_STATE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { vtol_state : MavVtolState :: DEFAULT , landed_state : MavLandedState :: DEFAULT , } ; } impl Default for EXTENDED_SYS_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EXTENDED_SYS_STATE_DATA { type Message = MavMessage ; const ID : u32 = 245u32 ; const NAME : & 'static str = "EXTENDED_SYS_STATE" ; const EXTRA_CRC : u8 = 130u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . vtol_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavVtolState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . vtol_state as u8) ; __tmp . put_u8 (self . landed_state as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HEARTBEAT_DATA { pub custom_mode : u32 , pub mavtype : MavType , pub autopilot : MavAutopilot , pub base_mode : MavModeFlag , pub system_status : MavState , pub mavlink_version : u8 , } impl HEARTBEAT_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , mavtype : MavType :: DEFAULT , autopilot : MavAutopilot :: DEFAULT , base_mode : MavModeFlag :: DEFAULT , system_status : MavState :: DEFAULT , mavlink_version : 0_u8 , } ; } impl Default for HEARTBEAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HEARTBEAT_DATA { type Message = MavMessage ; const ID : u32 = 0u32 ; const NAME : & 'static str = "HEARTBEAT" ; const EXTRA_CRC : u8 = 50u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . autopilot = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavAutopilot" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . base_mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . system_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavState" , value : tmp as u32 }) ? ; __struct . mavlink_version = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . autopilot as u8) ; __tmp . put_u8 (self . base_mode . bits ()) ; __tmp . put_u8 (self . system_status as u8) ; __tmp . put_u8 (self . mavlink_version) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIDEO_STREAM_INFORMATION_DATA { pub framerate : f32 , pub bitrate : u32 , pub flags : VideoStreamStatusFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub hfov : u16 , pub stream_id : u8 , pub count : u8 , pub mavtype : VideoStreamType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 160] , } impl VIDEO_STREAM_INFORMATION_DATA { pub const ENCODED_LEN : usize = 213usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , flags : VideoStreamStatusFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , hfov : 0_u16 , stream_id : 0_u8 , count : 0_u8 , mavtype : VideoStreamType :: DEFAULT , name : [0_u8 ; 32usize] , uri : [0_u8 ; 160usize] , } ; } impl Default for VIDEO_STREAM_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIDEO_STREAM_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 269u32 ; const NAME : & 'static str = "VIDEO_STREAM_INFORMATION" ; const EXTRA_CRC : u8 = 109u8 ; const ENCODED_LEN : usize = 213usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamStatusFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . hfov = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamType" , value : tmp as u32 }) ? ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . flags as u16) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u16_le (self . hfov) ; __tmp . put_u8 (self . stream_id) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . mavtype as u8) ; for val in & self . name { __tmp . put_u8 (* val) ; } for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_INT_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_INT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_INT_DATA { type Message = MavMessage ; const ID : u32 = 51u32 ; const NAME : & 'static str = "MISSION_REQUEST_INT" ; const EXTRA_CRC : u8 = 196u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAN_FILTER_MODIFY_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub ids : [u16 ; 16] , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub operation : CanFilterOp , pub num_ids : u8 , } impl CAN_FILTER_MODIFY_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { ids : [0_u16 ; 16usize] , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , operation : CanFilterOp :: DEFAULT , num_ids : 0_u8 , } ; } impl Default for CAN_FILTER_MODIFY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAN_FILTER_MODIFY_DATA { type Message = MavMessage ; const ID : u32 = 388u32 ; const NAME : & 'static str = "CAN_FILTER_MODIFY" ; const EXTRA_CRC : u8 = 8u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . ids { let val = buf . get_u16_le () ; * v = val ; } __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . operation = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CanFilterOp" , value : tmp as u32 }) ? ; __struct . num_ids = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . ids { __tmp . put_u16_le (* val) ; } __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . operation as u8) ; __tmp . put_u8 (self . num_ids) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_INT_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub seq : u16 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl MISSION_ITEM_INT_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , seq : 0_u16 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for MISSION_ITEM_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_INT_DATA { type Message = MavMessage ; const ID : u32 = 73u32 ; const NAME : & 'static str = "MISSION_ITEM_INT" ; const EXTRA_CRC : u8 = 38u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; __struct . seq = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGHRES_IMU_DATA { pub time_usec : u64 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub xmag : f32 , pub ymag : f32 , pub zmag : f32 , pub abs_pressure : f32 , pub diff_pressure : f32 , pub pressure_alt : f32 , pub temperature : f32 , pub fields_updated : HighresImuUpdatedFlags , } impl HIGHRES_IMU_DATA { pub const ENCODED_LEN : usize = 62usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , xmag : 0.0_f32 , ymag : 0.0_f32 , zmag : 0.0_f32 , abs_pressure : 0.0_f32 , diff_pressure : 0.0_f32 , pressure_alt : 0.0_f32 , temperature : 0.0_f32 , fields_updated : HighresImuUpdatedFlags :: DEFAULT , } ; } impl Default for HIGHRES_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGHRES_IMU_DATA { type Message = MavMessage ; const ID : u32 = 105u32 ; const NAME : & 'static str = "HIGHRES_IMU" ; const EXTRA_CRC : u8 = 93u8 ; const ENCODED_LEN : usize = 62usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . xmag = buf . get_f32_le () ; __struct . ymag = buf . get_f32_le () ; __struct . zmag = buf . get_f32_le () ; __struct . abs_pressure = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . pressure_alt = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . fields_updated = HighresImuUpdatedFlags :: from_bits (tmp & HighresImuUpdatedFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HighresImuUpdatedFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . xmag) ; __tmp . put_f32_le (self . ymag) ; __tmp . put_f32_le (self . zmag) ; __tmp . put_f32_le (self . abs_pressure) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . pressure_alt) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u16_le (self . fields_updated . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_ACTUATOR_CONTROL_TARGET_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 8] , pub group_mlx : u8 , pub target_system : u8 , pub target_component : u8 , } impl SET_ACTUATOR_CONTROL_TARGET_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , controls : [0.0_f32 ; 8usize] , group_mlx : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SET_ACTUATOR_CONTROL_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_ACTUATOR_CONTROL_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 139u32 ; const NAME : & 'static str = "SET_ACTUATOR_CONTROL_TARGET" ; const EXTRA_CRC : u8 = 168u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } __struct . group_mlx = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . group_mlx) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_DATA { pub time_boot_ms : u32 , pub value : f32 , pub ind : u8 , } impl DEBUG_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0.0_f32 , ind : 0_u8 , } ; } impl Default for DEBUG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_DATA { type Message = MavMessage ; const ID : u32 = 254u32 ; const NAME : & 'static str = "DEBUG" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_f32_le () ; __struct . ind = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . value) ; __tmp . put_u8 (self . ind) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_SETTINGS_DATA { pub time_boot_ms : u32 , pub mode_id : CameraMode , } impl CAMERA_SETTINGS_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , mode_id : CameraMode :: DEFAULT , } ; } impl Default for CAMERA_SETTINGS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_SETTINGS_DATA { type Message = MavMessage ; const ID : u32 = 260u32 ; const NAME : & 'static str = "CAMERA_SETTINGS" ; const EXTRA_CRC : u8 = 146u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . mode_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraMode" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u8 (self . mode_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 43u32 ; const NAME : & 'static str = "MISSION_REQUEST_LIST" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POSITION_TARGET_LOCAL_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub coordinate_frame : MavFrame , } impl POSITION_TARGET_LOCAL_NED_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for POSITION_TARGET_LOCAL_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POSITION_TARGET_LOCAL_NED_DATA { type Message = MavMessage ; const ID : u32 = 85u32 ; const NAME : & 'static str = "POSITION_TARGET_LOCAL_NED" ; const EXTRA_CRC : u8 = 140u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU_DATA { type Message = MavMessage ; const ID : u32 = 26u32 ; const NAME : & 'static str = "SCALED_IMU" ; const EXTRA_CRC : u8 = 170u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIND_COV_DATA { pub time_usec : u64 , pub wind_x : f32 , pub wind_y : f32 , pub wind_z : f32 , pub var_horiz : f32 , pub var_vert : f32 , pub wind_alt : f32 , pub horiz_accuracy : f32 , pub vert_accuracy : f32 , } impl WIND_COV_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , wind_x : 0.0_f32 , wind_y : 0.0_f32 , wind_z : 0.0_f32 , var_horiz : 0.0_f32 , var_vert : 0.0_f32 , wind_alt : 0.0_f32 , horiz_accuracy : 0.0_f32 , vert_accuracy : 0.0_f32 , } ; } impl Default for WIND_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIND_COV_DATA { type Message = MavMessage ; const ID : u32 = 231u32 ; const NAME : & 'static str = "WIND_COV" ; const EXTRA_CRC : u8 = 105u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . wind_x = buf . get_f32_le () ; __struct . wind_y = buf . get_f32_le () ; __struct . wind_z = buf . get_f32_le () ; __struct . var_horiz = buf . get_f32_le () ; __struct . var_vert = buf . get_f32_le () ; __struct . wind_alt = buf . get_f32_le () ; __struct . horiz_accuracy = buf . get_f32_le () ; __struct . vert_accuracy = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . wind_x) ; __tmp . put_f32_le (self . wind_y) ; __tmp . put_f32_le (self . wind_z) ; __tmp . put_f32_le (self . var_horiz) ; __tmp . put_f32_le (self . var_vert) ; __tmp . put_f32_le (self . wind_alt) ; __tmp . put_f32_le (self . horiz_accuracy) ; __tmp . put_f32_le (self . vert_accuracy) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 40u32 ; const NAME : & 'static str = "MISSION_REQUEST" ; const EXTRA_CRC : u8 = 230u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SERIAL_CONTROL_DATA { pub baudrate : u32 , pub timeout : u16 , pub device : SerialControlDev , pub flags : SerialControlFlag , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 70] , } impl SERIAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 79usize ; pub const DEFAULT : Self = Self { baudrate : 0_u32 , timeout : 0_u16 , device : SerialControlDev :: DEFAULT , flags : SerialControlFlag :: DEFAULT , count : 0_u8 , data : [0_u8 ; 70usize] , } ; } impl Default for SERIAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SERIAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 126u32 ; const NAME : & 'static str = "SERIAL_CONTROL" ; const EXTRA_CRC : u8 = 220u8 ; const ENCODED_LEN : usize = 79usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . baudrate = buf . get_u32_le () ; __struct . timeout = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . device = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "SerialControlDev" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = SerialControlFlag :: from_bits (tmp & SerialControlFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "SerialControlFlag" , value : tmp as u32 }) ? ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . baudrate) ; __tmp . put_u16_le (self . timeout) ; __tmp . put_u8 (self . device as u8) ; __tmp . put_u8 (self . flags . bits ()) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_REQUEST_READ_DATA { pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , } impl PARAM_REQUEST_READ_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , } ; } impl Default for PARAM_REQUEST_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_REQUEST_READ_DATA { type Message = MavMessage ; const ID : u32 = 20u32 ; const NAME : & 'static str = "PARAM_REQUEST_READ" ; const EXTRA_CRC : u8 = 214u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS2_RTK_DATA { pub time_last_baseline_ms : u32 , pub tow : u32 , pub baseline_a_mm : i32 , pub baseline_b_mm : i32 , pub baseline_c_mm : i32 , pub accuracy : u32 , pub iar_num_hypotheses : i32 , pub wn : u16 , pub rtk_receiver_id : u8 , pub rtk_health : u8 , pub rtk_rate : u8 , pub nsats : u8 , pub baseline_coords_type : RtkBaselineCoordinateSystem , } impl GPS2_RTK_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_last_baseline_ms : 0_u32 , tow : 0_u32 , baseline_a_mm : 0_i32 , baseline_b_mm : 0_i32 , baseline_c_mm : 0_i32 , accuracy : 0_u32 , iar_num_hypotheses : 0_i32 , wn : 0_u16 , rtk_receiver_id : 0_u8 , rtk_health : 0_u8 , rtk_rate : 0_u8 , nsats : 0_u8 , baseline_coords_type : RtkBaselineCoordinateSystem :: DEFAULT , } ; } impl Default for GPS2_RTK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS2_RTK_DATA { type Message = MavMessage ; const ID : u32 = 128u32 ; const NAME : & 'static str = "GPS2_RTK" ; const EXTRA_CRC : u8 = 226u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_last_baseline_ms = buf . get_u32_le () ; __struct . tow = buf . get_u32_le () ; __struct . baseline_a_mm = buf . get_i32_le () ; __struct . baseline_b_mm = buf . get_i32_le () ; __struct . baseline_c_mm = buf . get_i32_le () ; __struct . accuracy = buf . get_u32_le () ; __struct . iar_num_hypotheses = buf . get_i32_le () ; __struct . wn = buf . get_u16_le () ; __struct . rtk_receiver_id = buf . get_u8 () ; __struct . rtk_health = buf . get_u8 () ; __struct . rtk_rate = buf . get_u8 () ; __struct . nsats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . baseline_coords_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "RtkBaselineCoordinateSystem" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_last_baseline_ms) ; __tmp . put_u32_le (self . tow) ; __tmp . put_i32_le (self . baseline_a_mm) ; __tmp . put_i32_le (self . baseline_b_mm) ; __tmp . put_i32_le (self . baseline_c_mm) ; __tmp . put_u32_le (self . accuracy) ; __tmp . put_i32_le (self . iar_num_hypotheses) ; __tmp . put_u16_le (self . wn) ; __tmp . put_u8 (self . rtk_receiver_id) ; __tmp . put_u8 (self . rtk_health) ; __tmp . put_u8 (self . rtk_rate) ; __tmp . put_u8 (self . nsats) ; __tmp . put_u8 (self . baseline_coords_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_ACK_DATA { pub command : MavCmd , pub result : MavResult , } impl COMMAND_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { command : MavCmd :: DEFAULT , result : MavResult :: DEFAULT , } ; } impl Default for COMMAND_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_ACK_DATA { type Message = MavMessage ; const ID : u32 = 77u32 ; const NAME : & 'static str = "COMMAND_ACK" ; const EXTRA_CRC : u8 = 143u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavResult" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POWER_STATUS_DATA { pub Vcc : u16 , pub Vservo : u16 , pub flags : MavPowerStatus , } impl POWER_STATUS_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { Vcc : 0_u16 , Vservo : 0_u16 , flags : MavPowerStatus :: DEFAULT , } ; } impl Default for POWER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POWER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 125u32 ; const NAME : & 'static str = "POWER_STATUS" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . Vcc = buf . get_u16_le () ; __struct . Vservo = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = MavPowerStatus :: from_bits (tmp & MavPowerStatus :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavPowerStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . Vcc) ; __tmp . put_u16_le (self . Vservo) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_STATUS_DATA { pub time_boot_ms : u32 , pub flags : GimbalManagerFlags , pub gimbal_device_id : u8 , pub primary_control_sysid : u8 , pub primary_control_compid : u8 , pub secondary_control_sysid : u8 , pub secondary_control_compid : u8 , } impl GIMBAL_MANAGER_STATUS_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , flags : GimbalManagerFlags :: DEFAULT , gimbal_device_id : 0_u8 , primary_control_sysid : 0_u8 , primary_control_compid : 0_u8 , secondary_control_sysid : 0_u8 , secondary_control_compid : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 281u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_STATUS" ; const EXTRA_CRC : u8 = 48u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . gimbal_device_id = buf . get_u8 () ; __struct . primary_control_sysid = buf . get_u8 () ; __struct . primary_control_compid = buf . get_u8 () ; __struct . secondary_control_sysid = buf . get_u8 () ; __struct . secondary_control_compid = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_u8 (self . gimbal_device_id) ; __tmp . put_u8 (self . primary_control_sysid) ; __tmp . put_u8 (self . primary_control_compid) ; __tmp . put_u8 (self . secondary_control_sysid) ; __tmp . put_u8 (self . secondary_control_compid) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_POSITION_INT_DATA { pub time_boot_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub hdg : u16 , } impl GLOBAL_POSITION_INT_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , hdg : 0_u16 , } ; } impl Default for GLOBAL_POSITION_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_POSITION_INT_DATA { type Message = MavMessage ; const ID : u32 = 33u32 ; const NAME : & 'static str = "GLOBAL_POSITION_INT" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . hdg = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . hdg) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_SET_DATA { pub param_value : f32 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub param_type : MavParamType , } impl PARAM_SET_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { param_value : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , param_type : MavParamType :: DEFAULT , } ; } impl Default for PARAM_SET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_SET_DATA { type Message = MavMessage ; const ID : u32 = 23u32 ; const NAME : & 'static str = "PARAM_SET" ; const EXTRA_CRC : u8 = 168u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPTICAL_FLOW_DATA { pub time_usec : u64 , pub flow_comp_m_x : f32 , pub flow_comp_m_y : f32 , pub ground_distance : f32 , pub flow_x : i16 , pub flow_y : i16 , pub sensor_id : u8 , pub quality : u8 , } impl OPTICAL_FLOW_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , flow_comp_m_x : 0.0_f32 , flow_comp_m_y : 0.0_f32 , ground_distance : 0.0_f32 , flow_x : 0_i16 , flow_y : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for OPTICAL_FLOW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPTICAL_FLOW_DATA { type Message = MavMessage ; const ID : u32 = 100u32 ; const NAME : & 'static str = "OPTICAL_FLOW" ; const EXTRA_CRC : u8 = 175u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . flow_comp_m_x = buf . get_f32_le () ; __struct . flow_comp_m_y = buf . get_f32_le () ; __struct . ground_distance = buf . get_f32_le () ; __struct . flow_x = buf . get_i16_le () ; __struct . flow_y = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . flow_comp_m_x) ; __tmp . put_f32_le (self . flow_comp_m_y) ; __tmp . put_f32_le (self . ground_distance) ; __tmp . put_i16_le (self . flow_x) ; __tmp . put_i16_le (self . flow_y) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_SCALED_DATA { pub time_boot_ms : u32 , pub chan1_scaled : i16 , pub chan2_scaled : i16 , pub chan3_scaled : i16 , pub chan4_scaled : i16 , pub chan5_scaled : i16 , pub chan6_scaled : i16 , pub chan7_scaled : i16 , pub chan8_scaled : i16 , pub port : u8 , pub rssi : u8 , } impl RC_CHANNELS_SCALED_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_scaled : 0_i16 , chan2_scaled : 0_i16 , chan3_scaled : 0_i16 , chan4_scaled : 0_i16 , chan5_scaled : 0_i16 , chan6_scaled : 0_i16 , chan7_scaled : 0_i16 , chan8_scaled : 0_i16 , port : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_SCALED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_SCALED_DATA { type Message = MavMessage ; const ID : u32 = 34u32 ; const NAME : & 'static str = "RC_CHANNELS_SCALED" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_scaled = buf . get_i16_le () ; __struct . chan2_scaled = buf . get_i16_le () ; __struct . chan3_scaled = buf . get_i16_le () ; __struct . chan4_scaled = buf . get_i16_le () ; __struct . chan5_scaled = buf . get_i16_le () ; __struct . chan6_scaled = buf . get_i16_le () ; __struct . chan7_scaled = buf . get_i16_le () ; __struct . chan8_scaled = buf . get_i16_le () ; __struct . port = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . chan1_scaled) ; __tmp . put_i16_le (self . chan2_scaled) ; __tmp . put_i16_le (self . chan3_scaled) ; __tmp . put_i16_le (self . chan4_scaled) ; __tmp . put_i16_le (self . chan5_scaled) ; __tmp . put_i16_le (self . chan6_scaled) ; __tmp . put_i16_le (self . chan7_scaled) ; __tmp . put_i16_le (self . chan8_scaled) ; __tmp . put_u8 (self . port) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_INJECT_DATA_DATA { pub target_system : u8 , pub target_component : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 110] , } impl GPS_INJECT_DATA_DATA { pub const ENCODED_LEN : usize = 113usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , len : 0_u8 , data : [0_u8 ; 110usize] , } ; } impl Default for GPS_INJECT_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_INJECT_DATA_DATA { type Message = MavMessage ; const ID : u32 = 123u32 ; const NAME : & 'static str = "GPS_INJECT_DATA" ; const EXTRA_CRC : u8 = 250u8 ; const ENCODED_LEN : usize = 113usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_VALUE_DATA { pub param_value : f32 , pub param_count : u16 , pub param_index : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub param_type : MavParamType , } impl PARAM_VALUE_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { param_value : 0.0_f32 , param_count : 0_u16 , param_index : 0_u16 , param_id : [0_u8 ; 16usize] , param_type : MavParamType :: DEFAULT , } ; } impl Default for PARAM_VALUE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_VALUE_DATA { type Message = MavMessage ; const ID : u32 = 22u32 ; const NAME : & 'static str = "PARAM_VALUE" ; const EXTRA_CRC : u8 = 220u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value = buf . get_f32_le () ; __struct . param_count = buf . get_u16_le () ; __struct . param_index = buf . get_u16_le () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value) ; __tmp . put_u16_le (self . param_count) ; __tmp . put_u16_le (self . param_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_DATA { pub time_boot_ms : u32 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub chan9_raw : u16 , pub chan10_raw : u16 , pub chan11_raw : u16 , pub chan12_raw : u16 , pub chan13_raw : u16 , pub chan14_raw : u16 , pub chan15_raw : u16 , pub chan16_raw : u16 , pub chan17_raw : u16 , pub chan18_raw : u16 , pub chancount : u8 , pub rssi : u8 , } impl RC_CHANNELS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , chan9_raw : 0_u16 , chan10_raw : 0_u16 , chan11_raw : 0_u16 , chan12_raw : 0_u16 , chan13_raw : 0_u16 , chan14_raw : 0_u16 , chan15_raw : 0_u16 , chan16_raw : 0_u16 , chan17_raw : 0_u16 , chan18_raw : 0_u16 , chancount : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_DATA { type Message = MavMessage ; const ID : u32 = 65u32 ; const NAME : & 'static str = "RC_CHANNELS" ; const EXTRA_CRC : u8 = 118u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . chan9_raw = buf . get_u16_le () ; __struct . chan10_raw = buf . get_u16_le () ; __struct . chan11_raw = buf . get_u16_le () ; __struct . chan12_raw = buf . get_u16_le () ; __struct . chan13_raw = buf . get_u16_le () ; __struct . chan14_raw = buf . get_u16_le () ; __struct . chan15_raw = buf . get_u16_le () ; __struct . chan16_raw = buf . get_u16_le () ; __struct . chan17_raw = buf . get_u16_le () ; __struct . chan18_raw = buf . get_u16_le () ; __struct . chancount = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u16_le (self . chan9_raw) ; __tmp . put_u16_le (self . chan10_raw) ; __tmp . put_u16_le (self . chan11_raw) ; __tmp . put_u16_le (self . chan12_raw) ; __tmp . put_u16_le (self . chan13_raw) ; __tmp . put_u16_le (self . chan14_raw) ; __tmp . put_u16_le (self . chan15_raw) ; __tmp . put_u16_le (self . chan16_raw) ; __tmp . put_u16_le (self . chan17_raw) ; __tmp . put_u16_le (self . chan18_raw) ; __tmp . put_u8 (self . chancount) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESTIMATOR_STATUS_DATA { pub time_usec : u64 , pub vel_ratio : f32 , pub pos_horiz_ratio : f32 , pub pos_vert_ratio : f32 , pub mag_ratio : f32 , pub hagl_ratio : f32 , pub tas_ratio : f32 , pub pos_horiz_accuracy : f32 , pub pos_vert_accuracy : f32 , pub flags : EstimatorStatusFlags , } impl ESTIMATOR_STATUS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , vel_ratio : 0.0_f32 , pos_horiz_ratio : 0.0_f32 , pos_vert_ratio : 0.0_f32 , mag_ratio : 0.0_f32 , hagl_ratio : 0.0_f32 , tas_ratio : 0.0_f32 , pos_horiz_accuracy : 0.0_f32 , pos_vert_accuracy : 0.0_f32 , flags : EstimatorStatusFlags :: DEFAULT , } ; } impl Default for ESTIMATOR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESTIMATOR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 230u32 ; const NAME : & 'static str = "ESTIMATOR_STATUS" ; const EXTRA_CRC : u8 = 163u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . vel_ratio = buf . get_f32_le () ; __struct . pos_horiz_ratio = buf . get_f32_le () ; __struct . pos_vert_ratio = buf . get_f32_le () ; __struct . mag_ratio = buf . get_f32_le () ; __struct . hagl_ratio = buf . get_f32_le () ; __struct . tas_ratio = buf . get_f32_le () ; __struct . pos_horiz_accuracy = buf . get_f32_le () ; __struct . pos_vert_accuracy = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = EstimatorStatusFlags :: from_bits (tmp & EstimatorStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EstimatorStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . vel_ratio) ; __tmp . put_f32_le (self . pos_horiz_ratio) ; __tmp . put_f32_le (self . pos_vert_ratio) ; __tmp . put_f32_le (self . mag_ratio) ; __tmp . put_f32_le (self . hagl_ratio) ; __tmp . put_f32_le (self . tas_ratio) ; __tmp . put_f32_le (self . pos_horiz_accuracy) ; __tmp . put_f32_le (self . pos_vert_accuracy) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TIMESYNC_DATA { pub tc1 : i64 , pub ts1 : i64 , } impl TIMESYNC_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { tc1 : 0_i64 , ts1 : 0_i64 , } ; } impl Default for TIMESYNC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TIMESYNC_DATA { type Message = MavMessage ; const ID : u32 = 111u32 ; const NAME : & 'static str = "TIMESYNC" ; const EXTRA_CRC : u8 = 34u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . tc1 = buf . get_i64_le () ; __struct . ts1 = buf . get_i64_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i64_le (self . tc1) ; __tmp . put_i64_le (self . ts1) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE3_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE3_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE3_DATA { type Message = MavMessage ; const ID : u32 = 143u32 ; const NAME : & 'static str = "SCALED_PRESSURE3" ; const EXTRA_CRC : u8 = 131u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA_STREAM_DATA { pub message_rate : u16 , pub stream_id : u8 , pub on_off : u8 , } impl DATA_STREAM_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { message_rate : 0_u16 , stream_id : 0_u8 , on_off : 0_u8 , } ; } impl Default for DATA_STREAM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA_STREAM_DATA { type Message = MavMessage ; const ID : u32 = 67u32 ; const NAME : & 'static str = "DATA_STREAM" ; const EXTRA_CRC : u8 = 21u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . message_rate = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; __struct . on_off = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . message_rate) ; __tmp . put_u8 (self . stream_id) ; __tmp . put_u8 (self . on_off) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HOME_POSITION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub approach_x : f32 , pub approach_y : f32 , pub approach_z : f32 , } impl HOME_POSITION_DATA { pub const ENCODED_LEN : usize = 52usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , approach_x : 0.0_f32 , approach_y : 0.0_f32 , approach_z : 0.0_f32 , } ; } impl Default for HOME_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HOME_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 242u32 ; const NAME : & 'static str = "HOME_POSITION" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 52usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . approach_x = buf . get_f32_le () ; __struct . approach_y = buf . get_f32_le () ; __struct . approach_z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . approach_x) ; __tmp . put_f32_le (self . approach_y) ; __tmp . put_f32_le (self . approach_z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MEMORY_VECT_DATA { pub address : u16 , pub ver : u8 , pub mavtype : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub value : [i8 ; 32] , } impl MEMORY_VECT_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { address : 0_u16 , ver : 0_u8 , mavtype : 0_u8 , value : [0_i8 ; 32usize] , } ; } impl Default for MEMORY_VECT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MEMORY_VECT_DATA { type Message = MavMessage ; const ID : u32 = 249u32 ; const NAME : & 'static str = "MEMORY_VECT" ; const EXTRA_CRC : u8 = 204u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . address = buf . get_u16_le () ; __struct . ver = buf . get_u8 () ; __struct . mavtype = buf . get_u8 () ; for v in & mut __struct . value { let val = buf . get_i8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . address) ; __tmp . put_u8 (self . ver) ; __tmp . put_u8 (self . mavtype) ; for val in & self . value { __tmp . put_i8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAMED_VALUE_FLOAT_DATA { pub time_boot_ms : u32 , pub value : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl NAMED_VALUE_FLOAT_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0.0_f32 , name : [0_u8 ; 10usize] , } ; } impl Default for NAMED_VALUE_FLOAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAMED_VALUE_FLOAT_DATA { type Message = MavMessage ; const ID : u32 = 251u32 ; const NAME : & 'static str = "NAMED_VALUE_FLOAT" ; const EXTRA_CRC : u8 = 170u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_f32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . value) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAV_CONTROLLER_OUTPUT_DATA { pub nav_roll : f32 , pub nav_pitch : f32 , pub alt_error : f32 , pub aspd_error : f32 , pub xtrack_error : f32 , pub nav_bearing : i16 , pub target_bearing : i16 , pub wp_dist : u16 , } impl NAV_CONTROLLER_OUTPUT_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { nav_roll : 0.0_f32 , nav_pitch : 0.0_f32 , alt_error : 0.0_f32 , aspd_error : 0.0_f32 , xtrack_error : 0.0_f32 , nav_bearing : 0_i16 , target_bearing : 0_i16 , wp_dist : 0_u16 , } ; } impl Default for NAV_CONTROLLER_OUTPUT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAV_CONTROLLER_OUTPUT_DATA { type Message = MavMessage ; const ID : u32 = 62u32 ; const NAME : & 'static str = "NAV_CONTROLLER_OUTPUT" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . nav_roll = buf . get_f32_le () ; __struct . nav_pitch = buf . get_f32_le () ; __struct . alt_error = buf . get_f32_le () ; __struct . aspd_error = buf . get_f32_le () ; __struct . xtrack_error = buf . get_f32_le () ; __struct . nav_bearing = buf . get_i16_le () ; __struct . target_bearing = buf . get_i16_le () ; __struct . wp_dist = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . nav_roll) ; __tmp . put_f32_le (self . nav_pitch) ; __tmp . put_f32_le (self . alt_error) ; __tmp . put_f32_le (self . aspd_error) ; __tmp . put_f32_le (self . xtrack_error) ; __tmp . put_i16_le (self . nav_bearing) ; __tmp . put_i16_le (self . target_bearing) ; __tmp . put_u16_le (self . wp_dist) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CHANGE_OPERATOR_CONTROL_ACK_DATA { pub gcs_system_id : u8 , pub control_request : u8 , pub ack : u8 , } impl CHANGE_OPERATOR_CONTROL_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { gcs_system_id : 0_u8 , control_request : 0_u8 , ack : 0_u8 , } ; } impl Default for CHANGE_OPERATOR_CONTROL_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CHANGE_OPERATOR_CONTROL_ACK_DATA { type Message = MavMessage ; const ID : u32 = 6u32 ; const NAME : & 'static str = "CHANGE_OPERATOR_CONTROL_ACK" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . gcs_system_id = buf . get_u8 () ; __struct . control_request = buf . get_u8 () ; __struct . ack = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . gcs_system_id) ; __tmp . put_u8 (self . control_request) ; __tmp . put_u8 (self . ack) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct STATUSTEXT_DATA { pub severity : MavSeverity , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub text : [u8 ; 50] , } impl STATUSTEXT_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { severity : MavSeverity :: DEFAULT , text : [0_u8 ; 50usize] , } ; } impl Default for STATUSTEXT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for STATUSTEXT_DATA { type Message = MavMessage ; const ID : u32 = 253u32 ; const NAME : & 'static str = "STATUSTEXT" ; const EXTRA_CRC : u8 = 83u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . severity = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavSeverity" , value : tmp as u32 }) ? ; for v in & mut __struct . text { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . severity as u8) ; for val in & self . text { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRACKING_GEO_STATUS_DATA { pub lat : i32 , pub lon : i32 , pub alt : f32 , pub h_acc : f32 , pub v_acc : f32 , pub vel_n : f32 , pub vel_e : f32 , pub vel_d : f32 , pub vel_acc : f32 , pub dist : f32 , pub hdg : f32 , pub hdg_acc : f32 , pub tracking_status : CameraTrackingStatusFlags , } impl CAMERA_TRACKING_GEO_STATUS_DATA { pub const ENCODED_LEN : usize = 49usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , h_acc : 0.0_f32 , v_acc : 0.0_f32 , vel_n : 0.0_f32 , vel_e : 0.0_f32 , vel_d : 0.0_f32 , vel_acc : 0.0_f32 , dist : 0.0_f32 , hdg : 0.0_f32 , hdg_acc : 0.0_f32 , tracking_status : CameraTrackingStatusFlags :: DEFAULT , } ; } impl Default for CAMERA_TRACKING_GEO_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRACKING_GEO_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 276u32 ; const NAME : & 'static str = "CAMERA_TRACKING_GEO_STATUS" ; const EXTRA_CRC : u8 = 18u8 ; const ENCODED_LEN : usize = 49usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . h_acc = buf . get_f32_le () ; __struct . v_acc = buf . get_f32_le () ; __struct . vel_n = buf . get_f32_le () ; __struct . vel_e = buf . get_f32_le () ; __struct . vel_d = buf . get_f32_le () ; __struct . vel_acc = buf . get_f32_le () ; __struct . dist = buf . get_f32_le () ; __struct . hdg = buf . get_f32_le () ; __struct . hdg_acc = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . tracking_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . h_acc) ; __tmp . put_f32_le (self . v_acc) ; __tmp . put_f32_le (self . vel_n) ; __tmp . put_f32_le (self . vel_e) ; __tmp . put_f32_le (self . vel_d) ; __tmp . put_f32_le (self . vel_acc) ; __tmp . put_f32_le (self . dist) ; __tmp . put_f32_le (self . hdg) ; __tmp . put_f32_le (self . hdg_acc) ; __tmp . put_u8 (self . tracking_status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { pub flags : GimbalManagerFlags , pub pitch : f32 , pub yaw : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , pitch : 0.0_f32 , yaw : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 288u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_MANUAL_CONTROL" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVCAN_NODE_STATUS_DATA { pub time_usec : u64 , pub uptime_sec : u32 , pub vendor_specific_status_code : u16 , pub health : UavcanNodeHealth , pub mode : UavcanNodeMode , pub sub_mode : u8 , } impl UAVCAN_NODE_STATUS_DATA { pub const ENCODED_LEN : usize = 17usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime_sec : 0_u32 , vendor_specific_status_code : 0_u16 , health : UavcanNodeHealth :: DEFAULT , mode : UavcanNodeMode :: DEFAULT , sub_mode : 0_u8 , } ; } impl Default for UAVCAN_NODE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVCAN_NODE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 310u32 ; const NAME : & 'static str = "UAVCAN_NODE_STATUS" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 17usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime_sec = buf . get_u32_le () ; __struct . vendor_specific_status_code = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . health = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavcanNodeHealth" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavcanNodeMode" , value : tmp as u32 }) ? ; __struct . sub_mode = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime_sec) ; __tmp . put_u16_le (self . vendor_specific_status_code) ; __tmp . put_u8 (self . health as u8) ; __tmp . put_u8 (self . mode as u8) ; __tmp . put_u8 (self . sub_mode) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_GLOBAL_ORIGIN_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , } impl GPS_GLOBAL_ORIGIN_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , } ; } impl Default for GPS_GLOBAL_ORIGIN_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_GLOBAL_ORIGIN_DATA { type Message = MavMessage ; const ID : u32 = 49u32 ; const NAME : & 'static str = "GPS_GLOBAL_ORIGIN" ; const EXTRA_CRC : u8 = 39u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EFI_STATUS_DATA { pub ecu_index : f32 , pub rpm : f32 , pub fuel_consumed : f32 , pub fuel_flow : f32 , pub engine_load : f32 , pub throttle_position : f32 , pub spark_dwell_time : f32 , pub barometric_pressure : f32 , pub intake_manifold_pressure : f32 , pub intake_manifold_temperature : f32 , pub cylinder_head_temperature : f32 , pub ignition_timing : f32 , pub injection_time : f32 , pub exhaust_gas_temperature : f32 , pub throttle_out : f32 , pub pt_compensation : f32 , pub health : u8 , } impl EFI_STATUS_DATA { pub const ENCODED_LEN : usize = 65usize ; pub const DEFAULT : Self = Self { ecu_index : 0.0_f32 , rpm : 0.0_f32 , fuel_consumed : 0.0_f32 , fuel_flow : 0.0_f32 , engine_load : 0.0_f32 , throttle_position : 0.0_f32 , spark_dwell_time : 0.0_f32 , barometric_pressure : 0.0_f32 , intake_manifold_pressure : 0.0_f32 , intake_manifold_temperature : 0.0_f32 , cylinder_head_temperature : 0.0_f32 , ignition_timing : 0.0_f32 , injection_time : 0.0_f32 , exhaust_gas_temperature : 0.0_f32 , throttle_out : 0.0_f32 , pt_compensation : 0.0_f32 , health : 0_u8 , } ; } impl Default for EFI_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EFI_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 225u32 ; const NAME : & 'static str = "EFI_STATUS" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 65usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ecu_index = buf . get_f32_le () ; __struct . rpm = buf . get_f32_le () ; __struct . fuel_consumed = buf . get_f32_le () ; __struct . fuel_flow = buf . get_f32_le () ; __struct . engine_load = buf . get_f32_le () ; __struct . throttle_position = buf . get_f32_le () ; __struct . spark_dwell_time = buf . get_f32_le () ; __struct . barometric_pressure = buf . get_f32_le () ; __struct . intake_manifold_pressure = buf . get_f32_le () ; __struct . intake_manifold_temperature = buf . get_f32_le () ; __struct . cylinder_head_temperature = buf . get_f32_le () ; __struct . ignition_timing = buf . get_f32_le () ; __struct . injection_time = buf . get_f32_le () ; __struct . exhaust_gas_temperature = buf . get_f32_le () ; __struct . throttle_out = buf . get_f32_le () ; __struct . pt_compensation = buf . get_f32_le () ; __struct . health = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . ecu_index) ; __tmp . put_f32_le (self . rpm) ; __tmp . put_f32_le (self . fuel_consumed) ; __tmp . put_f32_le (self . fuel_flow) ; __tmp . put_f32_le (self . engine_load) ; __tmp . put_f32_le (self . throttle_position) ; __tmp . put_f32_le (self . spark_dwell_time) ; __tmp . put_f32_le (self . barometric_pressure) ; __tmp . put_f32_le (self . intake_manifold_pressure) ; __tmp . put_f32_le (self . intake_manifold_temperature) ; __tmp . put_f32_le (self . cylinder_head_temperature) ; __tmp . put_f32_le (self . ignition_timing) ; __tmp . put_f32_le (self . injection_time) ; __tmp . put_f32_le (self . exhaust_gas_temperature) ; __tmp . put_f32_le (self . throttle_out) ; __tmp . put_f32_le (self . pt_compensation) ; __tmp . put_u8 (self . health) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_QUATERNION_DATA { pub time_boot_ms : u32 , pub q1 : f32 , pub q2 : f32 , pub q3 : f32 , pub q4 : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , } impl ATTITUDE_QUATERNION_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q1 : 0.0_f32 , q2 : 0.0_f32 , q3 : 0.0_f32 , q4 : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , } ; } impl Default for ATTITUDE_QUATERNION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_QUATERNION_DATA { type Message = MavMessage ; const ID : u32 = 31u32 ; const NAME : & 'static str = "ATTITUDE_QUATERNION" ; const EXTRA_CRC : u8 = 246u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . q1 = buf . get_f32_le () ; __struct . q2 = buf . get_f32_le () ; __struct . q3 = buf . get_f32_le () ; __struct . q4 = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . q1) ; __tmp . put_f32_le (self . q2) ; __tmp . put_f32_le (self . q3) ; __tmp . put_f32_le (self . q4) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_IMAGE_CAPTURED_DATA { pub time_utc : u64 , pub time_boot_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub image_index : i32 , pub camera_id : u8 , pub capture_result : i8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub file_url : [u8 ; 205] , } impl CAMERA_IMAGE_CAPTURED_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { time_utc : 0_u64 , time_boot_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , q : [0.0_f32 ; 4usize] , image_index : 0_i32 , camera_id : 0_u8 , capture_result : 0_i8 , file_url : [0_u8 ; 205usize] , } ; } impl Default for CAMERA_IMAGE_CAPTURED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_IMAGE_CAPTURED_DATA { type Message = MavMessage ; const ID : u32 = 263u32 ; const NAME : & 'static str = "CAMERA_IMAGE_CAPTURED" ; const EXTRA_CRC : u8 = 133u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_utc = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . image_index = buf . get_i32_le () ; __struct . camera_id = buf . get_u8 () ; __struct . capture_result = buf . get_i8 () ; for v in & mut __struct . file_url { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_utc) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_i32_le (self . image_index) ; __tmp . put_u8 (self . camera_id) ; __tmp . put_i8 (self . capture_result) ; for val in & self . file_url { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_yaw : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_yaw : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub command : [u16 ; 5] , pub valid_points : u8 , } impl TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { pub const ENCODED_LEN : usize = 239usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , pos_x : [0.0_f32 ; 5usize] , pos_y : [0.0_f32 ; 5usize] , pos_z : [0.0_f32 ; 5usize] , vel_x : [0.0_f32 ; 5usize] , vel_y : [0.0_f32 ; 5usize] , vel_z : [0.0_f32 ; 5usize] , acc_x : [0.0_f32 ; 5usize] , acc_y : [0.0_f32 ; 5usize] , acc_z : [0.0_f32 ; 5usize] , pos_yaw : [0.0_f32 ; 5usize] , vel_yaw : [0.0_f32 ; 5usize] , command : [0_u16 ; 5usize] , valid_points : 0_u8 , } ; } impl Default for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { type Message = MavMessage ; const ID : u32 = 332u32 ; const NAME : & 'static str = "TRAJECTORY_REPRESENTATION_WAYPOINTS" ; const EXTRA_CRC : u8 = 236u8 ; const ENCODED_LEN : usize = 239usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . pos_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_yaw { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_yaw { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . command { let val = buf . get_u16_le () ; * v = val ; } __struct . valid_points = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . pos_x { __tmp . put_f32_le (* val) ; } for val in & self . pos_y { __tmp . put_f32_le (* val) ; } for val in & self . pos_z { __tmp . put_f32_le (* val) ; } for val in & self . vel_x { __tmp . put_f32_le (* val) ; } for val in & self . vel_y { __tmp . put_f32_le (* val) ; } for val in & self . vel_z { __tmp . put_f32_le (* val) ; } for val in & self . acc_x { __tmp . put_f32_le (* val) ; } for val in & self . acc_y { __tmp . put_f32_le (* val) ; } for val in & self . acc_z { __tmp . put_f32_le (* val) ; } for val in & self . pos_yaw { __tmp . put_f32_le (* val) ; } for val in & self . vel_yaw { __tmp . put_f32_le (* val) ; } for val in & self . command { __tmp . put_u16_le (* val) ; } __tmp . put_u8 (self . valid_points) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CELLULAR_STATUS_DATA { pub mcc : u16 , pub mnc : u16 , pub lac : u16 , pub status : CellularStatusFlag , pub failure_reason : CellularNetworkFailedReason , pub mavtype : CellularNetworkRadioType , pub quality : u8 , } impl CELLULAR_STATUS_DATA { pub const ENCODED_LEN : usize = 10usize ; pub const DEFAULT : Self = Self { mcc : 0_u16 , mnc : 0_u16 , lac : 0_u16 , status : CellularStatusFlag :: DEFAULT , failure_reason : CellularNetworkFailedReason :: DEFAULT , mavtype : CellularNetworkRadioType :: DEFAULT , quality : 0_u8 , } ; } impl Default for CELLULAR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CELLULAR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 334u32 ; const NAME : & 'static str = "CELLULAR_STATUS" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 10usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mcc = buf . get_u16_le () ; __struct . mnc = buf . get_u16_le () ; __struct . lac = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularStatusFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . failure_reason = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularNetworkFailedReason" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularNetworkRadioType" , value : tmp as u32 }) ? ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . mcc) ; __tmp . put_u16_le (self . mnc) ; __tmp . put_u16_le (self . lac) ; __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . failure_reason as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ORBIT_EXECUTION_STATUS_DATA { pub time_usec : u64 , pub radius : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub frame : MavFrame , } impl ORBIT_EXECUTION_STATUS_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , radius : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , frame : MavFrame :: DEFAULT , } ; } impl Default for ORBIT_EXECUTION_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ORBIT_EXECUTION_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 360u32 ; const NAME : & 'static str = "ORBIT_EXECUTION_STATUS" ; const EXTRA_CRC : u8 = 11u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . radius = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . radius) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TIME_ESTIMATE_TO_TARGET_DATA { pub safe_return : i32 , pub land : i32 , pub mission_next_item : i32 , pub mission_end : i32 , pub commanded_action : i32 , } impl TIME_ESTIMATE_TO_TARGET_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { safe_return : 0_i32 , land : 0_i32 , mission_next_item : 0_i32 , mission_end : 0_i32 , commanded_action : 0_i32 , } ; } impl Default for TIME_ESTIMATE_TO_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TIME_ESTIMATE_TO_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 380u32 ; const NAME : & 'static str = "TIME_ESTIMATE_TO_TARGET" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . safe_return = buf . get_i32_le () ; __struct . land = buf . get_i32_le () ; __struct . mission_next_item = buf . get_i32_le () ; __struct . mission_end = buf . get_i32_le () ; __struct . commanded_action = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . safe_return) ; __tmp . put_i32_le (self . land) ; __tmp . put_i32_le (self . mission_next_item) ; __tmp . put_i32_le (self . mission_end) ; __tmp . put_i32_le (self . commanded_action) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_PRESSURE_DATA { pub time_usec : u64 , pub press_abs : i16 , pub press_diff1 : i16 , pub press_diff2 : i16 , pub temperature : i16 , } impl RAW_PRESSURE_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , press_abs : 0_i16 , press_diff1 : 0_i16 , press_diff2 : 0_i16 , temperature : 0_i16 , } ; } impl Default for RAW_PRESSURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_PRESSURE_DATA { type Message = MavMessage ; const ID : u32 = 28u32 ; const NAME : & 'static str = "RAW_PRESSURE" ; const EXTRA_CRC : u8 = 67u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . press_abs = buf . get_i16_le () ; __struct . press_diff1 = buf . get_i16_le () ; __struct . press_diff2 = buf . get_i16_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i16_le (self . press_abs) ; __tmp . put_i16_le (self . press_diff1) ; __tmp . put_i16_le (self . press_diff2) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WINCH_STATUS_DATA { pub time_usec : u64 , pub line_length : f32 , pub speed : f32 , pub tension : f32 , pub voltage : f32 , pub current : f32 , pub status : MavWinchStatusFlag , pub temperature : i16 , } impl WINCH_STATUS_DATA { pub const ENCODED_LEN : usize = 34usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , line_length : 0.0_f32 , speed : 0.0_f32 , tension : 0.0_f32 , voltage : 0.0_f32 , current : 0.0_f32 , status : MavWinchStatusFlag :: DEFAULT , temperature : 0_i16 , } ; } impl Default for WINCH_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WINCH_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 9005u32 ; const NAME : & 'static str = "WINCH_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 34usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . line_length = buf . get_f32_le () ; __struct . speed = buf . get_f32_le () ; __struct . tension = buf . get_f32_le () ; __struct . voltage = buf . get_f32_le () ; __struct . current = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . status = MavWinchStatusFlag :: from_bits (tmp & MavWinchStatusFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavWinchStatusFlag" , value : tmp as u32 }) ? ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . line_length) ; __tmp . put_f32_le (self . speed) ; __tmp . put_f32_le (self . tension) ; __tmp . put_f32_le (self . voltage) ; __tmp . put_f32_le (self . current) ; __tmp . put_u32_le (self . status . bits ()) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_OPERATOR_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub operator_id_type : MavOdidOperatorIdType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub operator_id : [u8 ; 20] , } impl OPEN_DRONE_ID_OPERATOR_ID_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , operator_id_type : MavOdidOperatorIdType :: DEFAULT , operator_id : [0_u8 ; 20usize] , } ; } impl Default for OPEN_DRONE_ID_OPERATOR_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_OPERATOR_ID_DATA { type Message = MavMessage ; const ID : u32 = 12905u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_OPERATOR_ID" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . operator_id_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidOperatorIdType" , value : tmp as u32 }) ? ; for v in & mut __struct . operator_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . operator_id_type as u8) ; for val in & self . operator_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_TARGET_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub body_roll_rate : f32 , pub body_pitch_rate : f32 , pub body_yaw_rate : f32 , pub thrust : f32 , pub type_mask : AttitudeTargetTypemask , } impl ATTITUDE_TARGET_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , body_roll_rate : 0.0_f32 , body_pitch_rate : 0.0_f32 , body_yaw_rate : 0.0_f32 , thrust : 0.0_f32 , type_mask : AttitudeTargetTypemask :: DEFAULT , } ; } impl Default for ATTITUDE_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 83u32 ; const NAME : & 'static str = "ATTITUDE_TARGET" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . body_roll_rate = buf . get_f32_le () ; __struct . body_pitch_rate = buf . get_f32_le () ; __struct . body_yaw_rate = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . type_mask = AttitudeTargetTypemask :: from_bits (tmp & AttitudeTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AttitudeTargetTypemask" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . body_roll_rate) ; __tmp . put_f32_le (self . body_pitch_rate) ; __tmp . put_f32_le (self . body_yaw_rate) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . type_mask . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub failure_flags : GimbalDeviceErrorFlags , pub flags : GimbalDeviceFlags , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , failure_flags : GimbalDeviceErrorFlags :: DEFAULT , flags : GimbalDeviceFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 285u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_ATTITUDE_STATUS" ; const EXTRA_CRC : u8 = 137u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . failure_flags = GimbalDeviceErrorFlags :: from_bits (tmp & GimbalDeviceErrorFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceErrorFlags" , value : tmp as u32 }) ? ; let tmp = buf . get_u16_le () ; __struct . flags = GimbalDeviceFlags :: from_bits (tmp & GimbalDeviceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u32_le (self . failure_flags . bits ()) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ISBD_LINK_STATUS_DATA { pub timestamp : u64 , pub last_heartbeat : u64 , pub failed_sessions : u16 , pub successful_sessions : u16 , pub signal_quality : u8 , pub ring_pending : u8 , pub tx_session_pending : u8 , pub rx_session_pending : u8 , } impl ISBD_LINK_STATUS_DATA { pub const ENCODED_LEN : usize = 24usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , last_heartbeat : 0_u64 , failed_sessions : 0_u16 , successful_sessions : 0_u16 , signal_quality : 0_u8 , ring_pending : 0_u8 , tx_session_pending : 0_u8 , rx_session_pending : 0_u8 , } ; } impl Default for ISBD_LINK_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ISBD_LINK_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 335u32 ; const NAME : & 'static str = "ISBD_LINK_STATUS" ; const EXTRA_CRC : u8 = 225u8 ; const ENCODED_LEN : usize = 24usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . last_heartbeat = buf . get_u64_le () ; __struct . failed_sessions = buf . get_u16_le () ; __struct . successful_sessions = buf . get_u16_le () ; __struct . signal_quality = buf . get_u8 () ; __struct . ring_pending = buf . get_u8 () ; __struct . tx_session_pending = buf . get_u8 () ; __struct . rx_session_pending = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u64_le (self . last_heartbeat) ; __tmp . put_u16_le (self . failed_sessions) ; __tmp . put_u16_le (self . successful_sessions) ; __tmp . put_u8 (self . signal_quality) ; __tmp . put_u8 (self . ring_pending) ; __tmp . put_u8 (self . tx_session_pending) ; __tmp . put_u8 (self . rx_session_pending) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TUNNEL_DATA { pub payload_type : MavTunnelPayloadType , pub target_system : u8 , pub target_component : u8 , pub payload_length : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 128] , } impl TUNNEL_DATA { pub const ENCODED_LEN : usize = 133usize ; pub const DEFAULT : Self = Self { payload_type : MavTunnelPayloadType :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , payload_length : 0_u8 , payload : [0_u8 ; 128usize] , } ; } impl Default for TUNNEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TUNNEL_DATA { type Message = MavMessage ; const ID : u32 = 385u32 ; const NAME : & 'static str = "TUNNEL" ; const EXTRA_CRC : u8 = 147u8 ; const ENCODED_LEN : usize = 133usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . payload_type = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavTunnelPayloadType" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . payload_length = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . payload_type as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . payload_length) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OBSTACLE_DISTANCE_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub distances : [u16 ; 72] , pub min_distance : u16 , pub max_distance : u16 , pub sensor_type : MavDistanceSensor , pub increment : u8 , } impl OBSTACLE_DISTANCE_DATA { pub const ENCODED_LEN : usize = 158usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , distances : [0_u16 ; 72usize] , min_distance : 0_u16 , max_distance : 0_u16 , sensor_type : MavDistanceSensor :: DEFAULT , increment : 0_u8 , } ; } impl Default for OBSTACLE_DISTANCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OBSTACLE_DISTANCE_DATA { type Message = MavMessage ; const ID : u32 = 330u32 ; const NAME : & 'static str = "OBSTACLE_DISTANCE" ; const EXTRA_CRC : u8 = 23u8 ; const ENCODED_LEN : usize = 158usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . distances { let val = buf . get_u16_le () ; * v = val ; } __struct . min_distance = buf . get_u16_le () ; __struct . max_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . sensor_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; __struct . increment = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . distances { __tmp . put_u16_le (* val) ; } __tmp . put_u16_le (self . min_distance) ; __tmp . put_u16_le (self . max_distance) ; __tmp . put_u8 (self . sensor_type as u8) ; __tmp . put_u8 (self . increment) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SAFETY_ALLOWED_AREA_DATA { pub p1x : f32 , pub p1y : f32 , pub p1z : f32 , pub p2x : f32 , pub p2y : f32 , pub p2z : f32 , pub frame : MavFrame , } impl SAFETY_ALLOWED_AREA_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { p1x : 0.0_f32 , p1y : 0.0_f32 , p1z : 0.0_f32 , p2x : 0.0_f32 , p2y : 0.0_f32 , p2z : 0.0_f32 , frame : MavFrame :: DEFAULT , } ; } impl Default for SAFETY_ALLOWED_AREA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SAFETY_ALLOWED_AREA_DATA { type Message = MavMessage ; const ID : u32 = 55u32 ; const NAME : & 'static str = "SAFETY_ALLOWED_AREA" ; const EXTRA_CRC : u8 = 3u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . p1x = buf . get_f32_le () ; __struct . p1y = buf . get_f32_le () ; __struct . p1z = buf . get_f32_le () ; __struct . p2x = buf . get_f32_le () ; __struct . p2y = buf . get_f32_le () ; __struct . p2z = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . p1x) ; __tmp . put_f32_le (self . p1y) ; __tmp . put_f32_le (self . p1z) ; __tmp . put_f32_le (self . p2x) ; __tmp . put_f32_le (self . p2y) ; __tmp . put_f32_le (self . p2z) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_FLOAT_ARRAY_DATA { pub time_usec : u64 , pub array_id : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl DEBUG_FLOAT_ARRAY_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , array_id : 0_u16 , name : [0_u8 ; 10usize] , } ; } impl Default for DEBUG_FLOAT_ARRAY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_FLOAT_ARRAY_DATA { type Message = MavMessage ; const ID : u32 = 350u32 ; const NAME : & 'static str = "DEBUG_FLOAT_ARRAY" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . array_id = buf . get_u16_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u16_le (self . array_id) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SERVO_OUTPUT_RAW_DATA { pub time_usec : u32 , pub servo1_raw : u16 , pub servo2_raw : u16 , pub servo3_raw : u16 , pub servo4_raw : u16 , pub servo5_raw : u16 , pub servo6_raw : u16 , pub servo7_raw : u16 , pub servo8_raw : u16 , pub port : u8 , } impl SERVO_OUTPUT_RAW_DATA { pub const ENCODED_LEN : usize = 21usize ; pub const DEFAULT : Self = Self { time_usec : 0_u32 , servo1_raw : 0_u16 , servo2_raw : 0_u16 , servo3_raw : 0_u16 , servo4_raw : 0_u16 , servo5_raw : 0_u16 , servo6_raw : 0_u16 , servo7_raw : 0_u16 , servo8_raw : 0_u16 , port : 0_u8 , } ; } impl Default for SERVO_OUTPUT_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SERVO_OUTPUT_RAW_DATA { type Message = MavMessage ; const ID : u32 = 36u32 ; const NAME : & 'static str = "SERVO_OUTPUT_RAW" ; const EXTRA_CRC : u8 = 222u8 ; const ENCODED_LEN : usize = 21usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u32_le () ; __struct . servo1_raw = buf . get_u16_le () ; __struct . servo2_raw = buf . get_u16_le () ; __struct . servo3_raw = buf . get_u16_le () ; __struct . servo4_raw = buf . get_u16_le () ; __struct . servo5_raw = buf . get_u16_le () ; __struct . servo6_raw = buf . get_u16_le () ; __struct . servo7_raw = buf . get_u16_le () ; __struct . servo8_raw = buf . get_u16_le () ; __struct . port = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_usec) ; __tmp . put_u16_le (self . servo1_raw) ; __tmp . put_u16_le (self . servo2_raw) ; __tmp . put_u16_le (self . servo3_raw) ; __tmp . put_u16_le (self . servo4_raw) ; __tmp . put_u16_le (self . servo5_raw) ; __tmp . put_u16_le (self . servo6_raw) ; __tmp . put_u16_le (self . servo7_raw) ; __tmp . put_u16_le (self . servo8_raw) ; __tmp . put_u8 (self . port) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DISTANCE_SENSOR_DATA { pub time_boot_ms : u32 , pub min_distance : u16 , pub max_distance : u16 , pub current_distance : u16 , pub mavtype : MavDistanceSensor , pub id : u8 , pub orientation : MavSensorOrientation , pub covariance : u8 , } impl DISTANCE_SENSOR_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , min_distance : 0_u16 , max_distance : 0_u16 , current_distance : 0_u16 , mavtype : MavDistanceSensor :: DEFAULT , id : 0_u8 , orientation : MavSensorOrientation :: DEFAULT , covariance : 0_u8 , } ; } impl Default for DISTANCE_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DISTANCE_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 132u32 ; const NAME : & 'static str = "DISTANCE_SENSOR" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . min_distance = buf . get_u16_le () ; __struct . max_distance = buf . get_u16_le () ; __struct . current_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . orientation = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavSensorOrientation" , value : tmp as u32 }) ? ; __struct . covariance = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . min_distance) ; __tmp . put_u16_le (self . max_distance) ; __tmp . put_u16_le (self . current_distance) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . orientation as u8) ; __tmp . put_u8 (self . covariance) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_MAP_RC_DATA { pub param_value0 : f32 , pub scale : f32 , pub param_value_min : f32 , pub param_value_max : f32 , pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub parameter_rc_channel_index : u8 , } impl PARAM_MAP_RC_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param_value0 : 0.0_f32 , scale : 0.0_f32 , param_value_min : 0.0_f32 , param_value_max : 0.0_f32 , param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , parameter_rc_channel_index : 0_u8 , } ; } impl Default for PARAM_MAP_RC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_MAP_RC_DATA { type Message = MavMessage ; const ID : u32 = 50u32 ; const NAME : & 'static str = "PARAM_MAP_RC" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value0 = buf . get_f32_le () ; __struct . scale = buf . get_f32_le () ; __struct . param_value_min = buf . get_f32_le () ; __struct . param_value_max = buf . get_f32_le () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } __struct . parameter_rc_channel_index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value0) ; __tmp . put_f32_le (self . scale) ; __tmp . put_f32_le (self . param_value_min) ; __tmp . put_f32_le (self . param_value_max) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . parameter_rc_channel_index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TRAJECTORY_REPRESENTATION_BEZIER_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub delta : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_yaw : [f32 ; 5] , pub valid_points : u8 , } impl TRAJECTORY_REPRESENTATION_BEZIER_DATA { pub const ENCODED_LEN : usize = 109usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , pos_x : [0.0_f32 ; 5usize] , pos_y : [0.0_f32 ; 5usize] , pos_z : [0.0_f32 ; 5usize] , delta : [0.0_f32 ; 5usize] , pos_yaw : [0.0_f32 ; 5usize] , valid_points : 0_u8 , } ; } impl Default for TRAJECTORY_REPRESENTATION_BEZIER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TRAJECTORY_REPRESENTATION_BEZIER_DATA { type Message = MavMessage ; const ID : u32 = 333u32 ; const NAME : & 'static str = "TRAJECTORY_REPRESENTATION_BEZIER" ; const EXTRA_CRC : u8 = 231u8 ; const ENCODED_LEN : usize = 109usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . pos_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . delta { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_yaw { let val = buf . get_f32_le () ; * v = val ; } __struct . valid_points = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . pos_x { __tmp . put_f32_le (* val) ; } for val in & self . pos_y { __tmp . put_f32_le (* val) ; } for val in & self . pos_z { __tmp . put_f32_le (* val) ; } for val in & self . delta { __tmp . put_f32_le (* val) ; } for val in & self . pos_yaw { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . valid_points) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GENERATOR_STATUS_DATA { pub status : MavGeneratorStatusFlag , pub battery_current : f32 , pub load_current : f32 , pub power_generated : f32 , pub bus_voltage : f32 , pub bat_current_setpoint : f32 , pub runtime : u32 , pub time_until_maintenance : i32 , pub generator_speed : u16 , pub rectifier_temperature : i16 , pub generator_temperature : i16 , } impl GENERATOR_STATUS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { status : MavGeneratorStatusFlag :: DEFAULT , battery_current : 0.0_f32 , load_current : 0.0_f32 , power_generated : 0.0_f32 , bus_voltage : 0.0_f32 , bat_current_setpoint : 0.0_f32 , runtime : 0_u32 , time_until_maintenance : 0_i32 , generator_speed : 0_u16 , rectifier_temperature : 0_i16 , generator_temperature : 0_i16 , } ; } impl Default for GENERATOR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GENERATOR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 373u32 ; const NAME : & 'static str = "GENERATOR_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u64_le () ; __struct . status = MavGeneratorStatusFlag :: from_bits (tmp & MavGeneratorStatusFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavGeneratorStatusFlag" , value : tmp as u32 }) ? ; __struct . battery_current = buf . get_f32_le () ; __struct . load_current = buf . get_f32_le () ; __struct . power_generated = buf . get_f32_le () ; __struct . bus_voltage = buf . get_f32_le () ; __struct . bat_current_setpoint = buf . get_f32_le () ; __struct . runtime = buf . get_u32_le () ; __struct . time_until_maintenance = buf . get_i32_le () ; __struct . generator_speed = buf . get_u16_le () ; __struct . rectifier_temperature = buf . get_i16_le () ; __struct . generator_temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . status . bits ()) ; __tmp . put_f32_le (self . battery_current) ; __tmp . put_f32_le (self . load_current) ; __tmp . put_f32_le (self . power_generated) ; __tmp . put_f32_le (self . bus_voltage) ; __tmp . put_f32_le (self . bat_current_setpoint) ; __tmp . put_u32_le (self . runtime) ; __tmp . put_i32_le (self . time_until_maintenance) ; __tmp . put_u16_le (self . generator_speed) ; __tmp . put_i16_le (self . rectifier_temperature) ; __tmp . put_i16_le (self . generator_temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_POSITION_TARGET_LOCAL_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub target_system : u8 , pub target_component : u8 , pub coordinate_frame : MavFrame , } impl SET_POSITION_TARGET_LOCAL_NED_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for SET_POSITION_TARGET_LOCAL_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_POSITION_TARGET_LOCAL_NED_DATA { type Message = MavMessage ; const ID : u32 = 84u32 ; const NAME : & 'static str = "SET_POSITION_TARGET_LOCAL_NED" ; const EXTRA_CRC : u8 = 143u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAN_FRAME_DATA { pub id : u32 , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 8] , } impl CAN_FRAME_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , len : 0_u8 , data : [0_u8 ; 8usize] , } ; } impl Default for CAN_FRAME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAN_FRAME_DATA { type Message = MavMessage ; const ID : u32 = 386u32 ; const NAME : & 'static str = "CAN_FRAME" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU2_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU2_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU2_DATA { type Message = MavMessage ; const ID : u32 = 116u32 ; const NAME : & 'static str = "SCALED_IMU2" ; const EXTRA_CRC : u8 = 76u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_LOCATION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude_barometric : f32 , pub altitude_geodetic : f32 , pub height : f32 , pub timestamp : f32 , pub direction : u16 , pub speed_horizontal : u16 , pub speed_vertical : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub status : MavOdidStatus , pub height_reference : MavOdidHeightRef , pub horizontal_accuracy : MavOdidHorAcc , pub vertical_accuracy : MavOdidVerAcc , pub barometer_accuracy : MavOdidVerAcc , pub speed_accuracy : MavOdidSpeedAcc , pub timestamp_accuracy : MavOdidTimeAcc , } impl OPEN_DRONE_ID_LOCATION_DATA { pub const ENCODED_LEN : usize = 59usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude_barometric : 0.0_f32 , altitude_geodetic : 0.0_f32 , height : 0.0_f32 , timestamp : 0.0_f32 , direction : 0_u16 , speed_horizontal : 0_u16 , speed_vertical : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , status : MavOdidStatus :: DEFAULT , height_reference : MavOdidHeightRef :: DEFAULT , horizontal_accuracy : MavOdidHorAcc :: DEFAULT , vertical_accuracy : MavOdidVerAcc :: DEFAULT , barometer_accuracy : MavOdidVerAcc :: DEFAULT , speed_accuracy : MavOdidSpeedAcc :: DEFAULT , timestamp_accuracy : MavOdidTimeAcc :: DEFAULT , } ; } impl Default for OPEN_DRONE_ID_LOCATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_LOCATION_DATA { type Message = MavMessage ; const ID : u32 = 12901u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_LOCATION" ; const EXTRA_CRC : u8 = 254u8 ; const ENCODED_LEN : usize = 59usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude_barometric = buf . get_f32_le () ; __struct . altitude_geodetic = buf . get_f32_le () ; __struct . height = buf . get_f32_le () ; __struct . timestamp = buf . get_f32_le () ; __struct . direction = buf . get_u16_le () ; __struct . speed_horizontal = buf . get_u16_le () ; __struct . speed_vertical = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . height_reference = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidHeightRef" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . horizontal_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidHorAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . vertical_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidVerAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . barometer_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidVerAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . speed_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidSpeedAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . timestamp_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidTimeAcc" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_f32_le (self . altitude_barometric) ; __tmp . put_f32_le (self . altitude_geodetic) ; __tmp . put_f32_le (self . height) ; __tmp . put_f32_le (self . timestamp) ; __tmp . put_u16_le (self . direction) ; __tmp . put_u16_le (self . speed_horizontal) ; __tmp . put_i16_le (self . speed_vertical) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . height_reference as u8) ; __tmp . put_u8 (self . horizontal_accuracy as u8) ; __tmp . put_u8 (self . vertical_accuracy as u8) ; __tmp . put_u8 (self . barometer_accuracy as u8) ; __tmp . put_u8 (self . speed_accuracy as u8) ; __tmp . put_u8 (self . timestamp_accuracy as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_LONG_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub param5 : f32 , pub param6 : f32 , pub param7 : f32 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub confirmation : u8 , } impl COMMAND_LONG_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , param5 : 0.0_f32 , param6 : 0.0_f32 , param7 : 0.0_f32 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , confirmation : 0_u8 , } ; } impl Default for COMMAND_LONG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_LONG_DATA { type Message = MavMessage ; const ID : u32 = 76u32 ; const NAME : & 'static str = "COMMAND_LONG" ; const EXTRA_CRC : u8 = 152u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . param5 = buf . get_f32_le () ; __struct . param6 = buf . get_f32_le () ; __struct . param7 = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . confirmation = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_f32_le (self . param5) ; __tmp . put_f32_le (self . param6) ; __tmp . put_f32_le (self . param7) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . confirmation) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { type Message = MavMessage ; const ID : u32 = 89u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET" ; const EXTRA_CRC : u8 = 231u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POSITION_TARGET_GLOBAL_INT_DATA { pub time_boot_ms : u32 , pub lat_int : i32 , pub lon_int : i32 , pub alt : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub coordinate_frame : MavFrame , } impl POSITION_TARGET_GLOBAL_INT_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_int : 0_i32 , lon_int : 0_i32 , alt : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for POSITION_TARGET_GLOBAL_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POSITION_TARGET_GLOBAL_INT_DATA { type Message = MavMessage ; const ID : u32 = 87u32 ; const NAME : & 'static str = "POSITION_TARGET_GLOBAL_INT" ; const EXTRA_CRC : u8 = 150u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_int = buf . get_i32_le () ; __struct . lon_int = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_int) ; __tmp . put_i32_le (self . lon_int) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_CONTROLS_DATA { pub time_usec : u64 , pub roll_ailerons : f32 , pub pitch_elevator : f32 , pub yaw_rudder : f32 , pub throttle : f32 , pub aux1 : f32 , pub aux2 : f32 , pub aux3 : f32 , pub aux4 : f32 , pub mode : MavMode , pub nav_mode : u8 , } impl HIL_CONTROLS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , roll_ailerons : 0.0_f32 , pitch_elevator : 0.0_f32 , yaw_rudder : 0.0_f32 , throttle : 0.0_f32 , aux1 : 0.0_f32 , aux2 : 0.0_f32 , aux3 : 0.0_f32 , aux4 : 0.0_f32 , mode : MavMode :: DEFAULT , nav_mode : 0_u8 , } ; } impl Default for HIL_CONTROLS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_CONTROLS_DATA { type Message = MavMessage ; const ID : u32 = 91u32 ; const NAME : & 'static str = "HIL_CONTROLS" ; const EXTRA_CRC : u8 = 63u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . roll_ailerons = buf . get_f32_le () ; __struct . pitch_elevator = buf . get_f32_le () ; __struct . yaw_rudder = buf . get_f32_le () ; __struct . throttle = buf . get_f32_le () ; __struct . aux1 = buf . get_f32_le () ; __struct . aux2 = buf . get_f32_le () ; __struct . aux3 = buf . get_f32_le () ; __struct . aux4 = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMode" , value : tmp as u32 }) ? ; __struct . nav_mode = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . roll_ailerons) ; __tmp . put_f32_le (self . pitch_elevator) ; __tmp . put_f32_le (self . yaw_rudder) ; __tmp . put_f32_le (self . throttle) ; __tmp . put_f32_le (self . aux1) ; __tmp . put_f32_le (self . aux2) ; __tmp . put_f32_le (self . aux3) ; __tmp . put_f32_le (self . aux4) ; __tmp . put_u8 (self . mode as u8) ; __tmp . put_u8 (self . nav_mode) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRACKING_IMAGE_STATUS_DATA { pub point_x : f32 , pub point_y : f32 , pub radius : f32 , pub rec_top_x : f32 , pub rec_top_y : f32 , pub rec_bottom_x : f32 , pub rec_bottom_y : f32 , pub tracking_status : CameraTrackingStatusFlags , pub tracking_mode : CameraTrackingMode , pub target_data : CameraTrackingTargetData , } impl CAMERA_TRACKING_IMAGE_STATUS_DATA { pub const ENCODED_LEN : usize = 31usize ; pub const DEFAULT : Self = Self { point_x : 0.0_f32 , point_y : 0.0_f32 , radius : 0.0_f32 , rec_top_x : 0.0_f32 , rec_top_y : 0.0_f32 , rec_bottom_x : 0.0_f32 , rec_bottom_y : 0.0_f32 , tracking_status : CameraTrackingStatusFlags :: DEFAULT , tracking_mode : CameraTrackingMode :: DEFAULT , target_data : CameraTrackingTargetData :: DEFAULT , } ; } impl Default for CAMERA_TRACKING_IMAGE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRACKING_IMAGE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 275u32 ; const NAME : & 'static str = "CAMERA_TRACKING_IMAGE_STATUS" ; const EXTRA_CRC : u8 = 126u8 ; const ENCODED_LEN : usize = 31usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . point_x = buf . get_f32_le () ; __struct . point_y = buf . get_f32_le () ; __struct . radius = buf . get_f32_le () ; __struct . rec_top_x = buf . get_f32_le () ; __struct . rec_top_y = buf . get_f32_le () ; __struct . rec_bottom_x = buf . get_f32_le () ; __struct . rec_bottom_y = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . tracking_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingStatusFlags" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . tracking_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingMode" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . target_data = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingTargetData" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . point_x) ; __tmp . put_f32_le (self . point_y) ; __tmp . put_f32_le (self . radius) ; __tmp . put_f32_le (self . rec_top_x) ; __tmp . put_f32_le (self . rec_top_y) ; __tmp . put_f32_le (self . rec_bottom_x) ; __tmp . put_f32_le (self . rec_bottom_y) ; __tmp . put_u8 (self . tracking_status as u8) ; __tmp . put_u8 (self . tracking_mode as u8) ; __tmp . put_u8 (self . target_data as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_QUATERNION_COV_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 9] , } impl ATTITUDE_QUATERNION_COV_DATA { pub const ENCODED_LEN : usize = 72usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , q : [0.0_f32 ; 4usize] , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , covariance : [0.0_f32 ; 9usize] , } ; } impl Default for ATTITUDE_QUATERNION_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_QUATERNION_COV_DATA { type Message = MavMessage ; const ID : u32 = 61u32 ; const NAME : & 'static str = "ATTITUDE_QUATERNION_COV" ; const EXTRA_CRC : u8 = 167u8 ; const ENCODED_LEN : usize = 72usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REQUEST_DATA_STREAM_DATA { pub req_message_rate : u16 , pub target_system : u8 , pub target_component : u8 , pub req_stream_id : u8 , pub start_stop : u8 , } impl REQUEST_DATA_STREAM_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { req_message_rate : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , req_stream_id : 0_u8 , start_stop : 0_u8 , } ; } impl Default for REQUEST_DATA_STREAM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REQUEST_DATA_STREAM_DATA { type Message = MavMessage ; const ID : u32 = 66u32 ; const NAME : & 'static str = "REQUEST_DATA_STREAM" ; const EXTRA_CRC : u8 = 148u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . req_message_rate = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . req_stream_id = buf . get_u8 () ; __struct . start_stop = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . req_message_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . req_stream_id) ; __tmp . put_u8 (self . start_stop) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_ERASE_DATA { pub target_system : u8 , pub target_component : u8 , } impl LOG_ERASE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_ERASE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_ERASE_DATA { type Message = MavMessage ; const ID : u32 = 121u32 ; const NAME : & 'static str = "LOG_ERASE" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RTCM_DATA_DATA { pub flags : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 180] , } impl GPS_RTCM_DATA_DATA { pub const ENCODED_LEN : usize = 182usize ; pub const DEFAULT : Self = Self { flags : 0_u8 , len : 0_u8 , data : [0_u8 ; 180usize] , } ; } impl Default for GPS_RTCM_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RTCM_DATA_DATA { type Message = MavMessage ; const ID : u32 = 233u32 ; const NAME : & 'static str = "GPS_RTCM_DATA" ; const EXTRA_CRC : u8 = 35u8 ; const ENCODED_LEN : usize = 182usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . flags = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . flags) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MOUNT_ORIENTATION_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl MOUNT_ORIENTATION_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for MOUNT_ORIENTATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MOUNT_ORIENTATION_DATA { type Message = MavMessage ; const ID : u32 = 265u32 ; const NAME : & 'static str = "MOUNT_ORIENTATION" ; const EXTRA_CRC : u8 = 26u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_BASIC_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub id_type : MavOdidIdType , pub ua_type : MavOdidUaType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uas_id : [u8 ; 20] , } impl OPEN_DRONE_ID_BASIC_ID_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , id_type : MavOdidIdType :: DEFAULT , ua_type : MavOdidUaType :: DEFAULT , uas_id : [0_u8 ; 20usize] , } ; } impl Default for OPEN_DRONE_ID_BASIC_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_BASIC_ID_DATA { type Message = MavMessage ; const ID : u32 = 12900u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_BASIC_ID" ; const EXTRA_CRC : u8 = 114u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . id_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidIdType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . ua_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidUaType" , value : tmp as u32 }) ? ; for v in & mut __struct . uas_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . id_type as u8) ; __tmp . put_u8 (self . ua_type as u8) ; for val in & self . uas_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_RC_INPUTS_RAW_DATA { pub time_usec : u64 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub chan9_raw : u16 , pub chan10_raw : u16 , pub chan11_raw : u16 , pub chan12_raw : u16 , pub rssi : u8 , } impl HIL_RC_INPUTS_RAW_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , chan9_raw : 0_u16 , chan10_raw : 0_u16 , chan11_raw : 0_u16 , chan12_raw : 0_u16 , rssi : 0_u8 , } ; } impl Default for HIL_RC_INPUTS_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_RC_INPUTS_RAW_DATA { type Message = MavMessage ; const ID : u32 = 92u32 ; const NAME : & 'static str = "HIL_RC_INPUTS_RAW" ; const EXTRA_CRC : u8 = 54u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . chan9_raw = buf . get_u16_le () ; __struct . chan10_raw = buf . get_u16_le () ; __struct . chan11_raw = buf . get_u16_le () ; __struct . chan12_raw = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u16_le (self . chan9_raw) ; __tmp . put_u16_le (self . chan10_raw) ; __tmp . put_u16_le (self . chan11_raw) ; __tmp . put_u16_le (self . chan12_raw) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_REACHED_DATA { pub seq : u16 , } impl MISSION_ITEM_REACHED_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , } ; } impl Default for MISSION_ITEM_REACHED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_REACHED_DATA { type Message = MavMessage ; const ID : u32 = 46u32 ; const NAME : & 'static str = "MISSION_ITEM_REACHED" ; const EXTRA_CRC : u8 = 11u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_ACTUATOR_CONTROLS_DATA { pub time_usec : u64 , pub flags : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 16] , pub mode : MavModeFlag , } impl HIL_ACTUATOR_CONTROLS_DATA { pub const ENCODED_LEN : usize = 81usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , flags : 0_u64 , controls : [0.0_f32 ; 16usize] , mode : MavModeFlag :: DEFAULT , } ; } impl Default for HIL_ACTUATOR_CONTROLS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_ACTUATOR_CONTROLS_DATA { type Message = MavMessage ; const ID : u32 = 93u32 ; const NAME : & 'static str = "HIL_ACTUATOR_CONTROLS" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 81usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . flags = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u64_le (self . flags) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . mode . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_MODE_DATA { pub custom_mode : u32 , pub target_system : u8 , pub base_mode : MavMode , } impl SET_MODE_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , target_system : 0_u8 , base_mode : MavMode :: DEFAULT , } ; } impl Default for SET_MODE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_MODE_DATA { type Message = MavMessage ; const ID : u32 = 11u32 ; const NAME : & 'static str = "SET_MODE" ; const EXTRA_CRC : u8 = 89u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . base_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMode" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . base_mode as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_LIST_DATA { pub start : u16 , pub end : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start : 0_u16 , end : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 117u32 ; const NAME : & 'static str = "LOG_REQUEST_LIST" ; const EXTRA_CRC : u8 = 128u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start = buf . get_u16_le () ; __struct . end = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . start) ; __tmp . put_u16_le (self . end) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGH_LATENCY2_DATA { pub timestamp : u32 , pub latitude : i32 , pub longitude : i32 , pub custom_mode : u16 , pub altitude : i16 , pub target_altitude : i16 , pub target_distance : u16 , pub wp_num : u16 , pub failure_flags : HlFailureFlag , pub mavtype : MavType , pub autopilot : MavAutopilot , pub heading : u8 , pub target_heading : u8 , pub throttle : u8 , pub airspeed : u8 , pub airspeed_sp : u8 , pub groundspeed : u8 , pub windspeed : u8 , pub wind_heading : u8 , pub eph : u8 , pub epv : u8 , pub temperature_air : i8 , pub climb_rate : i8 , pub battery : i8 , pub custom0 : i8 , pub custom1 : i8 , pub custom2 : i8 , } impl HIGH_LATENCY2_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { timestamp : 0_u32 , latitude : 0_i32 , longitude : 0_i32 , custom_mode : 0_u16 , altitude : 0_i16 , target_altitude : 0_i16 , target_distance : 0_u16 , wp_num : 0_u16 , failure_flags : HlFailureFlag :: DEFAULT , mavtype : MavType :: DEFAULT , autopilot : MavAutopilot :: DEFAULT , heading : 0_u8 , target_heading : 0_u8 , throttle : 0_u8 , airspeed : 0_u8 , airspeed_sp : 0_u8 , groundspeed : 0_u8 , windspeed : 0_u8 , wind_heading : 0_u8 , eph : 0_u8 , epv : 0_u8 , temperature_air : 0_i8 , climb_rate : 0_i8 , battery : 0_i8 , custom0 : 0_i8 , custom1 : 0_i8 , custom2 : 0_i8 , } ; } impl Default for HIGH_LATENCY2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGH_LATENCY2_DATA { type Message = MavMessage ; const ID : u32 = 235u32 ; const NAME : & 'static str = "HIGH_LATENCY2" ; const EXTRA_CRC : u8 = 179u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u32_le () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . custom_mode = buf . get_u16_le () ; __struct . altitude = buf . get_i16_le () ; __struct . target_altitude = buf . get_i16_le () ; __struct . target_distance = buf . get_u16_le () ; __struct . wp_num = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . failure_flags = HlFailureFlag :: from_bits (tmp & HlFailureFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HlFailureFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . autopilot = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavAutopilot" , value : tmp as u32 }) ? ; __struct . heading = buf . get_u8 () ; __struct . target_heading = buf . get_u8 () ; __struct . throttle = buf . get_u8 () ; __struct . airspeed = buf . get_u8 () ; __struct . airspeed_sp = buf . get_u8 () ; __struct . groundspeed = buf . get_u8 () ; __struct . windspeed = buf . get_u8 () ; __struct . wind_heading = buf . get_u8 () ; __struct . eph = buf . get_u8 () ; __struct . epv = buf . get_u8 () ; __struct . temperature_air = buf . get_i8 () ; __struct . climb_rate = buf . get_i8 () ; __struct . battery = buf . get_i8 () ; __struct . custom0 = buf . get_i8 () ; __struct . custom1 = buf . get_i8 () ; __struct . custom2 = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_u16_le (self . custom_mode) ; __tmp . put_i16_le (self . altitude) ; __tmp . put_i16_le (self . target_altitude) ; __tmp . put_u16_le (self . target_distance) ; __tmp . put_u16_le (self . wp_num) ; __tmp . put_u16_le (self . failure_flags . bits ()) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . autopilot as u8) ; __tmp . put_u8 (self . heading) ; __tmp . put_u8 (self . target_heading) ; __tmp . put_u8 (self . throttle) ; __tmp . put_u8 (self . airspeed) ; __tmp . put_u8 (self . airspeed_sp) ; __tmp . put_u8 (self . groundspeed) ; __tmp . put_u8 (self . windspeed) ; __tmp . put_u8 (self . wind_heading) ; __tmp . put_u8 (self . eph) ; __tmp . put_u8 (self . epv) ; __tmp . put_i8 (self . temperature_air) ; __tmp . put_i8 (self . climb_rate) ; __tmp . put_i8 (self . battery) ; __tmp . put_i8 (self . custom0) ; __tmp . put_i8 (self . custom1) ; __tmp . put_i8 (self . custom2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_PITCHYAW_DATA { pub flags : GimbalManagerFlags , pub pitch : f32 , pub yaw : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_PITCHYAW_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , pitch : 0.0_f32 , yaw : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_PITCHYAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_PITCHYAW_DATA { type Message = MavMessage ; const ID : u32 = 287u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_PITCHYAW" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl PARAM_EXT_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PARAM_EXT_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 321u32 ; const NAME : & 'static str = "PARAM_EXT_REQUEST_LIST" ; const EXTRA_CRC : u8 = 88u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SYSTEM_TIME_DATA { pub time_unix_usec : u64 , pub time_boot_ms : u32 , } impl SYSTEM_TIME_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { time_unix_usec : 0_u64 , time_boot_ms : 0_u32 , } ; } impl Default for SYSTEM_TIME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SYSTEM_TIME_DATA { type Message = MavMessage ; const ID : u32 = 2u32 ; const NAME : & 'static str = "SYSTEM_TIME" ; const EXTRA_CRC : u8 = 137u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_unix_usec = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_unix_usec) ; __tmp . put_u32_le (self . time_boot_ms) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : f32 , pub y : f32 , pub z : f32 , pub seq : u16 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl MISSION_ITEM_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , seq : 0_u16 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for MISSION_ITEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_DATA { type Message = MavMessage ; const ID : u32 = 39u32 ; const NAME : & 'static str = "MISSION_ITEM" ; const EXTRA_CRC : u8 = 254u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . seq = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct STORAGE_INFORMATION_DATA { pub time_boot_ms : u32 , pub total_capacity : f32 , pub used_capacity : f32 , pub available_capacity : f32 , pub read_speed : f32 , pub write_speed : f32 , pub storage_id : u8 , pub storage_count : u8 , pub status : StorageStatus , } impl STORAGE_INFORMATION_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , total_capacity : 0.0_f32 , used_capacity : 0.0_f32 , available_capacity : 0.0_f32 , read_speed : 0.0_f32 , write_speed : 0.0_f32 , storage_id : 0_u8 , storage_count : 0_u8 , status : StorageStatus :: DEFAULT , } ; } impl Default for STORAGE_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for STORAGE_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 261u32 ; const NAME : & 'static str = "STORAGE_INFORMATION" ; const EXTRA_CRC : u8 = 179u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . total_capacity = buf . get_f32_le () ; __struct . used_capacity = buf . get_f32_le () ; __struct . available_capacity = buf . get_f32_le () ; __struct . read_speed = buf . get_f32_le () ; __struct . write_speed = buf . get_f32_le () ; __struct . storage_id = buf . get_u8 () ; __struct . storage_count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "StorageStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . total_capacity) ; __tmp . put_f32_le (self . used_capacity) ; __tmp . put_f32_le (self . available_capacity) ; __tmp . put_f32_le (self . read_speed) ; __tmp . put_f32_le (self . write_speed) ; __tmp . put_u8 (self . storage_id) ; __tmp . put_u8 (self . storage_count) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RAW_INT_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub cog : u16 , pub fix_type : GpsFixType , pub satellites_visible : u8 , } impl GPS_RAW_INT_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , cog : 0_u16 , fix_type : GpsFixType :: DEFAULT , satellites_visible : 0_u8 , } ; } impl Default for GPS_RAW_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RAW_INT_DATA { type Message = MavMessage ; const ID : u32 = 24u32 ; const NAME : & 'static str = "GPS_RAW_INT" ; const EXTRA_CRC : u8 = 24u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . cog = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type as u8) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_COV_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub ax : f32 , pub ay : f32 , pub az : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 45] , pub estimator_type : MavEstimatorType , } impl LOCAL_POSITION_NED_COV_DATA { pub const ENCODED_LEN : usize = 225usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , ax : 0.0_f32 , ay : 0.0_f32 , az : 0.0_f32 , covariance : [0.0_f32 ; 45usize] , estimator_type : MavEstimatorType :: DEFAULT , } ; } impl Default for LOCAL_POSITION_NED_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_COV_DATA { type Message = MavMessage ; const ID : u32 = 64u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED_COV" ; const EXTRA_CRC : u8 = 191u8 ; const ENCODED_LEN : usize = 225usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . ax = buf . get_f32_le () ; __struct . ay = buf . get_f32_le () ; __struct . az = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . estimator_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEstimatorType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . ax) ; __tmp . put_f32_le (self . ay) ; __tmp . put_f32_le (self . az) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . estimator_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_OVERRIDE_DATA { pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub target_system : u8 , pub target_component : u8 , } impl RC_CHANNELS_OVERRIDE_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for RC_CHANNELS_OVERRIDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_OVERRIDE_DATA { type Message = MavMessage ; const ID : u32 = 70u32 ; const NAME : & 'static str = "RC_CHANNELS_OVERRIDE" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PROTOCOL_VERSION_DATA { pub version : u16 , pub min_version : u16 , pub max_version : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub spec_version_hash : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub library_version_hash : [u8 ; 8] , } impl PROTOCOL_VERSION_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { version : 0_u16 , min_version : 0_u16 , max_version : 0_u16 , spec_version_hash : [0_u8 ; 8usize] , library_version_hash : [0_u8 ; 8usize] , } ; } impl Default for PROTOCOL_VERSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PROTOCOL_VERSION_DATA { type Message = MavMessage ; const ID : u32 = 300u32 ; const NAME : & 'static str = "PROTOCOL_VERSION" ; const EXTRA_CRC : u8 = 217u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . version = buf . get_u16_le () ; __struct . min_version = buf . get_u16_le () ; __struct . max_version = buf . get_u16_le () ; for v in & mut __struct . spec_version_hash { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . library_version_hash { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . version) ; __tmp . put_u16_le (self . min_version) ; __tmp . put_u16_le (self . max_version) ; for val in & self . spec_version_hash { __tmp . put_u8 (* val) ; } for val in & self . library_version_hash { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_VALUE_DATA { pub param_count : u16 , pub param_index : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , } impl PARAM_EXT_VALUE_DATA { pub const ENCODED_LEN : usize = 149usize ; pub const DEFAULT : Self = Self { param_count : 0_u16 , param_index : 0_u16 , param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , } ; } impl Default for PARAM_EXT_VALUE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_VALUE_DATA { type Message = MavMessage ; const ID : u32 = 322u32 ; const NAME : & 'static str = "PARAM_EXT_VALUE" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 149usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_count = buf . get_u16_le () ; __struct . param_index = buf . get_u16_le () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . param_count) ; __tmp . put_u16_le (self . param_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CURRENT_EVENT_SEQUENCE_DATA { pub sequence : u16 , pub flags : MavEventCurrentSequenceFlags , } impl CURRENT_EVENT_SEQUENCE_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , flags : MavEventCurrentSequenceFlags :: DEFAULT , } ; } impl Default for CURRENT_EVENT_SEQUENCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CURRENT_EVENT_SEQUENCE_DATA { type Message = MavMessage ; const ID : u32 = 411u32 ; const NAME : & 'static str = "CURRENT_EVENT_SEQUENCE" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . flags = MavEventCurrentSequenceFlags :: from_bits (tmp & MavEventCurrentSequenceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavEventCurrentSequenceFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_SET_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , } impl PARAM_EXT_SET_DATA { pub const ENCODED_LEN : usize = 147usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , } ; } impl Default for PARAM_EXT_SET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_SET_DATA { type Message = MavMessage ; const ID : u32 = 323u32 ; const NAME : & 'static str = "PARAM_EXT_SET" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 147usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_INFO_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub error_count : [u32 ; 4] , pub counter : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub failure_flags : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature : [i16 ; 4] , pub index : u8 , pub count : u8 , pub connection_type : EscConnectionType , pub info : u8 , } impl ESC_INFO_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , error_count : [0_u32 ; 4usize] , counter : 0_u16 , failure_flags : [0_u16 ; 4usize] , temperature : [0_i16 ; 4usize] , index : 0_u8 , count : 0_u8 , connection_type : EscConnectionType :: DEFAULT , info : 0_u8 , } ; } impl Default for ESC_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_INFO_DATA { type Message = MavMessage ; const ID : u32 = 290u32 ; const NAME : & 'static str = "ESC_INFO" ; const EXTRA_CRC : u8 = 251u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . error_count { let val = buf . get_u32_le () ; * v = val ; } __struct . counter = buf . get_u16_le () ; for v in & mut __struct . failure_flags { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . temperature { let val = buf . get_i16_le () ; * v = val ; } __struct . index = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . connection_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "EscConnectionType" , value : tmp as u32 }) ? ; __struct . info = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . error_count { __tmp . put_u32_le (* val) ; } __tmp . put_u16_le (self . counter) ; for val in & self . failure_flags { __tmp . put_u16_le (* val) ; } for val in & self . temperature { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . index) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . connection_type as u8) ; __tmp . put_u8 (self . info) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_SET_ATTITUDE_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub flags : GimbalDeviceFlags , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_DEVICE_SET_ATTITUDE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , flags : GimbalDeviceFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_DEVICE_SET_ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_SET_ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 284u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_SET_ATTITUDE" ; const EXTRA_CRC : u8 = 99u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = GimbalDeviceFlags :: from_bits (tmp & GimbalDeviceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_SPEED_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , } impl VISION_SPEED_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , } ; } impl Default for VISION_SPEED_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_SPEED_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 103u32 ; const NAME : & 'static str = "VISION_SPEED_ESTIMATE" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_DATA_ACKED_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , pub length : u8 , pub first_message_offset : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 249] , } impl LOGGING_DATA_ACKED_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , length : 0_u8 , first_message_offset : 0_u8 , data : [0_u8 ; 249usize] , } ; } impl Default for LOGGING_DATA_ACKED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_DATA_ACKED_DATA { type Message = MavMessage ; const ID : u32 = 267u32 ; const NAME : & 'static str = "LOGGING_DATA_ACKED" ; const EXTRA_CRC : u8 = 35u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . length = buf . get_u8 () ; __struct . first_message_offset = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . length) ; __tmp . put_u8 (self . first_message_offset) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_STATUS_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rpm : [i32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltage : [f32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub current : [f32 ; 4] , pub index : u8 , } impl ESC_STATUS_DATA { pub const ENCODED_LEN : usize = 57usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , rpm : [0_i32 ; 4usize] , voltage : [0.0_f32 ; 4usize] , current : [0.0_f32 ; 4usize] , index : 0_u8 , } ; } impl Default for ESC_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 291u32 ; const NAME : & 'static str = "ESC_STATUS" ; const EXTRA_CRC : u8 = 10u8 ; const ENCODED_LEN : usize = 57usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . rpm { let val = buf . get_i32_le () ; * v = val ; } for v in & mut __struct . voltage { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . current { let val = buf . get_f32_le () ; * v = val ; } __struct . index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . rpm { __tmp . put_i32_le (* val) ; } for val in & self . voltage { __tmp . put_f32_le (* val) ; } for val in & self . current { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl PARAM_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PARAM_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 21u32 ; const NAME : & 'static str = "PARAM_REQUEST_LIST" ; const EXTRA_CRC : u8 = 159u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_INFORMATION_DATA { pub time_boot_ms : u32 , pub firmware_version : u32 , pub focal_length : f32 , pub sensor_size_h : f32 , pub sensor_size_v : f32 , pub flags : CameraCapFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub cam_definition_version : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vendor_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub model_name : [u8 ; 32] , pub lens_id : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cam_definition_uri : [u8 ; 140] , } impl CAMERA_INFORMATION_DATA { pub const ENCODED_LEN : usize = 235usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , firmware_version : 0_u32 , focal_length : 0.0_f32 , sensor_size_h : 0.0_f32 , sensor_size_v : 0.0_f32 , flags : CameraCapFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , cam_definition_version : 0_u16 , vendor_name : [0_u8 ; 32usize] , model_name : [0_u8 ; 32usize] , lens_id : 0_u8 , cam_definition_uri : [0_u8 ; 140usize] , } ; } impl Default for CAMERA_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 259u32 ; const NAME : & 'static str = "CAMERA_INFORMATION" ; const EXTRA_CRC : u8 = 92u8 ; const ENCODED_LEN : usize = 235usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . firmware_version = buf . get_u32_le () ; __struct . focal_length = buf . get_f32_le () ; __struct . sensor_size_h = buf . get_f32_le () ; __struct . sensor_size_v = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . flags = CameraCapFlags :: from_bits (tmp & CameraCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "CameraCapFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . cam_definition_version = buf . get_u16_le () ; for v in & mut __struct . vendor_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . model_name { let val = buf . get_u8 () ; * v = val ; } __struct . lens_id = buf . get_u8 () ; for v in & mut __struct . cam_definition_uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . firmware_version) ; __tmp . put_f32_le (self . focal_length) ; __tmp . put_f32_le (self . sensor_size_h) ; __tmp . put_f32_le (self . sensor_size_v) ; __tmp . put_u32_le (self . flags . bits ()) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . cam_definition_version) ; for val in & self . vendor_name { __tmp . put_u8 (* val) ; } for val in & self . model_name { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . lens_id) ; for val in & self . cam_definition_uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , } impl ATTITUDE_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , } ; } impl Default for ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 30u32 ; const NAME : & 'static str = "ATTITUDE" ; const EXTRA_CRC : u8 = 39u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CELLULAR_CONFIG_DATA { pub enable_lte : u8 , pub enable_pin : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pin : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub new_pin : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub apn : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub puk : [u8 ; 16] , pub roaming : u8 , pub response : CellularConfigResponse , } impl CELLULAR_CONFIG_DATA { pub const ENCODED_LEN : usize = 84usize ; pub const DEFAULT : Self = Self { enable_lte : 0_u8 , enable_pin : 0_u8 , pin : [0_u8 ; 16usize] , new_pin : [0_u8 ; 16usize] , apn : [0_u8 ; 32usize] , puk : [0_u8 ; 16usize] , roaming : 0_u8 , response : CellularConfigResponse :: DEFAULT , } ; } impl Default for CELLULAR_CONFIG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CELLULAR_CONFIG_DATA { type Message = MavMessage ; const ID : u32 = 336u32 ; const NAME : & 'static str = "CELLULAR_CONFIG" ; const EXTRA_CRC : u8 = 245u8 ; const ENCODED_LEN : usize = 84usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . enable_lte = buf . get_u8 () ; __struct . enable_pin = buf . get_u8 () ; for v in & mut __struct . pin { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . new_pin { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . apn { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . puk { let val = buf . get_u8 () ; * v = val ; } __struct . roaming = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . response = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularConfigResponse" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . enable_lte) ; __tmp . put_u8 (self . enable_pin) ; for val in & self . pin { __tmp . put_u8 (* val) ; } for val in & self . new_pin { __tmp . put_u8 (* val) ; } for val in & self . apn { __tmp . put_u8 (* val) ; } for val in & self . puk { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . roaming) ; __tmp . put_u8 (self . response as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_VISION_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl GLOBAL_VISION_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for GLOBAL_VISION_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_VISION_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 101u32 ; const NAME : & 'static str = "GLOBAL_VISION_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 102u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ALTITUDE_DATA { pub time_usec : u64 , pub altitude_monotonic : f32 , pub altitude_amsl : f32 , pub altitude_local : f32 , pub altitude_relative : f32 , pub altitude_terrain : f32 , pub bottom_clearance : f32 , } impl ALTITUDE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , altitude_monotonic : 0.0_f32 , altitude_amsl : 0.0_f32 , altitude_local : 0.0_f32 , altitude_relative : 0.0_f32 , altitude_terrain : 0.0_f32 , bottom_clearance : 0.0_f32 , } ; } impl Default for ALTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ALTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 141u32 ; const NAME : & 'static str = "ALTITUDE" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . altitude_monotonic = buf . get_f32_le () ; __struct . altitude_amsl = buf . get_f32_le () ; __struct . altitude_local = buf . get_f32_le () ; __struct . altitude_relative = buf . get_f32_le () ; __struct . altitude_terrain = buf . get_f32_le () ; __struct . bottom_clearance = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . altitude_monotonic) ; __tmp . put_f32_le (self . altitude_amsl) ; __tmp . put_f32_le (self . altitude_local) ; __tmp . put_f32_le (self . altitude_relative) ; __tmp . put_f32_le (self . altitude_terrain) ; __tmp . put_f32_le (self . bottom_clearance) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS2_RAW_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub dgps_age : u32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub cog : u16 , pub fix_type : GpsFixType , pub satellites_visible : u8 , pub dgps_numch : u8 , } impl GPS2_RAW_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , dgps_age : 0_u32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , cog : 0_u16 , fix_type : GpsFixType :: DEFAULT , satellites_visible : 0_u8 , dgps_numch : 0_u8 , } ; } impl Default for GPS2_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS2_RAW_DATA { type Message = MavMessage ; const ID : u32 = 124u32 ; const NAME : & 'static str = "GPS2_RAW" ; const EXTRA_CRC : u8 = 87u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . dgps_age = buf . get_u32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . cog = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . satellites_visible = buf . get_u8 () ; __struct . dgps_numch = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u32_le (self . dgps_age) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type as u8) ; __tmp . put_u8 (self . satellites_visible) ; __tmp . put_u8 (self . dgps_numch) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FOLLOW_TARGET_DATA { pub timestamp : u64 , pub custom_state : u64 , pub lat : i32 , pub lon : i32 , pub alt : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub attitude_q : [f32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rates : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub position_cov : [f32 ; 3] , pub est_capabilities : u8 , } impl FOLLOW_TARGET_DATA { pub const ENCODED_LEN : usize = 93usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , custom_state : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , vel : [0.0_f32 ; 3usize] , acc : [0.0_f32 ; 3usize] , attitude_q : [0.0_f32 ; 4usize] , rates : [0.0_f32 ; 3usize] , position_cov : [0.0_f32 ; 3usize] , est_capabilities : 0_u8 , } ; } impl Default for FOLLOW_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FOLLOW_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 144u32 ; const NAME : & 'static str = "FOLLOW_TARGET" ; const EXTRA_CRC : u8 = 127u8 ; const ENCODED_LEN : usize = 93usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . custom_state = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; for v in & mut __struct . vel { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . attitude_q { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . rates { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . position_cov { let val = buf . get_f32_le () ; * v = val ; } __struct . est_capabilities = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u64_le (self . custom_state) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; for val in & self . vel { __tmp . put_f32_le (* val) ; } for val in & self . acc { __tmp . put_f32_le (* val) ; } for val in & self . attitude_q { __tmp . put_f32_le (* val) ; } for val in & self . rates { __tmp . put_f32_le (* val) ; } for val in & self . position_cov { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . est_capabilities) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LINK_NODE_STATUS_DATA { pub timestamp : u64 , pub tx_rate : u32 , pub rx_rate : u32 , pub messages_sent : u32 , pub messages_received : u32 , pub messages_lost : u32 , pub rx_parse_err : u16 , pub tx_overflows : u16 , pub rx_overflows : u16 , pub tx_buf : u8 , pub rx_buf : u8 , } impl LINK_NODE_STATUS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , tx_rate : 0_u32 , rx_rate : 0_u32 , messages_sent : 0_u32 , messages_received : 0_u32 , messages_lost : 0_u32 , rx_parse_err : 0_u16 , tx_overflows : 0_u16 , rx_overflows : 0_u16 , tx_buf : 0_u8 , rx_buf : 0_u8 , } ; } impl Default for LINK_NODE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LINK_NODE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 8u32 ; const NAME : & 'static str = "LINK_NODE_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . tx_rate = buf . get_u32_le () ; __struct . rx_rate = buf . get_u32_le () ; __struct . messages_sent = buf . get_u32_le () ; __struct . messages_received = buf . get_u32_le () ; __struct . messages_lost = buf . get_u32_le () ; __struct . rx_parse_err = buf . get_u16_le () ; __struct . tx_overflows = buf . get_u16_le () ; __struct . rx_overflows = buf . get_u16_le () ; __struct . tx_buf = buf . get_u8 () ; __struct . rx_buf = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u32_le (self . tx_rate) ; __tmp . put_u32_le (self . rx_rate) ; __tmp . put_u32_le (self . messages_sent) ; __tmp . put_u32_le (self . messages_received) ; __tmp . put_u32_le (self . messages_lost) ; __tmp . put_u16_le (self . rx_parse_err) ; __tmp . put_u16_le (self . tx_overflows) ; __tmp . put_u16_le (self . rx_overflows) ; __tmp . put_u8 (self . tx_buf) ; __tmp . put_u8 (self . rx_buf) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_INPUT_DATA { pub time_usec : u64 , pub time_week_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : f32 , pub hdop : f32 , pub vdop : f32 , pub vn : f32 , pub ve : f32 , pub vd : f32 , pub speed_accuracy : f32 , pub horiz_accuracy : f32 , pub vert_accuracy : f32 , pub ignore_flags : GpsInputIgnoreFlags , pub time_week : u16 , pub gps_id : u8 , pub fix_type : u8 , pub satellites_visible : u8 , } impl GPS_INPUT_DATA { pub const ENCODED_LEN : usize = 63usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , time_week_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , hdop : 0.0_f32 , vdop : 0.0_f32 , vn : 0.0_f32 , ve : 0.0_f32 , vd : 0.0_f32 , speed_accuracy : 0.0_f32 , horiz_accuracy : 0.0_f32 , vert_accuracy : 0.0_f32 , ignore_flags : GpsInputIgnoreFlags :: DEFAULT , time_week : 0_u16 , gps_id : 0_u8 , fix_type : 0_u8 , satellites_visible : 0_u8 , } ; } impl Default for GPS_INPUT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_INPUT_DATA { type Message = MavMessage ; const ID : u32 = 232u32 ; const NAME : & 'static str = "GPS_INPUT" ; const EXTRA_CRC : u8 = 151u8 ; const ENCODED_LEN : usize = 63usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . time_week_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . hdop = buf . get_f32_le () ; __struct . vdop = buf . get_f32_le () ; __struct . vn = buf . get_f32_le () ; __struct . ve = buf . get_f32_le () ; __struct . vd = buf . get_f32_le () ; __struct . speed_accuracy = buf . get_f32_le () ; __struct . horiz_accuracy = buf . get_f32_le () ; __struct . vert_accuracy = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . ignore_flags = GpsInputIgnoreFlags :: from_bits (tmp & GpsInputIgnoreFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GpsInputIgnoreFlags" , value : tmp as u32 }) ? ; __struct . time_week = buf . get_u16_le () ; __struct . gps_id = buf . get_u8 () ; __struct . fix_type = buf . get_u8 () ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . time_week_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . hdop) ; __tmp . put_f32_le (self . vdop) ; __tmp . put_f32_le (self . vn) ; __tmp . put_f32_le (self . ve) ; __tmp . put_f32_le (self . vd) ; __tmp . put_f32_le (self . speed_accuracy) ; __tmp . put_f32_le (self . horiz_accuracy) ; __tmp . put_f32_le (self . vert_accuracy) ; __tmp . put_u16_le (self . ignore_flags . bits ()) ; __tmp . put_u16_le (self . time_week) ; __tmp . put_u8 (self . gps_id) ; __tmp . put_u8 (self . fix_type) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA_TRANSMISSION_HANDSHAKE_DATA { pub size : u32 , pub width : u16 , pub height : u16 , pub packets : u16 , pub mavtype : MavlinkDataStreamType , pub payload : u8 , pub jpg_quality : u8 , } impl DATA_TRANSMISSION_HANDSHAKE_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { size : 0_u32 , width : 0_u16 , height : 0_u16 , packets : 0_u16 , mavtype : MavlinkDataStreamType :: DEFAULT , payload : 0_u8 , jpg_quality : 0_u8 , } ; } impl Default for DATA_TRANSMISSION_HANDSHAKE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA_TRANSMISSION_HANDSHAKE_DATA { type Message = MavMessage ; const ID : u32 = 130u32 ; const NAME : & 'static str = "DATA_TRANSMISSION_HANDSHAKE" ; const EXTRA_CRC : u8 = 29u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . size = buf . get_u32_le () ; __struct . width = buf . get_u16_le () ; __struct . height = buf . get_u16_le () ; __struct . packets = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavlinkDataStreamType" , value : tmp as u32 }) ? ; __struct . payload = buf . get_u8 () ; __struct . jpg_quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . size) ; __tmp . put_u16_le (self . width) ; __tmp . put_u16_le (self . height) ; __tmp . put_u16_le (self . packets) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . payload) ; __tmp . put_u8 (self . jpg_quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RTK_DATA { pub time_last_baseline_ms : u32 , pub tow : u32 , pub baseline_a_mm : i32 , pub baseline_b_mm : i32 , pub baseline_c_mm : i32 , pub accuracy : u32 , pub iar_num_hypotheses : i32 , pub wn : u16 , pub rtk_receiver_id : u8 , pub rtk_health : u8 , pub rtk_rate : u8 , pub nsats : u8 , pub baseline_coords_type : RtkBaselineCoordinateSystem , } impl GPS_RTK_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_last_baseline_ms : 0_u32 , tow : 0_u32 , baseline_a_mm : 0_i32 , baseline_b_mm : 0_i32 , baseline_c_mm : 0_i32 , accuracy : 0_u32 , iar_num_hypotheses : 0_i32 , wn : 0_u16 , rtk_receiver_id : 0_u8 , rtk_health : 0_u8 , rtk_rate : 0_u8 , nsats : 0_u8 , baseline_coords_type : RtkBaselineCoordinateSystem :: DEFAULT , } ; } impl Default for GPS_RTK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RTK_DATA { type Message = MavMessage ; const ID : u32 = 127u32 ; const NAME : & 'static str = "GPS_RTK" ; const EXTRA_CRC : u8 = 25u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_last_baseline_ms = buf . get_u32_le () ; __struct . tow = buf . get_u32_le () ; __struct . baseline_a_mm = buf . get_i32_le () ; __struct . baseline_b_mm = buf . get_i32_le () ; __struct . baseline_c_mm = buf . get_i32_le () ; __struct . accuracy = buf . get_u32_le () ; __struct . iar_num_hypotheses = buf . get_i32_le () ; __struct . wn = buf . get_u16_le () ; __struct . rtk_receiver_id = buf . get_u8 () ; __struct . rtk_health = buf . get_u8 () ; __struct . rtk_rate = buf . get_u8 () ; __struct . nsats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . baseline_coords_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "RtkBaselineCoordinateSystem" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_last_baseline_ms) ; __tmp . put_u32_le (self . tow) ; __tmp . put_i32_le (self . baseline_a_mm) ; __tmp . put_i32_le (self . baseline_b_mm) ; __tmp . put_i32_le (self . baseline_c_mm) ; __tmp . put_u32_le (self . accuracy) ; __tmp . put_i32_le (self . iar_num_hypotheses) ; __tmp . put_u16_le (self . wn) ; __tmp . put_u8 (self . rtk_receiver_id) ; __tmp . put_u8 (self . rtk_health) ; __tmp . put_u8 (self . rtk_rate) ; __tmp . put_u8 (self . nsats) ; __tmp . put_u8 (self . baseline_coords_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_CHECK_DATA { pub lat : i32 , pub lon : i32 , } impl TERRAIN_CHECK_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , } ; } impl Default for TERRAIN_CHECK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_CHECK_DATA { type Message = MavMessage ; const ID : u32 = 135u32 ; const NAME : & 'static str = "TERRAIN_CHECK" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MANUAL_SETPOINT_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub thrust : f32 , pub mode_switch : u8 , pub manual_override_switch : u8 , } impl MANUAL_SETPOINT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , thrust : 0.0_f32 , mode_switch : 0_u8 , manual_override_switch : 0_u8 , } ; } impl Default for MANUAL_SETPOINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MANUAL_SETPOINT_DATA { type Message = MavMessage ; const ID : u32 = 81u32 ; const NAME : & 'static str = "MANUAL_SETPOINT" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; __struct . mode_switch = buf . get_u8 () ; __struct . manual_override_switch = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . mode_switch) ; __tmp . put_u8 (self . manual_override_switch) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU3_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU3_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU3_DATA { type Message = MavMessage ; const ID : u32 = 129u32 ; const NAME : & 'static str = "SCALED_IMU3" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MAG_CAL_REPORT_DATA { pub fitness : f32 , pub ofs_x : f32 , pub ofs_y : f32 , pub ofs_z : f32 , pub diag_x : f32 , pub diag_y : f32 , pub diag_z : f32 , pub offdiag_x : f32 , pub offdiag_y : f32 , pub offdiag_z : f32 , pub compass_id : u8 , pub cal_mask : u8 , pub cal_status : MagCalStatus , pub autosaved : u8 , } impl MAG_CAL_REPORT_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { fitness : 0.0_f32 , ofs_x : 0.0_f32 , ofs_y : 0.0_f32 , ofs_z : 0.0_f32 , diag_x : 0.0_f32 , diag_y : 0.0_f32 , diag_z : 0.0_f32 , offdiag_x : 0.0_f32 , offdiag_y : 0.0_f32 , offdiag_z : 0.0_f32 , compass_id : 0_u8 , cal_mask : 0_u8 , cal_status : MagCalStatus :: DEFAULT , autosaved : 0_u8 , } ; } impl Default for MAG_CAL_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MAG_CAL_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 192u32 ; const NAME : & 'static str = "MAG_CAL_REPORT" ; const EXTRA_CRC : u8 = 36u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . fitness = buf . get_f32_le () ; __struct . ofs_x = buf . get_f32_le () ; __struct . ofs_y = buf . get_f32_le () ; __struct . ofs_z = buf . get_f32_le () ; __struct . diag_x = buf . get_f32_le () ; __struct . diag_y = buf . get_f32_le () ; __struct . diag_z = buf . get_f32_le () ; __struct . offdiag_x = buf . get_f32_le () ; __struct . offdiag_y = buf . get_f32_le () ; __struct . offdiag_z = buf . get_f32_le () ; __struct . compass_id = buf . get_u8 () ; __struct . cal_mask = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . cal_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MagCalStatus" , value : tmp as u32 }) ? ; __struct . autosaved = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . fitness) ; __tmp . put_f32_le (self . ofs_x) ; __tmp . put_f32_le (self . ofs_y) ; __tmp . put_f32_le (self . ofs_z) ; __tmp . put_f32_le (self . diag_x) ; __tmp . put_f32_le (self . diag_y) ; __tmp . put_f32_le (self . diag_z) ; __tmp . put_f32_le (self . offdiag_x) ; __tmp . put_f32_le (self . offdiag_y) ; __tmp . put_f32_le (self . offdiag_z) ; __tmp . put_u8 (self . compass_id) ; __tmp . put_u8 (self . cal_mask) ; __tmp . put_u8 (self . cal_status as u8) ; __tmp . put_u8 (self . autosaved) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ADSB_VEHICLE_DATA { pub ICAO_address : u32 , pub lat : i32 , pub lon : i32 , pub altitude : i32 , pub heading : u16 , pub hor_velocity : u16 , pub ver_velocity : i16 , pub flags : AdsbFlags , pub squawk : u16 , pub altitude_type : AdsbAltitudeType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 9] , pub emitter_type : AdsbEmitterType , pub tslc : u8 , } impl ADSB_VEHICLE_DATA { pub const ENCODED_LEN : usize = 38usize ; pub const DEFAULT : Self = Self { ICAO_address : 0_u32 , lat : 0_i32 , lon : 0_i32 , altitude : 0_i32 , heading : 0_u16 , hor_velocity : 0_u16 , ver_velocity : 0_i16 , flags : AdsbFlags :: DEFAULT , squawk : 0_u16 , altitude_type : AdsbAltitudeType :: DEFAULT , callsign : [0_u8 ; 9usize] , emitter_type : AdsbEmitterType :: DEFAULT , tslc : 0_u8 , } ; } impl Default for ADSB_VEHICLE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ADSB_VEHICLE_DATA { type Message = MavMessage ; const ID : u32 = 246u32 ; const NAME : & 'static str = "ADSB_VEHICLE" ; const EXTRA_CRC : u8 = 184u8 ; const ENCODED_LEN : usize = 38usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ICAO_address = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . heading = buf . get_u16_le () ; __struct . hor_velocity = buf . get_u16_le () ; __struct . ver_velocity = buf . get_i16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = AdsbFlags :: from_bits (tmp & AdsbFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AdsbFlags" , value : tmp as u32 }) ? ; __struct . squawk = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . altitude_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbAltitudeType" , value : tmp as u32 }) ? ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . emitter_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbEmitterType" , value : tmp as u32 }) ? ; __struct . tslc = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ICAO_address) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_u16_le (self . heading) ; __tmp . put_u16_le (self . hor_velocity) ; __tmp . put_i16_le (self . ver_velocity) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u16_le (self . squawk) ; __tmp . put_u8 (self . altitude_type as u8) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . emitter_type as u8) ; __tmp . put_u8 (self . tslc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_VECT_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl DEBUG_VECT_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , name : [0_u8 ; 10usize] , } ; } impl Default for DEBUG_VECT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_VECT_DATA { type Message = MavMessage ; const ID : u32 = 250u32 ; const NAME : & 'static str = "DEBUG_VECT" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIBRATION_DATA { pub time_usec : u64 , pub vibration_x : f32 , pub vibration_y : f32 , pub vibration_z : f32 , pub clipping_0 : u32 , pub clipping_1 : u32 , pub clipping_2 : u32 , } impl VIBRATION_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , vibration_x : 0.0_f32 , vibration_y : 0.0_f32 , vibration_z : 0.0_f32 , clipping_0 : 0_u32 , clipping_1 : 0_u32 , clipping_2 : 0_u32 , } ; } impl Default for VIBRATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIBRATION_DATA { type Message = MavMessage ; const ID : u32 = 241u32 ; const NAME : & 'static str = "VIBRATION" ; const EXTRA_CRC : u8 = 90u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . vibration_x = buf . get_f32_le () ; __struct . vibration_y = buf . get_f32_le () ; __struct . vibration_z = buf . get_f32_le () ; __struct . clipping_0 = buf . get_u32_le () ; __struct . clipping_1 = buf . get_u32_le () ; __struct . clipping_2 = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . vibration_x) ; __tmp . put_f32_le (self . vibration_y) ; __tmp . put_f32_le (self . vibration_z) ; __tmp . put_u32_le (self . clipping_0) ; __tmp . put_u32_le (self . clipping_1) ; __tmp . put_u32_le (self . clipping_2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PLAY_TUNE_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub tune : [u8 ; 30] , } impl PLAY_TUNE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , tune : [0_u8 ; 30usize] , } ; } impl Default for PLAY_TUNE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PLAY_TUNE_DATA { type Message = MavMessage ; const ID : u32 = 258u32 ; const NAME : & 'static str = "PLAY_TUNE" ; const EXTRA_CRC : u8 = 187u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . tune { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . tune { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_FOV_STATUS_DATA { pub time_boot_ms : u32 , pub lat_camera : i32 , pub lon_camera : i32 , pub alt_camera : i32 , pub lat_image : i32 , pub lon_image : i32 , pub alt_image : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub hfov : f32 , pub vfov : f32 , } impl CAMERA_FOV_STATUS_DATA { pub const ENCODED_LEN : usize = 52usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_camera : 0_i32 , lon_camera : 0_i32 , alt_camera : 0_i32 , lat_image : 0_i32 , lon_image : 0_i32 , alt_image : 0_i32 , q : [0.0_f32 ; 4usize] , hfov : 0.0_f32 , vfov : 0.0_f32 , } ; } impl Default for CAMERA_FOV_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_FOV_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 271u32 ; const NAME : & 'static str = "CAMERA_FOV_STATUS" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 52usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_camera = buf . get_i32_le () ; __struct . lon_camera = buf . get_i32_le () ; __struct . alt_camera = buf . get_i32_le () ; __struct . lat_image = buf . get_i32_le () ; __struct . lon_image = buf . get_i32_le () ; __struct . alt_image = buf . get_i32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . hfov = buf . get_f32_le () ; __struct . vfov = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_camera) ; __tmp . put_i32_le (self . lon_camera) ; __tmp . put_i32_le (self . alt_camera) ; __tmp . put_i32_le (self . lat_image) ; __tmp . put_i32_le (self . lon_image) ; __tmp . put_i32_le (self . alt_image) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . hfov) ; __tmp . put_f32_le (self . vfov) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_STATE_QUATERNION_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub attitude_quaternion : [f32 ; 4] , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub ind_airspeed : u16 , pub true_airspeed : u16 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , } impl HIL_STATE_QUATERNION_DATA { pub const ENCODED_LEN : usize = 64usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , attitude_quaternion : [0.0_f32 ; 4usize] , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , ind_airspeed : 0_u16 , true_airspeed : 0_u16 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , } ; } impl Default for HIL_STATE_QUATERNION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_STATE_QUATERNION_DATA { type Message = MavMessage ; const ID : u32 = 115u32 ; const NAME : & 'static str = "HIL_STATE_QUATERNION" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 64usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . attitude_quaternion { let val = buf . get_f32_le () ; * v = val ; } __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . ind_airspeed = buf . get_u16_le () ; __struct . true_airspeed = buf . get_u16_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . attitude_quaternion { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . ind_airspeed) ; __tmp . put_u16_le (self . true_airspeed) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_RPM_DATA { pub frequency : f32 , pub index : u8 , } impl RAW_RPM_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { frequency : 0.0_f32 , index : 0_u8 , } ; } impl Default for RAW_RPM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_RPM_DATA { type Message = MavMessage ; const ID : u32 = 339u32 ; const NAME : & 'static str = "RAW_RPM" ; const EXTRA_CRC : u8 = 199u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . frequency = buf . get_f32_le () ; __struct . index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . frequency) ; __tmp . put_u8 (self . index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SYS_STATUS_DATA { pub onboard_control_sensors_present : MavSysStatusSensor , pub onboard_control_sensors_enabled : MavSysStatusSensor , pub onboard_control_sensors_health : MavSysStatusSensor , pub load : u16 , pub voltage_battery : u16 , pub current_battery : i16 , pub drop_rate_comm : u16 , pub errors_comm : u16 , pub errors_count1 : u16 , pub errors_count2 : u16 , pub errors_count3 : u16 , pub errors_count4 : u16 , pub battery_remaining : i8 , } impl SYS_STATUS_DATA { pub const ENCODED_LEN : usize = 31usize ; pub const DEFAULT : Self = Self { onboard_control_sensors_present : MavSysStatusSensor :: DEFAULT , onboard_control_sensors_enabled : MavSysStatusSensor :: DEFAULT , onboard_control_sensors_health : MavSysStatusSensor :: DEFAULT , load : 0_u16 , voltage_battery : 0_u16 , current_battery : 0_i16 , drop_rate_comm : 0_u16 , errors_comm : 0_u16 , errors_count1 : 0_u16 , errors_count2 : 0_u16 , errors_count3 : 0_u16 , errors_count4 : 0_u16 , battery_remaining : 0_i8 , } ; } impl Default for SYS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SYS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 1u32 ; const NAME : & 'static str = "SYS_STATUS" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 31usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_present = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_enabled = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_health = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; __struct . load = buf . get_u16_le () ; __struct . voltage_battery = buf . get_u16_le () ; __struct . current_battery = buf . get_i16_le () ; __struct . drop_rate_comm = buf . get_u16_le () ; __struct . errors_comm = buf . get_u16_le () ; __struct . errors_count1 = buf . get_u16_le () ; __struct . errors_count2 = buf . get_u16_le () ; __struct . errors_count3 = buf . get_u16_le () ; __struct . errors_count4 = buf . get_u16_le () ; __struct . battery_remaining = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . onboard_control_sensors_present . bits ()) ; __tmp . put_u32_le (self . onboard_control_sensors_enabled . bits ()) ; __tmp . put_u32_le (self . onboard_control_sensors_health . bits ()) ; __tmp . put_u16_le (self . load) ; __tmp . put_u16_le (self . voltage_battery) ; __tmp . put_i16_le (self . current_battery) ; __tmp . put_u16_le (self . drop_rate_comm) ; __tmp . put_u16_le (self . errors_comm) ; __tmp . put_u16_le (self . errors_count1) ; __tmp . put_u16_le (self . errors_count2) ; __tmp . put_u16_le (self . errors_count3) ; __tmp . put_u16_le (self . errors_count4) ; __tmp . put_i8 (self . battery_remaining) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ACK_DATA { pub target_system : u8 , pub target_component : u8 , pub mavtype : MavMissionResult , } impl MISSION_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , mavtype : MavMissionResult :: DEFAULT , } ; } impl Default for MISSION_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ACK_DATA { type Message = MavMessage ; const ID : u32 = 47u32 ; const NAME : & 'static str = "MISSION_ACK" ; const EXTRA_CRC : u8 = 153u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMissionResult" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . mavtype as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_DATA_DATA { pub ofs : u32 , pub count : u32 , pub id : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_DATA_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { ofs : 0_u32 , count : 0_u32 , id : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_DATA_DATA { type Message = MavMessage ; const ID : u32 = 119u32 ; const NAME : & 'static str = "LOG_REQUEST_DATA" ; const EXTRA_CRC : u8 = 116u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ofs = buf . get_u32_le () ; __struct . count = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ofs) ; __tmp . put_u32_le (self . count) ; __tmp . put_u16_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UTM_GLOBAL_POSITION_DATA { pub time : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub next_lat : i32 , pub next_lon : i32 , pub next_alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub h_acc : u16 , pub v_acc : u16 , pub vel_acc : u16 , pub update_rate : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uas_id : [u8 ; 18] , pub flight_state : UtmFlightState , pub flags : UtmDataAvailFlags , } impl UTM_GLOBAL_POSITION_DATA { pub const ENCODED_LEN : usize = 70usize ; pub const DEFAULT : Self = Self { time : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , next_lat : 0_i32 , next_lon : 0_i32 , next_alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , h_acc : 0_u16 , v_acc : 0_u16 , vel_acc : 0_u16 , update_rate : 0_u16 , uas_id : [0_u8 ; 18usize] , flight_state : UtmFlightState :: DEFAULT , flags : UtmDataAvailFlags :: DEFAULT , } ; } impl Default for UTM_GLOBAL_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UTM_GLOBAL_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 340u32 ; const NAME : & 'static str = "UTM_GLOBAL_POSITION" ; const EXTRA_CRC : u8 = 99u8 ; const ENCODED_LEN : usize = 70usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . next_lat = buf . get_i32_le () ; __struct . next_lon = buf . get_i32_le () ; __struct . next_alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . h_acc = buf . get_u16_le () ; __struct . v_acc = buf . get_u16_le () ; __struct . vel_acc = buf . get_u16_le () ; __struct . update_rate = buf . get_u16_le () ; for v in & mut __struct . uas_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . flight_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UtmFlightState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = UtmDataAvailFlags :: from_bits (tmp & UtmDataAvailFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UtmDataAvailFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_i32_le (self . next_lat) ; __tmp . put_i32_le (self . next_lon) ; __tmp . put_i32_le (self . next_alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . h_acc) ; __tmp . put_u16_le (self . v_acc) ; __tmp . put_u16_le (self . vel_acc) ; __tmp . put_u16_le (self . update_rate) ; for val in & self . uas_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . flight_state as u8) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SELF_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub description_type : MavOdidDescType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub description : [u8 ; 23] , } impl OPEN_DRONE_ID_SELF_ID_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , description_type : MavOdidDescType :: DEFAULT , description : [0_u8 ; 23usize] , } ; } impl Default for OPEN_DRONE_ID_SELF_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SELF_ID_DATA { type Message = MavMessage ; const ID : u32 = 12903u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SELF_ID" ; const EXTRA_CRC : u8 = 249u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . description_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidDescType" , value : tmp as u32 }) ? ; for v in & mut __struct . description { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . description_type as u8) ; for val in & self . description { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_ARM_STATUS_DATA { pub status : MavOdidArmStatus , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub error : [u8 ; 50] , } impl OPEN_DRONE_ID_ARM_STATUS_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { status : MavOdidArmStatus :: DEFAULT , error : [0_u8 ; 50usize] , } ; } impl Default for OPEN_DRONE_ID_ARM_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_ARM_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 12918u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_ARM_STATUS" ; const EXTRA_CRC : u8 = 139u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidArmStatus" , value : tmp as u32 }) ? ; for v in & mut __struct . error { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . status as u8) ; for val in & self . error { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_OPTICAL_FLOW_DATA { pub time_usec : u64 , pub integration_time_us : u32 , pub integrated_x : f32 , pub integrated_y : f32 , pub integrated_xgyro : f32 , pub integrated_ygyro : f32 , pub integrated_zgyro : f32 , pub time_delta_distance_us : u32 , pub distance : f32 , pub temperature : i16 , pub sensor_id : u8 , pub quality : u8 , } impl HIL_OPTICAL_FLOW_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , integration_time_us : 0_u32 , integrated_x : 0.0_f32 , integrated_y : 0.0_f32 , integrated_xgyro : 0.0_f32 , integrated_ygyro : 0.0_f32 , integrated_zgyro : 0.0_f32 , time_delta_distance_us : 0_u32 , distance : 0.0_f32 , temperature : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for HIL_OPTICAL_FLOW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_OPTICAL_FLOW_DATA { type Message = MavMessage ; const ID : u32 = 114u32 ; const NAME : & 'static str = "HIL_OPTICAL_FLOW" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . integration_time_us = buf . get_u32_le () ; __struct . integrated_x = buf . get_f32_le () ; __struct . integrated_y = buf . get_f32_le () ; __struct . integrated_xgyro = buf . get_f32_le () ; __struct . integrated_ygyro = buf . get_f32_le () ; __struct . integrated_zgyro = buf . get_f32_le () ; __struct . time_delta_distance_us = buf . get_u32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . integration_time_us) ; __tmp . put_f32_le (self . integrated_x) ; __tmp . put_f32_le (self . integrated_y) ; __tmp . put_f32_le (self . integrated_xgyro) ; __tmp . put_f32_le (self . integrated_ygyro) ; __tmp . put_f32_le (self . integrated_zgyro) ; __tmp . put_u32_le (self . time_delta_distance_us) ; __tmp . put_f32_le (self . distance) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_DATA_DATA { pub ofs : u32 , pub id : u16 , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 90] , } impl LOG_DATA_DATA { pub const ENCODED_LEN : usize = 97usize ; pub const DEFAULT : Self = Self { ofs : 0_u32 , id : 0_u16 , count : 0_u8 , data : [0_u8 ; 90usize] , } ; } impl Default for LOG_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_DATA_DATA { type Message = MavMessage ; const ID : u32 = 120u32 ; const NAME : & 'static str = "LOG_DATA" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 97usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ofs = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ofs) ; __tmp . put_u16_le (self . id) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BUTTON_CHANGE_DATA { pub time_boot_ms : u32 , pub last_change_ms : u32 , pub state : u8 , } impl BUTTON_CHANGE_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , last_change_ms : 0_u32 , state : 0_u8 , } ; } impl Default for BUTTON_CHANGE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BUTTON_CHANGE_DATA { type Message = MavMessage ; const ID : u32 = 257u32 ; const NAME : & 'static str = "BUTTON_CHANGE" ; const EXTRA_CRC : u8 = 131u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . last_change_ms = buf . get_u32_le () ; __struct . state = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . last_change_ms) ; __tmp . put_u8 (self . state) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct V2_EXTENSION_DATA { pub message_type : u16 , pub target_network : u8 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 249] , } impl V2_EXTENSION_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { message_type : 0_u16 , target_network : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , payload : [0_u8 ; 249usize] , } ; } impl Default for V2_EXTENSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for V2_EXTENSION_DATA { type Message = MavMessage ; const ID : u32 = 248u32 ; const NAME : & 'static str = "V2_EXTENSION" ; const EXTRA_CRC : u8 = 8u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . message_type = buf . get_u16_le () ; __struct . target_network = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . message_type) ; __tmp . put_u8 (self . target_network) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FLIGHT_INFORMATION_DATA { pub arming_time_utc : u64 , pub takeoff_time_utc : u64 , pub flight_uuid : u64 , pub time_boot_ms : u32 , } impl FLIGHT_INFORMATION_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { arming_time_utc : 0_u64 , takeoff_time_utc : 0_u64 , flight_uuid : 0_u64 , time_boot_ms : 0_u32 , } ; } impl Default for FLIGHT_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FLIGHT_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 264u32 ; const NAME : & 'static str = "FLIGHT_INFORMATION" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . arming_time_utc = buf . get_u64_le () ; __struct . takeoff_time_utc = buf . get_u64_le () ; __struct . flight_uuid = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . arming_time_utc) ; __tmp . put_u64_le (self . takeoff_time_utc) ; __tmp . put_u64_le (self . flight_uuid) ; __tmp . put_u32_le (self . time_boot_ms) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_ATTITUDE_DATA { pub flags : GimbalManagerFlags , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_ATTITUDE_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 282u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_ATTITUDE" ; const EXTRA_CRC : u8 = 123u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EVENT_DATA { pub id : u32 , pub event_time_boot_ms : u32 , pub sequence : u16 , pub destination_component : u8 , pub destination_system : u8 , pub log_levels : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub arguments : [u8 ; 40] , } impl EVENT_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { id : 0_u32 , event_time_boot_ms : 0_u32 , sequence : 0_u16 , destination_component : 0_u8 , destination_system : 0_u8 , log_levels : 0_u8 , arguments : [0_u8 ; 40usize] , } ; } impl Default for EVENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EVENT_DATA { type Message = MavMessage ; const ID : u32 = 410u32 ; const NAME : & 'static str = "EVENT" ; const EXTRA_CRC : u8 = 160u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . event_time_boot_ms = buf . get_u32_le () ; __struct . sequence = buf . get_u16_le () ; __struct . destination_component = buf . get_u8 () ; __struct . destination_system = buf . get_u8 () ; __struct . log_levels = buf . get_u8 () ; for v in & mut __struct . arguments { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u32_le (self . event_time_boot_ms) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . destination_component) ; __tmp . put_u8 (self . destination_system) ; __tmp . put_u8 (self . log_levels) ; for val in & self . arguments { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { pub operator_latitude : i32 , pub operator_longitude : i32 , pub operator_altitude_geo : f32 , pub timestamp : u32 , pub target_system : u8 , pub target_component : u8 , } impl OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { operator_latitude : 0_i32 , operator_longitude : 0_i32 , operator_altitude_geo : 0.0_f32 , timestamp : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { type Message = MavMessage ; const ID : u32 = 12919u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SYSTEM_UPDATE" ; const EXTRA_CRC : u8 = 7u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . operator_latitude = buf . get_i32_le () ; __struct . operator_longitude = buf . get_i32_le () ; __struct . operator_altitude_geo = buf . get_f32_le () ; __struct . timestamp = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . operator_latitude) ; __tmp . put_i32_le (self . operator_longitude) ; __tmp . put_f32_le (self . operator_altitude_geo) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTH_KEY_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub key : [u8 ; 32] , } impl AUTH_KEY_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { key : [0_u8 ; 32usize] , } ; } impl Default for AUTH_KEY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTH_KEY_DATA { type Message = MavMessage ; const ID : u32 = 7u32 ; const NAME : & 'static str = "AUTH_KEY" ; const EXTRA_CRC : u8 = 119u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . key { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . key { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HYGROMETER_SENSOR_DATA { pub temperature : i16 , pub humidity : u16 , pub id : u8 , } impl HYGROMETER_SENSOR_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { temperature : 0_i16 , humidity : 0_u16 , id : 0_u8 , } ; } impl Default for HYGROMETER_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HYGROMETER_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 12920u32 ; const NAME : & 'static str = "HYGROMETER_SENSOR" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . temperature = buf . get_i16_le () ; __struct . humidity = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u16_le (self . humidity) ; __tmp . put_u8 (self . id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_STATUS_DATA { pub satellites_visible : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_prn : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_used : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_elevation : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_azimuth : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_snr : [u8 ; 20] , } impl GPS_STATUS_DATA { pub const ENCODED_LEN : usize = 101usize ; pub const DEFAULT : Self = Self { satellites_visible : 0_u8 , satellite_prn : [0_u8 ; 20usize] , satellite_used : [0_u8 ; 20usize] , satellite_elevation : [0_u8 ; 20usize] , satellite_azimuth : [0_u8 ; 20usize] , satellite_snr : [0_u8 ; 20usize] , } ; } impl Default for GPS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 25u32 ; const NAME : & 'static str = "GPS_STATUS" ; const EXTRA_CRC : u8 = 23u8 ; const ENCODED_LEN : usize = 101usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . satellites_visible = buf . get_u8 () ; for v in & mut __struct . satellite_prn { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_used { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_elevation { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_azimuth { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_snr { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . satellites_visible) ; for val in & self . satellite_prn { __tmp . put_u8 (* val) ; } for val in & self . satellite_used { __tmp . put_u8 (* val) ; } for val in & self . satellite_elevation { __tmp . put_u8 (* val) ; } for val in & self . satellite_azimuth { __tmp . put_u8 (* val) ; } for val in & self . satellite_snr { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ONBOARD_COMPUTER_STATUS_DATA { pub time_usec : u64 , pub uptime : u32 , pub ram_usage : u32 , pub ram_total : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_type : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_usage : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_total : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_type : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_tx_rate : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_rx_rate : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_tx_max : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_rx_max : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub fan_speed : [i16 ; 4] , pub mavtype : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cpu_cores : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cpu_combined : [u8 ; 10] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub gpu_cores : [u8 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub gpu_combined : [u8 ; 10] , pub temperature_board : i8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature_core : [i8 ; 8] , } impl ONBOARD_COMPUTER_STATUS_DATA { pub const ENCODED_LEN : usize = 238usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime : 0_u32 , ram_usage : 0_u32 , ram_total : 0_u32 , storage_type : [0_u32 ; 4usize] , storage_usage : [0_u32 ; 4usize] , storage_total : [0_u32 ; 4usize] , link_type : [0_u32 ; 6usize] , link_tx_rate : [0_u32 ; 6usize] , link_rx_rate : [0_u32 ; 6usize] , link_tx_max : [0_u32 ; 6usize] , link_rx_max : [0_u32 ; 6usize] , fan_speed : [0_i16 ; 4usize] , mavtype : 0_u8 , cpu_cores : [0_u8 ; 8usize] , cpu_combined : [0_u8 ; 10usize] , gpu_cores : [0_u8 ; 4usize] , gpu_combined : [0_u8 ; 10usize] , temperature_board : 0_i8 , temperature_core : [0_i8 ; 8usize] , } ; } impl Default for ONBOARD_COMPUTER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ONBOARD_COMPUTER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 390u32 ; const NAME : & 'static str = "ONBOARD_COMPUTER_STATUS" ; const EXTRA_CRC : u8 = 156u8 ; const ENCODED_LEN : usize = 238usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime = buf . get_u32_le () ; __struct . ram_usage = buf . get_u32_le () ; __struct . ram_total = buf . get_u32_le () ; for v in & mut __struct . storage_type { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . storage_usage { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . storage_total { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_type { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_tx_rate { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_rx_rate { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_tx_max { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_rx_max { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . fan_speed { let val = buf . get_i16_le () ; * v = val ; } __struct . mavtype = buf . get_u8 () ; for v in & mut __struct . cpu_cores { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . cpu_combined { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . gpu_cores { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . gpu_combined { let val = buf . get_u8 () ; * v = val ; } __struct . temperature_board = buf . get_i8 () ; for v in & mut __struct . temperature_core { let val = buf . get_i8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime) ; __tmp . put_u32_le (self . ram_usage) ; __tmp . put_u32_le (self . ram_total) ; for val in & self . storage_type { __tmp . put_u32_le (* val) ; } for val in & self . storage_usage { __tmp . put_u32_le (* val) ; } for val in & self . storage_total { __tmp . put_u32_le (* val) ; } for val in & self . link_type { __tmp . put_u32_le (* val) ; } for val in & self . link_tx_rate { __tmp . put_u32_le (* val) ; } for val in & self . link_rx_rate { __tmp . put_u32_le (* val) ; } for val in & self . link_tx_max { __tmp . put_u32_le (* val) ; } for val in & self . link_rx_max { __tmp . put_u32_le (* val) ; } for val in & self . fan_speed { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . mavtype) ; for val in & self . cpu_cores { __tmp . put_u8 (* val) ; } for val in & self . cpu_combined { __tmp . put_u8 (* val) ; } for val in & self . gpu_cores { __tmp . put_u8 (* val) ; } for val in & self . gpu_combined { __tmp . put_u8 (* val) ; } __tmp . put_i8 (self . temperature_board) ; for val in & self . temperature_core { __tmp . put_i8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAMED_VALUE_INT_DATA { pub time_boot_ms : u32 , pub value : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl NAMED_VALUE_INT_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0_i32 , name : [0_u8 ; 10usize] , } ; } impl Default for NAMED_VALUE_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAMED_VALUE_INT_DATA { type Message = MavMessage ; const ID : u32 = 252u32 ; const NAME : & 'static str = "NAMED_VALUE_INT" ; const EXTRA_CRC : u8 = 44u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_i32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . value) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ACTUATOR_OUTPUT_STATUS_DATA { pub time_usec : u64 , pub active : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub actuator : [f32 ; 32] , } impl ACTUATOR_OUTPUT_STATUS_DATA { pub const ENCODED_LEN : usize = 140usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , active : 0_u32 , actuator : [0.0_f32 ; 32usize] , } ; } impl Default for ACTUATOR_OUTPUT_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ACTUATOR_OUTPUT_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 375u32 ; const NAME : & 'static str = "ACTUATOR_OUTPUT_STATUS" ; const EXTRA_CRC : u8 = 251u8 ; const ENCODED_LEN : usize = 140usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . active = buf . get_u32_le () ; for v in & mut __struct . actuator { let val = buf . get_f32_le () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . active) ; for val in & self . actuator { __tmp . put_f32_le (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PLAY_TUNE_V2_DATA { pub format : TuneFormat , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub tune : [u8 ; 248] , } impl PLAY_TUNE_V2_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { format : TuneFormat :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , tune : [0_u8 ; 248usize] , } ; } impl Default for PLAY_TUNE_V2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PLAY_TUNE_V2_DATA { type Message = MavMessage ; const ID : u32 = 400u32 ; const NAME : & 'static str = "PLAY_TUNE_V2" ; const EXTRA_CRC : u8 = 110u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . format = TuneFormat :: from_bits (tmp & TuneFormat :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "TuneFormat" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . tune { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . format . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . tune { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_ATTITUDE_TARGET_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub body_roll_rate : f32 , pub body_pitch_rate : f32 , pub body_yaw_rate : f32 , pub thrust : f32 , pub target_system : u8 , pub target_component : u8 , pub type_mask : AttitudeTargetTypemask , } impl SET_ATTITUDE_TARGET_DATA { pub const ENCODED_LEN : usize = 39usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , body_roll_rate : 0.0_f32 , body_pitch_rate : 0.0_f32 , body_yaw_rate : 0.0_f32 , thrust : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , type_mask : AttitudeTargetTypemask :: DEFAULT , } ; } impl Default for SET_ATTITUDE_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_ATTITUDE_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 82u32 ; const NAME : & 'static str = "SET_ATTITUDE_TARGET" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 39usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . body_roll_rate = buf . get_f32_le () ; __struct . body_pitch_rate = buf . get_f32_le () ; __struct . body_yaw_rate = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . type_mask = AttitudeTargetTypemask :: from_bits (tmp & AttitudeTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AttitudeTargetTypemask" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . body_roll_rate) ; __tmp . put_f32_le (self . body_pitch_rate) ; __tmp . put_f32_le (self . body_yaw_rate) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . type_mask . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CANFD_FRAME_DATA { pub id : u32 , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 64] , } impl CANFD_FRAME_DATA { pub const ENCODED_LEN : usize = 72usize ; pub const DEFAULT : Self = Self { id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , len : 0_u8 , data : [0_u8 ; 64usize] , } ; } impl Default for CANFD_FRAME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CANFD_FRAME_DATA { type Message = MavMessage ; const ID : u32 = 387u32 ; const NAME : & 'static str = "CANFD_FRAME" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 72usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_CAPTURE_STATUS_DATA { pub time_boot_ms : u32 , pub image_interval : f32 , pub recording_time_ms : u32 , pub available_capacity : f32 , pub image_status : u8 , pub video_status : u8 , } impl CAMERA_CAPTURE_STATUS_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , image_interval : 0.0_f32 , recording_time_ms : 0_u32 , available_capacity : 0.0_f32 , image_status : 0_u8 , video_status : 0_u8 , } ; } impl Default for CAMERA_CAPTURE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_CAPTURE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 262u32 ; const NAME : & 'static str = "CAMERA_CAPTURE_STATUS" ; const EXTRA_CRC : u8 = 12u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . image_interval = buf . get_f32_le () ; __struct . recording_time_ms = buf . get_u32_le () ; __struct . available_capacity = buf . get_f32_le () ; __struct . image_status = buf . get_u8 () ; __struct . video_status = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . image_interval) ; __tmp . put_u32_le (self . recording_time_ms) ; __tmp . put_f32_le (self . available_capacity) ; __tmp . put_u8 (self . image_status) ; __tmp . put_u8 (self . video_status) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REQUEST_EVENT_DATA { pub first_sequence : u16 , pub last_sequence : u16 , pub target_system : u8 , pub target_component : u8 , } impl REQUEST_EVENT_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { first_sequence : 0_u16 , last_sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for REQUEST_EVENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REQUEST_EVENT_DATA { type Message = MavMessage ; const ID : u32 = 412u32 ; const NAME : & 'static str = "REQUEST_EVENT" ; const EXTRA_CRC : u8 = 33u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . first_sequence = buf . get_u16_le () ; __struct . last_sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . first_sequence) ; __tmp . put_u16_le (self . last_sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VFR_HUD_DATA { pub airspeed : f32 , pub groundspeed : f32 , pub alt : f32 , pub climb : f32 , pub heading : i16 , pub throttle : u16 , } impl VFR_HUD_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { airspeed : 0.0_f32 , groundspeed : 0.0_f32 , alt : 0.0_f32 , climb : 0.0_f32 , heading : 0_i16 , throttle : 0_u16 , } ; } impl Default for VFR_HUD_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VFR_HUD_DATA { type Message = MavMessage ; const ID : u32 = 74u32 ; const NAME : & 'static str = "VFR_HUD" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . airspeed = buf . get_f32_le () ; __struct . groundspeed = buf . get_f32_le () ; __struct . alt = buf . get_f32_le () ; __struct . climb = buf . get_f32_le () ; __struct . heading = buf . get_i16_le () ; __struct . throttle = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . airspeed) ; __tmp . put_f32_le (self . groundspeed) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . climb) ; __tmp . put_i16_le (self . heading) ; __tmp . put_u16_le (self . throttle) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , } impl LOCAL_POSITION_NED_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , } ; } impl Default for LOCAL_POSITION_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_DATA { type Message = MavMessage ; const ID : u32 = 32u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED" ; const EXTRA_CRC : u8 = 185u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_VERSION_DATA { pub capabilities : MavProtocolCapability , pub uid : u64 , pub flight_sw_version : u32 , pub middleware_sw_version : u32 , pub os_sw_version : u32 , pub board_version : u32 , pub vendor_id : u16 , pub product_id : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub flight_custom_version : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub middleware_custom_version : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub os_custom_version : [u8 ; 8] , } impl AUTOPILOT_VERSION_DATA { pub const ENCODED_LEN : usize = 60usize ; pub const DEFAULT : Self = Self { capabilities : MavProtocolCapability :: DEFAULT , uid : 0_u64 , flight_sw_version : 0_u32 , middleware_sw_version : 0_u32 , os_sw_version : 0_u32 , board_version : 0_u32 , vendor_id : 0_u16 , product_id : 0_u16 , flight_custom_version : [0_u8 ; 8usize] , middleware_custom_version : [0_u8 ; 8usize] , os_custom_version : [0_u8 ; 8usize] , } ; } impl Default for AUTOPILOT_VERSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_VERSION_DATA { type Message = MavMessage ; const ID : u32 = 148u32 ; const NAME : & 'static str = "AUTOPILOT_VERSION" ; const EXTRA_CRC : u8 = 178u8 ; const ENCODED_LEN : usize = 60usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u64_le () ; __struct . capabilities = MavProtocolCapability :: from_bits (tmp & MavProtocolCapability :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavProtocolCapability" , value : tmp as u32 }) ? ; __struct . uid = buf . get_u64_le () ; __struct . flight_sw_version = buf . get_u32_le () ; __struct . middleware_sw_version = buf . get_u32_le () ; __struct . os_sw_version = buf . get_u32_le () ; __struct . board_version = buf . get_u32_le () ; __struct . vendor_id = buf . get_u16_le () ; __struct . product_id = buf . get_u16_le () ; for v in & mut __struct . flight_custom_version { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . middleware_custom_version { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . os_custom_version { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . capabilities . bits ()) ; __tmp . put_u64_le (self . uid) ; __tmp . put_u32_le (self . flight_sw_version) ; __tmp . put_u32_le (self . middleware_sw_version) ; __tmp . put_u32_le (self . os_sw_version) ; __tmp . put_u32_le (self . board_version) ; __tmp . put_u16_le (self . vendor_id) ; __tmp . put_u16_le (self . product_id) ; for val in & self . flight_custom_version { __tmp . put_u8 (* val) ; } for val in & self . middleware_custom_version { __tmp . put_u8 (* val) ; } for val in & self . os_custom_version { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl VISION_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for VISION_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 102u32 ; const NAME : & 'static str = "VISION_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 158u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVCAN_NODE_INFO_DATA { pub time_usec : u64 , pub uptime_sec : u32 , pub sw_vcs_commit : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 80] , pub hw_version_major : u8 , pub hw_version_minor : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub hw_unique_id : [u8 ; 16] , pub sw_version_major : u8 , pub sw_version_minor : u8 , } impl UAVCAN_NODE_INFO_DATA { pub const ENCODED_LEN : usize = 116usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime_sec : 0_u32 , sw_vcs_commit : 0_u32 , name : [0_u8 ; 80usize] , hw_version_major : 0_u8 , hw_version_minor : 0_u8 , hw_unique_id : [0_u8 ; 16usize] , sw_version_major : 0_u8 , sw_version_minor : 0_u8 , } ; } impl Default for UAVCAN_NODE_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVCAN_NODE_INFO_DATA { type Message = MavMessage ; const ID : u32 = 311u32 ; const NAME : & 'static str = "UAVCAN_NODE_INFO" ; const EXTRA_CRC : u8 = 95u8 ; const ENCODED_LEN : usize = 116usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime_sec = buf . get_u32_le () ; __struct . sw_vcs_commit = buf . get_u32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } __struct . hw_version_major = buf . get_u8 () ; __struct . hw_version_minor = buf . get_u8 () ; for v in & mut __struct . hw_unique_id { let val = buf . get_u8 () ; * v = val ; } __struct . sw_version_major = buf . get_u8 () ; __struct . sw_version_minor = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime_sec) ; __tmp . put_u32_le (self . sw_vcs_commit) ; for val in & self . name { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . hw_version_major) ; __tmp . put_u8 (self . hw_version_minor) ; for val in & self . hw_unique_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . sw_version_major) ; __tmp . put_u8 (self . sw_version_minor) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_REQUEST_DATA { pub mask : u64 , pub lat : i32 , pub lon : i32 , pub grid_spacing : u16 , } impl TERRAIN_REQUEST_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { mask : 0_u64 , lat : 0_i32 , lon : 0_i32 , grid_spacing : 0_u16 , } ; } impl Default for TERRAIN_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 133u32 ; const NAME : & 'static str = "TERRAIN_REQUEST" ; const EXTRA_CRC : u8 = 6u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mask = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . grid_spacing = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . mask) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . grid_spacing) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PING_DATA { pub time_usec : u64 , pub seq : u32 , pub target_system : u8 , pub target_component : u8 , } impl PING_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , seq : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PING_DATA { type Message = MavMessage ; const ID : u32 = 4u32 ; const NAME : & 'static str = "PING" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . seq = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_SET_CURRENT_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_SET_CURRENT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_SET_CURRENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_SET_CURRENT_DATA { type Message = MavMessage ; const ID : u32 = 41u32 ; const NAME : & 'static str = "MISSION_SET_CURRENT" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_POSITION_TARGET_GLOBAL_INT_DATA { pub time_boot_ms : u32 , pub lat_int : i32 , pub lon_int : i32 , pub alt : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub target_system : u8 , pub target_component : u8 , pub coordinate_frame : MavFrame , } impl SET_POSITION_TARGET_GLOBAL_INT_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_int : 0_i32 , lon_int : 0_i32 , alt : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for SET_POSITION_TARGET_GLOBAL_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_POSITION_TARGET_GLOBAL_INT_DATA { type Message = MavMessage ; const ID : u32 = 86u32 ; const NAME : & 'static str = "SET_POSITION_TARGET_GLOBAL_INT" ; const EXTRA_CRC : u8 = 5u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_int = buf . get_i32_le () ; __struct . lon_int = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_int) ; __tmp . put_i32_le (self . lon_int) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGH_LATENCY_DATA { pub custom_mode : u32 , pub latitude : i32 , pub longitude : i32 , pub roll : i16 , pub pitch : i16 , pub heading : u16 , pub heading_sp : i16 , pub altitude_amsl : i16 , pub altitude_sp : i16 , pub wp_distance : u16 , pub base_mode : MavModeFlag , pub landed_state : MavLandedState , pub throttle : i8 , pub airspeed : u8 , pub airspeed_sp : u8 , pub groundspeed : u8 , pub climb_rate : i8 , pub gps_nsat : u8 , pub gps_fix_type : GpsFixType , pub battery_remaining : u8 , pub temperature : i8 , pub temperature_air : i8 , pub failsafe : u8 , pub wp_num : u8 , } impl HIGH_LATENCY_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , latitude : 0_i32 , longitude : 0_i32 , roll : 0_i16 , pitch : 0_i16 , heading : 0_u16 , heading_sp : 0_i16 , altitude_amsl : 0_i16 , altitude_sp : 0_i16 , wp_distance : 0_u16 , base_mode : MavModeFlag :: DEFAULT , landed_state : MavLandedState :: DEFAULT , throttle : 0_i8 , airspeed : 0_u8 , airspeed_sp : 0_u8 , groundspeed : 0_u8 , climb_rate : 0_i8 , gps_nsat : 0_u8 , gps_fix_type : GpsFixType :: DEFAULT , battery_remaining : 0_u8 , temperature : 0_i8 , temperature_air : 0_i8 , failsafe : 0_u8 , wp_num : 0_u8 , } ; } impl Default for HIGH_LATENCY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGH_LATENCY_DATA { type Message = MavMessage ; const ID : u32 = 234u32 ; const NAME : & 'static str = "HIGH_LATENCY" ; const EXTRA_CRC : u8 = 150u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . roll = buf . get_i16_le () ; __struct . pitch = buf . get_i16_le () ; __struct . heading = buf . get_u16_le () ; __struct . heading_sp = buf . get_i16_le () ; __struct . altitude_amsl = buf . get_i16_le () ; __struct . altitude_sp = buf . get_i16_le () ; __struct . wp_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . base_mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; __struct . throttle = buf . get_i8 () ; __struct . airspeed = buf . get_u8 () ; __struct . airspeed_sp = buf . get_u8 () ; __struct . groundspeed = buf . get_u8 () ; __struct . climb_rate = buf . get_i8 () ; __struct . gps_nsat = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . gps_fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . battery_remaining = buf . get_u8 () ; __struct . temperature = buf . get_i8 () ; __struct . temperature_air = buf . get_i8 () ; __struct . failsafe = buf . get_u8 () ; __struct . wp_num = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i16_le (self . roll) ; __tmp . put_i16_le (self . pitch) ; __tmp . put_u16_le (self . heading) ; __tmp . put_i16_le (self . heading_sp) ; __tmp . put_i16_le (self . altitude_amsl) ; __tmp . put_i16_le (self . altitude_sp) ; __tmp . put_u16_le (self . wp_distance) ; __tmp . put_u8 (self . base_mode . bits ()) ; __tmp . put_u8 (self . landed_state as u8) ; __tmp . put_i8 (self . throttle) ; __tmp . put_u8 (self . airspeed) ; __tmp . put_u8 (self . airspeed_sp) ; __tmp . put_u8 (self . groundspeed) ; __tmp . put_i8 (self . climb_rate) ; __tmp . put_u8 (self . gps_nsat) ; __tmp . put_u8 (self . gps_fix_type as u8) ; __tmp . put_u8 (self . battery_remaining) ; __tmp . put_i8 (self . temperature) ; __tmp . put_i8 (self . temperature_air) ; __tmp . put_u8 (self . failsafe) ; __tmp . put_u8 (self . wp_num) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Clone , PartialEq , Debug)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMessage { MISSION_CLEAR_ALL (MISSION_CLEAR_ALL_DATA) , COMMAND_INT (COMMAND_INT_DATA) , COLLISION (COLLISION_DATA) , RC_CHANNELS_RAW (RC_CHANNELS_RAW_DATA) , OPTICAL_FLOW_RAD (OPTICAL_FLOW_RAD_DATA) , LOGGING_ACK (LOGGING_ACK_DATA) , WIFI_CONFIG_AP (WIFI_CONFIG_AP_DATA) , MISSION_WRITE_PARTIAL_LIST (MISSION_WRITE_PARTIAL_LIST_DATA) , MANUAL_CONTROL (MANUAL_CONTROL_DATA) , SMART_BATTERY_INFO (SMART_BATTERY_INFO_DATA) , COMMAND_CANCEL (COMMAND_CANCEL_DATA) , LOG_ENTRY (LOG_ENTRY_DATA) , OPEN_DRONE_ID_AUTHENTICATION (OPEN_DRONE_ID_AUTHENTICATION_DATA) , SCALED_PRESSURE2 (SCALED_PRESSURE2_DATA) , CAMERA_TRIGGER (CAMERA_TRIGGER_DATA) , SET_HOME_POSITION (SET_HOME_POSITION_DATA) , RAW_IMU (RAW_IMU_DATA) , SAFETY_SET_ALLOWED_AREA (SAFETY_SET_ALLOWED_AREA_DATA) , COMPONENT_METADATA (COMPONENT_METADATA_DATA) , GIMBAL_MANAGER_INFORMATION (GIMBAL_MANAGER_INFORMATION_DATA) , ACTUATOR_CONTROL_TARGET (ACTUATOR_CONTROL_TARGET_DATA) , MISSION_CURRENT (MISSION_CURRENT_DATA) , LOG_REQUEST_END (LOG_REQUEST_END_DATA) , FILE_TRANSFER_PROTOCOL (FILE_TRANSFER_PROTOCOL_DATA) , BATTERY_STATUS (BATTERY_STATUS_DATA) , LANDING_TARGET (LANDING_TARGET_DATA) , MESSAGE_INTERVAL (MESSAGE_INTERVAL_DATA) , WHEEL_DISTANCE (WHEEL_DISTANCE_DATA) , MISSION_COUNT (MISSION_COUNT_DATA) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA) , CHANGE_OPERATOR_CONTROL (CHANGE_OPERATOR_CONTROL_DATA) , HIL_STATE (HIL_STATE_DATA) , HIL_SENSOR (HIL_SENSOR_DATA) , PARAM_EXT_REQUEST_READ (PARAM_EXT_REQUEST_READ_DATA) , SCALED_PRESSURE (SCALED_PRESSURE_DATA) , SET_GPS_GLOBAL_ORIGIN (SET_GPS_GLOBAL_ORIGIN_DATA) , ENCAPSULATED_DATA (ENCAPSULATED_DATA_DATA) , COMPONENT_INFORMATION (COMPONENT_INFORMATION_DATA) , VIDEO_STREAM_STATUS (VIDEO_STREAM_STATUS_DATA) , GIMBAL_DEVICE_INFORMATION (GIMBAL_DEVICE_INFORMATION_DATA) , HIL_GPS (HIL_GPS_DATA) , GLOBAL_POSITION_INT_COV (GLOBAL_POSITION_INT_COV_DATA) , TERRAIN_REPORT (TERRAIN_REPORT_DATA) , AIS_VESSEL (AIS_VESSEL_DATA) , ODOMETRY (ODOMETRY_DATA) , SUPPORTED_TUNES (SUPPORTED_TUNES_DATA) , CONTROL_SYSTEM_STATE (CONTROL_SYSTEM_STATE_DATA) , OPEN_DRONE_ID_SYSTEM (OPEN_DRONE_ID_SYSTEM_DATA) , ATT_POS_MOCAP (ATT_POS_MOCAP_DATA) , LOGGING_DATA (LOGGING_DATA_DATA) , OPEN_DRONE_ID_MESSAGE_PACK (OPEN_DRONE_ID_MESSAGE_PACK_DATA) , MISSION_REQUEST_PARTIAL_LIST (MISSION_REQUEST_PARTIAL_LIST_DATA) , SETUP_SIGNING (SETUP_SIGNING_DATA) , PARAM_EXT_ACK (PARAM_EXT_ACK_DATA) , RADIO_STATUS (RADIO_STATUS_DATA) , RESPONSE_EVENT_ERROR (RESPONSE_EVENT_ERROR_DATA) , SIM_STATE (SIM_STATE_DATA) , FENCE_STATUS (FENCE_STATUS_DATA) , RESOURCE_REQUEST (RESOURCE_REQUEST_DATA) , TERRAIN_DATA (TERRAIN_DATA_DATA) , VICON_POSITION_ESTIMATE (VICON_POSITION_ESTIMATE_DATA) , EXTENDED_SYS_STATE (EXTENDED_SYS_STATE_DATA) , HEARTBEAT (HEARTBEAT_DATA) , VIDEO_STREAM_INFORMATION (VIDEO_STREAM_INFORMATION_DATA) , MISSION_REQUEST_INT (MISSION_REQUEST_INT_DATA) , CAN_FILTER_MODIFY (CAN_FILTER_MODIFY_DATA) , MISSION_ITEM_INT (MISSION_ITEM_INT_DATA) , HIGHRES_IMU (HIGHRES_IMU_DATA) , SET_ACTUATOR_CONTROL_TARGET (SET_ACTUATOR_CONTROL_TARGET_DATA) , DEBUG (DEBUG_DATA) , CAMERA_SETTINGS (CAMERA_SETTINGS_DATA) , MISSION_REQUEST_LIST (MISSION_REQUEST_LIST_DATA) , POSITION_TARGET_LOCAL_NED (POSITION_TARGET_LOCAL_NED_DATA) , SCALED_IMU (SCALED_IMU_DATA) , WIND_COV (WIND_COV_DATA) , MISSION_REQUEST (MISSION_REQUEST_DATA) , SERIAL_CONTROL (SERIAL_CONTROL_DATA) , PARAM_REQUEST_READ (PARAM_REQUEST_READ_DATA) , GPS2_RTK (GPS2_RTK_DATA) , COMMAND_ACK (COMMAND_ACK_DATA) , POWER_STATUS (POWER_STATUS_DATA) , GIMBAL_MANAGER_STATUS (GIMBAL_MANAGER_STATUS_DATA) , GLOBAL_POSITION_INT (GLOBAL_POSITION_INT_DATA) , PARAM_SET (PARAM_SET_DATA) , OPTICAL_FLOW (OPTICAL_FLOW_DATA) , RC_CHANNELS_SCALED (RC_CHANNELS_SCALED_DATA) , GPS_INJECT_DATA (GPS_INJECT_DATA_DATA) , PARAM_VALUE (PARAM_VALUE_DATA) , RC_CHANNELS (RC_CHANNELS_DATA) , ESTIMATOR_STATUS (ESTIMATOR_STATUS_DATA) , TIMESYNC (TIMESYNC_DATA) , SCALED_PRESSURE3 (SCALED_PRESSURE3_DATA) , DATA_STREAM (DATA_STREAM_DATA) , HOME_POSITION (HOME_POSITION_DATA) , MEMORY_VECT (MEMORY_VECT_DATA) , NAMED_VALUE_FLOAT (NAMED_VALUE_FLOAT_DATA) , NAV_CONTROLLER_OUTPUT (NAV_CONTROLLER_OUTPUT_DATA) , CHANGE_OPERATOR_CONTROL_ACK (CHANGE_OPERATOR_CONTROL_ACK_DATA) , STATUSTEXT (STATUSTEXT_DATA) , CAMERA_TRACKING_GEO_STATUS (CAMERA_TRACKING_GEO_STATUS_DATA) , GIMBAL_MANAGER_SET_MANUAL_CONTROL (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA) , UAVCAN_NODE_STATUS (UAVCAN_NODE_STATUS_DATA) , GPS_GLOBAL_ORIGIN (GPS_GLOBAL_ORIGIN_DATA) , EFI_STATUS (EFI_STATUS_DATA) , ATTITUDE_QUATERNION (ATTITUDE_QUATERNION_DATA) , CAMERA_IMAGE_CAPTURED (CAMERA_IMAGE_CAPTURED_DATA) , TRAJECTORY_REPRESENTATION_WAYPOINTS (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA) , CELLULAR_STATUS (CELLULAR_STATUS_DATA) , ORBIT_EXECUTION_STATUS (ORBIT_EXECUTION_STATUS_DATA) , TIME_ESTIMATE_TO_TARGET (TIME_ESTIMATE_TO_TARGET_DATA) , RAW_PRESSURE (RAW_PRESSURE_DATA) , WINCH_STATUS (WINCH_STATUS_DATA) , OPEN_DRONE_ID_OPERATOR_ID (OPEN_DRONE_ID_OPERATOR_ID_DATA) , ATTITUDE_TARGET (ATTITUDE_TARGET_DATA) , GIMBAL_DEVICE_ATTITUDE_STATUS (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA) , ISBD_LINK_STATUS (ISBD_LINK_STATUS_DATA) , TUNNEL (TUNNEL_DATA) , OBSTACLE_DISTANCE (OBSTACLE_DISTANCE_DATA) , SAFETY_ALLOWED_AREA (SAFETY_ALLOWED_AREA_DATA) , DEBUG_FLOAT_ARRAY (DEBUG_FLOAT_ARRAY_DATA) , SERVO_OUTPUT_RAW (SERVO_OUTPUT_RAW_DATA) , DISTANCE_SENSOR (DISTANCE_SENSOR_DATA) , PARAM_MAP_RC (PARAM_MAP_RC_DATA) , TRAJECTORY_REPRESENTATION_BEZIER (TRAJECTORY_REPRESENTATION_BEZIER_DATA) , GENERATOR_STATUS (GENERATOR_STATUS_DATA) , SET_POSITION_TARGET_LOCAL_NED (SET_POSITION_TARGET_LOCAL_NED_DATA) , CAN_FRAME (CAN_FRAME_DATA) , SCALED_IMU2 (SCALED_IMU2_DATA) , OPEN_DRONE_ID_LOCATION (OPEN_DRONE_ID_LOCATION_DATA) , COMMAND_LONG (COMMAND_LONG_DATA) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA) , POSITION_TARGET_GLOBAL_INT (POSITION_TARGET_GLOBAL_INT_DATA) , HIL_CONTROLS (HIL_CONTROLS_DATA) , CAMERA_TRACKING_IMAGE_STATUS (CAMERA_TRACKING_IMAGE_STATUS_DATA) , ATTITUDE_QUATERNION_COV (ATTITUDE_QUATERNION_COV_DATA) , REQUEST_DATA_STREAM (REQUEST_DATA_STREAM_DATA) , LOG_ERASE (LOG_ERASE_DATA) , GPS_RTCM_DATA (GPS_RTCM_DATA_DATA) , MOUNT_ORIENTATION (MOUNT_ORIENTATION_DATA) , OPEN_DRONE_ID_BASIC_ID (OPEN_DRONE_ID_BASIC_ID_DATA) , HIL_RC_INPUTS_RAW (HIL_RC_INPUTS_RAW_DATA) , MISSION_ITEM_REACHED (MISSION_ITEM_REACHED_DATA) , HIL_ACTUATOR_CONTROLS (HIL_ACTUATOR_CONTROLS_DATA) , SET_MODE (SET_MODE_DATA) , LOG_REQUEST_LIST (LOG_REQUEST_LIST_DATA) , HIGH_LATENCY2 (HIGH_LATENCY2_DATA) , GIMBAL_MANAGER_SET_PITCHYAW (GIMBAL_MANAGER_SET_PITCHYAW_DATA) , PARAM_EXT_REQUEST_LIST (PARAM_EXT_REQUEST_LIST_DATA) , SYSTEM_TIME (SYSTEM_TIME_DATA) , MISSION_ITEM (MISSION_ITEM_DATA) , STORAGE_INFORMATION (STORAGE_INFORMATION_DATA) , GPS_RAW_INT (GPS_RAW_INT_DATA) , LOCAL_POSITION_NED_COV (LOCAL_POSITION_NED_COV_DATA) , RC_CHANNELS_OVERRIDE (RC_CHANNELS_OVERRIDE_DATA) , PROTOCOL_VERSION (PROTOCOL_VERSION_DATA) , PARAM_EXT_VALUE (PARAM_EXT_VALUE_DATA) , CURRENT_EVENT_SEQUENCE (CURRENT_EVENT_SEQUENCE_DATA) , PARAM_EXT_SET (PARAM_EXT_SET_DATA) , ESC_INFO (ESC_INFO_DATA) , GIMBAL_DEVICE_SET_ATTITUDE (GIMBAL_DEVICE_SET_ATTITUDE_DATA) , VISION_SPEED_ESTIMATE (VISION_SPEED_ESTIMATE_DATA) , LOGGING_DATA_ACKED (LOGGING_DATA_ACKED_DATA) , ESC_STATUS (ESC_STATUS_DATA) , PARAM_REQUEST_LIST (PARAM_REQUEST_LIST_DATA) , CAMERA_INFORMATION (CAMERA_INFORMATION_DATA) , ATTITUDE (ATTITUDE_DATA) , CELLULAR_CONFIG (CELLULAR_CONFIG_DATA) , GLOBAL_VISION_POSITION_ESTIMATE (GLOBAL_VISION_POSITION_ESTIMATE_DATA) , ALTITUDE (ALTITUDE_DATA) , GPS2_RAW (GPS2_RAW_DATA) , FOLLOW_TARGET (FOLLOW_TARGET_DATA) , LINK_NODE_STATUS (LINK_NODE_STATUS_DATA) , GPS_INPUT (GPS_INPUT_DATA) , DATA_TRANSMISSION_HANDSHAKE (DATA_TRANSMISSION_HANDSHAKE_DATA) , GPS_RTK (GPS_RTK_DATA) , TERRAIN_CHECK (TERRAIN_CHECK_DATA) , MANUAL_SETPOINT (MANUAL_SETPOINT_DATA) , SCALED_IMU3 (SCALED_IMU3_DATA) , MAG_CAL_REPORT (MAG_CAL_REPORT_DATA) , ADSB_VEHICLE (ADSB_VEHICLE_DATA) , DEBUG_VECT (DEBUG_VECT_DATA) , VIBRATION (VIBRATION_DATA) , PLAY_TUNE (PLAY_TUNE_DATA) , CAMERA_FOV_STATUS (CAMERA_FOV_STATUS_DATA) , HIL_STATE_QUATERNION (HIL_STATE_QUATERNION_DATA) , RAW_RPM (RAW_RPM_DATA) , SYS_STATUS (SYS_STATUS_DATA) , MISSION_ACK (MISSION_ACK_DATA) , LOG_REQUEST_DATA (LOG_REQUEST_DATA_DATA) , UTM_GLOBAL_POSITION (UTM_GLOBAL_POSITION_DATA) , OPEN_DRONE_ID_SELF_ID (OPEN_DRONE_ID_SELF_ID_DATA) , OPEN_DRONE_ID_ARM_STATUS (OPEN_DRONE_ID_ARM_STATUS_DATA) , HIL_OPTICAL_FLOW (HIL_OPTICAL_FLOW_DATA) , LOG_DATA (LOG_DATA_DATA) , BUTTON_CHANGE (BUTTON_CHANGE_DATA) , V2_EXTENSION (V2_EXTENSION_DATA) , FLIGHT_INFORMATION (FLIGHT_INFORMATION_DATA) , GIMBAL_MANAGER_SET_ATTITUDE (GIMBAL_MANAGER_SET_ATTITUDE_DATA) , EVENT (EVENT_DATA) , OPEN_DRONE_ID_SYSTEM_UPDATE (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA) , AUTH_KEY (AUTH_KEY_DATA) , HYGROMETER_SENSOR (HYGROMETER_SENSOR_DATA) , GPS_STATUS (GPS_STATUS_DATA) , ONBOARD_COMPUTER_STATUS (ONBOARD_COMPUTER_STATUS_DATA) , NAMED_VALUE_INT (NAMED_VALUE_INT_DATA) , ACTUATOR_OUTPUT_STATUS (ACTUATOR_OUTPUT_STATUS_DATA) , PLAY_TUNE_V2 (PLAY_TUNE_V2_DATA) , SET_ATTITUDE_TARGET (SET_ATTITUDE_TARGET_DATA) , CANFD_FRAME (CANFD_FRAME_DATA) , CAMERA_CAPTURE_STATUS (CAMERA_CAPTURE_STATUS_DATA) , REQUEST_EVENT (REQUEST_EVENT_DATA) , VFR_HUD (VFR_HUD_DATA) , LOCAL_POSITION_NED (LOCAL_POSITION_NED_DATA) , AUTOPILOT_VERSION (AUTOPILOT_VERSION_DATA) , VISION_POSITION_ESTIMATE (VISION_POSITION_ESTIMATE_DATA) , UAVCAN_NODE_INFO (UAVCAN_NODE_INFO_DATA) , TERRAIN_REQUEST (TERRAIN_REQUEST_DATA) , PING (PING_DATA) , MISSION_SET_CURRENT (MISSION_SET_CURRENT_DATA) , SET_POSITION_TARGET_GLOBAL_INT (SET_POSITION_TARGET_GLOBAL_INT_DATA) , HIGH_LATENCY (HIGH_LATENCY_DATA) , } impl Message for MavMessage { fn parse (version : MavlinkVersion , id : u32 , payload : & [u8]) -> Result < Self , ParserError > { match id { MISSION_CLEAR_ALL_DATA :: ID => MISSION_CLEAR_ALL_DATA :: deser (version , payload) . map (Self :: MISSION_CLEAR_ALL) , COMMAND_INT_DATA :: ID => COMMAND_INT_DATA :: deser (version , payload) . map (Self :: COMMAND_INT) , COLLISION_DATA :: ID => COLLISION_DATA :: deser (version , payload) . map (Self :: COLLISION) , RC_CHANNELS_RAW_DATA :: ID => RC_CHANNELS_RAW_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_RAW) , OPTICAL_FLOW_RAD_DATA :: ID => OPTICAL_FLOW_RAD_DATA :: deser (version , payload) . map (Self :: OPTICAL_FLOW_RAD) , LOGGING_ACK_DATA :: ID => LOGGING_ACK_DATA :: deser (version , payload) . map (Self :: LOGGING_ACK) , WIFI_CONFIG_AP_DATA :: ID => WIFI_CONFIG_AP_DATA :: deser (version , payload) . map (Self :: WIFI_CONFIG_AP) , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => MISSION_WRITE_PARTIAL_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_WRITE_PARTIAL_LIST) , MANUAL_CONTROL_DATA :: ID => MANUAL_CONTROL_DATA :: deser (version , payload) . map (Self :: MANUAL_CONTROL) , SMART_BATTERY_INFO_DATA :: ID => SMART_BATTERY_INFO_DATA :: deser (version , payload) . map (Self :: SMART_BATTERY_INFO) , COMMAND_CANCEL_DATA :: ID => COMMAND_CANCEL_DATA :: deser (version , payload) . map (Self :: COMMAND_CANCEL) , LOG_ENTRY_DATA :: ID => LOG_ENTRY_DATA :: deser (version , payload) . map (Self :: LOG_ENTRY) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => OPEN_DRONE_ID_AUTHENTICATION_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_AUTHENTICATION) , SCALED_PRESSURE2_DATA :: ID => SCALED_PRESSURE2_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE2) , CAMERA_TRIGGER_DATA :: ID => CAMERA_TRIGGER_DATA :: deser (version , payload) . map (Self :: CAMERA_TRIGGER) , SET_HOME_POSITION_DATA :: ID => SET_HOME_POSITION_DATA :: deser (version , payload) . map (Self :: SET_HOME_POSITION) , RAW_IMU_DATA :: ID => RAW_IMU_DATA :: deser (version , payload) . map (Self :: RAW_IMU) , SAFETY_SET_ALLOWED_AREA_DATA :: ID => SAFETY_SET_ALLOWED_AREA_DATA :: deser (version , payload) . map (Self :: SAFETY_SET_ALLOWED_AREA) , COMPONENT_METADATA_DATA :: ID => COMPONENT_METADATA_DATA :: deser (version , payload) . map (Self :: COMPONENT_METADATA) , GIMBAL_MANAGER_INFORMATION_DATA :: ID => GIMBAL_MANAGER_INFORMATION_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_INFORMATION) , ACTUATOR_CONTROL_TARGET_DATA :: ID => ACTUATOR_CONTROL_TARGET_DATA :: deser (version , payload) . map (Self :: ACTUATOR_CONTROL_TARGET) , MISSION_CURRENT_DATA :: ID => MISSION_CURRENT_DATA :: deser (version , payload) . map (Self :: MISSION_CURRENT) , LOG_REQUEST_END_DATA :: ID => LOG_REQUEST_END_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_END) , FILE_TRANSFER_PROTOCOL_DATA :: ID => FILE_TRANSFER_PROTOCOL_DATA :: deser (version , payload) . map (Self :: FILE_TRANSFER_PROTOCOL) , BATTERY_STATUS_DATA :: ID => BATTERY_STATUS_DATA :: deser (version , payload) . map (Self :: BATTERY_STATUS) , LANDING_TARGET_DATA :: ID => LANDING_TARGET_DATA :: deser (version , payload) . map (Self :: LANDING_TARGET) , MESSAGE_INTERVAL_DATA :: ID => MESSAGE_INTERVAL_DATA :: deser (version , payload) . map (Self :: MESSAGE_INTERVAL) , WHEEL_DISTANCE_DATA :: ID => WHEEL_DISTANCE_DATA :: deser (version , payload) . map (Self :: WHEEL_DISTANCE) , MISSION_COUNT_DATA :: ID => MISSION_COUNT_DATA :: deser (version , payload) . map (Self :: MISSION_COUNT) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE) , CHANGE_OPERATOR_CONTROL_DATA :: ID => CHANGE_OPERATOR_CONTROL_DATA :: deser (version , payload) . map (Self :: CHANGE_OPERATOR_CONTROL) , HIL_STATE_DATA :: ID => HIL_STATE_DATA :: deser (version , payload) . map (Self :: HIL_STATE) , HIL_SENSOR_DATA :: ID => HIL_SENSOR_DATA :: deser (version , payload) . map (Self :: HIL_SENSOR) , PARAM_EXT_REQUEST_READ_DATA :: ID => PARAM_EXT_REQUEST_READ_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_REQUEST_READ) , SCALED_PRESSURE_DATA :: ID => SCALED_PRESSURE_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE) , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => SET_GPS_GLOBAL_ORIGIN_DATA :: deser (version , payload) . map (Self :: SET_GPS_GLOBAL_ORIGIN) , ENCAPSULATED_DATA_DATA :: ID => ENCAPSULATED_DATA_DATA :: deser (version , payload) . map (Self :: ENCAPSULATED_DATA) , COMPONENT_INFORMATION_DATA :: ID => COMPONENT_INFORMATION_DATA :: deser (version , payload) . map (Self :: COMPONENT_INFORMATION) , VIDEO_STREAM_STATUS_DATA :: ID => VIDEO_STREAM_STATUS_DATA :: deser (version , payload) . map (Self :: VIDEO_STREAM_STATUS) , GIMBAL_DEVICE_INFORMATION_DATA :: ID => GIMBAL_DEVICE_INFORMATION_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_INFORMATION) , HIL_GPS_DATA :: ID => HIL_GPS_DATA :: deser (version , payload) . map (Self :: HIL_GPS) , GLOBAL_POSITION_INT_COV_DATA :: ID => GLOBAL_POSITION_INT_COV_DATA :: deser (version , payload) . map (Self :: GLOBAL_POSITION_INT_COV) , TERRAIN_REPORT_DATA :: ID => TERRAIN_REPORT_DATA :: deser (version , payload) . map (Self :: TERRAIN_REPORT) , AIS_VESSEL_DATA :: ID => AIS_VESSEL_DATA :: deser (version , payload) . map (Self :: AIS_VESSEL) , ODOMETRY_DATA :: ID => ODOMETRY_DATA :: deser (version , payload) . map (Self :: ODOMETRY) , SUPPORTED_TUNES_DATA :: ID => SUPPORTED_TUNES_DATA :: deser (version , payload) . map (Self :: SUPPORTED_TUNES) , CONTROL_SYSTEM_STATE_DATA :: ID => CONTROL_SYSTEM_STATE_DATA :: deser (version , payload) . map (Self :: CONTROL_SYSTEM_STATE) , OPEN_DRONE_ID_SYSTEM_DATA :: ID => OPEN_DRONE_ID_SYSTEM_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SYSTEM) , ATT_POS_MOCAP_DATA :: ID => ATT_POS_MOCAP_DATA :: deser (version , payload) . map (Self :: ATT_POS_MOCAP) , LOGGING_DATA_DATA :: ID => LOGGING_DATA_DATA :: deser (version , payload) . map (Self :: LOGGING_DATA) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_MESSAGE_PACK) , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => MISSION_REQUEST_PARTIAL_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_PARTIAL_LIST) , SETUP_SIGNING_DATA :: ID => SETUP_SIGNING_DATA :: deser (version , payload) . map (Self :: SETUP_SIGNING) , PARAM_EXT_ACK_DATA :: ID => PARAM_EXT_ACK_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_ACK) , RADIO_STATUS_DATA :: ID => RADIO_STATUS_DATA :: deser (version , payload) . map (Self :: RADIO_STATUS) , RESPONSE_EVENT_ERROR_DATA :: ID => RESPONSE_EVENT_ERROR_DATA :: deser (version , payload) . map (Self :: RESPONSE_EVENT_ERROR) , SIM_STATE_DATA :: ID => SIM_STATE_DATA :: deser (version , payload) . map (Self :: SIM_STATE) , FENCE_STATUS_DATA :: ID => FENCE_STATUS_DATA :: deser (version , payload) . map (Self :: FENCE_STATUS) , RESOURCE_REQUEST_DATA :: ID => RESOURCE_REQUEST_DATA :: deser (version , payload) . map (Self :: RESOURCE_REQUEST) , TERRAIN_DATA_DATA :: ID => TERRAIN_DATA_DATA :: deser (version , payload) . map (Self :: TERRAIN_DATA) , VICON_POSITION_ESTIMATE_DATA :: ID => VICON_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VICON_POSITION_ESTIMATE) , EXTENDED_SYS_STATE_DATA :: ID => EXTENDED_SYS_STATE_DATA :: deser (version , payload) . map (Self :: EXTENDED_SYS_STATE) , HEARTBEAT_DATA :: ID => HEARTBEAT_DATA :: deser (version , payload) . map (Self :: HEARTBEAT) , VIDEO_STREAM_INFORMATION_DATA :: ID => VIDEO_STREAM_INFORMATION_DATA :: deser (version , payload) . map (Self :: VIDEO_STREAM_INFORMATION) , MISSION_REQUEST_INT_DATA :: ID => MISSION_REQUEST_INT_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_INT) , CAN_FILTER_MODIFY_DATA :: ID => CAN_FILTER_MODIFY_DATA :: deser (version , payload) . map (Self :: CAN_FILTER_MODIFY) , MISSION_ITEM_INT_DATA :: ID => MISSION_ITEM_INT_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM_INT) , HIGHRES_IMU_DATA :: ID => HIGHRES_IMU_DATA :: deser (version , payload) . map (Self :: HIGHRES_IMU) , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => SET_ACTUATOR_CONTROL_TARGET_DATA :: deser (version , payload) . map (Self :: SET_ACTUATOR_CONTROL_TARGET) , DEBUG_DATA :: ID => DEBUG_DATA :: deser (version , payload) . map (Self :: DEBUG) , CAMERA_SETTINGS_DATA :: ID => CAMERA_SETTINGS_DATA :: deser (version , payload) . map (Self :: CAMERA_SETTINGS) , MISSION_REQUEST_LIST_DATA :: ID => MISSION_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_LIST) , POSITION_TARGET_LOCAL_NED_DATA :: ID => POSITION_TARGET_LOCAL_NED_DATA :: deser (version , payload) . map (Self :: POSITION_TARGET_LOCAL_NED) , SCALED_IMU_DATA :: ID => SCALED_IMU_DATA :: deser (version , payload) . map (Self :: SCALED_IMU) , WIND_COV_DATA :: ID => WIND_COV_DATA :: deser (version , payload) . map (Self :: WIND_COV) , MISSION_REQUEST_DATA :: ID => MISSION_REQUEST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST) , SERIAL_CONTROL_DATA :: ID => SERIAL_CONTROL_DATA :: deser (version , payload) . map (Self :: SERIAL_CONTROL) , PARAM_REQUEST_READ_DATA :: ID => PARAM_REQUEST_READ_DATA :: deser (version , payload) . map (Self :: PARAM_REQUEST_READ) , GPS2_RTK_DATA :: ID => GPS2_RTK_DATA :: deser (version , payload) . map (Self :: GPS2_RTK) , COMMAND_ACK_DATA :: ID => COMMAND_ACK_DATA :: deser (version , payload) . map (Self :: COMMAND_ACK) , POWER_STATUS_DATA :: ID => POWER_STATUS_DATA :: deser (version , payload) . map (Self :: POWER_STATUS) , GIMBAL_MANAGER_STATUS_DATA :: ID => GIMBAL_MANAGER_STATUS_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_STATUS) , GLOBAL_POSITION_INT_DATA :: ID => GLOBAL_POSITION_INT_DATA :: deser (version , payload) . map (Self :: GLOBAL_POSITION_INT) , PARAM_SET_DATA :: ID => PARAM_SET_DATA :: deser (version , payload) . map (Self :: PARAM_SET) , OPTICAL_FLOW_DATA :: ID => OPTICAL_FLOW_DATA :: deser (version , payload) . map (Self :: OPTICAL_FLOW) , RC_CHANNELS_SCALED_DATA :: ID => RC_CHANNELS_SCALED_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_SCALED) , GPS_INJECT_DATA_DATA :: ID => GPS_INJECT_DATA_DATA :: deser (version , payload) . map (Self :: GPS_INJECT_DATA) , PARAM_VALUE_DATA :: ID => PARAM_VALUE_DATA :: deser (version , payload) . map (Self :: PARAM_VALUE) , RC_CHANNELS_DATA :: ID => RC_CHANNELS_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS) , ESTIMATOR_STATUS_DATA :: ID => ESTIMATOR_STATUS_DATA :: deser (version , payload) . map (Self :: ESTIMATOR_STATUS) , TIMESYNC_DATA :: ID => TIMESYNC_DATA :: deser (version , payload) . map (Self :: TIMESYNC) , SCALED_PRESSURE3_DATA :: ID => SCALED_PRESSURE3_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE3) , DATA_STREAM_DATA :: ID => DATA_STREAM_DATA :: deser (version , payload) . map (Self :: DATA_STREAM) , HOME_POSITION_DATA :: ID => HOME_POSITION_DATA :: deser (version , payload) . map (Self :: HOME_POSITION) , MEMORY_VECT_DATA :: ID => MEMORY_VECT_DATA :: deser (version , payload) . map (Self :: MEMORY_VECT) , NAMED_VALUE_FLOAT_DATA :: ID => NAMED_VALUE_FLOAT_DATA :: deser (version , payload) . map (Self :: NAMED_VALUE_FLOAT) , NAV_CONTROLLER_OUTPUT_DATA :: ID => NAV_CONTROLLER_OUTPUT_DATA :: deser (version , payload) . map (Self :: NAV_CONTROLLER_OUTPUT) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => CHANGE_OPERATOR_CONTROL_ACK_DATA :: deser (version , payload) . map (Self :: CHANGE_OPERATOR_CONTROL_ACK) , STATUSTEXT_DATA :: ID => STATUSTEXT_DATA :: deser (version , payload) . map (Self :: STATUSTEXT) , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => CAMERA_TRACKING_GEO_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_TRACKING_GEO_STATUS) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL) , UAVCAN_NODE_STATUS_DATA :: ID => UAVCAN_NODE_STATUS_DATA :: deser (version , payload) . map (Self :: UAVCAN_NODE_STATUS) , GPS_GLOBAL_ORIGIN_DATA :: ID => GPS_GLOBAL_ORIGIN_DATA :: deser (version , payload) . map (Self :: GPS_GLOBAL_ORIGIN) , EFI_STATUS_DATA :: ID => EFI_STATUS_DATA :: deser (version , payload) . map (Self :: EFI_STATUS) , ATTITUDE_QUATERNION_DATA :: ID => ATTITUDE_QUATERNION_DATA :: deser (version , payload) . map (Self :: ATTITUDE_QUATERNION) , CAMERA_IMAGE_CAPTURED_DATA :: ID => CAMERA_IMAGE_CAPTURED_DATA :: deser (version , payload) . map (Self :: CAMERA_IMAGE_CAPTURED) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: deser (version , payload) . map (Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS) , CELLULAR_STATUS_DATA :: ID => CELLULAR_STATUS_DATA :: deser (version , payload) . map (Self :: CELLULAR_STATUS) , ORBIT_EXECUTION_STATUS_DATA :: ID => ORBIT_EXECUTION_STATUS_DATA :: deser (version , payload) . map (Self :: ORBIT_EXECUTION_STATUS) , TIME_ESTIMATE_TO_TARGET_DATA :: ID => TIME_ESTIMATE_TO_TARGET_DATA :: deser (version , payload) . map (Self :: TIME_ESTIMATE_TO_TARGET) , RAW_PRESSURE_DATA :: ID => RAW_PRESSURE_DATA :: deser (version , payload) . map (Self :: RAW_PRESSURE) , WINCH_STATUS_DATA :: ID => WINCH_STATUS_DATA :: deser (version , payload) . map (Self :: WINCH_STATUS) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => OPEN_DRONE_ID_OPERATOR_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_OPERATOR_ID) , ATTITUDE_TARGET_DATA :: ID => ATTITUDE_TARGET_DATA :: deser (version , payload) . map (Self :: ATTITUDE_TARGET) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_ATTITUDE_STATUS) , ISBD_LINK_STATUS_DATA :: ID => ISBD_LINK_STATUS_DATA :: deser (version , payload) . map (Self :: ISBD_LINK_STATUS) , TUNNEL_DATA :: ID => TUNNEL_DATA :: deser (version , payload) . map (Self :: TUNNEL) , OBSTACLE_DISTANCE_DATA :: ID => OBSTACLE_DISTANCE_DATA :: deser (version , payload) . map (Self :: OBSTACLE_DISTANCE) , SAFETY_ALLOWED_AREA_DATA :: ID => SAFETY_ALLOWED_AREA_DATA :: deser (version , payload) . map (Self :: SAFETY_ALLOWED_AREA) , DEBUG_FLOAT_ARRAY_DATA :: ID => DEBUG_FLOAT_ARRAY_DATA :: deser (version , payload) . map (Self :: DEBUG_FLOAT_ARRAY) , SERVO_OUTPUT_RAW_DATA :: ID => SERVO_OUTPUT_RAW_DATA :: deser (version , payload) . map (Self :: SERVO_OUTPUT_RAW) , DISTANCE_SENSOR_DATA :: ID => DISTANCE_SENSOR_DATA :: deser (version , payload) . map (Self :: DISTANCE_SENSOR) , PARAM_MAP_RC_DATA :: ID => PARAM_MAP_RC_DATA :: deser (version , payload) . map (Self :: PARAM_MAP_RC) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: deser (version , payload) . map (Self :: TRAJECTORY_REPRESENTATION_BEZIER) , GENERATOR_STATUS_DATA :: ID => GENERATOR_STATUS_DATA :: deser (version , payload) . map (Self :: GENERATOR_STATUS) , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => SET_POSITION_TARGET_LOCAL_NED_DATA :: deser (version , payload) . map (Self :: SET_POSITION_TARGET_LOCAL_NED) , CAN_FRAME_DATA :: ID => CAN_FRAME_DATA :: deser (version , payload) . map (Self :: CAN_FRAME) , SCALED_IMU2_DATA :: ID => SCALED_IMU2_DATA :: deser (version , payload) . map (Self :: SCALED_IMU2) , OPEN_DRONE_ID_LOCATION_DATA :: ID => OPEN_DRONE_ID_LOCATION_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_LOCATION) , COMMAND_LONG_DATA :: ID => COMMAND_LONG_DATA :: deser (version , payload) . map (Self :: COMMAND_LONG) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET) , POSITION_TARGET_GLOBAL_INT_DATA :: ID => POSITION_TARGET_GLOBAL_INT_DATA :: deser (version , payload) . map (Self :: POSITION_TARGET_GLOBAL_INT) , HIL_CONTROLS_DATA :: ID => HIL_CONTROLS_DATA :: deser (version , payload) . map (Self :: HIL_CONTROLS) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => CAMERA_TRACKING_IMAGE_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_TRACKING_IMAGE_STATUS) , ATTITUDE_QUATERNION_COV_DATA :: ID => ATTITUDE_QUATERNION_COV_DATA :: deser (version , payload) . map (Self :: ATTITUDE_QUATERNION_COV) , REQUEST_DATA_STREAM_DATA :: ID => REQUEST_DATA_STREAM_DATA :: deser (version , payload) . map (Self :: REQUEST_DATA_STREAM) , LOG_ERASE_DATA :: ID => LOG_ERASE_DATA :: deser (version , payload) . map (Self :: LOG_ERASE) , GPS_RTCM_DATA_DATA :: ID => GPS_RTCM_DATA_DATA :: deser (version , payload) . map (Self :: GPS_RTCM_DATA) , MOUNT_ORIENTATION_DATA :: ID => MOUNT_ORIENTATION_DATA :: deser (version , payload) . map (Self :: MOUNT_ORIENTATION) , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => OPEN_DRONE_ID_BASIC_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_BASIC_ID) , HIL_RC_INPUTS_RAW_DATA :: ID => HIL_RC_INPUTS_RAW_DATA :: deser (version , payload) . map (Self :: HIL_RC_INPUTS_RAW) , MISSION_ITEM_REACHED_DATA :: ID => MISSION_ITEM_REACHED_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM_REACHED) , HIL_ACTUATOR_CONTROLS_DATA :: ID => HIL_ACTUATOR_CONTROLS_DATA :: deser (version , payload) . map (Self :: HIL_ACTUATOR_CONTROLS) , SET_MODE_DATA :: ID => SET_MODE_DATA :: deser (version , payload) . map (Self :: SET_MODE) , LOG_REQUEST_LIST_DATA :: ID => LOG_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_LIST) , HIGH_LATENCY2_DATA :: ID => HIGH_LATENCY2_DATA :: deser (version , payload) . map (Self :: HIGH_LATENCY2) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_PITCHYAW) , PARAM_EXT_REQUEST_LIST_DATA :: ID => PARAM_EXT_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_REQUEST_LIST) , SYSTEM_TIME_DATA :: ID => SYSTEM_TIME_DATA :: deser (version , payload) . map (Self :: SYSTEM_TIME) , MISSION_ITEM_DATA :: ID => MISSION_ITEM_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM) , STORAGE_INFORMATION_DATA :: ID => STORAGE_INFORMATION_DATA :: deser (version , payload) . map (Self :: STORAGE_INFORMATION) , GPS_RAW_INT_DATA :: ID => GPS_RAW_INT_DATA :: deser (version , payload) . map (Self :: GPS_RAW_INT) , LOCAL_POSITION_NED_COV_DATA :: ID => LOCAL_POSITION_NED_COV_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED_COV) , RC_CHANNELS_OVERRIDE_DATA :: ID => RC_CHANNELS_OVERRIDE_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_OVERRIDE) , PROTOCOL_VERSION_DATA :: ID => PROTOCOL_VERSION_DATA :: deser (version , payload) . map (Self :: PROTOCOL_VERSION) , PARAM_EXT_VALUE_DATA :: ID => PARAM_EXT_VALUE_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_VALUE) , CURRENT_EVENT_SEQUENCE_DATA :: ID => CURRENT_EVENT_SEQUENCE_DATA :: deser (version , payload) . map (Self :: CURRENT_EVENT_SEQUENCE) , PARAM_EXT_SET_DATA :: ID => PARAM_EXT_SET_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_SET) , ESC_INFO_DATA :: ID => ESC_INFO_DATA :: deser (version , payload) . map (Self :: ESC_INFO) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_SET_ATTITUDE) , VISION_SPEED_ESTIMATE_DATA :: ID => VISION_SPEED_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VISION_SPEED_ESTIMATE) , LOGGING_DATA_ACKED_DATA :: ID => LOGGING_DATA_ACKED_DATA :: deser (version , payload) . map (Self :: LOGGING_DATA_ACKED) , ESC_STATUS_DATA :: ID => ESC_STATUS_DATA :: deser (version , payload) . map (Self :: ESC_STATUS) , PARAM_REQUEST_LIST_DATA :: ID => PARAM_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: PARAM_REQUEST_LIST) , CAMERA_INFORMATION_DATA :: ID => CAMERA_INFORMATION_DATA :: deser (version , payload) . map (Self :: CAMERA_INFORMATION) , ATTITUDE_DATA :: ID => ATTITUDE_DATA :: deser (version , payload) . map (Self :: ATTITUDE) , CELLULAR_CONFIG_DATA :: ID => CELLULAR_CONFIG_DATA :: deser (version , payload) . map (Self :: CELLULAR_CONFIG) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: GLOBAL_VISION_POSITION_ESTIMATE) , ALTITUDE_DATA :: ID => ALTITUDE_DATA :: deser (version , payload) . map (Self :: ALTITUDE) , GPS2_RAW_DATA :: ID => GPS2_RAW_DATA :: deser (version , payload) . map (Self :: GPS2_RAW) , FOLLOW_TARGET_DATA :: ID => FOLLOW_TARGET_DATA :: deser (version , payload) . map (Self :: FOLLOW_TARGET) , LINK_NODE_STATUS_DATA :: ID => LINK_NODE_STATUS_DATA :: deser (version , payload) . map (Self :: LINK_NODE_STATUS) , GPS_INPUT_DATA :: ID => GPS_INPUT_DATA :: deser (version , payload) . map (Self :: GPS_INPUT) , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => DATA_TRANSMISSION_HANDSHAKE_DATA :: deser (version , payload) . map (Self :: DATA_TRANSMISSION_HANDSHAKE) , GPS_RTK_DATA :: ID => GPS_RTK_DATA :: deser (version , payload) . map (Self :: GPS_RTK) , TERRAIN_CHECK_DATA :: ID => TERRAIN_CHECK_DATA :: deser (version , payload) . map (Self :: TERRAIN_CHECK) , MANUAL_SETPOINT_DATA :: ID => MANUAL_SETPOINT_DATA :: deser (version , payload) . map (Self :: MANUAL_SETPOINT) , SCALED_IMU3_DATA :: ID => SCALED_IMU3_DATA :: deser (version , payload) . map (Self :: SCALED_IMU3) , MAG_CAL_REPORT_DATA :: ID => MAG_CAL_REPORT_DATA :: deser (version , payload) . map (Self :: MAG_CAL_REPORT) , ADSB_VEHICLE_DATA :: ID => ADSB_VEHICLE_DATA :: deser (version , payload) . map (Self :: ADSB_VEHICLE) , DEBUG_VECT_DATA :: ID => DEBUG_VECT_DATA :: deser (version , payload) . map (Self :: DEBUG_VECT) , VIBRATION_DATA :: ID => VIBRATION_DATA :: deser (version , payload) . map (Self :: VIBRATION) , PLAY_TUNE_DATA :: ID => PLAY_TUNE_DATA :: deser (version , payload) . map (Self :: PLAY_TUNE) , CAMERA_FOV_STATUS_DATA :: ID => CAMERA_FOV_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_FOV_STATUS) , HIL_STATE_QUATERNION_DATA :: ID => HIL_STATE_QUATERNION_DATA :: deser (version , payload) . map (Self :: HIL_STATE_QUATERNION) , RAW_RPM_DATA :: ID => RAW_RPM_DATA :: deser (version , payload) . map (Self :: RAW_RPM) , SYS_STATUS_DATA :: ID => SYS_STATUS_DATA :: deser (version , payload) . map (Self :: SYS_STATUS) , MISSION_ACK_DATA :: ID => MISSION_ACK_DATA :: deser (version , payload) . map (Self :: MISSION_ACK) , LOG_REQUEST_DATA_DATA :: ID => LOG_REQUEST_DATA_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_DATA) , UTM_GLOBAL_POSITION_DATA :: ID => UTM_GLOBAL_POSITION_DATA :: deser (version , payload) . map (Self :: UTM_GLOBAL_POSITION) , OPEN_DRONE_ID_SELF_ID_DATA :: ID => OPEN_DRONE_ID_SELF_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SELF_ID) , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => OPEN_DRONE_ID_ARM_STATUS_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_ARM_STATUS) , HIL_OPTICAL_FLOW_DATA :: ID => HIL_OPTICAL_FLOW_DATA :: deser (version , payload) . map (Self :: HIL_OPTICAL_FLOW) , LOG_DATA_DATA :: ID => LOG_DATA_DATA :: deser (version , payload) . map (Self :: LOG_DATA) , BUTTON_CHANGE_DATA :: ID => BUTTON_CHANGE_DATA :: deser (version , payload) . map (Self :: BUTTON_CHANGE) , V2_EXTENSION_DATA :: ID => V2_EXTENSION_DATA :: deser (version , payload) . map (Self :: V2_EXTENSION) , FLIGHT_INFORMATION_DATA :: ID => FLIGHT_INFORMATION_DATA :: deser (version , payload) . map (Self :: FLIGHT_INFORMATION) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_ATTITUDE) , EVENT_DATA :: ID => EVENT_DATA :: deser (version , payload) . map (Self :: EVENT) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SYSTEM_UPDATE) , AUTH_KEY_DATA :: ID => AUTH_KEY_DATA :: deser (version , payload) . map (Self :: AUTH_KEY) , HYGROMETER_SENSOR_DATA :: ID => HYGROMETER_SENSOR_DATA :: deser (version , payload) . map (Self :: HYGROMETER_SENSOR) , GPS_STATUS_DATA :: ID => GPS_STATUS_DATA :: deser (version , payload) . map (Self :: GPS_STATUS) , ONBOARD_COMPUTER_STATUS_DATA :: ID => ONBOARD_COMPUTER_STATUS_DATA :: deser (version , payload) . map (Self :: ONBOARD_COMPUTER_STATUS) , NAMED_VALUE_INT_DATA :: ID => NAMED_VALUE_INT_DATA :: deser (version , payload) . map (Self :: NAMED_VALUE_INT) , ACTUATOR_OUTPUT_STATUS_DATA :: ID => ACTUATOR_OUTPUT_STATUS_DATA :: deser (version , payload) . map (Self :: ACTUATOR_OUTPUT_STATUS) , PLAY_TUNE_V2_DATA :: ID => PLAY_TUNE_V2_DATA :: deser (version , payload) . map (Self :: PLAY_TUNE_V2) , SET_ATTITUDE_TARGET_DATA :: ID => SET_ATTITUDE_TARGET_DATA :: deser (version , payload) . map (Self :: SET_ATTITUDE_TARGET) , CANFD_FRAME_DATA :: ID => CANFD_FRAME_DATA :: deser (version , payload) . map (Self :: CANFD_FRAME) , CAMERA_CAPTURE_STATUS_DATA :: ID => CAMERA_CAPTURE_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_CAPTURE_STATUS) , REQUEST_EVENT_DATA :: ID => REQUEST_EVENT_DATA :: deser (version , payload) . map (Self :: REQUEST_EVENT) , VFR_HUD_DATA :: ID => VFR_HUD_DATA :: deser (version , payload) . map (Self :: VFR_HUD) , LOCAL_POSITION_NED_DATA :: ID => LOCAL_POSITION_NED_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED) , AUTOPILOT_VERSION_DATA :: ID => AUTOPILOT_VERSION_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_VERSION) , VISION_POSITION_ESTIMATE_DATA :: ID => VISION_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VISION_POSITION_ESTIMATE) , UAVCAN_NODE_INFO_DATA :: ID => UAVCAN_NODE_INFO_DATA :: deser (version , payload) . map (Self :: UAVCAN_NODE_INFO) , TERRAIN_REQUEST_DATA :: ID => TERRAIN_REQUEST_DATA :: deser (version , payload) . map (Self :: TERRAIN_REQUEST) , PING_DATA :: ID => PING_DATA :: deser (version , payload) . map (Self :: PING) , MISSION_SET_CURRENT_DATA :: ID => MISSION_SET_CURRENT_DATA :: deser (version , payload) . map (Self :: MISSION_SET_CURRENT) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => SET_POSITION_TARGET_GLOBAL_INT_DATA :: deser (version , payload) . map (Self :: SET_POSITION_TARGET_GLOBAL_INT) , HIGH_LATENCY_DATA :: ID => HIGH_LATENCY_DATA :: deser (version , payload) . map (Self :: HIGH_LATENCY) , _ => { Err (ParserError :: UnknownMessage { id }) } , } } fn message_name (& self) -> & 'static str { match self { Self :: MISSION_CLEAR_ALL (..) => MISSION_CLEAR_ALL_DATA :: NAME , Self :: COMMAND_INT (..) => COMMAND_INT_DATA :: NAME , Self :: COLLISION (..) => COLLISION_DATA :: NAME , Self :: RC_CHANNELS_RAW (..) => RC_CHANNELS_RAW_DATA :: NAME , Self :: OPTICAL_FLOW_RAD (..) => OPTICAL_FLOW_RAD_DATA :: NAME , Self :: LOGGING_ACK (..) => LOGGING_ACK_DATA :: NAME , Self :: WIFI_CONFIG_AP (..) => WIFI_CONFIG_AP_DATA :: NAME , Self :: MISSION_WRITE_PARTIAL_LIST (..) => MISSION_WRITE_PARTIAL_LIST_DATA :: NAME , Self :: MANUAL_CONTROL (..) => MANUAL_CONTROL_DATA :: NAME , Self :: SMART_BATTERY_INFO (..) => SMART_BATTERY_INFO_DATA :: NAME , Self :: COMMAND_CANCEL (..) => COMMAND_CANCEL_DATA :: NAME , Self :: LOG_ENTRY (..) => LOG_ENTRY_DATA :: NAME , Self :: OPEN_DRONE_ID_AUTHENTICATION (..) => OPEN_DRONE_ID_AUTHENTICATION_DATA :: NAME , Self :: SCALED_PRESSURE2 (..) => SCALED_PRESSURE2_DATA :: NAME , Self :: CAMERA_TRIGGER (..) => CAMERA_TRIGGER_DATA :: NAME , Self :: SET_HOME_POSITION (..) => SET_HOME_POSITION_DATA :: NAME , Self :: RAW_IMU (..) => RAW_IMU_DATA :: NAME , Self :: SAFETY_SET_ALLOWED_AREA (..) => SAFETY_SET_ALLOWED_AREA_DATA :: NAME , Self :: COMPONENT_METADATA (..) => COMPONENT_METADATA_DATA :: NAME , Self :: GIMBAL_MANAGER_INFORMATION (..) => GIMBAL_MANAGER_INFORMATION_DATA :: NAME , Self :: ACTUATOR_CONTROL_TARGET (..) => ACTUATOR_CONTROL_TARGET_DATA :: NAME , Self :: MISSION_CURRENT (..) => MISSION_CURRENT_DATA :: NAME , Self :: LOG_REQUEST_END (..) => LOG_REQUEST_END_DATA :: NAME , Self :: FILE_TRANSFER_PROTOCOL (..) => FILE_TRANSFER_PROTOCOL_DATA :: NAME , Self :: BATTERY_STATUS (..) => BATTERY_STATUS_DATA :: NAME , Self :: LANDING_TARGET (..) => LANDING_TARGET_DATA :: NAME , Self :: MESSAGE_INTERVAL (..) => MESSAGE_INTERVAL_DATA :: NAME , Self :: WHEEL_DISTANCE (..) => WHEEL_DISTANCE_DATA :: NAME , Self :: MISSION_COUNT (..) => MISSION_COUNT_DATA :: NAME , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (..) => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: NAME , Self :: CHANGE_OPERATOR_CONTROL (..) => CHANGE_OPERATOR_CONTROL_DATA :: NAME , Self :: HIL_STATE (..) => HIL_STATE_DATA :: NAME , Self :: HIL_SENSOR (..) => HIL_SENSOR_DATA :: NAME , Self :: PARAM_EXT_REQUEST_READ (..) => PARAM_EXT_REQUEST_READ_DATA :: NAME , Self :: SCALED_PRESSURE (..) => SCALED_PRESSURE_DATA :: NAME , Self :: SET_GPS_GLOBAL_ORIGIN (..) => SET_GPS_GLOBAL_ORIGIN_DATA :: NAME , Self :: ENCAPSULATED_DATA (..) => ENCAPSULATED_DATA_DATA :: NAME , Self :: COMPONENT_INFORMATION (..) => COMPONENT_INFORMATION_DATA :: NAME , Self :: VIDEO_STREAM_STATUS (..) => VIDEO_STREAM_STATUS_DATA :: NAME , Self :: GIMBAL_DEVICE_INFORMATION (..) => GIMBAL_DEVICE_INFORMATION_DATA :: NAME , Self :: HIL_GPS (..) => HIL_GPS_DATA :: NAME , Self :: GLOBAL_POSITION_INT_COV (..) => GLOBAL_POSITION_INT_COV_DATA :: NAME , Self :: TERRAIN_REPORT (..) => TERRAIN_REPORT_DATA :: NAME , Self :: AIS_VESSEL (..) => AIS_VESSEL_DATA :: NAME , Self :: ODOMETRY (..) => ODOMETRY_DATA :: NAME , Self :: SUPPORTED_TUNES (..) => SUPPORTED_TUNES_DATA :: NAME , Self :: CONTROL_SYSTEM_STATE (..) => CONTROL_SYSTEM_STATE_DATA :: NAME , Self :: OPEN_DRONE_ID_SYSTEM (..) => OPEN_DRONE_ID_SYSTEM_DATA :: NAME , Self :: ATT_POS_MOCAP (..) => ATT_POS_MOCAP_DATA :: NAME , Self :: LOGGING_DATA (..) => LOGGING_DATA_DATA :: NAME , Self :: OPEN_DRONE_ID_MESSAGE_PACK (..) => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: NAME , Self :: MISSION_REQUEST_PARTIAL_LIST (..) => MISSION_REQUEST_PARTIAL_LIST_DATA :: NAME , Self :: SETUP_SIGNING (..) => SETUP_SIGNING_DATA :: NAME , Self :: PARAM_EXT_ACK (..) => PARAM_EXT_ACK_DATA :: NAME , Self :: RADIO_STATUS (..) => RADIO_STATUS_DATA :: NAME , Self :: RESPONSE_EVENT_ERROR (..) => RESPONSE_EVENT_ERROR_DATA :: NAME , Self :: SIM_STATE (..) => SIM_STATE_DATA :: NAME , Self :: FENCE_STATUS (..) => FENCE_STATUS_DATA :: NAME , Self :: RESOURCE_REQUEST (..) => RESOURCE_REQUEST_DATA :: NAME , Self :: TERRAIN_DATA (..) => TERRAIN_DATA_DATA :: NAME , Self :: VICON_POSITION_ESTIMATE (..) => VICON_POSITION_ESTIMATE_DATA :: NAME , Self :: EXTENDED_SYS_STATE (..) => EXTENDED_SYS_STATE_DATA :: NAME , Self :: HEARTBEAT (..) => HEARTBEAT_DATA :: NAME , Self :: VIDEO_STREAM_INFORMATION (..) => VIDEO_STREAM_INFORMATION_DATA :: NAME , Self :: MISSION_REQUEST_INT (..) => MISSION_REQUEST_INT_DATA :: NAME , Self :: CAN_FILTER_MODIFY (..) => CAN_FILTER_MODIFY_DATA :: NAME , Self :: MISSION_ITEM_INT (..) => MISSION_ITEM_INT_DATA :: NAME , Self :: HIGHRES_IMU (..) => HIGHRES_IMU_DATA :: NAME , Self :: SET_ACTUATOR_CONTROL_TARGET (..) => SET_ACTUATOR_CONTROL_TARGET_DATA :: NAME , Self :: DEBUG (..) => DEBUG_DATA :: NAME , Self :: CAMERA_SETTINGS (..) => CAMERA_SETTINGS_DATA :: NAME , Self :: MISSION_REQUEST_LIST (..) => MISSION_REQUEST_LIST_DATA :: NAME , Self :: POSITION_TARGET_LOCAL_NED (..) => POSITION_TARGET_LOCAL_NED_DATA :: NAME , Self :: SCALED_IMU (..) => SCALED_IMU_DATA :: NAME , Self :: WIND_COV (..) => WIND_COV_DATA :: NAME , Self :: MISSION_REQUEST (..) => MISSION_REQUEST_DATA :: NAME , Self :: SERIAL_CONTROL (..) => SERIAL_CONTROL_DATA :: NAME , Self :: PARAM_REQUEST_READ (..) => PARAM_REQUEST_READ_DATA :: NAME , Self :: GPS2_RTK (..) => GPS2_RTK_DATA :: NAME , Self :: COMMAND_ACK (..) => COMMAND_ACK_DATA :: NAME , Self :: POWER_STATUS (..) => POWER_STATUS_DATA :: NAME , Self :: GIMBAL_MANAGER_STATUS (..) => GIMBAL_MANAGER_STATUS_DATA :: NAME , Self :: GLOBAL_POSITION_INT (..) => GLOBAL_POSITION_INT_DATA :: NAME , Self :: PARAM_SET (..) => PARAM_SET_DATA :: NAME , Self :: OPTICAL_FLOW (..) => OPTICAL_FLOW_DATA :: NAME , Self :: RC_CHANNELS_SCALED (..) => RC_CHANNELS_SCALED_DATA :: NAME , Self :: GPS_INJECT_DATA (..) => GPS_INJECT_DATA_DATA :: NAME , Self :: PARAM_VALUE (..) => PARAM_VALUE_DATA :: NAME , Self :: RC_CHANNELS (..) => RC_CHANNELS_DATA :: NAME , Self :: ESTIMATOR_STATUS (..) => ESTIMATOR_STATUS_DATA :: NAME , Self :: TIMESYNC (..) => TIMESYNC_DATA :: NAME , Self :: SCALED_PRESSURE3 (..) => SCALED_PRESSURE3_DATA :: NAME , Self :: DATA_STREAM (..) => DATA_STREAM_DATA :: NAME , Self :: HOME_POSITION (..) => HOME_POSITION_DATA :: NAME , Self :: MEMORY_VECT (..) => MEMORY_VECT_DATA :: NAME , Self :: NAMED_VALUE_FLOAT (..) => NAMED_VALUE_FLOAT_DATA :: NAME , Self :: NAV_CONTROLLER_OUTPUT (..) => NAV_CONTROLLER_OUTPUT_DATA :: NAME , Self :: CHANGE_OPERATOR_CONTROL_ACK (..) => CHANGE_OPERATOR_CONTROL_ACK_DATA :: NAME , Self :: STATUSTEXT (..) => STATUSTEXT_DATA :: NAME , Self :: CAMERA_TRACKING_GEO_STATUS (..) => CAMERA_TRACKING_GEO_STATUS_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (..) => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: NAME , Self :: UAVCAN_NODE_STATUS (..) => UAVCAN_NODE_STATUS_DATA :: NAME , Self :: GPS_GLOBAL_ORIGIN (..) => GPS_GLOBAL_ORIGIN_DATA :: NAME , Self :: EFI_STATUS (..) => EFI_STATUS_DATA :: NAME , Self :: ATTITUDE_QUATERNION (..) => ATTITUDE_QUATERNION_DATA :: NAME , Self :: CAMERA_IMAGE_CAPTURED (..) => CAMERA_IMAGE_CAPTURED_DATA :: NAME , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (..) => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: NAME , Self :: CELLULAR_STATUS (..) => CELLULAR_STATUS_DATA :: NAME , Self :: ORBIT_EXECUTION_STATUS (..) => ORBIT_EXECUTION_STATUS_DATA :: NAME , Self :: TIME_ESTIMATE_TO_TARGET (..) => TIME_ESTIMATE_TO_TARGET_DATA :: NAME , Self :: RAW_PRESSURE (..) => RAW_PRESSURE_DATA :: NAME , Self :: WINCH_STATUS (..) => WINCH_STATUS_DATA :: NAME , Self :: OPEN_DRONE_ID_OPERATOR_ID (..) => OPEN_DRONE_ID_OPERATOR_ID_DATA :: NAME , Self :: ATTITUDE_TARGET (..) => ATTITUDE_TARGET_DATA :: NAME , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (..) => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: NAME , Self :: ISBD_LINK_STATUS (..) => ISBD_LINK_STATUS_DATA :: NAME , Self :: TUNNEL (..) => TUNNEL_DATA :: NAME , Self :: OBSTACLE_DISTANCE (..) => OBSTACLE_DISTANCE_DATA :: NAME , Self :: SAFETY_ALLOWED_AREA (..) => SAFETY_ALLOWED_AREA_DATA :: NAME , Self :: DEBUG_FLOAT_ARRAY (..) => DEBUG_FLOAT_ARRAY_DATA :: NAME , Self :: SERVO_OUTPUT_RAW (..) => SERVO_OUTPUT_RAW_DATA :: NAME , Self :: DISTANCE_SENSOR (..) => DISTANCE_SENSOR_DATA :: NAME , Self :: PARAM_MAP_RC (..) => PARAM_MAP_RC_DATA :: NAME , Self :: TRAJECTORY_REPRESENTATION_BEZIER (..) => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: NAME , Self :: GENERATOR_STATUS (..) => GENERATOR_STATUS_DATA :: NAME , Self :: SET_POSITION_TARGET_LOCAL_NED (..) => SET_POSITION_TARGET_LOCAL_NED_DATA :: NAME , Self :: CAN_FRAME (..) => CAN_FRAME_DATA :: NAME , Self :: SCALED_IMU2 (..) => SCALED_IMU2_DATA :: NAME , Self :: OPEN_DRONE_ID_LOCATION (..) => OPEN_DRONE_ID_LOCATION_DATA :: NAME , Self :: COMMAND_LONG (..) => COMMAND_LONG_DATA :: NAME , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (..) => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: NAME , Self :: POSITION_TARGET_GLOBAL_INT (..) => POSITION_TARGET_GLOBAL_INT_DATA :: NAME , Self :: HIL_CONTROLS (..) => HIL_CONTROLS_DATA :: NAME , Self :: CAMERA_TRACKING_IMAGE_STATUS (..) => CAMERA_TRACKING_IMAGE_STATUS_DATA :: NAME , Self :: ATTITUDE_QUATERNION_COV (..) => ATTITUDE_QUATERNION_COV_DATA :: NAME , Self :: REQUEST_DATA_STREAM (..) => REQUEST_DATA_STREAM_DATA :: NAME , Self :: LOG_ERASE (..) => LOG_ERASE_DATA :: NAME , Self :: GPS_RTCM_DATA (..) => GPS_RTCM_DATA_DATA :: NAME , Self :: MOUNT_ORIENTATION (..) => MOUNT_ORIENTATION_DATA :: NAME , Self :: OPEN_DRONE_ID_BASIC_ID (..) => OPEN_DRONE_ID_BASIC_ID_DATA :: NAME , Self :: HIL_RC_INPUTS_RAW (..) => HIL_RC_INPUTS_RAW_DATA :: NAME , Self :: MISSION_ITEM_REACHED (..) => MISSION_ITEM_REACHED_DATA :: NAME , Self :: HIL_ACTUATOR_CONTROLS (..) => HIL_ACTUATOR_CONTROLS_DATA :: NAME , Self :: SET_MODE (..) => SET_MODE_DATA :: NAME , Self :: LOG_REQUEST_LIST (..) => LOG_REQUEST_LIST_DATA :: NAME , Self :: HIGH_LATENCY2 (..) => HIGH_LATENCY2_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_PITCHYAW (..) => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: NAME , Self :: PARAM_EXT_REQUEST_LIST (..) => PARAM_EXT_REQUEST_LIST_DATA :: NAME , Self :: SYSTEM_TIME (..) => SYSTEM_TIME_DATA :: NAME , Self :: MISSION_ITEM (..) => MISSION_ITEM_DATA :: NAME , Self :: STORAGE_INFORMATION (..) => STORAGE_INFORMATION_DATA :: NAME , Self :: GPS_RAW_INT (..) => GPS_RAW_INT_DATA :: NAME , Self :: LOCAL_POSITION_NED_COV (..) => LOCAL_POSITION_NED_COV_DATA :: NAME , Self :: RC_CHANNELS_OVERRIDE (..) => RC_CHANNELS_OVERRIDE_DATA :: NAME , Self :: PROTOCOL_VERSION (..) => PROTOCOL_VERSION_DATA :: NAME , Self :: PARAM_EXT_VALUE (..) => PARAM_EXT_VALUE_DATA :: NAME , Self :: CURRENT_EVENT_SEQUENCE (..) => CURRENT_EVENT_SEQUENCE_DATA :: NAME , Self :: PARAM_EXT_SET (..) => PARAM_EXT_SET_DATA :: NAME , Self :: ESC_INFO (..) => ESC_INFO_DATA :: NAME , Self :: GIMBAL_DEVICE_SET_ATTITUDE (..) => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: NAME , Self :: VISION_SPEED_ESTIMATE (..) => VISION_SPEED_ESTIMATE_DATA :: NAME , Self :: LOGGING_DATA_ACKED (..) => LOGGING_DATA_ACKED_DATA :: NAME , Self :: ESC_STATUS (..) => ESC_STATUS_DATA :: NAME , Self :: PARAM_REQUEST_LIST (..) => PARAM_REQUEST_LIST_DATA :: NAME , Self :: CAMERA_INFORMATION (..) => CAMERA_INFORMATION_DATA :: NAME , Self :: ATTITUDE (..) => ATTITUDE_DATA :: NAME , Self :: CELLULAR_CONFIG (..) => CELLULAR_CONFIG_DATA :: NAME , Self :: GLOBAL_VISION_POSITION_ESTIMATE (..) => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: NAME , Self :: ALTITUDE (..) => ALTITUDE_DATA :: NAME , Self :: GPS2_RAW (..) => GPS2_RAW_DATA :: NAME , Self :: FOLLOW_TARGET (..) => FOLLOW_TARGET_DATA :: NAME , Self :: LINK_NODE_STATUS (..) => LINK_NODE_STATUS_DATA :: NAME , Self :: GPS_INPUT (..) => GPS_INPUT_DATA :: NAME , Self :: DATA_TRANSMISSION_HANDSHAKE (..) => DATA_TRANSMISSION_HANDSHAKE_DATA :: NAME , Self :: GPS_RTK (..) => GPS_RTK_DATA :: NAME , Self :: TERRAIN_CHECK (..) => TERRAIN_CHECK_DATA :: NAME , Self :: MANUAL_SETPOINT (..) => MANUAL_SETPOINT_DATA :: NAME , Self :: SCALED_IMU3 (..) => SCALED_IMU3_DATA :: NAME , Self :: MAG_CAL_REPORT (..) => MAG_CAL_REPORT_DATA :: NAME , Self :: ADSB_VEHICLE (..) => ADSB_VEHICLE_DATA :: NAME , Self :: DEBUG_VECT (..) => DEBUG_VECT_DATA :: NAME , Self :: VIBRATION (..) => VIBRATION_DATA :: NAME , Self :: PLAY_TUNE (..) => PLAY_TUNE_DATA :: NAME , Self :: CAMERA_FOV_STATUS (..) => CAMERA_FOV_STATUS_DATA :: NAME , Self :: HIL_STATE_QUATERNION (..) => HIL_STATE_QUATERNION_DATA :: NAME , Self :: RAW_RPM (..) => RAW_RPM_DATA :: NAME , Self :: SYS_STATUS (..) => SYS_STATUS_DATA :: NAME , Self :: MISSION_ACK (..) => MISSION_ACK_DATA :: NAME , Self :: LOG_REQUEST_DATA (..) => LOG_REQUEST_DATA_DATA :: NAME , Self :: UTM_GLOBAL_POSITION (..) => UTM_GLOBAL_POSITION_DATA :: NAME , Self :: OPEN_DRONE_ID_SELF_ID (..) => OPEN_DRONE_ID_SELF_ID_DATA :: NAME , Self :: OPEN_DRONE_ID_ARM_STATUS (..) => OPEN_DRONE_ID_ARM_STATUS_DATA :: NAME , Self :: HIL_OPTICAL_FLOW (..) => HIL_OPTICAL_FLOW_DATA :: NAME , Self :: LOG_DATA (..) => LOG_DATA_DATA :: NAME , Self :: BUTTON_CHANGE (..) => BUTTON_CHANGE_DATA :: NAME , Self :: V2_EXTENSION (..) => V2_EXTENSION_DATA :: NAME , Self :: FLIGHT_INFORMATION (..) => FLIGHT_INFORMATION_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_ATTITUDE (..) => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: NAME , Self :: EVENT (..) => EVENT_DATA :: NAME , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (..) => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: NAME , Self :: AUTH_KEY (..) => AUTH_KEY_DATA :: NAME , Self :: HYGROMETER_SENSOR (..) => HYGROMETER_SENSOR_DATA :: NAME , Self :: GPS_STATUS (..) => GPS_STATUS_DATA :: NAME , Self :: ONBOARD_COMPUTER_STATUS (..) => ONBOARD_COMPUTER_STATUS_DATA :: NAME , Self :: NAMED_VALUE_INT (..) => NAMED_VALUE_INT_DATA :: NAME , Self :: ACTUATOR_OUTPUT_STATUS (..) => ACTUATOR_OUTPUT_STATUS_DATA :: NAME , Self :: PLAY_TUNE_V2 (..) => PLAY_TUNE_V2_DATA :: NAME , Self :: SET_ATTITUDE_TARGET (..) => SET_ATTITUDE_TARGET_DATA :: NAME , Self :: CANFD_FRAME (..) => CANFD_FRAME_DATA :: NAME , Self :: CAMERA_CAPTURE_STATUS (..) => CAMERA_CAPTURE_STATUS_DATA :: NAME , Self :: REQUEST_EVENT (..) => REQUEST_EVENT_DATA :: NAME , Self :: VFR_HUD (..) => VFR_HUD_DATA :: NAME , Self :: LOCAL_POSITION_NED (..) => LOCAL_POSITION_NED_DATA :: NAME , Self :: AUTOPILOT_VERSION (..) => AUTOPILOT_VERSION_DATA :: NAME , Self :: VISION_POSITION_ESTIMATE (..) => VISION_POSITION_ESTIMATE_DATA :: NAME , Self :: UAVCAN_NODE_INFO (..) => UAVCAN_NODE_INFO_DATA :: NAME , Self :: TERRAIN_REQUEST (..) => TERRAIN_REQUEST_DATA :: NAME , Self :: PING (..) => PING_DATA :: NAME , Self :: MISSION_SET_CURRENT (..) => MISSION_SET_CURRENT_DATA :: NAME , Self :: SET_POSITION_TARGET_GLOBAL_INT (..) => SET_POSITION_TARGET_GLOBAL_INT_DATA :: NAME , Self :: HIGH_LATENCY (..) => HIGH_LATENCY_DATA :: NAME , } } fn message_id (& self) -> u32 { match self { Self :: MISSION_CLEAR_ALL (..) => MISSION_CLEAR_ALL_DATA :: ID , Self :: COMMAND_INT (..) => COMMAND_INT_DATA :: ID , Self :: COLLISION (..) => COLLISION_DATA :: ID , Self :: RC_CHANNELS_RAW (..) => RC_CHANNELS_RAW_DATA :: ID , Self :: OPTICAL_FLOW_RAD (..) => OPTICAL_FLOW_RAD_DATA :: ID , Self :: LOGGING_ACK (..) => LOGGING_ACK_DATA :: ID , Self :: WIFI_CONFIG_AP (..) => WIFI_CONFIG_AP_DATA :: ID , Self :: MISSION_WRITE_PARTIAL_LIST (..) => MISSION_WRITE_PARTIAL_LIST_DATA :: ID , Self :: MANUAL_CONTROL (..) => MANUAL_CONTROL_DATA :: ID , Self :: SMART_BATTERY_INFO (..) => SMART_BATTERY_INFO_DATA :: ID , Self :: COMMAND_CANCEL (..) => COMMAND_CANCEL_DATA :: ID , Self :: LOG_ENTRY (..) => LOG_ENTRY_DATA :: ID , Self :: OPEN_DRONE_ID_AUTHENTICATION (..) => OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID , Self :: SCALED_PRESSURE2 (..) => SCALED_PRESSURE2_DATA :: ID , Self :: CAMERA_TRIGGER (..) => CAMERA_TRIGGER_DATA :: ID , Self :: SET_HOME_POSITION (..) => SET_HOME_POSITION_DATA :: ID , Self :: RAW_IMU (..) => RAW_IMU_DATA :: ID , Self :: SAFETY_SET_ALLOWED_AREA (..) => SAFETY_SET_ALLOWED_AREA_DATA :: ID , Self :: COMPONENT_METADATA (..) => COMPONENT_METADATA_DATA :: ID , Self :: GIMBAL_MANAGER_INFORMATION (..) => GIMBAL_MANAGER_INFORMATION_DATA :: ID , Self :: ACTUATOR_CONTROL_TARGET (..) => ACTUATOR_CONTROL_TARGET_DATA :: ID , Self :: MISSION_CURRENT (..) => MISSION_CURRENT_DATA :: ID , Self :: LOG_REQUEST_END (..) => LOG_REQUEST_END_DATA :: ID , Self :: FILE_TRANSFER_PROTOCOL (..) => FILE_TRANSFER_PROTOCOL_DATA :: ID , Self :: BATTERY_STATUS (..) => BATTERY_STATUS_DATA :: ID , Self :: LANDING_TARGET (..) => LANDING_TARGET_DATA :: ID , Self :: MESSAGE_INTERVAL (..) => MESSAGE_INTERVAL_DATA :: ID , Self :: WHEEL_DISTANCE (..) => WHEEL_DISTANCE_DATA :: ID , Self :: MISSION_COUNT (..) => MISSION_COUNT_DATA :: ID , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (..) => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID , Self :: CHANGE_OPERATOR_CONTROL (..) => CHANGE_OPERATOR_CONTROL_DATA :: ID , Self :: HIL_STATE (..) => HIL_STATE_DATA :: ID , Self :: HIL_SENSOR (..) => HIL_SENSOR_DATA :: ID , Self :: PARAM_EXT_REQUEST_READ (..) => PARAM_EXT_REQUEST_READ_DATA :: ID , Self :: SCALED_PRESSURE (..) => SCALED_PRESSURE_DATA :: ID , Self :: SET_GPS_GLOBAL_ORIGIN (..) => SET_GPS_GLOBAL_ORIGIN_DATA :: ID , Self :: ENCAPSULATED_DATA (..) => ENCAPSULATED_DATA_DATA :: ID , Self :: COMPONENT_INFORMATION (..) => COMPONENT_INFORMATION_DATA :: ID , Self :: VIDEO_STREAM_STATUS (..) => VIDEO_STREAM_STATUS_DATA :: ID , Self :: GIMBAL_DEVICE_INFORMATION (..) => GIMBAL_DEVICE_INFORMATION_DATA :: ID , Self :: HIL_GPS (..) => HIL_GPS_DATA :: ID , Self :: GLOBAL_POSITION_INT_COV (..) => GLOBAL_POSITION_INT_COV_DATA :: ID , Self :: TERRAIN_REPORT (..) => TERRAIN_REPORT_DATA :: ID , Self :: AIS_VESSEL (..) => AIS_VESSEL_DATA :: ID , Self :: ODOMETRY (..) => ODOMETRY_DATA :: ID , Self :: SUPPORTED_TUNES (..) => SUPPORTED_TUNES_DATA :: ID , Self :: CONTROL_SYSTEM_STATE (..) => CONTROL_SYSTEM_STATE_DATA :: ID , Self :: OPEN_DRONE_ID_SYSTEM (..) => OPEN_DRONE_ID_SYSTEM_DATA :: ID , Self :: ATT_POS_MOCAP (..) => ATT_POS_MOCAP_DATA :: ID , Self :: LOGGING_DATA (..) => LOGGING_DATA_DATA :: ID , Self :: OPEN_DRONE_ID_MESSAGE_PACK (..) => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID , Self :: MISSION_REQUEST_PARTIAL_LIST (..) => MISSION_REQUEST_PARTIAL_LIST_DATA :: ID , Self :: SETUP_SIGNING (..) => SETUP_SIGNING_DATA :: ID , Self :: PARAM_EXT_ACK (..) => PARAM_EXT_ACK_DATA :: ID , Self :: RADIO_STATUS (..) => RADIO_STATUS_DATA :: ID , Self :: RESPONSE_EVENT_ERROR (..) => RESPONSE_EVENT_ERROR_DATA :: ID , Self :: SIM_STATE (..) => SIM_STATE_DATA :: ID , Self :: FENCE_STATUS (..) => FENCE_STATUS_DATA :: ID , Self :: RESOURCE_REQUEST (..) => RESOURCE_REQUEST_DATA :: ID , Self :: TERRAIN_DATA (..) => TERRAIN_DATA_DATA :: ID , Self :: VICON_POSITION_ESTIMATE (..) => VICON_POSITION_ESTIMATE_DATA :: ID , Self :: EXTENDED_SYS_STATE (..) => EXTENDED_SYS_STATE_DATA :: ID , Self :: HEARTBEAT (..) => HEARTBEAT_DATA :: ID , Self :: VIDEO_STREAM_INFORMATION (..) => VIDEO_STREAM_INFORMATION_DATA :: ID , Self :: MISSION_REQUEST_INT (..) => MISSION_REQUEST_INT_DATA :: ID , Self :: CAN_FILTER_MODIFY (..) => CAN_FILTER_MODIFY_DATA :: ID , Self :: MISSION_ITEM_INT (..) => MISSION_ITEM_INT_DATA :: ID , Self :: HIGHRES_IMU (..) => HIGHRES_IMU_DATA :: ID , Self :: SET_ACTUATOR_CONTROL_TARGET (..) => SET_ACTUATOR_CONTROL_TARGET_DATA :: ID , Self :: DEBUG (..) => DEBUG_DATA :: ID , Self :: CAMERA_SETTINGS (..) => CAMERA_SETTINGS_DATA :: ID , Self :: MISSION_REQUEST_LIST (..) => MISSION_REQUEST_LIST_DATA :: ID , Self :: POSITION_TARGET_LOCAL_NED (..) => POSITION_TARGET_LOCAL_NED_DATA :: ID , Self :: SCALED_IMU (..) => SCALED_IMU_DATA :: ID , Self :: WIND_COV (..) => WIND_COV_DATA :: ID , Self :: MISSION_REQUEST (..) => MISSION_REQUEST_DATA :: ID , Self :: SERIAL_CONTROL (..) => SERIAL_CONTROL_DATA :: ID , Self :: PARAM_REQUEST_READ (..) => PARAM_REQUEST_READ_DATA :: ID , Self :: GPS2_RTK (..) => GPS2_RTK_DATA :: ID , Self :: COMMAND_ACK (..) => COMMAND_ACK_DATA :: ID , Self :: POWER_STATUS (..) => POWER_STATUS_DATA :: ID , Self :: GIMBAL_MANAGER_STATUS (..) => GIMBAL_MANAGER_STATUS_DATA :: ID , Self :: GLOBAL_POSITION_INT (..) => GLOBAL_POSITION_INT_DATA :: ID , Self :: PARAM_SET (..) => PARAM_SET_DATA :: ID , Self :: OPTICAL_FLOW (..) => OPTICAL_FLOW_DATA :: ID , Self :: RC_CHANNELS_SCALED (..) => RC_CHANNELS_SCALED_DATA :: ID , Self :: GPS_INJECT_DATA (..) => GPS_INJECT_DATA_DATA :: ID , Self :: PARAM_VALUE (..) => PARAM_VALUE_DATA :: ID , Self :: RC_CHANNELS (..) => RC_CHANNELS_DATA :: ID , Self :: ESTIMATOR_STATUS (..) => ESTIMATOR_STATUS_DATA :: ID , Self :: TIMESYNC (..) => TIMESYNC_DATA :: ID , Self :: SCALED_PRESSURE3 (..) => SCALED_PRESSURE3_DATA :: ID , Self :: DATA_STREAM (..) => DATA_STREAM_DATA :: ID , Self :: HOME_POSITION (..) => HOME_POSITION_DATA :: ID , Self :: MEMORY_VECT (..) => MEMORY_VECT_DATA :: ID , Self :: NAMED_VALUE_FLOAT (..) => NAMED_VALUE_FLOAT_DATA :: ID , Self :: NAV_CONTROLLER_OUTPUT (..) => NAV_CONTROLLER_OUTPUT_DATA :: ID , Self :: CHANGE_OPERATOR_CONTROL_ACK (..) => CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID , Self :: STATUSTEXT (..) => STATUSTEXT_DATA :: ID , Self :: CAMERA_TRACKING_GEO_STATUS (..) => CAMERA_TRACKING_GEO_STATUS_DATA :: ID , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (..) => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID , Self :: UAVCAN_NODE_STATUS (..) => UAVCAN_NODE_STATUS_DATA :: ID , Self :: GPS_GLOBAL_ORIGIN (..) => GPS_GLOBAL_ORIGIN_DATA :: ID , Self :: EFI_STATUS (..) => EFI_STATUS_DATA :: ID , Self :: ATTITUDE_QUATERNION (..) => ATTITUDE_QUATERNION_DATA :: ID , Self :: CAMERA_IMAGE_CAPTURED (..) => CAMERA_IMAGE_CAPTURED_DATA :: ID , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (..) => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID , Self :: CELLULAR_STATUS (..) => CELLULAR_STATUS_DATA :: ID , Self :: ORBIT_EXECUTION_STATUS (..) => ORBIT_EXECUTION_STATUS_DATA :: ID , Self :: TIME_ESTIMATE_TO_TARGET (..) => TIME_ESTIMATE_TO_TARGET_DATA :: ID , Self :: RAW_PRESSURE (..) => RAW_PRESSURE_DATA :: ID , Self :: WINCH_STATUS (..) => WINCH_STATUS_DATA :: ID , Self :: OPEN_DRONE_ID_OPERATOR_ID (..) => OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID , Self :: ATTITUDE_TARGET (..) => ATTITUDE_TARGET_DATA :: ID , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (..) => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID , Self :: ISBD_LINK_STATUS (..) => ISBD_LINK_STATUS_DATA :: ID , Self :: TUNNEL (..) => TUNNEL_DATA :: ID , Self :: OBSTACLE_DISTANCE (..) => OBSTACLE_DISTANCE_DATA :: ID , Self :: SAFETY_ALLOWED_AREA (..) => SAFETY_ALLOWED_AREA_DATA :: ID , Self :: DEBUG_FLOAT_ARRAY (..) => DEBUG_FLOAT_ARRAY_DATA :: ID , Self :: SERVO_OUTPUT_RAW (..) => SERVO_OUTPUT_RAW_DATA :: ID , Self :: DISTANCE_SENSOR (..) => DISTANCE_SENSOR_DATA :: ID , Self :: PARAM_MAP_RC (..) => PARAM_MAP_RC_DATA :: ID , Self :: TRAJECTORY_REPRESENTATION_BEZIER (..) => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID , Self :: GENERATOR_STATUS (..) => GENERATOR_STATUS_DATA :: ID , Self :: SET_POSITION_TARGET_LOCAL_NED (..) => SET_POSITION_TARGET_LOCAL_NED_DATA :: ID , Self :: CAN_FRAME (..) => CAN_FRAME_DATA :: ID , Self :: SCALED_IMU2 (..) => SCALED_IMU2_DATA :: ID , Self :: OPEN_DRONE_ID_LOCATION (..) => OPEN_DRONE_ID_LOCATION_DATA :: ID , Self :: COMMAND_LONG (..) => COMMAND_LONG_DATA :: ID , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (..) => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID , Self :: POSITION_TARGET_GLOBAL_INT (..) => POSITION_TARGET_GLOBAL_INT_DATA :: ID , Self :: HIL_CONTROLS (..) => HIL_CONTROLS_DATA :: ID , Self :: CAMERA_TRACKING_IMAGE_STATUS (..) => CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID , Self :: ATTITUDE_QUATERNION_COV (..) => ATTITUDE_QUATERNION_COV_DATA :: ID , Self :: REQUEST_DATA_STREAM (..) => REQUEST_DATA_STREAM_DATA :: ID , Self :: LOG_ERASE (..) => LOG_ERASE_DATA :: ID , Self :: GPS_RTCM_DATA (..) => GPS_RTCM_DATA_DATA :: ID , Self :: MOUNT_ORIENTATION (..) => MOUNT_ORIENTATION_DATA :: ID , Self :: OPEN_DRONE_ID_BASIC_ID (..) => OPEN_DRONE_ID_BASIC_ID_DATA :: ID , Self :: HIL_RC_INPUTS_RAW (..) => HIL_RC_INPUTS_RAW_DATA :: ID , Self :: MISSION_ITEM_REACHED (..) => MISSION_ITEM_REACHED_DATA :: ID , Self :: HIL_ACTUATOR_CONTROLS (..) => HIL_ACTUATOR_CONTROLS_DATA :: ID , Self :: SET_MODE (..) => SET_MODE_DATA :: ID , Self :: LOG_REQUEST_LIST (..) => LOG_REQUEST_LIST_DATA :: ID , Self :: HIGH_LATENCY2 (..) => HIGH_LATENCY2_DATA :: ID , Self :: GIMBAL_MANAGER_SET_PITCHYAW (..) => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID , Self :: PARAM_EXT_REQUEST_LIST (..) => PARAM_EXT_REQUEST_LIST_DATA :: ID , Self :: SYSTEM_TIME (..) => SYSTEM_TIME_DATA :: ID , Self :: MISSION_ITEM (..) => MISSION_ITEM_DATA :: ID , Self :: STORAGE_INFORMATION (..) => STORAGE_INFORMATION_DATA :: ID , Self :: GPS_RAW_INT (..) => GPS_RAW_INT_DATA :: ID , Self :: LOCAL_POSITION_NED_COV (..) => LOCAL_POSITION_NED_COV_DATA :: ID , Self :: RC_CHANNELS_OVERRIDE (..) => RC_CHANNELS_OVERRIDE_DATA :: ID , Self :: PROTOCOL_VERSION (..) => PROTOCOL_VERSION_DATA :: ID , Self :: PARAM_EXT_VALUE (..) => PARAM_EXT_VALUE_DATA :: ID , Self :: CURRENT_EVENT_SEQUENCE (..) => CURRENT_EVENT_SEQUENCE_DATA :: ID , Self :: PARAM_EXT_SET (..) => PARAM_EXT_SET_DATA :: ID , Self :: ESC_INFO (..) => ESC_INFO_DATA :: ID , Self :: GIMBAL_DEVICE_SET_ATTITUDE (..) => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID , Self :: VISION_SPEED_ESTIMATE (..) => VISION_SPEED_ESTIMATE_DATA :: ID , Self :: LOGGING_DATA_ACKED (..) => LOGGING_DATA_ACKED_DATA :: ID , Self :: ESC_STATUS (..) => ESC_STATUS_DATA :: ID , Self :: PARAM_REQUEST_LIST (..) => PARAM_REQUEST_LIST_DATA :: ID , Self :: CAMERA_INFORMATION (..) => CAMERA_INFORMATION_DATA :: ID , Self :: ATTITUDE (..) => ATTITUDE_DATA :: ID , Self :: CELLULAR_CONFIG (..) => CELLULAR_CONFIG_DATA :: ID , Self :: GLOBAL_VISION_POSITION_ESTIMATE (..) => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID , Self :: ALTITUDE (..) => ALTITUDE_DATA :: ID , Self :: GPS2_RAW (..) => GPS2_RAW_DATA :: ID , Self :: FOLLOW_TARGET (..) => FOLLOW_TARGET_DATA :: ID , Self :: LINK_NODE_STATUS (..) => LINK_NODE_STATUS_DATA :: ID , Self :: GPS_INPUT (..) => GPS_INPUT_DATA :: ID , Self :: DATA_TRANSMISSION_HANDSHAKE (..) => DATA_TRANSMISSION_HANDSHAKE_DATA :: ID , Self :: GPS_RTK (..) => GPS_RTK_DATA :: ID , Self :: TERRAIN_CHECK (..) => TERRAIN_CHECK_DATA :: ID , Self :: MANUAL_SETPOINT (..) => MANUAL_SETPOINT_DATA :: ID , Self :: SCALED_IMU3 (..) => SCALED_IMU3_DATA :: ID , Self :: MAG_CAL_REPORT (..) => MAG_CAL_REPORT_DATA :: ID , Self :: ADSB_VEHICLE (..) => ADSB_VEHICLE_DATA :: ID , Self :: DEBUG_VECT (..) => DEBUG_VECT_DATA :: ID , Self :: VIBRATION (..) => VIBRATION_DATA :: ID , Self :: PLAY_TUNE (..) => PLAY_TUNE_DATA :: ID , Self :: CAMERA_FOV_STATUS (..) => CAMERA_FOV_STATUS_DATA :: ID , Self :: HIL_STATE_QUATERNION (..) => HIL_STATE_QUATERNION_DATA :: ID , Self :: RAW_RPM (..) => RAW_RPM_DATA :: ID , Self :: SYS_STATUS (..) => SYS_STATUS_DATA :: ID , Self :: MISSION_ACK (..) => MISSION_ACK_DATA :: ID , Self :: LOG_REQUEST_DATA (..) => LOG_REQUEST_DATA_DATA :: ID , Self :: UTM_GLOBAL_POSITION (..) => UTM_GLOBAL_POSITION_DATA :: ID , Self :: OPEN_DRONE_ID_SELF_ID (..) => OPEN_DRONE_ID_SELF_ID_DATA :: ID , Self :: OPEN_DRONE_ID_ARM_STATUS (..) => OPEN_DRONE_ID_ARM_STATUS_DATA :: ID , Self :: HIL_OPTICAL_FLOW (..) => HIL_OPTICAL_FLOW_DATA :: ID , Self :: LOG_DATA (..) => LOG_DATA_DATA :: ID , Self :: BUTTON_CHANGE (..) => BUTTON_CHANGE_DATA :: ID , Self :: V2_EXTENSION (..) => V2_EXTENSION_DATA :: ID , Self :: FLIGHT_INFORMATION (..) => FLIGHT_INFORMATION_DATA :: ID , Self :: GIMBAL_MANAGER_SET_ATTITUDE (..) => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID , Self :: EVENT (..) => EVENT_DATA :: ID , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (..) => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID , Self :: AUTH_KEY (..) => AUTH_KEY_DATA :: ID , Self :: HYGROMETER_SENSOR (..) => HYGROMETER_SENSOR_DATA :: ID , Self :: GPS_STATUS (..) => GPS_STATUS_DATA :: ID , Self :: ONBOARD_COMPUTER_STATUS (..) => ONBOARD_COMPUTER_STATUS_DATA :: ID , Self :: NAMED_VALUE_INT (..) => NAMED_VALUE_INT_DATA :: ID , Self :: ACTUATOR_OUTPUT_STATUS (..) => ACTUATOR_OUTPUT_STATUS_DATA :: ID , Self :: PLAY_TUNE_V2 (..) => PLAY_TUNE_V2_DATA :: ID , Self :: SET_ATTITUDE_TARGET (..) => SET_ATTITUDE_TARGET_DATA :: ID , Self :: CANFD_FRAME (..) => CANFD_FRAME_DATA :: ID , Self :: CAMERA_CAPTURE_STATUS (..) => CAMERA_CAPTURE_STATUS_DATA :: ID , Self :: REQUEST_EVENT (..) => REQUEST_EVENT_DATA :: ID , Self :: VFR_HUD (..) => VFR_HUD_DATA :: ID , Self :: LOCAL_POSITION_NED (..) => LOCAL_POSITION_NED_DATA :: ID , Self :: AUTOPILOT_VERSION (..) => AUTOPILOT_VERSION_DATA :: ID , Self :: VISION_POSITION_ESTIMATE (..) => VISION_POSITION_ESTIMATE_DATA :: ID , Self :: UAVCAN_NODE_INFO (..) => UAVCAN_NODE_INFO_DATA :: ID , Self :: TERRAIN_REQUEST (..) => TERRAIN_REQUEST_DATA :: ID , Self :: PING (..) => PING_DATA :: ID , Self :: MISSION_SET_CURRENT (..) => MISSION_SET_CURRENT_DATA :: ID , Self :: SET_POSITION_TARGET_GLOBAL_INT (..) => SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID , Self :: HIGH_LATENCY (..) => HIGH_LATENCY_DATA :: ID , } } fn message_id_from_name (name : & str) -> Result < u32 , & 'static str > { match name { MISSION_CLEAR_ALL_DATA :: NAME => Ok (MISSION_CLEAR_ALL_DATA :: ID) , COMMAND_INT_DATA :: NAME => Ok (COMMAND_INT_DATA :: ID) , COLLISION_DATA :: NAME => Ok (COLLISION_DATA :: ID) , RC_CHANNELS_RAW_DATA :: NAME => Ok (RC_CHANNELS_RAW_DATA :: ID) , OPTICAL_FLOW_RAD_DATA :: NAME => Ok (OPTICAL_FLOW_RAD_DATA :: ID) , LOGGING_ACK_DATA :: NAME => Ok (LOGGING_ACK_DATA :: ID) , WIFI_CONFIG_AP_DATA :: NAME => Ok (WIFI_CONFIG_AP_DATA :: ID) , MISSION_WRITE_PARTIAL_LIST_DATA :: NAME => Ok (MISSION_WRITE_PARTIAL_LIST_DATA :: ID) , MANUAL_CONTROL_DATA :: NAME => Ok (MANUAL_CONTROL_DATA :: ID) , SMART_BATTERY_INFO_DATA :: NAME => Ok (SMART_BATTERY_INFO_DATA :: ID) , COMMAND_CANCEL_DATA :: NAME => Ok (COMMAND_CANCEL_DATA :: ID) , LOG_ENTRY_DATA :: NAME => Ok (LOG_ENTRY_DATA :: ID) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: NAME => Ok (OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID) , SCALED_PRESSURE2_DATA :: NAME => Ok (SCALED_PRESSURE2_DATA :: ID) , CAMERA_TRIGGER_DATA :: NAME => Ok (CAMERA_TRIGGER_DATA :: ID) , SET_HOME_POSITION_DATA :: NAME => Ok (SET_HOME_POSITION_DATA :: ID) , RAW_IMU_DATA :: NAME => Ok (RAW_IMU_DATA :: ID) , SAFETY_SET_ALLOWED_AREA_DATA :: NAME => Ok (SAFETY_SET_ALLOWED_AREA_DATA :: ID) , COMPONENT_METADATA_DATA :: NAME => Ok (COMPONENT_METADATA_DATA :: ID) , GIMBAL_MANAGER_INFORMATION_DATA :: NAME => Ok (GIMBAL_MANAGER_INFORMATION_DATA :: ID) , ACTUATOR_CONTROL_TARGET_DATA :: NAME => Ok (ACTUATOR_CONTROL_TARGET_DATA :: ID) , MISSION_CURRENT_DATA :: NAME => Ok (MISSION_CURRENT_DATA :: ID) , LOG_REQUEST_END_DATA :: NAME => Ok (LOG_REQUEST_END_DATA :: ID) , FILE_TRANSFER_PROTOCOL_DATA :: NAME => Ok (FILE_TRANSFER_PROTOCOL_DATA :: ID) , BATTERY_STATUS_DATA :: NAME => Ok (BATTERY_STATUS_DATA :: ID) , LANDING_TARGET_DATA :: NAME => Ok (LANDING_TARGET_DATA :: ID) , MESSAGE_INTERVAL_DATA :: NAME => Ok (MESSAGE_INTERVAL_DATA :: ID) , WHEEL_DISTANCE_DATA :: NAME => Ok (WHEEL_DISTANCE_DATA :: ID) , MISSION_COUNT_DATA :: NAME => Ok (MISSION_COUNT_DATA :: ID) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: NAME => Ok (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID) , CHANGE_OPERATOR_CONTROL_DATA :: NAME => Ok (CHANGE_OPERATOR_CONTROL_DATA :: ID) , HIL_STATE_DATA :: NAME => Ok (HIL_STATE_DATA :: ID) , HIL_SENSOR_DATA :: NAME => Ok (HIL_SENSOR_DATA :: ID) , PARAM_EXT_REQUEST_READ_DATA :: NAME => Ok (PARAM_EXT_REQUEST_READ_DATA :: ID) , SCALED_PRESSURE_DATA :: NAME => Ok (SCALED_PRESSURE_DATA :: ID) , SET_GPS_GLOBAL_ORIGIN_DATA :: NAME => Ok (SET_GPS_GLOBAL_ORIGIN_DATA :: ID) , ENCAPSULATED_DATA_DATA :: NAME => Ok (ENCAPSULATED_DATA_DATA :: ID) , COMPONENT_INFORMATION_DATA :: NAME => Ok (COMPONENT_INFORMATION_DATA :: ID) , VIDEO_STREAM_STATUS_DATA :: NAME => Ok (VIDEO_STREAM_STATUS_DATA :: ID) , GIMBAL_DEVICE_INFORMATION_DATA :: NAME => Ok (GIMBAL_DEVICE_INFORMATION_DATA :: ID) , HIL_GPS_DATA :: NAME => Ok (HIL_GPS_DATA :: ID) , GLOBAL_POSITION_INT_COV_DATA :: NAME => Ok (GLOBAL_POSITION_INT_COV_DATA :: ID) , TERRAIN_REPORT_DATA :: NAME => Ok (TERRAIN_REPORT_DATA :: ID) , AIS_VESSEL_DATA :: NAME => Ok (AIS_VESSEL_DATA :: ID) , ODOMETRY_DATA :: NAME => Ok (ODOMETRY_DATA :: ID) , SUPPORTED_TUNES_DATA :: NAME => Ok (SUPPORTED_TUNES_DATA :: ID) , CONTROL_SYSTEM_STATE_DATA :: NAME => Ok (CONTROL_SYSTEM_STATE_DATA :: ID) , OPEN_DRONE_ID_SYSTEM_DATA :: NAME => Ok (OPEN_DRONE_ID_SYSTEM_DATA :: ID) , ATT_POS_MOCAP_DATA :: NAME => Ok (ATT_POS_MOCAP_DATA :: ID) , LOGGING_DATA_DATA :: NAME => Ok (LOGGING_DATA_DATA :: ID) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: NAME => Ok (OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID) , MISSION_REQUEST_PARTIAL_LIST_DATA :: NAME => Ok (MISSION_REQUEST_PARTIAL_LIST_DATA :: ID) , SETUP_SIGNING_DATA :: NAME => Ok (SETUP_SIGNING_DATA :: ID) , PARAM_EXT_ACK_DATA :: NAME => Ok (PARAM_EXT_ACK_DATA :: ID) , RADIO_STATUS_DATA :: NAME => Ok (RADIO_STATUS_DATA :: ID) , RESPONSE_EVENT_ERROR_DATA :: NAME => Ok (RESPONSE_EVENT_ERROR_DATA :: ID) , SIM_STATE_DATA :: NAME => Ok (SIM_STATE_DATA :: ID) , FENCE_STATUS_DATA :: NAME => Ok (FENCE_STATUS_DATA :: ID) , RESOURCE_REQUEST_DATA :: NAME => Ok (RESOURCE_REQUEST_DATA :: ID) , TERRAIN_DATA_DATA :: NAME => Ok (TERRAIN_DATA_DATA :: ID) , VICON_POSITION_ESTIMATE_DATA :: NAME => Ok (VICON_POSITION_ESTIMATE_DATA :: ID) , EXTENDED_SYS_STATE_DATA :: NAME => Ok (EXTENDED_SYS_STATE_DATA :: ID) , HEARTBEAT_DATA :: NAME => Ok (HEARTBEAT_DATA :: ID) , VIDEO_STREAM_INFORMATION_DATA :: NAME => Ok (VIDEO_STREAM_INFORMATION_DATA :: ID) , MISSION_REQUEST_INT_DATA :: NAME => Ok (MISSION_REQUEST_INT_DATA :: ID) , CAN_FILTER_MODIFY_DATA :: NAME => Ok (CAN_FILTER_MODIFY_DATA :: ID) , MISSION_ITEM_INT_DATA :: NAME => Ok (MISSION_ITEM_INT_DATA :: ID) , HIGHRES_IMU_DATA :: NAME => Ok (HIGHRES_IMU_DATA :: ID) , SET_ACTUATOR_CONTROL_TARGET_DATA :: NAME => Ok (SET_ACTUATOR_CONTROL_TARGET_DATA :: ID) , DEBUG_DATA :: NAME => Ok (DEBUG_DATA :: ID) , CAMERA_SETTINGS_DATA :: NAME => Ok (CAMERA_SETTINGS_DATA :: ID) , MISSION_REQUEST_LIST_DATA :: NAME => Ok (MISSION_REQUEST_LIST_DATA :: ID) , POSITION_TARGET_LOCAL_NED_DATA :: NAME => Ok (POSITION_TARGET_LOCAL_NED_DATA :: ID) , SCALED_IMU_DATA :: NAME => Ok (SCALED_IMU_DATA :: ID) , WIND_COV_DATA :: NAME => Ok (WIND_COV_DATA :: ID) , MISSION_REQUEST_DATA :: NAME => Ok (MISSION_REQUEST_DATA :: ID) , SERIAL_CONTROL_DATA :: NAME => Ok (SERIAL_CONTROL_DATA :: ID) , PARAM_REQUEST_READ_DATA :: NAME => Ok (PARAM_REQUEST_READ_DATA :: ID) , GPS2_RTK_DATA :: NAME => Ok (GPS2_RTK_DATA :: ID) , COMMAND_ACK_DATA :: NAME => Ok (COMMAND_ACK_DATA :: ID) , POWER_STATUS_DATA :: NAME => Ok (POWER_STATUS_DATA :: ID) , GIMBAL_MANAGER_STATUS_DATA :: NAME => Ok (GIMBAL_MANAGER_STATUS_DATA :: ID) , GLOBAL_POSITION_INT_DATA :: NAME => Ok (GLOBAL_POSITION_INT_DATA :: ID) , PARAM_SET_DATA :: NAME => Ok (PARAM_SET_DATA :: ID) , OPTICAL_FLOW_DATA :: NAME => Ok (OPTICAL_FLOW_DATA :: ID) , RC_CHANNELS_SCALED_DATA :: NAME => Ok (RC_CHANNELS_SCALED_DATA :: ID) , GPS_INJECT_DATA_DATA :: NAME => Ok (GPS_INJECT_DATA_DATA :: ID) , PARAM_VALUE_DATA :: NAME => Ok (PARAM_VALUE_DATA :: ID) , RC_CHANNELS_DATA :: NAME => Ok (RC_CHANNELS_DATA :: ID) , ESTIMATOR_STATUS_DATA :: NAME => Ok (ESTIMATOR_STATUS_DATA :: ID) , TIMESYNC_DATA :: NAME => Ok (TIMESYNC_DATA :: ID) , SCALED_PRESSURE3_DATA :: NAME => Ok (SCALED_PRESSURE3_DATA :: ID) , DATA_STREAM_DATA :: NAME => Ok (DATA_STREAM_DATA :: ID) , HOME_POSITION_DATA :: NAME => Ok (HOME_POSITION_DATA :: ID) , MEMORY_VECT_DATA :: NAME => Ok (MEMORY_VECT_DATA :: ID) , NAMED_VALUE_FLOAT_DATA :: NAME => Ok (NAMED_VALUE_FLOAT_DATA :: ID) , NAV_CONTROLLER_OUTPUT_DATA :: NAME => Ok (NAV_CONTROLLER_OUTPUT_DATA :: ID) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: NAME => Ok (CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID) , STATUSTEXT_DATA :: NAME => Ok (STATUSTEXT_DATA :: ID) , CAMERA_TRACKING_GEO_STATUS_DATA :: NAME => Ok (CAMERA_TRACKING_GEO_STATUS_DATA :: ID) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID) , UAVCAN_NODE_STATUS_DATA :: NAME => Ok (UAVCAN_NODE_STATUS_DATA :: ID) , GPS_GLOBAL_ORIGIN_DATA :: NAME => Ok (GPS_GLOBAL_ORIGIN_DATA :: ID) , EFI_STATUS_DATA :: NAME => Ok (EFI_STATUS_DATA :: ID) , ATTITUDE_QUATERNION_DATA :: NAME => Ok (ATTITUDE_QUATERNION_DATA :: ID) , CAMERA_IMAGE_CAPTURED_DATA :: NAME => Ok (CAMERA_IMAGE_CAPTURED_DATA :: ID) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: NAME => Ok (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID) , CELLULAR_STATUS_DATA :: NAME => Ok (CELLULAR_STATUS_DATA :: ID) , ORBIT_EXECUTION_STATUS_DATA :: NAME => Ok (ORBIT_EXECUTION_STATUS_DATA :: ID) , TIME_ESTIMATE_TO_TARGET_DATA :: NAME => Ok (TIME_ESTIMATE_TO_TARGET_DATA :: ID) , RAW_PRESSURE_DATA :: NAME => Ok (RAW_PRESSURE_DATA :: ID) , WINCH_STATUS_DATA :: NAME => Ok (WINCH_STATUS_DATA :: ID) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID) , ATTITUDE_TARGET_DATA :: NAME => Ok (ATTITUDE_TARGET_DATA :: ID) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: NAME => Ok (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID) , ISBD_LINK_STATUS_DATA :: NAME => Ok (ISBD_LINK_STATUS_DATA :: ID) , TUNNEL_DATA :: NAME => Ok (TUNNEL_DATA :: ID) , OBSTACLE_DISTANCE_DATA :: NAME => Ok (OBSTACLE_DISTANCE_DATA :: ID) , SAFETY_ALLOWED_AREA_DATA :: NAME => Ok (SAFETY_ALLOWED_AREA_DATA :: ID) , DEBUG_FLOAT_ARRAY_DATA :: NAME => Ok (DEBUG_FLOAT_ARRAY_DATA :: ID) , SERVO_OUTPUT_RAW_DATA :: NAME => Ok (SERVO_OUTPUT_RAW_DATA :: ID) , DISTANCE_SENSOR_DATA :: NAME => Ok (DISTANCE_SENSOR_DATA :: ID) , PARAM_MAP_RC_DATA :: NAME => Ok (PARAM_MAP_RC_DATA :: ID) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: NAME => Ok (TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID) , GENERATOR_STATUS_DATA :: NAME => Ok (GENERATOR_STATUS_DATA :: ID) , SET_POSITION_TARGET_LOCAL_NED_DATA :: NAME => Ok (SET_POSITION_TARGET_LOCAL_NED_DATA :: ID) , CAN_FRAME_DATA :: NAME => Ok (CAN_FRAME_DATA :: ID) , SCALED_IMU2_DATA :: NAME => Ok (SCALED_IMU2_DATA :: ID) , OPEN_DRONE_ID_LOCATION_DATA :: NAME => Ok (OPEN_DRONE_ID_LOCATION_DATA :: ID) , COMMAND_LONG_DATA :: NAME => Ok (COMMAND_LONG_DATA :: ID) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: NAME => Ok (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID) , POSITION_TARGET_GLOBAL_INT_DATA :: NAME => Ok (POSITION_TARGET_GLOBAL_INT_DATA :: ID) , HIL_CONTROLS_DATA :: NAME => Ok (HIL_CONTROLS_DATA :: ID) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: NAME => Ok (CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID) , ATTITUDE_QUATERNION_COV_DATA :: NAME => Ok (ATTITUDE_QUATERNION_COV_DATA :: ID) , REQUEST_DATA_STREAM_DATA :: NAME => Ok (REQUEST_DATA_STREAM_DATA :: ID) , LOG_ERASE_DATA :: NAME => Ok (LOG_ERASE_DATA :: ID) , GPS_RTCM_DATA_DATA :: NAME => Ok (GPS_RTCM_DATA_DATA :: ID) , MOUNT_ORIENTATION_DATA :: NAME => Ok (MOUNT_ORIENTATION_DATA :: ID) , OPEN_DRONE_ID_BASIC_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_BASIC_ID_DATA :: ID) , HIL_RC_INPUTS_RAW_DATA :: NAME => Ok (HIL_RC_INPUTS_RAW_DATA :: ID) , MISSION_ITEM_REACHED_DATA :: NAME => Ok (MISSION_ITEM_REACHED_DATA :: ID) , HIL_ACTUATOR_CONTROLS_DATA :: NAME => Ok (HIL_ACTUATOR_CONTROLS_DATA :: ID) , SET_MODE_DATA :: NAME => Ok (SET_MODE_DATA :: ID) , LOG_REQUEST_LIST_DATA :: NAME => Ok (LOG_REQUEST_LIST_DATA :: ID) , HIGH_LATENCY2_DATA :: NAME => Ok (HIGH_LATENCY2_DATA :: ID) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID) , PARAM_EXT_REQUEST_LIST_DATA :: NAME => Ok (PARAM_EXT_REQUEST_LIST_DATA :: ID) , SYSTEM_TIME_DATA :: NAME => Ok (SYSTEM_TIME_DATA :: ID) , MISSION_ITEM_DATA :: NAME => Ok (MISSION_ITEM_DATA :: ID) , STORAGE_INFORMATION_DATA :: NAME => Ok (STORAGE_INFORMATION_DATA :: ID) , GPS_RAW_INT_DATA :: NAME => Ok (GPS_RAW_INT_DATA :: ID) , LOCAL_POSITION_NED_COV_DATA :: NAME => Ok (LOCAL_POSITION_NED_COV_DATA :: ID) , RC_CHANNELS_OVERRIDE_DATA :: NAME => Ok (RC_CHANNELS_OVERRIDE_DATA :: ID) , PROTOCOL_VERSION_DATA :: NAME => Ok (PROTOCOL_VERSION_DATA :: ID) , PARAM_EXT_VALUE_DATA :: NAME => Ok (PARAM_EXT_VALUE_DATA :: ID) , CURRENT_EVENT_SEQUENCE_DATA :: NAME => Ok (CURRENT_EVENT_SEQUENCE_DATA :: ID) , PARAM_EXT_SET_DATA :: NAME => Ok (PARAM_EXT_SET_DATA :: ID) , ESC_INFO_DATA :: NAME => Ok (ESC_INFO_DATA :: ID) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: NAME => Ok (GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID) , VISION_SPEED_ESTIMATE_DATA :: NAME => Ok (VISION_SPEED_ESTIMATE_DATA :: ID) , LOGGING_DATA_ACKED_DATA :: NAME => Ok (LOGGING_DATA_ACKED_DATA :: ID) , ESC_STATUS_DATA :: NAME => Ok (ESC_STATUS_DATA :: ID) , PARAM_REQUEST_LIST_DATA :: NAME => Ok (PARAM_REQUEST_LIST_DATA :: ID) , CAMERA_INFORMATION_DATA :: NAME => Ok (CAMERA_INFORMATION_DATA :: ID) , ATTITUDE_DATA :: NAME => Ok (ATTITUDE_DATA :: ID) , CELLULAR_CONFIG_DATA :: NAME => Ok (CELLULAR_CONFIG_DATA :: ID) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: NAME => Ok (GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID) , ALTITUDE_DATA :: NAME => Ok (ALTITUDE_DATA :: ID) , GPS2_RAW_DATA :: NAME => Ok (GPS2_RAW_DATA :: ID) , FOLLOW_TARGET_DATA :: NAME => Ok (FOLLOW_TARGET_DATA :: ID) , LINK_NODE_STATUS_DATA :: NAME => Ok (LINK_NODE_STATUS_DATA :: ID) , GPS_INPUT_DATA :: NAME => Ok (GPS_INPUT_DATA :: ID) , DATA_TRANSMISSION_HANDSHAKE_DATA :: NAME => Ok (DATA_TRANSMISSION_HANDSHAKE_DATA :: ID) , GPS_RTK_DATA :: NAME => Ok (GPS_RTK_DATA :: ID) , TERRAIN_CHECK_DATA :: NAME => Ok (TERRAIN_CHECK_DATA :: ID) , MANUAL_SETPOINT_DATA :: NAME => Ok (MANUAL_SETPOINT_DATA :: ID) , SCALED_IMU3_DATA :: NAME => Ok (SCALED_IMU3_DATA :: ID) , MAG_CAL_REPORT_DATA :: NAME => Ok (MAG_CAL_REPORT_DATA :: ID) , ADSB_VEHICLE_DATA :: NAME => Ok (ADSB_VEHICLE_DATA :: ID) , DEBUG_VECT_DATA :: NAME => Ok (DEBUG_VECT_DATA :: ID) , VIBRATION_DATA :: NAME => Ok (VIBRATION_DATA :: ID) , PLAY_TUNE_DATA :: NAME => Ok (PLAY_TUNE_DATA :: ID) , CAMERA_FOV_STATUS_DATA :: NAME => Ok (CAMERA_FOV_STATUS_DATA :: ID) , HIL_STATE_QUATERNION_DATA :: NAME => Ok (HIL_STATE_QUATERNION_DATA :: ID) , RAW_RPM_DATA :: NAME => Ok (RAW_RPM_DATA :: ID) , SYS_STATUS_DATA :: NAME => Ok (SYS_STATUS_DATA :: ID) , MISSION_ACK_DATA :: NAME => Ok (MISSION_ACK_DATA :: ID) , LOG_REQUEST_DATA_DATA :: NAME => Ok (LOG_REQUEST_DATA_DATA :: ID) , UTM_GLOBAL_POSITION_DATA :: NAME => Ok (UTM_GLOBAL_POSITION_DATA :: ID) , OPEN_DRONE_ID_SELF_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_SELF_ID_DATA :: ID) , OPEN_DRONE_ID_ARM_STATUS_DATA :: NAME => Ok (OPEN_DRONE_ID_ARM_STATUS_DATA :: ID) , HIL_OPTICAL_FLOW_DATA :: NAME => Ok (HIL_OPTICAL_FLOW_DATA :: ID) , LOG_DATA_DATA :: NAME => Ok (LOG_DATA_DATA :: ID) , BUTTON_CHANGE_DATA :: NAME => Ok (BUTTON_CHANGE_DATA :: ID) , V2_EXTENSION_DATA :: NAME => Ok (V2_EXTENSION_DATA :: ID) , FLIGHT_INFORMATION_DATA :: NAME => Ok (FLIGHT_INFORMATION_DATA :: ID) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID) , EVENT_DATA :: NAME => Ok (EVENT_DATA :: ID) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: NAME => Ok (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID) , AUTH_KEY_DATA :: NAME => Ok (AUTH_KEY_DATA :: ID) , HYGROMETER_SENSOR_DATA :: NAME => Ok (HYGROMETER_SENSOR_DATA :: ID) , GPS_STATUS_DATA :: NAME => Ok (GPS_STATUS_DATA :: ID) , ONBOARD_COMPUTER_STATUS_DATA :: NAME => Ok (ONBOARD_COMPUTER_STATUS_DATA :: ID) , NAMED_VALUE_INT_DATA :: NAME => Ok (NAMED_VALUE_INT_DATA :: ID) , ACTUATOR_OUTPUT_STATUS_DATA :: NAME => Ok (ACTUATOR_OUTPUT_STATUS_DATA :: ID) , PLAY_TUNE_V2_DATA :: NAME => Ok (PLAY_TUNE_V2_DATA :: ID) , SET_ATTITUDE_TARGET_DATA :: NAME => Ok (SET_ATTITUDE_TARGET_DATA :: ID) , CANFD_FRAME_DATA :: NAME => Ok (CANFD_FRAME_DATA :: ID) , CAMERA_CAPTURE_STATUS_DATA :: NAME => Ok (CAMERA_CAPTURE_STATUS_DATA :: ID) , REQUEST_EVENT_DATA :: NAME => Ok (REQUEST_EVENT_DATA :: ID) , VFR_HUD_DATA :: NAME => Ok (VFR_HUD_DATA :: ID) , LOCAL_POSITION_NED_DATA :: NAME => Ok (LOCAL_POSITION_NED_DATA :: ID) , AUTOPILOT_VERSION_DATA :: NAME => Ok (AUTOPILOT_VERSION_DATA :: ID) , VISION_POSITION_ESTIMATE_DATA :: NAME => Ok (VISION_POSITION_ESTIMATE_DATA :: ID) , UAVCAN_NODE_INFO_DATA :: NAME => Ok (UAVCAN_NODE_INFO_DATA :: ID) , TERRAIN_REQUEST_DATA :: NAME => Ok (TERRAIN_REQUEST_DATA :: ID) , PING_DATA :: NAME => Ok (PING_DATA :: ID) , MISSION_SET_CURRENT_DATA :: NAME => Ok (MISSION_SET_CURRENT_DATA :: ID) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: NAME => Ok (SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID) , HIGH_LATENCY_DATA :: NAME => Ok (HIGH_LATENCY_DATA :: ID) , _ => { Err ("Invalid message name.") } } } fn default_message_from_id (id : u32) -> Result < Self , & 'static str > { match id { MISSION_CLEAR_ALL_DATA :: ID => Ok (Self :: MISSION_CLEAR_ALL (MISSION_CLEAR_ALL_DATA :: default ())) , COMMAND_INT_DATA :: ID => Ok (Self :: COMMAND_INT (COMMAND_INT_DATA :: default ())) , COLLISION_DATA :: ID => Ok (Self :: COLLISION (COLLISION_DATA :: default ())) , RC_CHANNELS_RAW_DATA :: ID => Ok (Self :: RC_CHANNELS_RAW (RC_CHANNELS_RAW_DATA :: default ())) , OPTICAL_FLOW_RAD_DATA :: ID => Ok (Self :: OPTICAL_FLOW_RAD (OPTICAL_FLOW_RAD_DATA :: default ())) , LOGGING_ACK_DATA :: ID => Ok (Self :: LOGGING_ACK (LOGGING_ACK_DATA :: default ())) , WIFI_CONFIG_AP_DATA :: ID => Ok (Self :: WIFI_CONFIG_AP (WIFI_CONFIG_AP_DATA :: default ())) , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => Ok (Self :: MISSION_WRITE_PARTIAL_LIST (MISSION_WRITE_PARTIAL_LIST_DATA :: default ())) , MANUAL_CONTROL_DATA :: ID => Ok (Self :: MANUAL_CONTROL (MANUAL_CONTROL_DATA :: default ())) , SMART_BATTERY_INFO_DATA :: ID => Ok (Self :: SMART_BATTERY_INFO (SMART_BATTERY_INFO_DATA :: default ())) , COMMAND_CANCEL_DATA :: ID => Ok (Self :: COMMAND_CANCEL (COMMAND_CANCEL_DATA :: default ())) , LOG_ENTRY_DATA :: ID => Ok (Self :: LOG_ENTRY (LOG_ENTRY_DATA :: default ())) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_AUTHENTICATION (OPEN_DRONE_ID_AUTHENTICATION_DATA :: default ())) , SCALED_PRESSURE2_DATA :: ID => Ok (Self :: SCALED_PRESSURE2 (SCALED_PRESSURE2_DATA :: default ())) , CAMERA_TRIGGER_DATA :: ID => Ok (Self :: CAMERA_TRIGGER (CAMERA_TRIGGER_DATA :: default ())) , SET_HOME_POSITION_DATA :: ID => Ok (Self :: SET_HOME_POSITION (SET_HOME_POSITION_DATA :: default ())) , RAW_IMU_DATA :: ID => Ok (Self :: RAW_IMU (RAW_IMU_DATA :: default ())) , SAFETY_SET_ALLOWED_AREA_DATA :: ID => Ok (Self :: SAFETY_SET_ALLOWED_AREA (SAFETY_SET_ALLOWED_AREA_DATA :: default ())) , COMPONENT_METADATA_DATA :: ID => Ok (Self :: COMPONENT_METADATA (COMPONENT_METADATA_DATA :: default ())) , GIMBAL_MANAGER_INFORMATION_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_INFORMATION (GIMBAL_MANAGER_INFORMATION_DATA :: default ())) , ACTUATOR_CONTROL_TARGET_DATA :: ID => Ok (Self :: ACTUATOR_CONTROL_TARGET (ACTUATOR_CONTROL_TARGET_DATA :: default ())) , MISSION_CURRENT_DATA :: ID => Ok (Self :: MISSION_CURRENT (MISSION_CURRENT_DATA :: default ())) , LOG_REQUEST_END_DATA :: ID => Ok (Self :: LOG_REQUEST_END (LOG_REQUEST_END_DATA :: default ())) , FILE_TRANSFER_PROTOCOL_DATA :: ID => Ok (Self :: FILE_TRANSFER_PROTOCOL (FILE_TRANSFER_PROTOCOL_DATA :: default ())) , BATTERY_STATUS_DATA :: ID => Ok (Self :: BATTERY_STATUS (BATTERY_STATUS_DATA :: default ())) , LANDING_TARGET_DATA :: ID => Ok (Self :: LANDING_TARGET (LANDING_TARGET_DATA :: default ())) , MESSAGE_INTERVAL_DATA :: ID => Ok (Self :: MESSAGE_INTERVAL (MESSAGE_INTERVAL_DATA :: default ())) , WHEEL_DISTANCE_DATA :: ID => Ok (Self :: WHEEL_DISTANCE (WHEEL_DISTANCE_DATA :: default ())) , MISSION_COUNT_DATA :: ID => Ok (Self :: MISSION_COUNT (MISSION_COUNT_DATA :: default ())) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => Ok (Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: default ())) , CHANGE_OPERATOR_CONTROL_DATA :: ID => Ok (Self :: CHANGE_OPERATOR_CONTROL (CHANGE_OPERATOR_CONTROL_DATA :: default ())) , HIL_STATE_DATA :: ID => Ok (Self :: HIL_STATE (HIL_STATE_DATA :: default ())) , HIL_SENSOR_DATA :: ID => Ok (Self :: HIL_SENSOR (HIL_SENSOR_DATA :: default ())) , PARAM_EXT_REQUEST_READ_DATA :: ID => Ok (Self :: PARAM_EXT_REQUEST_READ (PARAM_EXT_REQUEST_READ_DATA :: default ())) , SCALED_PRESSURE_DATA :: ID => Ok (Self :: SCALED_PRESSURE (SCALED_PRESSURE_DATA :: default ())) , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => Ok (Self :: SET_GPS_GLOBAL_ORIGIN (SET_GPS_GLOBAL_ORIGIN_DATA :: default ())) , ENCAPSULATED_DATA_DATA :: ID => Ok (Self :: ENCAPSULATED_DATA (ENCAPSULATED_DATA_DATA :: default ())) , COMPONENT_INFORMATION_DATA :: ID => Ok (Self :: COMPONENT_INFORMATION (COMPONENT_INFORMATION_DATA :: default ())) , VIDEO_STREAM_STATUS_DATA :: ID => Ok (Self :: VIDEO_STREAM_STATUS (VIDEO_STREAM_STATUS_DATA :: default ())) , GIMBAL_DEVICE_INFORMATION_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_INFORMATION (GIMBAL_DEVICE_INFORMATION_DATA :: default ())) , HIL_GPS_DATA :: ID => Ok (Self :: HIL_GPS (HIL_GPS_DATA :: default ())) , GLOBAL_POSITION_INT_COV_DATA :: ID => Ok (Self :: GLOBAL_POSITION_INT_COV (GLOBAL_POSITION_INT_COV_DATA :: default ())) , TERRAIN_REPORT_DATA :: ID => Ok (Self :: TERRAIN_REPORT (TERRAIN_REPORT_DATA :: default ())) , AIS_VESSEL_DATA :: ID => Ok (Self :: AIS_VESSEL (AIS_VESSEL_DATA :: default ())) , ODOMETRY_DATA :: ID => Ok (Self :: ODOMETRY (ODOMETRY_DATA :: default ())) , SUPPORTED_TUNES_DATA :: ID => Ok (Self :: SUPPORTED_TUNES (SUPPORTED_TUNES_DATA :: default ())) , CONTROL_SYSTEM_STATE_DATA :: ID => Ok (Self :: CONTROL_SYSTEM_STATE (CONTROL_SYSTEM_STATE_DATA :: default ())) , OPEN_DRONE_ID_SYSTEM_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SYSTEM (OPEN_DRONE_ID_SYSTEM_DATA :: default ())) , ATT_POS_MOCAP_DATA :: ID => Ok (Self :: ATT_POS_MOCAP (ATT_POS_MOCAP_DATA :: default ())) , LOGGING_DATA_DATA :: ID => Ok (Self :: LOGGING_DATA (LOGGING_DATA_DATA :: default ())) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_MESSAGE_PACK (OPEN_DRONE_ID_MESSAGE_PACK_DATA :: default ())) , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => Ok (Self :: MISSION_REQUEST_PARTIAL_LIST (MISSION_REQUEST_PARTIAL_LIST_DATA :: default ())) , SETUP_SIGNING_DATA :: ID => Ok (Self :: SETUP_SIGNING (SETUP_SIGNING_DATA :: default ())) , PARAM_EXT_ACK_DATA :: ID => Ok (Self :: PARAM_EXT_ACK (PARAM_EXT_ACK_DATA :: default ())) , RADIO_STATUS_DATA :: ID => Ok (Self :: RADIO_STATUS (RADIO_STATUS_DATA :: default ())) , RESPONSE_EVENT_ERROR_DATA :: ID => Ok (Self :: RESPONSE_EVENT_ERROR (RESPONSE_EVENT_ERROR_DATA :: default ())) , SIM_STATE_DATA :: ID => Ok (Self :: SIM_STATE (SIM_STATE_DATA :: default ())) , FENCE_STATUS_DATA :: ID => Ok (Self :: FENCE_STATUS (FENCE_STATUS_DATA :: default ())) , RESOURCE_REQUEST_DATA :: ID => Ok (Self :: RESOURCE_REQUEST (RESOURCE_REQUEST_DATA :: default ())) , TERRAIN_DATA_DATA :: ID => Ok (Self :: TERRAIN_DATA (TERRAIN_DATA_DATA :: default ())) , VICON_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: VICON_POSITION_ESTIMATE (VICON_POSITION_ESTIMATE_DATA :: default ())) , EXTENDED_SYS_STATE_DATA :: ID => Ok (Self :: EXTENDED_SYS_STATE (EXTENDED_SYS_STATE_DATA :: default ())) , HEARTBEAT_DATA :: ID => Ok (Self :: HEARTBEAT (HEARTBEAT_DATA :: default ())) , VIDEO_STREAM_INFORMATION_DATA :: ID => Ok (Self :: VIDEO_STREAM_INFORMATION (VIDEO_STREAM_INFORMATION_DATA :: default ())) , MISSION_REQUEST_INT_DATA :: ID => Ok (Self :: MISSION_REQUEST_INT (MISSION_REQUEST_INT_DATA :: default ())) , CAN_FILTER_MODIFY_DATA :: ID => Ok (Self :: CAN_FILTER_MODIFY (CAN_FILTER_MODIFY_DATA :: default ())) , MISSION_ITEM_INT_DATA :: ID => Ok (Self :: MISSION_ITEM_INT (MISSION_ITEM_INT_DATA :: default ())) , HIGHRES_IMU_DATA :: ID => Ok (Self :: HIGHRES_IMU (HIGHRES_IMU_DATA :: default ())) , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => Ok (Self :: SET_ACTUATOR_CONTROL_TARGET (SET_ACTUATOR_CONTROL_TARGET_DATA :: default ())) , DEBUG_DATA :: ID => Ok (Self :: DEBUG (DEBUG_DATA :: default ())) , CAMERA_SETTINGS_DATA :: ID => Ok (Self :: CAMERA_SETTINGS (CAMERA_SETTINGS_DATA :: default ())) , MISSION_REQUEST_LIST_DATA :: ID => Ok (Self :: MISSION_REQUEST_LIST (MISSION_REQUEST_LIST_DATA :: default ())) , POSITION_TARGET_LOCAL_NED_DATA :: ID => Ok (Self :: POSITION_TARGET_LOCAL_NED (POSITION_TARGET_LOCAL_NED_DATA :: default ())) , SCALED_IMU_DATA :: ID => Ok (Self :: SCALED_IMU (SCALED_IMU_DATA :: default ())) , WIND_COV_DATA :: ID => Ok (Self :: WIND_COV (WIND_COV_DATA :: default ())) , MISSION_REQUEST_DATA :: ID => Ok (Self :: MISSION_REQUEST (MISSION_REQUEST_DATA :: default ())) , SERIAL_CONTROL_DATA :: ID => Ok (Self :: SERIAL_CONTROL (SERIAL_CONTROL_DATA :: default ())) , PARAM_REQUEST_READ_DATA :: ID => Ok (Self :: PARAM_REQUEST_READ (PARAM_REQUEST_READ_DATA :: default ())) , GPS2_RTK_DATA :: ID => Ok (Self :: GPS2_RTK (GPS2_RTK_DATA :: default ())) , COMMAND_ACK_DATA :: ID => Ok (Self :: COMMAND_ACK (COMMAND_ACK_DATA :: default ())) , POWER_STATUS_DATA :: ID => Ok (Self :: POWER_STATUS (POWER_STATUS_DATA :: default ())) , GIMBAL_MANAGER_STATUS_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_STATUS (GIMBAL_MANAGER_STATUS_DATA :: default ())) , GLOBAL_POSITION_INT_DATA :: ID => Ok (Self :: GLOBAL_POSITION_INT (GLOBAL_POSITION_INT_DATA :: default ())) , PARAM_SET_DATA :: ID => Ok (Self :: PARAM_SET (PARAM_SET_DATA :: default ())) , OPTICAL_FLOW_DATA :: ID => Ok (Self :: OPTICAL_FLOW (OPTICAL_FLOW_DATA :: default ())) , RC_CHANNELS_SCALED_DATA :: ID => Ok (Self :: RC_CHANNELS_SCALED (RC_CHANNELS_SCALED_DATA :: default ())) , GPS_INJECT_DATA_DATA :: ID => Ok (Self :: GPS_INJECT_DATA (GPS_INJECT_DATA_DATA :: default ())) , PARAM_VALUE_DATA :: ID => Ok (Self :: PARAM_VALUE (PARAM_VALUE_DATA :: default ())) , RC_CHANNELS_DATA :: ID => Ok (Self :: RC_CHANNELS (RC_CHANNELS_DATA :: default ())) , ESTIMATOR_STATUS_DATA :: ID => Ok (Self :: ESTIMATOR_STATUS (ESTIMATOR_STATUS_DATA :: default ())) , TIMESYNC_DATA :: ID => Ok (Self :: TIMESYNC (TIMESYNC_DATA :: default ())) , SCALED_PRESSURE3_DATA :: ID => Ok (Self :: SCALED_PRESSURE3 (SCALED_PRESSURE3_DATA :: default ())) , DATA_STREAM_DATA :: ID => Ok (Self :: DATA_STREAM (DATA_STREAM_DATA :: default ())) , HOME_POSITION_DATA :: ID => Ok (Self :: HOME_POSITION (HOME_POSITION_DATA :: default ())) , MEMORY_VECT_DATA :: ID => Ok (Self :: MEMORY_VECT (MEMORY_VECT_DATA :: default ())) , NAMED_VALUE_FLOAT_DATA :: ID => Ok (Self :: NAMED_VALUE_FLOAT (NAMED_VALUE_FLOAT_DATA :: default ())) , NAV_CONTROLLER_OUTPUT_DATA :: ID => Ok (Self :: NAV_CONTROLLER_OUTPUT (NAV_CONTROLLER_OUTPUT_DATA :: default ())) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => Ok (Self :: CHANGE_OPERATOR_CONTROL_ACK (CHANGE_OPERATOR_CONTROL_ACK_DATA :: default ())) , STATUSTEXT_DATA :: ID => Ok (Self :: STATUSTEXT (STATUSTEXT_DATA :: default ())) , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => Ok (Self :: CAMERA_TRACKING_GEO_STATUS (CAMERA_TRACKING_GEO_STATUS_DATA :: default ())) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: default ())) , UAVCAN_NODE_STATUS_DATA :: ID => Ok (Self :: UAVCAN_NODE_STATUS (UAVCAN_NODE_STATUS_DATA :: default ())) , GPS_GLOBAL_ORIGIN_DATA :: ID => Ok (Self :: GPS_GLOBAL_ORIGIN (GPS_GLOBAL_ORIGIN_DATA :: default ())) , EFI_STATUS_DATA :: ID => Ok (Self :: EFI_STATUS (EFI_STATUS_DATA :: default ())) , ATTITUDE_QUATERNION_DATA :: ID => Ok (Self :: ATTITUDE_QUATERNION (ATTITUDE_QUATERNION_DATA :: default ())) , CAMERA_IMAGE_CAPTURED_DATA :: ID => Ok (Self :: CAMERA_IMAGE_CAPTURED (CAMERA_IMAGE_CAPTURED_DATA :: default ())) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => Ok (Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: default ())) , CELLULAR_STATUS_DATA :: ID => Ok (Self :: CELLULAR_STATUS (CELLULAR_STATUS_DATA :: default ())) , ORBIT_EXECUTION_STATUS_DATA :: ID => Ok (Self :: ORBIT_EXECUTION_STATUS (ORBIT_EXECUTION_STATUS_DATA :: default ())) , TIME_ESTIMATE_TO_TARGET_DATA :: ID => Ok (Self :: TIME_ESTIMATE_TO_TARGET (TIME_ESTIMATE_TO_TARGET_DATA :: default ())) , RAW_PRESSURE_DATA :: ID => Ok (Self :: RAW_PRESSURE (RAW_PRESSURE_DATA :: default ())) , WINCH_STATUS_DATA :: ID => Ok (Self :: WINCH_STATUS (WINCH_STATUS_DATA :: default ())) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_OPERATOR_ID (OPEN_DRONE_ID_OPERATOR_ID_DATA :: default ())) , ATTITUDE_TARGET_DATA :: ID => Ok (Self :: ATTITUDE_TARGET (ATTITUDE_TARGET_DATA :: default ())) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: default ())) , ISBD_LINK_STATUS_DATA :: ID => Ok (Self :: ISBD_LINK_STATUS (ISBD_LINK_STATUS_DATA :: default ())) , TUNNEL_DATA :: ID => Ok (Self :: TUNNEL (TUNNEL_DATA :: default ())) , OBSTACLE_DISTANCE_DATA :: ID => Ok (Self :: OBSTACLE_DISTANCE (OBSTACLE_DISTANCE_DATA :: default ())) , SAFETY_ALLOWED_AREA_DATA :: ID => Ok (Self :: SAFETY_ALLOWED_AREA (SAFETY_ALLOWED_AREA_DATA :: default ())) , DEBUG_FLOAT_ARRAY_DATA :: ID => Ok (Self :: DEBUG_FLOAT_ARRAY (DEBUG_FLOAT_ARRAY_DATA :: default ())) , SERVO_OUTPUT_RAW_DATA :: ID => Ok (Self :: SERVO_OUTPUT_RAW (SERVO_OUTPUT_RAW_DATA :: default ())) , DISTANCE_SENSOR_DATA :: ID => Ok (Self :: DISTANCE_SENSOR (DISTANCE_SENSOR_DATA :: default ())) , PARAM_MAP_RC_DATA :: ID => Ok (Self :: PARAM_MAP_RC (PARAM_MAP_RC_DATA :: default ())) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => Ok (Self :: TRAJECTORY_REPRESENTATION_BEZIER (TRAJECTORY_REPRESENTATION_BEZIER_DATA :: default ())) , GENERATOR_STATUS_DATA :: ID => Ok (Self :: GENERATOR_STATUS (GENERATOR_STATUS_DATA :: default ())) , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => Ok (Self :: SET_POSITION_TARGET_LOCAL_NED (SET_POSITION_TARGET_LOCAL_NED_DATA :: default ())) , CAN_FRAME_DATA :: ID => Ok (Self :: CAN_FRAME (CAN_FRAME_DATA :: default ())) , SCALED_IMU2_DATA :: ID => Ok (Self :: SCALED_IMU2 (SCALED_IMU2_DATA :: default ())) , OPEN_DRONE_ID_LOCATION_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_LOCATION (OPEN_DRONE_ID_LOCATION_DATA :: default ())) , COMMAND_LONG_DATA :: ID => Ok (Self :: COMMAND_LONG (COMMAND_LONG_DATA :: default ())) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: default ())) , POSITION_TARGET_GLOBAL_INT_DATA :: ID => Ok (Self :: POSITION_TARGET_GLOBAL_INT (POSITION_TARGET_GLOBAL_INT_DATA :: default ())) , HIL_CONTROLS_DATA :: ID => Ok (Self :: HIL_CONTROLS (HIL_CONTROLS_DATA :: default ())) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => Ok (Self :: CAMERA_TRACKING_IMAGE_STATUS (CAMERA_TRACKING_IMAGE_STATUS_DATA :: default ())) , ATTITUDE_QUATERNION_COV_DATA :: ID => Ok (Self :: ATTITUDE_QUATERNION_COV (ATTITUDE_QUATERNION_COV_DATA :: default ())) , REQUEST_DATA_STREAM_DATA :: ID => Ok (Self :: REQUEST_DATA_STREAM (REQUEST_DATA_STREAM_DATA :: default ())) , LOG_ERASE_DATA :: ID => Ok (Self :: LOG_ERASE (LOG_ERASE_DATA :: default ())) , GPS_RTCM_DATA_DATA :: ID => Ok (Self :: GPS_RTCM_DATA (GPS_RTCM_DATA_DATA :: default ())) , MOUNT_ORIENTATION_DATA :: ID => Ok (Self :: MOUNT_ORIENTATION (MOUNT_ORIENTATION_DATA :: default ())) , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_BASIC_ID (OPEN_DRONE_ID_BASIC_ID_DATA :: default ())) , HIL_RC_INPUTS_RAW_DATA :: ID => Ok (Self :: HIL_RC_INPUTS_RAW (HIL_RC_INPUTS_RAW_DATA :: default ())) , MISSION_ITEM_REACHED_DATA :: ID => Ok (Self :: MISSION_ITEM_REACHED (MISSION_ITEM_REACHED_DATA :: default ())) , HIL_ACTUATOR_CONTROLS_DATA :: ID => Ok (Self :: HIL_ACTUATOR_CONTROLS (HIL_ACTUATOR_CONTROLS_DATA :: default ())) , SET_MODE_DATA :: ID => Ok (Self :: SET_MODE (SET_MODE_DATA :: default ())) , LOG_REQUEST_LIST_DATA :: ID => Ok (Self :: LOG_REQUEST_LIST (LOG_REQUEST_LIST_DATA :: default ())) , HIGH_LATENCY2_DATA :: ID => Ok (Self :: HIGH_LATENCY2 (HIGH_LATENCY2_DATA :: default ())) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_PITCHYAW (GIMBAL_MANAGER_SET_PITCHYAW_DATA :: default ())) , PARAM_EXT_REQUEST_LIST_DATA :: ID => Ok (Self :: PARAM_EXT_REQUEST_LIST (PARAM_EXT_REQUEST_LIST_DATA :: default ())) , SYSTEM_TIME_DATA :: ID => Ok (Self :: SYSTEM_TIME (SYSTEM_TIME_DATA :: default ())) , MISSION_ITEM_DATA :: ID => Ok (Self :: MISSION_ITEM (MISSION_ITEM_DATA :: default ())) , STORAGE_INFORMATION_DATA :: ID => Ok (Self :: STORAGE_INFORMATION (STORAGE_INFORMATION_DATA :: default ())) , GPS_RAW_INT_DATA :: ID => Ok (Self :: GPS_RAW_INT (GPS_RAW_INT_DATA :: default ())) , LOCAL_POSITION_NED_COV_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED_COV (LOCAL_POSITION_NED_COV_DATA :: default ())) , RC_CHANNELS_OVERRIDE_DATA :: ID => Ok (Self :: RC_CHANNELS_OVERRIDE (RC_CHANNELS_OVERRIDE_DATA :: default ())) , PROTOCOL_VERSION_DATA :: ID => Ok (Self :: PROTOCOL_VERSION (PROTOCOL_VERSION_DATA :: default ())) , PARAM_EXT_VALUE_DATA :: ID => Ok (Self :: PARAM_EXT_VALUE (PARAM_EXT_VALUE_DATA :: default ())) , CURRENT_EVENT_SEQUENCE_DATA :: ID => Ok (Self :: CURRENT_EVENT_SEQUENCE (CURRENT_EVENT_SEQUENCE_DATA :: default ())) , PARAM_EXT_SET_DATA :: ID => Ok (Self :: PARAM_EXT_SET (PARAM_EXT_SET_DATA :: default ())) , ESC_INFO_DATA :: ID => Ok (Self :: ESC_INFO (ESC_INFO_DATA :: default ())) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_SET_ATTITUDE (GIMBAL_DEVICE_SET_ATTITUDE_DATA :: default ())) , VISION_SPEED_ESTIMATE_DATA :: ID => Ok (Self :: VISION_SPEED_ESTIMATE (VISION_SPEED_ESTIMATE_DATA :: default ())) , LOGGING_DATA_ACKED_DATA :: ID => Ok (Self :: LOGGING_DATA_ACKED (LOGGING_DATA_ACKED_DATA :: default ())) , ESC_STATUS_DATA :: ID => Ok (Self :: ESC_STATUS (ESC_STATUS_DATA :: default ())) , PARAM_REQUEST_LIST_DATA :: ID => Ok (Self :: PARAM_REQUEST_LIST (PARAM_REQUEST_LIST_DATA :: default ())) , CAMERA_INFORMATION_DATA :: ID => Ok (Self :: CAMERA_INFORMATION (CAMERA_INFORMATION_DATA :: default ())) , ATTITUDE_DATA :: ID => Ok (Self :: ATTITUDE (ATTITUDE_DATA :: default ())) , CELLULAR_CONFIG_DATA :: ID => Ok (Self :: CELLULAR_CONFIG (CELLULAR_CONFIG_DATA :: default ())) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: GLOBAL_VISION_POSITION_ESTIMATE (GLOBAL_VISION_POSITION_ESTIMATE_DATA :: default ())) , ALTITUDE_DATA :: ID => Ok (Self :: ALTITUDE (ALTITUDE_DATA :: default ())) , GPS2_RAW_DATA :: ID => Ok (Self :: GPS2_RAW (GPS2_RAW_DATA :: default ())) , FOLLOW_TARGET_DATA :: ID => Ok (Self :: FOLLOW_TARGET (FOLLOW_TARGET_DATA :: default ())) , LINK_NODE_STATUS_DATA :: ID => Ok (Self :: LINK_NODE_STATUS (LINK_NODE_STATUS_DATA :: default ())) , GPS_INPUT_DATA :: ID => Ok (Self :: GPS_INPUT (GPS_INPUT_DATA :: default ())) , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => Ok (Self :: DATA_TRANSMISSION_HANDSHAKE (DATA_TRANSMISSION_HANDSHAKE_DATA :: default ())) , GPS_RTK_DATA :: ID => Ok (Self :: GPS_RTK (GPS_RTK_DATA :: default ())) , TERRAIN_CHECK_DATA :: ID => Ok (Self :: TERRAIN_CHECK (TERRAIN_CHECK_DATA :: default ())) , MANUAL_SETPOINT_DATA :: ID => Ok (Self :: MANUAL_SETPOINT (MANUAL_SETPOINT_DATA :: default ())) , SCALED_IMU3_DATA :: ID => Ok (Self :: SCALED_IMU3 (SCALED_IMU3_DATA :: default ())) , MAG_CAL_REPORT_DATA :: ID => Ok (Self :: MAG_CAL_REPORT (MAG_CAL_REPORT_DATA :: default ())) , ADSB_VEHICLE_DATA :: ID => Ok (Self :: ADSB_VEHICLE (ADSB_VEHICLE_DATA :: default ())) , DEBUG_VECT_DATA :: ID => Ok (Self :: DEBUG_VECT (DEBUG_VECT_DATA :: default ())) , VIBRATION_DATA :: ID => Ok (Self :: VIBRATION (VIBRATION_DATA :: default ())) , PLAY_TUNE_DATA :: ID => Ok (Self :: PLAY_TUNE (PLAY_TUNE_DATA :: default ())) , CAMERA_FOV_STATUS_DATA :: ID => Ok (Self :: CAMERA_FOV_STATUS (CAMERA_FOV_STATUS_DATA :: default ())) , HIL_STATE_QUATERNION_DATA :: ID => Ok (Self :: HIL_STATE_QUATERNION (HIL_STATE_QUATERNION_DATA :: default ())) , RAW_RPM_DATA :: ID => Ok (Self :: RAW_RPM (RAW_RPM_DATA :: default ())) , SYS_STATUS_DATA :: ID => Ok (Self :: SYS_STATUS (SYS_STATUS_DATA :: default ())) , MISSION_ACK_DATA :: ID => Ok (Self :: MISSION_ACK (MISSION_ACK_DATA :: default ())) , LOG_REQUEST_DATA_DATA :: ID => Ok (Self :: LOG_REQUEST_DATA (LOG_REQUEST_DATA_DATA :: default ())) , UTM_GLOBAL_POSITION_DATA :: ID => Ok (Self :: UTM_GLOBAL_POSITION (UTM_GLOBAL_POSITION_DATA :: default ())) , OPEN_DRONE_ID_SELF_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SELF_ID (OPEN_DRONE_ID_SELF_ID_DATA :: default ())) , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_ARM_STATUS (OPEN_DRONE_ID_ARM_STATUS_DATA :: default ())) , HIL_OPTICAL_FLOW_DATA :: ID => Ok (Self :: HIL_OPTICAL_FLOW (HIL_OPTICAL_FLOW_DATA :: default ())) , LOG_DATA_DATA :: ID => Ok (Self :: LOG_DATA (LOG_DATA_DATA :: default ())) , BUTTON_CHANGE_DATA :: ID => Ok (Self :: BUTTON_CHANGE (BUTTON_CHANGE_DATA :: default ())) , V2_EXTENSION_DATA :: ID => Ok (Self :: V2_EXTENSION (V2_EXTENSION_DATA :: default ())) , FLIGHT_INFORMATION_DATA :: ID => Ok (Self :: FLIGHT_INFORMATION (FLIGHT_INFORMATION_DATA :: default ())) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_ATTITUDE (GIMBAL_MANAGER_SET_ATTITUDE_DATA :: default ())) , EVENT_DATA :: ID => Ok (Self :: EVENT (EVENT_DATA :: default ())) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: default ())) , AUTH_KEY_DATA :: ID => Ok (Self :: AUTH_KEY (AUTH_KEY_DATA :: default ())) , HYGROMETER_SENSOR_DATA :: ID => Ok (Self :: HYGROMETER_SENSOR (HYGROMETER_SENSOR_DATA :: default ())) , GPS_STATUS_DATA :: ID => Ok (Self :: GPS_STATUS (GPS_STATUS_DATA :: default ())) , ONBOARD_COMPUTER_STATUS_DATA :: ID => Ok (Self :: ONBOARD_COMPUTER_STATUS (ONBOARD_COMPUTER_STATUS_DATA :: default ())) , NAMED_VALUE_INT_DATA :: ID => Ok (Self :: NAMED_VALUE_INT (NAMED_VALUE_INT_DATA :: default ())) , ACTUATOR_OUTPUT_STATUS_DATA :: ID => Ok (Self :: ACTUATOR_OUTPUT_STATUS (ACTUATOR_OUTPUT_STATUS_DATA :: default ())) , PLAY_TUNE_V2_DATA :: ID => Ok (Self :: PLAY_TUNE_V2 (PLAY_TUNE_V2_DATA :: default ())) , SET_ATTITUDE_TARGET_DATA :: ID => Ok (Self :: SET_ATTITUDE_TARGET (SET_ATTITUDE_TARGET_DATA :: default ())) , CANFD_FRAME_DATA :: ID => Ok (Self :: CANFD_FRAME (CANFD_FRAME_DATA :: default ())) , CAMERA_CAPTURE_STATUS_DATA :: ID => Ok (Self :: CAMERA_CAPTURE_STATUS (CAMERA_CAPTURE_STATUS_DATA :: default ())) , REQUEST_EVENT_DATA :: ID => Ok (Self :: REQUEST_EVENT (REQUEST_EVENT_DATA :: default ())) , VFR_HUD_DATA :: ID => Ok (Self :: VFR_HUD (VFR_HUD_DATA :: default ())) , LOCAL_POSITION_NED_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED (LOCAL_POSITION_NED_DATA :: default ())) , AUTOPILOT_VERSION_DATA :: ID => Ok (Self :: AUTOPILOT_VERSION (AUTOPILOT_VERSION_DATA :: default ())) , VISION_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: VISION_POSITION_ESTIMATE (VISION_POSITION_ESTIMATE_DATA :: default ())) , UAVCAN_NODE_INFO_DATA :: ID => Ok (Self :: UAVCAN_NODE_INFO (UAVCAN_NODE_INFO_DATA :: default ())) , TERRAIN_REQUEST_DATA :: ID => Ok (Self :: TERRAIN_REQUEST (TERRAIN_REQUEST_DATA :: default ())) , PING_DATA :: ID => Ok (Self :: PING (PING_DATA :: default ())) , MISSION_SET_CURRENT_DATA :: ID => Ok (Self :: MISSION_SET_CURRENT (MISSION_SET_CURRENT_DATA :: default ())) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => Ok (Self :: SET_POSITION_TARGET_GLOBAL_INT (SET_POSITION_TARGET_GLOBAL_INT_DATA :: default ())) , HIGH_LATENCY_DATA :: ID => Ok (Self :: HIGH_LATENCY (HIGH_LATENCY_DATA :: default ())) , _ => { Err ("Invalid message id.") } } } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { match self { Self :: MISSION_CLEAR_ALL (body) => body . ser (version , bytes) , Self :: COMMAND_INT (body) => body . ser (version , bytes) , Self :: COLLISION (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_RAW (body) => body . ser (version , bytes) , Self :: OPTICAL_FLOW_RAD (body) => body . ser (version , bytes) , Self :: LOGGING_ACK (body) => body . ser (version , bytes) , Self :: WIFI_CONFIG_AP (body) => body . ser (version , bytes) , Self :: MISSION_WRITE_PARTIAL_LIST (body) => body . ser (version , bytes) , Self :: MANUAL_CONTROL (body) => body . ser (version , bytes) , Self :: SMART_BATTERY_INFO (body) => body . ser (version , bytes) , Self :: COMMAND_CANCEL (body) => body . ser (version , bytes) , Self :: LOG_ENTRY (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_AUTHENTICATION (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE2 (body) => body . ser (version , bytes) , Self :: CAMERA_TRIGGER (body) => body . ser (version , bytes) , Self :: SET_HOME_POSITION (body) => body . ser (version , bytes) , Self :: RAW_IMU (body) => body . ser (version , bytes) , Self :: SAFETY_SET_ALLOWED_AREA (body) => body . ser (version , bytes) , Self :: COMPONENT_METADATA (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_INFORMATION (body) => body . ser (version , bytes) , Self :: ACTUATOR_CONTROL_TARGET (body) => body . ser (version , bytes) , Self :: MISSION_CURRENT (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_END (body) => body . ser (version , bytes) , Self :: FILE_TRANSFER_PROTOCOL (body) => body . ser (version , bytes) , Self :: BATTERY_STATUS (body) => body . ser (version , bytes) , Self :: LANDING_TARGET (body) => body . ser (version , bytes) , Self :: MESSAGE_INTERVAL (body) => body . ser (version , bytes) , Self :: WHEEL_DISTANCE (body) => body . ser (version , bytes) , Self :: MISSION_COUNT (body) => body . ser (version , bytes) , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (body) => body . ser (version , bytes) , Self :: CHANGE_OPERATOR_CONTROL (body) => body . ser (version , bytes) , Self :: HIL_STATE (body) => body . ser (version , bytes) , Self :: HIL_SENSOR (body) => body . ser (version , bytes) , Self :: PARAM_EXT_REQUEST_READ (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE (body) => body . ser (version , bytes) , Self :: SET_GPS_GLOBAL_ORIGIN (body) => body . ser (version , bytes) , Self :: ENCAPSULATED_DATA (body) => body . ser (version , bytes) , Self :: COMPONENT_INFORMATION (body) => body . ser (version , bytes) , Self :: VIDEO_STREAM_STATUS (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_INFORMATION (body) => body . ser (version , bytes) , Self :: HIL_GPS (body) => body . ser (version , bytes) , Self :: GLOBAL_POSITION_INT_COV (body) => body . ser (version , bytes) , Self :: TERRAIN_REPORT (body) => body . ser (version , bytes) , Self :: AIS_VESSEL (body) => body . ser (version , bytes) , Self :: ODOMETRY (body) => body . ser (version , bytes) , Self :: SUPPORTED_TUNES (body) => body . ser (version , bytes) , Self :: CONTROL_SYSTEM_STATE (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SYSTEM (body) => body . ser (version , bytes) , Self :: ATT_POS_MOCAP (body) => body . ser (version , bytes) , Self :: LOGGING_DATA (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_MESSAGE_PACK (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_PARTIAL_LIST (body) => body . ser (version , bytes) , Self :: SETUP_SIGNING (body) => body . ser (version , bytes) , Self :: PARAM_EXT_ACK (body) => body . ser (version , bytes) , Self :: RADIO_STATUS (body) => body . ser (version , bytes) , Self :: RESPONSE_EVENT_ERROR (body) => body . ser (version , bytes) , Self :: SIM_STATE (body) => body . ser (version , bytes) , Self :: FENCE_STATUS (body) => body . ser (version , bytes) , Self :: RESOURCE_REQUEST (body) => body . ser (version , bytes) , Self :: TERRAIN_DATA (body) => body . ser (version , bytes) , Self :: VICON_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: EXTENDED_SYS_STATE (body) => body . ser (version , bytes) , Self :: HEARTBEAT (body) => body . ser (version , bytes) , Self :: VIDEO_STREAM_INFORMATION (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_INT (body) => body . ser (version , bytes) , Self :: CAN_FILTER_MODIFY (body) => body . ser (version , bytes) , Self :: MISSION_ITEM_INT (body) => body . ser (version , bytes) , Self :: HIGHRES_IMU (body) => body . ser (version , bytes) , Self :: SET_ACTUATOR_CONTROL_TARGET (body) => body . ser (version , bytes) , Self :: DEBUG (body) => body . ser (version , bytes) , Self :: CAMERA_SETTINGS (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: POSITION_TARGET_LOCAL_NED (body) => body . ser (version , bytes) , Self :: SCALED_IMU (body) => body . ser (version , bytes) , Self :: WIND_COV (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST (body) => body . ser (version , bytes) , Self :: SERIAL_CONTROL (body) => body . ser (version , bytes) , Self :: PARAM_REQUEST_READ (body) => body . ser (version , bytes) , Self :: GPS2_RTK (body) => body . ser (version , bytes) , Self :: COMMAND_ACK (body) => body . ser (version , bytes) , Self :: POWER_STATUS (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_STATUS (body) => body . ser (version , bytes) , Self :: GLOBAL_POSITION_INT (body) => body . ser (version , bytes) , Self :: PARAM_SET (body) => body . ser (version , bytes) , Self :: OPTICAL_FLOW (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_SCALED (body) => body . ser (version , bytes) , Self :: GPS_INJECT_DATA (body) => body . ser (version , bytes) , Self :: PARAM_VALUE (body) => body . ser (version , bytes) , Self :: RC_CHANNELS (body) => body . ser (version , bytes) , Self :: ESTIMATOR_STATUS (body) => body . ser (version , bytes) , Self :: TIMESYNC (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE3 (body) => body . ser (version , bytes) , Self :: DATA_STREAM (body) => body . ser (version , bytes) , Self :: HOME_POSITION (body) => body . ser (version , bytes) , Self :: MEMORY_VECT (body) => body . ser (version , bytes) , Self :: NAMED_VALUE_FLOAT (body) => body . ser (version , bytes) , Self :: NAV_CONTROLLER_OUTPUT (body) => body . ser (version , bytes) , Self :: CHANGE_OPERATOR_CONTROL_ACK (body) => body . ser (version , bytes) , Self :: STATUSTEXT (body) => body . ser (version , bytes) , Self :: CAMERA_TRACKING_GEO_STATUS (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (body) => body . ser (version , bytes) , Self :: UAVCAN_NODE_STATUS (body) => body . ser (version , bytes) , Self :: GPS_GLOBAL_ORIGIN (body) => body . ser (version , bytes) , Self :: EFI_STATUS (body) => body . ser (version , bytes) , Self :: ATTITUDE_QUATERNION (body) => body . ser (version , bytes) , Self :: CAMERA_IMAGE_CAPTURED (body) => body . ser (version , bytes) , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (body) => body . ser (version , bytes) , Self :: CELLULAR_STATUS (body) => body . ser (version , bytes) , Self :: ORBIT_EXECUTION_STATUS (body) => body . ser (version , bytes) , Self :: TIME_ESTIMATE_TO_TARGET (body) => body . ser (version , bytes) , Self :: RAW_PRESSURE (body) => body . ser (version , bytes) , Self :: WINCH_STATUS (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_OPERATOR_ID (body) => body . ser (version , bytes) , Self :: ATTITUDE_TARGET (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (body) => body . ser (version , bytes) , Self :: ISBD_LINK_STATUS (body) => body . ser (version , bytes) , Self :: TUNNEL (body) => body . ser (version , bytes) , Self :: OBSTACLE_DISTANCE (body) => body . ser (version , bytes) , Self :: SAFETY_ALLOWED_AREA (body) => body . ser (version , bytes) , Self :: DEBUG_FLOAT_ARRAY (body) => body . ser (version , bytes) , Self :: SERVO_OUTPUT_RAW (body) => body . ser (version , bytes) , Self :: DISTANCE_SENSOR (body) => body . ser (version , bytes) , Self :: PARAM_MAP_RC (body) => body . ser (version , bytes) , Self :: TRAJECTORY_REPRESENTATION_BEZIER (body) => body . ser (version , bytes) , Self :: GENERATOR_STATUS (body) => body . ser (version , bytes) , Self :: SET_POSITION_TARGET_LOCAL_NED (body) => body . ser (version , bytes) , Self :: CAN_FRAME (body) => body . ser (version , bytes) , Self :: SCALED_IMU2 (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_LOCATION (body) => body . ser (version , bytes) , Self :: COMMAND_LONG (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (body) => body . ser (version , bytes) , Self :: POSITION_TARGET_GLOBAL_INT (body) => body . ser (version , bytes) , Self :: HIL_CONTROLS (body) => body . ser (version , bytes) , Self :: CAMERA_TRACKING_IMAGE_STATUS (body) => body . ser (version , bytes) , Self :: ATTITUDE_QUATERNION_COV (body) => body . ser (version , bytes) , Self :: REQUEST_DATA_STREAM (body) => body . ser (version , bytes) , Self :: LOG_ERASE (body) => body . ser (version , bytes) , Self :: GPS_RTCM_DATA (body) => body . ser (version , bytes) , Self :: MOUNT_ORIENTATION (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_BASIC_ID (body) => body . ser (version , bytes) , Self :: HIL_RC_INPUTS_RAW (body) => body . ser (version , bytes) , Self :: MISSION_ITEM_REACHED (body) => body . ser (version , bytes) , Self :: HIL_ACTUATOR_CONTROLS (body) => body . ser (version , bytes) , Self :: SET_MODE (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: HIGH_LATENCY2 (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_PITCHYAW (body) => body . ser (version , bytes) , Self :: PARAM_EXT_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: SYSTEM_TIME (body) => body . ser (version , bytes) , Self :: MISSION_ITEM (body) => body . ser (version , bytes) , Self :: STORAGE_INFORMATION (body) => body . ser (version , bytes) , Self :: GPS_RAW_INT (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED_COV (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_OVERRIDE (body) => body . ser (version , bytes) , Self :: PROTOCOL_VERSION (body) => body . ser (version , bytes) , Self :: PARAM_EXT_VALUE (body) => body . ser (version , bytes) , Self :: CURRENT_EVENT_SEQUENCE (body) => body . ser (version , bytes) , Self :: PARAM_EXT_SET (body) => body . ser (version , bytes) , Self :: ESC_INFO (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_SET_ATTITUDE (body) => body . ser (version , bytes) , Self :: VISION_SPEED_ESTIMATE (body) => body . ser (version , bytes) , Self :: LOGGING_DATA_ACKED (body) => body . ser (version , bytes) , Self :: ESC_STATUS (body) => body . ser (version , bytes) , Self :: PARAM_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: CAMERA_INFORMATION (body) => body . ser (version , bytes) , Self :: ATTITUDE (body) => body . ser (version , bytes) , Self :: CELLULAR_CONFIG (body) => body . ser (version , bytes) , Self :: GLOBAL_VISION_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: ALTITUDE (body) => body . ser (version , bytes) , Self :: GPS2_RAW (body) => body . ser (version , bytes) , Self :: FOLLOW_TARGET (body) => body . ser (version , bytes) , Self :: LINK_NODE_STATUS (body) => body . ser (version , bytes) , Self :: GPS_INPUT (body) => body . ser (version , bytes) , Self :: DATA_TRANSMISSION_HANDSHAKE (body) => body . ser (version , bytes) , Self :: GPS_RTK (body) => body . ser (version , bytes) , Self :: TERRAIN_CHECK (body) => body . ser (version , bytes) , Self :: MANUAL_SETPOINT (body) => body . ser (version , bytes) , Self :: SCALED_IMU3 (body) => body . ser (version , bytes) , Self :: MAG_CAL_REPORT (body) => body . ser (version , bytes) , Self :: ADSB_VEHICLE (body) => body . ser (version , bytes) , Self :: DEBUG_VECT (body) => body . ser (version , bytes) , Self :: VIBRATION (body) => body . ser (version , bytes) , Self :: PLAY_TUNE (body) => body . ser (version , bytes) , Self :: CAMERA_FOV_STATUS (body) => body . ser (version , bytes) , Self :: HIL_STATE_QUATERNION (body) => body . ser (version , bytes) , Self :: RAW_RPM (body) => body . ser (version , bytes) , Self :: SYS_STATUS (body) => body . ser (version , bytes) , Self :: MISSION_ACK (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_DATA (body) => body . ser (version , bytes) , Self :: UTM_GLOBAL_POSITION (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SELF_ID (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_ARM_STATUS (body) => body . ser (version , bytes) , Self :: HIL_OPTICAL_FLOW (body) => body . ser (version , bytes) , Self :: LOG_DATA (body) => body . ser (version , bytes) , Self :: BUTTON_CHANGE (body) => body . ser (version , bytes) , Self :: V2_EXTENSION (body) => body . ser (version , bytes) , Self :: FLIGHT_INFORMATION (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_ATTITUDE (body) => body . ser (version , bytes) , Self :: EVENT (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (body) => body . ser (version , bytes) , Self :: AUTH_KEY (body) => body . ser (version , bytes) , Self :: HYGROMETER_SENSOR (body) => body . ser (version , bytes) , Self :: GPS_STATUS (body) => body . ser (version , bytes) , Self :: ONBOARD_COMPUTER_STATUS (body) => body . ser (version , bytes) , Self :: NAMED_VALUE_INT (body) => body . ser (version , bytes) , Self :: ACTUATOR_OUTPUT_STATUS (body) => body . ser (version , bytes) , Self :: PLAY_TUNE_V2 (body) => body . ser (version , bytes) , Self :: SET_ATTITUDE_TARGET (body) => body . ser (version , bytes) , Self :: CANFD_FRAME (body) => body . ser (version , bytes) , Self :: CAMERA_CAPTURE_STATUS (body) => body . ser (version , bytes) , Self :: REQUEST_EVENT (body) => body . ser (version , bytes) , Self :: VFR_HUD (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED (body) => body . ser (version , bytes) , Self :: AUTOPILOT_VERSION (body) => body . ser (version , bytes) , Self :: VISION_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: UAVCAN_NODE_INFO (body) => body . ser (version , bytes) , Self :: TERRAIN_REQUEST (body) => body . ser (version , bytes) , Self :: PING (body) => body . ser (version , bytes) , Self :: MISSION_SET_CURRENT (body) => body . ser (version , bytes) , Self :: SET_POSITION_TARGET_GLOBAL_INT (body) => body . ser (version , bytes) , Self :: HIGH_LATENCY (body) => body . ser (version , bytes) , } } fn extra_crc (id : u32) -> u8 { match id { MISSION_CLEAR_ALL_DATA :: ID => MISSION_CLEAR_ALL_DATA :: EXTRA_CRC , COMMAND_INT_DATA :: ID => COMMAND_INT_DATA :: EXTRA_CRC , COLLISION_DATA :: ID => COLLISION_DATA :: EXTRA_CRC , RC_CHANNELS_RAW_DATA :: ID => RC_CHANNELS_RAW_DATA :: EXTRA_CRC , OPTICAL_FLOW_RAD_DATA :: ID => OPTICAL_FLOW_RAD_DATA :: EXTRA_CRC , LOGGING_ACK_DATA :: ID => LOGGING_ACK_DATA :: EXTRA_CRC , WIFI_CONFIG_AP_DATA :: ID => WIFI_CONFIG_AP_DATA :: EXTRA_CRC , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => MISSION_WRITE_PARTIAL_LIST_DATA :: EXTRA_CRC , MANUAL_CONTROL_DATA :: ID => MANUAL_CONTROL_DATA :: EXTRA_CRC , SMART_BATTERY_INFO_DATA :: ID => SMART_BATTERY_INFO_DATA :: EXTRA_CRC , COMMAND_CANCEL_DATA :: ID => COMMAND_CANCEL_DATA :: EXTRA_CRC , LOG_ENTRY_DATA :: ID => LOG_ENTRY_DATA :: EXTRA_CRC , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => OPEN_DRONE_ID_AUTHENTICATION_DATA :: EXTRA_CRC , SCALED_PRESSURE2_DATA :: ID => SCALED_PRESSURE2_DATA :: EXTRA_CRC , CAMERA_TRIGGER_DATA :: ID => CAMERA_TRIGGER_DATA :: EXTRA_CRC , SET_HOME_POSITION_DATA :: ID => SET_HOME_POSITION_DATA :: EXTRA_CRC , RAW_IMU_DATA :: ID => RAW_IMU_DATA :: EXTRA_CRC , SAFETY_SET_ALLOWED_AREA_DATA :: ID => SAFETY_SET_ALLOWED_AREA_DATA :: EXTRA_CRC , COMPONENT_METADATA_DATA :: ID => COMPONENT_METADATA_DATA :: EXTRA_CRC , GIMBAL_MANAGER_INFORMATION_DATA :: ID => GIMBAL_MANAGER_INFORMATION_DATA :: EXTRA_CRC , ACTUATOR_CONTROL_TARGET_DATA :: ID => ACTUATOR_CONTROL_TARGET_DATA :: EXTRA_CRC , MISSION_CURRENT_DATA :: ID => MISSION_CURRENT_DATA :: EXTRA_CRC , LOG_REQUEST_END_DATA :: ID => LOG_REQUEST_END_DATA :: EXTRA_CRC , FILE_TRANSFER_PROTOCOL_DATA :: ID => FILE_TRANSFER_PROTOCOL_DATA :: EXTRA_CRC , BATTERY_STATUS_DATA :: ID => BATTERY_STATUS_DATA :: EXTRA_CRC , LANDING_TARGET_DATA :: ID => LANDING_TARGET_DATA :: EXTRA_CRC , MESSAGE_INTERVAL_DATA :: ID => MESSAGE_INTERVAL_DATA :: EXTRA_CRC , WHEEL_DISTANCE_DATA :: ID => WHEEL_DISTANCE_DATA :: EXTRA_CRC , MISSION_COUNT_DATA :: ID => MISSION_COUNT_DATA :: EXTRA_CRC , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: EXTRA_CRC , CHANGE_OPERATOR_CONTROL_DATA :: ID => CHANGE_OPERATOR_CONTROL_DATA :: EXTRA_CRC , HIL_STATE_DATA :: ID => HIL_STATE_DATA :: EXTRA_CRC , HIL_SENSOR_DATA :: ID => HIL_SENSOR_DATA :: EXTRA_CRC , PARAM_EXT_REQUEST_READ_DATA :: ID => PARAM_EXT_REQUEST_READ_DATA :: EXTRA_CRC , SCALED_PRESSURE_DATA :: ID => SCALED_PRESSURE_DATA :: EXTRA_CRC , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => SET_GPS_GLOBAL_ORIGIN_DATA :: EXTRA_CRC , ENCAPSULATED_DATA_DATA :: ID => ENCAPSULATED_DATA_DATA :: EXTRA_CRC , COMPONENT_INFORMATION_DATA :: ID => COMPONENT_INFORMATION_DATA :: EXTRA_CRC , VIDEO_STREAM_STATUS_DATA :: ID => VIDEO_STREAM_STATUS_DATA :: EXTRA_CRC , GIMBAL_DEVICE_INFORMATION_DATA :: ID => GIMBAL_DEVICE_INFORMATION_DATA :: EXTRA_CRC , HIL_GPS_DATA :: ID => HIL_GPS_DATA :: EXTRA_CRC , GLOBAL_POSITION_INT_COV_DATA :: ID => GLOBAL_POSITION_INT_COV_DATA :: EXTRA_CRC , TERRAIN_REPORT_DATA :: ID => TERRAIN_REPORT_DATA :: EXTRA_CRC , AIS_VESSEL_DATA :: ID => AIS_VESSEL_DATA :: EXTRA_CRC , ODOMETRY_DATA :: ID => ODOMETRY_DATA :: EXTRA_CRC , SUPPORTED_TUNES_DATA :: ID => SUPPORTED_TUNES_DATA :: EXTRA_CRC , CONTROL_SYSTEM_STATE_DATA :: ID => CONTROL_SYSTEM_STATE_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SYSTEM_DATA :: ID => OPEN_DRONE_ID_SYSTEM_DATA :: EXTRA_CRC , ATT_POS_MOCAP_DATA :: ID => ATT_POS_MOCAP_DATA :: EXTRA_CRC , LOGGING_DATA_DATA :: ID => LOGGING_DATA_DATA :: EXTRA_CRC , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: EXTRA_CRC , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => MISSION_REQUEST_PARTIAL_LIST_DATA :: EXTRA_CRC , SETUP_SIGNING_DATA :: ID => SETUP_SIGNING_DATA :: EXTRA_CRC , PARAM_EXT_ACK_DATA :: ID => PARAM_EXT_ACK_DATA :: EXTRA_CRC , RADIO_STATUS_DATA :: ID => RADIO_STATUS_DATA :: EXTRA_CRC , RESPONSE_EVENT_ERROR_DATA :: ID => RESPONSE_EVENT_ERROR_DATA :: EXTRA_CRC , SIM_STATE_DATA :: ID => SIM_STATE_DATA :: EXTRA_CRC , FENCE_STATUS_DATA :: ID => FENCE_STATUS_DATA :: EXTRA_CRC , RESOURCE_REQUEST_DATA :: ID => RESOURCE_REQUEST_DATA :: EXTRA_CRC , TERRAIN_DATA_DATA :: ID => TERRAIN_DATA_DATA :: EXTRA_CRC , VICON_POSITION_ESTIMATE_DATA :: ID => VICON_POSITION_ESTIMATE_DATA :: EXTRA_CRC , EXTENDED_SYS_STATE_DATA :: ID => EXTENDED_SYS_STATE_DATA :: EXTRA_CRC , HEARTBEAT_DATA :: ID => HEARTBEAT_DATA :: EXTRA_CRC , VIDEO_STREAM_INFORMATION_DATA :: ID => VIDEO_STREAM_INFORMATION_DATA :: EXTRA_CRC , MISSION_REQUEST_INT_DATA :: ID => MISSION_REQUEST_INT_DATA :: EXTRA_CRC , CAN_FILTER_MODIFY_DATA :: ID => CAN_FILTER_MODIFY_DATA :: EXTRA_CRC , MISSION_ITEM_INT_DATA :: ID => MISSION_ITEM_INT_DATA :: EXTRA_CRC , HIGHRES_IMU_DATA :: ID => HIGHRES_IMU_DATA :: EXTRA_CRC , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => SET_ACTUATOR_CONTROL_TARGET_DATA :: EXTRA_CRC , DEBUG_DATA :: ID => DEBUG_DATA :: EXTRA_CRC , CAMERA_SETTINGS_DATA :: ID => CAMERA_SETTINGS_DATA :: EXTRA_CRC , MISSION_REQUEST_LIST_DATA :: ID => MISSION_REQUEST_LIST_DATA :: EXTRA_CRC , POSITION_TARGET_LOCAL_NED_DATA :: ID => POSITION_TARGET_LOCAL_NED_DATA :: EXTRA_CRC , SCALED_IMU_DATA :: ID => SCALED_IMU_DATA :: EXTRA_CRC , WIND_COV_DATA :: ID => WIND_COV_DATA :: EXTRA_CRC , MISSION_REQUEST_DATA :: ID => MISSION_REQUEST_DATA :: EXTRA_CRC , SERIAL_CONTROL_DATA :: ID => SERIAL_CONTROL_DATA :: EXTRA_CRC , PARAM_REQUEST_READ_DATA :: ID => PARAM_REQUEST_READ_DATA :: EXTRA_CRC , GPS2_RTK_DATA :: ID => GPS2_RTK_DATA :: EXTRA_CRC , COMMAND_ACK_DATA :: ID => COMMAND_ACK_DATA :: EXTRA_CRC , POWER_STATUS_DATA :: ID => POWER_STATUS_DATA :: EXTRA_CRC , GIMBAL_MANAGER_STATUS_DATA :: ID => GIMBAL_MANAGER_STATUS_DATA :: EXTRA_CRC , GLOBAL_POSITION_INT_DATA :: ID => GLOBAL_POSITION_INT_DATA :: EXTRA_CRC , PARAM_SET_DATA :: ID => PARAM_SET_DATA :: EXTRA_CRC , OPTICAL_FLOW_DATA :: ID => OPTICAL_FLOW_DATA :: EXTRA_CRC , RC_CHANNELS_SCALED_DATA :: ID => RC_CHANNELS_SCALED_DATA :: EXTRA_CRC , GPS_INJECT_DATA_DATA :: ID => GPS_INJECT_DATA_DATA :: EXTRA_CRC , PARAM_VALUE_DATA :: ID => PARAM_VALUE_DATA :: EXTRA_CRC , RC_CHANNELS_DATA :: ID => RC_CHANNELS_DATA :: EXTRA_CRC , ESTIMATOR_STATUS_DATA :: ID => ESTIMATOR_STATUS_DATA :: EXTRA_CRC , TIMESYNC_DATA :: ID => TIMESYNC_DATA :: EXTRA_CRC , SCALED_PRESSURE3_DATA :: ID => SCALED_PRESSURE3_DATA :: EXTRA_CRC , DATA_STREAM_DATA :: ID => DATA_STREAM_DATA :: EXTRA_CRC , HOME_POSITION_DATA :: ID => HOME_POSITION_DATA :: EXTRA_CRC , MEMORY_VECT_DATA :: ID => MEMORY_VECT_DATA :: EXTRA_CRC , NAMED_VALUE_FLOAT_DATA :: ID => NAMED_VALUE_FLOAT_DATA :: EXTRA_CRC , NAV_CONTROLLER_OUTPUT_DATA :: ID => NAV_CONTROLLER_OUTPUT_DATA :: EXTRA_CRC , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => CHANGE_OPERATOR_CONTROL_ACK_DATA :: EXTRA_CRC , STATUSTEXT_DATA :: ID => STATUSTEXT_DATA :: EXTRA_CRC , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => CAMERA_TRACKING_GEO_STATUS_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: EXTRA_CRC , UAVCAN_NODE_STATUS_DATA :: ID => UAVCAN_NODE_STATUS_DATA :: EXTRA_CRC , GPS_GLOBAL_ORIGIN_DATA :: ID => GPS_GLOBAL_ORIGIN_DATA :: EXTRA_CRC , EFI_STATUS_DATA :: ID => EFI_STATUS_DATA :: EXTRA_CRC , ATTITUDE_QUATERNION_DATA :: ID => ATTITUDE_QUATERNION_DATA :: EXTRA_CRC , CAMERA_IMAGE_CAPTURED_DATA :: ID => CAMERA_IMAGE_CAPTURED_DATA :: EXTRA_CRC , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: EXTRA_CRC , CELLULAR_STATUS_DATA :: ID => CELLULAR_STATUS_DATA :: EXTRA_CRC , ORBIT_EXECUTION_STATUS_DATA :: ID => ORBIT_EXECUTION_STATUS_DATA :: EXTRA_CRC , TIME_ESTIMATE_TO_TARGET_DATA :: ID => TIME_ESTIMATE_TO_TARGET_DATA :: EXTRA_CRC , RAW_PRESSURE_DATA :: ID => RAW_PRESSURE_DATA :: EXTRA_CRC , WINCH_STATUS_DATA :: ID => WINCH_STATUS_DATA :: EXTRA_CRC , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => OPEN_DRONE_ID_OPERATOR_ID_DATA :: EXTRA_CRC , ATTITUDE_TARGET_DATA :: ID => ATTITUDE_TARGET_DATA :: EXTRA_CRC , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: EXTRA_CRC , ISBD_LINK_STATUS_DATA :: ID => ISBD_LINK_STATUS_DATA :: EXTRA_CRC , TUNNEL_DATA :: ID => TUNNEL_DATA :: EXTRA_CRC , OBSTACLE_DISTANCE_DATA :: ID => OBSTACLE_DISTANCE_DATA :: EXTRA_CRC , SAFETY_ALLOWED_AREA_DATA :: ID => SAFETY_ALLOWED_AREA_DATA :: EXTRA_CRC , DEBUG_FLOAT_ARRAY_DATA :: ID => DEBUG_FLOAT_ARRAY_DATA :: EXTRA_CRC , SERVO_OUTPUT_RAW_DATA :: ID => SERVO_OUTPUT_RAW_DATA :: EXTRA_CRC , DISTANCE_SENSOR_DATA :: ID => DISTANCE_SENSOR_DATA :: EXTRA_CRC , PARAM_MAP_RC_DATA :: ID => PARAM_MAP_RC_DATA :: EXTRA_CRC , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: EXTRA_CRC , GENERATOR_STATUS_DATA :: ID => GENERATOR_STATUS_DATA :: EXTRA_CRC , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => SET_POSITION_TARGET_LOCAL_NED_DATA :: EXTRA_CRC , CAN_FRAME_DATA :: ID => CAN_FRAME_DATA :: EXTRA_CRC , SCALED_IMU2_DATA :: ID => SCALED_IMU2_DATA :: EXTRA_CRC , OPEN_DRONE_ID_LOCATION_DATA :: ID => OPEN_DRONE_ID_LOCATION_DATA :: EXTRA_CRC , COMMAND_LONG_DATA :: ID => COMMAND_LONG_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: EXTRA_CRC , POSITION_TARGET_GLOBAL_INT_DATA :: ID => POSITION_TARGET_GLOBAL_INT_DATA :: EXTRA_CRC , HIL_CONTROLS_DATA :: ID => HIL_CONTROLS_DATA :: EXTRA_CRC , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => CAMERA_TRACKING_IMAGE_STATUS_DATA :: EXTRA_CRC , ATTITUDE_QUATERNION_COV_DATA :: ID => ATTITUDE_QUATERNION_COV_DATA :: EXTRA_CRC , REQUEST_DATA_STREAM_DATA :: ID => REQUEST_DATA_STREAM_DATA :: EXTRA_CRC , LOG_ERASE_DATA :: ID => LOG_ERASE_DATA :: EXTRA_CRC , GPS_RTCM_DATA_DATA :: ID => GPS_RTCM_DATA_DATA :: EXTRA_CRC , MOUNT_ORIENTATION_DATA :: ID => MOUNT_ORIENTATION_DATA :: EXTRA_CRC , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => OPEN_DRONE_ID_BASIC_ID_DATA :: EXTRA_CRC , HIL_RC_INPUTS_RAW_DATA :: ID => HIL_RC_INPUTS_RAW_DATA :: EXTRA_CRC , MISSION_ITEM_REACHED_DATA :: ID => MISSION_ITEM_REACHED_DATA :: EXTRA_CRC , HIL_ACTUATOR_CONTROLS_DATA :: ID => HIL_ACTUATOR_CONTROLS_DATA :: EXTRA_CRC , SET_MODE_DATA :: ID => SET_MODE_DATA :: EXTRA_CRC , LOG_REQUEST_LIST_DATA :: ID => LOG_REQUEST_LIST_DATA :: EXTRA_CRC , HIGH_LATENCY2_DATA :: ID => HIGH_LATENCY2_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: EXTRA_CRC , PARAM_EXT_REQUEST_LIST_DATA :: ID => PARAM_EXT_REQUEST_LIST_DATA :: EXTRA_CRC , SYSTEM_TIME_DATA :: ID => SYSTEM_TIME_DATA :: EXTRA_CRC , MISSION_ITEM_DATA :: ID => MISSION_ITEM_DATA :: EXTRA_CRC , STORAGE_INFORMATION_DATA :: ID => STORAGE_INFORMATION_DATA :: EXTRA_CRC , GPS_RAW_INT_DATA :: ID => GPS_RAW_INT_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_COV_DATA :: ID => LOCAL_POSITION_NED_COV_DATA :: EXTRA_CRC , RC_CHANNELS_OVERRIDE_DATA :: ID => RC_CHANNELS_OVERRIDE_DATA :: EXTRA_CRC , PROTOCOL_VERSION_DATA :: ID => PROTOCOL_VERSION_DATA :: EXTRA_CRC , PARAM_EXT_VALUE_DATA :: ID => PARAM_EXT_VALUE_DATA :: EXTRA_CRC , CURRENT_EVENT_SEQUENCE_DATA :: ID => CURRENT_EVENT_SEQUENCE_DATA :: EXTRA_CRC , PARAM_EXT_SET_DATA :: ID => PARAM_EXT_SET_DATA :: EXTRA_CRC , ESC_INFO_DATA :: ID => ESC_INFO_DATA :: EXTRA_CRC , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: EXTRA_CRC , VISION_SPEED_ESTIMATE_DATA :: ID => VISION_SPEED_ESTIMATE_DATA :: EXTRA_CRC , LOGGING_DATA_ACKED_DATA :: ID => LOGGING_DATA_ACKED_DATA :: EXTRA_CRC , ESC_STATUS_DATA :: ID => ESC_STATUS_DATA :: EXTRA_CRC , PARAM_REQUEST_LIST_DATA :: ID => PARAM_REQUEST_LIST_DATA :: EXTRA_CRC , CAMERA_INFORMATION_DATA :: ID => CAMERA_INFORMATION_DATA :: EXTRA_CRC , ATTITUDE_DATA :: ID => ATTITUDE_DATA :: EXTRA_CRC , CELLULAR_CONFIG_DATA :: ID => CELLULAR_CONFIG_DATA :: EXTRA_CRC , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: EXTRA_CRC , ALTITUDE_DATA :: ID => ALTITUDE_DATA :: EXTRA_CRC , GPS2_RAW_DATA :: ID => GPS2_RAW_DATA :: EXTRA_CRC , FOLLOW_TARGET_DATA :: ID => FOLLOW_TARGET_DATA :: EXTRA_CRC , LINK_NODE_STATUS_DATA :: ID => LINK_NODE_STATUS_DATA :: EXTRA_CRC , GPS_INPUT_DATA :: ID => GPS_INPUT_DATA :: EXTRA_CRC , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => DATA_TRANSMISSION_HANDSHAKE_DATA :: EXTRA_CRC , GPS_RTK_DATA :: ID => GPS_RTK_DATA :: EXTRA_CRC , TERRAIN_CHECK_DATA :: ID => TERRAIN_CHECK_DATA :: EXTRA_CRC , MANUAL_SETPOINT_DATA :: ID => MANUAL_SETPOINT_DATA :: EXTRA_CRC , SCALED_IMU3_DATA :: ID => SCALED_IMU3_DATA :: EXTRA_CRC , MAG_CAL_REPORT_DATA :: ID => MAG_CAL_REPORT_DATA :: EXTRA_CRC , ADSB_VEHICLE_DATA :: ID => ADSB_VEHICLE_DATA :: EXTRA_CRC , DEBUG_VECT_DATA :: ID => DEBUG_VECT_DATA :: EXTRA_CRC , VIBRATION_DATA :: ID => VIBRATION_DATA :: EXTRA_CRC , PLAY_TUNE_DATA :: ID => PLAY_TUNE_DATA :: EXTRA_CRC , CAMERA_FOV_STATUS_DATA :: ID => CAMERA_FOV_STATUS_DATA :: EXTRA_CRC , HIL_STATE_QUATERNION_DATA :: ID => HIL_STATE_QUATERNION_DATA :: EXTRA_CRC , RAW_RPM_DATA :: ID => RAW_RPM_DATA :: EXTRA_CRC , SYS_STATUS_DATA :: ID => SYS_STATUS_DATA :: EXTRA_CRC , MISSION_ACK_DATA :: ID => MISSION_ACK_DATA :: EXTRA_CRC , LOG_REQUEST_DATA_DATA :: ID => LOG_REQUEST_DATA_DATA :: EXTRA_CRC , UTM_GLOBAL_POSITION_DATA :: ID => UTM_GLOBAL_POSITION_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SELF_ID_DATA :: ID => OPEN_DRONE_ID_SELF_ID_DATA :: EXTRA_CRC , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => OPEN_DRONE_ID_ARM_STATUS_DATA :: EXTRA_CRC , HIL_OPTICAL_FLOW_DATA :: ID => HIL_OPTICAL_FLOW_DATA :: EXTRA_CRC , LOG_DATA_DATA :: ID => LOG_DATA_DATA :: EXTRA_CRC , BUTTON_CHANGE_DATA :: ID => BUTTON_CHANGE_DATA :: EXTRA_CRC , V2_EXTENSION_DATA :: ID => V2_EXTENSION_DATA :: EXTRA_CRC , FLIGHT_INFORMATION_DATA :: ID => FLIGHT_INFORMATION_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: EXTRA_CRC , EVENT_DATA :: ID => EVENT_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: EXTRA_CRC , AUTH_KEY_DATA :: ID => AUTH_KEY_DATA :: EXTRA_CRC , HYGROMETER_SENSOR_DATA :: ID => HYGROMETER_SENSOR_DATA :: EXTRA_CRC , GPS_STATUS_DATA :: ID => GPS_STATUS_DATA :: EXTRA_CRC , ONBOARD_COMPUTER_STATUS_DATA :: ID => ONBOARD_COMPUTER_STATUS_DATA :: EXTRA_CRC , NAMED_VALUE_INT_DATA :: ID => NAMED_VALUE_INT_DATA :: EXTRA_CRC , ACTUATOR_OUTPUT_STATUS_DATA :: ID => ACTUATOR_OUTPUT_STATUS_DATA :: EXTRA_CRC , PLAY_TUNE_V2_DATA :: ID => PLAY_TUNE_V2_DATA :: EXTRA_CRC , SET_ATTITUDE_TARGET_DATA :: ID => SET_ATTITUDE_TARGET_DATA :: EXTRA_CRC , CANFD_FRAME_DATA :: ID => CANFD_FRAME_DATA :: EXTRA_CRC , CAMERA_CAPTURE_STATUS_DATA :: ID => CAMERA_CAPTURE_STATUS_DATA :: EXTRA_CRC , REQUEST_EVENT_DATA :: ID => REQUEST_EVENT_DATA :: EXTRA_CRC , VFR_HUD_DATA :: ID => VFR_HUD_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_DATA :: ID => LOCAL_POSITION_NED_DATA :: EXTRA_CRC , AUTOPILOT_VERSION_DATA :: ID => AUTOPILOT_VERSION_DATA :: EXTRA_CRC , VISION_POSITION_ESTIMATE_DATA :: ID => VISION_POSITION_ESTIMATE_DATA :: EXTRA_CRC , UAVCAN_NODE_INFO_DATA :: ID => UAVCAN_NODE_INFO_DATA :: EXTRA_CRC , TERRAIN_REQUEST_DATA :: ID => TERRAIN_REQUEST_DATA :: EXTRA_CRC , PING_DATA :: ID => PING_DATA :: EXTRA_CRC , MISSION_SET_CURRENT_DATA :: ID => MISSION_SET_CURRENT_DATA :: EXTRA_CRC , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => SET_POSITION_TARGET_GLOBAL_INT_DATA :: EXTRA_CRC , HIGH_LATENCY_DATA :: ID => HIGH_LATENCY_DATA :: EXTRA_CRC , _ => { 0 } , } } }
+
# ! [doc = "This file was automatically generated, do not edit"] use crate :: MavlinkVersion ; # [allow (unused_imports)] use num_derive :: FromPrimitive ; # [allow (unused_imports)] use num_traits :: FromPrimitive ; # [allow (unused_imports)] use num_derive :: ToPrimitive ; # [allow (unused_imports)] use num_traits :: ToPrimitive ; # [allow (unused_imports)] use bitflags :: bitflags ; use crate :: { Message , MessageData , error :: * , bytes :: Bytes , bytes_mut :: BytesMut } ; # [cfg (feature = "serde")] use serde :: { Serialize , Deserialize } ; # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidClassificationType { MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED = 0 , MAV_ODID_CLASSIFICATION_TYPE_EU = 1 , } impl MavOdidClassificationType { pub const DEFAULT : Self = Self :: MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED ; } impl Default for MavOdidClassificationType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum NavVtolLandOptions { NAV_VTOL_LAND_OPTIONS_DEFAULT = 0 , NAV_VTOL_LAND_OPTIONS_FW_DESCENT = 1 , NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT = 2 , } impl NavVtolLandOptions { pub const DEFAULT : Self = Self :: NAV_VTOL_LAND_OPTIONS_DEFAULT ; } impl Default for NavVtolLandOptions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MotorTestThrottleType { MOTOR_TEST_THROTTLE_PERCENT = 0 , MOTOR_TEST_THROTTLE_PWM = 1 , MOTOR_TEST_THROTTLE_PILOT = 2 , MOTOR_TEST_COMPASS_CAL = 3 , } impl MotorTestThrottleType { pub const DEFAULT : Self = Self :: MOTOR_TEST_THROTTLE_PERCENT ; } impl Default for MotorTestThrottleType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum ParachuteAction { PARACHUTE_DISABLE = 0 , PARACHUTE_ENABLE = 1 , PARACHUTE_RELEASE = 2 , } impl ParachuteAction { pub const DEFAULT : Self = Self :: PARACHUTE_DISABLE ; } impl Default for ParachuteAction { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HlFailureFlag : u16 { const HL_FAILURE_FLAG_GPS = 1 ; const HL_FAILURE_FLAG_DIFFERENTIAL_PRESSURE = 2 ; const HL_FAILURE_FLAG_ABSOLUTE_PRESSURE = 4 ; const HL_FAILURE_FLAG_3D_ACCEL = 8 ; const HL_FAILURE_FLAG_3D_GYRO = 16 ; const HL_FAILURE_FLAG_3D_MAG = 32 ; const HL_FAILURE_FLAG_TERRAIN = 64 ; const HL_FAILURE_FLAG_BATTERY = 128 ; const HL_FAILURE_FLAG_RC_RECEIVER = 256 ; const HL_FAILURE_FLAG_OFFBOARD_LINK = 512 ; const HL_FAILURE_FLAG_ENGINE = 1024 ; const HL_FAILURE_FLAG_GEOFENCE = 2048 ; const HL_FAILURE_FLAG_ESTIMATOR = 4096 ; const HL_FAILURE_FLAG_MISSION = 8192 ; } } impl HlFailureFlag { pub const DEFAULT : Self = Self :: HL_FAILURE_FLAG_GPS ; } impl Default for HlFailureFlag { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavSysStatusSensor : u32 { const MAV_SYS_STATUS_SENSOR_3D_GYRO = 1 ; const MAV_SYS_STATUS_SENSOR_3D_ACCEL = 2 ; const MAV_SYS_STATUS_SENSOR_3D_MAG = 4 ; const MAV_SYS_STATUS_SENSOR_ABSOLUTE_PRESSURE = 8 ; const MAV_SYS_STATUS_SENSOR_DIFFERENTIAL_PRESSURE = 16 ; const MAV_SYS_STATUS_SENSOR_GPS = 32 ; const MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW = 64 ; const MAV_SYS_STATUS_SENSOR_VISION_POSITION = 128 ; const MAV_SYS_STATUS_SENSOR_LASER_POSITION = 256 ; const MAV_SYS_STATUS_SENSOR_EXTERNAL_GROUND_TRUTH = 512 ; const MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL = 1024 ; const MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION = 2048 ; const MAV_SYS_STATUS_SENSOR_YAW_POSITION = 4096 ; const MAV_SYS_STATUS_SENSOR_Z_ALTITUDE_CONTROL = 8192 ; const MAV_SYS_STATUS_SENSOR_XY_POSITION_CONTROL = 16384 ; const MAV_SYS_STATUS_SENSOR_MOTOR_OUTPUTS = 32768 ; const MAV_SYS_STATUS_SENSOR_RC_RECEIVER = 65536 ; const MAV_SYS_STATUS_SENSOR_3D_GYRO2 = 131072 ; const MAV_SYS_STATUS_SENSOR_3D_ACCEL2 = 262144 ; const MAV_SYS_STATUS_SENSOR_3D_MAG2 = 524288 ; const MAV_SYS_STATUS_GEOFENCE = 1048576 ; const MAV_SYS_STATUS_AHRS = 2097152 ; const MAV_SYS_STATUS_TERRAIN = 4194304 ; const MAV_SYS_STATUS_REVERSE_MOTOR = 8388608 ; const MAV_SYS_STATUS_LOGGING = 16777216 ; const MAV_SYS_STATUS_SENSOR_BATTERY = 33554432 ; const MAV_SYS_STATUS_SENSOR_PROXIMITY = 67108864 ; const MAV_SYS_STATUS_SENSOR_SATCOM = 134217728 ; const MAV_SYS_STATUS_PREARM_CHECK = 268435456 ; const MAV_SYS_STATUS_OBSTACLE_AVOIDANCE = 536870912 ; const MAV_SYS_STATUS_SENSOR_PROPULSION = 1073741824 ; const MAV_SYS_STATUS_EXTENSION_USED = 2147483648 ; } } impl MavSysStatusSensor { pub const DEFAULT : Self = Self :: MAV_SYS_STATUS_SENSOR_3D_GYRO ; } impl Default for MavSysStatusSensor { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavLandedState { MAV_LANDED_STATE_UNDEFINED = 0 , MAV_LANDED_STATE_ON_GROUND = 1 , MAV_LANDED_STATE_IN_AIR = 2 , MAV_LANDED_STATE_TAKEOFF = 3 , MAV_LANDED_STATE_LANDING = 4 , } impl MavLandedState { pub const DEFAULT : Self = Self :: MAV_LANDED_STATE_UNDEFINED ; } impl Default for MavLandedState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FailureType { FAILURE_TYPE_OK = 0 , FAILURE_TYPE_OFF = 1 , FAILURE_TYPE_STUCK = 2 , FAILURE_TYPE_GARBAGE = 3 , FAILURE_TYPE_WRONG = 4 , FAILURE_TYPE_SLOW = 5 , FAILURE_TYPE_DELAYED = 6 , FAILURE_TYPE_INTERMITTENT = 7 , } impl FailureType { pub const DEFAULT : Self = Self :: FAILURE_TYPE_OK ; } impl Default for FailureType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidAuthType { MAV_ODID_AUTH_TYPE_NONE = 0 , MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE = 1 , MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE = 2 , MAV_ODID_AUTH_TYPE_MESSAGE_SET_SIGNATURE = 3 , MAV_ODID_AUTH_TYPE_NETWORK_REMOTE_ID = 4 , MAV_ODID_AUTH_TYPE_SPECIFIC_AUTHENTICATION = 5 , } impl MavOdidAuthType { pub const DEFAULT : Self = Self :: MAV_ODID_AUTH_TYPE_NONE ; } impl Default for MavOdidAuthType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum RcType { RC_TYPE_SPEKTRUM_DSM2 = 0 , RC_TYPE_SPEKTRUM_DSMX = 1 , } impl RcType { pub const DEFAULT : Self = Self :: RC_TYPE_SPEKTRUM_DSM2 ; } impl Default for RcType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavModeFlag : u8 { const MAV_MODE_FLAG_SAFETY_ARMED = 128 ; const MAV_MODE_FLAG_MANUAL_INPUT_ENABLED = 64 ; const MAV_MODE_FLAG_HIL_ENABLED = 32 ; const MAV_MODE_FLAG_STABILIZE_ENABLED = 16 ; const MAV_MODE_FLAG_GUIDED_ENABLED = 8 ; const MAV_MODE_FLAG_AUTO_ENABLED = 4 ; const MAV_MODE_FLAG_TEST_ENABLED = 2 ; const MAV_MODE_FLAG_CUSTOM_MODE_ENABLED = 1 ; } } impl MavModeFlag { pub const DEFAULT : Self = Self :: MAV_MODE_FLAG_SAFETY_ARMED ; } impl Default for MavModeFlag { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EscFailureFlags : u16 { const ESC_FAILURE_NONE = 0 ; const ESC_FAILURE_OVER_CURRENT = 1 ; const ESC_FAILURE_OVER_VOLTAGE = 2 ; const ESC_FAILURE_OVER_TEMPERATURE = 4 ; const ESC_FAILURE_OVER_RPM = 8 ; const ESC_FAILURE_INCONSISTENT_CMD = 16 ; const ESC_FAILURE_MOTOR_STUCK = 32 ; const ESC_FAILURE_GENERIC = 64 ; } } impl EscFailureFlags { pub const DEFAULT : Self = Self :: ESC_FAILURE_NONE ; } impl Default for EscFailureFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavAutopilot { MAV_AUTOPILOT_GENERIC = 0 , MAV_AUTOPILOT_RESERVED = 1 , MAV_AUTOPILOT_SLUGS = 2 , MAV_AUTOPILOT_ARDUPILOTMEGA = 3 , MAV_AUTOPILOT_OPENPILOT = 4 , MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY = 5 , MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY = 6 , MAV_AUTOPILOT_GENERIC_MISSION_FULL = 7 , MAV_AUTOPILOT_INVALID = 8 , MAV_AUTOPILOT_PPZ = 9 , MAV_AUTOPILOT_UDB = 10 , MAV_AUTOPILOT_FP = 11 , MAV_AUTOPILOT_PX4 = 12 , MAV_AUTOPILOT_SMACCMPILOT = 13 , MAV_AUTOPILOT_AUTOQUAD = 14 , MAV_AUTOPILOT_ARMAZILA = 15 , MAV_AUTOPILOT_AEROB = 16 , MAV_AUTOPILOT_ASLUAV = 17 , MAV_AUTOPILOT_SMARTAP = 18 , MAV_AUTOPILOT_AIRRAILS = 19 , MAV_AUTOPILOT_REFLEX = 20 , } impl MavAutopilot { pub const DEFAULT : Self = Self :: MAV_AUTOPILOT_GENERIC ; } impl Default for MavAutopilot { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum WifiConfigApResponse { WIFI_CONFIG_AP_RESPONSE_UNDEFINED = 0 , WIFI_CONFIG_AP_RESPONSE_ACCEPTED = 1 , WIFI_CONFIG_AP_RESPONSE_REJECTED = 2 , WIFI_CONFIG_AP_RESPONSE_MODE_ERROR = 3 , WIFI_CONFIG_AP_RESPONSE_SSID_ERROR = 4 , WIFI_CONFIG_AP_RESPONSE_PASSWORD_ERROR = 5 , } impl WifiConfigApResponse { pub const DEFAULT : Self = Self :: WIFI_CONFIG_AP_RESPONSE_UNDEFINED ; } impl Default for WifiConfigApResponse { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraTrackingStatusFlags { CAMERA_TRACKING_STATUS_FLAGS_IDLE = 0 , CAMERA_TRACKING_STATUS_FLAGS_ACTIVE = 1 , CAMERA_TRACKING_STATUS_FLAGS_ERROR = 2 , } impl CameraTrackingStatusFlags { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_STATUS_FLAGS_IDLE ; } impl Default for CameraTrackingStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FailureUnit { FAILURE_UNIT_SENSOR_GYRO = 0 , FAILURE_UNIT_SENSOR_ACCEL = 1 , FAILURE_UNIT_SENSOR_MAG = 2 , FAILURE_UNIT_SENSOR_BARO = 3 , FAILURE_UNIT_SENSOR_GPS = 4 , FAILURE_UNIT_SENSOR_OPTICAL_FLOW = 5 , FAILURE_UNIT_SENSOR_VIO = 6 , FAILURE_UNIT_SENSOR_DISTANCE_SENSOR = 7 , FAILURE_UNIT_SENSOR_AIRSPEED = 8 , FAILURE_UNIT_SYSTEM_BATTERY = 100 , FAILURE_UNIT_SYSTEM_MOTOR = 101 , FAILURE_UNIT_SYSTEM_SERVO = 102 , FAILURE_UNIT_SYSTEM_AVOIDANCE = 103 , FAILURE_UNIT_SYSTEM_RC_SIGNAL = 104 , FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL = 105 , } impl FailureUnit { pub const DEFAULT : Self = Self :: FAILURE_UNIT_SENSOR_GYRO ; } impl Default for FailureUnit { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCmd { MAV_CMD_NAV_WAYPOINT = 16 , MAV_CMD_NAV_LOITER_UNLIM = 17 , MAV_CMD_NAV_LOITER_TURNS = 18 , MAV_CMD_NAV_LOITER_TIME = 19 , MAV_CMD_NAV_RETURN_TO_LAUNCH = 20 , MAV_CMD_NAV_LAND = 21 , MAV_CMD_NAV_TAKEOFF = 22 , MAV_CMD_NAV_LAND_LOCAL = 23 , MAV_CMD_NAV_TAKEOFF_LOCAL = 24 , MAV_CMD_NAV_FOLLOW = 25 , MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT = 30 , MAV_CMD_NAV_LOITER_TO_ALT = 31 , MAV_CMD_DO_FOLLOW = 32 , MAV_CMD_DO_FOLLOW_REPOSITION = 33 , MAV_CMD_DO_ORBIT = 34 , MAV_CMD_NAV_ROI = 80 , MAV_CMD_NAV_PATHPLANNING = 81 , MAV_CMD_NAV_SPLINE_WAYPOINT = 82 , MAV_CMD_NAV_VTOL_TAKEOFF = 84 , MAV_CMD_NAV_VTOL_LAND = 85 , MAV_CMD_NAV_GUIDED_ENABLE = 92 , MAV_CMD_NAV_DELAY = 93 , MAV_CMD_NAV_PAYLOAD_PLACE = 94 , MAV_CMD_NAV_LAST = 95 , MAV_CMD_CONDITION_DELAY = 112 , MAV_CMD_CONDITION_CHANGE_ALT = 113 , MAV_CMD_CONDITION_DISTANCE = 114 , MAV_CMD_CONDITION_YAW = 115 , MAV_CMD_CONDITION_LAST = 159 , MAV_CMD_DO_SET_MODE = 176 , MAV_CMD_DO_JUMP = 177 , MAV_CMD_DO_CHANGE_SPEED = 178 , MAV_CMD_DO_SET_HOME = 179 , MAV_CMD_DO_SET_PARAMETER = 180 , MAV_CMD_DO_SET_RELAY = 181 , MAV_CMD_DO_REPEAT_RELAY = 182 , MAV_CMD_DO_SET_SERVO = 183 , MAV_CMD_DO_REPEAT_SERVO = 184 , MAV_CMD_DO_FLIGHTTERMINATION = 185 , MAV_CMD_DO_CHANGE_ALTITUDE = 186 , MAV_CMD_DO_SET_ACTUATOR = 187 , MAV_CMD_DO_LAND_START = 189 , MAV_CMD_DO_RALLY_LAND = 190 , MAV_CMD_DO_GO_AROUND = 191 , MAV_CMD_DO_REPOSITION = 192 , MAV_CMD_DO_PAUSE_CONTINUE = 193 , MAV_CMD_DO_SET_REVERSE = 194 , MAV_CMD_DO_SET_ROI_LOCATION = 195 , MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET = 196 , MAV_CMD_DO_SET_ROI_NONE = 197 , MAV_CMD_DO_SET_ROI_SYSID = 198 , MAV_CMD_DO_CONTROL_VIDEO = 200 , MAV_CMD_DO_SET_ROI = 201 , MAV_CMD_DO_DIGICAM_CONFIGURE = 202 , MAV_CMD_DO_DIGICAM_CONTROL = 203 , MAV_CMD_DO_MOUNT_CONFIGURE = 204 , MAV_CMD_DO_MOUNT_CONTROL = 205 , MAV_CMD_DO_SET_CAM_TRIGG_DIST = 206 , MAV_CMD_DO_FENCE_ENABLE = 207 , MAV_CMD_DO_PARACHUTE = 208 , MAV_CMD_DO_MOTOR_TEST = 209 , MAV_CMD_DO_INVERTED_FLIGHT = 210 , MAV_CMD_DO_GRIPPER = 211 , MAV_CMD_DO_AUTOTUNE_ENABLE = 212 , MAV_CMD_NAV_SET_YAW_SPEED = 213 , MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL = 214 , MAV_CMD_DO_MOUNT_CONTROL_QUAT = 220 , MAV_CMD_DO_GUIDED_MASTER = 221 , MAV_CMD_DO_GUIDED_LIMITS = 222 , MAV_CMD_DO_ENGINE_CONTROL = 223 , MAV_CMD_DO_SET_MISSION_CURRENT = 224 , MAV_CMD_DO_LAST = 240 , MAV_CMD_PREFLIGHT_CALIBRATION = 241 , MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS = 242 , MAV_CMD_PREFLIGHT_UAVCAN = 243 , MAV_CMD_PREFLIGHT_STORAGE = 245 , MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN = 246 , MAV_CMD_OVERRIDE_GOTO = 252 , MAV_CMD_OBLIQUE_SURVEY = 260 , MAV_CMD_MISSION_START = 300 , MAV_CMD_ACTUATOR_TEST = 310 , MAV_CMD_CONFIGURE_ACTUATOR = 311 , MAV_CMD_COMPONENT_ARM_DISARM = 400 , MAV_CMD_RUN_PREARM_CHECKS = 401 , MAV_CMD_ILLUMINATOR_ON_OFF = 405 , MAV_CMD_GET_HOME_POSITION = 410 , MAV_CMD_INJECT_FAILURE = 420 , MAV_CMD_START_RX_PAIR = 500 , MAV_CMD_GET_MESSAGE_INTERVAL = 510 , MAV_CMD_SET_MESSAGE_INTERVAL = 511 , MAV_CMD_REQUEST_MESSAGE = 512 , MAV_CMD_REQUEST_PROTOCOL_VERSION = 519 , MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES = 520 , MAV_CMD_REQUEST_CAMERA_INFORMATION = 521 , MAV_CMD_REQUEST_CAMERA_SETTINGS = 522 , MAV_CMD_REQUEST_STORAGE_INFORMATION = 525 , MAV_CMD_STORAGE_FORMAT = 526 , MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS = 527 , MAV_CMD_REQUEST_FLIGHT_INFORMATION = 528 , MAV_CMD_RESET_CAMERA_SETTINGS = 529 , MAV_CMD_SET_CAMERA_MODE = 530 , MAV_CMD_SET_CAMERA_ZOOM = 531 , MAV_CMD_SET_CAMERA_FOCUS = 532 , MAV_CMD_SET_STORAGE_USAGE = 533 , MAV_CMD_JUMP_TAG = 600 , MAV_CMD_DO_JUMP_TAG = 601 , MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW = 1000 , MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE = 1001 , MAV_CMD_IMAGE_START_CAPTURE = 2000 , MAV_CMD_IMAGE_STOP_CAPTURE = 2001 , MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE = 2002 , MAV_CMD_DO_TRIGGER_CONTROL = 2003 , MAV_CMD_CAMERA_TRACK_POINT = 2004 , MAV_CMD_CAMERA_TRACK_RECTANGLE = 2005 , MAV_CMD_CAMERA_STOP_TRACKING = 2010 , MAV_CMD_VIDEO_START_CAPTURE = 2500 , MAV_CMD_VIDEO_STOP_CAPTURE = 2501 , MAV_CMD_VIDEO_START_STREAMING = 2502 , MAV_CMD_VIDEO_STOP_STREAMING = 2503 , MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION = 2504 , MAV_CMD_REQUEST_VIDEO_STREAM_STATUS = 2505 , MAV_CMD_LOGGING_START = 2510 , MAV_CMD_LOGGING_STOP = 2511 , MAV_CMD_AIRFRAME_CONFIGURATION = 2520 , MAV_CMD_CONTROL_HIGH_LATENCY = 2600 , MAV_CMD_PANORAMA_CREATE = 2800 , MAV_CMD_DO_VTOL_TRANSITION = 3000 , MAV_CMD_ARM_AUTHORIZATION_REQUEST = 3001 , MAV_CMD_SET_GUIDED_SUBMODE_STANDARD = 4000 , MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE = 4001 , MAV_CMD_CONDITION_GATE = 4501 , MAV_CMD_NAV_FENCE_RETURN_POINT = 5000 , MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION = 5001 , MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION = 5002 , MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION = 5003 , MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION = 5004 , MAV_CMD_NAV_RALLY_POINT = 5100 , MAV_CMD_UAVCAN_GET_NODE_INFO = 5200 , MAV_CMD_DO_ADSB_OUT_IDENT = 10001 , MAV_CMD_PAYLOAD_PREPARE_DEPLOY = 30001 , MAV_CMD_PAYLOAD_CONTROL_DEPLOY = 30002 , MAV_CMD_FIXED_MAG_CAL_YAW = 42006 , MAV_CMD_DO_WINCH = 42600 , MAV_CMD_WAYPOINT_USER_1 = 31000 , MAV_CMD_WAYPOINT_USER_2 = 31001 , MAV_CMD_WAYPOINT_USER_3 = 31002 , MAV_CMD_WAYPOINT_USER_4 = 31003 , MAV_CMD_WAYPOINT_USER_5 = 31004 , MAV_CMD_SPATIAL_USER_1 = 31005 , MAV_CMD_SPATIAL_USER_2 = 31006 , MAV_CMD_SPATIAL_USER_3 = 31007 , MAV_CMD_SPATIAL_USER_4 = 31008 , MAV_CMD_SPATIAL_USER_5 = 31009 , MAV_CMD_USER_1 = 31010 , MAV_CMD_USER_2 = 31011 , MAV_CMD_USER_3 = 31012 , MAV_CMD_USER_4 = 31013 , MAV_CMD_USER_5 = 31014 , MAV_CMD_CAN_FORWARD = 32000 , } impl MavCmd { pub const DEFAULT : Self = Self :: MAV_CMD_NAV_WAYPOINT ; } impl Default for MavCmd { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UtmDataAvailFlags : u8 { const UTM_DATA_AVAIL_FLAGS_TIME_VALID = 1 ; const UTM_DATA_AVAIL_FLAGS_UAS_ID_AVAILABLE = 2 ; const UTM_DATA_AVAIL_FLAGS_POSITION_AVAILABLE = 4 ; const UTM_DATA_AVAIL_FLAGS_ALTITUDE_AVAILABLE = 8 ; const UTM_DATA_AVAIL_FLAGS_RELATIVE_ALTITUDE_AVAILABLE = 16 ; const UTM_DATA_AVAIL_FLAGS_HORIZONTAL_VELO_AVAILABLE = 32 ; const UTM_DATA_AVAIL_FLAGS_VERTICAL_VELO_AVAILABLE = 64 ; const UTM_DATA_AVAIL_FLAGS_NEXT_WAYPOINT_AVAILABLE = 128 ; } } impl UtmDataAvailFlags { pub const DEFAULT : Self = Self :: UTM_DATA_AVAIL_FLAGS_TIME_VALID ; } impl Default for UtmDataAvailFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryMode { MAV_BATTERY_MODE_UNKNOWN = 0 , MAV_BATTERY_MODE_AUTO_DISCHARGING = 1 , MAV_BATTERY_MODE_HOT_SWAP = 2 , } impl MavBatteryMode { pub const DEFAULT : Self = Self :: MAV_BATTERY_MODE_UNKNOWN ; } impl Default for MavBatteryMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum StorageUsageFlag { STORAGE_USAGE_FLAG_SET = 1 , STORAGE_USAGE_FLAG_PHOTO = 2 , STORAGE_USAGE_FLAG_VIDEO = 4 , STORAGE_USAGE_FLAG_LOGS = 8 , } impl StorageUsageFlag { pub const DEFAULT : Self = Self :: STORAGE_USAGE_FLAG_SET ; } impl Default for StorageUsageFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavDoRepositionFlags { MAV_DO_REPOSITION_FLAGS_CHANGE_MODE = 1 , } impl MavDoRepositionFlags { pub const DEFAULT : Self = Self :: MAV_DO_REPOSITION_FLAGS_CHANGE_MODE ; } impl Default for MavDoRepositionFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavSeverity { MAV_SEVERITY_EMERGENCY = 0 , MAV_SEVERITY_ALERT = 1 , MAV_SEVERITY_CRITICAL = 2 , MAV_SEVERITY_ERROR = 3 , MAV_SEVERITY_WARNING = 4 , MAV_SEVERITY_NOTICE = 5 , MAV_SEVERITY_INFO = 6 , MAV_SEVERITY_DEBUG = 7 , } impl MavSeverity { pub const DEFAULT : Self = Self :: MAV_SEVERITY_EMERGENCY ; } impl Default for MavSeverity { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidArmStatus { MAV_ODID_ARM_STATUS_GOOD_TO_ARM = 0 , MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC = 1 , } impl MavOdidArmStatus { pub const DEFAULT : Self = Self :: MAV_ODID_ARM_STATUS_GOOD_TO_ARM ; } impl Default for MavOdidArmStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavDataStream { MAV_DATA_STREAM_ALL = 0 , MAV_DATA_STREAM_RAW_SENSORS = 1 , MAV_DATA_STREAM_EXTENDED_STATUS = 2 , MAV_DATA_STREAM_RC_CHANNELS = 3 , MAV_DATA_STREAM_RAW_CONTROLLER = 4 , MAV_DATA_STREAM_POSITION = 6 , MAV_DATA_STREAM_EXTRA1 = 10 , MAV_DATA_STREAM_EXTRA2 = 11 , MAV_DATA_STREAM_EXTRA3 = 12 , } impl MavDataStream { pub const DEFAULT : Self = Self :: MAV_DATA_STREAM_ALL ; } impl Default for MavDataStream { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavFtpErr { MAV_FTP_ERR_NONE = 0 , MAV_FTP_ERR_FAIL = 1 , MAV_FTP_ERR_FAILERRNO = 2 , MAV_FTP_ERR_INVALIDDATASIZE = 3 , MAV_FTP_ERR_INVALIDSESSION = 4 , MAV_FTP_ERR_NOSESSIONSAVAILABLE = 5 , MAV_FTP_ERR_EOF = 6 , MAV_FTP_ERR_UNKNOWNCOMMAND = 7 , MAV_FTP_ERR_FILEEXISTS = 8 , MAV_FTP_ERR_FILEPROTECTED = 9 , MAV_FTP_ERR_FILENOTFOUND = 10 , } impl MavFtpErr { pub const DEFAULT : Self = Self :: MAV_FTP_ERR_NONE ; } impl Default for MavFtpErr { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum WinchActions { WINCH_RELAXED = 0 , WINCH_RELATIVE_LENGTH_CONTROL = 1 , WINCH_RATE_CONTROL = 2 , WINCH_LOCK = 3 , WINCH_DELIVER = 4 , WINCH_HOLD = 5 , WINCH_RETRACT = 6 , WINCH_LOAD_LINE = 7 , WINCH_ABANDON_LINE = 8 , WINCH_LOAD_PAYLOAD = 9 , } impl WinchActions { pub const DEFAULT : Self = Self :: WINCH_RELAXED ; } impl Default for WinchActions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraTrackingTargetData { CAMERA_TRACKING_TARGET_DATA_NONE = 0 , CAMERA_TRACKING_TARGET_DATA_EMBEDDED = 1 , CAMERA_TRACKING_TARGET_DATA_RENDERED = 2 , CAMERA_TRACKING_TARGET_DATA_IN_STATUS = 4 , } impl CameraTrackingTargetData { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_TARGET_DATA_NONE ; } impl Default for CameraTrackingTargetData { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavFrame { MAV_FRAME_GLOBAL = 0 , MAV_FRAME_LOCAL_NED = 1 , MAV_FRAME_MISSION = 2 , MAV_FRAME_GLOBAL_RELATIVE_ALT = 3 , MAV_FRAME_LOCAL_ENU = 4 , MAV_FRAME_GLOBAL_INT = 5 , MAV_FRAME_GLOBAL_RELATIVE_ALT_INT = 6 , MAV_FRAME_LOCAL_OFFSET_NED = 7 , MAV_FRAME_BODY_NED = 8 , MAV_FRAME_BODY_OFFSET_NED = 9 , MAV_FRAME_GLOBAL_TERRAIN_ALT = 10 , MAV_FRAME_GLOBAL_TERRAIN_ALT_INT = 11 , MAV_FRAME_BODY_FRD = 12 , MAV_FRAME_RESERVED_13 = 13 , MAV_FRAME_RESERVED_14 = 14 , MAV_FRAME_RESERVED_15 = 15 , MAV_FRAME_RESERVED_16 = 16 , MAV_FRAME_RESERVED_17 = 17 , MAV_FRAME_RESERVED_18 = 18 , MAV_FRAME_RESERVED_19 = 19 , MAV_FRAME_LOCAL_FRD = 20 , MAV_FRAME_LOCAL_FLU = 21 , } impl MavFrame { pub const DEFAULT : Self = Self :: MAV_FRAME_GLOBAL ; } impl Default for MavFrame { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMissionType { MAV_MISSION_TYPE_MISSION = 0 , MAV_MISSION_TYPE_FENCE = 1 , MAV_MISSION_TYPE_RALLY = 2 , MAV_MISSION_TYPE_ALL = 255 , } impl MavMissionType { pub const DEFAULT : Self = Self :: MAV_MISSION_TYPE_MISSION ; } impl Default for MavMissionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidOperatorIdType { MAV_ODID_OPERATOR_ID_TYPE_CAA = 0 , } impl MavOdidOperatorIdType { pub const DEFAULT : Self = Self :: MAV_ODID_OPERATOR_ID_TYPE_CAA ; } impl Default for MavOdidOperatorIdType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AdsbFlags : u16 { const ADSB_FLAGS_VALID_COORDS = 1 ; const ADSB_FLAGS_VALID_ALTITUDE = 2 ; const ADSB_FLAGS_VALID_HEADING = 4 ; const ADSB_FLAGS_VALID_VELOCITY = 8 ; const ADSB_FLAGS_VALID_CALLSIGN = 16 ; const ADSB_FLAGS_VALID_SQUAWK = 32 ; const ADSB_FLAGS_SIMULATED = 64 ; const ADSB_FLAGS_VERTICAL_VELOCITY_VALID = 128 ; const ADSB_FLAGS_BARO_VALID = 256 ; const ADSB_FLAGS_SOURCE_UAT = 32768 ; } } impl AdsbFlags { pub const DEFAULT : Self = Self :: ADSB_FLAGS_VALID_COORDS ; } impl Default for AdsbFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AdsbEmitterType { ADSB_EMITTER_TYPE_NO_INFO = 0 , ADSB_EMITTER_TYPE_LIGHT = 1 , ADSB_EMITTER_TYPE_SMALL = 2 , ADSB_EMITTER_TYPE_LARGE = 3 , ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE = 4 , ADSB_EMITTER_TYPE_HEAVY = 5 , ADSB_EMITTER_TYPE_HIGHLY_MANUV = 6 , ADSB_EMITTER_TYPE_ROTOCRAFT = 7 , ADSB_EMITTER_TYPE_UNASSIGNED = 8 , ADSB_EMITTER_TYPE_GLIDER = 9 , ADSB_EMITTER_TYPE_LIGHTER_AIR = 10 , ADSB_EMITTER_TYPE_PARACHUTE = 11 , ADSB_EMITTER_TYPE_ULTRA_LIGHT = 12 , ADSB_EMITTER_TYPE_UNASSIGNED2 = 13 , ADSB_EMITTER_TYPE_UAV = 14 , ADSB_EMITTER_TYPE_SPACE = 15 , ADSB_EMITTER_TYPE_UNASSGINED3 = 16 , ADSB_EMITTER_TYPE_EMERGENCY_SURFACE = 17 , ADSB_EMITTER_TYPE_SERVICE_SURFACE = 18 , ADSB_EMITTER_TYPE_POINT_OBSTACLE = 19 , } impl AdsbEmitterType { pub const DEFAULT : Self = Self :: ADSB_EMITTER_TYPE_NO_INFO ; } impl Default for AdsbEmitterType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum OrbitYawBehaviour { ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER = 0 , ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING = 1 , ORBIT_YAW_BEHAVIOUR_UNCONTROLLED = 2 , ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE = 3 , ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED = 4 , } impl OrbitYawBehaviour { pub const DEFAULT : Self = Self :: ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER ; } impl Default for OrbitYawBehaviour { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum WifiConfigApMode { WIFI_CONFIG_AP_MODE_UNDEFINED = 0 , WIFI_CONFIG_AP_MODE_AP = 1 , WIFI_CONFIG_AP_MODE_STATION = 2 , WIFI_CONFIG_AP_MODE_DISABLED = 3 , } impl WifiConfigApMode { pub const DEFAULT : Self = Self :: WIFI_CONFIG_AP_MODE_UNDEFINED ; } impl Default for WifiConfigApMode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PositionTargetTypemask : u16 { const POSITION_TARGET_TYPEMASK_X_IGNORE = 1 ; const POSITION_TARGET_TYPEMASK_Y_IGNORE = 2 ; const POSITION_TARGET_TYPEMASK_Z_IGNORE = 4 ; const POSITION_TARGET_TYPEMASK_VX_IGNORE = 8 ; const POSITION_TARGET_TYPEMASK_VY_IGNORE = 16 ; const POSITION_TARGET_TYPEMASK_VZ_IGNORE = 32 ; const POSITION_TARGET_TYPEMASK_AX_IGNORE = 64 ; const POSITION_TARGET_TYPEMASK_AY_IGNORE = 128 ; const POSITION_TARGET_TYPEMASK_AZ_IGNORE = 256 ; const POSITION_TARGET_TYPEMASK_FORCE_SET = 512 ; const POSITION_TARGET_TYPEMASK_YAW_IGNORE = 1024 ; const POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE = 2048 ; } } impl PositionTargetTypemask { pub const DEFAULT : Self = Self :: POSITION_TARGET_TYPEMASK_X_IGNORE ; } impl Default for PositionTargetTypemask { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum StorageStatus { STORAGE_STATUS_EMPTY = 0 , STORAGE_STATUS_UNFORMATTED = 1 , STORAGE_STATUS_READY = 2 , STORAGE_STATUS_NOT_SUPPORTED = 3 , } impl StorageStatus { pub const DEFAULT : Self = Self :: STORAGE_STATUS_EMPTY ; } impl Default for StorageStatus { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AttitudeTargetTypemask : u8 { const ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE = 1 ; const ATTITUDE_TARGET_TYPEMASK_BODY_PITCH_RATE_IGNORE = 2 ; const ATTITUDE_TARGET_TYPEMASK_BODY_YAW_RATE_IGNORE = 4 ; const ATTITUDE_TARGET_TYPEMASK_THRUST_BODY_SET = 32 ; const ATTITUDE_TARGET_TYPEMASK_THROTTLE_IGNORE = 64 ; const ATTITUDE_TARGET_TYPEMASK_ATTITUDE_IGNORE = 128 ; } } impl AttitudeTargetTypemask { pub const DEFAULT : Self = Self :: ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE ; } impl Default for AttitudeTargetTypemask { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavVtolState { MAV_VTOL_STATE_UNDEFINED = 0 , MAV_VTOL_STATE_TRANSITION_TO_FW = 1 , MAV_VTOL_STATE_TRANSITION_TO_MC = 2 , MAV_VTOL_STATE_MC = 3 , MAV_VTOL_STATE_FW = 4 , } impl MavVtolState { pub const DEFAULT : Self = Self :: MAV_VTOL_STATE_UNDEFINED ; } impl Default for MavVtolState { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavProtocolCapability : u64 { const MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT = 1 ; const MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT = 2 ; const MAV_PROTOCOL_CAPABILITY_MISSION_INT = 4 ; const MAV_PROTOCOL_CAPABILITY_COMMAND_INT = 8 ; const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE = 16 ; const MAV_PROTOCOL_CAPABILITY_FTP = 32 ; const MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET = 64 ; const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED = 128 ; const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT = 256 ; const MAV_PROTOCOL_CAPABILITY_TERRAIN = 512 ; const MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET = 1024 ; const MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION = 2048 ; const MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION = 4096 ; const MAV_PROTOCOL_CAPABILITY_MAVLINK2 = 8192 ; const MAV_PROTOCOL_CAPABILITY_MISSION_FENCE = 16384 ; const MAV_PROTOCOL_CAPABILITY_MISSION_RALLY = 32768 ; const MAV_PROTOCOL_CAPABILITY_RESERVED2 = 65536 ; const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST = 131072 ; } } impl MavProtocolCapability { pub const DEFAULT : Self = Self :: MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT ; } impl Default for MavProtocolCapability { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalManagerCapFlags : u32 { const GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT = 1 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_NEUTRAL = 2 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_AXIS = 4 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_FOLLOW = 8 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_LOCK = 16 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_AXIS = 32 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_FOLLOW = 64 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_LOCK = 128 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_AXIS = 256 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_FOLLOW = 512 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_LOCK = 1024 ; const GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_INFINITE_YAW = 2048 ; const GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME = 4096 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_RC_INPUTS = 8192 ; const GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_LOCAL = 65536 ; const GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_GLOBAL = 131072 ; } } impl GimbalManagerCapFlags { pub const DEFAULT : Self = Self :: GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT ; } impl Default for GimbalManagerCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GimbalManagerFlags { GIMBAL_MANAGER_FLAGS_RETRACT = 1 , GIMBAL_MANAGER_FLAGS_NEUTRAL = 2 , GIMBAL_MANAGER_FLAGS_ROLL_LOCK = 4 , GIMBAL_MANAGER_FLAGS_PITCH_LOCK = 8 , GIMBAL_MANAGER_FLAGS_YAW_LOCK = 16 , GIMBAL_MANAGER_FLAGS_YAW_IN_VEHICLE_FRAME = 32 , GIMBAL_MANAGER_FLAGS_YAW_IN_EARTH_FRAME = 64 , GIMBAL_MANAGER_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME = 128 , GIMBAL_MANAGER_FLAGS_RC_EXCLUSIVE = 256 , GIMBAL_MANAGER_FLAGS_RC_MIXED = 512 , } impl GimbalManagerFlags { pub const DEFAULT : Self = Self :: GIMBAL_MANAGER_FLAGS_RETRACT ; } impl Default for GimbalManagerFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum StorageType { STORAGE_TYPE_UNKNOWN = 0 , STORAGE_TYPE_USB_STICK = 1 , STORAGE_TYPE_SD = 2 , STORAGE_TYPE_MICROSD = 3 , STORAGE_TYPE_CF = 4 , STORAGE_TYPE_CFE = 5 , STORAGE_TYPE_XQD = 6 , STORAGE_TYPE_HD = 7 , STORAGE_TYPE_OTHER = 254 , } impl StorageType { pub const DEFAULT : Self = Self :: STORAGE_TYPE_UNKNOWN ; } impl Default for StorageType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MotorTestOrder { MOTOR_TEST_ORDER_DEFAULT = 0 , MOTOR_TEST_ORDER_SEQUENCE = 1 , MOTOR_TEST_ORDER_BOARD = 2 , } impl MotorTestOrder { pub const DEFAULT : Self = Self :: MOTOR_TEST_ORDER_DEFAULT ; } impl Default for MotorTestOrder { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CellularNetworkFailedReason { CELLULAR_NETWORK_FAILED_REASON_NONE = 0 , CELLULAR_NETWORK_FAILED_REASON_UNKNOWN = 1 , CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING = 2 , CELLULAR_NETWORK_FAILED_REASON_SIM_ERROR = 3 , } impl CellularNetworkFailedReason { pub const DEFAULT : Self = Self :: CELLULAR_NETWORK_FAILED_REASON_NONE ; } impl Default for CellularNetworkFailedReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavSysStatusSensorExtended { MAV_SYS_STATUS_RECOVERY_SYSTEM = 1 , } impl MavSysStatusSensorExtended { pub const DEFAULT : Self = Self :: MAV_SYS_STATUS_RECOVERY_SYSTEM ; } impl Default for MavSysStatusSensorExtended { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavState { MAV_STATE_UNINIT = 0 , MAV_STATE_BOOT = 1 , MAV_STATE_CALIBRATING = 2 , MAV_STATE_STANDBY = 3 , MAV_STATE_ACTIVE = 4 , MAV_STATE_CRITICAL = 5 , MAV_STATE_EMERGENCY = 6 , MAV_STATE_POWEROFF = 7 , MAV_STATE_FLIGHT_TERMINATION = 8 , } impl MavState { pub const DEFAULT : Self = Self :: MAV_STATE_UNINIT ; } impl Default for MavState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum ActuatorOutputFunction { ACTUATOR_OUTPUT_FUNCTION_NONE = 0 , ACTUATOR_OUTPUT_FUNCTION_MOTOR1 = 1 , ACTUATOR_OUTPUT_FUNCTION_MOTOR2 = 2 , ACTUATOR_OUTPUT_FUNCTION_MOTOR3 = 3 , ACTUATOR_OUTPUT_FUNCTION_MOTOR4 = 4 , ACTUATOR_OUTPUT_FUNCTION_MOTOR5 = 5 , ACTUATOR_OUTPUT_FUNCTION_MOTOR6 = 6 , ACTUATOR_OUTPUT_FUNCTION_MOTOR7 = 7 , ACTUATOR_OUTPUT_FUNCTION_MOTOR8 = 8 , ACTUATOR_OUTPUT_FUNCTION_MOTOR9 = 9 , ACTUATOR_OUTPUT_FUNCTION_MOTOR10 = 10 , ACTUATOR_OUTPUT_FUNCTION_MOTOR11 = 11 , ACTUATOR_OUTPUT_FUNCTION_MOTOR12 = 12 , ACTUATOR_OUTPUT_FUNCTION_MOTOR13 = 13 , ACTUATOR_OUTPUT_FUNCTION_MOTOR14 = 14 , ACTUATOR_OUTPUT_FUNCTION_MOTOR15 = 15 , ACTUATOR_OUTPUT_FUNCTION_MOTOR16 = 16 , ACTUATOR_OUTPUT_FUNCTION_SERVO1 = 33 , ACTUATOR_OUTPUT_FUNCTION_SERVO2 = 34 , ACTUATOR_OUTPUT_FUNCTION_SERVO3 = 35 , ACTUATOR_OUTPUT_FUNCTION_SERVO4 = 36 , ACTUATOR_OUTPUT_FUNCTION_SERVO5 = 37 , ACTUATOR_OUTPUT_FUNCTION_SERVO6 = 38 , ACTUATOR_OUTPUT_FUNCTION_SERVO7 = 39 , ACTUATOR_OUTPUT_FUNCTION_SERVO8 = 40 , ACTUATOR_OUTPUT_FUNCTION_SERVO9 = 41 , ACTUATOR_OUTPUT_FUNCTION_SERVO10 = 42 , ACTUATOR_OUTPUT_FUNCTION_SERVO11 = 43 , ACTUATOR_OUTPUT_FUNCTION_SERVO12 = 44 , ACTUATOR_OUTPUT_FUNCTION_SERVO13 = 45 , ACTUATOR_OUTPUT_FUNCTION_SERVO14 = 46 , ACTUATOR_OUTPUT_FUNCTION_SERVO15 = 47 , ACTUATOR_OUTPUT_FUNCTION_SERVO16 = 48 , } impl ActuatorOutputFunction { pub const DEFAULT : Self = Self :: ACTUATOR_OUTPUT_FUNCTION_NONE ; } impl Default for ActuatorOutputFunction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidDescType { MAV_ODID_DESC_TYPE_TEXT = 0 , MAV_ODID_DESC_TYPE_EMERGENCY = 1 , MAV_ODID_DESC_TYPE_EXTENDED_STATUS = 2 , } impl MavOdidDescType { pub const DEFAULT : Self = Self :: MAV_ODID_DESC_TYPE_TEXT ; } impl Default for MavOdidDescType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavGeneratorStatusFlag : u64 { const MAV_GENERATOR_STATUS_FLAG_OFF = 1 ; const MAV_GENERATOR_STATUS_FLAG_READY = 2 ; const MAV_GENERATOR_STATUS_FLAG_GENERATING = 4 ; const MAV_GENERATOR_STATUS_FLAG_CHARGING = 8 ; const MAV_GENERATOR_STATUS_FLAG_REDUCED_POWER = 16 ; const MAV_GENERATOR_STATUS_FLAG_MAXPOWER = 32 ; const MAV_GENERATOR_STATUS_FLAG_OVERTEMP_WARNING = 64 ; const MAV_GENERATOR_STATUS_FLAG_OVERTEMP_FAULT = 128 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_WARNING = 256 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_FAULT = 512 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_FAULT = 1024 ; const MAV_GENERATOR_STATUS_FLAG_POWERSOURCE_FAULT = 2048 ; const MAV_GENERATOR_STATUS_FLAG_COMMUNICATION_WARNING = 4096 ; const MAV_GENERATOR_STATUS_FLAG_COOLING_WARNING = 8192 ; const MAV_GENERATOR_STATUS_FLAG_POWER_RAIL_FAULT = 16384 ; const MAV_GENERATOR_STATUS_FLAG_OVERCURRENT_FAULT = 32768 ; const MAV_GENERATOR_STATUS_FLAG_BATTERY_OVERCHARGE_CURRENT_FAULT = 65536 ; const MAV_GENERATOR_STATUS_FLAG_OVERVOLTAGE_FAULT = 131072 ; const MAV_GENERATOR_STATUS_FLAG_BATTERY_UNDERVOLT_FAULT = 262144 ; const MAV_GENERATOR_STATUS_FLAG_START_INHIBITED = 524288 ; const MAV_GENERATOR_STATUS_FLAG_MAINTENANCE_REQUIRED = 1048576 ; const MAV_GENERATOR_STATUS_FLAG_WARMING_UP = 2097152 ; const MAV_GENERATOR_STATUS_FLAG_IDLE = 4194304 ; } } impl MavGeneratorStatusFlag { pub const DEFAULT : Self = Self :: MAV_GENERATOR_STATUS_FLAG_OFF ; } impl Default for MavGeneratorStatusFlag { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HilSensorUpdatedFlags : u32 { const HIL_SENSOR_UPDATED_NONE = 0 ; const HIL_SENSOR_UPDATED_XACC = 1 ; const HIL_SENSOR_UPDATED_YACC = 2 ; const HIL_SENSOR_UPDATED_ZACC = 4 ; const HIL_SENSOR_UPDATED_XGYRO = 8 ; const HIL_SENSOR_UPDATED_YGYRO = 16 ; const HIL_SENSOR_UPDATED_ZGYRO = 32 ; const HIL_SENSOR_UPDATED_XMAG = 64 ; const HIL_SENSOR_UPDATED_YMAG = 128 ; const HIL_SENSOR_UPDATED_ZMAG = 256 ; const HIL_SENSOR_UPDATED_ABS_PRESSURE = 512 ; const HIL_SENSOR_UPDATED_DIFF_PRESSURE = 1024 ; const HIL_SENSOR_UPDATED_PRESSURE_ALT = 2048 ; const HIL_SENSOR_UPDATED_TEMPERATURE = 4096 ; const HIL_SENSOR_UPDATED_RESET = 2147483648 ; } } impl HilSensorUpdatedFlags { pub const DEFAULT : Self = Self :: HIL_SENSOR_UPDATED_NONE ; } impl Default for HilSensorUpdatedFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavEventCurrentSequenceFlags : u8 { const MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET = 1 ; } } impl MavEventCurrentSequenceFlags { pub const DEFAULT : Self = Self :: MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET ; } impl Default for MavEventCurrentSequenceFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavComponent { MAV_COMP_ID_ALL = 0 , MAV_COMP_ID_AUTOPILOT1 = 1 , MAV_COMP_ID_USER1 = 25 , MAV_COMP_ID_USER2 = 26 , MAV_COMP_ID_USER3 = 27 , MAV_COMP_ID_USER4 = 28 , MAV_COMP_ID_USER5 = 29 , MAV_COMP_ID_USER6 = 30 , MAV_COMP_ID_USER7 = 31 , MAV_COMP_ID_USER8 = 32 , MAV_COMP_ID_USER9 = 33 , MAV_COMP_ID_USER10 = 34 , MAV_COMP_ID_USER11 = 35 , MAV_COMP_ID_USER12 = 36 , MAV_COMP_ID_USER13 = 37 , MAV_COMP_ID_USER14 = 38 , MAV_COMP_ID_USER15 = 39 , MAV_COMP_ID_USER16 = 40 , MAV_COMP_ID_USER17 = 41 , MAV_COMP_ID_USER18 = 42 , MAV_COMP_ID_USER19 = 43 , MAV_COMP_ID_USER20 = 44 , MAV_COMP_ID_USER21 = 45 , MAV_COMP_ID_USER22 = 46 , MAV_COMP_ID_USER23 = 47 , MAV_COMP_ID_USER24 = 48 , MAV_COMP_ID_USER25 = 49 , MAV_COMP_ID_USER26 = 50 , MAV_COMP_ID_USER27 = 51 , MAV_COMP_ID_USER28 = 52 , MAV_COMP_ID_USER29 = 53 , MAV_COMP_ID_USER30 = 54 , MAV_COMP_ID_USER31 = 55 , MAV_COMP_ID_USER32 = 56 , MAV_COMP_ID_USER33 = 57 , MAV_COMP_ID_USER34 = 58 , MAV_COMP_ID_USER35 = 59 , MAV_COMP_ID_USER36 = 60 , MAV_COMP_ID_USER37 = 61 , MAV_COMP_ID_USER38 = 62 , MAV_COMP_ID_USER39 = 63 , MAV_COMP_ID_USER40 = 64 , MAV_COMP_ID_USER41 = 65 , MAV_COMP_ID_USER42 = 66 , MAV_COMP_ID_USER43 = 67 , MAV_COMP_ID_TELEMETRY_RADIO = 68 , MAV_COMP_ID_USER45 = 69 , MAV_COMP_ID_USER46 = 70 , MAV_COMP_ID_USER47 = 71 , MAV_COMP_ID_USER48 = 72 , MAV_COMP_ID_USER49 = 73 , MAV_COMP_ID_USER50 = 74 , MAV_COMP_ID_USER51 = 75 , MAV_COMP_ID_USER52 = 76 , MAV_COMP_ID_USER53 = 77 , MAV_COMP_ID_USER54 = 78 , MAV_COMP_ID_USER55 = 79 , MAV_COMP_ID_USER56 = 80 , MAV_COMP_ID_USER57 = 81 , MAV_COMP_ID_USER58 = 82 , MAV_COMP_ID_USER59 = 83 , MAV_COMP_ID_USER60 = 84 , MAV_COMP_ID_USER61 = 85 , MAV_COMP_ID_USER62 = 86 , MAV_COMP_ID_USER63 = 87 , MAV_COMP_ID_USER64 = 88 , MAV_COMP_ID_USER65 = 89 , MAV_COMP_ID_USER66 = 90 , MAV_COMP_ID_USER67 = 91 , MAV_COMP_ID_USER68 = 92 , MAV_COMP_ID_USER69 = 93 , MAV_COMP_ID_USER70 = 94 , MAV_COMP_ID_USER71 = 95 , MAV_COMP_ID_USER72 = 96 , MAV_COMP_ID_USER73 = 97 , MAV_COMP_ID_USER74 = 98 , MAV_COMP_ID_USER75 = 99 , MAV_COMP_ID_CAMERA = 100 , MAV_COMP_ID_CAMERA2 = 101 , MAV_COMP_ID_CAMERA3 = 102 , MAV_COMP_ID_CAMERA4 = 103 , MAV_COMP_ID_CAMERA5 = 104 , MAV_COMP_ID_CAMERA6 = 105 , MAV_COMP_ID_SERVO1 = 140 , MAV_COMP_ID_SERVO2 = 141 , MAV_COMP_ID_SERVO3 = 142 , MAV_COMP_ID_SERVO4 = 143 , MAV_COMP_ID_SERVO5 = 144 , MAV_COMP_ID_SERVO6 = 145 , MAV_COMP_ID_SERVO7 = 146 , MAV_COMP_ID_SERVO8 = 147 , MAV_COMP_ID_SERVO9 = 148 , MAV_COMP_ID_SERVO10 = 149 , MAV_COMP_ID_SERVO11 = 150 , MAV_COMP_ID_SERVO12 = 151 , MAV_COMP_ID_SERVO13 = 152 , MAV_COMP_ID_SERVO14 = 153 , MAV_COMP_ID_GIMBAL = 154 , MAV_COMP_ID_LOG = 155 , MAV_COMP_ID_ADSB = 156 , MAV_COMP_ID_OSD = 157 , MAV_COMP_ID_PERIPHERAL = 158 , MAV_COMP_ID_QX1_GIMBAL = 159 , MAV_COMP_ID_FLARM = 160 , MAV_COMP_ID_PARACHUTE = 161 , MAV_COMP_ID_WINCH = 169 , MAV_COMP_ID_GIMBAL2 = 171 , MAV_COMP_ID_GIMBAL3 = 172 , MAV_COMP_ID_GIMBAL4 = 173 , MAV_COMP_ID_GIMBAL5 = 174 , MAV_COMP_ID_GIMBAL6 = 175 , MAV_COMP_ID_BATTERY = 180 , MAV_COMP_ID_BATTERY2 = 181 , MAV_COMP_ID_MAVCAN = 189 , MAV_COMP_ID_MISSIONPLANNER = 190 , MAV_COMP_ID_ONBOARD_COMPUTER = 191 , MAV_COMP_ID_ONBOARD_COMPUTER2 = 192 , MAV_COMP_ID_ONBOARD_COMPUTER3 = 193 , MAV_COMP_ID_ONBOARD_COMPUTER4 = 194 , MAV_COMP_ID_PATHPLANNER = 195 , MAV_COMP_ID_OBSTACLE_AVOIDANCE = 196 , MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY = 197 , MAV_COMP_ID_PAIRING_MANAGER = 198 , MAV_COMP_ID_IMU = 200 , MAV_COMP_ID_IMU_2 = 201 , MAV_COMP_ID_IMU_3 = 202 , MAV_COMP_ID_GPS = 220 , MAV_COMP_ID_GPS2 = 221 , MAV_COMP_ID_ODID_TXRX_1 = 236 , MAV_COMP_ID_ODID_TXRX_2 = 237 , MAV_COMP_ID_ODID_TXRX_3 = 238 , MAV_COMP_ID_UDP_BRIDGE = 240 , MAV_COMP_ID_UART_BRIDGE = 241 , MAV_COMP_ID_TUNNEL_NODE = 242 , MAV_COMP_ID_SYSTEM_CONTROL = 250 , } impl MavComponent { pub const DEFAULT : Self = Self :: MAV_COMP_ID_ALL ; } impl Default for MavComponent { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AdsbAltitudeType { ADSB_ALTITUDE_TYPE_PRESSURE_QNH = 0 , ADSB_ALTITUDE_TYPE_GEOMETRIC = 1 , } impl AdsbAltitudeType { pub const DEFAULT : Self = Self :: ADSB_ALTITUDE_TYPE_PRESSURE_QNH ; } impl Default for AdsbAltitudeType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum VideoStreamType { VIDEO_STREAM_TYPE_RTSP = 0 , VIDEO_STREAM_TYPE_RTPUDP = 1 , VIDEO_STREAM_TYPE_TCP_MPEG = 2 , VIDEO_STREAM_TYPE_MPEG_TS_H264 = 3 , } impl VideoStreamType { pub const DEFAULT : Self = Self :: VIDEO_STREAM_TYPE_RTSP ; } impl Default for VideoStreamType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AisFlags : u16 { const AIS_FLAGS_POSITION_ACCURACY = 1 ; const AIS_FLAGS_VALID_COG = 2 ; const AIS_FLAGS_VALID_VELOCITY = 4 ; const AIS_FLAGS_HIGH_VELOCITY = 8 ; const AIS_FLAGS_VALID_TURN_RATE = 16 ; const AIS_FLAGS_TURN_RATE_SIGN_ONLY = 32 ; const AIS_FLAGS_VALID_DIMENSIONS = 64 ; const AIS_FLAGS_LARGE_BOW_DIMENSION = 128 ; const AIS_FLAGS_LARGE_STERN_DIMENSION = 256 ; const AIS_FLAGS_LARGE_PORT_DIMENSION = 512 ; const AIS_FLAGS_LARGE_STARBOARD_DIMENSION = 1024 ; const AIS_FLAGS_VALID_CALLSIGN = 2048 ; const AIS_FLAGS_VALID_NAME = 4096 ; } } impl AisFlags { pub const DEFAULT : Self = Self :: AIS_FLAGS_POSITION_ACCURACY ; } impl Default for AisFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavGoto { MAV_GOTO_DO_HOLD = 0 , MAV_GOTO_DO_CONTINUE = 1 , MAV_GOTO_HOLD_AT_CURRENT_POSITION = 2 , MAV_GOTO_HOLD_AT_SPECIFIED_POSITION = 3 , } impl MavGoto { pub const DEFAULT : Self = Self :: MAV_GOTO_DO_HOLD ; } impl Default for MavGoto { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum SerialControlDev { SERIAL_CONTROL_DEV_TELEM1 = 0 , SERIAL_CONTROL_DEV_TELEM2 = 1 , SERIAL_CONTROL_DEV_GPS1 = 2 , SERIAL_CONTROL_DEV_GPS2 = 3 , SERIAL_CONTROL_DEV_SHELL = 10 , SERIAL_CONTROL_SERIAL0 = 100 , SERIAL_CONTROL_SERIAL1 = 101 , SERIAL_CONTROL_SERIAL2 = 102 , SERIAL_CONTROL_SERIAL3 = 103 , SERIAL_CONTROL_SERIAL4 = 104 , SERIAL_CONTROL_SERIAL5 = 105 , SERIAL_CONTROL_SERIAL6 = 106 , SERIAL_CONTROL_SERIAL7 = 107 , SERIAL_CONTROL_SERIAL8 = 108 , SERIAL_CONTROL_SERIAL9 = 109 , } impl SerialControlDev { pub const DEFAULT : Self = Self :: SERIAL_CONTROL_DEV_TELEM1 ; } impl Default for SerialControlDev { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavWinchStatusFlag : u32 { const MAV_WINCH_STATUS_HEALTHY = 1 ; const MAV_WINCH_STATUS_FULLY_RETRACTED = 2 ; const MAV_WINCH_STATUS_MOVING = 4 ; const MAV_WINCH_STATUS_CLUTCH_ENGAGED = 8 ; const MAV_WINCH_STATUS_LOCKED = 16 ; const MAV_WINCH_STATUS_DROPPING = 32 ; const MAV_WINCH_STATUS_ARRESTING = 64 ; const MAV_WINCH_STATUS_GROUND_SENSE = 128 ; const MAV_WINCH_STATUS_RETRACTING = 256 ; const MAV_WINCH_STATUS_REDELIVER = 512 ; const MAV_WINCH_STATUS_ABANDON_LINE = 1024 ; const MAV_WINCH_STATUS_LOCKING = 2048 ; const MAV_WINCH_STATUS_LOAD_LINE = 4096 ; const MAV_WINCH_STATUS_LOAD_PAYLOAD = 8192 ; } } impl MavWinchStatusFlag { pub const DEFAULT : Self = Self :: MAV_WINCH_STATUS_HEALTHY ; } impl Default for MavWinchStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FenceMitigate { FENCE_MITIGATE_UNKNOWN = 0 , FENCE_MITIGATE_NONE = 1 , FENCE_MITIGATE_VEL_LIMIT = 2 , } impl FenceMitigate { pub const DEFAULT : Self = Self :: FENCE_MITIGATE_UNKNOWN ; } impl Default for FenceMitigate { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavEstimatorType { MAV_ESTIMATOR_TYPE_UNKNOWN = 0 , MAV_ESTIMATOR_TYPE_NAIVE = 1 , MAV_ESTIMATOR_TYPE_VISION = 2 , MAV_ESTIMATOR_TYPE_VIO = 3 , MAV_ESTIMATOR_TYPE_GPS = 4 , MAV_ESTIMATOR_TYPE_GPS_INS = 5 , MAV_ESTIMATOR_TYPE_MOCAP = 6 , MAV_ESTIMATOR_TYPE_LIDAR = 7 , MAV_ESTIMATOR_TYPE_AUTOPILOT = 8 , } impl MavEstimatorType { pub const DEFAULT : Self = Self :: MAV_ESTIMATOR_TYPE_UNKNOWN ; } impl Default for MavEstimatorType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryChargeState { MAV_BATTERY_CHARGE_STATE_UNDEFINED = 0 , MAV_BATTERY_CHARGE_STATE_OK = 1 , MAV_BATTERY_CHARGE_STATE_LOW = 2 , MAV_BATTERY_CHARGE_STATE_CRITICAL = 3 , MAV_BATTERY_CHARGE_STATE_EMERGENCY = 4 , MAV_BATTERY_CHARGE_STATE_FAILED = 5 , MAV_BATTERY_CHARGE_STATE_UNHEALTHY = 6 , MAV_BATTERY_CHARGE_STATE_CHARGING = 7 , } impl MavBatteryChargeState { pub const DEFAULT : Self = Self :: MAV_BATTERY_CHARGE_STATE_UNDEFINED ; } impl Default for MavBatteryChargeState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GpsFixType { GPS_FIX_TYPE_NO_GPS = 0 , GPS_FIX_TYPE_NO_FIX = 1 , GPS_FIX_TYPE_2D_FIX = 2 , GPS_FIX_TYPE_3D_FIX = 3 , GPS_FIX_TYPE_DGPS = 4 , GPS_FIX_TYPE_RTK_FLOAT = 5 , GPS_FIX_TYPE_RTK_FIXED = 6 , GPS_FIX_TYPE_STATIC = 7 , GPS_FIX_TYPE_PPP = 8 , } impl GpsFixType { pub const DEFAULT : Self = Self :: GPS_FIX_TYPE_NO_GPS ; } impl Default for GpsFixType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum VideoStreamStatusFlags { VIDEO_STREAM_STATUS_FLAGS_RUNNING = 1 , VIDEO_STREAM_STATUS_FLAGS_THERMAL = 2 , } impl VideoStreamStatusFlags { pub const DEFAULT : Self = Self :: VIDEO_STREAM_STATUS_FLAGS_RUNNING ; } impl Default for VideoStreamStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCollisionSrc { MAV_COLLISION_SRC_ADSB = 0 , MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT = 1 , } impl MavCollisionSrc { pub const DEFAULT : Self = Self :: MAV_COLLISION_SRC_ADSB ; } impl Default for MavCollisionSrc { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceErrorFlags : u32 { const GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT = 1 ; const GIMBAL_DEVICE_ERROR_FLAGS_AT_PITCH_LIMIT = 2 ; const GIMBAL_DEVICE_ERROR_FLAGS_AT_YAW_LIMIT = 4 ; const GIMBAL_DEVICE_ERROR_FLAGS_ENCODER_ERROR = 8 ; const GIMBAL_DEVICE_ERROR_FLAGS_POWER_ERROR = 16 ; const GIMBAL_DEVICE_ERROR_FLAGS_MOTOR_ERROR = 32 ; const GIMBAL_DEVICE_ERROR_FLAGS_SOFTWARE_ERROR = 64 ; const GIMBAL_DEVICE_ERROR_FLAGS_COMMS_ERROR = 128 ; const GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING = 256 ; const GIMBAL_DEVICE_ERROR_FLAGS_NO_MANAGER = 512 ; } } impl GimbalDeviceErrorFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT ; } impl Default for GimbalDeviceErrorFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavSensorOrientation { MAV_SENSOR_ROTATION_NONE = 0 , MAV_SENSOR_ROTATION_YAW_45 = 1 , MAV_SENSOR_ROTATION_YAW_90 = 2 , MAV_SENSOR_ROTATION_YAW_135 = 3 , MAV_SENSOR_ROTATION_YAW_180 = 4 , MAV_SENSOR_ROTATION_YAW_225 = 5 , MAV_SENSOR_ROTATION_YAW_270 = 6 , MAV_SENSOR_ROTATION_YAW_315 = 7 , MAV_SENSOR_ROTATION_ROLL_180 = 8 , MAV_SENSOR_ROTATION_ROLL_180_YAW_45 = 9 , MAV_SENSOR_ROTATION_ROLL_180_YAW_90 = 10 , MAV_SENSOR_ROTATION_ROLL_180_YAW_135 = 11 , MAV_SENSOR_ROTATION_PITCH_180 = 12 , MAV_SENSOR_ROTATION_ROLL_180_YAW_225 = 13 , MAV_SENSOR_ROTATION_ROLL_180_YAW_270 = 14 , MAV_SENSOR_ROTATION_ROLL_180_YAW_315 = 15 , MAV_SENSOR_ROTATION_ROLL_90 = 16 , MAV_SENSOR_ROTATION_ROLL_90_YAW_45 = 17 , MAV_SENSOR_ROTATION_ROLL_90_YAW_90 = 18 , MAV_SENSOR_ROTATION_ROLL_90_YAW_135 = 19 , MAV_SENSOR_ROTATION_ROLL_270 = 20 , MAV_SENSOR_ROTATION_ROLL_270_YAW_45 = 21 , MAV_SENSOR_ROTATION_ROLL_270_YAW_90 = 22 , MAV_SENSOR_ROTATION_ROLL_270_YAW_135 = 23 , MAV_SENSOR_ROTATION_PITCH_90 = 24 , MAV_SENSOR_ROTATION_PITCH_270 = 25 , MAV_SENSOR_ROTATION_PITCH_180_YAW_90 = 26 , MAV_SENSOR_ROTATION_PITCH_180_YAW_270 = 27 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_90 = 28 , MAV_SENSOR_ROTATION_ROLL_180_PITCH_90 = 29 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_90 = 30 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_180 = 31 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_180 = 32 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_270 = 33 , MAV_SENSOR_ROTATION_ROLL_180_PITCH_270 = 34 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_270 = 35 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_180_YAW_90 = 36 , MAV_SENSOR_ROTATION_ROLL_90_YAW_270 = 37 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_68_YAW_293 = 38 , MAV_SENSOR_ROTATION_PITCH_315 = 39 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_315 = 40 , MAV_SENSOR_ROTATION_CUSTOM = 100 , } impl MavSensorOrientation { pub const DEFAULT : Self = Self :: MAV_SENSOR_ROTATION_NONE ; } impl Default for MavSensorOrientation { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EstimatorStatusFlags : u16 { const ESTIMATOR_ATTITUDE = 1 ; const ESTIMATOR_VELOCITY_HORIZ = 2 ; const ESTIMATOR_VELOCITY_VERT = 4 ; const ESTIMATOR_POS_HORIZ_REL = 8 ; const ESTIMATOR_POS_HORIZ_ABS = 16 ; const ESTIMATOR_POS_VERT_ABS = 32 ; const ESTIMATOR_POS_VERT_AGL = 64 ; const ESTIMATOR_CONST_POS_MODE = 128 ; const ESTIMATOR_PRED_POS_HORIZ_REL = 256 ; const ESTIMATOR_PRED_POS_HORIZ_ABS = 512 ; const ESTIMATOR_GPS_GLITCH = 1024 ; const ESTIMATOR_ACCEL_ERROR = 2048 ; } } impl EstimatorStatusFlags { pub const DEFAULT : Self = Self :: ESTIMATOR_ATTITUDE ; } impl Default for EstimatorStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraZoomType { ZOOM_TYPE_STEP = 0 , ZOOM_TYPE_CONTINUOUS = 1 , ZOOM_TYPE_RANGE = 2 , ZOOM_TYPE_FOCAL_LENGTH = 3 , } impl CameraZoomType { pub const DEFAULT : Self = Self :: ZOOM_TYPE_STEP ; } impl Default for CameraZoomType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavFtpOpcode { MAV_FTP_OPCODE_NONE = 0 , MAV_FTP_OPCODE_TERMINATESESSION = 1 , MAV_FTP_OPCODE_RESETSESSION = 2 , MAV_FTP_OPCODE_LISTDIRECTORY = 3 , MAV_FTP_OPCODE_OPENFILERO = 4 , MAV_FTP_OPCODE_READFILE = 5 , MAV_FTP_OPCODE_CREATEFILE = 6 , MAV_FTP_OPCODE_WRITEFILE = 7 , MAV_FTP_OPCODE_REMOVEFILE = 8 , MAV_FTP_OPCODE_CREATEDIRECTORY = 9 , MAV_FTP_OPCODE_REMOVEDIRECTORY = 10 , MAV_FTP_OPCODE_OPENFILEWO = 11 , MAV_FTP_OPCODE_TRUNCATEFILE = 12 , MAV_FTP_OPCODE_RENAME = 13 , MAV_FTP_OPCODE_CALCFILECRC = 14 , MAV_FTP_OPCODE_BURSTREADFILE = 15 , MAV_FTP_OPCODE_ACK = 128 , MAV_FTP_OPCODE_NAK = 129 , } impl MavFtpOpcode { pub const DEFAULT : Self = Self :: MAV_FTP_OPCODE_NONE ; } impl Default for MavFtpOpcode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCmdAck { MAV_CMD_ACK_OK = 0 , MAV_CMD_ACK_ERR_FAIL = 1 , MAV_CMD_ACK_ERR_ACCESS_DENIED = 2 , MAV_CMD_ACK_ERR_NOT_SUPPORTED = 3 , MAV_CMD_ACK_ERR_COORDINATE_FRAME_NOT_SUPPORTED = 4 , MAV_CMD_ACK_ERR_COORDINATES_OUT_OF_RANGE = 5 , MAV_CMD_ACK_ERR_X_LAT_OUT_OF_RANGE = 6 , MAV_CMD_ACK_ERR_Y_LON_OUT_OF_RANGE = 7 , MAV_CMD_ACK_ERR_Z_ALT_OUT_OF_RANGE = 8 , } impl MavCmdAck { pub const DEFAULT : Self = Self :: MAV_CMD_ACK_OK ; } impl Default for MavCmdAck { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UtmFlightState { UTM_FLIGHT_STATE_UNKNOWN = 1 , UTM_FLIGHT_STATE_GROUND = 2 , UTM_FLIGHT_STATE_AIRBORNE = 3 , UTM_FLIGHT_STATE_EMERGENCY = 16 , UTM_FLIGHT_STATE_NOCTRL = 32 , } impl UtmFlightState { pub const DEFAULT : Self = Self :: UTM_FLIGHT_STATE_UNKNOWN ; } impl Default for UtmFlightState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MissionState { MISSION_STATE_UNKNOWN = 0 , MISSION_STATE_NO_MISSION = 1 , MISSION_STATE_NOT_STARTED = 2 , MISSION_STATE_ACTIVE = 3 , MISSION_STATE_PAUSED = 4 , MISSION_STATE_COMPLETE = 5 , } impl MissionState { pub const DEFAULT : Self = Self :: MISSION_STATE_UNKNOWN ; } impl Default for MissionState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavArmAuthDeniedReason { MAV_ARM_AUTH_DENIED_REASON_GENERIC = 0 , MAV_ARM_AUTH_DENIED_REASON_NONE = 1 , MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT = 2 , MAV_ARM_AUTH_DENIED_REASON_TIMEOUT = 3 , MAV_ARM_AUTH_DENIED_REASON_AIRSPACE_IN_USE = 4 , MAV_ARM_AUTH_DENIED_REASON_BAD_WEATHER = 5 , } impl MavArmAuthDeniedReason { pub const DEFAULT : Self = Self :: MAV_ARM_AUTH_DENIED_REASON_GENERIC ; } impl Default for MavArmAuthDeniedReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidUaType { MAV_ODID_UA_TYPE_NONE = 0 , MAV_ODID_UA_TYPE_AEROPLANE = 1 , MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR = 2 , MAV_ODID_UA_TYPE_GYROPLANE = 3 , MAV_ODID_UA_TYPE_HYBRID_LIFT = 4 , MAV_ODID_UA_TYPE_ORNITHOPTER = 5 , MAV_ODID_UA_TYPE_GLIDER = 6 , MAV_ODID_UA_TYPE_KITE = 7 , MAV_ODID_UA_TYPE_FREE_BALLOON = 8 , MAV_ODID_UA_TYPE_CAPTIVE_BALLOON = 9 , MAV_ODID_UA_TYPE_AIRSHIP = 10 , MAV_ODID_UA_TYPE_FREE_FALL_PARACHUTE = 11 , MAV_ODID_UA_TYPE_ROCKET = 12 , MAV_ODID_UA_TYPE_TETHERED_POWERED_AIRCRAFT = 13 , MAV_ODID_UA_TYPE_GROUND_OBSTACLE = 14 , MAV_ODID_UA_TYPE_OTHER = 15 , } impl MavOdidUaType { pub const DEFAULT : Self = Self :: MAV_ODID_UA_TYPE_NONE ; } impl Default for MavOdidUaType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidStatus { MAV_ODID_STATUS_UNDECLARED = 0 , MAV_ODID_STATUS_GROUND = 1 , MAV_ODID_STATUS_AIRBORNE = 2 , MAV_ODID_STATUS_EMERGENCY = 3 , MAV_ODID_STATUS_REMOTE_ID_SYSTEM_FAILURE = 4 , } impl MavOdidStatus { pub const DEFAULT : Self = Self :: MAV_ODID_STATUS_UNDECLARED ; } impl Default for MavOdidStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FenceAction { FENCE_ACTION_NONE = 0 , FENCE_ACTION_GUIDED = 1 , FENCE_ACTION_REPORT = 2 , FENCE_ACTION_GUIDED_THR_PASS = 3 , FENCE_ACTION_RTL = 4 , FENCE_ACTION_HOLD = 5 , FENCE_ACTION_TERMINATE = 6 , FENCE_ACTION_LAND = 7 , } impl FenceAction { pub const DEFAULT : Self = Self :: FENCE_ACTION_NONE ; } impl Default for FenceAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavDistanceSensor { MAV_DISTANCE_SENSOR_LASER = 0 , MAV_DISTANCE_SENSOR_ULTRASOUND = 1 , MAV_DISTANCE_SENSOR_INFRARED = 2 , MAV_DISTANCE_SENSOR_RADAR = 3 , MAV_DISTANCE_SENSOR_UNKNOWN = 4 , } impl MavDistanceSensor { pub const DEFAULT : Self = Self :: MAV_DISTANCE_SENSOR_LASER ; } impl Default for MavDistanceSensor { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMode { MAV_MODE_PREFLIGHT = 0 , MAV_MODE_STABILIZE_DISARMED = 80 , MAV_MODE_STABILIZE_ARMED = 208 , MAV_MODE_MANUAL_DISARMED = 64 , MAV_MODE_MANUAL_ARMED = 192 , MAV_MODE_GUIDED_DISARMED = 88 , MAV_MODE_GUIDED_ARMED = 216 , MAV_MODE_AUTO_DISARMED = 92 , MAV_MODE_AUTO_ARMED = 220 , MAV_MODE_TEST_DISARMED = 66 , MAV_MODE_TEST_ARMED = 194 , } impl MavMode { pub const DEFAULT : Self = Self :: MAV_MODE_PREFLIGHT ; } impl Default for MavMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidVerAcc { MAV_ODID_VER_ACC_UNKNOWN = 0 , MAV_ODID_VER_ACC_150_METER = 1 , MAV_ODID_VER_ACC_45_METER = 2 , MAV_ODID_VER_ACC_25_METER = 3 , MAV_ODID_VER_ACC_10_METER = 4 , MAV_ODID_VER_ACC_3_METER = 5 , MAV_ODID_VER_ACC_1_METER = 6 , } impl MavOdidVerAcc { pub const DEFAULT : Self = Self :: MAV_ODID_VER_ACC_UNKNOWN ; } impl Default for MavOdidVerAcc { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HighresImuUpdatedFlags : u16 { const HIGHRES_IMU_UPDATED_NONE = 0 ; const HIGHRES_IMU_UPDATED_XACC = 1 ; const HIGHRES_IMU_UPDATED_YACC = 2 ; const HIGHRES_IMU_UPDATED_ZACC = 4 ; const HIGHRES_IMU_UPDATED_XGYRO = 8 ; const HIGHRES_IMU_UPDATED_YGYRO = 16 ; const HIGHRES_IMU_UPDATED_ZGYRO = 32 ; const HIGHRES_IMU_UPDATED_XMAG = 64 ; const HIGHRES_IMU_UPDATED_YMAG = 128 ; const HIGHRES_IMU_UPDATED_ZMAG = 256 ; const HIGHRES_IMU_UPDATED_ABS_PRESSURE = 512 ; const HIGHRES_IMU_UPDATED_DIFF_PRESSURE = 1024 ; const HIGHRES_IMU_UPDATED_PRESSURE_ALT = 2048 ; const HIGHRES_IMU_UPDATED_TEMPERATURE = 4096 ; const HIGHRES_IMU_UPDATED_ALL = 65535 ; } } impl HighresImuUpdatedFlags { pub const DEFAULT : Self = Self :: HIGHRES_IMU_UPDATED_NONE ; } impl Default for HighresImuUpdatedFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MagCalStatus { MAG_CAL_NOT_STARTED = 0 , MAG_CAL_WAITING_TO_START = 1 , MAG_CAL_RUNNING_STEP_ONE = 2 , MAG_CAL_RUNNING_STEP_TWO = 3 , MAG_CAL_SUCCESS = 4 , MAG_CAL_FAILED = 5 , MAG_CAL_BAD_ORIENTATION = 6 , MAG_CAL_BAD_RADIUS = 7 , } impl MagCalStatus { pub const DEFAULT : Self = Self :: MAG_CAL_NOT_STARTED ; } impl Default for MagCalStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavModeFlagDecodePosition { MAV_MODE_FLAG_DECODE_POSITION_SAFETY = 128 , MAV_MODE_FLAG_DECODE_POSITION_MANUAL = 64 , MAV_MODE_FLAG_DECODE_POSITION_HIL = 32 , MAV_MODE_FLAG_DECODE_POSITION_STABILIZE = 16 , MAV_MODE_FLAG_DECODE_POSITION_GUIDED = 8 , MAV_MODE_FLAG_DECODE_POSITION_AUTO = 4 , MAV_MODE_FLAG_DECODE_POSITION_TEST = 2 , MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE = 1 , } impl MavModeFlagDecodePosition { pub const DEFAULT : Self = Self :: MAV_MODE_FLAG_DECODE_POSITION_SAFETY ; } impl Default for MavModeFlagDecodePosition { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum PreflightStorageParameterAction { PARAM_READ_PERSISTENT = 0 , PARAM_WRITE_PERSISTENT = 1 , PARAM_RESET_CONFIG_DEFAULT = 2 , PARAM_RESET_SENSOR_DEFAULT = 3 , PARAM_RESET_ALL_DEFAULT = 4 , } impl PreflightStorageParameterAction { pub const DEFAULT : Self = Self :: PARAM_READ_PERSISTENT ; } impl Default for PreflightStorageParameterAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum EscConnectionType { ESC_CONNECTION_TYPE_PPM = 0 , ESC_CONNECTION_TYPE_SERIAL = 1 , ESC_CONNECTION_TYPE_ONESHOT = 2 , ESC_CONNECTION_TYPE_I2C = 3 , ESC_CONNECTION_TYPE_CAN = 4 , ESC_CONNECTION_TYPE_DSHOT = 5 , } impl EscConnectionType { pub const DEFAULT : Self = Self :: ESC_CONNECTION_TYPE_PPM ; } impl Default for EscConnectionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavParamType { MAV_PARAM_TYPE_UINT8 = 1 , MAV_PARAM_TYPE_INT8 = 2 , MAV_PARAM_TYPE_UINT16 = 3 , MAV_PARAM_TYPE_INT16 = 4 , MAV_PARAM_TYPE_UINT32 = 5 , MAV_PARAM_TYPE_INT32 = 6 , MAV_PARAM_TYPE_UINT64 = 7 , MAV_PARAM_TYPE_INT64 = 8 , MAV_PARAM_TYPE_REAL32 = 9 , MAV_PARAM_TYPE_REAL64 = 10 , } impl MavParamType { pub const DEFAULT : Self = Self :: MAV_PARAM_TYPE_UINT8 ; } impl Default for MavParamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavcanNodeHealth { UAVCAN_NODE_HEALTH_OK = 0 , UAVCAN_NODE_HEALTH_WARNING = 1 , UAVCAN_NODE_HEALTH_ERROR = 2 , UAVCAN_NODE_HEALTH_CRITICAL = 3 , } impl UavcanNodeHealth { pub const DEFAULT : Self = Self :: UAVCAN_NODE_HEALTH_OK ; } impl Default for UavcanNodeHealth { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidHorAcc { MAV_ODID_HOR_ACC_UNKNOWN = 0 , MAV_ODID_HOR_ACC_10NM = 1 , MAV_ODID_HOR_ACC_4NM = 2 , MAV_ODID_HOR_ACC_2NM = 3 , MAV_ODID_HOR_ACC_1NM = 4 , MAV_ODID_HOR_ACC_0_5NM = 5 , MAV_ODID_HOR_ACC_0_3NM = 6 , MAV_ODID_HOR_ACC_0_1NM = 7 , MAV_ODID_HOR_ACC_0_05NM = 8 , MAV_ODID_HOR_ACC_30_METER = 9 , MAV_ODID_HOR_ACC_10_METER = 10 , MAV_ODID_HOR_ACC_3_METER = 11 , MAV_ODID_HOR_ACC_1_METER = 12 , } impl MavOdidHorAcc { pub const DEFAULT : Self = Self :: MAV_ODID_HOR_ACC_UNKNOWN ; } impl Default for MavOdidHorAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AisNavStatus { UNDER_WAY = 0 , AIS_NAV_ANCHORED = 1 , AIS_NAV_UN_COMMANDED = 2 , AIS_NAV_RESTRICTED_MANOEUVERABILITY = 3 , AIS_NAV_DRAUGHT_CONSTRAINED = 4 , AIS_NAV_MOORED = 5 , AIS_NAV_AGROUND = 6 , AIS_NAV_FISHING = 7 , AIS_NAV_SAILING = 8 , AIS_NAV_RESERVED_HSC = 9 , AIS_NAV_RESERVED_WIG = 10 , AIS_NAV_RESERVED_1 = 11 , AIS_NAV_RESERVED_2 = 12 , AIS_NAV_RESERVED_3 = 13 , AIS_NAV_AIS_SART = 14 , AIS_NAV_UNKNOWN = 15 , } impl AisNavStatus { pub const DEFAULT : Self = Self :: UNDER_WAY ; } impl Default for AisNavStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidClassEu { MAV_ODID_CLASS_EU_UNDECLARED = 0 , MAV_ODID_CLASS_EU_CLASS_0 = 1 , MAV_ODID_CLASS_EU_CLASS_1 = 2 , MAV_ODID_CLASS_EU_CLASS_2 = 3 , MAV_ODID_CLASS_EU_CLASS_3 = 4 , MAV_ODID_CLASS_EU_CLASS_4 = 5 , MAV_ODID_CLASS_EU_CLASS_5 = 6 , MAV_ODID_CLASS_EU_CLASS_6 = 7 , } impl MavOdidClassEu { pub const DEFAULT : Self = Self :: MAV_ODID_CLASS_EU_UNDECLARED ; } impl Default for MavOdidClassEu { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceFlags : u16 { const GIMBAL_DEVICE_FLAGS_RETRACT = 1 ; const GIMBAL_DEVICE_FLAGS_NEUTRAL = 2 ; const GIMBAL_DEVICE_FLAGS_ROLL_LOCK = 4 ; const GIMBAL_DEVICE_FLAGS_PITCH_LOCK = 8 ; const GIMBAL_DEVICE_FLAGS_YAW_LOCK = 16 ; const GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME = 32 ; const GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME = 64 ; const GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME = 128 ; const GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE = 256 ; const GIMBAL_DEVICE_FLAGS_RC_MIXED = 512 ; } } impl GimbalDeviceFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_FLAGS_RETRACT ; } impl Default for GimbalDeviceFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum VtolTransitionHeading { VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT = 0 , VTOL_TRANSITION_HEADING_NEXT_WAYPOINT = 1 , VTOL_TRANSITION_HEADING_TAKEOFF = 2 , VTOL_TRANSITION_HEADING_SPECIFIED = 3 , VTOL_TRANSITION_HEADING_ANY = 4 , } impl VtolTransitionHeading { pub const DEFAULT : Self = Self :: VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT ; } impl Default for VtolTransitionHeading { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavTunnelPayloadType { MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN = 0 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0 = 200 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1 = 201 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED2 = 202 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED3 = 203 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED4 = 204 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED5 = 205 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED6 = 206 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED7 = 207 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED8 = 208 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED9 = 209 , } impl MavTunnelPayloadType { pub const DEFAULT : Self = Self :: MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN ; } impl Default for MavTunnelPayloadType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AutotuneAxis { AUTOTUNE_AXIS_DEFAULT = 0 , AUTOTUNE_AXIS_ROLL = 1 , AUTOTUNE_AXIS_PITCH = 2 , AUTOTUNE_AXIS_YAW = 4 , } impl AutotuneAxis { pub const DEFAULT : Self = Self :: AUTOTUNE_AXIS_DEFAULT ; } impl Default for AutotuneAxis { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidTimeAcc { MAV_ODID_TIME_ACC_UNKNOWN = 0 , MAV_ODID_TIME_ACC_0_1_SECOND = 1 , MAV_ODID_TIME_ACC_0_2_SECOND = 2 , MAV_ODID_TIME_ACC_0_3_SECOND = 3 , MAV_ODID_TIME_ACC_0_4_SECOND = 4 , MAV_ODID_TIME_ACC_0_5_SECOND = 5 , MAV_ODID_TIME_ACC_0_6_SECOND = 6 , MAV_ODID_TIME_ACC_0_7_SECOND = 7 , MAV_ODID_TIME_ACC_0_8_SECOND = 8 , MAV_ODID_TIME_ACC_0_9_SECOND = 9 , MAV_ODID_TIME_ACC_1_0_SECOND = 10 , MAV_ODID_TIME_ACC_1_1_SECOND = 11 , MAV_ODID_TIME_ACC_1_2_SECOND = 12 , MAV_ODID_TIME_ACC_1_3_SECOND = 13 , MAV_ODID_TIME_ACC_1_4_SECOND = 14 , MAV_ODID_TIME_ACC_1_5_SECOND = 15 , } impl MavOdidTimeAcc { pub const DEFAULT : Self = Self :: MAV_ODID_TIME_ACC_UNKNOWN ; } impl Default for MavOdidTimeAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraTrackingMode { CAMERA_TRACKING_MODE_NONE = 0 , CAMERA_TRACKING_MODE_POINT = 1 , CAMERA_TRACKING_MODE_RECTANGLE = 2 , } impl CameraTrackingMode { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_MODE_NONE ; } impl Default for CameraTrackingMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CellularConfigResponse { CELLULAR_CONFIG_RESPONSE_ACCEPTED = 0 , CELLULAR_CONFIG_RESPONSE_APN_ERROR = 1 , CELLULAR_CONFIG_RESPONSE_PIN_ERROR = 2 , CELLULAR_CONFIG_RESPONSE_REJECTED = 3 , CELLULAR_CONFIG_BLOCKED_PUK_REQUIRED = 4 , } impl CellularConfigResponse { pub const DEFAULT : Self = Self :: CELLULAR_CONFIG_RESPONSE_ACCEPTED ; } impl Default for CellularConfigResponse { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GpsInputIgnoreFlags : u16 { const GPS_INPUT_IGNORE_FLAG_ALT = 1 ; const GPS_INPUT_IGNORE_FLAG_HDOP = 2 ; const GPS_INPUT_IGNORE_FLAG_VDOP = 4 ; const GPS_INPUT_IGNORE_FLAG_VEL_HORIZ = 8 ; const GPS_INPUT_IGNORE_FLAG_VEL_VERT = 16 ; const GPS_INPUT_IGNORE_FLAG_SPEED_ACCURACY = 32 ; const GPS_INPUT_IGNORE_FLAG_HORIZONTAL_ACCURACY = 64 ; const GPS_INPUT_IGNORE_FLAG_VERTICAL_ACCURACY = 128 ; } } impl GpsInputIgnoreFlags { pub const DEFAULT : Self = Self :: GPS_INPUT_IGNORE_FLAG_ALT ; } impl Default for GpsInputIgnoreFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum PreflightStorageMissionAction { MISSION_READ_PERSISTENT = 0 , MISSION_WRITE_PERSISTENT = 1 , MISSION_RESET_DEFAULT = 2 , } impl PreflightStorageMissionAction { pub const DEFAULT : Self = Self :: MISSION_READ_PERSISTENT ; } impl Default for PreflightStorageMissionAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum SetFocusType { FOCUS_TYPE_STEP = 0 , FOCUS_TYPE_CONTINUOUS = 1 , FOCUS_TYPE_RANGE = 2 , FOCUS_TYPE_METERS = 3 , FOCUS_TYPE_AUTO = 4 , FOCUS_TYPE_AUTO_SINGLE = 5 , FOCUS_TYPE_AUTO_CONTINUOUS = 6 , } impl SetFocusType { pub const DEFAULT : Self = Self :: FOCUS_TYPE_STEP ; } impl Default for SetFocusType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidIdType { MAV_ODID_ID_TYPE_NONE = 0 , MAV_ODID_ID_TYPE_SERIAL_NUMBER = 1 , MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID = 2 , MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID = 3 , MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID = 4 , } impl MavOdidIdType { pub const DEFAULT : Self = Self :: MAV_ODID_ID_TYPE_NONE ; } impl Default for MavOdidIdType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavPowerStatus : u16 { const MAV_POWER_STATUS_BRICK_VALID = 1 ; const MAV_POWER_STATUS_SERVO_VALID = 2 ; const MAV_POWER_STATUS_USB_CONNECTED = 4 ; const MAV_POWER_STATUS_PERIPH_OVERCURRENT = 8 ; const MAV_POWER_STATUS_PERIPH_HIPOWER_OVERCURRENT = 16 ; const MAV_POWER_STATUS_CHANGED = 32 ; } } impl MavPowerStatus { pub const DEFAULT : Self = Self :: MAV_POWER_STATUS_BRICK_VALID ; } impl Default for MavPowerStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidOperatorLocationType { MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF = 0 , MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS = 1 , MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED = 2 , } impl MavOdidOperatorLocationType { pub const DEFAULT : Self = Self :: MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF ; } impl Default for MavOdidOperatorLocationType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidSpeedAcc { MAV_ODID_SPEED_ACC_UNKNOWN = 0 , MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND = 1 , MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND = 2 , MAV_ODID_SPEED_ACC_1_METERS_PER_SECOND = 3 , MAV_ODID_SPEED_ACC_0_3_METERS_PER_SECOND = 4 , } impl MavOdidSpeedAcc { pub const DEFAULT : Self = Self :: MAV_ODID_SPEED_ACC_UNKNOWN ; } impl Default for MavOdidSpeedAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FenceBreach { FENCE_BREACH_NONE = 0 , FENCE_BREACH_MINALT = 1 , FENCE_BREACH_MAXALT = 2 , FENCE_BREACH_BOUNDARY = 3 , } impl FenceBreach { pub const DEFAULT : Self = Self :: FENCE_BREACH_NONE ; } impl Default for FenceBreach { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AisType { AIS_TYPE_UNKNOWN = 0 , AIS_TYPE_RESERVED_1 = 1 , AIS_TYPE_RESERVED_2 = 2 , AIS_TYPE_RESERVED_3 = 3 , AIS_TYPE_RESERVED_4 = 4 , AIS_TYPE_RESERVED_5 = 5 , AIS_TYPE_RESERVED_6 = 6 , AIS_TYPE_RESERVED_7 = 7 , AIS_TYPE_RESERVED_8 = 8 , AIS_TYPE_RESERVED_9 = 9 , AIS_TYPE_RESERVED_10 = 10 , AIS_TYPE_RESERVED_11 = 11 , AIS_TYPE_RESERVED_12 = 12 , AIS_TYPE_RESERVED_13 = 13 , AIS_TYPE_RESERVED_14 = 14 , AIS_TYPE_RESERVED_15 = 15 , AIS_TYPE_RESERVED_16 = 16 , AIS_TYPE_RESERVED_17 = 17 , AIS_TYPE_RESERVED_18 = 18 , AIS_TYPE_RESERVED_19 = 19 , AIS_TYPE_WIG = 20 , AIS_TYPE_WIG_HAZARDOUS_A = 21 , AIS_TYPE_WIG_HAZARDOUS_B = 22 , AIS_TYPE_WIG_HAZARDOUS_C = 23 , AIS_TYPE_WIG_HAZARDOUS_D = 24 , AIS_TYPE_WIG_RESERVED_1 = 25 , AIS_TYPE_WIG_RESERVED_2 = 26 , AIS_TYPE_WIG_RESERVED_3 = 27 , AIS_TYPE_WIG_RESERVED_4 = 28 , AIS_TYPE_WIG_RESERVED_5 = 29 , AIS_TYPE_FISHING = 30 , AIS_TYPE_TOWING = 31 , AIS_TYPE_TOWING_LARGE = 32 , AIS_TYPE_DREDGING = 33 , AIS_TYPE_DIVING = 34 , AIS_TYPE_MILITARY = 35 , AIS_TYPE_SAILING = 36 , AIS_TYPE_PLEASURE = 37 , AIS_TYPE_RESERVED_20 = 38 , AIS_TYPE_RESERVED_21 = 39 , AIS_TYPE_HSC = 40 , AIS_TYPE_HSC_HAZARDOUS_A = 41 , AIS_TYPE_HSC_HAZARDOUS_B = 42 , AIS_TYPE_HSC_HAZARDOUS_C = 43 , AIS_TYPE_HSC_HAZARDOUS_D = 44 , AIS_TYPE_HSC_RESERVED_1 = 45 , AIS_TYPE_HSC_RESERVED_2 = 46 , AIS_TYPE_HSC_RESERVED_3 = 47 , AIS_TYPE_HSC_RESERVED_4 = 48 , AIS_TYPE_HSC_UNKNOWN = 49 , AIS_TYPE_PILOT = 50 , AIS_TYPE_SAR = 51 , AIS_TYPE_TUG = 52 , AIS_TYPE_PORT_TENDER = 53 , AIS_TYPE_ANTI_POLLUTION = 54 , AIS_TYPE_LAW_ENFORCEMENT = 55 , AIS_TYPE_SPARE_LOCAL_1 = 56 , AIS_TYPE_SPARE_LOCAL_2 = 57 , AIS_TYPE_MEDICAL_TRANSPORT = 58 , AIS_TYPE_NONECOMBATANT = 59 , AIS_TYPE_PASSENGER = 60 , AIS_TYPE_PASSENGER_HAZARDOUS_A = 61 , AIS_TYPE_PASSENGER_HAZARDOUS_B = 62 , AIS_TYPE_PASSENGER_HAZARDOUS_C = 63 , AIS_TYPE_PASSENGER_HAZARDOUS_D = 64 , AIS_TYPE_PASSENGER_RESERVED_1 = 65 , AIS_TYPE_PASSENGER_RESERVED_2 = 66 , AIS_TYPE_PASSENGER_RESERVED_3 = 67 , AIS_TYPE_PASSENGER_RESERVED_4 = 68 , AIS_TYPE_PASSENGER_UNKNOWN = 69 , AIS_TYPE_CARGO = 70 , AIS_TYPE_CARGO_HAZARDOUS_A = 71 , AIS_TYPE_CARGO_HAZARDOUS_B = 72 , AIS_TYPE_CARGO_HAZARDOUS_C = 73 , AIS_TYPE_CARGO_HAZARDOUS_D = 74 , AIS_TYPE_CARGO_RESERVED_1 = 75 , AIS_TYPE_CARGO_RESERVED_2 = 76 , AIS_TYPE_CARGO_RESERVED_3 = 77 , AIS_TYPE_CARGO_RESERVED_4 = 78 , AIS_TYPE_CARGO_UNKNOWN = 79 , AIS_TYPE_TANKER = 80 , AIS_TYPE_TANKER_HAZARDOUS_A = 81 , AIS_TYPE_TANKER_HAZARDOUS_B = 82 , AIS_TYPE_TANKER_HAZARDOUS_C = 83 , AIS_TYPE_TANKER_HAZARDOUS_D = 84 , AIS_TYPE_TANKER_RESERVED_1 = 85 , AIS_TYPE_TANKER_RESERVED_2 = 86 , AIS_TYPE_TANKER_RESERVED_3 = 87 , AIS_TYPE_TANKER_RESERVED_4 = 88 , AIS_TYPE_TANKER_UNKNOWN = 89 , AIS_TYPE_OTHER = 90 , AIS_TYPE_OTHER_HAZARDOUS_A = 91 , AIS_TYPE_OTHER_HAZARDOUS_B = 92 , AIS_TYPE_OTHER_HAZARDOUS_C = 93 , AIS_TYPE_OTHER_HAZARDOUS_D = 94 , AIS_TYPE_OTHER_RESERVED_1 = 95 , AIS_TYPE_OTHER_RESERVED_2 = 96 , AIS_TYPE_OTHER_RESERVED_3 = 97 , AIS_TYPE_OTHER_RESERVED_4 = 98 , AIS_TYPE_OTHER_UNKNOWN = 99 , } impl AisType { pub const DEFAULT : Self = Self :: AIS_TYPE_UNKNOWN ; } impl Default for AisType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CellularStatusFlag { CELLULAR_STATUS_FLAG_UNKNOWN = 0 , CELLULAR_STATUS_FLAG_FAILED = 1 , CELLULAR_STATUS_FLAG_INITIALIZING = 2 , CELLULAR_STATUS_FLAG_LOCKED = 3 , CELLULAR_STATUS_FLAG_DISABLED = 4 , CELLULAR_STATUS_FLAG_DISABLING = 5 , CELLULAR_STATUS_FLAG_ENABLING = 6 , CELLULAR_STATUS_FLAG_ENABLED = 7 , CELLULAR_STATUS_FLAG_SEARCHING = 8 , CELLULAR_STATUS_FLAG_REGISTERED = 9 , CELLULAR_STATUS_FLAG_DISCONNECTING = 10 , CELLULAR_STATUS_FLAG_CONNECTING = 11 , CELLULAR_STATUS_FLAG_CONNECTED = 12 , } impl CellularStatusFlag { pub const DEFAULT : Self = Self :: CELLULAR_STATUS_FLAG_UNKNOWN ; } impl Default for CellularStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryFunction { MAV_BATTERY_FUNCTION_UNKNOWN = 0 , MAV_BATTERY_FUNCTION_ALL = 1 , MAV_BATTERY_FUNCTION_PROPULSION = 2 , MAV_BATTERY_FUNCTION_AVIONICS = 3 , MAV_BATTERY_FUNCTION_PAYLOAD = 4 , } impl MavBatteryFunction { pub const DEFAULT : Self = Self :: MAV_BATTERY_FUNCTION_UNKNOWN ; } impl Default for MavBatteryFunction { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SerialControlFlag : u8 { const SERIAL_CONTROL_FLAG_REPLY = 1 ; const SERIAL_CONTROL_FLAG_RESPOND = 2 ; const SERIAL_CONTROL_FLAG_EXCLUSIVE = 4 ; const SERIAL_CONTROL_FLAG_BLOCKING = 8 ; const SERIAL_CONTROL_FLAG_MULTI = 16 ; } } impl SerialControlFlag { pub const DEFAULT : Self = Self :: SERIAL_CONTROL_FLAG_REPLY ; } impl Default for SerialControlFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraMode { CAMERA_MODE_IMAGE = 0 , CAMERA_MODE_VIDEO = 1 , CAMERA_MODE_IMAGE_SURVEY = 2 , } impl CameraMode { pub const DEFAULT : Self = Self :: CAMERA_MODE_IMAGE ; } impl Default for CameraMode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceCapFlags : u16 { const GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT = 1 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL = 2 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS = 4 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW = 8 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK = 16 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS = 32 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW = 64 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK = 128 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS = 256 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW = 512 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK = 1024 ; const GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW = 2048 ; const GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME = 4096 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS = 8192 ; } } impl GimbalDeviceCapFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT ; } impl Default for GimbalDeviceCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavParamExtType { MAV_PARAM_EXT_TYPE_UINT8 = 1 , MAV_PARAM_EXT_TYPE_INT8 = 2 , MAV_PARAM_EXT_TYPE_UINT16 = 3 , MAV_PARAM_EXT_TYPE_INT16 = 4 , MAV_PARAM_EXT_TYPE_UINT32 = 5 , MAV_PARAM_EXT_TYPE_INT32 = 6 , MAV_PARAM_EXT_TYPE_UINT64 = 7 , MAV_PARAM_EXT_TYPE_INT64 = 8 , MAV_PARAM_EXT_TYPE_REAL32 = 9 , MAV_PARAM_EXT_TYPE_REAL64 = 10 , MAV_PARAM_EXT_TYPE_CUSTOM = 11 , } impl MavParamExtType { pub const DEFAULT : Self = Self :: MAV_PARAM_EXT_TYPE_UINT8 ; } impl Default for MavParamExtType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavEventErrorReason { MAV_EVENT_ERROR_REASON_UNAVAILABLE = 0 , } impl MavEventErrorReason { pub const DEFAULT : Self = Self :: MAV_EVENT_ERROR_REASON_UNAVAILABLE ; } impl Default for MavEventErrorReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryType { MAV_BATTERY_TYPE_UNKNOWN = 0 , MAV_BATTERY_TYPE_LIPO = 1 , MAV_BATTERY_TYPE_LIFE = 2 , MAV_BATTERY_TYPE_LION = 3 , MAV_BATTERY_TYPE_NIMH = 4 , } impl MavBatteryType { pub const DEFAULT : Self = Self :: MAV_BATTERY_TYPE_UNKNOWN ; } impl Default for MavBatteryType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TuneFormat : u32 { const TUNE_FORMAT_QBASIC1_1 = 1 ; const TUNE_FORMAT_MML_MODERN = 2 ; } } impl TuneFormat { pub const DEFAULT : Self = Self :: TUNE_FORMAT_QBASIC1_1 ; } impl Default for TuneFormat { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavlinkDataStreamType { MAVLINK_DATA_STREAM_IMG_JPEG = 0 , MAVLINK_DATA_STREAM_IMG_BMP = 1 , MAVLINK_DATA_STREAM_IMG_RAW8U = 2 , MAVLINK_DATA_STREAM_IMG_RAW32U = 3 , MAVLINK_DATA_STREAM_IMG_PGM = 4 , MAVLINK_DATA_STREAM_IMG_PNG = 5 , } impl MavlinkDataStreamType { pub const DEFAULT : Self = Self :: MAVLINK_DATA_STREAM_IMG_JPEG ; } impl Default for MavlinkDataStreamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavcanNodeMode { UAVCAN_NODE_MODE_OPERATIONAL = 0 , UAVCAN_NODE_MODE_INITIALIZATION = 1 , UAVCAN_NODE_MODE_MAINTENANCE = 2 , UAVCAN_NODE_MODE_SOFTWARE_UPDATE = 3 , UAVCAN_NODE_MODE_OFFLINE = 7 , } impl UavcanNodeMode { pub const DEFAULT : Self = Self :: UAVCAN_NODE_MODE_OPERATIONAL ; } impl Default for UavcanNodeMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavType { MAV_TYPE_GENERIC = 0 , MAV_TYPE_FIXED_WING = 1 , MAV_TYPE_QUADROTOR = 2 , MAV_TYPE_COAXIAL = 3 , MAV_TYPE_HELICOPTER = 4 , MAV_TYPE_ANTENNA_TRACKER = 5 , MAV_TYPE_GCS = 6 , MAV_TYPE_AIRSHIP = 7 , MAV_TYPE_FREE_BALLOON = 8 , MAV_TYPE_ROCKET = 9 , MAV_TYPE_GROUND_ROVER = 10 , MAV_TYPE_SURFACE_BOAT = 11 , MAV_TYPE_SUBMARINE = 12 , MAV_TYPE_HEXAROTOR = 13 , MAV_TYPE_OCTOROTOR = 14 , MAV_TYPE_TRICOPTER = 15 , MAV_TYPE_FLAPPING_WING = 16 , MAV_TYPE_KITE = 17 , MAV_TYPE_ONBOARD_CONTROLLER = 18 , MAV_TYPE_VTOL_TAILSITTER_DUOROTOR = 19 , MAV_TYPE_VTOL_TAILSITTER_QUADROTOR = 20 , MAV_TYPE_VTOL_TILTROTOR = 21 , MAV_TYPE_VTOL_FIXEDROTOR = 22 , MAV_TYPE_VTOL_TAILSITTER = 23 , MAV_TYPE_VTOL_TILTWING = 24 , MAV_TYPE_VTOL_RESERVED5 = 25 , MAV_TYPE_GIMBAL = 26 , MAV_TYPE_ADSB = 27 , MAV_TYPE_PARAFOIL = 28 , MAV_TYPE_DODECAROTOR = 29 , MAV_TYPE_CAMERA = 30 , MAV_TYPE_CHARGING_STATION = 31 , MAV_TYPE_FLARM = 32 , MAV_TYPE_SERVO = 33 , MAV_TYPE_ODID = 34 , MAV_TYPE_DECAROTOR = 35 , MAV_TYPE_BATTERY = 36 , MAV_TYPE_PARACHUTE = 37 , MAV_TYPE_LOG = 38 , MAV_TYPE_OSD = 39 , MAV_TYPE_IMU = 40 , MAV_TYPE_GPS = 41 , MAV_TYPE_WINCH = 42 , } impl MavType { pub const DEFAULT : Self = Self :: MAV_TYPE_GENERIC ; } impl Default for MavType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum ParamAck { PARAM_ACK_ACCEPTED = 0 , PARAM_ACK_VALUE_UNSUPPORTED = 1 , PARAM_ACK_FAILED = 2 , PARAM_ACK_IN_PROGRESS = 3 , } impl ParamAck { pub const DEFAULT : Self = Self :: PARAM_ACK_ACCEPTED ; } impl Default for ParamAck { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidHeightRef { MAV_ODID_HEIGHT_REF_OVER_TAKEOFF = 0 , MAV_ODID_HEIGHT_REF_OVER_GROUND = 1 , } impl MavOdidHeightRef { pub const DEFAULT : Self = Self :: MAV_ODID_HEIGHT_REF_OVER_TAKEOFF ; } impl Default for MavOdidHeightRef { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMountMode { MAV_MOUNT_MODE_RETRACT = 0 , MAV_MOUNT_MODE_NEUTRAL = 1 , MAV_MOUNT_MODE_MAVLINK_TARGETING = 2 , MAV_MOUNT_MODE_RC_TARGETING = 3 , MAV_MOUNT_MODE_GPS_POINT = 4 , MAV_MOUNT_MODE_SYSID_TARGET = 5 , MAV_MOUNT_MODE_HOME_LOCATION = 6 , } impl MavMountMode { pub const DEFAULT : Self = Self :: MAV_MOUNT_MODE_RETRACT ; } impl Default for MavMountMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCollisionThreatLevel { MAV_COLLISION_THREAT_LEVEL_NONE = 0 , MAV_COLLISION_THREAT_LEVEL_LOW = 1 , MAV_COLLISION_THREAT_LEVEL_HIGH = 2 , } impl MavCollisionThreatLevel { pub const DEFAULT : Self = Self :: MAV_COLLISION_THREAT_LEVEL_NONE ; } impl Default for MavCollisionThreatLevel { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CellularNetworkRadioType { CELLULAR_NETWORK_RADIO_TYPE_NONE = 0 , CELLULAR_NETWORK_RADIO_TYPE_GSM = 1 , CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2 , CELLULAR_NETWORK_RADIO_TYPE_WCDMA = 3 , CELLULAR_NETWORK_RADIO_TYPE_LTE = 4 , } impl CellularNetworkRadioType { pub const DEFAULT : Self = Self :: CELLULAR_NETWORK_RADIO_TYPE_NONE ; } impl Default for CellularNetworkRadioType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryFault { MAV_BATTERY_FAULT_DEEP_DISCHARGE = 1 , MAV_BATTERY_FAULT_SPIKES = 2 , MAV_BATTERY_FAULT_CELL_FAIL = 4 , MAV_BATTERY_FAULT_OVER_CURRENT = 8 , MAV_BATTERY_FAULT_OVER_TEMPERATURE = 16 , MAV_BATTERY_FAULT_UNDER_TEMPERATURE = 32 , MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE = 64 , MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE = 128 , BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION = 256 , } impl MavBatteryFault { pub const DEFAULT : Self = Self :: MAV_BATTERY_FAULT_DEEP_DISCHARGE ; } impl Default for MavBatteryFault { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCollisionAction { MAV_COLLISION_ACTION_NONE = 0 , MAV_COLLISION_ACTION_REPORT = 1 , MAV_COLLISION_ACTION_ASCEND_OR_DESCEND = 2 , MAV_COLLISION_ACTION_MOVE_HORIZONTALLY = 3 , MAV_COLLISION_ACTION_MOVE_PERPENDICULAR = 4 , MAV_COLLISION_ACTION_RTL = 5 , MAV_COLLISION_ACTION_HOVER = 6 , } impl MavCollisionAction { pub const DEFAULT : Self = Self :: MAV_COLLISION_ACTION_NONE ; } impl Default for MavCollisionAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMissionResult { MAV_MISSION_ACCEPTED = 0 , MAV_MISSION_ERROR = 1 , MAV_MISSION_UNSUPPORTED_FRAME = 2 , MAV_MISSION_UNSUPPORTED = 3 , MAV_MISSION_NO_SPACE = 4 , MAV_MISSION_INVALID = 5 , MAV_MISSION_INVALID_PARAM1 = 6 , MAV_MISSION_INVALID_PARAM2 = 7 , MAV_MISSION_INVALID_PARAM3 = 8 , MAV_MISSION_INVALID_PARAM4 = 9 , MAV_MISSION_INVALID_PARAM5_X = 10 , MAV_MISSION_INVALID_PARAM6_Y = 11 , MAV_MISSION_INVALID_PARAM7 = 12 , MAV_MISSION_INVALID_SEQUENCE = 13 , MAV_MISSION_DENIED = 14 , MAV_MISSION_OPERATION_CANCELLED = 15 , } impl MavMissionResult { pub const DEFAULT : Self = Self :: MAV_MISSION_ACCEPTED ; } impl Default for MavMissionResult { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CanFilterOp { CAN_FILTER_REPLACE = 0 , CAN_FILTER_ADD = 1 , CAN_FILTER_REMOVE = 2 , } impl CanFilterOp { pub const DEFAULT : Self = Self :: CAN_FILTER_REPLACE ; } impl Default for CanFilterOp { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavRoi { MAV_ROI_NONE = 0 , MAV_ROI_WPNEXT = 1 , MAV_ROI_WPINDEX = 2 , MAV_ROI_LOCATION = 3 , MAV_ROI_TARGET = 4 , } impl MavRoi { pub const DEFAULT : Self = Self :: MAV_ROI_NONE ; } impl Default for MavRoi { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavResult { MAV_RESULT_ACCEPTED = 0 , MAV_RESULT_TEMPORARILY_REJECTED = 1 , MAV_RESULT_DENIED = 2 , MAV_RESULT_UNSUPPORTED = 3 , MAV_RESULT_FAILED = 4 , MAV_RESULT_IN_PROGRESS = 5 , MAV_RESULT_CANCELLED = 6 , } impl MavResult { pub const DEFAULT : Self = Self :: MAV_RESULT_ACCEPTED ; } impl Default for MavResult { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FirmwareVersionType { FIRMWARE_VERSION_TYPE_DEV = 0 , FIRMWARE_VERSION_TYPE_ALPHA = 64 , FIRMWARE_VERSION_TYPE_BETA = 128 , FIRMWARE_VERSION_TYPE_RC = 192 , FIRMWARE_VERSION_TYPE_OFFICIAL = 255 , } impl FirmwareVersionType { pub const DEFAULT : Self = Self :: FIRMWARE_VERSION_TYPE_DEV ; } impl Default for FirmwareVersionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GripperActions { GRIPPER_ACTION_RELEASE = 0 , GRIPPER_ACTION_GRAB = 1 , } impl GripperActions { pub const DEFAULT : Self = Self :: GRIPPER_ACTION_RELEASE ; } impl Default for GripperActions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum RtkBaselineCoordinateSystem { RTK_BASELINE_COORDINATE_SYSTEM_ECEF = 0 , RTK_BASELINE_COORDINATE_SYSTEM_NED = 1 , } impl RtkBaselineCoordinateSystem { pub const DEFAULT : Self = Self :: RTK_BASELINE_COORDINATE_SYSTEM_ECEF ; } impl Default for RtkBaselineCoordinateSystem { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum LandingTargetType { LANDING_TARGET_TYPE_LIGHT_BEACON = 0 , LANDING_TARGET_TYPE_RADIO_BEACON = 1 , LANDING_TARGET_TYPE_VISION_FIDUCIAL = 2 , LANDING_TARGET_TYPE_VISION_OTHER = 3 , } impl LandingTargetType { pub const DEFAULT : Self = Self :: LANDING_TARGET_TYPE_LIGHT_BEACON ; } impl Default for LandingTargetType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum ActuatorConfiguration { ACTUATOR_CONFIGURATION_NONE = 0 , ACTUATOR_CONFIGURATION_BEEP = 1 , ACTUATOR_CONFIGURATION_3D_MODE_ON = 2 , ACTUATOR_CONFIGURATION_3D_MODE_OFF = 3 , ACTUATOR_CONFIGURATION_SPIN_DIRECTION1 = 4 , ACTUATOR_CONFIGURATION_SPIN_DIRECTION2 = 5 , } impl ActuatorConfiguration { pub const DEFAULT : Self = Self :: ACTUATOR_CONFIGURATION_NONE ; } impl Default for ActuatorConfiguration { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidCategoryEu { MAV_ODID_CATEGORY_EU_UNDECLARED = 0 , MAV_ODID_CATEGORY_EU_OPEN = 1 , MAV_ODID_CATEGORY_EU_SPECIFIC = 2 , MAV_ODID_CATEGORY_EU_CERTIFIED = 3 , } impl MavOdidCategoryEu { pub const DEFAULT : Self = Self :: MAV_ODID_CATEGORY_EU_UNDECLARED ; } impl Default for MavOdidCategoryEu { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum PrecisionLandMode { PRECISION_LAND_MODE_DISABLED = 0 , PRECISION_LAND_MODE_OPPORTUNISTIC = 1 , PRECISION_LAND_MODE_REQUIRED = 2 , } impl PrecisionLandMode { pub const DEFAULT : Self = Self :: PRECISION_LAND_MODE_DISABLED ; } impl Default for PrecisionLandMode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CameraCapFlags : u32 { const CAMERA_CAP_FLAGS_CAPTURE_VIDEO = 1 ; const CAMERA_CAP_FLAGS_CAPTURE_IMAGE = 2 ; const CAMERA_CAP_FLAGS_HAS_MODES = 4 ; const CAMERA_CAP_FLAGS_CAN_CAPTURE_IMAGE_IN_VIDEO_MODE = 8 ; const CAMERA_CAP_FLAGS_CAN_CAPTURE_VIDEO_IN_IMAGE_MODE = 16 ; const CAMERA_CAP_FLAGS_HAS_IMAGE_SURVEY_MODE = 32 ; const CAMERA_CAP_FLAGS_HAS_BASIC_ZOOM = 64 ; const CAMERA_CAP_FLAGS_HAS_BASIC_FOCUS = 128 ; const CAMERA_CAP_FLAGS_HAS_VIDEO_STREAM = 256 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_POINT = 512 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE = 1024 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_GEO_STATUS = 2048 ; } } impl CameraCapFlags { pub const DEFAULT : Self = Self :: CAMERA_CAP_FLAGS_CAPTURE_VIDEO ; } impl Default for CameraCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CompMetadataType { COMP_METADATA_TYPE_GENERAL = 0 , COMP_METADATA_TYPE_PARAMETER = 1 , COMP_METADATA_TYPE_COMMANDS = 2 , COMP_METADATA_TYPE_PERIPHERALS = 3 , COMP_METADATA_TYPE_EVENTS = 4 , COMP_METADATA_TYPE_ACTUATORS = 5 , } impl CompMetadataType { pub const DEFAULT : Self = Self :: COMP_METADATA_TYPE_GENERAL ; } impl Default for CompMetadataType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , } impl LOCAL_POSITION_NED_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , } ; } impl Default for LOCAL_POSITION_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_DATA { type Message = MavMessage ; const ID : u32 = 32u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED" ; const EXTRA_CRC : u8 = 185u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SAFETY_ALLOWED_AREA_DATA { pub p1x : f32 , pub p1y : f32 , pub p1z : f32 , pub p2x : f32 , pub p2y : f32 , pub p2z : f32 , pub frame : MavFrame , } impl SAFETY_ALLOWED_AREA_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { p1x : 0.0_f32 , p1y : 0.0_f32 , p1z : 0.0_f32 , p2x : 0.0_f32 , p2y : 0.0_f32 , p2z : 0.0_f32 , frame : MavFrame :: DEFAULT , } ; } impl Default for SAFETY_ALLOWED_AREA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SAFETY_ALLOWED_AREA_DATA { type Message = MavMessage ; const ID : u32 = 55u32 ; const NAME : & 'static str = "SAFETY_ALLOWED_AREA" ; const EXTRA_CRC : u8 = 3u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . p1x = buf . get_f32_le () ; __struct . p1y = buf . get_f32_le () ; __struct . p1z = buf . get_f32_le () ; __struct . p2x = buf . get_f32_le () ; __struct . p2y = buf . get_f32_le () ; __struct . p2z = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . p1x) ; __tmp . put_f32_le (self . p1y) ; __tmp . put_f32_le (self . p1z) ; __tmp . put_f32_le (self . p2x) ; __tmp . put_f32_le (self . p2y) ; __tmp . put_f32_le (self . p2z) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ACK_DATA { pub target_system : u8 , pub target_component : u8 , pub mavtype : MavMissionResult , } impl MISSION_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , mavtype : MavMissionResult :: DEFAULT , } ; } impl Default for MISSION_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ACK_DATA { type Message = MavMessage ; const ID : u32 = 47u32 ; const NAME : & 'static str = "MISSION_ACK" ; const EXTRA_CRC : u8 = 153u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMissionResult" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . mavtype as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE2_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE2_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE2_DATA { type Message = MavMessage ; const ID : u32 = 137u32 ; const NAME : & 'static str = "SCALED_PRESSURE2" ; const EXTRA_CRC : u8 = 195u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SIM_STATE_DATA { pub q1 : f32 , pub q2 : f32 , pub q3 : f32 , pub q4 : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub lat : f32 , pub lon : f32 , pub alt : f32 , pub std_dev_horz : f32 , pub std_dev_vert : f32 , pub vn : f32 , pub ve : f32 , pub vd : f32 , } impl SIM_STATE_DATA { pub const ENCODED_LEN : usize = 84usize ; pub const DEFAULT : Self = Self { q1 : 0.0_f32 , q2 : 0.0_f32 , q3 : 0.0_f32 , q4 : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , lat : 0.0_f32 , lon : 0.0_f32 , alt : 0.0_f32 , std_dev_horz : 0.0_f32 , std_dev_vert : 0.0_f32 , vn : 0.0_f32 , ve : 0.0_f32 , vd : 0.0_f32 , } ; } impl Default for SIM_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SIM_STATE_DATA { type Message = MavMessage ; const ID : u32 = 108u32 ; const NAME : & 'static str = "SIM_STATE" ; const EXTRA_CRC : u8 = 32u8 ; const ENCODED_LEN : usize = 84usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . q1 = buf . get_f32_le () ; __struct . q2 = buf . get_f32_le () ; __struct . q3 = buf . get_f32_le () ; __struct . q4 = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . lat = buf . get_f32_le () ; __struct . lon = buf . get_f32_le () ; __struct . alt = buf . get_f32_le () ; __struct . std_dev_horz = buf . get_f32_le () ; __struct . std_dev_vert = buf . get_f32_le () ; __struct . vn = buf . get_f32_le () ; __struct . ve = buf . get_f32_le () ; __struct . vd = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . q1) ; __tmp . put_f32_le (self . q2) ; __tmp . put_f32_le (self . q3) ; __tmp . put_f32_le (self . q4) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . lat) ; __tmp . put_f32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . std_dev_horz) ; __tmp . put_f32_le (self . std_dev_vert) ; __tmp . put_f32_le (self . vn) ; __tmp . put_f32_le (self . ve) ; __tmp . put_f32_le (self . vd) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGH_LATENCY2_DATA { pub timestamp : u32 , pub latitude : i32 , pub longitude : i32 , pub custom_mode : u16 , pub altitude : i16 , pub target_altitude : i16 , pub target_distance : u16 , pub wp_num : u16 , pub failure_flags : HlFailureFlag , pub mavtype : MavType , pub autopilot : MavAutopilot , pub heading : u8 , pub target_heading : u8 , pub throttle : u8 , pub airspeed : u8 , pub airspeed_sp : u8 , pub groundspeed : u8 , pub windspeed : u8 , pub wind_heading : u8 , pub eph : u8 , pub epv : u8 , pub temperature_air : i8 , pub climb_rate : i8 , pub battery : i8 , pub custom0 : i8 , pub custom1 : i8 , pub custom2 : i8 , } impl HIGH_LATENCY2_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { timestamp : 0_u32 , latitude : 0_i32 , longitude : 0_i32 , custom_mode : 0_u16 , altitude : 0_i16 , target_altitude : 0_i16 , target_distance : 0_u16 , wp_num : 0_u16 , failure_flags : HlFailureFlag :: DEFAULT , mavtype : MavType :: DEFAULT , autopilot : MavAutopilot :: DEFAULT , heading : 0_u8 , target_heading : 0_u8 , throttle : 0_u8 , airspeed : 0_u8 , airspeed_sp : 0_u8 , groundspeed : 0_u8 , windspeed : 0_u8 , wind_heading : 0_u8 , eph : 0_u8 , epv : 0_u8 , temperature_air : 0_i8 , climb_rate : 0_i8 , battery : 0_i8 , custom0 : 0_i8 , custom1 : 0_i8 , custom2 : 0_i8 , } ; } impl Default for HIGH_LATENCY2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGH_LATENCY2_DATA { type Message = MavMessage ; const ID : u32 = 235u32 ; const NAME : & 'static str = "HIGH_LATENCY2" ; const EXTRA_CRC : u8 = 179u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u32_le () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . custom_mode = buf . get_u16_le () ; __struct . altitude = buf . get_i16_le () ; __struct . target_altitude = buf . get_i16_le () ; __struct . target_distance = buf . get_u16_le () ; __struct . wp_num = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . failure_flags = HlFailureFlag :: from_bits (tmp & HlFailureFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HlFailureFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . autopilot = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavAutopilot" , value : tmp as u32 }) ? ; __struct . heading = buf . get_u8 () ; __struct . target_heading = buf . get_u8 () ; __struct . throttle = buf . get_u8 () ; __struct . airspeed = buf . get_u8 () ; __struct . airspeed_sp = buf . get_u8 () ; __struct . groundspeed = buf . get_u8 () ; __struct . windspeed = buf . get_u8 () ; __struct . wind_heading = buf . get_u8 () ; __struct . eph = buf . get_u8 () ; __struct . epv = buf . get_u8 () ; __struct . temperature_air = buf . get_i8 () ; __struct . climb_rate = buf . get_i8 () ; __struct . battery = buf . get_i8 () ; __struct . custom0 = buf . get_i8 () ; __struct . custom1 = buf . get_i8 () ; __struct . custom2 = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_u16_le (self . custom_mode) ; __tmp . put_i16_le (self . altitude) ; __tmp . put_i16_le (self . target_altitude) ; __tmp . put_u16_le (self . target_distance) ; __tmp . put_u16_le (self . wp_num) ; __tmp . put_u16_le (self . failure_flags . bits ()) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . autopilot as u8) ; __tmp . put_u8 (self . heading) ; __tmp . put_u8 (self . target_heading) ; __tmp . put_u8 (self . throttle) ; __tmp . put_u8 (self . airspeed) ; __tmp . put_u8 (self . airspeed_sp) ; __tmp . put_u8 (self . groundspeed) ; __tmp . put_u8 (self . windspeed) ; __tmp . put_u8 (self . wind_heading) ; __tmp . put_u8 (self . eph) ; __tmp . put_u8 (self . epv) ; __tmp . put_i8 (self . temperature_air) ; __tmp . put_i8 (self . climb_rate) ; __tmp . put_i8 (self . battery) ; __tmp . put_i8 (self . custom0) ; __tmp . put_i8 (self . custom1) ; __tmp . put_i8 (self . custom2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct STATUSTEXT_DATA { pub severity : MavSeverity , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub text : [u8 ; 50] , } impl STATUSTEXT_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { severity : MavSeverity :: DEFAULT , text : [0_u8 ; 50usize] , } ; } impl Default for STATUSTEXT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for STATUSTEXT_DATA { type Message = MavMessage ; const ID : u32 = 253u32 ; const NAME : & 'static str = "STATUSTEXT" ; const EXTRA_CRC : u8 = 83u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . severity = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavSeverity" , value : tmp as u32 }) ? ; for v in & mut __struct . text { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . severity as u8) ; for val in & self . text { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESTIMATOR_STATUS_DATA { pub time_usec : u64 , pub vel_ratio : f32 , pub pos_horiz_ratio : f32 , pub pos_vert_ratio : f32 , pub mag_ratio : f32 , pub hagl_ratio : f32 , pub tas_ratio : f32 , pub pos_horiz_accuracy : f32 , pub pos_vert_accuracy : f32 , pub flags : EstimatorStatusFlags , } impl ESTIMATOR_STATUS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , vel_ratio : 0.0_f32 , pos_horiz_ratio : 0.0_f32 , pos_vert_ratio : 0.0_f32 , mag_ratio : 0.0_f32 , hagl_ratio : 0.0_f32 , tas_ratio : 0.0_f32 , pos_horiz_accuracy : 0.0_f32 , pos_vert_accuracy : 0.0_f32 , flags : EstimatorStatusFlags :: DEFAULT , } ; } impl Default for ESTIMATOR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESTIMATOR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 230u32 ; const NAME : & 'static str = "ESTIMATOR_STATUS" ; const EXTRA_CRC : u8 = 163u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . vel_ratio = buf . get_f32_le () ; __struct . pos_horiz_ratio = buf . get_f32_le () ; __struct . pos_vert_ratio = buf . get_f32_le () ; __struct . mag_ratio = buf . get_f32_le () ; __struct . hagl_ratio = buf . get_f32_le () ; __struct . tas_ratio = buf . get_f32_le () ; __struct . pos_horiz_accuracy = buf . get_f32_le () ; __struct . pos_vert_accuracy = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = EstimatorStatusFlags :: from_bits (tmp & EstimatorStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EstimatorStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . vel_ratio) ; __tmp . put_f32_le (self . pos_horiz_ratio) ; __tmp . put_f32_le (self . pos_vert_ratio) ; __tmp . put_f32_le (self . mag_ratio) ; __tmp . put_f32_le (self . hagl_ratio) ; __tmp . put_f32_le (self . tas_ratio) ; __tmp . put_f32_le (self . pos_horiz_accuracy) ; __tmp . put_f32_le (self . pos_vert_accuracy) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_SET_ATTITUDE_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub flags : GimbalDeviceFlags , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_DEVICE_SET_ATTITUDE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , flags : GimbalDeviceFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_DEVICE_SET_ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_SET_ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 284u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_SET_ATTITUDE" ; const EXTRA_CRC : u8 = 99u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = GimbalDeviceFlags :: from_bits (tmp & GimbalDeviceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_INFO_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub error_count : [u32 ; 4] , pub counter : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub failure_flags : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature : [i16 ; 4] , pub index : u8 , pub count : u8 , pub connection_type : EscConnectionType , pub info : u8 , } impl ESC_INFO_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , error_count : [0_u32 ; 4usize] , counter : 0_u16 , failure_flags : [0_u16 ; 4usize] , temperature : [0_i16 ; 4usize] , index : 0_u8 , count : 0_u8 , connection_type : EscConnectionType :: DEFAULT , info : 0_u8 , } ; } impl Default for ESC_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_INFO_DATA { type Message = MavMessage ; const ID : u32 = 290u32 ; const NAME : & 'static str = "ESC_INFO" ; const EXTRA_CRC : u8 = 251u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . error_count { let val = buf . get_u32_le () ; * v = val ; } __struct . counter = buf . get_u16_le () ; for v in & mut __struct . failure_flags { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . temperature { let val = buf . get_i16_le () ; * v = val ; } __struct . index = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . connection_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "EscConnectionType" , value : tmp as u32 }) ? ; __struct . info = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . error_count { __tmp . put_u32_le (* val) ; } __tmp . put_u16_le (self . counter) ; for val in & self . failure_flags { __tmp . put_u16_le (* val) ; } for val in & self . temperature { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . index) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . connection_type as u8) ; __tmp . put_u8 (self . info) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_COV_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub ax : f32 , pub ay : f32 , pub az : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 45] , pub estimator_type : MavEstimatorType , } impl LOCAL_POSITION_NED_COV_DATA { pub const ENCODED_LEN : usize = 225usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , ax : 0.0_f32 , ay : 0.0_f32 , az : 0.0_f32 , covariance : [0.0_f32 ; 45usize] , estimator_type : MavEstimatorType :: DEFAULT , } ; } impl Default for LOCAL_POSITION_NED_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_COV_DATA { type Message = MavMessage ; const ID : u32 = 64u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED_COV" ; const EXTRA_CRC : u8 = 191u8 ; const ENCODED_LEN : usize = 225usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . ax = buf . get_f32_le () ; __struct . ay = buf . get_f32_le () ; __struct . az = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . estimator_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEstimatorType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . ax) ; __tmp . put_f32_le (self . ay) ; __tmp . put_f32_le (self . az) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . estimator_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : f32 , pub y : f32 , pub z : f32 , pub seq : u16 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl MISSION_ITEM_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , seq : 0_u16 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for MISSION_ITEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_DATA { type Message = MavMessage ; const ID : u32 = 39u32 ; const NAME : & 'static str = "MISSION_ITEM" ; const EXTRA_CRC : u8 = 254u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . seq = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { pub flags : GimbalManagerFlags , pub pitch : f32 , pub yaw : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , pitch : 0.0_f32 , yaw : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 288u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_MANUAL_CONTROL" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_REQUEST_READ_DATA { pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , } impl PARAM_EXT_REQUEST_READ_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , } ; } impl Default for PARAM_EXT_REQUEST_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_REQUEST_READ_DATA { type Message = MavMessage ; const ID : u32 = 320u32 ; const NAME : & 'static str = "PARAM_EXT_REQUEST_READ" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_CLEAR_ALL_DATA { pub target_system : u8 , pub target_component : u8 , } impl MISSION_CLEAR_ALL_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_CLEAR_ALL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_CLEAR_ALL_DATA { type Message = MavMessage ; const ID : u32 = 45u32 ; const NAME : & 'static str = "MISSION_CLEAR_ALL" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_CHECK_DATA { pub lat : i32 , pub lon : i32 , } impl TERRAIN_CHECK_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , } ; } impl Default for TERRAIN_CHECK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_CHECK_DATA { type Message = MavMessage ; const ID : u32 = 135u32 ; const NAME : & 'static str = "TERRAIN_CHECK" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_ATTITUDE_DATA { pub flags : GimbalManagerFlags , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_ATTITUDE_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 282u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_ATTITUDE" ; const EXTRA_CRC : u8 = 123u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_SET_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , } impl PARAM_EXT_SET_DATA { pub const ENCODED_LEN : usize = 147usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , } ; } impl Default for PARAM_EXT_SET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_SET_DATA { type Message = MavMessage ; const ID : u32 = 323u32 ; const NAME : & 'static str = "PARAM_EXT_SET" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 147usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAN_FRAME_DATA { pub id : u32 , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 8] , } impl CAN_FRAME_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , len : 0_u8 , data : [0_u8 ; 8usize] , } ; } impl Default for CAN_FRAME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAN_FRAME_DATA { type Message = MavMessage ; const ID : u32 = 386u32 ; const NAME : & 'static str = "CAN_FRAME" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPONENT_INFORMATION_DATA { pub time_boot_ms : u32 , pub general_metadata_file_crc : u32 , pub peripherals_metadata_file_crc : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub general_metadata_uri : [u8 ; 100] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub peripherals_metadata_uri : [u8 ; 100] , } impl COMPONENT_INFORMATION_DATA { pub const ENCODED_LEN : usize = 212usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , general_metadata_file_crc : 0_u32 , peripherals_metadata_file_crc : 0_u32 , general_metadata_uri : [0_u8 ; 100usize] , peripherals_metadata_uri : [0_u8 ; 100usize] , } ; } impl Default for COMPONENT_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPONENT_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 395u32 ; const NAME : & 'static str = "COMPONENT_INFORMATION" ; const EXTRA_CRC : u8 = 0u8 ; const ENCODED_LEN : usize = 212usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . general_metadata_file_crc = buf . get_u32_le () ; __struct . peripherals_metadata_file_crc = buf . get_u32_le () ; for v in & mut __struct . general_metadata_uri { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . peripherals_metadata_uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . general_metadata_file_crc) ; __tmp . put_u32_le (self . peripherals_metadata_file_crc) ; for val in & self . general_metadata_uri { __tmp . put_u8 (* val) ; } for val in & self . peripherals_metadata_uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_INJECT_DATA_DATA { pub target_system : u8 , pub target_component : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 110] , } impl GPS_INJECT_DATA_DATA { pub const ENCODED_LEN : usize = 113usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , len : 0_u8 , data : [0_u8 ; 110usize] , } ; } impl Default for GPS_INJECT_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_INJECT_DATA_DATA { type Message = MavMessage ; const ID : u32 = 123u32 ; const NAME : & 'static str = "GPS_INJECT_DATA" ; const EXTRA_CRC : u8 = 250u8 ; const ENCODED_LEN : usize = 113usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CURRENT_EVENT_SEQUENCE_DATA { pub sequence : u16 , pub flags : MavEventCurrentSequenceFlags , } impl CURRENT_EVENT_SEQUENCE_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , flags : MavEventCurrentSequenceFlags :: DEFAULT , } ; } impl Default for CURRENT_EVENT_SEQUENCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CURRENT_EVENT_SEQUENCE_DATA { type Message = MavMessage ; const ID : u32 = 411u32 ; const NAME : & 'static str = "CURRENT_EVENT_SEQUENCE" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . flags = MavEventCurrentSequenceFlags :: from_bits (tmp & MavEventCurrentSequenceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavEventCurrentSequenceFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA_TRANSMISSION_HANDSHAKE_DATA { pub size : u32 , pub width : u16 , pub height : u16 , pub packets : u16 , pub mavtype : MavlinkDataStreamType , pub payload : u8 , pub jpg_quality : u8 , } impl DATA_TRANSMISSION_HANDSHAKE_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { size : 0_u32 , width : 0_u16 , height : 0_u16 , packets : 0_u16 , mavtype : MavlinkDataStreamType :: DEFAULT , payload : 0_u8 , jpg_quality : 0_u8 , } ; } impl Default for DATA_TRANSMISSION_HANDSHAKE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA_TRANSMISSION_HANDSHAKE_DATA { type Message = MavMessage ; const ID : u32 = 130u32 ; const NAME : & 'static str = "DATA_TRANSMISSION_HANDSHAKE" ; const EXTRA_CRC : u8 = 29u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . size = buf . get_u32_le () ; __struct . width = buf . get_u16_le () ; __struct . height = buf . get_u16_le () ; __struct . packets = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavlinkDataStreamType" , value : tmp as u32 }) ? ; __struct . payload = buf . get_u8 () ; __struct . jpg_quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . size) ; __tmp . put_u16_le (self . width) ; __tmp . put_u16_le (self . height) ; __tmp . put_u16_le (self . packets) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . payload) ; __tmp . put_u8 (self . jpg_quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FOLLOW_TARGET_DATA { pub timestamp : u64 , pub custom_state : u64 , pub lat : i32 , pub lon : i32 , pub alt : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub attitude_q : [f32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rates : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub position_cov : [f32 ; 3] , pub est_capabilities : u8 , } impl FOLLOW_TARGET_DATA { pub const ENCODED_LEN : usize = 93usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , custom_state : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , vel : [0.0_f32 ; 3usize] , acc : [0.0_f32 ; 3usize] , attitude_q : [0.0_f32 ; 4usize] , rates : [0.0_f32 ; 3usize] , position_cov : [0.0_f32 ; 3usize] , est_capabilities : 0_u8 , } ; } impl Default for FOLLOW_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FOLLOW_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 144u32 ; const NAME : & 'static str = "FOLLOW_TARGET" ; const EXTRA_CRC : u8 = 127u8 ; const ENCODED_LEN : usize = 93usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . custom_state = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; for v in & mut __struct . vel { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . attitude_q { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . rates { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . position_cov { let val = buf . get_f32_le () ; * v = val ; } __struct . est_capabilities = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u64_le (self . custom_state) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; for val in & self . vel { __tmp . put_f32_le (* val) ; } for val in & self . acc { __tmp . put_f32_le (* val) ; } for val in & self . attitude_q { __tmp . put_f32_le (* val) ; } for val in & self . rates { __tmp . put_f32_le (* val) ; } for val in & self . position_cov { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . est_capabilities) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ONBOARD_COMPUTER_STATUS_DATA { pub time_usec : u64 , pub uptime : u32 , pub ram_usage : u32 , pub ram_total : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_type : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_usage : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_total : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_type : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_tx_rate : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_rx_rate : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_tx_max : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_rx_max : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub fan_speed : [i16 ; 4] , pub mavtype : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cpu_cores : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cpu_combined : [u8 ; 10] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub gpu_cores : [u8 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub gpu_combined : [u8 ; 10] , pub temperature_board : i8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature_core : [i8 ; 8] , } impl ONBOARD_COMPUTER_STATUS_DATA { pub const ENCODED_LEN : usize = 238usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime : 0_u32 , ram_usage : 0_u32 , ram_total : 0_u32 , storage_type : [0_u32 ; 4usize] , storage_usage : [0_u32 ; 4usize] , storage_total : [0_u32 ; 4usize] , link_type : [0_u32 ; 6usize] , link_tx_rate : [0_u32 ; 6usize] , link_rx_rate : [0_u32 ; 6usize] , link_tx_max : [0_u32 ; 6usize] , link_rx_max : [0_u32 ; 6usize] , fan_speed : [0_i16 ; 4usize] , mavtype : 0_u8 , cpu_cores : [0_u8 ; 8usize] , cpu_combined : [0_u8 ; 10usize] , gpu_cores : [0_u8 ; 4usize] , gpu_combined : [0_u8 ; 10usize] , temperature_board : 0_i8 , temperature_core : [0_i8 ; 8usize] , } ; } impl Default for ONBOARD_COMPUTER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ONBOARD_COMPUTER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 390u32 ; const NAME : & 'static str = "ONBOARD_COMPUTER_STATUS" ; const EXTRA_CRC : u8 = 156u8 ; const ENCODED_LEN : usize = 238usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime = buf . get_u32_le () ; __struct . ram_usage = buf . get_u32_le () ; __struct . ram_total = buf . get_u32_le () ; for v in & mut __struct . storage_type { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . storage_usage { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . storage_total { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_type { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_tx_rate { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_rx_rate { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_tx_max { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_rx_max { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . fan_speed { let val = buf . get_i16_le () ; * v = val ; } __struct . mavtype = buf . get_u8 () ; for v in & mut __struct . cpu_cores { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . cpu_combined { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . gpu_cores { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . gpu_combined { let val = buf . get_u8 () ; * v = val ; } __struct . temperature_board = buf . get_i8 () ; for v in & mut __struct . temperature_core { let val = buf . get_i8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime) ; __tmp . put_u32_le (self . ram_usage) ; __tmp . put_u32_le (self . ram_total) ; for val in & self . storage_type { __tmp . put_u32_le (* val) ; } for val in & self . storage_usage { __tmp . put_u32_le (* val) ; } for val in & self . storage_total { __tmp . put_u32_le (* val) ; } for val in & self . link_type { __tmp . put_u32_le (* val) ; } for val in & self . link_tx_rate { __tmp . put_u32_le (* val) ; } for val in & self . link_rx_rate { __tmp . put_u32_le (* val) ; } for val in & self . link_tx_max { __tmp . put_u32_le (* val) ; } for val in & self . link_rx_max { __tmp . put_u32_le (* val) ; } for val in & self . fan_speed { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . mavtype) ; for val in & self . cpu_cores { __tmp . put_u8 (* val) ; } for val in & self . cpu_combined { __tmp . put_u8 (* val) ; } for val in & self . gpu_cores { __tmp . put_u8 (* val) ; } for val in & self . gpu_combined { __tmp . put_u8 (* val) ; } __tmp . put_i8 (self . temperature_board) ; for val in & self . temperature_core { __tmp . put_i8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_GPS_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub vn : i16 , pub ve : i16 , pub vd : i16 , pub cog : u16 , pub fix_type : u8 , pub satellites_visible : u8 , } impl HIL_GPS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , vn : 0_i16 , ve : 0_i16 , vd : 0_i16 , cog : 0_u16 , fix_type : 0_u8 , satellites_visible : 0_u8 , } ; } impl Default for HIL_GPS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_GPS_DATA { type Message = MavMessage ; const ID : u32 = 113u32 ; const NAME : & 'static str = "HIL_GPS" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . vn = buf . get_i16_le () ; __struct . ve = buf . get_i16_le () ; __struct . vd = buf . get_i16_le () ; __struct . cog = buf . get_u16_le () ; __struct . fix_type = buf . get_u8 () ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_i16_le (self . vn) ; __tmp . put_i16_le (self . ve) ; __tmp . put_i16_le (self . vd) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAN_FILTER_MODIFY_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub ids : [u16 ; 16] , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub operation : CanFilterOp , pub num_ids : u8 , } impl CAN_FILTER_MODIFY_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { ids : [0_u16 ; 16usize] , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , operation : CanFilterOp :: DEFAULT , num_ids : 0_u8 , } ; } impl Default for CAN_FILTER_MODIFY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAN_FILTER_MODIFY_DATA { type Message = MavMessage ; const ID : u32 = 388u32 ; const NAME : & 'static str = "CAN_FILTER_MODIFY" ; const EXTRA_CRC : u8 = 8u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . ids { let val = buf . get_u16_le () ; * v = val ; } __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . operation = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CanFilterOp" , value : tmp as u32 }) ? ; __struct . num_ids = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . ids { __tmp . put_u16_le (* val) ; } __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . operation as u8) ; __tmp . put_u8 (self . num_ids) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SELF_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub description_type : MavOdidDescType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub description : [u8 ; 23] , } impl OPEN_DRONE_ID_SELF_ID_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , description_type : MavOdidDescType :: DEFAULT , description : [0_u8 ; 23usize] , } ; } impl Default for OPEN_DRONE_ID_SELF_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SELF_ID_DATA { type Message = MavMessage ; const ID : u32 = 12903u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SELF_ID" ; const EXTRA_CRC : u8 = 249u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . description_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidDescType" , value : tmp as u32 }) ? ; for v in & mut __struct . description { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . description_type as u8) ; for val in & self . description { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_DATA_DATA { pub ofs : u32 , pub id : u16 , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 90] , } impl LOG_DATA_DATA { pub const ENCODED_LEN : usize = 97usize ; pub const DEFAULT : Self = Self { ofs : 0_u32 , id : 0_u16 , count : 0_u8 , data : [0_u8 ; 90usize] , } ; } impl Default for LOG_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_DATA_DATA { type Message = MavMessage ; const ID : u32 = 120u32 ; const NAME : & 'static str = "LOG_DATA" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 97usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ofs = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ofs) ; __tmp . put_u16_le (self . id) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_ARM_STATUS_DATA { pub status : MavOdidArmStatus , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub error : [u8 ; 50] , } impl OPEN_DRONE_ID_ARM_STATUS_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { status : MavOdidArmStatus :: DEFAULT , error : [0_u8 ; 50usize] , } ; } impl Default for OPEN_DRONE_ID_ARM_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_ARM_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 12918u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_ARM_STATUS" ; const EXTRA_CRC : u8 = 139u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidArmStatus" , value : tmp as u32 }) ? ; for v in & mut __struct . error { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . status as u8) ; for val in & self . error { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGH_LATENCY_DATA { pub custom_mode : u32 , pub latitude : i32 , pub longitude : i32 , pub roll : i16 , pub pitch : i16 , pub heading : u16 , pub heading_sp : i16 , pub altitude_amsl : i16 , pub altitude_sp : i16 , pub wp_distance : u16 , pub base_mode : MavModeFlag , pub landed_state : MavLandedState , pub throttle : i8 , pub airspeed : u8 , pub airspeed_sp : u8 , pub groundspeed : u8 , pub climb_rate : i8 , pub gps_nsat : u8 , pub gps_fix_type : GpsFixType , pub battery_remaining : u8 , pub temperature : i8 , pub temperature_air : i8 , pub failsafe : u8 , pub wp_num : u8 , } impl HIGH_LATENCY_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , latitude : 0_i32 , longitude : 0_i32 , roll : 0_i16 , pitch : 0_i16 , heading : 0_u16 , heading_sp : 0_i16 , altitude_amsl : 0_i16 , altitude_sp : 0_i16 , wp_distance : 0_u16 , base_mode : MavModeFlag :: DEFAULT , landed_state : MavLandedState :: DEFAULT , throttle : 0_i8 , airspeed : 0_u8 , airspeed_sp : 0_u8 , groundspeed : 0_u8 , climb_rate : 0_i8 , gps_nsat : 0_u8 , gps_fix_type : GpsFixType :: DEFAULT , battery_remaining : 0_u8 , temperature : 0_i8 , temperature_air : 0_i8 , failsafe : 0_u8 , wp_num : 0_u8 , } ; } impl Default for HIGH_LATENCY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGH_LATENCY_DATA { type Message = MavMessage ; const ID : u32 = 234u32 ; const NAME : & 'static str = "HIGH_LATENCY" ; const EXTRA_CRC : u8 = 150u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . roll = buf . get_i16_le () ; __struct . pitch = buf . get_i16_le () ; __struct . heading = buf . get_u16_le () ; __struct . heading_sp = buf . get_i16_le () ; __struct . altitude_amsl = buf . get_i16_le () ; __struct . altitude_sp = buf . get_i16_le () ; __struct . wp_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . base_mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; __struct . throttle = buf . get_i8 () ; __struct . airspeed = buf . get_u8 () ; __struct . airspeed_sp = buf . get_u8 () ; __struct . groundspeed = buf . get_u8 () ; __struct . climb_rate = buf . get_i8 () ; __struct . gps_nsat = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . gps_fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . battery_remaining = buf . get_u8 () ; __struct . temperature = buf . get_i8 () ; __struct . temperature_air = buf . get_i8 () ; __struct . failsafe = buf . get_u8 () ; __struct . wp_num = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i16_le (self . roll) ; __tmp . put_i16_le (self . pitch) ; __tmp . put_u16_le (self . heading) ; __tmp . put_i16_le (self . heading_sp) ; __tmp . put_i16_le (self . altitude_amsl) ; __tmp . put_i16_le (self . altitude_sp) ; __tmp . put_u16_le (self . wp_distance) ; __tmp . put_u8 (self . base_mode . bits ()) ; __tmp . put_u8 (self . landed_state as u8) ; __tmp . put_i8 (self . throttle) ; __tmp . put_u8 (self . airspeed) ; __tmp . put_u8 (self . airspeed_sp) ; __tmp . put_u8 (self . groundspeed) ; __tmp . put_i8 (self . climb_rate) ; __tmp . put_u8 (self . gps_nsat) ; __tmp . put_u8 (self . gps_fix_type as u8) ; __tmp . put_u8 (self . battery_remaining) ; __tmp . put_i8 (self . temperature) ; __tmp . put_i8 (self . temperature_air) ; __tmp . put_u8 (self . failsafe) ; __tmp . put_u8 (self . wp_num) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PLAY_TUNE_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub tune : [u8 ; 30] , } impl PLAY_TUNE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , tune : [0_u8 ; 30usize] , } ; } impl Default for PLAY_TUNE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PLAY_TUNE_DATA { type Message = MavMessage ; const ID : u32 = 258u32 ; const NAME : & 'static str = "PLAY_TUNE" ; const EXTRA_CRC : u8 = 187u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . tune { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . tune { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_SCALED_DATA { pub time_boot_ms : u32 , pub chan1_scaled : i16 , pub chan2_scaled : i16 , pub chan3_scaled : i16 , pub chan4_scaled : i16 , pub chan5_scaled : i16 , pub chan6_scaled : i16 , pub chan7_scaled : i16 , pub chan8_scaled : i16 , pub port : u8 , pub rssi : u8 , } impl RC_CHANNELS_SCALED_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_scaled : 0_i16 , chan2_scaled : 0_i16 , chan3_scaled : 0_i16 , chan4_scaled : 0_i16 , chan5_scaled : 0_i16 , chan6_scaled : 0_i16 , chan7_scaled : 0_i16 , chan8_scaled : 0_i16 , port : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_SCALED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_SCALED_DATA { type Message = MavMessage ; const ID : u32 = 34u32 ; const NAME : & 'static str = "RC_CHANNELS_SCALED" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_scaled = buf . get_i16_le () ; __struct . chan2_scaled = buf . get_i16_le () ; __struct . chan3_scaled = buf . get_i16_le () ; __struct . chan4_scaled = buf . get_i16_le () ; __struct . chan5_scaled = buf . get_i16_le () ; __struct . chan6_scaled = buf . get_i16_le () ; __struct . chan7_scaled = buf . get_i16_le () ; __struct . chan8_scaled = buf . get_i16_le () ; __struct . port = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . chan1_scaled) ; __tmp . put_i16_le (self . chan2_scaled) ; __tmp . put_i16_le (self . chan3_scaled) ; __tmp . put_i16_le (self . chan4_scaled) ; __tmp . put_i16_le (self . chan5_scaled) ; __tmp . put_i16_le (self . chan6_scaled) ; __tmp . put_i16_le (self . chan7_scaled) ; __tmp . put_i16_le (self . chan8_scaled) ; __tmp . put_u8 (self . port) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_IMU_DATA { pub time_usec : u64 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl RAW_IMU_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for RAW_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_IMU_DATA { type Message = MavMessage ; const ID : u32 = 27u32 ; const NAME : & 'static str = "RAW_IMU" ; const EXTRA_CRC : u8 = 144u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SAFETY_SET_ALLOWED_AREA_DATA { pub p1x : f32 , pub p1y : f32 , pub p1z : f32 , pub p2x : f32 , pub p2y : f32 , pub p2z : f32 , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , } impl SAFETY_SET_ALLOWED_AREA_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { p1x : 0.0_f32 , p1y : 0.0_f32 , p1z : 0.0_f32 , p2x : 0.0_f32 , p2y : 0.0_f32 , p2z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , } ; } impl Default for SAFETY_SET_ALLOWED_AREA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SAFETY_SET_ALLOWED_AREA_DATA { type Message = MavMessage ; const ID : u32 = 54u32 ; const NAME : & 'static str = "SAFETY_SET_ALLOWED_AREA" ; const EXTRA_CRC : u8 = 15u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . p1x = buf . get_f32_le () ; __struct . p1y = buf . get_f32_le () ; __struct . p1z = buf . get_f32_le () ; __struct . p2x = buf . get_f32_le () ; __struct . p2y = buf . get_f32_le () ; __struct . p2z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . p1x) ; __tmp . put_f32_le (self . p1y) ; __tmp . put_f32_le (self . p1z) ; __tmp . put_f32_le (self . p2x) ; __tmp . put_f32_le (self . p2y) ; __tmp . put_f32_le (self . p2z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MOUNT_ORIENTATION_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl MOUNT_ORIENTATION_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for MOUNT_ORIENTATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MOUNT_ORIENTATION_DATA { type Message = MavMessage ; const ID : u32 = 265u32 ; const NAME : & 'static str = "MOUNT_ORIENTATION" ; const EXTRA_CRC : u8 = 26u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRACKING_IMAGE_STATUS_DATA { pub point_x : f32 , pub point_y : f32 , pub radius : f32 , pub rec_top_x : f32 , pub rec_top_y : f32 , pub rec_bottom_x : f32 , pub rec_bottom_y : f32 , pub tracking_status : CameraTrackingStatusFlags , pub tracking_mode : CameraTrackingMode , pub target_data : CameraTrackingTargetData , } impl CAMERA_TRACKING_IMAGE_STATUS_DATA { pub const ENCODED_LEN : usize = 31usize ; pub const DEFAULT : Self = Self { point_x : 0.0_f32 , point_y : 0.0_f32 , radius : 0.0_f32 , rec_top_x : 0.0_f32 , rec_top_y : 0.0_f32 , rec_bottom_x : 0.0_f32 , rec_bottom_y : 0.0_f32 , tracking_status : CameraTrackingStatusFlags :: DEFAULT , tracking_mode : CameraTrackingMode :: DEFAULT , target_data : CameraTrackingTargetData :: DEFAULT , } ; } impl Default for CAMERA_TRACKING_IMAGE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRACKING_IMAGE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 275u32 ; const NAME : & 'static str = "CAMERA_TRACKING_IMAGE_STATUS" ; const EXTRA_CRC : u8 = 126u8 ; const ENCODED_LEN : usize = 31usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . point_x = buf . get_f32_le () ; __struct . point_y = buf . get_f32_le () ; __struct . radius = buf . get_f32_le () ; __struct . rec_top_x = buf . get_f32_le () ; __struct . rec_top_y = buf . get_f32_le () ; __struct . rec_bottom_x = buf . get_f32_le () ; __struct . rec_bottom_y = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . tracking_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingStatusFlags" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . tracking_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingMode" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . target_data = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingTargetData" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . point_x) ; __tmp . put_f32_le (self . point_y) ; __tmp . put_f32_le (self . radius) ; __tmp . put_f32_le (self . rec_top_x) ; __tmp . put_f32_le (self . rec_top_y) ; __tmp . put_f32_le (self . rec_bottom_x) ; __tmp . put_f32_le (self . rec_bottom_y) ; __tmp . put_u8 (self . tracking_status as u8) ; __tmp . put_u8 (self . tracking_mode as u8) ; __tmp . put_u8 (self . target_data as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EVENT_DATA { pub id : u32 , pub event_time_boot_ms : u32 , pub sequence : u16 , pub destination_component : u8 , pub destination_system : u8 , pub log_levels : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub arguments : [u8 ; 40] , } impl EVENT_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { id : 0_u32 , event_time_boot_ms : 0_u32 , sequence : 0_u16 , destination_component : 0_u8 , destination_system : 0_u8 , log_levels : 0_u8 , arguments : [0_u8 ; 40usize] , } ; } impl Default for EVENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EVENT_DATA { type Message = MavMessage ; const ID : u32 = 410u32 ; const NAME : & 'static str = "EVENT" ; const EXTRA_CRC : u8 = 160u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . event_time_boot_ms = buf . get_u32_le () ; __struct . sequence = buf . get_u16_le () ; __struct . destination_component = buf . get_u8 () ; __struct . destination_system = buf . get_u8 () ; __struct . log_levels = buf . get_u8 () ; for v in & mut __struct . arguments { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u32_le (self . event_time_boot_ms) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . destination_component) ; __tmp . put_u8 (self . destination_system) ; __tmp . put_u8 (self . log_levels) ; for val in & self . arguments { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EFI_STATUS_DATA { pub ecu_index : f32 , pub rpm : f32 , pub fuel_consumed : f32 , pub fuel_flow : f32 , pub engine_load : f32 , pub throttle_position : f32 , pub spark_dwell_time : f32 , pub barometric_pressure : f32 , pub intake_manifold_pressure : f32 , pub intake_manifold_temperature : f32 , pub cylinder_head_temperature : f32 , pub ignition_timing : f32 , pub injection_time : f32 , pub exhaust_gas_temperature : f32 , pub throttle_out : f32 , pub pt_compensation : f32 , pub health : u8 , } impl EFI_STATUS_DATA { pub const ENCODED_LEN : usize = 65usize ; pub const DEFAULT : Self = Self { ecu_index : 0.0_f32 , rpm : 0.0_f32 , fuel_consumed : 0.0_f32 , fuel_flow : 0.0_f32 , engine_load : 0.0_f32 , throttle_position : 0.0_f32 , spark_dwell_time : 0.0_f32 , barometric_pressure : 0.0_f32 , intake_manifold_pressure : 0.0_f32 , intake_manifold_temperature : 0.0_f32 , cylinder_head_temperature : 0.0_f32 , ignition_timing : 0.0_f32 , injection_time : 0.0_f32 , exhaust_gas_temperature : 0.0_f32 , throttle_out : 0.0_f32 , pt_compensation : 0.0_f32 , health : 0_u8 , } ; } impl Default for EFI_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EFI_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 225u32 ; const NAME : & 'static str = "EFI_STATUS" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 65usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ecu_index = buf . get_f32_le () ; __struct . rpm = buf . get_f32_le () ; __struct . fuel_consumed = buf . get_f32_le () ; __struct . fuel_flow = buf . get_f32_le () ; __struct . engine_load = buf . get_f32_le () ; __struct . throttle_position = buf . get_f32_le () ; __struct . spark_dwell_time = buf . get_f32_le () ; __struct . barometric_pressure = buf . get_f32_le () ; __struct . intake_manifold_pressure = buf . get_f32_le () ; __struct . intake_manifold_temperature = buf . get_f32_le () ; __struct . cylinder_head_temperature = buf . get_f32_le () ; __struct . ignition_timing = buf . get_f32_le () ; __struct . injection_time = buf . get_f32_le () ; __struct . exhaust_gas_temperature = buf . get_f32_le () ; __struct . throttle_out = buf . get_f32_le () ; __struct . pt_compensation = buf . get_f32_le () ; __struct . health = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . ecu_index) ; __tmp . put_f32_le (self . rpm) ; __tmp . put_f32_le (self . fuel_consumed) ; __tmp . put_f32_le (self . fuel_flow) ; __tmp . put_f32_le (self . engine_load) ; __tmp . put_f32_le (self . throttle_position) ; __tmp . put_f32_le (self . spark_dwell_time) ; __tmp . put_f32_le (self . barometric_pressure) ; __tmp . put_f32_le (self . intake_manifold_pressure) ; __tmp . put_f32_le (self . intake_manifold_temperature) ; __tmp . put_f32_le (self . cylinder_head_temperature) ; __tmp . put_f32_le (self . ignition_timing) ; __tmp . put_f32_le (self . injection_time) ; __tmp . put_f32_le (self . exhaust_gas_temperature) ; __tmp . put_f32_le (self . throttle_out) ; __tmp . put_f32_le (self . pt_compensation) ; __tmp . put_u8 (self . health) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REQUEST_EVENT_DATA { pub first_sequence : u16 , pub last_sequence : u16 , pub target_system : u8 , pub target_component : u8 , } impl REQUEST_EVENT_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { first_sequence : 0_u16 , last_sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for REQUEST_EVENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REQUEST_EVENT_DATA { type Message = MavMessage ; const ID : u32 = 412u32 ; const NAME : & 'static str = "REQUEST_EVENT" ; const EXTRA_CRC : u8 = 33u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . first_sequence = buf . get_u16_le () ; __struct . last_sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . first_sequence) ; __tmp . put_u16_le (self . last_sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HYGROMETER_SENSOR_DATA { pub temperature : i16 , pub humidity : u16 , pub id : u8 , } impl HYGROMETER_SENSOR_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { temperature : 0_i16 , humidity : 0_u16 , id : 0_u8 , } ; } impl Default for HYGROMETER_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HYGROMETER_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 12920u32 ; const NAME : & 'static str = "HYGROMETER_SENSOR" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . temperature = buf . get_i16_le () ; __struct . humidity = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u16_le (self . humidity) ; __tmp . put_u8 (self . id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REQUEST_DATA_STREAM_DATA { pub req_message_rate : u16 , pub target_system : u8 , pub target_component : u8 , pub req_stream_id : u8 , pub start_stop : u8 , } impl REQUEST_DATA_STREAM_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { req_message_rate : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , req_stream_id : 0_u8 , start_stop : 0_u8 , } ; } impl Default for REQUEST_DATA_STREAM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REQUEST_DATA_STREAM_DATA { type Message = MavMessage ; const ID : u32 = 66u32 ; const NAME : & 'static str = "REQUEST_DATA_STREAM" ; const EXTRA_CRC : u8 = 148u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . req_message_rate = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . req_stream_id = buf . get_u8 () ; __struct . start_stop = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . req_message_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . req_stream_id) ; __tmp . put_u8 (self . start_stop) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct V2_EXTENSION_DATA { pub message_type : u16 , pub target_network : u8 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 249] , } impl V2_EXTENSION_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { message_type : 0_u16 , target_network : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , payload : [0_u8 ; 249usize] , } ; } impl Default for V2_EXTENSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for V2_EXTENSION_DATA { type Message = MavMessage ; const ID : u32 = 248u32 ; const NAME : & 'static str = "V2_EXTENSION" ; const EXTRA_CRC : u8 = 8u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . message_type = buf . get_u16_le () ; __struct . target_network = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . message_type) ; __tmp . put_u8 (self . target_network) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_VECT_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl DEBUG_VECT_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , name : [0_u8 ; 10usize] , } ; } impl Default for DEBUG_VECT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_VECT_DATA { type Message = MavMessage ; const ID : u32 = 250u32 ; const NAME : & 'static str = "DEBUG_VECT" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_ACK_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOGGING_ACK_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOGGING_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_ACK_DATA { type Message = MavMessage ; const ID : u32 = 268u32 ; const NAME : & 'static str = "LOGGING_ACK" ; const EXTRA_CRC : u8 = 14u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_OPERATOR_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub operator_id_type : MavOdidOperatorIdType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub operator_id : [u8 ; 20] , } impl OPEN_DRONE_ID_OPERATOR_ID_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , operator_id_type : MavOdidOperatorIdType :: DEFAULT , operator_id : [0_u8 ; 20usize] , } ; } impl Default for OPEN_DRONE_ID_OPERATOR_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_OPERATOR_ID_DATA { type Message = MavMessage ; const ID : u32 = 12905u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_OPERATOR_ID" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . operator_id_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidOperatorIdType" , value : tmp as u32 }) ? ; for v in & mut __struct . operator_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . operator_id_type as u8) ; for val in & self . operator_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ISBD_LINK_STATUS_DATA { pub timestamp : u64 , pub last_heartbeat : u64 , pub failed_sessions : u16 , pub successful_sessions : u16 , pub signal_quality : u8 , pub ring_pending : u8 , pub tx_session_pending : u8 , pub rx_session_pending : u8 , } impl ISBD_LINK_STATUS_DATA { pub const ENCODED_LEN : usize = 24usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , last_heartbeat : 0_u64 , failed_sessions : 0_u16 , successful_sessions : 0_u16 , signal_quality : 0_u8 , ring_pending : 0_u8 , tx_session_pending : 0_u8 , rx_session_pending : 0_u8 , } ; } impl Default for ISBD_LINK_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ISBD_LINK_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 335u32 ; const NAME : & 'static str = "ISBD_LINK_STATUS" ; const EXTRA_CRC : u8 = 225u8 ; const ENCODED_LEN : usize = 24usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . last_heartbeat = buf . get_u64_le () ; __struct . failed_sessions = buf . get_u16_le () ; __struct . successful_sessions = buf . get_u16_le () ; __struct . signal_quality = buf . get_u8 () ; __struct . ring_pending = buf . get_u8 () ; __struct . tx_session_pending = buf . get_u8 () ; __struct . rx_session_pending = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u64_le (self . last_heartbeat) ; __tmp . put_u16_le (self . failed_sessions) ; __tmp . put_u16_le (self . successful_sessions) ; __tmp . put_u8 (self . signal_quality) ; __tmp . put_u8 (self . ring_pending) ; __tmp . put_u8 (self . tx_session_pending) ; __tmp . put_u8 (self . rx_session_pending) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CONTROL_SYSTEM_STATE_DATA { pub time_usec : u64 , pub x_acc : f32 , pub y_acc : f32 , pub z_acc : f32 , pub x_vel : f32 , pub y_vel : f32 , pub z_vel : f32 , pub x_pos : f32 , pub y_pos : f32 , pub z_pos : f32 , pub airspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_variance : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_variance : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub roll_rate : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , } impl CONTROL_SYSTEM_STATE_DATA { pub const ENCODED_LEN : usize = 100usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x_acc : 0.0_f32 , y_acc : 0.0_f32 , z_acc : 0.0_f32 , x_vel : 0.0_f32 , y_vel : 0.0_f32 , z_vel : 0.0_f32 , x_pos : 0.0_f32 , y_pos : 0.0_f32 , z_pos : 0.0_f32 , airspeed : 0.0_f32 , vel_variance : [0.0_f32 ; 3usize] , pos_variance : [0.0_f32 ; 3usize] , q : [0.0_f32 ; 4usize] , roll_rate : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , } ; } impl Default for CONTROL_SYSTEM_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CONTROL_SYSTEM_STATE_DATA { type Message = MavMessage ; const ID : u32 = 146u32 ; const NAME : & 'static str = "CONTROL_SYSTEM_STATE" ; const EXTRA_CRC : u8 = 103u8 ; const ENCODED_LEN : usize = 100usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x_acc = buf . get_f32_le () ; __struct . y_acc = buf . get_f32_le () ; __struct . z_acc = buf . get_f32_le () ; __struct . x_vel = buf . get_f32_le () ; __struct . y_vel = buf . get_f32_le () ; __struct . z_vel = buf . get_f32_le () ; __struct . x_pos = buf . get_f32_le () ; __struct . y_pos = buf . get_f32_le () ; __struct . z_pos = buf . get_f32_le () ; __struct . airspeed = buf . get_f32_le () ; for v in & mut __struct . vel_variance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_variance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . roll_rate = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x_acc) ; __tmp . put_f32_le (self . y_acc) ; __tmp . put_f32_le (self . z_acc) ; __tmp . put_f32_le (self . x_vel) ; __tmp . put_f32_le (self . y_vel) ; __tmp . put_f32_le (self . z_vel) ; __tmp . put_f32_le (self . x_pos) ; __tmp . put_f32_le (self . y_pos) ; __tmp . put_f32_le (self . z_pos) ; __tmp . put_f32_le (self . airspeed) ; for val in & self . vel_variance { __tmp . put_f32_le (* val) ; } for val in & self . pos_variance { __tmp . put_f32_le (* val) ; } for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . roll_rate) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OBSTACLE_DISTANCE_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub distances : [u16 ; 72] , pub min_distance : u16 , pub max_distance : u16 , pub sensor_type : MavDistanceSensor , pub increment : u8 , } impl OBSTACLE_DISTANCE_DATA { pub const ENCODED_LEN : usize = 158usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , distances : [0_u16 ; 72usize] , min_distance : 0_u16 , max_distance : 0_u16 , sensor_type : MavDistanceSensor :: DEFAULT , increment : 0_u8 , } ; } impl Default for OBSTACLE_DISTANCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OBSTACLE_DISTANCE_DATA { type Message = MavMessage ; const ID : u32 = 330u32 ; const NAME : & 'static str = "OBSTACLE_DISTANCE" ; const EXTRA_CRC : u8 = 23u8 ; const ENCODED_LEN : usize = 158usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . distances { let val = buf . get_u16_le () ; * v = val ; } __struct . min_distance = buf . get_u16_le () ; __struct . max_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . sensor_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; __struct . increment = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . distances { __tmp . put_u16_le (* val) ; } __tmp . put_u16_le (self . min_distance) ; __tmp . put_u16_le (self . max_distance) ; __tmp . put_u8 (self . sensor_type as u8) ; __tmp . put_u8 (self . increment) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU2_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU2_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU2_DATA { type Message = MavMessage ; const ID : u32 = 116u32 ; const NAME : & 'static str = "SCALED_IMU2" ; const EXTRA_CRC : u8 = 76u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_VALUE_DATA { pub param_value : f32 , pub param_count : u16 , pub param_index : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub param_type : MavParamType , } impl PARAM_VALUE_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { param_value : 0.0_f32 , param_count : 0_u16 , param_index : 0_u16 , param_id : [0_u8 ; 16usize] , param_type : MavParamType :: DEFAULT , } ; } impl Default for PARAM_VALUE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_VALUE_DATA { type Message = MavMessage ; const ID : u32 = 22u32 ; const NAME : & 'static str = "PARAM_VALUE" ; const EXTRA_CRC : u8 = 220u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value = buf . get_f32_le () ; __struct . param_count = buf . get_u16_le () ; __struct . param_index = buf . get_u16_le () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value) ; __tmp . put_u16_le (self . param_count) ; __tmp . put_u16_le (self . param_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SERVO_OUTPUT_RAW_DATA { pub time_usec : u32 , pub servo1_raw : u16 , pub servo2_raw : u16 , pub servo3_raw : u16 , pub servo4_raw : u16 , pub servo5_raw : u16 , pub servo6_raw : u16 , pub servo7_raw : u16 , pub servo8_raw : u16 , pub port : u8 , } impl SERVO_OUTPUT_RAW_DATA { pub const ENCODED_LEN : usize = 21usize ; pub const DEFAULT : Self = Self { time_usec : 0_u32 , servo1_raw : 0_u16 , servo2_raw : 0_u16 , servo3_raw : 0_u16 , servo4_raw : 0_u16 , servo5_raw : 0_u16 , servo6_raw : 0_u16 , servo7_raw : 0_u16 , servo8_raw : 0_u16 , port : 0_u8 , } ; } impl Default for SERVO_OUTPUT_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SERVO_OUTPUT_RAW_DATA { type Message = MavMessage ; const ID : u32 = 36u32 ; const NAME : & 'static str = "SERVO_OUTPUT_RAW" ; const EXTRA_CRC : u8 = 222u8 ; const ENCODED_LEN : usize = 21usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u32_le () ; __struct . servo1_raw = buf . get_u16_le () ; __struct . servo2_raw = buf . get_u16_le () ; __struct . servo3_raw = buf . get_u16_le () ; __struct . servo4_raw = buf . get_u16_le () ; __struct . servo5_raw = buf . get_u16_le () ; __struct . servo6_raw = buf . get_u16_le () ; __struct . servo7_raw = buf . get_u16_le () ; __struct . servo8_raw = buf . get_u16_le () ; __struct . port = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_usec) ; __tmp . put_u16_le (self . servo1_raw) ; __tmp . put_u16_le (self . servo2_raw) ; __tmp . put_u16_le (self . servo3_raw) ; __tmp . put_u16_le (self . servo4_raw) ; __tmp . put_u16_le (self . servo5_raw) ; __tmp . put_u16_le (self . servo6_raw) ; __tmp . put_u16_le (self . servo7_raw) ; __tmp . put_u16_le (self . servo8_raw) ; __tmp . put_u8 (self . port) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRACKING_GEO_STATUS_DATA { pub lat : i32 , pub lon : i32 , pub alt : f32 , pub h_acc : f32 , pub v_acc : f32 , pub vel_n : f32 , pub vel_e : f32 , pub vel_d : f32 , pub vel_acc : f32 , pub dist : f32 , pub hdg : f32 , pub hdg_acc : f32 , pub tracking_status : CameraTrackingStatusFlags , } impl CAMERA_TRACKING_GEO_STATUS_DATA { pub const ENCODED_LEN : usize = 49usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , h_acc : 0.0_f32 , v_acc : 0.0_f32 , vel_n : 0.0_f32 , vel_e : 0.0_f32 , vel_d : 0.0_f32 , vel_acc : 0.0_f32 , dist : 0.0_f32 , hdg : 0.0_f32 , hdg_acc : 0.0_f32 , tracking_status : CameraTrackingStatusFlags :: DEFAULT , } ; } impl Default for CAMERA_TRACKING_GEO_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRACKING_GEO_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 276u32 ; const NAME : & 'static str = "CAMERA_TRACKING_GEO_STATUS" ; const EXTRA_CRC : u8 = 18u8 ; const ENCODED_LEN : usize = 49usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . h_acc = buf . get_f32_le () ; __struct . v_acc = buf . get_f32_le () ; __struct . vel_n = buf . get_f32_le () ; __struct . vel_e = buf . get_f32_le () ; __struct . vel_d = buf . get_f32_le () ; __struct . vel_acc = buf . get_f32_le () ; __struct . dist = buf . get_f32_le () ; __struct . hdg = buf . get_f32_le () ; __struct . hdg_acc = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . tracking_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . h_acc) ; __tmp . put_f32_le (self . v_acc) ; __tmp . put_f32_le (self . vel_n) ; __tmp . put_f32_le (self . vel_e) ; __tmp . put_f32_le (self . vel_d) ; __tmp . put_f32_le (self . vel_acc) ; __tmp . put_f32_le (self . dist) ; __tmp . put_f32_le (self . hdg) ; __tmp . put_f32_le (self . hdg_acc) ; __tmp . put_u8 (self . tracking_status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_ACTUATOR_CONTROL_TARGET_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 8] , pub group_mlx : u8 , pub target_system : u8 , pub target_component : u8 , } impl SET_ACTUATOR_CONTROL_TARGET_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , controls : [0.0_f32 ; 8usize] , group_mlx : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SET_ACTUATOR_CONTROL_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_ACTUATOR_CONTROL_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 139u32 ; const NAME : & 'static str = "SET_ACTUATOR_CONTROL_TARGET" ; const EXTRA_CRC : u8 = 168u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } __struct . group_mlx = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . group_mlx) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_STATUS_DATA { pub time_boot_ms : u32 , pub flags : GimbalManagerFlags , pub gimbal_device_id : u8 , pub primary_control_sysid : u8 , pub primary_control_compid : u8 , pub secondary_control_sysid : u8 , pub secondary_control_compid : u8 , } impl GIMBAL_MANAGER_STATUS_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , flags : GimbalManagerFlags :: DEFAULT , gimbal_device_id : 0_u8 , primary_control_sysid : 0_u8 , primary_control_compid : 0_u8 , secondary_control_sysid : 0_u8 , secondary_control_compid : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 281u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_STATUS" ; const EXTRA_CRC : u8 = 48u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . gimbal_device_id = buf . get_u8 () ; __struct . primary_control_sysid = buf . get_u8 () ; __struct . primary_control_compid = buf . get_u8 () ; __struct . secondary_control_sysid = buf . get_u8 () ; __struct . secondary_control_compid = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_u8 (self . gimbal_device_id) ; __tmp . put_u8 (self . primary_control_sysid) ; __tmp . put_u8 (self . primary_control_compid) ; __tmp . put_u8 (self . secondary_control_sysid) ; __tmp . put_u8 (self . secondary_control_compid) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub failure_flags : GimbalDeviceErrorFlags , pub flags : GimbalDeviceFlags , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , failure_flags : GimbalDeviceErrorFlags :: DEFAULT , flags : GimbalDeviceFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 285u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_ATTITUDE_STATUS" ; const EXTRA_CRC : u8 = 137u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . failure_flags = GimbalDeviceErrorFlags :: from_bits (tmp & GimbalDeviceErrorFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceErrorFlags" , value : tmp as u32 }) ? ; let tmp = buf . get_u16_le () ; __struct . flags = GimbalDeviceFlags :: from_bits (tmp & GimbalDeviceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u32_le (self . failure_flags . bits ()) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl PARAM_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PARAM_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 21u32 ; const NAME : & 'static str = "PARAM_REQUEST_LIST" ; const EXTRA_CRC : u8 = 159u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVCAN_NODE_STATUS_DATA { pub time_usec : u64 , pub uptime_sec : u32 , pub vendor_specific_status_code : u16 , pub health : UavcanNodeHealth , pub mode : UavcanNodeMode , pub sub_mode : u8 , } impl UAVCAN_NODE_STATUS_DATA { pub const ENCODED_LEN : usize = 17usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime_sec : 0_u32 , vendor_specific_status_code : 0_u16 , health : UavcanNodeHealth :: DEFAULT , mode : UavcanNodeMode :: DEFAULT , sub_mode : 0_u8 , } ; } impl Default for UAVCAN_NODE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVCAN_NODE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 310u32 ; const NAME : & 'static str = "UAVCAN_NODE_STATUS" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 17usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime_sec = buf . get_u32_le () ; __struct . vendor_specific_status_code = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . health = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavcanNodeHealth" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavcanNodeMode" , value : tmp as u32 }) ? ; __struct . sub_mode = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime_sec) ; __tmp . put_u16_le (self . vendor_specific_status_code) ; __tmp . put_u8 (self . health as u8) ; __tmp . put_u8 (self . mode as u8) ; __tmp . put_u8 (self . sub_mode) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_SET_DATA { pub param_value : f32 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub param_type : MavParamType , } impl PARAM_SET_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { param_value : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , param_type : MavParamType :: DEFAULT , } ; } impl Default for PARAM_SET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_SET_DATA { type Message = MavMessage ; const ID : u32 = 23u32 ; const NAME : & 'static str = "PARAM_SET" ; const EXTRA_CRC : u8 = 168u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE_DATA { type Message = MavMessage ; const ID : u32 = 29u32 ; const NAME : & 'static str = "SCALED_PRESSURE" ; const EXTRA_CRC : u8 = 115u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SYSTEM_TIME_DATA { pub time_unix_usec : u64 , pub time_boot_ms : u32 , } impl SYSTEM_TIME_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { time_unix_usec : 0_u64 , time_boot_ms : 0_u32 , } ; } impl Default for SYSTEM_TIME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SYSTEM_TIME_DATA { type Message = MavMessage ; const ID : u32 = 2u32 ; const NAME : & 'static str = "SYSTEM_TIME" ; const EXTRA_CRC : u8 = 137u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_unix_usec = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_unix_usec) ; __tmp . put_u32_le (self . time_boot_ms) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ENCAPSULATED_DATA_DATA { pub seqnr : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 253] , } impl ENCAPSULATED_DATA_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { seqnr : 0_u16 , data : [0_u8 ; 253usize] , } ; } impl Default for ENCAPSULATED_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ENCAPSULATED_DATA_DATA { type Message = MavMessage ; const ID : u32 = 131u32 ; const NAME : & 'static str = "ENCAPSULATED_DATA" ; const EXTRA_CRC : u8 = 223u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seqnr = buf . get_u16_le () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seqnr) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ACTUATOR_CONTROL_TARGET_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 8] , pub group_mlx : u8 , } impl ACTUATOR_CONTROL_TARGET_DATA { pub const ENCODED_LEN : usize = 41usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , controls : [0.0_f32 ; 8usize] , group_mlx : 0_u8 , } ; } impl Default for ACTUATOR_CONTROL_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ACTUATOR_CONTROL_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 140u32 ; const NAME : & 'static str = "ACTUATOR_CONTROL_TARGET" ; const EXTRA_CRC : u8 = 181u8 ; const ENCODED_LEN : usize = 41usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } __struct . group_mlx = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . group_mlx) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_HOME_POSITION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub approach_x : f32 , pub approach_y : f32 , pub approach_z : f32 , pub target_system : u8 , } impl SET_HOME_POSITION_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , approach_x : 0.0_f32 , approach_y : 0.0_f32 , approach_z : 0.0_f32 , target_system : 0_u8 , } ; } impl Default for SET_HOME_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_HOME_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 243u32 ; const NAME : & 'static str = "SET_HOME_POSITION" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . approach_x = buf . get_f32_le () ; __struct . approach_y = buf . get_f32_le () ; __struct . approach_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . approach_x) ; __tmp . put_f32_le (self . approach_y) ; __tmp . put_f32_le (self . approach_z) ; __tmp . put_u8 (self . target_system) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SYS_STATUS_DATA { pub onboard_control_sensors_present : MavSysStatusSensor , pub onboard_control_sensors_enabled : MavSysStatusSensor , pub onboard_control_sensors_health : MavSysStatusSensor , pub load : u16 , pub voltage_battery : u16 , pub current_battery : i16 , pub drop_rate_comm : u16 , pub errors_comm : u16 , pub errors_count1 : u16 , pub errors_count2 : u16 , pub errors_count3 : u16 , pub errors_count4 : u16 , pub battery_remaining : i8 , } impl SYS_STATUS_DATA { pub const ENCODED_LEN : usize = 31usize ; pub const DEFAULT : Self = Self { onboard_control_sensors_present : MavSysStatusSensor :: DEFAULT , onboard_control_sensors_enabled : MavSysStatusSensor :: DEFAULT , onboard_control_sensors_health : MavSysStatusSensor :: DEFAULT , load : 0_u16 , voltage_battery : 0_u16 , current_battery : 0_i16 , drop_rate_comm : 0_u16 , errors_comm : 0_u16 , errors_count1 : 0_u16 , errors_count2 : 0_u16 , errors_count3 : 0_u16 , errors_count4 : 0_u16 , battery_remaining : 0_i8 , } ; } impl Default for SYS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SYS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 1u32 ; const NAME : & 'static str = "SYS_STATUS" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 31usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_present = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_enabled = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_health = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; __struct . load = buf . get_u16_le () ; __struct . voltage_battery = buf . get_u16_le () ; __struct . current_battery = buf . get_i16_le () ; __struct . drop_rate_comm = buf . get_u16_le () ; __struct . errors_comm = buf . get_u16_le () ; __struct . errors_count1 = buf . get_u16_le () ; __struct . errors_count2 = buf . get_u16_le () ; __struct . errors_count3 = buf . get_u16_le () ; __struct . errors_count4 = buf . get_u16_le () ; __struct . battery_remaining = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . onboard_control_sensors_present . bits ()) ; __tmp . put_u32_le (self . onboard_control_sensors_enabled . bits ()) ; __tmp . put_u32_le (self . onboard_control_sensors_health . bits ()) ; __tmp . put_u16_le (self . load) ; __tmp . put_u16_le (self . voltage_battery) ; __tmp . put_i16_le (self . current_battery) ; __tmp . put_u16_le (self . drop_rate_comm) ; __tmp . put_u16_le (self . errors_comm) ; __tmp . put_u16_le (self . errors_count1) ; __tmp . put_u16_le (self . errors_count2) ; __tmp . put_u16_le (self . errors_count3) ; __tmp . put_u16_le (self . errors_count4) ; __tmp . put_i8 (self . battery_remaining) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TIMESYNC_DATA { pub tc1 : i64 , pub ts1 : i64 , } impl TIMESYNC_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { tc1 : 0_i64 , ts1 : 0_i64 , } ; } impl Default for TIMESYNC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TIMESYNC_DATA { type Message = MavMessage ; const ID : u32 = 111u32 ; const NAME : & 'static str = "TIMESYNC" ; const EXTRA_CRC : u8 = 34u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . tc1 = buf . get_i64_le () ; __struct . ts1 = buf . get_i64_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i64_le (self . tc1) ; __tmp . put_i64_le (self . ts1) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_END_DATA { pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_END_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_END_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_END_DATA { type Message = MavMessage ; const ID : u32 = 122u32 ; const NAME : & 'static str = "LOG_REQUEST_END" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_yaw : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_yaw : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub command : [u16 ; 5] , pub valid_points : u8 , } impl TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { pub const ENCODED_LEN : usize = 239usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , pos_x : [0.0_f32 ; 5usize] , pos_y : [0.0_f32 ; 5usize] , pos_z : [0.0_f32 ; 5usize] , vel_x : [0.0_f32 ; 5usize] , vel_y : [0.0_f32 ; 5usize] , vel_z : [0.0_f32 ; 5usize] , acc_x : [0.0_f32 ; 5usize] , acc_y : [0.0_f32 ; 5usize] , acc_z : [0.0_f32 ; 5usize] , pos_yaw : [0.0_f32 ; 5usize] , vel_yaw : [0.0_f32 ; 5usize] , command : [0_u16 ; 5usize] , valid_points : 0_u8 , } ; } impl Default for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { type Message = MavMessage ; const ID : u32 = 332u32 ; const NAME : & 'static str = "TRAJECTORY_REPRESENTATION_WAYPOINTS" ; const EXTRA_CRC : u8 = 236u8 ; const ENCODED_LEN : usize = 239usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . pos_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_yaw { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_yaw { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . command { let val = buf . get_u16_le () ; * v = val ; } __struct . valid_points = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . pos_x { __tmp . put_f32_le (* val) ; } for val in & self . pos_y { __tmp . put_f32_le (* val) ; } for val in & self . pos_z { __tmp . put_f32_le (* val) ; } for val in & self . vel_x { __tmp . put_f32_le (* val) ; } for val in & self . vel_y { __tmp . put_f32_le (* val) ; } for val in & self . vel_z { __tmp . put_f32_le (* val) ; } for val in & self . acc_x { __tmp . put_f32_le (* val) ; } for val in & self . acc_y { __tmp . put_f32_le (* val) ; } for val in & self . acc_z { __tmp . put_f32_le (* val) ; } for val in & self . pos_yaw { __tmp . put_f32_le (* val) ; } for val in & self . vel_yaw { __tmp . put_f32_le (* val) ; } for val in & self . command { __tmp . put_u16_le (* val) ; } __tmp . put_u8 (self . valid_points) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_VERSION_DATA { pub capabilities : MavProtocolCapability , pub uid : u64 , pub flight_sw_version : u32 , pub middleware_sw_version : u32 , pub os_sw_version : u32 , pub board_version : u32 , pub vendor_id : u16 , pub product_id : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub flight_custom_version : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub middleware_custom_version : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub os_custom_version : [u8 ; 8] , } impl AUTOPILOT_VERSION_DATA { pub const ENCODED_LEN : usize = 60usize ; pub const DEFAULT : Self = Self { capabilities : MavProtocolCapability :: DEFAULT , uid : 0_u64 , flight_sw_version : 0_u32 , middleware_sw_version : 0_u32 , os_sw_version : 0_u32 , board_version : 0_u32 , vendor_id : 0_u16 , product_id : 0_u16 , flight_custom_version : [0_u8 ; 8usize] , middleware_custom_version : [0_u8 ; 8usize] , os_custom_version : [0_u8 ; 8usize] , } ; } impl Default for AUTOPILOT_VERSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_VERSION_DATA { type Message = MavMessage ; const ID : u32 = 148u32 ; const NAME : & 'static str = "AUTOPILOT_VERSION" ; const EXTRA_CRC : u8 = 178u8 ; const ENCODED_LEN : usize = 60usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u64_le () ; __struct . capabilities = MavProtocolCapability :: from_bits (tmp & MavProtocolCapability :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavProtocolCapability" , value : tmp as u32 }) ? ; __struct . uid = buf . get_u64_le () ; __struct . flight_sw_version = buf . get_u32_le () ; __struct . middleware_sw_version = buf . get_u32_le () ; __struct . os_sw_version = buf . get_u32_le () ; __struct . board_version = buf . get_u32_le () ; __struct . vendor_id = buf . get_u16_le () ; __struct . product_id = buf . get_u16_le () ; for v in & mut __struct . flight_custom_version { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . middleware_custom_version { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . os_custom_version { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . capabilities . bits ()) ; __tmp . put_u64_le (self . uid) ; __tmp . put_u32_le (self . flight_sw_version) ; __tmp . put_u32_le (self . middleware_sw_version) ; __tmp . put_u32_le (self . os_sw_version) ; __tmp . put_u32_le (self . board_version) ; __tmp . put_u16_le (self . vendor_id) ; __tmp . put_u16_le (self . product_id) ; for val in & self . flight_custom_version { __tmp . put_u8 (* val) ; } for val in & self . middleware_custom_version { __tmp . put_u8 (* val) ; } for val in & self . os_custom_version { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MEMORY_VECT_DATA { pub address : u16 , pub ver : u8 , pub mavtype : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub value : [i8 ; 32] , } impl MEMORY_VECT_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { address : 0_u16 , ver : 0_u8 , mavtype : 0_u8 , value : [0_i8 ; 32usize] , } ; } impl Default for MEMORY_VECT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MEMORY_VECT_DATA { type Message = MavMessage ; const ID : u32 = 249u32 ; const NAME : & 'static str = "MEMORY_VECT" ; const EXTRA_CRC : u8 = 204u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . address = buf . get_u16_le () ; __struct . ver = buf . get_u8 () ; __struct . mavtype = buf . get_u8 () ; for v in & mut __struct . value { let val = buf . get_i8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . address) ; __tmp . put_u8 (self . ver) ; __tmp . put_u8 (self . mavtype) ; for val in & self . value { __tmp . put_i8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIDEO_STREAM_INFORMATION_DATA { pub framerate : f32 , pub bitrate : u32 , pub flags : VideoStreamStatusFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub hfov : u16 , pub stream_id : u8 , pub count : u8 , pub mavtype : VideoStreamType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 160] , } impl VIDEO_STREAM_INFORMATION_DATA { pub const ENCODED_LEN : usize = 213usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , flags : VideoStreamStatusFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , hfov : 0_u16 , stream_id : 0_u8 , count : 0_u8 , mavtype : VideoStreamType :: DEFAULT , name : [0_u8 ; 32usize] , uri : [0_u8 ; 160usize] , } ; } impl Default for VIDEO_STREAM_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIDEO_STREAM_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 269u32 ; const NAME : & 'static str = "VIDEO_STREAM_INFORMATION" ; const EXTRA_CRC : u8 = 109u8 ; const ENCODED_LEN : usize = 213usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamStatusFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . hfov = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamType" , value : tmp as u32 }) ? ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . flags as u16) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u16_le (self . hfov) ; __tmp . put_u8 (self . stream_id) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . mavtype as u8) ; for val in & self . name { __tmp . put_u8 (* val) ; } for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CHANGE_OPERATOR_CONTROL_DATA { pub target_system : u8 , pub control_request : u8 , pub version : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub passkey : [u8 ; 25] , } impl CHANGE_OPERATOR_CONTROL_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , control_request : 0_u8 , version : 0_u8 , passkey : [0_u8 ; 25usize] , } ; } impl Default for CHANGE_OPERATOR_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CHANGE_OPERATOR_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 5u32 ; const NAME : & 'static str = "CHANGE_OPERATOR_CONTROL" ; const EXTRA_CRC : u8 = 217u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . control_request = buf . get_u8 () ; __struct . version = buf . get_u8 () ; for v in & mut __struct . passkey { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . control_request) ; __tmp . put_u8 (self . version) ; for val in & self . passkey { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_INPUT_DATA { pub time_usec : u64 , pub time_week_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : f32 , pub hdop : f32 , pub vdop : f32 , pub vn : f32 , pub ve : f32 , pub vd : f32 , pub speed_accuracy : f32 , pub horiz_accuracy : f32 , pub vert_accuracy : f32 , pub ignore_flags : GpsInputIgnoreFlags , pub time_week : u16 , pub gps_id : u8 , pub fix_type : u8 , pub satellites_visible : u8 , } impl GPS_INPUT_DATA { pub const ENCODED_LEN : usize = 63usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , time_week_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , hdop : 0.0_f32 , vdop : 0.0_f32 , vn : 0.0_f32 , ve : 0.0_f32 , vd : 0.0_f32 , speed_accuracy : 0.0_f32 , horiz_accuracy : 0.0_f32 , vert_accuracy : 0.0_f32 , ignore_flags : GpsInputIgnoreFlags :: DEFAULT , time_week : 0_u16 , gps_id : 0_u8 , fix_type : 0_u8 , satellites_visible : 0_u8 , } ; } impl Default for GPS_INPUT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_INPUT_DATA { type Message = MavMessage ; const ID : u32 = 232u32 ; const NAME : & 'static str = "GPS_INPUT" ; const EXTRA_CRC : u8 = 151u8 ; const ENCODED_LEN : usize = 63usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . time_week_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . hdop = buf . get_f32_le () ; __struct . vdop = buf . get_f32_le () ; __struct . vn = buf . get_f32_le () ; __struct . ve = buf . get_f32_le () ; __struct . vd = buf . get_f32_le () ; __struct . speed_accuracy = buf . get_f32_le () ; __struct . horiz_accuracy = buf . get_f32_le () ; __struct . vert_accuracy = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . ignore_flags = GpsInputIgnoreFlags :: from_bits (tmp & GpsInputIgnoreFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GpsInputIgnoreFlags" , value : tmp as u32 }) ? ; __struct . time_week = buf . get_u16_le () ; __struct . gps_id = buf . get_u8 () ; __struct . fix_type = buf . get_u8 () ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . time_week_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . hdop) ; __tmp . put_f32_le (self . vdop) ; __tmp . put_f32_le (self . vn) ; __tmp . put_f32_le (self . ve) ; __tmp . put_f32_le (self . vd) ; __tmp . put_f32_le (self . speed_accuracy) ; __tmp . put_f32_le (self . horiz_accuracy) ; __tmp . put_f32_le (self . vert_accuracy) ; __tmp . put_u16_le (self . ignore_flags . bits ()) ; __tmp . put_u16_le (self . time_week) ; __tmp . put_u8 (self . gps_id) ; __tmp . put_u8 (self . fix_type) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COLLISION_DATA { pub id : u32 , pub time_to_minimum_delta : f32 , pub altitude_minimum_delta : f32 , pub horizontal_minimum_delta : f32 , pub src : MavCollisionSrc , pub action : MavCollisionAction , pub threat_level : MavCollisionThreatLevel , } impl COLLISION_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { id : 0_u32 , time_to_minimum_delta : 0.0_f32 , altitude_minimum_delta : 0.0_f32 , horizontal_minimum_delta : 0.0_f32 , src : MavCollisionSrc :: DEFAULT , action : MavCollisionAction :: DEFAULT , threat_level : MavCollisionThreatLevel :: DEFAULT , } ; } impl Default for COLLISION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COLLISION_DATA { type Message = MavMessage ; const ID : u32 = 247u32 ; const NAME : & 'static str = "COLLISION" ; const EXTRA_CRC : u8 = 81u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . time_to_minimum_delta = buf . get_f32_le () ; __struct . altitude_minimum_delta = buf . get_f32_le () ; __struct . horizontal_minimum_delta = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . src = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionSrc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . action = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionAction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . threat_level = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionThreatLevel" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_f32_le (self . time_to_minimum_delta) ; __tmp . put_f32_le (self . altitude_minimum_delta) ; __tmp . put_f32_le (self . horizontal_minimum_delta) ; __tmp . put_u8 (self . src as u8) ; __tmp . put_u8 (self . action as u8) ; __tmp . put_u8 (self . threat_level as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU3_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU3_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU3_DATA { type Message = MavMessage ; const ID : u32 = 129u32 ; const NAME : & 'static str = "SCALED_IMU3" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_INFORMATION_DATA { pub time_boot_ms : u32 , pub firmware_version : u32 , pub focal_length : f32 , pub sensor_size_h : f32 , pub sensor_size_v : f32 , pub flags : CameraCapFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub cam_definition_version : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vendor_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub model_name : [u8 ; 32] , pub lens_id : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cam_definition_uri : [u8 ; 140] , } impl CAMERA_INFORMATION_DATA { pub const ENCODED_LEN : usize = 235usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , firmware_version : 0_u32 , focal_length : 0.0_f32 , sensor_size_h : 0.0_f32 , sensor_size_v : 0.0_f32 , flags : CameraCapFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , cam_definition_version : 0_u16 , vendor_name : [0_u8 ; 32usize] , model_name : [0_u8 ; 32usize] , lens_id : 0_u8 , cam_definition_uri : [0_u8 ; 140usize] , } ; } impl Default for CAMERA_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 259u32 ; const NAME : & 'static str = "CAMERA_INFORMATION" ; const EXTRA_CRC : u8 = 92u8 ; const ENCODED_LEN : usize = 235usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . firmware_version = buf . get_u32_le () ; __struct . focal_length = buf . get_f32_le () ; __struct . sensor_size_h = buf . get_f32_le () ; __struct . sensor_size_v = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . flags = CameraCapFlags :: from_bits (tmp & CameraCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "CameraCapFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . cam_definition_version = buf . get_u16_le () ; for v in & mut __struct . vendor_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . model_name { let val = buf . get_u8 () ; * v = val ; } __struct . lens_id = buf . get_u8 () ; for v in & mut __struct . cam_definition_uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . firmware_version) ; __tmp . put_f32_le (self . focal_length) ; __tmp . put_f32_le (self . sensor_size_h) ; __tmp . put_f32_le (self . sensor_size_v) ; __tmp . put_u32_le (self . flags . bits ()) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . cam_definition_version) ; for val in & self . vendor_name { __tmp . put_u8 (* val) ; } for val in & self . model_name { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . lens_id) ; for val in & self . cam_definition_uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_ATTITUDE_TARGET_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub body_roll_rate : f32 , pub body_pitch_rate : f32 , pub body_yaw_rate : f32 , pub thrust : f32 , pub target_system : u8 , pub target_component : u8 , pub type_mask : AttitudeTargetTypemask , } impl SET_ATTITUDE_TARGET_DATA { pub const ENCODED_LEN : usize = 39usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , body_roll_rate : 0.0_f32 , body_pitch_rate : 0.0_f32 , body_yaw_rate : 0.0_f32 , thrust : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , type_mask : AttitudeTargetTypemask :: DEFAULT , } ; } impl Default for SET_ATTITUDE_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_ATTITUDE_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 82u32 ; const NAME : & 'static str = "SET_ATTITUDE_TARGET" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 39usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . body_roll_rate = buf . get_f32_le () ; __struct . body_pitch_rate = buf . get_f32_le () ; __struct . body_yaw_rate = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . type_mask = AttitudeTargetTypemask :: from_bits (tmp & AttitudeTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AttitudeTargetTypemask" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . body_roll_rate) ; __tmp . put_f32_le (self . body_pitch_rate) ; __tmp . put_f32_le (self . body_yaw_rate) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . type_mask . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_ACK_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , pub param_result : ParamAck , } impl PARAM_EXT_ACK_DATA { pub const ENCODED_LEN : usize = 146usize ; pub const DEFAULT : Self = Self { param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , param_result : ParamAck :: DEFAULT , } ; } impl Default for PARAM_EXT_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_ACK_DATA { type Message = MavMessage ; const ID : u32 = 324u32 ; const NAME : & 'static str = "PARAM_EXT_ACK" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 146usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . param_result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "ParamAck" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; __tmp . put_u8 (self . param_result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ORBIT_EXECUTION_STATUS_DATA { pub time_usec : u64 , pub radius : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub frame : MavFrame , } impl ORBIT_EXECUTION_STATUS_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , radius : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , frame : MavFrame :: DEFAULT , } ; } impl Default for ORBIT_EXECUTION_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ORBIT_EXECUTION_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 360u32 ; const NAME : & 'static str = "ORBIT_EXECUTION_STATUS" ; const EXTRA_CRC : u8 = 11u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . radius = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . radius) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SERIAL_CONTROL_DATA { pub baudrate : u32 , pub timeout : u16 , pub device : SerialControlDev , pub flags : SerialControlFlag , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 70] , } impl SERIAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 79usize ; pub const DEFAULT : Self = Self { baudrate : 0_u32 , timeout : 0_u16 , device : SerialControlDev :: DEFAULT , flags : SerialControlFlag :: DEFAULT , count : 0_u8 , data : [0_u8 ; 70usize] , } ; } impl Default for SERIAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SERIAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 126u32 ; const NAME : & 'static str = "SERIAL_CONTROL" ; const EXTRA_CRC : u8 = 220u8 ; const ENCODED_LEN : usize = 79usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . baudrate = buf . get_u32_le () ; __struct . timeout = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . device = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "SerialControlDev" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = SerialControlFlag :: from_bits (tmp & SerialControlFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "SerialControlFlag" , value : tmp as u32 }) ? ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . baudrate) ; __tmp . put_u16_le (self . timeout) ; __tmp . put_u8 (self . device as u8) ; __tmp . put_u8 (self . flags . bits ()) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_DATA_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , pub length : u8 , pub first_message_offset : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 249] , } impl LOGGING_DATA_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , length : 0_u8 , first_message_offset : 0_u8 , data : [0_u8 ; 249usize] , } ; } impl Default for LOGGING_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_DATA_DATA { type Message = MavMessage ; const ID : u32 = 266u32 ; const NAME : & 'static str = "LOGGING_DATA" ; const EXTRA_CRC : u8 = 193u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . length = buf . get_u8 () ; __struct . first_message_offset = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . length) ; __tmp . put_u8 (self . first_message_offset) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TRAJECTORY_REPRESENTATION_BEZIER_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub delta : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_yaw : [f32 ; 5] , pub valid_points : u8 , } impl TRAJECTORY_REPRESENTATION_BEZIER_DATA { pub const ENCODED_LEN : usize = 109usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , pos_x : [0.0_f32 ; 5usize] , pos_y : [0.0_f32 ; 5usize] , pos_z : [0.0_f32 ; 5usize] , delta : [0.0_f32 ; 5usize] , pos_yaw : [0.0_f32 ; 5usize] , valid_points : 0_u8 , } ; } impl Default for TRAJECTORY_REPRESENTATION_BEZIER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TRAJECTORY_REPRESENTATION_BEZIER_DATA { type Message = MavMessage ; const ID : u32 = 333u32 ; const NAME : & 'static str = "TRAJECTORY_REPRESENTATION_BEZIER" ; const EXTRA_CRC : u8 = 231u8 ; const ENCODED_LEN : usize = 109usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . pos_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . delta { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_yaw { let val = buf . get_f32_le () ; * v = val ; } __struct . valid_points = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . pos_x { __tmp . put_f32_le (* val) ; } for val in & self . pos_y { __tmp . put_f32_le (* val) ; } for val in & self . pos_z { __tmp . put_f32_le (* val) ; } for val in & self . delta { __tmp . put_f32_le (* val) ; } for val in & self . pos_yaw { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . valid_points) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ALTITUDE_DATA { pub time_usec : u64 , pub altitude_monotonic : f32 , pub altitude_amsl : f32 , pub altitude_local : f32 , pub altitude_relative : f32 , pub altitude_terrain : f32 , pub bottom_clearance : f32 , } impl ALTITUDE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , altitude_monotonic : 0.0_f32 , altitude_amsl : 0.0_f32 , altitude_local : 0.0_f32 , altitude_relative : 0.0_f32 , altitude_terrain : 0.0_f32 , bottom_clearance : 0.0_f32 , } ; } impl Default for ALTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ALTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 141u32 ; const NAME : & 'static str = "ALTITUDE" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . altitude_monotonic = buf . get_f32_le () ; __struct . altitude_amsl = buf . get_f32_le () ; __struct . altitude_local = buf . get_f32_le () ; __struct . altitude_relative = buf . get_f32_le () ; __struct . altitude_terrain = buf . get_f32_le () ; __struct . bottom_clearance = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . altitude_monotonic) ; __tmp . put_f32_le (self . altitude_amsl) ; __tmp . put_f32_le (self . altitude_local) ; __tmp . put_f32_le (self . altitude_relative) ; __tmp . put_f32_le (self . altitude_terrain) ; __tmp . put_f32_le (self . bottom_clearance) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_DATA { pub time_boot_ms : u32 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub chan9_raw : u16 , pub chan10_raw : u16 , pub chan11_raw : u16 , pub chan12_raw : u16 , pub chan13_raw : u16 , pub chan14_raw : u16 , pub chan15_raw : u16 , pub chan16_raw : u16 , pub chan17_raw : u16 , pub chan18_raw : u16 , pub chancount : u8 , pub rssi : u8 , } impl RC_CHANNELS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , chan9_raw : 0_u16 , chan10_raw : 0_u16 , chan11_raw : 0_u16 , chan12_raw : 0_u16 , chan13_raw : 0_u16 , chan14_raw : 0_u16 , chan15_raw : 0_u16 , chan16_raw : 0_u16 , chan17_raw : 0_u16 , chan18_raw : 0_u16 , chancount : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_DATA { type Message = MavMessage ; const ID : u32 = 65u32 ; const NAME : & 'static str = "RC_CHANNELS" ; const EXTRA_CRC : u8 = 118u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . chan9_raw = buf . get_u16_le () ; __struct . chan10_raw = buf . get_u16_le () ; __struct . chan11_raw = buf . get_u16_le () ; __struct . chan12_raw = buf . get_u16_le () ; __struct . chan13_raw = buf . get_u16_le () ; __struct . chan14_raw = buf . get_u16_le () ; __struct . chan15_raw = buf . get_u16_le () ; __struct . chan16_raw = buf . get_u16_le () ; __struct . chan17_raw = buf . get_u16_le () ; __struct . chan18_raw = buf . get_u16_le () ; __struct . chancount = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u16_le (self . chan9_raw) ; __tmp . put_u16_le (self . chan10_raw) ; __tmp . put_u16_le (self . chan11_raw) ; __tmp . put_u16_le (self . chan12_raw) ; __tmp . put_u16_le (self . chan13_raw) ; __tmp . put_u16_le (self . chan14_raw) ; __tmp . put_u16_le (self . chan15_raw) ; __tmp . put_u16_le (self . chan16_raw) ; __tmp . put_u16_le (self . chan17_raw) ; __tmp . put_u16_le (self . chan18_raw) ; __tmp . put_u8 (self . chancount) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RESOURCE_REQUEST_DATA { pub request_id : u8 , pub uri_type : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 120] , pub transfer_type : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage : [u8 ; 120] , } impl RESOURCE_REQUEST_DATA { pub const ENCODED_LEN : usize = 243usize ; pub const DEFAULT : Self = Self { request_id : 0_u8 , uri_type : 0_u8 , uri : [0_u8 ; 120usize] , transfer_type : 0_u8 , storage : [0_u8 ; 120usize] , } ; } impl Default for RESOURCE_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RESOURCE_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 142u32 ; const NAME : & 'static str = "RESOURCE_REQUEST" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 243usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u8 () ; __struct . uri_type = buf . get_u8 () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } __struct . transfer_type = buf . get_u8 () ; for v in & mut __struct . storage { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . request_id) ; __tmp . put_u8 (self . uri_type) ; for val in & self . uri { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . transfer_type) ; for val in & self . storage { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPONENT_METADATA_DATA { pub time_boot_ms : u32 , pub file_crc : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 100] , } impl COMPONENT_METADATA_DATA { pub const ENCODED_LEN : usize = 108usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , file_crc : 0_u32 , uri : [0_u8 ; 100usize] , } ; } impl Default for COMPONENT_METADATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPONENT_METADATA_DATA { type Message = MavMessage ; const ID : u32 = 397u32 ; const NAME : & 'static str = "COMPONENT_METADATA" ; const EXTRA_CRC : u8 = 182u8 ; const ENCODED_LEN : usize = 108usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . file_crc = buf . get_u32_le () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . file_crc) ; for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SUPPORTED_TUNES_DATA { pub format : TuneFormat , pub target_system : u8 , pub target_component : u8 , } impl SUPPORTED_TUNES_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { format : TuneFormat :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SUPPORTED_TUNES_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SUPPORTED_TUNES_DATA { type Message = MavMessage ; const ID : u32 = 401u32 ; const NAME : & 'static str = "SUPPORTED_TUNES" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . format = TuneFormat :: from_bits (tmp & TuneFormat :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "TuneFormat" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . format . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_LOCATION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude_barometric : f32 , pub altitude_geodetic : f32 , pub height : f32 , pub timestamp : f32 , pub direction : u16 , pub speed_horizontal : u16 , pub speed_vertical : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub status : MavOdidStatus , pub height_reference : MavOdidHeightRef , pub horizontal_accuracy : MavOdidHorAcc , pub vertical_accuracy : MavOdidVerAcc , pub barometer_accuracy : MavOdidVerAcc , pub speed_accuracy : MavOdidSpeedAcc , pub timestamp_accuracy : MavOdidTimeAcc , } impl OPEN_DRONE_ID_LOCATION_DATA { pub const ENCODED_LEN : usize = 59usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude_barometric : 0.0_f32 , altitude_geodetic : 0.0_f32 , height : 0.0_f32 , timestamp : 0.0_f32 , direction : 0_u16 , speed_horizontal : 0_u16 , speed_vertical : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , status : MavOdidStatus :: DEFAULT , height_reference : MavOdidHeightRef :: DEFAULT , horizontal_accuracy : MavOdidHorAcc :: DEFAULT , vertical_accuracy : MavOdidVerAcc :: DEFAULT , barometer_accuracy : MavOdidVerAcc :: DEFAULT , speed_accuracy : MavOdidSpeedAcc :: DEFAULT , timestamp_accuracy : MavOdidTimeAcc :: DEFAULT , } ; } impl Default for OPEN_DRONE_ID_LOCATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_LOCATION_DATA { type Message = MavMessage ; const ID : u32 = 12901u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_LOCATION" ; const EXTRA_CRC : u8 = 254u8 ; const ENCODED_LEN : usize = 59usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude_barometric = buf . get_f32_le () ; __struct . altitude_geodetic = buf . get_f32_le () ; __struct . height = buf . get_f32_le () ; __struct . timestamp = buf . get_f32_le () ; __struct . direction = buf . get_u16_le () ; __struct . speed_horizontal = buf . get_u16_le () ; __struct . speed_vertical = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . height_reference = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidHeightRef" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . horizontal_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidHorAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . vertical_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidVerAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . barometer_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidVerAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . speed_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidSpeedAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . timestamp_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidTimeAcc" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_f32_le (self . altitude_barometric) ; __tmp . put_f32_le (self . altitude_geodetic) ; __tmp . put_f32_le (self . height) ; __tmp . put_f32_le (self . timestamp) ; __tmp . put_u16_le (self . direction) ; __tmp . put_u16_le (self . speed_horizontal) ; __tmp . put_i16_le (self . speed_vertical) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . height_reference as u8) ; __tmp . put_u8 (self . horizontal_accuracy as u8) ; __tmp . put_u8 (self . vertical_accuracy as u8) ; __tmp . put_u8 (self . barometer_accuracy as u8) ; __tmp . put_u8 (self . speed_accuracy as u8) ; __tmp . put_u8 (self . timestamp_accuracy as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { pub operator_latitude : i32 , pub operator_longitude : i32 , pub operator_altitude_geo : f32 , pub timestamp : u32 , pub target_system : u8 , pub target_component : u8 , } impl OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { operator_latitude : 0_i32 , operator_longitude : 0_i32 , operator_altitude_geo : 0.0_f32 , timestamp : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { type Message = MavMessage ; const ID : u32 = 12919u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SYSTEM_UPDATE" ; const EXTRA_CRC : u8 = 7u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . operator_latitude = buf . get_i32_le () ; __struct . operator_longitude = buf . get_i32_le () ; __struct . operator_altitude_geo = buf . get_f32_le () ; __struct . timestamp = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . operator_latitude) ; __tmp . put_i32_le (self . operator_longitude) ; __tmp . put_f32_le (self . operator_altitude_geo) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BUTTON_CHANGE_DATA { pub time_boot_ms : u32 , pub last_change_ms : u32 , pub state : u8 , } impl BUTTON_CHANGE_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , last_change_ms : 0_u32 , state : 0_u8 , } ; } impl Default for BUTTON_CHANGE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BUTTON_CHANGE_DATA { type Message = MavMessage ; const ID : u32 = 257u32 ; const NAME : & 'static str = "BUTTON_CHANGE" ; const EXTRA_CRC : u8 = 131u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . last_change_ms = buf . get_u32_le () ; __struct . state = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . last_change_ms) ; __tmp . put_u8 (self . state) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_POSITION_INT_DATA { pub time_boot_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub hdg : u16 , } impl GLOBAL_POSITION_INT_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , hdg : 0_u16 , } ; } impl Default for GLOBAL_POSITION_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_POSITION_INT_DATA { type Message = MavMessage ; const ID : u32 = 33u32 ; const NAME : & 'static str = "GLOBAL_POSITION_INT" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . hdg = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . hdg) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_INFORMATION_DATA { pub uid : u64 , pub time_boot_ms : u32 , pub firmware_version : u32 , pub hardware_version : u32 , pub roll_min : f32 , pub roll_max : f32 , pub pitch_min : f32 , pub pitch_max : f32 , pub yaw_min : f32 , pub yaw_max : f32 , pub cap_flags : GimbalDeviceCapFlags , pub custom_cap_flags : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vendor_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub model_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub custom_name : [u8 ; 32] , } impl GIMBAL_DEVICE_INFORMATION_DATA { pub const ENCODED_LEN : usize = 144usize ; pub const DEFAULT : Self = Self { uid : 0_u64 , time_boot_ms : 0_u32 , firmware_version : 0_u32 , hardware_version : 0_u32 , roll_min : 0.0_f32 , roll_max : 0.0_f32 , pitch_min : 0.0_f32 , pitch_max : 0.0_f32 , yaw_min : 0.0_f32 , yaw_max : 0.0_f32 , cap_flags : GimbalDeviceCapFlags :: DEFAULT , custom_cap_flags : 0_u16 , vendor_name : [0_u8 ; 32usize] , model_name : [0_u8 ; 32usize] , custom_name : [0_u8 ; 32usize] , } ; } impl Default for GIMBAL_DEVICE_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 283u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_INFORMATION" ; const EXTRA_CRC : u8 = 74u8 ; const ENCODED_LEN : usize = 144usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . uid = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . firmware_version = buf . get_u32_le () ; __struct . hardware_version = buf . get_u32_le () ; __struct . roll_min = buf . get_f32_le () ; __struct . roll_max = buf . get_f32_le () ; __struct . pitch_min = buf . get_f32_le () ; __struct . pitch_max = buf . get_f32_le () ; __struct . yaw_min = buf . get_f32_le () ; __struct . yaw_max = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . cap_flags = GimbalDeviceCapFlags :: from_bits (tmp & GimbalDeviceCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceCapFlags" , value : tmp as u32 }) ? ; __struct . custom_cap_flags = buf . get_u16_le () ; for v in & mut __struct . vendor_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . model_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . custom_name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . uid) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . firmware_version) ; __tmp . put_u32_le (self . hardware_version) ; __tmp . put_f32_le (self . roll_min) ; __tmp . put_f32_le (self . roll_max) ; __tmp . put_f32_le (self . pitch_min) ; __tmp . put_f32_le (self . pitch_max) ; __tmp . put_f32_le (self . yaw_min) ; __tmp . put_f32_le (self . yaw_max) ; __tmp . put_u16_le (self . cap_flags . bits ()) ; __tmp . put_u16_le (self . custom_cap_flags) ; for val in & self . vendor_name { __tmp . put_u8 (* val) ; } for val in & self . model_name { __tmp . put_u8 (* val) ; } for val in & self . custom_name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_QUATERNION_DATA { pub time_boot_ms : u32 , pub q1 : f32 , pub q2 : f32 , pub q3 : f32 , pub q4 : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , } impl ATTITUDE_QUATERNION_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q1 : 0.0_f32 , q2 : 0.0_f32 , q3 : 0.0_f32 , q4 : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , } ; } impl Default for ATTITUDE_QUATERNION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_QUATERNION_DATA { type Message = MavMessage ; const ID : u32 = 31u32 ; const NAME : & 'static str = "ATTITUDE_QUATERNION" ; const EXTRA_CRC : u8 = 246u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . q1 = buf . get_f32_le () ; __struct . q2 = buf . get_f32_le () ; __struct . q3 = buf . get_f32_le () ; __struct . q4 = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . q1) ; __tmp . put_f32_le (self . q2) ; __tmp . put_f32_le (self . q3) ; __tmp . put_f32_le (self . q4) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LANDING_TARGET_DATA { pub time_usec : u64 , pub angle_x : f32 , pub angle_y : f32 , pub distance : f32 , pub size_x : f32 , pub size_y : f32 , pub target_num : u8 , pub frame : MavFrame , } impl LANDING_TARGET_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , angle_x : 0.0_f32 , angle_y : 0.0_f32 , distance : 0.0_f32 , size_x : 0.0_f32 , size_y : 0.0_f32 , target_num : 0_u8 , frame : MavFrame :: DEFAULT , } ; } impl Default for LANDING_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LANDING_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 149u32 ; const NAME : & 'static str = "LANDING_TARGET" ; const EXTRA_CRC : u8 = 200u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . angle_x = buf . get_f32_le () ; __struct . angle_y = buf . get_f32_le () ; __struct . distance = buf . get_f32_le () ; __struct . size_x = buf . get_f32_le () ; __struct . size_y = buf . get_f32_le () ; __struct . target_num = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . angle_x) ; __tmp . put_f32_le (self . angle_y) ; __tmp . put_f32_le (self . distance) ; __tmp . put_f32_le (self . size_x) ; __tmp . put_f32_le (self . size_y) ; __tmp . put_u8 (self . target_num) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_ENTRY_DATA { pub time_utc : u32 , pub size : u32 , pub id : u16 , pub num_logs : u16 , pub last_log_num : u16 , } impl LOG_ENTRY_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_utc : 0_u32 , size : 0_u32 , id : 0_u16 , num_logs : 0_u16 , last_log_num : 0_u16 , } ; } impl Default for LOG_ENTRY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_ENTRY_DATA { type Message = MavMessage ; const ID : u32 = 118u32 ; const NAME : & 'static str = "LOG_ENTRY" ; const EXTRA_CRC : u8 = 56u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_utc = buf . get_u32_le () ; __struct . size = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . num_logs = buf . get_u16_le () ; __struct . last_log_num = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_utc) ; __tmp . put_u32_le (self . size) ; __tmp . put_u16_le (self . id) ; __tmp . put_u16_le (self . num_logs) ; __tmp . put_u16_le (self . last_log_num) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POSITION_TARGET_LOCAL_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub coordinate_frame : MavFrame , } impl POSITION_TARGET_LOCAL_NED_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for POSITION_TARGET_LOCAL_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POSITION_TARGET_LOCAL_NED_DATA { type Message = MavMessage ; const ID : u32 = 85u32 ; const NAME : & 'static str = "POSITION_TARGET_LOCAL_NED" ; const EXTRA_CRC : u8 = 140u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_MODE_DATA { pub custom_mode : u32 , pub target_system : u8 , pub base_mode : MavMode , } impl SET_MODE_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , target_system : 0_u8 , base_mode : MavMode :: DEFAULT , } ; } impl Default for SET_MODE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_MODE_DATA { type Message = MavMessage ; const ID : u32 = 11u32 ; const NAME : & 'static str = "SET_MODE" ; const EXTRA_CRC : u8 = 89u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . base_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMode" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . base_mode as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { pub time_boot_us : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub q_estimated_delay_us : u32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub v_estimated_delay_us : u32 , pub feed_forward_angular_velocity_z : f32 , pub estimator_status : EstimatorStatusFlags , pub target_system : u8 , pub target_component : u8 , pub landed_state : MavLandedState , } impl AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_us : 0_u64 , q : [0.0_f32 ; 4usize] , q_estimated_delay_us : 0_u32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , v_estimated_delay_us : 0_u32 , feed_forward_angular_velocity_z : 0.0_f32 , estimator_status : EstimatorStatusFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , landed_state : MavLandedState :: DEFAULT , } ; } impl Default for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { type Message = MavMessage ; const ID : u32 = 286u32 ; const NAME : & 'static str = "AUTOPILOT_STATE_FOR_GIMBAL_DEVICE" ; const EXTRA_CRC : u8 = 210u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_us = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . q_estimated_delay_us = buf . get_u32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . v_estimated_delay_us = buf . get_u32_le () ; __struct . feed_forward_angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . estimator_status = EstimatorStatusFlags :: from_bits (tmp & EstimatorStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EstimatorStatusFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_boot_us) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_u32_le (self . q_estimated_delay_us) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_u32_le (self . v_estimated_delay_us) ; __tmp . put_f32_le (self . feed_forward_angular_velocity_z) ; __tmp . put_u16_le (self . estimator_status . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . landed_state as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VICON_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl VICON_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for VICON_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VICON_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 104u32 ; const NAME : & 'static str = "VICON_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 56u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_DATA { pub time_boot_ms : u32 , pub value : f32 , pub ind : u8 , } impl DEBUG_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0.0_f32 , ind : 0_u8 , } ; } impl Default for DEBUG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_DATA { type Message = MavMessage ; const ID : u32 = 254u32 ; const NAME : & 'static str = "DEBUG" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_f32_le () ; __struct . ind = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . value) ; __tmp . put_u8 (self . ind) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_INT_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl COMMAND_INT_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for COMMAND_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_INT_DATA { type Message = MavMessage ; const ID : u32 = 75u32 ; const NAME : & 'static str = "COMMAND_INT" ; const EXTRA_CRC : u8 = 158u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_LIST_DATA { pub start : u16 , pub end : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start : 0_u16 , end : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 117u32 ; const NAME : & 'static str = "LOG_REQUEST_LIST" ; const EXTRA_CRC : u8 = 128u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start = buf . get_u16_le () ; __struct . end = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . start) ; __tmp . put_u16_le (self . end) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_QUATERNION_COV_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 9] , } impl ATTITUDE_QUATERNION_COV_DATA { pub const ENCODED_LEN : usize = 72usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , q : [0.0_f32 ; 4usize] , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , covariance : [0.0_f32 ; 9usize] , } ; } impl Default for ATTITUDE_QUATERNION_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_QUATERNION_COV_DATA { type Message = MavMessage ; const ID : u32 = 61u32 ; const NAME : & 'static str = "ATTITUDE_QUATERNION_COV" ; const EXTRA_CRC : u8 = 167u8 ; const ENCODED_LEN : usize = 72usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UTM_GLOBAL_POSITION_DATA { pub time : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub next_lat : i32 , pub next_lon : i32 , pub next_alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub h_acc : u16 , pub v_acc : u16 , pub vel_acc : u16 , pub update_rate : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uas_id : [u8 ; 18] , pub flight_state : UtmFlightState , pub flags : UtmDataAvailFlags , } impl UTM_GLOBAL_POSITION_DATA { pub const ENCODED_LEN : usize = 70usize ; pub const DEFAULT : Self = Self { time : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , next_lat : 0_i32 , next_lon : 0_i32 , next_alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , h_acc : 0_u16 , v_acc : 0_u16 , vel_acc : 0_u16 , update_rate : 0_u16 , uas_id : [0_u8 ; 18usize] , flight_state : UtmFlightState :: DEFAULT , flags : UtmDataAvailFlags :: DEFAULT , } ; } impl Default for UTM_GLOBAL_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UTM_GLOBAL_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 340u32 ; const NAME : & 'static str = "UTM_GLOBAL_POSITION" ; const EXTRA_CRC : u8 = 99u8 ; const ENCODED_LEN : usize = 70usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . next_lat = buf . get_i32_le () ; __struct . next_lon = buf . get_i32_le () ; __struct . next_alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . h_acc = buf . get_u16_le () ; __struct . v_acc = buf . get_u16_le () ; __struct . vel_acc = buf . get_u16_le () ; __struct . update_rate = buf . get_u16_le () ; for v in & mut __struct . uas_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . flight_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UtmFlightState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = UtmDataAvailFlags :: from_bits (tmp & UtmDataAvailFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UtmDataAvailFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_i32_le (self . next_lat) ; __tmp . put_i32_le (self . next_lon) ; __tmp . put_i32_le (self . next_alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . h_acc) ; __tmp . put_u16_le (self . v_acc) ; __tmp . put_u16_le (self . vel_acc) ; __tmp . put_u16_le (self . update_rate) ; for val in & self . uas_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . flight_state as u8) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_SET_CURRENT_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_SET_CURRENT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_SET_CURRENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_SET_CURRENT_DATA { type Message = MavMessage ; const ID : u32 = 41u32 ; const NAME : & 'static str = "MISSION_SET_CURRENT" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AIS_VESSEL_DATA { pub MMSI : u32 , pub lat : i32 , pub lon : i32 , pub COG : u16 , pub heading : u16 , pub velocity : u16 , pub dimension_bow : u16 , pub dimension_stern : u16 , pub tslc : u16 , pub flags : AisFlags , pub turn_rate : i8 , pub navigational_status : AisNavStatus , pub mavtype : AisType , pub dimension_port : u8 , pub dimension_starboard : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 7] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 20] , } impl AIS_VESSEL_DATA { pub const ENCODED_LEN : usize = 58usize ; pub const DEFAULT : Self = Self { MMSI : 0_u32 , lat : 0_i32 , lon : 0_i32 , COG : 0_u16 , heading : 0_u16 , velocity : 0_u16 , dimension_bow : 0_u16 , dimension_stern : 0_u16 , tslc : 0_u16 , flags : AisFlags :: DEFAULT , turn_rate : 0_i8 , navigational_status : AisNavStatus :: DEFAULT , mavtype : AisType :: DEFAULT , dimension_port : 0_u8 , dimension_starboard : 0_u8 , callsign : [0_u8 ; 7usize] , name : [0_u8 ; 20usize] , } ; } impl Default for AIS_VESSEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AIS_VESSEL_DATA { type Message = MavMessage ; const ID : u32 = 301u32 ; const NAME : & 'static str = "AIS_VESSEL" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 58usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . MMSI = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . COG = buf . get_u16_le () ; __struct . heading = buf . get_u16_le () ; __struct . velocity = buf . get_u16_le () ; __struct . dimension_bow = buf . get_u16_le () ; __struct . dimension_stern = buf . get_u16_le () ; __struct . tslc = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = AisFlags :: from_bits (tmp & AisFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AisFlags" , value : tmp as u32 }) ? ; __struct . turn_rate = buf . get_i8 () ; let tmp = buf . get_u8 () ; __struct . navigational_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AisNavStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AisType" , value : tmp as u32 }) ? ; __struct . dimension_port = buf . get_u8 () ; __struct . dimension_starboard = buf . get_u8 () ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . MMSI) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . COG) ; __tmp . put_u16_le (self . heading) ; __tmp . put_u16_le (self . velocity) ; __tmp . put_u16_le (self . dimension_bow) ; __tmp . put_u16_le (self . dimension_stern) ; __tmp . put_u16_le (self . tslc) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_i8 (self . turn_rate) ; __tmp . put_u8 (self . navigational_status as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . dimension_port) ; __tmp . put_u8 (self . dimension_starboard) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATT_POS_MOCAP_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub x : f32 , pub y : f32 , pub z : f32 , } impl ATT_POS_MOCAP_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , q : [0.0_f32 ; 4usize] , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , } ; } impl Default for ATT_POS_MOCAP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATT_POS_MOCAP_DATA { type Message = MavMessage ; const ID : u32 = 138u32 ; const NAME : & 'static str = "ATT_POS_MOCAP" ; const EXTRA_CRC : u8 = 109u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_RC_INPUTS_RAW_DATA { pub time_usec : u64 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub chan9_raw : u16 , pub chan10_raw : u16 , pub chan11_raw : u16 , pub chan12_raw : u16 , pub rssi : u8 , } impl HIL_RC_INPUTS_RAW_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , chan9_raw : 0_u16 , chan10_raw : 0_u16 , chan11_raw : 0_u16 , chan12_raw : 0_u16 , rssi : 0_u8 , } ; } impl Default for HIL_RC_INPUTS_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_RC_INPUTS_RAW_DATA { type Message = MavMessage ; const ID : u32 = 92u32 ; const NAME : & 'static str = "HIL_RC_INPUTS_RAW" ; const EXTRA_CRC : u8 = 54u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . chan9_raw = buf . get_u16_le () ; __struct . chan10_raw = buf . get_u16_le () ; __struct . chan11_raw = buf . get_u16_le () ; __struct . chan12_raw = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u16_le (self . chan9_raw) ; __tmp . put_u16_le (self . chan10_raw) ; __tmp . put_u16_le (self . chan11_raw) ; __tmp . put_u16_le (self . chan12_raw) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_DATA_DATA { pub ofs : u32 , pub count : u32 , pub id : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_DATA_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { ofs : 0_u32 , count : 0_u32 , id : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_DATA_DATA { type Message = MavMessage ; const ID : u32 = 119u32 ; const NAME : & 'static str = "LOG_REQUEST_DATA" ; const EXTRA_CRC : u8 = 116u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ofs = buf . get_u32_le () ; __struct . count = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ofs) ; __tmp . put_u32_le (self . count) ; __tmp . put_u16_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TUNNEL_DATA { pub payload_type : MavTunnelPayloadType , pub target_system : u8 , pub target_component : u8 , pub payload_length : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 128] , } impl TUNNEL_DATA { pub const ENCODED_LEN : usize = 133usize ; pub const DEFAULT : Self = Self { payload_type : MavTunnelPayloadType :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , payload_length : 0_u8 , payload : [0_u8 ; 128usize] , } ; } impl Default for TUNNEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TUNNEL_DATA { type Message = MavMessage ; const ID : u32 = 385u32 ; const NAME : & 'static str = "TUNNEL" ; const EXTRA_CRC : u8 = 147u8 ; const ENCODED_LEN : usize = 133usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . payload_type = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavTunnelPayloadType" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . payload_length = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . payload_type as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . payload_length) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAMED_VALUE_FLOAT_DATA { pub time_boot_ms : u32 , pub value : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl NAMED_VALUE_FLOAT_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0.0_f32 , name : [0_u8 ; 10usize] , } ; } impl Default for NAMED_VALUE_FLOAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAMED_VALUE_FLOAT_DATA { type Message = MavMessage ; const ID : u32 = 251u32 ; const NAME : & 'static str = "NAMED_VALUE_FLOAT" ; const EXTRA_CRC : u8 = 170u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_f32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . value) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTH_KEY_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub key : [u8 ; 32] , } impl AUTH_KEY_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { key : [0_u8 ; 32usize] , } ; } impl Default for AUTH_KEY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTH_KEY_DATA { type Message = MavMessage ; const ID : u32 = 7u32 ; const NAME : & 'static str = "AUTH_KEY" ; const EXTRA_CRC : u8 = 119u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . key { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . key { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_DATA_DATA { pub lat : i32 , pub lon : i32 , pub grid_spacing : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [i16 ; 16] , pub gridbit : u8 , } impl TERRAIN_DATA_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , grid_spacing : 0_u16 , data : [0_i16 ; 16usize] , gridbit : 0_u8 , } ; } impl Default for TERRAIN_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_DATA_DATA { type Message = MavMessage ; const ID : u32 = 134u32 ; const NAME : & 'static str = "TERRAIN_DATA" ; const EXTRA_CRC : u8 = 229u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . grid_spacing = buf . get_u16_le () ; for v in & mut __struct . data { let val = buf . get_i16_le () ; * v = val ; } __struct . gridbit = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . grid_spacing) ; for val in & self . data { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . gridbit) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_BASIC_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub id_type : MavOdidIdType , pub ua_type : MavOdidUaType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uas_id : [u8 ; 20] , } impl OPEN_DRONE_ID_BASIC_ID_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , id_type : MavOdidIdType :: DEFAULT , ua_type : MavOdidUaType :: DEFAULT , uas_id : [0_u8 ; 20usize] , } ; } impl Default for OPEN_DRONE_ID_BASIC_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_BASIC_ID_DATA { type Message = MavMessage ; const ID : u32 = 12900u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_BASIC_ID" ; const EXTRA_CRC : u8 = 114u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . id_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidIdType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . ua_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidUaType" , value : tmp as u32 }) ? ; for v in & mut __struct . uas_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . id_type as u8) ; __tmp . put_u8 (self . ua_type as u8) ; for val in & self . uas_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CELLULAR_CONFIG_DATA { pub enable_lte : u8 , pub enable_pin : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pin : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub new_pin : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub apn : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub puk : [u8 ; 16] , pub roaming : u8 , pub response : CellularConfigResponse , } impl CELLULAR_CONFIG_DATA { pub const ENCODED_LEN : usize = 84usize ; pub const DEFAULT : Self = Self { enable_lte : 0_u8 , enable_pin : 0_u8 , pin : [0_u8 ; 16usize] , new_pin : [0_u8 ; 16usize] , apn : [0_u8 ; 32usize] , puk : [0_u8 ; 16usize] , roaming : 0_u8 , response : CellularConfigResponse :: DEFAULT , } ; } impl Default for CELLULAR_CONFIG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CELLULAR_CONFIG_DATA { type Message = MavMessage ; const ID : u32 = 336u32 ; const NAME : & 'static str = "CELLULAR_CONFIG" ; const EXTRA_CRC : u8 = 245u8 ; const ENCODED_LEN : usize = 84usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . enable_lte = buf . get_u8 () ; __struct . enable_pin = buf . get_u8 () ; for v in & mut __struct . pin { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . new_pin { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . apn { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . puk { let val = buf . get_u8 () ; * v = val ; } __struct . roaming = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . response = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularConfigResponse" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . enable_lte) ; __tmp . put_u8 (self . enable_pin) ; for val in & self . pin { __tmp . put_u8 (* val) ; } for val in & self . new_pin { __tmp . put_u8 (* val) ; } for val in & self . apn { __tmp . put_u8 (* val) ; } for val in & self . puk { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . roaming) ; __tmp . put_u8 (self . response as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HEARTBEAT_DATA { pub custom_mode : u32 , pub mavtype : MavType , pub autopilot : MavAutopilot , pub base_mode : MavModeFlag , pub system_status : MavState , pub mavlink_version : u8 , } impl HEARTBEAT_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , mavtype : MavType :: DEFAULT , autopilot : MavAutopilot :: DEFAULT , base_mode : MavModeFlag :: DEFAULT , system_status : MavState :: DEFAULT , mavlink_version : 0_u8 , } ; } impl Default for HEARTBEAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HEARTBEAT_DATA { type Message = MavMessage ; const ID : u32 = 0u32 ; const NAME : & 'static str = "HEARTBEAT" ; const EXTRA_CRC : u8 = 50u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . autopilot = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavAutopilot" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . base_mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . system_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavState" , value : tmp as u32 }) ? ; __struct . mavlink_version = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . autopilot as u8) ; __tmp . put_u8 (self . base_mode . bits ()) ; __tmp . put_u8 (self . system_status as u8) ; __tmp . put_u8 (self . mavlink_version) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_COUNT_DATA { pub count : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_COUNT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { count : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_COUNT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_COUNT_DATA { type Message = MavMessage ; const ID : u32 = 44u32 ; const NAME : & 'static str = "MISSION_COUNT" ; const EXTRA_CRC : u8 = 221u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . count = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . count) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PING_DATA { pub time_usec : u64 , pub seq : u32 , pub target_system : u8 , pub target_component : u8 , } impl PING_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , seq : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PING_DATA { type Message = MavMessage ; const ID : u32 = 4u32 ; const NAME : & 'static str = "PING" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . seq = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SYSTEM_DATA { pub operator_latitude : i32 , pub operator_longitude : i32 , pub area_ceiling : f32 , pub area_floor : f32 , pub operator_altitude_geo : f32 , pub timestamp : u32 , pub area_count : u16 , pub area_radius : u16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub operator_location_type : MavOdidOperatorLocationType , pub classification_type : MavOdidClassificationType , pub category_eu : MavOdidCategoryEu , pub class_eu : MavOdidClassEu , } impl OPEN_DRONE_ID_SYSTEM_DATA { pub const ENCODED_LEN : usize = 54usize ; pub const DEFAULT : Self = Self { operator_latitude : 0_i32 , operator_longitude : 0_i32 , area_ceiling : 0.0_f32 , area_floor : 0.0_f32 , operator_altitude_geo : 0.0_f32 , timestamp : 0_u32 , area_count : 0_u16 , area_radius : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , operator_location_type : MavOdidOperatorLocationType :: DEFAULT , classification_type : MavOdidClassificationType :: DEFAULT , category_eu : MavOdidCategoryEu :: DEFAULT , class_eu : MavOdidClassEu :: DEFAULT , } ; } impl Default for OPEN_DRONE_ID_SYSTEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SYSTEM_DATA { type Message = MavMessage ; const ID : u32 = 12904u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SYSTEM" ; const EXTRA_CRC : u8 = 77u8 ; const ENCODED_LEN : usize = 54usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . operator_latitude = buf . get_i32_le () ; __struct . operator_longitude = buf . get_i32_le () ; __struct . area_ceiling = buf . get_f32_le () ; __struct . area_floor = buf . get_f32_le () ; __struct . operator_altitude_geo = buf . get_f32_le () ; __struct . timestamp = buf . get_u32_le () ; __struct . area_count = buf . get_u16_le () ; __struct . area_radius = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . operator_location_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidOperatorLocationType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . classification_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidClassificationType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . category_eu = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidCategoryEu" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . class_eu = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidClassEu" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . operator_latitude) ; __tmp . put_i32_le (self . operator_longitude) ; __tmp . put_f32_le (self . area_ceiling) ; __tmp . put_f32_le (self . area_floor) ; __tmp . put_f32_le (self . operator_altitude_geo) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u16_le (self . area_count) ; __tmp . put_u16_le (self . area_radius) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . operator_location_type as u8) ; __tmp . put_u8 (self . classification_type as u8) ; __tmp . put_u8 (self . category_eu as u8) ; __tmp . put_u8 (self . class_eu as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_POSITION_INT_COV_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 36] , pub estimator_type : MavEstimatorType , } impl GLOBAL_POSITION_INT_COV_DATA { pub const ENCODED_LEN : usize = 181usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , covariance : [0.0_f32 ; 36usize] , estimator_type : MavEstimatorType :: DEFAULT , } ; } impl Default for GLOBAL_POSITION_INT_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_POSITION_INT_COV_DATA { type Message = MavMessage ; const ID : u32 = 63u32 ; const NAME : & 'static str = "GLOBAL_POSITION_INT_COV" ; const EXTRA_CRC : u8 = 119u8 ; const ENCODED_LEN : usize = 181usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . estimator_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEstimatorType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . estimator_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ACTUATOR_OUTPUT_STATUS_DATA { pub time_usec : u64 , pub active : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub actuator : [f32 ; 32] , } impl ACTUATOR_OUTPUT_STATUS_DATA { pub const ENCODED_LEN : usize = 140usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , active : 0_u32 , actuator : [0.0_f32 ; 32usize] , } ; } impl Default for ACTUATOR_OUTPUT_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ACTUATOR_OUTPUT_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 375u32 ; const NAME : & 'static str = "ACTUATOR_OUTPUT_STATUS" ; const EXTRA_CRC : u8 = 251u8 ; const ENCODED_LEN : usize = 140usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . active = buf . get_u32_le () ; for v in & mut __struct . actuator { let val = buf . get_f32_le () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . active) ; for val in & self . actuator { __tmp . put_f32_le (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_AUTHENTICATION_DATA { pub timestamp : u32 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub authentication_type : MavOdidAuthType , pub data_page : u8 , pub last_page_index : u8 , pub length : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub authentication_data : [u8 ; 23] , } impl OPEN_DRONE_ID_AUTHENTICATION_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { timestamp : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , authentication_type : MavOdidAuthType :: DEFAULT , data_page : 0_u8 , last_page_index : 0_u8 , length : 0_u8 , authentication_data : [0_u8 ; 23usize] , } ; } impl Default for OPEN_DRONE_ID_AUTHENTICATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_AUTHENTICATION_DATA { type Message = MavMessage ; const ID : u32 = 12902u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_AUTHENTICATION" ; const EXTRA_CRC : u8 = 140u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . authentication_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidAuthType" , value : tmp as u32 }) ? ; __struct . data_page = buf . get_u8 () ; __struct . last_page_index = buf . get_u8 () ; __struct . length = buf . get_u8 () ; for v in & mut __struct . authentication_data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . authentication_type as u8) ; __tmp . put_u8 (self . data_page) ; __tmp . put_u8 (self . last_page_index) ; __tmp . put_u8 (self . length) ; for val in & self . authentication_data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAV_CONTROLLER_OUTPUT_DATA { pub nav_roll : f32 , pub nav_pitch : f32 , pub alt_error : f32 , pub aspd_error : f32 , pub xtrack_error : f32 , pub nav_bearing : i16 , pub target_bearing : i16 , pub wp_dist : u16 , } impl NAV_CONTROLLER_OUTPUT_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { nav_roll : 0.0_f32 , nav_pitch : 0.0_f32 , alt_error : 0.0_f32 , aspd_error : 0.0_f32 , xtrack_error : 0.0_f32 , nav_bearing : 0_i16 , target_bearing : 0_i16 , wp_dist : 0_u16 , } ; } impl Default for NAV_CONTROLLER_OUTPUT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAV_CONTROLLER_OUTPUT_DATA { type Message = MavMessage ; const ID : u32 = 62u32 ; const NAME : & 'static str = "NAV_CONTROLLER_OUTPUT" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . nav_roll = buf . get_f32_le () ; __struct . nav_pitch = buf . get_f32_le () ; __struct . alt_error = buf . get_f32_le () ; __struct . aspd_error = buf . get_f32_le () ; __struct . xtrack_error = buf . get_f32_le () ; __struct . nav_bearing = buf . get_i16_le () ; __struct . target_bearing = buf . get_i16_le () ; __struct . wp_dist = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . nav_roll) ; __tmp . put_f32_le (self . nav_pitch) ; __tmp . put_f32_le (self . alt_error) ; __tmp . put_f32_le (self . aspd_error) ; __tmp . put_f32_le (self . xtrack_error) ; __tmp . put_i16_le (self . nav_bearing) ; __tmp . put_i16_le (self . target_bearing) ; __tmp . put_u16_le (self . wp_dist) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PLAY_TUNE_V2_DATA { pub format : TuneFormat , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub tune : [u8 ; 248] , } impl PLAY_TUNE_V2_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { format : TuneFormat :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , tune : [0_u8 ; 248usize] , } ; } impl Default for PLAY_TUNE_V2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PLAY_TUNE_V2_DATA { type Message = MavMessage ; const ID : u32 = 400u32 ; const NAME : & 'static str = "PLAY_TUNE_V2" ; const EXTRA_CRC : u8 = 110u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . format = TuneFormat :: from_bits (tmp & TuneFormat :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "TuneFormat" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . tune { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . format . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . tune { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl VISION_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for VISION_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 102u32 ; const NAME : & 'static str = "VISION_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 158u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct STORAGE_INFORMATION_DATA { pub time_boot_ms : u32 , pub total_capacity : f32 , pub used_capacity : f32 , pub available_capacity : f32 , pub read_speed : f32 , pub write_speed : f32 , pub storage_id : u8 , pub storage_count : u8 , pub status : StorageStatus , } impl STORAGE_INFORMATION_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , total_capacity : 0.0_f32 , used_capacity : 0.0_f32 , available_capacity : 0.0_f32 , read_speed : 0.0_f32 , write_speed : 0.0_f32 , storage_id : 0_u8 , storage_count : 0_u8 , status : StorageStatus :: DEFAULT , } ; } impl Default for STORAGE_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for STORAGE_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 261u32 ; const NAME : & 'static str = "STORAGE_INFORMATION" ; const EXTRA_CRC : u8 = 179u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . total_capacity = buf . get_f32_le () ; __struct . used_capacity = buf . get_f32_le () ; __struct . available_capacity = buf . get_f32_le () ; __struct . read_speed = buf . get_f32_le () ; __struct . write_speed = buf . get_f32_le () ; __struct . storage_id = buf . get_u8 () ; __struct . storage_count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "StorageStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . total_capacity) ; __tmp . put_f32_le (self . used_capacity) ; __tmp . put_f32_le (self . available_capacity) ; __tmp . put_f32_le (self . read_speed) ; __tmp . put_f32_le (self . write_speed) ; __tmp . put_u8 (self . storage_id) ; __tmp . put_u8 (self . storage_count) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SETUP_SIGNING_DATA { pub initial_timestamp : u64 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub secret_key : [u8 ; 32] , } impl SETUP_SIGNING_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { initial_timestamp : 0_u64 , target_system : 0_u8 , target_component : 0_u8 , secret_key : [0_u8 ; 32usize] , } ; } impl Default for SETUP_SIGNING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SETUP_SIGNING_DATA { type Message = MavMessage ; const ID : u32 = 256u32 ; const NAME : & 'static str = "SETUP_SIGNING" ; const EXTRA_CRC : u8 = 71u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . initial_timestamp = buf . get_u64_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . secret_key { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . initial_timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . secret_key { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_DATA_ACKED_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , pub length : u8 , pub first_message_offset : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 249] , } impl LOGGING_DATA_ACKED_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , length : 0_u8 , first_message_offset : 0_u8 , data : [0_u8 ; 249usize] , } ; } impl Default for LOGGING_DATA_ACKED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_DATA_ACKED_DATA { type Message = MavMessage ; const ID : u32 = 267u32 ; const NAME : & 'static str = "LOGGING_DATA_ACKED" ; const EXTRA_CRC : u8 = 35u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . length = buf . get_u8 () ; __struct . first_message_offset = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . length) ; __tmp . put_u8 (self . first_message_offset) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_ERASE_DATA { pub target_system : u8 , pub target_component : u8 , } impl LOG_ERASE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_ERASE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_ERASE_DATA { type Message = MavMessage ; const ID : u32 = 121u32 ; const NAME : & 'static str = "LOG_ERASE" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RAW_INT_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub cog : u16 , pub fix_type : GpsFixType , pub satellites_visible : u8 , } impl GPS_RAW_INT_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , cog : 0_u16 , fix_type : GpsFixType :: DEFAULT , satellites_visible : 0_u8 , } ; } impl Default for GPS_RAW_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RAW_INT_DATA { type Message = MavMessage ; const ID : u32 = 24u32 ; const NAME : & 'static str = "GPS_RAW_INT" ; const EXTRA_CRC : u8 = 24u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . cog = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type as u8) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_INFORMATION_DATA { pub time_boot_ms : u32 , pub cap_flags : GimbalManagerCapFlags , pub roll_min : f32 , pub roll_max : f32 , pub pitch_min : f32 , pub pitch_max : f32 , pub yaw_min : f32 , pub yaw_max : f32 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_INFORMATION_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , cap_flags : GimbalManagerCapFlags :: DEFAULT , roll_min : 0.0_f32 , roll_max : 0.0_f32 , pitch_min : 0.0_f32 , pitch_max : 0.0_f32 , yaw_min : 0.0_f32 , yaw_max : 0.0_f32 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 280u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_INFORMATION" ; const EXTRA_CRC : u8 = 70u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u32_le () ; __struct . cap_flags = GimbalManagerCapFlags :: from_bits (tmp & GimbalManagerCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalManagerCapFlags" , value : tmp as u32 }) ? ; __struct . roll_min = buf . get_f32_le () ; __struct . roll_max = buf . get_f32_le () ; __struct . pitch_min = buf . get_f32_le () ; __struct . pitch_max = buf . get_f32_le () ; __struct . yaw_min = buf . get_f32_le () ; __struct . yaw_max = buf . get_f32_le () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . cap_flags . bits ()) ; __tmp . put_f32_le (self . roll_min) ; __tmp . put_f32_le (self . roll_max) ; __tmp . put_f32_le (self . pitch_min) ; __tmp . put_f32_le (self . pitch_max) ; __tmp . put_f32_le (self . yaw_min) ; __tmp . put_f32_le (self . yaw_max) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_INT_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub seq : u16 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl MISSION_ITEM_INT_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , seq : 0_u16 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for MISSION_ITEM_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_INT_DATA { type Message = MavMessage ; const ID : u32 = 73u32 ; const NAME : & 'static str = "MISSION_ITEM_INT" ; const EXTRA_CRC : u8 = 38u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; __struct . seq = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WINCH_STATUS_DATA { pub time_usec : u64 , pub line_length : f32 , pub speed : f32 , pub tension : f32 , pub voltage : f32 , pub current : f32 , pub status : MavWinchStatusFlag , pub temperature : i16 , } impl WINCH_STATUS_DATA { pub const ENCODED_LEN : usize = 34usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , line_length : 0.0_f32 , speed : 0.0_f32 , tension : 0.0_f32 , voltage : 0.0_f32 , current : 0.0_f32 , status : MavWinchStatusFlag :: DEFAULT , temperature : 0_i16 , } ; } impl Default for WINCH_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WINCH_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 9005u32 ; const NAME : & 'static str = "WINCH_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 34usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . line_length = buf . get_f32_le () ; __struct . speed = buf . get_f32_le () ; __struct . tension = buf . get_f32_le () ; __struct . voltage = buf . get_f32_le () ; __struct . current = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . status = MavWinchStatusFlag :: from_bits (tmp & MavWinchStatusFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavWinchStatusFlag" , value : tmp as u32 }) ? ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . line_length) ; __tmp . put_f32_le (self . speed) ; __tmp . put_f32_le (self . tension) ; __tmp . put_f32_le (self . voltage) ; __tmp . put_f32_le (self . current) ; __tmp . put_u32_le (self . status . bits ()) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FILE_TRANSFER_PROTOCOL_DATA { pub target_network : u8 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 251] , } impl FILE_TRANSFER_PROTOCOL_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { target_network : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , payload : [0_u8 ; 251usize] , } ; } impl Default for FILE_TRANSFER_PROTOCOL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FILE_TRANSFER_PROTOCOL_DATA { type Message = MavMessage ; const ID : u32 = 110u32 ; const NAME : & 'static str = "FILE_TRANSFER_PROTOCOL" ; const EXTRA_CRC : u8 = 84u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_network = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_network) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS2_RAW_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub dgps_age : u32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub cog : u16 , pub fix_type : GpsFixType , pub satellites_visible : u8 , pub dgps_numch : u8 , } impl GPS2_RAW_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , dgps_age : 0_u32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , cog : 0_u16 , fix_type : GpsFixType :: DEFAULT , satellites_visible : 0_u8 , dgps_numch : 0_u8 , } ; } impl Default for GPS2_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS2_RAW_DATA { type Message = MavMessage ; const ID : u32 = 124u32 ; const NAME : & 'static str = "GPS2_RAW" ; const EXTRA_CRC : u8 = 87u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . dgps_age = buf . get_u32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . cog = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . satellites_visible = buf . get_u8 () ; __struct . dgps_numch = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u32_le (self . dgps_age) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type as u8) ; __tmp . put_u8 (self . satellites_visible) ; __tmp . put_u8 (self . dgps_numch) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RTK_DATA { pub time_last_baseline_ms : u32 , pub tow : u32 , pub baseline_a_mm : i32 , pub baseline_b_mm : i32 , pub baseline_c_mm : i32 , pub accuracy : u32 , pub iar_num_hypotheses : i32 , pub wn : u16 , pub rtk_receiver_id : u8 , pub rtk_health : u8 , pub rtk_rate : u8 , pub nsats : u8 , pub baseline_coords_type : RtkBaselineCoordinateSystem , } impl GPS_RTK_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_last_baseline_ms : 0_u32 , tow : 0_u32 , baseline_a_mm : 0_i32 , baseline_b_mm : 0_i32 , baseline_c_mm : 0_i32 , accuracy : 0_u32 , iar_num_hypotheses : 0_i32 , wn : 0_u16 , rtk_receiver_id : 0_u8 , rtk_health : 0_u8 , rtk_rate : 0_u8 , nsats : 0_u8 , baseline_coords_type : RtkBaselineCoordinateSystem :: DEFAULT , } ; } impl Default for GPS_RTK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RTK_DATA { type Message = MavMessage ; const ID : u32 = 127u32 ; const NAME : & 'static str = "GPS_RTK" ; const EXTRA_CRC : u8 = 25u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_last_baseline_ms = buf . get_u32_le () ; __struct . tow = buf . get_u32_le () ; __struct . baseline_a_mm = buf . get_i32_le () ; __struct . baseline_b_mm = buf . get_i32_le () ; __struct . baseline_c_mm = buf . get_i32_le () ; __struct . accuracy = buf . get_u32_le () ; __struct . iar_num_hypotheses = buf . get_i32_le () ; __struct . wn = buf . get_u16_le () ; __struct . rtk_receiver_id = buf . get_u8 () ; __struct . rtk_health = buf . get_u8 () ; __struct . rtk_rate = buf . get_u8 () ; __struct . nsats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . baseline_coords_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "RtkBaselineCoordinateSystem" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_last_baseline_ms) ; __tmp . put_u32_le (self . tow) ; __tmp . put_i32_le (self . baseline_a_mm) ; __tmp . put_i32_le (self . baseline_b_mm) ; __tmp . put_i32_le (self . baseline_c_mm) ; __tmp . put_u32_le (self . accuracy) ; __tmp . put_i32_le (self . iar_num_hypotheses) ; __tmp . put_u16_le (self . wn) ; __tmp . put_u8 (self . rtk_receiver_id) ; __tmp . put_u8 (self . rtk_health) ; __tmp . put_u8 (self . rtk_rate) ; __tmp . put_u8 (self . nsats) ; __tmp . put_u8 (self . baseline_coords_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIBRATION_DATA { pub time_usec : u64 , pub vibration_x : f32 , pub vibration_y : f32 , pub vibration_z : f32 , pub clipping_0 : u32 , pub clipping_1 : u32 , pub clipping_2 : u32 , } impl VIBRATION_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , vibration_x : 0.0_f32 , vibration_y : 0.0_f32 , vibration_z : 0.0_f32 , clipping_0 : 0_u32 , clipping_1 : 0_u32 , clipping_2 : 0_u32 , } ; } impl Default for VIBRATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIBRATION_DATA { type Message = MavMessage ; const ID : u32 = 241u32 ; const NAME : & 'static str = "VIBRATION" ; const EXTRA_CRC : u8 = 90u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . vibration_x = buf . get_f32_le () ; __struct . vibration_y = buf . get_f32_le () ; __struct . vibration_z = buf . get_f32_le () ; __struct . clipping_0 = buf . get_u32_le () ; __struct . clipping_1 = buf . get_u32_le () ; __struct . clipping_2 = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . vibration_x) ; __tmp . put_f32_le (self . vibration_y) ; __tmp . put_f32_le (self . vibration_z) ; __tmp . put_u32_le (self . clipping_0) ; __tmp . put_u32_le (self . clipping_1) ; __tmp . put_u32_le (self . clipping_2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_STATE_DATA { pub time_usec : u64 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , } impl HIL_STATE_DATA { pub const ENCODED_LEN : usize = 56usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , } ; } impl Default for HIL_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_STATE_DATA { type Message = MavMessage ; const ID : u32 = 90u32 ; const NAME : & 'static str = "HIL_STATE" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 56usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_STATUS_DATA { pub satellites_visible : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_prn : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_used : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_elevation : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_azimuth : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_snr : [u8 ; 20] , } impl GPS_STATUS_DATA { pub const ENCODED_LEN : usize = 101usize ; pub const DEFAULT : Self = Self { satellites_visible : 0_u8 , satellite_prn : [0_u8 ; 20usize] , satellite_used : [0_u8 ; 20usize] , satellite_elevation : [0_u8 ; 20usize] , satellite_azimuth : [0_u8 ; 20usize] , satellite_snr : [0_u8 ; 20usize] , } ; } impl Default for GPS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 25u32 ; const NAME : & 'static str = "GPS_STATUS" ; const EXTRA_CRC : u8 = 23u8 ; const ENCODED_LEN : usize = 101usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . satellites_visible = buf . get_u8 () ; for v in & mut __struct . satellite_prn { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_used { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_elevation { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_azimuth { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_snr { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . satellites_visible) ; for val in & self . satellite_prn { __tmp . put_u8 (* val) ; } for val in & self . satellite_used { __tmp . put_u8 (* val) ; } for val in & self . satellite_elevation { __tmp . put_u8 (* val) ; } for val in & self . satellite_azimuth { __tmp . put_u8 (* val) ; } for val in & self . satellite_snr { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU_DATA { type Message = MavMessage ; const ID : u32 = 26u32 ; const NAME : & 'static str = "SCALED_IMU" ; const EXTRA_CRC : u8 = 170u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_ACTUATOR_CONTROLS_DATA { pub time_usec : u64 , pub flags : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 16] , pub mode : MavModeFlag , } impl HIL_ACTUATOR_CONTROLS_DATA { pub const ENCODED_LEN : usize = 81usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , flags : 0_u64 , controls : [0.0_f32 ; 16usize] , mode : MavModeFlag :: DEFAULT , } ; } impl Default for HIL_ACTUATOR_CONTROLS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_ACTUATOR_CONTROLS_DATA { type Message = MavMessage ; const ID : u32 = 93u32 ; const NAME : & 'static str = "HIL_ACTUATOR_CONTROLS" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 81usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . flags = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u64_le (self . flags) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . mode . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 43u32 ; const NAME : & 'static str = "MISSION_REQUEST_LIST" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl PARAM_EXT_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PARAM_EXT_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 321u32 ; const NAME : & 'static str = "PARAM_EXT_REQUEST_LIST" ; const EXTRA_CRC : u8 = 88u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_VALUE_DATA { pub param_count : u16 , pub param_index : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , } impl PARAM_EXT_VALUE_DATA { pub const ENCODED_LEN : usize = 149usize ; pub const DEFAULT : Self = Self { param_count : 0_u16 , param_index : 0_u16 , param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , } ; } impl Default for PARAM_EXT_VALUE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_VALUE_DATA { type Message = MavMessage ; const ID : u32 = 322u32 ; const NAME : & 'static str = "PARAM_EXT_VALUE" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 149usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_count = buf . get_u16_le () ; __struct . param_index = buf . get_u16_le () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . param_count) ; __tmp . put_u16_le (self . param_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CELLULAR_STATUS_DATA { pub mcc : u16 , pub mnc : u16 , pub lac : u16 , pub status : CellularStatusFlag , pub failure_reason : CellularNetworkFailedReason , pub mavtype : CellularNetworkRadioType , pub quality : u8 , } impl CELLULAR_STATUS_DATA { pub const ENCODED_LEN : usize = 10usize ; pub const DEFAULT : Self = Self { mcc : 0_u16 , mnc : 0_u16 , lac : 0_u16 , status : CellularStatusFlag :: DEFAULT , failure_reason : CellularNetworkFailedReason :: DEFAULT , mavtype : CellularNetworkRadioType :: DEFAULT , quality : 0_u8 , } ; } impl Default for CELLULAR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CELLULAR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 334u32 ; const NAME : & 'static str = "CELLULAR_STATUS" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 10usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mcc = buf . get_u16_le () ; __struct . mnc = buf . get_u16_le () ; __struct . lac = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularStatusFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . failure_reason = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularNetworkFailedReason" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularNetworkRadioType" , value : tmp as u32 }) ? ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . mcc) ; __tmp . put_u16_le (self . mnc) ; __tmp . put_u16_le (self . lac) ; __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . failure_reason as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CANFD_FRAME_DATA { pub id : u32 , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 64] , } impl CANFD_FRAME_DATA { pub const ENCODED_LEN : usize = 72usize ; pub const DEFAULT : Self = Self { id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , len : 0_u8 , data : [0_u8 ; 64usize] , } ; } impl Default for CANFD_FRAME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CANFD_FRAME_DATA { type Message = MavMessage ; const ID : u32 = 387u32 ; const NAME : & 'static str = "CANFD_FRAME" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 72usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RTCM_DATA_DATA { pub flags : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 180] , } impl GPS_RTCM_DATA_DATA { pub const ENCODED_LEN : usize = 182usize ; pub const DEFAULT : Self = Self { flags : 0_u8 , len : 0_u8 , data : [0_u8 ; 180usize] , } ; } impl Default for GPS_RTCM_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RTCM_DATA_DATA { type Message = MavMessage ; const ID : u32 = 233u32 ; const NAME : & 'static str = "GPS_RTCM_DATA" ; const EXTRA_CRC : u8 = 35u8 ; const ENCODED_LEN : usize = 182usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . flags = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . flags) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MANUAL_CONTROL_DATA { pub x : i16 , pub y : i16 , pub z : i16 , pub r : i16 , pub buttons : u16 , pub target : u8 , } impl MANUAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 11usize ; pub const DEFAULT : Self = Self { x : 0_i16 , y : 0_i16 , z : 0_i16 , r : 0_i16 , buttons : 0_u16 , target : 0_u8 , } ; } impl Default for MANUAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MANUAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 69u32 ; const NAME : & 'static str = "MANUAL_CONTROL" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 11usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . x = buf . get_i16_le () ; __struct . y = buf . get_i16_le () ; __struct . z = buf . get_i16_le () ; __struct . r = buf . get_i16_le () ; __struct . buttons = buf . get_u16_le () ; __struct . target = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . x) ; __tmp . put_i16_le (self . y) ; __tmp . put_i16_le (self . z) ; __tmp . put_i16_le (self . r) ; __tmp . put_u16_le (self . buttons) ; __tmp . put_u8 (self . target) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_ACK_DATA { pub command : MavCmd , pub result : MavResult , } impl COMMAND_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { command : MavCmd :: DEFAULT , result : MavResult :: DEFAULT , } ; } impl Default for COMMAND_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_ACK_DATA { type Message = MavMessage ; const ID : u32 = 77u32 ; const NAME : & 'static str = "COMMAND_ACK" ; const EXTRA_CRC : u8 = 143u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavResult" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RADIO_STATUS_DATA { pub rxerrors : u16 , pub fixed : u16 , pub rssi : u8 , pub remrssi : u8 , pub txbuf : u8 , pub noise : u8 , pub remnoise : u8 , } impl RADIO_STATUS_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { rxerrors : 0_u16 , fixed : 0_u16 , rssi : 0_u8 , remrssi : 0_u8 , txbuf : 0_u8 , noise : 0_u8 , remnoise : 0_u8 , } ; } impl Default for RADIO_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RADIO_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 109u32 ; const NAME : & 'static str = "RADIO_STATUS" ; const EXTRA_CRC : u8 = 185u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . rxerrors = buf . get_u16_le () ; __struct . fixed = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; __struct . remrssi = buf . get_u8 () ; __struct . txbuf = buf . get_u8 () ; __struct . noise = buf . get_u8 () ; __struct . remnoise = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . rxerrors) ; __tmp . put_u16_le (self . fixed) ; __tmp . put_u8 (self . rssi) ; __tmp . put_u8 (self . remrssi) ; __tmp . put_u8 (self . txbuf) ; __tmp . put_u8 (self . noise) ; __tmp . put_u8 (self . remnoise) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_REQUEST_DATA { pub mask : u64 , pub lat : i32 , pub lon : i32 , pub grid_spacing : u16 , } impl TERRAIN_REQUEST_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { mask : 0_u64 , lat : 0_i32 , lon : 0_i32 , grid_spacing : 0_u16 , } ; } impl Default for TERRAIN_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 133u32 ; const NAME : & 'static str = "TERRAIN_REQUEST" ; const EXTRA_CRC : u8 = 6u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mask = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . grid_spacing = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . mask) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . grid_spacing) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIDEO_STREAM_STATUS_DATA { pub framerate : f32 , pub bitrate : u32 , pub flags : VideoStreamStatusFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub hfov : u16 , pub stream_id : u8 , } impl VIDEO_STREAM_STATUS_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , flags : VideoStreamStatusFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , hfov : 0_u16 , stream_id : 0_u8 , } ; } impl Default for VIDEO_STREAM_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIDEO_STREAM_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 270u32 ; const NAME : & 'static str = "VIDEO_STREAM_STATUS" ; const EXTRA_CRC : u8 = 59u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamStatusFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . hfov = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . flags as u16) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u16_le (self . hfov) ; __tmp . put_u8 (self . stream_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TIME_ESTIMATE_TO_TARGET_DATA { pub safe_return : i32 , pub land : i32 , pub mission_next_item : i32 , pub mission_end : i32 , pub commanded_action : i32 , } impl TIME_ESTIMATE_TO_TARGET_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { safe_return : 0_i32 , land : 0_i32 , mission_next_item : 0_i32 , mission_end : 0_i32 , commanded_action : 0_i32 , } ; } impl Default for TIME_ESTIMATE_TO_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TIME_ESTIMATE_TO_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 380u32 ; const NAME : & 'static str = "TIME_ESTIMATE_TO_TARGET" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . safe_return = buf . get_i32_le () ; __struct . land = buf . get_i32_le () ; __struct . mission_next_item = buf . get_i32_le () ; __struct . mission_end = buf . get_i32_le () ; __struct . commanded_action = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . safe_return) ; __tmp . put_i32_le (self . land) ; __tmp . put_i32_le (self . mission_next_item) ; __tmp . put_i32_le (self . mission_end) ; __tmp . put_i32_le (self . commanded_action) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_IMAGE_CAPTURED_DATA { pub time_utc : u64 , pub time_boot_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub image_index : i32 , pub camera_id : u8 , pub capture_result : i8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub file_url : [u8 ; 205] , } impl CAMERA_IMAGE_CAPTURED_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { time_utc : 0_u64 , time_boot_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , q : [0.0_f32 ; 4usize] , image_index : 0_i32 , camera_id : 0_u8 , capture_result : 0_i8 , file_url : [0_u8 ; 205usize] , } ; } impl Default for CAMERA_IMAGE_CAPTURED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_IMAGE_CAPTURED_DATA { type Message = MavMessage ; const ID : u32 = 263u32 ; const NAME : & 'static str = "CAMERA_IMAGE_CAPTURED" ; const EXTRA_CRC : u8 = 133u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_utc = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . image_index = buf . get_i32_le () ; __struct . camera_id = buf . get_u8 () ; __struct . capture_result = buf . get_i8 () ; for v in & mut __struct . file_url { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_utc) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_i32_le (self . image_index) ; __tmp . put_u8 (self . camera_id) ; __tmp . put_i8 (self . capture_result) ; for val in & self . file_url { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WHEEL_DISTANCE_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub distance : [f64 ; 16] , pub count : u8 , } impl WHEEL_DISTANCE_DATA { pub const ENCODED_LEN : usize = 137usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , distance : [0.0_f64 ; 16usize] , count : 0_u8 , } ; } impl Default for WHEEL_DISTANCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WHEEL_DISTANCE_DATA { type Message = MavMessage ; const ID : u32 = 9000u32 ; const NAME : & 'static str = "WHEEL_DISTANCE" ; const EXTRA_CRC : u8 = 113u8 ; const ENCODED_LEN : usize = 137usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . distance { let val = buf . get_f64_le () ; * v = val ; } __struct . count = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . distance { __tmp . put_f64_le (* val) ; } __tmp . put_u8 (self . count) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_CURRENT_DATA { pub seq : u16 , } impl MISSION_CURRENT_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , } ; } impl Default for MISSION_CURRENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_CURRENT_DATA { type Message = MavMessage ; const ID : u32 = 42u32 ; const NAME : & 'static str = "MISSION_CURRENT" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VFR_HUD_DATA { pub airspeed : f32 , pub groundspeed : f32 , pub alt : f32 , pub climb : f32 , pub heading : i16 , pub throttle : u16 , } impl VFR_HUD_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { airspeed : 0.0_f32 , groundspeed : 0.0_f32 , alt : 0.0_f32 , climb : 0.0_f32 , heading : 0_i16 , throttle : 0_u16 , } ; } impl Default for VFR_HUD_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VFR_HUD_DATA { type Message = MavMessage ; const ID : u32 = 74u32 ; const NAME : & 'static str = "VFR_HUD" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . airspeed = buf . get_f32_le () ; __struct . groundspeed = buf . get_f32_le () ; __struct . alt = buf . get_f32_le () ; __struct . climb = buf . get_f32_le () ; __struct . heading = buf . get_i16_le () ; __struct . throttle = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . airspeed) ; __tmp . put_f32_le (self . groundspeed) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . climb) ; __tmp . put_i16_le (self . heading) ; __tmp . put_u16_le (self . throttle) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_POSITION_TARGET_GLOBAL_INT_DATA { pub time_boot_ms : u32 , pub lat_int : i32 , pub lon_int : i32 , pub alt : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub target_system : u8 , pub target_component : u8 , pub coordinate_frame : MavFrame , } impl SET_POSITION_TARGET_GLOBAL_INT_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_int : 0_i32 , lon_int : 0_i32 , alt : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for SET_POSITION_TARGET_GLOBAL_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_POSITION_TARGET_GLOBAL_INT_DATA { type Message = MavMessage ; const ID : u32 = 86u32 ; const NAME : & 'static str = "SET_POSITION_TARGET_GLOBAL_INT" ; const EXTRA_CRC : u8 = 5u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_int = buf . get_i32_le () ; __struct . lon_int = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_int) ; __tmp . put_i32_le (self . lon_int) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POSITION_TARGET_GLOBAL_INT_DATA { pub time_boot_ms : u32 , pub lat_int : i32 , pub lon_int : i32 , pub alt : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub coordinate_frame : MavFrame , } impl POSITION_TARGET_GLOBAL_INT_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_int : 0_i32 , lon_int : 0_i32 , alt : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for POSITION_TARGET_GLOBAL_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POSITION_TARGET_GLOBAL_INT_DATA { type Message = MavMessage ; const ID : u32 = 87u32 ; const NAME : & 'static str = "POSITION_TARGET_GLOBAL_INT" ; const EXTRA_CRC : u8 = 150u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_int = buf . get_i32_le () ; __struct . lon_int = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_int) ; __tmp . put_i32_le (self . lon_int) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_SPEED_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , } impl VISION_SPEED_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , } ; } impl Default for VISION_SPEED_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_SPEED_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 103u32 ; const NAME : & 'static str = "VISION_SPEED_ESTIMATE" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BATTERY_STATUS_DATA { pub current_consumed : i32 , pub energy_consumed : i32 , pub temperature : i16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltages : [u16 ; 10] , pub current_battery : i16 , pub id : u8 , pub battery_function : MavBatteryFunction , pub mavtype : MavBatteryType , pub battery_remaining : i8 , } impl BATTERY_STATUS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { current_consumed : 0_i32 , energy_consumed : 0_i32 , temperature : 0_i16 , voltages : [0_u16 ; 10usize] , current_battery : 0_i16 , id : 0_u8 , battery_function : MavBatteryFunction :: DEFAULT , mavtype : MavBatteryType :: DEFAULT , battery_remaining : 0_i8 , } ; } impl Default for BATTERY_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BATTERY_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 147u32 ; const NAME : & 'static str = "BATTERY_STATUS" ; const EXTRA_CRC : u8 = 154u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . current_consumed = buf . get_i32_le () ; __struct . energy_consumed = buf . get_i32_le () ; __struct . temperature = buf . get_i16_le () ; for v in & mut __struct . voltages { let val = buf . get_u16_le () ; * v = val ; } __struct . current_battery = buf . get_i16_le () ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . battery_function = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryFunction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryType" , value : tmp as u32 }) ? ; __struct . battery_remaining = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . current_consumed) ; __tmp . put_i32_le (self . energy_consumed) ; __tmp . put_i16_le (self . temperature) ; for val in & self . voltages { __tmp . put_u16_le (* val) ; } __tmp . put_i16_le (self . current_battery) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . battery_function as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_i8 (self . battery_remaining) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FENCE_STATUS_DATA { pub breach_time : u32 , pub breach_count : u16 , pub breach_status : u8 , pub breach_type : FenceBreach , } impl FENCE_STATUS_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { breach_time : 0_u32 , breach_count : 0_u16 , breach_status : 0_u8 , breach_type : FenceBreach :: DEFAULT , } ; } impl Default for FENCE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FENCE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 162u32 ; const NAME : & 'static str = "FENCE_STATUS" ; const EXTRA_CRC : u8 = 189u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . breach_time = buf . get_u32_le () ; __struct . breach_count = buf . get_u16_le () ; __struct . breach_status = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . breach_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "FenceBreach" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . breach_time) ; __tmp . put_u16_le (self . breach_count) ; __tmp . put_u8 (self . breach_status) ; __tmp . put_u8 (self . breach_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PROTOCOL_VERSION_DATA { pub version : u16 , pub min_version : u16 , pub max_version : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub spec_version_hash : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub library_version_hash : [u8 ; 8] , } impl PROTOCOL_VERSION_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { version : 0_u16 , min_version : 0_u16 , max_version : 0_u16 , spec_version_hash : [0_u8 ; 8usize] , library_version_hash : [0_u8 ; 8usize] , } ; } impl Default for PROTOCOL_VERSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PROTOCOL_VERSION_DATA { type Message = MavMessage ; const ID : u32 = 300u32 ; const NAME : & 'static str = "PROTOCOL_VERSION" ; const EXTRA_CRC : u8 = 217u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . version = buf . get_u16_le () ; __struct . min_version = buf . get_u16_le () ; __struct . max_version = buf . get_u16_le () ; for v in & mut __struct . spec_version_hash { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . library_version_hash { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . version) ; __tmp . put_u16_le (self . min_version) ; __tmp . put_u16_le (self . max_version) ; for val in & self . spec_version_hash { __tmp . put_u8 (* val) ; } for val in & self . library_version_hash { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_PRESSURE_DATA { pub time_usec : u64 , pub press_abs : i16 , pub press_diff1 : i16 , pub press_diff2 : i16 , pub temperature : i16 , } impl RAW_PRESSURE_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , press_abs : 0_i16 , press_diff1 : 0_i16 , press_diff2 : 0_i16 , temperature : 0_i16 , } ; } impl Default for RAW_PRESSURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_PRESSURE_DATA { type Message = MavMessage ; const ID : u32 = 28u32 ; const NAME : & 'static str = "RAW_PRESSURE" ; const EXTRA_CRC : u8 = 67u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . press_abs = buf . get_i16_le () ; __struct . press_diff1 = buf . get_i16_le () ; __struct . press_diff2 = buf . get_i16_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i16_le (self . press_abs) ; __tmp . put_i16_le (self . press_diff1) ; __tmp . put_i16_le (self . press_diff2) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE3_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE3_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE3_DATA { type Message = MavMessage ; const ID : u32 = 143u32 ; const NAME : & 'static str = "SCALED_PRESSURE3" ; const EXTRA_CRC : u8 = 131u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_GLOBAL_ORIGIN_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , } impl GPS_GLOBAL_ORIGIN_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , } ; } impl Default for GPS_GLOBAL_ORIGIN_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_GLOBAL_ORIGIN_DATA { type Message = MavMessage ; const ID : u32 = 49u32 ; const NAME : & 'static str = "GPS_GLOBAL_ORIGIN" ; const EXTRA_CRC : u8 = 39u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_PARTIAL_LIST_DATA { pub start_index : i16 , pub end_index : i16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_PARTIAL_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start_index : 0_i16 , end_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_PARTIAL_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_PARTIAL_LIST_DATA { type Message = MavMessage ; const ID : u32 = 37u32 ; const NAME : & 'static str = "MISSION_REQUEST_PARTIAL_LIST" ; const EXTRA_CRC : u8 = 212u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start_index = buf . get_i16_le () ; __struct . end_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . start_index) ; __tmp . put_i16_le (self . end_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_PITCHYAW_DATA { pub flags : GimbalManagerFlags , pub pitch : f32 , pub yaw : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_PITCHYAW_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , pitch : 0.0_f32 , yaw : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_PITCHYAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_PITCHYAW_DATA { type Message = MavMessage ; const ID : u32 = 287u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_PITCHYAW" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RESPONSE_EVENT_ERROR_DATA { pub sequence : u16 , pub sequence_oldest_available : u16 , pub target_system : u8 , pub target_component : u8 , pub reason : MavEventErrorReason , } impl RESPONSE_EVENT_ERROR_DATA { pub const ENCODED_LEN : usize = 7usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , sequence_oldest_available : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , reason : MavEventErrorReason :: DEFAULT , } ; } impl Default for RESPONSE_EVENT_ERROR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RESPONSE_EVENT_ERROR_DATA { type Message = MavMessage ; const ID : u32 = 413u32 ; const NAME : & 'static str = "RESPONSE_EVENT_ERROR" ; const EXTRA_CRC : u8 = 77u8 ; const ENCODED_LEN : usize = 7usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . sequence_oldest_available = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . reason = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEventErrorReason" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u16_le (self . sequence_oldest_available) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . reason as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LINK_NODE_STATUS_DATA { pub timestamp : u64 , pub tx_rate : u32 , pub rx_rate : u32 , pub messages_sent : u32 , pub messages_received : u32 , pub messages_lost : u32 , pub rx_parse_err : u16 , pub tx_overflows : u16 , pub rx_overflows : u16 , pub tx_buf : u8 , pub rx_buf : u8 , } impl LINK_NODE_STATUS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , tx_rate : 0_u32 , rx_rate : 0_u32 , messages_sent : 0_u32 , messages_received : 0_u32 , messages_lost : 0_u32 , rx_parse_err : 0_u16 , tx_overflows : 0_u16 , rx_overflows : 0_u16 , tx_buf : 0_u8 , rx_buf : 0_u8 , } ; } impl Default for LINK_NODE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LINK_NODE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 8u32 ; const NAME : & 'static str = "LINK_NODE_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . tx_rate = buf . get_u32_le () ; __struct . rx_rate = buf . get_u32_le () ; __struct . messages_sent = buf . get_u32_le () ; __struct . messages_received = buf . get_u32_le () ; __struct . messages_lost = buf . get_u32_le () ; __struct . rx_parse_err = buf . get_u16_le () ; __struct . tx_overflows = buf . get_u16_le () ; __struct . rx_overflows = buf . get_u16_le () ; __struct . tx_buf = buf . get_u8 () ; __struct . rx_buf = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u32_le (self . tx_rate) ; __tmp . put_u32_le (self . rx_rate) ; __tmp . put_u32_le (self . messages_sent) ; __tmp . put_u32_le (self . messages_received) ; __tmp . put_u32_le (self . messages_lost) ; __tmp . put_u16_le (self . rx_parse_err) ; __tmp . put_u16_le (self . tx_overflows) ; __tmp . put_u16_le (self . rx_overflows) ; __tmp . put_u8 (self . tx_buf) ; __tmp . put_u8 (self . rx_buf) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA_STREAM_DATA { pub message_rate : u16 , pub stream_id : u8 , pub on_off : u8 , } impl DATA_STREAM_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { message_rate : 0_u16 , stream_id : 0_u8 , on_off : 0_u8 , } ; } impl Default for DATA_STREAM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA_STREAM_DATA { type Message = MavMessage ; const ID : u32 = 67u32 ; const NAME : & 'static str = "DATA_STREAM" ; const EXTRA_CRC : u8 = 21u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . message_rate = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; __struct . on_off = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . message_rate) ; __tmp . put_u8 (self . stream_id) ; __tmp . put_u8 (self . on_off) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_SENSOR_DATA { pub time_usec : u64 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub xmag : f32 , pub ymag : f32 , pub zmag : f32 , pub abs_pressure : f32 , pub diff_pressure : f32 , pub pressure_alt : f32 , pub temperature : f32 , pub fields_updated : HilSensorUpdatedFlags , } impl HIL_SENSOR_DATA { pub const ENCODED_LEN : usize = 64usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , xmag : 0.0_f32 , ymag : 0.0_f32 , zmag : 0.0_f32 , abs_pressure : 0.0_f32 , diff_pressure : 0.0_f32 , pressure_alt : 0.0_f32 , temperature : 0.0_f32 , fields_updated : HilSensorUpdatedFlags :: DEFAULT , } ; } impl Default for HIL_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 107u32 ; const NAME : & 'static str = "HIL_SENSOR" ; const EXTRA_CRC : u8 = 108u8 ; const ENCODED_LEN : usize = 64usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . xmag = buf . get_f32_le () ; __struct . ymag = buf . get_f32_le () ; __struct . zmag = buf . get_f32_le () ; __struct . abs_pressure = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . pressure_alt = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . fields_updated = HilSensorUpdatedFlags :: from_bits (tmp & HilSensorUpdatedFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HilSensorUpdatedFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . xmag) ; __tmp . put_f32_le (self . ymag) ; __tmp . put_f32_le (self . zmag) ; __tmp . put_f32_le (self . abs_pressure) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . pressure_alt) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u32_le (self . fields_updated . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_MESSAGE_PACK_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub single_message_size : u8 , pub msg_pack_size : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub messages : [u8 ; 225] , } impl OPEN_DRONE_ID_MESSAGE_PACK_DATA { pub const ENCODED_LEN : usize = 249usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , single_message_size : 0_u8 , msg_pack_size : 0_u8 , messages : [0_u8 ; 225usize] , } ; } impl Default for OPEN_DRONE_ID_MESSAGE_PACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_MESSAGE_PACK_DATA { type Message = MavMessage ; const ID : u32 = 12915u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_MESSAGE_PACK" ; const EXTRA_CRC : u8 = 94u8 ; const ENCODED_LEN : usize = 249usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } __struct . single_message_size = buf . get_u8 () ; __struct . msg_pack_size = buf . get_u8 () ; for v in & mut __struct . messages { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . single_message_size) ; __tmp . put_u8 (self . msg_pack_size) ; for val in & self . messages { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIND_COV_DATA { pub time_usec : u64 , pub wind_x : f32 , pub wind_y : f32 , pub wind_z : f32 , pub var_horiz : f32 , pub var_vert : f32 , pub wind_alt : f32 , pub horiz_accuracy : f32 , pub vert_accuracy : f32 , } impl WIND_COV_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , wind_x : 0.0_f32 , wind_y : 0.0_f32 , wind_z : 0.0_f32 , var_horiz : 0.0_f32 , var_vert : 0.0_f32 , wind_alt : 0.0_f32 , horiz_accuracy : 0.0_f32 , vert_accuracy : 0.0_f32 , } ; } impl Default for WIND_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIND_COV_DATA { type Message = MavMessage ; const ID : u32 = 231u32 ; const NAME : & 'static str = "WIND_COV" ; const EXTRA_CRC : u8 = 105u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . wind_x = buf . get_f32_le () ; __struct . wind_y = buf . get_f32_le () ; __struct . wind_z = buf . get_f32_le () ; __struct . var_horiz = buf . get_f32_le () ; __struct . var_vert = buf . get_f32_le () ; __struct . wind_alt = buf . get_f32_le () ; __struct . horiz_accuracy = buf . get_f32_le () ; __struct . vert_accuracy = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . wind_x) ; __tmp . put_f32_le (self . wind_y) ; __tmp . put_f32_le (self . wind_z) ; __tmp . put_f32_le (self . var_horiz) ; __tmp . put_f32_le (self . var_vert) ; __tmp . put_f32_le (self . wind_alt) ; __tmp . put_f32_le (self . horiz_accuracy) ; __tmp . put_f32_le (self . vert_accuracy) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPTICAL_FLOW_RAD_DATA { pub time_usec : u64 , pub integration_time_us : u32 , pub integrated_x : f32 , pub integrated_y : f32 , pub integrated_xgyro : f32 , pub integrated_ygyro : f32 , pub integrated_zgyro : f32 , pub time_delta_distance_us : u32 , pub distance : f32 , pub temperature : i16 , pub sensor_id : u8 , pub quality : u8 , } impl OPTICAL_FLOW_RAD_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , integration_time_us : 0_u32 , integrated_x : 0.0_f32 , integrated_y : 0.0_f32 , integrated_xgyro : 0.0_f32 , integrated_ygyro : 0.0_f32 , integrated_zgyro : 0.0_f32 , time_delta_distance_us : 0_u32 , distance : 0.0_f32 , temperature : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for OPTICAL_FLOW_RAD_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPTICAL_FLOW_RAD_DATA { type Message = MavMessage ; const ID : u32 = 106u32 ; const NAME : & 'static str = "OPTICAL_FLOW_RAD" ; const EXTRA_CRC : u8 = 138u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . integration_time_us = buf . get_u32_le () ; __struct . integrated_x = buf . get_f32_le () ; __struct . integrated_y = buf . get_f32_le () ; __struct . integrated_xgyro = buf . get_f32_le () ; __struct . integrated_ygyro = buf . get_f32_le () ; __struct . integrated_zgyro = buf . get_f32_le () ; __struct . time_delta_distance_us = buf . get_u32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . integration_time_us) ; __tmp . put_f32_le (self . integrated_x) ; __tmp . put_f32_le (self . integrated_y) ; __tmp . put_f32_le (self . integrated_xgyro) ; __tmp . put_f32_le (self . integrated_ygyro) ; __tmp . put_f32_le (self . integrated_zgyro) ; __tmp . put_u32_le (self . time_delta_distance_us) ; __tmp . put_f32_le (self . distance) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_REPORT_DATA { pub lat : i32 , pub lon : i32 , pub terrain_height : f32 , pub current_height : f32 , pub spacing : u16 , pub pending : u16 , pub loaded : u16 , } impl TERRAIN_REPORT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , terrain_height : 0.0_f32 , current_height : 0.0_f32 , spacing : 0_u16 , pending : 0_u16 , loaded : 0_u16 , } ; } impl Default for TERRAIN_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 136u32 ; const NAME : & 'static str = "TERRAIN_REPORT" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . terrain_height = buf . get_f32_le () ; __struct . current_height = buf . get_f32_le () ; __struct . spacing = buf . get_u16_le () ; __struct . pending = buf . get_u16_le () ; __struct . loaded = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . terrain_height) ; __tmp . put_f32_le (self . current_height) ; __tmp . put_u16_le (self . spacing) ; __tmp . put_u16_le (self . pending) ; __tmp . put_u16_le (self . loaded) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_MAP_RC_DATA { pub param_value0 : f32 , pub scale : f32 , pub param_value_min : f32 , pub param_value_max : f32 , pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub parameter_rc_channel_index : u8 , } impl PARAM_MAP_RC_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param_value0 : 0.0_f32 , scale : 0.0_f32 , param_value_min : 0.0_f32 , param_value_max : 0.0_f32 , param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , parameter_rc_channel_index : 0_u8 , } ; } impl Default for PARAM_MAP_RC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_MAP_RC_DATA { type Message = MavMessage ; const ID : u32 = 50u32 ; const NAME : & 'static str = "PARAM_MAP_RC" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value0 = buf . get_f32_le () ; __struct . scale = buf . get_f32_le () ; __struct . param_value_min = buf . get_f32_le () ; __struct . param_value_max = buf . get_f32_le () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } __struct . parameter_rc_channel_index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value0) ; __tmp . put_f32_le (self . scale) ; __tmp . put_f32_le (self . param_value_min) ; __tmp . put_f32_le (self . param_value_max) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . parameter_rc_channel_index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRIGGER_DATA { pub time_usec : u64 , pub seq : u32 , } impl CAMERA_TRIGGER_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , seq : 0_u32 , } ; } impl Default for CAMERA_TRIGGER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRIGGER_DATA { type Message = MavMessage ; const ID : u32 = 112u32 ; const NAME : & 'static str = "CAMERA_TRIGGER" ; const EXTRA_CRC : u8 = 174u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . seq = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAMED_VALUE_INT_DATA { pub time_boot_ms : u32 , pub value : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl NAMED_VALUE_INT_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0_i32 , name : [0_u8 ; 10usize] , } ; } impl Default for NAMED_VALUE_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAMED_VALUE_INT_DATA { type Message = MavMessage ; const ID : u32 = 252u32 ; const NAME : & 'static str = "NAMED_VALUE_INT" ; const EXTRA_CRC : u8 = 44u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_i32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . value) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_SETTINGS_DATA { pub time_boot_ms : u32 , pub mode_id : CameraMode , } impl CAMERA_SETTINGS_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , mode_id : CameraMode :: DEFAULT , } ; } impl Default for CAMERA_SETTINGS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_SETTINGS_DATA { type Message = MavMessage ; const ID : u32 = 260u32 ; const NAME : & 'static str = "CAMERA_SETTINGS" ; const EXTRA_CRC : u8 = 146u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . mode_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraMode" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u8 (self . mode_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIFI_CONFIG_AP_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub ssid : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub password : [u8 ; 64] , } impl WIFI_CONFIG_AP_DATA { pub const ENCODED_LEN : usize = 96usize ; pub const DEFAULT : Self = Self { ssid : [0_u8 ; 32usize] , password : [0_u8 ; 64usize] , } ; } impl Default for WIFI_CONFIG_AP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIFI_CONFIG_AP_DATA { type Message = MavMessage ; const ID : u32 = 299u32 ; const NAME : & 'static str = "WIFI_CONFIG_AP" ; const EXTRA_CRC : u8 = 19u8 ; const ENCODED_LEN : usize = 96usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . ssid { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . password { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . ssid { __tmp . put_u8 (* val) ; } for val in & self . password { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGHRES_IMU_DATA { pub time_usec : u64 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub xmag : f32 , pub ymag : f32 , pub zmag : f32 , pub abs_pressure : f32 , pub diff_pressure : f32 , pub pressure_alt : f32 , pub temperature : f32 , pub fields_updated : HighresImuUpdatedFlags , } impl HIGHRES_IMU_DATA { pub const ENCODED_LEN : usize = 62usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , xmag : 0.0_f32 , ymag : 0.0_f32 , zmag : 0.0_f32 , abs_pressure : 0.0_f32 , diff_pressure : 0.0_f32 , pressure_alt : 0.0_f32 , temperature : 0.0_f32 , fields_updated : HighresImuUpdatedFlags :: DEFAULT , } ; } impl Default for HIGHRES_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGHRES_IMU_DATA { type Message = MavMessage ; const ID : u32 = 105u32 ; const NAME : & 'static str = "HIGHRES_IMU" ; const EXTRA_CRC : u8 = 93u8 ; const ENCODED_LEN : usize = 62usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . xmag = buf . get_f32_le () ; __struct . ymag = buf . get_f32_le () ; __struct . zmag = buf . get_f32_le () ; __struct . abs_pressure = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . pressure_alt = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . fields_updated = HighresImuUpdatedFlags :: from_bits (tmp & HighresImuUpdatedFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HighresImuUpdatedFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . xmag) ; __tmp . put_f32_le (self . ymag) ; __tmp . put_f32_le (self . zmag) ; __tmp . put_f32_le (self . abs_pressure) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . pressure_alt) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u16_le (self . fields_updated . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FLIGHT_INFORMATION_DATA { pub arming_time_utc : u64 , pub takeoff_time_utc : u64 , pub flight_uuid : u64 , pub time_boot_ms : u32 , } impl FLIGHT_INFORMATION_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { arming_time_utc : 0_u64 , takeoff_time_utc : 0_u64 , flight_uuid : 0_u64 , time_boot_ms : 0_u32 , } ; } impl Default for FLIGHT_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FLIGHT_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 264u32 ; const NAME : & 'static str = "FLIGHT_INFORMATION" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . arming_time_utc = buf . get_u64_le () ; __struct . takeoff_time_utc = buf . get_u64_le () ; __struct . flight_uuid = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . arming_time_utc) ; __tmp . put_u64_le (self . takeoff_time_utc) ; __tmp . put_u64_le (self . flight_uuid) ; __tmp . put_u32_le (self . time_boot_ms) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MAG_CAL_REPORT_DATA { pub fitness : f32 , pub ofs_x : f32 , pub ofs_y : f32 , pub ofs_z : f32 , pub diag_x : f32 , pub diag_y : f32 , pub diag_z : f32 , pub offdiag_x : f32 , pub offdiag_y : f32 , pub offdiag_z : f32 , pub compass_id : u8 , pub cal_mask : u8 , pub cal_status : MagCalStatus , pub autosaved : u8 , } impl MAG_CAL_REPORT_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { fitness : 0.0_f32 , ofs_x : 0.0_f32 , ofs_y : 0.0_f32 , ofs_z : 0.0_f32 , diag_x : 0.0_f32 , diag_y : 0.0_f32 , diag_z : 0.0_f32 , offdiag_x : 0.0_f32 , offdiag_y : 0.0_f32 , offdiag_z : 0.0_f32 , compass_id : 0_u8 , cal_mask : 0_u8 , cal_status : MagCalStatus :: DEFAULT , autosaved : 0_u8 , } ; } impl Default for MAG_CAL_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MAG_CAL_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 192u32 ; const NAME : & 'static str = "MAG_CAL_REPORT" ; const EXTRA_CRC : u8 = 36u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . fitness = buf . get_f32_le () ; __struct . ofs_x = buf . get_f32_le () ; __struct . ofs_y = buf . get_f32_le () ; __struct . ofs_z = buf . get_f32_le () ; __struct . diag_x = buf . get_f32_le () ; __struct . diag_y = buf . get_f32_le () ; __struct . diag_z = buf . get_f32_le () ; __struct . offdiag_x = buf . get_f32_le () ; __struct . offdiag_y = buf . get_f32_le () ; __struct . offdiag_z = buf . get_f32_le () ; __struct . compass_id = buf . get_u8 () ; __struct . cal_mask = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . cal_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MagCalStatus" , value : tmp as u32 }) ? ; __struct . autosaved = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . fitness) ; __tmp . put_f32_le (self . ofs_x) ; __tmp . put_f32_le (self . ofs_y) ; __tmp . put_f32_le (self . ofs_z) ; __tmp . put_f32_le (self . diag_x) ; __tmp . put_f32_le (self . diag_y) ; __tmp . put_f32_le (self . diag_z) ; __tmp . put_f32_le (self . offdiag_x) ; __tmp . put_f32_le (self . offdiag_y) ; __tmp . put_f32_le (self . offdiag_z) ; __tmp . put_u8 (self . compass_id) ; __tmp . put_u8 (self . cal_mask) ; __tmp . put_u8 (self . cal_status as u8) ; __tmp . put_u8 (self . autosaved) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , } impl ATTITUDE_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , } ; } impl Default for ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 30u32 ; const NAME : & 'static str = "ATTITUDE" ; const EXTRA_CRC : u8 = 39u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_REACHED_DATA { pub seq : u16 , } impl MISSION_ITEM_REACHED_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , } ; } impl Default for MISSION_ITEM_REACHED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_REACHED_DATA { type Message = MavMessage ; const ID : u32 = 46u32 ; const NAME : & 'static str = "MISSION_ITEM_REACHED" ; const EXTRA_CRC : u8 = 11u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POWER_STATUS_DATA { pub Vcc : u16 , pub Vservo : u16 , pub flags : MavPowerStatus , } impl POWER_STATUS_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { Vcc : 0_u16 , Vservo : 0_u16 , flags : MavPowerStatus :: DEFAULT , } ; } impl Default for POWER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POWER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 125u32 ; const NAME : & 'static str = "POWER_STATUS" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . Vcc = buf . get_u16_le () ; __struct . Vservo = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = MavPowerStatus :: from_bits (tmp & MavPowerStatus :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavPowerStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . Vcc) ; __tmp . put_u16_le (self . Vservo) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_INT_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_INT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_INT_DATA { type Message = MavMessage ; const ID : u32 = 51u32 ; const NAME : & 'static str = "MISSION_REQUEST_INT" ; const EXTRA_CRC : u8 = 196u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SMART_BATTERY_INFO_DATA { pub capacity_full_specification : i32 , pub capacity_full : i32 , pub cycle_count : u16 , pub weight : u16 , pub discharge_minimum_voltage : u16 , pub charging_minimum_voltage : u16 , pub resting_minimum_voltage : u16 , pub id : u8 , pub battery_function : MavBatteryFunction , pub mavtype : MavBatteryType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub serial_number : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub device_name : [u8 ; 50] , } impl SMART_BATTERY_INFO_DATA { pub const ENCODED_LEN : usize = 87usize ; pub const DEFAULT : Self = Self { capacity_full_specification : 0_i32 , capacity_full : 0_i32 , cycle_count : 0_u16 , weight : 0_u16 , discharge_minimum_voltage : 0_u16 , charging_minimum_voltage : 0_u16 , resting_minimum_voltage : 0_u16 , id : 0_u8 , battery_function : MavBatteryFunction :: DEFAULT , mavtype : MavBatteryType :: DEFAULT , serial_number : [0_u8 ; 16usize] , device_name : [0_u8 ; 50usize] , } ; } impl Default for SMART_BATTERY_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SMART_BATTERY_INFO_DATA { type Message = MavMessage ; const ID : u32 = 370u32 ; const NAME : & 'static str = "SMART_BATTERY_INFO" ; const EXTRA_CRC : u8 = 75u8 ; const ENCODED_LEN : usize = 87usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . capacity_full_specification = buf . get_i32_le () ; __struct . capacity_full = buf . get_i32_le () ; __struct . cycle_count = buf . get_u16_le () ; __struct . weight = buf . get_u16_le () ; __struct . discharge_minimum_voltage = buf . get_u16_le () ; __struct . charging_minimum_voltage = buf . get_u16_le () ; __struct . resting_minimum_voltage = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . battery_function = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryFunction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryType" , value : tmp as u32 }) ? ; for v in & mut __struct . serial_number { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . device_name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . capacity_full_specification) ; __tmp . put_i32_le (self . capacity_full) ; __tmp . put_u16_le (self . cycle_count) ; __tmp . put_u16_le (self . weight) ; __tmp . put_u16_le (self . discharge_minimum_voltage) ; __tmp . put_u16_le (self . charging_minimum_voltage) ; __tmp . put_u16_le (self . resting_minimum_voltage) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . battery_function as u8) ; __tmp . put_u8 (self . mavtype as u8) ; for val in & self . serial_number { __tmp . put_u8 (* val) ; } for val in & self . device_name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_REQUEST_READ_DATA { pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , } impl PARAM_REQUEST_READ_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , } ; } impl Default for PARAM_REQUEST_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_REQUEST_READ_DATA { type Message = MavMessage ; const ID : u32 = 20u32 ; const NAME : & 'static str = "PARAM_REQUEST_READ" ; const EXTRA_CRC : u8 = 214u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_LONG_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub param5 : f32 , pub param6 : f32 , pub param7 : f32 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub confirmation : u8 , } impl COMMAND_LONG_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , param5 : 0.0_f32 , param6 : 0.0_f32 , param7 : 0.0_f32 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , confirmation : 0_u8 , } ; } impl Default for COMMAND_LONG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_LONG_DATA { type Message = MavMessage ; const ID : u32 = 76u32 ; const NAME : & 'static str = "COMMAND_LONG" ; const EXTRA_CRC : u8 = 152u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . param5 = buf . get_f32_le () ; __struct . param6 = buf . get_f32_le () ; __struct . param7 = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . confirmation = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_f32_le (self . param5) ; __tmp . put_f32_le (self . param6) ; __tmp . put_f32_le (self . param7) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . confirmation) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CHANGE_OPERATOR_CONTROL_ACK_DATA { pub gcs_system_id : u8 , pub control_request : u8 , pub ack : u8 , } impl CHANGE_OPERATOR_CONTROL_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { gcs_system_id : 0_u8 , control_request : 0_u8 , ack : 0_u8 , } ; } impl Default for CHANGE_OPERATOR_CONTROL_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CHANGE_OPERATOR_CONTROL_ACK_DATA { type Message = MavMessage ; const ID : u32 = 6u32 ; const NAME : & 'static str = "CHANGE_OPERATOR_CONTROL_ACK" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . gcs_system_id = buf . get_u8 () ; __struct . control_request = buf . get_u8 () ; __struct . ack = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . gcs_system_id) ; __tmp . put_u8 (self . control_request) ; __tmp . put_u8 (self . ack) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPTICAL_FLOW_DATA { pub time_usec : u64 , pub flow_comp_m_x : f32 , pub flow_comp_m_y : f32 , pub ground_distance : f32 , pub flow_x : i16 , pub flow_y : i16 , pub sensor_id : u8 , pub quality : u8 , } impl OPTICAL_FLOW_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , flow_comp_m_x : 0.0_f32 , flow_comp_m_y : 0.0_f32 , ground_distance : 0.0_f32 , flow_x : 0_i16 , flow_y : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for OPTICAL_FLOW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPTICAL_FLOW_DATA { type Message = MavMessage ; const ID : u32 = 100u32 ; const NAME : & 'static str = "OPTICAL_FLOW" ; const EXTRA_CRC : u8 = 175u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . flow_comp_m_x = buf . get_f32_le () ; __struct . flow_comp_m_y = buf . get_f32_le () ; __struct . ground_distance = buf . get_f32_le () ; __struct . flow_x = buf . get_i16_le () ; __struct . flow_y = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . flow_comp_m_x) ; __tmp . put_f32_le (self . flow_comp_m_y) ; __tmp . put_f32_le (self . ground_distance) ; __tmp . put_i16_le (self . flow_x) ; __tmp . put_i16_le (self . flow_y) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_CONTROLS_DATA { pub time_usec : u64 , pub roll_ailerons : f32 , pub pitch_elevator : f32 , pub yaw_rudder : f32 , pub throttle : f32 , pub aux1 : f32 , pub aux2 : f32 , pub aux3 : f32 , pub aux4 : f32 , pub mode : MavMode , pub nav_mode : u8 , } impl HIL_CONTROLS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , roll_ailerons : 0.0_f32 , pitch_elevator : 0.0_f32 , yaw_rudder : 0.0_f32 , throttle : 0.0_f32 , aux1 : 0.0_f32 , aux2 : 0.0_f32 , aux3 : 0.0_f32 , aux4 : 0.0_f32 , mode : MavMode :: DEFAULT , nav_mode : 0_u8 , } ; } impl Default for HIL_CONTROLS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_CONTROLS_DATA { type Message = MavMessage ; const ID : u32 = 91u32 ; const NAME : & 'static str = "HIL_CONTROLS" ; const EXTRA_CRC : u8 = 63u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . roll_ailerons = buf . get_f32_le () ; __struct . pitch_elevator = buf . get_f32_le () ; __struct . yaw_rudder = buf . get_f32_le () ; __struct . throttle = buf . get_f32_le () ; __struct . aux1 = buf . get_f32_le () ; __struct . aux2 = buf . get_f32_le () ; __struct . aux3 = buf . get_f32_le () ; __struct . aux4 = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMode" , value : tmp as u32 }) ? ; __struct . nav_mode = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . roll_ailerons) ; __tmp . put_f32_le (self . pitch_elevator) ; __tmp . put_f32_le (self . yaw_rudder) ; __tmp . put_f32_le (self . throttle) ; __tmp . put_f32_le (self . aux1) ; __tmp . put_f32_le (self . aux2) ; __tmp . put_f32_le (self . aux3) ; __tmp . put_f32_le (self . aux4) ; __tmp . put_u8 (self . mode as u8) ; __tmp . put_u8 (self . nav_mode) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_CAPTURE_STATUS_DATA { pub time_boot_ms : u32 , pub image_interval : f32 , pub recording_time_ms : u32 , pub available_capacity : f32 , pub image_status : u8 , pub video_status : u8 , } impl CAMERA_CAPTURE_STATUS_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , image_interval : 0.0_f32 , recording_time_ms : 0_u32 , available_capacity : 0.0_f32 , image_status : 0_u8 , video_status : 0_u8 , } ; } impl Default for CAMERA_CAPTURE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_CAPTURE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 262u32 ; const NAME : & 'static str = "CAMERA_CAPTURE_STATUS" ; const EXTRA_CRC : u8 = 12u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . image_interval = buf . get_f32_le () ; __struct . recording_time_ms = buf . get_u32_le () ; __struct . available_capacity = buf . get_f32_le () ; __struct . image_status = buf . get_u8 () ; __struct . video_status = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . image_interval) ; __tmp . put_u32_le (self . recording_time_ms) ; __tmp . put_f32_le (self . available_capacity) ; __tmp . put_u8 (self . image_status) ; __tmp . put_u8 (self . video_status) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_WRITE_PARTIAL_LIST_DATA { pub start_index : i16 , pub end_index : i16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_WRITE_PARTIAL_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start_index : 0_i16 , end_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_WRITE_PARTIAL_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_WRITE_PARTIAL_LIST_DATA { type Message = MavMessage ; const ID : u32 = 38u32 ; const NAME : & 'static str = "MISSION_WRITE_PARTIAL_LIST" ; const EXTRA_CRC : u8 = 9u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start_index = buf . get_i16_le () ; __struct . end_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . start_index) ; __tmp . put_i16_le (self . end_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_CANCEL_DATA { pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , } impl COMMAND_CANCEL_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for COMMAND_CANCEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_CANCEL_DATA { type Message = MavMessage ; const ID : u32 = 80u32 ; const NAME : & 'static str = "COMMAND_CANCEL" ; const EXTRA_CRC : u8 = 14u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ODOMETRY_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pose_covariance : [f32 ; 21] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub velocity_covariance : [f32 ; 21] , pub frame_id : MavFrame , pub child_frame_id : MavFrame , } impl ODOMETRY_DATA { pub const ENCODED_LEN : usize = 230usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , pose_covariance : [0.0_f32 ; 21usize] , velocity_covariance : [0.0_f32 ; 21usize] , frame_id : MavFrame :: DEFAULT , child_frame_id : MavFrame :: DEFAULT , } ; } impl Default for ODOMETRY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ODOMETRY_DATA { type Message = MavMessage ; const ID : u32 = 331u32 ; const NAME : & 'static str = "ODOMETRY" ; const EXTRA_CRC : u8 = 91u8 ; const ENCODED_LEN : usize = 230usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; for v in & mut __struct . pose_covariance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . velocity_covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . frame_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . child_frame_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; for val in & self . pose_covariance { __tmp . put_f32_le (* val) ; } for val in & self . velocity_covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . frame_id as u8) ; __tmp . put_u8 (self . child_frame_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ADSB_VEHICLE_DATA { pub ICAO_address : u32 , pub lat : i32 , pub lon : i32 , pub altitude : i32 , pub heading : u16 , pub hor_velocity : u16 , pub ver_velocity : i16 , pub flags : AdsbFlags , pub squawk : u16 , pub altitude_type : AdsbAltitudeType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 9] , pub emitter_type : AdsbEmitterType , pub tslc : u8 , } impl ADSB_VEHICLE_DATA { pub const ENCODED_LEN : usize = 38usize ; pub const DEFAULT : Self = Self { ICAO_address : 0_u32 , lat : 0_i32 , lon : 0_i32 , altitude : 0_i32 , heading : 0_u16 , hor_velocity : 0_u16 , ver_velocity : 0_i16 , flags : AdsbFlags :: DEFAULT , squawk : 0_u16 , altitude_type : AdsbAltitudeType :: DEFAULT , callsign : [0_u8 ; 9usize] , emitter_type : AdsbEmitterType :: DEFAULT , tslc : 0_u8 , } ; } impl Default for ADSB_VEHICLE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ADSB_VEHICLE_DATA { type Message = MavMessage ; const ID : u32 = 246u32 ; const NAME : & 'static str = "ADSB_VEHICLE" ; const EXTRA_CRC : u8 = 184u8 ; const ENCODED_LEN : usize = 38usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ICAO_address = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . heading = buf . get_u16_le () ; __struct . hor_velocity = buf . get_u16_le () ; __struct . ver_velocity = buf . get_i16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = AdsbFlags :: from_bits (tmp & AdsbFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AdsbFlags" , value : tmp as u32 }) ? ; __struct . squawk = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . altitude_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbAltitudeType" , value : tmp as u32 }) ? ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . emitter_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbEmitterType" , value : tmp as u32 }) ? ; __struct . tslc = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ICAO_address) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_u16_le (self . heading) ; __tmp . put_u16_le (self . hor_velocity) ; __tmp . put_i16_le (self . ver_velocity) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u16_le (self . squawk) ; __tmp . put_u8 (self . altitude_type as u8) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . emitter_type as u8) ; __tmp . put_u8 (self . tslc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MESSAGE_INTERVAL_DATA { pub interval_us : i32 , pub message_id : u16 , } impl MESSAGE_INTERVAL_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { interval_us : 0_i32 , message_id : 0_u16 , } ; } impl Default for MESSAGE_INTERVAL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MESSAGE_INTERVAL_DATA { type Message = MavMessage ; const ID : u32 = 244u32 ; const NAME : & 'static str = "MESSAGE_INTERVAL" ; const EXTRA_CRC : u8 = 95u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . interval_us = buf . get_i32_le () ; __struct . message_id = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . interval_us) ; __tmp . put_u16_le (self . message_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DISTANCE_SENSOR_DATA { pub time_boot_ms : u32 , pub min_distance : u16 , pub max_distance : u16 , pub current_distance : u16 , pub mavtype : MavDistanceSensor , pub id : u8 , pub orientation : MavSensorOrientation , pub covariance : u8 , } impl DISTANCE_SENSOR_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , min_distance : 0_u16 , max_distance : 0_u16 , current_distance : 0_u16 , mavtype : MavDistanceSensor :: DEFAULT , id : 0_u8 , orientation : MavSensorOrientation :: DEFAULT , covariance : 0_u8 , } ; } impl Default for DISTANCE_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DISTANCE_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 132u32 ; const NAME : & 'static str = "DISTANCE_SENSOR" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . min_distance = buf . get_u16_le () ; __struct . max_distance = buf . get_u16_le () ; __struct . current_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . orientation = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavSensorOrientation" , value : tmp as u32 }) ? ; __struct . covariance = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . min_distance) ; __tmp . put_u16_le (self . max_distance) ; __tmp . put_u16_le (self . current_distance) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . orientation as u8) ; __tmp . put_u8 (self . covariance) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_RAW_DATA { pub time_boot_ms : u32 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub port : u8 , pub rssi : u8 , } impl RC_CHANNELS_RAW_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , port : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_RAW_DATA { type Message = MavMessage ; const ID : u32 = 35u32 ; const NAME : & 'static str = "RC_CHANNELS_RAW" ; const EXTRA_CRC : u8 = 244u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . port = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u8 (self . port) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HOME_POSITION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub approach_x : f32 , pub approach_y : f32 , pub approach_z : f32 , } impl HOME_POSITION_DATA { pub const ENCODED_LEN : usize = 52usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , approach_x : 0.0_f32 , approach_y : 0.0_f32 , approach_z : 0.0_f32 , } ; } impl Default for HOME_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HOME_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 242u32 ; const NAME : & 'static str = "HOME_POSITION" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 52usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . approach_x = buf . get_f32_le () ; __struct . approach_y = buf . get_f32_le () ; __struct . approach_z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . approach_x) ; __tmp . put_f32_le (self . approach_y) ; __tmp . put_f32_le (self . approach_z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 40u32 ; const NAME : & 'static str = "MISSION_REQUEST" ; const EXTRA_CRC : u8 = 230u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_STATE_QUATERNION_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub attitude_quaternion : [f32 ; 4] , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub ind_airspeed : u16 , pub true_airspeed : u16 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , } impl HIL_STATE_QUATERNION_DATA { pub const ENCODED_LEN : usize = 64usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , attitude_quaternion : [0.0_f32 ; 4usize] , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , ind_airspeed : 0_u16 , true_airspeed : 0_u16 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , } ; } impl Default for HIL_STATE_QUATERNION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_STATE_QUATERNION_DATA { type Message = MavMessage ; const ID : u32 = 115u32 ; const NAME : & 'static str = "HIL_STATE_QUATERNION" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 64usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . attitude_quaternion { let val = buf . get_f32_le () ; * v = val ; } __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . ind_airspeed = buf . get_u16_le () ; __struct . true_airspeed = buf . get_u16_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . attitude_quaternion { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . ind_airspeed) ; __tmp . put_u16_le (self . true_airspeed) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_OVERRIDE_DATA { pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub target_system : u8 , pub target_component : u8 , } impl RC_CHANNELS_OVERRIDE_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for RC_CHANNELS_OVERRIDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_OVERRIDE_DATA { type Message = MavMessage ; const ID : u32 = 70u32 ; const NAME : & 'static str = "RC_CHANNELS_OVERRIDE" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_POSITION_TARGET_LOCAL_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub target_system : u8 , pub target_component : u8 , pub coordinate_frame : MavFrame , } impl SET_POSITION_TARGET_LOCAL_NED_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for SET_POSITION_TARGET_LOCAL_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_POSITION_TARGET_LOCAL_NED_DATA { type Message = MavMessage ; const ID : u32 = 84u32 ; const NAME : & 'static str = "SET_POSITION_TARGET_LOCAL_NED" ; const EXTRA_CRC : u8 = 143u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { type Message = MavMessage ; const ID : u32 = 89u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET" ; const EXTRA_CRC : u8 = 231u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EXTENDED_SYS_STATE_DATA { pub vtol_state : MavVtolState , pub landed_state : MavLandedState , } impl EXTENDED_SYS_STATE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { vtol_state : MavVtolState :: DEFAULT , landed_state : MavLandedState :: DEFAULT , } ; } impl Default for EXTENDED_SYS_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EXTENDED_SYS_STATE_DATA { type Message = MavMessage ; const ID : u32 = 245u32 ; const NAME : & 'static str = "EXTENDED_SYS_STATE" ; const EXTRA_CRC : u8 = 130u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . vtol_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavVtolState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . vtol_state as u8) ; __tmp . put_u8 (self . landed_state as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_TARGET_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub body_roll_rate : f32 , pub body_pitch_rate : f32 , pub body_yaw_rate : f32 , pub thrust : f32 , pub type_mask : AttitudeTargetTypemask , } impl ATTITUDE_TARGET_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , body_roll_rate : 0.0_f32 , body_pitch_rate : 0.0_f32 , body_yaw_rate : 0.0_f32 , thrust : 0.0_f32 , type_mask : AttitudeTargetTypemask :: DEFAULT , } ; } impl Default for ATTITUDE_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 83u32 ; const NAME : & 'static str = "ATTITUDE_TARGET" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . body_roll_rate = buf . get_f32_le () ; __struct . body_pitch_rate = buf . get_f32_le () ; __struct . body_yaw_rate = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . type_mask = AttitudeTargetTypemask :: from_bits (tmp & AttitudeTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AttitudeTargetTypemask" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . body_roll_rate) ; __tmp . put_f32_le (self . body_pitch_rate) ; __tmp . put_f32_le (self . body_yaw_rate) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . type_mask . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MANUAL_SETPOINT_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub thrust : f32 , pub mode_switch : u8 , pub manual_override_switch : u8 , } impl MANUAL_SETPOINT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , thrust : 0.0_f32 , mode_switch : 0_u8 , manual_override_switch : 0_u8 , } ; } impl Default for MANUAL_SETPOINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MANUAL_SETPOINT_DATA { type Message = MavMessage ; const ID : u32 = 81u32 ; const NAME : & 'static str = "MANUAL_SETPOINT" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; __struct . mode_switch = buf . get_u8 () ; __struct . manual_override_switch = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . mode_switch) ; __tmp . put_u8 (self . manual_override_switch) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVCAN_NODE_INFO_DATA { pub time_usec : u64 , pub uptime_sec : u32 , pub sw_vcs_commit : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 80] , pub hw_version_major : u8 , pub hw_version_minor : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub hw_unique_id : [u8 ; 16] , pub sw_version_major : u8 , pub sw_version_minor : u8 , } impl UAVCAN_NODE_INFO_DATA { pub const ENCODED_LEN : usize = 116usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime_sec : 0_u32 , sw_vcs_commit : 0_u32 , name : [0_u8 ; 80usize] , hw_version_major : 0_u8 , hw_version_minor : 0_u8 , hw_unique_id : [0_u8 ; 16usize] , sw_version_major : 0_u8 , sw_version_minor : 0_u8 , } ; } impl Default for UAVCAN_NODE_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVCAN_NODE_INFO_DATA { type Message = MavMessage ; const ID : u32 = 311u32 ; const NAME : & 'static str = "UAVCAN_NODE_INFO" ; const EXTRA_CRC : u8 = 95u8 ; const ENCODED_LEN : usize = 116usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime_sec = buf . get_u32_le () ; __struct . sw_vcs_commit = buf . get_u32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } __struct . hw_version_major = buf . get_u8 () ; __struct . hw_version_minor = buf . get_u8 () ; for v in & mut __struct . hw_unique_id { let val = buf . get_u8 () ; * v = val ; } __struct . sw_version_major = buf . get_u8 () ; __struct . sw_version_minor = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime_sec) ; __tmp . put_u32_le (self . sw_vcs_commit) ; for val in & self . name { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . hw_version_major) ; __tmp . put_u8 (self . hw_version_minor) ; for val in & self . hw_unique_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . sw_version_major) ; __tmp . put_u8 (self . sw_version_minor) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_GPS_GLOBAL_ORIGIN_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub target_system : u8 , } impl SET_GPS_GLOBAL_ORIGIN_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , target_system : 0_u8 , } ; } impl Default for SET_GPS_GLOBAL_ORIGIN_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_GPS_GLOBAL_ORIGIN_DATA { type Message = MavMessage ; const ID : u32 = 48u32 ; const NAME : & 'static str = "SET_GPS_GLOBAL_ORIGIN" ; const EXTRA_CRC : u8 = 41u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . target_system = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_u8 (self . target_system) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_VISION_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl GLOBAL_VISION_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for GLOBAL_VISION_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_VISION_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 101u32 ; const NAME : & 'static str = "GLOBAL_VISION_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 102u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_RPM_DATA { pub frequency : f32 , pub index : u8 , } impl RAW_RPM_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { frequency : 0.0_f32 , index : 0_u8 , } ; } impl Default for RAW_RPM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_RPM_DATA { type Message = MavMessage ; const ID : u32 = 339u32 ; const NAME : & 'static str = "RAW_RPM" ; const EXTRA_CRC : u8 = 199u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . frequency = buf . get_f32_le () ; __struct . index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . frequency) ; __tmp . put_u8 (self . index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS2_RTK_DATA { pub time_last_baseline_ms : u32 , pub tow : u32 , pub baseline_a_mm : i32 , pub baseline_b_mm : i32 , pub baseline_c_mm : i32 , pub accuracy : u32 , pub iar_num_hypotheses : i32 , pub wn : u16 , pub rtk_receiver_id : u8 , pub rtk_health : u8 , pub rtk_rate : u8 , pub nsats : u8 , pub baseline_coords_type : RtkBaselineCoordinateSystem , } impl GPS2_RTK_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_last_baseline_ms : 0_u32 , tow : 0_u32 , baseline_a_mm : 0_i32 , baseline_b_mm : 0_i32 , baseline_c_mm : 0_i32 , accuracy : 0_u32 , iar_num_hypotheses : 0_i32 , wn : 0_u16 , rtk_receiver_id : 0_u8 , rtk_health : 0_u8 , rtk_rate : 0_u8 , nsats : 0_u8 , baseline_coords_type : RtkBaselineCoordinateSystem :: DEFAULT , } ; } impl Default for GPS2_RTK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS2_RTK_DATA { type Message = MavMessage ; const ID : u32 = 128u32 ; const NAME : & 'static str = "GPS2_RTK" ; const EXTRA_CRC : u8 = 226u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_last_baseline_ms = buf . get_u32_le () ; __struct . tow = buf . get_u32_le () ; __struct . baseline_a_mm = buf . get_i32_le () ; __struct . baseline_b_mm = buf . get_i32_le () ; __struct . baseline_c_mm = buf . get_i32_le () ; __struct . accuracy = buf . get_u32_le () ; __struct . iar_num_hypotheses = buf . get_i32_le () ; __struct . wn = buf . get_u16_le () ; __struct . rtk_receiver_id = buf . get_u8 () ; __struct . rtk_health = buf . get_u8 () ; __struct . rtk_rate = buf . get_u8 () ; __struct . nsats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . baseline_coords_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "RtkBaselineCoordinateSystem" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_last_baseline_ms) ; __tmp . put_u32_le (self . tow) ; __tmp . put_i32_le (self . baseline_a_mm) ; __tmp . put_i32_le (self . baseline_b_mm) ; __tmp . put_i32_le (self . baseline_c_mm) ; __tmp . put_u32_le (self . accuracy) ; __tmp . put_i32_le (self . iar_num_hypotheses) ; __tmp . put_u16_le (self . wn) ; __tmp . put_u8 (self . rtk_receiver_id) ; __tmp . put_u8 (self . rtk_health) ; __tmp . put_u8 (self . rtk_rate) ; __tmp . put_u8 (self . nsats) ; __tmp . put_u8 (self . baseline_coords_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_OPTICAL_FLOW_DATA { pub time_usec : u64 , pub integration_time_us : u32 , pub integrated_x : f32 , pub integrated_y : f32 , pub integrated_xgyro : f32 , pub integrated_ygyro : f32 , pub integrated_zgyro : f32 , pub time_delta_distance_us : u32 , pub distance : f32 , pub temperature : i16 , pub sensor_id : u8 , pub quality : u8 , } impl HIL_OPTICAL_FLOW_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , integration_time_us : 0_u32 , integrated_x : 0.0_f32 , integrated_y : 0.0_f32 , integrated_xgyro : 0.0_f32 , integrated_ygyro : 0.0_f32 , integrated_zgyro : 0.0_f32 , time_delta_distance_us : 0_u32 , distance : 0.0_f32 , temperature : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for HIL_OPTICAL_FLOW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_OPTICAL_FLOW_DATA { type Message = MavMessage ; const ID : u32 = 114u32 ; const NAME : & 'static str = "HIL_OPTICAL_FLOW" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . integration_time_us = buf . get_u32_le () ; __struct . integrated_x = buf . get_f32_le () ; __struct . integrated_y = buf . get_f32_le () ; __struct . integrated_xgyro = buf . get_f32_le () ; __struct . integrated_ygyro = buf . get_f32_le () ; __struct . integrated_zgyro = buf . get_f32_le () ; __struct . time_delta_distance_us = buf . get_u32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . integration_time_us) ; __tmp . put_f32_le (self . integrated_x) ; __tmp . put_f32_le (self . integrated_y) ; __tmp . put_f32_le (self . integrated_xgyro) ; __tmp . put_f32_le (self . integrated_ygyro) ; __tmp . put_f32_le (self . integrated_zgyro) ; __tmp . put_u32_le (self . time_delta_distance_us) ; __tmp . put_f32_le (self . distance) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_FOV_STATUS_DATA { pub time_boot_ms : u32 , pub lat_camera : i32 , pub lon_camera : i32 , pub alt_camera : i32 , pub lat_image : i32 , pub lon_image : i32 , pub alt_image : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub hfov : f32 , pub vfov : f32 , } impl CAMERA_FOV_STATUS_DATA { pub const ENCODED_LEN : usize = 52usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_camera : 0_i32 , lon_camera : 0_i32 , alt_camera : 0_i32 , lat_image : 0_i32 , lon_image : 0_i32 , alt_image : 0_i32 , q : [0.0_f32 ; 4usize] , hfov : 0.0_f32 , vfov : 0.0_f32 , } ; } impl Default for CAMERA_FOV_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_FOV_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 271u32 ; const NAME : & 'static str = "CAMERA_FOV_STATUS" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 52usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_camera = buf . get_i32_le () ; __struct . lon_camera = buf . get_i32_le () ; __struct . alt_camera = buf . get_i32_le () ; __struct . lat_image = buf . get_i32_le () ; __struct . lon_image = buf . get_i32_le () ; __struct . alt_image = buf . get_i32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . hfov = buf . get_f32_le () ; __struct . vfov = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_camera) ; __tmp . put_i32_le (self . lon_camera) ; __tmp . put_i32_le (self . alt_camera) ; __tmp . put_i32_le (self . lat_image) ; __tmp . put_i32_le (self . lon_image) ; __tmp . put_i32_le (self . alt_image) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . hfov) ; __tmp . put_f32_le (self . vfov) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_FLOAT_ARRAY_DATA { pub time_usec : u64 , pub array_id : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl DEBUG_FLOAT_ARRAY_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , array_id : 0_u16 , name : [0_u8 ; 10usize] , } ; } impl Default for DEBUG_FLOAT_ARRAY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_FLOAT_ARRAY_DATA { type Message = MavMessage ; const ID : u32 = 350u32 ; const NAME : & 'static str = "DEBUG_FLOAT_ARRAY" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . array_id = buf . get_u16_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u16_le (self . array_id) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GENERATOR_STATUS_DATA { pub status : MavGeneratorStatusFlag , pub battery_current : f32 , pub load_current : f32 , pub power_generated : f32 , pub bus_voltage : f32 , pub bat_current_setpoint : f32 , pub runtime : u32 , pub time_until_maintenance : i32 , pub generator_speed : u16 , pub rectifier_temperature : i16 , pub generator_temperature : i16 , } impl GENERATOR_STATUS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { status : MavGeneratorStatusFlag :: DEFAULT , battery_current : 0.0_f32 , load_current : 0.0_f32 , power_generated : 0.0_f32 , bus_voltage : 0.0_f32 , bat_current_setpoint : 0.0_f32 , runtime : 0_u32 , time_until_maintenance : 0_i32 , generator_speed : 0_u16 , rectifier_temperature : 0_i16 , generator_temperature : 0_i16 , } ; } impl Default for GENERATOR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GENERATOR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 373u32 ; const NAME : & 'static str = "GENERATOR_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u64_le () ; __struct . status = MavGeneratorStatusFlag :: from_bits (tmp & MavGeneratorStatusFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavGeneratorStatusFlag" , value : tmp as u32 }) ? ; __struct . battery_current = buf . get_f32_le () ; __struct . load_current = buf . get_f32_le () ; __struct . power_generated = buf . get_f32_le () ; __struct . bus_voltage = buf . get_f32_le () ; __struct . bat_current_setpoint = buf . get_f32_le () ; __struct . runtime = buf . get_u32_le () ; __struct . time_until_maintenance = buf . get_i32_le () ; __struct . generator_speed = buf . get_u16_le () ; __struct . rectifier_temperature = buf . get_i16_le () ; __struct . generator_temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . status . bits ()) ; __tmp . put_f32_le (self . battery_current) ; __tmp . put_f32_le (self . load_current) ; __tmp . put_f32_le (self . power_generated) ; __tmp . put_f32_le (self . bus_voltage) ; __tmp . put_f32_le (self . bat_current_setpoint) ; __tmp . put_u32_le (self . runtime) ; __tmp . put_i32_le (self . time_until_maintenance) ; __tmp . put_u16_le (self . generator_speed) ; __tmp . put_i16_le (self . rectifier_temperature) ; __tmp . put_i16_le (self . generator_temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_STATUS_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rpm : [i32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltage : [f32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub current : [f32 ; 4] , pub index : u8 , } impl ESC_STATUS_DATA { pub const ENCODED_LEN : usize = 57usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , rpm : [0_i32 ; 4usize] , voltage : [0.0_f32 ; 4usize] , current : [0.0_f32 ; 4usize] , index : 0_u8 , } ; } impl Default for ESC_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 291u32 ; const NAME : & 'static str = "ESC_STATUS" ; const EXTRA_CRC : u8 = 10u8 ; const ENCODED_LEN : usize = 57usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . rpm { let val = buf . get_i32_le () ; * v = val ; } for v in & mut __struct . voltage { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . current { let val = buf . get_f32_le () ; * v = val ; } __struct . index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . rpm { __tmp . put_i32_le (* val) ; } for val in & self . voltage { __tmp . put_f32_le (* val) ; } for val in & self . current { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Clone , PartialEq , Debug)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMessage { LOCAL_POSITION_NED (LOCAL_POSITION_NED_DATA) , SAFETY_ALLOWED_AREA (SAFETY_ALLOWED_AREA_DATA) , MISSION_ACK (MISSION_ACK_DATA) , SCALED_PRESSURE2 (SCALED_PRESSURE2_DATA) , SIM_STATE (SIM_STATE_DATA) , HIGH_LATENCY2 (HIGH_LATENCY2_DATA) , STATUSTEXT (STATUSTEXT_DATA) , ESTIMATOR_STATUS (ESTIMATOR_STATUS_DATA) , GIMBAL_DEVICE_SET_ATTITUDE (GIMBAL_DEVICE_SET_ATTITUDE_DATA) , ESC_INFO (ESC_INFO_DATA) , LOCAL_POSITION_NED_COV (LOCAL_POSITION_NED_COV_DATA) , MISSION_ITEM (MISSION_ITEM_DATA) , GIMBAL_MANAGER_SET_MANUAL_CONTROL (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA) , PARAM_EXT_REQUEST_READ (PARAM_EXT_REQUEST_READ_DATA) , MISSION_CLEAR_ALL (MISSION_CLEAR_ALL_DATA) , TERRAIN_CHECK (TERRAIN_CHECK_DATA) , GIMBAL_MANAGER_SET_ATTITUDE (GIMBAL_MANAGER_SET_ATTITUDE_DATA) , PARAM_EXT_SET (PARAM_EXT_SET_DATA) , CAN_FRAME (CAN_FRAME_DATA) , COMPONENT_INFORMATION (COMPONENT_INFORMATION_DATA) , GPS_INJECT_DATA (GPS_INJECT_DATA_DATA) , CURRENT_EVENT_SEQUENCE (CURRENT_EVENT_SEQUENCE_DATA) , DATA_TRANSMISSION_HANDSHAKE (DATA_TRANSMISSION_HANDSHAKE_DATA) , FOLLOW_TARGET (FOLLOW_TARGET_DATA) , ONBOARD_COMPUTER_STATUS (ONBOARD_COMPUTER_STATUS_DATA) , HIL_GPS (HIL_GPS_DATA) , CAN_FILTER_MODIFY (CAN_FILTER_MODIFY_DATA) , OPEN_DRONE_ID_SELF_ID (OPEN_DRONE_ID_SELF_ID_DATA) , LOG_DATA (LOG_DATA_DATA) , OPEN_DRONE_ID_ARM_STATUS (OPEN_DRONE_ID_ARM_STATUS_DATA) , HIGH_LATENCY (HIGH_LATENCY_DATA) , PLAY_TUNE (PLAY_TUNE_DATA) , RC_CHANNELS_SCALED (RC_CHANNELS_SCALED_DATA) , RAW_IMU (RAW_IMU_DATA) , SAFETY_SET_ALLOWED_AREA (SAFETY_SET_ALLOWED_AREA_DATA) , MOUNT_ORIENTATION (MOUNT_ORIENTATION_DATA) , CAMERA_TRACKING_IMAGE_STATUS (CAMERA_TRACKING_IMAGE_STATUS_DATA) , EVENT (EVENT_DATA) , EFI_STATUS (EFI_STATUS_DATA) , REQUEST_EVENT (REQUEST_EVENT_DATA) , HYGROMETER_SENSOR (HYGROMETER_SENSOR_DATA) , REQUEST_DATA_STREAM (REQUEST_DATA_STREAM_DATA) , V2_EXTENSION (V2_EXTENSION_DATA) , DEBUG_VECT (DEBUG_VECT_DATA) , LOGGING_ACK (LOGGING_ACK_DATA) , OPEN_DRONE_ID_OPERATOR_ID (OPEN_DRONE_ID_OPERATOR_ID_DATA) , ISBD_LINK_STATUS (ISBD_LINK_STATUS_DATA) , CONTROL_SYSTEM_STATE (CONTROL_SYSTEM_STATE_DATA) , OBSTACLE_DISTANCE (OBSTACLE_DISTANCE_DATA) , SCALED_IMU2 (SCALED_IMU2_DATA) , PARAM_VALUE (PARAM_VALUE_DATA) , SERVO_OUTPUT_RAW (SERVO_OUTPUT_RAW_DATA) , CAMERA_TRACKING_GEO_STATUS (CAMERA_TRACKING_GEO_STATUS_DATA) , SET_ACTUATOR_CONTROL_TARGET (SET_ACTUATOR_CONTROL_TARGET_DATA) , GIMBAL_MANAGER_STATUS (GIMBAL_MANAGER_STATUS_DATA) , GIMBAL_DEVICE_ATTITUDE_STATUS (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA) , PARAM_REQUEST_LIST (PARAM_REQUEST_LIST_DATA) , UAVCAN_NODE_STATUS (UAVCAN_NODE_STATUS_DATA) , PARAM_SET (PARAM_SET_DATA) , SCALED_PRESSURE (SCALED_PRESSURE_DATA) , SYSTEM_TIME (SYSTEM_TIME_DATA) , ENCAPSULATED_DATA (ENCAPSULATED_DATA_DATA) , ACTUATOR_CONTROL_TARGET (ACTUATOR_CONTROL_TARGET_DATA) , SET_HOME_POSITION (SET_HOME_POSITION_DATA) , SYS_STATUS (SYS_STATUS_DATA) , TIMESYNC (TIMESYNC_DATA) , LOG_REQUEST_END (LOG_REQUEST_END_DATA) , TRAJECTORY_REPRESENTATION_WAYPOINTS (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA) , AUTOPILOT_VERSION (AUTOPILOT_VERSION_DATA) , MEMORY_VECT (MEMORY_VECT_DATA) , VIDEO_STREAM_INFORMATION (VIDEO_STREAM_INFORMATION_DATA) , CHANGE_OPERATOR_CONTROL (CHANGE_OPERATOR_CONTROL_DATA) , GPS_INPUT (GPS_INPUT_DATA) , COLLISION (COLLISION_DATA) , SCALED_IMU3 (SCALED_IMU3_DATA) , CAMERA_INFORMATION (CAMERA_INFORMATION_DATA) , SET_ATTITUDE_TARGET (SET_ATTITUDE_TARGET_DATA) , PARAM_EXT_ACK (PARAM_EXT_ACK_DATA) , ORBIT_EXECUTION_STATUS (ORBIT_EXECUTION_STATUS_DATA) , SERIAL_CONTROL (SERIAL_CONTROL_DATA) , LOGGING_DATA (LOGGING_DATA_DATA) , TRAJECTORY_REPRESENTATION_BEZIER (TRAJECTORY_REPRESENTATION_BEZIER_DATA) , ALTITUDE (ALTITUDE_DATA) , RC_CHANNELS (RC_CHANNELS_DATA) , RESOURCE_REQUEST (RESOURCE_REQUEST_DATA) , COMPONENT_METADATA (COMPONENT_METADATA_DATA) , SUPPORTED_TUNES (SUPPORTED_TUNES_DATA) , OPEN_DRONE_ID_LOCATION (OPEN_DRONE_ID_LOCATION_DATA) , OPEN_DRONE_ID_SYSTEM_UPDATE (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA) , BUTTON_CHANGE (BUTTON_CHANGE_DATA) , GLOBAL_POSITION_INT (GLOBAL_POSITION_INT_DATA) , GIMBAL_DEVICE_INFORMATION (GIMBAL_DEVICE_INFORMATION_DATA) , ATTITUDE_QUATERNION (ATTITUDE_QUATERNION_DATA) , LANDING_TARGET (LANDING_TARGET_DATA) , LOG_ENTRY (LOG_ENTRY_DATA) , POSITION_TARGET_LOCAL_NED (POSITION_TARGET_LOCAL_NED_DATA) , SET_MODE (SET_MODE_DATA) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA) , VICON_POSITION_ESTIMATE (VICON_POSITION_ESTIMATE_DATA) , DEBUG (DEBUG_DATA) , COMMAND_INT (COMMAND_INT_DATA) , LOG_REQUEST_LIST (LOG_REQUEST_LIST_DATA) , ATTITUDE_QUATERNION_COV (ATTITUDE_QUATERNION_COV_DATA) , UTM_GLOBAL_POSITION (UTM_GLOBAL_POSITION_DATA) , MISSION_SET_CURRENT (MISSION_SET_CURRENT_DATA) , AIS_VESSEL (AIS_VESSEL_DATA) , ATT_POS_MOCAP (ATT_POS_MOCAP_DATA) , HIL_RC_INPUTS_RAW (HIL_RC_INPUTS_RAW_DATA) , LOG_REQUEST_DATA (LOG_REQUEST_DATA_DATA) , TUNNEL (TUNNEL_DATA) , NAMED_VALUE_FLOAT (NAMED_VALUE_FLOAT_DATA) , AUTH_KEY (AUTH_KEY_DATA) , TERRAIN_DATA (TERRAIN_DATA_DATA) , OPEN_DRONE_ID_BASIC_ID (OPEN_DRONE_ID_BASIC_ID_DATA) , CELLULAR_CONFIG (CELLULAR_CONFIG_DATA) , HEARTBEAT (HEARTBEAT_DATA) , MISSION_COUNT (MISSION_COUNT_DATA) , PING (PING_DATA) , OPEN_DRONE_ID_SYSTEM (OPEN_DRONE_ID_SYSTEM_DATA) , GLOBAL_POSITION_INT_COV (GLOBAL_POSITION_INT_COV_DATA) , ACTUATOR_OUTPUT_STATUS (ACTUATOR_OUTPUT_STATUS_DATA) , OPEN_DRONE_ID_AUTHENTICATION (OPEN_DRONE_ID_AUTHENTICATION_DATA) , NAV_CONTROLLER_OUTPUT (NAV_CONTROLLER_OUTPUT_DATA) , PLAY_TUNE_V2 (PLAY_TUNE_V2_DATA) , VISION_POSITION_ESTIMATE (VISION_POSITION_ESTIMATE_DATA) , STORAGE_INFORMATION (STORAGE_INFORMATION_DATA) , SETUP_SIGNING (SETUP_SIGNING_DATA) , LOGGING_DATA_ACKED (LOGGING_DATA_ACKED_DATA) , LOG_ERASE (LOG_ERASE_DATA) , GPS_RAW_INT (GPS_RAW_INT_DATA) , GIMBAL_MANAGER_INFORMATION (GIMBAL_MANAGER_INFORMATION_DATA) , MISSION_ITEM_INT (MISSION_ITEM_INT_DATA) , WINCH_STATUS (WINCH_STATUS_DATA) , FILE_TRANSFER_PROTOCOL (FILE_TRANSFER_PROTOCOL_DATA) , GPS2_RAW (GPS2_RAW_DATA) , GPS_RTK (GPS_RTK_DATA) , VIBRATION (VIBRATION_DATA) , HIL_STATE (HIL_STATE_DATA) , GPS_STATUS (GPS_STATUS_DATA) , SCALED_IMU (SCALED_IMU_DATA) , HIL_ACTUATOR_CONTROLS (HIL_ACTUATOR_CONTROLS_DATA) , MISSION_REQUEST_LIST (MISSION_REQUEST_LIST_DATA) , PARAM_EXT_REQUEST_LIST (PARAM_EXT_REQUEST_LIST_DATA) , PARAM_EXT_VALUE (PARAM_EXT_VALUE_DATA) , CELLULAR_STATUS (CELLULAR_STATUS_DATA) , CANFD_FRAME (CANFD_FRAME_DATA) , GPS_RTCM_DATA (GPS_RTCM_DATA_DATA) , MANUAL_CONTROL (MANUAL_CONTROL_DATA) , COMMAND_ACK (COMMAND_ACK_DATA) , RADIO_STATUS (RADIO_STATUS_DATA) , TERRAIN_REQUEST (TERRAIN_REQUEST_DATA) , VIDEO_STREAM_STATUS (VIDEO_STREAM_STATUS_DATA) , TIME_ESTIMATE_TO_TARGET (TIME_ESTIMATE_TO_TARGET_DATA) , CAMERA_IMAGE_CAPTURED (CAMERA_IMAGE_CAPTURED_DATA) , WHEEL_DISTANCE (WHEEL_DISTANCE_DATA) , MISSION_CURRENT (MISSION_CURRENT_DATA) , VFR_HUD (VFR_HUD_DATA) , SET_POSITION_TARGET_GLOBAL_INT (SET_POSITION_TARGET_GLOBAL_INT_DATA) , POSITION_TARGET_GLOBAL_INT (POSITION_TARGET_GLOBAL_INT_DATA) , VISION_SPEED_ESTIMATE (VISION_SPEED_ESTIMATE_DATA) , BATTERY_STATUS (BATTERY_STATUS_DATA) , FENCE_STATUS (FENCE_STATUS_DATA) , PROTOCOL_VERSION (PROTOCOL_VERSION_DATA) , RAW_PRESSURE (RAW_PRESSURE_DATA) , SCALED_PRESSURE3 (SCALED_PRESSURE3_DATA) , GPS_GLOBAL_ORIGIN (GPS_GLOBAL_ORIGIN_DATA) , MISSION_REQUEST_PARTIAL_LIST (MISSION_REQUEST_PARTIAL_LIST_DATA) , GIMBAL_MANAGER_SET_PITCHYAW (GIMBAL_MANAGER_SET_PITCHYAW_DATA) , RESPONSE_EVENT_ERROR (RESPONSE_EVENT_ERROR_DATA) , LINK_NODE_STATUS (LINK_NODE_STATUS_DATA) , DATA_STREAM (DATA_STREAM_DATA) , HIL_SENSOR (HIL_SENSOR_DATA) , OPEN_DRONE_ID_MESSAGE_PACK (OPEN_DRONE_ID_MESSAGE_PACK_DATA) , WIND_COV (WIND_COV_DATA) , OPTICAL_FLOW_RAD (OPTICAL_FLOW_RAD_DATA) , TERRAIN_REPORT (TERRAIN_REPORT_DATA) , PARAM_MAP_RC (PARAM_MAP_RC_DATA) , CAMERA_TRIGGER (CAMERA_TRIGGER_DATA) , NAMED_VALUE_INT (NAMED_VALUE_INT_DATA) , CAMERA_SETTINGS (CAMERA_SETTINGS_DATA) , WIFI_CONFIG_AP (WIFI_CONFIG_AP_DATA) , HIGHRES_IMU (HIGHRES_IMU_DATA) , FLIGHT_INFORMATION (FLIGHT_INFORMATION_DATA) , MAG_CAL_REPORT (MAG_CAL_REPORT_DATA) , ATTITUDE (ATTITUDE_DATA) , MISSION_ITEM_REACHED (MISSION_ITEM_REACHED_DATA) , POWER_STATUS (POWER_STATUS_DATA) , MISSION_REQUEST_INT (MISSION_REQUEST_INT_DATA) , SMART_BATTERY_INFO (SMART_BATTERY_INFO_DATA) , PARAM_REQUEST_READ (PARAM_REQUEST_READ_DATA) , COMMAND_LONG (COMMAND_LONG_DATA) , CHANGE_OPERATOR_CONTROL_ACK (CHANGE_OPERATOR_CONTROL_ACK_DATA) , OPTICAL_FLOW (OPTICAL_FLOW_DATA) , HIL_CONTROLS (HIL_CONTROLS_DATA) , CAMERA_CAPTURE_STATUS (CAMERA_CAPTURE_STATUS_DATA) , MISSION_WRITE_PARTIAL_LIST (MISSION_WRITE_PARTIAL_LIST_DATA) , COMMAND_CANCEL (COMMAND_CANCEL_DATA) , ODOMETRY (ODOMETRY_DATA) , ADSB_VEHICLE (ADSB_VEHICLE_DATA) , MESSAGE_INTERVAL (MESSAGE_INTERVAL_DATA) , DISTANCE_SENSOR (DISTANCE_SENSOR_DATA) , RC_CHANNELS_RAW (RC_CHANNELS_RAW_DATA) , HOME_POSITION (HOME_POSITION_DATA) , MISSION_REQUEST (MISSION_REQUEST_DATA) , HIL_STATE_QUATERNION (HIL_STATE_QUATERNION_DATA) , RC_CHANNELS_OVERRIDE (RC_CHANNELS_OVERRIDE_DATA) , SET_POSITION_TARGET_LOCAL_NED (SET_POSITION_TARGET_LOCAL_NED_DATA) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA) , EXTENDED_SYS_STATE (EXTENDED_SYS_STATE_DATA) , ATTITUDE_TARGET (ATTITUDE_TARGET_DATA) , MANUAL_SETPOINT (MANUAL_SETPOINT_DATA) , UAVCAN_NODE_INFO (UAVCAN_NODE_INFO_DATA) , SET_GPS_GLOBAL_ORIGIN (SET_GPS_GLOBAL_ORIGIN_DATA) , GLOBAL_VISION_POSITION_ESTIMATE (GLOBAL_VISION_POSITION_ESTIMATE_DATA) , RAW_RPM (RAW_RPM_DATA) , GPS2_RTK (GPS2_RTK_DATA) , HIL_OPTICAL_FLOW (HIL_OPTICAL_FLOW_DATA) , CAMERA_FOV_STATUS (CAMERA_FOV_STATUS_DATA) , DEBUG_FLOAT_ARRAY (DEBUG_FLOAT_ARRAY_DATA) , GENERATOR_STATUS (GENERATOR_STATUS_DATA) , ESC_STATUS (ESC_STATUS_DATA) , } impl Message for MavMessage { fn parse (version : MavlinkVersion , id : u32 , payload : & [u8]) -> Result < Self , ParserError > { match id { LOCAL_POSITION_NED_DATA :: ID => LOCAL_POSITION_NED_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED) , SAFETY_ALLOWED_AREA_DATA :: ID => SAFETY_ALLOWED_AREA_DATA :: deser (version , payload) . map (Self :: SAFETY_ALLOWED_AREA) , MISSION_ACK_DATA :: ID => MISSION_ACK_DATA :: deser (version , payload) . map (Self :: MISSION_ACK) , SCALED_PRESSURE2_DATA :: ID => SCALED_PRESSURE2_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE2) , SIM_STATE_DATA :: ID => SIM_STATE_DATA :: deser (version , payload) . map (Self :: SIM_STATE) , HIGH_LATENCY2_DATA :: ID => HIGH_LATENCY2_DATA :: deser (version , payload) . map (Self :: HIGH_LATENCY2) , STATUSTEXT_DATA :: ID => STATUSTEXT_DATA :: deser (version , payload) . map (Self :: STATUSTEXT) , ESTIMATOR_STATUS_DATA :: ID => ESTIMATOR_STATUS_DATA :: deser (version , payload) . map (Self :: ESTIMATOR_STATUS) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_SET_ATTITUDE) , ESC_INFO_DATA :: ID => ESC_INFO_DATA :: deser (version , payload) . map (Self :: ESC_INFO) , LOCAL_POSITION_NED_COV_DATA :: ID => LOCAL_POSITION_NED_COV_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED_COV) , MISSION_ITEM_DATA :: ID => MISSION_ITEM_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL) , PARAM_EXT_REQUEST_READ_DATA :: ID => PARAM_EXT_REQUEST_READ_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_REQUEST_READ) , MISSION_CLEAR_ALL_DATA :: ID => MISSION_CLEAR_ALL_DATA :: deser (version , payload) . map (Self :: MISSION_CLEAR_ALL) , TERRAIN_CHECK_DATA :: ID => TERRAIN_CHECK_DATA :: deser (version , payload) . map (Self :: TERRAIN_CHECK) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_ATTITUDE) , PARAM_EXT_SET_DATA :: ID => PARAM_EXT_SET_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_SET) , CAN_FRAME_DATA :: ID => CAN_FRAME_DATA :: deser (version , payload) . map (Self :: CAN_FRAME) , COMPONENT_INFORMATION_DATA :: ID => COMPONENT_INFORMATION_DATA :: deser (version , payload) . map (Self :: COMPONENT_INFORMATION) , GPS_INJECT_DATA_DATA :: ID => GPS_INJECT_DATA_DATA :: deser (version , payload) . map (Self :: GPS_INJECT_DATA) , CURRENT_EVENT_SEQUENCE_DATA :: ID => CURRENT_EVENT_SEQUENCE_DATA :: deser (version , payload) . map (Self :: CURRENT_EVENT_SEQUENCE) , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => DATA_TRANSMISSION_HANDSHAKE_DATA :: deser (version , payload) . map (Self :: DATA_TRANSMISSION_HANDSHAKE) , FOLLOW_TARGET_DATA :: ID => FOLLOW_TARGET_DATA :: deser (version , payload) . map (Self :: FOLLOW_TARGET) , ONBOARD_COMPUTER_STATUS_DATA :: ID => ONBOARD_COMPUTER_STATUS_DATA :: deser (version , payload) . map (Self :: ONBOARD_COMPUTER_STATUS) , HIL_GPS_DATA :: ID => HIL_GPS_DATA :: deser (version , payload) . map (Self :: HIL_GPS) , CAN_FILTER_MODIFY_DATA :: ID => CAN_FILTER_MODIFY_DATA :: deser (version , payload) . map (Self :: CAN_FILTER_MODIFY) , OPEN_DRONE_ID_SELF_ID_DATA :: ID => OPEN_DRONE_ID_SELF_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SELF_ID) , LOG_DATA_DATA :: ID => LOG_DATA_DATA :: deser (version , payload) . map (Self :: LOG_DATA) , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => OPEN_DRONE_ID_ARM_STATUS_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_ARM_STATUS) , HIGH_LATENCY_DATA :: ID => HIGH_LATENCY_DATA :: deser (version , payload) . map (Self :: HIGH_LATENCY) , PLAY_TUNE_DATA :: ID => PLAY_TUNE_DATA :: deser (version , payload) . map (Self :: PLAY_TUNE) , RC_CHANNELS_SCALED_DATA :: ID => RC_CHANNELS_SCALED_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_SCALED) , RAW_IMU_DATA :: ID => RAW_IMU_DATA :: deser (version , payload) . map (Self :: RAW_IMU) , SAFETY_SET_ALLOWED_AREA_DATA :: ID => SAFETY_SET_ALLOWED_AREA_DATA :: deser (version , payload) . map (Self :: SAFETY_SET_ALLOWED_AREA) , MOUNT_ORIENTATION_DATA :: ID => MOUNT_ORIENTATION_DATA :: deser (version , payload) . map (Self :: MOUNT_ORIENTATION) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => CAMERA_TRACKING_IMAGE_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_TRACKING_IMAGE_STATUS) , EVENT_DATA :: ID => EVENT_DATA :: deser (version , payload) . map (Self :: EVENT) , EFI_STATUS_DATA :: ID => EFI_STATUS_DATA :: deser (version , payload) . map (Self :: EFI_STATUS) , REQUEST_EVENT_DATA :: ID => REQUEST_EVENT_DATA :: deser (version , payload) . map (Self :: REQUEST_EVENT) , HYGROMETER_SENSOR_DATA :: ID => HYGROMETER_SENSOR_DATA :: deser (version , payload) . map (Self :: HYGROMETER_SENSOR) , REQUEST_DATA_STREAM_DATA :: ID => REQUEST_DATA_STREAM_DATA :: deser (version , payload) . map (Self :: REQUEST_DATA_STREAM) , V2_EXTENSION_DATA :: ID => V2_EXTENSION_DATA :: deser (version , payload) . map (Self :: V2_EXTENSION) , DEBUG_VECT_DATA :: ID => DEBUG_VECT_DATA :: deser (version , payload) . map (Self :: DEBUG_VECT) , LOGGING_ACK_DATA :: ID => LOGGING_ACK_DATA :: deser (version , payload) . map (Self :: LOGGING_ACK) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => OPEN_DRONE_ID_OPERATOR_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_OPERATOR_ID) , ISBD_LINK_STATUS_DATA :: ID => ISBD_LINK_STATUS_DATA :: deser (version , payload) . map (Self :: ISBD_LINK_STATUS) , CONTROL_SYSTEM_STATE_DATA :: ID => CONTROL_SYSTEM_STATE_DATA :: deser (version , payload) . map (Self :: CONTROL_SYSTEM_STATE) , OBSTACLE_DISTANCE_DATA :: ID => OBSTACLE_DISTANCE_DATA :: deser (version , payload) . map (Self :: OBSTACLE_DISTANCE) , SCALED_IMU2_DATA :: ID => SCALED_IMU2_DATA :: deser (version , payload) . map (Self :: SCALED_IMU2) , PARAM_VALUE_DATA :: ID => PARAM_VALUE_DATA :: deser (version , payload) . map (Self :: PARAM_VALUE) , SERVO_OUTPUT_RAW_DATA :: ID => SERVO_OUTPUT_RAW_DATA :: deser (version , payload) . map (Self :: SERVO_OUTPUT_RAW) , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => CAMERA_TRACKING_GEO_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_TRACKING_GEO_STATUS) , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => SET_ACTUATOR_CONTROL_TARGET_DATA :: deser (version , payload) . map (Self :: SET_ACTUATOR_CONTROL_TARGET) , GIMBAL_MANAGER_STATUS_DATA :: ID => GIMBAL_MANAGER_STATUS_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_STATUS) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_ATTITUDE_STATUS) , PARAM_REQUEST_LIST_DATA :: ID => PARAM_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: PARAM_REQUEST_LIST) , UAVCAN_NODE_STATUS_DATA :: ID => UAVCAN_NODE_STATUS_DATA :: deser (version , payload) . map (Self :: UAVCAN_NODE_STATUS) , PARAM_SET_DATA :: ID => PARAM_SET_DATA :: deser (version , payload) . map (Self :: PARAM_SET) , SCALED_PRESSURE_DATA :: ID => SCALED_PRESSURE_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE) , SYSTEM_TIME_DATA :: ID => SYSTEM_TIME_DATA :: deser (version , payload) . map (Self :: SYSTEM_TIME) , ENCAPSULATED_DATA_DATA :: ID => ENCAPSULATED_DATA_DATA :: deser (version , payload) . map (Self :: ENCAPSULATED_DATA) , ACTUATOR_CONTROL_TARGET_DATA :: ID => ACTUATOR_CONTROL_TARGET_DATA :: deser (version , payload) . map (Self :: ACTUATOR_CONTROL_TARGET) , SET_HOME_POSITION_DATA :: ID => SET_HOME_POSITION_DATA :: deser (version , payload) . map (Self :: SET_HOME_POSITION) , SYS_STATUS_DATA :: ID => SYS_STATUS_DATA :: deser (version , payload) . map (Self :: SYS_STATUS) , TIMESYNC_DATA :: ID => TIMESYNC_DATA :: deser (version , payload) . map (Self :: TIMESYNC) , LOG_REQUEST_END_DATA :: ID => LOG_REQUEST_END_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_END) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: deser (version , payload) . map (Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS) , AUTOPILOT_VERSION_DATA :: ID => AUTOPILOT_VERSION_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_VERSION) , MEMORY_VECT_DATA :: ID => MEMORY_VECT_DATA :: deser (version , payload) . map (Self :: MEMORY_VECT) , VIDEO_STREAM_INFORMATION_DATA :: ID => VIDEO_STREAM_INFORMATION_DATA :: deser (version , payload) . map (Self :: VIDEO_STREAM_INFORMATION) , CHANGE_OPERATOR_CONTROL_DATA :: ID => CHANGE_OPERATOR_CONTROL_DATA :: deser (version , payload) . map (Self :: CHANGE_OPERATOR_CONTROL) , GPS_INPUT_DATA :: ID => GPS_INPUT_DATA :: deser (version , payload) . map (Self :: GPS_INPUT) , COLLISION_DATA :: ID => COLLISION_DATA :: deser (version , payload) . map (Self :: COLLISION) , SCALED_IMU3_DATA :: ID => SCALED_IMU3_DATA :: deser (version , payload) . map (Self :: SCALED_IMU3) , CAMERA_INFORMATION_DATA :: ID => CAMERA_INFORMATION_DATA :: deser (version , payload) . map (Self :: CAMERA_INFORMATION) , SET_ATTITUDE_TARGET_DATA :: ID => SET_ATTITUDE_TARGET_DATA :: deser (version , payload) . map (Self :: SET_ATTITUDE_TARGET) , PARAM_EXT_ACK_DATA :: ID => PARAM_EXT_ACK_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_ACK) , ORBIT_EXECUTION_STATUS_DATA :: ID => ORBIT_EXECUTION_STATUS_DATA :: deser (version , payload) . map (Self :: ORBIT_EXECUTION_STATUS) , SERIAL_CONTROL_DATA :: ID => SERIAL_CONTROL_DATA :: deser (version , payload) . map (Self :: SERIAL_CONTROL) , LOGGING_DATA_DATA :: ID => LOGGING_DATA_DATA :: deser (version , payload) . map (Self :: LOGGING_DATA) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: deser (version , payload) . map (Self :: TRAJECTORY_REPRESENTATION_BEZIER) , ALTITUDE_DATA :: ID => ALTITUDE_DATA :: deser (version , payload) . map (Self :: ALTITUDE) , RC_CHANNELS_DATA :: ID => RC_CHANNELS_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS) , RESOURCE_REQUEST_DATA :: ID => RESOURCE_REQUEST_DATA :: deser (version , payload) . map (Self :: RESOURCE_REQUEST) , COMPONENT_METADATA_DATA :: ID => COMPONENT_METADATA_DATA :: deser (version , payload) . map (Self :: COMPONENT_METADATA) , SUPPORTED_TUNES_DATA :: ID => SUPPORTED_TUNES_DATA :: deser (version , payload) . map (Self :: SUPPORTED_TUNES) , OPEN_DRONE_ID_LOCATION_DATA :: ID => OPEN_DRONE_ID_LOCATION_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_LOCATION) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SYSTEM_UPDATE) , BUTTON_CHANGE_DATA :: ID => BUTTON_CHANGE_DATA :: deser (version , payload) . map (Self :: BUTTON_CHANGE) , GLOBAL_POSITION_INT_DATA :: ID => GLOBAL_POSITION_INT_DATA :: deser (version , payload) . map (Self :: GLOBAL_POSITION_INT) , GIMBAL_DEVICE_INFORMATION_DATA :: ID => GIMBAL_DEVICE_INFORMATION_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_INFORMATION) , ATTITUDE_QUATERNION_DATA :: ID => ATTITUDE_QUATERNION_DATA :: deser (version , payload) . map (Self :: ATTITUDE_QUATERNION) , LANDING_TARGET_DATA :: ID => LANDING_TARGET_DATA :: deser (version , payload) . map (Self :: LANDING_TARGET) , LOG_ENTRY_DATA :: ID => LOG_ENTRY_DATA :: deser (version , payload) . map (Self :: LOG_ENTRY) , POSITION_TARGET_LOCAL_NED_DATA :: ID => POSITION_TARGET_LOCAL_NED_DATA :: deser (version , payload) . map (Self :: POSITION_TARGET_LOCAL_NED) , SET_MODE_DATA :: ID => SET_MODE_DATA :: deser (version , payload) . map (Self :: SET_MODE) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE) , VICON_POSITION_ESTIMATE_DATA :: ID => VICON_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VICON_POSITION_ESTIMATE) , DEBUG_DATA :: ID => DEBUG_DATA :: deser (version , payload) . map (Self :: DEBUG) , COMMAND_INT_DATA :: ID => COMMAND_INT_DATA :: deser (version , payload) . map (Self :: COMMAND_INT) , LOG_REQUEST_LIST_DATA :: ID => LOG_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_LIST) , ATTITUDE_QUATERNION_COV_DATA :: ID => ATTITUDE_QUATERNION_COV_DATA :: deser (version , payload) . map (Self :: ATTITUDE_QUATERNION_COV) , UTM_GLOBAL_POSITION_DATA :: ID => UTM_GLOBAL_POSITION_DATA :: deser (version , payload) . map (Self :: UTM_GLOBAL_POSITION) , MISSION_SET_CURRENT_DATA :: ID => MISSION_SET_CURRENT_DATA :: deser (version , payload) . map (Self :: MISSION_SET_CURRENT) , AIS_VESSEL_DATA :: ID => AIS_VESSEL_DATA :: deser (version , payload) . map (Self :: AIS_VESSEL) , ATT_POS_MOCAP_DATA :: ID => ATT_POS_MOCAP_DATA :: deser (version , payload) . map (Self :: ATT_POS_MOCAP) , HIL_RC_INPUTS_RAW_DATA :: ID => HIL_RC_INPUTS_RAW_DATA :: deser (version , payload) . map (Self :: HIL_RC_INPUTS_RAW) , LOG_REQUEST_DATA_DATA :: ID => LOG_REQUEST_DATA_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_DATA) , TUNNEL_DATA :: ID => TUNNEL_DATA :: deser (version , payload) . map (Self :: TUNNEL) , NAMED_VALUE_FLOAT_DATA :: ID => NAMED_VALUE_FLOAT_DATA :: deser (version , payload) . map (Self :: NAMED_VALUE_FLOAT) , AUTH_KEY_DATA :: ID => AUTH_KEY_DATA :: deser (version , payload) . map (Self :: AUTH_KEY) , TERRAIN_DATA_DATA :: ID => TERRAIN_DATA_DATA :: deser (version , payload) . map (Self :: TERRAIN_DATA) , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => OPEN_DRONE_ID_BASIC_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_BASIC_ID) , CELLULAR_CONFIG_DATA :: ID => CELLULAR_CONFIG_DATA :: deser (version , payload) . map (Self :: CELLULAR_CONFIG) , HEARTBEAT_DATA :: ID => HEARTBEAT_DATA :: deser (version , payload) . map (Self :: HEARTBEAT) , MISSION_COUNT_DATA :: ID => MISSION_COUNT_DATA :: deser (version , payload) . map (Self :: MISSION_COUNT) , PING_DATA :: ID => PING_DATA :: deser (version , payload) . map (Self :: PING) , OPEN_DRONE_ID_SYSTEM_DATA :: ID => OPEN_DRONE_ID_SYSTEM_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SYSTEM) , GLOBAL_POSITION_INT_COV_DATA :: ID => GLOBAL_POSITION_INT_COV_DATA :: deser (version , payload) . map (Self :: GLOBAL_POSITION_INT_COV) , ACTUATOR_OUTPUT_STATUS_DATA :: ID => ACTUATOR_OUTPUT_STATUS_DATA :: deser (version , payload) . map (Self :: ACTUATOR_OUTPUT_STATUS) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => OPEN_DRONE_ID_AUTHENTICATION_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_AUTHENTICATION) , NAV_CONTROLLER_OUTPUT_DATA :: ID => NAV_CONTROLLER_OUTPUT_DATA :: deser (version , payload) . map (Self :: NAV_CONTROLLER_OUTPUT) , PLAY_TUNE_V2_DATA :: ID => PLAY_TUNE_V2_DATA :: deser (version , payload) . map (Self :: PLAY_TUNE_V2) , VISION_POSITION_ESTIMATE_DATA :: ID => VISION_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VISION_POSITION_ESTIMATE) , STORAGE_INFORMATION_DATA :: ID => STORAGE_INFORMATION_DATA :: deser (version , payload) . map (Self :: STORAGE_INFORMATION) , SETUP_SIGNING_DATA :: ID => SETUP_SIGNING_DATA :: deser (version , payload) . map (Self :: SETUP_SIGNING) , LOGGING_DATA_ACKED_DATA :: ID => LOGGING_DATA_ACKED_DATA :: deser (version , payload) . map (Self :: LOGGING_DATA_ACKED) , LOG_ERASE_DATA :: ID => LOG_ERASE_DATA :: deser (version , payload) . map (Self :: LOG_ERASE) , GPS_RAW_INT_DATA :: ID => GPS_RAW_INT_DATA :: deser (version , payload) . map (Self :: GPS_RAW_INT) , GIMBAL_MANAGER_INFORMATION_DATA :: ID => GIMBAL_MANAGER_INFORMATION_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_INFORMATION) , MISSION_ITEM_INT_DATA :: ID => MISSION_ITEM_INT_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM_INT) , WINCH_STATUS_DATA :: ID => WINCH_STATUS_DATA :: deser (version , payload) . map (Self :: WINCH_STATUS) , FILE_TRANSFER_PROTOCOL_DATA :: ID => FILE_TRANSFER_PROTOCOL_DATA :: deser (version , payload) . map (Self :: FILE_TRANSFER_PROTOCOL) , GPS2_RAW_DATA :: ID => GPS2_RAW_DATA :: deser (version , payload) . map (Self :: GPS2_RAW) , GPS_RTK_DATA :: ID => GPS_RTK_DATA :: deser (version , payload) . map (Self :: GPS_RTK) , VIBRATION_DATA :: ID => VIBRATION_DATA :: deser (version , payload) . map (Self :: VIBRATION) , HIL_STATE_DATA :: ID => HIL_STATE_DATA :: deser (version , payload) . map (Self :: HIL_STATE) , GPS_STATUS_DATA :: ID => GPS_STATUS_DATA :: deser (version , payload) . map (Self :: GPS_STATUS) , SCALED_IMU_DATA :: ID => SCALED_IMU_DATA :: deser (version , payload) . map (Self :: SCALED_IMU) , HIL_ACTUATOR_CONTROLS_DATA :: ID => HIL_ACTUATOR_CONTROLS_DATA :: deser (version , payload) . map (Self :: HIL_ACTUATOR_CONTROLS) , MISSION_REQUEST_LIST_DATA :: ID => MISSION_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_LIST) , PARAM_EXT_REQUEST_LIST_DATA :: ID => PARAM_EXT_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_REQUEST_LIST) , PARAM_EXT_VALUE_DATA :: ID => PARAM_EXT_VALUE_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_VALUE) , CELLULAR_STATUS_DATA :: ID => CELLULAR_STATUS_DATA :: deser (version , payload) . map (Self :: CELLULAR_STATUS) , CANFD_FRAME_DATA :: ID => CANFD_FRAME_DATA :: deser (version , payload) . map (Self :: CANFD_FRAME) , GPS_RTCM_DATA_DATA :: ID => GPS_RTCM_DATA_DATA :: deser (version , payload) . map (Self :: GPS_RTCM_DATA) , MANUAL_CONTROL_DATA :: ID => MANUAL_CONTROL_DATA :: deser (version , payload) . map (Self :: MANUAL_CONTROL) , COMMAND_ACK_DATA :: ID => COMMAND_ACK_DATA :: deser (version , payload) . map (Self :: COMMAND_ACK) , RADIO_STATUS_DATA :: ID => RADIO_STATUS_DATA :: deser (version , payload) . map (Self :: RADIO_STATUS) , TERRAIN_REQUEST_DATA :: ID => TERRAIN_REQUEST_DATA :: deser (version , payload) . map (Self :: TERRAIN_REQUEST) , VIDEO_STREAM_STATUS_DATA :: ID => VIDEO_STREAM_STATUS_DATA :: deser (version , payload) . map (Self :: VIDEO_STREAM_STATUS) , TIME_ESTIMATE_TO_TARGET_DATA :: ID => TIME_ESTIMATE_TO_TARGET_DATA :: deser (version , payload) . map (Self :: TIME_ESTIMATE_TO_TARGET) , CAMERA_IMAGE_CAPTURED_DATA :: ID => CAMERA_IMAGE_CAPTURED_DATA :: deser (version , payload) . map (Self :: CAMERA_IMAGE_CAPTURED) , WHEEL_DISTANCE_DATA :: ID => WHEEL_DISTANCE_DATA :: deser (version , payload) . map (Self :: WHEEL_DISTANCE) , MISSION_CURRENT_DATA :: ID => MISSION_CURRENT_DATA :: deser (version , payload) . map (Self :: MISSION_CURRENT) , VFR_HUD_DATA :: ID => VFR_HUD_DATA :: deser (version , payload) . map (Self :: VFR_HUD) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => SET_POSITION_TARGET_GLOBAL_INT_DATA :: deser (version , payload) . map (Self :: SET_POSITION_TARGET_GLOBAL_INT) , POSITION_TARGET_GLOBAL_INT_DATA :: ID => POSITION_TARGET_GLOBAL_INT_DATA :: deser (version , payload) . map (Self :: POSITION_TARGET_GLOBAL_INT) , VISION_SPEED_ESTIMATE_DATA :: ID => VISION_SPEED_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VISION_SPEED_ESTIMATE) , BATTERY_STATUS_DATA :: ID => BATTERY_STATUS_DATA :: deser (version , payload) . map (Self :: BATTERY_STATUS) , FENCE_STATUS_DATA :: ID => FENCE_STATUS_DATA :: deser (version , payload) . map (Self :: FENCE_STATUS) , PROTOCOL_VERSION_DATA :: ID => PROTOCOL_VERSION_DATA :: deser (version , payload) . map (Self :: PROTOCOL_VERSION) , RAW_PRESSURE_DATA :: ID => RAW_PRESSURE_DATA :: deser (version , payload) . map (Self :: RAW_PRESSURE) , SCALED_PRESSURE3_DATA :: ID => SCALED_PRESSURE3_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE3) , GPS_GLOBAL_ORIGIN_DATA :: ID => GPS_GLOBAL_ORIGIN_DATA :: deser (version , payload) . map (Self :: GPS_GLOBAL_ORIGIN) , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => MISSION_REQUEST_PARTIAL_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_PARTIAL_LIST) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_PITCHYAW) , RESPONSE_EVENT_ERROR_DATA :: ID => RESPONSE_EVENT_ERROR_DATA :: deser (version , payload) . map (Self :: RESPONSE_EVENT_ERROR) , LINK_NODE_STATUS_DATA :: ID => LINK_NODE_STATUS_DATA :: deser (version , payload) . map (Self :: LINK_NODE_STATUS) , DATA_STREAM_DATA :: ID => DATA_STREAM_DATA :: deser (version , payload) . map (Self :: DATA_STREAM) , HIL_SENSOR_DATA :: ID => HIL_SENSOR_DATA :: deser (version , payload) . map (Self :: HIL_SENSOR) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_MESSAGE_PACK) , WIND_COV_DATA :: ID => WIND_COV_DATA :: deser (version , payload) . map (Self :: WIND_COV) , OPTICAL_FLOW_RAD_DATA :: ID => OPTICAL_FLOW_RAD_DATA :: deser (version , payload) . map (Self :: OPTICAL_FLOW_RAD) , TERRAIN_REPORT_DATA :: ID => TERRAIN_REPORT_DATA :: deser (version , payload) . map (Self :: TERRAIN_REPORT) , PARAM_MAP_RC_DATA :: ID => PARAM_MAP_RC_DATA :: deser (version , payload) . map (Self :: PARAM_MAP_RC) , CAMERA_TRIGGER_DATA :: ID => CAMERA_TRIGGER_DATA :: deser (version , payload) . map (Self :: CAMERA_TRIGGER) , NAMED_VALUE_INT_DATA :: ID => NAMED_VALUE_INT_DATA :: deser (version , payload) . map (Self :: NAMED_VALUE_INT) , CAMERA_SETTINGS_DATA :: ID => CAMERA_SETTINGS_DATA :: deser (version , payload) . map (Self :: CAMERA_SETTINGS) , WIFI_CONFIG_AP_DATA :: ID => WIFI_CONFIG_AP_DATA :: deser (version , payload) . map (Self :: WIFI_CONFIG_AP) , HIGHRES_IMU_DATA :: ID => HIGHRES_IMU_DATA :: deser (version , payload) . map (Self :: HIGHRES_IMU) , FLIGHT_INFORMATION_DATA :: ID => FLIGHT_INFORMATION_DATA :: deser (version , payload) . map (Self :: FLIGHT_INFORMATION) , MAG_CAL_REPORT_DATA :: ID => MAG_CAL_REPORT_DATA :: deser (version , payload) . map (Self :: MAG_CAL_REPORT) , ATTITUDE_DATA :: ID => ATTITUDE_DATA :: deser (version , payload) . map (Self :: ATTITUDE) , MISSION_ITEM_REACHED_DATA :: ID => MISSION_ITEM_REACHED_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM_REACHED) , POWER_STATUS_DATA :: ID => POWER_STATUS_DATA :: deser (version , payload) . map (Self :: POWER_STATUS) , MISSION_REQUEST_INT_DATA :: ID => MISSION_REQUEST_INT_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_INT) , SMART_BATTERY_INFO_DATA :: ID => SMART_BATTERY_INFO_DATA :: deser (version , payload) . map (Self :: SMART_BATTERY_INFO) , PARAM_REQUEST_READ_DATA :: ID => PARAM_REQUEST_READ_DATA :: deser (version , payload) . map (Self :: PARAM_REQUEST_READ) , COMMAND_LONG_DATA :: ID => COMMAND_LONG_DATA :: deser (version , payload) . map (Self :: COMMAND_LONG) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => CHANGE_OPERATOR_CONTROL_ACK_DATA :: deser (version , payload) . map (Self :: CHANGE_OPERATOR_CONTROL_ACK) , OPTICAL_FLOW_DATA :: ID => OPTICAL_FLOW_DATA :: deser (version , payload) . map (Self :: OPTICAL_FLOW) , HIL_CONTROLS_DATA :: ID => HIL_CONTROLS_DATA :: deser (version , payload) . map (Self :: HIL_CONTROLS) , CAMERA_CAPTURE_STATUS_DATA :: ID => CAMERA_CAPTURE_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_CAPTURE_STATUS) , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => MISSION_WRITE_PARTIAL_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_WRITE_PARTIAL_LIST) , COMMAND_CANCEL_DATA :: ID => COMMAND_CANCEL_DATA :: deser (version , payload) . map (Self :: COMMAND_CANCEL) , ODOMETRY_DATA :: ID => ODOMETRY_DATA :: deser (version , payload) . map (Self :: ODOMETRY) , ADSB_VEHICLE_DATA :: ID => ADSB_VEHICLE_DATA :: deser (version , payload) . map (Self :: ADSB_VEHICLE) , MESSAGE_INTERVAL_DATA :: ID => MESSAGE_INTERVAL_DATA :: deser (version , payload) . map (Self :: MESSAGE_INTERVAL) , DISTANCE_SENSOR_DATA :: ID => DISTANCE_SENSOR_DATA :: deser (version , payload) . map (Self :: DISTANCE_SENSOR) , RC_CHANNELS_RAW_DATA :: ID => RC_CHANNELS_RAW_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_RAW) , HOME_POSITION_DATA :: ID => HOME_POSITION_DATA :: deser (version , payload) . map (Self :: HOME_POSITION) , MISSION_REQUEST_DATA :: ID => MISSION_REQUEST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST) , HIL_STATE_QUATERNION_DATA :: ID => HIL_STATE_QUATERNION_DATA :: deser (version , payload) . map (Self :: HIL_STATE_QUATERNION) , RC_CHANNELS_OVERRIDE_DATA :: ID => RC_CHANNELS_OVERRIDE_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_OVERRIDE) , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => SET_POSITION_TARGET_LOCAL_NED_DATA :: deser (version , payload) . map (Self :: SET_POSITION_TARGET_LOCAL_NED) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET) , EXTENDED_SYS_STATE_DATA :: ID => EXTENDED_SYS_STATE_DATA :: deser (version , payload) . map (Self :: EXTENDED_SYS_STATE) , ATTITUDE_TARGET_DATA :: ID => ATTITUDE_TARGET_DATA :: deser (version , payload) . map (Self :: ATTITUDE_TARGET) , MANUAL_SETPOINT_DATA :: ID => MANUAL_SETPOINT_DATA :: deser (version , payload) . map (Self :: MANUAL_SETPOINT) , UAVCAN_NODE_INFO_DATA :: ID => UAVCAN_NODE_INFO_DATA :: deser (version , payload) . map (Self :: UAVCAN_NODE_INFO) , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => SET_GPS_GLOBAL_ORIGIN_DATA :: deser (version , payload) . map (Self :: SET_GPS_GLOBAL_ORIGIN) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: GLOBAL_VISION_POSITION_ESTIMATE) , RAW_RPM_DATA :: ID => RAW_RPM_DATA :: deser (version , payload) . map (Self :: RAW_RPM) , GPS2_RTK_DATA :: ID => GPS2_RTK_DATA :: deser (version , payload) . map (Self :: GPS2_RTK) , HIL_OPTICAL_FLOW_DATA :: ID => HIL_OPTICAL_FLOW_DATA :: deser (version , payload) . map (Self :: HIL_OPTICAL_FLOW) , CAMERA_FOV_STATUS_DATA :: ID => CAMERA_FOV_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_FOV_STATUS) , DEBUG_FLOAT_ARRAY_DATA :: ID => DEBUG_FLOAT_ARRAY_DATA :: deser (version , payload) . map (Self :: DEBUG_FLOAT_ARRAY) , GENERATOR_STATUS_DATA :: ID => GENERATOR_STATUS_DATA :: deser (version , payload) . map (Self :: GENERATOR_STATUS) , ESC_STATUS_DATA :: ID => ESC_STATUS_DATA :: deser (version , payload) . map (Self :: ESC_STATUS) , _ => { Err (ParserError :: UnknownMessage { id }) } , } } fn message_name (& self) -> & 'static str { match self { Self :: LOCAL_POSITION_NED (..) => LOCAL_POSITION_NED_DATA :: NAME , Self :: SAFETY_ALLOWED_AREA (..) => SAFETY_ALLOWED_AREA_DATA :: NAME , Self :: MISSION_ACK (..) => MISSION_ACK_DATA :: NAME , Self :: SCALED_PRESSURE2 (..) => SCALED_PRESSURE2_DATA :: NAME , Self :: SIM_STATE (..) => SIM_STATE_DATA :: NAME , Self :: HIGH_LATENCY2 (..) => HIGH_LATENCY2_DATA :: NAME , Self :: STATUSTEXT (..) => STATUSTEXT_DATA :: NAME , Self :: ESTIMATOR_STATUS (..) => ESTIMATOR_STATUS_DATA :: NAME , Self :: GIMBAL_DEVICE_SET_ATTITUDE (..) => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: NAME , Self :: ESC_INFO (..) => ESC_INFO_DATA :: NAME , Self :: LOCAL_POSITION_NED_COV (..) => LOCAL_POSITION_NED_COV_DATA :: NAME , Self :: MISSION_ITEM (..) => MISSION_ITEM_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (..) => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: NAME , Self :: PARAM_EXT_REQUEST_READ (..) => PARAM_EXT_REQUEST_READ_DATA :: NAME , Self :: MISSION_CLEAR_ALL (..) => MISSION_CLEAR_ALL_DATA :: NAME , Self :: TERRAIN_CHECK (..) => TERRAIN_CHECK_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_ATTITUDE (..) => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: NAME , Self :: PARAM_EXT_SET (..) => PARAM_EXT_SET_DATA :: NAME , Self :: CAN_FRAME (..) => CAN_FRAME_DATA :: NAME , Self :: COMPONENT_INFORMATION (..) => COMPONENT_INFORMATION_DATA :: NAME , Self :: GPS_INJECT_DATA (..) => GPS_INJECT_DATA_DATA :: NAME , Self :: CURRENT_EVENT_SEQUENCE (..) => CURRENT_EVENT_SEQUENCE_DATA :: NAME , Self :: DATA_TRANSMISSION_HANDSHAKE (..) => DATA_TRANSMISSION_HANDSHAKE_DATA :: NAME , Self :: FOLLOW_TARGET (..) => FOLLOW_TARGET_DATA :: NAME , Self :: ONBOARD_COMPUTER_STATUS (..) => ONBOARD_COMPUTER_STATUS_DATA :: NAME , Self :: HIL_GPS (..) => HIL_GPS_DATA :: NAME , Self :: CAN_FILTER_MODIFY (..) => CAN_FILTER_MODIFY_DATA :: NAME , Self :: OPEN_DRONE_ID_SELF_ID (..) => OPEN_DRONE_ID_SELF_ID_DATA :: NAME , Self :: LOG_DATA (..) => LOG_DATA_DATA :: NAME , Self :: OPEN_DRONE_ID_ARM_STATUS (..) => OPEN_DRONE_ID_ARM_STATUS_DATA :: NAME , Self :: HIGH_LATENCY (..) => HIGH_LATENCY_DATA :: NAME , Self :: PLAY_TUNE (..) => PLAY_TUNE_DATA :: NAME , Self :: RC_CHANNELS_SCALED (..) => RC_CHANNELS_SCALED_DATA :: NAME , Self :: RAW_IMU (..) => RAW_IMU_DATA :: NAME , Self :: SAFETY_SET_ALLOWED_AREA (..) => SAFETY_SET_ALLOWED_AREA_DATA :: NAME , Self :: MOUNT_ORIENTATION (..) => MOUNT_ORIENTATION_DATA :: NAME , Self :: CAMERA_TRACKING_IMAGE_STATUS (..) => CAMERA_TRACKING_IMAGE_STATUS_DATA :: NAME , Self :: EVENT (..) => EVENT_DATA :: NAME , Self :: EFI_STATUS (..) => EFI_STATUS_DATA :: NAME , Self :: REQUEST_EVENT (..) => REQUEST_EVENT_DATA :: NAME , Self :: HYGROMETER_SENSOR (..) => HYGROMETER_SENSOR_DATA :: NAME , Self :: REQUEST_DATA_STREAM (..) => REQUEST_DATA_STREAM_DATA :: NAME , Self :: V2_EXTENSION (..) => V2_EXTENSION_DATA :: NAME , Self :: DEBUG_VECT (..) => DEBUG_VECT_DATA :: NAME , Self :: LOGGING_ACK (..) => LOGGING_ACK_DATA :: NAME , Self :: OPEN_DRONE_ID_OPERATOR_ID (..) => OPEN_DRONE_ID_OPERATOR_ID_DATA :: NAME , Self :: ISBD_LINK_STATUS (..) => ISBD_LINK_STATUS_DATA :: NAME , Self :: CONTROL_SYSTEM_STATE (..) => CONTROL_SYSTEM_STATE_DATA :: NAME , Self :: OBSTACLE_DISTANCE (..) => OBSTACLE_DISTANCE_DATA :: NAME , Self :: SCALED_IMU2 (..) => SCALED_IMU2_DATA :: NAME , Self :: PARAM_VALUE (..) => PARAM_VALUE_DATA :: NAME , Self :: SERVO_OUTPUT_RAW (..) => SERVO_OUTPUT_RAW_DATA :: NAME , Self :: CAMERA_TRACKING_GEO_STATUS (..) => CAMERA_TRACKING_GEO_STATUS_DATA :: NAME , Self :: SET_ACTUATOR_CONTROL_TARGET (..) => SET_ACTUATOR_CONTROL_TARGET_DATA :: NAME , Self :: GIMBAL_MANAGER_STATUS (..) => GIMBAL_MANAGER_STATUS_DATA :: NAME , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (..) => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: NAME , Self :: PARAM_REQUEST_LIST (..) => PARAM_REQUEST_LIST_DATA :: NAME , Self :: UAVCAN_NODE_STATUS (..) => UAVCAN_NODE_STATUS_DATA :: NAME , Self :: PARAM_SET (..) => PARAM_SET_DATA :: NAME , Self :: SCALED_PRESSURE (..) => SCALED_PRESSURE_DATA :: NAME , Self :: SYSTEM_TIME (..) => SYSTEM_TIME_DATA :: NAME , Self :: ENCAPSULATED_DATA (..) => ENCAPSULATED_DATA_DATA :: NAME , Self :: ACTUATOR_CONTROL_TARGET (..) => ACTUATOR_CONTROL_TARGET_DATA :: NAME , Self :: SET_HOME_POSITION (..) => SET_HOME_POSITION_DATA :: NAME , Self :: SYS_STATUS (..) => SYS_STATUS_DATA :: NAME , Self :: TIMESYNC (..) => TIMESYNC_DATA :: NAME , Self :: LOG_REQUEST_END (..) => LOG_REQUEST_END_DATA :: NAME , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (..) => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: NAME , Self :: AUTOPILOT_VERSION (..) => AUTOPILOT_VERSION_DATA :: NAME , Self :: MEMORY_VECT (..) => MEMORY_VECT_DATA :: NAME , Self :: VIDEO_STREAM_INFORMATION (..) => VIDEO_STREAM_INFORMATION_DATA :: NAME , Self :: CHANGE_OPERATOR_CONTROL (..) => CHANGE_OPERATOR_CONTROL_DATA :: NAME , Self :: GPS_INPUT (..) => GPS_INPUT_DATA :: NAME , Self :: COLLISION (..) => COLLISION_DATA :: NAME , Self :: SCALED_IMU3 (..) => SCALED_IMU3_DATA :: NAME , Self :: CAMERA_INFORMATION (..) => CAMERA_INFORMATION_DATA :: NAME , Self :: SET_ATTITUDE_TARGET (..) => SET_ATTITUDE_TARGET_DATA :: NAME , Self :: PARAM_EXT_ACK (..) => PARAM_EXT_ACK_DATA :: NAME , Self :: ORBIT_EXECUTION_STATUS (..) => ORBIT_EXECUTION_STATUS_DATA :: NAME , Self :: SERIAL_CONTROL (..) => SERIAL_CONTROL_DATA :: NAME , Self :: LOGGING_DATA (..) => LOGGING_DATA_DATA :: NAME , Self :: TRAJECTORY_REPRESENTATION_BEZIER (..) => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: NAME , Self :: ALTITUDE (..) => ALTITUDE_DATA :: NAME , Self :: RC_CHANNELS (..) => RC_CHANNELS_DATA :: NAME , Self :: RESOURCE_REQUEST (..) => RESOURCE_REQUEST_DATA :: NAME , Self :: COMPONENT_METADATA (..) => COMPONENT_METADATA_DATA :: NAME , Self :: SUPPORTED_TUNES (..) => SUPPORTED_TUNES_DATA :: NAME , Self :: OPEN_DRONE_ID_LOCATION (..) => OPEN_DRONE_ID_LOCATION_DATA :: NAME , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (..) => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: NAME , Self :: BUTTON_CHANGE (..) => BUTTON_CHANGE_DATA :: NAME , Self :: GLOBAL_POSITION_INT (..) => GLOBAL_POSITION_INT_DATA :: NAME , Self :: GIMBAL_DEVICE_INFORMATION (..) => GIMBAL_DEVICE_INFORMATION_DATA :: NAME , Self :: ATTITUDE_QUATERNION (..) => ATTITUDE_QUATERNION_DATA :: NAME , Self :: LANDING_TARGET (..) => LANDING_TARGET_DATA :: NAME , Self :: LOG_ENTRY (..) => LOG_ENTRY_DATA :: NAME , Self :: POSITION_TARGET_LOCAL_NED (..) => POSITION_TARGET_LOCAL_NED_DATA :: NAME , Self :: SET_MODE (..) => SET_MODE_DATA :: NAME , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (..) => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: NAME , Self :: VICON_POSITION_ESTIMATE (..) => VICON_POSITION_ESTIMATE_DATA :: NAME , Self :: DEBUG (..) => DEBUG_DATA :: NAME , Self :: COMMAND_INT (..) => COMMAND_INT_DATA :: NAME , Self :: LOG_REQUEST_LIST (..) => LOG_REQUEST_LIST_DATA :: NAME , Self :: ATTITUDE_QUATERNION_COV (..) => ATTITUDE_QUATERNION_COV_DATA :: NAME , Self :: UTM_GLOBAL_POSITION (..) => UTM_GLOBAL_POSITION_DATA :: NAME , Self :: MISSION_SET_CURRENT (..) => MISSION_SET_CURRENT_DATA :: NAME , Self :: AIS_VESSEL (..) => AIS_VESSEL_DATA :: NAME , Self :: ATT_POS_MOCAP (..) => ATT_POS_MOCAP_DATA :: NAME , Self :: HIL_RC_INPUTS_RAW (..) => HIL_RC_INPUTS_RAW_DATA :: NAME , Self :: LOG_REQUEST_DATA (..) => LOG_REQUEST_DATA_DATA :: NAME , Self :: TUNNEL (..) => TUNNEL_DATA :: NAME , Self :: NAMED_VALUE_FLOAT (..) => NAMED_VALUE_FLOAT_DATA :: NAME , Self :: AUTH_KEY (..) => AUTH_KEY_DATA :: NAME , Self :: TERRAIN_DATA (..) => TERRAIN_DATA_DATA :: NAME , Self :: OPEN_DRONE_ID_BASIC_ID (..) => OPEN_DRONE_ID_BASIC_ID_DATA :: NAME , Self :: CELLULAR_CONFIG (..) => CELLULAR_CONFIG_DATA :: NAME , Self :: HEARTBEAT (..) => HEARTBEAT_DATA :: NAME , Self :: MISSION_COUNT (..) => MISSION_COUNT_DATA :: NAME , Self :: PING (..) => PING_DATA :: NAME , Self :: OPEN_DRONE_ID_SYSTEM (..) => OPEN_DRONE_ID_SYSTEM_DATA :: NAME , Self :: GLOBAL_POSITION_INT_COV (..) => GLOBAL_POSITION_INT_COV_DATA :: NAME , Self :: ACTUATOR_OUTPUT_STATUS (..) => ACTUATOR_OUTPUT_STATUS_DATA :: NAME , Self :: OPEN_DRONE_ID_AUTHENTICATION (..) => OPEN_DRONE_ID_AUTHENTICATION_DATA :: NAME , Self :: NAV_CONTROLLER_OUTPUT (..) => NAV_CONTROLLER_OUTPUT_DATA :: NAME , Self :: PLAY_TUNE_V2 (..) => PLAY_TUNE_V2_DATA :: NAME , Self :: VISION_POSITION_ESTIMATE (..) => VISION_POSITION_ESTIMATE_DATA :: NAME , Self :: STORAGE_INFORMATION (..) => STORAGE_INFORMATION_DATA :: NAME , Self :: SETUP_SIGNING (..) => SETUP_SIGNING_DATA :: NAME , Self :: LOGGING_DATA_ACKED (..) => LOGGING_DATA_ACKED_DATA :: NAME , Self :: LOG_ERASE (..) => LOG_ERASE_DATA :: NAME , Self :: GPS_RAW_INT (..) => GPS_RAW_INT_DATA :: NAME , Self :: GIMBAL_MANAGER_INFORMATION (..) => GIMBAL_MANAGER_INFORMATION_DATA :: NAME , Self :: MISSION_ITEM_INT (..) => MISSION_ITEM_INT_DATA :: NAME , Self :: WINCH_STATUS (..) => WINCH_STATUS_DATA :: NAME , Self :: FILE_TRANSFER_PROTOCOL (..) => FILE_TRANSFER_PROTOCOL_DATA :: NAME , Self :: GPS2_RAW (..) => GPS2_RAW_DATA :: NAME , Self :: GPS_RTK (..) => GPS_RTK_DATA :: NAME , Self :: VIBRATION (..) => VIBRATION_DATA :: NAME , Self :: HIL_STATE (..) => HIL_STATE_DATA :: NAME , Self :: GPS_STATUS (..) => GPS_STATUS_DATA :: NAME , Self :: SCALED_IMU (..) => SCALED_IMU_DATA :: NAME , Self :: HIL_ACTUATOR_CONTROLS (..) => HIL_ACTUATOR_CONTROLS_DATA :: NAME , Self :: MISSION_REQUEST_LIST (..) => MISSION_REQUEST_LIST_DATA :: NAME , Self :: PARAM_EXT_REQUEST_LIST (..) => PARAM_EXT_REQUEST_LIST_DATA :: NAME , Self :: PARAM_EXT_VALUE (..) => PARAM_EXT_VALUE_DATA :: NAME , Self :: CELLULAR_STATUS (..) => CELLULAR_STATUS_DATA :: NAME , Self :: CANFD_FRAME (..) => CANFD_FRAME_DATA :: NAME , Self :: GPS_RTCM_DATA (..) => GPS_RTCM_DATA_DATA :: NAME , Self :: MANUAL_CONTROL (..) => MANUAL_CONTROL_DATA :: NAME , Self :: COMMAND_ACK (..) => COMMAND_ACK_DATA :: NAME , Self :: RADIO_STATUS (..) => RADIO_STATUS_DATA :: NAME , Self :: TERRAIN_REQUEST (..) => TERRAIN_REQUEST_DATA :: NAME , Self :: VIDEO_STREAM_STATUS (..) => VIDEO_STREAM_STATUS_DATA :: NAME , Self :: TIME_ESTIMATE_TO_TARGET (..) => TIME_ESTIMATE_TO_TARGET_DATA :: NAME , Self :: CAMERA_IMAGE_CAPTURED (..) => CAMERA_IMAGE_CAPTURED_DATA :: NAME , Self :: WHEEL_DISTANCE (..) => WHEEL_DISTANCE_DATA :: NAME , Self :: MISSION_CURRENT (..) => MISSION_CURRENT_DATA :: NAME , Self :: VFR_HUD (..) => VFR_HUD_DATA :: NAME , Self :: SET_POSITION_TARGET_GLOBAL_INT (..) => SET_POSITION_TARGET_GLOBAL_INT_DATA :: NAME , Self :: POSITION_TARGET_GLOBAL_INT (..) => POSITION_TARGET_GLOBAL_INT_DATA :: NAME , Self :: VISION_SPEED_ESTIMATE (..) => VISION_SPEED_ESTIMATE_DATA :: NAME , Self :: BATTERY_STATUS (..) => BATTERY_STATUS_DATA :: NAME , Self :: FENCE_STATUS (..) => FENCE_STATUS_DATA :: NAME , Self :: PROTOCOL_VERSION (..) => PROTOCOL_VERSION_DATA :: NAME , Self :: RAW_PRESSURE (..) => RAW_PRESSURE_DATA :: NAME , Self :: SCALED_PRESSURE3 (..) => SCALED_PRESSURE3_DATA :: NAME , Self :: GPS_GLOBAL_ORIGIN (..) => GPS_GLOBAL_ORIGIN_DATA :: NAME , Self :: MISSION_REQUEST_PARTIAL_LIST (..) => MISSION_REQUEST_PARTIAL_LIST_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_PITCHYAW (..) => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: NAME , Self :: RESPONSE_EVENT_ERROR (..) => RESPONSE_EVENT_ERROR_DATA :: NAME , Self :: LINK_NODE_STATUS (..) => LINK_NODE_STATUS_DATA :: NAME , Self :: DATA_STREAM (..) => DATA_STREAM_DATA :: NAME , Self :: HIL_SENSOR (..) => HIL_SENSOR_DATA :: NAME , Self :: OPEN_DRONE_ID_MESSAGE_PACK (..) => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: NAME , Self :: WIND_COV (..) => WIND_COV_DATA :: NAME , Self :: OPTICAL_FLOW_RAD (..) => OPTICAL_FLOW_RAD_DATA :: NAME , Self :: TERRAIN_REPORT (..) => TERRAIN_REPORT_DATA :: NAME , Self :: PARAM_MAP_RC (..) => PARAM_MAP_RC_DATA :: NAME , Self :: CAMERA_TRIGGER (..) => CAMERA_TRIGGER_DATA :: NAME , Self :: NAMED_VALUE_INT (..) => NAMED_VALUE_INT_DATA :: NAME , Self :: CAMERA_SETTINGS (..) => CAMERA_SETTINGS_DATA :: NAME , Self :: WIFI_CONFIG_AP (..) => WIFI_CONFIG_AP_DATA :: NAME , Self :: HIGHRES_IMU (..) => HIGHRES_IMU_DATA :: NAME , Self :: FLIGHT_INFORMATION (..) => FLIGHT_INFORMATION_DATA :: NAME , Self :: MAG_CAL_REPORT (..) => MAG_CAL_REPORT_DATA :: NAME , Self :: ATTITUDE (..) => ATTITUDE_DATA :: NAME , Self :: MISSION_ITEM_REACHED (..) => MISSION_ITEM_REACHED_DATA :: NAME , Self :: POWER_STATUS (..) => POWER_STATUS_DATA :: NAME , Self :: MISSION_REQUEST_INT (..) => MISSION_REQUEST_INT_DATA :: NAME , Self :: SMART_BATTERY_INFO (..) => SMART_BATTERY_INFO_DATA :: NAME , Self :: PARAM_REQUEST_READ (..) => PARAM_REQUEST_READ_DATA :: NAME , Self :: COMMAND_LONG (..) => COMMAND_LONG_DATA :: NAME , Self :: CHANGE_OPERATOR_CONTROL_ACK (..) => CHANGE_OPERATOR_CONTROL_ACK_DATA :: NAME , Self :: OPTICAL_FLOW (..) => OPTICAL_FLOW_DATA :: NAME , Self :: HIL_CONTROLS (..) => HIL_CONTROLS_DATA :: NAME , Self :: CAMERA_CAPTURE_STATUS (..) => CAMERA_CAPTURE_STATUS_DATA :: NAME , Self :: MISSION_WRITE_PARTIAL_LIST (..) => MISSION_WRITE_PARTIAL_LIST_DATA :: NAME , Self :: COMMAND_CANCEL (..) => COMMAND_CANCEL_DATA :: NAME , Self :: ODOMETRY (..) => ODOMETRY_DATA :: NAME , Self :: ADSB_VEHICLE (..) => ADSB_VEHICLE_DATA :: NAME , Self :: MESSAGE_INTERVAL (..) => MESSAGE_INTERVAL_DATA :: NAME , Self :: DISTANCE_SENSOR (..) => DISTANCE_SENSOR_DATA :: NAME , Self :: RC_CHANNELS_RAW (..) => RC_CHANNELS_RAW_DATA :: NAME , Self :: HOME_POSITION (..) => HOME_POSITION_DATA :: NAME , Self :: MISSION_REQUEST (..) => MISSION_REQUEST_DATA :: NAME , Self :: HIL_STATE_QUATERNION (..) => HIL_STATE_QUATERNION_DATA :: NAME , Self :: RC_CHANNELS_OVERRIDE (..) => RC_CHANNELS_OVERRIDE_DATA :: NAME , Self :: SET_POSITION_TARGET_LOCAL_NED (..) => SET_POSITION_TARGET_LOCAL_NED_DATA :: NAME , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (..) => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: NAME , Self :: EXTENDED_SYS_STATE (..) => EXTENDED_SYS_STATE_DATA :: NAME , Self :: ATTITUDE_TARGET (..) => ATTITUDE_TARGET_DATA :: NAME , Self :: MANUAL_SETPOINT (..) => MANUAL_SETPOINT_DATA :: NAME , Self :: UAVCAN_NODE_INFO (..) => UAVCAN_NODE_INFO_DATA :: NAME , Self :: SET_GPS_GLOBAL_ORIGIN (..) => SET_GPS_GLOBAL_ORIGIN_DATA :: NAME , Self :: GLOBAL_VISION_POSITION_ESTIMATE (..) => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: NAME , Self :: RAW_RPM (..) => RAW_RPM_DATA :: NAME , Self :: GPS2_RTK (..) => GPS2_RTK_DATA :: NAME , Self :: HIL_OPTICAL_FLOW (..) => HIL_OPTICAL_FLOW_DATA :: NAME , Self :: CAMERA_FOV_STATUS (..) => CAMERA_FOV_STATUS_DATA :: NAME , Self :: DEBUG_FLOAT_ARRAY (..) => DEBUG_FLOAT_ARRAY_DATA :: NAME , Self :: GENERATOR_STATUS (..) => GENERATOR_STATUS_DATA :: NAME , Self :: ESC_STATUS (..) => ESC_STATUS_DATA :: NAME , } } fn message_id (& self) -> u32 { match self { Self :: LOCAL_POSITION_NED (..) => LOCAL_POSITION_NED_DATA :: ID , Self :: SAFETY_ALLOWED_AREA (..) => SAFETY_ALLOWED_AREA_DATA :: ID , Self :: MISSION_ACK (..) => MISSION_ACK_DATA :: ID , Self :: SCALED_PRESSURE2 (..) => SCALED_PRESSURE2_DATA :: ID , Self :: SIM_STATE (..) => SIM_STATE_DATA :: ID , Self :: HIGH_LATENCY2 (..) => HIGH_LATENCY2_DATA :: ID , Self :: STATUSTEXT (..) => STATUSTEXT_DATA :: ID , Self :: ESTIMATOR_STATUS (..) => ESTIMATOR_STATUS_DATA :: ID , Self :: GIMBAL_DEVICE_SET_ATTITUDE (..) => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID , Self :: ESC_INFO (..) => ESC_INFO_DATA :: ID , Self :: LOCAL_POSITION_NED_COV (..) => LOCAL_POSITION_NED_COV_DATA :: ID , Self :: MISSION_ITEM (..) => MISSION_ITEM_DATA :: ID , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (..) => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID , Self :: PARAM_EXT_REQUEST_READ (..) => PARAM_EXT_REQUEST_READ_DATA :: ID , Self :: MISSION_CLEAR_ALL (..) => MISSION_CLEAR_ALL_DATA :: ID , Self :: TERRAIN_CHECK (..) => TERRAIN_CHECK_DATA :: ID , Self :: GIMBAL_MANAGER_SET_ATTITUDE (..) => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID , Self :: PARAM_EXT_SET (..) => PARAM_EXT_SET_DATA :: ID , Self :: CAN_FRAME (..) => CAN_FRAME_DATA :: ID , Self :: COMPONENT_INFORMATION (..) => COMPONENT_INFORMATION_DATA :: ID , Self :: GPS_INJECT_DATA (..) => GPS_INJECT_DATA_DATA :: ID , Self :: CURRENT_EVENT_SEQUENCE (..) => CURRENT_EVENT_SEQUENCE_DATA :: ID , Self :: DATA_TRANSMISSION_HANDSHAKE (..) => DATA_TRANSMISSION_HANDSHAKE_DATA :: ID , Self :: FOLLOW_TARGET (..) => FOLLOW_TARGET_DATA :: ID , Self :: ONBOARD_COMPUTER_STATUS (..) => ONBOARD_COMPUTER_STATUS_DATA :: ID , Self :: HIL_GPS (..) => HIL_GPS_DATA :: ID , Self :: CAN_FILTER_MODIFY (..) => CAN_FILTER_MODIFY_DATA :: ID , Self :: OPEN_DRONE_ID_SELF_ID (..) => OPEN_DRONE_ID_SELF_ID_DATA :: ID , Self :: LOG_DATA (..) => LOG_DATA_DATA :: ID , Self :: OPEN_DRONE_ID_ARM_STATUS (..) => OPEN_DRONE_ID_ARM_STATUS_DATA :: ID , Self :: HIGH_LATENCY (..) => HIGH_LATENCY_DATA :: ID , Self :: PLAY_TUNE (..) => PLAY_TUNE_DATA :: ID , Self :: RC_CHANNELS_SCALED (..) => RC_CHANNELS_SCALED_DATA :: ID , Self :: RAW_IMU (..) => RAW_IMU_DATA :: ID , Self :: SAFETY_SET_ALLOWED_AREA (..) => SAFETY_SET_ALLOWED_AREA_DATA :: ID , Self :: MOUNT_ORIENTATION (..) => MOUNT_ORIENTATION_DATA :: ID , Self :: CAMERA_TRACKING_IMAGE_STATUS (..) => CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID , Self :: EVENT (..) => EVENT_DATA :: ID , Self :: EFI_STATUS (..) => EFI_STATUS_DATA :: ID , Self :: REQUEST_EVENT (..) => REQUEST_EVENT_DATA :: ID , Self :: HYGROMETER_SENSOR (..) => HYGROMETER_SENSOR_DATA :: ID , Self :: REQUEST_DATA_STREAM (..) => REQUEST_DATA_STREAM_DATA :: ID , Self :: V2_EXTENSION (..) => V2_EXTENSION_DATA :: ID , Self :: DEBUG_VECT (..) => DEBUG_VECT_DATA :: ID , Self :: LOGGING_ACK (..) => LOGGING_ACK_DATA :: ID , Self :: OPEN_DRONE_ID_OPERATOR_ID (..) => OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID , Self :: ISBD_LINK_STATUS (..) => ISBD_LINK_STATUS_DATA :: ID , Self :: CONTROL_SYSTEM_STATE (..) => CONTROL_SYSTEM_STATE_DATA :: ID , Self :: OBSTACLE_DISTANCE (..) => OBSTACLE_DISTANCE_DATA :: ID , Self :: SCALED_IMU2 (..) => SCALED_IMU2_DATA :: ID , Self :: PARAM_VALUE (..) => PARAM_VALUE_DATA :: ID , Self :: SERVO_OUTPUT_RAW (..) => SERVO_OUTPUT_RAW_DATA :: ID , Self :: CAMERA_TRACKING_GEO_STATUS (..) => CAMERA_TRACKING_GEO_STATUS_DATA :: ID , Self :: SET_ACTUATOR_CONTROL_TARGET (..) => SET_ACTUATOR_CONTROL_TARGET_DATA :: ID , Self :: GIMBAL_MANAGER_STATUS (..) => GIMBAL_MANAGER_STATUS_DATA :: ID , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (..) => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID , Self :: PARAM_REQUEST_LIST (..) => PARAM_REQUEST_LIST_DATA :: ID , Self :: UAVCAN_NODE_STATUS (..) => UAVCAN_NODE_STATUS_DATA :: ID , Self :: PARAM_SET (..) => PARAM_SET_DATA :: ID , Self :: SCALED_PRESSURE (..) => SCALED_PRESSURE_DATA :: ID , Self :: SYSTEM_TIME (..) => SYSTEM_TIME_DATA :: ID , Self :: ENCAPSULATED_DATA (..) => ENCAPSULATED_DATA_DATA :: ID , Self :: ACTUATOR_CONTROL_TARGET (..) => ACTUATOR_CONTROL_TARGET_DATA :: ID , Self :: SET_HOME_POSITION (..) => SET_HOME_POSITION_DATA :: ID , Self :: SYS_STATUS (..) => SYS_STATUS_DATA :: ID , Self :: TIMESYNC (..) => TIMESYNC_DATA :: ID , Self :: LOG_REQUEST_END (..) => LOG_REQUEST_END_DATA :: ID , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (..) => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID , Self :: AUTOPILOT_VERSION (..) => AUTOPILOT_VERSION_DATA :: ID , Self :: MEMORY_VECT (..) => MEMORY_VECT_DATA :: ID , Self :: VIDEO_STREAM_INFORMATION (..) => VIDEO_STREAM_INFORMATION_DATA :: ID , Self :: CHANGE_OPERATOR_CONTROL (..) => CHANGE_OPERATOR_CONTROL_DATA :: ID , Self :: GPS_INPUT (..) => GPS_INPUT_DATA :: ID , Self :: COLLISION (..) => COLLISION_DATA :: ID , Self :: SCALED_IMU3 (..) => SCALED_IMU3_DATA :: ID , Self :: CAMERA_INFORMATION (..) => CAMERA_INFORMATION_DATA :: ID , Self :: SET_ATTITUDE_TARGET (..) => SET_ATTITUDE_TARGET_DATA :: ID , Self :: PARAM_EXT_ACK (..) => PARAM_EXT_ACK_DATA :: ID , Self :: ORBIT_EXECUTION_STATUS (..) => ORBIT_EXECUTION_STATUS_DATA :: ID , Self :: SERIAL_CONTROL (..) => SERIAL_CONTROL_DATA :: ID , Self :: LOGGING_DATA (..) => LOGGING_DATA_DATA :: ID , Self :: TRAJECTORY_REPRESENTATION_BEZIER (..) => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID , Self :: ALTITUDE (..) => ALTITUDE_DATA :: ID , Self :: RC_CHANNELS (..) => RC_CHANNELS_DATA :: ID , Self :: RESOURCE_REQUEST (..) => RESOURCE_REQUEST_DATA :: ID , Self :: COMPONENT_METADATA (..) => COMPONENT_METADATA_DATA :: ID , Self :: SUPPORTED_TUNES (..) => SUPPORTED_TUNES_DATA :: ID , Self :: OPEN_DRONE_ID_LOCATION (..) => OPEN_DRONE_ID_LOCATION_DATA :: ID , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (..) => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID , Self :: BUTTON_CHANGE (..) => BUTTON_CHANGE_DATA :: ID , Self :: GLOBAL_POSITION_INT (..) => GLOBAL_POSITION_INT_DATA :: ID , Self :: GIMBAL_DEVICE_INFORMATION (..) => GIMBAL_DEVICE_INFORMATION_DATA :: ID , Self :: ATTITUDE_QUATERNION (..) => ATTITUDE_QUATERNION_DATA :: ID , Self :: LANDING_TARGET (..) => LANDING_TARGET_DATA :: ID , Self :: LOG_ENTRY (..) => LOG_ENTRY_DATA :: ID , Self :: POSITION_TARGET_LOCAL_NED (..) => POSITION_TARGET_LOCAL_NED_DATA :: ID , Self :: SET_MODE (..) => SET_MODE_DATA :: ID , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (..) => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID , Self :: VICON_POSITION_ESTIMATE (..) => VICON_POSITION_ESTIMATE_DATA :: ID , Self :: DEBUG (..) => DEBUG_DATA :: ID , Self :: COMMAND_INT (..) => COMMAND_INT_DATA :: ID , Self :: LOG_REQUEST_LIST (..) => LOG_REQUEST_LIST_DATA :: ID , Self :: ATTITUDE_QUATERNION_COV (..) => ATTITUDE_QUATERNION_COV_DATA :: ID , Self :: UTM_GLOBAL_POSITION (..) => UTM_GLOBAL_POSITION_DATA :: ID , Self :: MISSION_SET_CURRENT (..) => MISSION_SET_CURRENT_DATA :: ID , Self :: AIS_VESSEL (..) => AIS_VESSEL_DATA :: ID , Self :: ATT_POS_MOCAP (..) => ATT_POS_MOCAP_DATA :: ID , Self :: HIL_RC_INPUTS_RAW (..) => HIL_RC_INPUTS_RAW_DATA :: ID , Self :: LOG_REQUEST_DATA (..) => LOG_REQUEST_DATA_DATA :: ID , Self :: TUNNEL (..) => TUNNEL_DATA :: ID , Self :: NAMED_VALUE_FLOAT (..) => NAMED_VALUE_FLOAT_DATA :: ID , Self :: AUTH_KEY (..) => AUTH_KEY_DATA :: ID , Self :: TERRAIN_DATA (..) => TERRAIN_DATA_DATA :: ID , Self :: OPEN_DRONE_ID_BASIC_ID (..) => OPEN_DRONE_ID_BASIC_ID_DATA :: ID , Self :: CELLULAR_CONFIG (..) => CELLULAR_CONFIG_DATA :: ID , Self :: HEARTBEAT (..) => HEARTBEAT_DATA :: ID , Self :: MISSION_COUNT (..) => MISSION_COUNT_DATA :: ID , Self :: PING (..) => PING_DATA :: ID , Self :: OPEN_DRONE_ID_SYSTEM (..) => OPEN_DRONE_ID_SYSTEM_DATA :: ID , Self :: GLOBAL_POSITION_INT_COV (..) => GLOBAL_POSITION_INT_COV_DATA :: ID , Self :: ACTUATOR_OUTPUT_STATUS (..) => ACTUATOR_OUTPUT_STATUS_DATA :: ID , Self :: OPEN_DRONE_ID_AUTHENTICATION (..) => OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID , Self :: NAV_CONTROLLER_OUTPUT (..) => NAV_CONTROLLER_OUTPUT_DATA :: ID , Self :: PLAY_TUNE_V2 (..) => PLAY_TUNE_V2_DATA :: ID , Self :: VISION_POSITION_ESTIMATE (..) => VISION_POSITION_ESTIMATE_DATA :: ID , Self :: STORAGE_INFORMATION (..) => STORAGE_INFORMATION_DATA :: ID , Self :: SETUP_SIGNING (..) => SETUP_SIGNING_DATA :: ID , Self :: LOGGING_DATA_ACKED (..) => LOGGING_DATA_ACKED_DATA :: ID , Self :: LOG_ERASE (..) => LOG_ERASE_DATA :: ID , Self :: GPS_RAW_INT (..) => GPS_RAW_INT_DATA :: ID , Self :: GIMBAL_MANAGER_INFORMATION (..) => GIMBAL_MANAGER_INFORMATION_DATA :: ID , Self :: MISSION_ITEM_INT (..) => MISSION_ITEM_INT_DATA :: ID , Self :: WINCH_STATUS (..) => WINCH_STATUS_DATA :: ID , Self :: FILE_TRANSFER_PROTOCOL (..) => FILE_TRANSFER_PROTOCOL_DATA :: ID , Self :: GPS2_RAW (..) => GPS2_RAW_DATA :: ID , Self :: GPS_RTK (..) => GPS_RTK_DATA :: ID , Self :: VIBRATION (..) => VIBRATION_DATA :: ID , Self :: HIL_STATE (..) => HIL_STATE_DATA :: ID , Self :: GPS_STATUS (..) => GPS_STATUS_DATA :: ID , Self :: SCALED_IMU (..) => SCALED_IMU_DATA :: ID , Self :: HIL_ACTUATOR_CONTROLS (..) => HIL_ACTUATOR_CONTROLS_DATA :: ID , Self :: MISSION_REQUEST_LIST (..) => MISSION_REQUEST_LIST_DATA :: ID , Self :: PARAM_EXT_REQUEST_LIST (..) => PARAM_EXT_REQUEST_LIST_DATA :: ID , Self :: PARAM_EXT_VALUE (..) => PARAM_EXT_VALUE_DATA :: ID , Self :: CELLULAR_STATUS (..) => CELLULAR_STATUS_DATA :: ID , Self :: CANFD_FRAME (..) => CANFD_FRAME_DATA :: ID , Self :: GPS_RTCM_DATA (..) => GPS_RTCM_DATA_DATA :: ID , Self :: MANUAL_CONTROL (..) => MANUAL_CONTROL_DATA :: ID , Self :: COMMAND_ACK (..) => COMMAND_ACK_DATA :: ID , Self :: RADIO_STATUS (..) => RADIO_STATUS_DATA :: ID , Self :: TERRAIN_REQUEST (..) => TERRAIN_REQUEST_DATA :: ID , Self :: VIDEO_STREAM_STATUS (..) => VIDEO_STREAM_STATUS_DATA :: ID , Self :: TIME_ESTIMATE_TO_TARGET (..) => TIME_ESTIMATE_TO_TARGET_DATA :: ID , Self :: CAMERA_IMAGE_CAPTURED (..) => CAMERA_IMAGE_CAPTURED_DATA :: ID , Self :: WHEEL_DISTANCE (..) => WHEEL_DISTANCE_DATA :: ID , Self :: MISSION_CURRENT (..) => MISSION_CURRENT_DATA :: ID , Self :: VFR_HUD (..) => VFR_HUD_DATA :: ID , Self :: SET_POSITION_TARGET_GLOBAL_INT (..) => SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID , Self :: POSITION_TARGET_GLOBAL_INT (..) => POSITION_TARGET_GLOBAL_INT_DATA :: ID , Self :: VISION_SPEED_ESTIMATE (..) => VISION_SPEED_ESTIMATE_DATA :: ID , Self :: BATTERY_STATUS (..) => BATTERY_STATUS_DATA :: ID , Self :: FENCE_STATUS (..) => FENCE_STATUS_DATA :: ID , Self :: PROTOCOL_VERSION (..) => PROTOCOL_VERSION_DATA :: ID , Self :: RAW_PRESSURE (..) => RAW_PRESSURE_DATA :: ID , Self :: SCALED_PRESSURE3 (..) => SCALED_PRESSURE3_DATA :: ID , Self :: GPS_GLOBAL_ORIGIN (..) => GPS_GLOBAL_ORIGIN_DATA :: ID , Self :: MISSION_REQUEST_PARTIAL_LIST (..) => MISSION_REQUEST_PARTIAL_LIST_DATA :: ID , Self :: GIMBAL_MANAGER_SET_PITCHYAW (..) => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID , Self :: RESPONSE_EVENT_ERROR (..) => RESPONSE_EVENT_ERROR_DATA :: ID , Self :: LINK_NODE_STATUS (..) => LINK_NODE_STATUS_DATA :: ID , Self :: DATA_STREAM (..) => DATA_STREAM_DATA :: ID , Self :: HIL_SENSOR (..) => HIL_SENSOR_DATA :: ID , Self :: OPEN_DRONE_ID_MESSAGE_PACK (..) => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID , Self :: WIND_COV (..) => WIND_COV_DATA :: ID , Self :: OPTICAL_FLOW_RAD (..) => OPTICAL_FLOW_RAD_DATA :: ID , Self :: TERRAIN_REPORT (..) => TERRAIN_REPORT_DATA :: ID , Self :: PARAM_MAP_RC (..) => PARAM_MAP_RC_DATA :: ID , Self :: CAMERA_TRIGGER (..) => CAMERA_TRIGGER_DATA :: ID , Self :: NAMED_VALUE_INT (..) => NAMED_VALUE_INT_DATA :: ID , Self :: CAMERA_SETTINGS (..) => CAMERA_SETTINGS_DATA :: ID , Self :: WIFI_CONFIG_AP (..) => WIFI_CONFIG_AP_DATA :: ID , Self :: HIGHRES_IMU (..) => HIGHRES_IMU_DATA :: ID , Self :: FLIGHT_INFORMATION (..) => FLIGHT_INFORMATION_DATA :: ID , Self :: MAG_CAL_REPORT (..) => MAG_CAL_REPORT_DATA :: ID , Self :: ATTITUDE (..) => ATTITUDE_DATA :: ID , Self :: MISSION_ITEM_REACHED (..) => MISSION_ITEM_REACHED_DATA :: ID , Self :: POWER_STATUS (..) => POWER_STATUS_DATA :: ID , Self :: MISSION_REQUEST_INT (..) => MISSION_REQUEST_INT_DATA :: ID , Self :: SMART_BATTERY_INFO (..) => SMART_BATTERY_INFO_DATA :: ID , Self :: PARAM_REQUEST_READ (..) => PARAM_REQUEST_READ_DATA :: ID , Self :: COMMAND_LONG (..) => COMMAND_LONG_DATA :: ID , Self :: CHANGE_OPERATOR_CONTROL_ACK (..) => CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID , Self :: OPTICAL_FLOW (..) => OPTICAL_FLOW_DATA :: ID , Self :: HIL_CONTROLS (..) => HIL_CONTROLS_DATA :: ID , Self :: CAMERA_CAPTURE_STATUS (..) => CAMERA_CAPTURE_STATUS_DATA :: ID , Self :: MISSION_WRITE_PARTIAL_LIST (..) => MISSION_WRITE_PARTIAL_LIST_DATA :: ID , Self :: COMMAND_CANCEL (..) => COMMAND_CANCEL_DATA :: ID , Self :: ODOMETRY (..) => ODOMETRY_DATA :: ID , Self :: ADSB_VEHICLE (..) => ADSB_VEHICLE_DATA :: ID , Self :: MESSAGE_INTERVAL (..) => MESSAGE_INTERVAL_DATA :: ID , Self :: DISTANCE_SENSOR (..) => DISTANCE_SENSOR_DATA :: ID , Self :: RC_CHANNELS_RAW (..) => RC_CHANNELS_RAW_DATA :: ID , Self :: HOME_POSITION (..) => HOME_POSITION_DATA :: ID , Self :: MISSION_REQUEST (..) => MISSION_REQUEST_DATA :: ID , Self :: HIL_STATE_QUATERNION (..) => HIL_STATE_QUATERNION_DATA :: ID , Self :: RC_CHANNELS_OVERRIDE (..) => RC_CHANNELS_OVERRIDE_DATA :: ID , Self :: SET_POSITION_TARGET_LOCAL_NED (..) => SET_POSITION_TARGET_LOCAL_NED_DATA :: ID , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (..) => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID , Self :: EXTENDED_SYS_STATE (..) => EXTENDED_SYS_STATE_DATA :: ID , Self :: ATTITUDE_TARGET (..) => ATTITUDE_TARGET_DATA :: ID , Self :: MANUAL_SETPOINT (..) => MANUAL_SETPOINT_DATA :: ID , Self :: UAVCAN_NODE_INFO (..) => UAVCAN_NODE_INFO_DATA :: ID , Self :: SET_GPS_GLOBAL_ORIGIN (..) => SET_GPS_GLOBAL_ORIGIN_DATA :: ID , Self :: GLOBAL_VISION_POSITION_ESTIMATE (..) => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID , Self :: RAW_RPM (..) => RAW_RPM_DATA :: ID , Self :: GPS2_RTK (..) => GPS2_RTK_DATA :: ID , Self :: HIL_OPTICAL_FLOW (..) => HIL_OPTICAL_FLOW_DATA :: ID , Self :: CAMERA_FOV_STATUS (..) => CAMERA_FOV_STATUS_DATA :: ID , Self :: DEBUG_FLOAT_ARRAY (..) => DEBUG_FLOAT_ARRAY_DATA :: ID , Self :: GENERATOR_STATUS (..) => GENERATOR_STATUS_DATA :: ID , Self :: ESC_STATUS (..) => ESC_STATUS_DATA :: ID , } } fn message_id_from_name (name : & str) -> Result < u32 , & 'static str > { match name { LOCAL_POSITION_NED_DATA :: NAME => Ok (LOCAL_POSITION_NED_DATA :: ID) , SAFETY_ALLOWED_AREA_DATA :: NAME => Ok (SAFETY_ALLOWED_AREA_DATA :: ID) , MISSION_ACK_DATA :: NAME => Ok (MISSION_ACK_DATA :: ID) , SCALED_PRESSURE2_DATA :: NAME => Ok (SCALED_PRESSURE2_DATA :: ID) , SIM_STATE_DATA :: NAME => Ok (SIM_STATE_DATA :: ID) , HIGH_LATENCY2_DATA :: NAME => Ok (HIGH_LATENCY2_DATA :: ID) , STATUSTEXT_DATA :: NAME => Ok (STATUSTEXT_DATA :: ID) , ESTIMATOR_STATUS_DATA :: NAME => Ok (ESTIMATOR_STATUS_DATA :: ID) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: NAME => Ok (GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID) , ESC_INFO_DATA :: NAME => Ok (ESC_INFO_DATA :: ID) , LOCAL_POSITION_NED_COV_DATA :: NAME => Ok (LOCAL_POSITION_NED_COV_DATA :: ID) , MISSION_ITEM_DATA :: NAME => Ok (MISSION_ITEM_DATA :: ID) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID) , PARAM_EXT_REQUEST_READ_DATA :: NAME => Ok (PARAM_EXT_REQUEST_READ_DATA :: ID) , MISSION_CLEAR_ALL_DATA :: NAME => Ok (MISSION_CLEAR_ALL_DATA :: ID) , TERRAIN_CHECK_DATA :: NAME => Ok (TERRAIN_CHECK_DATA :: ID) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID) , PARAM_EXT_SET_DATA :: NAME => Ok (PARAM_EXT_SET_DATA :: ID) , CAN_FRAME_DATA :: NAME => Ok (CAN_FRAME_DATA :: ID) , COMPONENT_INFORMATION_DATA :: NAME => Ok (COMPONENT_INFORMATION_DATA :: ID) , GPS_INJECT_DATA_DATA :: NAME => Ok (GPS_INJECT_DATA_DATA :: ID) , CURRENT_EVENT_SEQUENCE_DATA :: NAME => Ok (CURRENT_EVENT_SEQUENCE_DATA :: ID) , DATA_TRANSMISSION_HANDSHAKE_DATA :: NAME => Ok (DATA_TRANSMISSION_HANDSHAKE_DATA :: ID) , FOLLOW_TARGET_DATA :: NAME => Ok (FOLLOW_TARGET_DATA :: ID) , ONBOARD_COMPUTER_STATUS_DATA :: NAME => Ok (ONBOARD_COMPUTER_STATUS_DATA :: ID) , HIL_GPS_DATA :: NAME => Ok (HIL_GPS_DATA :: ID) , CAN_FILTER_MODIFY_DATA :: NAME => Ok (CAN_FILTER_MODIFY_DATA :: ID) , OPEN_DRONE_ID_SELF_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_SELF_ID_DATA :: ID) , LOG_DATA_DATA :: NAME => Ok (LOG_DATA_DATA :: ID) , OPEN_DRONE_ID_ARM_STATUS_DATA :: NAME => Ok (OPEN_DRONE_ID_ARM_STATUS_DATA :: ID) , HIGH_LATENCY_DATA :: NAME => Ok (HIGH_LATENCY_DATA :: ID) , PLAY_TUNE_DATA :: NAME => Ok (PLAY_TUNE_DATA :: ID) , RC_CHANNELS_SCALED_DATA :: NAME => Ok (RC_CHANNELS_SCALED_DATA :: ID) , RAW_IMU_DATA :: NAME => Ok (RAW_IMU_DATA :: ID) , SAFETY_SET_ALLOWED_AREA_DATA :: NAME => Ok (SAFETY_SET_ALLOWED_AREA_DATA :: ID) , MOUNT_ORIENTATION_DATA :: NAME => Ok (MOUNT_ORIENTATION_DATA :: ID) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: NAME => Ok (CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID) , EVENT_DATA :: NAME => Ok (EVENT_DATA :: ID) , EFI_STATUS_DATA :: NAME => Ok (EFI_STATUS_DATA :: ID) , REQUEST_EVENT_DATA :: NAME => Ok (REQUEST_EVENT_DATA :: ID) , HYGROMETER_SENSOR_DATA :: NAME => Ok (HYGROMETER_SENSOR_DATA :: ID) , REQUEST_DATA_STREAM_DATA :: NAME => Ok (REQUEST_DATA_STREAM_DATA :: ID) , V2_EXTENSION_DATA :: NAME => Ok (V2_EXTENSION_DATA :: ID) , DEBUG_VECT_DATA :: NAME => Ok (DEBUG_VECT_DATA :: ID) , LOGGING_ACK_DATA :: NAME => Ok (LOGGING_ACK_DATA :: ID) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID) , ISBD_LINK_STATUS_DATA :: NAME => Ok (ISBD_LINK_STATUS_DATA :: ID) , CONTROL_SYSTEM_STATE_DATA :: NAME => Ok (CONTROL_SYSTEM_STATE_DATA :: ID) , OBSTACLE_DISTANCE_DATA :: NAME => Ok (OBSTACLE_DISTANCE_DATA :: ID) , SCALED_IMU2_DATA :: NAME => Ok (SCALED_IMU2_DATA :: ID) , PARAM_VALUE_DATA :: NAME => Ok (PARAM_VALUE_DATA :: ID) , SERVO_OUTPUT_RAW_DATA :: NAME => Ok (SERVO_OUTPUT_RAW_DATA :: ID) , CAMERA_TRACKING_GEO_STATUS_DATA :: NAME => Ok (CAMERA_TRACKING_GEO_STATUS_DATA :: ID) , SET_ACTUATOR_CONTROL_TARGET_DATA :: NAME => Ok (SET_ACTUATOR_CONTROL_TARGET_DATA :: ID) , GIMBAL_MANAGER_STATUS_DATA :: NAME => Ok (GIMBAL_MANAGER_STATUS_DATA :: ID) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: NAME => Ok (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID) , PARAM_REQUEST_LIST_DATA :: NAME => Ok (PARAM_REQUEST_LIST_DATA :: ID) , UAVCAN_NODE_STATUS_DATA :: NAME => Ok (UAVCAN_NODE_STATUS_DATA :: ID) , PARAM_SET_DATA :: NAME => Ok (PARAM_SET_DATA :: ID) , SCALED_PRESSURE_DATA :: NAME => Ok (SCALED_PRESSURE_DATA :: ID) , SYSTEM_TIME_DATA :: NAME => Ok (SYSTEM_TIME_DATA :: ID) , ENCAPSULATED_DATA_DATA :: NAME => Ok (ENCAPSULATED_DATA_DATA :: ID) , ACTUATOR_CONTROL_TARGET_DATA :: NAME => Ok (ACTUATOR_CONTROL_TARGET_DATA :: ID) , SET_HOME_POSITION_DATA :: NAME => Ok (SET_HOME_POSITION_DATA :: ID) , SYS_STATUS_DATA :: NAME => Ok (SYS_STATUS_DATA :: ID) , TIMESYNC_DATA :: NAME => Ok (TIMESYNC_DATA :: ID) , LOG_REQUEST_END_DATA :: NAME => Ok (LOG_REQUEST_END_DATA :: ID) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: NAME => Ok (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID) , AUTOPILOT_VERSION_DATA :: NAME => Ok (AUTOPILOT_VERSION_DATA :: ID) , MEMORY_VECT_DATA :: NAME => Ok (MEMORY_VECT_DATA :: ID) , VIDEO_STREAM_INFORMATION_DATA :: NAME => Ok (VIDEO_STREAM_INFORMATION_DATA :: ID) , CHANGE_OPERATOR_CONTROL_DATA :: NAME => Ok (CHANGE_OPERATOR_CONTROL_DATA :: ID) , GPS_INPUT_DATA :: NAME => Ok (GPS_INPUT_DATA :: ID) , COLLISION_DATA :: NAME => Ok (COLLISION_DATA :: ID) , SCALED_IMU3_DATA :: NAME => Ok (SCALED_IMU3_DATA :: ID) , CAMERA_INFORMATION_DATA :: NAME => Ok (CAMERA_INFORMATION_DATA :: ID) , SET_ATTITUDE_TARGET_DATA :: NAME => Ok (SET_ATTITUDE_TARGET_DATA :: ID) , PARAM_EXT_ACK_DATA :: NAME => Ok (PARAM_EXT_ACK_DATA :: ID) , ORBIT_EXECUTION_STATUS_DATA :: NAME => Ok (ORBIT_EXECUTION_STATUS_DATA :: ID) , SERIAL_CONTROL_DATA :: NAME => Ok (SERIAL_CONTROL_DATA :: ID) , LOGGING_DATA_DATA :: NAME => Ok (LOGGING_DATA_DATA :: ID) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: NAME => Ok (TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID) , ALTITUDE_DATA :: NAME => Ok (ALTITUDE_DATA :: ID) , RC_CHANNELS_DATA :: NAME => Ok (RC_CHANNELS_DATA :: ID) , RESOURCE_REQUEST_DATA :: NAME => Ok (RESOURCE_REQUEST_DATA :: ID) , COMPONENT_METADATA_DATA :: NAME => Ok (COMPONENT_METADATA_DATA :: ID) , SUPPORTED_TUNES_DATA :: NAME => Ok (SUPPORTED_TUNES_DATA :: ID) , OPEN_DRONE_ID_LOCATION_DATA :: NAME => Ok (OPEN_DRONE_ID_LOCATION_DATA :: ID) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: NAME => Ok (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID) , BUTTON_CHANGE_DATA :: NAME => Ok (BUTTON_CHANGE_DATA :: ID) , GLOBAL_POSITION_INT_DATA :: NAME => Ok (GLOBAL_POSITION_INT_DATA :: ID) , GIMBAL_DEVICE_INFORMATION_DATA :: NAME => Ok (GIMBAL_DEVICE_INFORMATION_DATA :: ID) , ATTITUDE_QUATERNION_DATA :: NAME => Ok (ATTITUDE_QUATERNION_DATA :: ID) , LANDING_TARGET_DATA :: NAME => Ok (LANDING_TARGET_DATA :: ID) , LOG_ENTRY_DATA :: NAME => Ok (LOG_ENTRY_DATA :: ID) , POSITION_TARGET_LOCAL_NED_DATA :: NAME => Ok (POSITION_TARGET_LOCAL_NED_DATA :: ID) , SET_MODE_DATA :: NAME => Ok (SET_MODE_DATA :: ID) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: NAME => Ok (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID) , VICON_POSITION_ESTIMATE_DATA :: NAME => Ok (VICON_POSITION_ESTIMATE_DATA :: ID) , DEBUG_DATA :: NAME => Ok (DEBUG_DATA :: ID) , COMMAND_INT_DATA :: NAME => Ok (COMMAND_INT_DATA :: ID) , LOG_REQUEST_LIST_DATA :: NAME => Ok (LOG_REQUEST_LIST_DATA :: ID) , ATTITUDE_QUATERNION_COV_DATA :: NAME => Ok (ATTITUDE_QUATERNION_COV_DATA :: ID) , UTM_GLOBAL_POSITION_DATA :: NAME => Ok (UTM_GLOBAL_POSITION_DATA :: ID) , MISSION_SET_CURRENT_DATA :: NAME => Ok (MISSION_SET_CURRENT_DATA :: ID) , AIS_VESSEL_DATA :: NAME => Ok (AIS_VESSEL_DATA :: ID) , ATT_POS_MOCAP_DATA :: NAME => Ok (ATT_POS_MOCAP_DATA :: ID) , HIL_RC_INPUTS_RAW_DATA :: NAME => Ok (HIL_RC_INPUTS_RAW_DATA :: ID) , LOG_REQUEST_DATA_DATA :: NAME => Ok (LOG_REQUEST_DATA_DATA :: ID) , TUNNEL_DATA :: NAME => Ok (TUNNEL_DATA :: ID) , NAMED_VALUE_FLOAT_DATA :: NAME => Ok (NAMED_VALUE_FLOAT_DATA :: ID) , AUTH_KEY_DATA :: NAME => Ok (AUTH_KEY_DATA :: ID) , TERRAIN_DATA_DATA :: NAME => Ok (TERRAIN_DATA_DATA :: ID) , OPEN_DRONE_ID_BASIC_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_BASIC_ID_DATA :: ID) , CELLULAR_CONFIG_DATA :: NAME => Ok (CELLULAR_CONFIG_DATA :: ID) , HEARTBEAT_DATA :: NAME => Ok (HEARTBEAT_DATA :: ID) , MISSION_COUNT_DATA :: NAME => Ok (MISSION_COUNT_DATA :: ID) , PING_DATA :: NAME => Ok (PING_DATA :: ID) , OPEN_DRONE_ID_SYSTEM_DATA :: NAME => Ok (OPEN_DRONE_ID_SYSTEM_DATA :: ID) , GLOBAL_POSITION_INT_COV_DATA :: NAME => Ok (GLOBAL_POSITION_INT_COV_DATA :: ID) , ACTUATOR_OUTPUT_STATUS_DATA :: NAME => Ok (ACTUATOR_OUTPUT_STATUS_DATA :: ID) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: NAME => Ok (OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID) , NAV_CONTROLLER_OUTPUT_DATA :: NAME => Ok (NAV_CONTROLLER_OUTPUT_DATA :: ID) , PLAY_TUNE_V2_DATA :: NAME => Ok (PLAY_TUNE_V2_DATA :: ID) , VISION_POSITION_ESTIMATE_DATA :: NAME => Ok (VISION_POSITION_ESTIMATE_DATA :: ID) , STORAGE_INFORMATION_DATA :: NAME => Ok (STORAGE_INFORMATION_DATA :: ID) , SETUP_SIGNING_DATA :: NAME => Ok (SETUP_SIGNING_DATA :: ID) , LOGGING_DATA_ACKED_DATA :: NAME => Ok (LOGGING_DATA_ACKED_DATA :: ID) , LOG_ERASE_DATA :: NAME => Ok (LOG_ERASE_DATA :: ID) , GPS_RAW_INT_DATA :: NAME => Ok (GPS_RAW_INT_DATA :: ID) , GIMBAL_MANAGER_INFORMATION_DATA :: NAME => Ok (GIMBAL_MANAGER_INFORMATION_DATA :: ID) , MISSION_ITEM_INT_DATA :: NAME => Ok (MISSION_ITEM_INT_DATA :: ID) , WINCH_STATUS_DATA :: NAME => Ok (WINCH_STATUS_DATA :: ID) , FILE_TRANSFER_PROTOCOL_DATA :: NAME => Ok (FILE_TRANSFER_PROTOCOL_DATA :: ID) , GPS2_RAW_DATA :: NAME => Ok (GPS2_RAW_DATA :: ID) , GPS_RTK_DATA :: NAME => Ok (GPS_RTK_DATA :: ID) , VIBRATION_DATA :: NAME => Ok (VIBRATION_DATA :: ID) , HIL_STATE_DATA :: NAME => Ok (HIL_STATE_DATA :: ID) , GPS_STATUS_DATA :: NAME => Ok (GPS_STATUS_DATA :: ID) , SCALED_IMU_DATA :: NAME => Ok (SCALED_IMU_DATA :: ID) , HIL_ACTUATOR_CONTROLS_DATA :: NAME => Ok (HIL_ACTUATOR_CONTROLS_DATA :: ID) , MISSION_REQUEST_LIST_DATA :: NAME => Ok (MISSION_REQUEST_LIST_DATA :: ID) , PARAM_EXT_REQUEST_LIST_DATA :: NAME => Ok (PARAM_EXT_REQUEST_LIST_DATA :: ID) , PARAM_EXT_VALUE_DATA :: NAME => Ok (PARAM_EXT_VALUE_DATA :: ID) , CELLULAR_STATUS_DATA :: NAME => Ok (CELLULAR_STATUS_DATA :: ID) , CANFD_FRAME_DATA :: NAME => Ok (CANFD_FRAME_DATA :: ID) , GPS_RTCM_DATA_DATA :: NAME => Ok (GPS_RTCM_DATA_DATA :: ID) , MANUAL_CONTROL_DATA :: NAME => Ok (MANUAL_CONTROL_DATA :: ID) , COMMAND_ACK_DATA :: NAME => Ok (COMMAND_ACK_DATA :: ID) , RADIO_STATUS_DATA :: NAME => Ok (RADIO_STATUS_DATA :: ID) , TERRAIN_REQUEST_DATA :: NAME => Ok (TERRAIN_REQUEST_DATA :: ID) , VIDEO_STREAM_STATUS_DATA :: NAME => Ok (VIDEO_STREAM_STATUS_DATA :: ID) , TIME_ESTIMATE_TO_TARGET_DATA :: NAME => Ok (TIME_ESTIMATE_TO_TARGET_DATA :: ID) , CAMERA_IMAGE_CAPTURED_DATA :: NAME => Ok (CAMERA_IMAGE_CAPTURED_DATA :: ID) , WHEEL_DISTANCE_DATA :: NAME => Ok (WHEEL_DISTANCE_DATA :: ID) , MISSION_CURRENT_DATA :: NAME => Ok (MISSION_CURRENT_DATA :: ID) , VFR_HUD_DATA :: NAME => Ok (VFR_HUD_DATA :: ID) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: NAME => Ok (SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID) , POSITION_TARGET_GLOBAL_INT_DATA :: NAME => Ok (POSITION_TARGET_GLOBAL_INT_DATA :: ID) , VISION_SPEED_ESTIMATE_DATA :: NAME => Ok (VISION_SPEED_ESTIMATE_DATA :: ID) , BATTERY_STATUS_DATA :: NAME => Ok (BATTERY_STATUS_DATA :: ID) , FENCE_STATUS_DATA :: NAME => Ok (FENCE_STATUS_DATA :: ID) , PROTOCOL_VERSION_DATA :: NAME => Ok (PROTOCOL_VERSION_DATA :: ID) , RAW_PRESSURE_DATA :: NAME => Ok (RAW_PRESSURE_DATA :: ID) , SCALED_PRESSURE3_DATA :: NAME => Ok (SCALED_PRESSURE3_DATA :: ID) , GPS_GLOBAL_ORIGIN_DATA :: NAME => Ok (GPS_GLOBAL_ORIGIN_DATA :: ID) , MISSION_REQUEST_PARTIAL_LIST_DATA :: NAME => Ok (MISSION_REQUEST_PARTIAL_LIST_DATA :: ID) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID) , RESPONSE_EVENT_ERROR_DATA :: NAME => Ok (RESPONSE_EVENT_ERROR_DATA :: ID) , LINK_NODE_STATUS_DATA :: NAME => Ok (LINK_NODE_STATUS_DATA :: ID) , DATA_STREAM_DATA :: NAME => Ok (DATA_STREAM_DATA :: ID) , HIL_SENSOR_DATA :: NAME => Ok (HIL_SENSOR_DATA :: ID) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: NAME => Ok (OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID) , WIND_COV_DATA :: NAME => Ok (WIND_COV_DATA :: ID) , OPTICAL_FLOW_RAD_DATA :: NAME => Ok (OPTICAL_FLOW_RAD_DATA :: ID) , TERRAIN_REPORT_DATA :: NAME => Ok (TERRAIN_REPORT_DATA :: ID) , PARAM_MAP_RC_DATA :: NAME => Ok (PARAM_MAP_RC_DATA :: ID) , CAMERA_TRIGGER_DATA :: NAME => Ok (CAMERA_TRIGGER_DATA :: ID) , NAMED_VALUE_INT_DATA :: NAME => Ok (NAMED_VALUE_INT_DATA :: ID) , CAMERA_SETTINGS_DATA :: NAME => Ok (CAMERA_SETTINGS_DATA :: ID) , WIFI_CONFIG_AP_DATA :: NAME => Ok (WIFI_CONFIG_AP_DATA :: ID) , HIGHRES_IMU_DATA :: NAME => Ok (HIGHRES_IMU_DATA :: ID) , FLIGHT_INFORMATION_DATA :: NAME => Ok (FLIGHT_INFORMATION_DATA :: ID) , MAG_CAL_REPORT_DATA :: NAME => Ok (MAG_CAL_REPORT_DATA :: ID) , ATTITUDE_DATA :: NAME => Ok (ATTITUDE_DATA :: ID) , MISSION_ITEM_REACHED_DATA :: NAME => Ok (MISSION_ITEM_REACHED_DATA :: ID) , POWER_STATUS_DATA :: NAME => Ok (POWER_STATUS_DATA :: ID) , MISSION_REQUEST_INT_DATA :: NAME => Ok (MISSION_REQUEST_INT_DATA :: ID) , SMART_BATTERY_INFO_DATA :: NAME => Ok (SMART_BATTERY_INFO_DATA :: ID) , PARAM_REQUEST_READ_DATA :: NAME => Ok (PARAM_REQUEST_READ_DATA :: ID) , COMMAND_LONG_DATA :: NAME => Ok (COMMAND_LONG_DATA :: ID) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: NAME => Ok (CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID) , OPTICAL_FLOW_DATA :: NAME => Ok (OPTICAL_FLOW_DATA :: ID) , HIL_CONTROLS_DATA :: NAME => Ok (HIL_CONTROLS_DATA :: ID) , CAMERA_CAPTURE_STATUS_DATA :: NAME => Ok (CAMERA_CAPTURE_STATUS_DATA :: ID) , MISSION_WRITE_PARTIAL_LIST_DATA :: NAME => Ok (MISSION_WRITE_PARTIAL_LIST_DATA :: ID) , COMMAND_CANCEL_DATA :: NAME => Ok (COMMAND_CANCEL_DATA :: ID) , ODOMETRY_DATA :: NAME => Ok (ODOMETRY_DATA :: ID) , ADSB_VEHICLE_DATA :: NAME => Ok (ADSB_VEHICLE_DATA :: ID) , MESSAGE_INTERVAL_DATA :: NAME => Ok (MESSAGE_INTERVAL_DATA :: ID) , DISTANCE_SENSOR_DATA :: NAME => Ok (DISTANCE_SENSOR_DATA :: ID) , RC_CHANNELS_RAW_DATA :: NAME => Ok (RC_CHANNELS_RAW_DATA :: ID) , HOME_POSITION_DATA :: NAME => Ok (HOME_POSITION_DATA :: ID) , MISSION_REQUEST_DATA :: NAME => Ok (MISSION_REQUEST_DATA :: ID) , HIL_STATE_QUATERNION_DATA :: NAME => Ok (HIL_STATE_QUATERNION_DATA :: ID) , RC_CHANNELS_OVERRIDE_DATA :: NAME => Ok (RC_CHANNELS_OVERRIDE_DATA :: ID) , SET_POSITION_TARGET_LOCAL_NED_DATA :: NAME => Ok (SET_POSITION_TARGET_LOCAL_NED_DATA :: ID) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: NAME => Ok (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID) , EXTENDED_SYS_STATE_DATA :: NAME => Ok (EXTENDED_SYS_STATE_DATA :: ID) , ATTITUDE_TARGET_DATA :: NAME => Ok (ATTITUDE_TARGET_DATA :: ID) , MANUAL_SETPOINT_DATA :: NAME => Ok (MANUAL_SETPOINT_DATA :: ID) , UAVCAN_NODE_INFO_DATA :: NAME => Ok (UAVCAN_NODE_INFO_DATA :: ID) , SET_GPS_GLOBAL_ORIGIN_DATA :: NAME => Ok (SET_GPS_GLOBAL_ORIGIN_DATA :: ID) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: NAME => Ok (GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID) , RAW_RPM_DATA :: NAME => Ok (RAW_RPM_DATA :: ID) , GPS2_RTK_DATA :: NAME => Ok (GPS2_RTK_DATA :: ID) , HIL_OPTICAL_FLOW_DATA :: NAME => Ok (HIL_OPTICAL_FLOW_DATA :: ID) , CAMERA_FOV_STATUS_DATA :: NAME => Ok (CAMERA_FOV_STATUS_DATA :: ID) , DEBUG_FLOAT_ARRAY_DATA :: NAME => Ok (DEBUG_FLOAT_ARRAY_DATA :: ID) , GENERATOR_STATUS_DATA :: NAME => Ok (GENERATOR_STATUS_DATA :: ID) , ESC_STATUS_DATA :: NAME => Ok (ESC_STATUS_DATA :: ID) , _ => { Err ("Invalid message name.") } } } fn default_message_from_id (id : u32) -> Result < Self , & 'static str > { match id { LOCAL_POSITION_NED_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED (LOCAL_POSITION_NED_DATA :: default ())) , SAFETY_ALLOWED_AREA_DATA :: ID => Ok (Self :: SAFETY_ALLOWED_AREA (SAFETY_ALLOWED_AREA_DATA :: default ())) , MISSION_ACK_DATA :: ID => Ok (Self :: MISSION_ACK (MISSION_ACK_DATA :: default ())) , SCALED_PRESSURE2_DATA :: ID => Ok (Self :: SCALED_PRESSURE2 (SCALED_PRESSURE2_DATA :: default ())) , SIM_STATE_DATA :: ID => Ok (Self :: SIM_STATE (SIM_STATE_DATA :: default ())) , HIGH_LATENCY2_DATA :: ID => Ok (Self :: HIGH_LATENCY2 (HIGH_LATENCY2_DATA :: default ())) , STATUSTEXT_DATA :: ID => Ok (Self :: STATUSTEXT (STATUSTEXT_DATA :: default ())) , ESTIMATOR_STATUS_DATA :: ID => Ok (Self :: ESTIMATOR_STATUS (ESTIMATOR_STATUS_DATA :: default ())) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_SET_ATTITUDE (GIMBAL_DEVICE_SET_ATTITUDE_DATA :: default ())) , ESC_INFO_DATA :: ID => Ok (Self :: ESC_INFO (ESC_INFO_DATA :: default ())) , LOCAL_POSITION_NED_COV_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED_COV (LOCAL_POSITION_NED_COV_DATA :: default ())) , MISSION_ITEM_DATA :: ID => Ok (Self :: MISSION_ITEM (MISSION_ITEM_DATA :: default ())) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: default ())) , PARAM_EXT_REQUEST_READ_DATA :: ID => Ok (Self :: PARAM_EXT_REQUEST_READ (PARAM_EXT_REQUEST_READ_DATA :: default ())) , MISSION_CLEAR_ALL_DATA :: ID => Ok (Self :: MISSION_CLEAR_ALL (MISSION_CLEAR_ALL_DATA :: default ())) , TERRAIN_CHECK_DATA :: ID => Ok (Self :: TERRAIN_CHECK (TERRAIN_CHECK_DATA :: default ())) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_ATTITUDE (GIMBAL_MANAGER_SET_ATTITUDE_DATA :: default ())) , PARAM_EXT_SET_DATA :: ID => Ok (Self :: PARAM_EXT_SET (PARAM_EXT_SET_DATA :: default ())) , CAN_FRAME_DATA :: ID => Ok (Self :: CAN_FRAME (CAN_FRAME_DATA :: default ())) , COMPONENT_INFORMATION_DATA :: ID => Ok (Self :: COMPONENT_INFORMATION (COMPONENT_INFORMATION_DATA :: default ())) , GPS_INJECT_DATA_DATA :: ID => Ok (Self :: GPS_INJECT_DATA (GPS_INJECT_DATA_DATA :: default ())) , CURRENT_EVENT_SEQUENCE_DATA :: ID => Ok (Self :: CURRENT_EVENT_SEQUENCE (CURRENT_EVENT_SEQUENCE_DATA :: default ())) , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => Ok (Self :: DATA_TRANSMISSION_HANDSHAKE (DATA_TRANSMISSION_HANDSHAKE_DATA :: default ())) , FOLLOW_TARGET_DATA :: ID => Ok (Self :: FOLLOW_TARGET (FOLLOW_TARGET_DATA :: default ())) , ONBOARD_COMPUTER_STATUS_DATA :: ID => Ok (Self :: ONBOARD_COMPUTER_STATUS (ONBOARD_COMPUTER_STATUS_DATA :: default ())) , HIL_GPS_DATA :: ID => Ok (Self :: HIL_GPS (HIL_GPS_DATA :: default ())) , CAN_FILTER_MODIFY_DATA :: ID => Ok (Self :: CAN_FILTER_MODIFY (CAN_FILTER_MODIFY_DATA :: default ())) , OPEN_DRONE_ID_SELF_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SELF_ID (OPEN_DRONE_ID_SELF_ID_DATA :: default ())) , LOG_DATA_DATA :: ID => Ok (Self :: LOG_DATA (LOG_DATA_DATA :: default ())) , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_ARM_STATUS (OPEN_DRONE_ID_ARM_STATUS_DATA :: default ())) , HIGH_LATENCY_DATA :: ID => Ok (Self :: HIGH_LATENCY (HIGH_LATENCY_DATA :: default ())) , PLAY_TUNE_DATA :: ID => Ok (Self :: PLAY_TUNE (PLAY_TUNE_DATA :: default ())) , RC_CHANNELS_SCALED_DATA :: ID => Ok (Self :: RC_CHANNELS_SCALED (RC_CHANNELS_SCALED_DATA :: default ())) , RAW_IMU_DATA :: ID => Ok (Self :: RAW_IMU (RAW_IMU_DATA :: default ())) , SAFETY_SET_ALLOWED_AREA_DATA :: ID => Ok (Self :: SAFETY_SET_ALLOWED_AREA (SAFETY_SET_ALLOWED_AREA_DATA :: default ())) , MOUNT_ORIENTATION_DATA :: ID => Ok (Self :: MOUNT_ORIENTATION (MOUNT_ORIENTATION_DATA :: default ())) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => Ok (Self :: CAMERA_TRACKING_IMAGE_STATUS (CAMERA_TRACKING_IMAGE_STATUS_DATA :: default ())) , EVENT_DATA :: ID => Ok (Self :: EVENT (EVENT_DATA :: default ())) , EFI_STATUS_DATA :: ID => Ok (Self :: EFI_STATUS (EFI_STATUS_DATA :: default ())) , REQUEST_EVENT_DATA :: ID => Ok (Self :: REQUEST_EVENT (REQUEST_EVENT_DATA :: default ())) , HYGROMETER_SENSOR_DATA :: ID => Ok (Self :: HYGROMETER_SENSOR (HYGROMETER_SENSOR_DATA :: default ())) , REQUEST_DATA_STREAM_DATA :: ID => Ok (Self :: REQUEST_DATA_STREAM (REQUEST_DATA_STREAM_DATA :: default ())) , V2_EXTENSION_DATA :: ID => Ok (Self :: V2_EXTENSION (V2_EXTENSION_DATA :: default ())) , DEBUG_VECT_DATA :: ID => Ok (Self :: DEBUG_VECT (DEBUG_VECT_DATA :: default ())) , LOGGING_ACK_DATA :: ID => Ok (Self :: LOGGING_ACK (LOGGING_ACK_DATA :: default ())) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_OPERATOR_ID (OPEN_DRONE_ID_OPERATOR_ID_DATA :: default ())) , ISBD_LINK_STATUS_DATA :: ID => Ok (Self :: ISBD_LINK_STATUS (ISBD_LINK_STATUS_DATA :: default ())) , CONTROL_SYSTEM_STATE_DATA :: ID => Ok (Self :: CONTROL_SYSTEM_STATE (CONTROL_SYSTEM_STATE_DATA :: default ())) , OBSTACLE_DISTANCE_DATA :: ID => Ok (Self :: OBSTACLE_DISTANCE (OBSTACLE_DISTANCE_DATA :: default ())) , SCALED_IMU2_DATA :: ID => Ok (Self :: SCALED_IMU2 (SCALED_IMU2_DATA :: default ())) , PARAM_VALUE_DATA :: ID => Ok (Self :: PARAM_VALUE (PARAM_VALUE_DATA :: default ())) , SERVO_OUTPUT_RAW_DATA :: ID => Ok (Self :: SERVO_OUTPUT_RAW (SERVO_OUTPUT_RAW_DATA :: default ())) , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => Ok (Self :: CAMERA_TRACKING_GEO_STATUS (CAMERA_TRACKING_GEO_STATUS_DATA :: default ())) , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => Ok (Self :: SET_ACTUATOR_CONTROL_TARGET (SET_ACTUATOR_CONTROL_TARGET_DATA :: default ())) , GIMBAL_MANAGER_STATUS_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_STATUS (GIMBAL_MANAGER_STATUS_DATA :: default ())) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: default ())) , PARAM_REQUEST_LIST_DATA :: ID => Ok (Self :: PARAM_REQUEST_LIST (PARAM_REQUEST_LIST_DATA :: default ())) , UAVCAN_NODE_STATUS_DATA :: ID => Ok (Self :: UAVCAN_NODE_STATUS (UAVCAN_NODE_STATUS_DATA :: default ())) , PARAM_SET_DATA :: ID => Ok (Self :: PARAM_SET (PARAM_SET_DATA :: default ())) , SCALED_PRESSURE_DATA :: ID => Ok (Self :: SCALED_PRESSURE (SCALED_PRESSURE_DATA :: default ())) , SYSTEM_TIME_DATA :: ID => Ok (Self :: SYSTEM_TIME (SYSTEM_TIME_DATA :: default ())) , ENCAPSULATED_DATA_DATA :: ID => Ok (Self :: ENCAPSULATED_DATA (ENCAPSULATED_DATA_DATA :: default ())) , ACTUATOR_CONTROL_TARGET_DATA :: ID => Ok (Self :: ACTUATOR_CONTROL_TARGET (ACTUATOR_CONTROL_TARGET_DATA :: default ())) , SET_HOME_POSITION_DATA :: ID => Ok (Self :: SET_HOME_POSITION (SET_HOME_POSITION_DATA :: default ())) , SYS_STATUS_DATA :: ID => Ok (Self :: SYS_STATUS (SYS_STATUS_DATA :: default ())) , TIMESYNC_DATA :: ID => Ok (Self :: TIMESYNC (TIMESYNC_DATA :: default ())) , LOG_REQUEST_END_DATA :: ID => Ok (Self :: LOG_REQUEST_END (LOG_REQUEST_END_DATA :: default ())) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => Ok (Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: default ())) , AUTOPILOT_VERSION_DATA :: ID => Ok (Self :: AUTOPILOT_VERSION (AUTOPILOT_VERSION_DATA :: default ())) , MEMORY_VECT_DATA :: ID => Ok (Self :: MEMORY_VECT (MEMORY_VECT_DATA :: default ())) , VIDEO_STREAM_INFORMATION_DATA :: ID => Ok (Self :: VIDEO_STREAM_INFORMATION (VIDEO_STREAM_INFORMATION_DATA :: default ())) , CHANGE_OPERATOR_CONTROL_DATA :: ID => Ok (Self :: CHANGE_OPERATOR_CONTROL (CHANGE_OPERATOR_CONTROL_DATA :: default ())) , GPS_INPUT_DATA :: ID => Ok (Self :: GPS_INPUT (GPS_INPUT_DATA :: default ())) , COLLISION_DATA :: ID => Ok (Self :: COLLISION (COLLISION_DATA :: default ())) , SCALED_IMU3_DATA :: ID => Ok (Self :: SCALED_IMU3 (SCALED_IMU3_DATA :: default ())) , CAMERA_INFORMATION_DATA :: ID => Ok (Self :: CAMERA_INFORMATION (CAMERA_INFORMATION_DATA :: default ())) , SET_ATTITUDE_TARGET_DATA :: ID => Ok (Self :: SET_ATTITUDE_TARGET (SET_ATTITUDE_TARGET_DATA :: default ())) , PARAM_EXT_ACK_DATA :: ID => Ok (Self :: PARAM_EXT_ACK (PARAM_EXT_ACK_DATA :: default ())) , ORBIT_EXECUTION_STATUS_DATA :: ID => Ok (Self :: ORBIT_EXECUTION_STATUS (ORBIT_EXECUTION_STATUS_DATA :: default ())) , SERIAL_CONTROL_DATA :: ID => Ok (Self :: SERIAL_CONTROL (SERIAL_CONTROL_DATA :: default ())) , LOGGING_DATA_DATA :: ID => Ok (Self :: LOGGING_DATA (LOGGING_DATA_DATA :: default ())) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => Ok (Self :: TRAJECTORY_REPRESENTATION_BEZIER (TRAJECTORY_REPRESENTATION_BEZIER_DATA :: default ())) , ALTITUDE_DATA :: ID => Ok (Self :: ALTITUDE (ALTITUDE_DATA :: default ())) , RC_CHANNELS_DATA :: ID => Ok (Self :: RC_CHANNELS (RC_CHANNELS_DATA :: default ())) , RESOURCE_REQUEST_DATA :: ID => Ok (Self :: RESOURCE_REQUEST (RESOURCE_REQUEST_DATA :: default ())) , COMPONENT_METADATA_DATA :: ID => Ok (Self :: COMPONENT_METADATA (COMPONENT_METADATA_DATA :: default ())) , SUPPORTED_TUNES_DATA :: ID => Ok (Self :: SUPPORTED_TUNES (SUPPORTED_TUNES_DATA :: default ())) , OPEN_DRONE_ID_LOCATION_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_LOCATION (OPEN_DRONE_ID_LOCATION_DATA :: default ())) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: default ())) , BUTTON_CHANGE_DATA :: ID => Ok (Self :: BUTTON_CHANGE (BUTTON_CHANGE_DATA :: default ())) , GLOBAL_POSITION_INT_DATA :: ID => Ok (Self :: GLOBAL_POSITION_INT (GLOBAL_POSITION_INT_DATA :: default ())) , GIMBAL_DEVICE_INFORMATION_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_INFORMATION (GIMBAL_DEVICE_INFORMATION_DATA :: default ())) , ATTITUDE_QUATERNION_DATA :: ID => Ok (Self :: ATTITUDE_QUATERNION (ATTITUDE_QUATERNION_DATA :: default ())) , LANDING_TARGET_DATA :: ID => Ok (Self :: LANDING_TARGET (LANDING_TARGET_DATA :: default ())) , LOG_ENTRY_DATA :: ID => Ok (Self :: LOG_ENTRY (LOG_ENTRY_DATA :: default ())) , POSITION_TARGET_LOCAL_NED_DATA :: ID => Ok (Self :: POSITION_TARGET_LOCAL_NED (POSITION_TARGET_LOCAL_NED_DATA :: default ())) , SET_MODE_DATA :: ID => Ok (Self :: SET_MODE (SET_MODE_DATA :: default ())) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => Ok (Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: default ())) , VICON_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: VICON_POSITION_ESTIMATE (VICON_POSITION_ESTIMATE_DATA :: default ())) , DEBUG_DATA :: ID => Ok (Self :: DEBUG (DEBUG_DATA :: default ())) , COMMAND_INT_DATA :: ID => Ok (Self :: COMMAND_INT (COMMAND_INT_DATA :: default ())) , LOG_REQUEST_LIST_DATA :: ID => Ok (Self :: LOG_REQUEST_LIST (LOG_REQUEST_LIST_DATA :: default ())) , ATTITUDE_QUATERNION_COV_DATA :: ID => Ok (Self :: ATTITUDE_QUATERNION_COV (ATTITUDE_QUATERNION_COV_DATA :: default ())) , UTM_GLOBAL_POSITION_DATA :: ID => Ok (Self :: UTM_GLOBAL_POSITION (UTM_GLOBAL_POSITION_DATA :: default ())) , MISSION_SET_CURRENT_DATA :: ID => Ok (Self :: MISSION_SET_CURRENT (MISSION_SET_CURRENT_DATA :: default ())) , AIS_VESSEL_DATA :: ID => Ok (Self :: AIS_VESSEL (AIS_VESSEL_DATA :: default ())) , ATT_POS_MOCAP_DATA :: ID => Ok (Self :: ATT_POS_MOCAP (ATT_POS_MOCAP_DATA :: default ())) , HIL_RC_INPUTS_RAW_DATA :: ID => Ok (Self :: HIL_RC_INPUTS_RAW (HIL_RC_INPUTS_RAW_DATA :: default ())) , LOG_REQUEST_DATA_DATA :: ID => Ok (Self :: LOG_REQUEST_DATA (LOG_REQUEST_DATA_DATA :: default ())) , TUNNEL_DATA :: ID => Ok (Self :: TUNNEL (TUNNEL_DATA :: default ())) , NAMED_VALUE_FLOAT_DATA :: ID => Ok (Self :: NAMED_VALUE_FLOAT (NAMED_VALUE_FLOAT_DATA :: default ())) , AUTH_KEY_DATA :: ID => Ok (Self :: AUTH_KEY (AUTH_KEY_DATA :: default ())) , TERRAIN_DATA_DATA :: ID => Ok (Self :: TERRAIN_DATA (TERRAIN_DATA_DATA :: default ())) , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_BASIC_ID (OPEN_DRONE_ID_BASIC_ID_DATA :: default ())) , CELLULAR_CONFIG_DATA :: ID => Ok (Self :: CELLULAR_CONFIG (CELLULAR_CONFIG_DATA :: default ())) , HEARTBEAT_DATA :: ID => Ok (Self :: HEARTBEAT (HEARTBEAT_DATA :: default ())) , MISSION_COUNT_DATA :: ID => Ok (Self :: MISSION_COUNT (MISSION_COUNT_DATA :: default ())) , PING_DATA :: ID => Ok (Self :: PING (PING_DATA :: default ())) , OPEN_DRONE_ID_SYSTEM_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SYSTEM (OPEN_DRONE_ID_SYSTEM_DATA :: default ())) , GLOBAL_POSITION_INT_COV_DATA :: ID => Ok (Self :: GLOBAL_POSITION_INT_COV (GLOBAL_POSITION_INT_COV_DATA :: default ())) , ACTUATOR_OUTPUT_STATUS_DATA :: ID => Ok (Self :: ACTUATOR_OUTPUT_STATUS (ACTUATOR_OUTPUT_STATUS_DATA :: default ())) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_AUTHENTICATION (OPEN_DRONE_ID_AUTHENTICATION_DATA :: default ())) , NAV_CONTROLLER_OUTPUT_DATA :: ID => Ok (Self :: NAV_CONTROLLER_OUTPUT (NAV_CONTROLLER_OUTPUT_DATA :: default ())) , PLAY_TUNE_V2_DATA :: ID => Ok (Self :: PLAY_TUNE_V2 (PLAY_TUNE_V2_DATA :: default ())) , VISION_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: VISION_POSITION_ESTIMATE (VISION_POSITION_ESTIMATE_DATA :: default ())) , STORAGE_INFORMATION_DATA :: ID => Ok (Self :: STORAGE_INFORMATION (STORAGE_INFORMATION_DATA :: default ())) , SETUP_SIGNING_DATA :: ID => Ok (Self :: SETUP_SIGNING (SETUP_SIGNING_DATA :: default ())) , LOGGING_DATA_ACKED_DATA :: ID => Ok (Self :: LOGGING_DATA_ACKED (LOGGING_DATA_ACKED_DATA :: default ())) , LOG_ERASE_DATA :: ID => Ok (Self :: LOG_ERASE (LOG_ERASE_DATA :: default ())) , GPS_RAW_INT_DATA :: ID => Ok (Self :: GPS_RAW_INT (GPS_RAW_INT_DATA :: default ())) , GIMBAL_MANAGER_INFORMATION_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_INFORMATION (GIMBAL_MANAGER_INFORMATION_DATA :: default ())) , MISSION_ITEM_INT_DATA :: ID => Ok (Self :: MISSION_ITEM_INT (MISSION_ITEM_INT_DATA :: default ())) , WINCH_STATUS_DATA :: ID => Ok (Self :: WINCH_STATUS (WINCH_STATUS_DATA :: default ())) , FILE_TRANSFER_PROTOCOL_DATA :: ID => Ok (Self :: FILE_TRANSFER_PROTOCOL (FILE_TRANSFER_PROTOCOL_DATA :: default ())) , GPS2_RAW_DATA :: ID => Ok (Self :: GPS2_RAW (GPS2_RAW_DATA :: default ())) , GPS_RTK_DATA :: ID => Ok (Self :: GPS_RTK (GPS_RTK_DATA :: default ())) , VIBRATION_DATA :: ID => Ok (Self :: VIBRATION (VIBRATION_DATA :: default ())) , HIL_STATE_DATA :: ID => Ok (Self :: HIL_STATE (HIL_STATE_DATA :: default ())) , GPS_STATUS_DATA :: ID => Ok (Self :: GPS_STATUS (GPS_STATUS_DATA :: default ())) , SCALED_IMU_DATA :: ID => Ok (Self :: SCALED_IMU (SCALED_IMU_DATA :: default ())) , HIL_ACTUATOR_CONTROLS_DATA :: ID => Ok (Self :: HIL_ACTUATOR_CONTROLS (HIL_ACTUATOR_CONTROLS_DATA :: default ())) , MISSION_REQUEST_LIST_DATA :: ID => Ok (Self :: MISSION_REQUEST_LIST (MISSION_REQUEST_LIST_DATA :: default ())) , PARAM_EXT_REQUEST_LIST_DATA :: ID => Ok (Self :: PARAM_EXT_REQUEST_LIST (PARAM_EXT_REQUEST_LIST_DATA :: default ())) , PARAM_EXT_VALUE_DATA :: ID => Ok (Self :: PARAM_EXT_VALUE (PARAM_EXT_VALUE_DATA :: default ())) , CELLULAR_STATUS_DATA :: ID => Ok (Self :: CELLULAR_STATUS (CELLULAR_STATUS_DATA :: default ())) , CANFD_FRAME_DATA :: ID => Ok (Self :: CANFD_FRAME (CANFD_FRAME_DATA :: default ())) , GPS_RTCM_DATA_DATA :: ID => Ok (Self :: GPS_RTCM_DATA (GPS_RTCM_DATA_DATA :: default ())) , MANUAL_CONTROL_DATA :: ID => Ok (Self :: MANUAL_CONTROL (MANUAL_CONTROL_DATA :: default ())) , COMMAND_ACK_DATA :: ID => Ok (Self :: COMMAND_ACK (COMMAND_ACK_DATA :: default ())) , RADIO_STATUS_DATA :: ID => Ok (Self :: RADIO_STATUS (RADIO_STATUS_DATA :: default ())) , TERRAIN_REQUEST_DATA :: ID => Ok (Self :: TERRAIN_REQUEST (TERRAIN_REQUEST_DATA :: default ())) , VIDEO_STREAM_STATUS_DATA :: ID => Ok (Self :: VIDEO_STREAM_STATUS (VIDEO_STREAM_STATUS_DATA :: default ())) , TIME_ESTIMATE_TO_TARGET_DATA :: ID => Ok (Self :: TIME_ESTIMATE_TO_TARGET (TIME_ESTIMATE_TO_TARGET_DATA :: default ())) , CAMERA_IMAGE_CAPTURED_DATA :: ID => Ok (Self :: CAMERA_IMAGE_CAPTURED (CAMERA_IMAGE_CAPTURED_DATA :: default ())) , WHEEL_DISTANCE_DATA :: ID => Ok (Self :: WHEEL_DISTANCE (WHEEL_DISTANCE_DATA :: default ())) , MISSION_CURRENT_DATA :: ID => Ok (Self :: MISSION_CURRENT (MISSION_CURRENT_DATA :: default ())) , VFR_HUD_DATA :: ID => Ok (Self :: VFR_HUD (VFR_HUD_DATA :: default ())) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => Ok (Self :: SET_POSITION_TARGET_GLOBAL_INT (SET_POSITION_TARGET_GLOBAL_INT_DATA :: default ())) , POSITION_TARGET_GLOBAL_INT_DATA :: ID => Ok (Self :: POSITION_TARGET_GLOBAL_INT (POSITION_TARGET_GLOBAL_INT_DATA :: default ())) , VISION_SPEED_ESTIMATE_DATA :: ID => Ok (Self :: VISION_SPEED_ESTIMATE (VISION_SPEED_ESTIMATE_DATA :: default ())) , BATTERY_STATUS_DATA :: ID => Ok (Self :: BATTERY_STATUS (BATTERY_STATUS_DATA :: default ())) , FENCE_STATUS_DATA :: ID => Ok (Self :: FENCE_STATUS (FENCE_STATUS_DATA :: default ())) , PROTOCOL_VERSION_DATA :: ID => Ok (Self :: PROTOCOL_VERSION (PROTOCOL_VERSION_DATA :: default ())) , RAW_PRESSURE_DATA :: ID => Ok (Self :: RAW_PRESSURE (RAW_PRESSURE_DATA :: default ())) , SCALED_PRESSURE3_DATA :: ID => Ok (Self :: SCALED_PRESSURE3 (SCALED_PRESSURE3_DATA :: default ())) , GPS_GLOBAL_ORIGIN_DATA :: ID => Ok (Self :: GPS_GLOBAL_ORIGIN (GPS_GLOBAL_ORIGIN_DATA :: default ())) , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => Ok (Self :: MISSION_REQUEST_PARTIAL_LIST (MISSION_REQUEST_PARTIAL_LIST_DATA :: default ())) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_PITCHYAW (GIMBAL_MANAGER_SET_PITCHYAW_DATA :: default ())) , RESPONSE_EVENT_ERROR_DATA :: ID => Ok (Self :: RESPONSE_EVENT_ERROR (RESPONSE_EVENT_ERROR_DATA :: default ())) , LINK_NODE_STATUS_DATA :: ID => Ok (Self :: LINK_NODE_STATUS (LINK_NODE_STATUS_DATA :: default ())) , DATA_STREAM_DATA :: ID => Ok (Self :: DATA_STREAM (DATA_STREAM_DATA :: default ())) , HIL_SENSOR_DATA :: ID => Ok (Self :: HIL_SENSOR (HIL_SENSOR_DATA :: default ())) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_MESSAGE_PACK (OPEN_DRONE_ID_MESSAGE_PACK_DATA :: default ())) , WIND_COV_DATA :: ID => Ok (Self :: WIND_COV (WIND_COV_DATA :: default ())) , OPTICAL_FLOW_RAD_DATA :: ID => Ok (Self :: OPTICAL_FLOW_RAD (OPTICAL_FLOW_RAD_DATA :: default ())) , TERRAIN_REPORT_DATA :: ID => Ok (Self :: TERRAIN_REPORT (TERRAIN_REPORT_DATA :: default ())) , PARAM_MAP_RC_DATA :: ID => Ok (Self :: PARAM_MAP_RC (PARAM_MAP_RC_DATA :: default ())) , CAMERA_TRIGGER_DATA :: ID => Ok (Self :: CAMERA_TRIGGER (CAMERA_TRIGGER_DATA :: default ())) , NAMED_VALUE_INT_DATA :: ID => Ok (Self :: NAMED_VALUE_INT (NAMED_VALUE_INT_DATA :: default ())) , CAMERA_SETTINGS_DATA :: ID => Ok (Self :: CAMERA_SETTINGS (CAMERA_SETTINGS_DATA :: default ())) , WIFI_CONFIG_AP_DATA :: ID => Ok (Self :: WIFI_CONFIG_AP (WIFI_CONFIG_AP_DATA :: default ())) , HIGHRES_IMU_DATA :: ID => Ok (Self :: HIGHRES_IMU (HIGHRES_IMU_DATA :: default ())) , FLIGHT_INFORMATION_DATA :: ID => Ok (Self :: FLIGHT_INFORMATION (FLIGHT_INFORMATION_DATA :: default ())) , MAG_CAL_REPORT_DATA :: ID => Ok (Self :: MAG_CAL_REPORT (MAG_CAL_REPORT_DATA :: default ())) , ATTITUDE_DATA :: ID => Ok (Self :: ATTITUDE (ATTITUDE_DATA :: default ())) , MISSION_ITEM_REACHED_DATA :: ID => Ok (Self :: MISSION_ITEM_REACHED (MISSION_ITEM_REACHED_DATA :: default ())) , POWER_STATUS_DATA :: ID => Ok (Self :: POWER_STATUS (POWER_STATUS_DATA :: default ())) , MISSION_REQUEST_INT_DATA :: ID => Ok (Self :: MISSION_REQUEST_INT (MISSION_REQUEST_INT_DATA :: default ())) , SMART_BATTERY_INFO_DATA :: ID => Ok (Self :: SMART_BATTERY_INFO (SMART_BATTERY_INFO_DATA :: default ())) , PARAM_REQUEST_READ_DATA :: ID => Ok (Self :: PARAM_REQUEST_READ (PARAM_REQUEST_READ_DATA :: default ())) , COMMAND_LONG_DATA :: ID => Ok (Self :: COMMAND_LONG (COMMAND_LONG_DATA :: default ())) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => Ok (Self :: CHANGE_OPERATOR_CONTROL_ACK (CHANGE_OPERATOR_CONTROL_ACK_DATA :: default ())) , OPTICAL_FLOW_DATA :: ID => Ok (Self :: OPTICAL_FLOW (OPTICAL_FLOW_DATA :: default ())) , HIL_CONTROLS_DATA :: ID => Ok (Self :: HIL_CONTROLS (HIL_CONTROLS_DATA :: default ())) , CAMERA_CAPTURE_STATUS_DATA :: ID => Ok (Self :: CAMERA_CAPTURE_STATUS (CAMERA_CAPTURE_STATUS_DATA :: default ())) , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => Ok (Self :: MISSION_WRITE_PARTIAL_LIST (MISSION_WRITE_PARTIAL_LIST_DATA :: default ())) , COMMAND_CANCEL_DATA :: ID => Ok (Self :: COMMAND_CANCEL (COMMAND_CANCEL_DATA :: default ())) , ODOMETRY_DATA :: ID => Ok (Self :: ODOMETRY (ODOMETRY_DATA :: default ())) , ADSB_VEHICLE_DATA :: ID => Ok (Self :: ADSB_VEHICLE (ADSB_VEHICLE_DATA :: default ())) , MESSAGE_INTERVAL_DATA :: ID => Ok (Self :: MESSAGE_INTERVAL (MESSAGE_INTERVAL_DATA :: default ())) , DISTANCE_SENSOR_DATA :: ID => Ok (Self :: DISTANCE_SENSOR (DISTANCE_SENSOR_DATA :: default ())) , RC_CHANNELS_RAW_DATA :: ID => Ok (Self :: RC_CHANNELS_RAW (RC_CHANNELS_RAW_DATA :: default ())) , HOME_POSITION_DATA :: ID => Ok (Self :: HOME_POSITION (HOME_POSITION_DATA :: default ())) , MISSION_REQUEST_DATA :: ID => Ok (Self :: MISSION_REQUEST (MISSION_REQUEST_DATA :: default ())) , HIL_STATE_QUATERNION_DATA :: ID => Ok (Self :: HIL_STATE_QUATERNION (HIL_STATE_QUATERNION_DATA :: default ())) , RC_CHANNELS_OVERRIDE_DATA :: ID => Ok (Self :: RC_CHANNELS_OVERRIDE (RC_CHANNELS_OVERRIDE_DATA :: default ())) , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => Ok (Self :: SET_POSITION_TARGET_LOCAL_NED (SET_POSITION_TARGET_LOCAL_NED_DATA :: default ())) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: default ())) , EXTENDED_SYS_STATE_DATA :: ID => Ok (Self :: EXTENDED_SYS_STATE (EXTENDED_SYS_STATE_DATA :: default ())) , ATTITUDE_TARGET_DATA :: ID => Ok (Self :: ATTITUDE_TARGET (ATTITUDE_TARGET_DATA :: default ())) , MANUAL_SETPOINT_DATA :: ID => Ok (Self :: MANUAL_SETPOINT (MANUAL_SETPOINT_DATA :: default ())) , UAVCAN_NODE_INFO_DATA :: ID => Ok (Self :: UAVCAN_NODE_INFO (UAVCAN_NODE_INFO_DATA :: default ())) , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => Ok (Self :: SET_GPS_GLOBAL_ORIGIN (SET_GPS_GLOBAL_ORIGIN_DATA :: default ())) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: GLOBAL_VISION_POSITION_ESTIMATE (GLOBAL_VISION_POSITION_ESTIMATE_DATA :: default ())) , RAW_RPM_DATA :: ID => Ok (Self :: RAW_RPM (RAW_RPM_DATA :: default ())) , GPS2_RTK_DATA :: ID => Ok (Self :: GPS2_RTK (GPS2_RTK_DATA :: default ())) , HIL_OPTICAL_FLOW_DATA :: ID => Ok (Self :: HIL_OPTICAL_FLOW (HIL_OPTICAL_FLOW_DATA :: default ())) , CAMERA_FOV_STATUS_DATA :: ID => Ok (Self :: CAMERA_FOV_STATUS (CAMERA_FOV_STATUS_DATA :: default ())) , DEBUG_FLOAT_ARRAY_DATA :: ID => Ok (Self :: DEBUG_FLOAT_ARRAY (DEBUG_FLOAT_ARRAY_DATA :: default ())) , GENERATOR_STATUS_DATA :: ID => Ok (Self :: GENERATOR_STATUS (GENERATOR_STATUS_DATA :: default ())) , ESC_STATUS_DATA :: ID => Ok (Self :: ESC_STATUS (ESC_STATUS_DATA :: default ())) , _ => { Err ("Invalid message id.") } } } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { match self { Self :: LOCAL_POSITION_NED (body) => body . ser (version , bytes) , Self :: SAFETY_ALLOWED_AREA (body) => body . ser (version , bytes) , Self :: MISSION_ACK (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE2 (body) => body . ser (version , bytes) , Self :: SIM_STATE (body) => body . ser (version , bytes) , Self :: HIGH_LATENCY2 (body) => body . ser (version , bytes) , Self :: STATUSTEXT (body) => body . ser (version , bytes) , Self :: ESTIMATOR_STATUS (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_SET_ATTITUDE (body) => body . ser (version , bytes) , Self :: ESC_INFO (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED_COV (body) => body . ser (version , bytes) , Self :: MISSION_ITEM (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (body) => body . ser (version , bytes) , Self :: PARAM_EXT_REQUEST_READ (body) => body . ser (version , bytes) , Self :: MISSION_CLEAR_ALL (body) => body . ser (version , bytes) , Self :: TERRAIN_CHECK (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_ATTITUDE (body) => body . ser (version , bytes) , Self :: PARAM_EXT_SET (body) => body . ser (version , bytes) , Self :: CAN_FRAME (body) => body . ser (version , bytes) , Self :: COMPONENT_INFORMATION (body) => body . ser (version , bytes) , Self :: GPS_INJECT_DATA (body) => body . ser (version , bytes) , Self :: CURRENT_EVENT_SEQUENCE (body) => body . ser (version , bytes) , Self :: DATA_TRANSMISSION_HANDSHAKE (body) => body . ser (version , bytes) , Self :: FOLLOW_TARGET (body) => body . ser (version , bytes) , Self :: ONBOARD_COMPUTER_STATUS (body) => body . ser (version , bytes) , Self :: HIL_GPS (body) => body . ser (version , bytes) , Self :: CAN_FILTER_MODIFY (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SELF_ID (body) => body . ser (version , bytes) , Self :: LOG_DATA (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_ARM_STATUS (body) => body . ser (version , bytes) , Self :: HIGH_LATENCY (body) => body . ser (version , bytes) , Self :: PLAY_TUNE (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_SCALED (body) => body . ser (version , bytes) , Self :: RAW_IMU (body) => body . ser (version , bytes) , Self :: SAFETY_SET_ALLOWED_AREA (body) => body . ser (version , bytes) , Self :: MOUNT_ORIENTATION (body) => body . ser (version , bytes) , Self :: CAMERA_TRACKING_IMAGE_STATUS (body) => body . ser (version , bytes) , Self :: EVENT (body) => body . ser (version , bytes) , Self :: EFI_STATUS (body) => body . ser (version , bytes) , Self :: REQUEST_EVENT (body) => body . ser (version , bytes) , Self :: HYGROMETER_SENSOR (body) => body . ser (version , bytes) , Self :: REQUEST_DATA_STREAM (body) => body . ser (version , bytes) , Self :: V2_EXTENSION (body) => body . ser (version , bytes) , Self :: DEBUG_VECT (body) => body . ser (version , bytes) , Self :: LOGGING_ACK (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_OPERATOR_ID (body) => body . ser (version , bytes) , Self :: ISBD_LINK_STATUS (body) => body . ser (version , bytes) , Self :: CONTROL_SYSTEM_STATE (body) => body . ser (version , bytes) , Self :: OBSTACLE_DISTANCE (body) => body . ser (version , bytes) , Self :: SCALED_IMU2 (body) => body . ser (version , bytes) , Self :: PARAM_VALUE (body) => body . ser (version , bytes) , Self :: SERVO_OUTPUT_RAW (body) => body . ser (version , bytes) , Self :: CAMERA_TRACKING_GEO_STATUS (body) => body . ser (version , bytes) , Self :: SET_ACTUATOR_CONTROL_TARGET (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_STATUS (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (body) => body . ser (version , bytes) , Self :: PARAM_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: UAVCAN_NODE_STATUS (body) => body . ser (version , bytes) , Self :: PARAM_SET (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE (body) => body . ser (version , bytes) , Self :: SYSTEM_TIME (body) => body . ser (version , bytes) , Self :: ENCAPSULATED_DATA (body) => body . ser (version , bytes) , Self :: ACTUATOR_CONTROL_TARGET (body) => body . ser (version , bytes) , Self :: SET_HOME_POSITION (body) => body . ser (version , bytes) , Self :: SYS_STATUS (body) => body . ser (version , bytes) , Self :: TIMESYNC (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_END (body) => body . ser (version , bytes) , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (body) => body . ser (version , bytes) , Self :: AUTOPILOT_VERSION (body) => body . ser (version , bytes) , Self :: MEMORY_VECT (body) => body . ser (version , bytes) , Self :: VIDEO_STREAM_INFORMATION (body) => body . ser (version , bytes) , Self :: CHANGE_OPERATOR_CONTROL (body) => body . ser (version , bytes) , Self :: GPS_INPUT (body) => body . ser (version , bytes) , Self :: COLLISION (body) => body . ser (version , bytes) , Self :: SCALED_IMU3 (body) => body . ser (version , bytes) , Self :: CAMERA_INFORMATION (body) => body . ser (version , bytes) , Self :: SET_ATTITUDE_TARGET (body) => body . ser (version , bytes) , Self :: PARAM_EXT_ACK (body) => body . ser (version , bytes) , Self :: ORBIT_EXECUTION_STATUS (body) => body . ser (version , bytes) , Self :: SERIAL_CONTROL (body) => body . ser (version , bytes) , Self :: LOGGING_DATA (body) => body . ser (version , bytes) , Self :: TRAJECTORY_REPRESENTATION_BEZIER (body) => body . ser (version , bytes) , Self :: ALTITUDE (body) => body . ser (version , bytes) , Self :: RC_CHANNELS (body) => body . ser (version , bytes) , Self :: RESOURCE_REQUEST (body) => body . ser (version , bytes) , Self :: COMPONENT_METADATA (body) => body . ser (version , bytes) , Self :: SUPPORTED_TUNES (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_LOCATION (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (body) => body . ser (version , bytes) , Self :: BUTTON_CHANGE (body) => body . ser (version , bytes) , Self :: GLOBAL_POSITION_INT (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_INFORMATION (body) => body . ser (version , bytes) , Self :: ATTITUDE_QUATERNION (body) => body . ser (version , bytes) , Self :: LANDING_TARGET (body) => body . ser (version , bytes) , Self :: LOG_ENTRY (body) => body . ser (version , bytes) , Self :: POSITION_TARGET_LOCAL_NED (body) => body . ser (version , bytes) , Self :: SET_MODE (body) => body . ser (version , bytes) , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (body) => body . ser (version , bytes) , Self :: VICON_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: DEBUG (body) => body . ser (version , bytes) , Self :: COMMAND_INT (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: ATTITUDE_QUATERNION_COV (body) => body . ser (version , bytes) , Self :: UTM_GLOBAL_POSITION (body) => body . ser (version , bytes) , Self :: MISSION_SET_CURRENT (body) => body . ser (version , bytes) , Self :: AIS_VESSEL (body) => body . ser (version , bytes) , Self :: ATT_POS_MOCAP (body) => body . ser (version , bytes) , Self :: HIL_RC_INPUTS_RAW (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_DATA (body) => body . ser (version , bytes) , Self :: TUNNEL (body) => body . ser (version , bytes) , Self :: NAMED_VALUE_FLOAT (body) => body . ser (version , bytes) , Self :: AUTH_KEY (body) => body . ser (version , bytes) , Self :: TERRAIN_DATA (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_BASIC_ID (body) => body . ser (version , bytes) , Self :: CELLULAR_CONFIG (body) => body . ser (version , bytes) , Self :: HEARTBEAT (body) => body . ser (version , bytes) , Self :: MISSION_COUNT (body) => body . ser (version , bytes) , Self :: PING (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SYSTEM (body) => body . ser (version , bytes) , Self :: GLOBAL_POSITION_INT_COV (body) => body . ser (version , bytes) , Self :: ACTUATOR_OUTPUT_STATUS (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_AUTHENTICATION (body) => body . ser (version , bytes) , Self :: NAV_CONTROLLER_OUTPUT (body) => body . ser (version , bytes) , Self :: PLAY_TUNE_V2 (body) => body . ser (version , bytes) , Self :: VISION_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: STORAGE_INFORMATION (body) => body . ser (version , bytes) , Self :: SETUP_SIGNING (body) => body . ser (version , bytes) , Self :: LOGGING_DATA_ACKED (body) => body . ser (version , bytes) , Self :: LOG_ERASE (body) => body . ser (version , bytes) , Self :: GPS_RAW_INT (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_INFORMATION (body) => body . ser (version , bytes) , Self :: MISSION_ITEM_INT (body) => body . ser (version , bytes) , Self :: WINCH_STATUS (body) => body . ser (version , bytes) , Self :: FILE_TRANSFER_PROTOCOL (body) => body . ser (version , bytes) , Self :: GPS2_RAW (body) => body . ser (version , bytes) , Self :: GPS_RTK (body) => body . ser (version , bytes) , Self :: VIBRATION (body) => body . ser (version , bytes) , Self :: HIL_STATE (body) => body . ser (version , bytes) , Self :: GPS_STATUS (body) => body . ser (version , bytes) , Self :: SCALED_IMU (body) => body . ser (version , bytes) , Self :: HIL_ACTUATOR_CONTROLS (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: PARAM_EXT_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: PARAM_EXT_VALUE (body) => body . ser (version , bytes) , Self :: CELLULAR_STATUS (body) => body . ser (version , bytes) , Self :: CANFD_FRAME (body) => body . ser (version , bytes) , Self :: GPS_RTCM_DATA (body) => body . ser (version , bytes) , Self :: MANUAL_CONTROL (body) => body . ser (version , bytes) , Self :: COMMAND_ACK (body) => body . ser (version , bytes) , Self :: RADIO_STATUS (body) => body . ser (version , bytes) , Self :: TERRAIN_REQUEST (body) => body . ser (version , bytes) , Self :: VIDEO_STREAM_STATUS (body) => body . ser (version , bytes) , Self :: TIME_ESTIMATE_TO_TARGET (body) => body . ser (version , bytes) , Self :: CAMERA_IMAGE_CAPTURED (body) => body . ser (version , bytes) , Self :: WHEEL_DISTANCE (body) => body . ser (version , bytes) , Self :: MISSION_CURRENT (body) => body . ser (version , bytes) , Self :: VFR_HUD (body) => body . ser (version , bytes) , Self :: SET_POSITION_TARGET_GLOBAL_INT (body) => body . ser (version , bytes) , Self :: POSITION_TARGET_GLOBAL_INT (body) => body . ser (version , bytes) , Self :: VISION_SPEED_ESTIMATE (body) => body . ser (version , bytes) , Self :: BATTERY_STATUS (body) => body . ser (version , bytes) , Self :: FENCE_STATUS (body) => body . ser (version , bytes) , Self :: PROTOCOL_VERSION (body) => body . ser (version , bytes) , Self :: RAW_PRESSURE (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE3 (body) => body . ser (version , bytes) , Self :: GPS_GLOBAL_ORIGIN (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_PARTIAL_LIST (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_PITCHYAW (body) => body . ser (version , bytes) , Self :: RESPONSE_EVENT_ERROR (body) => body . ser (version , bytes) , Self :: LINK_NODE_STATUS (body) => body . ser (version , bytes) , Self :: DATA_STREAM (body) => body . ser (version , bytes) , Self :: HIL_SENSOR (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_MESSAGE_PACK (body) => body . ser (version , bytes) , Self :: WIND_COV (body) => body . ser (version , bytes) , Self :: OPTICAL_FLOW_RAD (body) => body . ser (version , bytes) , Self :: TERRAIN_REPORT (body) => body . ser (version , bytes) , Self :: PARAM_MAP_RC (body) => body . ser (version , bytes) , Self :: CAMERA_TRIGGER (body) => body . ser (version , bytes) , Self :: NAMED_VALUE_INT (body) => body . ser (version , bytes) , Self :: CAMERA_SETTINGS (body) => body . ser (version , bytes) , Self :: WIFI_CONFIG_AP (body) => body . ser (version , bytes) , Self :: HIGHRES_IMU (body) => body . ser (version , bytes) , Self :: FLIGHT_INFORMATION (body) => body . ser (version , bytes) , Self :: MAG_CAL_REPORT (body) => body . ser (version , bytes) , Self :: ATTITUDE (body) => body . ser (version , bytes) , Self :: MISSION_ITEM_REACHED (body) => body . ser (version , bytes) , Self :: POWER_STATUS (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_INT (body) => body . ser (version , bytes) , Self :: SMART_BATTERY_INFO (body) => body . ser (version , bytes) , Self :: PARAM_REQUEST_READ (body) => body . ser (version , bytes) , Self :: COMMAND_LONG (body) => body . ser (version , bytes) , Self :: CHANGE_OPERATOR_CONTROL_ACK (body) => body . ser (version , bytes) , Self :: OPTICAL_FLOW (body) => body . ser (version , bytes) , Self :: HIL_CONTROLS (body) => body . ser (version , bytes) , Self :: CAMERA_CAPTURE_STATUS (body) => body . ser (version , bytes) , Self :: MISSION_WRITE_PARTIAL_LIST (body) => body . ser (version , bytes) , Self :: COMMAND_CANCEL (body) => body . ser (version , bytes) , Self :: ODOMETRY (body) => body . ser (version , bytes) , Self :: ADSB_VEHICLE (body) => body . ser (version , bytes) , Self :: MESSAGE_INTERVAL (body) => body . ser (version , bytes) , Self :: DISTANCE_SENSOR (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_RAW (body) => body . ser (version , bytes) , Self :: HOME_POSITION (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST (body) => body . ser (version , bytes) , Self :: HIL_STATE_QUATERNION (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_OVERRIDE (body) => body . ser (version , bytes) , Self :: SET_POSITION_TARGET_LOCAL_NED (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (body) => body . ser (version , bytes) , Self :: EXTENDED_SYS_STATE (body) => body . ser (version , bytes) , Self :: ATTITUDE_TARGET (body) => body . ser (version , bytes) , Self :: MANUAL_SETPOINT (body) => body . ser (version , bytes) , Self :: UAVCAN_NODE_INFO (body) => body . ser (version , bytes) , Self :: SET_GPS_GLOBAL_ORIGIN (body) => body . ser (version , bytes) , Self :: GLOBAL_VISION_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: RAW_RPM (body) => body . ser (version , bytes) , Self :: GPS2_RTK (body) => body . ser (version , bytes) , Self :: HIL_OPTICAL_FLOW (body) => body . ser (version , bytes) , Self :: CAMERA_FOV_STATUS (body) => body . ser (version , bytes) , Self :: DEBUG_FLOAT_ARRAY (body) => body . ser (version , bytes) , Self :: GENERATOR_STATUS (body) => body . ser (version , bytes) , Self :: ESC_STATUS (body) => body . ser (version , bytes) , } } fn extra_crc (id : u32) -> u8 { match id { LOCAL_POSITION_NED_DATA :: ID => LOCAL_POSITION_NED_DATA :: EXTRA_CRC , SAFETY_ALLOWED_AREA_DATA :: ID => SAFETY_ALLOWED_AREA_DATA :: EXTRA_CRC , MISSION_ACK_DATA :: ID => MISSION_ACK_DATA :: EXTRA_CRC , SCALED_PRESSURE2_DATA :: ID => SCALED_PRESSURE2_DATA :: EXTRA_CRC , SIM_STATE_DATA :: ID => SIM_STATE_DATA :: EXTRA_CRC , HIGH_LATENCY2_DATA :: ID => HIGH_LATENCY2_DATA :: EXTRA_CRC , STATUSTEXT_DATA :: ID => STATUSTEXT_DATA :: EXTRA_CRC , ESTIMATOR_STATUS_DATA :: ID => ESTIMATOR_STATUS_DATA :: EXTRA_CRC , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: EXTRA_CRC , ESC_INFO_DATA :: ID => ESC_INFO_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_COV_DATA :: ID => LOCAL_POSITION_NED_COV_DATA :: EXTRA_CRC , MISSION_ITEM_DATA :: ID => MISSION_ITEM_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: EXTRA_CRC , PARAM_EXT_REQUEST_READ_DATA :: ID => PARAM_EXT_REQUEST_READ_DATA :: EXTRA_CRC , MISSION_CLEAR_ALL_DATA :: ID => MISSION_CLEAR_ALL_DATA :: EXTRA_CRC , TERRAIN_CHECK_DATA :: ID => TERRAIN_CHECK_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: EXTRA_CRC , PARAM_EXT_SET_DATA :: ID => PARAM_EXT_SET_DATA :: EXTRA_CRC , CAN_FRAME_DATA :: ID => CAN_FRAME_DATA :: EXTRA_CRC , COMPONENT_INFORMATION_DATA :: ID => COMPONENT_INFORMATION_DATA :: EXTRA_CRC , GPS_INJECT_DATA_DATA :: ID => GPS_INJECT_DATA_DATA :: EXTRA_CRC , CURRENT_EVENT_SEQUENCE_DATA :: ID => CURRENT_EVENT_SEQUENCE_DATA :: EXTRA_CRC , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => DATA_TRANSMISSION_HANDSHAKE_DATA :: EXTRA_CRC , FOLLOW_TARGET_DATA :: ID => FOLLOW_TARGET_DATA :: EXTRA_CRC , ONBOARD_COMPUTER_STATUS_DATA :: ID => ONBOARD_COMPUTER_STATUS_DATA :: EXTRA_CRC , HIL_GPS_DATA :: ID => HIL_GPS_DATA :: EXTRA_CRC , CAN_FILTER_MODIFY_DATA :: ID => CAN_FILTER_MODIFY_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SELF_ID_DATA :: ID => OPEN_DRONE_ID_SELF_ID_DATA :: EXTRA_CRC , LOG_DATA_DATA :: ID => LOG_DATA_DATA :: EXTRA_CRC , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => OPEN_DRONE_ID_ARM_STATUS_DATA :: EXTRA_CRC , HIGH_LATENCY_DATA :: ID => HIGH_LATENCY_DATA :: EXTRA_CRC , PLAY_TUNE_DATA :: ID => PLAY_TUNE_DATA :: EXTRA_CRC , RC_CHANNELS_SCALED_DATA :: ID => RC_CHANNELS_SCALED_DATA :: EXTRA_CRC , RAW_IMU_DATA :: ID => RAW_IMU_DATA :: EXTRA_CRC , SAFETY_SET_ALLOWED_AREA_DATA :: ID => SAFETY_SET_ALLOWED_AREA_DATA :: EXTRA_CRC , MOUNT_ORIENTATION_DATA :: ID => MOUNT_ORIENTATION_DATA :: EXTRA_CRC , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => CAMERA_TRACKING_IMAGE_STATUS_DATA :: EXTRA_CRC , EVENT_DATA :: ID => EVENT_DATA :: EXTRA_CRC , EFI_STATUS_DATA :: ID => EFI_STATUS_DATA :: EXTRA_CRC , REQUEST_EVENT_DATA :: ID => REQUEST_EVENT_DATA :: EXTRA_CRC , HYGROMETER_SENSOR_DATA :: ID => HYGROMETER_SENSOR_DATA :: EXTRA_CRC , REQUEST_DATA_STREAM_DATA :: ID => REQUEST_DATA_STREAM_DATA :: EXTRA_CRC , V2_EXTENSION_DATA :: ID => V2_EXTENSION_DATA :: EXTRA_CRC , DEBUG_VECT_DATA :: ID => DEBUG_VECT_DATA :: EXTRA_CRC , LOGGING_ACK_DATA :: ID => LOGGING_ACK_DATA :: EXTRA_CRC , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => OPEN_DRONE_ID_OPERATOR_ID_DATA :: EXTRA_CRC , ISBD_LINK_STATUS_DATA :: ID => ISBD_LINK_STATUS_DATA :: EXTRA_CRC , CONTROL_SYSTEM_STATE_DATA :: ID => CONTROL_SYSTEM_STATE_DATA :: EXTRA_CRC , OBSTACLE_DISTANCE_DATA :: ID => OBSTACLE_DISTANCE_DATA :: EXTRA_CRC , SCALED_IMU2_DATA :: ID => SCALED_IMU2_DATA :: EXTRA_CRC , PARAM_VALUE_DATA :: ID => PARAM_VALUE_DATA :: EXTRA_CRC , SERVO_OUTPUT_RAW_DATA :: ID => SERVO_OUTPUT_RAW_DATA :: EXTRA_CRC , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => CAMERA_TRACKING_GEO_STATUS_DATA :: EXTRA_CRC , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => SET_ACTUATOR_CONTROL_TARGET_DATA :: EXTRA_CRC , GIMBAL_MANAGER_STATUS_DATA :: ID => GIMBAL_MANAGER_STATUS_DATA :: EXTRA_CRC , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: EXTRA_CRC , PARAM_REQUEST_LIST_DATA :: ID => PARAM_REQUEST_LIST_DATA :: EXTRA_CRC , UAVCAN_NODE_STATUS_DATA :: ID => UAVCAN_NODE_STATUS_DATA :: EXTRA_CRC , PARAM_SET_DATA :: ID => PARAM_SET_DATA :: EXTRA_CRC , SCALED_PRESSURE_DATA :: ID => SCALED_PRESSURE_DATA :: EXTRA_CRC , SYSTEM_TIME_DATA :: ID => SYSTEM_TIME_DATA :: EXTRA_CRC , ENCAPSULATED_DATA_DATA :: ID => ENCAPSULATED_DATA_DATA :: EXTRA_CRC , ACTUATOR_CONTROL_TARGET_DATA :: ID => ACTUATOR_CONTROL_TARGET_DATA :: EXTRA_CRC , SET_HOME_POSITION_DATA :: ID => SET_HOME_POSITION_DATA :: EXTRA_CRC , SYS_STATUS_DATA :: ID => SYS_STATUS_DATA :: EXTRA_CRC , TIMESYNC_DATA :: ID => TIMESYNC_DATA :: EXTRA_CRC , LOG_REQUEST_END_DATA :: ID => LOG_REQUEST_END_DATA :: EXTRA_CRC , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: EXTRA_CRC , AUTOPILOT_VERSION_DATA :: ID => AUTOPILOT_VERSION_DATA :: EXTRA_CRC , MEMORY_VECT_DATA :: ID => MEMORY_VECT_DATA :: EXTRA_CRC , VIDEO_STREAM_INFORMATION_DATA :: ID => VIDEO_STREAM_INFORMATION_DATA :: EXTRA_CRC , CHANGE_OPERATOR_CONTROL_DATA :: ID => CHANGE_OPERATOR_CONTROL_DATA :: EXTRA_CRC , GPS_INPUT_DATA :: ID => GPS_INPUT_DATA :: EXTRA_CRC , COLLISION_DATA :: ID => COLLISION_DATA :: EXTRA_CRC , SCALED_IMU3_DATA :: ID => SCALED_IMU3_DATA :: EXTRA_CRC , CAMERA_INFORMATION_DATA :: ID => CAMERA_INFORMATION_DATA :: EXTRA_CRC , SET_ATTITUDE_TARGET_DATA :: ID => SET_ATTITUDE_TARGET_DATA :: EXTRA_CRC , PARAM_EXT_ACK_DATA :: ID => PARAM_EXT_ACK_DATA :: EXTRA_CRC , ORBIT_EXECUTION_STATUS_DATA :: ID => ORBIT_EXECUTION_STATUS_DATA :: EXTRA_CRC , SERIAL_CONTROL_DATA :: ID => SERIAL_CONTROL_DATA :: EXTRA_CRC , LOGGING_DATA_DATA :: ID => LOGGING_DATA_DATA :: EXTRA_CRC , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: EXTRA_CRC , ALTITUDE_DATA :: ID => ALTITUDE_DATA :: EXTRA_CRC , RC_CHANNELS_DATA :: ID => RC_CHANNELS_DATA :: EXTRA_CRC , RESOURCE_REQUEST_DATA :: ID => RESOURCE_REQUEST_DATA :: EXTRA_CRC , COMPONENT_METADATA_DATA :: ID => COMPONENT_METADATA_DATA :: EXTRA_CRC , SUPPORTED_TUNES_DATA :: ID => SUPPORTED_TUNES_DATA :: EXTRA_CRC , OPEN_DRONE_ID_LOCATION_DATA :: ID => OPEN_DRONE_ID_LOCATION_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: EXTRA_CRC , BUTTON_CHANGE_DATA :: ID => BUTTON_CHANGE_DATA :: EXTRA_CRC , GLOBAL_POSITION_INT_DATA :: ID => GLOBAL_POSITION_INT_DATA :: EXTRA_CRC , GIMBAL_DEVICE_INFORMATION_DATA :: ID => GIMBAL_DEVICE_INFORMATION_DATA :: EXTRA_CRC , ATTITUDE_QUATERNION_DATA :: ID => ATTITUDE_QUATERNION_DATA :: EXTRA_CRC , LANDING_TARGET_DATA :: ID => LANDING_TARGET_DATA :: EXTRA_CRC , LOG_ENTRY_DATA :: ID => LOG_ENTRY_DATA :: EXTRA_CRC , POSITION_TARGET_LOCAL_NED_DATA :: ID => POSITION_TARGET_LOCAL_NED_DATA :: EXTRA_CRC , SET_MODE_DATA :: ID => SET_MODE_DATA :: EXTRA_CRC , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: EXTRA_CRC , VICON_POSITION_ESTIMATE_DATA :: ID => VICON_POSITION_ESTIMATE_DATA :: EXTRA_CRC , DEBUG_DATA :: ID => DEBUG_DATA :: EXTRA_CRC , COMMAND_INT_DATA :: ID => COMMAND_INT_DATA :: EXTRA_CRC , LOG_REQUEST_LIST_DATA :: ID => LOG_REQUEST_LIST_DATA :: EXTRA_CRC , ATTITUDE_QUATERNION_COV_DATA :: ID => ATTITUDE_QUATERNION_COV_DATA :: EXTRA_CRC , UTM_GLOBAL_POSITION_DATA :: ID => UTM_GLOBAL_POSITION_DATA :: EXTRA_CRC , MISSION_SET_CURRENT_DATA :: ID => MISSION_SET_CURRENT_DATA :: EXTRA_CRC , AIS_VESSEL_DATA :: ID => AIS_VESSEL_DATA :: EXTRA_CRC , ATT_POS_MOCAP_DATA :: ID => ATT_POS_MOCAP_DATA :: EXTRA_CRC , HIL_RC_INPUTS_RAW_DATA :: ID => HIL_RC_INPUTS_RAW_DATA :: EXTRA_CRC , LOG_REQUEST_DATA_DATA :: ID => LOG_REQUEST_DATA_DATA :: EXTRA_CRC , TUNNEL_DATA :: ID => TUNNEL_DATA :: EXTRA_CRC , NAMED_VALUE_FLOAT_DATA :: ID => NAMED_VALUE_FLOAT_DATA :: EXTRA_CRC , AUTH_KEY_DATA :: ID => AUTH_KEY_DATA :: EXTRA_CRC , TERRAIN_DATA_DATA :: ID => TERRAIN_DATA_DATA :: EXTRA_CRC , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => OPEN_DRONE_ID_BASIC_ID_DATA :: EXTRA_CRC , CELLULAR_CONFIG_DATA :: ID => CELLULAR_CONFIG_DATA :: EXTRA_CRC , HEARTBEAT_DATA :: ID => HEARTBEAT_DATA :: EXTRA_CRC , MISSION_COUNT_DATA :: ID => MISSION_COUNT_DATA :: EXTRA_CRC , PING_DATA :: ID => PING_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SYSTEM_DATA :: ID => OPEN_DRONE_ID_SYSTEM_DATA :: EXTRA_CRC , GLOBAL_POSITION_INT_COV_DATA :: ID => GLOBAL_POSITION_INT_COV_DATA :: EXTRA_CRC , ACTUATOR_OUTPUT_STATUS_DATA :: ID => ACTUATOR_OUTPUT_STATUS_DATA :: EXTRA_CRC , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => OPEN_DRONE_ID_AUTHENTICATION_DATA :: EXTRA_CRC , NAV_CONTROLLER_OUTPUT_DATA :: ID => NAV_CONTROLLER_OUTPUT_DATA :: EXTRA_CRC , PLAY_TUNE_V2_DATA :: ID => PLAY_TUNE_V2_DATA :: EXTRA_CRC , VISION_POSITION_ESTIMATE_DATA :: ID => VISION_POSITION_ESTIMATE_DATA :: EXTRA_CRC , STORAGE_INFORMATION_DATA :: ID => STORAGE_INFORMATION_DATA :: EXTRA_CRC , SETUP_SIGNING_DATA :: ID => SETUP_SIGNING_DATA :: EXTRA_CRC , LOGGING_DATA_ACKED_DATA :: ID => LOGGING_DATA_ACKED_DATA :: EXTRA_CRC , LOG_ERASE_DATA :: ID => LOG_ERASE_DATA :: EXTRA_CRC , GPS_RAW_INT_DATA :: ID => GPS_RAW_INT_DATA :: EXTRA_CRC , GIMBAL_MANAGER_INFORMATION_DATA :: ID => GIMBAL_MANAGER_INFORMATION_DATA :: EXTRA_CRC , MISSION_ITEM_INT_DATA :: ID => MISSION_ITEM_INT_DATA :: EXTRA_CRC , WINCH_STATUS_DATA :: ID => WINCH_STATUS_DATA :: EXTRA_CRC , FILE_TRANSFER_PROTOCOL_DATA :: ID => FILE_TRANSFER_PROTOCOL_DATA :: EXTRA_CRC , GPS2_RAW_DATA :: ID => GPS2_RAW_DATA :: EXTRA_CRC , GPS_RTK_DATA :: ID => GPS_RTK_DATA :: EXTRA_CRC , VIBRATION_DATA :: ID => VIBRATION_DATA :: EXTRA_CRC , HIL_STATE_DATA :: ID => HIL_STATE_DATA :: EXTRA_CRC , GPS_STATUS_DATA :: ID => GPS_STATUS_DATA :: EXTRA_CRC , SCALED_IMU_DATA :: ID => SCALED_IMU_DATA :: EXTRA_CRC , HIL_ACTUATOR_CONTROLS_DATA :: ID => HIL_ACTUATOR_CONTROLS_DATA :: EXTRA_CRC , MISSION_REQUEST_LIST_DATA :: ID => MISSION_REQUEST_LIST_DATA :: EXTRA_CRC , PARAM_EXT_REQUEST_LIST_DATA :: ID => PARAM_EXT_REQUEST_LIST_DATA :: EXTRA_CRC , PARAM_EXT_VALUE_DATA :: ID => PARAM_EXT_VALUE_DATA :: EXTRA_CRC , CELLULAR_STATUS_DATA :: ID => CELLULAR_STATUS_DATA :: EXTRA_CRC , CANFD_FRAME_DATA :: ID => CANFD_FRAME_DATA :: EXTRA_CRC , GPS_RTCM_DATA_DATA :: ID => GPS_RTCM_DATA_DATA :: EXTRA_CRC , MANUAL_CONTROL_DATA :: ID => MANUAL_CONTROL_DATA :: EXTRA_CRC , COMMAND_ACK_DATA :: ID => COMMAND_ACK_DATA :: EXTRA_CRC , RADIO_STATUS_DATA :: ID => RADIO_STATUS_DATA :: EXTRA_CRC , TERRAIN_REQUEST_DATA :: ID => TERRAIN_REQUEST_DATA :: EXTRA_CRC , VIDEO_STREAM_STATUS_DATA :: ID => VIDEO_STREAM_STATUS_DATA :: EXTRA_CRC , TIME_ESTIMATE_TO_TARGET_DATA :: ID => TIME_ESTIMATE_TO_TARGET_DATA :: EXTRA_CRC , CAMERA_IMAGE_CAPTURED_DATA :: ID => CAMERA_IMAGE_CAPTURED_DATA :: EXTRA_CRC , WHEEL_DISTANCE_DATA :: ID => WHEEL_DISTANCE_DATA :: EXTRA_CRC , MISSION_CURRENT_DATA :: ID => MISSION_CURRENT_DATA :: EXTRA_CRC , VFR_HUD_DATA :: ID => VFR_HUD_DATA :: EXTRA_CRC , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => SET_POSITION_TARGET_GLOBAL_INT_DATA :: EXTRA_CRC , POSITION_TARGET_GLOBAL_INT_DATA :: ID => POSITION_TARGET_GLOBAL_INT_DATA :: EXTRA_CRC , VISION_SPEED_ESTIMATE_DATA :: ID => VISION_SPEED_ESTIMATE_DATA :: EXTRA_CRC , BATTERY_STATUS_DATA :: ID => BATTERY_STATUS_DATA :: EXTRA_CRC , FENCE_STATUS_DATA :: ID => FENCE_STATUS_DATA :: EXTRA_CRC , PROTOCOL_VERSION_DATA :: ID => PROTOCOL_VERSION_DATA :: EXTRA_CRC , RAW_PRESSURE_DATA :: ID => RAW_PRESSURE_DATA :: EXTRA_CRC , SCALED_PRESSURE3_DATA :: ID => SCALED_PRESSURE3_DATA :: EXTRA_CRC , GPS_GLOBAL_ORIGIN_DATA :: ID => GPS_GLOBAL_ORIGIN_DATA :: EXTRA_CRC , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => MISSION_REQUEST_PARTIAL_LIST_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: EXTRA_CRC , RESPONSE_EVENT_ERROR_DATA :: ID => RESPONSE_EVENT_ERROR_DATA :: EXTRA_CRC , LINK_NODE_STATUS_DATA :: ID => LINK_NODE_STATUS_DATA :: EXTRA_CRC , DATA_STREAM_DATA :: ID => DATA_STREAM_DATA :: EXTRA_CRC , HIL_SENSOR_DATA :: ID => HIL_SENSOR_DATA :: EXTRA_CRC , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: EXTRA_CRC , WIND_COV_DATA :: ID => WIND_COV_DATA :: EXTRA_CRC , OPTICAL_FLOW_RAD_DATA :: ID => OPTICAL_FLOW_RAD_DATA :: EXTRA_CRC , TERRAIN_REPORT_DATA :: ID => TERRAIN_REPORT_DATA :: EXTRA_CRC , PARAM_MAP_RC_DATA :: ID => PARAM_MAP_RC_DATA :: EXTRA_CRC , CAMERA_TRIGGER_DATA :: ID => CAMERA_TRIGGER_DATA :: EXTRA_CRC , NAMED_VALUE_INT_DATA :: ID => NAMED_VALUE_INT_DATA :: EXTRA_CRC , CAMERA_SETTINGS_DATA :: ID => CAMERA_SETTINGS_DATA :: EXTRA_CRC , WIFI_CONFIG_AP_DATA :: ID => WIFI_CONFIG_AP_DATA :: EXTRA_CRC , HIGHRES_IMU_DATA :: ID => HIGHRES_IMU_DATA :: EXTRA_CRC , FLIGHT_INFORMATION_DATA :: ID => FLIGHT_INFORMATION_DATA :: EXTRA_CRC , MAG_CAL_REPORT_DATA :: ID => MAG_CAL_REPORT_DATA :: EXTRA_CRC , ATTITUDE_DATA :: ID => ATTITUDE_DATA :: EXTRA_CRC , MISSION_ITEM_REACHED_DATA :: ID => MISSION_ITEM_REACHED_DATA :: EXTRA_CRC , POWER_STATUS_DATA :: ID => POWER_STATUS_DATA :: EXTRA_CRC , MISSION_REQUEST_INT_DATA :: ID => MISSION_REQUEST_INT_DATA :: EXTRA_CRC , SMART_BATTERY_INFO_DATA :: ID => SMART_BATTERY_INFO_DATA :: EXTRA_CRC , PARAM_REQUEST_READ_DATA :: ID => PARAM_REQUEST_READ_DATA :: EXTRA_CRC , COMMAND_LONG_DATA :: ID => COMMAND_LONG_DATA :: EXTRA_CRC , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => CHANGE_OPERATOR_CONTROL_ACK_DATA :: EXTRA_CRC , OPTICAL_FLOW_DATA :: ID => OPTICAL_FLOW_DATA :: EXTRA_CRC , HIL_CONTROLS_DATA :: ID => HIL_CONTROLS_DATA :: EXTRA_CRC , CAMERA_CAPTURE_STATUS_DATA :: ID => CAMERA_CAPTURE_STATUS_DATA :: EXTRA_CRC , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => MISSION_WRITE_PARTIAL_LIST_DATA :: EXTRA_CRC , COMMAND_CANCEL_DATA :: ID => COMMAND_CANCEL_DATA :: EXTRA_CRC , ODOMETRY_DATA :: ID => ODOMETRY_DATA :: EXTRA_CRC , ADSB_VEHICLE_DATA :: ID => ADSB_VEHICLE_DATA :: EXTRA_CRC , MESSAGE_INTERVAL_DATA :: ID => MESSAGE_INTERVAL_DATA :: EXTRA_CRC , DISTANCE_SENSOR_DATA :: ID => DISTANCE_SENSOR_DATA :: EXTRA_CRC , RC_CHANNELS_RAW_DATA :: ID => RC_CHANNELS_RAW_DATA :: EXTRA_CRC , HOME_POSITION_DATA :: ID => HOME_POSITION_DATA :: EXTRA_CRC , MISSION_REQUEST_DATA :: ID => MISSION_REQUEST_DATA :: EXTRA_CRC , HIL_STATE_QUATERNION_DATA :: ID => HIL_STATE_QUATERNION_DATA :: EXTRA_CRC , RC_CHANNELS_OVERRIDE_DATA :: ID => RC_CHANNELS_OVERRIDE_DATA :: EXTRA_CRC , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => SET_POSITION_TARGET_LOCAL_NED_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: EXTRA_CRC , EXTENDED_SYS_STATE_DATA :: ID => EXTENDED_SYS_STATE_DATA :: EXTRA_CRC , ATTITUDE_TARGET_DATA :: ID => ATTITUDE_TARGET_DATA :: EXTRA_CRC , MANUAL_SETPOINT_DATA :: ID => MANUAL_SETPOINT_DATA :: EXTRA_CRC , UAVCAN_NODE_INFO_DATA :: ID => UAVCAN_NODE_INFO_DATA :: EXTRA_CRC , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => SET_GPS_GLOBAL_ORIGIN_DATA :: EXTRA_CRC , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: EXTRA_CRC , RAW_RPM_DATA :: ID => RAW_RPM_DATA :: EXTRA_CRC , GPS2_RTK_DATA :: ID => GPS2_RTK_DATA :: EXTRA_CRC , HIL_OPTICAL_FLOW_DATA :: ID => HIL_OPTICAL_FLOW_DATA :: EXTRA_CRC , CAMERA_FOV_STATUS_DATA :: ID => CAMERA_FOV_STATUS_DATA :: EXTRA_CRC , DEBUG_FLOAT_ARRAY_DATA :: ID => DEBUG_FLOAT_ARRAY_DATA :: EXTRA_CRC , GENERATOR_STATUS_DATA :: ID => GENERATOR_STATUS_DATA :: EXTRA_CRC , ESC_STATUS_DATA :: ID => ESC_STATUS_DATA :: EXTRA_CRC , _ => { 0 } , } } }
 
\ No newline at end of file diff --git a/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/icarous.rs.html b/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/icarous.rs.html index 34ca3dd919..ccb54e7fda 100644 --- a/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/icarous.rs.html +++ b/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/icarous.rs.html @@ -1,3 +1,3 @@ icarous.rs - source
1
-
# ! [doc = "This file was automatically generated, do not edit"] use crate :: MavlinkVersion ; # [allow (unused_imports)] use num_derive :: FromPrimitive ; # [allow (unused_imports)] use num_traits :: FromPrimitive ; # [allow (unused_imports)] use num_derive :: ToPrimitive ; # [allow (unused_imports)] use num_traits :: ToPrimitive ; # [allow (unused_imports)] use bitflags :: bitflags ; use crate :: { Message , MessageData , error :: * , bytes :: Bytes , bytes_mut :: BytesMut } ; # [cfg (feature = "serde")] use serde :: { Serialize , Deserialize } ; # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum IcarousFmsState { ICAROUS_FMS_STATE_IDLE = 0 , ICAROUS_FMS_STATE_TAKEOFF = 1 , ICAROUS_FMS_STATE_CLIMB = 2 , ICAROUS_FMS_STATE_CRUISE = 3 , ICAROUS_FMS_STATE_APPROACH = 4 , ICAROUS_FMS_STATE_LAND = 5 , } impl IcarousFmsState { pub const DEFAULT : Self = Self :: ICAROUS_FMS_STATE_IDLE ; } impl Default for IcarousFmsState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum IcarousTrackBandTypes { ICAROUS_TRACK_BAND_TYPE_NONE = 0 , ICAROUS_TRACK_BAND_TYPE_NEAR = 1 , ICAROUS_TRACK_BAND_TYPE_RECOVERY = 2 , } impl IcarousTrackBandTypes { pub const DEFAULT : Self = Self :: ICAROUS_TRACK_BAND_TYPE_NONE ; } impl Default for IcarousTrackBandTypes { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ICAROUS_KINEMATIC_BANDS_DATA { pub min1 : f32 , pub max1 : f32 , pub min2 : f32 , pub max2 : f32 , pub min3 : f32 , pub max3 : f32 , pub min4 : f32 , pub max4 : f32 , pub min5 : f32 , pub max5 : f32 , pub numBands : i8 , pub type1 : IcarousTrackBandTypes , pub type2 : IcarousTrackBandTypes , pub type3 : IcarousTrackBandTypes , pub type4 : IcarousTrackBandTypes , pub type5 : IcarousTrackBandTypes , } impl ICAROUS_KINEMATIC_BANDS_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { min1 : 0.0_f32 , max1 : 0.0_f32 , min2 : 0.0_f32 , max2 : 0.0_f32 , min3 : 0.0_f32 , max3 : 0.0_f32 , min4 : 0.0_f32 , max4 : 0.0_f32 , min5 : 0.0_f32 , max5 : 0.0_f32 , numBands : 0_i8 , type1 : IcarousTrackBandTypes :: DEFAULT , type2 : IcarousTrackBandTypes :: DEFAULT , type3 : IcarousTrackBandTypes :: DEFAULT , type4 : IcarousTrackBandTypes :: DEFAULT , type5 : IcarousTrackBandTypes :: DEFAULT , } ; } impl Default for ICAROUS_KINEMATIC_BANDS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ICAROUS_KINEMATIC_BANDS_DATA { type Message = MavMessage ; const ID : u32 = 42001u32 ; const NAME : & 'static str = "ICAROUS_KINEMATIC_BANDS" ; const EXTRA_CRC : u8 = 239u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . min1 = buf . get_f32_le () ; __struct . max1 = buf . get_f32_le () ; __struct . min2 = buf . get_f32_le () ; __struct . max2 = buf . get_f32_le () ; __struct . min3 = buf . get_f32_le () ; __struct . max3 = buf . get_f32_le () ; __struct . min4 = buf . get_f32_le () ; __struct . max4 = buf . get_f32_le () ; __struct . min5 = buf . get_f32_le () ; __struct . max5 = buf . get_f32_le () ; __struct . numBands = buf . get_i8 () ; let tmp = buf . get_u8 () ; __struct . type1 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type2 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type3 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type4 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type5 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . min1) ; __tmp . put_f32_le (self . max1) ; __tmp . put_f32_le (self . min2) ; __tmp . put_f32_le (self . max2) ; __tmp . put_f32_le (self . min3) ; __tmp . put_f32_le (self . max3) ; __tmp . put_f32_le (self . min4) ; __tmp . put_f32_le (self . max4) ; __tmp . put_f32_le (self . min5) ; __tmp . put_f32_le (self . max5) ; __tmp . put_i8 (self . numBands) ; __tmp . put_u8 (self . type1 as u8) ; __tmp . put_u8 (self . type2 as u8) ; __tmp . put_u8 (self . type3 as u8) ; __tmp . put_u8 (self . type4 as u8) ; __tmp . put_u8 (self . type5 as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ICAROUS_HEARTBEAT_DATA { pub status : IcarousFmsState , } impl ICAROUS_HEARTBEAT_DATA { pub const ENCODED_LEN : usize = 1usize ; pub const DEFAULT : Self = Self { status : IcarousFmsState :: DEFAULT , } ; } impl Default for ICAROUS_HEARTBEAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ICAROUS_HEARTBEAT_DATA { type Message = MavMessage ; const ID : u32 = 42000u32 ; const NAME : & 'static str = "ICAROUS_HEARTBEAT" ; const EXTRA_CRC : u8 = 227u8 ; const ENCODED_LEN : usize = 1usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousFmsState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Clone , PartialEq , Debug)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMessage { ICAROUS_KINEMATIC_BANDS (ICAROUS_KINEMATIC_BANDS_DATA) , ICAROUS_HEARTBEAT (ICAROUS_HEARTBEAT_DATA) , } impl Message for MavMessage { fn parse (version : MavlinkVersion , id : u32 , payload : & [u8]) -> Result < Self , ParserError > { match id { ICAROUS_KINEMATIC_BANDS_DATA :: ID => ICAROUS_KINEMATIC_BANDS_DATA :: deser (version , payload) . map (Self :: ICAROUS_KINEMATIC_BANDS) , ICAROUS_HEARTBEAT_DATA :: ID => ICAROUS_HEARTBEAT_DATA :: deser (version , payload) . map (Self :: ICAROUS_HEARTBEAT) , _ => { Err (ParserError :: UnknownMessage { id }) } , } } fn message_name (& self) -> & 'static str { match self { Self :: ICAROUS_KINEMATIC_BANDS (..) => ICAROUS_KINEMATIC_BANDS_DATA :: NAME , Self :: ICAROUS_HEARTBEAT (..) => ICAROUS_HEARTBEAT_DATA :: NAME , } } fn message_id (& self) -> u32 { match self { Self :: ICAROUS_KINEMATIC_BANDS (..) => ICAROUS_KINEMATIC_BANDS_DATA :: ID , Self :: ICAROUS_HEARTBEAT (..) => ICAROUS_HEARTBEAT_DATA :: ID , } } fn message_id_from_name (name : & str) -> Result < u32 , & 'static str > { match name { ICAROUS_KINEMATIC_BANDS_DATA :: NAME => Ok (ICAROUS_KINEMATIC_BANDS_DATA :: ID) , ICAROUS_HEARTBEAT_DATA :: NAME => Ok (ICAROUS_HEARTBEAT_DATA :: ID) , _ => { Err ("Invalid message name.") } } } fn default_message_from_id (id : u32) -> Result < Self , & 'static str > { match id { ICAROUS_KINEMATIC_BANDS_DATA :: ID => Ok (Self :: ICAROUS_KINEMATIC_BANDS (ICAROUS_KINEMATIC_BANDS_DATA :: default ())) , ICAROUS_HEARTBEAT_DATA :: ID => Ok (Self :: ICAROUS_HEARTBEAT (ICAROUS_HEARTBEAT_DATA :: default ())) , _ => { Err ("Invalid message id.") } } } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { match self { Self :: ICAROUS_KINEMATIC_BANDS (body) => body . ser (version , bytes) , Self :: ICAROUS_HEARTBEAT (body) => body . ser (version , bytes) , } } fn extra_crc (id : u32) -> u8 { match id { ICAROUS_KINEMATIC_BANDS_DATA :: ID => ICAROUS_KINEMATIC_BANDS_DATA :: EXTRA_CRC , ICAROUS_HEARTBEAT_DATA :: ID => ICAROUS_HEARTBEAT_DATA :: EXTRA_CRC , _ => { 0 } , } } }
+
# ! [doc = "This file was automatically generated, do not edit"] use crate :: MavlinkVersion ; # [allow (unused_imports)] use num_derive :: FromPrimitive ; # [allow (unused_imports)] use num_traits :: FromPrimitive ; # [allow (unused_imports)] use num_derive :: ToPrimitive ; # [allow (unused_imports)] use num_traits :: ToPrimitive ; # [allow (unused_imports)] use bitflags :: bitflags ; use crate :: { Message , MessageData , error :: * , bytes :: Bytes , bytes_mut :: BytesMut } ; # [cfg (feature = "serde")] use serde :: { Serialize , Deserialize } ; # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum IcarousTrackBandTypes { ICAROUS_TRACK_BAND_TYPE_NONE = 0 , ICAROUS_TRACK_BAND_TYPE_NEAR = 1 , ICAROUS_TRACK_BAND_TYPE_RECOVERY = 2 , } impl IcarousTrackBandTypes { pub const DEFAULT : Self = Self :: ICAROUS_TRACK_BAND_TYPE_NONE ; } impl Default for IcarousTrackBandTypes { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum IcarousFmsState { ICAROUS_FMS_STATE_IDLE = 0 , ICAROUS_FMS_STATE_TAKEOFF = 1 , ICAROUS_FMS_STATE_CLIMB = 2 , ICAROUS_FMS_STATE_CRUISE = 3 , ICAROUS_FMS_STATE_APPROACH = 4 , ICAROUS_FMS_STATE_LAND = 5 , } impl IcarousFmsState { pub const DEFAULT : Self = Self :: ICAROUS_FMS_STATE_IDLE ; } impl Default for IcarousFmsState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ICAROUS_HEARTBEAT_DATA { pub status : IcarousFmsState , } impl ICAROUS_HEARTBEAT_DATA { pub const ENCODED_LEN : usize = 1usize ; pub const DEFAULT : Self = Self { status : IcarousFmsState :: DEFAULT , } ; } impl Default for ICAROUS_HEARTBEAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ICAROUS_HEARTBEAT_DATA { type Message = MavMessage ; const ID : u32 = 42000u32 ; const NAME : & 'static str = "ICAROUS_HEARTBEAT" ; const EXTRA_CRC : u8 = 227u8 ; const ENCODED_LEN : usize = 1usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousFmsState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ICAROUS_KINEMATIC_BANDS_DATA { pub min1 : f32 , pub max1 : f32 , pub min2 : f32 , pub max2 : f32 , pub min3 : f32 , pub max3 : f32 , pub min4 : f32 , pub max4 : f32 , pub min5 : f32 , pub max5 : f32 , pub numBands : i8 , pub type1 : IcarousTrackBandTypes , pub type2 : IcarousTrackBandTypes , pub type3 : IcarousTrackBandTypes , pub type4 : IcarousTrackBandTypes , pub type5 : IcarousTrackBandTypes , } impl ICAROUS_KINEMATIC_BANDS_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { min1 : 0.0_f32 , max1 : 0.0_f32 , min2 : 0.0_f32 , max2 : 0.0_f32 , min3 : 0.0_f32 , max3 : 0.0_f32 , min4 : 0.0_f32 , max4 : 0.0_f32 , min5 : 0.0_f32 , max5 : 0.0_f32 , numBands : 0_i8 , type1 : IcarousTrackBandTypes :: DEFAULT , type2 : IcarousTrackBandTypes :: DEFAULT , type3 : IcarousTrackBandTypes :: DEFAULT , type4 : IcarousTrackBandTypes :: DEFAULT , type5 : IcarousTrackBandTypes :: DEFAULT , } ; } impl Default for ICAROUS_KINEMATIC_BANDS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ICAROUS_KINEMATIC_BANDS_DATA { type Message = MavMessage ; const ID : u32 = 42001u32 ; const NAME : & 'static str = "ICAROUS_KINEMATIC_BANDS" ; const EXTRA_CRC : u8 = 239u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . min1 = buf . get_f32_le () ; __struct . max1 = buf . get_f32_le () ; __struct . min2 = buf . get_f32_le () ; __struct . max2 = buf . get_f32_le () ; __struct . min3 = buf . get_f32_le () ; __struct . max3 = buf . get_f32_le () ; __struct . min4 = buf . get_f32_le () ; __struct . max4 = buf . get_f32_le () ; __struct . min5 = buf . get_f32_le () ; __struct . max5 = buf . get_f32_le () ; __struct . numBands = buf . get_i8 () ; let tmp = buf . get_u8 () ; __struct . type1 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type2 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type3 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type4 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . type5 = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "IcarousTrackBandTypes" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . min1) ; __tmp . put_f32_le (self . max1) ; __tmp . put_f32_le (self . min2) ; __tmp . put_f32_le (self . max2) ; __tmp . put_f32_le (self . min3) ; __tmp . put_f32_le (self . max3) ; __tmp . put_f32_le (self . min4) ; __tmp . put_f32_le (self . max4) ; __tmp . put_f32_le (self . min5) ; __tmp . put_f32_le (self . max5) ; __tmp . put_i8 (self . numBands) ; __tmp . put_u8 (self . type1 as u8) ; __tmp . put_u8 (self . type2 as u8) ; __tmp . put_u8 (self . type3 as u8) ; __tmp . put_u8 (self . type4 as u8) ; __tmp . put_u8 (self . type5 as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Clone , PartialEq , Debug)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMessage { ICAROUS_HEARTBEAT (ICAROUS_HEARTBEAT_DATA) , ICAROUS_KINEMATIC_BANDS (ICAROUS_KINEMATIC_BANDS_DATA) , } impl Message for MavMessage { fn parse (version : MavlinkVersion , id : u32 , payload : & [u8]) -> Result < Self , ParserError > { match id { ICAROUS_HEARTBEAT_DATA :: ID => ICAROUS_HEARTBEAT_DATA :: deser (version , payload) . map (Self :: ICAROUS_HEARTBEAT) , ICAROUS_KINEMATIC_BANDS_DATA :: ID => ICAROUS_KINEMATIC_BANDS_DATA :: deser (version , payload) . map (Self :: ICAROUS_KINEMATIC_BANDS) , _ => { Err (ParserError :: UnknownMessage { id }) } , } } fn message_name (& self) -> & 'static str { match self { Self :: ICAROUS_HEARTBEAT (..) => ICAROUS_HEARTBEAT_DATA :: NAME , Self :: ICAROUS_KINEMATIC_BANDS (..) => ICAROUS_KINEMATIC_BANDS_DATA :: NAME , } } fn message_id (& self) -> u32 { match self { Self :: ICAROUS_HEARTBEAT (..) => ICAROUS_HEARTBEAT_DATA :: ID , Self :: ICAROUS_KINEMATIC_BANDS (..) => ICAROUS_KINEMATIC_BANDS_DATA :: ID , } } fn message_id_from_name (name : & str) -> Result < u32 , & 'static str > { match name { ICAROUS_HEARTBEAT_DATA :: NAME => Ok (ICAROUS_HEARTBEAT_DATA :: ID) , ICAROUS_KINEMATIC_BANDS_DATA :: NAME => Ok (ICAROUS_KINEMATIC_BANDS_DATA :: ID) , _ => { Err ("Invalid message name.") } } } fn default_message_from_id (id : u32) -> Result < Self , & 'static str > { match id { ICAROUS_HEARTBEAT_DATA :: ID => Ok (Self :: ICAROUS_HEARTBEAT (ICAROUS_HEARTBEAT_DATA :: default ())) , ICAROUS_KINEMATIC_BANDS_DATA :: ID => Ok (Self :: ICAROUS_KINEMATIC_BANDS (ICAROUS_KINEMATIC_BANDS_DATA :: default ())) , _ => { Err ("Invalid message id.") } } } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { match self { Self :: ICAROUS_HEARTBEAT (body) => body . ser (version , bytes) , Self :: ICAROUS_KINEMATIC_BANDS (body) => body . ser (version , bytes) , } } fn extra_crc (id : u32) -> u8 { match id { ICAROUS_HEARTBEAT_DATA :: ID => ICAROUS_HEARTBEAT_DATA :: EXTRA_CRC , ICAROUS_KINEMATIC_BANDS_DATA :: ID => ICAROUS_KINEMATIC_BANDS_DATA :: EXTRA_CRC , _ => { 0 } , } } }
 
\ No newline at end of file diff --git a/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/uavionix.rs.html b/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/uavionix.rs.html index ea3f64b795..245384618b 100644 --- a/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/uavionix.rs.html +++ b/src/mavlink/home/runner/work/rust-mavlink/rust-mavlink/target/debug/build/mavlink-775f55fa02c8a374/out/uavionix.rs.html @@ -1,3 +1,3 @@ uavionix.rs - source
1
-
# ! [doc = "This file was automatically generated, do not edit"] use crate :: MavlinkVersion ; # [allow (unused_imports)] use num_derive :: FromPrimitive ; # [allow (unused_imports)] use num_traits :: FromPrimitive ; # [allow (unused_imports)] use num_derive :: ToPrimitive ; # [allow (unused_imports)] use num_traits :: ToPrimitive ; # [allow (unused_imports)] use bitflags :: bitflags ; use crate :: { Message , MessageData , error :: * , bytes :: Bytes , bytes_mut :: BytesMut } ; # [cfg (feature = "serde")] use serde :: { Serialize , Deserialize } ; # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavType { MAV_TYPE_GENERIC = 0 , MAV_TYPE_FIXED_WING = 1 , MAV_TYPE_QUADROTOR = 2 , MAV_TYPE_COAXIAL = 3 , MAV_TYPE_HELICOPTER = 4 , MAV_TYPE_ANTENNA_TRACKER = 5 , MAV_TYPE_GCS = 6 , MAV_TYPE_AIRSHIP = 7 , MAV_TYPE_FREE_BALLOON = 8 , MAV_TYPE_ROCKET = 9 , MAV_TYPE_GROUND_ROVER = 10 , MAV_TYPE_SURFACE_BOAT = 11 , MAV_TYPE_SUBMARINE = 12 , MAV_TYPE_HEXAROTOR = 13 , MAV_TYPE_OCTOROTOR = 14 , MAV_TYPE_TRICOPTER = 15 , MAV_TYPE_FLAPPING_WING = 16 , MAV_TYPE_KITE = 17 , MAV_TYPE_ONBOARD_CONTROLLER = 18 , MAV_TYPE_VTOL_TAILSITTER_DUOROTOR = 19 , MAV_TYPE_VTOL_TAILSITTER_QUADROTOR = 20 , MAV_TYPE_VTOL_TILTROTOR = 21 , MAV_TYPE_VTOL_FIXEDROTOR = 22 , MAV_TYPE_VTOL_TAILSITTER = 23 , MAV_TYPE_VTOL_TILTWING = 24 , MAV_TYPE_VTOL_RESERVED5 = 25 , MAV_TYPE_GIMBAL = 26 , MAV_TYPE_ADSB = 27 , MAV_TYPE_PARAFOIL = 28 , MAV_TYPE_DODECAROTOR = 29 , MAV_TYPE_CAMERA = 30 , MAV_TYPE_CHARGING_STATION = 31 , MAV_TYPE_FLARM = 32 , MAV_TYPE_SERVO = 33 , MAV_TYPE_ODID = 34 , MAV_TYPE_DECAROTOR = 35 , MAV_TYPE_BATTERY = 36 , MAV_TYPE_PARACHUTE = 37 , MAV_TYPE_LOG = 38 , MAV_TYPE_OSD = 39 , MAV_TYPE_IMU = 40 , MAV_TYPE_GPS = 41 , MAV_TYPE_WINCH = 42 , } impl MavType { pub const DEFAULT : Self = Self :: MAV_TYPE_GENERIC ; } impl Default for MavType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraMode { CAMERA_MODE_IMAGE = 0 , CAMERA_MODE_VIDEO = 1 , CAMERA_MODE_IMAGE_SURVEY = 2 , } impl CameraMode { pub const DEFAULT : Self = Self :: CAMERA_MODE_IMAGE ; } impl Default for CameraMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CellularNetworkFailedReason { CELLULAR_NETWORK_FAILED_REASON_NONE = 0 , CELLULAR_NETWORK_FAILED_REASON_UNKNOWN = 1 , CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING = 2 , CELLULAR_NETWORK_FAILED_REASON_SIM_ERROR = 3 , } impl CellularNetworkFailedReason { pub const DEFAULT : Self = Self :: CELLULAR_NETWORK_FAILED_REASON_NONE ; } impl Default for CellularNetworkFailedReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum WifiConfigApMode { WIFI_CONFIG_AP_MODE_UNDEFINED = 0 , WIFI_CONFIG_AP_MODE_AP = 1 , WIFI_CONFIG_AP_MODE_STATION = 2 , WIFI_CONFIG_AP_MODE_DISABLED = 3 , } impl WifiConfigApMode { pub const DEFAULT : Self = Self :: WIFI_CONFIG_AP_MODE_UNDEFINED ; } impl Default for WifiConfigApMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum WifiConfigApResponse { WIFI_CONFIG_AP_RESPONSE_UNDEFINED = 0 , WIFI_CONFIG_AP_RESPONSE_ACCEPTED = 1 , WIFI_CONFIG_AP_RESPONSE_REJECTED = 2 , WIFI_CONFIG_AP_RESPONSE_MODE_ERROR = 3 , WIFI_CONFIG_AP_RESPONSE_SSID_ERROR = 4 , WIFI_CONFIG_AP_RESPONSE_PASSWORD_ERROR = 5 , } impl WifiConfigApResponse { pub const DEFAULT : Self = Self :: WIFI_CONFIG_AP_RESPONSE_UNDEFINED ; } impl Default for WifiConfigApResponse { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavionixAdsbOutCfgGpsOffsetLat { UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA = 0 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_2M = 1 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_4M = 2 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_6M = 3 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_0M = 4 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_2M = 5 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_4M = 6 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_6M = 7 , } impl UavionixAdsbOutCfgGpsOffsetLat { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA ; } impl Default for UavionixAdsbOutCfgGpsOffsetLat { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CellularNetworkRadioType { CELLULAR_NETWORK_RADIO_TYPE_NONE = 0 , CELLULAR_NETWORK_RADIO_TYPE_GSM = 1 , CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2 , CELLULAR_NETWORK_RADIO_TYPE_WCDMA = 3 , CELLULAR_NETWORK_RADIO_TYPE_LTE = 4 , } impl CellularNetworkRadioType { pub const DEFAULT : Self = Self :: CELLULAR_NETWORK_RADIO_TYPE_NONE ; } impl Default for CellularNetworkRadioType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AttitudeTargetTypemask : u8 { const ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE = 1 ; const ATTITUDE_TARGET_TYPEMASK_BODY_PITCH_RATE_IGNORE = 2 ; const ATTITUDE_TARGET_TYPEMASK_BODY_YAW_RATE_IGNORE = 4 ; const ATTITUDE_TARGET_TYPEMASK_THRUST_BODY_SET = 32 ; const ATTITUDE_TARGET_TYPEMASK_THROTTLE_IGNORE = 64 ; const ATTITUDE_TARGET_TYPEMASK_ATTITUDE_IGNORE = 128 ; } } impl AttitudeTargetTypemask { pub const DEFAULT : Self = Self :: ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE ; } impl Default for AttitudeTargetTypemask { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavionixAdsbOutDynamicGpsFix { UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0 = 0 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_1 = 1 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_2D = 2 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_3D = 3 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_DGPS = 4 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_RTK = 5 , } impl UavionixAdsbOutDynamicGpsFix { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0 ; } impl Default for UavionixAdsbOutDynamicGpsFix { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryFunction { MAV_BATTERY_FUNCTION_UNKNOWN = 0 , MAV_BATTERY_FUNCTION_ALL = 1 , MAV_BATTERY_FUNCTION_PROPULSION = 2 , MAV_BATTERY_FUNCTION_AVIONICS = 3 , MAV_BATTERY_FUNCTION_PAYLOAD = 4 , } impl MavBatteryFunction { pub const DEFAULT : Self = Self :: MAV_BATTERY_FUNCTION_UNKNOWN ; } impl Default for MavBatteryFunction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCollisionThreatLevel { MAV_COLLISION_THREAT_LEVEL_NONE = 0 , MAV_COLLISION_THREAT_LEVEL_LOW = 1 , MAV_COLLISION_THREAT_LEVEL_HIGH = 2 , } impl MavCollisionThreatLevel { pub const DEFAULT : Self = Self :: MAV_COLLISION_THREAT_LEVEL_NONE ; } impl Default for MavCollisionThreatLevel { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavModeFlagDecodePosition { MAV_MODE_FLAG_DECODE_POSITION_SAFETY = 128 , MAV_MODE_FLAG_DECODE_POSITION_MANUAL = 64 , MAV_MODE_FLAG_DECODE_POSITION_HIL = 32 , MAV_MODE_FLAG_DECODE_POSITION_STABILIZE = 16 , MAV_MODE_FLAG_DECODE_POSITION_GUIDED = 8 , MAV_MODE_FLAG_DECODE_POSITION_AUTO = 4 , MAV_MODE_FLAG_DECODE_POSITION_TEST = 2 , MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE = 1 , } impl MavModeFlagDecodePosition { pub const DEFAULT : Self = Self :: MAV_MODE_FLAG_DECODE_POSITION_SAFETY ; } impl Default for MavModeFlagDecodePosition { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCollisionSrc { MAV_COLLISION_SRC_ADSB = 0 , MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT = 1 , } impl MavCollisionSrc { pub const DEFAULT : Self = Self :: MAV_COLLISION_SRC_ADSB ; } impl Default for MavCollisionSrc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum PreflightStorageParameterAction { PARAM_READ_PERSISTENT = 0 , PARAM_WRITE_PERSISTENT = 1 , PARAM_RESET_CONFIG_DEFAULT = 2 , PARAM_RESET_SENSOR_DEFAULT = 3 , PARAM_RESET_ALL_DEFAULT = 4 , } impl PreflightStorageParameterAction { pub const DEFAULT : Self = Self :: PARAM_READ_PERSISTENT ; } impl Default for PreflightStorageParameterAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavSysStatusSensorExtended { MAV_SYS_STATUS_RECOVERY_SYSTEM = 1 , } impl MavSysStatusSensorExtended { pub const DEFAULT : Self = Self :: MAV_SYS_STATUS_RECOVERY_SYSTEM ; } impl Default for MavSysStatusSensorExtended { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCollisionAction { MAV_COLLISION_ACTION_NONE = 0 , MAV_COLLISION_ACTION_REPORT = 1 , MAV_COLLISION_ACTION_ASCEND_OR_DESCEND = 2 , MAV_COLLISION_ACTION_MOVE_HORIZONTALLY = 3 , MAV_COLLISION_ACTION_MOVE_PERPENDICULAR = 4 , MAV_COLLISION_ACTION_RTL = 5 , MAV_COLLISION_ACTION_HOVER = 6 , } impl MavCollisionAction { pub const DEFAULT : Self = Self :: MAV_COLLISION_ACTION_NONE ; } impl Default for MavCollisionAction { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CameraCapFlags : u32 { const CAMERA_CAP_FLAGS_CAPTURE_VIDEO = 1 ; const CAMERA_CAP_FLAGS_CAPTURE_IMAGE = 2 ; const CAMERA_CAP_FLAGS_HAS_MODES = 4 ; const CAMERA_CAP_FLAGS_CAN_CAPTURE_IMAGE_IN_VIDEO_MODE = 8 ; const CAMERA_CAP_FLAGS_CAN_CAPTURE_VIDEO_IN_IMAGE_MODE = 16 ; const CAMERA_CAP_FLAGS_HAS_IMAGE_SURVEY_MODE = 32 ; const CAMERA_CAP_FLAGS_HAS_BASIC_ZOOM = 64 ; const CAMERA_CAP_FLAGS_HAS_BASIC_FOCUS = 128 ; const CAMERA_CAP_FLAGS_HAS_VIDEO_STREAM = 256 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_POINT = 512 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE = 1024 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_GEO_STATUS = 2048 ; } } impl CameraCapFlags { pub const DEFAULT : Self = Self :: CAMERA_CAP_FLAGS_CAPTURE_VIDEO ; } impl Default for CameraCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryChargeState { MAV_BATTERY_CHARGE_STATE_UNDEFINED = 0 , MAV_BATTERY_CHARGE_STATE_OK = 1 , MAV_BATTERY_CHARGE_STATE_LOW = 2 , MAV_BATTERY_CHARGE_STATE_CRITICAL = 3 , MAV_BATTERY_CHARGE_STATE_EMERGENCY = 4 , MAV_BATTERY_CHARGE_STATE_FAILED = 5 , MAV_BATTERY_CHARGE_STATE_UNHEALTHY = 6 , MAV_BATTERY_CHARGE_STATE_CHARGING = 7 , } impl MavBatteryChargeState { pub const DEFAULT : Self = Self :: MAV_BATTERY_CHARGE_STATE_UNDEFINED ; } impl Default for MavBatteryChargeState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavEventErrorReason { MAV_EVENT_ERROR_REASON_UNAVAILABLE = 0 , } impl MavEventErrorReason { pub const DEFAULT : Self = Self :: MAV_EVENT_ERROR_REASON_UNAVAILABLE ; } impl Default for MavEventErrorReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavionixAdsbOutCfgGpsOffsetLon { UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA = 0 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_APPLIED_BY_SENSOR = 1 , } impl UavionixAdsbOutCfgGpsOffsetLon { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA ; } impl Default for UavionixAdsbOutCfgGpsOffsetLon { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidHorAcc { MAV_ODID_HOR_ACC_UNKNOWN = 0 , MAV_ODID_HOR_ACC_10NM = 1 , MAV_ODID_HOR_ACC_4NM = 2 , MAV_ODID_HOR_ACC_2NM = 3 , MAV_ODID_HOR_ACC_1NM = 4 , MAV_ODID_HOR_ACC_0_5NM = 5 , MAV_ODID_HOR_ACC_0_3NM = 6 , MAV_ODID_HOR_ACC_0_1NM = 7 , MAV_ODID_HOR_ACC_0_05NM = 8 , MAV_ODID_HOR_ACC_30_METER = 9 , MAV_ODID_HOR_ACC_10_METER = 10 , MAV_ODID_HOR_ACC_3_METER = 11 , MAV_ODID_HOR_ACC_1_METER = 12 , } impl MavOdidHorAcc { pub const DEFAULT : Self = Self :: MAV_ODID_HOR_ACC_UNKNOWN ; } impl Default for MavOdidHorAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GimbalManagerFlags { GIMBAL_MANAGER_FLAGS_RETRACT = 1 , GIMBAL_MANAGER_FLAGS_NEUTRAL = 2 , GIMBAL_MANAGER_FLAGS_ROLL_LOCK = 4 , GIMBAL_MANAGER_FLAGS_PITCH_LOCK = 8 , GIMBAL_MANAGER_FLAGS_YAW_LOCK = 16 , GIMBAL_MANAGER_FLAGS_YAW_IN_VEHICLE_FRAME = 32 , GIMBAL_MANAGER_FLAGS_YAW_IN_EARTH_FRAME = 64 , GIMBAL_MANAGER_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME = 128 , GIMBAL_MANAGER_FLAGS_RC_EXCLUSIVE = 256 , GIMBAL_MANAGER_FLAGS_RC_MIXED = 512 , } impl GimbalManagerFlags { pub const DEFAULT : Self = Self :: GIMBAL_MANAGER_FLAGS_RETRACT ; } impl Default for GimbalManagerFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavGoto { MAV_GOTO_DO_HOLD = 0 , MAV_GOTO_DO_CONTINUE = 1 , MAV_GOTO_HOLD_AT_CURRENT_POSITION = 2 , MAV_GOTO_HOLD_AT_SPECIFIED_POSITION = 3 , } impl MavGoto { pub const DEFAULT : Self = Self :: MAV_GOTO_DO_HOLD ; } impl Default for MavGoto { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryType { MAV_BATTERY_TYPE_UNKNOWN = 0 , MAV_BATTERY_TYPE_LIPO = 1 , MAV_BATTERY_TYPE_LIFE = 2 , MAV_BATTERY_TYPE_LION = 3 , MAV_BATTERY_TYPE_NIMH = 4 , } impl MavBatteryType { pub const DEFAULT : Self = Self :: MAV_BATTERY_TYPE_UNKNOWN ; } impl Default for MavBatteryType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavDataStream { MAV_DATA_STREAM_ALL = 0 , MAV_DATA_STREAM_RAW_SENSORS = 1 , MAV_DATA_STREAM_EXTENDED_STATUS = 2 , MAV_DATA_STREAM_RC_CHANNELS = 3 , MAV_DATA_STREAM_RAW_CONTROLLER = 4 , MAV_DATA_STREAM_POSITION = 6 , MAV_DATA_STREAM_EXTRA1 = 10 , MAV_DATA_STREAM_EXTRA2 = 11 , MAV_DATA_STREAM_EXTRA3 = 12 , } impl MavDataStream { pub const DEFAULT : Self = Self :: MAV_DATA_STREAM_ALL ; } impl Default for MavDataStream { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavlinkDataStreamType { MAVLINK_DATA_STREAM_IMG_JPEG = 0 , MAVLINK_DATA_STREAM_IMG_BMP = 1 , MAVLINK_DATA_STREAM_IMG_RAW8U = 2 , MAVLINK_DATA_STREAM_IMG_RAW32U = 3 , MAVLINK_DATA_STREAM_IMG_PGM = 4 , MAVLINK_DATA_STREAM_IMG_PNG = 5 , } impl MavlinkDataStreamType { pub const DEFAULT : Self = Self :: MAVLINK_DATA_STREAM_IMG_JPEG ; } impl Default for MavlinkDataStreamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidOperatorLocationType { MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF = 0 , MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS = 1 , MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED = 2 , } impl MavOdidOperatorLocationType { pub const DEFAULT : Self = Self :: MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF ; } impl Default for MavOdidOperatorLocationType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavAutopilot { MAV_AUTOPILOT_GENERIC = 0 , MAV_AUTOPILOT_RESERVED = 1 , MAV_AUTOPILOT_SLUGS = 2 , MAV_AUTOPILOT_ARDUPILOTMEGA = 3 , MAV_AUTOPILOT_OPENPILOT = 4 , MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY = 5 , MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY = 6 , MAV_AUTOPILOT_GENERIC_MISSION_FULL = 7 , MAV_AUTOPILOT_INVALID = 8 , MAV_AUTOPILOT_PPZ = 9 , MAV_AUTOPILOT_UDB = 10 , MAV_AUTOPILOT_FP = 11 , MAV_AUTOPILOT_PX4 = 12 , MAV_AUTOPILOT_SMACCMPILOT = 13 , MAV_AUTOPILOT_AUTOQUAD = 14 , MAV_AUTOPILOT_ARMAZILA = 15 , MAV_AUTOPILOT_AEROB = 16 , MAV_AUTOPILOT_ASLUAV = 17 , MAV_AUTOPILOT_SMARTAP = 18 , MAV_AUTOPILOT_AIRRAILS = 19 , MAV_AUTOPILOT_REFLEX = 20 , } impl MavAutopilot { pub const DEFAULT : Self = Self :: MAV_AUTOPILOT_GENERIC ; } impl Default for MavAutopilot { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidAuthType { MAV_ODID_AUTH_TYPE_NONE = 0 , MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE = 1 , MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE = 2 , MAV_ODID_AUTH_TYPE_MESSAGE_SET_SIGNATURE = 3 , MAV_ODID_AUTH_TYPE_NETWORK_REMOTE_ID = 4 , MAV_ODID_AUTH_TYPE_SPECIFIC_AUTHENTICATION = 5 , } impl MavOdidAuthType { pub const DEFAULT : Self = Self :: MAV_ODID_AUTH_TYPE_NONE ; } impl Default for MavOdidAuthType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UavionixAdsbOutDynamicState : u16 { const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE = 1 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_AUTOPILOT_ENABLED = 2 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_NICBARO_CROSSCHECKED = 4 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_ON_GROUND = 8 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_IDENT = 16 ; } } impl UavionixAdsbOutDynamicState { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE ; } impl Default for UavionixAdsbOutDynamicState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidIdType { MAV_ODID_ID_TYPE_NONE = 0 , MAV_ODID_ID_TYPE_SERIAL_NUMBER = 1 , MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID = 2 , MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID = 3 , MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID = 4 , } impl MavOdidIdType { pub const DEFAULT : Self = Self :: MAV_ODID_ID_TYPE_NONE ; } impl Default for MavOdidIdType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum StorageUsageFlag { STORAGE_USAGE_FLAG_SET = 1 , STORAGE_USAGE_FLAG_PHOTO = 2 , STORAGE_USAGE_FLAG_VIDEO = 4 , STORAGE_USAGE_FLAG_LOGS = 8 , } impl StorageUsageFlag { pub const DEFAULT : Self = Self :: STORAGE_USAGE_FLAG_SET ; } impl Default for StorageUsageFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FenceMitigate { FENCE_MITIGATE_UNKNOWN = 0 , FENCE_MITIGATE_NONE = 1 , FENCE_MITIGATE_VEL_LIMIT = 2 , } impl FenceMitigate { pub const DEFAULT : Self = Self :: FENCE_MITIGATE_UNKNOWN ; } impl Default for FenceMitigate { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavFrame { MAV_FRAME_GLOBAL = 0 , MAV_FRAME_LOCAL_NED = 1 , MAV_FRAME_MISSION = 2 , MAV_FRAME_GLOBAL_RELATIVE_ALT = 3 , MAV_FRAME_LOCAL_ENU = 4 , MAV_FRAME_GLOBAL_INT = 5 , MAV_FRAME_GLOBAL_RELATIVE_ALT_INT = 6 , MAV_FRAME_LOCAL_OFFSET_NED = 7 , MAV_FRAME_BODY_NED = 8 , MAV_FRAME_BODY_OFFSET_NED = 9 , MAV_FRAME_GLOBAL_TERRAIN_ALT = 10 , MAV_FRAME_GLOBAL_TERRAIN_ALT_INT = 11 , MAV_FRAME_BODY_FRD = 12 , MAV_FRAME_RESERVED_13 = 13 , MAV_FRAME_RESERVED_14 = 14 , MAV_FRAME_RESERVED_15 = 15 , MAV_FRAME_RESERVED_16 = 16 , MAV_FRAME_RESERVED_17 = 17 , MAV_FRAME_RESERVED_18 = 18 , MAV_FRAME_RESERVED_19 = 19 , MAV_FRAME_LOCAL_FRD = 20 , MAV_FRAME_LOCAL_FLU = 21 , } impl MavFrame { pub const DEFAULT : Self = Self :: MAV_FRAME_GLOBAL ; } impl Default for MavFrame { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMode { MAV_MODE_PREFLIGHT = 0 , MAV_MODE_STABILIZE_DISARMED = 80 , MAV_MODE_STABILIZE_ARMED = 208 , MAV_MODE_MANUAL_DISARMED = 64 , MAV_MODE_MANUAL_ARMED = 192 , MAV_MODE_GUIDED_DISARMED = 88 , MAV_MODE_GUIDED_ARMED = 216 , MAV_MODE_AUTO_DISARMED = 92 , MAV_MODE_AUTO_ARMED = 220 , MAV_MODE_TEST_DISARMED = 66 , MAV_MODE_TEST_ARMED = 194 , } impl MavMode { pub const DEFAULT : Self = Self :: MAV_MODE_PREFLIGHT ; } impl Default for MavMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidUaType { MAV_ODID_UA_TYPE_NONE = 0 , MAV_ODID_UA_TYPE_AEROPLANE = 1 , MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR = 2 , MAV_ODID_UA_TYPE_GYROPLANE = 3 , MAV_ODID_UA_TYPE_HYBRID_LIFT = 4 , MAV_ODID_UA_TYPE_ORNITHOPTER = 5 , MAV_ODID_UA_TYPE_GLIDER = 6 , MAV_ODID_UA_TYPE_KITE = 7 , MAV_ODID_UA_TYPE_FREE_BALLOON = 8 , MAV_ODID_UA_TYPE_CAPTIVE_BALLOON = 9 , MAV_ODID_UA_TYPE_AIRSHIP = 10 , MAV_ODID_UA_TYPE_FREE_FALL_PARACHUTE = 11 , MAV_ODID_UA_TYPE_ROCKET = 12 , MAV_ODID_UA_TYPE_TETHERED_POWERED_AIRCRAFT = 13 , MAV_ODID_UA_TYPE_GROUND_OBSTACLE = 14 , MAV_ODID_UA_TYPE_OTHER = 15 , } impl MavOdidUaType { pub const DEFAULT : Self = Self :: MAV_ODID_UA_TYPE_NONE ; } impl Default for MavOdidUaType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavParamExtType { MAV_PARAM_EXT_TYPE_UINT8 = 1 , MAV_PARAM_EXT_TYPE_INT8 = 2 , MAV_PARAM_EXT_TYPE_UINT16 = 3 , MAV_PARAM_EXT_TYPE_INT16 = 4 , MAV_PARAM_EXT_TYPE_UINT32 = 5 , MAV_PARAM_EXT_TYPE_INT32 = 6 , MAV_PARAM_EXT_TYPE_UINT64 = 7 , MAV_PARAM_EXT_TYPE_INT64 = 8 , MAV_PARAM_EXT_TYPE_REAL32 = 9 , MAV_PARAM_EXT_TYPE_REAL64 = 10 , MAV_PARAM_EXT_TYPE_CUSTOM = 11 , } impl MavParamExtType { pub const DEFAULT : Self = Self :: MAV_PARAM_EXT_TYPE_UINT8 ; } impl Default for MavParamExtType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum StorageStatus { STORAGE_STATUS_EMPTY = 0 , STORAGE_STATUS_UNFORMATTED = 1 , STORAGE_STATUS_READY = 2 , STORAGE_STATUS_NOT_SUPPORTED = 3 , } impl StorageStatus { pub const DEFAULT : Self = Self :: STORAGE_STATUS_EMPTY ; } impl Default for StorageStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AisType { AIS_TYPE_UNKNOWN = 0 , AIS_TYPE_RESERVED_1 = 1 , AIS_TYPE_RESERVED_2 = 2 , AIS_TYPE_RESERVED_3 = 3 , AIS_TYPE_RESERVED_4 = 4 , AIS_TYPE_RESERVED_5 = 5 , AIS_TYPE_RESERVED_6 = 6 , AIS_TYPE_RESERVED_7 = 7 , AIS_TYPE_RESERVED_8 = 8 , AIS_TYPE_RESERVED_9 = 9 , AIS_TYPE_RESERVED_10 = 10 , AIS_TYPE_RESERVED_11 = 11 , AIS_TYPE_RESERVED_12 = 12 , AIS_TYPE_RESERVED_13 = 13 , AIS_TYPE_RESERVED_14 = 14 , AIS_TYPE_RESERVED_15 = 15 , AIS_TYPE_RESERVED_16 = 16 , AIS_TYPE_RESERVED_17 = 17 , AIS_TYPE_RESERVED_18 = 18 , AIS_TYPE_RESERVED_19 = 19 , AIS_TYPE_WIG = 20 , AIS_TYPE_WIG_HAZARDOUS_A = 21 , AIS_TYPE_WIG_HAZARDOUS_B = 22 , AIS_TYPE_WIG_HAZARDOUS_C = 23 , AIS_TYPE_WIG_HAZARDOUS_D = 24 , AIS_TYPE_WIG_RESERVED_1 = 25 , AIS_TYPE_WIG_RESERVED_2 = 26 , AIS_TYPE_WIG_RESERVED_3 = 27 , AIS_TYPE_WIG_RESERVED_4 = 28 , AIS_TYPE_WIG_RESERVED_5 = 29 , AIS_TYPE_FISHING = 30 , AIS_TYPE_TOWING = 31 , AIS_TYPE_TOWING_LARGE = 32 , AIS_TYPE_DREDGING = 33 , AIS_TYPE_DIVING = 34 , AIS_TYPE_MILITARY = 35 , AIS_TYPE_SAILING = 36 , AIS_TYPE_PLEASURE = 37 , AIS_TYPE_RESERVED_20 = 38 , AIS_TYPE_RESERVED_21 = 39 , AIS_TYPE_HSC = 40 , AIS_TYPE_HSC_HAZARDOUS_A = 41 , AIS_TYPE_HSC_HAZARDOUS_B = 42 , AIS_TYPE_HSC_HAZARDOUS_C = 43 , AIS_TYPE_HSC_HAZARDOUS_D = 44 , AIS_TYPE_HSC_RESERVED_1 = 45 , AIS_TYPE_HSC_RESERVED_2 = 46 , AIS_TYPE_HSC_RESERVED_3 = 47 , AIS_TYPE_HSC_RESERVED_4 = 48 , AIS_TYPE_HSC_UNKNOWN = 49 , AIS_TYPE_PILOT = 50 , AIS_TYPE_SAR = 51 , AIS_TYPE_TUG = 52 , AIS_TYPE_PORT_TENDER = 53 , AIS_TYPE_ANTI_POLLUTION = 54 , AIS_TYPE_LAW_ENFORCEMENT = 55 , AIS_TYPE_SPARE_LOCAL_1 = 56 , AIS_TYPE_SPARE_LOCAL_2 = 57 , AIS_TYPE_MEDICAL_TRANSPORT = 58 , AIS_TYPE_NONECOMBATANT = 59 , AIS_TYPE_PASSENGER = 60 , AIS_TYPE_PASSENGER_HAZARDOUS_A = 61 , AIS_TYPE_PASSENGER_HAZARDOUS_B = 62 , AIS_TYPE_PASSENGER_HAZARDOUS_C = 63 , AIS_TYPE_PASSENGER_HAZARDOUS_D = 64 , AIS_TYPE_PASSENGER_RESERVED_1 = 65 , AIS_TYPE_PASSENGER_RESERVED_2 = 66 , AIS_TYPE_PASSENGER_RESERVED_3 = 67 , AIS_TYPE_PASSENGER_RESERVED_4 = 68 , AIS_TYPE_PASSENGER_UNKNOWN = 69 , AIS_TYPE_CARGO = 70 , AIS_TYPE_CARGO_HAZARDOUS_A = 71 , AIS_TYPE_CARGO_HAZARDOUS_B = 72 , AIS_TYPE_CARGO_HAZARDOUS_C = 73 , AIS_TYPE_CARGO_HAZARDOUS_D = 74 , AIS_TYPE_CARGO_RESERVED_1 = 75 , AIS_TYPE_CARGO_RESERVED_2 = 76 , AIS_TYPE_CARGO_RESERVED_3 = 77 , AIS_TYPE_CARGO_RESERVED_4 = 78 , AIS_TYPE_CARGO_UNKNOWN = 79 , AIS_TYPE_TANKER = 80 , AIS_TYPE_TANKER_HAZARDOUS_A = 81 , AIS_TYPE_TANKER_HAZARDOUS_B = 82 , AIS_TYPE_TANKER_HAZARDOUS_C = 83 , AIS_TYPE_TANKER_HAZARDOUS_D = 84 , AIS_TYPE_TANKER_RESERVED_1 = 85 , AIS_TYPE_TANKER_RESERVED_2 = 86 , AIS_TYPE_TANKER_RESERVED_3 = 87 , AIS_TYPE_TANKER_RESERVED_4 = 88 , AIS_TYPE_TANKER_UNKNOWN = 89 , AIS_TYPE_OTHER = 90 , AIS_TYPE_OTHER_HAZARDOUS_A = 91 , AIS_TYPE_OTHER_HAZARDOUS_B = 92 , AIS_TYPE_OTHER_HAZARDOUS_C = 93 , AIS_TYPE_OTHER_HAZARDOUS_D = 94 , AIS_TYPE_OTHER_RESERVED_1 = 95 , AIS_TYPE_OTHER_RESERVED_2 = 96 , AIS_TYPE_OTHER_RESERVED_3 = 97 , AIS_TYPE_OTHER_RESERVED_4 = 98 , AIS_TYPE_OTHER_UNKNOWN = 99 , } impl AisType { pub const DEFAULT : Self = Self :: AIS_TYPE_UNKNOWN ; } impl Default for AisType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FenceAction { FENCE_ACTION_NONE = 0 , FENCE_ACTION_GUIDED = 1 , FENCE_ACTION_REPORT = 2 , FENCE_ACTION_GUIDED_THR_PASS = 3 , FENCE_ACTION_RTL = 4 , FENCE_ACTION_HOLD = 5 , FENCE_ACTION_TERMINATE = 6 , FENCE_ACTION_LAND = 7 , } impl FenceAction { pub const DEFAULT : Self = Self :: FENCE_ACTION_NONE ; } impl Default for FenceAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraTrackingTargetData { CAMERA_TRACKING_TARGET_DATA_NONE = 0 , CAMERA_TRACKING_TARGET_DATA_EMBEDDED = 1 , CAMERA_TRACKING_TARGET_DATA_RENDERED = 2 , CAMERA_TRACKING_TARGET_DATA_IN_STATUS = 4 , } impl CameraTrackingTargetData { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_TARGET_DATA_NONE ; } impl Default for CameraTrackingTargetData { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCmdAck { MAV_CMD_ACK_OK = 0 , MAV_CMD_ACK_ERR_FAIL = 1 , MAV_CMD_ACK_ERR_ACCESS_DENIED = 2 , MAV_CMD_ACK_ERR_NOT_SUPPORTED = 3 , MAV_CMD_ACK_ERR_COORDINATE_FRAME_NOT_SUPPORTED = 4 , MAV_CMD_ACK_ERR_COORDINATES_OUT_OF_RANGE = 5 , MAV_CMD_ACK_ERR_X_LAT_OUT_OF_RANGE = 6 , MAV_CMD_ACK_ERR_Y_LON_OUT_OF_RANGE = 7 , MAV_CMD_ACK_ERR_Z_ALT_OUT_OF_RANGE = 8 , } impl MavCmdAck { pub const DEFAULT : Self = Self :: MAV_CMD_ACK_OK ; } impl Default for MavCmdAck { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavModeFlag : u8 { const MAV_MODE_FLAG_SAFETY_ARMED = 128 ; const MAV_MODE_FLAG_MANUAL_INPUT_ENABLED = 64 ; const MAV_MODE_FLAG_HIL_ENABLED = 32 ; const MAV_MODE_FLAG_STABILIZE_ENABLED = 16 ; const MAV_MODE_FLAG_GUIDED_ENABLED = 8 ; const MAV_MODE_FLAG_AUTO_ENABLED = 4 ; const MAV_MODE_FLAG_TEST_ENABLED = 2 ; const MAV_MODE_FLAG_CUSTOM_MODE_ENABLED = 1 ; } } impl MavModeFlag { pub const DEFAULT : Self = Self :: MAV_MODE_FLAG_SAFETY_ARMED ; } impl Default for MavModeFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavVtolState { MAV_VTOL_STATE_UNDEFINED = 0 , MAV_VTOL_STATE_TRANSITION_TO_FW = 1 , MAV_VTOL_STATE_TRANSITION_TO_MC = 2 , MAV_VTOL_STATE_MC = 3 , MAV_VTOL_STATE_FW = 4 , } impl MavVtolState { pub const DEFAULT : Self = Self :: MAV_VTOL_STATE_UNDEFINED ; } impl Default for MavVtolState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum VtolTransitionHeading { VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT = 0 , VTOL_TRANSITION_HEADING_NEXT_WAYPOINT = 1 , VTOL_TRANSITION_HEADING_TAKEOFF = 2 , VTOL_TRANSITION_HEADING_SPECIFIED = 3 , VTOL_TRANSITION_HEADING_ANY = 4 , } impl VtolTransitionHeading { pub const DEFAULT : Self = Self :: VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT ; } impl Default for VtolTransitionHeading { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EstimatorStatusFlags : u16 { const ESTIMATOR_ATTITUDE = 1 ; const ESTIMATOR_VELOCITY_HORIZ = 2 ; const ESTIMATOR_VELOCITY_VERT = 4 ; const ESTIMATOR_POS_HORIZ_REL = 8 ; const ESTIMATOR_POS_HORIZ_ABS = 16 ; const ESTIMATOR_POS_VERT_ABS = 32 ; const ESTIMATOR_POS_VERT_AGL = 64 ; const ESTIMATOR_CONST_POS_MODE = 128 ; const ESTIMATOR_PRED_POS_HORIZ_REL = 256 ; const ESTIMATOR_PRED_POS_HORIZ_ABS = 512 ; const ESTIMATOR_GPS_GLITCH = 1024 ; const ESTIMATOR_ACCEL_ERROR = 2048 ; } } impl EstimatorStatusFlags { pub const DEFAULT : Self = Self :: ESTIMATOR_ATTITUDE ; } impl Default for EstimatorStatusFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UavionixAdsbOutRfSelect : u8 { const UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY = 0 ; const UAVIONIX_ADSB_OUT_RF_SELECT_RX_ENABLED = 1 ; const UAVIONIX_ADSB_OUT_RF_SELECT_TX_ENABLED = 2 ; } } impl UavionixAdsbOutRfSelect { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY ; } impl Default for UavionixAdsbOutRfSelect { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum PrecisionLandMode { PRECISION_LAND_MODE_DISABLED = 0 , PRECISION_LAND_MODE_OPPORTUNISTIC = 1 , PRECISION_LAND_MODE_REQUIRED = 2 , } impl PrecisionLandMode { pub const DEFAULT : Self = Self :: PRECISION_LAND_MODE_DISABLED ; } impl Default for PrecisionLandMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavEstimatorType { MAV_ESTIMATOR_TYPE_UNKNOWN = 0 , MAV_ESTIMATOR_TYPE_NAIVE = 1 , MAV_ESTIMATOR_TYPE_VISION = 2 , MAV_ESTIMATOR_TYPE_VIO = 3 , MAV_ESTIMATOR_TYPE_GPS = 4 , MAV_ESTIMATOR_TYPE_GPS_INS = 5 , MAV_ESTIMATOR_TYPE_MOCAP = 6 , MAV_ESTIMATOR_TYPE_LIDAR = 7 , MAV_ESTIMATOR_TYPE_AUTOPILOT = 8 , } impl MavEstimatorType { pub const DEFAULT : Self = Self :: MAV_ESTIMATOR_TYPE_UNKNOWN ; } impl Default for MavEstimatorType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryFault { MAV_BATTERY_FAULT_DEEP_DISCHARGE = 1 , MAV_BATTERY_FAULT_SPIKES = 2 , MAV_BATTERY_FAULT_CELL_FAIL = 4 , MAV_BATTERY_FAULT_OVER_CURRENT = 8 , MAV_BATTERY_FAULT_OVER_TEMPERATURE = 16 , MAV_BATTERY_FAULT_UNDER_TEMPERATURE = 32 , MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE = 64 , MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE = 128 , BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION = 256 , } impl MavBatteryFault { pub const DEFAULT : Self = Self :: MAV_BATTERY_FAULT_DEEP_DISCHARGE ; } impl Default for MavBatteryFault { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HilSensorUpdatedFlags : u32 { const HIL_SENSOR_UPDATED_NONE = 0 ; const HIL_SENSOR_UPDATED_XACC = 1 ; const HIL_SENSOR_UPDATED_YACC = 2 ; const HIL_SENSOR_UPDATED_ZACC = 4 ; const HIL_SENSOR_UPDATED_XGYRO = 8 ; const HIL_SENSOR_UPDATED_YGYRO = 16 ; const HIL_SENSOR_UPDATED_ZGYRO = 32 ; const HIL_SENSOR_UPDATED_XMAG = 64 ; const HIL_SENSOR_UPDATED_YMAG = 128 ; const HIL_SENSOR_UPDATED_ZMAG = 256 ; const HIL_SENSOR_UPDATED_ABS_PRESSURE = 512 ; const HIL_SENSOR_UPDATED_DIFF_PRESSURE = 1024 ; const HIL_SENSOR_UPDATED_PRESSURE_ALT = 2048 ; const HIL_SENSOR_UPDATED_TEMPERATURE = 4096 ; const HIL_SENSOR_UPDATED_RESET = 2147483648 ; } } impl HilSensorUpdatedFlags { pub const DEFAULT : Self = Self :: HIL_SENSOR_UPDATED_NONE ; } impl Default for HilSensorUpdatedFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavionixAdsbEmergencyStatus { UAVIONIX_ADSB_OUT_NO_EMERGENCY = 0 , UAVIONIX_ADSB_OUT_GENERAL_EMERGENCY = 1 , UAVIONIX_ADSB_OUT_LIFEGUARD_EMERGENCY = 2 , UAVIONIX_ADSB_OUT_MINIMUM_FUEL_EMERGENCY = 3 , UAVIONIX_ADSB_OUT_NO_COMM_EMERGENCY = 4 , UAVIONIX_ADSB_OUT_UNLAWFUL_INTERFERANCE_EMERGENCY = 5 , UAVIONIX_ADSB_OUT_DOWNED_AIRCRAFT_EMERGENCY = 6 , UAVIONIX_ADSB_OUT_RESERVED = 7 , } impl UavionixAdsbEmergencyStatus { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_NO_EMERGENCY ; } impl Default for UavionixAdsbEmergencyStatus { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceCapFlags : u16 { const GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT = 1 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL = 2 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS = 4 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW = 8 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK = 16 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS = 32 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW = 64 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK = 128 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS = 256 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW = 512 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK = 1024 ; const GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW = 2048 ; const GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME = 4096 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS = 8192 ; } } impl GimbalDeviceCapFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT ; } impl Default for GimbalDeviceCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavArmAuthDeniedReason { MAV_ARM_AUTH_DENIED_REASON_GENERIC = 0 , MAV_ARM_AUTH_DENIED_REASON_NONE = 1 , MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT = 2 , MAV_ARM_AUTH_DENIED_REASON_TIMEOUT = 3 , MAV_ARM_AUTH_DENIED_REASON_AIRSPACE_IN_USE = 4 , MAV_ARM_AUTH_DENIED_REASON_BAD_WEATHER = 5 , } impl MavArmAuthDeniedReason { pub const DEFAULT : Self = Self :: MAV_ARM_AUTH_DENIED_REASON_GENERIC ; } impl Default for MavArmAuthDeniedReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavComponent { MAV_COMP_ID_ALL = 0 , MAV_COMP_ID_AUTOPILOT1 = 1 , MAV_COMP_ID_USER1 = 25 , MAV_COMP_ID_USER2 = 26 , MAV_COMP_ID_USER3 = 27 , MAV_COMP_ID_USER4 = 28 , MAV_COMP_ID_USER5 = 29 , MAV_COMP_ID_USER6 = 30 , MAV_COMP_ID_USER7 = 31 , MAV_COMP_ID_USER8 = 32 , MAV_COMP_ID_USER9 = 33 , MAV_COMP_ID_USER10 = 34 , MAV_COMP_ID_USER11 = 35 , MAV_COMP_ID_USER12 = 36 , MAV_COMP_ID_USER13 = 37 , MAV_COMP_ID_USER14 = 38 , MAV_COMP_ID_USER15 = 39 , MAV_COMP_ID_USER16 = 40 , MAV_COMP_ID_USER17 = 41 , MAV_COMP_ID_USER18 = 42 , MAV_COMP_ID_USER19 = 43 , MAV_COMP_ID_USER20 = 44 , MAV_COMP_ID_USER21 = 45 , MAV_COMP_ID_USER22 = 46 , MAV_COMP_ID_USER23 = 47 , MAV_COMP_ID_USER24 = 48 , MAV_COMP_ID_USER25 = 49 , MAV_COMP_ID_USER26 = 50 , MAV_COMP_ID_USER27 = 51 , MAV_COMP_ID_USER28 = 52 , MAV_COMP_ID_USER29 = 53 , MAV_COMP_ID_USER30 = 54 , MAV_COMP_ID_USER31 = 55 , MAV_COMP_ID_USER32 = 56 , MAV_COMP_ID_USER33 = 57 , MAV_COMP_ID_USER34 = 58 , MAV_COMP_ID_USER35 = 59 , MAV_COMP_ID_USER36 = 60 , MAV_COMP_ID_USER37 = 61 , MAV_COMP_ID_USER38 = 62 , MAV_COMP_ID_USER39 = 63 , MAV_COMP_ID_USER40 = 64 , MAV_COMP_ID_USER41 = 65 , MAV_COMP_ID_USER42 = 66 , MAV_COMP_ID_USER43 = 67 , MAV_COMP_ID_TELEMETRY_RADIO = 68 , MAV_COMP_ID_USER45 = 69 , MAV_COMP_ID_USER46 = 70 , MAV_COMP_ID_USER47 = 71 , MAV_COMP_ID_USER48 = 72 , MAV_COMP_ID_USER49 = 73 , MAV_COMP_ID_USER50 = 74 , MAV_COMP_ID_USER51 = 75 , MAV_COMP_ID_USER52 = 76 , MAV_COMP_ID_USER53 = 77 , MAV_COMP_ID_USER54 = 78 , MAV_COMP_ID_USER55 = 79 , MAV_COMP_ID_USER56 = 80 , MAV_COMP_ID_USER57 = 81 , MAV_COMP_ID_USER58 = 82 , MAV_COMP_ID_USER59 = 83 , MAV_COMP_ID_USER60 = 84 , MAV_COMP_ID_USER61 = 85 , MAV_COMP_ID_USER62 = 86 , MAV_COMP_ID_USER63 = 87 , MAV_COMP_ID_USER64 = 88 , MAV_COMP_ID_USER65 = 89 , MAV_COMP_ID_USER66 = 90 , MAV_COMP_ID_USER67 = 91 , MAV_COMP_ID_USER68 = 92 , MAV_COMP_ID_USER69 = 93 , MAV_COMP_ID_USER70 = 94 , MAV_COMP_ID_USER71 = 95 , MAV_COMP_ID_USER72 = 96 , MAV_COMP_ID_USER73 = 97 , MAV_COMP_ID_USER74 = 98 , MAV_COMP_ID_USER75 = 99 , MAV_COMP_ID_CAMERA = 100 , MAV_COMP_ID_CAMERA2 = 101 , MAV_COMP_ID_CAMERA3 = 102 , MAV_COMP_ID_CAMERA4 = 103 , MAV_COMP_ID_CAMERA5 = 104 , MAV_COMP_ID_CAMERA6 = 105 , MAV_COMP_ID_SERVO1 = 140 , MAV_COMP_ID_SERVO2 = 141 , MAV_COMP_ID_SERVO3 = 142 , MAV_COMP_ID_SERVO4 = 143 , MAV_COMP_ID_SERVO5 = 144 , MAV_COMP_ID_SERVO6 = 145 , MAV_COMP_ID_SERVO7 = 146 , MAV_COMP_ID_SERVO8 = 147 , MAV_COMP_ID_SERVO9 = 148 , MAV_COMP_ID_SERVO10 = 149 , MAV_COMP_ID_SERVO11 = 150 , MAV_COMP_ID_SERVO12 = 151 , MAV_COMP_ID_SERVO13 = 152 , MAV_COMP_ID_SERVO14 = 153 , MAV_COMP_ID_GIMBAL = 154 , MAV_COMP_ID_LOG = 155 , MAV_COMP_ID_ADSB = 156 , MAV_COMP_ID_OSD = 157 , MAV_COMP_ID_PERIPHERAL = 158 , MAV_COMP_ID_QX1_GIMBAL = 159 , MAV_COMP_ID_FLARM = 160 , MAV_COMP_ID_PARACHUTE = 161 , MAV_COMP_ID_WINCH = 169 , MAV_COMP_ID_GIMBAL2 = 171 , MAV_COMP_ID_GIMBAL3 = 172 , MAV_COMP_ID_GIMBAL4 = 173 , MAV_COMP_ID_GIMBAL5 = 174 , MAV_COMP_ID_GIMBAL6 = 175 , MAV_COMP_ID_BATTERY = 180 , MAV_COMP_ID_BATTERY2 = 181 , MAV_COMP_ID_MAVCAN = 189 , MAV_COMP_ID_MISSIONPLANNER = 190 , MAV_COMP_ID_ONBOARD_COMPUTER = 191 , MAV_COMP_ID_ONBOARD_COMPUTER2 = 192 , MAV_COMP_ID_ONBOARD_COMPUTER3 = 193 , MAV_COMP_ID_ONBOARD_COMPUTER4 = 194 , MAV_COMP_ID_PATHPLANNER = 195 , MAV_COMP_ID_OBSTACLE_AVOIDANCE = 196 , MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY = 197 , MAV_COMP_ID_PAIRING_MANAGER = 198 , MAV_COMP_ID_IMU = 200 , MAV_COMP_ID_IMU_2 = 201 , MAV_COMP_ID_IMU_3 = 202 , MAV_COMP_ID_GPS = 220 , MAV_COMP_ID_GPS2 = 221 , MAV_COMP_ID_ODID_TXRX_1 = 236 , MAV_COMP_ID_ODID_TXRX_2 = 237 , MAV_COMP_ID_ODID_TXRX_3 = 238 , MAV_COMP_ID_UDP_BRIDGE = 240 , MAV_COMP_ID_UART_BRIDGE = 241 , MAV_COMP_ID_TUNNEL_NODE = 242 , MAV_COMP_ID_SYSTEM_CONTROL = 250 , } impl MavComponent { pub const DEFAULT : Self = Self :: MAV_COMP_ID_ALL ; } impl Default for MavComponent { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavSysStatusSensor : u32 { const MAV_SYS_STATUS_SENSOR_3D_GYRO = 1 ; const MAV_SYS_STATUS_SENSOR_3D_ACCEL = 2 ; const MAV_SYS_STATUS_SENSOR_3D_MAG = 4 ; const MAV_SYS_STATUS_SENSOR_ABSOLUTE_PRESSURE = 8 ; const MAV_SYS_STATUS_SENSOR_DIFFERENTIAL_PRESSURE = 16 ; const MAV_SYS_STATUS_SENSOR_GPS = 32 ; const MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW = 64 ; const MAV_SYS_STATUS_SENSOR_VISION_POSITION = 128 ; const MAV_SYS_STATUS_SENSOR_LASER_POSITION = 256 ; const MAV_SYS_STATUS_SENSOR_EXTERNAL_GROUND_TRUTH = 512 ; const MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL = 1024 ; const MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION = 2048 ; const MAV_SYS_STATUS_SENSOR_YAW_POSITION = 4096 ; const MAV_SYS_STATUS_SENSOR_Z_ALTITUDE_CONTROL = 8192 ; const MAV_SYS_STATUS_SENSOR_XY_POSITION_CONTROL = 16384 ; const MAV_SYS_STATUS_SENSOR_MOTOR_OUTPUTS = 32768 ; const MAV_SYS_STATUS_SENSOR_RC_RECEIVER = 65536 ; const MAV_SYS_STATUS_SENSOR_3D_GYRO2 = 131072 ; const MAV_SYS_STATUS_SENSOR_3D_ACCEL2 = 262144 ; const MAV_SYS_STATUS_SENSOR_3D_MAG2 = 524288 ; const MAV_SYS_STATUS_GEOFENCE = 1048576 ; const MAV_SYS_STATUS_AHRS = 2097152 ; const MAV_SYS_STATUS_TERRAIN = 4194304 ; const MAV_SYS_STATUS_REVERSE_MOTOR = 8388608 ; const MAV_SYS_STATUS_LOGGING = 16777216 ; const MAV_SYS_STATUS_SENSOR_BATTERY = 33554432 ; const MAV_SYS_STATUS_SENSOR_PROXIMITY = 67108864 ; const MAV_SYS_STATUS_SENSOR_SATCOM = 134217728 ; const MAV_SYS_STATUS_PREARM_CHECK = 268435456 ; const MAV_SYS_STATUS_OBSTACLE_AVOIDANCE = 536870912 ; const MAV_SYS_STATUS_SENSOR_PROPULSION = 1073741824 ; const MAV_SYS_STATUS_EXTENSION_USED = 2147483648 ; } } impl MavSysStatusSensor { pub const DEFAULT : Self = Self :: MAV_SYS_STATUS_SENSOR_3D_GYRO ; } impl Default for MavSysStatusSensor { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MagCalStatus { MAG_CAL_NOT_STARTED = 0 , MAG_CAL_WAITING_TO_START = 1 , MAG_CAL_RUNNING_STEP_ONE = 2 , MAG_CAL_RUNNING_STEP_TWO = 3 , MAG_CAL_SUCCESS = 4 , MAG_CAL_FAILED = 5 , MAG_CAL_BAD_ORIENTATION = 6 , MAG_CAL_BAD_RADIUS = 7 , } impl MagCalStatus { pub const DEFAULT : Self = Self :: MAG_CAL_NOT_STARTED ; } impl Default for MagCalStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavState { MAV_STATE_UNINIT = 0 , MAV_STATE_BOOT = 1 , MAV_STATE_CALIBRATING = 2 , MAV_STATE_STANDBY = 3 , MAV_STATE_ACTIVE = 4 , MAV_STATE_CRITICAL = 5 , MAV_STATE_EMERGENCY = 6 , MAV_STATE_POWEROFF = 7 , MAV_STATE_FLIGHT_TERMINATION = 8 , } impl MavState { pub const DEFAULT : Self = Self :: MAV_STATE_UNINIT ; } impl Default for MavState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidArmStatus { MAV_ODID_ARM_STATUS_GOOD_TO_ARM = 0 , MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC = 1 , } impl MavOdidArmStatus { pub const DEFAULT : Self = Self :: MAV_ODID_ARM_STATUS_GOOD_TO_ARM ; } impl Default for MavOdidArmStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum OrbitYawBehaviour { ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER = 0 , ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING = 1 , ORBIT_YAW_BEHAVIOUR_UNCONTROLLED = 2 , ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE = 3 , ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED = 4 , } impl OrbitYawBehaviour { pub const DEFAULT : Self = Self :: ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER ; } impl Default for OrbitYawBehaviour { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavProtocolCapability : u64 { const MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT = 1 ; const MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT = 2 ; const MAV_PROTOCOL_CAPABILITY_MISSION_INT = 4 ; const MAV_PROTOCOL_CAPABILITY_COMMAND_INT = 8 ; const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE = 16 ; const MAV_PROTOCOL_CAPABILITY_FTP = 32 ; const MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET = 64 ; const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED = 128 ; const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT = 256 ; const MAV_PROTOCOL_CAPABILITY_TERRAIN = 512 ; const MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET = 1024 ; const MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION = 2048 ; const MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION = 4096 ; const MAV_PROTOCOL_CAPABILITY_MAVLINK2 = 8192 ; const MAV_PROTOCOL_CAPABILITY_MISSION_FENCE = 16384 ; const MAV_PROTOCOL_CAPABILITY_MISSION_RALLY = 32768 ; const MAV_PROTOCOL_CAPABILITY_RESERVED2 = 65536 ; const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST = 131072 ; } } impl MavProtocolCapability { pub const DEFAULT : Self = Self :: MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT ; } impl Default for MavProtocolCapability { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum EscConnectionType { ESC_CONNECTION_TYPE_PPM = 0 , ESC_CONNECTION_TYPE_SERIAL = 1 , ESC_CONNECTION_TYPE_ONESHOT = 2 , ESC_CONNECTION_TYPE_I2C = 3 , ESC_CONNECTION_TYPE_CAN = 4 , ESC_CONNECTION_TYPE_DSHOT = 5 , } impl EscConnectionType { pub const DEFAULT : Self = Self :: ESC_CONNECTION_TYPE_PPM ; } impl Default for EscConnectionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MotorTestOrder { MOTOR_TEST_ORDER_DEFAULT = 0 , MOTOR_TEST_ORDER_SEQUENCE = 1 , MOTOR_TEST_ORDER_BOARD = 2 , } impl MotorTestOrder { pub const DEFAULT : Self = Self :: MOTOR_TEST_ORDER_DEFAULT ; } impl Default for MotorTestOrder { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GpsInputIgnoreFlags : u16 { const GPS_INPUT_IGNORE_FLAG_ALT = 1 ; const GPS_INPUT_IGNORE_FLAG_HDOP = 2 ; const GPS_INPUT_IGNORE_FLAG_VDOP = 4 ; const GPS_INPUT_IGNORE_FLAG_VEL_HORIZ = 8 ; const GPS_INPUT_IGNORE_FLAG_VEL_VERT = 16 ; const GPS_INPUT_IGNORE_FLAG_SPEED_ACCURACY = 32 ; const GPS_INPUT_IGNORE_FLAG_HORIZONTAL_ACCURACY = 64 ; const GPS_INPUT_IGNORE_FLAG_VERTICAL_ACCURACY = 128 ; } } impl GpsInputIgnoreFlags { pub const DEFAULT : Self = Self :: GPS_INPUT_IGNORE_FLAG_ALT ; } impl Default for GpsInputIgnoreFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AdsbEmitterType { ADSB_EMITTER_TYPE_NO_INFO = 0 , ADSB_EMITTER_TYPE_LIGHT = 1 , ADSB_EMITTER_TYPE_SMALL = 2 , ADSB_EMITTER_TYPE_LARGE = 3 , ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE = 4 , ADSB_EMITTER_TYPE_HEAVY = 5 , ADSB_EMITTER_TYPE_HIGHLY_MANUV = 6 , ADSB_EMITTER_TYPE_ROTOCRAFT = 7 , ADSB_EMITTER_TYPE_UNASSIGNED = 8 , ADSB_EMITTER_TYPE_GLIDER = 9 , ADSB_EMITTER_TYPE_LIGHTER_AIR = 10 , ADSB_EMITTER_TYPE_PARACHUTE = 11 , ADSB_EMITTER_TYPE_ULTRA_LIGHT = 12 , ADSB_EMITTER_TYPE_UNASSIGNED2 = 13 , ADSB_EMITTER_TYPE_UAV = 14 , ADSB_EMITTER_TYPE_SPACE = 15 , ADSB_EMITTER_TYPE_UNASSGINED3 = 16 , ADSB_EMITTER_TYPE_EMERGENCY_SURFACE = 17 , ADSB_EMITTER_TYPE_SERVICE_SURFACE = 18 , ADSB_EMITTER_TYPE_POINT_OBSTACLE = 19 , } impl AdsbEmitterType { pub const DEFAULT : Self = Self :: ADSB_EMITTER_TYPE_NO_INFO ; } impl Default for AdsbEmitterType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum ActuatorConfiguration { ACTUATOR_CONFIGURATION_NONE = 0 , ACTUATOR_CONFIGURATION_BEEP = 1 , ACTUATOR_CONFIGURATION_3D_MODE_ON = 2 , ACTUATOR_CONFIGURATION_3D_MODE_OFF = 3 , ACTUATOR_CONFIGURATION_SPIN_DIRECTION1 = 4 , ACTUATOR_CONFIGURATION_SPIN_DIRECTION2 = 5 , } impl ActuatorConfiguration { pub const DEFAULT : Self = Self :: ACTUATOR_CONFIGURATION_NONE ; } impl Default for ActuatorConfiguration { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HlFailureFlag : u16 { const HL_FAILURE_FLAG_GPS = 1 ; const HL_FAILURE_FLAG_DIFFERENTIAL_PRESSURE = 2 ; const HL_FAILURE_FLAG_ABSOLUTE_PRESSURE = 4 ; const HL_FAILURE_FLAG_3D_ACCEL = 8 ; const HL_FAILURE_FLAG_3D_GYRO = 16 ; const HL_FAILURE_FLAG_3D_MAG = 32 ; const HL_FAILURE_FLAG_TERRAIN = 64 ; const HL_FAILURE_FLAG_BATTERY = 128 ; const HL_FAILURE_FLAG_RC_RECEIVER = 256 ; const HL_FAILURE_FLAG_OFFBOARD_LINK = 512 ; const HL_FAILURE_FLAG_ENGINE = 1024 ; const HL_FAILURE_FLAG_GEOFENCE = 2048 ; const HL_FAILURE_FLAG_ESTIMATOR = 4096 ; const HL_FAILURE_FLAG_MISSION = 8192 ; } } impl HlFailureFlag { pub const DEFAULT : Self = Self :: HL_FAILURE_FLAG_GPS ; } impl Default for HlFailureFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidDescType { MAV_ODID_DESC_TYPE_TEXT = 0 , MAV_ODID_DESC_TYPE_EMERGENCY = 1 , MAV_ODID_DESC_TYPE_EXTENDED_STATUS = 2 , } impl MavOdidDescType { pub const DEFAULT : Self = Self :: MAV_ODID_DESC_TYPE_TEXT ; } impl Default for MavOdidDescType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidOperatorIdType { MAV_ODID_OPERATOR_ID_TYPE_CAA = 0 , } impl MavOdidOperatorIdType { pub const DEFAULT : Self = Self :: MAV_ODID_OPERATOR_ID_TYPE_CAA ; } impl Default for MavOdidOperatorIdType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CanFilterOp { CAN_FILTER_REPLACE = 0 , CAN_FILTER_ADD = 1 , CAN_FILTER_REMOVE = 2 , } impl CanFilterOp { pub const DEFAULT : Self = Self :: CAN_FILTER_REPLACE ; } impl Default for CanFilterOp { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum VideoStreamStatusFlags { VIDEO_STREAM_STATUS_FLAGS_RUNNING = 1 , VIDEO_STREAM_STATUS_FLAGS_THERMAL = 2 , } impl VideoStreamStatusFlags { pub const DEFAULT : Self = Self :: VIDEO_STREAM_STATUS_FLAGS_RUNNING ; } impl Default for VideoStreamStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidHeightRef { MAV_ODID_HEIGHT_REF_OVER_TAKEOFF = 0 , MAV_ODID_HEIGHT_REF_OVER_GROUND = 1 , } impl MavOdidHeightRef { pub const DEFAULT : Self = Self :: MAV_ODID_HEIGHT_REF_OVER_TAKEOFF ; } impl Default for MavOdidHeightRef { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavDoRepositionFlags { MAV_DO_REPOSITION_FLAGS_CHANGE_MODE = 1 , } impl MavDoRepositionFlags { pub const DEFAULT : Self = Self :: MAV_DO_REPOSITION_FLAGS_CHANGE_MODE ; } impl Default for MavDoRepositionFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TuneFormat : u32 { const TUNE_FORMAT_QBASIC1_1 = 1 ; const TUNE_FORMAT_MML_MODERN = 2 ; } } impl TuneFormat { pub const DEFAULT : Self = Self :: TUNE_FORMAT_QBASIC1_1 ; } impl Default for TuneFormat { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidCategoryEu { MAV_ODID_CATEGORY_EU_UNDECLARED = 0 , MAV_ODID_CATEGORY_EU_OPEN = 1 , MAV_ODID_CATEGORY_EU_SPECIFIC = 2 , MAV_ODID_CATEGORY_EU_CERTIFIED = 3 , } impl MavOdidCategoryEu { pub const DEFAULT : Self = Self :: MAV_ODID_CATEGORY_EU_UNDECLARED ; } impl Default for MavOdidCategoryEu { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MotorTestThrottleType { MOTOR_TEST_THROTTLE_PERCENT = 0 , MOTOR_TEST_THROTTLE_PWM = 1 , MOTOR_TEST_THROTTLE_PILOT = 2 , MOTOR_TEST_COMPASS_CAL = 3 , } impl MotorTestThrottleType { pub const DEFAULT : Self = Self :: MOTOR_TEST_THROTTLE_PERCENT ; } impl Default for MotorTestThrottleType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum LandingTargetType { LANDING_TARGET_TYPE_LIGHT_BEACON = 0 , LANDING_TARGET_TYPE_RADIO_BEACON = 1 , LANDING_TARGET_TYPE_VISION_FIDUCIAL = 2 , LANDING_TARGET_TYPE_VISION_OTHER = 3 , } impl LandingTargetType { pub const DEFAULT : Self = Self :: LANDING_TARGET_TYPE_LIGHT_BEACON ; } impl Default for LandingTargetType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FirmwareVersionType { FIRMWARE_VERSION_TYPE_DEV = 0 , FIRMWARE_VERSION_TYPE_ALPHA = 64 , FIRMWARE_VERSION_TYPE_BETA = 128 , FIRMWARE_VERSION_TYPE_RC = 192 , FIRMWARE_VERSION_TYPE_OFFICIAL = 255 , } impl FirmwareVersionType { pub const DEFAULT : Self = Self :: FIRMWARE_VERSION_TYPE_DEV ; } impl Default for FirmwareVersionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CellularConfigResponse { CELLULAR_CONFIG_RESPONSE_ACCEPTED = 0 , CELLULAR_CONFIG_RESPONSE_APN_ERROR = 1 , CELLULAR_CONFIG_RESPONSE_PIN_ERROR = 2 , CELLULAR_CONFIG_RESPONSE_REJECTED = 3 , CELLULAR_CONFIG_BLOCKED_PUK_REQUIRED = 4 , } impl CellularConfigResponse { pub const DEFAULT : Self = Self :: CELLULAR_CONFIG_RESPONSE_ACCEPTED ; } impl Default for CellularConfigResponse { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AdsbFlags : u16 { const ADSB_FLAGS_VALID_COORDS = 1 ; const ADSB_FLAGS_VALID_ALTITUDE = 2 ; const ADSB_FLAGS_VALID_HEADING = 4 ; const ADSB_FLAGS_VALID_VELOCITY = 8 ; const ADSB_FLAGS_VALID_CALLSIGN = 16 ; const ADSB_FLAGS_VALID_SQUAWK = 32 ; const ADSB_FLAGS_SIMULATED = 64 ; const ADSB_FLAGS_VERTICAL_VELOCITY_VALID = 128 ; const ADSB_FLAGS_BARO_VALID = 256 ; const ADSB_FLAGS_SOURCE_UAT = 32768 ; } } impl AdsbFlags { pub const DEFAULT : Self = Self :: ADSB_FLAGS_VALID_COORDS ; } impl Default for AdsbFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavDistanceSensor { MAV_DISTANCE_SENSOR_LASER = 0 , MAV_DISTANCE_SENSOR_ULTRASOUND = 1 , MAV_DISTANCE_SENSOR_INFRARED = 2 , MAV_DISTANCE_SENSOR_RADAR = 3 , MAV_DISTANCE_SENSOR_UNKNOWN = 4 , } impl MavDistanceSensor { pub const DEFAULT : Self = Self :: MAV_DISTANCE_SENSOR_LASER ; } impl Default for MavDistanceSensor { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum PreflightStorageMissionAction { MISSION_READ_PERSISTENT = 0 , MISSION_WRITE_PERSISTENT = 1 , MISSION_RESET_DEFAULT = 2 , } impl PreflightStorageMissionAction { pub const DEFAULT : Self = Self :: MISSION_READ_PERSISTENT ; } impl Default for PreflightStorageMissionAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CellularStatusFlag { CELLULAR_STATUS_FLAG_UNKNOWN = 0 , CELLULAR_STATUS_FLAG_FAILED = 1 , CELLULAR_STATUS_FLAG_INITIALIZING = 2 , CELLULAR_STATUS_FLAG_LOCKED = 3 , CELLULAR_STATUS_FLAG_DISABLED = 4 , CELLULAR_STATUS_FLAG_DISABLING = 5 , CELLULAR_STATUS_FLAG_ENABLING = 6 , CELLULAR_STATUS_FLAG_ENABLED = 7 , CELLULAR_STATUS_FLAG_SEARCHING = 8 , CELLULAR_STATUS_FLAG_REGISTERED = 9 , CELLULAR_STATUS_FLAG_DISCONNECTING = 10 , CELLULAR_STATUS_FLAG_CONNECTING = 11 , CELLULAR_STATUS_FLAG_CONNECTED = 12 , } impl CellularStatusFlag { pub const DEFAULT : Self = Self :: CELLULAR_STATUS_FLAG_UNKNOWN ; } impl Default for CellularStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UtmFlightState { UTM_FLIGHT_STATE_UNKNOWN = 1 , UTM_FLIGHT_STATE_GROUND = 2 , UTM_FLIGHT_STATE_AIRBORNE = 3 , UTM_FLIGHT_STATE_EMERGENCY = 16 , UTM_FLIGHT_STATE_NOCTRL = 32 , } impl UtmFlightState { pub const DEFAULT : Self = Self :: UTM_FLIGHT_STATE_UNKNOWN ; } impl Default for UtmFlightState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidClassEu { MAV_ODID_CLASS_EU_UNDECLARED = 0 , MAV_ODID_CLASS_EU_CLASS_0 = 1 , MAV_ODID_CLASS_EU_CLASS_1 = 2 , MAV_ODID_CLASS_EU_CLASS_2 = 3 , MAV_ODID_CLASS_EU_CLASS_3 = 4 , MAV_ODID_CLASS_EU_CLASS_4 = 5 , MAV_ODID_CLASS_EU_CLASS_5 = 6 , MAV_ODID_CLASS_EU_CLASS_6 = 7 , } impl MavOdidClassEu { pub const DEFAULT : Self = Self :: MAV_ODID_CLASS_EU_UNDECLARED ; } impl Default for MavOdidClassEu { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AdsbAltitudeType { ADSB_ALTITUDE_TYPE_PRESSURE_QNH = 0 , ADSB_ALTITUDE_TYPE_GEOMETRIC = 1 , } impl AdsbAltitudeType { pub const DEFAULT : Self = Self :: ADSB_ALTITUDE_TYPE_PRESSURE_QNH ; } impl Default for AdsbAltitudeType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FenceBreach { FENCE_BREACH_NONE = 0 , FENCE_BREACH_MINALT = 1 , FENCE_BREACH_MAXALT = 2 , FENCE_BREACH_BOUNDARY = 3 , } impl FenceBreach { pub const DEFAULT : Self = Self :: FENCE_BREACH_NONE ; } impl Default for FenceBreach { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavcanNodeHealth { UAVCAN_NODE_HEALTH_OK = 0 , UAVCAN_NODE_HEALTH_WARNING = 1 , UAVCAN_NODE_HEALTH_ERROR = 2 , UAVCAN_NODE_HEALTH_CRITICAL = 3 , } impl UavcanNodeHealth { pub const DEFAULT : Self = Self :: UAVCAN_NODE_HEALTH_OK ; } impl Default for UavcanNodeHealth { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GpsFixType { GPS_FIX_TYPE_NO_GPS = 0 , GPS_FIX_TYPE_NO_FIX = 1 , GPS_FIX_TYPE_2D_FIX = 2 , GPS_FIX_TYPE_3D_FIX = 3 , GPS_FIX_TYPE_DGPS = 4 , GPS_FIX_TYPE_RTK_FLOAT = 5 , GPS_FIX_TYPE_RTK_FIXED = 6 , GPS_FIX_TYPE_STATIC = 7 , GPS_FIX_TYPE_PPP = 8 , } impl GpsFixType { pub const DEFAULT : Self = Self :: GPS_FIX_TYPE_NO_GPS ; } impl Default for GpsFixType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalManagerCapFlags : u32 { const GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT = 1 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_NEUTRAL = 2 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_AXIS = 4 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_FOLLOW = 8 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_LOCK = 16 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_AXIS = 32 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_FOLLOW = 64 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_LOCK = 128 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_AXIS = 256 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_FOLLOW = 512 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_LOCK = 1024 ; const GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_INFINITE_YAW = 2048 ; const GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME = 4096 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_RC_INPUTS = 8192 ; const GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_LOCAL = 65536 ; const GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_GLOBAL = 131072 ; } } impl GimbalManagerCapFlags { pub const DEFAULT : Self = Self :: GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT ; } impl Default for GimbalManagerCapFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavWinchStatusFlag : u32 { const MAV_WINCH_STATUS_HEALTHY = 1 ; const MAV_WINCH_STATUS_FULLY_RETRACTED = 2 ; const MAV_WINCH_STATUS_MOVING = 4 ; const MAV_WINCH_STATUS_CLUTCH_ENGAGED = 8 ; const MAV_WINCH_STATUS_LOCKED = 16 ; const MAV_WINCH_STATUS_DROPPING = 32 ; const MAV_WINCH_STATUS_ARRESTING = 64 ; const MAV_WINCH_STATUS_GROUND_SENSE = 128 ; const MAV_WINCH_STATUS_RETRACTING = 256 ; const MAV_WINCH_STATUS_REDELIVER = 512 ; const MAV_WINCH_STATUS_ABANDON_LINE = 1024 ; const MAV_WINCH_STATUS_LOCKING = 2048 ; const MAV_WINCH_STATUS_LOAD_LINE = 4096 ; const MAV_WINCH_STATUS_LOAD_PAYLOAD = 8192 ; } } impl MavWinchStatusFlag { pub const DEFAULT : Self = Self :: MAV_WINCH_STATUS_HEALTHY ; } impl Default for MavWinchStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MissionState { MISSION_STATE_UNKNOWN = 0 , MISSION_STATE_NO_MISSION = 1 , MISSION_STATE_NOT_STARTED = 2 , MISSION_STATE_ACTIVE = 3 , MISSION_STATE_PAUSED = 4 , MISSION_STATE_COMPLETE = 5 , } impl MissionState { pub const DEFAULT : Self = Self :: MISSION_STATE_UNKNOWN ; } impl Default for MissionState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CompMetadataType { COMP_METADATA_TYPE_GENERAL = 0 , COMP_METADATA_TYPE_PARAMETER = 1 , COMP_METADATA_TYPE_COMMANDS = 2 , COMP_METADATA_TYPE_PERIPHERALS = 3 , COMP_METADATA_TYPE_EVENTS = 4 , COMP_METADATA_TYPE_ACTUATORS = 5 , } impl CompMetadataType { pub const DEFAULT : Self = Self :: COMP_METADATA_TYPE_GENERAL ; } impl Default for CompMetadataType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidTimeAcc { MAV_ODID_TIME_ACC_UNKNOWN = 0 , MAV_ODID_TIME_ACC_0_1_SECOND = 1 , MAV_ODID_TIME_ACC_0_2_SECOND = 2 , MAV_ODID_TIME_ACC_0_3_SECOND = 3 , MAV_ODID_TIME_ACC_0_4_SECOND = 4 , MAV_ODID_TIME_ACC_0_5_SECOND = 5 , MAV_ODID_TIME_ACC_0_6_SECOND = 6 , MAV_ODID_TIME_ACC_0_7_SECOND = 7 , MAV_ODID_TIME_ACC_0_8_SECOND = 8 , MAV_ODID_TIME_ACC_0_9_SECOND = 9 , MAV_ODID_TIME_ACC_1_0_SECOND = 10 , MAV_ODID_TIME_ACC_1_1_SECOND = 11 , MAV_ODID_TIME_ACC_1_2_SECOND = 12 , MAV_ODID_TIME_ACC_1_3_SECOND = 13 , MAV_ODID_TIME_ACC_1_4_SECOND = 14 , MAV_ODID_TIME_ACC_1_5_SECOND = 15 , } impl MavOdidTimeAcc { pub const DEFAULT : Self = Self :: MAV_ODID_TIME_ACC_UNKNOWN ; } impl Default for MavOdidTimeAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavionixAdsbOutCfgAircraftSize { UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA = 0 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L15M_W23M = 1 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25M_W28P5M = 2 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25_34M = 3 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_33M = 4 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_38M = 5 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_39P5M = 6 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_45M = 7 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_45M = 8 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_52M = 9 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_59P5M = 10 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_67M = 11 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W72P5M = 12 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W80M = 13 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W80M = 14 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W90M = 15 , } impl UavionixAdsbOutCfgAircraftSize { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA ; } impl Default for UavionixAdsbOutCfgAircraftSize { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum SerialControlDev { SERIAL_CONTROL_DEV_TELEM1 = 0 , SERIAL_CONTROL_DEV_TELEM2 = 1 , SERIAL_CONTROL_DEV_GPS1 = 2 , SERIAL_CONTROL_DEV_GPS2 = 3 , SERIAL_CONTROL_DEV_SHELL = 10 , SERIAL_CONTROL_SERIAL0 = 100 , SERIAL_CONTROL_SERIAL1 = 101 , SERIAL_CONTROL_SERIAL2 = 102 , SERIAL_CONTROL_SERIAL3 = 103 , SERIAL_CONTROL_SERIAL4 = 104 , SERIAL_CONTROL_SERIAL5 = 105 , SERIAL_CONTROL_SERIAL6 = 106 , SERIAL_CONTROL_SERIAL7 = 107 , SERIAL_CONTROL_SERIAL8 = 108 , SERIAL_CONTROL_SERIAL9 = 109 , } impl SerialControlDev { pub const DEFAULT : Self = Self :: SERIAL_CONTROL_DEV_TELEM1 ; } impl Default for SerialControlDev { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum ParamAck { PARAM_ACK_ACCEPTED = 0 , PARAM_ACK_VALUE_UNSUPPORTED = 1 , PARAM_ACK_FAILED = 2 , PARAM_ACK_IN_PROGRESS = 3 , } impl ParamAck { pub const DEFAULT : Self = Self :: PARAM_ACK_ACCEPTED ; } impl Default for ParamAck { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AisFlags : u16 { const AIS_FLAGS_POSITION_ACCURACY = 1 ; const AIS_FLAGS_VALID_COG = 2 ; const AIS_FLAGS_VALID_VELOCITY = 4 ; const AIS_FLAGS_HIGH_VELOCITY = 8 ; const AIS_FLAGS_VALID_TURN_RATE = 16 ; const AIS_FLAGS_TURN_RATE_SIGN_ONLY = 32 ; const AIS_FLAGS_VALID_DIMENSIONS = 64 ; const AIS_FLAGS_LARGE_BOW_DIMENSION = 128 ; const AIS_FLAGS_LARGE_STERN_DIMENSION = 256 ; const AIS_FLAGS_LARGE_PORT_DIMENSION = 512 ; const AIS_FLAGS_LARGE_STARBOARD_DIMENSION = 1024 ; const AIS_FLAGS_VALID_CALLSIGN = 2048 ; const AIS_FLAGS_VALID_NAME = 4096 ; } } impl AisFlags { pub const DEFAULT : Self = Self :: AIS_FLAGS_POSITION_ACCURACY ; } impl Default for AisFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum RtkBaselineCoordinateSystem { RTK_BASELINE_COORDINATE_SYSTEM_ECEF = 0 , RTK_BASELINE_COORDINATE_SYSTEM_NED = 1 , } impl RtkBaselineCoordinateSystem { pub const DEFAULT : Self = Self :: RTK_BASELINE_COORDINATE_SYSTEM_ECEF ; } impl Default for RtkBaselineCoordinateSystem { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavResult { MAV_RESULT_ACCEPTED = 0 , MAV_RESULT_TEMPORARILY_REJECTED = 1 , MAV_RESULT_DENIED = 2 , MAV_RESULT_UNSUPPORTED = 3 , MAV_RESULT_FAILED = 4 , MAV_RESULT_IN_PROGRESS = 5 , MAV_RESULT_CANCELLED = 6 , } impl MavResult { pub const DEFAULT : Self = Self :: MAV_RESULT_ACCEPTED ; } impl Default for MavResult { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceFlags : u16 { const GIMBAL_DEVICE_FLAGS_RETRACT = 1 ; const GIMBAL_DEVICE_FLAGS_NEUTRAL = 2 ; const GIMBAL_DEVICE_FLAGS_ROLL_LOCK = 4 ; const GIMBAL_DEVICE_FLAGS_PITCH_LOCK = 8 ; const GIMBAL_DEVICE_FLAGS_YAW_LOCK = 16 ; const GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME = 32 ; const GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME = 64 ; const GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME = 128 ; const GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE = 256 ; const GIMBAL_DEVICE_FLAGS_RC_MIXED = 512 ; } } impl GimbalDeviceFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_FLAGS_RETRACT ; } impl Default for GimbalDeviceFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidVerAcc { MAV_ODID_VER_ACC_UNKNOWN = 0 , MAV_ODID_VER_ACC_150_METER = 1 , MAV_ODID_VER_ACC_45_METER = 2 , MAV_ODID_VER_ACC_25_METER = 3 , MAV_ODID_VER_ACC_10_METER = 4 , MAV_ODID_VER_ACC_3_METER = 5 , MAV_ODID_VER_ACC_1_METER = 6 , } impl MavOdidVerAcc { pub const DEFAULT : Self = Self :: MAV_ODID_VER_ACC_UNKNOWN ; } impl Default for MavOdidVerAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum NavVtolLandOptions { NAV_VTOL_LAND_OPTIONS_DEFAULT = 0 , NAV_VTOL_LAND_OPTIONS_FW_DESCENT = 1 , NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT = 2 , } impl NavVtolLandOptions { pub const DEFAULT : Self = Self :: NAV_VTOL_LAND_OPTIONS_DEFAULT ; } impl Default for NavVtolLandOptions { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EscFailureFlags : u16 { const ESC_FAILURE_NONE = 0 ; const ESC_FAILURE_OVER_CURRENT = 1 ; const ESC_FAILURE_OVER_VOLTAGE = 2 ; const ESC_FAILURE_OVER_TEMPERATURE = 4 ; const ESC_FAILURE_OVER_RPM = 8 ; const ESC_FAILURE_INCONSISTENT_CMD = 16 ; const ESC_FAILURE_MOTOR_STUCK = 32 ; const ESC_FAILURE_GENERIC = 64 ; } } impl EscFailureFlags { pub const DEFAULT : Self = Self :: ESC_FAILURE_NONE ; } impl Default for EscFailureFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMissionResult { MAV_MISSION_ACCEPTED = 0 , MAV_MISSION_ERROR = 1 , MAV_MISSION_UNSUPPORTED_FRAME = 2 , MAV_MISSION_UNSUPPORTED = 3 , MAV_MISSION_NO_SPACE = 4 , MAV_MISSION_INVALID = 5 , MAV_MISSION_INVALID_PARAM1 = 6 , MAV_MISSION_INVALID_PARAM2 = 7 , MAV_MISSION_INVALID_PARAM3 = 8 , MAV_MISSION_INVALID_PARAM4 = 9 , MAV_MISSION_INVALID_PARAM5_X = 10 , MAV_MISSION_INVALID_PARAM6_Y = 11 , MAV_MISSION_INVALID_PARAM7 = 12 , MAV_MISSION_INVALID_SEQUENCE = 13 , MAV_MISSION_DENIED = 14 , MAV_MISSION_OPERATION_CANCELLED = 15 , } impl MavMissionResult { pub const DEFAULT : Self = Self :: MAV_MISSION_ACCEPTED ; } impl Default for MavMissionResult { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FailureType { FAILURE_TYPE_OK = 0 , FAILURE_TYPE_OFF = 1 , FAILURE_TYPE_STUCK = 2 , FAILURE_TYPE_GARBAGE = 3 , FAILURE_TYPE_WRONG = 4 , FAILURE_TYPE_SLOW = 5 , FAILURE_TYPE_DELAYED = 6 , FAILURE_TYPE_INTERMITTENT = 7 , } impl FailureType { pub const DEFAULT : Self = Self :: FAILURE_TYPE_OK ; } impl Default for FailureType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavEventCurrentSequenceFlags : u8 { const MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET = 1 ; } } impl MavEventCurrentSequenceFlags { pub const DEFAULT : Self = Self :: MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET ; } impl Default for MavEventCurrentSequenceFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavRoi { MAV_ROI_NONE = 0 , MAV_ROI_WPNEXT = 1 , MAV_ROI_WPINDEX = 2 , MAV_ROI_LOCATION = 3 , MAV_ROI_TARGET = 4 , } impl MavRoi { pub const DEFAULT : Self = Self :: MAV_ROI_NONE ; } impl Default for MavRoi { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidSpeedAcc { MAV_ODID_SPEED_ACC_UNKNOWN = 0 , MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND = 1 , MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND = 2 , MAV_ODID_SPEED_ACC_1_METERS_PER_SECOND = 3 , MAV_ODID_SPEED_ACC_0_3_METERS_PER_SECOND = 4 , } impl MavOdidSpeedAcc { pub const DEFAULT : Self = Self :: MAV_ODID_SPEED_ACC_UNKNOWN ; } impl Default for MavOdidSpeedAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavParamType { MAV_PARAM_TYPE_UINT8 = 1 , MAV_PARAM_TYPE_INT8 = 2 , MAV_PARAM_TYPE_UINT16 = 3 , MAV_PARAM_TYPE_INT16 = 4 , MAV_PARAM_TYPE_UINT32 = 5 , MAV_PARAM_TYPE_INT32 = 6 , MAV_PARAM_TYPE_UINT64 = 7 , MAV_PARAM_TYPE_INT64 = 8 , MAV_PARAM_TYPE_REAL32 = 9 , MAV_PARAM_TYPE_REAL64 = 10 , } impl MavParamType { pub const DEFAULT : Self = Self :: MAV_PARAM_TYPE_UINT8 ; } impl Default for MavParamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum FailureUnit { FAILURE_UNIT_SENSOR_GYRO = 0 , FAILURE_UNIT_SENSOR_ACCEL = 1 , FAILURE_UNIT_SENSOR_MAG = 2 , FAILURE_UNIT_SENSOR_BARO = 3 , FAILURE_UNIT_SENSOR_GPS = 4 , FAILURE_UNIT_SENSOR_OPTICAL_FLOW = 5 , FAILURE_UNIT_SENSOR_VIO = 6 , FAILURE_UNIT_SENSOR_DISTANCE_SENSOR = 7 , FAILURE_UNIT_SENSOR_AIRSPEED = 8 , FAILURE_UNIT_SYSTEM_BATTERY = 100 , FAILURE_UNIT_SYSTEM_MOTOR = 101 , FAILURE_UNIT_SYSTEM_SERVO = 102 , FAILURE_UNIT_SYSTEM_AVOIDANCE = 103 , FAILURE_UNIT_SYSTEM_RC_SIGNAL = 104 , FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL = 105 , } impl FailureUnit { pub const DEFAULT : Self = Self :: FAILURE_UNIT_SENSOR_GYRO ; } impl Default for FailureUnit { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavLandedState { MAV_LANDED_STATE_UNDEFINED = 0 , MAV_LANDED_STATE_ON_GROUND = 1 , MAV_LANDED_STATE_IN_AIR = 2 , MAV_LANDED_STATE_TAKEOFF = 3 , MAV_LANDED_STATE_LANDING = 4 , } impl MavLandedState { pub const DEFAULT : Self = Self :: MAV_LANDED_STATE_UNDEFINED ; } impl Default for MavLandedState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraZoomType { ZOOM_TYPE_STEP = 0 , ZOOM_TYPE_CONTINUOUS = 1 , ZOOM_TYPE_RANGE = 2 , ZOOM_TYPE_FOCAL_LENGTH = 3 , } impl CameraZoomType { pub const DEFAULT : Self = Self :: ZOOM_TYPE_STEP ; } impl Default for CameraZoomType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum GripperActions { GRIPPER_ACTION_RELEASE = 0 , GRIPPER_ACTION_GRAB = 1 , } impl GripperActions { pub const DEFAULT : Self = Self :: GRIPPER_ACTION_RELEASE ; } impl Default for GripperActions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavBatteryMode { MAV_BATTERY_MODE_UNKNOWN = 0 , MAV_BATTERY_MODE_AUTO_DISCHARGING = 1 , MAV_BATTERY_MODE_HOT_SWAP = 2 , } impl MavBatteryMode { pub const DEFAULT : Self = Self :: MAV_BATTERY_MODE_UNKNOWN ; } impl Default for MavBatteryMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum RcType { RC_TYPE_SPEKTRUM_DSM2 = 0 , RC_TYPE_SPEKTRUM_DSMX = 1 , } impl RcType { pub const DEFAULT : Self = Self :: RC_TYPE_SPEKTRUM_DSM2 ; } impl Default for RcType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HighresImuUpdatedFlags : u16 { const HIGHRES_IMU_UPDATED_NONE = 0 ; const HIGHRES_IMU_UPDATED_XACC = 1 ; const HIGHRES_IMU_UPDATED_YACC = 2 ; const HIGHRES_IMU_UPDATED_ZACC = 4 ; const HIGHRES_IMU_UPDATED_XGYRO = 8 ; const HIGHRES_IMU_UPDATED_YGYRO = 16 ; const HIGHRES_IMU_UPDATED_ZGYRO = 32 ; const HIGHRES_IMU_UPDATED_XMAG = 64 ; const HIGHRES_IMU_UPDATED_YMAG = 128 ; const HIGHRES_IMU_UPDATED_ZMAG = 256 ; const HIGHRES_IMU_UPDATED_ABS_PRESSURE = 512 ; const HIGHRES_IMU_UPDATED_DIFF_PRESSURE = 1024 ; const HIGHRES_IMU_UPDATED_PRESSURE_ALT = 2048 ; const HIGHRES_IMU_UPDATED_TEMPERATURE = 4096 ; const HIGHRES_IMU_UPDATED_ALL = 65535 ; } } impl HighresImuUpdatedFlags { pub const DEFAULT : Self = Self :: HIGHRES_IMU_UPDATED_NONE ; } impl Default for HighresImuUpdatedFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraTrackingMode { CAMERA_TRACKING_MODE_NONE = 0 , CAMERA_TRACKING_MODE_POINT = 1 , CAMERA_TRACKING_MODE_RECTANGLE = 2 , } impl CameraTrackingMode { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_MODE_NONE ; } impl Default for CameraTrackingMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum UavcanNodeMode { UAVCAN_NODE_MODE_OPERATIONAL = 0 , UAVCAN_NODE_MODE_INITIALIZATION = 1 , UAVCAN_NODE_MODE_MAINTENANCE = 2 , UAVCAN_NODE_MODE_SOFTWARE_UPDATE = 3 , UAVCAN_NODE_MODE_OFFLINE = 7 , } impl UavcanNodeMode { pub const DEFAULT : Self = Self :: UAVCAN_NODE_MODE_OPERATIONAL ; } impl Default for UavcanNodeMode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceErrorFlags : u32 { const GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT = 1 ; const GIMBAL_DEVICE_ERROR_FLAGS_AT_PITCH_LIMIT = 2 ; const GIMBAL_DEVICE_ERROR_FLAGS_AT_YAW_LIMIT = 4 ; const GIMBAL_DEVICE_ERROR_FLAGS_ENCODER_ERROR = 8 ; const GIMBAL_DEVICE_ERROR_FLAGS_POWER_ERROR = 16 ; const GIMBAL_DEVICE_ERROR_FLAGS_MOTOR_ERROR = 32 ; const GIMBAL_DEVICE_ERROR_FLAGS_SOFTWARE_ERROR = 64 ; const GIMBAL_DEVICE_ERROR_FLAGS_COMMS_ERROR = 128 ; const GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING = 256 ; const GIMBAL_DEVICE_ERROR_FLAGS_NO_MANAGER = 512 ; } } impl GimbalDeviceErrorFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT ; } impl Default for GimbalDeviceErrorFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PositionTargetTypemask : u16 { const POSITION_TARGET_TYPEMASK_X_IGNORE = 1 ; const POSITION_TARGET_TYPEMASK_Y_IGNORE = 2 ; const POSITION_TARGET_TYPEMASK_Z_IGNORE = 4 ; const POSITION_TARGET_TYPEMASK_VX_IGNORE = 8 ; const POSITION_TARGET_TYPEMASK_VY_IGNORE = 16 ; const POSITION_TARGET_TYPEMASK_VZ_IGNORE = 32 ; const POSITION_TARGET_TYPEMASK_AX_IGNORE = 64 ; const POSITION_TARGET_TYPEMASK_AY_IGNORE = 128 ; const POSITION_TARGET_TYPEMASK_AZ_IGNORE = 256 ; const POSITION_TARGET_TYPEMASK_FORCE_SET = 512 ; const POSITION_TARGET_TYPEMASK_YAW_IGNORE = 1024 ; const POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE = 2048 ; } } impl PositionTargetTypemask { pub const DEFAULT : Self = Self :: POSITION_TARGET_TYPEMASK_X_IGNORE ; } impl Default for PositionTargetTypemask { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavPowerStatus : u16 { const MAV_POWER_STATUS_BRICK_VALID = 1 ; const MAV_POWER_STATUS_SERVO_VALID = 2 ; const MAV_POWER_STATUS_USB_CONNECTED = 4 ; const MAV_POWER_STATUS_PERIPH_OVERCURRENT = 8 ; const MAV_POWER_STATUS_PERIPH_HIPOWER_OVERCURRENT = 16 ; const MAV_POWER_STATUS_CHANGED = 32 ; } } impl MavPowerStatus { pub const DEFAULT : Self = Self :: MAV_POWER_STATUS_BRICK_VALID ; } impl Default for MavPowerStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMountMode { MAV_MOUNT_MODE_RETRACT = 0 , MAV_MOUNT_MODE_NEUTRAL = 1 , MAV_MOUNT_MODE_MAVLINK_TARGETING = 2 , MAV_MOUNT_MODE_RC_TARGETING = 3 , MAV_MOUNT_MODE_GPS_POINT = 4 , MAV_MOUNT_MODE_SYSID_TARGET = 5 , MAV_MOUNT_MODE_HOME_LOCATION = 6 , } impl MavMountMode { pub const DEFAULT : Self = Self :: MAV_MOUNT_MODE_RETRACT ; } impl Default for MavMountMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavTunnelPayloadType { MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN = 0 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0 = 200 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1 = 201 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED2 = 202 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED3 = 203 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED4 = 204 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED5 = 205 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED6 = 206 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED7 = 207 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED8 = 208 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED9 = 209 , } impl MavTunnelPayloadType { pub const DEFAULT : Self = Self :: MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN ; } impl Default for MavTunnelPayloadType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum ParachuteAction { PARACHUTE_DISABLE = 0 , PARACHUTE_ENABLE = 1 , PARACHUTE_RELEASE = 2 , } impl ParachuteAction { pub const DEFAULT : Self = Self :: PARACHUTE_DISABLE ; } impl Default for ParachuteAction { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavGeneratorStatusFlag : u64 { const MAV_GENERATOR_STATUS_FLAG_OFF = 1 ; const MAV_GENERATOR_STATUS_FLAG_READY = 2 ; const MAV_GENERATOR_STATUS_FLAG_GENERATING = 4 ; const MAV_GENERATOR_STATUS_FLAG_CHARGING = 8 ; const MAV_GENERATOR_STATUS_FLAG_REDUCED_POWER = 16 ; const MAV_GENERATOR_STATUS_FLAG_MAXPOWER = 32 ; const MAV_GENERATOR_STATUS_FLAG_OVERTEMP_WARNING = 64 ; const MAV_GENERATOR_STATUS_FLAG_OVERTEMP_FAULT = 128 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_WARNING = 256 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_FAULT = 512 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_FAULT = 1024 ; const MAV_GENERATOR_STATUS_FLAG_POWERSOURCE_FAULT = 2048 ; const MAV_GENERATOR_STATUS_FLAG_COMMUNICATION_WARNING = 4096 ; const MAV_GENERATOR_STATUS_FLAG_COOLING_WARNING = 8192 ; const MAV_GENERATOR_STATUS_FLAG_POWER_RAIL_FAULT = 16384 ; const MAV_GENERATOR_STATUS_FLAG_OVERCURRENT_FAULT = 32768 ; const MAV_GENERATOR_STATUS_FLAG_BATTERY_OVERCHARGE_CURRENT_FAULT = 65536 ; const MAV_GENERATOR_STATUS_FLAG_OVERVOLTAGE_FAULT = 131072 ; const MAV_GENERATOR_STATUS_FLAG_BATTERY_UNDERVOLT_FAULT = 262144 ; const MAV_GENERATOR_STATUS_FLAG_START_INHIBITED = 524288 ; const MAV_GENERATOR_STATUS_FLAG_MAINTENANCE_REQUIRED = 1048576 ; const MAV_GENERATOR_STATUS_FLAG_WARMING_UP = 2097152 ; const MAV_GENERATOR_STATUS_FLAG_IDLE = 4194304 ; } } impl MavGeneratorStatusFlag { pub const DEFAULT : Self = Self :: MAV_GENERATOR_STATUS_FLAG_OFF ; } impl Default for MavGeneratorStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidStatus { MAV_ODID_STATUS_UNDECLARED = 0 , MAV_ODID_STATUS_GROUND = 1 , MAV_ODID_STATUS_AIRBORNE = 2 , MAV_ODID_STATUS_EMERGENCY = 3 , MAV_ODID_STATUS_REMOTE_ID_SYSTEM_FAILURE = 4 , } impl MavOdidStatus { pub const DEFAULT : Self = Self :: MAV_ODID_STATUS_UNDECLARED ; } impl Default for MavOdidStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum VideoStreamType { VIDEO_STREAM_TYPE_RTSP = 0 , VIDEO_STREAM_TYPE_RTPUDP = 1 , VIDEO_STREAM_TYPE_TCP_MPEG = 2 , VIDEO_STREAM_TYPE_MPEG_TS_H264 = 3 , } impl VideoStreamType { pub const DEFAULT : Self = Self :: VIDEO_STREAM_TYPE_RTSP ; } impl Default for VideoStreamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum ActuatorOutputFunction { ACTUATOR_OUTPUT_FUNCTION_NONE = 0 , ACTUATOR_OUTPUT_FUNCTION_MOTOR1 = 1 , ACTUATOR_OUTPUT_FUNCTION_MOTOR2 = 2 , ACTUATOR_OUTPUT_FUNCTION_MOTOR3 = 3 , ACTUATOR_OUTPUT_FUNCTION_MOTOR4 = 4 , ACTUATOR_OUTPUT_FUNCTION_MOTOR5 = 5 , ACTUATOR_OUTPUT_FUNCTION_MOTOR6 = 6 , ACTUATOR_OUTPUT_FUNCTION_MOTOR7 = 7 , ACTUATOR_OUTPUT_FUNCTION_MOTOR8 = 8 , ACTUATOR_OUTPUT_FUNCTION_MOTOR9 = 9 , ACTUATOR_OUTPUT_FUNCTION_MOTOR10 = 10 , ACTUATOR_OUTPUT_FUNCTION_MOTOR11 = 11 , ACTUATOR_OUTPUT_FUNCTION_MOTOR12 = 12 , ACTUATOR_OUTPUT_FUNCTION_MOTOR13 = 13 , ACTUATOR_OUTPUT_FUNCTION_MOTOR14 = 14 , ACTUATOR_OUTPUT_FUNCTION_MOTOR15 = 15 , ACTUATOR_OUTPUT_FUNCTION_MOTOR16 = 16 , ACTUATOR_OUTPUT_FUNCTION_SERVO1 = 33 , ACTUATOR_OUTPUT_FUNCTION_SERVO2 = 34 , ACTUATOR_OUTPUT_FUNCTION_SERVO3 = 35 , ACTUATOR_OUTPUT_FUNCTION_SERVO4 = 36 , ACTUATOR_OUTPUT_FUNCTION_SERVO5 = 37 , ACTUATOR_OUTPUT_FUNCTION_SERVO6 = 38 , ACTUATOR_OUTPUT_FUNCTION_SERVO7 = 39 , ACTUATOR_OUTPUT_FUNCTION_SERVO8 = 40 , ACTUATOR_OUTPUT_FUNCTION_SERVO9 = 41 , ACTUATOR_OUTPUT_FUNCTION_SERVO10 = 42 , ACTUATOR_OUTPUT_FUNCTION_SERVO11 = 43 , ACTUATOR_OUTPUT_FUNCTION_SERVO12 = 44 , ACTUATOR_OUTPUT_FUNCTION_SERVO13 = 45 , ACTUATOR_OUTPUT_FUNCTION_SERVO14 = 46 , ACTUATOR_OUTPUT_FUNCTION_SERVO15 = 47 , ACTUATOR_OUTPUT_FUNCTION_SERVO16 = 48 , } impl ActuatorOutputFunction { pub const DEFAULT : Self = Self :: ACTUATOR_OUTPUT_FUNCTION_NONE ; } impl Default for ActuatorOutputFunction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum WinchActions { WINCH_RELAXED = 0 , WINCH_RELATIVE_LENGTH_CONTROL = 1 , WINCH_RATE_CONTROL = 2 , WINCH_LOCK = 3 , WINCH_DELIVER = 4 , WINCH_HOLD = 5 , WINCH_RETRACT = 6 , WINCH_LOAD_LINE = 7 , WINCH_ABANDON_LINE = 8 , WINCH_LOAD_PAYLOAD = 9 , } impl WinchActions { pub const DEFAULT : Self = Self :: WINCH_RELAXED ; } impl Default for WinchActions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum SetFocusType { FOCUS_TYPE_STEP = 0 , FOCUS_TYPE_CONTINUOUS = 1 , FOCUS_TYPE_RANGE = 2 , FOCUS_TYPE_METERS = 3 , FOCUS_TYPE_AUTO = 4 , FOCUS_TYPE_AUTO_SINGLE = 5 , FOCUS_TYPE_AUTO_CONTINUOUS = 6 , } impl SetFocusType { pub const DEFAULT : Self = Self :: FOCUS_TYPE_STEP ; } impl Default for SetFocusType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SerialControlFlag : u8 { const SERIAL_CONTROL_FLAG_REPLY = 1 ; const SERIAL_CONTROL_FLAG_RESPOND = 2 ; const SERIAL_CONTROL_FLAG_EXCLUSIVE = 4 ; const SERIAL_CONTROL_FLAG_BLOCKING = 8 ; const SERIAL_CONTROL_FLAG_MULTI = 16 ; } } impl SerialControlFlag { pub const DEFAULT : Self = Self :: SERIAL_CONTROL_FLAG_REPLY ; } impl Default for SerialControlFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AutotuneAxis { AUTOTUNE_AXIS_DEFAULT = 0 , AUTOTUNE_AXIS_ROLL = 1 , AUTOTUNE_AXIS_PITCH = 2 , AUTOTUNE_AXIS_YAW = 4 , } impl AutotuneAxis { pub const DEFAULT : Self = Self :: AUTOTUNE_AXIS_DEFAULT ; } impl Default for AutotuneAxis { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavOdidClassificationType { MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED = 0 , MAV_ODID_CLASSIFICATION_TYPE_EU = 1 , } impl MavOdidClassificationType { pub const DEFAULT : Self = Self :: MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED ; } impl Default for MavOdidClassificationType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum AisNavStatus { UNDER_WAY = 0 , AIS_NAV_ANCHORED = 1 , AIS_NAV_UN_COMMANDED = 2 , AIS_NAV_RESTRICTED_MANOEUVERABILITY = 3 , AIS_NAV_DRAUGHT_CONSTRAINED = 4 , AIS_NAV_MOORED = 5 , AIS_NAV_AGROUND = 6 , AIS_NAV_FISHING = 7 , AIS_NAV_SAILING = 8 , AIS_NAV_RESERVED_HSC = 9 , AIS_NAV_RESERVED_WIG = 10 , AIS_NAV_RESERVED_1 = 11 , AIS_NAV_RESERVED_2 = 12 , AIS_NAV_RESERVED_3 = 13 , AIS_NAV_AIS_SART = 14 , AIS_NAV_UNKNOWN = 15 , } impl AisNavStatus { pub const DEFAULT : Self = Self :: UNDER_WAY ; } impl Default for AisNavStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum CameraTrackingStatusFlags { CAMERA_TRACKING_STATUS_FLAGS_IDLE = 0 , CAMERA_TRACKING_STATUS_FLAGS_ACTIVE = 1 , CAMERA_TRACKING_STATUS_FLAGS_ERROR = 2 , } impl CameraTrackingStatusFlags { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_STATUS_FLAGS_IDLE ; } impl Default for CameraTrackingStatusFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UtmDataAvailFlags : u8 { const UTM_DATA_AVAIL_FLAGS_TIME_VALID = 1 ; const UTM_DATA_AVAIL_FLAGS_UAS_ID_AVAILABLE = 2 ; const UTM_DATA_AVAIL_FLAGS_POSITION_AVAILABLE = 4 ; const UTM_DATA_AVAIL_FLAGS_ALTITUDE_AVAILABLE = 8 ; const UTM_DATA_AVAIL_FLAGS_RELATIVE_ALTITUDE_AVAILABLE = 16 ; const UTM_DATA_AVAIL_FLAGS_HORIZONTAL_VELO_AVAILABLE = 32 ; const UTM_DATA_AVAIL_FLAGS_VERTICAL_VELO_AVAILABLE = 64 ; const UTM_DATA_AVAIL_FLAGS_NEXT_WAYPOINT_AVAILABLE = 128 ; } } impl UtmDataAvailFlags { pub const DEFAULT : Self = Self :: UTM_DATA_AVAIL_FLAGS_TIME_VALID ; } impl Default for UtmDataAvailFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum StorageType { STORAGE_TYPE_UNKNOWN = 0 , STORAGE_TYPE_USB_STICK = 1 , STORAGE_TYPE_SD = 2 , STORAGE_TYPE_MICROSD = 3 , STORAGE_TYPE_CF = 4 , STORAGE_TYPE_CFE = 5 , STORAGE_TYPE_XQD = 6 , STORAGE_TYPE_HD = 7 , STORAGE_TYPE_OTHER = 254 , } impl StorageType { pub const DEFAULT : Self = Self :: STORAGE_TYPE_UNKNOWN ; } impl Default for StorageType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavSensorOrientation { MAV_SENSOR_ROTATION_NONE = 0 , MAV_SENSOR_ROTATION_YAW_45 = 1 , MAV_SENSOR_ROTATION_YAW_90 = 2 , MAV_SENSOR_ROTATION_YAW_135 = 3 , MAV_SENSOR_ROTATION_YAW_180 = 4 , MAV_SENSOR_ROTATION_YAW_225 = 5 , MAV_SENSOR_ROTATION_YAW_270 = 6 , MAV_SENSOR_ROTATION_YAW_315 = 7 , MAV_SENSOR_ROTATION_ROLL_180 = 8 , MAV_SENSOR_ROTATION_ROLL_180_YAW_45 = 9 , MAV_SENSOR_ROTATION_ROLL_180_YAW_90 = 10 , MAV_SENSOR_ROTATION_ROLL_180_YAW_135 = 11 , MAV_SENSOR_ROTATION_PITCH_180 = 12 , MAV_SENSOR_ROTATION_ROLL_180_YAW_225 = 13 , MAV_SENSOR_ROTATION_ROLL_180_YAW_270 = 14 , MAV_SENSOR_ROTATION_ROLL_180_YAW_315 = 15 , MAV_SENSOR_ROTATION_ROLL_90 = 16 , MAV_SENSOR_ROTATION_ROLL_90_YAW_45 = 17 , MAV_SENSOR_ROTATION_ROLL_90_YAW_90 = 18 , MAV_SENSOR_ROTATION_ROLL_90_YAW_135 = 19 , MAV_SENSOR_ROTATION_ROLL_270 = 20 , MAV_SENSOR_ROTATION_ROLL_270_YAW_45 = 21 , MAV_SENSOR_ROTATION_ROLL_270_YAW_90 = 22 , MAV_SENSOR_ROTATION_ROLL_270_YAW_135 = 23 , MAV_SENSOR_ROTATION_PITCH_90 = 24 , MAV_SENSOR_ROTATION_PITCH_270 = 25 , MAV_SENSOR_ROTATION_PITCH_180_YAW_90 = 26 , MAV_SENSOR_ROTATION_PITCH_180_YAW_270 = 27 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_90 = 28 , MAV_SENSOR_ROTATION_ROLL_180_PITCH_90 = 29 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_90 = 30 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_180 = 31 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_180 = 32 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_270 = 33 , MAV_SENSOR_ROTATION_ROLL_180_PITCH_270 = 34 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_270 = 35 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_180_YAW_90 = 36 , MAV_SENSOR_ROTATION_ROLL_90_YAW_270 = 37 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_68_YAW_293 = 38 , MAV_SENSOR_ROTATION_PITCH_315 = 39 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_315 = 40 , MAV_SENSOR_ROTATION_CUSTOM = 100 , } impl MavSensorOrientation { pub const DEFAULT : Self = Self :: MAV_SENSOR_ROTATION_NONE ; } impl Default for MavSensorOrientation { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMissionType { MAV_MISSION_TYPE_MISSION = 0 , MAV_MISSION_TYPE_FENCE = 1 , MAV_MISSION_TYPE_RALLY = 2 , MAV_MISSION_TYPE_ALL = 255 , } impl MavMissionType { pub const DEFAULT : Self = Self :: MAV_MISSION_TYPE_MISSION ; } impl Default for MavMissionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavFtpOpcode { MAV_FTP_OPCODE_NONE = 0 , MAV_FTP_OPCODE_TERMINATESESSION = 1 , MAV_FTP_OPCODE_RESETSESSION = 2 , MAV_FTP_OPCODE_LISTDIRECTORY = 3 , MAV_FTP_OPCODE_OPENFILERO = 4 , MAV_FTP_OPCODE_READFILE = 5 , MAV_FTP_OPCODE_CREATEFILE = 6 , MAV_FTP_OPCODE_WRITEFILE = 7 , MAV_FTP_OPCODE_REMOVEFILE = 8 , MAV_FTP_OPCODE_CREATEDIRECTORY = 9 , MAV_FTP_OPCODE_REMOVEDIRECTORY = 10 , MAV_FTP_OPCODE_OPENFILEWO = 11 , MAV_FTP_OPCODE_TRUNCATEFILE = 12 , MAV_FTP_OPCODE_RENAME = 13 , MAV_FTP_OPCODE_CALCFILECRC = 14 , MAV_FTP_OPCODE_BURSTREADFILE = 15 , MAV_FTP_OPCODE_ACK = 128 , MAV_FTP_OPCODE_NAK = 129 , } impl MavFtpOpcode { pub const DEFAULT : Self = Self :: MAV_FTP_OPCODE_NONE ; } impl Default for MavFtpOpcode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UavionixAdsbRfHealth : u8 { const UAVIONIX_ADSB_RF_HEALTH_INITIALIZING = 0 ; const UAVIONIX_ADSB_RF_HEALTH_OK = 1 ; const UAVIONIX_ADSB_RF_HEALTH_FAIL_TX = 2 ; const UAVIONIX_ADSB_RF_HEALTH_FAIL_RX = 16 ; } } impl UavionixAdsbRfHealth { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_RF_HEALTH_INITIALIZING ; } impl Default for UavionixAdsbRfHealth { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavCmd { MAV_CMD_NAV_WAYPOINT = 16 , MAV_CMD_NAV_LOITER_UNLIM = 17 , MAV_CMD_NAV_LOITER_TURNS = 18 , MAV_CMD_NAV_LOITER_TIME = 19 , MAV_CMD_NAV_RETURN_TO_LAUNCH = 20 , MAV_CMD_NAV_LAND = 21 , MAV_CMD_NAV_TAKEOFF = 22 , MAV_CMD_NAV_LAND_LOCAL = 23 , MAV_CMD_NAV_TAKEOFF_LOCAL = 24 , MAV_CMD_NAV_FOLLOW = 25 , MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT = 30 , MAV_CMD_NAV_LOITER_TO_ALT = 31 , MAV_CMD_DO_FOLLOW = 32 , MAV_CMD_DO_FOLLOW_REPOSITION = 33 , MAV_CMD_DO_ORBIT = 34 , MAV_CMD_NAV_ROI = 80 , MAV_CMD_NAV_PATHPLANNING = 81 , MAV_CMD_NAV_SPLINE_WAYPOINT = 82 , MAV_CMD_NAV_VTOL_TAKEOFF = 84 , MAV_CMD_NAV_VTOL_LAND = 85 , MAV_CMD_NAV_GUIDED_ENABLE = 92 , MAV_CMD_NAV_DELAY = 93 , MAV_CMD_NAV_PAYLOAD_PLACE = 94 , MAV_CMD_NAV_LAST = 95 , MAV_CMD_CONDITION_DELAY = 112 , MAV_CMD_CONDITION_CHANGE_ALT = 113 , MAV_CMD_CONDITION_DISTANCE = 114 , MAV_CMD_CONDITION_YAW = 115 , MAV_CMD_CONDITION_LAST = 159 , MAV_CMD_DO_SET_MODE = 176 , MAV_CMD_DO_JUMP = 177 , MAV_CMD_DO_CHANGE_SPEED = 178 , MAV_CMD_DO_SET_HOME = 179 , MAV_CMD_DO_SET_PARAMETER = 180 , MAV_CMD_DO_SET_RELAY = 181 , MAV_CMD_DO_REPEAT_RELAY = 182 , MAV_CMD_DO_SET_SERVO = 183 , MAV_CMD_DO_REPEAT_SERVO = 184 , MAV_CMD_DO_FLIGHTTERMINATION = 185 , MAV_CMD_DO_CHANGE_ALTITUDE = 186 , MAV_CMD_DO_SET_ACTUATOR = 187 , MAV_CMD_DO_LAND_START = 189 , MAV_CMD_DO_RALLY_LAND = 190 , MAV_CMD_DO_GO_AROUND = 191 , MAV_CMD_DO_REPOSITION = 192 , MAV_CMD_DO_PAUSE_CONTINUE = 193 , MAV_CMD_DO_SET_REVERSE = 194 , MAV_CMD_DO_SET_ROI_LOCATION = 195 , MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET = 196 , MAV_CMD_DO_SET_ROI_NONE = 197 , MAV_CMD_DO_SET_ROI_SYSID = 198 , MAV_CMD_DO_CONTROL_VIDEO = 200 , MAV_CMD_DO_SET_ROI = 201 , MAV_CMD_DO_DIGICAM_CONFIGURE = 202 , MAV_CMD_DO_DIGICAM_CONTROL = 203 , MAV_CMD_DO_MOUNT_CONFIGURE = 204 , MAV_CMD_DO_MOUNT_CONTROL = 205 , MAV_CMD_DO_SET_CAM_TRIGG_DIST = 206 , MAV_CMD_DO_FENCE_ENABLE = 207 , MAV_CMD_DO_PARACHUTE = 208 , MAV_CMD_DO_MOTOR_TEST = 209 , MAV_CMD_DO_INVERTED_FLIGHT = 210 , MAV_CMD_DO_GRIPPER = 211 , MAV_CMD_DO_AUTOTUNE_ENABLE = 212 , MAV_CMD_NAV_SET_YAW_SPEED = 213 , MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL = 214 , MAV_CMD_DO_MOUNT_CONTROL_QUAT = 220 , MAV_CMD_DO_GUIDED_MASTER = 221 , MAV_CMD_DO_GUIDED_LIMITS = 222 , MAV_CMD_DO_ENGINE_CONTROL = 223 , MAV_CMD_DO_SET_MISSION_CURRENT = 224 , MAV_CMD_DO_LAST = 240 , MAV_CMD_PREFLIGHT_CALIBRATION = 241 , MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS = 242 , MAV_CMD_PREFLIGHT_UAVCAN = 243 , MAV_CMD_PREFLIGHT_STORAGE = 245 , MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN = 246 , MAV_CMD_OVERRIDE_GOTO = 252 , MAV_CMD_OBLIQUE_SURVEY = 260 , MAV_CMD_MISSION_START = 300 , MAV_CMD_ACTUATOR_TEST = 310 , MAV_CMD_CONFIGURE_ACTUATOR = 311 , MAV_CMD_COMPONENT_ARM_DISARM = 400 , MAV_CMD_RUN_PREARM_CHECKS = 401 , MAV_CMD_ILLUMINATOR_ON_OFF = 405 , MAV_CMD_GET_HOME_POSITION = 410 , MAV_CMD_INJECT_FAILURE = 420 , MAV_CMD_START_RX_PAIR = 500 , MAV_CMD_GET_MESSAGE_INTERVAL = 510 , MAV_CMD_SET_MESSAGE_INTERVAL = 511 , MAV_CMD_REQUEST_MESSAGE = 512 , MAV_CMD_REQUEST_PROTOCOL_VERSION = 519 , MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES = 520 , MAV_CMD_REQUEST_CAMERA_INFORMATION = 521 , MAV_CMD_REQUEST_CAMERA_SETTINGS = 522 , MAV_CMD_REQUEST_STORAGE_INFORMATION = 525 , MAV_CMD_STORAGE_FORMAT = 526 , MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS = 527 , MAV_CMD_REQUEST_FLIGHT_INFORMATION = 528 , MAV_CMD_RESET_CAMERA_SETTINGS = 529 , MAV_CMD_SET_CAMERA_MODE = 530 , MAV_CMD_SET_CAMERA_ZOOM = 531 , MAV_CMD_SET_CAMERA_FOCUS = 532 , MAV_CMD_SET_STORAGE_USAGE = 533 , MAV_CMD_JUMP_TAG = 600 , MAV_CMD_DO_JUMP_TAG = 601 , MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW = 1000 , MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE = 1001 , MAV_CMD_IMAGE_START_CAPTURE = 2000 , MAV_CMD_IMAGE_STOP_CAPTURE = 2001 , MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE = 2002 , MAV_CMD_DO_TRIGGER_CONTROL = 2003 , MAV_CMD_CAMERA_TRACK_POINT = 2004 , MAV_CMD_CAMERA_TRACK_RECTANGLE = 2005 , MAV_CMD_CAMERA_STOP_TRACKING = 2010 , MAV_CMD_VIDEO_START_CAPTURE = 2500 , MAV_CMD_VIDEO_STOP_CAPTURE = 2501 , MAV_CMD_VIDEO_START_STREAMING = 2502 , MAV_CMD_VIDEO_STOP_STREAMING = 2503 , MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION = 2504 , MAV_CMD_REQUEST_VIDEO_STREAM_STATUS = 2505 , MAV_CMD_LOGGING_START = 2510 , MAV_CMD_LOGGING_STOP = 2511 , MAV_CMD_AIRFRAME_CONFIGURATION = 2520 , MAV_CMD_CONTROL_HIGH_LATENCY = 2600 , MAV_CMD_PANORAMA_CREATE = 2800 , MAV_CMD_DO_VTOL_TRANSITION = 3000 , MAV_CMD_ARM_AUTHORIZATION_REQUEST = 3001 , MAV_CMD_SET_GUIDED_SUBMODE_STANDARD = 4000 , MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE = 4001 , MAV_CMD_CONDITION_GATE = 4501 , MAV_CMD_NAV_FENCE_RETURN_POINT = 5000 , MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION = 5001 , MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION = 5002 , MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION = 5003 , MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION = 5004 , MAV_CMD_NAV_RALLY_POINT = 5100 , MAV_CMD_UAVCAN_GET_NODE_INFO = 5200 , MAV_CMD_DO_ADSB_OUT_IDENT = 10001 , MAV_CMD_PAYLOAD_PREPARE_DEPLOY = 30001 , MAV_CMD_PAYLOAD_CONTROL_DEPLOY = 30002 , MAV_CMD_FIXED_MAG_CAL_YAW = 42006 , MAV_CMD_DO_WINCH = 42600 , MAV_CMD_WAYPOINT_USER_1 = 31000 , MAV_CMD_WAYPOINT_USER_2 = 31001 , MAV_CMD_WAYPOINT_USER_3 = 31002 , MAV_CMD_WAYPOINT_USER_4 = 31003 , MAV_CMD_WAYPOINT_USER_5 = 31004 , MAV_CMD_SPATIAL_USER_1 = 31005 , MAV_CMD_SPATIAL_USER_2 = 31006 , MAV_CMD_SPATIAL_USER_3 = 31007 , MAV_CMD_SPATIAL_USER_4 = 31008 , MAV_CMD_SPATIAL_USER_5 = 31009 , MAV_CMD_USER_1 = 31010 , MAV_CMD_USER_2 = 31011 , MAV_CMD_USER_3 = 31012 , MAV_CMD_USER_4 = 31013 , MAV_CMD_USER_5 = 31014 , MAV_CMD_CAN_FORWARD = 32000 , } impl MavCmd { pub const DEFAULT : Self = Self :: MAV_CMD_NAV_WAYPOINT ; } impl Default for MavCmd { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavFtpErr { MAV_FTP_ERR_NONE = 0 , MAV_FTP_ERR_FAIL = 1 , MAV_FTP_ERR_FAILERRNO = 2 , MAV_FTP_ERR_INVALIDDATASIZE = 3 , MAV_FTP_ERR_INVALIDSESSION = 4 , MAV_FTP_ERR_NOSESSIONSAVAILABLE = 5 , MAV_FTP_ERR_EOF = 6 , MAV_FTP_ERR_UNKNOWNCOMMAND = 7 , MAV_FTP_ERR_FILEEXISTS = 8 , MAV_FTP_ERR_FILEPROTECTED = 9 , MAV_FTP_ERR_FILENOTFOUND = 10 , } impl MavFtpErr { pub const DEFAULT : Self = Self :: MAV_FTP_ERR_NONE ; } impl Default for MavFtpErr { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavSeverity { MAV_SEVERITY_EMERGENCY = 0 , MAV_SEVERITY_ALERT = 1 , MAV_SEVERITY_CRITICAL = 2 , MAV_SEVERITY_ERROR = 3 , MAV_SEVERITY_WARNING = 4 , MAV_SEVERITY_NOTICE = 5 , MAV_SEVERITY_INFO = 6 , MAV_SEVERITY_DEBUG = 7 , } impl MavSeverity { pub const DEFAULT : Self = Self :: MAV_SEVERITY_EMERGENCY ; } impl Default for MavSeverity { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POWER_STATUS_DATA { pub Vcc : u16 , pub Vservo : u16 , pub flags : MavPowerStatus , } impl POWER_STATUS_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { Vcc : 0_u16 , Vservo : 0_u16 , flags : MavPowerStatus :: DEFAULT , } ; } impl Default for POWER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POWER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 125u32 ; const NAME : & 'static str = "POWER_STATUS" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . Vcc = buf . get_u16_le () ; __struct . Vservo = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = MavPowerStatus :: from_bits (tmp & MavPowerStatus :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavPowerStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . Vcc) ; __tmp . put_u16_le (self . Vservo) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RTCM_DATA_DATA { pub flags : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 180] , } impl GPS_RTCM_DATA_DATA { pub const ENCODED_LEN : usize = 182usize ; pub const DEFAULT : Self = Self { flags : 0_u8 , len : 0_u8 , data : [0_u8 ; 180usize] , } ; } impl Default for GPS_RTCM_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RTCM_DATA_DATA { type Message = MavMessage ; const ID : u32 = 233u32 ; const NAME : & 'static str = "GPS_RTCM_DATA" ; const EXTRA_CRC : u8 = 35u8 ; const ENCODED_LEN : usize = 182usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . flags = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . flags) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIND_COV_DATA { pub time_usec : u64 , pub wind_x : f32 , pub wind_y : f32 , pub wind_z : f32 , pub var_horiz : f32 , pub var_vert : f32 , pub wind_alt : f32 , pub horiz_accuracy : f32 , pub vert_accuracy : f32 , } impl WIND_COV_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , wind_x : 0.0_f32 , wind_y : 0.0_f32 , wind_z : 0.0_f32 , var_horiz : 0.0_f32 , var_vert : 0.0_f32 , wind_alt : 0.0_f32 , horiz_accuracy : 0.0_f32 , vert_accuracy : 0.0_f32 , } ; } impl Default for WIND_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIND_COV_DATA { type Message = MavMessage ; const ID : u32 = 231u32 ; const NAME : & 'static str = "WIND_COV" ; const EXTRA_CRC : u8 = 105u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . wind_x = buf . get_f32_le () ; __struct . wind_y = buf . get_f32_le () ; __struct . wind_z = buf . get_f32_le () ; __struct . var_horiz = buf . get_f32_le () ; __struct . var_vert = buf . get_f32_le () ; __struct . wind_alt = buf . get_f32_le () ; __struct . horiz_accuracy = buf . get_f32_le () ; __struct . vert_accuracy = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . wind_x) ; __tmp . put_f32_le (self . wind_y) ; __tmp . put_f32_le (self . wind_z) ; __tmp . put_f32_le (self . var_horiz) ; __tmp . put_f32_le (self . var_vert) ; __tmp . put_f32_le (self . wind_alt) ; __tmp . put_f32_le (self . horiz_accuracy) ; __tmp . put_f32_le (self . vert_accuracy) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_RC_INPUTS_RAW_DATA { pub time_usec : u64 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub chan9_raw : u16 , pub chan10_raw : u16 , pub chan11_raw : u16 , pub chan12_raw : u16 , pub rssi : u8 , } impl HIL_RC_INPUTS_RAW_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , chan9_raw : 0_u16 , chan10_raw : 0_u16 , chan11_raw : 0_u16 , chan12_raw : 0_u16 , rssi : 0_u8 , } ; } impl Default for HIL_RC_INPUTS_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_RC_INPUTS_RAW_DATA { type Message = MavMessage ; const ID : u32 = 92u32 ; const NAME : & 'static str = "HIL_RC_INPUTS_RAW" ; const EXTRA_CRC : u8 = 54u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . chan9_raw = buf . get_u16_le () ; __struct . chan10_raw = buf . get_u16_le () ; __struct . chan11_raw = buf . get_u16_le () ; __struct . chan12_raw = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u16_le (self . chan9_raw) ; __tmp . put_u16_le (self . chan10_raw) ; __tmp . put_u16_le (self . chan11_raw) ; __tmp . put_u16_le (self . chan12_raw) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ENCAPSULATED_DATA_DATA { pub seqnr : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 253] , } impl ENCAPSULATED_DATA_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { seqnr : 0_u16 , data : [0_u8 ; 253usize] , } ; } impl Default for ENCAPSULATED_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ENCAPSULATED_DATA_DATA { type Message = MavMessage ; const ID : u32 = 131u32 ; const NAME : & 'static str = "ENCAPSULATED_DATA" ; const EXTRA_CRC : u8 = 223u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seqnr = buf . get_u16_le () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seqnr) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_END_DATA { pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_END_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_END_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_END_DATA { type Message = MavMessage ; const ID : u32 = 122u32 ; const NAME : & 'static str = "LOG_REQUEST_END" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_SET_CURRENT_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_SET_CURRENT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_SET_CURRENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_SET_CURRENT_DATA { type Message = MavMessage ; const ID : u32 = 41u32 ; const NAME : & 'static str = "MISSION_SET_CURRENT" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPONENT_METADATA_DATA { pub time_boot_ms : u32 , pub file_crc : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 100] , } impl COMPONENT_METADATA_DATA { pub const ENCODED_LEN : usize = 108usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , file_crc : 0_u32 , uri : [0_u8 ; 100usize] , } ; } impl Default for COMPONENT_METADATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPONENT_METADATA_DATA { type Message = MavMessage ; const ID : u32 = 397u32 ; const NAME : & 'static str = "COMPONENT_METADATA" ; const EXTRA_CRC : u8 = 182u8 ; const ENCODED_LEN : usize = 108usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . file_crc = buf . get_u32_le () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . file_crc) ; for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FLIGHT_INFORMATION_DATA { pub arming_time_utc : u64 , pub takeoff_time_utc : u64 , pub flight_uuid : u64 , pub time_boot_ms : u32 , } impl FLIGHT_INFORMATION_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { arming_time_utc : 0_u64 , takeoff_time_utc : 0_u64 , flight_uuid : 0_u64 , time_boot_ms : 0_u32 , } ; } impl Default for FLIGHT_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FLIGHT_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 264u32 ; const NAME : & 'static str = "FLIGHT_INFORMATION" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . arming_time_utc = buf . get_u64_le () ; __struct . takeoff_time_utc = buf . get_u64_le () ; __struct . flight_uuid = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . arming_time_utc) ; __tmp . put_u64_le (self . takeoff_time_utc) ; __tmp . put_u64_le (self . flight_uuid) ; __tmp . put_u32_le (self . time_boot_ms) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SAFETY_SET_ALLOWED_AREA_DATA { pub p1x : f32 , pub p1y : f32 , pub p1z : f32 , pub p2x : f32 , pub p2y : f32 , pub p2z : f32 , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , } impl SAFETY_SET_ALLOWED_AREA_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { p1x : 0.0_f32 , p1y : 0.0_f32 , p1z : 0.0_f32 , p2x : 0.0_f32 , p2y : 0.0_f32 , p2z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , } ; } impl Default for SAFETY_SET_ALLOWED_AREA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SAFETY_SET_ALLOWED_AREA_DATA { type Message = MavMessage ; const ID : u32 = 54u32 ; const NAME : & 'static str = "SAFETY_SET_ALLOWED_AREA" ; const EXTRA_CRC : u8 = 15u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . p1x = buf . get_f32_le () ; __struct . p1y = buf . get_f32_le () ; __struct . p1z = buf . get_f32_le () ; __struct . p2x = buf . get_f32_le () ; __struct . p2y = buf . get_f32_le () ; __struct . p2z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . p1x) ; __tmp . put_f32_le (self . p1y) ; __tmp . put_f32_le (self . p1z) ; __tmp . put_f32_le (self . p2x) ; __tmp . put_f32_le (self . p2y) ; __tmp . put_f32_le (self . p2z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRACKING_GEO_STATUS_DATA { pub lat : i32 , pub lon : i32 , pub alt : f32 , pub h_acc : f32 , pub v_acc : f32 , pub vel_n : f32 , pub vel_e : f32 , pub vel_d : f32 , pub vel_acc : f32 , pub dist : f32 , pub hdg : f32 , pub hdg_acc : f32 , pub tracking_status : CameraTrackingStatusFlags , } impl CAMERA_TRACKING_GEO_STATUS_DATA { pub const ENCODED_LEN : usize = 49usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , h_acc : 0.0_f32 , v_acc : 0.0_f32 , vel_n : 0.0_f32 , vel_e : 0.0_f32 , vel_d : 0.0_f32 , vel_acc : 0.0_f32 , dist : 0.0_f32 , hdg : 0.0_f32 , hdg_acc : 0.0_f32 , tracking_status : CameraTrackingStatusFlags :: DEFAULT , } ; } impl Default for CAMERA_TRACKING_GEO_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRACKING_GEO_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 276u32 ; const NAME : & 'static str = "CAMERA_TRACKING_GEO_STATUS" ; const EXTRA_CRC : u8 = 18u8 ; const ENCODED_LEN : usize = 49usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . h_acc = buf . get_f32_le () ; __struct . v_acc = buf . get_f32_le () ; __struct . vel_n = buf . get_f32_le () ; __struct . vel_e = buf . get_f32_le () ; __struct . vel_d = buf . get_f32_le () ; __struct . vel_acc = buf . get_f32_le () ; __struct . dist = buf . get_f32_le () ; __struct . hdg = buf . get_f32_le () ; __struct . hdg_acc = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . tracking_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . h_acc) ; __tmp . put_f32_le (self . v_acc) ; __tmp . put_f32_le (self . vel_n) ; __tmp . put_f32_le (self . vel_e) ; __tmp . put_f32_le (self . vel_d) ; __tmp . put_f32_le (self . vel_acc) ; __tmp . put_f32_le (self . dist) ; __tmp . put_f32_le (self . hdg) ; __tmp . put_f32_le (self . hdg_acc) ; __tmp . put_u8 (self . tracking_status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LANDING_TARGET_DATA { pub time_usec : u64 , pub angle_x : f32 , pub angle_y : f32 , pub distance : f32 , pub size_x : f32 , pub size_y : f32 , pub target_num : u8 , pub frame : MavFrame , } impl LANDING_TARGET_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , angle_x : 0.0_f32 , angle_y : 0.0_f32 , distance : 0.0_f32 , size_x : 0.0_f32 , size_y : 0.0_f32 , target_num : 0_u8 , frame : MavFrame :: DEFAULT , } ; } impl Default for LANDING_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LANDING_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 149u32 ; const NAME : & 'static str = "LANDING_TARGET" ; const EXTRA_CRC : u8 = 200u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . angle_x = buf . get_f32_le () ; __struct . angle_y = buf . get_f32_le () ; __struct . distance = buf . get_f32_le () ; __struct . size_x = buf . get_f32_le () ; __struct . size_y = buf . get_f32_le () ; __struct . target_num = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . angle_x) ; __tmp . put_f32_le (self . angle_y) ; __tmp . put_f32_le (self . distance) ; __tmp . put_f32_le (self . size_x) ; __tmp . put_f32_le (self . size_y) ; __tmp . put_u8 (self . target_num) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_INT_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl COMMAND_INT_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for COMMAND_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_INT_DATA { type Message = MavMessage ; const ID : u32 = 75u32 ; const NAME : & 'static str = "COMMAND_INT" ; const EXTRA_CRC : u8 = 158u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATT_POS_MOCAP_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub x : f32 , pub y : f32 , pub z : f32 , } impl ATT_POS_MOCAP_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , q : [0.0_f32 ; 4usize] , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , } ; } impl Default for ATT_POS_MOCAP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATT_POS_MOCAP_DATA { type Message = MavMessage ; const ID : u32 = 138u32 ; const NAME : & 'static str = "ATT_POS_MOCAP" ; const EXTRA_CRC : u8 = 109u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ALTITUDE_DATA { pub time_usec : u64 , pub altitude_monotonic : f32 , pub altitude_amsl : f32 , pub altitude_local : f32 , pub altitude_relative : f32 , pub altitude_terrain : f32 , pub bottom_clearance : f32 , } impl ALTITUDE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , altitude_monotonic : 0.0_f32 , altitude_amsl : 0.0_f32 , altitude_local : 0.0_f32 , altitude_relative : 0.0_f32 , altitude_terrain : 0.0_f32 , bottom_clearance : 0.0_f32 , } ; } impl Default for ALTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ALTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 141u32 ; const NAME : & 'static str = "ALTITUDE" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . altitude_monotonic = buf . get_f32_le () ; __struct . altitude_amsl = buf . get_f32_le () ; __struct . altitude_local = buf . get_f32_le () ; __struct . altitude_relative = buf . get_f32_le () ; __struct . altitude_terrain = buf . get_f32_le () ; __struct . bottom_clearance = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . altitude_monotonic) ; __tmp . put_f32_le (self . altitude_amsl) ; __tmp . put_f32_le (self . altitude_local) ; __tmp . put_f32_le (self . altitude_relative) ; __tmp . put_f32_le (self . altitude_terrain) ; __tmp . put_f32_le (self . bottom_clearance) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FOLLOW_TARGET_DATA { pub timestamp : u64 , pub custom_state : u64 , pub lat : i32 , pub lon : i32 , pub alt : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub attitude_q : [f32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rates : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub position_cov : [f32 ; 3] , pub est_capabilities : u8 , } impl FOLLOW_TARGET_DATA { pub const ENCODED_LEN : usize = 93usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , custom_state : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , vel : [0.0_f32 ; 3usize] , acc : [0.0_f32 ; 3usize] , attitude_q : [0.0_f32 ; 4usize] , rates : [0.0_f32 ; 3usize] , position_cov : [0.0_f32 ; 3usize] , est_capabilities : 0_u8 , } ; } impl Default for FOLLOW_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FOLLOW_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 144u32 ; const NAME : & 'static str = "FOLLOW_TARGET" ; const EXTRA_CRC : u8 = 127u8 ; const ENCODED_LEN : usize = 93usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . custom_state = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; for v in & mut __struct . vel { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . attitude_q { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . rates { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . position_cov { let val = buf . get_f32_le () ; * v = val ; } __struct . est_capabilities = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u64_le (self . custom_state) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; for val in & self . vel { __tmp . put_f32_le (* val) ; } for val in & self . acc { __tmp . put_f32_le (* val) ; } for val in & self . attitude_q { __tmp . put_f32_le (* val) ; } for val in & self . rates { __tmp . put_f32_le (* val) ; } for val in & self . position_cov { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . est_capabilities) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SIM_STATE_DATA { pub q1 : f32 , pub q2 : f32 , pub q3 : f32 , pub q4 : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub lat : f32 , pub lon : f32 , pub alt : f32 , pub std_dev_horz : f32 , pub std_dev_vert : f32 , pub vn : f32 , pub ve : f32 , pub vd : f32 , } impl SIM_STATE_DATA { pub const ENCODED_LEN : usize = 84usize ; pub const DEFAULT : Self = Self { q1 : 0.0_f32 , q2 : 0.0_f32 , q3 : 0.0_f32 , q4 : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , lat : 0.0_f32 , lon : 0.0_f32 , alt : 0.0_f32 , std_dev_horz : 0.0_f32 , std_dev_vert : 0.0_f32 , vn : 0.0_f32 , ve : 0.0_f32 , vd : 0.0_f32 , } ; } impl Default for SIM_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SIM_STATE_DATA { type Message = MavMessage ; const ID : u32 = 108u32 ; const NAME : & 'static str = "SIM_STATE" ; const EXTRA_CRC : u8 = 32u8 ; const ENCODED_LEN : usize = 84usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . q1 = buf . get_f32_le () ; __struct . q2 = buf . get_f32_le () ; __struct . q3 = buf . get_f32_le () ; __struct . q4 = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . lat = buf . get_f32_le () ; __struct . lon = buf . get_f32_le () ; __struct . alt = buf . get_f32_le () ; __struct . std_dev_horz = buf . get_f32_le () ; __struct . std_dev_vert = buf . get_f32_le () ; __struct . vn = buf . get_f32_le () ; __struct . ve = buf . get_f32_le () ; __struct . vd = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . q1) ; __tmp . put_f32_le (self . q2) ; __tmp . put_f32_le (self . q3) ; __tmp . put_f32_le (self . q4) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . lat) ; __tmp . put_f32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . std_dev_horz) ; __tmp . put_f32_le (self . std_dev_vert) ; __tmp . put_f32_le (self . vn) ; __tmp . put_f32_le (self . ve) ; __tmp . put_f32_le (self . vd) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MAG_CAL_REPORT_DATA { pub fitness : f32 , pub ofs_x : f32 , pub ofs_y : f32 , pub ofs_z : f32 , pub diag_x : f32 , pub diag_y : f32 , pub diag_z : f32 , pub offdiag_x : f32 , pub offdiag_y : f32 , pub offdiag_z : f32 , pub compass_id : u8 , pub cal_mask : u8 , pub cal_status : MagCalStatus , pub autosaved : u8 , } impl MAG_CAL_REPORT_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { fitness : 0.0_f32 , ofs_x : 0.0_f32 , ofs_y : 0.0_f32 , ofs_z : 0.0_f32 , diag_x : 0.0_f32 , diag_y : 0.0_f32 , diag_z : 0.0_f32 , offdiag_x : 0.0_f32 , offdiag_y : 0.0_f32 , offdiag_z : 0.0_f32 , compass_id : 0_u8 , cal_mask : 0_u8 , cal_status : MagCalStatus :: DEFAULT , autosaved : 0_u8 , } ; } impl Default for MAG_CAL_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MAG_CAL_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 192u32 ; const NAME : & 'static str = "MAG_CAL_REPORT" ; const EXTRA_CRC : u8 = 36u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . fitness = buf . get_f32_le () ; __struct . ofs_x = buf . get_f32_le () ; __struct . ofs_y = buf . get_f32_le () ; __struct . ofs_z = buf . get_f32_le () ; __struct . diag_x = buf . get_f32_le () ; __struct . diag_y = buf . get_f32_le () ; __struct . diag_z = buf . get_f32_le () ; __struct . offdiag_x = buf . get_f32_le () ; __struct . offdiag_y = buf . get_f32_le () ; __struct . offdiag_z = buf . get_f32_le () ; __struct . compass_id = buf . get_u8 () ; __struct . cal_mask = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . cal_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MagCalStatus" , value : tmp as u32 }) ? ; __struct . autosaved = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . fitness) ; __tmp . put_f32_le (self . ofs_x) ; __tmp . put_f32_le (self . ofs_y) ; __tmp . put_f32_le (self . ofs_z) ; __tmp . put_f32_le (self . diag_x) ; __tmp . put_f32_le (self . diag_y) ; __tmp . put_f32_le (self . diag_z) ; __tmp . put_f32_le (self . offdiag_x) ; __tmp . put_f32_le (self . offdiag_y) ; __tmp . put_f32_le (self . offdiag_z) ; __tmp . put_u8 (self . compass_id) ; __tmp . put_u8 (self . cal_mask) ; __tmp . put_u8 (self . cal_status as u8) ; __tmp . put_u8 (self . autosaved) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { pub flags : GimbalManagerFlags , pub pitch : f32 , pub yaw : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , pitch : 0.0_f32 , yaw : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 288u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_MANUAL_CONTROL" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_ACTUATOR_CONTROLS_DATA { pub time_usec : u64 , pub flags : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 16] , pub mode : MavModeFlag , } impl HIL_ACTUATOR_CONTROLS_DATA { pub const ENCODED_LEN : usize = 81usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , flags : 0_u64 , controls : [0.0_f32 ; 16usize] , mode : MavModeFlag :: DEFAULT , } ; } impl Default for HIL_ACTUATOR_CONTROLS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_ACTUATOR_CONTROLS_DATA { type Message = MavMessage ; const ID : u32 = 93u32 ; const NAME : & 'static str = "HIL_ACTUATOR_CONTROLS" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 81usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . flags = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u64_le (self . flags) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . mode . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ACTUATOR_OUTPUT_STATUS_DATA { pub time_usec : u64 , pub active : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub actuator : [f32 ; 32] , } impl ACTUATOR_OUTPUT_STATUS_DATA { pub const ENCODED_LEN : usize = 140usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , active : 0_u32 , actuator : [0.0_f32 ; 32usize] , } ; } impl Default for ACTUATOR_OUTPUT_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ACTUATOR_OUTPUT_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 375u32 ; const NAME : & 'static str = "ACTUATOR_OUTPUT_STATUS" ; const EXTRA_CRC : u8 = 251u8 ; const ENCODED_LEN : usize = 140usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . active = buf . get_u32_le () ; for v in & mut __struct . actuator { let val = buf . get_f32_le () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . active) ; for val in & self . actuator { __tmp . put_f32_le (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPONENT_INFORMATION_DATA { pub time_boot_ms : u32 , pub general_metadata_file_crc : u32 , pub peripherals_metadata_file_crc : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub general_metadata_uri : [u8 ; 100] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub peripherals_metadata_uri : [u8 ; 100] , } impl COMPONENT_INFORMATION_DATA { pub const ENCODED_LEN : usize = 212usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , general_metadata_file_crc : 0_u32 , peripherals_metadata_file_crc : 0_u32 , general_metadata_uri : [0_u8 ; 100usize] , peripherals_metadata_uri : [0_u8 ; 100usize] , } ; } impl Default for COMPONENT_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPONENT_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 395u32 ; const NAME : & 'static str = "COMPONENT_INFORMATION" ; const EXTRA_CRC : u8 = 0u8 ; const ENCODED_LEN : usize = 212usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . general_metadata_file_crc = buf . get_u32_le () ; __struct . peripherals_metadata_file_crc = buf . get_u32_le () ; for v in & mut __struct . general_metadata_uri { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . peripherals_metadata_uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . general_metadata_file_crc) ; __tmp . put_u32_le (self . peripherals_metadata_file_crc) ; for val in & self . general_metadata_uri { __tmp . put_u8 (* val) ; } for val in & self . peripherals_metadata_uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS2_RAW_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub dgps_age : u32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub cog : u16 , pub fix_type : GpsFixType , pub satellites_visible : u8 , pub dgps_numch : u8 , } impl GPS2_RAW_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , dgps_age : 0_u32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , cog : 0_u16 , fix_type : GpsFixType :: DEFAULT , satellites_visible : 0_u8 , dgps_numch : 0_u8 , } ; } impl Default for GPS2_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS2_RAW_DATA { type Message = MavMessage ; const ID : u32 = 124u32 ; const NAME : & 'static str = "GPS2_RAW" ; const EXTRA_CRC : u8 = 87u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . dgps_age = buf . get_u32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . cog = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . satellites_visible = buf . get_u8 () ; __struct . dgps_numch = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u32_le (self . dgps_age) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type as u8) ; __tmp . put_u8 (self . satellites_visible) ; __tmp . put_u8 (self . dgps_numch) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BUTTON_CHANGE_DATA { pub time_boot_ms : u32 , pub last_change_ms : u32 , pub state : u8 , } impl BUTTON_CHANGE_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , last_change_ms : 0_u32 , state : 0_u8 , } ; } impl Default for BUTTON_CHANGE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BUTTON_CHANGE_DATA { type Message = MavMessage ; const ID : u32 = 257u32 ; const NAME : & 'static str = "BUTTON_CHANGE" ; const EXTRA_CRC : u8 = 131u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . last_change_ms = buf . get_u32_le () ; __struct . state = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . last_change_ms) ; __tmp . put_u8 (self . state) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVCAN_NODE_INFO_DATA { pub time_usec : u64 , pub uptime_sec : u32 , pub sw_vcs_commit : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 80] , pub hw_version_major : u8 , pub hw_version_minor : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub hw_unique_id : [u8 ; 16] , pub sw_version_major : u8 , pub sw_version_minor : u8 , } impl UAVCAN_NODE_INFO_DATA { pub const ENCODED_LEN : usize = 116usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime_sec : 0_u32 , sw_vcs_commit : 0_u32 , name : [0_u8 ; 80usize] , hw_version_major : 0_u8 , hw_version_minor : 0_u8 , hw_unique_id : [0_u8 ; 16usize] , sw_version_major : 0_u8 , sw_version_minor : 0_u8 , } ; } impl Default for UAVCAN_NODE_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVCAN_NODE_INFO_DATA { type Message = MavMessage ; const ID : u32 = 311u32 ; const NAME : & 'static str = "UAVCAN_NODE_INFO" ; const EXTRA_CRC : u8 = 95u8 ; const ENCODED_LEN : usize = 116usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime_sec = buf . get_u32_le () ; __struct . sw_vcs_commit = buf . get_u32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } __struct . hw_version_major = buf . get_u8 () ; __struct . hw_version_minor = buf . get_u8 () ; for v in & mut __struct . hw_unique_id { let val = buf . get_u8 () ; * v = val ; } __struct . sw_version_major = buf . get_u8 () ; __struct . sw_version_minor = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime_sec) ; __tmp . put_u32_le (self . sw_vcs_commit) ; for val in & self . name { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . hw_version_major) ; __tmp . put_u8 (self . hw_version_minor) ; for val in & self . hw_unique_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . sw_version_major) ; __tmp . put_u8 (self . sw_version_minor) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_VISION_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl GLOBAL_VISION_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for GLOBAL_VISION_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_VISION_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 101u32 ; const NAME : & 'static str = "GLOBAL_VISION_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 102u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COLLISION_DATA { pub id : u32 , pub time_to_minimum_delta : f32 , pub altitude_minimum_delta : f32 , pub horizontal_minimum_delta : f32 , pub src : MavCollisionSrc , pub action : MavCollisionAction , pub threat_level : MavCollisionThreatLevel , } impl COLLISION_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { id : 0_u32 , time_to_minimum_delta : 0.0_f32 , altitude_minimum_delta : 0.0_f32 , horizontal_minimum_delta : 0.0_f32 , src : MavCollisionSrc :: DEFAULT , action : MavCollisionAction :: DEFAULT , threat_level : MavCollisionThreatLevel :: DEFAULT , } ; } impl Default for COLLISION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COLLISION_DATA { type Message = MavMessage ; const ID : u32 = 247u32 ; const NAME : & 'static str = "COLLISION" ; const EXTRA_CRC : u8 = 81u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . time_to_minimum_delta = buf . get_f32_le () ; __struct . altitude_minimum_delta = buf . get_f32_le () ; __struct . horizontal_minimum_delta = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . src = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionSrc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . action = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionAction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . threat_level = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionThreatLevel" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_f32_le (self . time_to_minimum_delta) ; __tmp . put_f32_le (self . altitude_minimum_delta) ; __tmp . put_f32_le (self . horizontal_minimum_delta) ; __tmp . put_u8 (self . src as u8) ; __tmp . put_u8 (self . action as u8) ; __tmp . put_u8 (self . threat_level as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_RPM_DATA { pub frequency : f32 , pub index : u8 , } impl RAW_RPM_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { frequency : 0.0_f32 , index : 0_u8 , } ; } impl Default for RAW_RPM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_RPM_DATA { type Message = MavMessage ; const ID : u32 = 339u32 ; const NAME : & 'static str = "RAW_RPM" ; const EXTRA_CRC : u8 = 199u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . frequency = buf . get_f32_le () ; __struct . index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . frequency) ; __tmp . put_u8 (self . index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SERIAL_CONTROL_DATA { pub baudrate : u32 , pub timeout : u16 , pub device : SerialControlDev , pub flags : SerialControlFlag , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 70] , } impl SERIAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 79usize ; pub const DEFAULT : Self = Self { baudrate : 0_u32 , timeout : 0_u16 , device : SerialControlDev :: DEFAULT , flags : SerialControlFlag :: DEFAULT , count : 0_u8 , data : [0_u8 ; 70usize] , } ; } impl Default for SERIAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SERIAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 126u32 ; const NAME : & 'static str = "SERIAL_CONTROL" ; const EXTRA_CRC : u8 = 220u8 ; const ENCODED_LEN : usize = 79usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . baudrate = buf . get_u32_le () ; __struct . timeout = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . device = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "SerialControlDev" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = SerialControlFlag :: from_bits (tmp & SerialControlFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "SerialControlFlag" , value : tmp as u32 }) ? ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . baudrate) ; __tmp . put_u16_le (self . timeout) ; __tmp . put_u8 (self . device as u8) ; __tmp . put_u8 (self . flags . bits ()) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRIGGER_DATA { pub time_usec : u64 , pub seq : u32 , } impl CAMERA_TRIGGER_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , seq : 0_u32 , } ; } impl Default for CAMERA_TRIGGER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRIGGER_DATA { type Message = MavMessage ; const ID : u32 = 112u32 ; const NAME : & 'static str = "CAMERA_TRIGGER" ; const EXTRA_CRC : u8 = 174u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . seq = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_HOME_POSITION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub approach_x : f32 , pub approach_y : f32 , pub approach_z : f32 , pub target_system : u8 , } impl SET_HOME_POSITION_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , approach_x : 0.0_f32 , approach_y : 0.0_f32 , approach_z : 0.0_f32 , target_system : 0_u8 , } ; } impl Default for SET_HOME_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_HOME_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 243u32 ; const NAME : & 'static str = "SET_HOME_POSITION" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . approach_x = buf . get_f32_le () ; __struct . approach_y = buf . get_f32_le () ; __struct . approach_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . approach_x) ; __tmp . put_f32_le (self . approach_y) ; __tmp . put_f32_le (self . approach_z) ; __tmp . put_u8 (self . target_system) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_FOV_STATUS_DATA { pub time_boot_ms : u32 , pub lat_camera : i32 , pub lon_camera : i32 , pub alt_camera : i32 , pub lat_image : i32 , pub lon_image : i32 , pub alt_image : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub hfov : f32 , pub vfov : f32 , } impl CAMERA_FOV_STATUS_DATA { pub const ENCODED_LEN : usize = 52usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_camera : 0_i32 , lon_camera : 0_i32 , alt_camera : 0_i32 , lat_image : 0_i32 , lon_image : 0_i32 , alt_image : 0_i32 , q : [0.0_f32 ; 4usize] , hfov : 0.0_f32 , vfov : 0.0_f32 , } ; } impl Default for CAMERA_FOV_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_FOV_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 271u32 ; const NAME : & 'static str = "CAMERA_FOV_STATUS" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 52usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_camera = buf . get_i32_le () ; __struct . lon_camera = buf . get_i32_le () ; __struct . alt_camera = buf . get_i32_le () ; __struct . lat_image = buf . get_i32_le () ; __struct . lon_image = buf . get_i32_le () ; __struct . alt_image = buf . get_i32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . hfov = buf . get_f32_le () ; __struct . vfov = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_camera) ; __tmp . put_i32_le (self . lon_camera) ; __tmp . put_i32_le (self . alt_camera) ; __tmp . put_i32_le (self . lat_image) ; __tmp . put_i32_le (self . lon_image) ; __tmp . put_i32_le (self . alt_image) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . hfov) ; __tmp . put_f32_le (self . vfov) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_ARM_STATUS_DATA { pub status : MavOdidArmStatus , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub error : [u8 ; 50] , } impl OPEN_DRONE_ID_ARM_STATUS_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { status : MavOdidArmStatus :: DEFAULT , error : [0_u8 ; 50usize] , } ; } impl Default for OPEN_DRONE_ID_ARM_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_ARM_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 12918u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_ARM_STATUS" ; const EXTRA_CRC : u8 = 139u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidArmStatus" , value : tmp as u32 }) ? ; for v in & mut __struct . error { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . status as u8) ; for val in & self . error { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIDEO_STREAM_INFORMATION_DATA { pub framerate : f32 , pub bitrate : u32 , pub flags : VideoStreamStatusFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub hfov : u16 , pub stream_id : u8 , pub count : u8 , pub mavtype : VideoStreamType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 160] , } impl VIDEO_STREAM_INFORMATION_DATA { pub const ENCODED_LEN : usize = 213usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , flags : VideoStreamStatusFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , hfov : 0_u16 , stream_id : 0_u8 , count : 0_u8 , mavtype : VideoStreamType :: DEFAULT , name : [0_u8 ; 32usize] , uri : [0_u8 ; 160usize] , } ; } impl Default for VIDEO_STREAM_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIDEO_STREAM_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 269u32 ; const NAME : & 'static str = "VIDEO_STREAM_INFORMATION" ; const EXTRA_CRC : u8 = 109u8 ; const ENCODED_LEN : usize = 213usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamStatusFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . hfov = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamType" , value : tmp as u32 }) ? ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . flags as u16) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u16_le (self . hfov) ; __tmp . put_u8 (self . stream_id) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . mavtype as u8) ; for val in & self . name { __tmp . put_u8 (* val) ; } for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LINK_NODE_STATUS_DATA { pub timestamp : u64 , pub tx_rate : u32 , pub rx_rate : u32 , pub messages_sent : u32 , pub messages_received : u32 , pub messages_lost : u32 , pub rx_parse_err : u16 , pub tx_overflows : u16 , pub rx_overflows : u16 , pub tx_buf : u8 , pub rx_buf : u8 , } impl LINK_NODE_STATUS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , tx_rate : 0_u32 , rx_rate : 0_u32 , messages_sent : 0_u32 , messages_received : 0_u32 , messages_lost : 0_u32 , rx_parse_err : 0_u16 , tx_overflows : 0_u16 , rx_overflows : 0_u16 , tx_buf : 0_u8 , rx_buf : 0_u8 , } ; } impl Default for LINK_NODE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LINK_NODE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 8u32 ; const NAME : & 'static str = "LINK_NODE_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . tx_rate = buf . get_u32_le () ; __struct . rx_rate = buf . get_u32_le () ; __struct . messages_sent = buf . get_u32_le () ; __struct . messages_received = buf . get_u32_le () ; __struct . messages_lost = buf . get_u32_le () ; __struct . rx_parse_err = buf . get_u16_le () ; __struct . tx_overflows = buf . get_u16_le () ; __struct . rx_overflows = buf . get_u16_le () ; __struct . tx_buf = buf . get_u8 () ; __struct . rx_buf = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u32_le (self . tx_rate) ; __tmp . put_u32_le (self . rx_rate) ; __tmp . put_u32_le (self . messages_sent) ; __tmp . put_u32_le (self . messages_received) ; __tmp . put_u32_le (self . messages_lost) ; __tmp . put_u16_le (self . rx_parse_err) ; __tmp . put_u16_le (self . tx_overflows) ; __tmp . put_u16_le (self . rx_overflows) ; __tmp . put_u8 (self . tx_buf) ; __tmp . put_u8 (self . rx_buf) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_STATE_DATA { pub time_usec : u64 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , } impl HIL_STATE_DATA { pub const ENCODED_LEN : usize = 56usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , } ; } impl Default for HIL_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_STATE_DATA { type Message = MavMessage ; const ID : u32 = 90u32 ; const NAME : & 'static str = "HIL_STATE" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 56usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_SET_DATA { pub param_value : f32 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub param_type : MavParamType , } impl PARAM_SET_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { param_value : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , param_type : MavParamType :: DEFAULT , } ; } impl Default for PARAM_SET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_SET_DATA { type Message = MavMessage ; const ID : u32 = 23u32 ; const NAME : & 'static str = "PARAM_SET" ; const EXTRA_CRC : u8 = 168u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU_DATA { type Message = MavMessage ; const ID : u32 = 26u32 ; const NAME : & 'static str = "SCALED_IMU" ; const EXTRA_CRC : u8 = 170u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FILE_TRANSFER_PROTOCOL_DATA { pub target_network : u8 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 251] , } impl FILE_TRANSFER_PROTOCOL_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { target_network : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , payload : [0_u8 ; 251usize] , } ; } impl Default for FILE_TRANSFER_PROTOCOL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FILE_TRANSFER_PROTOCOL_DATA { type Message = MavMessage ; const ID : u32 = 110u32 ; const NAME : & 'static str = "FILE_TRANSFER_PROTOCOL" ; const EXTRA_CRC : u8 = 84u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_network = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_network) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_REQUEST_DATA { pub mask : u64 , pub lat : i32 , pub lon : i32 , pub grid_spacing : u16 , } impl TERRAIN_REQUEST_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { mask : 0_u64 , lat : 0_i32 , lon : 0_i32 , grid_spacing : 0_u16 , } ; } impl Default for TERRAIN_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 133u32 ; const NAME : & 'static str = "TERRAIN_REQUEST" ; const EXTRA_CRC : u8 = 6u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mask = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . grid_spacing = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . mask) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . grid_spacing) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE_DATA { type Message = MavMessage ; const ID : u32 = 29u32 ; const NAME : & 'static str = "SCALED_PRESSURE" ; const EXTRA_CRC : u8 = 115u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GENERATOR_STATUS_DATA { pub status : MavGeneratorStatusFlag , pub battery_current : f32 , pub load_current : f32 , pub power_generated : f32 , pub bus_voltage : f32 , pub bat_current_setpoint : f32 , pub runtime : u32 , pub time_until_maintenance : i32 , pub generator_speed : u16 , pub rectifier_temperature : i16 , pub generator_temperature : i16 , } impl GENERATOR_STATUS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { status : MavGeneratorStatusFlag :: DEFAULT , battery_current : 0.0_f32 , load_current : 0.0_f32 , power_generated : 0.0_f32 , bus_voltage : 0.0_f32 , bat_current_setpoint : 0.0_f32 , runtime : 0_u32 , time_until_maintenance : 0_i32 , generator_speed : 0_u16 , rectifier_temperature : 0_i16 , generator_temperature : 0_i16 , } ; } impl Default for GENERATOR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GENERATOR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 373u32 ; const NAME : & 'static str = "GENERATOR_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u64_le () ; __struct . status = MavGeneratorStatusFlag :: from_bits (tmp & MavGeneratorStatusFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavGeneratorStatusFlag" , value : tmp as u32 }) ? ; __struct . battery_current = buf . get_f32_le () ; __struct . load_current = buf . get_f32_le () ; __struct . power_generated = buf . get_f32_le () ; __struct . bus_voltage = buf . get_f32_le () ; __struct . bat_current_setpoint = buf . get_f32_le () ; __struct . runtime = buf . get_u32_le () ; __struct . time_until_maintenance = buf . get_i32_le () ; __struct . generator_speed = buf . get_u16_le () ; __struct . rectifier_temperature = buf . get_i16_le () ; __struct . generator_temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . status . bits ()) ; __tmp . put_f32_le (self . battery_current) ; __tmp . put_f32_le (self . load_current) ; __tmp . put_f32_le (self . power_generated) ; __tmp . put_f32_le (self . bus_voltage) ; __tmp . put_f32_le (self . bat_current_setpoint) ; __tmp . put_u32_le (self . runtime) ; __tmp . put_i32_le (self . time_until_maintenance) ; __tmp . put_u16_le (self . generator_speed) ; __tmp . put_i16_le (self . rectifier_temperature) ; __tmp . put_i16_le (self . generator_temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_GPS_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub vn : i16 , pub ve : i16 , pub vd : i16 , pub cog : u16 , pub fix_type : u8 , pub satellites_visible : u8 , } impl HIL_GPS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , vn : 0_i16 , ve : 0_i16 , vd : 0_i16 , cog : 0_u16 , fix_type : 0_u8 , satellites_visible : 0_u8 , } ; } impl Default for HIL_GPS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_GPS_DATA { type Message = MavMessage ; const ID : u32 = 113u32 ; const NAME : & 'static str = "HIL_GPS" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . vn = buf . get_i16_le () ; __struct . ve = buf . get_i16_le () ; __struct . vd = buf . get_i16_le () ; __struct . cog = buf . get_u16_le () ; __struct . fix_type = buf . get_u8 () ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_i16_le (self . vn) ; __tmp . put_i16_le (self . ve) ; __tmp . put_i16_le (self . vd) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_ERASE_DATA { pub target_system : u8 , pub target_component : u8 , } impl LOG_ERASE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_ERASE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_ERASE_DATA { type Message = MavMessage ; const ID : u32 = 121u32 ; const NAME : & 'static str = "LOG_ERASE" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_OVERRIDE_DATA { pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub target_system : u8 , pub target_component : u8 , } impl RC_CHANNELS_OVERRIDE_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for RC_CHANNELS_OVERRIDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_OVERRIDE_DATA { type Message = MavMessage ; const ID : u32 = 70u32 ; const NAME : & 'static str = "RC_CHANNELS_OVERRIDE" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { pub rfHealth : UavionixAdsbRfHealth , } impl UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { pub const ENCODED_LEN : usize = 1usize ; pub const DEFAULT : Self = Self { rfHealth : UavionixAdsbRfHealth :: DEFAULT , } ; } impl Default for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 10003u32 ; const NAME : & 'static str = "UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 1usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . rfHealth = UavionixAdsbRfHealth :: from_bits (tmp & UavionixAdsbRfHealth :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UavionixAdsbRfHealth" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . rfHealth . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRACKING_IMAGE_STATUS_DATA { pub point_x : f32 , pub point_y : f32 , pub radius : f32 , pub rec_top_x : f32 , pub rec_top_y : f32 , pub rec_bottom_x : f32 , pub rec_bottom_y : f32 , pub tracking_status : CameraTrackingStatusFlags , pub tracking_mode : CameraTrackingMode , pub target_data : CameraTrackingTargetData , } impl CAMERA_TRACKING_IMAGE_STATUS_DATA { pub const ENCODED_LEN : usize = 31usize ; pub const DEFAULT : Self = Self { point_x : 0.0_f32 , point_y : 0.0_f32 , radius : 0.0_f32 , rec_top_x : 0.0_f32 , rec_top_y : 0.0_f32 , rec_bottom_x : 0.0_f32 , rec_bottom_y : 0.0_f32 , tracking_status : CameraTrackingStatusFlags :: DEFAULT , tracking_mode : CameraTrackingMode :: DEFAULT , target_data : CameraTrackingTargetData :: DEFAULT , } ; } impl Default for CAMERA_TRACKING_IMAGE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRACKING_IMAGE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 275u32 ; const NAME : & 'static str = "CAMERA_TRACKING_IMAGE_STATUS" ; const EXTRA_CRC : u8 = 126u8 ; const ENCODED_LEN : usize = 31usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . point_x = buf . get_f32_le () ; __struct . point_y = buf . get_f32_le () ; __struct . radius = buf . get_f32_le () ; __struct . rec_top_x = buf . get_f32_le () ; __struct . rec_top_y = buf . get_f32_le () ; __struct . rec_bottom_x = buf . get_f32_le () ; __struct . rec_bottom_y = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . tracking_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingStatusFlags" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . tracking_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingMode" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . target_data = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingTargetData" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . point_x) ; __tmp . put_f32_le (self . point_y) ; __tmp . put_f32_le (self . radius) ; __tmp . put_f32_le (self . rec_top_x) ; __tmp . put_f32_le (self . rec_top_y) ; __tmp . put_f32_le (self . rec_bottom_x) ; __tmp . put_f32_le (self . rec_bottom_y) ; __tmp . put_u8 (self . tracking_status as u8) ; __tmp . put_u8 (self . tracking_mode as u8) ; __tmp . put_u8 (self . target_data as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_WRITE_PARTIAL_LIST_DATA { pub start_index : i16 , pub end_index : i16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_WRITE_PARTIAL_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start_index : 0_i16 , end_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_WRITE_PARTIAL_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_WRITE_PARTIAL_LIST_DATA { type Message = MavMessage ; const ID : u32 = 38u32 ; const NAME : & 'static str = "MISSION_WRITE_PARTIAL_LIST" ; const EXTRA_CRC : u8 = 9u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start_index = buf . get_i16_le () ; __struct . end_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . start_index) ; __tmp . put_i16_le (self . end_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { type Message = MavMessage ; const ID : u32 = 89u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET" ; const EXTRA_CRC : u8 = 231u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SUPPORTED_TUNES_DATA { pub format : TuneFormat , pub target_system : u8 , pub target_component : u8 , } impl SUPPORTED_TUNES_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { format : TuneFormat :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SUPPORTED_TUNES_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SUPPORTED_TUNES_DATA { type Message = MavMessage ; const ID : u32 = 401u32 ; const NAME : & 'static str = "SUPPORTED_TUNES" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . format = TuneFormat :: from_bits (tmp & TuneFormat :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "TuneFormat" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . format . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIDEO_STREAM_STATUS_DATA { pub framerate : f32 , pub bitrate : u32 , pub flags : VideoStreamStatusFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub hfov : u16 , pub stream_id : u8 , } impl VIDEO_STREAM_STATUS_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , flags : VideoStreamStatusFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , hfov : 0_u16 , stream_id : 0_u8 , } ; } impl Default for VIDEO_STREAM_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIDEO_STREAM_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 270u32 ; const NAME : & 'static str = "VIDEO_STREAM_STATUS" ; const EXTRA_CRC : u8 = 59u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamStatusFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . hfov = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . flags as u16) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u16_le (self . hfov) ; __tmp . put_u8 (self . stream_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HYGROMETER_SENSOR_DATA { pub temperature : i16 , pub humidity : u16 , pub id : u8 , } impl HYGROMETER_SENSOR_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { temperature : 0_i16 , humidity : 0_u16 , id : 0_u8 , } ; } impl Default for HYGROMETER_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HYGROMETER_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 12920u32 ; const NAME : & 'static str = "HYGROMETER_SENSOR" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . temperature = buf . get_i16_le () ; __struct . humidity = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u16_le (self . humidity) ; __tmp . put_u8 (self . id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE3_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE3_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE3_DATA { type Message = MavMessage ; const ID : u32 = 143u32 ; const NAME : & 'static str = "SCALED_PRESSURE3" ; const EXTRA_CRC : u8 = 131u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OBSTACLE_DISTANCE_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub distances : [u16 ; 72] , pub min_distance : u16 , pub max_distance : u16 , pub sensor_type : MavDistanceSensor , pub increment : u8 , } impl OBSTACLE_DISTANCE_DATA { pub const ENCODED_LEN : usize = 158usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , distances : [0_u16 ; 72usize] , min_distance : 0_u16 , max_distance : 0_u16 , sensor_type : MavDistanceSensor :: DEFAULT , increment : 0_u8 , } ; } impl Default for OBSTACLE_DISTANCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OBSTACLE_DISTANCE_DATA { type Message = MavMessage ; const ID : u32 = 330u32 ; const NAME : & 'static str = "OBSTACLE_DISTANCE" ; const EXTRA_CRC : u8 = 23u8 ; const ENCODED_LEN : usize = 158usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . distances { let val = buf . get_u16_le () ; * v = val ; } __struct . min_distance = buf . get_u16_le () ; __struct . max_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . sensor_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; __struct . increment = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . distances { __tmp . put_u16_le (* val) ; } __tmp . put_u16_le (self . min_distance) ; __tmp . put_u16_le (self . max_distance) ; __tmp . put_u8 (self . sensor_type as u8) ; __tmp . put_u8 (self . increment) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REQUEST_DATA_STREAM_DATA { pub req_message_rate : u16 , pub target_system : u8 , pub target_component : u8 , pub req_stream_id : u8 , pub start_stop : u8 , } impl REQUEST_DATA_STREAM_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { req_message_rate : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , req_stream_id : 0_u8 , start_stop : 0_u8 , } ; } impl Default for REQUEST_DATA_STREAM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REQUEST_DATA_STREAM_DATA { type Message = MavMessage ; const ID : u32 = 66u32 ; const NAME : & 'static str = "REQUEST_DATA_STREAM" ; const EXTRA_CRC : u8 = 148u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . req_message_rate = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . req_stream_id = buf . get_u8 () ; __struct . start_stop = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . req_message_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . req_stream_id) ; __tmp . put_u8 (self . start_stop) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DISTANCE_SENSOR_DATA { pub time_boot_ms : u32 , pub min_distance : u16 , pub max_distance : u16 , pub current_distance : u16 , pub mavtype : MavDistanceSensor , pub id : u8 , pub orientation : MavSensorOrientation , pub covariance : u8 , } impl DISTANCE_SENSOR_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , min_distance : 0_u16 , max_distance : 0_u16 , current_distance : 0_u16 , mavtype : MavDistanceSensor :: DEFAULT , id : 0_u8 , orientation : MavSensorOrientation :: DEFAULT , covariance : 0_u8 , } ; } impl Default for DISTANCE_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DISTANCE_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 132u32 ; const NAME : & 'static str = "DISTANCE_SENSOR" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . min_distance = buf . get_u16_le () ; __struct . max_distance = buf . get_u16_le () ; __struct . current_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . orientation = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavSensorOrientation" , value : tmp as u32 }) ? ; __struct . covariance = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . min_distance) ; __tmp . put_u16_le (self . max_distance) ; __tmp . put_u16_le (self . current_distance) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . orientation as u8) ; __tmp . put_u8 (self . covariance) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_LIST_DATA { pub start : u16 , pub end : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start : 0_u16 , end : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 117u32 ; const NAME : & 'static str = "LOG_REQUEST_LIST" ; const EXTRA_CRC : u8 = 128u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start = buf . get_u16_le () ; __struct . end = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . start) ; __tmp . put_u16_le (self . end) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_DATA { pub time_boot_ms : u32 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub chan9_raw : u16 , pub chan10_raw : u16 , pub chan11_raw : u16 , pub chan12_raw : u16 , pub chan13_raw : u16 , pub chan14_raw : u16 , pub chan15_raw : u16 , pub chan16_raw : u16 , pub chan17_raw : u16 , pub chan18_raw : u16 , pub chancount : u8 , pub rssi : u8 , } impl RC_CHANNELS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , chan9_raw : 0_u16 , chan10_raw : 0_u16 , chan11_raw : 0_u16 , chan12_raw : 0_u16 , chan13_raw : 0_u16 , chan14_raw : 0_u16 , chan15_raw : 0_u16 , chan16_raw : 0_u16 , chan17_raw : 0_u16 , chan18_raw : 0_u16 , chancount : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_DATA { type Message = MavMessage ; const ID : u32 = 65u32 ; const NAME : & 'static str = "RC_CHANNELS" ; const EXTRA_CRC : u8 = 118u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . chan9_raw = buf . get_u16_le () ; __struct . chan10_raw = buf . get_u16_le () ; __struct . chan11_raw = buf . get_u16_le () ; __struct . chan12_raw = buf . get_u16_le () ; __struct . chan13_raw = buf . get_u16_le () ; __struct . chan14_raw = buf . get_u16_le () ; __struct . chan15_raw = buf . get_u16_le () ; __struct . chan16_raw = buf . get_u16_le () ; __struct . chan17_raw = buf . get_u16_le () ; __struct . chan18_raw = buf . get_u16_le () ; __struct . chancount = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u16_le (self . chan9_raw) ; __tmp . put_u16_le (self . chan10_raw) ; __tmp . put_u16_le (self . chan11_raw) ; __tmp . put_u16_le (self . chan12_raw) ; __tmp . put_u16_le (self . chan13_raw) ; __tmp . put_u16_le (self . chan14_raw) ; __tmp . put_u16_le (self . chan15_raw) ; __tmp . put_u16_le (self . chan16_raw) ; __tmp . put_u16_le (self . chan17_raw) ; __tmp . put_u16_le (self . chan18_raw) ; __tmp . put_u8 (self . chancount) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAN_FILTER_MODIFY_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub ids : [u16 ; 16] , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub operation : CanFilterOp , pub num_ids : u8 , } impl CAN_FILTER_MODIFY_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { ids : [0_u16 ; 16usize] , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , operation : CanFilterOp :: DEFAULT , num_ids : 0_u8 , } ; } impl Default for CAN_FILTER_MODIFY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAN_FILTER_MODIFY_DATA { type Message = MavMessage ; const ID : u32 = 388u32 ; const NAME : & 'static str = "CAN_FILTER_MODIFY" ; const EXTRA_CRC : u8 = 8u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . ids { let val = buf . get_u16_le () ; * v = val ; } __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . operation = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CanFilterOp" , value : tmp as u32 }) ? ; __struct . num_ids = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . ids { __tmp . put_u16_le (* val) ; } __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . operation as u8) ; __tmp . put_u8 (self . num_ids) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SAFETY_ALLOWED_AREA_DATA { pub p1x : f32 , pub p1y : f32 , pub p1z : f32 , pub p2x : f32 , pub p2y : f32 , pub p2z : f32 , pub frame : MavFrame , } impl SAFETY_ALLOWED_AREA_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { p1x : 0.0_f32 , p1y : 0.0_f32 , p1z : 0.0_f32 , p2x : 0.0_f32 , p2y : 0.0_f32 , p2z : 0.0_f32 , frame : MavFrame :: DEFAULT , } ; } impl Default for SAFETY_ALLOWED_AREA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SAFETY_ALLOWED_AREA_DATA { type Message = MavMessage ; const ID : u32 = 55u32 ; const NAME : & 'static str = "SAFETY_ALLOWED_AREA" ; const EXTRA_CRC : u8 = 3u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . p1x = buf . get_f32_le () ; __struct . p1y = buf . get_f32_le () ; __struct . p1z = buf . get_f32_le () ; __struct . p2x = buf . get_f32_le () ; __struct . p2y = buf . get_f32_le () ; __struct . p2z = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . p1x) ; __tmp . put_f32_le (self . p1y) ; __tmp . put_f32_le (self . p1z) ; __tmp . put_f32_le (self . p2x) ; __tmp . put_f32_le (self . p2y) ; __tmp . put_f32_le (self . p2z) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , } impl ATTITUDE_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , } ; } impl Default for ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 30u32 ; const NAME : & 'static str = "ATTITUDE" ; const EXTRA_CRC : u8 = 39u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SERVO_OUTPUT_RAW_DATA { pub time_usec : u32 , pub servo1_raw : u16 , pub servo2_raw : u16 , pub servo3_raw : u16 , pub servo4_raw : u16 , pub servo5_raw : u16 , pub servo6_raw : u16 , pub servo7_raw : u16 , pub servo8_raw : u16 , pub port : u8 , } impl SERVO_OUTPUT_RAW_DATA { pub const ENCODED_LEN : usize = 21usize ; pub const DEFAULT : Self = Self { time_usec : 0_u32 , servo1_raw : 0_u16 , servo2_raw : 0_u16 , servo3_raw : 0_u16 , servo4_raw : 0_u16 , servo5_raw : 0_u16 , servo6_raw : 0_u16 , servo7_raw : 0_u16 , servo8_raw : 0_u16 , port : 0_u8 , } ; } impl Default for SERVO_OUTPUT_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SERVO_OUTPUT_RAW_DATA { type Message = MavMessage ; const ID : u32 = 36u32 ; const NAME : & 'static str = "SERVO_OUTPUT_RAW" ; const EXTRA_CRC : u8 = 222u8 ; const ENCODED_LEN : usize = 21usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u32_le () ; __struct . servo1_raw = buf . get_u16_le () ; __struct . servo2_raw = buf . get_u16_le () ; __struct . servo3_raw = buf . get_u16_le () ; __struct . servo4_raw = buf . get_u16_le () ; __struct . servo5_raw = buf . get_u16_le () ; __struct . servo6_raw = buf . get_u16_le () ; __struct . servo7_raw = buf . get_u16_le () ; __struct . servo8_raw = buf . get_u16_le () ; __struct . port = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_usec) ; __tmp . put_u16_le (self . servo1_raw) ; __tmp . put_u16_le (self . servo2_raw) ; __tmp . put_u16_le (self . servo3_raw) ; __tmp . put_u16_le (self . servo4_raw) ; __tmp . put_u16_le (self . servo5_raw) ; __tmp . put_u16_le (self . servo6_raw) ; __tmp . put_u16_le (self . servo7_raw) ; __tmp . put_u16_le (self . servo8_raw) ; __tmp . put_u8 (self . port) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_CAPTURE_STATUS_DATA { pub time_boot_ms : u32 , pub image_interval : f32 , pub recording_time_ms : u32 , pub available_capacity : f32 , pub image_status : u8 , pub video_status : u8 , } impl CAMERA_CAPTURE_STATUS_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , image_interval : 0.0_f32 , recording_time_ms : 0_u32 , available_capacity : 0.0_f32 , image_status : 0_u8 , video_status : 0_u8 , } ; } impl Default for CAMERA_CAPTURE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_CAPTURE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 262u32 ; const NAME : & 'static str = "CAMERA_CAPTURE_STATUS" ; const EXTRA_CRC : u8 = 12u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . image_interval = buf . get_f32_le () ; __struct . recording_time_ms = buf . get_u32_le () ; __struct . available_capacity = buf . get_f32_le () ; __struct . image_status = buf . get_u8 () ; __struct . video_status = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . image_interval) ; __tmp . put_u32_le (self . recording_time_ms) ; __tmp . put_f32_le (self . available_capacity) ; __tmp . put_u8 (self . image_status) ; __tmp . put_u8 (self . video_status) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VFR_HUD_DATA { pub airspeed : f32 , pub groundspeed : f32 , pub alt : f32 , pub climb : f32 , pub heading : i16 , pub throttle : u16 , } impl VFR_HUD_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { airspeed : 0.0_f32 , groundspeed : 0.0_f32 , alt : 0.0_f32 , climb : 0.0_f32 , heading : 0_i16 , throttle : 0_u16 , } ; } impl Default for VFR_HUD_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VFR_HUD_DATA { type Message = MavMessage ; const ID : u32 = 74u32 ; const NAME : & 'static str = "VFR_HUD" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . airspeed = buf . get_f32_le () ; __struct . groundspeed = buf . get_f32_le () ; __struct . alt = buf . get_f32_le () ; __struct . climb = buf . get_f32_le () ; __struct . heading = buf . get_i16_le () ; __struct . throttle = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . airspeed) ; __tmp . put_f32_le (self . groundspeed) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . climb) ; __tmp . put_i16_le (self . heading) ; __tmp . put_u16_le (self . throttle) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAV_CONTROLLER_OUTPUT_DATA { pub nav_roll : f32 , pub nav_pitch : f32 , pub alt_error : f32 , pub aspd_error : f32 , pub xtrack_error : f32 , pub nav_bearing : i16 , pub target_bearing : i16 , pub wp_dist : u16 , } impl NAV_CONTROLLER_OUTPUT_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { nav_roll : 0.0_f32 , nav_pitch : 0.0_f32 , alt_error : 0.0_f32 , aspd_error : 0.0_f32 , xtrack_error : 0.0_f32 , nav_bearing : 0_i16 , target_bearing : 0_i16 , wp_dist : 0_u16 , } ; } impl Default for NAV_CONTROLLER_OUTPUT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAV_CONTROLLER_OUTPUT_DATA { type Message = MavMessage ; const ID : u32 = 62u32 ; const NAME : & 'static str = "NAV_CONTROLLER_OUTPUT" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . nav_roll = buf . get_f32_le () ; __struct . nav_pitch = buf . get_f32_le () ; __struct . alt_error = buf . get_f32_le () ; __struct . aspd_error = buf . get_f32_le () ; __struct . xtrack_error = buf . get_f32_le () ; __struct . nav_bearing = buf . get_i16_le () ; __struct . target_bearing = buf . get_i16_le () ; __struct . wp_dist = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . nav_roll) ; __tmp . put_f32_le (self . nav_pitch) ; __tmp . put_f32_le (self . alt_error) ; __tmp . put_f32_le (self . aspd_error) ; __tmp . put_f32_le (self . xtrack_error) ; __tmp . put_i16_le (self . nav_bearing) ; __tmp . put_i16_le (self . target_bearing) ; __tmp . put_u16_le (self . wp_dist) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_BASIC_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub id_type : MavOdidIdType , pub ua_type : MavOdidUaType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uas_id : [u8 ; 20] , } impl OPEN_DRONE_ID_BASIC_ID_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , id_type : MavOdidIdType :: DEFAULT , ua_type : MavOdidUaType :: DEFAULT , uas_id : [0_u8 ; 20usize] , } ; } impl Default for OPEN_DRONE_ID_BASIC_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_BASIC_ID_DATA { type Message = MavMessage ; const ID : u32 = 12900u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_BASIC_ID" ; const EXTRA_CRC : u8 = 114u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . id_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidIdType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . ua_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidUaType" , value : tmp as u32 }) ? ; for v in & mut __struct . uas_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . id_type as u8) ; __tmp . put_u8 (self . ua_type as u8) ; for val in & self . uas_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EVENT_DATA { pub id : u32 , pub event_time_boot_ms : u32 , pub sequence : u16 , pub destination_component : u8 , pub destination_system : u8 , pub log_levels : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub arguments : [u8 ; 40] , } impl EVENT_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { id : 0_u32 , event_time_boot_ms : 0_u32 , sequence : 0_u16 , destination_component : 0_u8 , destination_system : 0_u8 , log_levels : 0_u8 , arguments : [0_u8 ; 40usize] , } ; } impl Default for EVENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EVENT_DATA { type Message = MavMessage ; const ID : u32 = 410u32 ; const NAME : & 'static str = "EVENT" ; const EXTRA_CRC : u8 = 160u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . event_time_boot_ms = buf . get_u32_le () ; __struct . sequence = buf . get_u16_le () ; __struct . destination_component = buf . get_u8 () ; __struct . destination_system = buf . get_u8 () ; __struct . log_levels = buf . get_u8 () ; for v in & mut __struct . arguments { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u32_le (self . event_time_boot_ms) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . destination_component) ; __tmp . put_u8 (self . destination_system) ; __tmp . put_u8 (self . log_levels) ; for val in & self . arguments { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_INFORMATION_DATA { pub time_boot_ms : u32 , pub firmware_version : u32 , pub focal_length : f32 , pub sensor_size_h : f32 , pub sensor_size_v : f32 , pub flags : CameraCapFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub cam_definition_version : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vendor_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub model_name : [u8 ; 32] , pub lens_id : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cam_definition_uri : [u8 ; 140] , } impl CAMERA_INFORMATION_DATA { pub const ENCODED_LEN : usize = 235usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , firmware_version : 0_u32 , focal_length : 0.0_f32 , sensor_size_h : 0.0_f32 , sensor_size_v : 0.0_f32 , flags : CameraCapFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , cam_definition_version : 0_u16 , vendor_name : [0_u8 ; 32usize] , model_name : [0_u8 ; 32usize] , lens_id : 0_u8 , cam_definition_uri : [0_u8 ; 140usize] , } ; } impl Default for CAMERA_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 259u32 ; const NAME : & 'static str = "CAMERA_INFORMATION" ; const EXTRA_CRC : u8 = 92u8 ; const ENCODED_LEN : usize = 235usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . firmware_version = buf . get_u32_le () ; __struct . focal_length = buf . get_f32_le () ; __struct . sensor_size_h = buf . get_f32_le () ; __struct . sensor_size_v = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . flags = CameraCapFlags :: from_bits (tmp & CameraCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "CameraCapFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . cam_definition_version = buf . get_u16_le () ; for v in & mut __struct . vendor_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . model_name { let val = buf . get_u8 () ; * v = val ; } __struct . lens_id = buf . get_u8 () ; for v in & mut __struct . cam_definition_uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . firmware_version) ; __tmp . put_f32_le (self . focal_length) ; __tmp . put_f32_le (self . sensor_size_h) ; __tmp . put_f32_le (self . sensor_size_v) ; __tmp . put_u32_le (self . flags . bits ()) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . cam_definition_version) ; for val in & self . vendor_name { __tmp . put_u8 (* val) ; } for val in & self . model_name { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . lens_id) ; for val in & self . cam_definition_uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl PARAM_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PARAM_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 21u32 ; const NAME : & 'static str = "PARAM_REQUEST_LIST" ; const EXTRA_CRC : u8 = 159u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WHEEL_DISTANCE_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub distance : [f64 ; 16] , pub count : u8 , } impl WHEEL_DISTANCE_DATA { pub const ENCODED_LEN : usize = 137usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , distance : [0.0_f64 ; 16usize] , count : 0_u8 , } ; } impl Default for WHEEL_DISTANCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WHEEL_DISTANCE_DATA { type Message = MavMessage ; const ID : u32 = 9000u32 ; const NAME : & 'static str = "WHEEL_DISTANCE" ; const EXTRA_CRC : u8 = 113u8 ; const ENCODED_LEN : usize = 137usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . distance { let val = buf . get_f64_le () ; * v = val ; } __struct . count = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . distance { __tmp . put_f64_le (* val) ; } __tmp . put_u8 (self . count) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CHANGE_OPERATOR_CONTROL_DATA { pub target_system : u8 , pub control_request : u8 , pub version : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub passkey : [u8 ; 25] , } impl CHANGE_OPERATOR_CONTROL_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , control_request : 0_u8 , version : 0_u8 , passkey : [0_u8 ; 25usize] , } ; } impl Default for CHANGE_OPERATOR_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CHANGE_OPERATOR_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 5u32 ; const NAME : & 'static str = "CHANGE_OPERATOR_CONTROL" ; const EXTRA_CRC : u8 = 217u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . control_request = buf . get_u8 () ; __struct . version = buf . get_u8 () ; for v in & mut __struct . passkey { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . control_request) ; __tmp . put_u8 (self . version) ; for val in & self . passkey { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVCAN_NODE_STATUS_DATA { pub time_usec : u64 , pub uptime_sec : u32 , pub vendor_specific_status_code : u16 , pub health : UavcanNodeHealth , pub mode : UavcanNodeMode , pub sub_mode : u8 , } impl UAVCAN_NODE_STATUS_DATA { pub const ENCODED_LEN : usize = 17usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime_sec : 0_u32 , vendor_specific_status_code : 0_u16 , health : UavcanNodeHealth :: DEFAULT , mode : UavcanNodeMode :: DEFAULT , sub_mode : 0_u8 , } ; } impl Default for UAVCAN_NODE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVCAN_NODE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 310u32 ; const NAME : & 'static str = "UAVCAN_NODE_STATUS" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 17usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime_sec = buf . get_u32_le () ; __struct . vendor_specific_status_code = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . health = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavcanNodeHealth" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavcanNodeMode" , value : tmp as u32 }) ? ; __struct . sub_mode = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime_sec) ; __tmp . put_u16_le (self . vendor_specific_status_code) ; __tmp . put_u8 (self . health as u8) ; __tmp . put_u8 (self . mode as u8) ; __tmp . put_u8 (self . sub_mode) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_SET_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , } impl PARAM_EXT_SET_DATA { pub const ENCODED_LEN : usize = 147usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , } ; } impl Default for PARAM_EXT_SET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_SET_DATA { type Message = MavMessage ; const ID : u32 = 323u32 ; const NAME : & 'static str = "PARAM_EXT_SET" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 147usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SYSTEM_DATA { pub operator_latitude : i32 , pub operator_longitude : i32 , pub area_ceiling : f32 , pub area_floor : f32 , pub operator_altitude_geo : f32 , pub timestamp : u32 , pub area_count : u16 , pub area_radius : u16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub operator_location_type : MavOdidOperatorLocationType , pub classification_type : MavOdidClassificationType , pub category_eu : MavOdidCategoryEu , pub class_eu : MavOdidClassEu , } impl OPEN_DRONE_ID_SYSTEM_DATA { pub const ENCODED_LEN : usize = 54usize ; pub const DEFAULT : Self = Self { operator_latitude : 0_i32 , operator_longitude : 0_i32 , area_ceiling : 0.0_f32 , area_floor : 0.0_f32 , operator_altitude_geo : 0.0_f32 , timestamp : 0_u32 , area_count : 0_u16 , area_radius : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , operator_location_type : MavOdidOperatorLocationType :: DEFAULT , classification_type : MavOdidClassificationType :: DEFAULT , category_eu : MavOdidCategoryEu :: DEFAULT , class_eu : MavOdidClassEu :: DEFAULT , } ; } impl Default for OPEN_DRONE_ID_SYSTEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SYSTEM_DATA { type Message = MavMessage ; const ID : u32 = 12904u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SYSTEM" ; const EXTRA_CRC : u8 = 77u8 ; const ENCODED_LEN : usize = 54usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . operator_latitude = buf . get_i32_le () ; __struct . operator_longitude = buf . get_i32_le () ; __struct . area_ceiling = buf . get_f32_le () ; __struct . area_floor = buf . get_f32_le () ; __struct . operator_altitude_geo = buf . get_f32_le () ; __struct . timestamp = buf . get_u32_le () ; __struct . area_count = buf . get_u16_le () ; __struct . area_radius = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . operator_location_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidOperatorLocationType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . classification_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidClassificationType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . category_eu = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidCategoryEu" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . class_eu = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidClassEu" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . operator_latitude) ; __tmp . put_i32_le (self . operator_longitude) ; __tmp . put_f32_le (self . area_ceiling) ; __tmp . put_f32_le (self . area_floor) ; __tmp . put_f32_le (self . operator_altitude_geo) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u16_le (self . area_count) ; __tmp . put_u16_le (self . area_radius) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . operator_location_type as u8) ; __tmp . put_u8 (self . classification_type as u8) ; __tmp . put_u8 (self . category_eu as u8) ; __tmp . put_u8 (self . class_eu as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_PARTIAL_LIST_DATA { pub start_index : i16 , pub end_index : i16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_PARTIAL_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start_index : 0_i16 , end_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_PARTIAL_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_PARTIAL_LIST_DATA { type Message = MavMessage ; const ID : u32 = 37u32 ; const NAME : & 'static str = "MISSION_REQUEST_PARTIAL_LIST" ; const EXTRA_CRC : u8 = 212u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start_index = buf . get_i16_le () ; __struct . end_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . start_index) ; __tmp . put_i16_le (self . end_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SMART_BATTERY_INFO_DATA { pub capacity_full_specification : i32 , pub capacity_full : i32 , pub cycle_count : u16 , pub weight : u16 , pub discharge_minimum_voltage : u16 , pub charging_minimum_voltage : u16 , pub resting_minimum_voltage : u16 , pub id : u8 , pub battery_function : MavBatteryFunction , pub mavtype : MavBatteryType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub serial_number : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub device_name : [u8 ; 50] , } impl SMART_BATTERY_INFO_DATA { pub const ENCODED_LEN : usize = 87usize ; pub const DEFAULT : Self = Self { capacity_full_specification : 0_i32 , capacity_full : 0_i32 , cycle_count : 0_u16 , weight : 0_u16 , discharge_minimum_voltage : 0_u16 , charging_minimum_voltage : 0_u16 , resting_minimum_voltage : 0_u16 , id : 0_u8 , battery_function : MavBatteryFunction :: DEFAULT , mavtype : MavBatteryType :: DEFAULT , serial_number : [0_u8 ; 16usize] , device_name : [0_u8 ; 50usize] , } ; } impl Default for SMART_BATTERY_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SMART_BATTERY_INFO_DATA { type Message = MavMessage ; const ID : u32 = 370u32 ; const NAME : & 'static str = "SMART_BATTERY_INFO" ; const EXTRA_CRC : u8 = 75u8 ; const ENCODED_LEN : usize = 87usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . capacity_full_specification = buf . get_i32_le () ; __struct . capacity_full = buf . get_i32_le () ; __struct . cycle_count = buf . get_u16_le () ; __struct . weight = buf . get_u16_le () ; __struct . discharge_minimum_voltage = buf . get_u16_le () ; __struct . charging_minimum_voltage = buf . get_u16_le () ; __struct . resting_minimum_voltage = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . battery_function = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryFunction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryType" , value : tmp as u32 }) ? ; for v in & mut __struct . serial_number { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . device_name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . capacity_full_specification) ; __tmp . put_i32_le (self . capacity_full) ; __tmp . put_u16_le (self . cycle_count) ; __tmp . put_u16_le (self . weight) ; __tmp . put_u16_le (self . discharge_minimum_voltage) ; __tmp . put_u16_le (self . charging_minimum_voltage) ; __tmp . put_u16_le (self . resting_minimum_voltage) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . battery_function as u8) ; __tmp . put_u8 (self . mavtype as u8) ; for val in & self . serial_number { __tmp . put_u8 (* val) ; } for val in & self . device_name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPTICAL_FLOW_RAD_DATA { pub time_usec : u64 , pub integration_time_us : u32 , pub integrated_x : f32 , pub integrated_y : f32 , pub integrated_xgyro : f32 , pub integrated_ygyro : f32 , pub integrated_zgyro : f32 , pub time_delta_distance_us : u32 , pub distance : f32 , pub temperature : i16 , pub sensor_id : u8 , pub quality : u8 , } impl OPTICAL_FLOW_RAD_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , integration_time_us : 0_u32 , integrated_x : 0.0_f32 , integrated_y : 0.0_f32 , integrated_xgyro : 0.0_f32 , integrated_ygyro : 0.0_f32 , integrated_zgyro : 0.0_f32 , time_delta_distance_us : 0_u32 , distance : 0.0_f32 , temperature : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for OPTICAL_FLOW_RAD_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPTICAL_FLOW_RAD_DATA { type Message = MavMessage ; const ID : u32 = 106u32 ; const NAME : & 'static str = "OPTICAL_FLOW_RAD" ; const EXTRA_CRC : u8 = 138u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . integration_time_us = buf . get_u32_le () ; __struct . integrated_x = buf . get_f32_le () ; __struct . integrated_y = buf . get_f32_le () ; __struct . integrated_xgyro = buf . get_f32_le () ; __struct . integrated_ygyro = buf . get_f32_le () ; __struct . integrated_zgyro = buf . get_f32_le () ; __struct . time_delta_distance_us = buf . get_u32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . integration_time_us) ; __tmp . put_f32_le (self . integrated_x) ; __tmp . put_f32_le (self . integrated_y) ; __tmp . put_f32_le (self . integrated_xgyro) ; __tmp . put_f32_le (self . integrated_ygyro) ; __tmp . put_f32_le (self . integrated_zgyro) ; __tmp . put_u32_le (self . time_delta_distance_us) ; __tmp . put_f32_le (self . distance) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_OPTICAL_FLOW_DATA { pub time_usec : u64 , pub integration_time_us : u32 , pub integrated_x : f32 , pub integrated_y : f32 , pub integrated_xgyro : f32 , pub integrated_ygyro : f32 , pub integrated_zgyro : f32 , pub time_delta_distance_us : u32 , pub distance : f32 , pub temperature : i16 , pub sensor_id : u8 , pub quality : u8 , } impl HIL_OPTICAL_FLOW_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , integration_time_us : 0_u32 , integrated_x : 0.0_f32 , integrated_y : 0.0_f32 , integrated_xgyro : 0.0_f32 , integrated_ygyro : 0.0_f32 , integrated_zgyro : 0.0_f32 , time_delta_distance_us : 0_u32 , distance : 0.0_f32 , temperature : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for HIL_OPTICAL_FLOW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_OPTICAL_FLOW_DATA { type Message = MavMessage ; const ID : u32 = 114u32 ; const NAME : & 'static str = "HIL_OPTICAL_FLOW" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . integration_time_us = buf . get_u32_le () ; __struct . integrated_x = buf . get_f32_le () ; __struct . integrated_y = buf . get_f32_le () ; __struct . integrated_xgyro = buf . get_f32_le () ; __struct . integrated_ygyro = buf . get_f32_le () ; __struct . integrated_zgyro = buf . get_f32_le () ; __struct . time_delta_distance_us = buf . get_u32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . integration_time_us) ; __tmp . put_f32_le (self . integrated_x) ; __tmp . put_f32_le (self . integrated_y) ; __tmp . put_f32_le (self . integrated_xgyro) ; __tmp . put_f32_le (self . integrated_ygyro) ; __tmp . put_f32_le (self . integrated_zgyro) ; __tmp . put_u32_le (self . time_delta_distance_us) ; __tmp . put_f32_le (self . distance) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_COV_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub ax : f32 , pub ay : f32 , pub az : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 45] , pub estimator_type : MavEstimatorType , } impl LOCAL_POSITION_NED_COV_DATA { pub const ENCODED_LEN : usize = 225usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , ax : 0.0_f32 , ay : 0.0_f32 , az : 0.0_f32 , covariance : [0.0_f32 ; 45usize] , estimator_type : MavEstimatorType :: DEFAULT , } ; } impl Default for LOCAL_POSITION_NED_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_COV_DATA { type Message = MavMessage ; const ID : u32 = 64u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED_COV" ; const EXTRA_CRC : u8 = 191u8 ; const ENCODED_LEN : usize = 225usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . ax = buf . get_f32_le () ; __struct . ay = buf . get_f32_le () ; __struct . az = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . estimator_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEstimatorType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . ax) ; __tmp . put_f32_le (self . ay) ; __tmp . put_f32_le (self . az) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . estimator_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BATTERY_STATUS_DATA { pub current_consumed : i32 , pub energy_consumed : i32 , pub temperature : i16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltages : [u16 ; 10] , pub current_battery : i16 , pub id : u8 , pub battery_function : MavBatteryFunction , pub mavtype : MavBatteryType , pub battery_remaining : i8 , } impl BATTERY_STATUS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { current_consumed : 0_i32 , energy_consumed : 0_i32 , temperature : 0_i16 , voltages : [0_u16 ; 10usize] , current_battery : 0_i16 , id : 0_u8 , battery_function : MavBatteryFunction :: DEFAULT , mavtype : MavBatteryType :: DEFAULT , battery_remaining : 0_i8 , } ; } impl Default for BATTERY_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BATTERY_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 147u32 ; const NAME : & 'static str = "BATTERY_STATUS" ; const EXTRA_CRC : u8 = 154u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . current_consumed = buf . get_i32_le () ; __struct . energy_consumed = buf . get_i32_le () ; __struct . temperature = buf . get_i16_le () ; for v in & mut __struct . voltages { let val = buf . get_u16_le () ; * v = val ; } __struct . current_battery = buf . get_i16_le () ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . battery_function = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryFunction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryType" , value : tmp as u32 }) ? ; __struct . battery_remaining = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . current_consumed) ; __tmp . put_i32_le (self . energy_consumed) ; __tmp . put_i16_le (self . temperature) ; for val in & self . voltages { __tmp . put_u16_le (* val) ; } __tmp . put_i16_le (self . current_battery) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . battery_function as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_i8 (self . battery_remaining) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_POSITION_INT_DATA { pub time_boot_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub hdg : u16 , } impl GLOBAL_POSITION_INT_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , hdg : 0_u16 , } ; } impl Default for GLOBAL_POSITION_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_POSITION_INT_DATA { type Message = MavMessage ; const ID : u32 = 33u32 ; const NAME : & 'static str = "GLOBAL_POSITION_INT" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . hdg = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . hdg) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MOUNT_ORIENTATION_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl MOUNT_ORIENTATION_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for MOUNT_ORIENTATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MOUNT_ORIENTATION_DATA { type Message = MavMessage ; const ID : u32 = 265u32 ; const NAME : & 'static str = "MOUNT_ORIENTATION" ; const EXTRA_CRC : u8 = 26u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : f32 , pub y : f32 , pub z : f32 , pub seq : u16 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl MISSION_ITEM_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , seq : 0_u16 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for MISSION_ITEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_DATA { type Message = MavMessage ; const ID : u32 = 39u32 ; const NAME : & 'static str = "MISSION_ITEM" ; const EXTRA_CRC : u8 = 254u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . seq = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RTK_DATA { pub time_last_baseline_ms : u32 , pub tow : u32 , pub baseline_a_mm : i32 , pub baseline_b_mm : i32 , pub baseline_c_mm : i32 , pub accuracy : u32 , pub iar_num_hypotheses : i32 , pub wn : u16 , pub rtk_receiver_id : u8 , pub rtk_health : u8 , pub rtk_rate : u8 , pub nsats : u8 , pub baseline_coords_type : RtkBaselineCoordinateSystem , } impl GPS_RTK_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_last_baseline_ms : 0_u32 , tow : 0_u32 , baseline_a_mm : 0_i32 , baseline_b_mm : 0_i32 , baseline_c_mm : 0_i32 , accuracy : 0_u32 , iar_num_hypotheses : 0_i32 , wn : 0_u16 , rtk_receiver_id : 0_u8 , rtk_health : 0_u8 , rtk_rate : 0_u8 , nsats : 0_u8 , baseline_coords_type : RtkBaselineCoordinateSystem :: DEFAULT , } ; } impl Default for GPS_RTK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RTK_DATA { type Message = MavMessage ; const ID : u32 = 127u32 ; const NAME : & 'static str = "GPS_RTK" ; const EXTRA_CRC : u8 = 25u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_last_baseline_ms = buf . get_u32_le () ; __struct . tow = buf . get_u32_le () ; __struct . baseline_a_mm = buf . get_i32_le () ; __struct . baseline_b_mm = buf . get_i32_le () ; __struct . baseline_c_mm = buf . get_i32_le () ; __struct . accuracy = buf . get_u32_le () ; __struct . iar_num_hypotheses = buf . get_i32_le () ; __struct . wn = buf . get_u16_le () ; __struct . rtk_receiver_id = buf . get_u8 () ; __struct . rtk_health = buf . get_u8 () ; __struct . rtk_rate = buf . get_u8 () ; __struct . nsats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . baseline_coords_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "RtkBaselineCoordinateSystem" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_last_baseline_ms) ; __tmp . put_u32_le (self . tow) ; __tmp . put_i32_le (self . baseline_a_mm) ; __tmp . put_i32_le (self . baseline_b_mm) ; __tmp . put_i32_le (self . baseline_c_mm) ; __tmp . put_u32_le (self . accuracy) ; __tmp . put_i32_le (self . iar_num_hypotheses) ; __tmp . put_u16_le (self . wn) ; __tmp . put_u8 (self . rtk_receiver_id) ; __tmp . put_u8 (self . rtk_health) ; __tmp . put_u8 (self . rtk_rate) ; __tmp . put_u8 (self . nsats) ; __tmp . put_u8 (self . baseline_coords_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGHRES_IMU_DATA { pub time_usec : u64 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub xmag : f32 , pub ymag : f32 , pub zmag : f32 , pub abs_pressure : f32 , pub diff_pressure : f32 , pub pressure_alt : f32 , pub temperature : f32 , pub fields_updated : HighresImuUpdatedFlags , } impl HIGHRES_IMU_DATA { pub const ENCODED_LEN : usize = 62usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , xmag : 0.0_f32 , ymag : 0.0_f32 , zmag : 0.0_f32 , abs_pressure : 0.0_f32 , diff_pressure : 0.0_f32 , pressure_alt : 0.0_f32 , temperature : 0.0_f32 , fields_updated : HighresImuUpdatedFlags :: DEFAULT , } ; } impl Default for HIGHRES_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGHRES_IMU_DATA { type Message = MavMessage ; const ID : u32 = 105u32 ; const NAME : & 'static str = "HIGHRES_IMU" ; const EXTRA_CRC : u8 = 93u8 ; const ENCODED_LEN : usize = 62usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . xmag = buf . get_f32_le () ; __struct . ymag = buf . get_f32_le () ; __struct . zmag = buf . get_f32_le () ; __struct . abs_pressure = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . pressure_alt = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . fields_updated = HighresImuUpdatedFlags :: from_bits (tmp & HighresImuUpdatedFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HighresImuUpdatedFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . xmag) ; __tmp . put_f32_le (self . ymag) ; __tmp . put_f32_le (self . zmag) ; __tmp . put_f32_le (self . abs_pressure) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . pressure_alt) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u16_le (self . fields_updated . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RESOURCE_REQUEST_DATA { pub request_id : u8 , pub uri_type : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 120] , pub transfer_type : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage : [u8 ; 120] , } impl RESOURCE_REQUEST_DATA { pub const ENCODED_LEN : usize = 243usize ; pub const DEFAULT : Self = Self { request_id : 0_u8 , uri_type : 0_u8 , uri : [0_u8 ; 120usize] , transfer_type : 0_u8 , storage : [0_u8 ; 120usize] , } ; } impl Default for RESOURCE_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RESOURCE_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 142u32 ; const NAME : & 'static str = "RESOURCE_REQUEST" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 243usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u8 () ; __struct . uri_type = buf . get_u8 () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } __struct . transfer_type = buf . get_u8 () ; for v in & mut __struct . storage { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . request_id) ; __tmp . put_u8 (self . uri_type) ; for val in & self . uri { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . transfer_type) ; for val in & self . storage { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CONTROL_SYSTEM_STATE_DATA { pub time_usec : u64 , pub x_acc : f32 , pub y_acc : f32 , pub z_acc : f32 , pub x_vel : f32 , pub y_vel : f32 , pub z_vel : f32 , pub x_pos : f32 , pub y_pos : f32 , pub z_pos : f32 , pub airspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_variance : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_variance : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub roll_rate : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , } impl CONTROL_SYSTEM_STATE_DATA { pub const ENCODED_LEN : usize = 100usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x_acc : 0.0_f32 , y_acc : 0.0_f32 , z_acc : 0.0_f32 , x_vel : 0.0_f32 , y_vel : 0.0_f32 , z_vel : 0.0_f32 , x_pos : 0.0_f32 , y_pos : 0.0_f32 , z_pos : 0.0_f32 , airspeed : 0.0_f32 , vel_variance : [0.0_f32 ; 3usize] , pos_variance : [0.0_f32 ; 3usize] , q : [0.0_f32 ; 4usize] , roll_rate : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , } ; } impl Default for CONTROL_SYSTEM_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CONTROL_SYSTEM_STATE_DATA { type Message = MavMessage ; const ID : u32 = 146u32 ; const NAME : & 'static str = "CONTROL_SYSTEM_STATE" ; const EXTRA_CRC : u8 = 103u8 ; const ENCODED_LEN : usize = 100usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x_acc = buf . get_f32_le () ; __struct . y_acc = buf . get_f32_le () ; __struct . z_acc = buf . get_f32_le () ; __struct . x_vel = buf . get_f32_le () ; __struct . y_vel = buf . get_f32_le () ; __struct . z_vel = buf . get_f32_le () ; __struct . x_pos = buf . get_f32_le () ; __struct . y_pos = buf . get_f32_le () ; __struct . z_pos = buf . get_f32_le () ; __struct . airspeed = buf . get_f32_le () ; for v in & mut __struct . vel_variance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_variance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . roll_rate = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x_acc) ; __tmp . put_f32_le (self . y_acc) ; __tmp . put_f32_le (self . z_acc) ; __tmp . put_f32_le (self . x_vel) ; __tmp . put_f32_le (self . y_vel) ; __tmp . put_f32_le (self . z_vel) ; __tmp . put_f32_le (self . x_pos) ; __tmp . put_f32_le (self . y_pos) ; __tmp . put_f32_le (self . z_pos) ; __tmp . put_f32_le (self . airspeed) ; for val in & self . vel_variance { __tmp . put_f32_le (* val) ; } for val in & self . pos_variance { __tmp . put_f32_le (* val) ; } for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . roll_rate) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_INFORMATION_DATA { pub uid : u64 , pub time_boot_ms : u32 , pub firmware_version : u32 , pub hardware_version : u32 , pub roll_min : f32 , pub roll_max : f32 , pub pitch_min : f32 , pub pitch_max : f32 , pub yaw_min : f32 , pub yaw_max : f32 , pub cap_flags : GimbalDeviceCapFlags , pub custom_cap_flags : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vendor_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub model_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub custom_name : [u8 ; 32] , } impl GIMBAL_DEVICE_INFORMATION_DATA { pub const ENCODED_LEN : usize = 144usize ; pub const DEFAULT : Self = Self { uid : 0_u64 , time_boot_ms : 0_u32 , firmware_version : 0_u32 , hardware_version : 0_u32 , roll_min : 0.0_f32 , roll_max : 0.0_f32 , pitch_min : 0.0_f32 , pitch_max : 0.0_f32 , yaw_min : 0.0_f32 , yaw_max : 0.0_f32 , cap_flags : GimbalDeviceCapFlags :: DEFAULT , custom_cap_flags : 0_u16 , vendor_name : [0_u8 ; 32usize] , model_name : [0_u8 ; 32usize] , custom_name : [0_u8 ; 32usize] , } ; } impl Default for GIMBAL_DEVICE_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 283u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_INFORMATION" ; const EXTRA_CRC : u8 = 74u8 ; const ENCODED_LEN : usize = 144usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . uid = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . firmware_version = buf . get_u32_le () ; __struct . hardware_version = buf . get_u32_le () ; __struct . roll_min = buf . get_f32_le () ; __struct . roll_max = buf . get_f32_le () ; __struct . pitch_min = buf . get_f32_le () ; __struct . pitch_max = buf . get_f32_le () ; __struct . yaw_min = buf . get_f32_le () ; __struct . yaw_max = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . cap_flags = GimbalDeviceCapFlags :: from_bits (tmp & GimbalDeviceCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceCapFlags" , value : tmp as u32 }) ? ; __struct . custom_cap_flags = buf . get_u16_le () ; for v in & mut __struct . vendor_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . model_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . custom_name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . uid) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . firmware_version) ; __tmp . put_u32_le (self . hardware_version) ; __tmp . put_f32_le (self . roll_min) ; __tmp . put_f32_le (self . roll_max) ; __tmp . put_f32_le (self . pitch_min) ; __tmp . put_f32_le (self . pitch_max) ; __tmp . put_f32_le (self . yaw_min) ; __tmp . put_f32_le (self . yaw_max) ; __tmp . put_u16_le (self . cap_flags . bits ()) ; __tmp . put_u16_le (self . custom_cap_flags) ; for val in & self . vendor_name { __tmp . put_u8 (* val) ; } for val in & self . model_name { __tmp . put_u8 (* val) ; } for val in & self . custom_name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_VALUE_DATA { pub param_count : u16 , pub param_index : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , } impl PARAM_EXT_VALUE_DATA { pub const ENCODED_LEN : usize = 149usize ; pub const DEFAULT : Self = Self { param_count : 0_u16 , param_index : 0_u16 , param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , } ; } impl Default for PARAM_EXT_VALUE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_VALUE_DATA { type Message = MavMessage ; const ID : u32 = 322u32 ; const NAME : & 'static str = "PARAM_EXT_VALUE" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 149usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_count = buf . get_u16_le () ; __struct . param_index = buf . get_u16_le () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . param_count) ; __tmp . put_u16_le (self . param_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_IMU_DATA { pub time_usec : u64 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl RAW_IMU_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for RAW_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_IMU_DATA { type Message = MavMessage ; const ID : u32 = 27u32 ; const NAME : & 'static str = "RAW_IMU" ; const EXTRA_CRC : u8 = 144u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TUNNEL_DATA { pub payload_type : MavTunnelPayloadType , pub target_system : u8 , pub target_component : u8 , pub payload_length : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 128] , } impl TUNNEL_DATA { pub const ENCODED_LEN : usize = 133usize ; pub const DEFAULT : Self = Self { payload_type : MavTunnelPayloadType :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , payload_length : 0_u8 , payload : [0_u8 ; 128usize] , } ; } impl Default for TUNNEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TUNNEL_DATA { type Message = MavMessage ; const ID : u32 = 385u32 ; const NAME : & 'static str = "TUNNEL" ; const EXTRA_CRC : u8 = 147u8 ; const ENCODED_LEN : usize = 133usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . payload_type = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavTunnelPayloadType" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . payload_length = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . payload_type as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . payload_length) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS2_RTK_DATA { pub time_last_baseline_ms : u32 , pub tow : u32 , pub baseline_a_mm : i32 , pub baseline_b_mm : i32 , pub baseline_c_mm : i32 , pub accuracy : u32 , pub iar_num_hypotheses : i32 , pub wn : u16 , pub rtk_receiver_id : u8 , pub rtk_health : u8 , pub rtk_rate : u8 , pub nsats : u8 , pub baseline_coords_type : RtkBaselineCoordinateSystem , } impl GPS2_RTK_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_last_baseline_ms : 0_u32 , tow : 0_u32 , baseline_a_mm : 0_i32 , baseline_b_mm : 0_i32 , baseline_c_mm : 0_i32 , accuracy : 0_u32 , iar_num_hypotheses : 0_i32 , wn : 0_u16 , rtk_receiver_id : 0_u8 , rtk_health : 0_u8 , rtk_rate : 0_u8 , nsats : 0_u8 , baseline_coords_type : RtkBaselineCoordinateSystem :: DEFAULT , } ; } impl Default for GPS2_RTK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS2_RTK_DATA { type Message = MavMessage ; const ID : u32 = 128u32 ; const NAME : & 'static str = "GPS2_RTK" ; const EXTRA_CRC : u8 = 226u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_last_baseline_ms = buf . get_u32_le () ; __struct . tow = buf . get_u32_le () ; __struct . baseline_a_mm = buf . get_i32_le () ; __struct . baseline_b_mm = buf . get_i32_le () ; __struct . baseline_c_mm = buf . get_i32_le () ; __struct . accuracy = buf . get_u32_le () ; __struct . iar_num_hypotheses = buf . get_i32_le () ; __struct . wn = buf . get_u16_le () ; __struct . rtk_receiver_id = buf . get_u8 () ; __struct . rtk_health = buf . get_u8 () ; __struct . rtk_rate = buf . get_u8 () ; __struct . nsats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . baseline_coords_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "RtkBaselineCoordinateSystem" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_last_baseline_ms) ; __tmp . put_u32_le (self . tow) ; __tmp . put_i32_le (self . baseline_a_mm) ; __tmp . put_i32_le (self . baseline_b_mm) ; __tmp . put_i32_le (self . baseline_c_mm) ; __tmp . put_u32_le (self . accuracy) ; __tmp . put_i32_le (self . iar_num_hypotheses) ; __tmp . put_u16_le (self . wn) ; __tmp . put_u8 (self . rtk_receiver_id) ; __tmp . put_u8 (self . rtk_health) ; __tmp . put_u8 (self . rtk_rate) ; __tmp . put_u8 (self . nsats) ; __tmp . put_u8 (self . baseline_coords_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EFI_STATUS_DATA { pub ecu_index : f32 , pub rpm : f32 , pub fuel_consumed : f32 , pub fuel_flow : f32 , pub engine_load : f32 , pub throttle_position : f32 , pub spark_dwell_time : f32 , pub barometric_pressure : f32 , pub intake_manifold_pressure : f32 , pub intake_manifold_temperature : f32 , pub cylinder_head_temperature : f32 , pub ignition_timing : f32 , pub injection_time : f32 , pub exhaust_gas_temperature : f32 , pub throttle_out : f32 , pub pt_compensation : f32 , pub health : u8 , } impl EFI_STATUS_DATA { pub const ENCODED_LEN : usize = 65usize ; pub const DEFAULT : Self = Self { ecu_index : 0.0_f32 , rpm : 0.0_f32 , fuel_consumed : 0.0_f32 , fuel_flow : 0.0_f32 , engine_load : 0.0_f32 , throttle_position : 0.0_f32 , spark_dwell_time : 0.0_f32 , barometric_pressure : 0.0_f32 , intake_manifold_pressure : 0.0_f32 , intake_manifold_temperature : 0.0_f32 , cylinder_head_temperature : 0.0_f32 , ignition_timing : 0.0_f32 , injection_time : 0.0_f32 , exhaust_gas_temperature : 0.0_f32 , throttle_out : 0.0_f32 , pt_compensation : 0.0_f32 , health : 0_u8 , } ; } impl Default for EFI_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EFI_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 225u32 ; const NAME : & 'static str = "EFI_STATUS" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 65usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ecu_index = buf . get_f32_le () ; __struct . rpm = buf . get_f32_le () ; __struct . fuel_consumed = buf . get_f32_le () ; __struct . fuel_flow = buf . get_f32_le () ; __struct . engine_load = buf . get_f32_le () ; __struct . throttle_position = buf . get_f32_le () ; __struct . spark_dwell_time = buf . get_f32_le () ; __struct . barometric_pressure = buf . get_f32_le () ; __struct . intake_manifold_pressure = buf . get_f32_le () ; __struct . intake_manifold_temperature = buf . get_f32_le () ; __struct . cylinder_head_temperature = buf . get_f32_le () ; __struct . ignition_timing = buf . get_f32_le () ; __struct . injection_time = buf . get_f32_le () ; __struct . exhaust_gas_temperature = buf . get_f32_le () ; __struct . throttle_out = buf . get_f32_le () ; __struct . pt_compensation = buf . get_f32_le () ; __struct . health = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . ecu_index) ; __tmp . put_f32_le (self . rpm) ; __tmp . put_f32_le (self . fuel_consumed) ; __tmp . put_f32_le (self . fuel_flow) ; __tmp . put_f32_le (self . engine_load) ; __tmp . put_f32_le (self . throttle_position) ; __tmp . put_f32_le (self . spark_dwell_time) ; __tmp . put_f32_le (self . barometric_pressure) ; __tmp . put_f32_le (self . intake_manifold_pressure) ; __tmp . put_f32_le (self . intake_manifold_temperature) ; __tmp . put_f32_le (self . cylinder_head_temperature) ; __tmp . put_f32_le (self . ignition_timing) ; __tmp . put_f32_le (self . injection_time) ; __tmp . put_f32_le (self . exhaust_gas_temperature) ; __tmp . put_f32_le (self . throttle_out) ; __tmp . put_f32_le (self . pt_compensation) ; __tmp . put_u8 (self . health) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_TARGET_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub body_roll_rate : f32 , pub body_pitch_rate : f32 , pub body_yaw_rate : f32 , pub thrust : f32 , pub type_mask : AttitudeTargetTypemask , } impl ATTITUDE_TARGET_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , body_roll_rate : 0.0_f32 , body_pitch_rate : 0.0_f32 , body_yaw_rate : 0.0_f32 , thrust : 0.0_f32 , type_mask : AttitudeTargetTypemask :: DEFAULT , } ; } impl Default for ATTITUDE_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 83u32 ; const NAME : & 'static str = "ATTITUDE_TARGET" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . body_roll_rate = buf . get_f32_le () ; __struct . body_pitch_rate = buf . get_f32_le () ; __struct . body_yaw_rate = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . type_mask = AttitudeTargetTypemask :: from_bits (tmp & AttitudeTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AttitudeTargetTypemask" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . body_roll_rate) ; __tmp . put_f32_le (self . body_pitch_rate) ; __tmp . put_f32_le (self . body_yaw_rate) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . type_mask . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_INJECT_DATA_DATA { pub target_system : u8 , pub target_component : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 110] , } impl GPS_INJECT_DATA_DATA { pub const ENCODED_LEN : usize = 113usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , len : 0_u8 , data : [0_u8 ; 110usize] , } ; } impl Default for GPS_INJECT_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_INJECT_DATA_DATA { type Message = MavMessage ; const ID : u32 = 123u32 ; const NAME : & 'static str = "GPS_INJECT_DATA" ; const EXTRA_CRC : u8 = 250u8 ; const ENCODED_LEN : usize = 113usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CELLULAR_CONFIG_DATA { pub enable_lte : u8 , pub enable_pin : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pin : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub new_pin : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub apn : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub puk : [u8 ; 16] , pub roaming : u8 , pub response : CellularConfigResponse , } impl CELLULAR_CONFIG_DATA { pub const ENCODED_LEN : usize = 84usize ; pub const DEFAULT : Self = Self { enable_lte : 0_u8 , enable_pin : 0_u8 , pin : [0_u8 ; 16usize] , new_pin : [0_u8 ; 16usize] , apn : [0_u8 ; 32usize] , puk : [0_u8 ; 16usize] , roaming : 0_u8 , response : CellularConfigResponse :: DEFAULT , } ; } impl Default for CELLULAR_CONFIG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CELLULAR_CONFIG_DATA { type Message = MavMessage ; const ID : u32 = 336u32 ; const NAME : & 'static str = "CELLULAR_CONFIG" ; const EXTRA_CRC : u8 = 245u8 ; const ENCODED_LEN : usize = 84usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . enable_lte = buf . get_u8 () ; __struct . enable_pin = buf . get_u8 () ; for v in & mut __struct . pin { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . new_pin { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . apn { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . puk { let val = buf . get_u8 () ; * v = val ; } __struct . roaming = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . response = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularConfigResponse" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . enable_lte) ; __tmp . put_u8 (self . enable_pin) ; for val in & self . pin { __tmp . put_u8 (* val) ; } for val in & self . new_pin { __tmp . put_u8 (* val) ; } for val in & self . apn { __tmp . put_u8 (* val) ; } for val in & self . puk { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . roaming) ; __tmp . put_u8 (self . response as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EXTENDED_SYS_STATE_DATA { pub vtol_state : MavVtolState , pub landed_state : MavLandedState , } impl EXTENDED_SYS_STATE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { vtol_state : MavVtolState :: DEFAULT , landed_state : MavLandedState :: DEFAULT , } ; } impl Default for EXTENDED_SYS_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EXTENDED_SYS_STATE_DATA { type Message = MavMessage ; const ID : u32 = 245u32 ; const NAME : & 'static str = "EXTENDED_SYS_STATE" ; const EXTRA_CRC : u8 = 130u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . vtol_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavVtolState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . vtol_state as u8) ; __tmp . put_u8 (self . landed_state as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ONBOARD_COMPUTER_STATUS_DATA { pub time_usec : u64 , pub uptime : u32 , pub ram_usage : u32 , pub ram_total : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_type : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_usage : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_total : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_type : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_tx_rate : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_rx_rate : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_tx_max : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_rx_max : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub fan_speed : [i16 ; 4] , pub mavtype : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cpu_cores : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cpu_combined : [u8 ; 10] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub gpu_cores : [u8 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub gpu_combined : [u8 ; 10] , pub temperature_board : i8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature_core : [i8 ; 8] , } impl ONBOARD_COMPUTER_STATUS_DATA { pub const ENCODED_LEN : usize = 238usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime : 0_u32 , ram_usage : 0_u32 , ram_total : 0_u32 , storage_type : [0_u32 ; 4usize] , storage_usage : [0_u32 ; 4usize] , storage_total : [0_u32 ; 4usize] , link_type : [0_u32 ; 6usize] , link_tx_rate : [0_u32 ; 6usize] , link_rx_rate : [0_u32 ; 6usize] , link_tx_max : [0_u32 ; 6usize] , link_rx_max : [0_u32 ; 6usize] , fan_speed : [0_i16 ; 4usize] , mavtype : 0_u8 , cpu_cores : [0_u8 ; 8usize] , cpu_combined : [0_u8 ; 10usize] , gpu_cores : [0_u8 ; 4usize] , gpu_combined : [0_u8 ; 10usize] , temperature_board : 0_i8 , temperature_core : [0_i8 ; 8usize] , } ; } impl Default for ONBOARD_COMPUTER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ONBOARD_COMPUTER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 390u32 ; const NAME : & 'static str = "ONBOARD_COMPUTER_STATUS" ; const EXTRA_CRC : u8 = 156u8 ; const ENCODED_LEN : usize = 238usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime = buf . get_u32_le () ; __struct . ram_usage = buf . get_u32_le () ; __struct . ram_total = buf . get_u32_le () ; for v in & mut __struct . storage_type { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . storage_usage { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . storage_total { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_type { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_tx_rate { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_rx_rate { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_tx_max { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_rx_max { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . fan_speed { let val = buf . get_i16_le () ; * v = val ; } __struct . mavtype = buf . get_u8 () ; for v in & mut __struct . cpu_cores { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . cpu_combined { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . gpu_cores { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . gpu_combined { let val = buf . get_u8 () ; * v = val ; } __struct . temperature_board = buf . get_i8 () ; for v in & mut __struct . temperature_core { let val = buf . get_i8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime) ; __tmp . put_u32_le (self . ram_usage) ; __tmp . put_u32_le (self . ram_total) ; for val in & self . storage_type { __tmp . put_u32_le (* val) ; } for val in & self . storage_usage { __tmp . put_u32_le (* val) ; } for val in & self . storage_total { __tmp . put_u32_le (* val) ; } for val in & self . link_type { __tmp . put_u32_le (* val) ; } for val in & self . link_tx_rate { __tmp . put_u32_le (* val) ; } for val in & self . link_rx_rate { __tmp . put_u32_le (* val) ; } for val in & self . link_tx_max { __tmp . put_u32_le (* val) ; } for val in & self . link_rx_max { __tmp . put_u32_le (* val) ; } for val in & self . fan_speed { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . mavtype) ; for val in & self . cpu_cores { __tmp . put_u8 (* val) ; } for val in & self . cpu_combined { __tmp . put_u8 (* val) ; } for val in & self . gpu_cores { __tmp . put_u8 (* val) ; } for val in & self . gpu_combined { __tmp . put_u8 (* val) ; } __tmp . put_i8 (self . temperature_board) ; for val in & self . temperature_core { __tmp . put_i8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SETUP_SIGNING_DATA { pub initial_timestamp : u64 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub secret_key : [u8 ; 32] , } impl SETUP_SIGNING_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { initial_timestamp : 0_u64 , target_system : 0_u8 , target_component : 0_u8 , secret_key : [0_u8 ; 32usize] , } ; } impl Default for SETUP_SIGNING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SETUP_SIGNING_DATA { type Message = MavMessage ; const ID : u32 = 256u32 ; const NAME : & 'static str = "SETUP_SIGNING" ; const EXTRA_CRC : u8 = 71u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . initial_timestamp = buf . get_u64_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . secret_key { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . initial_timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . secret_key { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_MAP_RC_DATA { pub param_value0 : f32 , pub scale : f32 , pub param_value_min : f32 , pub param_value_max : f32 , pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub parameter_rc_channel_index : u8 , } impl PARAM_MAP_RC_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param_value0 : 0.0_f32 , scale : 0.0_f32 , param_value_min : 0.0_f32 , param_value_max : 0.0_f32 , param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , parameter_rc_channel_index : 0_u8 , } ; } impl Default for PARAM_MAP_RC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_MAP_RC_DATA { type Message = MavMessage ; const ID : u32 = 50u32 ; const NAME : & 'static str = "PARAM_MAP_RC" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value0 = buf . get_f32_le () ; __struct . scale = buf . get_f32_le () ; __struct . param_value_min = buf . get_f32_le () ; __struct . param_value_max = buf . get_f32_le () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } __struct . parameter_rc_channel_index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value0) ; __tmp . put_f32_le (self . scale) ; __tmp . put_f32_le (self . param_value_min) ; __tmp . put_f32_le (self . param_value_max) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . parameter_rc_channel_index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGH_LATENCY2_DATA { pub timestamp : u32 , pub latitude : i32 , pub longitude : i32 , pub custom_mode : u16 , pub altitude : i16 , pub target_altitude : i16 , pub target_distance : u16 , pub wp_num : u16 , pub failure_flags : HlFailureFlag , pub mavtype : MavType , pub autopilot : MavAutopilot , pub heading : u8 , pub target_heading : u8 , pub throttle : u8 , pub airspeed : u8 , pub airspeed_sp : u8 , pub groundspeed : u8 , pub windspeed : u8 , pub wind_heading : u8 , pub eph : u8 , pub epv : u8 , pub temperature_air : i8 , pub climb_rate : i8 , pub battery : i8 , pub custom0 : i8 , pub custom1 : i8 , pub custom2 : i8 , } impl HIGH_LATENCY2_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { timestamp : 0_u32 , latitude : 0_i32 , longitude : 0_i32 , custom_mode : 0_u16 , altitude : 0_i16 , target_altitude : 0_i16 , target_distance : 0_u16 , wp_num : 0_u16 , failure_flags : HlFailureFlag :: DEFAULT , mavtype : MavType :: DEFAULT , autopilot : MavAutopilot :: DEFAULT , heading : 0_u8 , target_heading : 0_u8 , throttle : 0_u8 , airspeed : 0_u8 , airspeed_sp : 0_u8 , groundspeed : 0_u8 , windspeed : 0_u8 , wind_heading : 0_u8 , eph : 0_u8 , epv : 0_u8 , temperature_air : 0_i8 , climb_rate : 0_i8 , battery : 0_i8 , custom0 : 0_i8 , custom1 : 0_i8 , custom2 : 0_i8 , } ; } impl Default for HIGH_LATENCY2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGH_LATENCY2_DATA { type Message = MavMessage ; const ID : u32 = 235u32 ; const NAME : & 'static str = "HIGH_LATENCY2" ; const EXTRA_CRC : u8 = 179u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u32_le () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . custom_mode = buf . get_u16_le () ; __struct . altitude = buf . get_i16_le () ; __struct . target_altitude = buf . get_i16_le () ; __struct . target_distance = buf . get_u16_le () ; __struct . wp_num = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . failure_flags = HlFailureFlag :: from_bits (tmp & HlFailureFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HlFailureFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . autopilot = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavAutopilot" , value : tmp as u32 }) ? ; __struct . heading = buf . get_u8 () ; __struct . target_heading = buf . get_u8 () ; __struct . throttle = buf . get_u8 () ; __struct . airspeed = buf . get_u8 () ; __struct . airspeed_sp = buf . get_u8 () ; __struct . groundspeed = buf . get_u8 () ; __struct . windspeed = buf . get_u8 () ; __struct . wind_heading = buf . get_u8 () ; __struct . eph = buf . get_u8 () ; __struct . epv = buf . get_u8 () ; __struct . temperature_air = buf . get_i8 () ; __struct . climb_rate = buf . get_i8 () ; __struct . battery = buf . get_i8 () ; __struct . custom0 = buf . get_i8 () ; __struct . custom1 = buf . get_i8 () ; __struct . custom2 = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_u16_le (self . custom_mode) ; __tmp . put_i16_le (self . altitude) ; __tmp . put_i16_le (self . target_altitude) ; __tmp . put_u16_le (self . target_distance) ; __tmp . put_u16_le (self . wp_num) ; __tmp . put_u16_le (self . failure_flags . bits ()) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . autopilot as u8) ; __tmp . put_u8 (self . heading) ; __tmp . put_u8 (self . target_heading) ; __tmp . put_u8 (self . throttle) ; __tmp . put_u8 (self . airspeed) ; __tmp . put_u8 (self . airspeed_sp) ; __tmp . put_u8 (self . groundspeed) ; __tmp . put_u8 (self . windspeed) ; __tmp . put_u8 (self . wind_heading) ; __tmp . put_u8 (self . eph) ; __tmp . put_u8 (self . epv) ; __tmp . put_i8 (self . temperature_air) ; __tmp . put_i8 (self . climb_rate) ; __tmp . put_i8 (self . battery) ; __tmp . put_i8 (self . custom0) ; __tmp . put_i8 (self . custom1) ; __tmp . put_i8 (self . custom2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU2_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU2_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU2_DATA { type Message = MavMessage ; const ID : u32 = 116u32 ; const NAME : & 'static str = "SCALED_IMU2" ; const EXTRA_CRC : u8 = 76u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POSITION_TARGET_GLOBAL_INT_DATA { pub time_boot_ms : u32 , pub lat_int : i32 , pub lon_int : i32 , pub alt : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub coordinate_frame : MavFrame , } impl POSITION_TARGET_GLOBAL_INT_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_int : 0_i32 , lon_int : 0_i32 , alt : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for POSITION_TARGET_GLOBAL_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POSITION_TARGET_GLOBAL_INT_DATA { type Message = MavMessage ; const ID : u32 = 87u32 ; const NAME : & 'static str = "POSITION_TARGET_GLOBAL_INT" ; const EXTRA_CRC : u8 = 150u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_int = buf . get_i32_le () ; __struct . lon_int = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_int) ; __tmp . put_i32_le (self . lon_int) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_yaw : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_yaw : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub command : [u16 ; 5] , pub valid_points : u8 , } impl TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { pub const ENCODED_LEN : usize = 239usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , pos_x : [0.0_f32 ; 5usize] , pos_y : [0.0_f32 ; 5usize] , pos_z : [0.0_f32 ; 5usize] , vel_x : [0.0_f32 ; 5usize] , vel_y : [0.0_f32 ; 5usize] , vel_z : [0.0_f32 ; 5usize] , acc_x : [0.0_f32 ; 5usize] , acc_y : [0.0_f32 ; 5usize] , acc_z : [0.0_f32 ; 5usize] , pos_yaw : [0.0_f32 ; 5usize] , vel_yaw : [0.0_f32 ; 5usize] , command : [0_u16 ; 5usize] , valid_points : 0_u8 , } ; } impl Default for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { type Message = MavMessage ; const ID : u32 = 332u32 ; const NAME : & 'static str = "TRAJECTORY_REPRESENTATION_WAYPOINTS" ; const EXTRA_CRC : u8 = 236u8 ; const ENCODED_LEN : usize = 239usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . pos_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_yaw { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_yaw { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . command { let val = buf . get_u16_le () ; * v = val ; } __struct . valid_points = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . pos_x { __tmp . put_f32_le (* val) ; } for val in & self . pos_y { __tmp . put_f32_le (* val) ; } for val in & self . pos_z { __tmp . put_f32_le (* val) ; } for val in & self . vel_x { __tmp . put_f32_le (* val) ; } for val in & self . vel_y { __tmp . put_f32_le (* val) ; } for val in & self . vel_z { __tmp . put_f32_le (* val) ; } for val in & self . acc_x { __tmp . put_f32_le (* val) ; } for val in & self . acc_y { __tmp . put_f32_le (* val) ; } for val in & self . acc_z { __tmp . put_f32_le (* val) ; } for val in & self . pos_yaw { __tmp . put_f32_le (* val) ; } for val in & self . vel_yaw { __tmp . put_f32_le (* val) ; } for val in & self . command { __tmp . put_u16_le (* val) ; } __tmp . put_u8 (self . valid_points) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIBRATION_DATA { pub time_usec : u64 , pub vibration_x : f32 , pub vibration_y : f32 , pub vibration_z : f32 , pub clipping_0 : u32 , pub clipping_1 : u32 , pub clipping_2 : u32 , } impl VIBRATION_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , vibration_x : 0.0_f32 , vibration_y : 0.0_f32 , vibration_z : 0.0_f32 , clipping_0 : 0_u32 , clipping_1 : 0_u32 , clipping_2 : 0_u32 , } ; } impl Default for VIBRATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIBRATION_DATA { type Message = MavMessage ; const ID : u32 = 241u32 ; const NAME : & 'static str = "VIBRATION" ; const EXTRA_CRC : u8 = 90u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . vibration_x = buf . get_f32_le () ; __struct . vibration_y = buf . get_f32_le () ; __struct . vibration_z = buf . get_f32_le () ; __struct . clipping_0 = buf . get_u32_le () ; __struct . clipping_1 = buf . get_u32_le () ; __struct . clipping_2 = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . vibration_x) ; __tmp . put_f32_le (self . vibration_y) ; __tmp . put_f32_le (self . vibration_z) ; __tmp . put_u32_le (self . clipping_0) ; __tmp . put_u32_le (self . clipping_1) ; __tmp . put_u32_le (self . clipping_2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_SENSOR_DATA { pub time_usec : u64 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub xmag : f32 , pub ymag : f32 , pub zmag : f32 , pub abs_pressure : f32 , pub diff_pressure : f32 , pub pressure_alt : f32 , pub temperature : f32 , pub fields_updated : HilSensorUpdatedFlags , } impl HIL_SENSOR_DATA { pub const ENCODED_LEN : usize = 64usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , xmag : 0.0_f32 , ymag : 0.0_f32 , zmag : 0.0_f32 , abs_pressure : 0.0_f32 , diff_pressure : 0.0_f32 , pressure_alt : 0.0_f32 , temperature : 0.0_f32 , fields_updated : HilSensorUpdatedFlags :: DEFAULT , } ; } impl Default for HIL_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 107u32 ; const NAME : & 'static str = "HIL_SENSOR" ; const EXTRA_CRC : u8 = 108u8 ; const ENCODED_LEN : usize = 64usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . xmag = buf . get_f32_le () ; __struct . ymag = buf . get_f32_le () ; __struct . zmag = buf . get_f32_le () ; __struct . abs_pressure = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . pressure_alt = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . fields_updated = HilSensorUpdatedFlags :: from_bits (tmp & HilSensorUpdatedFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HilSensorUpdatedFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . xmag) ; __tmp . put_f32_le (self . ymag) ; __tmp . put_f32_le (self . zmag) ; __tmp . put_f32_le (self . abs_pressure) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . pressure_alt) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u32_le (self . fields_updated . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WINCH_STATUS_DATA { pub time_usec : u64 , pub line_length : f32 , pub speed : f32 , pub tension : f32 , pub voltage : f32 , pub current : f32 , pub status : MavWinchStatusFlag , pub temperature : i16 , } impl WINCH_STATUS_DATA { pub const ENCODED_LEN : usize = 34usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , line_length : 0.0_f32 , speed : 0.0_f32 , tension : 0.0_f32 , voltage : 0.0_f32 , current : 0.0_f32 , status : MavWinchStatusFlag :: DEFAULT , temperature : 0_i16 , } ; } impl Default for WINCH_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WINCH_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 9005u32 ; const NAME : & 'static str = "WINCH_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 34usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . line_length = buf . get_f32_le () ; __struct . speed = buf . get_f32_le () ; __struct . tension = buf . get_f32_le () ; __struct . voltage = buf . get_f32_le () ; __struct . current = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . status = MavWinchStatusFlag :: from_bits (tmp & MavWinchStatusFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavWinchStatusFlag" , value : tmp as u32 }) ? ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . line_length) ; __tmp . put_f32_le (self . speed) ; __tmp . put_f32_le (self . tension) ; __tmp . put_f32_le (self . voltage) ; __tmp . put_f32_le (self . current) ; __tmp . put_u32_le (self . status . bits ()) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_MODE_DATA { pub custom_mode : u32 , pub target_system : u8 , pub base_mode : MavMode , } impl SET_MODE_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , target_system : 0_u8 , base_mode : MavMode :: DEFAULT , } ; } impl Default for SET_MODE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_MODE_DATA { type Message = MavMessage ; const ID : u32 = 11u32 ; const NAME : & 'static str = "SET_MODE" ; const EXTRA_CRC : u8 = 89u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . base_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMode" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . base_mode as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_PRESSURE_DATA { pub time_usec : u64 , pub press_abs : i16 , pub press_diff1 : i16 , pub press_diff2 : i16 , pub temperature : i16 , } impl RAW_PRESSURE_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , press_abs : 0_i16 , press_diff1 : 0_i16 , press_diff2 : 0_i16 , temperature : 0_i16 , } ; } impl Default for RAW_PRESSURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_PRESSURE_DATA { type Message = MavMessage ; const ID : u32 = 28u32 ; const NAME : & 'static str = "RAW_PRESSURE" ; const EXTRA_CRC : u8 = 67u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . press_abs = buf . get_i16_le () ; __struct . press_diff1 = buf . get_i16_le () ; __struct . press_diff2 = buf . get_i16_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i16_le (self . press_abs) ; __tmp . put_i16_le (self . press_diff1) ; __tmp . put_i16_le (self . press_diff2) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { pub time_boot_us : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub q_estimated_delay_us : u32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub v_estimated_delay_us : u32 , pub feed_forward_angular_velocity_z : f32 , pub estimator_status : EstimatorStatusFlags , pub target_system : u8 , pub target_component : u8 , pub landed_state : MavLandedState , } impl AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_us : 0_u64 , q : [0.0_f32 ; 4usize] , q_estimated_delay_us : 0_u32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , v_estimated_delay_us : 0_u32 , feed_forward_angular_velocity_z : 0.0_f32 , estimator_status : EstimatorStatusFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , landed_state : MavLandedState :: DEFAULT , } ; } impl Default for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { type Message = MavMessage ; const ID : u32 = 286u32 ; const NAME : & 'static str = "AUTOPILOT_STATE_FOR_GIMBAL_DEVICE" ; const EXTRA_CRC : u8 = 210u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_us = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . q_estimated_delay_us = buf . get_u32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . v_estimated_delay_us = buf . get_u32_le () ; __struct . feed_forward_angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . estimator_status = EstimatorStatusFlags :: from_bits (tmp & EstimatorStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EstimatorStatusFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_boot_us) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_u32_le (self . q_estimated_delay_us) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_u32_le (self . v_estimated_delay_us) ; __tmp . put_f32_le (self . feed_forward_angular_velocity_z) ; __tmp . put_u16_le (self . estimator_status . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . landed_state as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_DATA_DATA { pub ofs : u32 , pub id : u16 , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 90] , } impl LOG_DATA_DATA { pub const ENCODED_LEN : usize = 97usize ; pub const DEFAULT : Self = Self { ofs : 0_u32 , id : 0_u16 , count : 0_u8 , data : [0_u8 ; 90usize] , } ; } impl Default for LOG_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_DATA_DATA { type Message = MavMessage ; const ID : u32 = 120u32 ; const NAME : & 'static str = "LOG_DATA" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 97usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ofs = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ofs) ; __tmp . put_u16_le (self . id) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TIMESYNC_DATA { pub tc1 : i64 , pub ts1 : i64 , } impl TIMESYNC_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { tc1 : 0_i64 , ts1 : 0_i64 , } ; } impl Default for TIMESYNC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TIMESYNC_DATA { type Message = MavMessage ; const ID : u32 = 111u32 ; const NAME : & 'static str = "TIMESYNC" ; const EXTRA_CRC : u8 = 34u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . tc1 = buf . get_i64_le () ; __struct . ts1 = buf . get_i64_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i64_le (self . tc1) ; __tmp . put_i64_le (self . ts1) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_RAW_DATA { pub time_boot_ms : u32 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub port : u8 , pub rssi : u8 , } impl RC_CHANNELS_RAW_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , port : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_RAW_DATA { type Message = MavMessage ; const ID : u32 = 35u32 ; const NAME : & 'static str = "RC_CHANNELS_RAW" ; const EXTRA_CRC : u8 = 244u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . port = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u8 (self . port) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_INFORMATION_DATA { pub time_boot_ms : u32 , pub cap_flags : GimbalManagerCapFlags , pub roll_min : f32 , pub roll_max : f32 , pub pitch_min : f32 , pub pitch_max : f32 , pub yaw_min : f32 , pub yaw_max : f32 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_INFORMATION_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , cap_flags : GimbalManagerCapFlags :: DEFAULT , roll_min : 0.0_f32 , roll_max : 0.0_f32 , pitch_min : 0.0_f32 , pitch_max : 0.0_f32 , yaw_min : 0.0_f32 , yaw_max : 0.0_f32 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 280u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_INFORMATION" ; const EXTRA_CRC : u8 = 70u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u32_le () ; __struct . cap_flags = GimbalManagerCapFlags :: from_bits (tmp & GimbalManagerCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalManagerCapFlags" , value : tmp as u32 }) ? ; __struct . roll_min = buf . get_f32_le () ; __struct . roll_max = buf . get_f32_le () ; __struct . pitch_min = buf . get_f32_le () ; __struct . pitch_max = buf . get_f32_le () ; __struct . yaw_min = buf . get_f32_le () ; __struct . yaw_max = buf . get_f32_le () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . cap_flags . bits ()) ; __tmp . put_f32_le (self . roll_min) ; __tmp . put_f32_le (self . roll_max) ; __tmp . put_f32_le (self . pitch_min) ; __tmp . put_f32_le (self . pitch_max) ; __tmp . put_f32_le (self . yaw_min) ; __tmp . put_f32_le (self . yaw_max) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_OPERATOR_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub operator_id_type : MavOdidOperatorIdType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub operator_id : [u8 ; 20] , } impl OPEN_DRONE_ID_OPERATOR_ID_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , operator_id_type : MavOdidOperatorIdType :: DEFAULT , operator_id : [0_u8 ; 20usize] , } ; } impl Default for OPEN_DRONE_ID_OPERATOR_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_OPERATOR_ID_DATA { type Message = MavMessage ; const ID : u32 = 12905u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_OPERATOR_ID" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . operator_id_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidOperatorIdType" , value : tmp as u32 }) ? ; for v in & mut __struct . operator_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . operator_id_type as u8) ; for val in & self . operator_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_VALUE_DATA { pub param_value : f32 , pub param_count : u16 , pub param_index : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub param_type : MavParamType , } impl PARAM_VALUE_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { param_value : 0.0_f32 , param_count : 0_u16 , param_index : 0_u16 , param_id : [0_u8 ; 16usize] , param_type : MavParamType :: DEFAULT , } ; } impl Default for PARAM_VALUE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_VALUE_DATA { type Message = MavMessage ; const ID : u32 = 22u32 ; const NAME : & 'static str = "PARAM_VALUE" ; const EXTRA_CRC : u8 = 220u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value = buf . get_f32_le () ; __struct . param_count = buf . get_u16_le () ; __struct . param_index = buf . get_u16_le () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value) ; __tmp . put_u16_le (self . param_count) ; __tmp . put_u16_le (self . param_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_CONTROLS_DATA { pub time_usec : u64 , pub roll_ailerons : f32 , pub pitch_elevator : f32 , pub yaw_rudder : f32 , pub throttle : f32 , pub aux1 : f32 , pub aux2 : f32 , pub aux3 : f32 , pub aux4 : f32 , pub mode : MavMode , pub nav_mode : u8 , } impl HIL_CONTROLS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , roll_ailerons : 0.0_f32 , pitch_elevator : 0.0_f32 , yaw_rudder : 0.0_f32 , throttle : 0.0_f32 , aux1 : 0.0_f32 , aux2 : 0.0_f32 , aux3 : 0.0_f32 , aux4 : 0.0_f32 , mode : MavMode :: DEFAULT , nav_mode : 0_u8 , } ; } impl Default for HIL_CONTROLS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_CONTROLS_DATA { type Message = MavMessage ; const ID : u32 = 91u32 ; const NAME : & 'static str = "HIL_CONTROLS" ; const EXTRA_CRC : u8 = 63u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . roll_ailerons = buf . get_f32_le () ; __struct . pitch_elevator = buf . get_f32_le () ; __struct . yaw_rudder = buf . get_f32_le () ; __struct . throttle = buf . get_f32_le () ; __struct . aux1 = buf . get_f32_le () ; __struct . aux2 = buf . get_f32_le () ; __struct . aux3 = buf . get_f32_le () ; __struct . aux4 = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMode" , value : tmp as u32 }) ? ; __struct . nav_mode = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . roll_ailerons) ; __tmp . put_f32_le (self . pitch_elevator) ; __tmp . put_f32_le (self . yaw_rudder) ; __tmp . put_f32_le (self . throttle) ; __tmp . put_f32_le (self . aux1) ; __tmp . put_f32_le (self . aux2) ; __tmp . put_f32_le (self . aux3) ; __tmp . put_f32_le (self . aux4) ; __tmp . put_u8 (self . mode as u8) ; __tmp . put_u8 (self . nav_mode) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_SET_ATTITUDE_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub flags : GimbalDeviceFlags , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_DEVICE_SET_ATTITUDE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , flags : GimbalDeviceFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_DEVICE_SET_ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_SET_ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 284u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_SET_ATTITUDE" ; const EXTRA_CRC : u8 = 99u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = GimbalDeviceFlags :: from_bits (tmp & GimbalDeviceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ADSB_VEHICLE_DATA { pub ICAO_address : u32 , pub lat : i32 , pub lon : i32 , pub altitude : i32 , pub heading : u16 , pub hor_velocity : u16 , pub ver_velocity : i16 , pub flags : AdsbFlags , pub squawk : u16 , pub altitude_type : AdsbAltitudeType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 9] , pub emitter_type : AdsbEmitterType , pub tslc : u8 , } impl ADSB_VEHICLE_DATA { pub const ENCODED_LEN : usize = 38usize ; pub const DEFAULT : Self = Self { ICAO_address : 0_u32 , lat : 0_i32 , lon : 0_i32 , altitude : 0_i32 , heading : 0_u16 , hor_velocity : 0_u16 , ver_velocity : 0_i16 , flags : AdsbFlags :: DEFAULT , squawk : 0_u16 , altitude_type : AdsbAltitudeType :: DEFAULT , callsign : [0_u8 ; 9usize] , emitter_type : AdsbEmitterType :: DEFAULT , tslc : 0_u8 , } ; } impl Default for ADSB_VEHICLE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ADSB_VEHICLE_DATA { type Message = MavMessage ; const ID : u32 = 246u32 ; const NAME : & 'static str = "ADSB_VEHICLE" ; const EXTRA_CRC : u8 = 184u8 ; const ENCODED_LEN : usize = 38usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ICAO_address = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . heading = buf . get_u16_le () ; __struct . hor_velocity = buf . get_u16_le () ; __struct . ver_velocity = buf . get_i16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = AdsbFlags :: from_bits (tmp & AdsbFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AdsbFlags" , value : tmp as u32 }) ? ; __struct . squawk = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . altitude_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbAltitudeType" , value : tmp as u32 }) ? ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . emitter_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbEmitterType" , value : tmp as u32 }) ? ; __struct . tslc = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ICAO_address) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_u16_le (self . heading) ; __tmp . put_u16_le (self . hor_velocity) ; __tmp . put_i16_le (self . ver_velocity) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u16_le (self . squawk) ; __tmp . put_u8 (self . altitude_type as u8) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . emitter_type as u8) ; __tmp . put_u8 (self . tslc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl PARAM_EXT_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PARAM_EXT_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 321u32 ; const NAME : & 'static str = "PARAM_EXT_REQUEST_LIST" ; const EXTRA_CRC : u8 = 88u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UTM_GLOBAL_POSITION_DATA { pub time : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub next_lat : i32 , pub next_lon : i32 , pub next_alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub h_acc : u16 , pub v_acc : u16 , pub vel_acc : u16 , pub update_rate : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uas_id : [u8 ; 18] , pub flight_state : UtmFlightState , pub flags : UtmDataAvailFlags , } impl UTM_GLOBAL_POSITION_DATA { pub const ENCODED_LEN : usize = 70usize ; pub const DEFAULT : Self = Self { time : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , next_lat : 0_i32 , next_lon : 0_i32 , next_alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , h_acc : 0_u16 , v_acc : 0_u16 , vel_acc : 0_u16 , update_rate : 0_u16 , uas_id : [0_u8 ; 18usize] , flight_state : UtmFlightState :: DEFAULT , flags : UtmDataAvailFlags :: DEFAULT , } ; } impl Default for UTM_GLOBAL_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UTM_GLOBAL_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 340u32 ; const NAME : & 'static str = "UTM_GLOBAL_POSITION" ; const EXTRA_CRC : u8 = 99u8 ; const ENCODED_LEN : usize = 70usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . next_lat = buf . get_i32_le () ; __struct . next_lon = buf . get_i32_le () ; __struct . next_alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . h_acc = buf . get_u16_le () ; __struct . v_acc = buf . get_u16_le () ; __struct . vel_acc = buf . get_u16_le () ; __struct . update_rate = buf . get_u16_le () ; for v in & mut __struct . uas_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . flight_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UtmFlightState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = UtmDataAvailFlags :: from_bits (tmp & UtmDataAvailFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UtmDataAvailFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_i32_le (self . next_lat) ; __tmp . put_i32_le (self . next_lon) ; __tmp . put_i32_le (self . next_alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . h_acc) ; __tmp . put_u16_le (self . v_acc) ; __tmp . put_u16_le (self . vel_acc) ; __tmp . put_u16_le (self . update_rate) ; for val in & self . uas_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . flight_state as u8) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_ACK_DATA { pub command : MavCmd , pub result : MavResult , } impl COMMAND_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { command : MavCmd :: DEFAULT , result : MavResult :: DEFAULT , } ; } impl Default for COMMAND_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_ACK_DATA { type Message = MavMessage ; const ID : u32 = 77u32 ; const NAME : & 'static str = "COMMAND_ACK" ; const EXTRA_CRC : u8 = 143u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavResult" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ISBD_LINK_STATUS_DATA { pub timestamp : u64 , pub last_heartbeat : u64 , pub failed_sessions : u16 , pub successful_sessions : u16 , pub signal_quality : u8 , pub ring_pending : u8 , pub tx_session_pending : u8 , pub rx_session_pending : u8 , } impl ISBD_LINK_STATUS_DATA { pub const ENCODED_LEN : usize = 24usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , last_heartbeat : 0_u64 , failed_sessions : 0_u16 , successful_sessions : 0_u16 , signal_quality : 0_u8 , ring_pending : 0_u8 , tx_session_pending : 0_u8 , rx_session_pending : 0_u8 , } ; } impl Default for ISBD_LINK_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ISBD_LINK_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 335u32 ; const NAME : & 'static str = "ISBD_LINK_STATUS" ; const EXTRA_CRC : u8 = 225u8 ; const ENCODED_LEN : usize = 24usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . last_heartbeat = buf . get_u64_le () ; __struct . failed_sessions = buf . get_u16_le () ; __struct . successful_sessions = buf . get_u16_le () ; __struct . signal_quality = buf . get_u8 () ; __struct . ring_pending = buf . get_u8 () ; __struct . tx_session_pending = buf . get_u8 () ; __struct . rx_session_pending = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u64_le (self . last_heartbeat) ; __tmp . put_u16_le (self . failed_sessions) ; __tmp . put_u16_le (self . successful_sessions) ; __tmp . put_u8 (self . signal_quality) ; __tmp . put_u8 (self . ring_pending) ; __tmp . put_u8 (self . tx_session_pending) ; __tmp . put_u8 (self . rx_session_pending) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVIONIX_ADSB_OUT_CFG_DATA { pub ICAO : u32 , pub stallSpeed : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 9] , pub emitterType : AdsbEmitterType , pub aircraftSize : UavionixAdsbOutCfgAircraftSize , pub gpsOffsetLat : UavionixAdsbOutCfgGpsOffsetLat , pub gpsOffsetLon : UavionixAdsbOutCfgGpsOffsetLon , pub rfSelect : UavionixAdsbOutRfSelect , } impl UAVIONIX_ADSB_OUT_CFG_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { ICAO : 0_u32 , stallSpeed : 0_u16 , callsign : [0_u8 ; 9usize] , emitterType : AdsbEmitterType :: DEFAULT , aircraftSize : UavionixAdsbOutCfgAircraftSize :: DEFAULT , gpsOffsetLat : UavionixAdsbOutCfgGpsOffsetLat :: DEFAULT , gpsOffsetLon : UavionixAdsbOutCfgGpsOffsetLon :: DEFAULT , rfSelect : UavionixAdsbOutRfSelect :: DEFAULT , } ; } impl Default for UAVIONIX_ADSB_OUT_CFG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVIONIX_ADSB_OUT_CFG_DATA { type Message = MavMessage ; const ID : u32 = 10001u32 ; const NAME : & 'static str = "UAVIONIX_ADSB_OUT_CFG" ; const EXTRA_CRC : u8 = 209u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ICAO = buf . get_u32_le () ; __struct . stallSpeed = buf . get_u16_le () ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . emitterType = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbEmitterType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . aircraftSize = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutCfgAircraftSize" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . gpsOffsetLat = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutCfgGpsOffsetLat" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . gpsOffsetLon = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutCfgGpsOffsetLon" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . rfSelect = UavionixAdsbOutRfSelect :: from_bits (tmp & UavionixAdsbOutRfSelect :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UavionixAdsbOutRfSelect" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ICAO) ; __tmp . put_u16_le (self . stallSpeed) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . emitterType as u8) ; __tmp . put_u8 (self . aircraftSize as u8) ; __tmp . put_u8 (self . gpsOffsetLat as u8) ; __tmp . put_u8 (self . gpsOffsetLon as u8) ; __tmp . put_u8 (self . rfSelect . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_VERSION_DATA { pub capabilities : MavProtocolCapability , pub uid : u64 , pub flight_sw_version : u32 , pub middleware_sw_version : u32 , pub os_sw_version : u32 , pub board_version : u32 , pub vendor_id : u16 , pub product_id : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub flight_custom_version : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub middleware_custom_version : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub os_custom_version : [u8 ; 8] , } impl AUTOPILOT_VERSION_DATA { pub const ENCODED_LEN : usize = 60usize ; pub const DEFAULT : Self = Self { capabilities : MavProtocolCapability :: DEFAULT , uid : 0_u64 , flight_sw_version : 0_u32 , middleware_sw_version : 0_u32 , os_sw_version : 0_u32 , board_version : 0_u32 , vendor_id : 0_u16 , product_id : 0_u16 , flight_custom_version : [0_u8 ; 8usize] , middleware_custom_version : [0_u8 ; 8usize] , os_custom_version : [0_u8 ; 8usize] , } ; } impl Default for AUTOPILOT_VERSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_VERSION_DATA { type Message = MavMessage ; const ID : u32 = 148u32 ; const NAME : & 'static str = "AUTOPILOT_VERSION" ; const EXTRA_CRC : u8 = 178u8 ; const ENCODED_LEN : usize = 60usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u64_le () ; __struct . capabilities = MavProtocolCapability :: from_bits (tmp & MavProtocolCapability :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavProtocolCapability" , value : tmp as u32 }) ? ; __struct . uid = buf . get_u64_le () ; __struct . flight_sw_version = buf . get_u32_le () ; __struct . middleware_sw_version = buf . get_u32_le () ; __struct . os_sw_version = buf . get_u32_le () ; __struct . board_version = buf . get_u32_le () ; __struct . vendor_id = buf . get_u16_le () ; __struct . product_id = buf . get_u16_le () ; for v in & mut __struct . flight_custom_version { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . middleware_custom_version { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . os_custom_version { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . capabilities . bits ()) ; __tmp . put_u64_le (self . uid) ; __tmp . put_u32_le (self . flight_sw_version) ; __tmp . put_u32_le (self . middleware_sw_version) ; __tmp . put_u32_le (self . os_sw_version) ; __tmp . put_u32_le (self . board_version) ; __tmp . put_u16_le (self . vendor_id) ; __tmp . put_u16_le (self . product_id) ; for val in & self . flight_custom_version { __tmp . put_u8 (* val) ; } for val in & self . middleware_custom_version { __tmp . put_u8 (* val) ; } for val in & self . os_custom_version { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA_TRANSMISSION_HANDSHAKE_DATA { pub size : u32 , pub width : u16 , pub height : u16 , pub packets : u16 , pub mavtype : MavlinkDataStreamType , pub payload : u8 , pub jpg_quality : u8 , } impl DATA_TRANSMISSION_HANDSHAKE_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { size : 0_u32 , width : 0_u16 , height : 0_u16 , packets : 0_u16 , mavtype : MavlinkDataStreamType :: DEFAULT , payload : 0_u8 , jpg_quality : 0_u8 , } ; } impl Default for DATA_TRANSMISSION_HANDSHAKE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA_TRANSMISSION_HANDSHAKE_DATA { type Message = MavMessage ; const ID : u32 = 130u32 ; const NAME : & 'static str = "DATA_TRANSMISSION_HANDSHAKE" ; const EXTRA_CRC : u8 = 29u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . size = buf . get_u32_le () ; __struct . width = buf . get_u16_le () ; __struct . height = buf . get_u16_le () ; __struct . packets = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavlinkDataStreamType" , value : tmp as u32 }) ? ; __struct . payload = buf . get_u8 () ; __struct . jpg_quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . size) ; __tmp . put_u16_le (self . width) ; __tmp . put_u16_le (self . height) ; __tmp . put_u16_le (self . packets) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . payload) ; __tmp . put_u8 (self . jpg_quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_FLOAT_ARRAY_DATA { pub time_usec : u64 , pub array_id : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl DEBUG_FLOAT_ARRAY_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , array_id : 0_u16 , name : [0_u8 ; 10usize] , } ; } impl Default for DEBUG_FLOAT_ARRAY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_FLOAT_ARRAY_DATA { type Message = MavMessage ; const ID : u32 = 350u32 ; const NAME : & 'static str = "DEBUG_FLOAT_ARRAY" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . array_id = buf . get_u16_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u16_le (self . array_id) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PLAY_TUNE_V2_DATA { pub format : TuneFormat , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub tune : [u8 ; 248] , } impl PLAY_TUNE_V2_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { format : TuneFormat :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , tune : [0_u8 ; 248usize] , } ; } impl Default for PLAY_TUNE_V2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PLAY_TUNE_V2_DATA { type Message = MavMessage ; const ID : u32 = 400u32 ; const NAME : & 'static str = "PLAY_TUNE_V2" ; const EXTRA_CRC : u8 = 110u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . format = TuneFormat :: from_bits (tmp & TuneFormat :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "TuneFormat" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . tune { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . format . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . tune { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_ACTUATOR_CONTROL_TARGET_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 8] , pub group_mlx : u8 , pub target_system : u8 , pub target_component : u8 , } impl SET_ACTUATOR_CONTROL_TARGET_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , controls : [0.0_f32 ; 8usize] , group_mlx : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SET_ACTUATOR_CONTROL_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_ACTUATOR_CONTROL_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 139u32 ; const NAME : & 'static str = "SET_ACTUATOR_CONTROL_TARGET" ; const EXTRA_CRC : u8 = 168u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } __struct . group_mlx = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . group_mlx) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REQUEST_EVENT_DATA { pub first_sequence : u16 , pub last_sequence : u16 , pub target_system : u8 , pub target_component : u8 , } impl REQUEST_EVENT_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { first_sequence : 0_u16 , last_sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for REQUEST_EVENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REQUEST_EVENT_DATA { type Message = MavMessage ; const ID : u32 = 412u32 ; const NAME : & 'static str = "REQUEST_EVENT" ; const EXTRA_CRC : u8 = 33u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . first_sequence = buf . get_u16_le () ; __struct . last_sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . first_sequence) ; __tmp . put_u16_le (self . last_sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TRAJECTORY_REPRESENTATION_BEZIER_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub delta : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_yaw : [f32 ; 5] , pub valid_points : u8 , } impl TRAJECTORY_REPRESENTATION_BEZIER_DATA { pub const ENCODED_LEN : usize = 109usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , pos_x : [0.0_f32 ; 5usize] , pos_y : [0.0_f32 ; 5usize] , pos_z : [0.0_f32 ; 5usize] , delta : [0.0_f32 ; 5usize] , pos_yaw : [0.0_f32 ; 5usize] , valid_points : 0_u8 , } ; } impl Default for TRAJECTORY_REPRESENTATION_BEZIER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TRAJECTORY_REPRESENTATION_BEZIER_DATA { type Message = MavMessage ; const ID : u32 = 333u32 ; const NAME : & 'static str = "TRAJECTORY_REPRESENTATION_BEZIER" ; const EXTRA_CRC : u8 = 231u8 ; const ENCODED_LEN : usize = 109usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . pos_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . delta { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_yaw { let val = buf . get_f32_le () ; * v = val ; } __struct . valid_points = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . pos_x { __tmp . put_f32_le (* val) ; } for val in & self . pos_y { __tmp . put_f32_le (* val) ; } for val in & self . pos_z { __tmp . put_f32_le (* val) ; } for val in & self . delta { __tmp . put_f32_le (* val) ; } for val in & self . pos_yaw { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . valid_points) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAMED_VALUE_INT_DATA { pub time_boot_ms : u32 , pub value : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl NAMED_VALUE_INT_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0_i32 , name : [0_u8 ; 10usize] , } ; } impl Default for NAMED_VALUE_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAMED_VALUE_INT_DATA { type Message = MavMessage ; const ID : u32 = 252u32 ; const NAME : & 'static str = "NAMED_VALUE_INT" ; const EXTRA_CRC : u8 = 44u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_i32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . value) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 43u32 ; const NAME : & 'static str = "MISSION_REQUEST_LIST" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_DATA_DATA { pub ofs : u32 , pub count : u32 , pub id : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_DATA_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { ofs : 0_u32 , count : 0_u32 , id : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_DATA_DATA { type Message = MavMessage ; const ID : u32 = 119u32 ; const NAME : & 'static str = "LOG_REQUEST_DATA" ; const EXTRA_CRC : u8 = 116u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ofs = buf . get_u32_le () ; __struct . count = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ofs) ; __tmp . put_u32_le (self . count) ; __tmp . put_u16_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MESSAGE_INTERVAL_DATA { pub interval_us : i32 , pub message_id : u16 , } impl MESSAGE_INTERVAL_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { interval_us : 0_i32 , message_id : 0_u16 , } ; } impl Default for MESSAGE_INTERVAL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MESSAGE_INTERVAL_DATA { type Message = MavMessage ; const ID : u32 = 244u32 ; const NAME : & 'static str = "MESSAGE_INTERVAL" ; const EXTRA_CRC : u8 = 95u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . interval_us = buf . get_i32_le () ; __struct . message_id = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . interval_us) ; __tmp . put_u16_le (self . message_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl VISION_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for VISION_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 102u32 ; const NAME : & 'static str = "VISION_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 158u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_ENTRY_DATA { pub time_utc : u32 , pub size : u32 , pub id : u16 , pub num_logs : u16 , pub last_log_num : u16 , } impl LOG_ENTRY_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_utc : 0_u32 , size : 0_u32 , id : 0_u16 , num_logs : 0_u16 , last_log_num : 0_u16 , } ; } impl Default for LOG_ENTRY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_ENTRY_DATA { type Message = MavMessage ; const ID : u32 = 118u32 ; const NAME : & 'static str = "LOG_ENTRY" ; const EXTRA_CRC : u8 = 56u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_utc = buf . get_u32_le () ; __struct . size = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . num_logs = buf . get_u16_le () ; __struct . last_log_num = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_utc) ; __tmp . put_u32_le (self . size) ; __tmp . put_u16_le (self . id) ; __tmp . put_u16_le (self . num_logs) ; __tmp . put_u16_le (self . last_log_num) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AIS_VESSEL_DATA { pub MMSI : u32 , pub lat : i32 , pub lon : i32 , pub COG : u16 , pub heading : u16 , pub velocity : u16 , pub dimension_bow : u16 , pub dimension_stern : u16 , pub tslc : u16 , pub flags : AisFlags , pub turn_rate : i8 , pub navigational_status : AisNavStatus , pub mavtype : AisType , pub dimension_port : u8 , pub dimension_starboard : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 7] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 20] , } impl AIS_VESSEL_DATA { pub const ENCODED_LEN : usize = 58usize ; pub const DEFAULT : Self = Self { MMSI : 0_u32 , lat : 0_i32 , lon : 0_i32 , COG : 0_u16 , heading : 0_u16 , velocity : 0_u16 , dimension_bow : 0_u16 , dimension_stern : 0_u16 , tslc : 0_u16 , flags : AisFlags :: DEFAULT , turn_rate : 0_i8 , navigational_status : AisNavStatus :: DEFAULT , mavtype : AisType :: DEFAULT , dimension_port : 0_u8 , dimension_starboard : 0_u8 , callsign : [0_u8 ; 7usize] , name : [0_u8 ; 20usize] , } ; } impl Default for AIS_VESSEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AIS_VESSEL_DATA { type Message = MavMessage ; const ID : u32 = 301u32 ; const NAME : & 'static str = "AIS_VESSEL" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 58usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . MMSI = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . COG = buf . get_u16_le () ; __struct . heading = buf . get_u16_le () ; __struct . velocity = buf . get_u16_le () ; __struct . dimension_bow = buf . get_u16_le () ; __struct . dimension_stern = buf . get_u16_le () ; __struct . tslc = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = AisFlags :: from_bits (tmp & AisFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AisFlags" , value : tmp as u32 }) ? ; __struct . turn_rate = buf . get_i8 () ; let tmp = buf . get_u8 () ; __struct . navigational_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AisNavStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AisType" , value : tmp as u32 }) ? ; __struct . dimension_port = buf . get_u8 () ; __struct . dimension_starboard = buf . get_u8 () ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . MMSI) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . COG) ; __tmp . put_u16_le (self . heading) ; __tmp . put_u16_le (self . velocity) ; __tmp . put_u16_le (self . dimension_bow) ; __tmp . put_u16_le (self . dimension_stern) ; __tmp . put_u16_le (self . tslc) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_i8 (self . turn_rate) ; __tmp . put_u8 (self . navigational_status as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . dimension_port) ; __tmp . put_u8 (self . dimension_starboard) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ACK_DATA { pub target_system : u8 , pub target_component : u8 , pub mavtype : MavMissionResult , } impl MISSION_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , mavtype : MavMissionResult :: DEFAULT , } ; } impl Default for MISSION_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ACK_DATA { type Message = MavMessage ; const ID : u32 = 47u32 ; const NAME : & 'static str = "MISSION_ACK" ; const EXTRA_CRC : u8 = 153u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMissionResult" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . mavtype as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RADIO_STATUS_DATA { pub rxerrors : u16 , pub fixed : u16 , pub rssi : u8 , pub remrssi : u8 , pub txbuf : u8 , pub noise : u8 , pub remnoise : u8 , } impl RADIO_STATUS_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { rxerrors : 0_u16 , fixed : 0_u16 , rssi : 0_u8 , remrssi : 0_u8 , txbuf : 0_u8 , noise : 0_u8 , remnoise : 0_u8 , } ; } impl Default for RADIO_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RADIO_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 109u32 ; const NAME : & 'static str = "RADIO_STATUS" ; const EXTRA_CRC : u8 = 185u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . rxerrors = buf . get_u16_le () ; __struct . fixed = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; __struct . remrssi = buf . get_u8 () ; __struct . txbuf = buf . get_u8 () ; __struct . noise = buf . get_u8 () ; __struct . remnoise = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . rxerrors) ; __tmp . put_u16_le (self . fixed) ; __tmp . put_u8 (self . rssi) ; __tmp . put_u8 (self . remrssi) ; __tmp . put_u8 (self . txbuf) ; __tmp . put_u8 (self . noise) ; __tmp . put_u8 (self . remnoise) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CELLULAR_STATUS_DATA { pub mcc : u16 , pub mnc : u16 , pub lac : u16 , pub status : CellularStatusFlag , pub failure_reason : CellularNetworkFailedReason , pub mavtype : CellularNetworkRadioType , pub quality : u8 , } impl CELLULAR_STATUS_DATA { pub const ENCODED_LEN : usize = 10usize ; pub const DEFAULT : Self = Self { mcc : 0_u16 , mnc : 0_u16 , lac : 0_u16 , status : CellularStatusFlag :: DEFAULT , failure_reason : CellularNetworkFailedReason :: DEFAULT , mavtype : CellularNetworkRadioType :: DEFAULT , quality : 0_u8 , } ; } impl Default for CELLULAR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CELLULAR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 334u32 ; const NAME : & 'static str = "CELLULAR_STATUS" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 10usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mcc = buf . get_u16_le () ; __struct . mnc = buf . get_u16_le () ; __struct . lac = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularStatusFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . failure_reason = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularNetworkFailedReason" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularNetworkRadioType" , value : tmp as u32 }) ? ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . mcc) ; __tmp . put_u16_le (self . mnc) ; __tmp . put_u16_le (self . lac) ; __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . failure_reason as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA_STREAM_DATA { pub message_rate : u16 , pub stream_id : u8 , pub on_off : u8 , } impl DATA_STREAM_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { message_rate : 0_u16 , stream_id : 0_u8 , on_off : 0_u8 , } ; } impl Default for DATA_STREAM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA_STREAM_DATA { type Message = MavMessage ; const ID : u32 = 67u32 ; const NAME : & 'static str = "DATA_STREAM" ; const EXTRA_CRC : u8 = 21u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . message_rate = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; __struct . on_off = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . message_rate) ; __tmp . put_u8 (self . stream_id) ; __tmp . put_u8 (self . on_off) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_VECT_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl DEBUG_VECT_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , name : [0_u8 ; 10usize] , } ; } impl Default for DEBUG_VECT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_VECT_DATA { type Message = MavMessage ; const ID : u32 = 250u32 ; const NAME : & 'static str = "DEBUG_VECT" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_CURRENT_DATA { pub seq : u16 , } impl MISSION_CURRENT_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , } ; } impl Default for MISSION_CURRENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_CURRENT_DATA { type Message = MavMessage ; const ID : u32 = 42u32 ; const NAME : & 'static str = "MISSION_CURRENT" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PROTOCOL_VERSION_DATA { pub version : u16 , pub min_version : u16 , pub max_version : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub spec_version_hash : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub library_version_hash : [u8 ; 8] , } impl PROTOCOL_VERSION_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { version : 0_u16 , min_version : 0_u16 , max_version : 0_u16 , spec_version_hash : [0_u8 ; 8usize] , library_version_hash : [0_u8 ; 8usize] , } ; } impl Default for PROTOCOL_VERSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PROTOCOL_VERSION_DATA { type Message = MavMessage ; const ID : u32 = 300u32 ; const NAME : & 'static str = "PROTOCOL_VERSION" ; const EXTRA_CRC : u8 = 217u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . version = buf . get_u16_le () ; __struct . min_version = buf . get_u16_le () ; __struct . max_version = buf . get_u16_le () ; for v in & mut __struct . spec_version_hash { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . library_version_hash { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . version) ; __tmp . put_u16_le (self . min_version) ; __tmp . put_u16_le (self . max_version) ; for val in & self . spec_version_hash { __tmp . put_u8 (* val) ; } for val in & self . library_version_hash { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_INPUT_DATA { pub time_usec : u64 , pub time_week_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : f32 , pub hdop : f32 , pub vdop : f32 , pub vn : f32 , pub ve : f32 , pub vd : f32 , pub speed_accuracy : f32 , pub horiz_accuracy : f32 , pub vert_accuracy : f32 , pub ignore_flags : GpsInputIgnoreFlags , pub time_week : u16 , pub gps_id : u8 , pub fix_type : u8 , pub satellites_visible : u8 , } impl GPS_INPUT_DATA { pub const ENCODED_LEN : usize = 63usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , time_week_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , hdop : 0.0_f32 , vdop : 0.0_f32 , vn : 0.0_f32 , ve : 0.0_f32 , vd : 0.0_f32 , speed_accuracy : 0.0_f32 , horiz_accuracy : 0.0_f32 , vert_accuracy : 0.0_f32 , ignore_flags : GpsInputIgnoreFlags :: DEFAULT , time_week : 0_u16 , gps_id : 0_u8 , fix_type : 0_u8 , satellites_visible : 0_u8 , } ; } impl Default for GPS_INPUT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_INPUT_DATA { type Message = MavMessage ; const ID : u32 = 232u32 ; const NAME : & 'static str = "GPS_INPUT" ; const EXTRA_CRC : u8 = 151u8 ; const ENCODED_LEN : usize = 63usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . time_week_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . hdop = buf . get_f32_le () ; __struct . vdop = buf . get_f32_le () ; __struct . vn = buf . get_f32_le () ; __struct . ve = buf . get_f32_le () ; __struct . vd = buf . get_f32_le () ; __struct . speed_accuracy = buf . get_f32_le () ; __struct . horiz_accuracy = buf . get_f32_le () ; __struct . vert_accuracy = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . ignore_flags = GpsInputIgnoreFlags :: from_bits (tmp & GpsInputIgnoreFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GpsInputIgnoreFlags" , value : tmp as u32 }) ? ; __struct . time_week = buf . get_u16_le () ; __struct . gps_id = buf . get_u8 () ; __struct . fix_type = buf . get_u8 () ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . time_week_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . hdop) ; __tmp . put_f32_le (self . vdop) ; __tmp . put_f32_le (self . vn) ; __tmp . put_f32_le (self . ve) ; __tmp . put_f32_le (self . vd) ; __tmp . put_f32_le (self . speed_accuracy) ; __tmp . put_f32_le (self . horiz_accuracy) ; __tmp . put_f32_le (self . vert_accuracy) ; __tmp . put_u16_le (self . ignore_flags . bits ()) ; __tmp . put_u16_le (self . time_week) ; __tmp . put_u8 (self . gps_id) ; __tmp . put_u8 (self . fix_type) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TIME_ESTIMATE_TO_TARGET_DATA { pub safe_return : i32 , pub land : i32 , pub mission_next_item : i32 , pub mission_end : i32 , pub commanded_action : i32 , } impl TIME_ESTIMATE_TO_TARGET_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { safe_return : 0_i32 , land : 0_i32 , mission_next_item : 0_i32 , mission_end : 0_i32 , commanded_action : 0_i32 , } ; } impl Default for TIME_ESTIMATE_TO_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TIME_ESTIMATE_TO_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 380u32 ; const NAME : & 'static str = "TIME_ESTIMATE_TO_TARGET" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . safe_return = buf . get_i32_le () ; __struct . land = buf . get_i32_le () ; __struct . mission_next_item = buf . get_i32_le () ; __struct . mission_end = buf . get_i32_le () ; __struct . commanded_action = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . safe_return) ; __tmp . put_i32_le (self . land) ; __tmp . put_i32_le (self . mission_next_item) ; __tmp . put_i32_le (self . mission_end) ; __tmp . put_i32_le (self . commanded_action) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_INT_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub seq : u16 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl MISSION_ITEM_INT_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , seq : 0_u16 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for MISSION_ITEM_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_INT_DATA { type Message = MavMessage ; const ID : u32 = 73u32 ; const NAME : & 'static str = "MISSION_ITEM_INT" ; const EXTRA_CRC : u8 = 38u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; __struct . seq = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_STATUS_DATA { pub satellites_visible : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_prn : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_used : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_elevation : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_azimuth : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_snr : [u8 ; 20] , } impl GPS_STATUS_DATA { pub const ENCODED_LEN : usize = 101usize ; pub const DEFAULT : Self = Self { satellites_visible : 0_u8 , satellite_prn : [0_u8 ; 20usize] , satellite_used : [0_u8 ; 20usize] , satellite_elevation : [0_u8 ; 20usize] , satellite_azimuth : [0_u8 ; 20usize] , satellite_snr : [0_u8 ; 20usize] , } ; } impl Default for GPS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 25u32 ; const NAME : & 'static str = "GPS_STATUS" ; const EXTRA_CRC : u8 = 23u8 ; const ENCODED_LEN : usize = 101usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . satellites_visible = buf . get_u8 () ; for v in & mut __struct . satellite_prn { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_used { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_elevation { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_azimuth { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_snr { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . satellites_visible) ; for val in & self . satellite_prn { __tmp . put_u8 (* val) ; } for val in & self . satellite_used { __tmp . put_u8 (* val) ; } for val in & self . satellite_elevation { __tmp . put_u8 (* val) ; } for val in & self . satellite_azimuth { __tmp . put_u8 (* val) ; } for val in & self . satellite_snr { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MANUAL_SETPOINT_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub thrust : f32 , pub mode_switch : u8 , pub manual_override_switch : u8 , } impl MANUAL_SETPOINT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , thrust : 0.0_f32 , mode_switch : 0_u8 , manual_override_switch : 0_u8 , } ; } impl Default for MANUAL_SETPOINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MANUAL_SETPOINT_DATA { type Message = MavMessage ; const ID : u32 = 81u32 ; const NAME : & 'static str = "MANUAL_SETPOINT" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; __struct . mode_switch = buf . get_u8 () ; __struct . manual_override_switch = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . mode_switch) ; __tmp . put_u8 (self . manual_override_switch) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FENCE_STATUS_DATA { pub breach_time : u32 , pub breach_count : u16 , pub breach_status : u8 , pub breach_type : FenceBreach , } impl FENCE_STATUS_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { breach_time : 0_u32 , breach_count : 0_u16 , breach_status : 0_u8 , breach_type : FenceBreach :: DEFAULT , } ; } impl Default for FENCE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FENCE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 162u32 ; const NAME : & 'static str = "FENCE_STATUS" ; const EXTRA_CRC : u8 = 189u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . breach_time = buf . get_u32_le () ; __struct . breach_count = buf . get_u16_le () ; __struct . breach_status = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . breach_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "FenceBreach" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . breach_time) ; __tmp . put_u16_le (self . breach_count) ; __tmp . put_u8 (self . breach_status) ; __tmp . put_u8 (self . breach_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HOME_POSITION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub approach_x : f32 , pub approach_y : f32 , pub approach_z : f32 , } impl HOME_POSITION_DATA { pub const ENCODED_LEN : usize = 52usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , approach_x : 0.0_f32 , approach_y : 0.0_f32 , approach_z : 0.0_f32 , } ; } impl Default for HOME_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HOME_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 242u32 ; const NAME : & 'static str = "HOME_POSITION" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 52usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . approach_x = buf . get_f32_le () ; __struct . approach_y = buf . get_f32_le () ; __struct . approach_z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . approach_x) ; __tmp . put_f32_le (self . approach_y) ; __tmp . put_f32_le (self . approach_z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_INFO_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub error_count : [u32 ; 4] , pub counter : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub failure_flags : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature : [i16 ; 4] , pub index : u8 , pub count : u8 , pub connection_type : EscConnectionType , pub info : u8 , } impl ESC_INFO_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , error_count : [0_u32 ; 4usize] , counter : 0_u16 , failure_flags : [0_u16 ; 4usize] , temperature : [0_i16 ; 4usize] , index : 0_u8 , count : 0_u8 , connection_type : EscConnectionType :: DEFAULT , info : 0_u8 , } ; } impl Default for ESC_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_INFO_DATA { type Message = MavMessage ; const ID : u32 = 290u32 ; const NAME : & 'static str = "ESC_INFO" ; const EXTRA_CRC : u8 = 251u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . error_count { let val = buf . get_u32_le () ; * v = val ; } __struct . counter = buf . get_u16_le () ; for v in & mut __struct . failure_flags { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . temperature { let val = buf . get_i16_le () ; * v = val ; } __struct . index = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . connection_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "EscConnectionType" , value : tmp as u32 }) ? ; __struct . info = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . error_count { __tmp . put_u32_le (* val) ; } __tmp . put_u16_le (self . counter) ; for val in & self . failure_flags { __tmp . put_u16_le (* val) ; } for val in & self . temperature { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . index) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . connection_type as u8) ; __tmp . put_u8 (self . info) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_CANCEL_DATA { pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , } impl COMMAND_CANCEL_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for COMMAND_CANCEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_CANCEL_DATA { type Message = MavMessage ; const ID : u32 = 80u32 ; const NAME : & 'static str = "COMMAND_CANCEL" ; const EXTRA_CRC : u8 = 14u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_REQUEST_READ_DATA { pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , } impl PARAM_EXT_REQUEST_READ_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , } ; } impl Default for PARAM_EXT_REQUEST_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_REQUEST_READ_DATA { type Message = MavMessage ; const ID : u32 = 320u32 ; const NAME : & 'static str = "PARAM_EXT_REQUEST_READ" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PLAY_TUNE_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub tune : [u8 ; 30] , } impl PLAY_TUNE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , tune : [0_u8 ; 30usize] , } ; } impl Default for PLAY_TUNE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PLAY_TUNE_DATA { type Message = MavMessage ; const ID : u32 = 258u32 ; const NAME : & 'static str = "PLAY_TUNE" ; const EXTRA_CRC : u8 = 187u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . tune { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . tune { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_INT_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_INT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_INT_DATA { type Message = MavMessage ; const ID : u32 = 51u32 ; const NAME : & 'static str = "MISSION_REQUEST_INT" ; const EXTRA_CRC : u8 = 196u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_QUATERNION_COV_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 9] , } impl ATTITUDE_QUATERNION_COV_DATA { pub const ENCODED_LEN : usize = 72usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , q : [0.0_f32 ; 4usize] , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , covariance : [0.0_f32 ; 9usize] , } ; } impl Default for ATTITUDE_QUATERNION_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_QUATERNION_COV_DATA { type Message = MavMessage ; const ID : u32 = 61u32 ; const NAME : & 'static str = "ATTITUDE_QUATERNION_COV" ; const EXTRA_CRC : u8 = 167u8 ; const ENCODED_LEN : usize = 72usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_REACHED_DATA { pub seq : u16 , } impl MISSION_ITEM_REACHED_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , } ; } impl Default for MISSION_ITEM_REACHED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_REACHED_DATA { type Message = MavMessage ; const ID : u32 = 46u32 ; const NAME : & 'static str = "MISSION_ITEM_REACHED" ; const EXTRA_CRC : u8 = 11u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_REQUEST_READ_DATA { pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , } impl PARAM_REQUEST_READ_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , } ; } impl Default for PARAM_REQUEST_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_REQUEST_READ_DATA { type Message = MavMessage ; const ID : u32 = 20u32 ; const NAME : & 'static str = "PARAM_REQUEST_READ" ; const EXTRA_CRC : u8 = 214u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_DATA_DATA { pub lat : i32 , pub lon : i32 , pub grid_spacing : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [i16 ; 16] , pub gridbit : u8 , } impl TERRAIN_DATA_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , grid_spacing : 0_u16 , data : [0_i16 ; 16usize] , gridbit : 0_u8 , } ; } impl Default for TERRAIN_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_DATA_DATA { type Message = MavMessage ; const ID : u32 = 134u32 ; const NAME : & 'static str = "TERRAIN_DATA" ; const EXTRA_CRC : u8 = 229u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . grid_spacing = buf . get_u16_le () ; for v in & mut __struct . data { let val = buf . get_i16_le () ; * v = val ; } __struct . gridbit = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . grid_spacing) ; for val in & self . data { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . gridbit) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RAW_INT_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub cog : u16 , pub fix_type : GpsFixType , pub satellites_visible : u8 , } impl GPS_RAW_INT_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , cog : 0_u16 , fix_type : GpsFixType :: DEFAULT , satellites_visible : 0_u8 , } ; } impl Default for GPS_RAW_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RAW_INT_DATA { type Message = MavMessage ; const ID : u32 = 24u32 ; const NAME : & 'static str = "GPS_RAW_INT" ; const EXTRA_CRC : u8 = 24u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . cog = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type as u8) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct STORAGE_INFORMATION_DATA { pub time_boot_ms : u32 , pub total_capacity : f32 , pub used_capacity : f32 , pub available_capacity : f32 , pub read_speed : f32 , pub write_speed : f32 , pub storage_id : u8 , pub storage_count : u8 , pub status : StorageStatus , } impl STORAGE_INFORMATION_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , total_capacity : 0.0_f32 , used_capacity : 0.0_f32 , available_capacity : 0.0_f32 , read_speed : 0.0_f32 , write_speed : 0.0_f32 , storage_id : 0_u8 , storage_count : 0_u8 , status : StorageStatus :: DEFAULT , } ; } impl Default for STORAGE_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for STORAGE_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 261u32 ; const NAME : & 'static str = "STORAGE_INFORMATION" ; const EXTRA_CRC : u8 = 179u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . total_capacity = buf . get_f32_le () ; __struct . used_capacity = buf . get_f32_le () ; __struct . available_capacity = buf . get_f32_le () ; __struct . read_speed = buf . get_f32_le () ; __struct . write_speed = buf . get_f32_le () ; __struct . storage_id = buf . get_u8 () ; __struct . storage_count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "StorageStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . total_capacity) ; __tmp . put_f32_le (self . used_capacity) ; __tmp . put_f32_le (self . available_capacity) ; __tmp . put_f32_le (self . read_speed) ; __tmp . put_f32_le (self . write_speed) ; __tmp . put_u8 (self . storage_id) ; __tmp . put_u8 (self . storage_count) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RESPONSE_EVENT_ERROR_DATA { pub sequence : u16 , pub sequence_oldest_available : u16 , pub target_system : u8 , pub target_component : u8 , pub reason : MavEventErrorReason , } impl RESPONSE_EVENT_ERROR_DATA { pub const ENCODED_LEN : usize = 7usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , sequence_oldest_available : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , reason : MavEventErrorReason :: DEFAULT , } ; } impl Default for RESPONSE_EVENT_ERROR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RESPONSE_EVENT_ERROR_DATA { type Message = MavMessage ; const ID : u32 = 413u32 ; const NAME : & 'static str = "RESPONSE_EVENT_ERROR" ; const EXTRA_CRC : u8 = 77u8 ; const ENCODED_LEN : usize = 7usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . sequence_oldest_available = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . reason = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEventErrorReason" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u16_le (self . sequence_oldest_available) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . reason as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MANUAL_CONTROL_DATA { pub x : i16 , pub y : i16 , pub z : i16 , pub r : i16 , pub buttons : u16 , pub target : u8 , } impl MANUAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 11usize ; pub const DEFAULT : Self = Self { x : 0_i16 , y : 0_i16 , z : 0_i16 , r : 0_i16 , buttons : 0_u16 , target : 0_u8 , } ; } impl Default for MANUAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MANUAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 69u32 ; const NAME : & 'static str = "MANUAL_CONTROL" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 11usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . x = buf . get_i16_le () ; __struct . y = buf . get_i16_le () ; __struct . z = buf . get_i16_le () ; __struct . r = buf . get_i16_le () ; __struct . buttons = buf . get_u16_le () ; __struct . target = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . x) ; __tmp . put_i16_le (self . y) ; __tmp . put_i16_le (self . z) ; __tmp . put_i16_le (self . r) ; __tmp . put_u16_le (self . buttons) ; __tmp . put_u8 (self . target) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAMED_VALUE_FLOAT_DATA { pub time_boot_ms : u32 , pub value : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl NAMED_VALUE_FLOAT_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0.0_f32 , name : [0_u8 ; 10usize] , } ; } impl Default for NAMED_VALUE_FLOAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAMED_VALUE_FLOAT_DATA { type Message = MavMessage ; const ID : u32 = 251u32 ; const NAME : & 'static str = "NAMED_VALUE_FLOAT" ; const EXTRA_CRC : u8 = 170u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_f32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . value) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_STATUS_DATA { pub time_boot_ms : u32 , pub flags : GimbalManagerFlags , pub gimbal_device_id : u8 , pub primary_control_sysid : u8 , pub primary_control_compid : u8 , pub secondary_control_sysid : u8 , pub secondary_control_compid : u8 , } impl GIMBAL_MANAGER_STATUS_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , flags : GimbalManagerFlags :: DEFAULT , gimbal_device_id : 0_u8 , primary_control_sysid : 0_u8 , primary_control_compid : 0_u8 , secondary_control_sysid : 0_u8 , secondary_control_compid : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 281u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_STATUS" ; const EXTRA_CRC : u8 = 48u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . gimbal_device_id = buf . get_u8 () ; __struct . primary_control_sysid = buf . get_u8 () ; __struct . primary_control_compid = buf . get_u8 () ; __struct . secondary_control_sysid = buf . get_u8 () ; __struct . secondary_control_compid = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_u8 (self . gimbal_device_id) ; __tmp . put_u8 (self . primary_control_sysid) ; __tmp . put_u8 (self . primary_control_compid) ; __tmp . put_u8 (self . secondary_control_sysid) ; __tmp . put_u8 (self . secondary_control_compid) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_GPS_GLOBAL_ORIGIN_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub target_system : u8 , } impl SET_GPS_GLOBAL_ORIGIN_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , target_system : 0_u8 , } ; } impl Default for SET_GPS_GLOBAL_ORIGIN_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_GPS_GLOBAL_ORIGIN_DATA { type Message = MavMessage ; const ID : u32 = 48u32 ; const NAME : & 'static str = "SET_GPS_GLOBAL_ORIGIN" ; const EXTRA_CRC : u8 = 41u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . target_system = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_u8 (self . target_system) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_DATA_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , pub length : u8 , pub first_message_offset : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 249] , } impl LOGGING_DATA_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , length : 0_u8 , first_message_offset : 0_u8 , data : [0_u8 ; 249usize] , } ; } impl Default for LOGGING_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_DATA_DATA { type Message = MavMessage ; const ID : u32 = 266u32 ; const NAME : & 'static str = "LOGGING_DATA" ; const EXTRA_CRC : u8 = 193u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . length = buf . get_u8 () ; __struct . first_message_offset = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . length) ; __tmp . put_u8 (self . first_message_offset) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct STATUSTEXT_DATA { pub severity : MavSeverity , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub text : [u8 ; 50] , } impl STATUSTEXT_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { severity : MavSeverity :: DEFAULT , text : [0_u8 ; 50usize] , } ; } impl Default for STATUSTEXT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for STATUSTEXT_DATA { type Message = MavMessage ; const ID : u32 = 253u32 ; const NAME : & 'static str = "STATUSTEXT" ; const EXTRA_CRC : u8 = 83u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . severity = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavSeverity" , value : tmp as u32 }) ? ; for v in & mut __struct . text { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . severity as u8) ; for val in & self . text { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CHANGE_OPERATOR_CONTROL_ACK_DATA { pub gcs_system_id : u8 , pub control_request : u8 , pub ack : u8 , } impl CHANGE_OPERATOR_CONTROL_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { gcs_system_id : 0_u8 , control_request : 0_u8 , ack : 0_u8 , } ; } impl Default for CHANGE_OPERATOR_CONTROL_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CHANGE_OPERATOR_CONTROL_ACK_DATA { type Message = MavMessage ; const ID : u32 = 6u32 ; const NAME : & 'static str = "CHANGE_OPERATOR_CONTROL_ACK" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . gcs_system_id = buf . get_u8 () ; __struct . control_request = buf . get_u8 () ; __struct . ack = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . gcs_system_id) ; __tmp . put_u8 (self . control_request) ; __tmp . put_u8 (self . ack) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESTIMATOR_STATUS_DATA { pub time_usec : u64 , pub vel_ratio : f32 , pub pos_horiz_ratio : f32 , pub pos_vert_ratio : f32 , pub mag_ratio : f32 , pub hagl_ratio : f32 , pub tas_ratio : f32 , pub pos_horiz_accuracy : f32 , pub pos_vert_accuracy : f32 , pub flags : EstimatorStatusFlags , } impl ESTIMATOR_STATUS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , vel_ratio : 0.0_f32 , pos_horiz_ratio : 0.0_f32 , pos_vert_ratio : 0.0_f32 , mag_ratio : 0.0_f32 , hagl_ratio : 0.0_f32 , tas_ratio : 0.0_f32 , pos_horiz_accuracy : 0.0_f32 , pos_vert_accuracy : 0.0_f32 , flags : EstimatorStatusFlags :: DEFAULT , } ; } impl Default for ESTIMATOR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESTIMATOR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 230u32 ; const NAME : & 'static str = "ESTIMATOR_STATUS" ; const EXTRA_CRC : u8 = 163u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . vel_ratio = buf . get_f32_le () ; __struct . pos_horiz_ratio = buf . get_f32_le () ; __struct . pos_vert_ratio = buf . get_f32_le () ; __struct . mag_ratio = buf . get_f32_le () ; __struct . hagl_ratio = buf . get_f32_le () ; __struct . tas_ratio = buf . get_f32_le () ; __struct . pos_horiz_accuracy = buf . get_f32_le () ; __struct . pos_vert_accuracy = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = EstimatorStatusFlags :: from_bits (tmp & EstimatorStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EstimatorStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . vel_ratio) ; __tmp . put_f32_le (self . pos_horiz_ratio) ; __tmp . put_f32_le (self . pos_vert_ratio) ; __tmp . put_f32_le (self . mag_ratio) ; __tmp . put_f32_le (self . hagl_ratio) ; __tmp . put_f32_le (self . tas_ratio) ; __tmp . put_f32_le (self . pos_horiz_accuracy) ; __tmp . put_f32_le (self . pos_vert_accuracy) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_IMAGE_CAPTURED_DATA { pub time_utc : u64 , pub time_boot_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub image_index : i32 , pub camera_id : u8 , pub capture_result : i8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub file_url : [u8 ; 205] , } impl CAMERA_IMAGE_CAPTURED_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { time_utc : 0_u64 , time_boot_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , q : [0.0_f32 ; 4usize] , image_index : 0_i32 , camera_id : 0_u8 , capture_result : 0_i8 , file_url : [0_u8 ; 205usize] , } ; } impl Default for CAMERA_IMAGE_CAPTURED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_IMAGE_CAPTURED_DATA { type Message = MavMessage ; const ID : u32 = 263u32 ; const NAME : & 'static str = "CAMERA_IMAGE_CAPTURED" ; const EXTRA_CRC : u8 = 133u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_utc = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . image_index = buf . get_i32_le () ; __struct . camera_id = buf . get_u8 () ; __struct . capture_result = buf . get_i8 () ; for v in & mut __struct . file_url { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_utc) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_i32_le (self . image_index) ; __tmp . put_u8 (self . camera_id) ; __tmp . put_i8 (self . capture_result) ; for val in & self . file_url { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_ACK_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , pub param_result : ParamAck , } impl PARAM_EXT_ACK_DATA { pub const ENCODED_LEN : usize = 146usize ; pub const DEFAULT : Self = Self { param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , param_result : ParamAck :: DEFAULT , } ; } impl Default for PARAM_EXT_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_ACK_DATA { type Message = MavMessage ; const ID : u32 = 324u32 ; const NAME : & 'static str = "PARAM_EXT_ACK" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 146usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . param_result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "ParamAck" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; __tmp . put_u8 (self . param_result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ACTUATOR_CONTROL_TARGET_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 8] , pub group_mlx : u8 , } impl ACTUATOR_CONTROL_TARGET_DATA { pub const ENCODED_LEN : usize = 41usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , controls : [0.0_f32 ; 8usize] , group_mlx : 0_u8 , } ; } impl Default for ACTUATOR_CONTROL_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ACTUATOR_CONTROL_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 140u32 ; const NAME : & 'static str = "ACTUATOR_CONTROL_TARGET" ; const EXTRA_CRC : u8 = 181u8 ; const ENCODED_LEN : usize = 41usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } __struct . group_mlx = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . group_mlx) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_POSITION_TARGET_LOCAL_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub target_system : u8 , pub target_component : u8 , pub coordinate_frame : MavFrame , } impl SET_POSITION_TARGET_LOCAL_NED_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for SET_POSITION_TARGET_LOCAL_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_POSITION_TARGET_LOCAL_NED_DATA { type Message = MavMessage ; const ID : u32 = 84u32 ; const NAME : & 'static str = "SET_POSITION_TARGET_LOCAL_NED" ; const EXTRA_CRC : u8 = 143u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAN_FRAME_DATA { pub id : u32 , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 8] , } impl CAN_FRAME_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , len : 0_u8 , data : [0_u8 ; 8usize] , } ; } impl Default for CAN_FRAME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAN_FRAME_DATA { type Message = MavMessage ; const ID : u32 = 386u32 ; const NAME : & 'static str = "CAN_FRAME" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_LONG_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub param5 : f32 , pub param6 : f32 , pub param7 : f32 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub confirmation : u8 , } impl COMMAND_LONG_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , param5 : 0.0_f32 , param6 : 0.0_f32 , param7 : 0.0_f32 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , confirmation : 0_u8 , } ; } impl Default for COMMAND_LONG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_LONG_DATA { type Message = MavMessage ; const ID : u32 = 76u32 ; const NAME : & 'static str = "COMMAND_LONG" ; const EXTRA_CRC : u8 = 152u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . param5 = buf . get_f32_le () ; __struct . param6 = buf . get_f32_le () ; __struct . param7 = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . confirmation = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_f32_le (self . param5) ; __tmp . put_f32_le (self . param6) ; __tmp . put_f32_le (self . param7) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . confirmation) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVIONIX_ADSB_OUT_DYNAMIC_DATA { pub utcTime : u32 , pub gpsLat : i32 , pub gpsLon : i32 , pub gpsAlt : i32 , pub baroAltMSL : i32 , pub accuracyHor : u32 , pub accuracyVert : u16 , pub accuracyVel : u16 , pub velVert : i16 , pub velNS : i16 , pub VelEW : i16 , pub state : UavionixAdsbOutDynamicState , pub squawk : u16 , pub gpsFix : UavionixAdsbOutDynamicGpsFix , pub numSats : u8 , pub emergencyStatus : UavionixAdsbEmergencyStatus , } impl UAVIONIX_ADSB_OUT_DYNAMIC_DATA { pub const ENCODED_LEN : usize = 41usize ; pub const DEFAULT : Self = Self { utcTime : 0_u32 , gpsLat : 0_i32 , gpsLon : 0_i32 , gpsAlt : 0_i32 , baroAltMSL : 0_i32 , accuracyHor : 0_u32 , accuracyVert : 0_u16 , accuracyVel : 0_u16 , velVert : 0_i16 , velNS : 0_i16 , VelEW : 0_i16 , state : UavionixAdsbOutDynamicState :: DEFAULT , squawk : 0_u16 , gpsFix : UavionixAdsbOutDynamicGpsFix :: DEFAULT , numSats : 0_u8 , emergencyStatus : UavionixAdsbEmergencyStatus :: DEFAULT , } ; } impl Default for UAVIONIX_ADSB_OUT_DYNAMIC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVIONIX_ADSB_OUT_DYNAMIC_DATA { type Message = MavMessage ; const ID : u32 = 10002u32 ; const NAME : & 'static str = "UAVIONIX_ADSB_OUT_DYNAMIC" ; const EXTRA_CRC : u8 = 186u8 ; const ENCODED_LEN : usize = 41usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . utcTime = buf . get_u32_le () ; __struct . gpsLat = buf . get_i32_le () ; __struct . gpsLon = buf . get_i32_le () ; __struct . gpsAlt = buf . get_i32_le () ; __struct . baroAltMSL = buf . get_i32_le () ; __struct . accuracyHor = buf . get_u32_le () ; __struct . accuracyVert = buf . get_u16_le () ; __struct . accuracyVel = buf . get_u16_le () ; __struct . velVert = buf . get_i16_le () ; __struct . velNS = buf . get_i16_le () ; __struct . VelEW = buf . get_i16_le () ; let tmp = buf . get_u16_le () ; __struct . state = UavionixAdsbOutDynamicState :: from_bits (tmp & UavionixAdsbOutDynamicState :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UavionixAdsbOutDynamicState" , value : tmp as u32 }) ? ; __struct . squawk = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . gpsFix = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutDynamicGpsFix" , value : tmp as u32 }) ? ; __struct . numSats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . emergencyStatus = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbEmergencyStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . utcTime) ; __tmp . put_i32_le (self . gpsLat) ; __tmp . put_i32_le (self . gpsLon) ; __tmp . put_i32_le (self . gpsAlt) ; __tmp . put_i32_le (self . baroAltMSL) ; __tmp . put_u32_le (self . accuracyHor) ; __tmp . put_u16_le (self . accuracyVert) ; __tmp . put_u16_le (self . accuracyVel) ; __tmp . put_i16_le (self . velVert) ; __tmp . put_i16_le (self . velNS) ; __tmp . put_i16_le (self . VelEW) ; __tmp . put_u16_le (self . state . bits ()) ; __tmp . put_u16_le (self . squawk) ; __tmp . put_u8 (self . gpsFix as u8) ; __tmp . put_u8 (self . numSats) ; __tmp . put_u8 (self . emergencyStatus as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HEARTBEAT_DATA { pub custom_mode : u32 , pub mavtype : MavType , pub autopilot : MavAutopilot , pub base_mode : MavModeFlag , pub system_status : MavState , pub mavlink_version : u8 , } impl HEARTBEAT_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , mavtype : MavType :: DEFAULT , autopilot : MavAutopilot :: DEFAULT , base_mode : MavModeFlag :: DEFAULT , system_status : MavState :: DEFAULT , mavlink_version : 0_u8 , } ; } impl Default for HEARTBEAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HEARTBEAT_DATA { type Message = MavMessage ; const ID : u32 = 0u32 ; const NAME : & 'static str = "HEARTBEAT" ; const EXTRA_CRC : u8 = 50u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . autopilot = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavAutopilot" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . base_mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . system_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavState" , value : tmp as u32 }) ? ; __struct . mavlink_version = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . autopilot as u8) ; __tmp . put_u8 (self . base_mode . bits ()) ; __tmp . put_u8 (self . system_status as u8) ; __tmp . put_u8 (self . mavlink_version) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_QUATERNION_DATA { pub time_boot_ms : u32 , pub q1 : f32 , pub q2 : f32 , pub q3 : f32 , pub q4 : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , } impl ATTITUDE_QUATERNION_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q1 : 0.0_f32 , q2 : 0.0_f32 , q3 : 0.0_f32 , q4 : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , } ; } impl Default for ATTITUDE_QUATERNION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_QUATERNION_DATA { type Message = MavMessage ; const ID : u32 = 31u32 ; const NAME : & 'static str = "ATTITUDE_QUATERNION" ; const EXTRA_CRC : u8 = 246u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . q1 = buf . get_f32_le () ; __struct . q2 = buf . get_f32_le () ; __struct . q3 = buf . get_f32_le () ; __struct . q4 = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . q1) ; __tmp . put_f32_le (self . q2) ; __tmp . put_f32_le (self . q3) ; __tmp . put_f32_le (self . q4) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VICON_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl VICON_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for VICON_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VICON_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 104u32 ; const NAME : & 'static str = "VICON_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 56u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ORBIT_EXECUTION_STATUS_DATA { pub time_usec : u64 , pub radius : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub frame : MavFrame , } impl ORBIT_EXECUTION_STATUS_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , radius : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , frame : MavFrame :: DEFAULT , } ; } impl Default for ORBIT_EXECUTION_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ORBIT_EXECUTION_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 360u32 ; const NAME : & 'static str = "ORBIT_EXECUTION_STATUS" ; const EXTRA_CRC : u8 = 11u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . radius = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . radius) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_PITCHYAW_DATA { pub flags : GimbalManagerFlags , pub pitch : f32 , pub yaw : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_PITCHYAW_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , pitch : 0.0_f32 , yaw : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_PITCHYAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_PITCHYAW_DATA { type Message = MavMessage ; const ID : u32 = 287u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_PITCHYAW" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE2_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE2_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE2_DATA { type Message = MavMessage ; const ID : u32 = 137u32 ; const NAME : & 'static str = "SCALED_PRESSURE2" ; const EXTRA_CRC : u8 = 195u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_MESSAGE_PACK_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub single_message_size : u8 , pub msg_pack_size : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub messages : [u8 ; 225] , } impl OPEN_DRONE_ID_MESSAGE_PACK_DATA { pub const ENCODED_LEN : usize = 249usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , single_message_size : 0_u8 , msg_pack_size : 0_u8 , messages : [0_u8 ; 225usize] , } ; } impl Default for OPEN_DRONE_ID_MESSAGE_PACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_MESSAGE_PACK_DATA { type Message = MavMessage ; const ID : u32 = 12915u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_MESSAGE_PACK" ; const EXTRA_CRC : u8 = 94u8 ; const ENCODED_LEN : usize = 249usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } __struct . single_message_size = buf . get_u8 () ; __struct . msg_pack_size = buf . get_u8 () ; for v in & mut __struct . messages { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . single_message_size) ; __tmp . put_u8 (self . msg_pack_size) ; for val in & self . messages { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ODOMETRY_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pose_covariance : [f32 ; 21] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub velocity_covariance : [f32 ; 21] , pub frame_id : MavFrame , pub child_frame_id : MavFrame , } impl ODOMETRY_DATA { pub const ENCODED_LEN : usize = 230usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , pose_covariance : [0.0_f32 ; 21usize] , velocity_covariance : [0.0_f32 ; 21usize] , frame_id : MavFrame :: DEFAULT , child_frame_id : MavFrame :: DEFAULT , } ; } impl Default for ODOMETRY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ODOMETRY_DATA { type Message = MavMessage ; const ID : u32 = 331u32 ; const NAME : & 'static str = "ODOMETRY" ; const EXTRA_CRC : u8 = 91u8 ; const ENCODED_LEN : usize = 230usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; for v in & mut __struct . pose_covariance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . velocity_covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . frame_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . child_frame_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; for val in & self . pose_covariance { __tmp . put_f32_le (* val) ; } for val in & self . velocity_covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . frame_id as u8) ; __tmp . put_u8 (self . child_frame_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_SETTINGS_DATA { pub time_boot_ms : u32 , pub mode_id : CameraMode , } impl CAMERA_SETTINGS_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , mode_id : CameraMode :: DEFAULT , } ; } impl Default for CAMERA_SETTINGS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_SETTINGS_DATA { type Message = MavMessage ; const ID : u32 = 260u32 ; const NAME : & 'static str = "CAMERA_SETTINGS" ; const EXTRA_CRC : u8 = 146u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . mode_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraMode" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u8 (self . mode_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_CLEAR_ALL_DATA { pub target_system : u8 , pub target_component : u8 , } impl MISSION_CLEAR_ALL_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_CLEAR_ALL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_CLEAR_ALL_DATA { type Message = MavMessage ; const ID : u32 = 45u32 ; const NAME : & 'static str = "MISSION_CLEAR_ALL" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_ATTITUDE_DATA { pub flags : GimbalManagerFlags , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_ATTITUDE_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 282u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_ATTITUDE" ; const EXTRA_CRC : u8 = 123u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_SPEED_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , } impl VISION_SPEED_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , } ; } impl Default for VISION_SPEED_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_SPEED_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 103u32 ; const NAME : & 'static str = "VISION_SPEED_ESTIMATE" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_AUTHENTICATION_DATA { pub timestamp : u32 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub authentication_type : MavOdidAuthType , pub data_page : u8 , pub last_page_index : u8 , pub length : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub authentication_data : [u8 ; 23] , } impl OPEN_DRONE_ID_AUTHENTICATION_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { timestamp : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , authentication_type : MavOdidAuthType :: DEFAULT , data_page : 0_u8 , last_page_index : 0_u8 , length : 0_u8 , authentication_data : [0_u8 ; 23usize] , } ; } impl Default for OPEN_DRONE_ID_AUTHENTICATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_AUTHENTICATION_DATA { type Message = MavMessage ; const ID : u32 = 12902u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_AUTHENTICATION" ; const EXTRA_CRC : u8 = 140u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . authentication_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidAuthType" , value : tmp as u32 }) ? ; __struct . data_page = buf . get_u8 () ; __struct . last_page_index = buf . get_u8 () ; __struct . length = buf . get_u8 () ; for v in & mut __struct . authentication_data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . authentication_type as u8) ; __tmp . put_u8 (self . data_page) ; __tmp . put_u8 (self . last_page_index) ; __tmp . put_u8 (self . length) ; for val in & self . authentication_data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_REPORT_DATA { pub lat : i32 , pub lon : i32 , pub terrain_height : f32 , pub current_height : f32 , pub spacing : u16 , pub pending : u16 , pub loaded : u16 , } impl TERRAIN_REPORT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , terrain_height : 0.0_f32 , current_height : 0.0_f32 , spacing : 0_u16 , pending : 0_u16 , loaded : 0_u16 , } ; } impl Default for TERRAIN_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 136u32 ; const NAME : & 'static str = "TERRAIN_REPORT" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . terrain_height = buf . get_f32_le () ; __struct . current_height = buf . get_f32_le () ; __struct . spacing = buf . get_u16_le () ; __struct . pending = buf . get_u16_le () ; __struct . loaded = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . terrain_height) ; __tmp . put_f32_le (self . current_height) ; __tmp . put_u16_le (self . spacing) ; __tmp . put_u16_le (self . pending) ; __tmp . put_u16_le (self . loaded) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , } impl LOCAL_POSITION_NED_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , } ; } impl Default for LOCAL_POSITION_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_DATA { type Message = MavMessage ; const ID : u32 = 32u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED" ; const EXTRA_CRC : u8 = 185u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_DATA { pub time_boot_ms : u32 , pub value : f32 , pub ind : u8 , } impl DEBUG_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0.0_f32 , ind : 0_u8 , } ; } impl Default for DEBUG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_DATA { type Message = MavMessage ; const ID : u32 = 254u32 ; const NAME : & 'static str = "DEBUG" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_f32_le () ; __struct . ind = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . value) ; __tmp . put_u8 (self . ind) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub failure_flags : GimbalDeviceErrorFlags , pub flags : GimbalDeviceFlags , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , failure_flags : GimbalDeviceErrorFlags :: DEFAULT , flags : GimbalDeviceFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 285u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_ATTITUDE_STATUS" ; const EXTRA_CRC : u8 = 137u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . failure_flags = GimbalDeviceErrorFlags :: from_bits (tmp & GimbalDeviceErrorFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceErrorFlags" , value : tmp as u32 }) ? ; let tmp = buf . get_u16_le () ; __struct . flags = GimbalDeviceFlags :: from_bits (tmp & GimbalDeviceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u32_le (self . failure_flags . bits ()) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_GLOBAL_ORIGIN_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , } impl GPS_GLOBAL_ORIGIN_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , } ; } impl Default for GPS_GLOBAL_ORIGIN_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_GLOBAL_ORIGIN_DATA { type Message = MavMessage ; const ID : u32 = 49u32 ; const NAME : & 'static str = "GPS_GLOBAL_ORIGIN" ; const EXTRA_CRC : u8 = 39u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_COUNT_DATA { pub count : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_COUNT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { count : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_COUNT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_COUNT_DATA { type Message = MavMessage ; const ID : u32 = 44u32 ; const NAME : & 'static str = "MISSION_COUNT" ; const EXTRA_CRC : u8 = 221u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . count = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . count) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGH_LATENCY_DATA { pub custom_mode : u32 , pub latitude : i32 , pub longitude : i32 , pub roll : i16 , pub pitch : i16 , pub heading : u16 , pub heading_sp : i16 , pub altitude_amsl : i16 , pub altitude_sp : i16 , pub wp_distance : u16 , pub base_mode : MavModeFlag , pub landed_state : MavLandedState , pub throttle : i8 , pub airspeed : u8 , pub airspeed_sp : u8 , pub groundspeed : u8 , pub climb_rate : i8 , pub gps_nsat : u8 , pub gps_fix_type : GpsFixType , pub battery_remaining : u8 , pub temperature : i8 , pub temperature_air : i8 , pub failsafe : u8 , pub wp_num : u8 , } impl HIGH_LATENCY_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , latitude : 0_i32 , longitude : 0_i32 , roll : 0_i16 , pitch : 0_i16 , heading : 0_u16 , heading_sp : 0_i16 , altitude_amsl : 0_i16 , altitude_sp : 0_i16 , wp_distance : 0_u16 , base_mode : MavModeFlag :: DEFAULT , landed_state : MavLandedState :: DEFAULT , throttle : 0_i8 , airspeed : 0_u8 , airspeed_sp : 0_u8 , groundspeed : 0_u8 , climb_rate : 0_i8 , gps_nsat : 0_u8 , gps_fix_type : GpsFixType :: DEFAULT , battery_remaining : 0_u8 , temperature : 0_i8 , temperature_air : 0_i8 , failsafe : 0_u8 , wp_num : 0_u8 , } ; } impl Default for HIGH_LATENCY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGH_LATENCY_DATA { type Message = MavMessage ; const ID : u32 = 234u32 ; const NAME : & 'static str = "HIGH_LATENCY" ; const EXTRA_CRC : u8 = 150u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . roll = buf . get_i16_le () ; __struct . pitch = buf . get_i16_le () ; __struct . heading = buf . get_u16_le () ; __struct . heading_sp = buf . get_i16_le () ; __struct . altitude_amsl = buf . get_i16_le () ; __struct . altitude_sp = buf . get_i16_le () ; __struct . wp_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . base_mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; __struct . throttle = buf . get_i8 () ; __struct . airspeed = buf . get_u8 () ; __struct . airspeed_sp = buf . get_u8 () ; __struct . groundspeed = buf . get_u8 () ; __struct . climb_rate = buf . get_i8 () ; __struct . gps_nsat = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . gps_fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . battery_remaining = buf . get_u8 () ; __struct . temperature = buf . get_i8 () ; __struct . temperature_air = buf . get_i8 () ; __struct . failsafe = buf . get_u8 () ; __struct . wp_num = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i16_le (self . roll) ; __tmp . put_i16_le (self . pitch) ; __tmp . put_u16_le (self . heading) ; __tmp . put_i16_le (self . heading_sp) ; __tmp . put_i16_le (self . altitude_amsl) ; __tmp . put_i16_le (self . altitude_sp) ; __tmp . put_u16_le (self . wp_distance) ; __tmp . put_u8 (self . base_mode . bits ()) ; __tmp . put_u8 (self . landed_state as u8) ; __tmp . put_i8 (self . throttle) ; __tmp . put_u8 (self . airspeed) ; __tmp . put_u8 (self . airspeed_sp) ; __tmp . put_u8 (self . groundspeed) ; __tmp . put_i8 (self . climb_rate) ; __tmp . put_u8 (self . gps_nsat) ; __tmp . put_u8 (self . gps_fix_type as u8) ; __tmp . put_u8 (self . battery_remaining) ; __tmp . put_i8 (self . temperature) ; __tmp . put_i8 (self . temperature_air) ; __tmp . put_u8 (self . failsafe) ; __tmp . put_u8 (self . wp_num) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_POSITION_TARGET_GLOBAL_INT_DATA { pub time_boot_ms : u32 , pub lat_int : i32 , pub lon_int : i32 , pub alt : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub target_system : u8 , pub target_component : u8 , pub coordinate_frame : MavFrame , } impl SET_POSITION_TARGET_GLOBAL_INT_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_int : 0_i32 , lon_int : 0_i32 , alt : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for SET_POSITION_TARGET_GLOBAL_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_POSITION_TARGET_GLOBAL_INT_DATA { type Message = MavMessage ; const ID : u32 = 86u32 ; const NAME : & 'static str = "SET_POSITION_TARGET_GLOBAL_INT" ; const EXTRA_CRC : u8 = 5u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_int = buf . get_i32_le () ; __struct . lon_int = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_int) ; __tmp . put_i32_le (self . lon_int) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CURRENT_EVENT_SEQUENCE_DATA { pub sequence : u16 , pub flags : MavEventCurrentSequenceFlags , } impl CURRENT_EVENT_SEQUENCE_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , flags : MavEventCurrentSequenceFlags :: DEFAULT , } ; } impl Default for CURRENT_EVENT_SEQUENCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CURRENT_EVENT_SEQUENCE_DATA { type Message = MavMessage ; const ID : u32 = 411u32 ; const NAME : & 'static str = "CURRENT_EVENT_SEQUENCE" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . flags = MavEventCurrentSequenceFlags :: from_bits (tmp & MavEventCurrentSequenceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavEventCurrentSequenceFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MEMORY_VECT_DATA { pub address : u16 , pub ver : u8 , pub mavtype : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub value : [i8 ; 32] , } impl MEMORY_VECT_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { address : 0_u16 , ver : 0_u8 , mavtype : 0_u8 , value : [0_i8 ; 32usize] , } ; } impl Default for MEMORY_VECT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MEMORY_VECT_DATA { type Message = MavMessage ; const ID : u32 = 249u32 ; const NAME : & 'static str = "MEMORY_VECT" ; const EXTRA_CRC : u8 = 204u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . address = buf . get_u16_le () ; __struct . ver = buf . get_u8 () ; __struct . mavtype = buf . get_u8 () ; for v in & mut __struct . value { let val = buf . get_i8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . address) ; __tmp . put_u8 (self . ver) ; __tmp . put_u8 (self . mavtype) ; for val in & self . value { __tmp . put_i8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 40u32 ; const NAME : & 'static str = "MISSION_REQUEST" ; const EXTRA_CRC : u8 = 230u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct V2_EXTENSION_DATA { pub message_type : u16 , pub target_network : u8 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 249] , } impl V2_EXTENSION_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { message_type : 0_u16 , target_network : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , payload : [0_u8 ; 249usize] , } ; } impl Default for V2_EXTENSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for V2_EXTENSION_DATA { type Message = MavMessage ; const ID : u32 = 248u32 ; const NAME : & 'static str = "V2_EXTENSION" ; const EXTRA_CRC : u8 = 8u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . message_type = buf . get_u16_le () ; __struct . target_network = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . message_type) ; __tmp . put_u8 (self . target_network) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_STATUS_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rpm : [i32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltage : [f32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub current : [f32 ; 4] , pub index : u8 , } impl ESC_STATUS_DATA { pub const ENCODED_LEN : usize = 57usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , rpm : [0_i32 ; 4usize] , voltage : [0.0_f32 ; 4usize] , current : [0.0_f32 ; 4usize] , index : 0_u8 , } ; } impl Default for ESC_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 291u32 ; const NAME : & 'static str = "ESC_STATUS" ; const EXTRA_CRC : u8 = 10u8 ; const ENCODED_LEN : usize = 57usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . rpm { let val = buf . get_i32_le () ; * v = val ; } for v in & mut __struct . voltage { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . current { let val = buf . get_f32_le () ; * v = val ; } __struct . index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . rpm { __tmp . put_i32_le (* val) ; } for val in & self . voltage { __tmp . put_f32_le (* val) ; } for val in & self . current { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_DATA_ACKED_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , pub length : u8 , pub first_message_offset : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 249] , } impl LOGGING_DATA_ACKED_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , length : 0_u8 , first_message_offset : 0_u8 , data : [0_u8 ; 249usize] , } ; } impl Default for LOGGING_DATA_ACKED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_DATA_ACKED_DATA { type Message = MavMessage ; const ID : u32 = 267u32 ; const NAME : & 'static str = "LOGGING_DATA_ACKED" ; const EXTRA_CRC : u8 = 35u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . length = buf . get_u8 () ; __struct . first_message_offset = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . length) ; __tmp . put_u8 (self . first_message_offset) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CANFD_FRAME_DATA { pub id : u32 , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 64] , } impl CANFD_FRAME_DATA { pub const ENCODED_LEN : usize = 72usize ; pub const DEFAULT : Self = Self { id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , len : 0_u8 , data : [0_u8 ; 64usize] , } ; } impl Default for CANFD_FRAME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CANFD_FRAME_DATA { type Message = MavMessage ; const ID : u32 = 387u32 ; const NAME : & 'static str = "CANFD_FRAME" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 72usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU3_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU3_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU3_DATA { type Message = MavMessage ; const ID : u32 = 129u32 ; const NAME : & 'static str = "SCALED_IMU3" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_POSITION_INT_COV_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 36] , pub estimator_type : MavEstimatorType , } impl GLOBAL_POSITION_INT_COV_DATA { pub const ENCODED_LEN : usize = 181usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , covariance : [0.0_f32 ; 36usize] , estimator_type : MavEstimatorType :: DEFAULT , } ; } impl Default for GLOBAL_POSITION_INT_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_POSITION_INT_COV_DATA { type Message = MavMessage ; const ID : u32 = 63u32 ; const NAME : & 'static str = "GLOBAL_POSITION_INT_COV" ; const EXTRA_CRC : u8 = 119u8 ; const ENCODED_LEN : usize = 181usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . estimator_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEstimatorType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . estimator_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_STATE_QUATERNION_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub attitude_quaternion : [f32 ; 4] , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub ind_airspeed : u16 , pub true_airspeed : u16 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , } impl HIL_STATE_QUATERNION_DATA { pub const ENCODED_LEN : usize = 64usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , attitude_quaternion : [0.0_f32 ; 4usize] , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , ind_airspeed : 0_u16 , true_airspeed : 0_u16 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , } ; } impl Default for HIL_STATE_QUATERNION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_STATE_QUATERNION_DATA { type Message = MavMessage ; const ID : u32 = 115u32 ; const NAME : & 'static str = "HIL_STATE_QUATERNION" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 64usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . attitude_quaternion { let val = buf . get_f32_le () ; * v = val ; } __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . ind_airspeed = buf . get_u16_le () ; __struct . true_airspeed = buf . get_u16_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . attitude_quaternion { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . ind_airspeed) ; __tmp . put_u16_le (self . true_airspeed) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTH_KEY_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub key : [u8 ; 32] , } impl AUTH_KEY_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { key : [0_u8 ; 32usize] , } ; } impl Default for AUTH_KEY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTH_KEY_DATA { type Message = MavMessage ; const ID : u32 = 7u32 ; const NAME : & 'static str = "AUTH_KEY" ; const EXTRA_CRC : u8 = 119u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . key { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . key { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_LOCATION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude_barometric : f32 , pub altitude_geodetic : f32 , pub height : f32 , pub timestamp : f32 , pub direction : u16 , pub speed_horizontal : u16 , pub speed_vertical : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub status : MavOdidStatus , pub height_reference : MavOdidHeightRef , pub horizontal_accuracy : MavOdidHorAcc , pub vertical_accuracy : MavOdidVerAcc , pub barometer_accuracy : MavOdidVerAcc , pub speed_accuracy : MavOdidSpeedAcc , pub timestamp_accuracy : MavOdidTimeAcc , } impl OPEN_DRONE_ID_LOCATION_DATA { pub const ENCODED_LEN : usize = 59usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude_barometric : 0.0_f32 , altitude_geodetic : 0.0_f32 , height : 0.0_f32 , timestamp : 0.0_f32 , direction : 0_u16 , speed_horizontal : 0_u16 , speed_vertical : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , status : MavOdidStatus :: DEFAULT , height_reference : MavOdidHeightRef :: DEFAULT , horizontal_accuracy : MavOdidHorAcc :: DEFAULT , vertical_accuracy : MavOdidVerAcc :: DEFAULT , barometer_accuracy : MavOdidVerAcc :: DEFAULT , speed_accuracy : MavOdidSpeedAcc :: DEFAULT , timestamp_accuracy : MavOdidTimeAcc :: DEFAULT , } ; } impl Default for OPEN_DRONE_ID_LOCATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_LOCATION_DATA { type Message = MavMessage ; const ID : u32 = 12901u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_LOCATION" ; const EXTRA_CRC : u8 = 254u8 ; const ENCODED_LEN : usize = 59usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude_barometric = buf . get_f32_le () ; __struct . altitude_geodetic = buf . get_f32_le () ; __struct . height = buf . get_f32_le () ; __struct . timestamp = buf . get_f32_le () ; __struct . direction = buf . get_u16_le () ; __struct . speed_horizontal = buf . get_u16_le () ; __struct . speed_vertical = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . height_reference = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidHeightRef" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . horizontal_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidHorAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . vertical_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidVerAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . barometer_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidVerAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . speed_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidSpeedAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . timestamp_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidTimeAcc" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_f32_le (self . altitude_barometric) ; __tmp . put_f32_le (self . altitude_geodetic) ; __tmp . put_f32_le (self . height) ; __tmp . put_f32_le (self . timestamp) ; __tmp . put_u16_le (self . direction) ; __tmp . put_u16_le (self . speed_horizontal) ; __tmp . put_i16_le (self . speed_vertical) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . height_reference as u8) ; __tmp . put_u8 (self . horizontal_accuracy as u8) ; __tmp . put_u8 (self . vertical_accuracy as u8) ; __tmp . put_u8 (self . barometer_accuracy as u8) ; __tmp . put_u8 (self . speed_accuracy as u8) ; __tmp . put_u8 (self . timestamp_accuracy as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_ACK_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOGGING_ACK_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOGGING_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_ACK_DATA { type Message = MavMessage ; const ID : u32 = 268u32 ; const NAME : & 'static str = "LOGGING_ACK" ; const EXTRA_CRC : u8 = 14u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { pub operator_latitude : i32 , pub operator_longitude : i32 , pub operator_altitude_geo : f32 , pub timestamp : u32 , pub target_system : u8 , pub target_component : u8 , } impl OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { operator_latitude : 0_i32 , operator_longitude : 0_i32 , operator_altitude_geo : 0.0_f32 , timestamp : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { type Message = MavMessage ; const ID : u32 = 12919u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SYSTEM_UPDATE" ; const EXTRA_CRC : u8 = 7u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . operator_latitude = buf . get_i32_le () ; __struct . operator_longitude = buf . get_i32_le () ; __struct . operator_altitude_geo = buf . get_f32_le () ; __struct . timestamp = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . operator_latitude) ; __tmp . put_i32_le (self . operator_longitude) ; __tmp . put_f32_le (self . operator_altitude_geo) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SYSTEM_TIME_DATA { pub time_unix_usec : u64 , pub time_boot_ms : u32 , } impl SYSTEM_TIME_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { time_unix_usec : 0_u64 , time_boot_ms : 0_u32 , } ; } impl Default for SYSTEM_TIME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SYSTEM_TIME_DATA { type Message = MavMessage ; const ID : u32 = 2u32 ; const NAME : & 'static str = "SYSTEM_TIME" ; const EXTRA_CRC : u8 = 137u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_unix_usec = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_unix_usec) ; __tmp . put_u32_le (self . time_boot_ms) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_ATTITUDE_TARGET_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub body_roll_rate : f32 , pub body_pitch_rate : f32 , pub body_yaw_rate : f32 , pub thrust : f32 , pub target_system : u8 , pub target_component : u8 , pub type_mask : AttitudeTargetTypemask , } impl SET_ATTITUDE_TARGET_DATA { pub const ENCODED_LEN : usize = 39usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , body_roll_rate : 0.0_f32 , body_pitch_rate : 0.0_f32 , body_yaw_rate : 0.0_f32 , thrust : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , type_mask : AttitudeTargetTypemask :: DEFAULT , } ; } impl Default for SET_ATTITUDE_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_ATTITUDE_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 82u32 ; const NAME : & 'static str = "SET_ATTITUDE_TARGET" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 39usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . body_roll_rate = buf . get_f32_le () ; __struct . body_pitch_rate = buf . get_f32_le () ; __struct . body_yaw_rate = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . type_mask = AttitudeTargetTypemask :: from_bits (tmp & AttitudeTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AttitudeTargetTypemask" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . body_roll_rate) ; __tmp . put_f32_le (self . body_pitch_rate) ; __tmp . put_f32_le (self . body_yaw_rate) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . type_mask . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POSITION_TARGET_LOCAL_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub coordinate_frame : MavFrame , } impl POSITION_TARGET_LOCAL_NED_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for POSITION_TARGET_LOCAL_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POSITION_TARGET_LOCAL_NED_DATA { type Message = MavMessage ; const ID : u32 = 85u32 ; const NAME : & 'static str = "POSITION_TARGET_LOCAL_NED" ; const EXTRA_CRC : u8 = 140u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_CHECK_DATA { pub lat : i32 , pub lon : i32 , } impl TERRAIN_CHECK_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , } ; } impl Default for TERRAIN_CHECK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_CHECK_DATA { type Message = MavMessage ; const ID : u32 = 135u32 ; const NAME : & 'static str = "TERRAIN_CHECK" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SYS_STATUS_DATA { pub onboard_control_sensors_present : MavSysStatusSensor , pub onboard_control_sensors_enabled : MavSysStatusSensor , pub onboard_control_sensors_health : MavSysStatusSensor , pub load : u16 , pub voltage_battery : u16 , pub current_battery : i16 , pub drop_rate_comm : u16 , pub errors_comm : u16 , pub errors_count1 : u16 , pub errors_count2 : u16 , pub errors_count3 : u16 , pub errors_count4 : u16 , pub battery_remaining : i8 , } impl SYS_STATUS_DATA { pub const ENCODED_LEN : usize = 31usize ; pub const DEFAULT : Self = Self { onboard_control_sensors_present : MavSysStatusSensor :: DEFAULT , onboard_control_sensors_enabled : MavSysStatusSensor :: DEFAULT , onboard_control_sensors_health : MavSysStatusSensor :: DEFAULT , load : 0_u16 , voltage_battery : 0_u16 , current_battery : 0_i16 , drop_rate_comm : 0_u16 , errors_comm : 0_u16 , errors_count1 : 0_u16 , errors_count2 : 0_u16 , errors_count3 : 0_u16 , errors_count4 : 0_u16 , battery_remaining : 0_i8 , } ; } impl Default for SYS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SYS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 1u32 ; const NAME : & 'static str = "SYS_STATUS" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 31usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_present = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_enabled = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_health = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; __struct . load = buf . get_u16_le () ; __struct . voltage_battery = buf . get_u16_le () ; __struct . current_battery = buf . get_i16_le () ; __struct . drop_rate_comm = buf . get_u16_le () ; __struct . errors_comm = buf . get_u16_le () ; __struct . errors_count1 = buf . get_u16_le () ; __struct . errors_count2 = buf . get_u16_le () ; __struct . errors_count3 = buf . get_u16_le () ; __struct . errors_count4 = buf . get_u16_le () ; __struct . battery_remaining = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . onboard_control_sensors_present . bits ()) ; __tmp . put_u32_le (self . onboard_control_sensors_enabled . bits ()) ; __tmp . put_u32_le (self . onboard_control_sensors_health . bits ()) ; __tmp . put_u16_le (self . load) ; __tmp . put_u16_le (self . voltage_battery) ; __tmp . put_i16_le (self . current_battery) ; __tmp . put_u16_le (self . drop_rate_comm) ; __tmp . put_u16_le (self . errors_comm) ; __tmp . put_u16_le (self . errors_count1) ; __tmp . put_u16_le (self . errors_count2) ; __tmp . put_u16_le (self . errors_count3) ; __tmp . put_u16_le (self . errors_count4) ; __tmp . put_i8 (self . battery_remaining) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIFI_CONFIG_AP_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub ssid : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub password : [u8 ; 64] , } impl WIFI_CONFIG_AP_DATA { pub const ENCODED_LEN : usize = 96usize ; pub const DEFAULT : Self = Self { ssid : [0_u8 ; 32usize] , password : [0_u8 ; 64usize] , } ; } impl Default for WIFI_CONFIG_AP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIFI_CONFIG_AP_DATA { type Message = MavMessage ; const ID : u32 = 299u32 ; const NAME : & 'static str = "WIFI_CONFIG_AP" ; const EXTRA_CRC : u8 = 19u8 ; const ENCODED_LEN : usize = 96usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . ssid { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . password { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . ssid { __tmp . put_u8 (* val) ; } for val in & self . password { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PING_DATA { pub time_usec : u64 , pub seq : u32 , pub target_system : u8 , pub target_component : u8 , } impl PING_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , seq : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PING_DATA { type Message = MavMessage ; const ID : u32 = 4u32 ; const NAME : & 'static str = "PING" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . seq = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_SCALED_DATA { pub time_boot_ms : u32 , pub chan1_scaled : i16 , pub chan2_scaled : i16 , pub chan3_scaled : i16 , pub chan4_scaled : i16 , pub chan5_scaled : i16 , pub chan6_scaled : i16 , pub chan7_scaled : i16 , pub chan8_scaled : i16 , pub port : u8 , pub rssi : u8 , } impl RC_CHANNELS_SCALED_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_scaled : 0_i16 , chan2_scaled : 0_i16 , chan3_scaled : 0_i16 , chan4_scaled : 0_i16 , chan5_scaled : 0_i16 , chan6_scaled : 0_i16 , chan7_scaled : 0_i16 , chan8_scaled : 0_i16 , port : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_SCALED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_SCALED_DATA { type Message = MavMessage ; const ID : u32 = 34u32 ; const NAME : & 'static str = "RC_CHANNELS_SCALED" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_scaled = buf . get_i16_le () ; __struct . chan2_scaled = buf . get_i16_le () ; __struct . chan3_scaled = buf . get_i16_le () ; __struct . chan4_scaled = buf . get_i16_le () ; __struct . chan5_scaled = buf . get_i16_le () ; __struct . chan6_scaled = buf . get_i16_le () ; __struct . chan7_scaled = buf . get_i16_le () ; __struct . chan8_scaled = buf . get_i16_le () ; __struct . port = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . chan1_scaled) ; __tmp . put_i16_le (self . chan2_scaled) ; __tmp . put_i16_le (self . chan3_scaled) ; __tmp . put_i16_le (self . chan4_scaled) ; __tmp . put_i16_le (self . chan5_scaled) ; __tmp . put_i16_le (self . chan6_scaled) ; __tmp . put_i16_le (self . chan7_scaled) ; __tmp . put_i16_le (self . chan8_scaled) ; __tmp . put_u8 (self . port) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPTICAL_FLOW_DATA { pub time_usec : u64 , pub flow_comp_m_x : f32 , pub flow_comp_m_y : f32 , pub ground_distance : f32 , pub flow_x : i16 , pub flow_y : i16 , pub sensor_id : u8 , pub quality : u8 , } impl OPTICAL_FLOW_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , flow_comp_m_x : 0.0_f32 , flow_comp_m_y : 0.0_f32 , ground_distance : 0.0_f32 , flow_x : 0_i16 , flow_y : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for OPTICAL_FLOW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPTICAL_FLOW_DATA { type Message = MavMessage ; const ID : u32 = 100u32 ; const NAME : & 'static str = "OPTICAL_FLOW" ; const EXTRA_CRC : u8 = 175u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . flow_comp_m_x = buf . get_f32_le () ; __struct . flow_comp_m_y = buf . get_f32_le () ; __struct . ground_distance = buf . get_f32_le () ; __struct . flow_x = buf . get_i16_le () ; __struct . flow_y = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . flow_comp_m_x) ; __tmp . put_f32_le (self . flow_comp_m_y) ; __tmp . put_f32_le (self . ground_distance) ; __tmp . put_i16_le (self . flow_x) ; __tmp . put_i16_le (self . flow_y) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SELF_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub description_type : MavOdidDescType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub description : [u8 ; 23] , } impl OPEN_DRONE_ID_SELF_ID_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , description_type : MavOdidDescType :: DEFAULT , description : [0_u8 ; 23usize] , } ; } impl Default for OPEN_DRONE_ID_SELF_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SELF_ID_DATA { type Message = MavMessage ; const ID : u32 = 12903u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SELF_ID" ; const EXTRA_CRC : u8 = 249u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . description_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidDescType" , value : tmp as u32 }) ? ; for v in & mut __struct . description { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . description_type as u8) ; for val in & self . description { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Clone , PartialEq , Debug)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] pub enum MavMessage { POWER_STATUS (POWER_STATUS_DATA) , GPS_RTCM_DATA (GPS_RTCM_DATA_DATA) , WIND_COV (WIND_COV_DATA) , HIL_RC_INPUTS_RAW (HIL_RC_INPUTS_RAW_DATA) , ENCAPSULATED_DATA (ENCAPSULATED_DATA_DATA) , LOG_REQUEST_END (LOG_REQUEST_END_DATA) , MISSION_SET_CURRENT (MISSION_SET_CURRENT_DATA) , COMPONENT_METADATA (COMPONENT_METADATA_DATA) , FLIGHT_INFORMATION (FLIGHT_INFORMATION_DATA) , SAFETY_SET_ALLOWED_AREA (SAFETY_SET_ALLOWED_AREA_DATA) , CAMERA_TRACKING_GEO_STATUS (CAMERA_TRACKING_GEO_STATUS_DATA) , LANDING_TARGET (LANDING_TARGET_DATA) , COMMAND_INT (COMMAND_INT_DATA) , ATT_POS_MOCAP (ATT_POS_MOCAP_DATA) , ALTITUDE (ALTITUDE_DATA) , FOLLOW_TARGET (FOLLOW_TARGET_DATA) , SIM_STATE (SIM_STATE_DATA) , MAG_CAL_REPORT (MAG_CAL_REPORT_DATA) , GIMBAL_MANAGER_SET_MANUAL_CONTROL (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA) , HIL_ACTUATOR_CONTROLS (HIL_ACTUATOR_CONTROLS_DATA) , ACTUATOR_OUTPUT_STATUS (ACTUATOR_OUTPUT_STATUS_DATA) , COMPONENT_INFORMATION (COMPONENT_INFORMATION_DATA) , GPS2_RAW (GPS2_RAW_DATA) , BUTTON_CHANGE (BUTTON_CHANGE_DATA) , UAVCAN_NODE_INFO (UAVCAN_NODE_INFO_DATA) , GLOBAL_VISION_POSITION_ESTIMATE (GLOBAL_VISION_POSITION_ESTIMATE_DATA) , COLLISION (COLLISION_DATA) , RAW_RPM (RAW_RPM_DATA) , SERIAL_CONTROL (SERIAL_CONTROL_DATA) , CAMERA_TRIGGER (CAMERA_TRIGGER_DATA) , SET_HOME_POSITION (SET_HOME_POSITION_DATA) , CAMERA_FOV_STATUS (CAMERA_FOV_STATUS_DATA) , OPEN_DRONE_ID_ARM_STATUS (OPEN_DRONE_ID_ARM_STATUS_DATA) , VIDEO_STREAM_INFORMATION (VIDEO_STREAM_INFORMATION_DATA) , LINK_NODE_STATUS (LINK_NODE_STATUS_DATA) , HIL_STATE (HIL_STATE_DATA) , PARAM_SET (PARAM_SET_DATA) , SCALED_IMU (SCALED_IMU_DATA) , FILE_TRANSFER_PROTOCOL (FILE_TRANSFER_PROTOCOL_DATA) , TERRAIN_REQUEST (TERRAIN_REQUEST_DATA) , SCALED_PRESSURE (SCALED_PRESSURE_DATA) , GENERATOR_STATUS (GENERATOR_STATUS_DATA) , HIL_GPS (HIL_GPS_DATA) , LOG_ERASE (LOG_ERASE_DATA) , RC_CHANNELS_OVERRIDE (RC_CHANNELS_OVERRIDE_DATA) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA) , CAMERA_TRACKING_IMAGE_STATUS (CAMERA_TRACKING_IMAGE_STATUS_DATA) , MISSION_WRITE_PARTIAL_LIST (MISSION_WRITE_PARTIAL_LIST_DATA) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA) , SUPPORTED_TUNES (SUPPORTED_TUNES_DATA) , VIDEO_STREAM_STATUS (VIDEO_STREAM_STATUS_DATA) , HYGROMETER_SENSOR (HYGROMETER_SENSOR_DATA) , SCALED_PRESSURE3 (SCALED_PRESSURE3_DATA) , OBSTACLE_DISTANCE (OBSTACLE_DISTANCE_DATA) , REQUEST_DATA_STREAM (REQUEST_DATA_STREAM_DATA) , DISTANCE_SENSOR (DISTANCE_SENSOR_DATA) , LOG_REQUEST_LIST (LOG_REQUEST_LIST_DATA) , RC_CHANNELS (RC_CHANNELS_DATA) , CAN_FILTER_MODIFY (CAN_FILTER_MODIFY_DATA) , SAFETY_ALLOWED_AREA (SAFETY_ALLOWED_AREA_DATA) , ATTITUDE (ATTITUDE_DATA) , SERVO_OUTPUT_RAW (SERVO_OUTPUT_RAW_DATA) , CAMERA_CAPTURE_STATUS (CAMERA_CAPTURE_STATUS_DATA) , VFR_HUD (VFR_HUD_DATA) , NAV_CONTROLLER_OUTPUT (NAV_CONTROLLER_OUTPUT_DATA) , OPEN_DRONE_ID_BASIC_ID (OPEN_DRONE_ID_BASIC_ID_DATA) , EVENT (EVENT_DATA) , CAMERA_INFORMATION (CAMERA_INFORMATION_DATA) , PARAM_REQUEST_LIST (PARAM_REQUEST_LIST_DATA) , WHEEL_DISTANCE (WHEEL_DISTANCE_DATA) , CHANGE_OPERATOR_CONTROL (CHANGE_OPERATOR_CONTROL_DATA) , UAVCAN_NODE_STATUS (UAVCAN_NODE_STATUS_DATA) , PARAM_EXT_SET (PARAM_EXT_SET_DATA) , OPEN_DRONE_ID_SYSTEM (OPEN_DRONE_ID_SYSTEM_DATA) , MISSION_REQUEST_PARTIAL_LIST (MISSION_REQUEST_PARTIAL_LIST_DATA) , SMART_BATTERY_INFO (SMART_BATTERY_INFO_DATA) , OPTICAL_FLOW_RAD (OPTICAL_FLOW_RAD_DATA) , HIL_OPTICAL_FLOW (HIL_OPTICAL_FLOW_DATA) , LOCAL_POSITION_NED_COV (LOCAL_POSITION_NED_COV_DATA) , BATTERY_STATUS (BATTERY_STATUS_DATA) , GLOBAL_POSITION_INT (GLOBAL_POSITION_INT_DATA) , MOUNT_ORIENTATION (MOUNT_ORIENTATION_DATA) , MISSION_ITEM (MISSION_ITEM_DATA) , GPS_RTK (GPS_RTK_DATA) , HIGHRES_IMU (HIGHRES_IMU_DATA) , RESOURCE_REQUEST (RESOURCE_REQUEST_DATA) , CONTROL_SYSTEM_STATE (CONTROL_SYSTEM_STATE_DATA) , GIMBAL_DEVICE_INFORMATION (GIMBAL_DEVICE_INFORMATION_DATA) , PARAM_EXT_VALUE (PARAM_EXT_VALUE_DATA) , RAW_IMU (RAW_IMU_DATA) , TUNNEL (TUNNEL_DATA) , GPS2_RTK (GPS2_RTK_DATA) , EFI_STATUS (EFI_STATUS_DATA) , ATTITUDE_TARGET (ATTITUDE_TARGET_DATA) , GPS_INJECT_DATA (GPS_INJECT_DATA_DATA) , CELLULAR_CONFIG (CELLULAR_CONFIG_DATA) , EXTENDED_SYS_STATE (EXTENDED_SYS_STATE_DATA) , ONBOARD_COMPUTER_STATUS (ONBOARD_COMPUTER_STATUS_DATA) , SETUP_SIGNING (SETUP_SIGNING_DATA) , PARAM_MAP_RC (PARAM_MAP_RC_DATA) , HIGH_LATENCY2 (HIGH_LATENCY2_DATA) , SCALED_IMU2 (SCALED_IMU2_DATA) , POSITION_TARGET_GLOBAL_INT (POSITION_TARGET_GLOBAL_INT_DATA) , TRAJECTORY_REPRESENTATION_WAYPOINTS (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA) , VIBRATION (VIBRATION_DATA) , HIL_SENSOR (HIL_SENSOR_DATA) , WINCH_STATUS (WINCH_STATUS_DATA) , SET_MODE (SET_MODE_DATA) , RAW_PRESSURE (RAW_PRESSURE_DATA) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA) , LOG_DATA (LOG_DATA_DATA) , TIMESYNC (TIMESYNC_DATA) , RC_CHANNELS_RAW (RC_CHANNELS_RAW_DATA) , GIMBAL_MANAGER_INFORMATION (GIMBAL_MANAGER_INFORMATION_DATA) , OPEN_DRONE_ID_OPERATOR_ID (OPEN_DRONE_ID_OPERATOR_ID_DATA) , PARAM_VALUE (PARAM_VALUE_DATA) , HIL_CONTROLS (HIL_CONTROLS_DATA) , GIMBAL_DEVICE_SET_ATTITUDE (GIMBAL_DEVICE_SET_ATTITUDE_DATA) , ADSB_VEHICLE (ADSB_VEHICLE_DATA) , PARAM_EXT_REQUEST_LIST (PARAM_EXT_REQUEST_LIST_DATA) , UTM_GLOBAL_POSITION (UTM_GLOBAL_POSITION_DATA) , COMMAND_ACK (COMMAND_ACK_DATA) , ISBD_LINK_STATUS (ISBD_LINK_STATUS_DATA) , UAVIONIX_ADSB_OUT_CFG (UAVIONIX_ADSB_OUT_CFG_DATA) , AUTOPILOT_VERSION (AUTOPILOT_VERSION_DATA) , DATA_TRANSMISSION_HANDSHAKE (DATA_TRANSMISSION_HANDSHAKE_DATA) , DEBUG_FLOAT_ARRAY (DEBUG_FLOAT_ARRAY_DATA) , PLAY_TUNE_V2 (PLAY_TUNE_V2_DATA) , SET_ACTUATOR_CONTROL_TARGET (SET_ACTUATOR_CONTROL_TARGET_DATA) , REQUEST_EVENT (REQUEST_EVENT_DATA) , TRAJECTORY_REPRESENTATION_BEZIER (TRAJECTORY_REPRESENTATION_BEZIER_DATA) , NAMED_VALUE_INT (NAMED_VALUE_INT_DATA) , MISSION_REQUEST_LIST (MISSION_REQUEST_LIST_DATA) , LOG_REQUEST_DATA (LOG_REQUEST_DATA_DATA) , MESSAGE_INTERVAL (MESSAGE_INTERVAL_DATA) , VISION_POSITION_ESTIMATE (VISION_POSITION_ESTIMATE_DATA) , LOG_ENTRY (LOG_ENTRY_DATA) , AIS_VESSEL (AIS_VESSEL_DATA) , MISSION_ACK (MISSION_ACK_DATA) , RADIO_STATUS (RADIO_STATUS_DATA) , CELLULAR_STATUS (CELLULAR_STATUS_DATA) , DATA_STREAM (DATA_STREAM_DATA) , DEBUG_VECT (DEBUG_VECT_DATA) , MISSION_CURRENT (MISSION_CURRENT_DATA) , PROTOCOL_VERSION (PROTOCOL_VERSION_DATA) , GPS_INPUT (GPS_INPUT_DATA) , TIME_ESTIMATE_TO_TARGET (TIME_ESTIMATE_TO_TARGET_DATA) , MISSION_ITEM_INT (MISSION_ITEM_INT_DATA) , GPS_STATUS (GPS_STATUS_DATA) , MANUAL_SETPOINT (MANUAL_SETPOINT_DATA) , FENCE_STATUS (FENCE_STATUS_DATA) , HOME_POSITION (HOME_POSITION_DATA) , ESC_INFO (ESC_INFO_DATA) , COMMAND_CANCEL (COMMAND_CANCEL_DATA) , PARAM_EXT_REQUEST_READ (PARAM_EXT_REQUEST_READ_DATA) , PLAY_TUNE (PLAY_TUNE_DATA) , MISSION_REQUEST_INT (MISSION_REQUEST_INT_DATA) , ATTITUDE_QUATERNION_COV (ATTITUDE_QUATERNION_COV_DATA) , MISSION_ITEM_REACHED (MISSION_ITEM_REACHED_DATA) , PARAM_REQUEST_READ (PARAM_REQUEST_READ_DATA) , TERRAIN_DATA (TERRAIN_DATA_DATA) , GPS_RAW_INT (GPS_RAW_INT_DATA) , STORAGE_INFORMATION (STORAGE_INFORMATION_DATA) , RESPONSE_EVENT_ERROR (RESPONSE_EVENT_ERROR_DATA) , MANUAL_CONTROL (MANUAL_CONTROL_DATA) , NAMED_VALUE_FLOAT (NAMED_VALUE_FLOAT_DATA) , GIMBAL_MANAGER_STATUS (GIMBAL_MANAGER_STATUS_DATA) , SET_GPS_GLOBAL_ORIGIN (SET_GPS_GLOBAL_ORIGIN_DATA) , LOGGING_DATA (LOGGING_DATA_DATA) , STATUSTEXT (STATUSTEXT_DATA) , CHANGE_OPERATOR_CONTROL_ACK (CHANGE_OPERATOR_CONTROL_ACK_DATA) , ESTIMATOR_STATUS (ESTIMATOR_STATUS_DATA) , CAMERA_IMAGE_CAPTURED (CAMERA_IMAGE_CAPTURED_DATA) , PARAM_EXT_ACK (PARAM_EXT_ACK_DATA) , ACTUATOR_CONTROL_TARGET (ACTUATOR_CONTROL_TARGET_DATA) , SET_POSITION_TARGET_LOCAL_NED (SET_POSITION_TARGET_LOCAL_NED_DATA) , CAN_FRAME (CAN_FRAME_DATA) , COMMAND_LONG (COMMAND_LONG_DATA) , UAVIONIX_ADSB_OUT_DYNAMIC (UAVIONIX_ADSB_OUT_DYNAMIC_DATA) , HEARTBEAT (HEARTBEAT_DATA) , ATTITUDE_QUATERNION (ATTITUDE_QUATERNION_DATA) , VICON_POSITION_ESTIMATE (VICON_POSITION_ESTIMATE_DATA) , ORBIT_EXECUTION_STATUS (ORBIT_EXECUTION_STATUS_DATA) , GIMBAL_MANAGER_SET_PITCHYAW (GIMBAL_MANAGER_SET_PITCHYAW_DATA) , SCALED_PRESSURE2 (SCALED_PRESSURE2_DATA) , OPEN_DRONE_ID_MESSAGE_PACK (OPEN_DRONE_ID_MESSAGE_PACK_DATA) , ODOMETRY (ODOMETRY_DATA) , CAMERA_SETTINGS (CAMERA_SETTINGS_DATA) , MISSION_CLEAR_ALL (MISSION_CLEAR_ALL_DATA) , GIMBAL_MANAGER_SET_ATTITUDE (GIMBAL_MANAGER_SET_ATTITUDE_DATA) , VISION_SPEED_ESTIMATE (VISION_SPEED_ESTIMATE_DATA) , OPEN_DRONE_ID_AUTHENTICATION (OPEN_DRONE_ID_AUTHENTICATION_DATA) , TERRAIN_REPORT (TERRAIN_REPORT_DATA) , LOCAL_POSITION_NED (LOCAL_POSITION_NED_DATA) , DEBUG (DEBUG_DATA) , GIMBAL_DEVICE_ATTITUDE_STATUS (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA) , GPS_GLOBAL_ORIGIN (GPS_GLOBAL_ORIGIN_DATA) , MISSION_COUNT (MISSION_COUNT_DATA) , HIGH_LATENCY (HIGH_LATENCY_DATA) , SET_POSITION_TARGET_GLOBAL_INT (SET_POSITION_TARGET_GLOBAL_INT_DATA) , CURRENT_EVENT_SEQUENCE (CURRENT_EVENT_SEQUENCE_DATA) , MEMORY_VECT (MEMORY_VECT_DATA) , MISSION_REQUEST (MISSION_REQUEST_DATA) , V2_EXTENSION (V2_EXTENSION_DATA) , ESC_STATUS (ESC_STATUS_DATA) , LOGGING_DATA_ACKED (LOGGING_DATA_ACKED_DATA) , CANFD_FRAME (CANFD_FRAME_DATA) , SCALED_IMU3 (SCALED_IMU3_DATA) , GLOBAL_POSITION_INT_COV (GLOBAL_POSITION_INT_COV_DATA) , HIL_STATE_QUATERNION (HIL_STATE_QUATERNION_DATA) , AUTH_KEY (AUTH_KEY_DATA) , OPEN_DRONE_ID_LOCATION (OPEN_DRONE_ID_LOCATION_DATA) , LOGGING_ACK (LOGGING_ACK_DATA) , OPEN_DRONE_ID_SYSTEM_UPDATE (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA) , SYSTEM_TIME (SYSTEM_TIME_DATA) , SET_ATTITUDE_TARGET (SET_ATTITUDE_TARGET_DATA) , POSITION_TARGET_LOCAL_NED (POSITION_TARGET_LOCAL_NED_DATA) , TERRAIN_CHECK (TERRAIN_CHECK_DATA) , SYS_STATUS (SYS_STATUS_DATA) , WIFI_CONFIG_AP (WIFI_CONFIG_AP_DATA) , PING (PING_DATA) , RC_CHANNELS_SCALED (RC_CHANNELS_SCALED_DATA) , OPTICAL_FLOW (OPTICAL_FLOW_DATA) , OPEN_DRONE_ID_SELF_ID (OPEN_DRONE_ID_SELF_ID_DATA) , } impl Message for MavMessage { fn parse (version : MavlinkVersion , id : u32 , payload : & [u8]) -> Result < Self , ParserError > { match id { POWER_STATUS_DATA :: ID => POWER_STATUS_DATA :: deser (version , payload) . map (Self :: POWER_STATUS) , GPS_RTCM_DATA_DATA :: ID => GPS_RTCM_DATA_DATA :: deser (version , payload) . map (Self :: GPS_RTCM_DATA) , WIND_COV_DATA :: ID => WIND_COV_DATA :: deser (version , payload) . map (Self :: WIND_COV) , HIL_RC_INPUTS_RAW_DATA :: ID => HIL_RC_INPUTS_RAW_DATA :: deser (version , payload) . map (Self :: HIL_RC_INPUTS_RAW) , ENCAPSULATED_DATA_DATA :: ID => ENCAPSULATED_DATA_DATA :: deser (version , payload) . map (Self :: ENCAPSULATED_DATA) , LOG_REQUEST_END_DATA :: ID => LOG_REQUEST_END_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_END) , MISSION_SET_CURRENT_DATA :: ID => MISSION_SET_CURRENT_DATA :: deser (version , payload) . map (Self :: MISSION_SET_CURRENT) , COMPONENT_METADATA_DATA :: ID => COMPONENT_METADATA_DATA :: deser (version , payload) . map (Self :: COMPONENT_METADATA) , FLIGHT_INFORMATION_DATA :: ID => FLIGHT_INFORMATION_DATA :: deser (version , payload) . map (Self :: FLIGHT_INFORMATION) , SAFETY_SET_ALLOWED_AREA_DATA :: ID => SAFETY_SET_ALLOWED_AREA_DATA :: deser (version , payload) . map (Self :: SAFETY_SET_ALLOWED_AREA) , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => CAMERA_TRACKING_GEO_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_TRACKING_GEO_STATUS) , LANDING_TARGET_DATA :: ID => LANDING_TARGET_DATA :: deser (version , payload) . map (Self :: LANDING_TARGET) , COMMAND_INT_DATA :: ID => COMMAND_INT_DATA :: deser (version , payload) . map (Self :: COMMAND_INT) , ATT_POS_MOCAP_DATA :: ID => ATT_POS_MOCAP_DATA :: deser (version , payload) . map (Self :: ATT_POS_MOCAP) , ALTITUDE_DATA :: ID => ALTITUDE_DATA :: deser (version , payload) . map (Self :: ALTITUDE) , FOLLOW_TARGET_DATA :: ID => FOLLOW_TARGET_DATA :: deser (version , payload) . map (Self :: FOLLOW_TARGET) , SIM_STATE_DATA :: ID => SIM_STATE_DATA :: deser (version , payload) . map (Self :: SIM_STATE) , MAG_CAL_REPORT_DATA :: ID => MAG_CAL_REPORT_DATA :: deser (version , payload) . map (Self :: MAG_CAL_REPORT) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL) , HIL_ACTUATOR_CONTROLS_DATA :: ID => HIL_ACTUATOR_CONTROLS_DATA :: deser (version , payload) . map (Self :: HIL_ACTUATOR_CONTROLS) , ACTUATOR_OUTPUT_STATUS_DATA :: ID => ACTUATOR_OUTPUT_STATUS_DATA :: deser (version , payload) . map (Self :: ACTUATOR_OUTPUT_STATUS) , COMPONENT_INFORMATION_DATA :: ID => COMPONENT_INFORMATION_DATA :: deser (version , payload) . map (Self :: COMPONENT_INFORMATION) , GPS2_RAW_DATA :: ID => GPS2_RAW_DATA :: deser (version , payload) . map (Self :: GPS2_RAW) , BUTTON_CHANGE_DATA :: ID => BUTTON_CHANGE_DATA :: deser (version , payload) . map (Self :: BUTTON_CHANGE) , UAVCAN_NODE_INFO_DATA :: ID => UAVCAN_NODE_INFO_DATA :: deser (version , payload) . map (Self :: UAVCAN_NODE_INFO) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: GLOBAL_VISION_POSITION_ESTIMATE) , COLLISION_DATA :: ID => COLLISION_DATA :: deser (version , payload) . map (Self :: COLLISION) , RAW_RPM_DATA :: ID => RAW_RPM_DATA :: deser (version , payload) . map (Self :: RAW_RPM) , SERIAL_CONTROL_DATA :: ID => SERIAL_CONTROL_DATA :: deser (version , payload) . map (Self :: SERIAL_CONTROL) , CAMERA_TRIGGER_DATA :: ID => CAMERA_TRIGGER_DATA :: deser (version , payload) . map (Self :: CAMERA_TRIGGER) , SET_HOME_POSITION_DATA :: ID => SET_HOME_POSITION_DATA :: deser (version , payload) . map (Self :: SET_HOME_POSITION) , CAMERA_FOV_STATUS_DATA :: ID => CAMERA_FOV_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_FOV_STATUS) , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => OPEN_DRONE_ID_ARM_STATUS_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_ARM_STATUS) , VIDEO_STREAM_INFORMATION_DATA :: ID => VIDEO_STREAM_INFORMATION_DATA :: deser (version , payload) . map (Self :: VIDEO_STREAM_INFORMATION) , LINK_NODE_STATUS_DATA :: ID => LINK_NODE_STATUS_DATA :: deser (version , payload) . map (Self :: LINK_NODE_STATUS) , HIL_STATE_DATA :: ID => HIL_STATE_DATA :: deser (version , payload) . map (Self :: HIL_STATE) , PARAM_SET_DATA :: ID => PARAM_SET_DATA :: deser (version , payload) . map (Self :: PARAM_SET) , SCALED_IMU_DATA :: ID => SCALED_IMU_DATA :: deser (version , payload) . map (Self :: SCALED_IMU) , FILE_TRANSFER_PROTOCOL_DATA :: ID => FILE_TRANSFER_PROTOCOL_DATA :: deser (version , payload) . map (Self :: FILE_TRANSFER_PROTOCOL) , TERRAIN_REQUEST_DATA :: ID => TERRAIN_REQUEST_DATA :: deser (version , payload) . map (Self :: TERRAIN_REQUEST) , SCALED_PRESSURE_DATA :: ID => SCALED_PRESSURE_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE) , GENERATOR_STATUS_DATA :: ID => GENERATOR_STATUS_DATA :: deser (version , payload) . map (Self :: GENERATOR_STATUS) , HIL_GPS_DATA :: ID => HIL_GPS_DATA :: deser (version , payload) . map (Self :: HIL_GPS) , LOG_ERASE_DATA :: ID => LOG_ERASE_DATA :: deser (version , payload) . map (Self :: LOG_ERASE) , RC_CHANNELS_OVERRIDE_DATA :: ID => RC_CHANNELS_OVERRIDE_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_OVERRIDE) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: deser (version , payload) . map (Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => CAMERA_TRACKING_IMAGE_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_TRACKING_IMAGE_STATUS) , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => MISSION_WRITE_PARTIAL_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_WRITE_PARTIAL_LIST) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET) , SUPPORTED_TUNES_DATA :: ID => SUPPORTED_TUNES_DATA :: deser (version , payload) . map (Self :: SUPPORTED_TUNES) , VIDEO_STREAM_STATUS_DATA :: ID => VIDEO_STREAM_STATUS_DATA :: deser (version , payload) . map (Self :: VIDEO_STREAM_STATUS) , HYGROMETER_SENSOR_DATA :: ID => HYGROMETER_SENSOR_DATA :: deser (version , payload) . map (Self :: HYGROMETER_SENSOR) , SCALED_PRESSURE3_DATA :: ID => SCALED_PRESSURE3_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE3) , OBSTACLE_DISTANCE_DATA :: ID => OBSTACLE_DISTANCE_DATA :: deser (version , payload) . map (Self :: OBSTACLE_DISTANCE) , REQUEST_DATA_STREAM_DATA :: ID => REQUEST_DATA_STREAM_DATA :: deser (version , payload) . map (Self :: REQUEST_DATA_STREAM) , DISTANCE_SENSOR_DATA :: ID => DISTANCE_SENSOR_DATA :: deser (version , payload) . map (Self :: DISTANCE_SENSOR) , LOG_REQUEST_LIST_DATA :: ID => LOG_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_LIST) , RC_CHANNELS_DATA :: ID => RC_CHANNELS_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS) , CAN_FILTER_MODIFY_DATA :: ID => CAN_FILTER_MODIFY_DATA :: deser (version , payload) . map (Self :: CAN_FILTER_MODIFY) , SAFETY_ALLOWED_AREA_DATA :: ID => SAFETY_ALLOWED_AREA_DATA :: deser (version , payload) . map (Self :: SAFETY_ALLOWED_AREA) , ATTITUDE_DATA :: ID => ATTITUDE_DATA :: deser (version , payload) . map (Self :: ATTITUDE) , SERVO_OUTPUT_RAW_DATA :: ID => SERVO_OUTPUT_RAW_DATA :: deser (version , payload) . map (Self :: SERVO_OUTPUT_RAW) , CAMERA_CAPTURE_STATUS_DATA :: ID => CAMERA_CAPTURE_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_CAPTURE_STATUS) , VFR_HUD_DATA :: ID => VFR_HUD_DATA :: deser (version , payload) . map (Self :: VFR_HUD) , NAV_CONTROLLER_OUTPUT_DATA :: ID => NAV_CONTROLLER_OUTPUT_DATA :: deser (version , payload) . map (Self :: NAV_CONTROLLER_OUTPUT) , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => OPEN_DRONE_ID_BASIC_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_BASIC_ID) , EVENT_DATA :: ID => EVENT_DATA :: deser (version , payload) . map (Self :: EVENT) , CAMERA_INFORMATION_DATA :: ID => CAMERA_INFORMATION_DATA :: deser (version , payload) . map (Self :: CAMERA_INFORMATION) , PARAM_REQUEST_LIST_DATA :: ID => PARAM_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: PARAM_REQUEST_LIST) , WHEEL_DISTANCE_DATA :: ID => WHEEL_DISTANCE_DATA :: deser (version , payload) . map (Self :: WHEEL_DISTANCE) , CHANGE_OPERATOR_CONTROL_DATA :: ID => CHANGE_OPERATOR_CONTROL_DATA :: deser (version , payload) . map (Self :: CHANGE_OPERATOR_CONTROL) , UAVCAN_NODE_STATUS_DATA :: ID => UAVCAN_NODE_STATUS_DATA :: deser (version , payload) . map (Self :: UAVCAN_NODE_STATUS) , PARAM_EXT_SET_DATA :: ID => PARAM_EXT_SET_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_SET) , OPEN_DRONE_ID_SYSTEM_DATA :: ID => OPEN_DRONE_ID_SYSTEM_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SYSTEM) , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => MISSION_REQUEST_PARTIAL_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_PARTIAL_LIST) , SMART_BATTERY_INFO_DATA :: ID => SMART_BATTERY_INFO_DATA :: deser (version , payload) . map (Self :: SMART_BATTERY_INFO) , OPTICAL_FLOW_RAD_DATA :: ID => OPTICAL_FLOW_RAD_DATA :: deser (version , payload) . map (Self :: OPTICAL_FLOW_RAD) , HIL_OPTICAL_FLOW_DATA :: ID => HIL_OPTICAL_FLOW_DATA :: deser (version , payload) . map (Self :: HIL_OPTICAL_FLOW) , LOCAL_POSITION_NED_COV_DATA :: ID => LOCAL_POSITION_NED_COV_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED_COV) , BATTERY_STATUS_DATA :: ID => BATTERY_STATUS_DATA :: deser (version , payload) . map (Self :: BATTERY_STATUS) , GLOBAL_POSITION_INT_DATA :: ID => GLOBAL_POSITION_INT_DATA :: deser (version , payload) . map (Self :: GLOBAL_POSITION_INT) , MOUNT_ORIENTATION_DATA :: ID => MOUNT_ORIENTATION_DATA :: deser (version , payload) . map (Self :: MOUNT_ORIENTATION) , MISSION_ITEM_DATA :: ID => MISSION_ITEM_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM) , GPS_RTK_DATA :: ID => GPS_RTK_DATA :: deser (version , payload) . map (Self :: GPS_RTK) , HIGHRES_IMU_DATA :: ID => HIGHRES_IMU_DATA :: deser (version , payload) . map (Self :: HIGHRES_IMU) , RESOURCE_REQUEST_DATA :: ID => RESOURCE_REQUEST_DATA :: deser (version , payload) . map (Self :: RESOURCE_REQUEST) , CONTROL_SYSTEM_STATE_DATA :: ID => CONTROL_SYSTEM_STATE_DATA :: deser (version , payload) . map (Self :: CONTROL_SYSTEM_STATE) , GIMBAL_DEVICE_INFORMATION_DATA :: ID => GIMBAL_DEVICE_INFORMATION_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_INFORMATION) , PARAM_EXT_VALUE_DATA :: ID => PARAM_EXT_VALUE_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_VALUE) , RAW_IMU_DATA :: ID => RAW_IMU_DATA :: deser (version , payload) . map (Self :: RAW_IMU) , TUNNEL_DATA :: ID => TUNNEL_DATA :: deser (version , payload) . map (Self :: TUNNEL) , GPS2_RTK_DATA :: ID => GPS2_RTK_DATA :: deser (version , payload) . map (Self :: GPS2_RTK) , EFI_STATUS_DATA :: ID => EFI_STATUS_DATA :: deser (version , payload) . map (Self :: EFI_STATUS) , ATTITUDE_TARGET_DATA :: ID => ATTITUDE_TARGET_DATA :: deser (version , payload) . map (Self :: ATTITUDE_TARGET) , GPS_INJECT_DATA_DATA :: ID => GPS_INJECT_DATA_DATA :: deser (version , payload) . map (Self :: GPS_INJECT_DATA) , CELLULAR_CONFIG_DATA :: ID => CELLULAR_CONFIG_DATA :: deser (version , payload) . map (Self :: CELLULAR_CONFIG) , EXTENDED_SYS_STATE_DATA :: ID => EXTENDED_SYS_STATE_DATA :: deser (version , payload) . map (Self :: EXTENDED_SYS_STATE) , ONBOARD_COMPUTER_STATUS_DATA :: ID => ONBOARD_COMPUTER_STATUS_DATA :: deser (version , payload) . map (Self :: ONBOARD_COMPUTER_STATUS) , SETUP_SIGNING_DATA :: ID => SETUP_SIGNING_DATA :: deser (version , payload) . map (Self :: SETUP_SIGNING) , PARAM_MAP_RC_DATA :: ID => PARAM_MAP_RC_DATA :: deser (version , payload) . map (Self :: PARAM_MAP_RC) , HIGH_LATENCY2_DATA :: ID => HIGH_LATENCY2_DATA :: deser (version , payload) . map (Self :: HIGH_LATENCY2) , SCALED_IMU2_DATA :: ID => SCALED_IMU2_DATA :: deser (version , payload) . map (Self :: SCALED_IMU2) , POSITION_TARGET_GLOBAL_INT_DATA :: ID => POSITION_TARGET_GLOBAL_INT_DATA :: deser (version , payload) . map (Self :: POSITION_TARGET_GLOBAL_INT) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: deser (version , payload) . map (Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS) , VIBRATION_DATA :: ID => VIBRATION_DATA :: deser (version , payload) . map (Self :: VIBRATION) , HIL_SENSOR_DATA :: ID => HIL_SENSOR_DATA :: deser (version , payload) . map (Self :: HIL_SENSOR) , WINCH_STATUS_DATA :: ID => WINCH_STATUS_DATA :: deser (version , payload) . map (Self :: WINCH_STATUS) , SET_MODE_DATA :: ID => SET_MODE_DATA :: deser (version , payload) . map (Self :: SET_MODE) , RAW_PRESSURE_DATA :: ID => RAW_PRESSURE_DATA :: deser (version , payload) . map (Self :: RAW_PRESSURE) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE) , LOG_DATA_DATA :: ID => LOG_DATA_DATA :: deser (version , payload) . map (Self :: LOG_DATA) , TIMESYNC_DATA :: ID => TIMESYNC_DATA :: deser (version , payload) . map (Self :: TIMESYNC) , RC_CHANNELS_RAW_DATA :: ID => RC_CHANNELS_RAW_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_RAW) , GIMBAL_MANAGER_INFORMATION_DATA :: ID => GIMBAL_MANAGER_INFORMATION_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_INFORMATION) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => OPEN_DRONE_ID_OPERATOR_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_OPERATOR_ID) , PARAM_VALUE_DATA :: ID => PARAM_VALUE_DATA :: deser (version , payload) . map (Self :: PARAM_VALUE) , HIL_CONTROLS_DATA :: ID => HIL_CONTROLS_DATA :: deser (version , payload) . map (Self :: HIL_CONTROLS) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_SET_ATTITUDE) , ADSB_VEHICLE_DATA :: ID => ADSB_VEHICLE_DATA :: deser (version , payload) . map (Self :: ADSB_VEHICLE) , PARAM_EXT_REQUEST_LIST_DATA :: ID => PARAM_EXT_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_REQUEST_LIST) , UTM_GLOBAL_POSITION_DATA :: ID => UTM_GLOBAL_POSITION_DATA :: deser (version , payload) . map (Self :: UTM_GLOBAL_POSITION) , COMMAND_ACK_DATA :: ID => COMMAND_ACK_DATA :: deser (version , payload) . map (Self :: COMMAND_ACK) , ISBD_LINK_STATUS_DATA :: ID => ISBD_LINK_STATUS_DATA :: deser (version , payload) . map (Self :: ISBD_LINK_STATUS) , UAVIONIX_ADSB_OUT_CFG_DATA :: ID => UAVIONIX_ADSB_OUT_CFG_DATA :: deser (version , payload) . map (Self :: UAVIONIX_ADSB_OUT_CFG) , AUTOPILOT_VERSION_DATA :: ID => AUTOPILOT_VERSION_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_VERSION) , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => DATA_TRANSMISSION_HANDSHAKE_DATA :: deser (version , payload) . map (Self :: DATA_TRANSMISSION_HANDSHAKE) , DEBUG_FLOAT_ARRAY_DATA :: ID => DEBUG_FLOAT_ARRAY_DATA :: deser (version , payload) . map (Self :: DEBUG_FLOAT_ARRAY) , PLAY_TUNE_V2_DATA :: ID => PLAY_TUNE_V2_DATA :: deser (version , payload) . map (Self :: PLAY_TUNE_V2) , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => SET_ACTUATOR_CONTROL_TARGET_DATA :: deser (version , payload) . map (Self :: SET_ACTUATOR_CONTROL_TARGET) , REQUEST_EVENT_DATA :: ID => REQUEST_EVENT_DATA :: deser (version , payload) . map (Self :: REQUEST_EVENT) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: deser (version , payload) . map (Self :: TRAJECTORY_REPRESENTATION_BEZIER) , NAMED_VALUE_INT_DATA :: ID => NAMED_VALUE_INT_DATA :: deser (version , payload) . map (Self :: NAMED_VALUE_INT) , MISSION_REQUEST_LIST_DATA :: ID => MISSION_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_LIST) , LOG_REQUEST_DATA_DATA :: ID => LOG_REQUEST_DATA_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_DATA) , MESSAGE_INTERVAL_DATA :: ID => MESSAGE_INTERVAL_DATA :: deser (version , payload) . map (Self :: MESSAGE_INTERVAL) , VISION_POSITION_ESTIMATE_DATA :: ID => VISION_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VISION_POSITION_ESTIMATE) , LOG_ENTRY_DATA :: ID => LOG_ENTRY_DATA :: deser (version , payload) . map (Self :: LOG_ENTRY) , AIS_VESSEL_DATA :: ID => AIS_VESSEL_DATA :: deser (version , payload) . map (Self :: AIS_VESSEL) , MISSION_ACK_DATA :: ID => MISSION_ACK_DATA :: deser (version , payload) . map (Self :: MISSION_ACK) , RADIO_STATUS_DATA :: ID => RADIO_STATUS_DATA :: deser (version , payload) . map (Self :: RADIO_STATUS) , CELLULAR_STATUS_DATA :: ID => CELLULAR_STATUS_DATA :: deser (version , payload) . map (Self :: CELLULAR_STATUS) , DATA_STREAM_DATA :: ID => DATA_STREAM_DATA :: deser (version , payload) . map (Self :: DATA_STREAM) , DEBUG_VECT_DATA :: ID => DEBUG_VECT_DATA :: deser (version , payload) . map (Self :: DEBUG_VECT) , MISSION_CURRENT_DATA :: ID => MISSION_CURRENT_DATA :: deser (version , payload) . map (Self :: MISSION_CURRENT) , PROTOCOL_VERSION_DATA :: ID => PROTOCOL_VERSION_DATA :: deser (version , payload) . map (Self :: PROTOCOL_VERSION) , GPS_INPUT_DATA :: ID => GPS_INPUT_DATA :: deser (version , payload) . map (Self :: GPS_INPUT) , TIME_ESTIMATE_TO_TARGET_DATA :: ID => TIME_ESTIMATE_TO_TARGET_DATA :: deser (version , payload) . map (Self :: TIME_ESTIMATE_TO_TARGET) , MISSION_ITEM_INT_DATA :: ID => MISSION_ITEM_INT_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM_INT) , GPS_STATUS_DATA :: ID => GPS_STATUS_DATA :: deser (version , payload) . map (Self :: GPS_STATUS) , MANUAL_SETPOINT_DATA :: ID => MANUAL_SETPOINT_DATA :: deser (version , payload) . map (Self :: MANUAL_SETPOINT) , FENCE_STATUS_DATA :: ID => FENCE_STATUS_DATA :: deser (version , payload) . map (Self :: FENCE_STATUS) , HOME_POSITION_DATA :: ID => HOME_POSITION_DATA :: deser (version , payload) . map (Self :: HOME_POSITION) , ESC_INFO_DATA :: ID => ESC_INFO_DATA :: deser (version , payload) . map (Self :: ESC_INFO) , COMMAND_CANCEL_DATA :: ID => COMMAND_CANCEL_DATA :: deser (version , payload) . map (Self :: COMMAND_CANCEL) , PARAM_EXT_REQUEST_READ_DATA :: ID => PARAM_EXT_REQUEST_READ_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_REQUEST_READ) , PLAY_TUNE_DATA :: ID => PLAY_TUNE_DATA :: deser (version , payload) . map (Self :: PLAY_TUNE) , MISSION_REQUEST_INT_DATA :: ID => MISSION_REQUEST_INT_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_INT) , ATTITUDE_QUATERNION_COV_DATA :: ID => ATTITUDE_QUATERNION_COV_DATA :: deser (version , payload) . map (Self :: ATTITUDE_QUATERNION_COV) , MISSION_ITEM_REACHED_DATA :: ID => MISSION_ITEM_REACHED_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM_REACHED) , PARAM_REQUEST_READ_DATA :: ID => PARAM_REQUEST_READ_DATA :: deser (version , payload) . map (Self :: PARAM_REQUEST_READ) , TERRAIN_DATA_DATA :: ID => TERRAIN_DATA_DATA :: deser (version , payload) . map (Self :: TERRAIN_DATA) , GPS_RAW_INT_DATA :: ID => GPS_RAW_INT_DATA :: deser (version , payload) . map (Self :: GPS_RAW_INT) , STORAGE_INFORMATION_DATA :: ID => STORAGE_INFORMATION_DATA :: deser (version , payload) . map (Self :: STORAGE_INFORMATION) , RESPONSE_EVENT_ERROR_DATA :: ID => RESPONSE_EVENT_ERROR_DATA :: deser (version , payload) . map (Self :: RESPONSE_EVENT_ERROR) , MANUAL_CONTROL_DATA :: ID => MANUAL_CONTROL_DATA :: deser (version , payload) . map (Self :: MANUAL_CONTROL) , NAMED_VALUE_FLOAT_DATA :: ID => NAMED_VALUE_FLOAT_DATA :: deser (version , payload) . map (Self :: NAMED_VALUE_FLOAT) , GIMBAL_MANAGER_STATUS_DATA :: ID => GIMBAL_MANAGER_STATUS_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_STATUS) , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => SET_GPS_GLOBAL_ORIGIN_DATA :: deser (version , payload) . map (Self :: SET_GPS_GLOBAL_ORIGIN) , LOGGING_DATA_DATA :: ID => LOGGING_DATA_DATA :: deser (version , payload) . map (Self :: LOGGING_DATA) , STATUSTEXT_DATA :: ID => STATUSTEXT_DATA :: deser (version , payload) . map (Self :: STATUSTEXT) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => CHANGE_OPERATOR_CONTROL_ACK_DATA :: deser (version , payload) . map (Self :: CHANGE_OPERATOR_CONTROL_ACK) , ESTIMATOR_STATUS_DATA :: ID => ESTIMATOR_STATUS_DATA :: deser (version , payload) . map (Self :: ESTIMATOR_STATUS) , CAMERA_IMAGE_CAPTURED_DATA :: ID => CAMERA_IMAGE_CAPTURED_DATA :: deser (version , payload) . map (Self :: CAMERA_IMAGE_CAPTURED) , PARAM_EXT_ACK_DATA :: ID => PARAM_EXT_ACK_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_ACK) , ACTUATOR_CONTROL_TARGET_DATA :: ID => ACTUATOR_CONTROL_TARGET_DATA :: deser (version , payload) . map (Self :: ACTUATOR_CONTROL_TARGET) , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => SET_POSITION_TARGET_LOCAL_NED_DATA :: deser (version , payload) . map (Self :: SET_POSITION_TARGET_LOCAL_NED) , CAN_FRAME_DATA :: ID => CAN_FRAME_DATA :: deser (version , payload) . map (Self :: CAN_FRAME) , COMMAND_LONG_DATA :: ID => COMMAND_LONG_DATA :: deser (version , payload) . map (Self :: COMMAND_LONG) , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: deser (version , payload) . map (Self :: UAVIONIX_ADSB_OUT_DYNAMIC) , HEARTBEAT_DATA :: ID => HEARTBEAT_DATA :: deser (version , payload) . map (Self :: HEARTBEAT) , ATTITUDE_QUATERNION_DATA :: ID => ATTITUDE_QUATERNION_DATA :: deser (version , payload) . map (Self :: ATTITUDE_QUATERNION) , VICON_POSITION_ESTIMATE_DATA :: ID => VICON_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VICON_POSITION_ESTIMATE) , ORBIT_EXECUTION_STATUS_DATA :: ID => ORBIT_EXECUTION_STATUS_DATA :: deser (version , payload) . map (Self :: ORBIT_EXECUTION_STATUS) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_PITCHYAW) , SCALED_PRESSURE2_DATA :: ID => SCALED_PRESSURE2_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE2) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_MESSAGE_PACK) , ODOMETRY_DATA :: ID => ODOMETRY_DATA :: deser (version , payload) . map (Self :: ODOMETRY) , CAMERA_SETTINGS_DATA :: ID => CAMERA_SETTINGS_DATA :: deser (version , payload) . map (Self :: CAMERA_SETTINGS) , MISSION_CLEAR_ALL_DATA :: ID => MISSION_CLEAR_ALL_DATA :: deser (version , payload) . map (Self :: MISSION_CLEAR_ALL) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_ATTITUDE) , VISION_SPEED_ESTIMATE_DATA :: ID => VISION_SPEED_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VISION_SPEED_ESTIMATE) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => OPEN_DRONE_ID_AUTHENTICATION_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_AUTHENTICATION) , TERRAIN_REPORT_DATA :: ID => TERRAIN_REPORT_DATA :: deser (version , payload) . map (Self :: TERRAIN_REPORT) , LOCAL_POSITION_NED_DATA :: ID => LOCAL_POSITION_NED_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED) , DEBUG_DATA :: ID => DEBUG_DATA :: deser (version , payload) . map (Self :: DEBUG) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_ATTITUDE_STATUS) , GPS_GLOBAL_ORIGIN_DATA :: ID => GPS_GLOBAL_ORIGIN_DATA :: deser (version , payload) . map (Self :: GPS_GLOBAL_ORIGIN) , MISSION_COUNT_DATA :: ID => MISSION_COUNT_DATA :: deser (version , payload) . map (Self :: MISSION_COUNT) , HIGH_LATENCY_DATA :: ID => HIGH_LATENCY_DATA :: deser (version , payload) . map (Self :: HIGH_LATENCY) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => SET_POSITION_TARGET_GLOBAL_INT_DATA :: deser (version , payload) . map (Self :: SET_POSITION_TARGET_GLOBAL_INT) , CURRENT_EVENT_SEQUENCE_DATA :: ID => CURRENT_EVENT_SEQUENCE_DATA :: deser (version , payload) . map (Self :: CURRENT_EVENT_SEQUENCE) , MEMORY_VECT_DATA :: ID => MEMORY_VECT_DATA :: deser (version , payload) . map (Self :: MEMORY_VECT) , MISSION_REQUEST_DATA :: ID => MISSION_REQUEST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST) , V2_EXTENSION_DATA :: ID => V2_EXTENSION_DATA :: deser (version , payload) . map (Self :: V2_EXTENSION) , ESC_STATUS_DATA :: ID => ESC_STATUS_DATA :: deser (version , payload) . map (Self :: ESC_STATUS) , LOGGING_DATA_ACKED_DATA :: ID => LOGGING_DATA_ACKED_DATA :: deser (version , payload) . map (Self :: LOGGING_DATA_ACKED) , CANFD_FRAME_DATA :: ID => CANFD_FRAME_DATA :: deser (version , payload) . map (Self :: CANFD_FRAME) , SCALED_IMU3_DATA :: ID => SCALED_IMU3_DATA :: deser (version , payload) . map (Self :: SCALED_IMU3) , GLOBAL_POSITION_INT_COV_DATA :: ID => GLOBAL_POSITION_INT_COV_DATA :: deser (version , payload) . map (Self :: GLOBAL_POSITION_INT_COV) , HIL_STATE_QUATERNION_DATA :: ID => HIL_STATE_QUATERNION_DATA :: deser (version , payload) . map (Self :: HIL_STATE_QUATERNION) , AUTH_KEY_DATA :: ID => AUTH_KEY_DATA :: deser (version , payload) . map (Self :: AUTH_KEY) , OPEN_DRONE_ID_LOCATION_DATA :: ID => OPEN_DRONE_ID_LOCATION_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_LOCATION) , LOGGING_ACK_DATA :: ID => LOGGING_ACK_DATA :: deser (version , payload) . map (Self :: LOGGING_ACK) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SYSTEM_UPDATE) , SYSTEM_TIME_DATA :: ID => SYSTEM_TIME_DATA :: deser (version , payload) . map (Self :: SYSTEM_TIME) , SET_ATTITUDE_TARGET_DATA :: ID => SET_ATTITUDE_TARGET_DATA :: deser (version , payload) . map (Self :: SET_ATTITUDE_TARGET) , POSITION_TARGET_LOCAL_NED_DATA :: ID => POSITION_TARGET_LOCAL_NED_DATA :: deser (version , payload) . map (Self :: POSITION_TARGET_LOCAL_NED) , TERRAIN_CHECK_DATA :: ID => TERRAIN_CHECK_DATA :: deser (version , payload) . map (Self :: TERRAIN_CHECK) , SYS_STATUS_DATA :: ID => SYS_STATUS_DATA :: deser (version , payload) . map (Self :: SYS_STATUS) , WIFI_CONFIG_AP_DATA :: ID => WIFI_CONFIG_AP_DATA :: deser (version , payload) . map (Self :: WIFI_CONFIG_AP) , PING_DATA :: ID => PING_DATA :: deser (version , payload) . map (Self :: PING) , RC_CHANNELS_SCALED_DATA :: ID => RC_CHANNELS_SCALED_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_SCALED) , OPTICAL_FLOW_DATA :: ID => OPTICAL_FLOW_DATA :: deser (version , payload) . map (Self :: OPTICAL_FLOW) , OPEN_DRONE_ID_SELF_ID_DATA :: ID => OPEN_DRONE_ID_SELF_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SELF_ID) , _ => { Err (ParserError :: UnknownMessage { id }) } , } } fn message_name (& self) -> & 'static str { match self { Self :: POWER_STATUS (..) => POWER_STATUS_DATA :: NAME , Self :: GPS_RTCM_DATA (..) => GPS_RTCM_DATA_DATA :: NAME , Self :: WIND_COV (..) => WIND_COV_DATA :: NAME , Self :: HIL_RC_INPUTS_RAW (..) => HIL_RC_INPUTS_RAW_DATA :: NAME , Self :: ENCAPSULATED_DATA (..) => ENCAPSULATED_DATA_DATA :: NAME , Self :: LOG_REQUEST_END (..) => LOG_REQUEST_END_DATA :: NAME , Self :: MISSION_SET_CURRENT (..) => MISSION_SET_CURRENT_DATA :: NAME , Self :: COMPONENT_METADATA (..) => COMPONENT_METADATA_DATA :: NAME , Self :: FLIGHT_INFORMATION (..) => FLIGHT_INFORMATION_DATA :: NAME , Self :: SAFETY_SET_ALLOWED_AREA (..) => SAFETY_SET_ALLOWED_AREA_DATA :: NAME , Self :: CAMERA_TRACKING_GEO_STATUS (..) => CAMERA_TRACKING_GEO_STATUS_DATA :: NAME , Self :: LANDING_TARGET (..) => LANDING_TARGET_DATA :: NAME , Self :: COMMAND_INT (..) => COMMAND_INT_DATA :: NAME , Self :: ATT_POS_MOCAP (..) => ATT_POS_MOCAP_DATA :: NAME , Self :: ALTITUDE (..) => ALTITUDE_DATA :: NAME , Self :: FOLLOW_TARGET (..) => FOLLOW_TARGET_DATA :: NAME , Self :: SIM_STATE (..) => SIM_STATE_DATA :: NAME , Self :: MAG_CAL_REPORT (..) => MAG_CAL_REPORT_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (..) => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: NAME , Self :: HIL_ACTUATOR_CONTROLS (..) => HIL_ACTUATOR_CONTROLS_DATA :: NAME , Self :: ACTUATOR_OUTPUT_STATUS (..) => ACTUATOR_OUTPUT_STATUS_DATA :: NAME , Self :: COMPONENT_INFORMATION (..) => COMPONENT_INFORMATION_DATA :: NAME , Self :: GPS2_RAW (..) => GPS2_RAW_DATA :: NAME , Self :: BUTTON_CHANGE (..) => BUTTON_CHANGE_DATA :: NAME , Self :: UAVCAN_NODE_INFO (..) => UAVCAN_NODE_INFO_DATA :: NAME , Self :: GLOBAL_VISION_POSITION_ESTIMATE (..) => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: NAME , Self :: COLLISION (..) => COLLISION_DATA :: NAME , Self :: RAW_RPM (..) => RAW_RPM_DATA :: NAME , Self :: SERIAL_CONTROL (..) => SERIAL_CONTROL_DATA :: NAME , Self :: CAMERA_TRIGGER (..) => CAMERA_TRIGGER_DATA :: NAME , Self :: SET_HOME_POSITION (..) => SET_HOME_POSITION_DATA :: NAME , Self :: CAMERA_FOV_STATUS (..) => CAMERA_FOV_STATUS_DATA :: NAME , Self :: OPEN_DRONE_ID_ARM_STATUS (..) => OPEN_DRONE_ID_ARM_STATUS_DATA :: NAME , Self :: VIDEO_STREAM_INFORMATION (..) => VIDEO_STREAM_INFORMATION_DATA :: NAME , Self :: LINK_NODE_STATUS (..) => LINK_NODE_STATUS_DATA :: NAME , Self :: HIL_STATE (..) => HIL_STATE_DATA :: NAME , Self :: PARAM_SET (..) => PARAM_SET_DATA :: NAME , Self :: SCALED_IMU (..) => SCALED_IMU_DATA :: NAME , Self :: FILE_TRANSFER_PROTOCOL (..) => FILE_TRANSFER_PROTOCOL_DATA :: NAME , Self :: TERRAIN_REQUEST (..) => TERRAIN_REQUEST_DATA :: NAME , Self :: SCALED_PRESSURE (..) => SCALED_PRESSURE_DATA :: NAME , Self :: GENERATOR_STATUS (..) => GENERATOR_STATUS_DATA :: NAME , Self :: HIL_GPS (..) => HIL_GPS_DATA :: NAME , Self :: LOG_ERASE (..) => LOG_ERASE_DATA :: NAME , Self :: RC_CHANNELS_OVERRIDE (..) => RC_CHANNELS_OVERRIDE_DATA :: NAME , Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (..) => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: NAME , Self :: CAMERA_TRACKING_IMAGE_STATUS (..) => CAMERA_TRACKING_IMAGE_STATUS_DATA :: NAME , Self :: MISSION_WRITE_PARTIAL_LIST (..) => MISSION_WRITE_PARTIAL_LIST_DATA :: NAME , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (..) => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: NAME , Self :: SUPPORTED_TUNES (..) => SUPPORTED_TUNES_DATA :: NAME , Self :: VIDEO_STREAM_STATUS (..) => VIDEO_STREAM_STATUS_DATA :: NAME , Self :: HYGROMETER_SENSOR (..) => HYGROMETER_SENSOR_DATA :: NAME , Self :: SCALED_PRESSURE3 (..) => SCALED_PRESSURE3_DATA :: NAME , Self :: OBSTACLE_DISTANCE (..) => OBSTACLE_DISTANCE_DATA :: NAME , Self :: REQUEST_DATA_STREAM (..) => REQUEST_DATA_STREAM_DATA :: NAME , Self :: DISTANCE_SENSOR (..) => DISTANCE_SENSOR_DATA :: NAME , Self :: LOG_REQUEST_LIST (..) => LOG_REQUEST_LIST_DATA :: NAME , Self :: RC_CHANNELS (..) => RC_CHANNELS_DATA :: NAME , Self :: CAN_FILTER_MODIFY (..) => CAN_FILTER_MODIFY_DATA :: NAME , Self :: SAFETY_ALLOWED_AREA (..) => SAFETY_ALLOWED_AREA_DATA :: NAME , Self :: ATTITUDE (..) => ATTITUDE_DATA :: NAME , Self :: SERVO_OUTPUT_RAW (..) => SERVO_OUTPUT_RAW_DATA :: NAME , Self :: CAMERA_CAPTURE_STATUS (..) => CAMERA_CAPTURE_STATUS_DATA :: NAME , Self :: VFR_HUD (..) => VFR_HUD_DATA :: NAME , Self :: NAV_CONTROLLER_OUTPUT (..) => NAV_CONTROLLER_OUTPUT_DATA :: NAME , Self :: OPEN_DRONE_ID_BASIC_ID (..) => OPEN_DRONE_ID_BASIC_ID_DATA :: NAME , Self :: EVENT (..) => EVENT_DATA :: NAME , Self :: CAMERA_INFORMATION (..) => CAMERA_INFORMATION_DATA :: NAME , Self :: PARAM_REQUEST_LIST (..) => PARAM_REQUEST_LIST_DATA :: NAME , Self :: WHEEL_DISTANCE (..) => WHEEL_DISTANCE_DATA :: NAME , Self :: CHANGE_OPERATOR_CONTROL (..) => CHANGE_OPERATOR_CONTROL_DATA :: NAME , Self :: UAVCAN_NODE_STATUS (..) => UAVCAN_NODE_STATUS_DATA :: NAME , Self :: PARAM_EXT_SET (..) => PARAM_EXT_SET_DATA :: NAME , Self :: OPEN_DRONE_ID_SYSTEM (..) => OPEN_DRONE_ID_SYSTEM_DATA :: NAME , Self :: MISSION_REQUEST_PARTIAL_LIST (..) => MISSION_REQUEST_PARTIAL_LIST_DATA :: NAME , Self :: SMART_BATTERY_INFO (..) => SMART_BATTERY_INFO_DATA :: NAME , Self :: OPTICAL_FLOW_RAD (..) => OPTICAL_FLOW_RAD_DATA :: NAME , Self :: HIL_OPTICAL_FLOW (..) => HIL_OPTICAL_FLOW_DATA :: NAME , Self :: LOCAL_POSITION_NED_COV (..) => LOCAL_POSITION_NED_COV_DATA :: NAME , Self :: BATTERY_STATUS (..) => BATTERY_STATUS_DATA :: NAME , Self :: GLOBAL_POSITION_INT (..) => GLOBAL_POSITION_INT_DATA :: NAME , Self :: MOUNT_ORIENTATION (..) => MOUNT_ORIENTATION_DATA :: NAME , Self :: MISSION_ITEM (..) => MISSION_ITEM_DATA :: NAME , Self :: GPS_RTK (..) => GPS_RTK_DATA :: NAME , Self :: HIGHRES_IMU (..) => HIGHRES_IMU_DATA :: NAME , Self :: RESOURCE_REQUEST (..) => RESOURCE_REQUEST_DATA :: NAME , Self :: CONTROL_SYSTEM_STATE (..) => CONTROL_SYSTEM_STATE_DATA :: NAME , Self :: GIMBAL_DEVICE_INFORMATION (..) => GIMBAL_DEVICE_INFORMATION_DATA :: NAME , Self :: PARAM_EXT_VALUE (..) => PARAM_EXT_VALUE_DATA :: NAME , Self :: RAW_IMU (..) => RAW_IMU_DATA :: NAME , Self :: TUNNEL (..) => TUNNEL_DATA :: NAME , Self :: GPS2_RTK (..) => GPS2_RTK_DATA :: NAME , Self :: EFI_STATUS (..) => EFI_STATUS_DATA :: NAME , Self :: ATTITUDE_TARGET (..) => ATTITUDE_TARGET_DATA :: NAME , Self :: GPS_INJECT_DATA (..) => GPS_INJECT_DATA_DATA :: NAME , Self :: CELLULAR_CONFIG (..) => CELLULAR_CONFIG_DATA :: NAME , Self :: EXTENDED_SYS_STATE (..) => EXTENDED_SYS_STATE_DATA :: NAME , Self :: ONBOARD_COMPUTER_STATUS (..) => ONBOARD_COMPUTER_STATUS_DATA :: NAME , Self :: SETUP_SIGNING (..) => SETUP_SIGNING_DATA :: NAME , Self :: PARAM_MAP_RC (..) => PARAM_MAP_RC_DATA :: NAME , Self :: HIGH_LATENCY2 (..) => HIGH_LATENCY2_DATA :: NAME , Self :: SCALED_IMU2 (..) => SCALED_IMU2_DATA :: NAME , Self :: POSITION_TARGET_GLOBAL_INT (..) => POSITION_TARGET_GLOBAL_INT_DATA :: NAME , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (..) => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: NAME , Self :: VIBRATION (..) => VIBRATION_DATA :: NAME , Self :: HIL_SENSOR (..) => HIL_SENSOR_DATA :: NAME , Self :: WINCH_STATUS (..) => WINCH_STATUS_DATA :: NAME , Self :: SET_MODE (..) => SET_MODE_DATA :: NAME , Self :: RAW_PRESSURE (..) => RAW_PRESSURE_DATA :: NAME , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (..) => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: NAME , Self :: LOG_DATA (..) => LOG_DATA_DATA :: NAME , Self :: TIMESYNC (..) => TIMESYNC_DATA :: NAME , Self :: RC_CHANNELS_RAW (..) => RC_CHANNELS_RAW_DATA :: NAME , Self :: GIMBAL_MANAGER_INFORMATION (..) => GIMBAL_MANAGER_INFORMATION_DATA :: NAME , Self :: OPEN_DRONE_ID_OPERATOR_ID (..) => OPEN_DRONE_ID_OPERATOR_ID_DATA :: NAME , Self :: PARAM_VALUE (..) => PARAM_VALUE_DATA :: NAME , Self :: HIL_CONTROLS (..) => HIL_CONTROLS_DATA :: NAME , Self :: GIMBAL_DEVICE_SET_ATTITUDE (..) => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: NAME , Self :: ADSB_VEHICLE (..) => ADSB_VEHICLE_DATA :: NAME , Self :: PARAM_EXT_REQUEST_LIST (..) => PARAM_EXT_REQUEST_LIST_DATA :: NAME , Self :: UTM_GLOBAL_POSITION (..) => UTM_GLOBAL_POSITION_DATA :: NAME , Self :: COMMAND_ACK (..) => COMMAND_ACK_DATA :: NAME , Self :: ISBD_LINK_STATUS (..) => ISBD_LINK_STATUS_DATA :: NAME , Self :: UAVIONIX_ADSB_OUT_CFG (..) => UAVIONIX_ADSB_OUT_CFG_DATA :: NAME , Self :: AUTOPILOT_VERSION (..) => AUTOPILOT_VERSION_DATA :: NAME , Self :: DATA_TRANSMISSION_HANDSHAKE (..) => DATA_TRANSMISSION_HANDSHAKE_DATA :: NAME , Self :: DEBUG_FLOAT_ARRAY (..) => DEBUG_FLOAT_ARRAY_DATA :: NAME , Self :: PLAY_TUNE_V2 (..) => PLAY_TUNE_V2_DATA :: NAME , Self :: SET_ACTUATOR_CONTROL_TARGET (..) => SET_ACTUATOR_CONTROL_TARGET_DATA :: NAME , Self :: REQUEST_EVENT (..) => REQUEST_EVENT_DATA :: NAME , Self :: TRAJECTORY_REPRESENTATION_BEZIER (..) => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: NAME , Self :: NAMED_VALUE_INT (..) => NAMED_VALUE_INT_DATA :: NAME , Self :: MISSION_REQUEST_LIST (..) => MISSION_REQUEST_LIST_DATA :: NAME , Self :: LOG_REQUEST_DATA (..) => LOG_REQUEST_DATA_DATA :: NAME , Self :: MESSAGE_INTERVAL (..) => MESSAGE_INTERVAL_DATA :: NAME , Self :: VISION_POSITION_ESTIMATE (..) => VISION_POSITION_ESTIMATE_DATA :: NAME , Self :: LOG_ENTRY (..) => LOG_ENTRY_DATA :: NAME , Self :: AIS_VESSEL (..) => AIS_VESSEL_DATA :: NAME , Self :: MISSION_ACK (..) => MISSION_ACK_DATA :: NAME , Self :: RADIO_STATUS (..) => RADIO_STATUS_DATA :: NAME , Self :: CELLULAR_STATUS (..) => CELLULAR_STATUS_DATA :: NAME , Self :: DATA_STREAM (..) => DATA_STREAM_DATA :: NAME , Self :: DEBUG_VECT (..) => DEBUG_VECT_DATA :: NAME , Self :: MISSION_CURRENT (..) => MISSION_CURRENT_DATA :: NAME , Self :: PROTOCOL_VERSION (..) => PROTOCOL_VERSION_DATA :: NAME , Self :: GPS_INPUT (..) => GPS_INPUT_DATA :: NAME , Self :: TIME_ESTIMATE_TO_TARGET (..) => TIME_ESTIMATE_TO_TARGET_DATA :: NAME , Self :: MISSION_ITEM_INT (..) => MISSION_ITEM_INT_DATA :: NAME , Self :: GPS_STATUS (..) => GPS_STATUS_DATA :: NAME , Self :: MANUAL_SETPOINT (..) => MANUAL_SETPOINT_DATA :: NAME , Self :: FENCE_STATUS (..) => FENCE_STATUS_DATA :: NAME , Self :: HOME_POSITION (..) => HOME_POSITION_DATA :: NAME , Self :: ESC_INFO (..) => ESC_INFO_DATA :: NAME , Self :: COMMAND_CANCEL (..) => COMMAND_CANCEL_DATA :: NAME , Self :: PARAM_EXT_REQUEST_READ (..) => PARAM_EXT_REQUEST_READ_DATA :: NAME , Self :: PLAY_TUNE (..) => PLAY_TUNE_DATA :: NAME , Self :: MISSION_REQUEST_INT (..) => MISSION_REQUEST_INT_DATA :: NAME , Self :: ATTITUDE_QUATERNION_COV (..) => ATTITUDE_QUATERNION_COV_DATA :: NAME , Self :: MISSION_ITEM_REACHED (..) => MISSION_ITEM_REACHED_DATA :: NAME , Self :: PARAM_REQUEST_READ (..) => PARAM_REQUEST_READ_DATA :: NAME , Self :: TERRAIN_DATA (..) => TERRAIN_DATA_DATA :: NAME , Self :: GPS_RAW_INT (..) => GPS_RAW_INT_DATA :: NAME , Self :: STORAGE_INFORMATION (..) => STORAGE_INFORMATION_DATA :: NAME , Self :: RESPONSE_EVENT_ERROR (..) => RESPONSE_EVENT_ERROR_DATA :: NAME , Self :: MANUAL_CONTROL (..) => MANUAL_CONTROL_DATA :: NAME , Self :: NAMED_VALUE_FLOAT (..) => NAMED_VALUE_FLOAT_DATA :: NAME , Self :: GIMBAL_MANAGER_STATUS (..) => GIMBAL_MANAGER_STATUS_DATA :: NAME , Self :: SET_GPS_GLOBAL_ORIGIN (..) => SET_GPS_GLOBAL_ORIGIN_DATA :: NAME , Self :: LOGGING_DATA (..) => LOGGING_DATA_DATA :: NAME , Self :: STATUSTEXT (..) => STATUSTEXT_DATA :: NAME , Self :: CHANGE_OPERATOR_CONTROL_ACK (..) => CHANGE_OPERATOR_CONTROL_ACK_DATA :: NAME , Self :: ESTIMATOR_STATUS (..) => ESTIMATOR_STATUS_DATA :: NAME , Self :: CAMERA_IMAGE_CAPTURED (..) => CAMERA_IMAGE_CAPTURED_DATA :: NAME , Self :: PARAM_EXT_ACK (..) => PARAM_EXT_ACK_DATA :: NAME , Self :: ACTUATOR_CONTROL_TARGET (..) => ACTUATOR_CONTROL_TARGET_DATA :: NAME , Self :: SET_POSITION_TARGET_LOCAL_NED (..) => SET_POSITION_TARGET_LOCAL_NED_DATA :: NAME , Self :: CAN_FRAME (..) => CAN_FRAME_DATA :: NAME , Self :: COMMAND_LONG (..) => COMMAND_LONG_DATA :: NAME , Self :: UAVIONIX_ADSB_OUT_DYNAMIC (..) => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: NAME , Self :: HEARTBEAT (..) => HEARTBEAT_DATA :: NAME , Self :: ATTITUDE_QUATERNION (..) => ATTITUDE_QUATERNION_DATA :: NAME , Self :: VICON_POSITION_ESTIMATE (..) => VICON_POSITION_ESTIMATE_DATA :: NAME , Self :: ORBIT_EXECUTION_STATUS (..) => ORBIT_EXECUTION_STATUS_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_PITCHYAW (..) => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: NAME , Self :: SCALED_PRESSURE2 (..) => SCALED_PRESSURE2_DATA :: NAME , Self :: OPEN_DRONE_ID_MESSAGE_PACK (..) => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: NAME , Self :: ODOMETRY (..) => ODOMETRY_DATA :: NAME , Self :: CAMERA_SETTINGS (..) => CAMERA_SETTINGS_DATA :: NAME , Self :: MISSION_CLEAR_ALL (..) => MISSION_CLEAR_ALL_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_ATTITUDE (..) => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: NAME , Self :: VISION_SPEED_ESTIMATE (..) => VISION_SPEED_ESTIMATE_DATA :: NAME , Self :: OPEN_DRONE_ID_AUTHENTICATION (..) => OPEN_DRONE_ID_AUTHENTICATION_DATA :: NAME , Self :: TERRAIN_REPORT (..) => TERRAIN_REPORT_DATA :: NAME , Self :: LOCAL_POSITION_NED (..) => LOCAL_POSITION_NED_DATA :: NAME , Self :: DEBUG (..) => DEBUG_DATA :: NAME , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (..) => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: NAME , Self :: GPS_GLOBAL_ORIGIN (..) => GPS_GLOBAL_ORIGIN_DATA :: NAME , Self :: MISSION_COUNT (..) => MISSION_COUNT_DATA :: NAME , Self :: HIGH_LATENCY (..) => HIGH_LATENCY_DATA :: NAME , Self :: SET_POSITION_TARGET_GLOBAL_INT (..) => SET_POSITION_TARGET_GLOBAL_INT_DATA :: NAME , Self :: CURRENT_EVENT_SEQUENCE (..) => CURRENT_EVENT_SEQUENCE_DATA :: NAME , Self :: MEMORY_VECT (..) => MEMORY_VECT_DATA :: NAME , Self :: MISSION_REQUEST (..) => MISSION_REQUEST_DATA :: NAME , Self :: V2_EXTENSION (..) => V2_EXTENSION_DATA :: NAME , Self :: ESC_STATUS (..) => ESC_STATUS_DATA :: NAME , Self :: LOGGING_DATA_ACKED (..) => LOGGING_DATA_ACKED_DATA :: NAME , Self :: CANFD_FRAME (..) => CANFD_FRAME_DATA :: NAME , Self :: SCALED_IMU3 (..) => SCALED_IMU3_DATA :: NAME , Self :: GLOBAL_POSITION_INT_COV (..) => GLOBAL_POSITION_INT_COV_DATA :: NAME , Self :: HIL_STATE_QUATERNION (..) => HIL_STATE_QUATERNION_DATA :: NAME , Self :: AUTH_KEY (..) => AUTH_KEY_DATA :: NAME , Self :: OPEN_DRONE_ID_LOCATION (..) => OPEN_DRONE_ID_LOCATION_DATA :: NAME , Self :: LOGGING_ACK (..) => LOGGING_ACK_DATA :: NAME , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (..) => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: NAME , Self :: SYSTEM_TIME (..) => SYSTEM_TIME_DATA :: NAME , Self :: SET_ATTITUDE_TARGET (..) => SET_ATTITUDE_TARGET_DATA :: NAME , Self :: POSITION_TARGET_LOCAL_NED (..) => POSITION_TARGET_LOCAL_NED_DATA :: NAME , Self :: TERRAIN_CHECK (..) => TERRAIN_CHECK_DATA :: NAME , Self :: SYS_STATUS (..) => SYS_STATUS_DATA :: NAME , Self :: WIFI_CONFIG_AP (..) => WIFI_CONFIG_AP_DATA :: NAME , Self :: PING (..) => PING_DATA :: NAME , Self :: RC_CHANNELS_SCALED (..) => RC_CHANNELS_SCALED_DATA :: NAME , Self :: OPTICAL_FLOW (..) => OPTICAL_FLOW_DATA :: NAME , Self :: OPEN_DRONE_ID_SELF_ID (..) => OPEN_DRONE_ID_SELF_ID_DATA :: NAME , } } fn message_id (& self) -> u32 { match self { Self :: POWER_STATUS (..) => POWER_STATUS_DATA :: ID , Self :: GPS_RTCM_DATA (..) => GPS_RTCM_DATA_DATA :: ID , Self :: WIND_COV (..) => WIND_COV_DATA :: ID , Self :: HIL_RC_INPUTS_RAW (..) => HIL_RC_INPUTS_RAW_DATA :: ID , Self :: ENCAPSULATED_DATA (..) => ENCAPSULATED_DATA_DATA :: ID , Self :: LOG_REQUEST_END (..) => LOG_REQUEST_END_DATA :: ID , Self :: MISSION_SET_CURRENT (..) => MISSION_SET_CURRENT_DATA :: ID , Self :: COMPONENT_METADATA (..) => COMPONENT_METADATA_DATA :: ID , Self :: FLIGHT_INFORMATION (..) => FLIGHT_INFORMATION_DATA :: ID , Self :: SAFETY_SET_ALLOWED_AREA (..) => SAFETY_SET_ALLOWED_AREA_DATA :: ID , Self :: CAMERA_TRACKING_GEO_STATUS (..) => CAMERA_TRACKING_GEO_STATUS_DATA :: ID , Self :: LANDING_TARGET (..) => LANDING_TARGET_DATA :: ID , Self :: COMMAND_INT (..) => COMMAND_INT_DATA :: ID , Self :: ATT_POS_MOCAP (..) => ATT_POS_MOCAP_DATA :: ID , Self :: ALTITUDE (..) => ALTITUDE_DATA :: ID , Self :: FOLLOW_TARGET (..) => FOLLOW_TARGET_DATA :: ID , Self :: SIM_STATE (..) => SIM_STATE_DATA :: ID , Self :: MAG_CAL_REPORT (..) => MAG_CAL_REPORT_DATA :: ID , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (..) => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID , Self :: HIL_ACTUATOR_CONTROLS (..) => HIL_ACTUATOR_CONTROLS_DATA :: ID , Self :: ACTUATOR_OUTPUT_STATUS (..) => ACTUATOR_OUTPUT_STATUS_DATA :: ID , Self :: COMPONENT_INFORMATION (..) => COMPONENT_INFORMATION_DATA :: ID , Self :: GPS2_RAW (..) => GPS2_RAW_DATA :: ID , Self :: BUTTON_CHANGE (..) => BUTTON_CHANGE_DATA :: ID , Self :: UAVCAN_NODE_INFO (..) => UAVCAN_NODE_INFO_DATA :: ID , Self :: GLOBAL_VISION_POSITION_ESTIMATE (..) => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID , Self :: COLLISION (..) => COLLISION_DATA :: ID , Self :: RAW_RPM (..) => RAW_RPM_DATA :: ID , Self :: SERIAL_CONTROL (..) => SERIAL_CONTROL_DATA :: ID , Self :: CAMERA_TRIGGER (..) => CAMERA_TRIGGER_DATA :: ID , Self :: SET_HOME_POSITION (..) => SET_HOME_POSITION_DATA :: ID , Self :: CAMERA_FOV_STATUS (..) => CAMERA_FOV_STATUS_DATA :: ID , Self :: OPEN_DRONE_ID_ARM_STATUS (..) => OPEN_DRONE_ID_ARM_STATUS_DATA :: ID , Self :: VIDEO_STREAM_INFORMATION (..) => VIDEO_STREAM_INFORMATION_DATA :: ID , Self :: LINK_NODE_STATUS (..) => LINK_NODE_STATUS_DATA :: ID , Self :: HIL_STATE (..) => HIL_STATE_DATA :: ID , Self :: PARAM_SET (..) => PARAM_SET_DATA :: ID , Self :: SCALED_IMU (..) => SCALED_IMU_DATA :: ID , Self :: FILE_TRANSFER_PROTOCOL (..) => FILE_TRANSFER_PROTOCOL_DATA :: ID , Self :: TERRAIN_REQUEST (..) => TERRAIN_REQUEST_DATA :: ID , Self :: SCALED_PRESSURE (..) => SCALED_PRESSURE_DATA :: ID , Self :: GENERATOR_STATUS (..) => GENERATOR_STATUS_DATA :: ID , Self :: HIL_GPS (..) => HIL_GPS_DATA :: ID , Self :: LOG_ERASE (..) => LOG_ERASE_DATA :: ID , Self :: RC_CHANNELS_OVERRIDE (..) => RC_CHANNELS_OVERRIDE_DATA :: ID , Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (..) => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID , Self :: CAMERA_TRACKING_IMAGE_STATUS (..) => CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID , Self :: MISSION_WRITE_PARTIAL_LIST (..) => MISSION_WRITE_PARTIAL_LIST_DATA :: ID , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (..) => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID , Self :: SUPPORTED_TUNES (..) => SUPPORTED_TUNES_DATA :: ID , Self :: VIDEO_STREAM_STATUS (..) => VIDEO_STREAM_STATUS_DATA :: ID , Self :: HYGROMETER_SENSOR (..) => HYGROMETER_SENSOR_DATA :: ID , Self :: SCALED_PRESSURE3 (..) => SCALED_PRESSURE3_DATA :: ID , Self :: OBSTACLE_DISTANCE (..) => OBSTACLE_DISTANCE_DATA :: ID , Self :: REQUEST_DATA_STREAM (..) => REQUEST_DATA_STREAM_DATA :: ID , Self :: DISTANCE_SENSOR (..) => DISTANCE_SENSOR_DATA :: ID , Self :: LOG_REQUEST_LIST (..) => LOG_REQUEST_LIST_DATA :: ID , Self :: RC_CHANNELS (..) => RC_CHANNELS_DATA :: ID , Self :: CAN_FILTER_MODIFY (..) => CAN_FILTER_MODIFY_DATA :: ID , Self :: SAFETY_ALLOWED_AREA (..) => SAFETY_ALLOWED_AREA_DATA :: ID , Self :: ATTITUDE (..) => ATTITUDE_DATA :: ID , Self :: SERVO_OUTPUT_RAW (..) => SERVO_OUTPUT_RAW_DATA :: ID , Self :: CAMERA_CAPTURE_STATUS (..) => CAMERA_CAPTURE_STATUS_DATA :: ID , Self :: VFR_HUD (..) => VFR_HUD_DATA :: ID , Self :: NAV_CONTROLLER_OUTPUT (..) => NAV_CONTROLLER_OUTPUT_DATA :: ID , Self :: OPEN_DRONE_ID_BASIC_ID (..) => OPEN_DRONE_ID_BASIC_ID_DATA :: ID , Self :: EVENT (..) => EVENT_DATA :: ID , Self :: CAMERA_INFORMATION (..) => CAMERA_INFORMATION_DATA :: ID , Self :: PARAM_REQUEST_LIST (..) => PARAM_REQUEST_LIST_DATA :: ID , Self :: WHEEL_DISTANCE (..) => WHEEL_DISTANCE_DATA :: ID , Self :: CHANGE_OPERATOR_CONTROL (..) => CHANGE_OPERATOR_CONTROL_DATA :: ID , Self :: UAVCAN_NODE_STATUS (..) => UAVCAN_NODE_STATUS_DATA :: ID , Self :: PARAM_EXT_SET (..) => PARAM_EXT_SET_DATA :: ID , Self :: OPEN_DRONE_ID_SYSTEM (..) => OPEN_DRONE_ID_SYSTEM_DATA :: ID , Self :: MISSION_REQUEST_PARTIAL_LIST (..) => MISSION_REQUEST_PARTIAL_LIST_DATA :: ID , Self :: SMART_BATTERY_INFO (..) => SMART_BATTERY_INFO_DATA :: ID , Self :: OPTICAL_FLOW_RAD (..) => OPTICAL_FLOW_RAD_DATA :: ID , Self :: HIL_OPTICAL_FLOW (..) => HIL_OPTICAL_FLOW_DATA :: ID , Self :: LOCAL_POSITION_NED_COV (..) => LOCAL_POSITION_NED_COV_DATA :: ID , Self :: BATTERY_STATUS (..) => BATTERY_STATUS_DATA :: ID , Self :: GLOBAL_POSITION_INT (..) => GLOBAL_POSITION_INT_DATA :: ID , Self :: MOUNT_ORIENTATION (..) => MOUNT_ORIENTATION_DATA :: ID , Self :: MISSION_ITEM (..) => MISSION_ITEM_DATA :: ID , Self :: GPS_RTK (..) => GPS_RTK_DATA :: ID , Self :: HIGHRES_IMU (..) => HIGHRES_IMU_DATA :: ID , Self :: RESOURCE_REQUEST (..) => RESOURCE_REQUEST_DATA :: ID , Self :: CONTROL_SYSTEM_STATE (..) => CONTROL_SYSTEM_STATE_DATA :: ID , Self :: GIMBAL_DEVICE_INFORMATION (..) => GIMBAL_DEVICE_INFORMATION_DATA :: ID , Self :: PARAM_EXT_VALUE (..) => PARAM_EXT_VALUE_DATA :: ID , Self :: RAW_IMU (..) => RAW_IMU_DATA :: ID , Self :: TUNNEL (..) => TUNNEL_DATA :: ID , Self :: GPS2_RTK (..) => GPS2_RTK_DATA :: ID , Self :: EFI_STATUS (..) => EFI_STATUS_DATA :: ID , Self :: ATTITUDE_TARGET (..) => ATTITUDE_TARGET_DATA :: ID , Self :: GPS_INJECT_DATA (..) => GPS_INJECT_DATA_DATA :: ID , Self :: CELLULAR_CONFIG (..) => CELLULAR_CONFIG_DATA :: ID , Self :: EXTENDED_SYS_STATE (..) => EXTENDED_SYS_STATE_DATA :: ID , Self :: ONBOARD_COMPUTER_STATUS (..) => ONBOARD_COMPUTER_STATUS_DATA :: ID , Self :: SETUP_SIGNING (..) => SETUP_SIGNING_DATA :: ID , Self :: PARAM_MAP_RC (..) => PARAM_MAP_RC_DATA :: ID , Self :: HIGH_LATENCY2 (..) => HIGH_LATENCY2_DATA :: ID , Self :: SCALED_IMU2 (..) => SCALED_IMU2_DATA :: ID , Self :: POSITION_TARGET_GLOBAL_INT (..) => POSITION_TARGET_GLOBAL_INT_DATA :: ID , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (..) => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID , Self :: VIBRATION (..) => VIBRATION_DATA :: ID , Self :: HIL_SENSOR (..) => HIL_SENSOR_DATA :: ID , Self :: WINCH_STATUS (..) => WINCH_STATUS_DATA :: ID , Self :: SET_MODE (..) => SET_MODE_DATA :: ID , Self :: RAW_PRESSURE (..) => RAW_PRESSURE_DATA :: ID , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (..) => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID , Self :: LOG_DATA (..) => LOG_DATA_DATA :: ID , Self :: TIMESYNC (..) => TIMESYNC_DATA :: ID , Self :: RC_CHANNELS_RAW (..) => RC_CHANNELS_RAW_DATA :: ID , Self :: GIMBAL_MANAGER_INFORMATION (..) => GIMBAL_MANAGER_INFORMATION_DATA :: ID , Self :: OPEN_DRONE_ID_OPERATOR_ID (..) => OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID , Self :: PARAM_VALUE (..) => PARAM_VALUE_DATA :: ID , Self :: HIL_CONTROLS (..) => HIL_CONTROLS_DATA :: ID , Self :: GIMBAL_DEVICE_SET_ATTITUDE (..) => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID , Self :: ADSB_VEHICLE (..) => ADSB_VEHICLE_DATA :: ID , Self :: PARAM_EXT_REQUEST_LIST (..) => PARAM_EXT_REQUEST_LIST_DATA :: ID , Self :: UTM_GLOBAL_POSITION (..) => UTM_GLOBAL_POSITION_DATA :: ID , Self :: COMMAND_ACK (..) => COMMAND_ACK_DATA :: ID , Self :: ISBD_LINK_STATUS (..) => ISBD_LINK_STATUS_DATA :: ID , Self :: UAVIONIX_ADSB_OUT_CFG (..) => UAVIONIX_ADSB_OUT_CFG_DATA :: ID , Self :: AUTOPILOT_VERSION (..) => AUTOPILOT_VERSION_DATA :: ID , Self :: DATA_TRANSMISSION_HANDSHAKE (..) => DATA_TRANSMISSION_HANDSHAKE_DATA :: ID , Self :: DEBUG_FLOAT_ARRAY (..) => DEBUG_FLOAT_ARRAY_DATA :: ID , Self :: PLAY_TUNE_V2 (..) => PLAY_TUNE_V2_DATA :: ID , Self :: SET_ACTUATOR_CONTROL_TARGET (..) => SET_ACTUATOR_CONTROL_TARGET_DATA :: ID , Self :: REQUEST_EVENT (..) => REQUEST_EVENT_DATA :: ID , Self :: TRAJECTORY_REPRESENTATION_BEZIER (..) => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID , Self :: NAMED_VALUE_INT (..) => NAMED_VALUE_INT_DATA :: ID , Self :: MISSION_REQUEST_LIST (..) => MISSION_REQUEST_LIST_DATA :: ID , Self :: LOG_REQUEST_DATA (..) => LOG_REQUEST_DATA_DATA :: ID , Self :: MESSAGE_INTERVAL (..) => MESSAGE_INTERVAL_DATA :: ID , Self :: VISION_POSITION_ESTIMATE (..) => VISION_POSITION_ESTIMATE_DATA :: ID , Self :: LOG_ENTRY (..) => LOG_ENTRY_DATA :: ID , Self :: AIS_VESSEL (..) => AIS_VESSEL_DATA :: ID , Self :: MISSION_ACK (..) => MISSION_ACK_DATA :: ID , Self :: RADIO_STATUS (..) => RADIO_STATUS_DATA :: ID , Self :: CELLULAR_STATUS (..) => CELLULAR_STATUS_DATA :: ID , Self :: DATA_STREAM (..) => DATA_STREAM_DATA :: ID , Self :: DEBUG_VECT (..) => DEBUG_VECT_DATA :: ID , Self :: MISSION_CURRENT (..) => MISSION_CURRENT_DATA :: ID , Self :: PROTOCOL_VERSION (..) => PROTOCOL_VERSION_DATA :: ID , Self :: GPS_INPUT (..) => GPS_INPUT_DATA :: ID , Self :: TIME_ESTIMATE_TO_TARGET (..) => TIME_ESTIMATE_TO_TARGET_DATA :: ID , Self :: MISSION_ITEM_INT (..) => MISSION_ITEM_INT_DATA :: ID , Self :: GPS_STATUS (..) => GPS_STATUS_DATA :: ID , Self :: MANUAL_SETPOINT (..) => MANUAL_SETPOINT_DATA :: ID , Self :: FENCE_STATUS (..) => FENCE_STATUS_DATA :: ID , Self :: HOME_POSITION (..) => HOME_POSITION_DATA :: ID , Self :: ESC_INFO (..) => ESC_INFO_DATA :: ID , Self :: COMMAND_CANCEL (..) => COMMAND_CANCEL_DATA :: ID , Self :: PARAM_EXT_REQUEST_READ (..) => PARAM_EXT_REQUEST_READ_DATA :: ID , Self :: PLAY_TUNE (..) => PLAY_TUNE_DATA :: ID , Self :: MISSION_REQUEST_INT (..) => MISSION_REQUEST_INT_DATA :: ID , Self :: ATTITUDE_QUATERNION_COV (..) => ATTITUDE_QUATERNION_COV_DATA :: ID , Self :: MISSION_ITEM_REACHED (..) => MISSION_ITEM_REACHED_DATA :: ID , Self :: PARAM_REQUEST_READ (..) => PARAM_REQUEST_READ_DATA :: ID , Self :: TERRAIN_DATA (..) => TERRAIN_DATA_DATA :: ID , Self :: GPS_RAW_INT (..) => GPS_RAW_INT_DATA :: ID , Self :: STORAGE_INFORMATION (..) => STORAGE_INFORMATION_DATA :: ID , Self :: RESPONSE_EVENT_ERROR (..) => RESPONSE_EVENT_ERROR_DATA :: ID , Self :: MANUAL_CONTROL (..) => MANUAL_CONTROL_DATA :: ID , Self :: NAMED_VALUE_FLOAT (..) => NAMED_VALUE_FLOAT_DATA :: ID , Self :: GIMBAL_MANAGER_STATUS (..) => GIMBAL_MANAGER_STATUS_DATA :: ID , Self :: SET_GPS_GLOBAL_ORIGIN (..) => SET_GPS_GLOBAL_ORIGIN_DATA :: ID , Self :: LOGGING_DATA (..) => LOGGING_DATA_DATA :: ID , Self :: STATUSTEXT (..) => STATUSTEXT_DATA :: ID , Self :: CHANGE_OPERATOR_CONTROL_ACK (..) => CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID , Self :: ESTIMATOR_STATUS (..) => ESTIMATOR_STATUS_DATA :: ID , Self :: CAMERA_IMAGE_CAPTURED (..) => CAMERA_IMAGE_CAPTURED_DATA :: ID , Self :: PARAM_EXT_ACK (..) => PARAM_EXT_ACK_DATA :: ID , Self :: ACTUATOR_CONTROL_TARGET (..) => ACTUATOR_CONTROL_TARGET_DATA :: ID , Self :: SET_POSITION_TARGET_LOCAL_NED (..) => SET_POSITION_TARGET_LOCAL_NED_DATA :: ID , Self :: CAN_FRAME (..) => CAN_FRAME_DATA :: ID , Self :: COMMAND_LONG (..) => COMMAND_LONG_DATA :: ID , Self :: UAVIONIX_ADSB_OUT_DYNAMIC (..) => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID , Self :: HEARTBEAT (..) => HEARTBEAT_DATA :: ID , Self :: ATTITUDE_QUATERNION (..) => ATTITUDE_QUATERNION_DATA :: ID , Self :: VICON_POSITION_ESTIMATE (..) => VICON_POSITION_ESTIMATE_DATA :: ID , Self :: ORBIT_EXECUTION_STATUS (..) => ORBIT_EXECUTION_STATUS_DATA :: ID , Self :: GIMBAL_MANAGER_SET_PITCHYAW (..) => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID , Self :: SCALED_PRESSURE2 (..) => SCALED_PRESSURE2_DATA :: ID , Self :: OPEN_DRONE_ID_MESSAGE_PACK (..) => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID , Self :: ODOMETRY (..) => ODOMETRY_DATA :: ID , Self :: CAMERA_SETTINGS (..) => CAMERA_SETTINGS_DATA :: ID , Self :: MISSION_CLEAR_ALL (..) => MISSION_CLEAR_ALL_DATA :: ID , Self :: GIMBAL_MANAGER_SET_ATTITUDE (..) => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID , Self :: VISION_SPEED_ESTIMATE (..) => VISION_SPEED_ESTIMATE_DATA :: ID , Self :: OPEN_DRONE_ID_AUTHENTICATION (..) => OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID , Self :: TERRAIN_REPORT (..) => TERRAIN_REPORT_DATA :: ID , Self :: LOCAL_POSITION_NED (..) => LOCAL_POSITION_NED_DATA :: ID , Self :: DEBUG (..) => DEBUG_DATA :: ID , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (..) => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID , Self :: GPS_GLOBAL_ORIGIN (..) => GPS_GLOBAL_ORIGIN_DATA :: ID , Self :: MISSION_COUNT (..) => MISSION_COUNT_DATA :: ID , Self :: HIGH_LATENCY (..) => HIGH_LATENCY_DATA :: ID , Self :: SET_POSITION_TARGET_GLOBAL_INT (..) => SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID , Self :: CURRENT_EVENT_SEQUENCE (..) => CURRENT_EVENT_SEQUENCE_DATA :: ID , Self :: MEMORY_VECT (..) => MEMORY_VECT_DATA :: ID , Self :: MISSION_REQUEST (..) => MISSION_REQUEST_DATA :: ID , Self :: V2_EXTENSION (..) => V2_EXTENSION_DATA :: ID , Self :: ESC_STATUS (..) => ESC_STATUS_DATA :: ID , Self :: LOGGING_DATA_ACKED (..) => LOGGING_DATA_ACKED_DATA :: ID , Self :: CANFD_FRAME (..) => CANFD_FRAME_DATA :: ID , Self :: SCALED_IMU3 (..) => SCALED_IMU3_DATA :: ID , Self :: GLOBAL_POSITION_INT_COV (..) => GLOBAL_POSITION_INT_COV_DATA :: ID , Self :: HIL_STATE_QUATERNION (..) => HIL_STATE_QUATERNION_DATA :: ID , Self :: AUTH_KEY (..) => AUTH_KEY_DATA :: ID , Self :: OPEN_DRONE_ID_LOCATION (..) => OPEN_DRONE_ID_LOCATION_DATA :: ID , Self :: LOGGING_ACK (..) => LOGGING_ACK_DATA :: ID , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (..) => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID , Self :: SYSTEM_TIME (..) => SYSTEM_TIME_DATA :: ID , Self :: SET_ATTITUDE_TARGET (..) => SET_ATTITUDE_TARGET_DATA :: ID , Self :: POSITION_TARGET_LOCAL_NED (..) => POSITION_TARGET_LOCAL_NED_DATA :: ID , Self :: TERRAIN_CHECK (..) => TERRAIN_CHECK_DATA :: ID , Self :: SYS_STATUS (..) => SYS_STATUS_DATA :: ID , Self :: WIFI_CONFIG_AP (..) => WIFI_CONFIG_AP_DATA :: ID , Self :: PING (..) => PING_DATA :: ID , Self :: RC_CHANNELS_SCALED (..) => RC_CHANNELS_SCALED_DATA :: ID , Self :: OPTICAL_FLOW (..) => OPTICAL_FLOW_DATA :: ID , Self :: OPEN_DRONE_ID_SELF_ID (..) => OPEN_DRONE_ID_SELF_ID_DATA :: ID , } } fn message_id_from_name (name : & str) -> Result < u32 , & 'static str > { match name { POWER_STATUS_DATA :: NAME => Ok (POWER_STATUS_DATA :: ID) , GPS_RTCM_DATA_DATA :: NAME => Ok (GPS_RTCM_DATA_DATA :: ID) , WIND_COV_DATA :: NAME => Ok (WIND_COV_DATA :: ID) , HIL_RC_INPUTS_RAW_DATA :: NAME => Ok (HIL_RC_INPUTS_RAW_DATA :: ID) , ENCAPSULATED_DATA_DATA :: NAME => Ok (ENCAPSULATED_DATA_DATA :: ID) , LOG_REQUEST_END_DATA :: NAME => Ok (LOG_REQUEST_END_DATA :: ID) , MISSION_SET_CURRENT_DATA :: NAME => Ok (MISSION_SET_CURRENT_DATA :: ID) , COMPONENT_METADATA_DATA :: NAME => Ok (COMPONENT_METADATA_DATA :: ID) , FLIGHT_INFORMATION_DATA :: NAME => Ok (FLIGHT_INFORMATION_DATA :: ID) , SAFETY_SET_ALLOWED_AREA_DATA :: NAME => Ok (SAFETY_SET_ALLOWED_AREA_DATA :: ID) , CAMERA_TRACKING_GEO_STATUS_DATA :: NAME => Ok (CAMERA_TRACKING_GEO_STATUS_DATA :: ID) , LANDING_TARGET_DATA :: NAME => Ok (LANDING_TARGET_DATA :: ID) , COMMAND_INT_DATA :: NAME => Ok (COMMAND_INT_DATA :: ID) , ATT_POS_MOCAP_DATA :: NAME => Ok (ATT_POS_MOCAP_DATA :: ID) , ALTITUDE_DATA :: NAME => Ok (ALTITUDE_DATA :: ID) , FOLLOW_TARGET_DATA :: NAME => Ok (FOLLOW_TARGET_DATA :: ID) , SIM_STATE_DATA :: NAME => Ok (SIM_STATE_DATA :: ID) , MAG_CAL_REPORT_DATA :: NAME => Ok (MAG_CAL_REPORT_DATA :: ID) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID) , HIL_ACTUATOR_CONTROLS_DATA :: NAME => Ok (HIL_ACTUATOR_CONTROLS_DATA :: ID) , ACTUATOR_OUTPUT_STATUS_DATA :: NAME => Ok (ACTUATOR_OUTPUT_STATUS_DATA :: ID) , COMPONENT_INFORMATION_DATA :: NAME => Ok (COMPONENT_INFORMATION_DATA :: ID) , GPS2_RAW_DATA :: NAME => Ok (GPS2_RAW_DATA :: ID) , BUTTON_CHANGE_DATA :: NAME => Ok (BUTTON_CHANGE_DATA :: ID) , UAVCAN_NODE_INFO_DATA :: NAME => Ok (UAVCAN_NODE_INFO_DATA :: ID) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: NAME => Ok (GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID) , COLLISION_DATA :: NAME => Ok (COLLISION_DATA :: ID) , RAW_RPM_DATA :: NAME => Ok (RAW_RPM_DATA :: ID) , SERIAL_CONTROL_DATA :: NAME => Ok (SERIAL_CONTROL_DATA :: ID) , CAMERA_TRIGGER_DATA :: NAME => Ok (CAMERA_TRIGGER_DATA :: ID) , SET_HOME_POSITION_DATA :: NAME => Ok (SET_HOME_POSITION_DATA :: ID) , CAMERA_FOV_STATUS_DATA :: NAME => Ok (CAMERA_FOV_STATUS_DATA :: ID) , OPEN_DRONE_ID_ARM_STATUS_DATA :: NAME => Ok (OPEN_DRONE_ID_ARM_STATUS_DATA :: ID) , VIDEO_STREAM_INFORMATION_DATA :: NAME => Ok (VIDEO_STREAM_INFORMATION_DATA :: ID) , LINK_NODE_STATUS_DATA :: NAME => Ok (LINK_NODE_STATUS_DATA :: ID) , HIL_STATE_DATA :: NAME => Ok (HIL_STATE_DATA :: ID) , PARAM_SET_DATA :: NAME => Ok (PARAM_SET_DATA :: ID) , SCALED_IMU_DATA :: NAME => Ok (SCALED_IMU_DATA :: ID) , FILE_TRANSFER_PROTOCOL_DATA :: NAME => Ok (FILE_TRANSFER_PROTOCOL_DATA :: ID) , TERRAIN_REQUEST_DATA :: NAME => Ok (TERRAIN_REQUEST_DATA :: ID) , SCALED_PRESSURE_DATA :: NAME => Ok (SCALED_PRESSURE_DATA :: ID) , GENERATOR_STATUS_DATA :: NAME => Ok (GENERATOR_STATUS_DATA :: ID) , HIL_GPS_DATA :: NAME => Ok (HIL_GPS_DATA :: ID) , LOG_ERASE_DATA :: NAME => Ok (LOG_ERASE_DATA :: ID) , RC_CHANNELS_OVERRIDE_DATA :: NAME => Ok (RC_CHANNELS_OVERRIDE_DATA :: ID) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: NAME => Ok (UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: NAME => Ok (CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID) , MISSION_WRITE_PARTIAL_LIST_DATA :: NAME => Ok (MISSION_WRITE_PARTIAL_LIST_DATA :: ID) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: NAME => Ok (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID) , SUPPORTED_TUNES_DATA :: NAME => Ok (SUPPORTED_TUNES_DATA :: ID) , VIDEO_STREAM_STATUS_DATA :: NAME => Ok (VIDEO_STREAM_STATUS_DATA :: ID) , HYGROMETER_SENSOR_DATA :: NAME => Ok (HYGROMETER_SENSOR_DATA :: ID) , SCALED_PRESSURE3_DATA :: NAME => Ok (SCALED_PRESSURE3_DATA :: ID) , OBSTACLE_DISTANCE_DATA :: NAME => Ok (OBSTACLE_DISTANCE_DATA :: ID) , REQUEST_DATA_STREAM_DATA :: NAME => Ok (REQUEST_DATA_STREAM_DATA :: ID) , DISTANCE_SENSOR_DATA :: NAME => Ok (DISTANCE_SENSOR_DATA :: ID) , LOG_REQUEST_LIST_DATA :: NAME => Ok (LOG_REQUEST_LIST_DATA :: ID) , RC_CHANNELS_DATA :: NAME => Ok (RC_CHANNELS_DATA :: ID) , CAN_FILTER_MODIFY_DATA :: NAME => Ok (CAN_FILTER_MODIFY_DATA :: ID) , SAFETY_ALLOWED_AREA_DATA :: NAME => Ok (SAFETY_ALLOWED_AREA_DATA :: ID) , ATTITUDE_DATA :: NAME => Ok (ATTITUDE_DATA :: ID) , SERVO_OUTPUT_RAW_DATA :: NAME => Ok (SERVO_OUTPUT_RAW_DATA :: ID) , CAMERA_CAPTURE_STATUS_DATA :: NAME => Ok (CAMERA_CAPTURE_STATUS_DATA :: ID) , VFR_HUD_DATA :: NAME => Ok (VFR_HUD_DATA :: ID) , NAV_CONTROLLER_OUTPUT_DATA :: NAME => Ok (NAV_CONTROLLER_OUTPUT_DATA :: ID) , OPEN_DRONE_ID_BASIC_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_BASIC_ID_DATA :: ID) , EVENT_DATA :: NAME => Ok (EVENT_DATA :: ID) , CAMERA_INFORMATION_DATA :: NAME => Ok (CAMERA_INFORMATION_DATA :: ID) , PARAM_REQUEST_LIST_DATA :: NAME => Ok (PARAM_REQUEST_LIST_DATA :: ID) , WHEEL_DISTANCE_DATA :: NAME => Ok (WHEEL_DISTANCE_DATA :: ID) , CHANGE_OPERATOR_CONTROL_DATA :: NAME => Ok (CHANGE_OPERATOR_CONTROL_DATA :: ID) , UAVCAN_NODE_STATUS_DATA :: NAME => Ok (UAVCAN_NODE_STATUS_DATA :: ID) , PARAM_EXT_SET_DATA :: NAME => Ok (PARAM_EXT_SET_DATA :: ID) , OPEN_DRONE_ID_SYSTEM_DATA :: NAME => Ok (OPEN_DRONE_ID_SYSTEM_DATA :: ID) , MISSION_REQUEST_PARTIAL_LIST_DATA :: NAME => Ok (MISSION_REQUEST_PARTIAL_LIST_DATA :: ID) , SMART_BATTERY_INFO_DATA :: NAME => Ok (SMART_BATTERY_INFO_DATA :: ID) , OPTICAL_FLOW_RAD_DATA :: NAME => Ok (OPTICAL_FLOW_RAD_DATA :: ID) , HIL_OPTICAL_FLOW_DATA :: NAME => Ok (HIL_OPTICAL_FLOW_DATA :: ID) , LOCAL_POSITION_NED_COV_DATA :: NAME => Ok (LOCAL_POSITION_NED_COV_DATA :: ID) , BATTERY_STATUS_DATA :: NAME => Ok (BATTERY_STATUS_DATA :: ID) , GLOBAL_POSITION_INT_DATA :: NAME => Ok (GLOBAL_POSITION_INT_DATA :: ID) , MOUNT_ORIENTATION_DATA :: NAME => Ok (MOUNT_ORIENTATION_DATA :: ID) , MISSION_ITEM_DATA :: NAME => Ok (MISSION_ITEM_DATA :: ID) , GPS_RTK_DATA :: NAME => Ok (GPS_RTK_DATA :: ID) , HIGHRES_IMU_DATA :: NAME => Ok (HIGHRES_IMU_DATA :: ID) , RESOURCE_REQUEST_DATA :: NAME => Ok (RESOURCE_REQUEST_DATA :: ID) , CONTROL_SYSTEM_STATE_DATA :: NAME => Ok (CONTROL_SYSTEM_STATE_DATA :: ID) , GIMBAL_DEVICE_INFORMATION_DATA :: NAME => Ok (GIMBAL_DEVICE_INFORMATION_DATA :: ID) , PARAM_EXT_VALUE_DATA :: NAME => Ok (PARAM_EXT_VALUE_DATA :: ID) , RAW_IMU_DATA :: NAME => Ok (RAW_IMU_DATA :: ID) , TUNNEL_DATA :: NAME => Ok (TUNNEL_DATA :: ID) , GPS2_RTK_DATA :: NAME => Ok (GPS2_RTK_DATA :: ID) , EFI_STATUS_DATA :: NAME => Ok (EFI_STATUS_DATA :: ID) , ATTITUDE_TARGET_DATA :: NAME => Ok (ATTITUDE_TARGET_DATA :: ID) , GPS_INJECT_DATA_DATA :: NAME => Ok (GPS_INJECT_DATA_DATA :: ID) , CELLULAR_CONFIG_DATA :: NAME => Ok (CELLULAR_CONFIG_DATA :: ID) , EXTENDED_SYS_STATE_DATA :: NAME => Ok (EXTENDED_SYS_STATE_DATA :: ID) , ONBOARD_COMPUTER_STATUS_DATA :: NAME => Ok (ONBOARD_COMPUTER_STATUS_DATA :: ID) , SETUP_SIGNING_DATA :: NAME => Ok (SETUP_SIGNING_DATA :: ID) , PARAM_MAP_RC_DATA :: NAME => Ok (PARAM_MAP_RC_DATA :: ID) , HIGH_LATENCY2_DATA :: NAME => Ok (HIGH_LATENCY2_DATA :: ID) , SCALED_IMU2_DATA :: NAME => Ok (SCALED_IMU2_DATA :: ID) , POSITION_TARGET_GLOBAL_INT_DATA :: NAME => Ok (POSITION_TARGET_GLOBAL_INT_DATA :: ID) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: NAME => Ok (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID) , VIBRATION_DATA :: NAME => Ok (VIBRATION_DATA :: ID) , HIL_SENSOR_DATA :: NAME => Ok (HIL_SENSOR_DATA :: ID) , WINCH_STATUS_DATA :: NAME => Ok (WINCH_STATUS_DATA :: ID) , SET_MODE_DATA :: NAME => Ok (SET_MODE_DATA :: ID) , RAW_PRESSURE_DATA :: NAME => Ok (RAW_PRESSURE_DATA :: ID) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: NAME => Ok (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID) , LOG_DATA_DATA :: NAME => Ok (LOG_DATA_DATA :: ID) , TIMESYNC_DATA :: NAME => Ok (TIMESYNC_DATA :: ID) , RC_CHANNELS_RAW_DATA :: NAME => Ok (RC_CHANNELS_RAW_DATA :: ID) , GIMBAL_MANAGER_INFORMATION_DATA :: NAME => Ok (GIMBAL_MANAGER_INFORMATION_DATA :: ID) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID) , PARAM_VALUE_DATA :: NAME => Ok (PARAM_VALUE_DATA :: ID) , HIL_CONTROLS_DATA :: NAME => Ok (HIL_CONTROLS_DATA :: ID) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: NAME => Ok (GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID) , ADSB_VEHICLE_DATA :: NAME => Ok (ADSB_VEHICLE_DATA :: ID) , PARAM_EXT_REQUEST_LIST_DATA :: NAME => Ok (PARAM_EXT_REQUEST_LIST_DATA :: ID) , UTM_GLOBAL_POSITION_DATA :: NAME => Ok (UTM_GLOBAL_POSITION_DATA :: ID) , COMMAND_ACK_DATA :: NAME => Ok (COMMAND_ACK_DATA :: ID) , ISBD_LINK_STATUS_DATA :: NAME => Ok (ISBD_LINK_STATUS_DATA :: ID) , UAVIONIX_ADSB_OUT_CFG_DATA :: NAME => Ok (UAVIONIX_ADSB_OUT_CFG_DATA :: ID) , AUTOPILOT_VERSION_DATA :: NAME => Ok (AUTOPILOT_VERSION_DATA :: ID) , DATA_TRANSMISSION_HANDSHAKE_DATA :: NAME => Ok (DATA_TRANSMISSION_HANDSHAKE_DATA :: ID) , DEBUG_FLOAT_ARRAY_DATA :: NAME => Ok (DEBUG_FLOAT_ARRAY_DATA :: ID) , PLAY_TUNE_V2_DATA :: NAME => Ok (PLAY_TUNE_V2_DATA :: ID) , SET_ACTUATOR_CONTROL_TARGET_DATA :: NAME => Ok (SET_ACTUATOR_CONTROL_TARGET_DATA :: ID) , REQUEST_EVENT_DATA :: NAME => Ok (REQUEST_EVENT_DATA :: ID) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: NAME => Ok (TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID) , NAMED_VALUE_INT_DATA :: NAME => Ok (NAMED_VALUE_INT_DATA :: ID) , MISSION_REQUEST_LIST_DATA :: NAME => Ok (MISSION_REQUEST_LIST_DATA :: ID) , LOG_REQUEST_DATA_DATA :: NAME => Ok (LOG_REQUEST_DATA_DATA :: ID) , MESSAGE_INTERVAL_DATA :: NAME => Ok (MESSAGE_INTERVAL_DATA :: ID) , VISION_POSITION_ESTIMATE_DATA :: NAME => Ok (VISION_POSITION_ESTIMATE_DATA :: ID) , LOG_ENTRY_DATA :: NAME => Ok (LOG_ENTRY_DATA :: ID) , AIS_VESSEL_DATA :: NAME => Ok (AIS_VESSEL_DATA :: ID) , MISSION_ACK_DATA :: NAME => Ok (MISSION_ACK_DATA :: ID) , RADIO_STATUS_DATA :: NAME => Ok (RADIO_STATUS_DATA :: ID) , CELLULAR_STATUS_DATA :: NAME => Ok (CELLULAR_STATUS_DATA :: ID) , DATA_STREAM_DATA :: NAME => Ok (DATA_STREAM_DATA :: ID) , DEBUG_VECT_DATA :: NAME => Ok (DEBUG_VECT_DATA :: ID) , MISSION_CURRENT_DATA :: NAME => Ok (MISSION_CURRENT_DATA :: ID) , PROTOCOL_VERSION_DATA :: NAME => Ok (PROTOCOL_VERSION_DATA :: ID) , GPS_INPUT_DATA :: NAME => Ok (GPS_INPUT_DATA :: ID) , TIME_ESTIMATE_TO_TARGET_DATA :: NAME => Ok (TIME_ESTIMATE_TO_TARGET_DATA :: ID) , MISSION_ITEM_INT_DATA :: NAME => Ok (MISSION_ITEM_INT_DATA :: ID) , GPS_STATUS_DATA :: NAME => Ok (GPS_STATUS_DATA :: ID) , MANUAL_SETPOINT_DATA :: NAME => Ok (MANUAL_SETPOINT_DATA :: ID) , FENCE_STATUS_DATA :: NAME => Ok (FENCE_STATUS_DATA :: ID) , HOME_POSITION_DATA :: NAME => Ok (HOME_POSITION_DATA :: ID) , ESC_INFO_DATA :: NAME => Ok (ESC_INFO_DATA :: ID) , COMMAND_CANCEL_DATA :: NAME => Ok (COMMAND_CANCEL_DATA :: ID) , PARAM_EXT_REQUEST_READ_DATA :: NAME => Ok (PARAM_EXT_REQUEST_READ_DATA :: ID) , PLAY_TUNE_DATA :: NAME => Ok (PLAY_TUNE_DATA :: ID) , MISSION_REQUEST_INT_DATA :: NAME => Ok (MISSION_REQUEST_INT_DATA :: ID) , ATTITUDE_QUATERNION_COV_DATA :: NAME => Ok (ATTITUDE_QUATERNION_COV_DATA :: ID) , MISSION_ITEM_REACHED_DATA :: NAME => Ok (MISSION_ITEM_REACHED_DATA :: ID) , PARAM_REQUEST_READ_DATA :: NAME => Ok (PARAM_REQUEST_READ_DATA :: ID) , TERRAIN_DATA_DATA :: NAME => Ok (TERRAIN_DATA_DATA :: ID) , GPS_RAW_INT_DATA :: NAME => Ok (GPS_RAW_INT_DATA :: ID) , STORAGE_INFORMATION_DATA :: NAME => Ok (STORAGE_INFORMATION_DATA :: ID) , RESPONSE_EVENT_ERROR_DATA :: NAME => Ok (RESPONSE_EVENT_ERROR_DATA :: ID) , MANUAL_CONTROL_DATA :: NAME => Ok (MANUAL_CONTROL_DATA :: ID) , NAMED_VALUE_FLOAT_DATA :: NAME => Ok (NAMED_VALUE_FLOAT_DATA :: ID) , GIMBAL_MANAGER_STATUS_DATA :: NAME => Ok (GIMBAL_MANAGER_STATUS_DATA :: ID) , SET_GPS_GLOBAL_ORIGIN_DATA :: NAME => Ok (SET_GPS_GLOBAL_ORIGIN_DATA :: ID) , LOGGING_DATA_DATA :: NAME => Ok (LOGGING_DATA_DATA :: ID) , STATUSTEXT_DATA :: NAME => Ok (STATUSTEXT_DATA :: ID) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: NAME => Ok (CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID) , ESTIMATOR_STATUS_DATA :: NAME => Ok (ESTIMATOR_STATUS_DATA :: ID) , CAMERA_IMAGE_CAPTURED_DATA :: NAME => Ok (CAMERA_IMAGE_CAPTURED_DATA :: ID) , PARAM_EXT_ACK_DATA :: NAME => Ok (PARAM_EXT_ACK_DATA :: ID) , ACTUATOR_CONTROL_TARGET_DATA :: NAME => Ok (ACTUATOR_CONTROL_TARGET_DATA :: ID) , SET_POSITION_TARGET_LOCAL_NED_DATA :: NAME => Ok (SET_POSITION_TARGET_LOCAL_NED_DATA :: ID) , CAN_FRAME_DATA :: NAME => Ok (CAN_FRAME_DATA :: ID) , COMMAND_LONG_DATA :: NAME => Ok (COMMAND_LONG_DATA :: ID) , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: NAME => Ok (UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID) , HEARTBEAT_DATA :: NAME => Ok (HEARTBEAT_DATA :: ID) , ATTITUDE_QUATERNION_DATA :: NAME => Ok (ATTITUDE_QUATERNION_DATA :: ID) , VICON_POSITION_ESTIMATE_DATA :: NAME => Ok (VICON_POSITION_ESTIMATE_DATA :: ID) , ORBIT_EXECUTION_STATUS_DATA :: NAME => Ok (ORBIT_EXECUTION_STATUS_DATA :: ID) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID) , SCALED_PRESSURE2_DATA :: NAME => Ok (SCALED_PRESSURE2_DATA :: ID) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: NAME => Ok (OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID) , ODOMETRY_DATA :: NAME => Ok (ODOMETRY_DATA :: ID) , CAMERA_SETTINGS_DATA :: NAME => Ok (CAMERA_SETTINGS_DATA :: ID) , MISSION_CLEAR_ALL_DATA :: NAME => Ok (MISSION_CLEAR_ALL_DATA :: ID) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID) , VISION_SPEED_ESTIMATE_DATA :: NAME => Ok (VISION_SPEED_ESTIMATE_DATA :: ID) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: NAME => Ok (OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID) , TERRAIN_REPORT_DATA :: NAME => Ok (TERRAIN_REPORT_DATA :: ID) , LOCAL_POSITION_NED_DATA :: NAME => Ok (LOCAL_POSITION_NED_DATA :: ID) , DEBUG_DATA :: NAME => Ok (DEBUG_DATA :: ID) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: NAME => Ok (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID) , GPS_GLOBAL_ORIGIN_DATA :: NAME => Ok (GPS_GLOBAL_ORIGIN_DATA :: ID) , MISSION_COUNT_DATA :: NAME => Ok (MISSION_COUNT_DATA :: ID) , HIGH_LATENCY_DATA :: NAME => Ok (HIGH_LATENCY_DATA :: ID) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: NAME => Ok (SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID) , CURRENT_EVENT_SEQUENCE_DATA :: NAME => Ok (CURRENT_EVENT_SEQUENCE_DATA :: ID) , MEMORY_VECT_DATA :: NAME => Ok (MEMORY_VECT_DATA :: ID) , MISSION_REQUEST_DATA :: NAME => Ok (MISSION_REQUEST_DATA :: ID) , V2_EXTENSION_DATA :: NAME => Ok (V2_EXTENSION_DATA :: ID) , ESC_STATUS_DATA :: NAME => Ok (ESC_STATUS_DATA :: ID) , LOGGING_DATA_ACKED_DATA :: NAME => Ok (LOGGING_DATA_ACKED_DATA :: ID) , CANFD_FRAME_DATA :: NAME => Ok (CANFD_FRAME_DATA :: ID) , SCALED_IMU3_DATA :: NAME => Ok (SCALED_IMU3_DATA :: ID) , GLOBAL_POSITION_INT_COV_DATA :: NAME => Ok (GLOBAL_POSITION_INT_COV_DATA :: ID) , HIL_STATE_QUATERNION_DATA :: NAME => Ok (HIL_STATE_QUATERNION_DATA :: ID) , AUTH_KEY_DATA :: NAME => Ok (AUTH_KEY_DATA :: ID) , OPEN_DRONE_ID_LOCATION_DATA :: NAME => Ok (OPEN_DRONE_ID_LOCATION_DATA :: ID) , LOGGING_ACK_DATA :: NAME => Ok (LOGGING_ACK_DATA :: ID) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: NAME => Ok (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID) , SYSTEM_TIME_DATA :: NAME => Ok (SYSTEM_TIME_DATA :: ID) , SET_ATTITUDE_TARGET_DATA :: NAME => Ok (SET_ATTITUDE_TARGET_DATA :: ID) , POSITION_TARGET_LOCAL_NED_DATA :: NAME => Ok (POSITION_TARGET_LOCAL_NED_DATA :: ID) , TERRAIN_CHECK_DATA :: NAME => Ok (TERRAIN_CHECK_DATA :: ID) , SYS_STATUS_DATA :: NAME => Ok (SYS_STATUS_DATA :: ID) , WIFI_CONFIG_AP_DATA :: NAME => Ok (WIFI_CONFIG_AP_DATA :: ID) , PING_DATA :: NAME => Ok (PING_DATA :: ID) , RC_CHANNELS_SCALED_DATA :: NAME => Ok (RC_CHANNELS_SCALED_DATA :: ID) , OPTICAL_FLOW_DATA :: NAME => Ok (OPTICAL_FLOW_DATA :: ID) , OPEN_DRONE_ID_SELF_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_SELF_ID_DATA :: ID) , _ => { Err ("Invalid message name.") } } } fn default_message_from_id (id : u32) -> Result < Self , & 'static str > { match id { POWER_STATUS_DATA :: ID => Ok (Self :: POWER_STATUS (POWER_STATUS_DATA :: default ())) , GPS_RTCM_DATA_DATA :: ID => Ok (Self :: GPS_RTCM_DATA (GPS_RTCM_DATA_DATA :: default ())) , WIND_COV_DATA :: ID => Ok (Self :: WIND_COV (WIND_COV_DATA :: default ())) , HIL_RC_INPUTS_RAW_DATA :: ID => Ok (Self :: HIL_RC_INPUTS_RAW (HIL_RC_INPUTS_RAW_DATA :: default ())) , ENCAPSULATED_DATA_DATA :: ID => Ok (Self :: ENCAPSULATED_DATA (ENCAPSULATED_DATA_DATA :: default ())) , LOG_REQUEST_END_DATA :: ID => Ok (Self :: LOG_REQUEST_END (LOG_REQUEST_END_DATA :: default ())) , MISSION_SET_CURRENT_DATA :: ID => Ok (Self :: MISSION_SET_CURRENT (MISSION_SET_CURRENT_DATA :: default ())) , COMPONENT_METADATA_DATA :: ID => Ok (Self :: COMPONENT_METADATA (COMPONENT_METADATA_DATA :: default ())) , FLIGHT_INFORMATION_DATA :: ID => Ok (Self :: FLIGHT_INFORMATION (FLIGHT_INFORMATION_DATA :: default ())) , SAFETY_SET_ALLOWED_AREA_DATA :: ID => Ok (Self :: SAFETY_SET_ALLOWED_AREA (SAFETY_SET_ALLOWED_AREA_DATA :: default ())) , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => Ok (Self :: CAMERA_TRACKING_GEO_STATUS (CAMERA_TRACKING_GEO_STATUS_DATA :: default ())) , LANDING_TARGET_DATA :: ID => Ok (Self :: LANDING_TARGET (LANDING_TARGET_DATA :: default ())) , COMMAND_INT_DATA :: ID => Ok (Self :: COMMAND_INT (COMMAND_INT_DATA :: default ())) , ATT_POS_MOCAP_DATA :: ID => Ok (Self :: ATT_POS_MOCAP (ATT_POS_MOCAP_DATA :: default ())) , ALTITUDE_DATA :: ID => Ok (Self :: ALTITUDE (ALTITUDE_DATA :: default ())) , FOLLOW_TARGET_DATA :: ID => Ok (Self :: FOLLOW_TARGET (FOLLOW_TARGET_DATA :: default ())) , SIM_STATE_DATA :: ID => Ok (Self :: SIM_STATE (SIM_STATE_DATA :: default ())) , MAG_CAL_REPORT_DATA :: ID => Ok (Self :: MAG_CAL_REPORT (MAG_CAL_REPORT_DATA :: default ())) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: default ())) , HIL_ACTUATOR_CONTROLS_DATA :: ID => Ok (Self :: HIL_ACTUATOR_CONTROLS (HIL_ACTUATOR_CONTROLS_DATA :: default ())) , ACTUATOR_OUTPUT_STATUS_DATA :: ID => Ok (Self :: ACTUATOR_OUTPUT_STATUS (ACTUATOR_OUTPUT_STATUS_DATA :: default ())) , COMPONENT_INFORMATION_DATA :: ID => Ok (Self :: COMPONENT_INFORMATION (COMPONENT_INFORMATION_DATA :: default ())) , GPS2_RAW_DATA :: ID => Ok (Self :: GPS2_RAW (GPS2_RAW_DATA :: default ())) , BUTTON_CHANGE_DATA :: ID => Ok (Self :: BUTTON_CHANGE (BUTTON_CHANGE_DATA :: default ())) , UAVCAN_NODE_INFO_DATA :: ID => Ok (Self :: UAVCAN_NODE_INFO (UAVCAN_NODE_INFO_DATA :: default ())) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: GLOBAL_VISION_POSITION_ESTIMATE (GLOBAL_VISION_POSITION_ESTIMATE_DATA :: default ())) , COLLISION_DATA :: ID => Ok (Self :: COLLISION (COLLISION_DATA :: default ())) , RAW_RPM_DATA :: ID => Ok (Self :: RAW_RPM (RAW_RPM_DATA :: default ())) , SERIAL_CONTROL_DATA :: ID => Ok (Self :: SERIAL_CONTROL (SERIAL_CONTROL_DATA :: default ())) , CAMERA_TRIGGER_DATA :: ID => Ok (Self :: CAMERA_TRIGGER (CAMERA_TRIGGER_DATA :: default ())) , SET_HOME_POSITION_DATA :: ID => Ok (Self :: SET_HOME_POSITION (SET_HOME_POSITION_DATA :: default ())) , CAMERA_FOV_STATUS_DATA :: ID => Ok (Self :: CAMERA_FOV_STATUS (CAMERA_FOV_STATUS_DATA :: default ())) , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_ARM_STATUS (OPEN_DRONE_ID_ARM_STATUS_DATA :: default ())) , VIDEO_STREAM_INFORMATION_DATA :: ID => Ok (Self :: VIDEO_STREAM_INFORMATION (VIDEO_STREAM_INFORMATION_DATA :: default ())) , LINK_NODE_STATUS_DATA :: ID => Ok (Self :: LINK_NODE_STATUS (LINK_NODE_STATUS_DATA :: default ())) , HIL_STATE_DATA :: ID => Ok (Self :: HIL_STATE (HIL_STATE_DATA :: default ())) , PARAM_SET_DATA :: ID => Ok (Self :: PARAM_SET (PARAM_SET_DATA :: default ())) , SCALED_IMU_DATA :: ID => Ok (Self :: SCALED_IMU (SCALED_IMU_DATA :: default ())) , FILE_TRANSFER_PROTOCOL_DATA :: ID => Ok (Self :: FILE_TRANSFER_PROTOCOL (FILE_TRANSFER_PROTOCOL_DATA :: default ())) , TERRAIN_REQUEST_DATA :: ID => Ok (Self :: TERRAIN_REQUEST (TERRAIN_REQUEST_DATA :: default ())) , SCALED_PRESSURE_DATA :: ID => Ok (Self :: SCALED_PRESSURE (SCALED_PRESSURE_DATA :: default ())) , GENERATOR_STATUS_DATA :: ID => Ok (Self :: GENERATOR_STATUS (GENERATOR_STATUS_DATA :: default ())) , HIL_GPS_DATA :: ID => Ok (Self :: HIL_GPS (HIL_GPS_DATA :: default ())) , LOG_ERASE_DATA :: ID => Ok (Self :: LOG_ERASE (LOG_ERASE_DATA :: default ())) , RC_CHANNELS_OVERRIDE_DATA :: ID => Ok (Self :: RC_CHANNELS_OVERRIDE (RC_CHANNELS_OVERRIDE_DATA :: default ())) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID => Ok (Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: default ())) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => Ok (Self :: CAMERA_TRACKING_IMAGE_STATUS (CAMERA_TRACKING_IMAGE_STATUS_DATA :: default ())) , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => Ok (Self :: MISSION_WRITE_PARTIAL_LIST (MISSION_WRITE_PARTIAL_LIST_DATA :: default ())) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: default ())) , SUPPORTED_TUNES_DATA :: ID => Ok (Self :: SUPPORTED_TUNES (SUPPORTED_TUNES_DATA :: default ())) , VIDEO_STREAM_STATUS_DATA :: ID => Ok (Self :: VIDEO_STREAM_STATUS (VIDEO_STREAM_STATUS_DATA :: default ())) , HYGROMETER_SENSOR_DATA :: ID => Ok (Self :: HYGROMETER_SENSOR (HYGROMETER_SENSOR_DATA :: default ())) , SCALED_PRESSURE3_DATA :: ID => Ok (Self :: SCALED_PRESSURE3 (SCALED_PRESSURE3_DATA :: default ())) , OBSTACLE_DISTANCE_DATA :: ID => Ok (Self :: OBSTACLE_DISTANCE (OBSTACLE_DISTANCE_DATA :: default ())) , REQUEST_DATA_STREAM_DATA :: ID => Ok (Self :: REQUEST_DATA_STREAM (REQUEST_DATA_STREAM_DATA :: default ())) , DISTANCE_SENSOR_DATA :: ID => Ok (Self :: DISTANCE_SENSOR (DISTANCE_SENSOR_DATA :: default ())) , LOG_REQUEST_LIST_DATA :: ID => Ok (Self :: LOG_REQUEST_LIST (LOG_REQUEST_LIST_DATA :: default ())) , RC_CHANNELS_DATA :: ID => Ok (Self :: RC_CHANNELS (RC_CHANNELS_DATA :: default ())) , CAN_FILTER_MODIFY_DATA :: ID => Ok (Self :: CAN_FILTER_MODIFY (CAN_FILTER_MODIFY_DATA :: default ())) , SAFETY_ALLOWED_AREA_DATA :: ID => Ok (Self :: SAFETY_ALLOWED_AREA (SAFETY_ALLOWED_AREA_DATA :: default ())) , ATTITUDE_DATA :: ID => Ok (Self :: ATTITUDE (ATTITUDE_DATA :: default ())) , SERVO_OUTPUT_RAW_DATA :: ID => Ok (Self :: SERVO_OUTPUT_RAW (SERVO_OUTPUT_RAW_DATA :: default ())) , CAMERA_CAPTURE_STATUS_DATA :: ID => Ok (Self :: CAMERA_CAPTURE_STATUS (CAMERA_CAPTURE_STATUS_DATA :: default ())) , VFR_HUD_DATA :: ID => Ok (Self :: VFR_HUD (VFR_HUD_DATA :: default ())) , NAV_CONTROLLER_OUTPUT_DATA :: ID => Ok (Self :: NAV_CONTROLLER_OUTPUT (NAV_CONTROLLER_OUTPUT_DATA :: default ())) , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_BASIC_ID (OPEN_DRONE_ID_BASIC_ID_DATA :: default ())) , EVENT_DATA :: ID => Ok (Self :: EVENT (EVENT_DATA :: default ())) , CAMERA_INFORMATION_DATA :: ID => Ok (Self :: CAMERA_INFORMATION (CAMERA_INFORMATION_DATA :: default ())) , PARAM_REQUEST_LIST_DATA :: ID => Ok (Self :: PARAM_REQUEST_LIST (PARAM_REQUEST_LIST_DATA :: default ())) , WHEEL_DISTANCE_DATA :: ID => Ok (Self :: WHEEL_DISTANCE (WHEEL_DISTANCE_DATA :: default ())) , CHANGE_OPERATOR_CONTROL_DATA :: ID => Ok (Self :: CHANGE_OPERATOR_CONTROL (CHANGE_OPERATOR_CONTROL_DATA :: default ())) , UAVCAN_NODE_STATUS_DATA :: ID => Ok (Self :: UAVCAN_NODE_STATUS (UAVCAN_NODE_STATUS_DATA :: default ())) , PARAM_EXT_SET_DATA :: ID => Ok (Self :: PARAM_EXT_SET (PARAM_EXT_SET_DATA :: default ())) , OPEN_DRONE_ID_SYSTEM_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SYSTEM (OPEN_DRONE_ID_SYSTEM_DATA :: default ())) , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => Ok (Self :: MISSION_REQUEST_PARTIAL_LIST (MISSION_REQUEST_PARTIAL_LIST_DATA :: default ())) , SMART_BATTERY_INFO_DATA :: ID => Ok (Self :: SMART_BATTERY_INFO (SMART_BATTERY_INFO_DATA :: default ())) , OPTICAL_FLOW_RAD_DATA :: ID => Ok (Self :: OPTICAL_FLOW_RAD (OPTICAL_FLOW_RAD_DATA :: default ())) , HIL_OPTICAL_FLOW_DATA :: ID => Ok (Self :: HIL_OPTICAL_FLOW (HIL_OPTICAL_FLOW_DATA :: default ())) , LOCAL_POSITION_NED_COV_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED_COV (LOCAL_POSITION_NED_COV_DATA :: default ())) , BATTERY_STATUS_DATA :: ID => Ok (Self :: BATTERY_STATUS (BATTERY_STATUS_DATA :: default ())) , GLOBAL_POSITION_INT_DATA :: ID => Ok (Self :: GLOBAL_POSITION_INT (GLOBAL_POSITION_INT_DATA :: default ())) , MOUNT_ORIENTATION_DATA :: ID => Ok (Self :: MOUNT_ORIENTATION (MOUNT_ORIENTATION_DATA :: default ())) , MISSION_ITEM_DATA :: ID => Ok (Self :: MISSION_ITEM (MISSION_ITEM_DATA :: default ())) , GPS_RTK_DATA :: ID => Ok (Self :: GPS_RTK (GPS_RTK_DATA :: default ())) , HIGHRES_IMU_DATA :: ID => Ok (Self :: HIGHRES_IMU (HIGHRES_IMU_DATA :: default ())) , RESOURCE_REQUEST_DATA :: ID => Ok (Self :: RESOURCE_REQUEST (RESOURCE_REQUEST_DATA :: default ())) , CONTROL_SYSTEM_STATE_DATA :: ID => Ok (Self :: CONTROL_SYSTEM_STATE (CONTROL_SYSTEM_STATE_DATA :: default ())) , GIMBAL_DEVICE_INFORMATION_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_INFORMATION (GIMBAL_DEVICE_INFORMATION_DATA :: default ())) , PARAM_EXT_VALUE_DATA :: ID => Ok (Self :: PARAM_EXT_VALUE (PARAM_EXT_VALUE_DATA :: default ())) , RAW_IMU_DATA :: ID => Ok (Self :: RAW_IMU (RAW_IMU_DATA :: default ())) , TUNNEL_DATA :: ID => Ok (Self :: TUNNEL (TUNNEL_DATA :: default ())) , GPS2_RTK_DATA :: ID => Ok (Self :: GPS2_RTK (GPS2_RTK_DATA :: default ())) , EFI_STATUS_DATA :: ID => Ok (Self :: EFI_STATUS (EFI_STATUS_DATA :: default ())) , ATTITUDE_TARGET_DATA :: ID => Ok (Self :: ATTITUDE_TARGET (ATTITUDE_TARGET_DATA :: default ())) , GPS_INJECT_DATA_DATA :: ID => Ok (Self :: GPS_INJECT_DATA (GPS_INJECT_DATA_DATA :: default ())) , CELLULAR_CONFIG_DATA :: ID => Ok (Self :: CELLULAR_CONFIG (CELLULAR_CONFIG_DATA :: default ())) , EXTENDED_SYS_STATE_DATA :: ID => Ok (Self :: EXTENDED_SYS_STATE (EXTENDED_SYS_STATE_DATA :: default ())) , ONBOARD_COMPUTER_STATUS_DATA :: ID => Ok (Self :: ONBOARD_COMPUTER_STATUS (ONBOARD_COMPUTER_STATUS_DATA :: default ())) , SETUP_SIGNING_DATA :: ID => Ok (Self :: SETUP_SIGNING (SETUP_SIGNING_DATA :: default ())) , PARAM_MAP_RC_DATA :: ID => Ok (Self :: PARAM_MAP_RC (PARAM_MAP_RC_DATA :: default ())) , HIGH_LATENCY2_DATA :: ID => Ok (Self :: HIGH_LATENCY2 (HIGH_LATENCY2_DATA :: default ())) , SCALED_IMU2_DATA :: ID => Ok (Self :: SCALED_IMU2 (SCALED_IMU2_DATA :: default ())) , POSITION_TARGET_GLOBAL_INT_DATA :: ID => Ok (Self :: POSITION_TARGET_GLOBAL_INT (POSITION_TARGET_GLOBAL_INT_DATA :: default ())) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => Ok (Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: default ())) , VIBRATION_DATA :: ID => Ok (Self :: VIBRATION (VIBRATION_DATA :: default ())) , HIL_SENSOR_DATA :: ID => Ok (Self :: HIL_SENSOR (HIL_SENSOR_DATA :: default ())) , WINCH_STATUS_DATA :: ID => Ok (Self :: WINCH_STATUS (WINCH_STATUS_DATA :: default ())) , SET_MODE_DATA :: ID => Ok (Self :: SET_MODE (SET_MODE_DATA :: default ())) , RAW_PRESSURE_DATA :: ID => Ok (Self :: RAW_PRESSURE (RAW_PRESSURE_DATA :: default ())) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => Ok (Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: default ())) , LOG_DATA_DATA :: ID => Ok (Self :: LOG_DATA (LOG_DATA_DATA :: default ())) , TIMESYNC_DATA :: ID => Ok (Self :: TIMESYNC (TIMESYNC_DATA :: default ())) , RC_CHANNELS_RAW_DATA :: ID => Ok (Self :: RC_CHANNELS_RAW (RC_CHANNELS_RAW_DATA :: default ())) , GIMBAL_MANAGER_INFORMATION_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_INFORMATION (GIMBAL_MANAGER_INFORMATION_DATA :: default ())) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_OPERATOR_ID (OPEN_DRONE_ID_OPERATOR_ID_DATA :: default ())) , PARAM_VALUE_DATA :: ID => Ok (Self :: PARAM_VALUE (PARAM_VALUE_DATA :: default ())) , HIL_CONTROLS_DATA :: ID => Ok (Self :: HIL_CONTROLS (HIL_CONTROLS_DATA :: default ())) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_SET_ATTITUDE (GIMBAL_DEVICE_SET_ATTITUDE_DATA :: default ())) , ADSB_VEHICLE_DATA :: ID => Ok (Self :: ADSB_VEHICLE (ADSB_VEHICLE_DATA :: default ())) , PARAM_EXT_REQUEST_LIST_DATA :: ID => Ok (Self :: PARAM_EXT_REQUEST_LIST (PARAM_EXT_REQUEST_LIST_DATA :: default ())) , UTM_GLOBAL_POSITION_DATA :: ID => Ok (Self :: UTM_GLOBAL_POSITION (UTM_GLOBAL_POSITION_DATA :: default ())) , COMMAND_ACK_DATA :: ID => Ok (Self :: COMMAND_ACK (COMMAND_ACK_DATA :: default ())) , ISBD_LINK_STATUS_DATA :: ID => Ok (Self :: ISBD_LINK_STATUS (ISBD_LINK_STATUS_DATA :: default ())) , UAVIONIX_ADSB_OUT_CFG_DATA :: ID => Ok (Self :: UAVIONIX_ADSB_OUT_CFG (UAVIONIX_ADSB_OUT_CFG_DATA :: default ())) , AUTOPILOT_VERSION_DATA :: ID => Ok (Self :: AUTOPILOT_VERSION (AUTOPILOT_VERSION_DATA :: default ())) , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => Ok (Self :: DATA_TRANSMISSION_HANDSHAKE (DATA_TRANSMISSION_HANDSHAKE_DATA :: default ())) , DEBUG_FLOAT_ARRAY_DATA :: ID => Ok (Self :: DEBUG_FLOAT_ARRAY (DEBUG_FLOAT_ARRAY_DATA :: default ())) , PLAY_TUNE_V2_DATA :: ID => Ok (Self :: PLAY_TUNE_V2 (PLAY_TUNE_V2_DATA :: default ())) , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => Ok (Self :: SET_ACTUATOR_CONTROL_TARGET (SET_ACTUATOR_CONTROL_TARGET_DATA :: default ())) , REQUEST_EVENT_DATA :: ID => Ok (Self :: REQUEST_EVENT (REQUEST_EVENT_DATA :: default ())) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => Ok (Self :: TRAJECTORY_REPRESENTATION_BEZIER (TRAJECTORY_REPRESENTATION_BEZIER_DATA :: default ())) , NAMED_VALUE_INT_DATA :: ID => Ok (Self :: NAMED_VALUE_INT (NAMED_VALUE_INT_DATA :: default ())) , MISSION_REQUEST_LIST_DATA :: ID => Ok (Self :: MISSION_REQUEST_LIST (MISSION_REQUEST_LIST_DATA :: default ())) , LOG_REQUEST_DATA_DATA :: ID => Ok (Self :: LOG_REQUEST_DATA (LOG_REQUEST_DATA_DATA :: default ())) , MESSAGE_INTERVAL_DATA :: ID => Ok (Self :: MESSAGE_INTERVAL (MESSAGE_INTERVAL_DATA :: default ())) , VISION_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: VISION_POSITION_ESTIMATE (VISION_POSITION_ESTIMATE_DATA :: default ())) , LOG_ENTRY_DATA :: ID => Ok (Self :: LOG_ENTRY (LOG_ENTRY_DATA :: default ())) , AIS_VESSEL_DATA :: ID => Ok (Self :: AIS_VESSEL (AIS_VESSEL_DATA :: default ())) , MISSION_ACK_DATA :: ID => Ok (Self :: MISSION_ACK (MISSION_ACK_DATA :: default ())) , RADIO_STATUS_DATA :: ID => Ok (Self :: RADIO_STATUS (RADIO_STATUS_DATA :: default ())) , CELLULAR_STATUS_DATA :: ID => Ok (Self :: CELLULAR_STATUS (CELLULAR_STATUS_DATA :: default ())) , DATA_STREAM_DATA :: ID => Ok (Self :: DATA_STREAM (DATA_STREAM_DATA :: default ())) , DEBUG_VECT_DATA :: ID => Ok (Self :: DEBUG_VECT (DEBUG_VECT_DATA :: default ())) , MISSION_CURRENT_DATA :: ID => Ok (Self :: MISSION_CURRENT (MISSION_CURRENT_DATA :: default ())) , PROTOCOL_VERSION_DATA :: ID => Ok (Self :: PROTOCOL_VERSION (PROTOCOL_VERSION_DATA :: default ())) , GPS_INPUT_DATA :: ID => Ok (Self :: GPS_INPUT (GPS_INPUT_DATA :: default ())) , TIME_ESTIMATE_TO_TARGET_DATA :: ID => Ok (Self :: TIME_ESTIMATE_TO_TARGET (TIME_ESTIMATE_TO_TARGET_DATA :: default ())) , MISSION_ITEM_INT_DATA :: ID => Ok (Self :: MISSION_ITEM_INT (MISSION_ITEM_INT_DATA :: default ())) , GPS_STATUS_DATA :: ID => Ok (Self :: GPS_STATUS (GPS_STATUS_DATA :: default ())) , MANUAL_SETPOINT_DATA :: ID => Ok (Self :: MANUAL_SETPOINT (MANUAL_SETPOINT_DATA :: default ())) , FENCE_STATUS_DATA :: ID => Ok (Self :: FENCE_STATUS (FENCE_STATUS_DATA :: default ())) , HOME_POSITION_DATA :: ID => Ok (Self :: HOME_POSITION (HOME_POSITION_DATA :: default ())) , ESC_INFO_DATA :: ID => Ok (Self :: ESC_INFO (ESC_INFO_DATA :: default ())) , COMMAND_CANCEL_DATA :: ID => Ok (Self :: COMMAND_CANCEL (COMMAND_CANCEL_DATA :: default ())) , PARAM_EXT_REQUEST_READ_DATA :: ID => Ok (Self :: PARAM_EXT_REQUEST_READ (PARAM_EXT_REQUEST_READ_DATA :: default ())) , PLAY_TUNE_DATA :: ID => Ok (Self :: PLAY_TUNE (PLAY_TUNE_DATA :: default ())) , MISSION_REQUEST_INT_DATA :: ID => Ok (Self :: MISSION_REQUEST_INT (MISSION_REQUEST_INT_DATA :: default ())) , ATTITUDE_QUATERNION_COV_DATA :: ID => Ok (Self :: ATTITUDE_QUATERNION_COV (ATTITUDE_QUATERNION_COV_DATA :: default ())) , MISSION_ITEM_REACHED_DATA :: ID => Ok (Self :: MISSION_ITEM_REACHED (MISSION_ITEM_REACHED_DATA :: default ())) , PARAM_REQUEST_READ_DATA :: ID => Ok (Self :: PARAM_REQUEST_READ (PARAM_REQUEST_READ_DATA :: default ())) , TERRAIN_DATA_DATA :: ID => Ok (Self :: TERRAIN_DATA (TERRAIN_DATA_DATA :: default ())) , GPS_RAW_INT_DATA :: ID => Ok (Self :: GPS_RAW_INT (GPS_RAW_INT_DATA :: default ())) , STORAGE_INFORMATION_DATA :: ID => Ok (Self :: STORAGE_INFORMATION (STORAGE_INFORMATION_DATA :: default ())) , RESPONSE_EVENT_ERROR_DATA :: ID => Ok (Self :: RESPONSE_EVENT_ERROR (RESPONSE_EVENT_ERROR_DATA :: default ())) , MANUAL_CONTROL_DATA :: ID => Ok (Self :: MANUAL_CONTROL (MANUAL_CONTROL_DATA :: default ())) , NAMED_VALUE_FLOAT_DATA :: ID => Ok (Self :: NAMED_VALUE_FLOAT (NAMED_VALUE_FLOAT_DATA :: default ())) , GIMBAL_MANAGER_STATUS_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_STATUS (GIMBAL_MANAGER_STATUS_DATA :: default ())) , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => Ok (Self :: SET_GPS_GLOBAL_ORIGIN (SET_GPS_GLOBAL_ORIGIN_DATA :: default ())) , LOGGING_DATA_DATA :: ID => Ok (Self :: LOGGING_DATA (LOGGING_DATA_DATA :: default ())) , STATUSTEXT_DATA :: ID => Ok (Self :: STATUSTEXT (STATUSTEXT_DATA :: default ())) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => Ok (Self :: CHANGE_OPERATOR_CONTROL_ACK (CHANGE_OPERATOR_CONTROL_ACK_DATA :: default ())) , ESTIMATOR_STATUS_DATA :: ID => Ok (Self :: ESTIMATOR_STATUS (ESTIMATOR_STATUS_DATA :: default ())) , CAMERA_IMAGE_CAPTURED_DATA :: ID => Ok (Self :: CAMERA_IMAGE_CAPTURED (CAMERA_IMAGE_CAPTURED_DATA :: default ())) , PARAM_EXT_ACK_DATA :: ID => Ok (Self :: PARAM_EXT_ACK (PARAM_EXT_ACK_DATA :: default ())) , ACTUATOR_CONTROL_TARGET_DATA :: ID => Ok (Self :: ACTUATOR_CONTROL_TARGET (ACTUATOR_CONTROL_TARGET_DATA :: default ())) , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => Ok (Self :: SET_POSITION_TARGET_LOCAL_NED (SET_POSITION_TARGET_LOCAL_NED_DATA :: default ())) , CAN_FRAME_DATA :: ID => Ok (Self :: CAN_FRAME (CAN_FRAME_DATA :: default ())) , COMMAND_LONG_DATA :: ID => Ok (Self :: COMMAND_LONG (COMMAND_LONG_DATA :: default ())) , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID => Ok (Self :: UAVIONIX_ADSB_OUT_DYNAMIC (UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: default ())) , HEARTBEAT_DATA :: ID => Ok (Self :: HEARTBEAT (HEARTBEAT_DATA :: default ())) , ATTITUDE_QUATERNION_DATA :: ID => Ok (Self :: ATTITUDE_QUATERNION (ATTITUDE_QUATERNION_DATA :: default ())) , VICON_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: VICON_POSITION_ESTIMATE (VICON_POSITION_ESTIMATE_DATA :: default ())) , ORBIT_EXECUTION_STATUS_DATA :: ID => Ok (Self :: ORBIT_EXECUTION_STATUS (ORBIT_EXECUTION_STATUS_DATA :: default ())) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_PITCHYAW (GIMBAL_MANAGER_SET_PITCHYAW_DATA :: default ())) , SCALED_PRESSURE2_DATA :: ID => Ok (Self :: SCALED_PRESSURE2 (SCALED_PRESSURE2_DATA :: default ())) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_MESSAGE_PACK (OPEN_DRONE_ID_MESSAGE_PACK_DATA :: default ())) , ODOMETRY_DATA :: ID => Ok (Self :: ODOMETRY (ODOMETRY_DATA :: default ())) , CAMERA_SETTINGS_DATA :: ID => Ok (Self :: CAMERA_SETTINGS (CAMERA_SETTINGS_DATA :: default ())) , MISSION_CLEAR_ALL_DATA :: ID => Ok (Self :: MISSION_CLEAR_ALL (MISSION_CLEAR_ALL_DATA :: default ())) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_ATTITUDE (GIMBAL_MANAGER_SET_ATTITUDE_DATA :: default ())) , VISION_SPEED_ESTIMATE_DATA :: ID => Ok (Self :: VISION_SPEED_ESTIMATE (VISION_SPEED_ESTIMATE_DATA :: default ())) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_AUTHENTICATION (OPEN_DRONE_ID_AUTHENTICATION_DATA :: default ())) , TERRAIN_REPORT_DATA :: ID => Ok (Self :: TERRAIN_REPORT (TERRAIN_REPORT_DATA :: default ())) , LOCAL_POSITION_NED_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED (LOCAL_POSITION_NED_DATA :: default ())) , DEBUG_DATA :: ID => Ok (Self :: DEBUG (DEBUG_DATA :: default ())) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: default ())) , GPS_GLOBAL_ORIGIN_DATA :: ID => Ok (Self :: GPS_GLOBAL_ORIGIN (GPS_GLOBAL_ORIGIN_DATA :: default ())) , MISSION_COUNT_DATA :: ID => Ok (Self :: MISSION_COUNT (MISSION_COUNT_DATA :: default ())) , HIGH_LATENCY_DATA :: ID => Ok (Self :: HIGH_LATENCY (HIGH_LATENCY_DATA :: default ())) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => Ok (Self :: SET_POSITION_TARGET_GLOBAL_INT (SET_POSITION_TARGET_GLOBAL_INT_DATA :: default ())) , CURRENT_EVENT_SEQUENCE_DATA :: ID => Ok (Self :: CURRENT_EVENT_SEQUENCE (CURRENT_EVENT_SEQUENCE_DATA :: default ())) , MEMORY_VECT_DATA :: ID => Ok (Self :: MEMORY_VECT (MEMORY_VECT_DATA :: default ())) , MISSION_REQUEST_DATA :: ID => Ok (Self :: MISSION_REQUEST (MISSION_REQUEST_DATA :: default ())) , V2_EXTENSION_DATA :: ID => Ok (Self :: V2_EXTENSION (V2_EXTENSION_DATA :: default ())) , ESC_STATUS_DATA :: ID => Ok (Self :: ESC_STATUS (ESC_STATUS_DATA :: default ())) , LOGGING_DATA_ACKED_DATA :: ID => Ok (Self :: LOGGING_DATA_ACKED (LOGGING_DATA_ACKED_DATA :: default ())) , CANFD_FRAME_DATA :: ID => Ok (Self :: CANFD_FRAME (CANFD_FRAME_DATA :: default ())) , SCALED_IMU3_DATA :: ID => Ok (Self :: SCALED_IMU3 (SCALED_IMU3_DATA :: default ())) , GLOBAL_POSITION_INT_COV_DATA :: ID => Ok (Self :: GLOBAL_POSITION_INT_COV (GLOBAL_POSITION_INT_COV_DATA :: default ())) , HIL_STATE_QUATERNION_DATA :: ID => Ok (Self :: HIL_STATE_QUATERNION (HIL_STATE_QUATERNION_DATA :: default ())) , AUTH_KEY_DATA :: ID => Ok (Self :: AUTH_KEY (AUTH_KEY_DATA :: default ())) , OPEN_DRONE_ID_LOCATION_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_LOCATION (OPEN_DRONE_ID_LOCATION_DATA :: default ())) , LOGGING_ACK_DATA :: ID => Ok (Self :: LOGGING_ACK (LOGGING_ACK_DATA :: default ())) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: default ())) , SYSTEM_TIME_DATA :: ID => Ok (Self :: SYSTEM_TIME (SYSTEM_TIME_DATA :: default ())) , SET_ATTITUDE_TARGET_DATA :: ID => Ok (Self :: SET_ATTITUDE_TARGET (SET_ATTITUDE_TARGET_DATA :: default ())) , POSITION_TARGET_LOCAL_NED_DATA :: ID => Ok (Self :: POSITION_TARGET_LOCAL_NED (POSITION_TARGET_LOCAL_NED_DATA :: default ())) , TERRAIN_CHECK_DATA :: ID => Ok (Self :: TERRAIN_CHECK (TERRAIN_CHECK_DATA :: default ())) , SYS_STATUS_DATA :: ID => Ok (Self :: SYS_STATUS (SYS_STATUS_DATA :: default ())) , WIFI_CONFIG_AP_DATA :: ID => Ok (Self :: WIFI_CONFIG_AP (WIFI_CONFIG_AP_DATA :: default ())) , PING_DATA :: ID => Ok (Self :: PING (PING_DATA :: default ())) , RC_CHANNELS_SCALED_DATA :: ID => Ok (Self :: RC_CHANNELS_SCALED (RC_CHANNELS_SCALED_DATA :: default ())) , OPTICAL_FLOW_DATA :: ID => Ok (Self :: OPTICAL_FLOW (OPTICAL_FLOW_DATA :: default ())) , OPEN_DRONE_ID_SELF_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SELF_ID (OPEN_DRONE_ID_SELF_ID_DATA :: default ())) , _ => { Err ("Invalid message id.") } } } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { match self { Self :: POWER_STATUS (body) => body . ser (version , bytes) , Self :: GPS_RTCM_DATA (body) => body . ser (version , bytes) , Self :: WIND_COV (body) => body . ser (version , bytes) , Self :: HIL_RC_INPUTS_RAW (body) => body . ser (version , bytes) , Self :: ENCAPSULATED_DATA (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_END (body) => body . ser (version , bytes) , Self :: MISSION_SET_CURRENT (body) => body . ser (version , bytes) , Self :: COMPONENT_METADATA (body) => body . ser (version , bytes) , Self :: FLIGHT_INFORMATION (body) => body . ser (version , bytes) , Self :: SAFETY_SET_ALLOWED_AREA (body) => body . ser (version , bytes) , Self :: CAMERA_TRACKING_GEO_STATUS (body) => body . ser (version , bytes) , Self :: LANDING_TARGET (body) => body . ser (version , bytes) , Self :: COMMAND_INT (body) => body . ser (version , bytes) , Self :: ATT_POS_MOCAP (body) => body . ser (version , bytes) , Self :: ALTITUDE (body) => body . ser (version , bytes) , Self :: FOLLOW_TARGET (body) => body . ser (version , bytes) , Self :: SIM_STATE (body) => body . ser (version , bytes) , Self :: MAG_CAL_REPORT (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (body) => body . ser (version , bytes) , Self :: HIL_ACTUATOR_CONTROLS (body) => body . ser (version , bytes) , Self :: ACTUATOR_OUTPUT_STATUS (body) => body . ser (version , bytes) , Self :: COMPONENT_INFORMATION (body) => body . ser (version , bytes) , Self :: GPS2_RAW (body) => body . ser (version , bytes) , Self :: BUTTON_CHANGE (body) => body . ser (version , bytes) , Self :: UAVCAN_NODE_INFO (body) => body . ser (version , bytes) , Self :: GLOBAL_VISION_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: COLLISION (body) => body . ser (version , bytes) , Self :: RAW_RPM (body) => body . ser (version , bytes) , Self :: SERIAL_CONTROL (body) => body . ser (version , bytes) , Self :: CAMERA_TRIGGER (body) => body . ser (version , bytes) , Self :: SET_HOME_POSITION (body) => body . ser (version , bytes) , Self :: CAMERA_FOV_STATUS (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_ARM_STATUS (body) => body . ser (version , bytes) , Self :: VIDEO_STREAM_INFORMATION (body) => body . ser (version , bytes) , Self :: LINK_NODE_STATUS (body) => body . ser (version , bytes) , Self :: HIL_STATE (body) => body . ser (version , bytes) , Self :: PARAM_SET (body) => body . ser (version , bytes) , Self :: SCALED_IMU (body) => body . ser (version , bytes) , Self :: FILE_TRANSFER_PROTOCOL (body) => body . ser (version , bytes) , Self :: TERRAIN_REQUEST (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE (body) => body . ser (version , bytes) , Self :: GENERATOR_STATUS (body) => body . ser (version , bytes) , Self :: HIL_GPS (body) => body . ser (version , bytes) , Self :: LOG_ERASE (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_OVERRIDE (body) => body . ser (version , bytes) , Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (body) => body . ser (version , bytes) , Self :: CAMERA_TRACKING_IMAGE_STATUS (body) => body . ser (version , bytes) , Self :: MISSION_WRITE_PARTIAL_LIST (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (body) => body . ser (version , bytes) , Self :: SUPPORTED_TUNES (body) => body . ser (version , bytes) , Self :: VIDEO_STREAM_STATUS (body) => body . ser (version , bytes) , Self :: HYGROMETER_SENSOR (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE3 (body) => body . ser (version , bytes) , Self :: OBSTACLE_DISTANCE (body) => body . ser (version , bytes) , Self :: REQUEST_DATA_STREAM (body) => body . ser (version , bytes) , Self :: DISTANCE_SENSOR (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: RC_CHANNELS (body) => body . ser (version , bytes) , Self :: CAN_FILTER_MODIFY (body) => body . ser (version , bytes) , Self :: SAFETY_ALLOWED_AREA (body) => body . ser (version , bytes) , Self :: ATTITUDE (body) => body . ser (version , bytes) , Self :: SERVO_OUTPUT_RAW (body) => body . ser (version , bytes) , Self :: CAMERA_CAPTURE_STATUS (body) => body . ser (version , bytes) , Self :: VFR_HUD (body) => body . ser (version , bytes) , Self :: NAV_CONTROLLER_OUTPUT (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_BASIC_ID (body) => body . ser (version , bytes) , Self :: EVENT (body) => body . ser (version , bytes) , Self :: CAMERA_INFORMATION (body) => body . ser (version , bytes) , Self :: PARAM_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: WHEEL_DISTANCE (body) => body . ser (version , bytes) , Self :: CHANGE_OPERATOR_CONTROL (body) => body . ser (version , bytes) , Self :: UAVCAN_NODE_STATUS (body) => body . ser (version , bytes) , Self :: PARAM_EXT_SET (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SYSTEM (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_PARTIAL_LIST (body) => body . ser (version , bytes) , Self :: SMART_BATTERY_INFO (body) => body . ser (version , bytes) , Self :: OPTICAL_FLOW_RAD (body) => body . ser (version , bytes) , Self :: HIL_OPTICAL_FLOW (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED_COV (body) => body . ser (version , bytes) , Self :: BATTERY_STATUS (body) => body . ser (version , bytes) , Self :: GLOBAL_POSITION_INT (body) => body . ser (version , bytes) , Self :: MOUNT_ORIENTATION (body) => body . ser (version , bytes) , Self :: MISSION_ITEM (body) => body . ser (version , bytes) , Self :: GPS_RTK (body) => body . ser (version , bytes) , Self :: HIGHRES_IMU (body) => body . ser (version , bytes) , Self :: RESOURCE_REQUEST (body) => body . ser (version , bytes) , Self :: CONTROL_SYSTEM_STATE (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_INFORMATION (body) => body . ser (version , bytes) , Self :: PARAM_EXT_VALUE (body) => body . ser (version , bytes) , Self :: RAW_IMU (body) => body . ser (version , bytes) , Self :: TUNNEL (body) => body . ser (version , bytes) , Self :: GPS2_RTK (body) => body . ser (version , bytes) , Self :: EFI_STATUS (body) => body . ser (version , bytes) , Self :: ATTITUDE_TARGET (body) => body . ser (version , bytes) , Self :: GPS_INJECT_DATA (body) => body . ser (version , bytes) , Self :: CELLULAR_CONFIG (body) => body . ser (version , bytes) , Self :: EXTENDED_SYS_STATE (body) => body . ser (version , bytes) , Self :: ONBOARD_COMPUTER_STATUS (body) => body . ser (version , bytes) , Self :: SETUP_SIGNING (body) => body . ser (version , bytes) , Self :: PARAM_MAP_RC (body) => body . ser (version , bytes) , Self :: HIGH_LATENCY2 (body) => body . ser (version , bytes) , Self :: SCALED_IMU2 (body) => body . ser (version , bytes) , Self :: POSITION_TARGET_GLOBAL_INT (body) => body . ser (version , bytes) , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (body) => body . ser (version , bytes) , Self :: VIBRATION (body) => body . ser (version , bytes) , Self :: HIL_SENSOR (body) => body . ser (version , bytes) , Self :: WINCH_STATUS (body) => body . ser (version , bytes) , Self :: SET_MODE (body) => body . ser (version , bytes) , Self :: RAW_PRESSURE (body) => body . ser (version , bytes) , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (body) => body . ser (version , bytes) , Self :: LOG_DATA (body) => body . ser (version , bytes) , Self :: TIMESYNC (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_RAW (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_INFORMATION (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_OPERATOR_ID (body) => body . ser (version , bytes) , Self :: PARAM_VALUE (body) => body . ser (version , bytes) , Self :: HIL_CONTROLS (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_SET_ATTITUDE (body) => body . ser (version , bytes) , Self :: ADSB_VEHICLE (body) => body . ser (version , bytes) , Self :: PARAM_EXT_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: UTM_GLOBAL_POSITION (body) => body . ser (version , bytes) , Self :: COMMAND_ACK (body) => body . ser (version , bytes) , Self :: ISBD_LINK_STATUS (body) => body . ser (version , bytes) , Self :: UAVIONIX_ADSB_OUT_CFG (body) => body . ser (version , bytes) , Self :: AUTOPILOT_VERSION (body) => body . ser (version , bytes) , Self :: DATA_TRANSMISSION_HANDSHAKE (body) => body . ser (version , bytes) , Self :: DEBUG_FLOAT_ARRAY (body) => body . ser (version , bytes) , Self :: PLAY_TUNE_V2 (body) => body . ser (version , bytes) , Self :: SET_ACTUATOR_CONTROL_TARGET (body) => body . ser (version , bytes) , Self :: REQUEST_EVENT (body) => body . ser (version , bytes) , Self :: TRAJECTORY_REPRESENTATION_BEZIER (body) => body . ser (version , bytes) , Self :: NAMED_VALUE_INT (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_DATA (body) => body . ser (version , bytes) , Self :: MESSAGE_INTERVAL (body) => body . ser (version , bytes) , Self :: VISION_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: LOG_ENTRY (body) => body . ser (version , bytes) , Self :: AIS_VESSEL (body) => body . ser (version , bytes) , Self :: MISSION_ACK (body) => body . ser (version , bytes) , Self :: RADIO_STATUS (body) => body . ser (version , bytes) , Self :: CELLULAR_STATUS (body) => body . ser (version , bytes) , Self :: DATA_STREAM (body) => body . ser (version , bytes) , Self :: DEBUG_VECT (body) => body . ser (version , bytes) , Self :: MISSION_CURRENT (body) => body . ser (version , bytes) , Self :: PROTOCOL_VERSION (body) => body . ser (version , bytes) , Self :: GPS_INPUT (body) => body . ser (version , bytes) , Self :: TIME_ESTIMATE_TO_TARGET (body) => body . ser (version , bytes) , Self :: MISSION_ITEM_INT (body) => body . ser (version , bytes) , Self :: GPS_STATUS (body) => body . ser (version , bytes) , Self :: MANUAL_SETPOINT (body) => body . ser (version , bytes) , Self :: FENCE_STATUS (body) => body . ser (version , bytes) , Self :: HOME_POSITION (body) => body . ser (version , bytes) , Self :: ESC_INFO (body) => body . ser (version , bytes) , Self :: COMMAND_CANCEL (body) => body . ser (version , bytes) , Self :: PARAM_EXT_REQUEST_READ (body) => body . ser (version , bytes) , Self :: PLAY_TUNE (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_INT (body) => body . ser (version , bytes) , Self :: ATTITUDE_QUATERNION_COV (body) => body . ser (version , bytes) , Self :: MISSION_ITEM_REACHED (body) => body . ser (version , bytes) , Self :: PARAM_REQUEST_READ (body) => body . ser (version , bytes) , Self :: TERRAIN_DATA (body) => body . ser (version , bytes) , Self :: GPS_RAW_INT (body) => body . ser (version , bytes) , Self :: STORAGE_INFORMATION (body) => body . ser (version , bytes) , Self :: RESPONSE_EVENT_ERROR (body) => body . ser (version , bytes) , Self :: MANUAL_CONTROL (body) => body . ser (version , bytes) , Self :: NAMED_VALUE_FLOAT (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_STATUS (body) => body . ser (version , bytes) , Self :: SET_GPS_GLOBAL_ORIGIN (body) => body . ser (version , bytes) , Self :: LOGGING_DATA (body) => body . ser (version , bytes) , Self :: STATUSTEXT (body) => body . ser (version , bytes) , Self :: CHANGE_OPERATOR_CONTROL_ACK (body) => body . ser (version , bytes) , Self :: ESTIMATOR_STATUS (body) => body . ser (version , bytes) , Self :: CAMERA_IMAGE_CAPTURED (body) => body . ser (version , bytes) , Self :: PARAM_EXT_ACK (body) => body . ser (version , bytes) , Self :: ACTUATOR_CONTROL_TARGET (body) => body . ser (version , bytes) , Self :: SET_POSITION_TARGET_LOCAL_NED (body) => body . ser (version , bytes) , Self :: CAN_FRAME (body) => body . ser (version , bytes) , Self :: COMMAND_LONG (body) => body . ser (version , bytes) , Self :: UAVIONIX_ADSB_OUT_DYNAMIC (body) => body . ser (version , bytes) , Self :: HEARTBEAT (body) => body . ser (version , bytes) , Self :: ATTITUDE_QUATERNION (body) => body . ser (version , bytes) , Self :: VICON_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: ORBIT_EXECUTION_STATUS (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_PITCHYAW (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE2 (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_MESSAGE_PACK (body) => body . ser (version , bytes) , Self :: ODOMETRY (body) => body . ser (version , bytes) , Self :: CAMERA_SETTINGS (body) => body . ser (version , bytes) , Self :: MISSION_CLEAR_ALL (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_ATTITUDE (body) => body . ser (version , bytes) , Self :: VISION_SPEED_ESTIMATE (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_AUTHENTICATION (body) => body . ser (version , bytes) , Self :: TERRAIN_REPORT (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED (body) => body . ser (version , bytes) , Self :: DEBUG (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (body) => body . ser (version , bytes) , Self :: GPS_GLOBAL_ORIGIN (body) => body . ser (version , bytes) , Self :: MISSION_COUNT (body) => body . ser (version , bytes) , Self :: HIGH_LATENCY (body) => body . ser (version , bytes) , Self :: SET_POSITION_TARGET_GLOBAL_INT (body) => body . ser (version , bytes) , Self :: CURRENT_EVENT_SEQUENCE (body) => body . ser (version , bytes) , Self :: MEMORY_VECT (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST (body) => body . ser (version , bytes) , Self :: V2_EXTENSION (body) => body . ser (version , bytes) , Self :: ESC_STATUS (body) => body . ser (version , bytes) , Self :: LOGGING_DATA_ACKED (body) => body . ser (version , bytes) , Self :: CANFD_FRAME (body) => body . ser (version , bytes) , Self :: SCALED_IMU3 (body) => body . ser (version , bytes) , Self :: GLOBAL_POSITION_INT_COV (body) => body . ser (version , bytes) , Self :: HIL_STATE_QUATERNION (body) => body . ser (version , bytes) , Self :: AUTH_KEY (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_LOCATION (body) => body . ser (version , bytes) , Self :: LOGGING_ACK (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (body) => body . ser (version , bytes) , Self :: SYSTEM_TIME (body) => body . ser (version , bytes) , Self :: SET_ATTITUDE_TARGET (body) => body . ser (version , bytes) , Self :: POSITION_TARGET_LOCAL_NED (body) => body . ser (version , bytes) , Self :: TERRAIN_CHECK (body) => body . ser (version , bytes) , Self :: SYS_STATUS (body) => body . ser (version , bytes) , Self :: WIFI_CONFIG_AP (body) => body . ser (version , bytes) , Self :: PING (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_SCALED (body) => body . ser (version , bytes) , Self :: OPTICAL_FLOW (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SELF_ID (body) => body . ser (version , bytes) , } } fn extra_crc (id : u32) -> u8 { match id { POWER_STATUS_DATA :: ID => POWER_STATUS_DATA :: EXTRA_CRC , GPS_RTCM_DATA_DATA :: ID => GPS_RTCM_DATA_DATA :: EXTRA_CRC , WIND_COV_DATA :: ID => WIND_COV_DATA :: EXTRA_CRC , HIL_RC_INPUTS_RAW_DATA :: ID => HIL_RC_INPUTS_RAW_DATA :: EXTRA_CRC , ENCAPSULATED_DATA_DATA :: ID => ENCAPSULATED_DATA_DATA :: EXTRA_CRC , LOG_REQUEST_END_DATA :: ID => LOG_REQUEST_END_DATA :: EXTRA_CRC , MISSION_SET_CURRENT_DATA :: ID => MISSION_SET_CURRENT_DATA :: EXTRA_CRC , COMPONENT_METADATA_DATA :: ID => COMPONENT_METADATA_DATA :: EXTRA_CRC , FLIGHT_INFORMATION_DATA :: ID => FLIGHT_INFORMATION_DATA :: EXTRA_CRC , SAFETY_SET_ALLOWED_AREA_DATA :: ID => SAFETY_SET_ALLOWED_AREA_DATA :: EXTRA_CRC , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => CAMERA_TRACKING_GEO_STATUS_DATA :: EXTRA_CRC , LANDING_TARGET_DATA :: ID => LANDING_TARGET_DATA :: EXTRA_CRC , COMMAND_INT_DATA :: ID => COMMAND_INT_DATA :: EXTRA_CRC , ATT_POS_MOCAP_DATA :: ID => ATT_POS_MOCAP_DATA :: EXTRA_CRC , ALTITUDE_DATA :: ID => ALTITUDE_DATA :: EXTRA_CRC , FOLLOW_TARGET_DATA :: ID => FOLLOW_TARGET_DATA :: EXTRA_CRC , SIM_STATE_DATA :: ID => SIM_STATE_DATA :: EXTRA_CRC , MAG_CAL_REPORT_DATA :: ID => MAG_CAL_REPORT_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: EXTRA_CRC , HIL_ACTUATOR_CONTROLS_DATA :: ID => HIL_ACTUATOR_CONTROLS_DATA :: EXTRA_CRC , ACTUATOR_OUTPUT_STATUS_DATA :: ID => ACTUATOR_OUTPUT_STATUS_DATA :: EXTRA_CRC , COMPONENT_INFORMATION_DATA :: ID => COMPONENT_INFORMATION_DATA :: EXTRA_CRC , GPS2_RAW_DATA :: ID => GPS2_RAW_DATA :: EXTRA_CRC , BUTTON_CHANGE_DATA :: ID => BUTTON_CHANGE_DATA :: EXTRA_CRC , UAVCAN_NODE_INFO_DATA :: ID => UAVCAN_NODE_INFO_DATA :: EXTRA_CRC , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: EXTRA_CRC , COLLISION_DATA :: ID => COLLISION_DATA :: EXTRA_CRC , RAW_RPM_DATA :: ID => RAW_RPM_DATA :: EXTRA_CRC , SERIAL_CONTROL_DATA :: ID => SERIAL_CONTROL_DATA :: EXTRA_CRC , CAMERA_TRIGGER_DATA :: ID => CAMERA_TRIGGER_DATA :: EXTRA_CRC , SET_HOME_POSITION_DATA :: ID => SET_HOME_POSITION_DATA :: EXTRA_CRC , CAMERA_FOV_STATUS_DATA :: ID => CAMERA_FOV_STATUS_DATA :: EXTRA_CRC , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => OPEN_DRONE_ID_ARM_STATUS_DATA :: EXTRA_CRC , VIDEO_STREAM_INFORMATION_DATA :: ID => VIDEO_STREAM_INFORMATION_DATA :: EXTRA_CRC , LINK_NODE_STATUS_DATA :: ID => LINK_NODE_STATUS_DATA :: EXTRA_CRC , HIL_STATE_DATA :: ID => HIL_STATE_DATA :: EXTRA_CRC , PARAM_SET_DATA :: ID => PARAM_SET_DATA :: EXTRA_CRC , SCALED_IMU_DATA :: ID => SCALED_IMU_DATA :: EXTRA_CRC , FILE_TRANSFER_PROTOCOL_DATA :: ID => FILE_TRANSFER_PROTOCOL_DATA :: EXTRA_CRC , TERRAIN_REQUEST_DATA :: ID => TERRAIN_REQUEST_DATA :: EXTRA_CRC , SCALED_PRESSURE_DATA :: ID => SCALED_PRESSURE_DATA :: EXTRA_CRC , GENERATOR_STATUS_DATA :: ID => GENERATOR_STATUS_DATA :: EXTRA_CRC , HIL_GPS_DATA :: ID => HIL_GPS_DATA :: EXTRA_CRC , LOG_ERASE_DATA :: ID => LOG_ERASE_DATA :: EXTRA_CRC , RC_CHANNELS_OVERRIDE_DATA :: ID => RC_CHANNELS_OVERRIDE_DATA :: EXTRA_CRC , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: EXTRA_CRC , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => CAMERA_TRACKING_IMAGE_STATUS_DATA :: EXTRA_CRC , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => MISSION_WRITE_PARTIAL_LIST_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: EXTRA_CRC , SUPPORTED_TUNES_DATA :: ID => SUPPORTED_TUNES_DATA :: EXTRA_CRC , VIDEO_STREAM_STATUS_DATA :: ID => VIDEO_STREAM_STATUS_DATA :: EXTRA_CRC , HYGROMETER_SENSOR_DATA :: ID => HYGROMETER_SENSOR_DATA :: EXTRA_CRC , SCALED_PRESSURE3_DATA :: ID => SCALED_PRESSURE3_DATA :: EXTRA_CRC , OBSTACLE_DISTANCE_DATA :: ID => OBSTACLE_DISTANCE_DATA :: EXTRA_CRC , REQUEST_DATA_STREAM_DATA :: ID => REQUEST_DATA_STREAM_DATA :: EXTRA_CRC , DISTANCE_SENSOR_DATA :: ID => DISTANCE_SENSOR_DATA :: EXTRA_CRC , LOG_REQUEST_LIST_DATA :: ID => LOG_REQUEST_LIST_DATA :: EXTRA_CRC , RC_CHANNELS_DATA :: ID => RC_CHANNELS_DATA :: EXTRA_CRC , CAN_FILTER_MODIFY_DATA :: ID => CAN_FILTER_MODIFY_DATA :: EXTRA_CRC , SAFETY_ALLOWED_AREA_DATA :: ID => SAFETY_ALLOWED_AREA_DATA :: EXTRA_CRC , ATTITUDE_DATA :: ID => ATTITUDE_DATA :: EXTRA_CRC , SERVO_OUTPUT_RAW_DATA :: ID => SERVO_OUTPUT_RAW_DATA :: EXTRA_CRC , CAMERA_CAPTURE_STATUS_DATA :: ID => CAMERA_CAPTURE_STATUS_DATA :: EXTRA_CRC , VFR_HUD_DATA :: ID => VFR_HUD_DATA :: EXTRA_CRC , NAV_CONTROLLER_OUTPUT_DATA :: ID => NAV_CONTROLLER_OUTPUT_DATA :: EXTRA_CRC , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => OPEN_DRONE_ID_BASIC_ID_DATA :: EXTRA_CRC , EVENT_DATA :: ID => EVENT_DATA :: EXTRA_CRC , CAMERA_INFORMATION_DATA :: ID => CAMERA_INFORMATION_DATA :: EXTRA_CRC , PARAM_REQUEST_LIST_DATA :: ID => PARAM_REQUEST_LIST_DATA :: EXTRA_CRC , WHEEL_DISTANCE_DATA :: ID => WHEEL_DISTANCE_DATA :: EXTRA_CRC , CHANGE_OPERATOR_CONTROL_DATA :: ID => CHANGE_OPERATOR_CONTROL_DATA :: EXTRA_CRC , UAVCAN_NODE_STATUS_DATA :: ID => UAVCAN_NODE_STATUS_DATA :: EXTRA_CRC , PARAM_EXT_SET_DATA :: ID => PARAM_EXT_SET_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SYSTEM_DATA :: ID => OPEN_DRONE_ID_SYSTEM_DATA :: EXTRA_CRC , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => MISSION_REQUEST_PARTIAL_LIST_DATA :: EXTRA_CRC , SMART_BATTERY_INFO_DATA :: ID => SMART_BATTERY_INFO_DATA :: EXTRA_CRC , OPTICAL_FLOW_RAD_DATA :: ID => OPTICAL_FLOW_RAD_DATA :: EXTRA_CRC , HIL_OPTICAL_FLOW_DATA :: ID => HIL_OPTICAL_FLOW_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_COV_DATA :: ID => LOCAL_POSITION_NED_COV_DATA :: EXTRA_CRC , BATTERY_STATUS_DATA :: ID => BATTERY_STATUS_DATA :: EXTRA_CRC , GLOBAL_POSITION_INT_DATA :: ID => GLOBAL_POSITION_INT_DATA :: EXTRA_CRC , MOUNT_ORIENTATION_DATA :: ID => MOUNT_ORIENTATION_DATA :: EXTRA_CRC , MISSION_ITEM_DATA :: ID => MISSION_ITEM_DATA :: EXTRA_CRC , GPS_RTK_DATA :: ID => GPS_RTK_DATA :: EXTRA_CRC , HIGHRES_IMU_DATA :: ID => HIGHRES_IMU_DATA :: EXTRA_CRC , RESOURCE_REQUEST_DATA :: ID => RESOURCE_REQUEST_DATA :: EXTRA_CRC , CONTROL_SYSTEM_STATE_DATA :: ID => CONTROL_SYSTEM_STATE_DATA :: EXTRA_CRC , GIMBAL_DEVICE_INFORMATION_DATA :: ID => GIMBAL_DEVICE_INFORMATION_DATA :: EXTRA_CRC , PARAM_EXT_VALUE_DATA :: ID => PARAM_EXT_VALUE_DATA :: EXTRA_CRC , RAW_IMU_DATA :: ID => RAW_IMU_DATA :: EXTRA_CRC , TUNNEL_DATA :: ID => TUNNEL_DATA :: EXTRA_CRC , GPS2_RTK_DATA :: ID => GPS2_RTK_DATA :: EXTRA_CRC , EFI_STATUS_DATA :: ID => EFI_STATUS_DATA :: EXTRA_CRC , ATTITUDE_TARGET_DATA :: ID => ATTITUDE_TARGET_DATA :: EXTRA_CRC , GPS_INJECT_DATA_DATA :: ID => GPS_INJECT_DATA_DATA :: EXTRA_CRC , CELLULAR_CONFIG_DATA :: ID => CELLULAR_CONFIG_DATA :: EXTRA_CRC , EXTENDED_SYS_STATE_DATA :: ID => EXTENDED_SYS_STATE_DATA :: EXTRA_CRC , ONBOARD_COMPUTER_STATUS_DATA :: ID => ONBOARD_COMPUTER_STATUS_DATA :: EXTRA_CRC , SETUP_SIGNING_DATA :: ID => SETUP_SIGNING_DATA :: EXTRA_CRC , PARAM_MAP_RC_DATA :: ID => PARAM_MAP_RC_DATA :: EXTRA_CRC , HIGH_LATENCY2_DATA :: ID => HIGH_LATENCY2_DATA :: EXTRA_CRC , SCALED_IMU2_DATA :: ID => SCALED_IMU2_DATA :: EXTRA_CRC , POSITION_TARGET_GLOBAL_INT_DATA :: ID => POSITION_TARGET_GLOBAL_INT_DATA :: EXTRA_CRC , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: EXTRA_CRC , VIBRATION_DATA :: ID => VIBRATION_DATA :: EXTRA_CRC , HIL_SENSOR_DATA :: ID => HIL_SENSOR_DATA :: EXTRA_CRC , WINCH_STATUS_DATA :: ID => WINCH_STATUS_DATA :: EXTRA_CRC , SET_MODE_DATA :: ID => SET_MODE_DATA :: EXTRA_CRC , RAW_PRESSURE_DATA :: ID => RAW_PRESSURE_DATA :: EXTRA_CRC , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: EXTRA_CRC , LOG_DATA_DATA :: ID => LOG_DATA_DATA :: EXTRA_CRC , TIMESYNC_DATA :: ID => TIMESYNC_DATA :: EXTRA_CRC , RC_CHANNELS_RAW_DATA :: ID => RC_CHANNELS_RAW_DATA :: EXTRA_CRC , GIMBAL_MANAGER_INFORMATION_DATA :: ID => GIMBAL_MANAGER_INFORMATION_DATA :: EXTRA_CRC , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => OPEN_DRONE_ID_OPERATOR_ID_DATA :: EXTRA_CRC , PARAM_VALUE_DATA :: ID => PARAM_VALUE_DATA :: EXTRA_CRC , HIL_CONTROLS_DATA :: ID => HIL_CONTROLS_DATA :: EXTRA_CRC , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: EXTRA_CRC , ADSB_VEHICLE_DATA :: ID => ADSB_VEHICLE_DATA :: EXTRA_CRC , PARAM_EXT_REQUEST_LIST_DATA :: ID => PARAM_EXT_REQUEST_LIST_DATA :: EXTRA_CRC , UTM_GLOBAL_POSITION_DATA :: ID => UTM_GLOBAL_POSITION_DATA :: EXTRA_CRC , COMMAND_ACK_DATA :: ID => COMMAND_ACK_DATA :: EXTRA_CRC , ISBD_LINK_STATUS_DATA :: ID => ISBD_LINK_STATUS_DATA :: EXTRA_CRC , UAVIONIX_ADSB_OUT_CFG_DATA :: ID => UAVIONIX_ADSB_OUT_CFG_DATA :: EXTRA_CRC , AUTOPILOT_VERSION_DATA :: ID => AUTOPILOT_VERSION_DATA :: EXTRA_CRC , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => DATA_TRANSMISSION_HANDSHAKE_DATA :: EXTRA_CRC , DEBUG_FLOAT_ARRAY_DATA :: ID => DEBUG_FLOAT_ARRAY_DATA :: EXTRA_CRC , PLAY_TUNE_V2_DATA :: ID => PLAY_TUNE_V2_DATA :: EXTRA_CRC , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => SET_ACTUATOR_CONTROL_TARGET_DATA :: EXTRA_CRC , REQUEST_EVENT_DATA :: ID => REQUEST_EVENT_DATA :: EXTRA_CRC , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: EXTRA_CRC , NAMED_VALUE_INT_DATA :: ID => NAMED_VALUE_INT_DATA :: EXTRA_CRC , MISSION_REQUEST_LIST_DATA :: ID => MISSION_REQUEST_LIST_DATA :: EXTRA_CRC , LOG_REQUEST_DATA_DATA :: ID => LOG_REQUEST_DATA_DATA :: EXTRA_CRC , MESSAGE_INTERVAL_DATA :: ID => MESSAGE_INTERVAL_DATA :: EXTRA_CRC , VISION_POSITION_ESTIMATE_DATA :: ID => VISION_POSITION_ESTIMATE_DATA :: EXTRA_CRC , LOG_ENTRY_DATA :: ID => LOG_ENTRY_DATA :: EXTRA_CRC , AIS_VESSEL_DATA :: ID => AIS_VESSEL_DATA :: EXTRA_CRC , MISSION_ACK_DATA :: ID => MISSION_ACK_DATA :: EXTRA_CRC , RADIO_STATUS_DATA :: ID => RADIO_STATUS_DATA :: EXTRA_CRC , CELLULAR_STATUS_DATA :: ID => CELLULAR_STATUS_DATA :: EXTRA_CRC , DATA_STREAM_DATA :: ID => DATA_STREAM_DATA :: EXTRA_CRC , DEBUG_VECT_DATA :: ID => DEBUG_VECT_DATA :: EXTRA_CRC , MISSION_CURRENT_DATA :: ID => MISSION_CURRENT_DATA :: EXTRA_CRC , PROTOCOL_VERSION_DATA :: ID => PROTOCOL_VERSION_DATA :: EXTRA_CRC , GPS_INPUT_DATA :: ID => GPS_INPUT_DATA :: EXTRA_CRC , TIME_ESTIMATE_TO_TARGET_DATA :: ID => TIME_ESTIMATE_TO_TARGET_DATA :: EXTRA_CRC , MISSION_ITEM_INT_DATA :: ID => MISSION_ITEM_INT_DATA :: EXTRA_CRC , GPS_STATUS_DATA :: ID => GPS_STATUS_DATA :: EXTRA_CRC , MANUAL_SETPOINT_DATA :: ID => MANUAL_SETPOINT_DATA :: EXTRA_CRC , FENCE_STATUS_DATA :: ID => FENCE_STATUS_DATA :: EXTRA_CRC , HOME_POSITION_DATA :: ID => HOME_POSITION_DATA :: EXTRA_CRC , ESC_INFO_DATA :: ID => ESC_INFO_DATA :: EXTRA_CRC , COMMAND_CANCEL_DATA :: ID => COMMAND_CANCEL_DATA :: EXTRA_CRC , PARAM_EXT_REQUEST_READ_DATA :: ID => PARAM_EXT_REQUEST_READ_DATA :: EXTRA_CRC , PLAY_TUNE_DATA :: ID => PLAY_TUNE_DATA :: EXTRA_CRC , MISSION_REQUEST_INT_DATA :: ID => MISSION_REQUEST_INT_DATA :: EXTRA_CRC , ATTITUDE_QUATERNION_COV_DATA :: ID => ATTITUDE_QUATERNION_COV_DATA :: EXTRA_CRC , MISSION_ITEM_REACHED_DATA :: ID => MISSION_ITEM_REACHED_DATA :: EXTRA_CRC , PARAM_REQUEST_READ_DATA :: ID => PARAM_REQUEST_READ_DATA :: EXTRA_CRC , TERRAIN_DATA_DATA :: ID => TERRAIN_DATA_DATA :: EXTRA_CRC , GPS_RAW_INT_DATA :: ID => GPS_RAW_INT_DATA :: EXTRA_CRC , STORAGE_INFORMATION_DATA :: ID => STORAGE_INFORMATION_DATA :: EXTRA_CRC , RESPONSE_EVENT_ERROR_DATA :: ID => RESPONSE_EVENT_ERROR_DATA :: EXTRA_CRC , MANUAL_CONTROL_DATA :: ID => MANUAL_CONTROL_DATA :: EXTRA_CRC , NAMED_VALUE_FLOAT_DATA :: ID => NAMED_VALUE_FLOAT_DATA :: EXTRA_CRC , GIMBAL_MANAGER_STATUS_DATA :: ID => GIMBAL_MANAGER_STATUS_DATA :: EXTRA_CRC , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => SET_GPS_GLOBAL_ORIGIN_DATA :: EXTRA_CRC , LOGGING_DATA_DATA :: ID => LOGGING_DATA_DATA :: EXTRA_CRC , STATUSTEXT_DATA :: ID => STATUSTEXT_DATA :: EXTRA_CRC , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => CHANGE_OPERATOR_CONTROL_ACK_DATA :: EXTRA_CRC , ESTIMATOR_STATUS_DATA :: ID => ESTIMATOR_STATUS_DATA :: EXTRA_CRC , CAMERA_IMAGE_CAPTURED_DATA :: ID => CAMERA_IMAGE_CAPTURED_DATA :: EXTRA_CRC , PARAM_EXT_ACK_DATA :: ID => PARAM_EXT_ACK_DATA :: EXTRA_CRC , ACTUATOR_CONTROL_TARGET_DATA :: ID => ACTUATOR_CONTROL_TARGET_DATA :: EXTRA_CRC , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => SET_POSITION_TARGET_LOCAL_NED_DATA :: EXTRA_CRC , CAN_FRAME_DATA :: ID => CAN_FRAME_DATA :: EXTRA_CRC , COMMAND_LONG_DATA :: ID => COMMAND_LONG_DATA :: EXTRA_CRC , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: EXTRA_CRC , HEARTBEAT_DATA :: ID => HEARTBEAT_DATA :: EXTRA_CRC , ATTITUDE_QUATERNION_DATA :: ID => ATTITUDE_QUATERNION_DATA :: EXTRA_CRC , VICON_POSITION_ESTIMATE_DATA :: ID => VICON_POSITION_ESTIMATE_DATA :: EXTRA_CRC , ORBIT_EXECUTION_STATUS_DATA :: ID => ORBIT_EXECUTION_STATUS_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: EXTRA_CRC , SCALED_PRESSURE2_DATA :: ID => SCALED_PRESSURE2_DATA :: EXTRA_CRC , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: EXTRA_CRC , ODOMETRY_DATA :: ID => ODOMETRY_DATA :: EXTRA_CRC , CAMERA_SETTINGS_DATA :: ID => CAMERA_SETTINGS_DATA :: EXTRA_CRC , MISSION_CLEAR_ALL_DATA :: ID => MISSION_CLEAR_ALL_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: EXTRA_CRC , VISION_SPEED_ESTIMATE_DATA :: ID => VISION_SPEED_ESTIMATE_DATA :: EXTRA_CRC , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => OPEN_DRONE_ID_AUTHENTICATION_DATA :: EXTRA_CRC , TERRAIN_REPORT_DATA :: ID => TERRAIN_REPORT_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_DATA :: ID => LOCAL_POSITION_NED_DATA :: EXTRA_CRC , DEBUG_DATA :: ID => DEBUG_DATA :: EXTRA_CRC , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: EXTRA_CRC , GPS_GLOBAL_ORIGIN_DATA :: ID => GPS_GLOBAL_ORIGIN_DATA :: EXTRA_CRC , MISSION_COUNT_DATA :: ID => MISSION_COUNT_DATA :: EXTRA_CRC , HIGH_LATENCY_DATA :: ID => HIGH_LATENCY_DATA :: EXTRA_CRC , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => SET_POSITION_TARGET_GLOBAL_INT_DATA :: EXTRA_CRC , CURRENT_EVENT_SEQUENCE_DATA :: ID => CURRENT_EVENT_SEQUENCE_DATA :: EXTRA_CRC , MEMORY_VECT_DATA :: ID => MEMORY_VECT_DATA :: EXTRA_CRC , MISSION_REQUEST_DATA :: ID => MISSION_REQUEST_DATA :: EXTRA_CRC , V2_EXTENSION_DATA :: ID => V2_EXTENSION_DATA :: EXTRA_CRC , ESC_STATUS_DATA :: ID => ESC_STATUS_DATA :: EXTRA_CRC , LOGGING_DATA_ACKED_DATA :: ID => LOGGING_DATA_ACKED_DATA :: EXTRA_CRC , CANFD_FRAME_DATA :: ID => CANFD_FRAME_DATA :: EXTRA_CRC , SCALED_IMU3_DATA :: ID => SCALED_IMU3_DATA :: EXTRA_CRC , GLOBAL_POSITION_INT_COV_DATA :: ID => GLOBAL_POSITION_INT_COV_DATA :: EXTRA_CRC , HIL_STATE_QUATERNION_DATA :: ID => HIL_STATE_QUATERNION_DATA :: EXTRA_CRC , AUTH_KEY_DATA :: ID => AUTH_KEY_DATA :: EXTRA_CRC , OPEN_DRONE_ID_LOCATION_DATA :: ID => OPEN_DRONE_ID_LOCATION_DATA :: EXTRA_CRC , LOGGING_ACK_DATA :: ID => LOGGING_ACK_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: EXTRA_CRC , SYSTEM_TIME_DATA :: ID => SYSTEM_TIME_DATA :: EXTRA_CRC , SET_ATTITUDE_TARGET_DATA :: ID => SET_ATTITUDE_TARGET_DATA :: EXTRA_CRC , POSITION_TARGET_LOCAL_NED_DATA :: ID => POSITION_TARGET_LOCAL_NED_DATA :: EXTRA_CRC , TERRAIN_CHECK_DATA :: ID => TERRAIN_CHECK_DATA :: EXTRA_CRC , SYS_STATUS_DATA :: ID => SYS_STATUS_DATA :: EXTRA_CRC , WIFI_CONFIG_AP_DATA :: ID => WIFI_CONFIG_AP_DATA :: EXTRA_CRC , PING_DATA :: ID => PING_DATA :: EXTRA_CRC , RC_CHANNELS_SCALED_DATA :: ID => RC_CHANNELS_SCALED_DATA :: EXTRA_CRC , OPTICAL_FLOW_DATA :: ID => OPTICAL_FLOW_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SELF_ID_DATA :: ID => OPEN_DRONE_ID_SELF_ID_DATA :: EXTRA_CRC , _ => { 0 } , } } }
+
# ! [doc = "This file was automatically generated, do not edit"] use crate :: MavlinkVersion ; # [allow (unused_imports)] use num_derive :: FromPrimitive ; # [allow (unused_imports)] use num_traits :: FromPrimitive ; # [allow (unused_imports)] use num_derive :: ToPrimitive ; # [allow (unused_imports)] use num_traits :: ToPrimitive ; # [allow (unused_imports)] use bitflags :: bitflags ; use crate :: { Message , MessageData , error :: * , bytes :: Bytes , bytes_mut :: BytesMut } ; # [cfg (feature = "serde")] use serde :: { Serialize , Deserialize } ; # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FailureType { FAILURE_TYPE_OK = 0 , FAILURE_TYPE_OFF = 1 , FAILURE_TYPE_STUCK = 2 , FAILURE_TYPE_GARBAGE = 3 , FAILURE_TYPE_WRONG = 4 , FAILURE_TYPE_SLOW = 5 , FAILURE_TYPE_DELAYED = 6 , FAILURE_TYPE_INTERMITTENT = 7 , } impl FailureType { pub const DEFAULT : Self = Self :: FAILURE_TYPE_OK ; } impl Default for FailureType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidHeightRef { MAV_ODID_HEIGHT_REF_OVER_TAKEOFF = 0 , MAV_ODID_HEIGHT_REF_OVER_GROUND = 1 , } impl MavOdidHeightRef { pub const DEFAULT : Self = Self :: MAV_ODID_HEIGHT_REF_OVER_TAKEOFF ; } impl Default for MavOdidHeightRef { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum PreflightStorageParameterAction { PARAM_READ_PERSISTENT = 0 , PARAM_WRITE_PERSISTENT = 1 , PARAM_RESET_CONFIG_DEFAULT = 2 , PARAM_RESET_SENSOR_DEFAULT = 3 , PARAM_RESET_ALL_DEFAULT = 4 , } impl PreflightStorageParameterAction { pub const DEFAULT : Self = Self :: PARAM_READ_PERSISTENT ; } impl Default for PreflightStorageParameterAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavFtpErr { MAV_FTP_ERR_NONE = 0 , MAV_FTP_ERR_FAIL = 1 , MAV_FTP_ERR_FAILERRNO = 2 , MAV_FTP_ERR_INVALIDDATASIZE = 3 , MAV_FTP_ERR_INVALIDSESSION = 4 , MAV_FTP_ERR_NOSESSIONSAVAILABLE = 5 , MAV_FTP_ERR_EOF = 6 , MAV_FTP_ERR_UNKNOWNCOMMAND = 7 , MAV_FTP_ERR_FILEEXISTS = 8 , MAV_FTP_ERR_FILEPROTECTED = 9 , MAV_FTP_ERR_FILENOTFOUND = 10 , } impl MavFtpErr { pub const DEFAULT : Self = Self :: MAV_FTP_ERR_NONE ; } impl Default for MavFtpErr { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EscFailureFlags : u16 { const ESC_FAILURE_NONE = 0 ; const ESC_FAILURE_OVER_CURRENT = 1 ; const ESC_FAILURE_OVER_VOLTAGE = 2 ; const ESC_FAILURE_OVER_TEMPERATURE = 4 ; const ESC_FAILURE_OVER_RPM = 8 ; const ESC_FAILURE_INCONSISTENT_CMD = 16 ; const ESC_FAILURE_MOTOR_STUCK = 32 ; const ESC_FAILURE_GENERIC = 64 ; } } impl EscFailureFlags { pub const DEFAULT : Self = Self :: ESC_FAILURE_NONE ; } impl Default for EscFailureFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AdsbFlags : u16 { const ADSB_FLAGS_VALID_COORDS = 1 ; const ADSB_FLAGS_VALID_ALTITUDE = 2 ; const ADSB_FLAGS_VALID_HEADING = 4 ; const ADSB_FLAGS_VALID_VELOCITY = 8 ; const ADSB_FLAGS_VALID_CALLSIGN = 16 ; const ADSB_FLAGS_VALID_SQUAWK = 32 ; const ADSB_FLAGS_SIMULATED = 64 ; const ADSB_FLAGS_VERTICAL_VELOCITY_VALID = 128 ; const ADSB_FLAGS_BARO_VALID = 256 ; const ADSB_FLAGS_SOURCE_UAT = 32768 ; } } impl AdsbFlags { pub const DEFAULT : Self = Self :: ADSB_FLAGS_VALID_COORDS ; } impl Default for AdsbFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum VtolTransitionHeading { VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT = 0 , VTOL_TRANSITION_HEADING_NEXT_WAYPOINT = 1 , VTOL_TRANSITION_HEADING_TAKEOFF = 2 , VTOL_TRANSITION_HEADING_SPECIFIED = 3 , VTOL_TRANSITION_HEADING_ANY = 4 , } impl VtolTransitionHeading { pub const DEFAULT : Self = Self :: VTOL_TRANSITION_HEADING_VEHICLE_DEFAULT ; } impl Default for VtolTransitionHeading { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavAutopilot { MAV_AUTOPILOT_GENERIC = 0 , MAV_AUTOPILOT_RESERVED = 1 , MAV_AUTOPILOT_SLUGS = 2 , MAV_AUTOPILOT_ARDUPILOTMEGA = 3 , MAV_AUTOPILOT_OPENPILOT = 4 , MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY = 5 , MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY = 6 , MAV_AUTOPILOT_GENERIC_MISSION_FULL = 7 , MAV_AUTOPILOT_INVALID = 8 , MAV_AUTOPILOT_PPZ = 9 , MAV_AUTOPILOT_UDB = 10 , MAV_AUTOPILOT_FP = 11 , MAV_AUTOPILOT_PX4 = 12 , MAV_AUTOPILOT_SMACCMPILOT = 13 , MAV_AUTOPILOT_AUTOQUAD = 14 , MAV_AUTOPILOT_ARMAZILA = 15 , MAV_AUTOPILOT_AEROB = 16 , MAV_AUTOPILOT_ASLUAV = 17 , MAV_AUTOPILOT_SMARTAP = 18 , MAV_AUTOPILOT_AIRRAILS = 19 , MAV_AUTOPILOT_REFLEX = 20 , } impl MavAutopilot { pub const DEFAULT : Self = Self :: MAV_AUTOPILOT_GENERIC ; } impl Default for MavAutopilot { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum VideoStreamType { VIDEO_STREAM_TYPE_RTSP = 0 , VIDEO_STREAM_TYPE_RTPUDP = 1 , VIDEO_STREAM_TYPE_TCP_MPEG = 2 , VIDEO_STREAM_TYPE_MPEG_TS_H264 = 3 , } impl VideoStreamType { pub const DEFAULT : Self = Self :: VIDEO_STREAM_TYPE_RTSP ; } impl Default for VideoStreamType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceErrorFlags : u32 { const GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT = 1 ; const GIMBAL_DEVICE_ERROR_FLAGS_AT_PITCH_LIMIT = 2 ; const GIMBAL_DEVICE_ERROR_FLAGS_AT_YAW_LIMIT = 4 ; const GIMBAL_DEVICE_ERROR_FLAGS_ENCODER_ERROR = 8 ; const GIMBAL_DEVICE_ERROR_FLAGS_POWER_ERROR = 16 ; const GIMBAL_DEVICE_ERROR_FLAGS_MOTOR_ERROR = 32 ; const GIMBAL_DEVICE_ERROR_FLAGS_SOFTWARE_ERROR = 64 ; const GIMBAL_DEVICE_ERROR_FLAGS_COMMS_ERROR = 128 ; const GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING = 256 ; const GIMBAL_DEVICE_ERROR_FLAGS_NO_MANAGER = 512 ; } } impl GimbalDeviceErrorFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT ; } impl Default for GimbalDeviceErrorFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraZoomType { ZOOM_TYPE_STEP = 0 , ZOOM_TYPE_CONTINUOUS = 1 , ZOOM_TYPE_RANGE = 2 , ZOOM_TYPE_FOCAL_LENGTH = 3 , } impl CameraZoomType { pub const DEFAULT : Self = Self :: ZOOM_TYPE_STEP ; } impl Default for CameraZoomType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMissionResult { MAV_MISSION_ACCEPTED = 0 , MAV_MISSION_ERROR = 1 , MAV_MISSION_UNSUPPORTED_FRAME = 2 , MAV_MISSION_UNSUPPORTED = 3 , MAV_MISSION_NO_SPACE = 4 , MAV_MISSION_INVALID = 5 , MAV_MISSION_INVALID_PARAM1 = 6 , MAV_MISSION_INVALID_PARAM2 = 7 , MAV_MISSION_INVALID_PARAM3 = 8 , MAV_MISSION_INVALID_PARAM4 = 9 , MAV_MISSION_INVALID_PARAM5_X = 10 , MAV_MISSION_INVALID_PARAM6_Y = 11 , MAV_MISSION_INVALID_PARAM7 = 12 , MAV_MISSION_INVALID_SEQUENCE = 13 , MAV_MISSION_DENIED = 14 , MAV_MISSION_OPERATION_CANCELLED = 15 , } impl MavMissionResult { pub const DEFAULT : Self = Self :: MAV_MISSION_ACCEPTED ; } impl Default for MavMissionResult { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidHorAcc { MAV_ODID_HOR_ACC_UNKNOWN = 0 , MAV_ODID_HOR_ACC_10NM = 1 , MAV_ODID_HOR_ACC_4NM = 2 , MAV_ODID_HOR_ACC_2NM = 3 , MAV_ODID_HOR_ACC_1NM = 4 , MAV_ODID_HOR_ACC_0_5NM = 5 , MAV_ODID_HOR_ACC_0_3NM = 6 , MAV_ODID_HOR_ACC_0_1NM = 7 , MAV_ODID_HOR_ACC_0_05NM = 8 , MAV_ODID_HOR_ACC_30_METER = 9 , MAV_ODID_HOR_ACC_10_METER = 10 , MAV_ODID_HOR_ACC_3_METER = 11 , MAV_ODID_HOR_ACC_1_METER = 12 , } impl MavOdidHorAcc { pub const DEFAULT : Self = Self :: MAV_ODID_HOR_ACC_UNKNOWN ; } impl Default for MavOdidHorAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMode { MAV_MODE_PREFLIGHT = 0 , MAV_MODE_STABILIZE_DISARMED = 80 , MAV_MODE_STABILIZE_ARMED = 208 , MAV_MODE_MANUAL_DISARMED = 64 , MAV_MODE_MANUAL_ARMED = 192 , MAV_MODE_GUIDED_DISARMED = 88 , MAV_MODE_GUIDED_ARMED = 216 , MAV_MODE_AUTO_DISARMED = 92 , MAV_MODE_AUTO_ARMED = 220 , MAV_MODE_TEST_DISARMED = 66 , MAV_MODE_TEST_ARMED = 194 , } impl MavMode { pub const DEFAULT : Self = Self :: MAV_MODE_PREFLIGHT ; } impl Default for MavMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum SetFocusType { FOCUS_TYPE_STEP = 0 , FOCUS_TYPE_CONTINUOUS = 1 , FOCUS_TYPE_RANGE = 2 , FOCUS_TYPE_METERS = 3 , FOCUS_TYPE_AUTO = 4 , FOCUS_TYPE_AUTO_SINGLE = 5 , FOCUS_TYPE_AUTO_CONTINUOUS = 6 , } impl SetFocusType { pub const DEFAULT : Self = Self :: FOCUS_TYPE_STEP ; } impl Default for SetFocusType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CellularNetworkRadioType { CELLULAR_NETWORK_RADIO_TYPE_NONE = 0 , CELLULAR_NETWORK_RADIO_TYPE_GSM = 1 , CELLULAR_NETWORK_RADIO_TYPE_CDMA = 2 , CELLULAR_NETWORK_RADIO_TYPE_WCDMA = 3 , CELLULAR_NETWORK_RADIO_TYPE_LTE = 4 , } impl CellularNetworkRadioType { pub const DEFAULT : Self = Self :: CELLULAR_NETWORK_RADIO_TYPE_NONE ; } impl Default for CellularNetworkRadioType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavionixAdsbEmergencyStatus { UAVIONIX_ADSB_OUT_NO_EMERGENCY = 0 , UAVIONIX_ADSB_OUT_GENERAL_EMERGENCY = 1 , UAVIONIX_ADSB_OUT_LIFEGUARD_EMERGENCY = 2 , UAVIONIX_ADSB_OUT_MINIMUM_FUEL_EMERGENCY = 3 , UAVIONIX_ADSB_OUT_NO_COMM_EMERGENCY = 4 , UAVIONIX_ADSB_OUT_UNLAWFUL_INTERFERANCE_EMERGENCY = 5 , UAVIONIX_ADSB_OUT_DOWNED_AIRCRAFT_EMERGENCY = 6 , UAVIONIX_ADSB_OUT_RESERVED = 7 , } impl UavionixAdsbEmergencyStatus { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_NO_EMERGENCY ; } impl Default for UavionixAdsbEmergencyStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum ParamAck { PARAM_ACK_ACCEPTED = 0 , PARAM_ACK_VALUE_UNSUPPORTED = 1 , PARAM_ACK_FAILED = 2 , PARAM_ACK_IN_PROGRESS = 3 , } impl ParamAck { pub const DEFAULT : Self = Self :: PARAM_ACK_ACCEPTED ; } impl Default for ParamAck { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AutotuneAxis { AUTOTUNE_AXIS_DEFAULT = 0 , AUTOTUNE_AXIS_ROLL = 1 , AUTOTUNE_AXIS_PITCH = 2 , AUTOTUNE_AXIS_YAW = 4 , } impl AutotuneAxis { pub const DEFAULT : Self = Self :: AUTOTUNE_AXIS_DEFAULT ; } impl Default for AutotuneAxis { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavcanNodeMode { UAVCAN_NODE_MODE_OPERATIONAL = 0 , UAVCAN_NODE_MODE_INITIALIZATION = 1 , UAVCAN_NODE_MODE_MAINTENANCE = 2 , UAVCAN_NODE_MODE_SOFTWARE_UPDATE = 3 , UAVCAN_NODE_MODE_OFFLINE = 7 , } impl UavcanNodeMode { pub const DEFAULT : Self = Self :: UAVCAN_NODE_MODE_OPERATIONAL ; } impl Default for UavcanNodeMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCollisionAction { MAV_COLLISION_ACTION_NONE = 0 , MAV_COLLISION_ACTION_REPORT = 1 , MAV_COLLISION_ACTION_ASCEND_OR_DESCEND = 2 , MAV_COLLISION_ACTION_MOVE_HORIZONTALLY = 3 , MAV_COLLISION_ACTION_MOVE_PERPENDICULAR = 4 , MAV_COLLISION_ACTION_RTL = 5 , MAV_COLLISION_ACTION_HOVER = 6 , } impl MavCollisionAction { pub const DEFAULT : Self = Self :: MAV_COLLISION_ACTION_NONE ; } impl Default for MavCollisionAction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum SerialControlDev { SERIAL_CONTROL_DEV_TELEM1 = 0 , SERIAL_CONTROL_DEV_TELEM2 = 1 , SERIAL_CONTROL_DEV_GPS1 = 2 , SERIAL_CONTROL_DEV_GPS2 = 3 , SERIAL_CONTROL_DEV_SHELL = 10 , SERIAL_CONTROL_SERIAL0 = 100 , SERIAL_CONTROL_SERIAL1 = 101 , SERIAL_CONTROL_SERIAL2 = 102 , SERIAL_CONTROL_SERIAL3 = 103 , SERIAL_CONTROL_SERIAL4 = 104 , SERIAL_CONTROL_SERIAL5 = 105 , SERIAL_CONTROL_SERIAL6 = 106 , SERIAL_CONTROL_SERIAL7 = 107 , SERIAL_CONTROL_SERIAL8 = 108 , SERIAL_CONTROL_SERIAL9 = 109 , } impl SerialControlDev { pub const DEFAULT : Self = Self :: SERIAL_CONTROL_DEV_TELEM1 ; } impl Default for SerialControlDev { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HlFailureFlag : u16 { const HL_FAILURE_FLAG_GPS = 1 ; const HL_FAILURE_FLAG_DIFFERENTIAL_PRESSURE = 2 ; const HL_FAILURE_FLAG_ABSOLUTE_PRESSURE = 4 ; const HL_FAILURE_FLAG_3D_ACCEL = 8 ; const HL_FAILURE_FLAG_3D_GYRO = 16 ; const HL_FAILURE_FLAG_3D_MAG = 32 ; const HL_FAILURE_FLAG_TERRAIN = 64 ; const HL_FAILURE_FLAG_BATTERY = 128 ; const HL_FAILURE_FLAG_RC_RECEIVER = 256 ; const HL_FAILURE_FLAG_OFFBOARD_LINK = 512 ; const HL_FAILURE_FLAG_ENGINE = 1024 ; const HL_FAILURE_FLAG_GEOFENCE = 2048 ; const HL_FAILURE_FLAG_ESTIMATOR = 4096 ; const HL_FAILURE_FLAG_MISSION = 8192 ; } } impl HlFailureFlag { pub const DEFAULT : Self = Self :: HL_FAILURE_FLAG_GPS ; } impl Default for HlFailureFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum LandingTargetType { LANDING_TARGET_TYPE_LIGHT_BEACON = 0 , LANDING_TARGET_TYPE_RADIO_BEACON = 1 , LANDING_TARGET_TYPE_VISION_FIDUCIAL = 2 , LANDING_TARGET_TYPE_VISION_OTHER = 3 , } impl LandingTargetType { pub const DEFAULT : Self = Self :: LANDING_TARGET_TYPE_LIGHT_BEACON ; } impl Default for LandingTargetType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavRoi { MAV_ROI_NONE = 0 , MAV_ROI_WPNEXT = 1 , MAV_ROI_WPINDEX = 2 , MAV_ROI_LOCATION = 3 , MAV_ROI_TARGET = 4 , } impl MavRoi { pub const DEFAULT : Self = Self :: MAV_ROI_NONE ; } impl Default for MavRoi { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PositionTargetTypemask : u16 { const POSITION_TARGET_TYPEMASK_X_IGNORE = 1 ; const POSITION_TARGET_TYPEMASK_Y_IGNORE = 2 ; const POSITION_TARGET_TYPEMASK_Z_IGNORE = 4 ; const POSITION_TARGET_TYPEMASK_VX_IGNORE = 8 ; const POSITION_TARGET_TYPEMASK_VY_IGNORE = 16 ; const POSITION_TARGET_TYPEMASK_VZ_IGNORE = 32 ; const POSITION_TARGET_TYPEMASK_AX_IGNORE = 64 ; const POSITION_TARGET_TYPEMASK_AY_IGNORE = 128 ; const POSITION_TARGET_TYPEMASK_AZ_IGNORE = 256 ; const POSITION_TARGET_TYPEMASK_FORCE_SET = 512 ; const POSITION_TARGET_TYPEMASK_YAW_IGNORE = 1024 ; const POSITION_TARGET_TYPEMASK_YAW_RATE_IGNORE = 2048 ; } } impl PositionTargetTypemask { pub const DEFAULT : Self = Self :: POSITION_TARGET_TYPEMASK_X_IGNORE ; } impl Default for PositionTargetTypemask { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MissionState { MISSION_STATE_UNKNOWN = 0 , MISSION_STATE_NO_MISSION = 1 , MISSION_STATE_NOT_STARTED = 2 , MISSION_STATE_ACTIVE = 3 , MISSION_STATE_PAUSED = 4 , MISSION_STATE_COMPLETE = 5 , } impl MissionState { pub const DEFAULT : Self = Self :: MISSION_STATE_UNKNOWN ; } impl Default for MissionState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraTrackingMode { CAMERA_TRACKING_MODE_NONE = 0 , CAMERA_TRACKING_MODE_POINT = 1 , CAMERA_TRACKING_MODE_RECTANGLE = 2 , } impl CameraTrackingMode { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_MODE_NONE ; } impl Default for CameraTrackingMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CellularConfigResponse { CELLULAR_CONFIG_RESPONSE_ACCEPTED = 0 , CELLULAR_CONFIG_RESPONSE_APN_ERROR = 1 , CELLULAR_CONFIG_RESPONSE_PIN_ERROR = 2 , CELLULAR_CONFIG_RESPONSE_REJECTED = 3 , CELLULAR_CONFIG_BLOCKED_PUK_REQUIRED = 4 , } impl CellularConfigResponse { pub const DEFAULT : Self = Self :: CELLULAR_CONFIG_RESPONSE_ACCEPTED ; } impl Default for CellularConfigResponse { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryMode { MAV_BATTERY_MODE_UNKNOWN = 0 , MAV_BATTERY_MODE_AUTO_DISCHARGING = 1 , MAV_BATTERY_MODE_HOT_SWAP = 2 , } impl MavBatteryMode { pub const DEFAULT : Self = Self :: MAV_BATTERY_MODE_UNKNOWN ; } impl Default for MavBatteryMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidCategoryEu { MAV_ODID_CATEGORY_EU_UNDECLARED = 0 , MAV_ODID_CATEGORY_EU_OPEN = 1 , MAV_ODID_CATEGORY_EU_SPECIFIC = 2 , MAV_ODID_CATEGORY_EU_CERTIFIED = 3 , } impl MavOdidCategoryEu { pub const DEFAULT : Self = Self :: MAV_ODID_CATEGORY_EU_UNDECLARED ; } impl Default for MavOdidCategoryEu { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavEstimatorType { MAV_ESTIMATOR_TYPE_UNKNOWN = 0 , MAV_ESTIMATOR_TYPE_NAIVE = 1 , MAV_ESTIMATOR_TYPE_VISION = 2 , MAV_ESTIMATOR_TYPE_VIO = 3 , MAV_ESTIMATOR_TYPE_GPS = 4 , MAV_ESTIMATOR_TYPE_GPS_INS = 5 , MAV_ESTIMATOR_TYPE_MOCAP = 6 , MAV_ESTIMATOR_TYPE_LIDAR = 7 , MAV_ESTIMATOR_TYPE_AUTOPILOT = 8 , } impl MavEstimatorType { pub const DEFAULT : Self = Self :: MAV_ESTIMATOR_TYPE_UNKNOWN ; } impl Default for MavEstimatorType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UtmFlightState { UTM_FLIGHT_STATE_UNKNOWN = 1 , UTM_FLIGHT_STATE_GROUND = 2 , UTM_FLIGHT_STATE_AIRBORNE = 3 , UTM_FLIGHT_STATE_EMERGENCY = 16 , UTM_FLIGHT_STATE_NOCTRL = 32 , } impl UtmFlightState { pub const DEFAULT : Self = Self :: UTM_FLIGHT_STATE_UNKNOWN ; } impl Default for UtmFlightState { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UtmDataAvailFlags : u8 { const UTM_DATA_AVAIL_FLAGS_TIME_VALID = 1 ; const UTM_DATA_AVAIL_FLAGS_UAS_ID_AVAILABLE = 2 ; const UTM_DATA_AVAIL_FLAGS_POSITION_AVAILABLE = 4 ; const UTM_DATA_AVAIL_FLAGS_ALTITUDE_AVAILABLE = 8 ; const UTM_DATA_AVAIL_FLAGS_RELATIVE_ALTITUDE_AVAILABLE = 16 ; const UTM_DATA_AVAIL_FLAGS_HORIZONTAL_VELO_AVAILABLE = 32 ; const UTM_DATA_AVAIL_FLAGS_VERTICAL_VELO_AVAILABLE = 64 ; const UTM_DATA_AVAIL_FLAGS_NEXT_WAYPOINT_AVAILABLE = 128 ; } } impl UtmDataAvailFlags { pub const DEFAULT : Self = Self :: UTM_DATA_AVAIL_FLAGS_TIME_VALID ; } impl Default for UtmDataAvailFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AisFlags : u16 { const AIS_FLAGS_POSITION_ACCURACY = 1 ; const AIS_FLAGS_VALID_COG = 2 ; const AIS_FLAGS_VALID_VELOCITY = 4 ; const AIS_FLAGS_HIGH_VELOCITY = 8 ; const AIS_FLAGS_VALID_TURN_RATE = 16 ; const AIS_FLAGS_TURN_RATE_SIGN_ONLY = 32 ; const AIS_FLAGS_VALID_DIMENSIONS = 64 ; const AIS_FLAGS_LARGE_BOW_DIMENSION = 128 ; const AIS_FLAGS_LARGE_STERN_DIMENSION = 256 ; const AIS_FLAGS_LARGE_PORT_DIMENSION = 512 ; const AIS_FLAGS_LARGE_STARBOARD_DIMENSION = 1024 ; const AIS_FLAGS_VALID_CALLSIGN = 2048 ; const AIS_FLAGS_VALID_NAME = 4096 ; } } impl AisFlags { pub const DEFAULT : Self = Self :: AIS_FLAGS_POSITION_ACCURACY ; } impl Default for AisFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum ActuatorOutputFunction { ACTUATOR_OUTPUT_FUNCTION_NONE = 0 , ACTUATOR_OUTPUT_FUNCTION_MOTOR1 = 1 , ACTUATOR_OUTPUT_FUNCTION_MOTOR2 = 2 , ACTUATOR_OUTPUT_FUNCTION_MOTOR3 = 3 , ACTUATOR_OUTPUT_FUNCTION_MOTOR4 = 4 , ACTUATOR_OUTPUT_FUNCTION_MOTOR5 = 5 , ACTUATOR_OUTPUT_FUNCTION_MOTOR6 = 6 , ACTUATOR_OUTPUT_FUNCTION_MOTOR7 = 7 , ACTUATOR_OUTPUT_FUNCTION_MOTOR8 = 8 , ACTUATOR_OUTPUT_FUNCTION_MOTOR9 = 9 , ACTUATOR_OUTPUT_FUNCTION_MOTOR10 = 10 , ACTUATOR_OUTPUT_FUNCTION_MOTOR11 = 11 , ACTUATOR_OUTPUT_FUNCTION_MOTOR12 = 12 , ACTUATOR_OUTPUT_FUNCTION_MOTOR13 = 13 , ACTUATOR_OUTPUT_FUNCTION_MOTOR14 = 14 , ACTUATOR_OUTPUT_FUNCTION_MOTOR15 = 15 , ACTUATOR_OUTPUT_FUNCTION_MOTOR16 = 16 , ACTUATOR_OUTPUT_FUNCTION_SERVO1 = 33 , ACTUATOR_OUTPUT_FUNCTION_SERVO2 = 34 , ACTUATOR_OUTPUT_FUNCTION_SERVO3 = 35 , ACTUATOR_OUTPUT_FUNCTION_SERVO4 = 36 , ACTUATOR_OUTPUT_FUNCTION_SERVO5 = 37 , ACTUATOR_OUTPUT_FUNCTION_SERVO6 = 38 , ACTUATOR_OUTPUT_FUNCTION_SERVO7 = 39 , ACTUATOR_OUTPUT_FUNCTION_SERVO8 = 40 , ACTUATOR_OUTPUT_FUNCTION_SERVO9 = 41 , ACTUATOR_OUTPUT_FUNCTION_SERVO10 = 42 , ACTUATOR_OUTPUT_FUNCTION_SERVO11 = 43 , ACTUATOR_OUTPUT_FUNCTION_SERVO12 = 44 , ACTUATOR_OUTPUT_FUNCTION_SERVO13 = 45 , ACTUATOR_OUTPUT_FUNCTION_SERVO14 = 46 , ACTUATOR_OUTPUT_FUNCTION_SERVO15 = 47 , ACTUATOR_OUTPUT_FUNCTION_SERVO16 = 48 , } impl ActuatorOutputFunction { pub const DEFAULT : Self = Self :: ACTUATOR_OUTPUT_FUNCTION_NONE ; } impl Default for ActuatorOutputFunction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavSensorOrientation { MAV_SENSOR_ROTATION_NONE = 0 , MAV_SENSOR_ROTATION_YAW_45 = 1 , MAV_SENSOR_ROTATION_YAW_90 = 2 , MAV_SENSOR_ROTATION_YAW_135 = 3 , MAV_SENSOR_ROTATION_YAW_180 = 4 , MAV_SENSOR_ROTATION_YAW_225 = 5 , MAV_SENSOR_ROTATION_YAW_270 = 6 , MAV_SENSOR_ROTATION_YAW_315 = 7 , MAV_SENSOR_ROTATION_ROLL_180 = 8 , MAV_SENSOR_ROTATION_ROLL_180_YAW_45 = 9 , MAV_SENSOR_ROTATION_ROLL_180_YAW_90 = 10 , MAV_SENSOR_ROTATION_ROLL_180_YAW_135 = 11 , MAV_SENSOR_ROTATION_PITCH_180 = 12 , MAV_SENSOR_ROTATION_ROLL_180_YAW_225 = 13 , MAV_SENSOR_ROTATION_ROLL_180_YAW_270 = 14 , MAV_SENSOR_ROTATION_ROLL_180_YAW_315 = 15 , MAV_SENSOR_ROTATION_ROLL_90 = 16 , MAV_SENSOR_ROTATION_ROLL_90_YAW_45 = 17 , MAV_SENSOR_ROTATION_ROLL_90_YAW_90 = 18 , MAV_SENSOR_ROTATION_ROLL_90_YAW_135 = 19 , MAV_SENSOR_ROTATION_ROLL_270 = 20 , MAV_SENSOR_ROTATION_ROLL_270_YAW_45 = 21 , MAV_SENSOR_ROTATION_ROLL_270_YAW_90 = 22 , MAV_SENSOR_ROTATION_ROLL_270_YAW_135 = 23 , MAV_SENSOR_ROTATION_PITCH_90 = 24 , MAV_SENSOR_ROTATION_PITCH_270 = 25 , MAV_SENSOR_ROTATION_PITCH_180_YAW_90 = 26 , MAV_SENSOR_ROTATION_PITCH_180_YAW_270 = 27 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_90 = 28 , MAV_SENSOR_ROTATION_ROLL_180_PITCH_90 = 29 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_90 = 30 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_180 = 31 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_180 = 32 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_270 = 33 , MAV_SENSOR_ROTATION_ROLL_180_PITCH_270 = 34 , MAV_SENSOR_ROTATION_ROLL_270_PITCH_270 = 35 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_180_YAW_90 = 36 , MAV_SENSOR_ROTATION_ROLL_90_YAW_270 = 37 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_68_YAW_293 = 38 , MAV_SENSOR_ROTATION_PITCH_315 = 39 , MAV_SENSOR_ROTATION_ROLL_90_PITCH_315 = 40 , MAV_SENSOR_ROTATION_CUSTOM = 100 , } impl MavSensorOrientation { pub const DEFAULT : Self = Self :: MAV_SENSOR_ROTATION_NONE ; } impl Default for MavSensorOrientation { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidClassEu { MAV_ODID_CLASS_EU_UNDECLARED = 0 , MAV_ODID_CLASS_EU_CLASS_0 = 1 , MAV_ODID_CLASS_EU_CLASS_1 = 2 , MAV_ODID_CLASS_EU_CLASS_2 = 3 , MAV_ODID_CLASS_EU_CLASS_3 = 4 , MAV_ODID_CLASS_EU_CLASS_4 = 5 , MAV_ODID_CLASS_EU_CLASS_5 = 6 , MAV_ODID_CLASS_EU_CLASS_6 = 7 , } impl MavOdidClassEu { pub const DEFAULT : Self = Self :: MAV_ODID_CLASS_EU_UNDECLARED ; } impl Default for MavOdidClassEu { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidClassificationType { MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED = 0 , MAV_ODID_CLASSIFICATION_TYPE_EU = 1 , } impl MavOdidClassificationType { pub const DEFAULT : Self = Self :: MAV_ODID_CLASSIFICATION_TYPE_UNDECLARED ; } impl Default for MavOdidClassificationType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CanFilterOp { CAN_FILTER_REPLACE = 0 , CAN_FILTER_ADD = 1 , CAN_FILTER_REMOVE = 2 , } impl CanFilterOp { pub const DEFAULT : Self = Self :: CAN_FILTER_REPLACE ; } impl Default for CanFilterOp { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum RcType { RC_TYPE_SPEKTRUM_DSM2 = 0 , RC_TYPE_SPEKTRUM_DSMX = 1 , } impl RcType { pub const DEFAULT : Self = Self :: RC_TYPE_SPEKTRUM_DSM2 ; } impl Default for RcType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GimbalManagerFlags { GIMBAL_MANAGER_FLAGS_RETRACT = 1 , GIMBAL_MANAGER_FLAGS_NEUTRAL = 2 , GIMBAL_MANAGER_FLAGS_ROLL_LOCK = 4 , GIMBAL_MANAGER_FLAGS_PITCH_LOCK = 8 , GIMBAL_MANAGER_FLAGS_YAW_LOCK = 16 , GIMBAL_MANAGER_FLAGS_YAW_IN_VEHICLE_FRAME = 32 , GIMBAL_MANAGER_FLAGS_YAW_IN_EARTH_FRAME = 64 , GIMBAL_MANAGER_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME = 128 , GIMBAL_MANAGER_FLAGS_RC_EXCLUSIVE = 256 , GIMBAL_MANAGER_FLAGS_RC_MIXED = 512 , } impl GimbalManagerFlags { pub const DEFAULT : Self = Self :: GIMBAL_MANAGER_FLAGS_RETRACT ; } impl Default for GimbalManagerFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CameraCapFlags : u32 { const CAMERA_CAP_FLAGS_CAPTURE_VIDEO = 1 ; const CAMERA_CAP_FLAGS_CAPTURE_IMAGE = 2 ; const CAMERA_CAP_FLAGS_HAS_MODES = 4 ; const CAMERA_CAP_FLAGS_CAN_CAPTURE_IMAGE_IN_VIDEO_MODE = 8 ; const CAMERA_CAP_FLAGS_CAN_CAPTURE_VIDEO_IN_IMAGE_MODE = 16 ; const CAMERA_CAP_FLAGS_HAS_IMAGE_SURVEY_MODE = 32 ; const CAMERA_CAP_FLAGS_HAS_BASIC_ZOOM = 64 ; const CAMERA_CAP_FLAGS_HAS_BASIC_FOCUS = 128 ; const CAMERA_CAP_FLAGS_HAS_VIDEO_STREAM = 256 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_POINT = 512 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE = 1024 ; const CAMERA_CAP_FLAGS_HAS_TRACKING_GEO_STATUS = 2048 ; } } impl CameraCapFlags { pub const DEFAULT : Self = Self :: CAMERA_CAP_FLAGS_CAPTURE_VIDEO ; } impl Default for CameraCapFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavSysStatusSensor : u32 { const MAV_SYS_STATUS_SENSOR_3D_GYRO = 1 ; const MAV_SYS_STATUS_SENSOR_3D_ACCEL = 2 ; const MAV_SYS_STATUS_SENSOR_3D_MAG = 4 ; const MAV_SYS_STATUS_SENSOR_ABSOLUTE_PRESSURE = 8 ; const MAV_SYS_STATUS_SENSOR_DIFFERENTIAL_PRESSURE = 16 ; const MAV_SYS_STATUS_SENSOR_GPS = 32 ; const MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW = 64 ; const MAV_SYS_STATUS_SENSOR_VISION_POSITION = 128 ; const MAV_SYS_STATUS_SENSOR_LASER_POSITION = 256 ; const MAV_SYS_STATUS_SENSOR_EXTERNAL_GROUND_TRUTH = 512 ; const MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL = 1024 ; const MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION = 2048 ; const MAV_SYS_STATUS_SENSOR_YAW_POSITION = 4096 ; const MAV_SYS_STATUS_SENSOR_Z_ALTITUDE_CONTROL = 8192 ; const MAV_SYS_STATUS_SENSOR_XY_POSITION_CONTROL = 16384 ; const MAV_SYS_STATUS_SENSOR_MOTOR_OUTPUTS = 32768 ; const MAV_SYS_STATUS_SENSOR_RC_RECEIVER = 65536 ; const MAV_SYS_STATUS_SENSOR_3D_GYRO2 = 131072 ; const MAV_SYS_STATUS_SENSOR_3D_ACCEL2 = 262144 ; const MAV_SYS_STATUS_SENSOR_3D_MAG2 = 524288 ; const MAV_SYS_STATUS_GEOFENCE = 1048576 ; const MAV_SYS_STATUS_AHRS = 2097152 ; const MAV_SYS_STATUS_TERRAIN = 4194304 ; const MAV_SYS_STATUS_REVERSE_MOTOR = 8388608 ; const MAV_SYS_STATUS_LOGGING = 16777216 ; const MAV_SYS_STATUS_SENSOR_BATTERY = 33554432 ; const MAV_SYS_STATUS_SENSOR_PROXIMITY = 67108864 ; const MAV_SYS_STATUS_SENSOR_SATCOM = 134217728 ; const MAV_SYS_STATUS_PREARM_CHECK = 268435456 ; const MAV_SYS_STATUS_OBSTACLE_AVOIDANCE = 536870912 ; const MAV_SYS_STATUS_SENSOR_PROPULSION = 1073741824 ; const MAV_SYS_STATUS_EXTENSION_USED = 2147483648 ; } } impl MavSysStatusSensor { pub const DEFAULT : Self = Self :: MAV_SYS_STATUS_SENSOR_3D_GYRO ; } impl Default for MavSysStatusSensor { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMissionType { MAV_MISSION_TYPE_MISSION = 0 , MAV_MISSION_TYPE_FENCE = 1 , MAV_MISSION_TYPE_RALLY = 2 , MAV_MISSION_TYPE_ALL = 255 , } impl MavMissionType { pub const DEFAULT : Self = Self :: MAV_MISSION_TYPE_MISSION ; } impl Default for MavMissionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidOperatorLocationType { MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF = 0 , MAV_ODID_OPERATOR_LOCATION_TYPE_LIVE_GNSS = 1 , MAV_ODID_OPERATOR_LOCATION_TYPE_FIXED = 2 , } impl MavOdidOperatorLocationType { pub const DEFAULT : Self = Self :: MAV_ODID_OPERATOR_LOCATION_TYPE_TAKEOFF ; } impl Default for MavOdidOperatorLocationType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum VideoStreamStatusFlags { VIDEO_STREAM_STATUS_FLAGS_RUNNING = 1 , VIDEO_STREAM_STATUS_FLAGS_THERMAL = 2 , } impl VideoStreamStatusFlags { pub const DEFAULT : Self = Self :: VIDEO_STREAM_STATUS_FLAGS_RUNNING ; } impl Default for VideoStreamStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCmdAck { MAV_CMD_ACK_OK = 0 , MAV_CMD_ACK_ERR_FAIL = 1 , MAV_CMD_ACK_ERR_ACCESS_DENIED = 2 , MAV_CMD_ACK_ERR_NOT_SUPPORTED = 3 , MAV_CMD_ACK_ERR_COORDINATE_FRAME_NOT_SUPPORTED = 4 , MAV_CMD_ACK_ERR_COORDINATES_OUT_OF_RANGE = 5 , MAV_CMD_ACK_ERR_X_LAT_OUT_OF_RANGE = 6 , MAV_CMD_ACK_ERR_Y_LON_OUT_OF_RANGE = 7 , MAV_CMD_ACK_ERR_Z_ALT_OUT_OF_RANGE = 8 , } impl MavCmdAck { pub const DEFAULT : Self = Self :: MAV_CMD_ACK_OK ; } impl Default for MavCmdAck { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum StorageType { STORAGE_TYPE_UNKNOWN = 0 , STORAGE_TYPE_USB_STICK = 1 , STORAGE_TYPE_SD = 2 , STORAGE_TYPE_MICROSD = 3 , STORAGE_TYPE_CF = 4 , STORAGE_TYPE_CFE = 5 , STORAGE_TYPE_XQD = 6 , STORAGE_TYPE_HD = 7 , STORAGE_TYPE_OTHER = 254 , } impl StorageType { pub const DEFAULT : Self = Self :: STORAGE_TYPE_UNKNOWN ; } impl Default for StorageType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UavionixAdsbOutDynamicState : u16 { const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE = 1 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_AUTOPILOT_ENABLED = 2 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_NICBARO_CROSSCHECKED = 4 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_ON_GROUND = 8 ; const UAVIONIX_ADSB_OUT_DYNAMIC_STATE_IDENT = 16 ; } } impl UavionixAdsbOutDynamicState { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_DYNAMIC_STATE_INTENT_CHANGE ; } impl Default for UavionixAdsbOutDynamicState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CellularStatusFlag { CELLULAR_STATUS_FLAG_UNKNOWN = 0 , CELLULAR_STATUS_FLAG_FAILED = 1 , CELLULAR_STATUS_FLAG_INITIALIZING = 2 , CELLULAR_STATUS_FLAG_LOCKED = 3 , CELLULAR_STATUS_FLAG_DISABLED = 4 , CELLULAR_STATUS_FLAG_DISABLING = 5 , CELLULAR_STATUS_FLAG_ENABLING = 6 , CELLULAR_STATUS_FLAG_ENABLED = 7 , CELLULAR_STATUS_FLAG_SEARCHING = 8 , CELLULAR_STATUS_FLAG_REGISTERED = 9 , CELLULAR_STATUS_FLAG_DISCONNECTING = 10 , CELLULAR_STATUS_FLAG_CONNECTING = 11 , CELLULAR_STATUS_FLAG_CONNECTED = 12 , } impl CellularStatusFlag { pub const DEFAULT : Self = Self :: CELLULAR_STATUS_FLAG_UNKNOWN ; } impl Default for CellularStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum RtkBaselineCoordinateSystem { RTK_BASELINE_COORDINATE_SYSTEM_ECEF = 0 , RTK_BASELINE_COORDINATE_SYSTEM_NED = 1 , } impl RtkBaselineCoordinateSystem { pub const DEFAULT : Self = Self :: RTK_BASELINE_COORDINATE_SYSTEM_ECEF ; } impl Default for RtkBaselineCoordinateSystem { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavParamExtType { MAV_PARAM_EXT_TYPE_UINT8 = 1 , MAV_PARAM_EXT_TYPE_INT8 = 2 , MAV_PARAM_EXT_TYPE_UINT16 = 3 , MAV_PARAM_EXT_TYPE_INT16 = 4 , MAV_PARAM_EXT_TYPE_UINT32 = 5 , MAV_PARAM_EXT_TYPE_INT32 = 6 , MAV_PARAM_EXT_TYPE_UINT64 = 7 , MAV_PARAM_EXT_TYPE_INT64 = 8 , MAV_PARAM_EXT_TYPE_REAL32 = 9 , MAV_PARAM_EXT_TYPE_REAL64 = 10 , MAV_PARAM_EXT_TYPE_CUSTOM = 11 , } impl MavParamExtType { pub const DEFAULT : Self = Self :: MAV_PARAM_EXT_TYPE_UINT8 ; } impl Default for MavParamExtType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FailureUnit { FAILURE_UNIT_SENSOR_GYRO = 0 , FAILURE_UNIT_SENSOR_ACCEL = 1 , FAILURE_UNIT_SENSOR_MAG = 2 , FAILURE_UNIT_SENSOR_BARO = 3 , FAILURE_UNIT_SENSOR_GPS = 4 , FAILURE_UNIT_SENSOR_OPTICAL_FLOW = 5 , FAILURE_UNIT_SENSOR_VIO = 6 , FAILURE_UNIT_SENSOR_DISTANCE_SENSOR = 7 , FAILURE_UNIT_SENSOR_AIRSPEED = 8 , FAILURE_UNIT_SYSTEM_BATTERY = 100 , FAILURE_UNIT_SYSTEM_MOTOR = 101 , FAILURE_UNIT_SYSTEM_SERVO = 102 , FAILURE_UNIT_SYSTEM_AVOIDANCE = 103 , FAILURE_UNIT_SYSTEM_RC_SIGNAL = 104 , FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL = 105 , } impl FailureUnit { pub const DEFAULT : Self = Self :: FAILURE_UNIT_SENSOR_GYRO ; } impl Default for FailureUnit { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavionixAdsbOutCfgGpsOffsetLat { UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA = 0 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_2M = 1 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_4M = 2 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_LEFT_6M = 3 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_0M = 4 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_2M = 5 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_4M = 6 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_RIGHT_6M = 7 , } impl UavionixAdsbOutCfgGpsOffsetLat { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LAT_NO_DATA ; } impl Default for UavionixAdsbOutCfgGpsOffsetLat { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavLandedState { MAV_LANDED_STATE_UNDEFINED = 0 , MAV_LANDED_STATE_ON_GROUND = 1 , MAV_LANDED_STATE_IN_AIR = 2 , MAV_LANDED_STATE_TAKEOFF = 3 , MAV_LANDED_STATE_LANDING = 4 , } impl MavLandedState { pub const DEFAULT : Self = Self :: MAV_LANDED_STATE_UNDEFINED ; } impl Default for MavLandedState { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavModeFlag : u8 { const MAV_MODE_FLAG_SAFETY_ARMED = 128 ; const MAV_MODE_FLAG_MANUAL_INPUT_ENABLED = 64 ; const MAV_MODE_FLAG_HIL_ENABLED = 32 ; const MAV_MODE_FLAG_STABILIZE_ENABLED = 16 ; const MAV_MODE_FLAG_GUIDED_ENABLED = 8 ; const MAV_MODE_FLAG_AUTO_ENABLED = 4 ; const MAV_MODE_FLAG_TEST_ENABLED = 2 ; const MAV_MODE_FLAG_CUSTOM_MODE_ENABLED = 1 ; } } impl MavModeFlag { pub const DEFAULT : Self = Self :: MAV_MODE_FLAG_SAFETY_ARMED ; } impl Default for MavModeFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum WinchActions { WINCH_RELAXED = 0 , WINCH_RELATIVE_LENGTH_CONTROL = 1 , WINCH_RATE_CONTROL = 2 , WINCH_LOCK = 3 , WINCH_DELIVER = 4 , WINCH_HOLD = 5 , WINCH_RETRACT = 6 , WINCH_LOAD_LINE = 7 , WINCH_ABANDON_LINE = 8 , WINCH_LOAD_PAYLOAD = 9 , } impl WinchActions { pub const DEFAULT : Self = Self :: WINCH_RELAXED ; } impl Default for WinchActions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavcanNodeHealth { UAVCAN_NODE_HEALTH_OK = 0 , UAVCAN_NODE_HEALTH_WARNING = 1 , UAVCAN_NODE_HEALTH_ERROR = 2 , UAVCAN_NODE_HEALTH_CRITICAL = 3 , } impl UavcanNodeHealth { pub const DEFAULT : Self = Self :: UAVCAN_NODE_HEALTH_OK ; } impl Default for UavcanNodeHealth { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AisType { AIS_TYPE_UNKNOWN = 0 , AIS_TYPE_RESERVED_1 = 1 , AIS_TYPE_RESERVED_2 = 2 , AIS_TYPE_RESERVED_3 = 3 , AIS_TYPE_RESERVED_4 = 4 , AIS_TYPE_RESERVED_5 = 5 , AIS_TYPE_RESERVED_6 = 6 , AIS_TYPE_RESERVED_7 = 7 , AIS_TYPE_RESERVED_8 = 8 , AIS_TYPE_RESERVED_9 = 9 , AIS_TYPE_RESERVED_10 = 10 , AIS_TYPE_RESERVED_11 = 11 , AIS_TYPE_RESERVED_12 = 12 , AIS_TYPE_RESERVED_13 = 13 , AIS_TYPE_RESERVED_14 = 14 , AIS_TYPE_RESERVED_15 = 15 , AIS_TYPE_RESERVED_16 = 16 , AIS_TYPE_RESERVED_17 = 17 , AIS_TYPE_RESERVED_18 = 18 , AIS_TYPE_RESERVED_19 = 19 , AIS_TYPE_WIG = 20 , AIS_TYPE_WIG_HAZARDOUS_A = 21 , AIS_TYPE_WIG_HAZARDOUS_B = 22 , AIS_TYPE_WIG_HAZARDOUS_C = 23 , AIS_TYPE_WIG_HAZARDOUS_D = 24 , AIS_TYPE_WIG_RESERVED_1 = 25 , AIS_TYPE_WIG_RESERVED_2 = 26 , AIS_TYPE_WIG_RESERVED_3 = 27 , AIS_TYPE_WIG_RESERVED_4 = 28 , AIS_TYPE_WIG_RESERVED_5 = 29 , AIS_TYPE_FISHING = 30 , AIS_TYPE_TOWING = 31 , AIS_TYPE_TOWING_LARGE = 32 , AIS_TYPE_DREDGING = 33 , AIS_TYPE_DIVING = 34 , AIS_TYPE_MILITARY = 35 , AIS_TYPE_SAILING = 36 , AIS_TYPE_PLEASURE = 37 , AIS_TYPE_RESERVED_20 = 38 , AIS_TYPE_RESERVED_21 = 39 , AIS_TYPE_HSC = 40 , AIS_TYPE_HSC_HAZARDOUS_A = 41 , AIS_TYPE_HSC_HAZARDOUS_B = 42 , AIS_TYPE_HSC_HAZARDOUS_C = 43 , AIS_TYPE_HSC_HAZARDOUS_D = 44 , AIS_TYPE_HSC_RESERVED_1 = 45 , AIS_TYPE_HSC_RESERVED_2 = 46 , AIS_TYPE_HSC_RESERVED_3 = 47 , AIS_TYPE_HSC_RESERVED_4 = 48 , AIS_TYPE_HSC_UNKNOWN = 49 , AIS_TYPE_PILOT = 50 , AIS_TYPE_SAR = 51 , AIS_TYPE_TUG = 52 , AIS_TYPE_PORT_TENDER = 53 , AIS_TYPE_ANTI_POLLUTION = 54 , AIS_TYPE_LAW_ENFORCEMENT = 55 , AIS_TYPE_SPARE_LOCAL_1 = 56 , AIS_TYPE_SPARE_LOCAL_2 = 57 , AIS_TYPE_MEDICAL_TRANSPORT = 58 , AIS_TYPE_NONECOMBATANT = 59 , AIS_TYPE_PASSENGER = 60 , AIS_TYPE_PASSENGER_HAZARDOUS_A = 61 , AIS_TYPE_PASSENGER_HAZARDOUS_B = 62 , AIS_TYPE_PASSENGER_HAZARDOUS_C = 63 , AIS_TYPE_PASSENGER_HAZARDOUS_D = 64 , AIS_TYPE_PASSENGER_RESERVED_1 = 65 , AIS_TYPE_PASSENGER_RESERVED_2 = 66 , AIS_TYPE_PASSENGER_RESERVED_3 = 67 , AIS_TYPE_PASSENGER_RESERVED_4 = 68 , AIS_TYPE_PASSENGER_UNKNOWN = 69 , AIS_TYPE_CARGO = 70 , AIS_TYPE_CARGO_HAZARDOUS_A = 71 , AIS_TYPE_CARGO_HAZARDOUS_B = 72 , AIS_TYPE_CARGO_HAZARDOUS_C = 73 , AIS_TYPE_CARGO_HAZARDOUS_D = 74 , AIS_TYPE_CARGO_RESERVED_1 = 75 , AIS_TYPE_CARGO_RESERVED_2 = 76 , AIS_TYPE_CARGO_RESERVED_3 = 77 , AIS_TYPE_CARGO_RESERVED_4 = 78 , AIS_TYPE_CARGO_UNKNOWN = 79 , AIS_TYPE_TANKER = 80 , AIS_TYPE_TANKER_HAZARDOUS_A = 81 , AIS_TYPE_TANKER_HAZARDOUS_B = 82 , AIS_TYPE_TANKER_HAZARDOUS_C = 83 , AIS_TYPE_TANKER_HAZARDOUS_D = 84 , AIS_TYPE_TANKER_RESERVED_1 = 85 , AIS_TYPE_TANKER_RESERVED_2 = 86 , AIS_TYPE_TANKER_RESERVED_3 = 87 , AIS_TYPE_TANKER_RESERVED_4 = 88 , AIS_TYPE_TANKER_UNKNOWN = 89 , AIS_TYPE_OTHER = 90 , AIS_TYPE_OTHER_HAZARDOUS_A = 91 , AIS_TYPE_OTHER_HAZARDOUS_B = 92 , AIS_TYPE_OTHER_HAZARDOUS_C = 93 , AIS_TYPE_OTHER_HAZARDOUS_D = 94 , AIS_TYPE_OTHER_RESERVED_1 = 95 , AIS_TYPE_OTHER_RESERVED_2 = 96 , AIS_TYPE_OTHER_RESERVED_3 = 97 , AIS_TYPE_OTHER_RESERVED_4 = 98 , AIS_TYPE_OTHER_UNKNOWN = 99 , } impl AisType { pub const DEFAULT : Self = Self :: AIS_TYPE_UNKNOWN ; } impl Default for AisType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavParamType { MAV_PARAM_TYPE_UINT8 = 1 , MAV_PARAM_TYPE_INT8 = 2 , MAV_PARAM_TYPE_UINT16 = 3 , MAV_PARAM_TYPE_INT16 = 4 , MAV_PARAM_TYPE_UINT32 = 5 , MAV_PARAM_TYPE_INT32 = 6 , MAV_PARAM_TYPE_UINT64 = 7 , MAV_PARAM_TYPE_INT64 = 8 , MAV_PARAM_TYPE_REAL32 = 9 , MAV_PARAM_TYPE_REAL64 = 10 , } impl MavParamType { pub const DEFAULT : Self = Self :: MAV_PARAM_TYPE_UINT8 ; } impl Default for MavParamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidUaType { MAV_ODID_UA_TYPE_NONE = 0 , MAV_ODID_UA_TYPE_AEROPLANE = 1 , MAV_ODID_UA_TYPE_HELICOPTER_OR_MULTIROTOR = 2 , MAV_ODID_UA_TYPE_GYROPLANE = 3 , MAV_ODID_UA_TYPE_HYBRID_LIFT = 4 , MAV_ODID_UA_TYPE_ORNITHOPTER = 5 , MAV_ODID_UA_TYPE_GLIDER = 6 , MAV_ODID_UA_TYPE_KITE = 7 , MAV_ODID_UA_TYPE_FREE_BALLOON = 8 , MAV_ODID_UA_TYPE_CAPTIVE_BALLOON = 9 , MAV_ODID_UA_TYPE_AIRSHIP = 10 , MAV_ODID_UA_TYPE_FREE_FALL_PARACHUTE = 11 , MAV_ODID_UA_TYPE_ROCKET = 12 , MAV_ODID_UA_TYPE_TETHERED_POWERED_AIRCRAFT = 13 , MAV_ODID_UA_TYPE_GROUND_OBSTACLE = 14 , MAV_ODID_UA_TYPE_OTHER = 15 , } impl MavOdidUaType { pub const DEFAULT : Self = Self :: MAV_ODID_UA_TYPE_NONE ; } impl Default for MavOdidUaType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavComponent { MAV_COMP_ID_ALL = 0 , MAV_COMP_ID_AUTOPILOT1 = 1 , MAV_COMP_ID_USER1 = 25 , MAV_COMP_ID_USER2 = 26 , MAV_COMP_ID_USER3 = 27 , MAV_COMP_ID_USER4 = 28 , MAV_COMP_ID_USER5 = 29 , MAV_COMP_ID_USER6 = 30 , MAV_COMP_ID_USER7 = 31 , MAV_COMP_ID_USER8 = 32 , MAV_COMP_ID_USER9 = 33 , MAV_COMP_ID_USER10 = 34 , MAV_COMP_ID_USER11 = 35 , MAV_COMP_ID_USER12 = 36 , MAV_COMP_ID_USER13 = 37 , MAV_COMP_ID_USER14 = 38 , MAV_COMP_ID_USER15 = 39 , MAV_COMP_ID_USER16 = 40 , MAV_COMP_ID_USER17 = 41 , MAV_COMP_ID_USER18 = 42 , MAV_COMP_ID_USER19 = 43 , MAV_COMP_ID_USER20 = 44 , MAV_COMP_ID_USER21 = 45 , MAV_COMP_ID_USER22 = 46 , MAV_COMP_ID_USER23 = 47 , MAV_COMP_ID_USER24 = 48 , MAV_COMP_ID_USER25 = 49 , MAV_COMP_ID_USER26 = 50 , MAV_COMP_ID_USER27 = 51 , MAV_COMP_ID_USER28 = 52 , MAV_COMP_ID_USER29 = 53 , MAV_COMP_ID_USER30 = 54 , MAV_COMP_ID_USER31 = 55 , MAV_COMP_ID_USER32 = 56 , MAV_COMP_ID_USER33 = 57 , MAV_COMP_ID_USER34 = 58 , MAV_COMP_ID_USER35 = 59 , MAV_COMP_ID_USER36 = 60 , MAV_COMP_ID_USER37 = 61 , MAV_COMP_ID_USER38 = 62 , MAV_COMP_ID_USER39 = 63 , MAV_COMP_ID_USER40 = 64 , MAV_COMP_ID_USER41 = 65 , MAV_COMP_ID_USER42 = 66 , MAV_COMP_ID_USER43 = 67 , MAV_COMP_ID_TELEMETRY_RADIO = 68 , MAV_COMP_ID_USER45 = 69 , MAV_COMP_ID_USER46 = 70 , MAV_COMP_ID_USER47 = 71 , MAV_COMP_ID_USER48 = 72 , MAV_COMP_ID_USER49 = 73 , MAV_COMP_ID_USER50 = 74 , MAV_COMP_ID_USER51 = 75 , MAV_COMP_ID_USER52 = 76 , MAV_COMP_ID_USER53 = 77 , MAV_COMP_ID_USER54 = 78 , MAV_COMP_ID_USER55 = 79 , MAV_COMP_ID_USER56 = 80 , MAV_COMP_ID_USER57 = 81 , MAV_COMP_ID_USER58 = 82 , MAV_COMP_ID_USER59 = 83 , MAV_COMP_ID_USER60 = 84 , MAV_COMP_ID_USER61 = 85 , MAV_COMP_ID_USER62 = 86 , MAV_COMP_ID_USER63 = 87 , MAV_COMP_ID_USER64 = 88 , MAV_COMP_ID_USER65 = 89 , MAV_COMP_ID_USER66 = 90 , MAV_COMP_ID_USER67 = 91 , MAV_COMP_ID_USER68 = 92 , MAV_COMP_ID_USER69 = 93 , MAV_COMP_ID_USER70 = 94 , MAV_COMP_ID_USER71 = 95 , MAV_COMP_ID_USER72 = 96 , MAV_COMP_ID_USER73 = 97 , MAV_COMP_ID_USER74 = 98 , MAV_COMP_ID_USER75 = 99 , MAV_COMP_ID_CAMERA = 100 , MAV_COMP_ID_CAMERA2 = 101 , MAV_COMP_ID_CAMERA3 = 102 , MAV_COMP_ID_CAMERA4 = 103 , MAV_COMP_ID_CAMERA5 = 104 , MAV_COMP_ID_CAMERA6 = 105 , MAV_COMP_ID_SERVO1 = 140 , MAV_COMP_ID_SERVO2 = 141 , MAV_COMP_ID_SERVO3 = 142 , MAV_COMP_ID_SERVO4 = 143 , MAV_COMP_ID_SERVO5 = 144 , MAV_COMP_ID_SERVO6 = 145 , MAV_COMP_ID_SERVO7 = 146 , MAV_COMP_ID_SERVO8 = 147 , MAV_COMP_ID_SERVO9 = 148 , MAV_COMP_ID_SERVO10 = 149 , MAV_COMP_ID_SERVO11 = 150 , MAV_COMP_ID_SERVO12 = 151 , MAV_COMP_ID_SERVO13 = 152 , MAV_COMP_ID_SERVO14 = 153 , MAV_COMP_ID_GIMBAL = 154 , MAV_COMP_ID_LOG = 155 , MAV_COMP_ID_ADSB = 156 , MAV_COMP_ID_OSD = 157 , MAV_COMP_ID_PERIPHERAL = 158 , MAV_COMP_ID_QX1_GIMBAL = 159 , MAV_COMP_ID_FLARM = 160 , MAV_COMP_ID_PARACHUTE = 161 , MAV_COMP_ID_WINCH = 169 , MAV_COMP_ID_GIMBAL2 = 171 , MAV_COMP_ID_GIMBAL3 = 172 , MAV_COMP_ID_GIMBAL4 = 173 , MAV_COMP_ID_GIMBAL5 = 174 , MAV_COMP_ID_GIMBAL6 = 175 , MAV_COMP_ID_BATTERY = 180 , MAV_COMP_ID_BATTERY2 = 181 , MAV_COMP_ID_MAVCAN = 189 , MAV_COMP_ID_MISSIONPLANNER = 190 , MAV_COMP_ID_ONBOARD_COMPUTER = 191 , MAV_COMP_ID_ONBOARD_COMPUTER2 = 192 , MAV_COMP_ID_ONBOARD_COMPUTER3 = 193 , MAV_COMP_ID_ONBOARD_COMPUTER4 = 194 , MAV_COMP_ID_PATHPLANNER = 195 , MAV_COMP_ID_OBSTACLE_AVOIDANCE = 196 , MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY = 197 , MAV_COMP_ID_PAIRING_MANAGER = 198 , MAV_COMP_ID_IMU = 200 , MAV_COMP_ID_IMU_2 = 201 , MAV_COMP_ID_IMU_3 = 202 , MAV_COMP_ID_GPS = 220 , MAV_COMP_ID_GPS2 = 221 , MAV_COMP_ID_ODID_TXRX_1 = 236 , MAV_COMP_ID_ODID_TXRX_2 = 237 , MAV_COMP_ID_ODID_TXRX_3 = 238 , MAV_COMP_ID_UDP_BRIDGE = 240 , MAV_COMP_ID_UART_BRIDGE = 241 , MAV_COMP_ID_TUNNEL_NODE = 242 , MAV_COMP_ID_SYSTEM_CONTROL = 250 , } impl MavComponent { pub const DEFAULT : Self = Self :: MAV_COMP_ID_ALL ; } impl Default for MavComponent { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GripperActions { GRIPPER_ACTION_RELEASE = 0 , GRIPPER_ACTION_GRAB = 1 , } impl GripperActions { pub const DEFAULT : Self = Self :: GRIPPER_ACTION_RELEASE ; } impl Default for GripperActions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum NavVtolLandOptions { NAV_VTOL_LAND_OPTIONS_DEFAULT = 0 , NAV_VTOL_LAND_OPTIONS_FW_DESCENT = 1 , NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT = 2 , } impl NavVtolLandOptions { pub const DEFAULT : Self = Self :: NAV_VTOL_LAND_OPTIONS_DEFAULT ; } impl Default for NavVtolLandOptions { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavFtpOpcode { MAV_FTP_OPCODE_NONE = 0 , MAV_FTP_OPCODE_TERMINATESESSION = 1 , MAV_FTP_OPCODE_RESETSESSION = 2 , MAV_FTP_OPCODE_LISTDIRECTORY = 3 , MAV_FTP_OPCODE_OPENFILERO = 4 , MAV_FTP_OPCODE_READFILE = 5 , MAV_FTP_OPCODE_CREATEFILE = 6 , MAV_FTP_OPCODE_WRITEFILE = 7 , MAV_FTP_OPCODE_REMOVEFILE = 8 , MAV_FTP_OPCODE_CREATEDIRECTORY = 9 , MAV_FTP_OPCODE_REMOVEDIRECTORY = 10 , MAV_FTP_OPCODE_OPENFILEWO = 11 , MAV_FTP_OPCODE_TRUNCATEFILE = 12 , MAV_FTP_OPCODE_RENAME = 13 , MAV_FTP_OPCODE_CALCFILECRC = 14 , MAV_FTP_OPCODE_BURSTREADFILE = 15 , MAV_FTP_OPCODE_ACK = 128 , MAV_FTP_OPCODE_NAK = 129 , } impl MavFtpOpcode { pub const DEFAULT : Self = Self :: MAV_FTP_OPCODE_NONE ; } impl Default for MavFtpOpcode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavProtocolCapability : u64 { const MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT = 1 ; const MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT = 2 ; const MAV_PROTOCOL_CAPABILITY_MISSION_INT = 4 ; const MAV_PROTOCOL_CAPABILITY_COMMAND_INT = 8 ; const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE = 16 ; const MAV_PROTOCOL_CAPABILITY_FTP = 32 ; const MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET = 64 ; const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED = 128 ; const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT = 256 ; const MAV_PROTOCOL_CAPABILITY_TERRAIN = 512 ; const MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET = 1024 ; const MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION = 2048 ; const MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION = 4096 ; const MAV_PROTOCOL_CAPABILITY_MAVLINK2 = 8192 ; const MAV_PROTOCOL_CAPABILITY_MISSION_FENCE = 16384 ; const MAV_PROTOCOL_CAPABILITY_MISSION_RALLY = 32768 ; const MAV_PROTOCOL_CAPABILITY_RESERVED2 = 65536 ; const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST = 131072 ; } } impl MavProtocolCapability { pub const DEFAULT : Self = Self :: MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT ; } impl Default for MavProtocolCapability { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum WifiConfigApResponse { WIFI_CONFIG_AP_RESPONSE_UNDEFINED = 0 , WIFI_CONFIG_AP_RESPONSE_ACCEPTED = 1 , WIFI_CONFIG_AP_RESPONSE_REJECTED = 2 , WIFI_CONFIG_AP_RESPONSE_MODE_ERROR = 3 , WIFI_CONFIG_AP_RESPONSE_SSID_ERROR = 4 , WIFI_CONFIG_AP_RESPONSE_PASSWORD_ERROR = 5 , } impl WifiConfigApResponse { pub const DEFAULT : Self = Self :: WIFI_CONFIG_AP_RESPONSE_UNDEFINED ; } impl Default for WifiConfigApResponse { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavDataStream { MAV_DATA_STREAM_ALL = 0 , MAV_DATA_STREAM_RAW_SENSORS = 1 , MAV_DATA_STREAM_EXTENDED_STATUS = 2 , MAV_DATA_STREAM_RC_CHANNELS = 3 , MAV_DATA_STREAM_RAW_CONTROLLER = 4 , MAV_DATA_STREAM_POSITION = 6 , MAV_DATA_STREAM_EXTRA1 = 10 , MAV_DATA_STREAM_EXTRA2 = 11 , MAV_DATA_STREAM_EXTRA3 = 12 , } impl MavDataStream { pub const DEFAULT : Self = Self :: MAV_DATA_STREAM_ALL ; } impl Default for MavDataStream { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryChargeState { MAV_BATTERY_CHARGE_STATE_UNDEFINED = 0 , MAV_BATTERY_CHARGE_STATE_OK = 1 , MAV_BATTERY_CHARGE_STATE_LOW = 2 , MAV_BATTERY_CHARGE_STATE_CRITICAL = 3 , MAV_BATTERY_CHARGE_STATE_EMERGENCY = 4 , MAV_BATTERY_CHARGE_STATE_FAILED = 5 , MAV_BATTERY_CHARGE_STATE_UNHEALTHY = 6 , MAV_BATTERY_CHARGE_STATE_CHARGING = 7 , } impl MavBatteryChargeState { pub const DEFAULT : Self = Self :: MAV_BATTERY_CHARGE_STATE_UNDEFINED ; } impl Default for MavBatteryChargeState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum WifiConfigApMode { WIFI_CONFIG_AP_MODE_UNDEFINED = 0 , WIFI_CONFIG_AP_MODE_AP = 1 , WIFI_CONFIG_AP_MODE_STATION = 2 , WIFI_CONFIG_AP_MODE_DISABLED = 3 , } impl WifiConfigApMode { pub const DEFAULT : Self = Self :: WIFI_CONFIG_AP_MODE_UNDEFINED ; } impl Default for WifiConfigApMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AdsbAltitudeType { ADSB_ALTITUDE_TYPE_PRESSURE_QNH = 0 , ADSB_ALTITUDE_TYPE_GEOMETRIC = 1 , } impl AdsbAltitudeType { pub const DEFAULT : Self = Self :: ADSB_ALTITUDE_TYPE_PRESSURE_QNH ; } impl Default for AdsbAltitudeType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalManagerCapFlags : u32 { const GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT = 1 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_NEUTRAL = 2 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_AXIS = 4 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_FOLLOW = 8 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_LOCK = 16 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_AXIS = 32 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_FOLLOW = 64 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_LOCK = 128 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_AXIS = 256 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_FOLLOW = 512 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_LOCK = 1024 ; const GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_INFINITE_YAW = 2048 ; const GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME = 4096 ; const GIMBAL_MANAGER_CAP_FLAGS_HAS_RC_INPUTS = 8192 ; const GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_LOCAL = 65536 ; const GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_GLOBAL = 131072 ; } } impl GimbalManagerCapFlags { pub const DEFAULT : Self = Self :: GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT ; } impl Default for GimbalManagerCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCollisionSrc { MAV_COLLISION_SRC_ADSB = 0 , MAV_COLLISION_SRC_MAVLINK_GPS_GLOBAL_INT = 1 , } impl MavCollisionSrc { pub const DEFAULT : Self = Self :: MAV_COLLISION_SRC_ADSB ; } impl Default for MavCollisionSrc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraTrackingStatusFlags { CAMERA_TRACKING_STATUS_FLAGS_IDLE = 0 , CAMERA_TRACKING_STATUS_FLAGS_ACTIVE = 1 , CAMERA_TRACKING_STATUS_FLAGS_ERROR = 2 , } impl CameraTrackingStatusFlags { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_STATUS_FLAGS_IDLE ; } impl Default for CameraTrackingStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavDoRepositionFlags { MAV_DO_REPOSITION_FLAGS_CHANGE_MODE = 1 , } impl MavDoRepositionFlags { pub const DEFAULT : Self = Self :: MAV_DO_REPOSITION_FLAGS_CHANGE_MODE ; } impl Default for MavDoRepositionFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CellularNetworkFailedReason { CELLULAR_NETWORK_FAILED_REASON_NONE = 0 , CELLULAR_NETWORK_FAILED_REASON_UNKNOWN = 1 , CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING = 2 , CELLULAR_NETWORK_FAILED_REASON_SIM_ERROR = 3 , } impl CellularNetworkFailedReason { pub const DEFAULT : Self = Self :: CELLULAR_NETWORK_FAILED_REASON_NONE ; } impl Default for CellularNetworkFailedReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidTimeAcc { MAV_ODID_TIME_ACC_UNKNOWN = 0 , MAV_ODID_TIME_ACC_0_1_SECOND = 1 , MAV_ODID_TIME_ACC_0_2_SECOND = 2 , MAV_ODID_TIME_ACC_0_3_SECOND = 3 , MAV_ODID_TIME_ACC_0_4_SECOND = 4 , MAV_ODID_TIME_ACC_0_5_SECOND = 5 , MAV_ODID_TIME_ACC_0_6_SECOND = 6 , MAV_ODID_TIME_ACC_0_7_SECOND = 7 , MAV_ODID_TIME_ACC_0_8_SECOND = 8 , MAV_ODID_TIME_ACC_0_9_SECOND = 9 , MAV_ODID_TIME_ACC_1_0_SECOND = 10 , MAV_ODID_TIME_ACC_1_1_SECOND = 11 , MAV_ODID_TIME_ACC_1_2_SECOND = 12 , MAV_ODID_TIME_ACC_1_3_SECOND = 13 , MAV_ODID_TIME_ACC_1_4_SECOND = 14 , MAV_ODID_TIME_ACC_1_5_SECOND = 15 , } impl MavOdidTimeAcc { pub const DEFAULT : Self = Self :: MAV_ODID_TIME_ACC_UNKNOWN ; } impl Default for MavOdidTimeAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidSpeedAcc { MAV_ODID_SPEED_ACC_UNKNOWN = 0 , MAV_ODID_SPEED_ACC_10_METERS_PER_SECOND = 1 , MAV_ODID_SPEED_ACC_3_METERS_PER_SECOND = 2 , MAV_ODID_SPEED_ACC_1_METERS_PER_SECOND = 3 , MAV_ODID_SPEED_ACC_0_3_METERS_PER_SECOND = 4 , } impl MavOdidSpeedAcc { pub const DEFAULT : Self = Self :: MAV_ODID_SPEED_ACC_UNKNOWN ; } impl Default for MavOdidSpeedAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidStatus { MAV_ODID_STATUS_UNDECLARED = 0 , MAV_ODID_STATUS_GROUND = 1 , MAV_ODID_STATUS_AIRBORNE = 2 , MAV_ODID_STATUS_EMERGENCY = 3 , MAV_ODID_STATUS_REMOTE_ID_SYSTEM_FAILURE = 4 , } impl MavOdidStatus { pub const DEFAULT : Self = Self :: MAV_ODID_STATUS_UNDECLARED ; } impl Default for MavOdidStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MagCalStatus { MAG_CAL_NOT_STARTED = 0 , MAG_CAL_WAITING_TO_START = 1 , MAG_CAL_RUNNING_STEP_ONE = 2 , MAG_CAL_RUNNING_STEP_TWO = 3 , MAG_CAL_SUCCESS = 4 , MAG_CAL_FAILED = 5 , MAG_CAL_BAD_ORIENTATION = 6 , MAG_CAL_BAD_RADIUS = 7 , } impl MagCalStatus { pub const DEFAULT : Self = Self :: MAG_CAL_NOT_STARTED ; } impl Default for MagCalStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavType { MAV_TYPE_GENERIC = 0 , MAV_TYPE_FIXED_WING = 1 , MAV_TYPE_QUADROTOR = 2 , MAV_TYPE_COAXIAL = 3 , MAV_TYPE_HELICOPTER = 4 , MAV_TYPE_ANTENNA_TRACKER = 5 , MAV_TYPE_GCS = 6 , MAV_TYPE_AIRSHIP = 7 , MAV_TYPE_FREE_BALLOON = 8 , MAV_TYPE_ROCKET = 9 , MAV_TYPE_GROUND_ROVER = 10 , MAV_TYPE_SURFACE_BOAT = 11 , MAV_TYPE_SUBMARINE = 12 , MAV_TYPE_HEXAROTOR = 13 , MAV_TYPE_OCTOROTOR = 14 , MAV_TYPE_TRICOPTER = 15 , MAV_TYPE_FLAPPING_WING = 16 , MAV_TYPE_KITE = 17 , MAV_TYPE_ONBOARD_CONTROLLER = 18 , MAV_TYPE_VTOL_TAILSITTER_DUOROTOR = 19 , MAV_TYPE_VTOL_TAILSITTER_QUADROTOR = 20 , MAV_TYPE_VTOL_TILTROTOR = 21 , MAV_TYPE_VTOL_FIXEDROTOR = 22 , MAV_TYPE_VTOL_TAILSITTER = 23 , MAV_TYPE_VTOL_TILTWING = 24 , MAV_TYPE_VTOL_RESERVED5 = 25 , MAV_TYPE_GIMBAL = 26 , MAV_TYPE_ADSB = 27 , MAV_TYPE_PARAFOIL = 28 , MAV_TYPE_DODECAROTOR = 29 , MAV_TYPE_CAMERA = 30 , MAV_TYPE_CHARGING_STATION = 31 , MAV_TYPE_FLARM = 32 , MAV_TYPE_SERVO = 33 , MAV_TYPE_ODID = 34 , MAV_TYPE_DECAROTOR = 35 , MAV_TYPE_BATTERY = 36 , MAV_TYPE_PARACHUTE = 37 , MAV_TYPE_LOG = 38 , MAV_TYPE_OSD = 39 , MAV_TYPE_IMU = 40 , MAV_TYPE_GPS = 41 , MAV_TYPE_WINCH = 42 , } impl MavType { pub const DEFAULT : Self = Self :: MAV_TYPE_GENERIC ; } impl Default for MavType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FenceBreach { FENCE_BREACH_NONE = 0 , FENCE_BREACH_MINALT = 1 , FENCE_BREACH_MAXALT = 2 , FENCE_BREACH_BOUNDARY = 3 , } impl FenceBreach { pub const DEFAULT : Self = Self :: FENCE_BREACH_NONE ; } impl Default for FenceBreach { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AisNavStatus { UNDER_WAY = 0 , AIS_NAV_ANCHORED = 1 , AIS_NAV_UN_COMMANDED = 2 , AIS_NAV_RESTRICTED_MANOEUVERABILITY = 3 , AIS_NAV_DRAUGHT_CONSTRAINED = 4 , AIS_NAV_MOORED = 5 , AIS_NAV_AGROUND = 6 , AIS_NAV_FISHING = 7 , AIS_NAV_SAILING = 8 , AIS_NAV_RESERVED_HSC = 9 , AIS_NAV_RESERVED_WIG = 10 , AIS_NAV_RESERVED_1 = 11 , AIS_NAV_RESERVED_2 = 12 , AIS_NAV_RESERVED_3 = 13 , AIS_NAV_AIS_SART = 14 , AIS_NAV_UNKNOWN = 15 , } impl AisNavStatus { pub const DEFAULT : Self = Self :: UNDER_WAY ; } impl Default for AisNavStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryFault { MAV_BATTERY_FAULT_DEEP_DISCHARGE = 1 , MAV_BATTERY_FAULT_SPIKES = 2 , MAV_BATTERY_FAULT_CELL_FAIL = 4 , MAV_BATTERY_FAULT_OVER_CURRENT = 8 , MAV_BATTERY_FAULT_OVER_TEMPERATURE = 16 , MAV_BATTERY_FAULT_UNDER_TEMPERATURE = 32 , MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE = 64 , MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE = 128 , BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION = 256 , } impl MavBatteryFault { pub const DEFAULT : Self = Self :: MAV_BATTERY_FAULT_DEEP_DISCHARGE ; } impl Default for MavBatteryFault { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidArmStatus { MAV_ODID_ARM_STATUS_GOOD_TO_ARM = 0 , MAV_ODID_ARM_STATUS_PRE_ARM_FAIL_GENERIC = 1 , } impl MavOdidArmStatus { pub const DEFAULT : Self = Self :: MAV_ODID_ARM_STATUS_GOOD_TO_ARM ; } impl Default for MavOdidArmStatus { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceCapFlags : u16 { const GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT = 1 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL = 2 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS = 4 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW = 8 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK = 16 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS = 32 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW = 64 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK = 128 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS = 256 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW = 512 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK = 1024 ; const GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW = 2048 ; const GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME = 4096 ; const GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS = 8192 ; } } impl GimbalDeviceCapFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT ; } impl Default for GimbalDeviceCapFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum PreflightStorageMissionAction { MISSION_READ_PERSISTENT = 0 , MISSION_WRITE_PERSISTENT = 1 , MISSION_RESET_DEFAULT = 2 , } impl PreflightStorageMissionAction { pub const DEFAULT : Self = Self :: MISSION_READ_PERSISTENT ; } impl Default for PreflightStorageMissionAction { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HighresImuUpdatedFlags : u16 { const HIGHRES_IMU_UPDATED_NONE = 0 ; const HIGHRES_IMU_UPDATED_XACC = 1 ; const HIGHRES_IMU_UPDATED_YACC = 2 ; const HIGHRES_IMU_UPDATED_ZACC = 4 ; const HIGHRES_IMU_UPDATED_XGYRO = 8 ; const HIGHRES_IMU_UPDATED_YGYRO = 16 ; const HIGHRES_IMU_UPDATED_ZGYRO = 32 ; const HIGHRES_IMU_UPDATED_XMAG = 64 ; const HIGHRES_IMU_UPDATED_YMAG = 128 ; const HIGHRES_IMU_UPDATED_ZMAG = 256 ; const HIGHRES_IMU_UPDATED_ABS_PRESSURE = 512 ; const HIGHRES_IMU_UPDATED_DIFF_PRESSURE = 1024 ; const HIGHRES_IMU_UPDATED_PRESSURE_ALT = 2048 ; const HIGHRES_IMU_UPDATED_TEMPERATURE = 4096 ; const HIGHRES_IMU_UPDATED_ALL = 65535 ; } } impl HighresImuUpdatedFlags { pub const DEFAULT : Self = Self :: HIGHRES_IMU_UPDATED_NONE ; } impl Default for HighresImuUpdatedFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraMode { CAMERA_MODE_IMAGE = 0 , CAMERA_MODE_VIDEO = 1 , CAMERA_MODE_IMAGE_SURVEY = 2 , } impl CameraMode { pub const DEFAULT : Self = Self :: CAMERA_MODE_IMAGE ; } impl Default for CameraMode { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SerialControlFlag : u8 { const SERIAL_CONTROL_FLAG_REPLY = 1 ; const SERIAL_CONTROL_FLAG_RESPOND = 2 ; const SERIAL_CONTROL_FLAG_EXCLUSIVE = 4 ; const SERIAL_CONTROL_FLAG_BLOCKING = 8 ; const SERIAL_CONTROL_FLAG_MULTI = 16 ; } } impl SerialControlFlag { pub const DEFAULT : Self = Self :: SERIAL_CONTROL_FLAG_REPLY ; } impl Default for SerialControlFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum AdsbEmitterType { ADSB_EMITTER_TYPE_NO_INFO = 0 , ADSB_EMITTER_TYPE_LIGHT = 1 , ADSB_EMITTER_TYPE_SMALL = 2 , ADSB_EMITTER_TYPE_LARGE = 3 , ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE = 4 , ADSB_EMITTER_TYPE_HEAVY = 5 , ADSB_EMITTER_TYPE_HIGHLY_MANUV = 6 , ADSB_EMITTER_TYPE_ROTOCRAFT = 7 , ADSB_EMITTER_TYPE_UNASSIGNED = 8 , ADSB_EMITTER_TYPE_GLIDER = 9 , ADSB_EMITTER_TYPE_LIGHTER_AIR = 10 , ADSB_EMITTER_TYPE_PARACHUTE = 11 , ADSB_EMITTER_TYPE_ULTRA_LIGHT = 12 , ADSB_EMITTER_TYPE_UNASSIGNED2 = 13 , ADSB_EMITTER_TYPE_UAV = 14 , ADSB_EMITTER_TYPE_SPACE = 15 , ADSB_EMITTER_TYPE_UNASSGINED3 = 16 , ADSB_EMITTER_TYPE_EMERGENCY_SURFACE = 17 , ADSB_EMITTER_TYPE_SERVICE_SURFACE = 18 , ADSB_EMITTER_TYPE_POINT_OBSTACLE = 19 , } impl AdsbEmitterType { pub const DEFAULT : Self = Self :: ADSB_EMITTER_TYPE_NO_INFO ; } impl Default for AdsbEmitterType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum PrecisionLandMode { PRECISION_LAND_MODE_DISABLED = 0 , PRECISION_LAND_MODE_OPPORTUNISTIC = 1 , PRECISION_LAND_MODE_REQUIRED = 2 , } impl PrecisionLandMode { pub const DEFAULT : Self = Self :: PRECISION_LAND_MODE_DISABLED ; } impl Default for PrecisionLandMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CameraTrackingTargetData { CAMERA_TRACKING_TARGET_DATA_NONE = 0 , CAMERA_TRACKING_TARGET_DATA_EMBEDDED = 1 , CAMERA_TRACKING_TARGET_DATA_RENDERED = 2 , CAMERA_TRACKING_TARGET_DATA_IN_STATUS = 4 , } impl CameraTrackingTargetData { pub const DEFAULT : Self = Self :: CAMERA_TRACKING_TARGET_DATA_NONE ; } impl Default for CameraTrackingTargetData { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum StorageStatus { STORAGE_STATUS_EMPTY = 0 , STORAGE_STATUS_UNFORMATTED = 1 , STORAGE_STATUS_READY = 2 , STORAGE_STATUS_NOT_SUPPORTED = 3 , } impl StorageStatus { pub const DEFAULT : Self = Self :: STORAGE_STATUS_EMPTY ; } impl Default for StorageStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavState { MAV_STATE_UNINIT = 0 , MAV_STATE_BOOT = 1 , MAV_STATE_CALIBRATING = 2 , MAV_STATE_STANDBY = 3 , MAV_STATE_ACTIVE = 4 , MAV_STATE_CRITICAL = 5 , MAV_STATE_EMERGENCY = 6 , MAV_STATE_POWEROFF = 7 , MAV_STATE_FLIGHT_TERMINATION = 8 , } impl MavState { pub const DEFAULT : Self = Self :: MAV_STATE_UNINIT ; } impl Default for MavState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavArmAuthDeniedReason { MAV_ARM_AUTH_DENIED_REASON_GENERIC = 0 , MAV_ARM_AUTH_DENIED_REASON_NONE = 1 , MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT = 2 , MAV_ARM_AUTH_DENIED_REASON_TIMEOUT = 3 , MAV_ARM_AUTH_DENIED_REASON_AIRSPACE_IN_USE = 4 , MAV_ARM_AUTH_DENIED_REASON_BAD_WEATHER = 5 , } impl MavArmAuthDeniedReason { pub const DEFAULT : Self = Self :: MAV_ARM_AUTH_DENIED_REASON_GENERIC ; } impl Default for MavArmAuthDeniedReason { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EstimatorStatusFlags : u16 { const ESTIMATOR_ATTITUDE = 1 ; const ESTIMATOR_VELOCITY_HORIZ = 2 ; const ESTIMATOR_VELOCITY_VERT = 4 ; const ESTIMATOR_POS_HORIZ_REL = 8 ; const ESTIMATOR_POS_HORIZ_ABS = 16 ; const ESTIMATOR_POS_VERT_ABS = 32 ; const ESTIMATOR_POS_VERT_AGL = 64 ; const ESTIMATOR_CONST_POS_MODE = 128 ; const ESTIMATOR_PRED_POS_HORIZ_REL = 256 ; const ESTIMATOR_PRED_POS_HORIZ_ABS = 512 ; const ESTIMATOR_GPS_GLITCH = 1024 ; const ESTIMATOR_ACCEL_ERROR = 2048 ; } } impl EstimatorStatusFlags { pub const DEFAULT : Self = Self :: ESTIMATOR_ATTITUDE ; } impl Default for EstimatorStatusFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum OrbitYawBehaviour { ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER = 0 , ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING = 1 , ORBIT_YAW_BEHAVIOUR_UNCONTROLLED = 2 , ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE = 3 , ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED = 4 , } impl OrbitYawBehaviour { pub const DEFAULT : Self = Self :: ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER ; } impl Default for OrbitYawBehaviour { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavSysStatusSensorExtended { MAV_SYS_STATUS_RECOVERY_SYSTEM = 1 , } impl MavSysStatusSensorExtended { pub const DEFAULT : Self = Self :: MAV_SYS_STATUS_RECOVERY_SYSTEM ; } impl Default for MavSysStatusSensorExtended { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavSeverity { MAV_SEVERITY_EMERGENCY = 0 , MAV_SEVERITY_ALERT = 1 , MAV_SEVERITY_CRITICAL = 2 , MAV_SEVERITY_ERROR = 3 , MAV_SEVERITY_WARNING = 4 , MAV_SEVERITY_NOTICE = 5 , MAV_SEVERITY_INFO = 6 , MAV_SEVERITY_DEBUG = 7 , } impl MavSeverity { pub const DEFAULT : Self = Self :: MAV_SEVERITY_EMERGENCY ; } impl Default for MavSeverity { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCmd { MAV_CMD_NAV_WAYPOINT = 16 , MAV_CMD_NAV_LOITER_UNLIM = 17 , MAV_CMD_NAV_LOITER_TURNS = 18 , MAV_CMD_NAV_LOITER_TIME = 19 , MAV_CMD_NAV_RETURN_TO_LAUNCH = 20 , MAV_CMD_NAV_LAND = 21 , MAV_CMD_NAV_TAKEOFF = 22 , MAV_CMD_NAV_LAND_LOCAL = 23 , MAV_CMD_NAV_TAKEOFF_LOCAL = 24 , MAV_CMD_NAV_FOLLOW = 25 , MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT = 30 , MAV_CMD_NAV_LOITER_TO_ALT = 31 , MAV_CMD_DO_FOLLOW = 32 , MAV_CMD_DO_FOLLOW_REPOSITION = 33 , MAV_CMD_DO_ORBIT = 34 , MAV_CMD_NAV_ROI = 80 , MAV_CMD_NAV_PATHPLANNING = 81 , MAV_CMD_NAV_SPLINE_WAYPOINT = 82 , MAV_CMD_NAV_VTOL_TAKEOFF = 84 , MAV_CMD_NAV_VTOL_LAND = 85 , MAV_CMD_NAV_GUIDED_ENABLE = 92 , MAV_CMD_NAV_DELAY = 93 , MAV_CMD_NAV_PAYLOAD_PLACE = 94 , MAV_CMD_NAV_LAST = 95 , MAV_CMD_CONDITION_DELAY = 112 , MAV_CMD_CONDITION_CHANGE_ALT = 113 , MAV_CMD_CONDITION_DISTANCE = 114 , MAV_CMD_CONDITION_YAW = 115 , MAV_CMD_CONDITION_LAST = 159 , MAV_CMD_DO_SET_MODE = 176 , MAV_CMD_DO_JUMP = 177 , MAV_CMD_DO_CHANGE_SPEED = 178 , MAV_CMD_DO_SET_HOME = 179 , MAV_CMD_DO_SET_PARAMETER = 180 , MAV_CMD_DO_SET_RELAY = 181 , MAV_CMD_DO_REPEAT_RELAY = 182 , MAV_CMD_DO_SET_SERVO = 183 , MAV_CMD_DO_REPEAT_SERVO = 184 , MAV_CMD_DO_FLIGHTTERMINATION = 185 , MAV_CMD_DO_CHANGE_ALTITUDE = 186 , MAV_CMD_DO_SET_ACTUATOR = 187 , MAV_CMD_DO_LAND_START = 189 , MAV_CMD_DO_RALLY_LAND = 190 , MAV_CMD_DO_GO_AROUND = 191 , MAV_CMD_DO_REPOSITION = 192 , MAV_CMD_DO_PAUSE_CONTINUE = 193 , MAV_CMD_DO_SET_REVERSE = 194 , MAV_CMD_DO_SET_ROI_LOCATION = 195 , MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET = 196 , MAV_CMD_DO_SET_ROI_NONE = 197 , MAV_CMD_DO_SET_ROI_SYSID = 198 , MAV_CMD_DO_CONTROL_VIDEO = 200 , MAV_CMD_DO_SET_ROI = 201 , MAV_CMD_DO_DIGICAM_CONFIGURE = 202 , MAV_CMD_DO_DIGICAM_CONTROL = 203 , MAV_CMD_DO_MOUNT_CONFIGURE = 204 , MAV_CMD_DO_MOUNT_CONTROL = 205 , MAV_CMD_DO_SET_CAM_TRIGG_DIST = 206 , MAV_CMD_DO_FENCE_ENABLE = 207 , MAV_CMD_DO_PARACHUTE = 208 , MAV_CMD_DO_MOTOR_TEST = 209 , MAV_CMD_DO_INVERTED_FLIGHT = 210 , MAV_CMD_DO_GRIPPER = 211 , MAV_CMD_DO_AUTOTUNE_ENABLE = 212 , MAV_CMD_NAV_SET_YAW_SPEED = 213 , MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL = 214 , MAV_CMD_DO_MOUNT_CONTROL_QUAT = 220 , MAV_CMD_DO_GUIDED_MASTER = 221 , MAV_CMD_DO_GUIDED_LIMITS = 222 , MAV_CMD_DO_ENGINE_CONTROL = 223 , MAV_CMD_DO_SET_MISSION_CURRENT = 224 , MAV_CMD_DO_LAST = 240 , MAV_CMD_PREFLIGHT_CALIBRATION = 241 , MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS = 242 , MAV_CMD_PREFLIGHT_UAVCAN = 243 , MAV_CMD_PREFLIGHT_STORAGE = 245 , MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN = 246 , MAV_CMD_OVERRIDE_GOTO = 252 , MAV_CMD_OBLIQUE_SURVEY = 260 , MAV_CMD_MISSION_START = 300 , MAV_CMD_ACTUATOR_TEST = 310 , MAV_CMD_CONFIGURE_ACTUATOR = 311 , MAV_CMD_COMPONENT_ARM_DISARM = 400 , MAV_CMD_RUN_PREARM_CHECKS = 401 , MAV_CMD_ILLUMINATOR_ON_OFF = 405 , MAV_CMD_GET_HOME_POSITION = 410 , MAV_CMD_INJECT_FAILURE = 420 , MAV_CMD_START_RX_PAIR = 500 , MAV_CMD_GET_MESSAGE_INTERVAL = 510 , MAV_CMD_SET_MESSAGE_INTERVAL = 511 , MAV_CMD_REQUEST_MESSAGE = 512 , MAV_CMD_REQUEST_PROTOCOL_VERSION = 519 , MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES = 520 , MAV_CMD_REQUEST_CAMERA_INFORMATION = 521 , MAV_CMD_REQUEST_CAMERA_SETTINGS = 522 , MAV_CMD_REQUEST_STORAGE_INFORMATION = 525 , MAV_CMD_STORAGE_FORMAT = 526 , MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS = 527 , MAV_CMD_REQUEST_FLIGHT_INFORMATION = 528 , MAV_CMD_RESET_CAMERA_SETTINGS = 529 , MAV_CMD_SET_CAMERA_MODE = 530 , MAV_CMD_SET_CAMERA_ZOOM = 531 , MAV_CMD_SET_CAMERA_FOCUS = 532 , MAV_CMD_SET_STORAGE_USAGE = 533 , MAV_CMD_JUMP_TAG = 600 , MAV_CMD_DO_JUMP_TAG = 601 , MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW = 1000 , MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE = 1001 , MAV_CMD_IMAGE_START_CAPTURE = 2000 , MAV_CMD_IMAGE_STOP_CAPTURE = 2001 , MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE = 2002 , MAV_CMD_DO_TRIGGER_CONTROL = 2003 , MAV_CMD_CAMERA_TRACK_POINT = 2004 , MAV_CMD_CAMERA_TRACK_RECTANGLE = 2005 , MAV_CMD_CAMERA_STOP_TRACKING = 2010 , MAV_CMD_VIDEO_START_CAPTURE = 2500 , MAV_CMD_VIDEO_STOP_CAPTURE = 2501 , MAV_CMD_VIDEO_START_STREAMING = 2502 , MAV_CMD_VIDEO_STOP_STREAMING = 2503 , MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION = 2504 , MAV_CMD_REQUEST_VIDEO_STREAM_STATUS = 2505 , MAV_CMD_LOGGING_START = 2510 , MAV_CMD_LOGGING_STOP = 2511 , MAV_CMD_AIRFRAME_CONFIGURATION = 2520 , MAV_CMD_CONTROL_HIGH_LATENCY = 2600 , MAV_CMD_PANORAMA_CREATE = 2800 , MAV_CMD_DO_VTOL_TRANSITION = 3000 , MAV_CMD_ARM_AUTHORIZATION_REQUEST = 3001 , MAV_CMD_SET_GUIDED_SUBMODE_STANDARD = 4000 , MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE = 4001 , MAV_CMD_CONDITION_GATE = 4501 , MAV_CMD_NAV_FENCE_RETURN_POINT = 5000 , MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION = 5001 , MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION = 5002 , MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION = 5003 , MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION = 5004 , MAV_CMD_NAV_RALLY_POINT = 5100 , MAV_CMD_UAVCAN_GET_NODE_INFO = 5200 , MAV_CMD_DO_ADSB_OUT_IDENT = 10001 , MAV_CMD_PAYLOAD_PREPARE_DEPLOY = 30001 , MAV_CMD_PAYLOAD_CONTROL_DEPLOY = 30002 , MAV_CMD_FIXED_MAG_CAL_YAW = 42006 , MAV_CMD_DO_WINCH = 42600 , MAV_CMD_WAYPOINT_USER_1 = 31000 , MAV_CMD_WAYPOINT_USER_2 = 31001 , MAV_CMD_WAYPOINT_USER_3 = 31002 , MAV_CMD_WAYPOINT_USER_4 = 31003 , MAV_CMD_WAYPOINT_USER_5 = 31004 , MAV_CMD_SPATIAL_USER_1 = 31005 , MAV_CMD_SPATIAL_USER_2 = 31006 , MAV_CMD_SPATIAL_USER_3 = 31007 , MAV_CMD_SPATIAL_USER_4 = 31008 , MAV_CMD_SPATIAL_USER_5 = 31009 , MAV_CMD_USER_1 = 31010 , MAV_CMD_USER_2 = 31011 , MAV_CMD_USER_3 = 31012 , MAV_CMD_USER_4 = 31013 , MAV_CMD_USER_5 = 31014 , MAV_CMD_CAN_FORWARD = 32000 , } impl MavCmd { pub const DEFAULT : Self = Self :: MAV_CMD_NAV_WAYPOINT ; } impl Default for MavCmd { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMountMode { MAV_MOUNT_MODE_RETRACT = 0 , MAV_MOUNT_MODE_NEUTRAL = 1 , MAV_MOUNT_MODE_MAVLINK_TARGETING = 2 , MAV_MOUNT_MODE_RC_TARGETING = 3 , MAV_MOUNT_MODE_GPS_POINT = 4 , MAV_MOUNT_MODE_SYSID_TARGET = 5 , MAV_MOUNT_MODE_HOME_LOCATION = 6 , } impl MavMountMode { pub const DEFAULT : Self = Self :: MAV_MOUNT_MODE_RETRACT ; } impl Default for MavMountMode { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidOperatorIdType { MAV_ODID_OPERATOR_ID_TYPE_CAA = 0 , } impl MavOdidOperatorIdType { pub const DEFAULT : Self = Self :: MAV_ODID_OPERATOR_ID_TYPE_CAA ; } impl Default for MavOdidOperatorIdType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidIdType { MAV_ODID_ID_TYPE_NONE = 0 , MAV_ODID_ID_TYPE_SERIAL_NUMBER = 1 , MAV_ODID_ID_TYPE_CAA_REGISTRATION_ID = 2 , MAV_ODID_ID_TYPE_UTM_ASSIGNED_UUID = 3 , MAV_ODID_ID_TYPE_SPECIFIC_SESSION_ID = 4 , } impl MavOdidIdType { pub const DEFAULT : Self = Self :: MAV_ODID_ID_TYPE_NONE ; } impl Default for MavOdidIdType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum ActuatorConfiguration { ACTUATOR_CONFIGURATION_NONE = 0 , ACTUATOR_CONFIGURATION_BEEP = 1 , ACTUATOR_CONFIGURATION_3D_MODE_ON = 2 , ACTUATOR_CONFIGURATION_3D_MODE_OFF = 3 , ACTUATOR_CONFIGURATION_SPIN_DIRECTION1 = 4 , ACTUATOR_CONFIGURATION_SPIN_DIRECTION2 = 5 , } impl ActuatorConfiguration { pub const DEFAULT : Self = Self :: ACTUATOR_CONFIGURATION_NONE ; } impl Default for ActuatorConfiguration { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavEventErrorReason { MAV_EVENT_ERROR_REASON_UNAVAILABLE = 0 , } impl MavEventErrorReason { pub const DEFAULT : Self = Self :: MAV_EVENT_ERROR_REASON_UNAVAILABLE ; } impl Default for MavEventErrorReason { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum StorageUsageFlag { STORAGE_USAGE_FLAG_SET = 1 , STORAGE_USAGE_FLAG_PHOTO = 2 , STORAGE_USAGE_FLAG_VIDEO = 4 , STORAGE_USAGE_FLAG_LOGS = 8 , } impl StorageUsageFlag { pub const DEFAULT : Self = Self :: STORAGE_USAGE_FLAG_SET ; } impl Default for StorageUsageFlag { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavPowerStatus : u16 { const MAV_POWER_STATUS_BRICK_VALID = 1 ; const MAV_POWER_STATUS_SERVO_VALID = 2 ; const MAV_POWER_STATUS_USB_CONNECTED = 4 ; const MAV_POWER_STATUS_PERIPH_OVERCURRENT = 8 ; const MAV_POWER_STATUS_PERIPH_HIPOWER_OVERCURRENT = 16 ; const MAV_POWER_STATUS_CHANGED = 32 ; } } impl MavPowerStatus { pub const DEFAULT : Self = Self :: MAV_POWER_STATUS_BRICK_VALID ; } impl Default for MavPowerStatus { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum CompMetadataType { COMP_METADATA_TYPE_GENERAL = 0 , COMP_METADATA_TYPE_PARAMETER = 1 , COMP_METADATA_TYPE_COMMANDS = 2 , COMP_METADATA_TYPE_PERIPHERALS = 3 , COMP_METADATA_TYPE_EVENTS = 4 , COMP_METADATA_TYPE_ACTUATORS = 5 , } impl CompMetadataType { pub const DEFAULT : Self = Self :: COMP_METADATA_TYPE_GENERAL ; } impl Default for CompMetadataType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavCollisionThreatLevel { MAV_COLLISION_THREAT_LEVEL_NONE = 0 , MAV_COLLISION_THREAT_LEVEL_LOW = 1 , MAV_COLLISION_THREAT_LEVEL_HIGH = 2 , } impl MavCollisionThreatLevel { pub const DEFAULT : Self = Self :: MAV_COLLISION_THREAT_LEVEL_NONE ; } impl Default for MavCollisionThreatLevel { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidAuthType { MAV_ODID_AUTH_TYPE_NONE = 0 , MAV_ODID_AUTH_TYPE_UAS_ID_SIGNATURE = 1 , MAV_ODID_AUTH_TYPE_OPERATOR_ID_SIGNATURE = 2 , MAV_ODID_AUTH_TYPE_MESSAGE_SET_SIGNATURE = 3 , MAV_ODID_AUTH_TYPE_NETWORK_REMOTE_ID = 4 , MAV_ODID_AUTH_TYPE_SPECIFIC_AUTHENTICATION = 5 , } impl MavOdidAuthType { pub const DEFAULT : Self = Self :: MAV_ODID_AUTH_TYPE_NONE ; } impl Default for MavOdidAuthType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidDescType { MAV_ODID_DESC_TYPE_TEXT = 0 , MAV_ODID_DESC_TYPE_EMERGENCY = 1 , MAV_ODID_DESC_TYPE_EXTENDED_STATUS = 2 , } impl MavOdidDescType { pub const DEFAULT : Self = Self :: MAV_ODID_DESC_TYPE_TEXT ; } impl Default for MavOdidDescType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum ParachuteAction { PARACHUTE_DISABLE = 0 , PARACHUTE_ENABLE = 1 , PARACHUTE_RELEASE = 2 , } impl ParachuteAction { pub const DEFAULT : Self = Self :: PARACHUTE_DISABLE ; } impl Default for ParachuteAction { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AttitudeTargetTypemask : u8 { const ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE = 1 ; const ATTITUDE_TARGET_TYPEMASK_BODY_PITCH_RATE_IGNORE = 2 ; const ATTITUDE_TARGET_TYPEMASK_BODY_YAW_RATE_IGNORE = 4 ; const ATTITUDE_TARGET_TYPEMASK_THRUST_BODY_SET = 32 ; const ATTITUDE_TARGET_TYPEMASK_THROTTLE_IGNORE = 64 ; const ATTITUDE_TARGET_TYPEMASK_ATTITUDE_IGNORE = 128 ; } } impl AttitudeTargetTypemask { pub const DEFAULT : Self = Self :: ATTITUDE_TARGET_TYPEMASK_BODY_ROLL_RATE_IGNORE ; } impl Default for AttitudeTargetTypemask { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FenceMitigate { FENCE_MITIGATE_UNKNOWN = 0 , FENCE_MITIGATE_NONE = 1 , FENCE_MITIGATE_VEL_LIMIT = 2 , } impl FenceMitigate { pub const DEFAULT : Self = Self :: FENCE_MITIGATE_UNKNOWN ; } impl Default for FenceMitigate { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UavionixAdsbOutRfSelect : u8 { const UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY = 0 ; const UAVIONIX_ADSB_OUT_RF_SELECT_RX_ENABLED = 1 ; const UAVIONIX_ADSB_OUT_RF_SELECT_TX_ENABLED = 2 ; } } impl UavionixAdsbOutRfSelect { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_RF_SELECT_STANDBY ; } impl Default for UavionixAdsbOutRfSelect { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavFrame { MAV_FRAME_GLOBAL = 0 , MAV_FRAME_LOCAL_NED = 1 , MAV_FRAME_MISSION = 2 , MAV_FRAME_GLOBAL_RELATIVE_ALT = 3 , MAV_FRAME_LOCAL_ENU = 4 , MAV_FRAME_GLOBAL_INT = 5 , MAV_FRAME_GLOBAL_RELATIVE_ALT_INT = 6 , MAV_FRAME_LOCAL_OFFSET_NED = 7 , MAV_FRAME_BODY_NED = 8 , MAV_FRAME_BODY_OFFSET_NED = 9 , MAV_FRAME_GLOBAL_TERRAIN_ALT = 10 , MAV_FRAME_GLOBAL_TERRAIN_ALT_INT = 11 , MAV_FRAME_BODY_FRD = 12 , MAV_FRAME_RESERVED_13 = 13 , MAV_FRAME_RESERVED_14 = 14 , MAV_FRAME_RESERVED_15 = 15 , MAV_FRAME_RESERVED_16 = 16 , MAV_FRAME_RESERVED_17 = 17 , MAV_FRAME_RESERVED_18 = 18 , MAV_FRAME_RESERVED_19 = 19 , MAV_FRAME_LOCAL_FRD = 20 , MAV_FRAME_LOCAL_FLU = 21 , } impl MavFrame { pub const DEFAULT : Self = Self :: MAV_FRAME_GLOBAL ; } impl Default for MavFrame { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MotorTestOrder { MOTOR_TEST_ORDER_DEFAULT = 0 , MOTOR_TEST_ORDER_SEQUENCE = 1 , MOTOR_TEST_ORDER_BOARD = 2 , } impl MotorTestOrder { pub const DEFAULT : Self = Self :: MOTOR_TEST_ORDER_DEFAULT ; } impl Default for MotorTestOrder { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavResult { MAV_RESULT_ACCEPTED = 0 , MAV_RESULT_TEMPORARILY_REJECTED = 1 , MAV_RESULT_DENIED = 2 , MAV_RESULT_UNSUPPORTED = 3 , MAV_RESULT_FAILED = 4 , MAV_RESULT_IN_PROGRESS = 5 , MAV_RESULT_CANCELLED = 6 , } impl MavResult { pub const DEFAULT : Self = Self :: MAV_RESULT_ACCEPTED ; } impl Default for MavResult { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavGoto { MAV_GOTO_DO_HOLD = 0 , MAV_GOTO_DO_CONTINUE = 1 , MAV_GOTO_HOLD_AT_CURRENT_POSITION = 2 , MAV_GOTO_HOLD_AT_SPECIFIED_POSITION = 3 , } impl MavGoto { pub const DEFAULT : Self = Self :: MAV_GOTO_DO_HOLD ; } impl Default for MavGoto { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TuneFormat : u32 { const TUNE_FORMAT_QBASIC1_1 = 1 ; const TUNE_FORMAT_MML_MODERN = 2 ; } } impl TuneFormat { pub const DEFAULT : Self = Self :: TUNE_FORMAT_QBASIC1_1 ; } impl Default for TuneFormat { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavlinkDataStreamType { MAVLINK_DATA_STREAM_IMG_JPEG = 0 , MAVLINK_DATA_STREAM_IMG_BMP = 1 , MAVLINK_DATA_STREAM_IMG_RAW8U = 2 , MAVLINK_DATA_STREAM_IMG_RAW32U = 3 , MAVLINK_DATA_STREAM_IMG_PGM = 4 , MAVLINK_DATA_STREAM_IMG_PNG = 5 , } impl MavlinkDataStreamType { pub const DEFAULT : Self = Self :: MAVLINK_DATA_STREAM_IMG_JPEG ; } impl Default for MavlinkDataStreamType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FenceAction { FENCE_ACTION_NONE = 0 , FENCE_ACTION_GUIDED = 1 , FENCE_ACTION_REPORT = 2 , FENCE_ACTION_GUIDED_THR_PASS = 3 , FENCE_ACTION_RTL = 4 , FENCE_ACTION_HOLD = 5 , FENCE_ACTION_TERMINATE = 6 , FENCE_ACTION_LAND = 7 , } impl FenceAction { pub const DEFAULT : Self = Self :: FENCE_ACTION_NONE ; } impl Default for FenceAction { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavEventCurrentSequenceFlags : u8 { const MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET = 1 ; } } impl MavEventCurrentSequenceFlags { pub const DEFAULT : Self = Self :: MAV_EVENT_CURRENT_SEQUENCE_FLAGS_RESET ; } impl Default for MavEventCurrentSequenceFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavWinchStatusFlag : u32 { const MAV_WINCH_STATUS_HEALTHY = 1 ; const MAV_WINCH_STATUS_FULLY_RETRACTED = 2 ; const MAV_WINCH_STATUS_MOVING = 4 ; const MAV_WINCH_STATUS_CLUTCH_ENGAGED = 8 ; const MAV_WINCH_STATUS_LOCKED = 16 ; const MAV_WINCH_STATUS_DROPPING = 32 ; const MAV_WINCH_STATUS_ARRESTING = 64 ; const MAV_WINCH_STATUS_GROUND_SENSE = 128 ; const MAV_WINCH_STATUS_RETRACTING = 256 ; const MAV_WINCH_STATUS_REDELIVER = 512 ; const MAV_WINCH_STATUS_ABANDON_LINE = 1024 ; const MAV_WINCH_STATUS_LOCKING = 2048 ; const MAV_WINCH_STATUS_LOAD_LINE = 4096 ; const MAV_WINCH_STATUS_LOAD_PAYLOAD = 8192 ; } } impl MavWinchStatusFlag { pub const DEFAULT : Self = Self :: MAV_WINCH_STATUS_HEALTHY ; } impl Default for MavWinchStatusFlag { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GpsInputIgnoreFlags : u16 { const GPS_INPUT_IGNORE_FLAG_ALT = 1 ; const GPS_INPUT_IGNORE_FLAG_HDOP = 2 ; const GPS_INPUT_IGNORE_FLAG_VDOP = 4 ; const GPS_INPUT_IGNORE_FLAG_VEL_HORIZ = 8 ; const GPS_INPUT_IGNORE_FLAG_VEL_VERT = 16 ; const GPS_INPUT_IGNORE_FLAG_SPEED_ACCURACY = 32 ; const GPS_INPUT_IGNORE_FLAG_HORIZONTAL_ACCURACY = 64 ; const GPS_INPUT_IGNORE_FLAG_VERTICAL_ACCURACY = 128 ; } } impl GpsInputIgnoreFlags { pub const DEFAULT : Self = Self :: GPS_INPUT_IGNORE_FLAG_ALT ; } impl Default for GpsInputIgnoreFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavionixAdsbOutCfgGpsOffsetLon { UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA = 0 , UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_APPLIED_BY_SENSOR = 1 , } impl UavionixAdsbOutCfgGpsOffsetLon { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_CFG_GPS_OFFSET_LON_NO_DATA ; } impl Default for UavionixAdsbOutCfgGpsOffsetLon { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MavGeneratorStatusFlag : u64 { const MAV_GENERATOR_STATUS_FLAG_OFF = 1 ; const MAV_GENERATOR_STATUS_FLAG_READY = 2 ; const MAV_GENERATOR_STATUS_FLAG_GENERATING = 4 ; const MAV_GENERATOR_STATUS_FLAG_CHARGING = 8 ; const MAV_GENERATOR_STATUS_FLAG_REDUCED_POWER = 16 ; const MAV_GENERATOR_STATUS_FLAG_MAXPOWER = 32 ; const MAV_GENERATOR_STATUS_FLAG_OVERTEMP_WARNING = 64 ; const MAV_GENERATOR_STATUS_FLAG_OVERTEMP_FAULT = 128 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_WARNING = 256 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_OVERTEMP_FAULT = 512 ; const MAV_GENERATOR_STATUS_FLAG_ELECTRONICS_FAULT = 1024 ; const MAV_GENERATOR_STATUS_FLAG_POWERSOURCE_FAULT = 2048 ; const MAV_GENERATOR_STATUS_FLAG_COMMUNICATION_WARNING = 4096 ; const MAV_GENERATOR_STATUS_FLAG_COOLING_WARNING = 8192 ; const MAV_GENERATOR_STATUS_FLAG_POWER_RAIL_FAULT = 16384 ; const MAV_GENERATOR_STATUS_FLAG_OVERCURRENT_FAULT = 32768 ; const MAV_GENERATOR_STATUS_FLAG_BATTERY_OVERCHARGE_CURRENT_FAULT = 65536 ; const MAV_GENERATOR_STATUS_FLAG_OVERVOLTAGE_FAULT = 131072 ; const MAV_GENERATOR_STATUS_FLAG_BATTERY_UNDERVOLT_FAULT = 262144 ; const MAV_GENERATOR_STATUS_FLAG_START_INHIBITED = 524288 ; const MAV_GENERATOR_STATUS_FLAG_MAINTENANCE_REQUIRED = 1048576 ; const MAV_GENERATOR_STATUS_FLAG_WARMING_UP = 2097152 ; const MAV_GENERATOR_STATUS_FLAG_IDLE = 4194304 ; } } impl MavGeneratorStatusFlag { pub const DEFAULT : Self = Self :: MAV_GENERATOR_STATUS_FLAG_OFF ; } impl Default for MavGeneratorStatusFlag { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavionixAdsbOutDynamicGpsFix { UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0 = 0 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_1 = 1 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_2D = 2 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_3D = 3 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_DGPS = 4 , UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_RTK = 5 , } impl UavionixAdsbOutDynamicGpsFix { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_DYNAMIC_GPS_FIX_NONE_0 ; } impl Default for UavionixAdsbOutDynamicGpsFix { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum EscConnectionType { ESC_CONNECTION_TYPE_PPM = 0 , ESC_CONNECTION_TYPE_SERIAL = 1 , ESC_CONNECTION_TYPE_ONESHOT = 2 , ESC_CONNECTION_TYPE_I2C = 3 , ESC_CONNECTION_TYPE_CAN = 4 , ESC_CONNECTION_TYPE_DSHOT = 5 , } impl EscConnectionType { pub const DEFAULT : Self = Self :: ESC_CONNECTION_TYPE_PPM ; } impl Default for EscConnectionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavDistanceSensor { MAV_DISTANCE_SENSOR_LASER = 0 , MAV_DISTANCE_SENSOR_ULTRASOUND = 1 , MAV_DISTANCE_SENSOR_INFRARED = 2 , MAV_DISTANCE_SENSOR_RADAR = 3 , MAV_DISTANCE_SENSOR_UNKNOWN = 4 , } impl MavDistanceSensor { pub const DEFAULT : Self = Self :: MAV_DISTANCE_SENSOR_LASER ; } impl Default for MavDistanceSensor { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavModeFlagDecodePosition { MAV_MODE_FLAG_DECODE_POSITION_SAFETY = 128 , MAV_MODE_FLAG_DECODE_POSITION_MANUAL = 64 , MAV_MODE_FLAG_DECODE_POSITION_HIL = 32 , MAV_MODE_FLAG_DECODE_POSITION_STABILIZE = 16 , MAV_MODE_FLAG_DECODE_POSITION_GUIDED = 8 , MAV_MODE_FLAG_DECODE_POSITION_AUTO = 4 , MAV_MODE_FLAG_DECODE_POSITION_TEST = 2 , MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE = 1 , } impl MavModeFlagDecodePosition { pub const DEFAULT : Self = Self :: MAV_MODE_FLAG_DECODE_POSITION_SAFETY ; } impl Default for MavModeFlagDecodePosition { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GimbalDeviceFlags : u16 { const GIMBAL_DEVICE_FLAGS_RETRACT = 1 ; const GIMBAL_DEVICE_FLAGS_NEUTRAL = 2 ; const GIMBAL_DEVICE_FLAGS_ROLL_LOCK = 4 ; const GIMBAL_DEVICE_FLAGS_PITCH_LOCK = 8 ; const GIMBAL_DEVICE_FLAGS_YAW_LOCK = 16 ; const GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME = 32 ; const GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME = 64 ; const GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME = 128 ; const GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE = 256 ; const GIMBAL_DEVICE_FLAGS_RC_MIXED = 512 ; } } impl GimbalDeviceFlags { pub const DEFAULT : Self = Self :: GIMBAL_DEVICE_FLAGS_RETRACT ; } impl Default for GimbalDeviceFlags { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MotorTestThrottleType { MOTOR_TEST_THROTTLE_PERCENT = 0 , MOTOR_TEST_THROTTLE_PWM = 1 , MOTOR_TEST_THROTTLE_PILOT = 2 , MOTOR_TEST_COMPASS_CAL = 3 , } impl MotorTestThrottleType { pub const DEFAULT : Self = Self :: MOTOR_TEST_THROTTLE_PERCENT ; } impl Default for MotorTestThrottleType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum UavionixAdsbOutCfgAircraftSize { UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA = 0 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L15M_W23M = 1 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25M_W28P5M = 2 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L25_34M = 3 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_33M = 4 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L35_38M = 5 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_39P5M = 6 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L45_45M = 7 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_45M = 8 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L55_52M = 9 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_59P5M = 10 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L65_67M = 11 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W72P5M = 12 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L75_W80M = 13 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W80M = 14 , UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_L85_W90M = 15 , } impl UavionixAdsbOutCfgAircraftSize { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_OUT_CFG_AIRCRAFT_SIZE_NO_DATA ; } impl Default for UavionixAdsbOutCfgAircraftSize { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavOdidVerAcc { MAV_ODID_VER_ACC_UNKNOWN = 0 , MAV_ODID_VER_ACC_150_METER = 1 , MAV_ODID_VER_ACC_45_METER = 2 , MAV_ODID_VER_ACC_25_METER = 3 , MAV_ODID_VER_ACC_10_METER = 4 , MAV_ODID_VER_ACC_3_METER = 5 , MAV_ODID_VER_ACC_1_METER = 6 , } impl MavOdidVerAcc { pub const DEFAULT : Self = Self :: MAV_ODID_VER_ACC_UNKNOWN ; } impl Default for MavOdidVerAcc { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryType { MAV_BATTERY_TYPE_UNKNOWN = 0 , MAV_BATTERY_TYPE_LIPO = 1 , MAV_BATTERY_TYPE_LIFE = 2 , MAV_BATTERY_TYPE_LION = 3 , MAV_BATTERY_TYPE_NIMH = 4 , } impl MavBatteryType { pub const DEFAULT : Self = Self :: MAV_BATTERY_TYPE_UNKNOWN ; } impl Default for MavBatteryType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavBatteryFunction { MAV_BATTERY_FUNCTION_UNKNOWN = 0 , MAV_BATTERY_FUNCTION_ALL = 1 , MAV_BATTERY_FUNCTION_PROPULSION = 2 , MAV_BATTERY_FUNCTION_AVIONICS = 3 , MAV_BATTERY_FUNCTION_PAYLOAD = 4 , } impl MavBatteryFunction { pub const DEFAULT : Self = Self :: MAV_BATTERY_FUNCTION_UNKNOWN ; } impl Default for MavBatteryFunction { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum GpsFixType { GPS_FIX_TYPE_NO_GPS = 0 , GPS_FIX_TYPE_NO_FIX = 1 , GPS_FIX_TYPE_2D_FIX = 2 , GPS_FIX_TYPE_3D_FIX = 3 , GPS_FIX_TYPE_DGPS = 4 , GPS_FIX_TYPE_RTK_FLOAT = 5 , GPS_FIX_TYPE_RTK_FIXED = 6 , GPS_FIX_TYPE_STATIC = 7 , GPS_FIX_TYPE_PPP = 8 , } impl GpsFixType { pub const DEFAULT : Self = Self :: GPS_FIX_TYPE_NO_GPS ; } impl Default for GpsFixType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavTunnelPayloadType { MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN = 0 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED0 = 200 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED1 = 201 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED2 = 202 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED3 = 203 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED4 = 204 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED5 = 205 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED6 = 206 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED7 = 207 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED8 = 208 , MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVED9 = 209 , } impl MavTunnelPayloadType { pub const DEFAULT : Self = Self :: MAV_TUNNEL_PAYLOAD_TYPE_UNKNOWN ; } impl Default for MavTunnelPayloadType { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HilSensorUpdatedFlags : u32 { const HIL_SENSOR_UPDATED_NONE = 0 ; const HIL_SENSOR_UPDATED_XACC = 1 ; const HIL_SENSOR_UPDATED_YACC = 2 ; const HIL_SENSOR_UPDATED_ZACC = 4 ; const HIL_SENSOR_UPDATED_XGYRO = 8 ; const HIL_SENSOR_UPDATED_YGYRO = 16 ; const HIL_SENSOR_UPDATED_ZGYRO = 32 ; const HIL_SENSOR_UPDATED_XMAG = 64 ; const HIL_SENSOR_UPDATED_YMAG = 128 ; const HIL_SENSOR_UPDATED_ZMAG = 256 ; const HIL_SENSOR_UPDATED_ABS_PRESSURE = 512 ; const HIL_SENSOR_UPDATED_DIFF_PRESSURE = 1024 ; const HIL_SENSOR_UPDATED_PRESSURE_ALT = 2048 ; const HIL_SENSOR_UPDATED_TEMPERATURE = 4096 ; const HIL_SENSOR_UPDATED_RESET = 2147483648 ; } } impl HilSensorUpdatedFlags { pub const DEFAULT : Self = Self :: HIL_SENSOR_UPDATED_NONE ; } impl Default for HilSensorUpdatedFlags { fn default () -> Self { Self :: DEFAULT } } bitflags ! { # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UavionixAdsbRfHealth : u8 { const UAVIONIX_ADSB_RF_HEALTH_INITIALIZING = 0 ; const UAVIONIX_ADSB_RF_HEALTH_OK = 1 ; const UAVIONIX_ADSB_RF_HEALTH_FAIL_TX = 2 ; const UAVIONIX_ADSB_RF_HEALTH_FAIL_RX = 16 ; } } impl UavionixAdsbRfHealth { pub const DEFAULT : Self = Self :: UAVIONIX_ADSB_RF_HEALTH_INITIALIZING ; } impl Default for UavionixAdsbRfHealth { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavVtolState { MAV_VTOL_STATE_UNDEFINED = 0 , MAV_VTOL_STATE_TRANSITION_TO_FW = 1 , MAV_VTOL_STATE_TRANSITION_TO_MC = 2 , MAV_VTOL_STATE_MC = 3 , MAV_VTOL_STATE_FW = 4 , } impl MavVtolState { pub const DEFAULT : Self = Self :: MAV_VTOL_STATE_UNDEFINED ; } impl Default for MavVtolState { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Copy , Clone , PartialEq , FromPrimitive , ToPrimitive)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum FirmwareVersionType { FIRMWARE_VERSION_TYPE_DEV = 0 , FIRMWARE_VERSION_TYPE_ALPHA = 64 , FIRMWARE_VERSION_TYPE_BETA = 128 , FIRMWARE_VERSION_TYPE_RC = 192 , FIRMWARE_VERSION_TYPE_OFFICIAL = 255 , } impl FirmwareVersionType { pub const DEFAULT : Self = Self :: FIRMWARE_VERSION_TYPE_DEV ; } impl Default for FirmwareVersionType { fn default () -> Self { Self :: DEFAULT } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_SET_CURRENT_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_SET_CURRENT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_SET_CURRENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_SET_CURRENT_DATA { type Message = MavMessage ; const ID : u32 = 41u32 ; const NAME : & 'static str = "MISSION_SET_CURRENT" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTH_KEY_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub key : [u8 ; 32] , } impl AUTH_KEY_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { key : [0_u8 ; 32usize] , } ; } impl Default for AUTH_KEY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTH_KEY_DATA { type Message = MavMessage ; const ID : u32 = 7u32 ; const NAME : & 'static str = "AUTH_KEY" ; const EXTRA_CRC : u8 = 119u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . key { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . key { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_TARGET_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub body_roll_rate : f32 , pub body_pitch_rate : f32 , pub body_yaw_rate : f32 , pub thrust : f32 , pub type_mask : AttitudeTargetTypemask , } impl ATTITUDE_TARGET_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , body_roll_rate : 0.0_f32 , body_pitch_rate : 0.0_f32 , body_yaw_rate : 0.0_f32 , thrust : 0.0_f32 , type_mask : AttitudeTargetTypemask :: DEFAULT , } ; } impl Default for ATTITUDE_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 83u32 ; const NAME : & 'static str = "ATTITUDE_TARGET" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . body_roll_rate = buf . get_f32_le () ; __struct . body_pitch_rate = buf . get_f32_le () ; __struct . body_yaw_rate = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . type_mask = AttitudeTargetTypemask :: from_bits (tmp & AttitudeTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AttitudeTargetTypemask" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . body_roll_rate) ; __tmp . put_f32_le (self . body_pitch_rate) ; __tmp . put_f32_le (self . body_yaw_rate) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . type_mask . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SETUP_SIGNING_DATA { pub initial_timestamp : u64 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub secret_key : [u8 ; 32] , } impl SETUP_SIGNING_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { initial_timestamp : 0_u64 , target_system : 0_u8 , target_component : 0_u8 , secret_key : [0_u8 ; 32usize] , } ; } impl Default for SETUP_SIGNING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SETUP_SIGNING_DATA { type Message = MavMessage ; const ID : u32 = 256u32 ; const NAME : & 'static str = "SETUP_SIGNING" ; const EXTRA_CRC : u8 = 71u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . initial_timestamp = buf . get_u64_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . secret_key { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . initial_timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . secret_key { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CELLULAR_CONFIG_DATA { pub enable_lte : u8 , pub enable_pin : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pin : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub new_pin : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub apn : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub puk : [u8 ; 16] , pub roaming : u8 , pub response : CellularConfigResponse , } impl CELLULAR_CONFIG_DATA { pub const ENCODED_LEN : usize = 84usize ; pub const DEFAULT : Self = Self { enable_lte : 0_u8 , enable_pin : 0_u8 , pin : [0_u8 ; 16usize] , new_pin : [0_u8 ; 16usize] , apn : [0_u8 ; 32usize] , puk : [0_u8 ; 16usize] , roaming : 0_u8 , response : CellularConfigResponse :: DEFAULT , } ; } impl Default for CELLULAR_CONFIG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CELLULAR_CONFIG_DATA { type Message = MavMessage ; const ID : u32 = 336u32 ; const NAME : & 'static str = "CELLULAR_CONFIG" ; const EXTRA_CRC : u8 = 245u8 ; const ENCODED_LEN : usize = 84usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . enable_lte = buf . get_u8 () ; __struct . enable_pin = buf . get_u8 () ; for v in & mut __struct . pin { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . new_pin { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . apn { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . puk { let val = buf . get_u8 () ; * v = val ; } __struct . roaming = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . response = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularConfigResponse" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . enable_lte) ; __tmp . put_u8 (self . enable_pin) ; for val in & self . pin { __tmp . put_u8 (* val) ; } for val in & self . new_pin { __tmp . put_u8 (* val) ; } for val in & self . apn { __tmp . put_u8 (* val) ; } for val in & self . puk { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . roaming) ; __tmp . put_u8 (self . response as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UTM_GLOBAL_POSITION_DATA { pub time : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub next_lat : i32 , pub next_lon : i32 , pub next_alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub h_acc : u16 , pub v_acc : u16 , pub vel_acc : u16 , pub update_rate : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uas_id : [u8 ; 18] , pub flight_state : UtmFlightState , pub flags : UtmDataAvailFlags , } impl UTM_GLOBAL_POSITION_DATA { pub const ENCODED_LEN : usize = 70usize ; pub const DEFAULT : Self = Self { time : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , next_lat : 0_i32 , next_lon : 0_i32 , next_alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , h_acc : 0_u16 , v_acc : 0_u16 , vel_acc : 0_u16 , update_rate : 0_u16 , uas_id : [0_u8 ; 18usize] , flight_state : UtmFlightState :: DEFAULT , flags : UtmDataAvailFlags :: DEFAULT , } ; } impl Default for UTM_GLOBAL_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UTM_GLOBAL_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 340u32 ; const NAME : & 'static str = "UTM_GLOBAL_POSITION" ; const EXTRA_CRC : u8 = 99u8 ; const ENCODED_LEN : usize = 70usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . next_lat = buf . get_i32_le () ; __struct . next_lon = buf . get_i32_le () ; __struct . next_alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . h_acc = buf . get_u16_le () ; __struct . v_acc = buf . get_u16_le () ; __struct . vel_acc = buf . get_u16_le () ; __struct . update_rate = buf . get_u16_le () ; for v in & mut __struct . uas_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . flight_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UtmFlightState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = UtmDataAvailFlags :: from_bits (tmp & UtmDataAvailFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UtmDataAvailFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_i32_le (self . next_lat) ; __tmp . put_i32_le (self . next_lon) ; __tmp . put_i32_le (self . next_alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . h_acc) ; __tmp . put_u16_le (self . v_acc) ; __tmp . put_u16_le (self . vel_acc) ; __tmp . put_u16_le (self . update_rate) ; for val in & self . uas_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . flight_state as u8) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VFR_HUD_DATA { pub airspeed : f32 , pub groundspeed : f32 , pub alt : f32 , pub climb : f32 , pub heading : i16 , pub throttle : u16 , } impl VFR_HUD_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { airspeed : 0.0_f32 , groundspeed : 0.0_f32 , alt : 0.0_f32 , climb : 0.0_f32 , heading : 0_i16 , throttle : 0_u16 , } ; } impl Default for VFR_HUD_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VFR_HUD_DATA { type Message = MavMessage ; const ID : u32 = 74u32 ; const NAME : & 'static str = "VFR_HUD" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . airspeed = buf . get_f32_le () ; __struct . groundspeed = buf . get_f32_le () ; __struct . alt = buf . get_f32_le () ; __struct . climb = buf . get_f32_le () ; __struct . heading = buf . get_i16_le () ; __struct . throttle = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . airspeed) ; __tmp . put_f32_le (self . groundspeed) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . climb) ; __tmp . put_i16_le (self . heading) ; __tmp . put_u16_le (self . throttle) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { pub rfHealth : UavionixAdsbRfHealth , } impl UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { pub const ENCODED_LEN : usize = 1usize ; pub const DEFAULT : Self = Self { rfHealth : UavionixAdsbRfHealth :: DEFAULT , } ; } impl Default for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 10003u32 ; const NAME : & 'static str = "UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 1usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . rfHealth = UavionixAdsbRfHealth :: from_bits (tmp & UavionixAdsbRfHealth :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UavionixAdsbRfHealth" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . rfHealth . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_WRITE_PARTIAL_LIST_DATA { pub start_index : i16 , pub end_index : i16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_WRITE_PARTIAL_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start_index : 0_i16 , end_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_WRITE_PARTIAL_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_WRITE_PARTIAL_LIST_DATA { type Message = MavMessage ; const ID : u32 = 38u32 ; const NAME : & 'static str = "MISSION_WRITE_PARTIAL_LIST" ; const EXTRA_CRC : u8 = 9u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start_index = buf . get_i16_le () ; __struct . end_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . start_index) ; __tmp . put_i16_le (self . end_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ODOMETRY_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pose_covariance : [f32 ; 21] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub velocity_covariance : [f32 ; 21] , pub frame_id : MavFrame , pub child_frame_id : MavFrame , } impl ODOMETRY_DATA { pub const ENCODED_LEN : usize = 230usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , pose_covariance : [0.0_f32 ; 21usize] , velocity_covariance : [0.0_f32 ; 21usize] , frame_id : MavFrame :: DEFAULT , child_frame_id : MavFrame :: DEFAULT , } ; } impl Default for ODOMETRY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ODOMETRY_DATA { type Message = MavMessage ; const ID : u32 = 331u32 ; const NAME : & 'static str = "ODOMETRY" ; const EXTRA_CRC : u8 = 91u8 ; const ENCODED_LEN : usize = 230usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; for v in & mut __struct . pose_covariance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . velocity_covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . frame_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . child_frame_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; for val in & self . pose_covariance { __tmp . put_f32_le (* val) ; } for val in & self . velocity_covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . frame_id as u8) ; __tmp . put_u8 (self . child_frame_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SERIAL_CONTROL_DATA { pub baudrate : u32 , pub timeout : u16 , pub device : SerialControlDev , pub flags : SerialControlFlag , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 70] , } impl SERIAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 79usize ; pub const DEFAULT : Self = Self { baudrate : 0_u32 , timeout : 0_u16 , device : SerialControlDev :: DEFAULT , flags : SerialControlFlag :: DEFAULT , count : 0_u8 , data : [0_u8 ; 70usize] , } ; } impl Default for SERIAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SERIAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 126u32 ; const NAME : & 'static str = "SERIAL_CONTROL" ; const EXTRA_CRC : u8 = 220u8 ; const ENCODED_LEN : usize = 79usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . baudrate = buf . get_u32_le () ; __struct . timeout = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . device = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "SerialControlDev" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . flags = SerialControlFlag :: from_bits (tmp & SerialControlFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "SerialControlFlag" , value : tmp as u32 }) ? ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . baudrate) ; __tmp . put_u16_le (self . timeout) ; __tmp . put_u8 (self . device as u8) ; __tmp . put_u8 (self . flags . bits ()) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_SCALED_DATA { pub time_boot_ms : u32 , pub chan1_scaled : i16 , pub chan2_scaled : i16 , pub chan3_scaled : i16 , pub chan4_scaled : i16 , pub chan5_scaled : i16 , pub chan6_scaled : i16 , pub chan7_scaled : i16 , pub chan8_scaled : i16 , pub port : u8 , pub rssi : u8 , } impl RC_CHANNELS_SCALED_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_scaled : 0_i16 , chan2_scaled : 0_i16 , chan3_scaled : 0_i16 , chan4_scaled : 0_i16 , chan5_scaled : 0_i16 , chan6_scaled : 0_i16 , chan7_scaled : 0_i16 , chan8_scaled : 0_i16 , port : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_SCALED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_SCALED_DATA { type Message = MavMessage ; const ID : u32 = 34u32 ; const NAME : & 'static str = "RC_CHANNELS_SCALED" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_scaled = buf . get_i16_le () ; __struct . chan2_scaled = buf . get_i16_le () ; __struct . chan3_scaled = buf . get_i16_le () ; __struct . chan4_scaled = buf . get_i16_le () ; __struct . chan5_scaled = buf . get_i16_le () ; __struct . chan6_scaled = buf . get_i16_le () ; __struct . chan7_scaled = buf . get_i16_le () ; __struct . chan8_scaled = buf . get_i16_le () ; __struct . port = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . chan1_scaled) ; __tmp . put_i16_le (self . chan2_scaled) ; __tmp . put_i16_le (self . chan3_scaled) ; __tmp . put_i16_le (self . chan4_scaled) ; __tmp . put_i16_le (self . chan5_scaled) ; __tmp . put_i16_le (self . chan6_scaled) ; __tmp . put_i16_le (self . chan7_scaled) ; __tmp . put_i16_le (self . chan8_scaled) ; __tmp . put_u8 (self . port) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPONENT_INFORMATION_DATA { pub time_boot_ms : u32 , pub general_metadata_file_crc : u32 , pub peripherals_metadata_file_crc : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub general_metadata_uri : [u8 ; 100] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub peripherals_metadata_uri : [u8 ; 100] , } impl COMPONENT_INFORMATION_DATA { pub const ENCODED_LEN : usize = 212usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , general_metadata_file_crc : 0_u32 , peripherals_metadata_file_crc : 0_u32 , general_metadata_uri : [0_u8 ; 100usize] , peripherals_metadata_uri : [0_u8 ; 100usize] , } ; } impl Default for COMPONENT_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPONENT_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 395u32 ; const NAME : & 'static str = "COMPONENT_INFORMATION" ; const EXTRA_CRC : u8 = 0u8 ; const ENCODED_LEN : usize = 212usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . general_metadata_file_crc = buf . get_u32_le () ; __struct . peripherals_metadata_file_crc = buf . get_u32_le () ; for v in & mut __struct . general_metadata_uri { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . peripherals_metadata_uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . general_metadata_file_crc) ; __tmp . put_u32_le (self . peripherals_metadata_file_crc) ; for val in & self . general_metadata_uri { __tmp . put_u8 (* val) ; } for val in & self . peripherals_metadata_uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_VALUE_DATA { pub param_count : u16 , pub param_index : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , } impl PARAM_EXT_VALUE_DATA { pub const ENCODED_LEN : usize = 149usize ; pub const DEFAULT : Self = Self { param_count : 0_u16 , param_index : 0_u16 , param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , } ; } impl Default for PARAM_EXT_VALUE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_VALUE_DATA { type Message = MavMessage ; const ID : u32 = 322u32 ; const NAME : & 'static str = "PARAM_EXT_VALUE" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 149usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_count = buf . get_u16_le () ; __struct . param_index = buf . get_u16_le () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . param_count) ; __tmp . put_u16_le (self . param_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_AUTHENTICATION_DATA { pub timestamp : u32 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub authentication_type : MavOdidAuthType , pub data_page : u8 , pub last_page_index : u8 , pub length : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub authentication_data : [u8 ; 23] , } impl OPEN_DRONE_ID_AUTHENTICATION_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { timestamp : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , authentication_type : MavOdidAuthType :: DEFAULT , data_page : 0_u8 , last_page_index : 0_u8 , length : 0_u8 , authentication_data : [0_u8 ; 23usize] , } ; } impl Default for OPEN_DRONE_ID_AUTHENTICATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_AUTHENTICATION_DATA { type Message = MavMessage ; const ID : u32 = 12902u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_AUTHENTICATION" ; const EXTRA_CRC : u8 = 140u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . authentication_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidAuthType" , value : tmp as u32 }) ? ; __struct . data_page = buf . get_u8 () ; __struct . last_page_index = buf . get_u8 () ; __struct . length = buf . get_u8 () ; for v in & mut __struct . authentication_data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . authentication_type as u8) ; __tmp . put_u8 (self . data_page) ; __tmp . put_u8 (self . last_page_index) ; __tmp . put_u8 (self . length) ; for val in & self . authentication_data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVCAN_NODE_INFO_DATA { pub time_usec : u64 , pub uptime_sec : u32 , pub sw_vcs_commit : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 80] , pub hw_version_major : u8 , pub hw_version_minor : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub hw_unique_id : [u8 ; 16] , pub sw_version_major : u8 , pub sw_version_minor : u8 , } impl UAVCAN_NODE_INFO_DATA { pub const ENCODED_LEN : usize = 116usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime_sec : 0_u32 , sw_vcs_commit : 0_u32 , name : [0_u8 ; 80usize] , hw_version_major : 0_u8 , hw_version_minor : 0_u8 , hw_unique_id : [0_u8 ; 16usize] , sw_version_major : 0_u8 , sw_version_minor : 0_u8 , } ; } impl Default for UAVCAN_NODE_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVCAN_NODE_INFO_DATA { type Message = MavMessage ; const ID : u32 = 311u32 ; const NAME : & 'static str = "UAVCAN_NODE_INFO" ; const EXTRA_CRC : u8 = 95u8 ; const ENCODED_LEN : usize = 116usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime_sec = buf . get_u32_le () ; __struct . sw_vcs_commit = buf . get_u32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } __struct . hw_version_major = buf . get_u8 () ; __struct . hw_version_minor = buf . get_u8 () ; for v in & mut __struct . hw_unique_id { let val = buf . get_u8 () ; * v = val ; } __struct . sw_version_major = buf . get_u8 () ; __struct . sw_version_minor = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime_sec) ; __tmp . put_u32_le (self . sw_vcs_commit) ; for val in & self . name { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . hw_version_major) ; __tmp . put_u8 (self . hw_version_minor) ; for val in & self . hw_unique_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . sw_version_major) ; __tmp . put_u8 (self . sw_version_minor) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_SETTINGS_DATA { pub time_boot_ms : u32 , pub mode_id : CameraMode , } impl CAMERA_SETTINGS_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , mode_id : CameraMode :: DEFAULT , } ; } impl Default for CAMERA_SETTINGS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_SETTINGS_DATA { type Message = MavMessage ; const ID : u32 = 260u32 ; const NAME : & 'static str = "CAMERA_SETTINGS" ; const EXTRA_CRC : u8 = 146u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . mode_id = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraMode" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u8 (self . mode_id as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RADIO_STATUS_DATA { pub rxerrors : u16 , pub fixed : u16 , pub rssi : u8 , pub remrssi : u8 , pub txbuf : u8 , pub noise : u8 , pub remnoise : u8 , } impl RADIO_STATUS_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { rxerrors : 0_u16 , fixed : 0_u16 , rssi : 0_u8 , remrssi : 0_u8 , txbuf : 0_u8 , noise : 0_u8 , remnoise : 0_u8 , } ; } impl Default for RADIO_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RADIO_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 109u32 ; const NAME : & 'static str = "RADIO_STATUS" ; const EXTRA_CRC : u8 = 185u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . rxerrors = buf . get_u16_le () ; __struct . fixed = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; __struct . remrssi = buf . get_u8 () ; __struct . txbuf = buf . get_u8 () ; __struct . noise = buf . get_u8 () ; __struct . remnoise = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . rxerrors) ; __tmp . put_u16_le (self . fixed) ; __tmp . put_u8 (self . rssi) ; __tmp . put_u8 (self . remrssi) ; __tmp . put_u8 (self . txbuf) ; __tmp . put_u8 (self . noise) ; __tmp . put_u8 (self . remnoise) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RAW_INT_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub cog : u16 , pub fix_type : GpsFixType , pub satellites_visible : u8 , } impl GPS_RAW_INT_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , cog : 0_u16 , fix_type : GpsFixType :: DEFAULT , satellites_visible : 0_u8 , } ; } impl Default for GPS_RAW_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RAW_INT_DATA { type Message = MavMessage ; const ID : u32 = 24u32 ; const NAME : & 'static str = "GPS_RAW_INT" ; const EXTRA_CRC : u8 = 24u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . cog = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type as u8) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CONTROL_SYSTEM_STATE_DATA { pub time_usec : u64 , pub x_acc : f32 , pub y_acc : f32 , pub z_acc : f32 , pub x_vel : f32 , pub y_vel : f32 , pub z_vel : f32 , pub x_pos : f32 , pub y_pos : f32 , pub z_pos : f32 , pub airspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_variance : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_variance : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub roll_rate : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , } impl CONTROL_SYSTEM_STATE_DATA { pub const ENCODED_LEN : usize = 100usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x_acc : 0.0_f32 , y_acc : 0.0_f32 , z_acc : 0.0_f32 , x_vel : 0.0_f32 , y_vel : 0.0_f32 , z_vel : 0.0_f32 , x_pos : 0.0_f32 , y_pos : 0.0_f32 , z_pos : 0.0_f32 , airspeed : 0.0_f32 , vel_variance : [0.0_f32 ; 3usize] , pos_variance : [0.0_f32 ; 3usize] , q : [0.0_f32 ; 4usize] , roll_rate : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , } ; } impl Default for CONTROL_SYSTEM_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CONTROL_SYSTEM_STATE_DATA { type Message = MavMessage ; const ID : u32 = 146u32 ; const NAME : & 'static str = "CONTROL_SYSTEM_STATE" ; const EXTRA_CRC : u8 = 103u8 ; const ENCODED_LEN : usize = 100usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x_acc = buf . get_f32_le () ; __struct . y_acc = buf . get_f32_le () ; __struct . z_acc = buf . get_f32_le () ; __struct . x_vel = buf . get_f32_le () ; __struct . y_vel = buf . get_f32_le () ; __struct . z_vel = buf . get_f32_le () ; __struct . x_pos = buf . get_f32_le () ; __struct . y_pos = buf . get_f32_le () ; __struct . z_pos = buf . get_f32_le () ; __struct . airspeed = buf . get_f32_le () ; for v in & mut __struct . vel_variance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_variance { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . roll_rate = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x_acc) ; __tmp . put_f32_le (self . y_acc) ; __tmp . put_f32_le (self . z_acc) ; __tmp . put_f32_le (self . x_vel) ; __tmp . put_f32_le (self . y_vel) ; __tmp . put_f32_le (self . z_vel) ; __tmp . put_f32_le (self . x_pos) ; __tmp . put_f32_le (self . y_pos) ; __tmp . put_f32_le (self . z_pos) ; __tmp . put_f32_le (self . airspeed) ; for val in & self . vel_variance { __tmp . put_f32_le (* val) ; } for val in & self . pos_variance { __tmp . put_f32_le (* val) ; } for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . roll_rate) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRACKING_GEO_STATUS_DATA { pub lat : i32 , pub lon : i32 , pub alt : f32 , pub h_acc : f32 , pub v_acc : f32 , pub vel_n : f32 , pub vel_e : f32 , pub vel_d : f32 , pub vel_acc : f32 , pub dist : f32 , pub hdg : f32 , pub hdg_acc : f32 , pub tracking_status : CameraTrackingStatusFlags , } impl CAMERA_TRACKING_GEO_STATUS_DATA { pub const ENCODED_LEN : usize = 49usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , h_acc : 0.0_f32 , v_acc : 0.0_f32 , vel_n : 0.0_f32 , vel_e : 0.0_f32 , vel_d : 0.0_f32 , vel_acc : 0.0_f32 , dist : 0.0_f32 , hdg : 0.0_f32 , hdg_acc : 0.0_f32 , tracking_status : CameraTrackingStatusFlags :: DEFAULT , } ; } impl Default for CAMERA_TRACKING_GEO_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRACKING_GEO_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 276u32 ; const NAME : & 'static str = "CAMERA_TRACKING_GEO_STATUS" ; const EXTRA_CRC : u8 = 18u8 ; const ENCODED_LEN : usize = 49usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . h_acc = buf . get_f32_le () ; __struct . v_acc = buf . get_f32_le () ; __struct . vel_n = buf . get_f32_le () ; __struct . vel_e = buf . get_f32_le () ; __struct . vel_d = buf . get_f32_le () ; __struct . vel_acc = buf . get_f32_le () ; __struct . dist = buf . get_f32_le () ; __struct . hdg = buf . get_f32_le () ; __struct . hdg_acc = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . tracking_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . h_acc) ; __tmp . put_f32_le (self . v_acc) ; __tmp . put_f32_le (self . vel_n) ; __tmp . put_f32_le (self . vel_e) ; __tmp . put_f32_le (self . vel_d) ; __tmp . put_f32_le (self . vel_acc) ; __tmp . put_f32_le (self . dist) ; __tmp . put_f32_le (self . hdg) ; __tmp . put_f32_le (self . hdg_acc) ; __tmp . put_u8 (self . tracking_status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TUNNEL_DATA { pub payload_type : MavTunnelPayloadType , pub target_system : u8 , pub target_component : u8 , pub payload_length : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 128] , } impl TUNNEL_DATA { pub const ENCODED_LEN : usize = 133usize ; pub const DEFAULT : Self = Self { payload_type : MavTunnelPayloadType :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , payload_length : 0_u8 , payload : [0_u8 ; 128usize] , } ; } impl Default for TUNNEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TUNNEL_DATA { type Message = MavMessage ; const ID : u32 = 385u32 ; const NAME : & 'static str = "TUNNEL" ; const EXTRA_CRC : u8 = 147u8 ; const ENCODED_LEN : usize = 133usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . payload_type = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavTunnelPayloadType" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . payload_length = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . payload_type as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . payload_length) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_LIST_DATA { pub start : u16 , pub end : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start : 0_u16 , end : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 117u32 ; const NAME : & 'static str = "LOG_REQUEST_LIST" ; const EXTRA_CRC : u8 = 128u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start = buf . get_u16_le () ; __struct . end = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . start) ; __tmp . put_u16_le (self . end) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REQUEST_DATA_STREAM_DATA { pub req_message_rate : u16 , pub target_system : u8 , pub target_component : u8 , pub req_stream_id : u8 , pub start_stop : u8 , } impl REQUEST_DATA_STREAM_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { req_message_rate : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , req_stream_id : 0_u8 , start_stop : 0_u8 , } ; } impl Default for REQUEST_DATA_STREAM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REQUEST_DATA_STREAM_DATA { type Message = MavMessage ; const ID : u32 = 66u32 ; const NAME : & 'static str = "REQUEST_DATA_STREAM" ; const EXTRA_CRC : u8 = 148u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . req_message_rate = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . req_stream_id = buf . get_u8 () ; __struct . start_stop = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . req_message_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . req_stream_id) ; __tmp . put_u8 (self . start_stop) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_SET_ATTITUDE_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub flags : GimbalDeviceFlags , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_DEVICE_SET_ATTITUDE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , flags : GimbalDeviceFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_DEVICE_SET_ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_SET_ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 284u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_SET_ATTITUDE" ; const EXTRA_CRC : u8 = 99u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = GimbalDeviceFlags :: from_bits (tmp & GimbalDeviceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CANFD_FRAME_DATA { pub id : u32 , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 64] , } impl CANFD_FRAME_DATA { pub const ENCODED_LEN : usize = 72usize ; pub const DEFAULT : Self = Self { id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , len : 0_u8 , data : [0_u8 ; 64usize] , } ; } impl Default for CANFD_FRAME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CANFD_FRAME_DATA { type Message = MavMessage ; const ID : u32 = 387u32 ; const NAME : & 'static str = "CANFD_FRAME" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 72usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_CONTROLS_DATA { pub time_usec : u64 , pub roll_ailerons : f32 , pub pitch_elevator : f32 , pub yaw_rudder : f32 , pub throttle : f32 , pub aux1 : f32 , pub aux2 : f32 , pub aux3 : f32 , pub aux4 : f32 , pub mode : MavMode , pub nav_mode : u8 , } impl HIL_CONTROLS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , roll_ailerons : 0.0_f32 , pitch_elevator : 0.0_f32 , yaw_rudder : 0.0_f32 , throttle : 0.0_f32 , aux1 : 0.0_f32 , aux2 : 0.0_f32 , aux3 : 0.0_f32 , aux4 : 0.0_f32 , mode : MavMode :: DEFAULT , nav_mode : 0_u8 , } ; } impl Default for HIL_CONTROLS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_CONTROLS_DATA { type Message = MavMessage ; const ID : u32 = 91u32 ; const NAME : & 'static str = "HIL_CONTROLS" ; const EXTRA_CRC : u8 = 63u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . roll_ailerons = buf . get_f32_le () ; __struct . pitch_elevator = buf . get_f32_le () ; __struct . yaw_rudder = buf . get_f32_le () ; __struct . throttle = buf . get_f32_le () ; __struct . aux1 = buf . get_f32_le () ; __struct . aux2 = buf . get_f32_le () ; __struct . aux3 = buf . get_f32_le () ; __struct . aux4 = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMode" , value : tmp as u32 }) ? ; __struct . nav_mode = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . roll_ailerons) ; __tmp . put_f32_le (self . pitch_elevator) ; __tmp . put_f32_le (self . yaw_rudder) ; __tmp . put_f32_le (self . throttle) ; __tmp . put_f32_le (self . aux1) ; __tmp . put_f32_le (self . aux2) ; __tmp . put_f32_le (self . aux3) ; __tmp . put_f32_le (self . aux4) ; __tmp . put_u8 (self . mode as u8) ; __tmp . put_u8 (self . nav_mode) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POWER_STATUS_DATA { pub Vcc : u16 , pub Vservo : u16 , pub flags : MavPowerStatus , } impl POWER_STATUS_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { Vcc : 0_u16 , Vservo : 0_u16 , flags : MavPowerStatus :: DEFAULT , } ; } impl Default for POWER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POWER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 125u32 ; const NAME : & 'static str = "POWER_STATUS" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . Vcc = buf . get_u16_le () ; __struct . Vservo = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = MavPowerStatus :: from_bits (tmp & MavPowerStatus :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavPowerStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . Vcc) ; __tmp . put_u16_le (self . Vservo) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_STATE_DATA { pub time_usec : u64 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , } impl HIL_STATE_DATA { pub const ENCODED_LEN : usize = 56usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , } ; } impl Default for HIL_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_STATE_DATA { type Message = MavMessage ; const ID : u32 = 90u32 ; const NAME : & 'static str = "HIL_STATE" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 56usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_DATA_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , pub length : u8 , pub first_message_offset : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 249] , } impl LOGGING_DATA_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , length : 0_u8 , first_message_offset : 0_u8 , data : [0_u8 ; 249usize] , } ; } impl Default for LOGGING_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_DATA_DATA { type Message = MavMessage ; const ID : u32 = 266u32 ; const NAME : & 'static str = "LOGGING_DATA" ; const EXTRA_CRC : u8 = 193u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . length = buf . get_u8 () ; __struct . first_message_offset = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . length) ; __tmp . put_u8 (self . first_message_offset) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SMART_BATTERY_INFO_DATA { pub capacity_full_specification : i32 , pub capacity_full : i32 , pub cycle_count : u16 , pub weight : u16 , pub discharge_minimum_voltage : u16 , pub charging_minimum_voltage : u16 , pub resting_minimum_voltage : u16 , pub id : u8 , pub battery_function : MavBatteryFunction , pub mavtype : MavBatteryType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub serial_number : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub device_name : [u8 ; 50] , } impl SMART_BATTERY_INFO_DATA { pub const ENCODED_LEN : usize = 87usize ; pub const DEFAULT : Self = Self { capacity_full_specification : 0_i32 , capacity_full : 0_i32 , cycle_count : 0_u16 , weight : 0_u16 , discharge_minimum_voltage : 0_u16 , charging_minimum_voltage : 0_u16 , resting_minimum_voltage : 0_u16 , id : 0_u8 , battery_function : MavBatteryFunction :: DEFAULT , mavtype : MavBatteryType :: DEFAULT , serial_number : [0_u8 ; 16usize] , device_name : [0_u8 ; 50usize] , } ; } impl Default for SMART_BATTERY_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SMART_BATTERY_INFO_DATA { type Message = MavMessage ; const ID : u32 = 370u32 ; const NAME : & 'static str = "SMART_BATTERY_INFO" ; const EXTRA_CRC : u8 = 75u8 ; const ENCODED_LEN : usize = 87usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . capacity_full_specification = buf . get_i32_le () ; __struct . capacity_full = buf . get_i32_le () ; __struct . cycle_count = buf . get_u16_le () ; __struct . weight = buf . get_u16_le () ; __struct . discharge_minimum_voltage = buf . get_u16_le () ; __struct . charging_minimum_voltage = buf . get_u16_le () ; __struct . resting_minimum_voltage = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . battery_function = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryFunction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryType" , value : tmp as u32 }) ? ; for v in & mut __struct . serial_number { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . device_name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . capacity_full_specification) ; __tmp . put_i32_le (self . capacity_full) ; __tmp . put_u16_le (self . cycle_count) ; __tmp . put_u16_le (self . weight) ; __tmp . put_u16_le (self . discharge_minimum_voltage) ; __tmp . put_u16_le (self . charging_minimum_voltage) ; __tmp . put_u16_le (self . resting_minimum_voltage) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . battery_function as u8) ; __tmp . put_u8 (self . mavtype as u8) ; for val in & self . serial_number { __tmp . put_u8 (* val) ; } for val in & self . device_name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_PRESSURE_DATA { pub time_usec : u64 , pub press_abs : i16 , pub press_diff1 : i16 , pub press_diff2 : i16 , pub temperature : i16 , } impl RAW_PRESSURE_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , press_abs : 0_i16 , press_diff1 : 0_i16 , press_diff2 : 0_i16 , temperature : 0_i16 , } ; } impl Default for RAW_PRESSURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_PRESSURE_DATA { type Message = MavMessage ; const ID : u32 = 28u32 ; const NAME : & 'static str = "RAW_PRESSURE" ; const EXTRA_CRC : u8 = 67u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . press_abs = buf . get_i16_le () ; __struct . press_diff1 = buf . get_i16_le () ; __struct . press_diff2 = buf . get_i16_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i16_le (self . press_abs) ; __tmp . put_i16_le (self . press_diff1) ; __tmp . put_i16_le (self . press_diff2) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_SET_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , } impl PARAM_EXT_SET_DATA { pub const ENCODED_LEN : usize = 147usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , } ; } impl Default for PARAM_EXT_SET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_SET_DATA { type Message = MavMessage ; const ID : u32 = 323u32 ; const NAME : & 'static str = "PARAM_EXT_SET" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 147usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIBRATION_DATA { pub time_usec : u64 , pub vibration_x : f32 , pub vibration_y : f32 , pub vibration_z : f32 , pub clipping_0 : u32 , pub clipping_1 : u32 , pub clipping_2 : u32 , } impl VIBRATION_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , vibration_x : 0.0_f32 , vibration_y : 0.0_f32 , vibration_z : 0.0_f32 , clipping_0 : 0_u32 , clipping_1 : 0_u32 , clipping_2 : 0_u32 , } ; } impl Default for VIBRATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIBRATION_DATA { type Message = MavMessage ; const ID : u32 = 241u32 ; const NAME : & 'static str = "VIBRATION" ; const EXTRA_CRC : u8 = 90u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . vibration_x = buf . get_f32_le () ; __struct . vibration_y = buf . get_f32_le () ; __struct . vibration_z = buf . get_f32_le () ; __struct . clipping_0 = buf . get_u32_le () ; __struct . clipping_1 = buf . get_u32_le () ; __struct . clipping_2 = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . vibration_x) ; __tmp . put_f32_le (self . vibration_y) ; __tmp . put_f32_le (self . vibration_z) ; __tmp . put_u32_le (self . clipping_0) ; __tmp . put_u32_le (self . clipping_1) ; __tmp . put_u32_le (self . clipping_2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_ACK_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOGGING_ACK_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOGGING_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_ACK_DATA { type Message = MavMessage ; const ID : u32 = 268u32 ; const NAME : & 'static str = "LOGGING_ACK" ; const EXTRA_CRC : u8 = 14u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE2_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE2_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE2_DATA { type Message = MavMessage ; const ID : u32 = 137u32 ; const NAME : & 'static str = "SCALED_PRESSURE2" ; const EXTRA_CRC : u8 = 195u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_VERSION_DATA { pub capabilities : MavProtocolCapability , pub uid : u64 , pub flight_sw_version : u32 , pub middleware_sw_version : u32 , pub os_sw_version : u32 , pub board_version : u32 , pub vendor_id : u16 , pub product_id : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub flight_custom_version : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub middleware_custom_version : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub os_custom_version : [u8 ; 8] , } impl AUTOPILOT_VERSION_DATA { pub const ENCODED_LEN : usize = 60usize ; pub const DEFAULT : Self = Self { capabilities : MavProtocolCapability :: DEFAULT , uid : 0_u64 , flight_sw_version : 0_u32 , middleware_sw_version : 0_u32 , os_sw_version : 0_u32 , board_version : 0_u32 , vendor_id : 0_u16 , product_id : 0_u16 , flight_custom_version : [0_u8 ; 8usize] , middleware_custom_version : [0_u8 ; 8usize] , os_custom_version : [0_u8 ; 8usize] , } ; } impl Default for AUTOPILOT_VERSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_VERSION_DATA { type Message = MavMessage ; const ID : u32 = 148u32 ; const NAME : & 'static str = "AUTOPILOT_VERSION" ; const EXTRA_CRC : u8 = 178u8 ; const ENCODED_LEN : usize = 60usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u64_le () ; __struct . capabilities = MavProtocolCapability :: from_bits (tmp & MavProtocolCapability :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavProtocolCapability" , value : tmp as u32 }) ? ; __struct . uid = buf . get_u64_le () ; __struct . flight_sw_version = buf . get_u32_le () ; __struct . middleware_sw_version = buf . get_u32_le () ; __struct . os_sw_version = buf . get_u32_le () ; __struct . board_version = buf . get_u32_le () ; __struct . vendor_id = buf . get_u16_le () ; __struct . product_id = buf . get_u16_le () ; for v in & mut __struct . flight_custom_version { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . middleware_custom_version { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . os_custom_version { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . capabilities . bits ()) ; __tmp . put_u64_le (self . uid) ; __tmp . put_u32_le (self . flight_sw_version) ; __tmp . put_u32_le (self . middleware_sw_version) ; __tmp . put_u32_le (self . os_sw_version) ; __tmp . put_u32_le (self . board_version) ; __tmp . put_u16_le (self . vendor_id) ; __tmp . put_u16_le (self . product_id) ; for val in & self . flight_custom_version { __tmp . put_u8 (* val) ; } for val in & self . middleware_custom_version { __tmp . put_u8 (* val) ; } for val in & self . os_custom_version { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAMED_VALUE_FLOAT_DATA { pub time_boot_ms : u32 , pub value : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl NAMED_VALUE_FLOAT_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0.0_f32 , name : [0_u8 ; 10usize] , } ; } impl Default for NAMED_VALUE_FLOAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAMED_VALUE_FLOAT_DATA { type Message = MavMessage ; const ID : u32 = 251u32 ; const NAME : & 'static str = "NAMED_VALUE_FLOAT" ; const EXTRA_CRC : u8 = 170u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_f32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . value) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RTK_DATA { pub time_last_baseline_ms : u32 , pub tow : u32 , pub baseline_a_mm : i32 , pub baseline_b_mm : i32 , pub baseline_c_mm : i32 , pub accuracy : u32 , pub iar_num_hypotheses : i32 , pub wn : u16 , pub rtk_receiver_id : u8 , pub rtk_health : u8 , pub rtk_rate : u8 , pub nsats : u8 , pub baseline_coords_type : RtkBaselineCoordinateSystem , } impl GPS_RTK_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_last_baseline_ms : 0_u32 , tow : 0_u32 , baseline_a_mm : 0_i32 , baseline_b_mm : 0_i32 , baseline_c_mm : 0_i32 , accuracy : 0_u32 , iar_num_hypotheses : 0_i32 , wn : 0_u16 , rtk_receiver_id : 0_u8 , rtk_health : 0_u8 , rtk_rate : 0_u8 , nsats : 0_u8 , baseline_coords_type : RtkBaselineCoordinateSystem :: DEFAULT , } ; } impl Default for GPS_RTK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RTK_DATA { type Message = MavMessage ; const ID : u32 = 127u32 ; const NAME : & 'static str = "GPS_RTK" ; const EXTRA_CRC : u8 = 25u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_last_baseline_ms = buf . get_u32_le () ; __struct . tow = buf . get_u32_le () ; __struct . baseline_a_mm = buf . get_i32_le () ; __struct . baseline_b_mm = buf . get_i32_le () ; __struct . baseline_c_mm = buf . get_i32_le () ; __struct . accuracy = buf . get_u32_le () ; __struct . iar_num_hypotheses = buf . get_i32_le () ; __struct . wn = buf . get_u16_le () ; __struct . rtk_receiver_id = buf . get_u8 () ; __struct . rtk_health = buf . get_u8 () ; __struct . rtk_rate = buf . get_u8 () ; __struct . nsats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . baseline_coords_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "RtkBaselineCoordinateSystem" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_last_baseline_ms) ; __tmp . put_u32_le (self . tow) ; __tmp . put_i32_le (self . baseline_a_mm) ; __tmp . put_i32_le (self . baseline_b_mm) ; __tmp . put_i32_le (self . baseline_c_mm) ; __tmp . put_u32_le (self . accuracy) ; __tmp . put_i32_le (self . iar_num_hypotheses) ; __tmp . put_u16_le (self . wn) ; __tmp . put_u8 (self . rtk_receiver_id) ; __tmp . put_u8 (self . rtk_health) ; __tmp . put_u8 (self . rtk_rate) ; __tmp . put_u8 (self . nsats) ; __tmp . put_u8 (self . baseline_coords_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVIONIX_ADSB_OUT_DYNAMIC_DATA { pub utcTime : u32 , pub gpsLat : i32 , pub gpsLon : i32 , pub gpsAlt : i32 , pub baroAltMSL : i32 , pub accuracyHor : u32 , pub accuracyVert : u16 , pub accuracyVel : u16 , pub velVert : i16 , pub velNS : i16 , pub VelEW : i16 , pub state : UavionixAdsbOutDynamicState , pub squawk : u16 , pub gpsFix : UavionixAdsbOutDynamicGpsFix , pub numSats : u8 , pub emergencyStatus : UavionixAdsbEmergencyStatus , } impl UAVIONIX_ADSB_OUT_DYNAMIC_DATA { pub const ENCODED_LEN : usize = 41usize ; pub const DEFAULT : Self = Self { utcTime : 0_u32 , gpsLat : 0_i32 , gpsLon : 0_i32 , gpsAlt : 0_i32 , baroAltMSL : 0_i32 , accuracyHor : 0_u32 , accuracyVert : 0_u16 , accuracyVel : 0_u16 , velVert : 0_i16 , velNS : 0_i16 , VelEW : 0_i16 , state : UavionixAdsbOutDynamicState :: DEFAULT , squawk : 0_u16 , gpsFix : UavionixAdsbOutDynamicGpsFix :: DEFAULT , numSats : 0_u8 , emergencyStatus : UavionixAdsbEmergencyStatus :: DEFAULT , } ; } impl Default for UAVIONIX_ADSB_OUT_DYNAMIC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVIONIX_ADSB_OUT_DYNAMIC_DATA { type Message = MavMessage ; const ID : u32 = 10002u32 ; const NAME : & 'static str = "UAVIONIX_ADSB_OUT_DYNAMIC" ; const EXTRA_CRC : u8 = 186u8 ; const ENCODED_LEN : usize = 41usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . utcTime = buf . get_u32_le () ; __struct . gpsLat = buf . get_i32_le () ; __struct . gpsLon = buf . get_i32_le () ; __struct . gpsAlt = buf . get_i32_le () ; __struct . baroAltMSL = buf . get_i32_le () ; __struct . accuracyHor = buf . get_u32_le () ; __struct . accuracyVert = buf . get_u16_le () ; __struct . accuracyVel = buf . get_u16_le () ; __struct . velVert = buf . get_i16_le () ; __struct . velNS = buf . get_i16_le () ; __struct . VelEW = buf . get_i16_le () ; let tmp = buf . get_u16_le () ; __struct . state = UavionixAdsbOutDynamicState :: from_bits (tmp & UavionixAdsbOutDynamicState :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UavionixAdsbOutDynamicState" , value : tmp as u32 }) ? ; __struct . squawk = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . gpsFix = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutDynamicGpsFix" , value : tmp as u32 }) ? ; __struct . numSats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . emergencyStatus = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbEmergencyStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . utcTime) ; __tmp . put_i32_le (self . gpsLat) ; __tmp . put_i32_le (self . gpsLon) ; __tmp . put_i32_le (self . gpsAlt) ; __tmp . put_i32_le (self . baroAltMSL) ; __tmp . put_u32_le (self . accuracyHor) ; __tmp . put_u16_le (self . accuracyVert) ; __tmp . put_u16_le (self . accuracyVel) ; __tmp . put_i16_le (self . velVert) ; __tmp . put_i16_le (self . velNS) ; __tmp . put_i16_le (self . VelEW) ; __tmp . put_u16_le (self . state . bits ()) ; __tmp . put_u16_le (self . squawk) ; __tmp . put_u8 (self . gpsFix as u8) ; __tmp . put_u8 (self . numSats) ; __tmp . put_u8 (self . emergencyStatus as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_CANCEL_DATA { pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , } impl COMMAND_CANCEL_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for COMMAND_CANCEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_CANCEL_DATA { type Message = MavMessage ; const ID : u32 = 80u32 ; const NAME : & 'static str = "COMMAND_CANCEL" ; const EXTRA_CRC : u8 = 14u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_FOV_STATUS_DATA { pub time_boot_ms : u32 , pub lat_camera : i32 , pub lon_camera : i32 , pub alt_camera : i32 , pub lat_image : i32 , pub lon_image : i32 , pub alt_image : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub hfov : f32 , pub vfov : f32 , } impl CAMERA_FOV_STATUS_DATA { pub const ENCODED_LEN : usize = 52usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_camera : 0_i32 , lon_camera : 0_i32 , alt_camera : 0_i32 , lat_image : 0_i32 , lon_image : 0_i32 , alt_image : 0_i32 , q : [0.0_f32 ; 4usize] , hfov : 0.0_f32 , vfov : 0.0_f32 , } ; } impl Default for CAMERA_FOV_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_FOV_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 271u32 ; const NAME : & 'static str = "CAMERA_FOV_STATUS" ; const EXTRA_CRC : u8 = 22u8 ; const ENCODED_LEN : usize = 52usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_camera = buf . get_i32_le () ; __struct . lon_camera = buf . get_i32_le () ; __struct . alt_camera = buf . get_i32_le () ; __struct . lat_image = buf . get_i32_le () ; __struct . lon_image = buf . get_i32_le () ; __struct . alt_image = buf . get_i32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . hfov = buf . get_f32_le () ; __struct . vfov = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_camera) ; __tmp . put_i32_le (self . lon_camera) ; __tmp . put_i32_le (self . alt_camera) ; __tmp . put_i32_le (self . lat_image) ; __tmp . put_i32_le (self . lon_image) ; __tmp . put_i32_le (self . alt_image) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . hfov) ; __tmp . put_f32_le (self . vfov) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub failure_flags : GimbalDeviceErrorFlags , pub flags : GimbalDeviceFlags , pub target_system : u8 , pub target_component : u8 , } impl GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , failure_flags : GimbalDeviceErrorFlags :: DEFAULT , flags : GimbalDeviceFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 285u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_ATTITUDE_STATUS" ; const EXTRA_CRC : u8 = 137u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . failure_flags = GimbalDeviceErrorFlags :: from_bits (tmp & GimbalDeviceErrorFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceErrorFlags" , value : tmp as u32 }) ? ; let tmp = buf . get_u16_le () ; __struct . flags = GimbalDeviceFlags :: from_bits (tmp & GimbalDeviceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u32_le (self . failure_flags . bits ()) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_ERASE_DATA { pub target_system : u8 , pub target_component : u8 , } impl LOG_ERASE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_ERASE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_ERASE_DATA { type Message = MavMessage ; const ID : u32 = 121u32 ; const NAME : & 'static str = "LOG_ERASE" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_DATA_DATA { pub ofs : u32 , pub count : u32 , pub id : u16 , pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_DATA_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { ofs : 0_u32 , count : 0_u32 , id : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_DATA_DATA { type Message = MavMessage ; const ID : u32 = 119u32 ; const NAME : & 'static str = "LOG_REQUEST_DATA" ; const EXTRA_CRC : u8 = 116u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ofs = buf . get_u32_le () ; __struct . count = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ofs) ; __tmp . put_u32_le (self . count) ; __tmp . put_u16_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LINK_NODE_STATUS_DATA { pub timestamp : u64 , pub tx_rate : u32 , pub rx_rate : u32 , pub messages_sent : u32 , pub messages_received : u32 , pub messages_lost : u32 , pub rx_parse_err : u16 , pub tx_overflows : u16 , pub rx_overflows : u16 , pub tx_buf : u8 , pub rx_buf : u8 , } impl LINK_NODE_STATUS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , tx_rate : 0_u32 , rx_rate : 0_u32 , messages_sent : 0_u32 , messages_received : 0_u32 , messages_lost : 0_u32 , rx_parse_err : 0_u16 , tx_overflows : 0_u16 , rx_overflows : 0_u16 , tx_buf : 0_u8 , rx_buf : 0_u8 , } ; } impl Default for LINK_NODE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LINK_NODE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 8u32 ; const NAME : & 'static str = "LINK_NODE_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . tx_rate = buf . get_u32_le () ; __struct . rx_rate = buf . get_u32_le () ; __struct . messages_sent = buf . get_u32_le () ; __struct . messages_received = buf . get_u32_le () ; __struct . messages_lost = buf . get_u32_le () ; __struct . rx_parse_err = buf . get_u16_le () ; __struct . tx_overflows = buf . get_u16_le () ; __struct . rx_overflows = buf . get_u16_le () ; __struct . tx_buf = buf . get_u8 () ; __struct . rx_buf = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u32_le (self . tx_rate) ; __tmp . put_u32_le (self . rx_rate) ; __tmp . put_u32_le (self . messages_sent) ; __tmp . put_u32_le (self . messages_received) ; __tmp . put_u32_le (self . messages_lost) ; __tmp . put_u16_le (self . rx_parse_err) ; __tmp . put_u16_le (self . tx_overflows) ; __tmp . put_u16_le (self . rx_overflows) ; __tmp . put_u8 (self . tx_buf) ; __tmp . put_u8 (self . rx_buf) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_INFORMATION_DATA { pub time_boot_ms : u32 , pub cap_flags : GimbalManagerCapFlags , pub roll_min : f32 , pub roll_max : f32 , pub pitch_min : f32 , pub pitch_max : f32 , pub yaw_min : f32 , pub yaw_max : f32 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_INFORMATION_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , cap_flags : GimbalManagerCapFlags :: DEFAULT , roll_min : 0.0_f32 , roll_max : 0.0_f32 , pitch_min : 0.0_f32 , pitch_max : 0.0_f32 , yaw_min : 0.0_f32 , yaw_max : 0.0_f32 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 280u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_INFORMATION" ; const EXTRA_CRC : u8 = 70u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u32_le () ; __struct . cap_flags = GimbalManagerCapFlags :: from_bits (tmp & GimbalManagerCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalManagerCapFlags" , value : tmp as u32 }) ? ; __struct . roll_min = buf . get_f32_le () ; __struct . roll_max = buf . get_f32_le () ; __struct . pitch_min = buf . get_f32_le () ; __struct . pitch_max = buf . get_f32_le () ; __struct . yaw_min = buf . get_f32_le () ; __struct . yaw_max = buf . get_f32_le () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . cap_flags . bits ()) ; __tmp . put_f32_le (self . roll_min) ; __tmp . put_f32_le (self . roll_max) ; __tmp . put_f32_le (self . pitch_min) ; __tmp . put_f32_le (self . pitch_max) ; __tmp . put_f32_le (self . yaw_min) ; __tmp . put_f32_le (self . yaw_max) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct STORAGE_INFORMATION_DATA { pub time_boot_ms : u32 , pub total_capacity : f32 , pub used_capacity : f32 , pub available_capacity : f32 , pub read_speed : f32 , pub write_speed : f32 , pub storage_id : u8 , pub storage_count : u8 , pub status : StorageStatus , } impl STORAGE_INFORMATION_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , total_capacity : 0.0_f32 , used_capacity : 0.0_f32 , available_capacity : 0.0_f32 , read_speed : 0.0_f32 , write_speed : 0.0_f32 , storage_id : 0_u8 , storage_count : 0_u8 , status : StorageStatus :: DEFAULT , } ; } impl Default for STORAGE_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for STORAGE_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 261u32 ; const NAME : & 'static str = "STORAGE_INFORMATION" ; const EXTRA_CRC : u8 = 179u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . total_capacity = buf . get_f32_le () ; __struct . used_capacity = buf . get_f32_le () ; __struct . available_capacity = buf . get_f32_le () ; __struct . read_speed = buf . get_f32_le () ; __struct . write_speed = buf . get_f32_le () ; __struct . storage_id = buf . get_u8 () ; __struct . storage_count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "StorageStatus" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . total_capacity) ; __tmp . put_f32_le (self . used_capacity) ; __tmp . put_f32_le (self . available_capacity) ; __tmp . put_f32_le (self . read_speed) ; __tmp . put_f32_le (self . write_speed) ; __tmp . put_u8 (self . storage_id) ; __tmp . put_u8 (self . storage_count) ; __tmp . put_u8 (self . status as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOGGING_DATA_ACKED_DATA { pub sequence : u16 , pub target_system : u8 , pub target_component : u8 , pub length : u8 , pub first_message_offset : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 249] , } impl LOGGING_DATA_ACKED_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , length : 0_u8 , first_message_offset : 0_u8 , data : [0_u8 ; 249usize] , } ; } impl Default for LOGGING_DATA_ACKED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOGGING_DATA_ACKED_DATA { type Message = MavMessage ; const ID : u32 = 267u32 ; const NAME : & 'static str = "LOGGING_DATA_ACKED" ; const EXTRA_CRC : u8 = 35u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . length = buf . get_u8 () ; __struct . first_message_offset = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . length) ; __tmp . put_u8 (self . first_message_offset) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_FLOAT_ARRAY_DATA { pub time_usec : u64 , pub array_id : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl DEBUG_FLOAT_ARRAY_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , array_id : 0_u16 , name : [0_u8 ; 10usize] , } ; } impl Default for DEBUG_FLOAT_ARRAY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_FLOAT_ARRAY_DATA { type Message = MavMessage ; const ID : u32 = 350u32 ; const NAME : & 'static str = "DEBUG_FLOAT_ARRAY" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . array_id = buf . get_u16_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u16_le (self . array_id) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU2_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU2_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU2_DATA { type Message = MavMessage ; const ID : u32 = 116u32 ; const NAME : & 'static str = "SCALED_IMU2" ; const EXTRA_CRC : u8 = 76u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COLLISION_DATA { pub id : u32 , pub time_to_minimum_delta : f32 , pub altitude_minimum_delta : f32 , pub horizontal_minimum_delta : f32 , pub src : MavCollisionSrc , pub action : MavCollisionAction , pub threat_level : MavCollisionThreatLevel , } impl COLLISION_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { id : 0_u32 , time_to_minimum_delta : 0.0_f32 , altitude_minimum_delta : 0.0_f32 , horizontal_minimum_delta : 0.0_f32 , src : MavCollisionSrc :: DEFAULT , action : MavCollisionAction :: DEFAULT , threat_level : MavCollisionThreatLevel :: DEFAULT , } ; } impl Default for COLLISION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COLLISION_DATA { type Message = MavMessage ; const ID : u32 = 247u32 ; const NAME : & 'static str = "COLLISION" ; const EXTRA_CRC : u8 = 81u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . time_to_minimum_delta = buf . get_f32_le () ; __struct . altitude_minimum_delta = buf . get_f32_le () ; __struct . horizontal_minimum_delta = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . src = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionSrc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . action = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionAction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . threat_level = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCollisionThreatLevel" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_f32_le (self . time_to_minimum_delta) ; __tmp . put_f32_le (self . altitude_minimum_delta) ; __tmp . put_f32_le (self . horizontal_minimum_delta) ; __tmp . put_u8 (self . src as u8) ; __tmp . put_u8 (self . action as u8) ; __tmp . put_u8 (self . threat_level as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_INT_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_INT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_INT_DATA { type Message = MavMessage ; const ID : u32 = 51u32 ; const NAME : & 'static str = "MISSION_REQUEST_INT" ; const EXTRA_CRC : u8 = 196u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SERVO_OUTPUT_RAW_DATA { pub time_usec : u32 , pub servo1_raw : u16 , pub servo2_raw : u16 , pub servo3_raw : u16 , pub servo4_raw : u16 , pub servo5_raw : u16 , pub servo6_raw : u16 , pub servo7_raw : u16 , pub servo8_raw : u16 , pub port : u8 , } impl SERVO_OUTPUT_RAW_DATA { pub const ENCODED_LEN : usize = 21usize ; pub const DEFAULT : Self = Self { time_usec : 0_u32 , servo1_raw : 0_u16 , servo2_raw : 0_u16 , servo3_raw : 0_u16 , servo4_raw : 0_u16 , servo5_raw : 0_u16 , servo6_raw : 0_u16 , servo7_raw : 0_u16 , servo8_raw : 0_u16 , port : 0_u8 , } ; } impl Default for SERVO_OUTPUT_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SERVO_OUTPUT_RAW_DATA { type Message = MavMessage ; const ID : u32 = 36u32 ; const NAME : & 'static str = "SERVO_OUTPUT_RAW" ; const EXTRA_CRC : u8 = 222u8 ; const ENCODED_LEN : usize = 21usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u32_le () ; __struct . servo1_raw = buf . get_u16_le () ; __struct . servo2_raw = buf . get_u16_le () ; __struct . servo3_raw = buf . get_u16_le () ; __struct . servo4_raw = buf . get_u16_le () ; __struct . servo5_raw = buf . get_u16_le () ; __struct . servo6_raw = buf . get_u16_le () ; __struct . servo7_raw = buf . get_u16_le () ; __struct . servo8_raw = buf . get_u16_le () ; __struct . port = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_usec) ; __tmp . put_u16_le (self . servo1_raw) ; __tmp . put_u16_le (self . servo2_raw) ; __tmp . put_u16_le (self . servo3_raw) ; __tmp . put_u16_le (self . servo4_raw) ; __tmp . put_u16_le (self . servo5_raw) ; __tmp . put_u16_le (self . servo6_raw) ; __tmp . put_u16_le (self . servo7_raw) ; __tmp . put_u16_le (self . servo8_raw) ; __tmp . put_u8 (self . port) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl PARAM_EXT_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PARAM_EXT_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 321u32 ; const NAME : & 'static str = "PARAM_EXT_REQUEST_LIST" ; const EXTRA_CRC : u8 = 88u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_DATA_DATA { pub lat : i32 , pub lon : i32 , pub grid_spacing : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [i16 ; 16] , pub gridbit : u8 , } impl TERRAIN_DATA_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , grid_spacing : 0_u16 , data : [0_i16 ; 16usize] , gridbit : 0_u8 , } ; } impl Default for TERRAIN_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_DATA_DATA { type Message = MavMessage ; const ID : u32 = 134u32 ; const NAME : & 'static str = "TERRAIN_DATA" ; const EXTRA_CRC : u8 = 229u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . grid_spacing = buf . get_u16_le () ; for v in & mut __struct . data { let val = buf . get_i16_le () ; * v = val ; } __struct . gridbit = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . grid_spacing) ; for val in & self . data { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . gridbit) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_DATA { pub time_boot_ms : u32 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub chan9_raw : u16 , pub chan10_raw : u16 , pub chan11_raw : u16 , pub chan12_raw : u16 , pub chan13_raw : u16 , pub chan14_raw : u16 , pub chan15_raw : u16 , pub chan16_raw : u16 , pub chan17_raw : u16 , pub chan18_raw : u16 , pub chancount : u8 , pub rssi : u8 , } impl RC_CHANNELS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , chan9_raw : 0_u16 , chan10_raw : 0_u16 , chan11_raw : 0_u16 , chan12_raw : 0_u16 , chan13_raw : 0_u16 , chan14_raw : 0_u16 , chan15_raw : 0_u16 , chan16_raw : 0_u16 , chan17_raw : 0_u16 , chan18_raw : 0_u16 , chancount : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_DATA { type Message = MavMessage ; const ID : u32 = 65u32 ; const NAME : & 'static str = "RC_CHANNELS" ; const EXTRA_CRC : u8 = 118u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . chan9_raw = buf . get_u16_le () ; __struct . chan10_raw = buf . get_u16_le () ; __struct . chan11_raw = buf . get_u16_le () ; __struct . chan12_raw = buf . get_u16_le () ; __struct . chan13_raw = buf . get_u16_le () ; __struct . chan14_raw = buf . get_u16_le () ; __struct . chan15_raw = buf . get_u16_le () ; __struct . chan16_raw = buf . get_u16_le () ; __struct . chan17_raw = buf . get_u16_le () ; __struct . chan18_raw = buf . get_u16_le () ; __struct . chancount = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u16_le (self . chan9_raw) ; __tmp . put_u16_le (self . chan10_raw) ; __tmp . put_u16_le (self . chan11_raw) ; __tmp . put_u16_le (self . chan12_raw) ; __tmp . put_u16_le (self . chan13_raw) ; __tmp . put_u16_le (self . chan14_raw) ; __tmp . put_u16_le (self . chan15_raw) ; __tmp . put_u16_le (self . chan16_raw) ; __tmp . put_u16_le (self . chan17_raw) ; __tmp . put_u16_le (self . chan18_raw) ; __tmp . put_u8 (self . chancount) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_SENSOR_DATA { pub time_usec : u64 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub xmag : f32 , pub ymag : f32 , pub zmag : f32 , pub abs_pressure : f32 , pub diff_pressure : f32 , pub pressure_alt : f32 , pub temperature : f32 , pub fields_updated : HilSensorUpdatedFlags , } impl HIL_SENSOR_DATA { pub const ENCODED_LEN : usize = 64usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , xmag : 0.0_f32 , ymag : 0.0_f32 , zmag : 0.0_f32 , abs_pressure : 0.0_f32 , diff_pressure : 0.0_f32 , pressure_alt : 0.0_f32 , temperature : 0.0_f32 , fields_updated : HilSensorUpdatedFlags :: DEFAULT , } ; } impl Default for HIL_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 107u32 ; const NAME : & 'static str = "HIL_SENSOR" ; const EXTRA_CRC : u8 = 108u8 ; const ENCODED_LEN : usize = 64usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . xmag = buf . get_f32_le () ; __struct . ymag = buf . get_f32_le () ; __struct . zmag = buf . get_f32_le () ; __struct . abs_pressure = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . pressure_alt = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . fields_updated = HilSensorUpdatedFlags :: from_bits (tmp & HilSensorUpdatedFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HilSensorUpdatedFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . xmag) ; __tmp . put_f32_le (self . ymag) ; __tmp . put_f32_le (self . zmag) ; __tmp . put_f32_le (self . abs_pressure) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . pressure_alt) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u32_le (self . fields_updated . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_POSITION_TARGET_LOCAL_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub target_system : u8 , pub target_component : u8 , pub coordinate_frame : MavFrame , } impl SET_POSITION_TARGET_LOCAL_NED_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for SET_POSITION_TARGET_LOCAL_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_POSITION_TARGET_LOCAL_NED_DATA { type Message = MavMessage ; const ID : u32 = 84u32 ; const NAME : & 'static str = "SET_POSITION_TARGET_LOCAL_NED" ; const EXTRA_CRC : u8 = 143u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { pub flags : GimbalManagerFlags , pub pitch : f32 , pub yaw : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , pitch : 0.0_f32 , yaw : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 288u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_MANUAL_CONTROL" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct STATUSTEXT_DATA { pub severity : MavSeverity , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub text : [u8 ; 50] , } impl STATUSTEXT_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { severity : MavSeverity :: DEFAULT , text : [0_u8 ; 50usize] , } ; } impl Default for STATUSTEXT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for STATUSTEXT_DATA { type Message = MavMessage ; const ID : u32 = 253u32 ; const NAME : & 'static str = "STATUSTEXT" ; const EXTRA_CRC : u8 = 83u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . severity = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavSeverity" , value : tmp as u32 }) ? ; for v in & mut __struct . text { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . severity as u8) ; for val in & self . text { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_RAW_DATA { pub time_boot_ms : u32 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub port : u8 , pub rssi : u8 , } impl RC_CHANNELS_RAW_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , port : 0_u8 , rssi : 0_u8 , } ; } impl Default for RC_CHANNELS_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_RAW_DATA { type Message = MavMessage ; const ID : u32 = 35u32 ; const NAME : & 'static str = "RC_CHANNELS_RAW" ; const EXTRA_CRC : u8 = 244u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . port = buf . get_u8 () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u8 (self . port) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_QUATERNION_COV_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 9] , } impl ATTITUDE_QUATERNION_COV_DATA { pub const ENCODED_LEN : usize = 72usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , q : [0.0_f32 ; 4usize] , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , covariance : [0.0_f32 ; 9usize] , } ; } impl Default for ATTITUDE_QUATERNION_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_QUATERNION_COV_DATA { type Message = MavMessage ; const ID : u32 = 61u32 ; const NAME : & 'static str = "ATTITUDE_QUATERNION_COV" ; const EXTRA_CRC : u8 = 167u8 ; const ENCODED_LEN : usize = 72usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MESSAGE_INTERVAL_DATA { pub interval_us : i32 , pub message_id : u16 , } impl MESSAGE_INTERVAL_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { interval_us : 0_i32 , message_id : 0_u16 , } ; } impl Default for MESSAGE_INTERVAL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MESSAGE_INTERVAL_DATA { type Message = MavMessage ; const ID : u32 = 244u32 ; const NAME : & 'static str = "MESSAGE_INTERVAL" ; const EXTRA_CRC : u8 = 95u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . interval_us = buf . get_i32_le () ; __struct . message_id = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . interval_us) ; __tmp . put_u16_le (self . message_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SAFETY_ALLOWED_AREA_DATA { pub p1x : f32 , pub p1y : f32 , pub p1z : f32 , pub p2x : f32 , pub p2y : f32 , pub p2z : f32 , pub frame : MavFrame , } impl SAFETY_ALLOWED_AREA_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { p1x : 0.0_f32 , p1y : 0.0_f32 , p1z : 0.0_f32 , p2x : 0.0_f32 , p2y : 0.0_f32 , p2z : 0.0_f32 , frame : MavFrame :: DEFAULT , } ; } impl Default for SAFETY_ALLOWED_AREA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SAFETY_ALLOWED_AREA_DATA { type Message = MavMessage ; const ID : u32 = 55u32 ; const NAME : & 'static str = "SAFETY_ALLOWED_AREA" ; const EXTRA_CRC : u8 = 3u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . p1x = buf . get_f32_le () ; __struct . p1y = buf . get_f32_le () ; __struct . p1z = buf . get_f32_le () ; __struct . p2x = buf . get_f32_le () ; __struct . p2y = buf . get_f32_le () ; __struct . p2z = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . p1x) ; __tmp . put_f32_le (self . p1y) ; __tmp . put_f32_le (self . p1z) ; __tmp . put_f32_le (self . p2x) ; __tmp . put_f32_le (self . p2y) ; __tmp . put_f32_le (self . p2z) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EXTENDED_SYS_STATE_DATA { pub vtol_state : MavVtolState , pub landed_state : MavLandedState , } impl EXTENDED_SYS_STATE_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { vtol_state : MavVtolState :: DEFAULT , landed_state : MavLandedState :: DEFAULT , } ; } impl Default for EXTENDED_SYS_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EXTENDED_SYS_STATE_DATA { type Message = MavMessage ; const ID : u32 = 245u32 ; const NAME : & 'static str = "EXTENDED_SYS_STATE" ; const EXTRA_CRC : u8 = 130u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . vtol_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavVtolState" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . vtol_state as u8) ; __tmp . put_u8 (self . landed_state as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_INJECT_DATA_DATA { pub target_system : u8 , pub target_component : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 110] , } impl GPS_INJECT_DATA_DATA { pub const ENCODED_LEN : usize = 113usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , len : 0_u8 , data : [0_u8 ; 110usize] , } ; } impl Default for GPS_INJECT_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_INJECT_DATA_DATA { type Message = MavMessage ; const ID : u32 = 123u32 ; const NAME : & 'static str = "GPS_INJECT_DATA" ; const EXTRA_CRC : u8 = 250u8 ; const ENCODED_LEN : usize = 113usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HOME_POSITION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub approach_x : f32 , pub approach_y : f32 , pub approach_z : f32 , } impl HOME_POSITION_DATA { pub const ENCODED_LEN : usize = 52usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , approach_x : 0.0_f32 , approach_y : 0.0_f32 , approach_z : 0.0_f32 , } ; } impl Default for HOME_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HOME_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 242u32 ; const NAME : & 'static str = "HOME_POSITION" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 52usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . approach_x = buf . get_f32_le () ; __struct . approach_y = buf . get_f32_le () ; __struct . approach_z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . approach_x) ; __tmp . put_f32_le (self . approach_y) ; __tmp . put_f32_le (self . approach_z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_REQUEST_READ_DATA { pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , } impl PARAM_EXT_REQUEST_READ_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , } ; } impl Default for PARAM_EXT_REQUEST_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_REQUEST_READ_DATA { type Message = MavMessage ; const ID : u32 = 320u32 ; const NAME : & 'static str = "PARAM_EXT_REQUEST_READ" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { pub operator_latitude : i32 , pub operator_longitude : i32 , pub operator_altitude_geo : f32 , pub timestamp : u32 , pub target_system : u8 , pub target_component : u8 , } impl OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { operator_latitude : 0_i32 , operator_longitude : 0_i32 , operator_altitude_geo : 0.0_f32 , timestamp : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA { type Message = MavMessage ; const ID : u32 = 12919u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SYSTEM_UPDATE" ; const EXTRA_CRC : u8 = 7u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . operator_latitude = buf . get_i32_le () ; __struct . operator_longitude = buf . get_i32_le () ; __struct . operator_altitude_geo = buf . get_f32_le () ; __struct . timestamp = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . operator_latitude) ; __tmp . put_i32_le (self . operator_longitude) ; __tmp . put_f32_le (self . operator_altitude_geo) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TRAJECTORY_REPRESENTATION_BEZIER_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub delta : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_yaw : [f32 ; 5] , pub valid_points : u8 , } impl TRAJECTORY_REPRESENTATION_BEZIER_DATA { pub const ENCODED_LEN : usize = 109usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , pos_x : [0.0_f32 ; 5usize] , pos_y : [0.0_f32 ; 5usize] , pos_z : [0.0_f32 ; 5usize] , delta : [0.0_f32 ; 5usize] , pos_yaw : [0.0_f32 ; 5usize] , valid_points : 0_u8 , } ; } impl Default for TRAJECTORY_REPRESENTATION_BEZIER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TRAJECTORY_REPRESENTATION_BEZIER_DATA { type Message = MavMessage ; const ID : u32 = 333u32 ; const NAME : & 'static str = "TRAJECTORY_REPRESENTATION_BEZIER" ; const EXTRA_CRC : u8 = 231u8 ; const ENCODED_LEN : usize = 109usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . pos_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . delta { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_yaw { let val = buf . get_f32_le () ; * v = val ; } __struct . valid_points = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . pos_x { __tmp . put_f32_le (* val) ; } for val in & self . pos_y { __tmp . put_f32_le (* val) ; } for val in & self . pos_z { __tmp . put_f32_le (* val) ; } for val in & self . delta { __tmp . put_f32_le (* val) ; } for val in & self . pos_yaw { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . valid_points) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_BASIC_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub id_type : MavOdidIdType , pub ua_type : MavOdidUaType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uas_id : [u8 ; 20] , } impl OPEN_DRONE_ID_BASIC_ID_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , id_type : MavOdidIdType :: DEFAULT , ua_type : MavOdidUaType :: DEFAULT , uas_id : [0_u8 ; 20usize] , } ; } impl Default for OPEN_DRONE_ID_BASIC_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_BASIC_ID_DATA { type Message = MavMessage ; const ID : u32 = 12900u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_BASIC_ID" ; const EXTRA_CRC : u8 = 114u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . id_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidIdType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . ua_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidUaType" , value : tmp as u32 }) ? ; for v in & mut __struct . uas_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . id_type as u8) ; __tmp . put_u8 (self . ua_type as u8) ; for val in & self . uas_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ACTUATOR_CONTROL_TARGET_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 8] , pub group_mlx : u8 , } impl ACTUATOR_CONTROL_TARGET_DATA { pub const ENCODED_LEN : usize = 41usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , controls : [0.0_f32 ; 8usize] , group_mlx : 0_u8 , } ; } impl Default for ACTUATOR_CONTROL_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ACTUATOR_CONTROL_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 140u32 ; const NAME : & 'static str = "ACTUATOR_CONTROL_TARGET" ; const EXTRA_CRC : u8 = 181u8 ; const ENCODED_LEN : usize = 41usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } __struct . group_mlx = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . group_mlx) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAV_CONTROLLER_OUTPUT_DATA { pub nav_roll : f32 , pub nav_pitch : f32 , pub alt_error : f32 , pub aspd_error : f32 , pub xtrack_error : f32 , pub nav_bearing : i16 , pub target_bearing : i16 , pub wp_dist : u16 , } impl NAV_CONTROLLER_OUTPUT_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { nav_roll : 0.0_f32 , nav_pitch : 0.0_f32 , alt_error : 0.0_f32 , aspd_error : 0.0_f32 , xtrack_error : 0.0_f32 , nav_bearing : 0_i16 , target_bearing : 0_i16 , wp_dist : 0_u16 , } ; } impl Default for NAV_CONTROLLER_OUTPUT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAV_CONTROLLER_OUTPUT_DATA { type Message = MavMessage ; const ID : u32 = 62u32 ; const NAME : & 'static str = "NAV_CONTROLLER_OUTPUT" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . nav_roll = buf . get_f32_le () ; __struct . nav_pitch = buf . get_f32_le () ; __struct . alt_error = buf . get_f32_le () ; __struct . aspd_error = buf . get_f32_le () ; __struct . xtrack_error = buf . get_f32_le () ; __struct . nav_bearing = buf . get_i16_le () ; __struct . target_bearing = buf . get_i16_le () ; __struct . wp_dist = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . nav_roll) ; __tmp . put_f32_le (self . nav_pitch) ; __tmp . put_f32_le (self . alt_error) ; __tmp . put_f32_le (self . aspd_error) ; __tmp . put_f32_le (self . xtrack_error) ; __tmp . put_i16_le (self . nav_bearing) ; __tmp . put_i16_le (self . target_bearing) ; __tmp . put_u16_le (self . wp_dist) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RC_CHANNELS_OVERRIDE_DATA { pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub target_system : u8 , pub target_component : u8 , } impl RC_CHANNELS_OVERRIDE_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for RC_CHANNELS_OVERRIDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RC_CHANNELS_OVERRIDE_DATA { type Message = MavMessage ; const ID : u32 = 70u32 ; const NAME : & 'static str = "RC_CHANNELS_OVERRIDE" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_HOME_POSITION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub approach_x : f32 , pub approach_y : f32 , pub approach_z : f32 , pub target_system : u8 , } impl SET_HOME_POSITION_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , q : [0.0_f32 ; 4usize] , approach_x : 0.0_f32 , approach_y : 0.0_f32 , approach_z : 0.0_f32 , target_system : 0_u8 , } ; } impl Default for SET_HOME_POSITION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_HOME_POSITION_DATA { type Message = MavMessage ; const ID : u32 = 243u32 ; const NAME : & 'static str = "SET_HOME_POSITION" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . approach_x = buf . get_f32_le () ; __struct . approach_y = buf . get_f32_le () ; __struct . approach_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . approach_x) ; __tmp . put_f32_le (self . approach_y) ; __tmp . put_f32_le (self . approach_z) ; __tmp . put_u8 (self . target_system) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_OPTICAL_FLOW_DATA { pub time_usec : u64 , pub integration_time_us : u32 , pub integrated_x : f32 , pub integrated_y : f32 , pub integrated_xgyro : f32 , pub integrated_ygyro : f32 , pub integrated_zgyro : f32 , pub time_delta_distance_us : u32 , pub distance : f32 , pub temperature : i16 , pub sensor_id : u8 , pub quality : u8 , } impl HIL_OPTICAL_FLOW_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , integration_time_us : 0_u32 , integrated_x : 0.0_f32 , integrated_y : 0.0_f32 , integrated_xgyro : 0.0_f32 , integrated_ygyro : 0.0_f32 , integrated_zgyro : 0.0_f32 , time_delta_distance_us : 0_u32 , distance : 0.0_f32 , temperature : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for HIL_OPTICAL_FLOW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_OPTICAL_FLOW_DATA { type Message = MavMessage ; const ID : u32 = 114u32 ; const NAME : & 'static str = "HIL_OPTICAL_FLOW" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . integration_time_us = buf . get_u32_le () ; __struct . integrated_x = buf . get_f32_le () ; __struct . integrated_y = buf . get_f32_le () ; __struct . integrated_xgyro = buf . get_f32_le () ; __struct . integrated_ygyro = buf . get_f32_le () ; __struct . integrated_zgyro = buf . get_f32_le () ; __struct . time_delta_distance_us = buf . get_u32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . integration_time_us) ; __tmp . put_f32_le (self . integrated_x) ; __tmp . put_f32_le (self . integrated_y) ; __tmp . put_f32_le (self . integrated_xgyro) ; __tmp . put_f32_le (self . integrated_ygyro) ; __tmp . put_f32_le (self . integrated_zgyro) ; __tmp . put_u32_le (self . time_delta_distance_us) ; __tmp . put_f32_le (self . distance) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct V2_EXTENSION_DATA { pub message_type : u16 , pub target_network : u8 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 249] , } impl V2_EXTENSION_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { message_type : 0_u16 , target_network : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , payload : [0_u8 ; 249usize] , } ; } impl Default for V2_EXTENSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for V2_EXTENSION_DATA { type Message = MavMessage ; const ID : u32 = 248u32 ; const NAME : & 'static str = "V2_EXTENSION" ; const EXTRA_CRC : u8 = 8u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . message_type = buf . get_u16_le () ; __struct . target_network = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . message_type) ; __tmp . put_u8 (self . target_network) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_ACTUATOR_CONTROLS_DATA { pub time_usec : u64 , pub flags : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 16] , pub mode : MavModeFlag , } impl HIL_ACTUATOR_CONTROLS_DATA { pub const ENCODED_LEN : usize = 81usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , flags : 0_u64 , controls : [0.0_f32 ; 16usize] , mode : MavModeFlag :: DEFAULT , } ; } impl Default for HIL_ACTUATOR_CONTROLS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_ACTUATOR_CONTROLS_DATA { type Message = MavMessage ; const ID : u32 = 93u32 ; const NAME : & 'static str = "HIL_ACTUATOR_CONTROLS" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 81usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . flags = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u64_le (self . flags) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . mode . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_MAP_RC_DATA { pub param_value0 : f32 , pub scale : f32 , pub param_value_min : f32 , pub param_value_max : f32 , pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub parameter_rc_channel_index : u8 , } impl PARAM_MAP_RC_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param_value0 : 0.0_f32 , scale : 0.0_f32 , param_value_min : 0.0_f32 , param_value_max : 0.0_f32 , param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , parameter_rc_channel_index : 0_u8 , } ; } impl Default for PARAM_MAP_RC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_MAP_RC_DATA { type Message = MavMessage ; const ID : u32 = 50u32 ; const NAME : & 'static str = "PARAM_MAP_RC" ; const EXTRA_CRC : u8 = 78u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value0 = buf . get_f32_le () ; __struct . scale = buf . get_f32_le () ; __struct . param_value_min = buf . get_f32_le () ; __struct . param_value_max = buf . get_f32_le () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } __struct . parameter_rc_channel_index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value0) ; __tmp . put_f32_le (self . scale) ; __tmp . put_f32_le (self . param_value_min) ; __tmp . put_f32_le (self . param_value_max) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . parameter_rc_channel_index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TIME_ESTIMATE_TO_TARGET_DATA { pub safe_return : i32 , pub land : i32 , pub mission_next_item : i32 , pub mission_end : i32 , pub commanded_action : i32 , } impl TIME_ESTIMATE_TO_TARGET_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { safe_return : 0_i32 , land : 0_i32 , mission_next_item : 0_i32 , mission_end : 0_i32 , commanded_action : 0_i32 , } ; } impl Default for TIME_ESTIMATE_TO_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TIME_ESTIMATE_TO_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 380u32 ; const NAME : & 'static str = "TIME_ESTIMATE_TO_TARGET" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . safe_return = buf . get_i32_le () ; __struct . land = buf . get_i32_le () ; __struct . mission_next_item = buf . get_i32_le () ; __struct . mission_end = buf . get_i32_le () ; __struct . commanded_action = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . safe_return) ; __tmp . put_i32_le (self . land) ; __tmp . put_i32_le (self . mission_next_item) ; __tmp . put_i32_le (self . mission_end) ; __tmp . put_i32_le (self . commanded_action) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BUTTON_CHANGE_DATA { pub time_boot_ms : u32 , pub last_change_ms : u32 , pub state : u8 , } impl BUTTON_CHANGE_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , last_change_ms : 0_u32 , state : 0_u8 , } ; } impl Default for BUTTON_CHANGE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BUTTON_CHANGE_DATA { type Message = MavMessage ; const ID : u32 = 257u32 ; const NAME : & 'static str = "BUTTON_CHANGE" ; const EXTRA_CRC : u8 = 131u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . last_change_ms = buf . get_u32_le () ; __struct . state = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . last_change_ms) ; __tmp . put_u8 (self . state) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl PARAM_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PARAM_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 21u32 ; const NAME : & 'static str = "PARAM_REQUEST_LIST" ; const EXTRA_CRC : u8 = 159u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CHANGE_OPERATOR_CONTROL_DATA { pub target_system : u8 , pub control_request : u8 , pub version : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub passkey : [u8 ; 25] , } impl CHANGE_OPERATOR_CONTROL_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , control_request : 0_u8 , version : 0_u8 , passkey : [0_u8 ; 25usize] , } ; } impl Default for CHANGE_OPERATOR_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CHANGE_OPERATOR_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 5u32 ; const NAME : & 'static str = "CHANGE_OPERATOR_CONTROL" ; const EXTRA_CRC : u8 = 217u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . control_request = buf . get_u8 () ; __struct . version = buf . get_u8 () ; for v in & mut __struct . passkey { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . control_request) ; __tmp . put_u8 (self . version) ; for val in & self . passkey { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CHANGE_OPERATOR_CONTROL_ACK_DATA { pub gcs_system_id : u8 , pub control_request : u8 , pub ack : u8 , } impl CHANGE_OPERATOR_CONTROL_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { gcs_system_id : 0_u8 , control_request : 0_u8 , ack : 0_u8 , } ; } impl Default for CHANGE_OPERATOR_CONTROL_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CHANGE_OPERATOR_CONTROL_ACK_DATA { type Message = MavMessage ; const ID : u32 = 6u32 ; const NAME : & 'static str = "CHANGE_OPERATOR_CONTROL_ACK" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . gcs_system_id = buf . get_u8 () ; __struct . control_request = buf . get_u8 () ; __struct . ack = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . gcs_system_id) ; __tmp . put_u8 (self . control_request) ; __tmp . put_u8 (self . ack) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_LOCATION_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude_barometric : f32 , pub altitude_geodetic : f32 , pub height : f32 , pub timestamp : f32 , pub direction : u16 , pub speed_horizontal : u16 , pub speed_vertical : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub status : MavOdidStatus , pub height_reference : MavOdidHeightRef , pub horizontal_accuracy : MavOdidHorAcc , pub vertical_accuracy : MavOdidVerAcc , pub barometer_accuracy : MavOdidVerAcc , pub speed_accuracy : MavOdidSpeedAcc , pub timestamp_accuracy : MavOdidTimeAcc , } impl OPEN_DRONE_ID_LOCATION_DATA { pub const ENCODED_LEN : usize = 59usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude_barometric : 0.0_f32 , altitude_geodetic : 0.0_f32 , height : 0.0_f32 , timestamp : 0.0_f32 , direction : 0_u16 , speed_horizontal : 0_u16 , speed_vertical : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , status : MavOdidStatus :: DEFAULT , height_reference : MavOdidHeightRef :: DEFAULT , horizontal_accuracy : MavOdidHorAcc :: DEFAULT , vertical_accuracy : MavOdidVerAcc :: DEFAULT , barometer_accuracy : MavOdidVerAcc :: DEFAULT , speed_accuracy : MavOdidSpeedAcc :: DEFAULT , timestamp_accuracy : MavOdidTimeAcc :: DEFAULT , } ; } impl Default for OPEN_DRONE_ID_LOCATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_LOCATION_DATA { type Message = MavMessage ; const ID : u32 = 12901u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_LOCATION" ; const EXTRA_CRC : u8 = 254u8 ; const ENCODED_LEN : usize = 59usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude_barometric = buf . get_f32_le () ; __struct . altitude_geodetic = buf . get_f32_le () ; __struct . height = buf . get_f32_le () ; __struct . timestamp = buf . get_f32_le () ; __struct . direction = buf . get_u16_le () ; __struct . speed_horizontal = buf . get_u16_le () ; __struct . speed_vertical = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . height_reference = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidHeightRef" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . horizontal_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidHorAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . vertical_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidVerAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . barometer_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidVerAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . speed_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidSpeedAcc" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . timestamp_accuracy = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidTimeAcc" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_f32_le (self . altitude_barometric) ; __tmp . put_f32_le (self . altitude_geodetic) ; __tmp . put_f32_le (self . height) ; __tmp . put_f32_le (self . timestamp) ; __tmp . put_u16_le (self . direction) ; __tmp . put_u16_le (self . speed_horizontal) ; __tmp . put_i16_le (self . speed_vertical) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . height_reference as u8) ; __tmp . put_u8 (self . horizontal_accuracy as u8) ; __tmp . put_u8 (self . vertical_accuracy as u8) ; __tmp . put_u8 (self . barometer_accuracy as u8) ; __tmp . put_u8 (self . speed_accuracy as u8) ; __tmp . put_u8 (self . timestamp_accuracy as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct BATTERY_STATUS_DATA { pub current_consumed : i32 , pub energy_consumed : i32 , pub temperature : i16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltages : [u16 ; 10] , pub current_battery : i16 , pub id : u8 , pub battery_function : MavBatteryFunction , pub mavtype : MavBatteryType , pub battery_remaining : i8 , } impl BATTERY_STATUS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { current_consumed : 0_i32 , energy_consumed : 0_i32 , temperature : 0_i16 , voltages : [0_u16 ; 10usize] , current_battery : 0_i16 , id : 0_u8 , battery_function : MavBatteryFunction :: DEFAULT , mavtype : MavBatteryType :: DEFAULT , battery_remaining : 0_i8 , } ; } impl Default for BATTERY_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for BATTERY_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 147u32 ; const NAME : & 'static str = "BATTERY_STATUS" ; const EXTRA_CRC : u8 = 154u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . current_consumed = buf . get_i32_le () ; __struct . energy_consumed = buf . get_i32_le () ; __struct . temperature = buf . get_i16_le () ; for v in & mut __struct . voltages { let val = buf . get_u16_le () ; * v = val ; } __struct . current_battery = buf . get_i16_le () ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . battery_function = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryFunction" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavBatteryType" , value : tmp as u32 }) ? ; __struct . battery_remaining = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . current_consumed) ; __tmp . put_i32_le (self . energy_consumed) ; __tmp . put_i16_le (self . temperature) ; for val in & self . voltages { __tmp . put_u16_le (* val) ; } __tmp . put_i16_le (self . current_battery) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . battery_function as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_i8 (self . battery_remaining) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SYSTEM_DATA { pub operator_latitude : i32 , pub operator_longitude : i32 , pub area_ceiling : f32 , pub area_floor : f32 , pub operator_altitude_geo : f32 , pub timestamp : u32 , pub area_count : u16 , pub area_radius : u16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub operator_location_type : MavOdidOperatorLocationType , pub classification_type : MavOdidClassificationType , pub category_eu : MavOdidCategoryEu , pub class_eu : MavOdidClassEu , } impl OPEN_DRONE_ID_SYSTEM_DATA { pub const ENCODED_LEN : usize = 54usize ; pub const DEFAULT : Self = Self { operator_latitude : 0_i32 , operator_longitude : 0_i32 , area_ceiling : 0.0_f32 , area_floor : 0.0_f32 , operator_altitude_geo : 0.0_f32 , timestamp : 0_u32 , area_count : 0_u16 , area_radius : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , operator_location_type : MavOdidOperatorLocationType :: DEFAULT , classification_type : MavOdidClassificationType :: DEFAULT , category_eu : MavOdidCategoryEu :: DEFAULT , class_eu : MavOdidClassEu :: DEFAULT , } ; } impl Default for OPEN_DRONE_ID_SYSTEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SYSTEM_DATA { type Message = MavMessage ; const ID : u32 = 12904u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SYSTEM" ; const EXTRA_CRC : u8 = 77u8 ; const ENCODED_LEN : usize = 54usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . operator_latitude = buf . get_i32_le () ; __struct . operator_longitude = buf . get_i32_le () ; __struct . area_ceiling = buf . get_f32_le () ; __struct . area_floor = buf . get_f32_le () ; __struct . operator_altitude_geo = buf . get_f32_le () ; __struct . timestamp = buf . get_u32_le () ; __struct . area_count = buf . get_u16_le () ; __struct . area_radius = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . operator_location_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidOperatorLocationType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . classification_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidClassificationType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . category_eu = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidCategoryEu" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . class_eu = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidClassEu" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . operator_latitude) ; __tmp . put_i32_le (self . operator_longitude) ; __tmp . put_f32_le (self . area_ceiling) ; __tmp . put_f32_le (self . area_floor) ; __tmp . put_f32_le (self . operator_altitude_geo) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_u16_le (self . area_count) ; __tmp . put_u16_le (self . area_radius) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . operator_location_type as u8) ; __tmp . put_u8 (self . classification_type as u8) ; __tmp . put_u8 (self . category_eu as u8) ; __tmp . put_u8 (self . class_eu as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_VISION_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl GLOBAL_VISION_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for GLOBAL_VISION_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_VISION_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 101u32 ; const NAME : & 'static str = "GLOBAL_VISION_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 102u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SAFETY_SET_ALLOWED_AREA_DATA { pub p1x : f32 , pub p1y : f32 , pub p1z : f32 , pub p2x : f32 , pub p2y : f32 , pub p2z : f32 , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , } impl SAFETY_SET_ALLOWED_AREA_DATA { pub const ENCODED_LEN : usize = 27usize ; pub const DEFAULT : Self = Self { p1x : 0.0_f32 , p1y : 0.0_f32 , p1z : 0.0_f32 , p2x : 0.0_f32 , p2y : 0.0_f32 , p2z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , } ; } impl Default for SAFETY_SET_ALLOWED_AREA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SAFETY_SET_ALLOWED_AREA_DATA { type Message = MavMessage ; const ID : u32 = 54u32 ; const NAME : & 'static str = "SAFETY_SET_ALLOWED_AREA" ; const EXTRA_CRC : u8 = 15u8 ; const ENCODED_LEN : usize = 27usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . p1x = buf . get_f32_le () ; __struct . p1y = buf . get_f32_le () ; __struct . p1z = buf . get_f32_le () ; __struct . p2x = buf . get_f32_le () ; __struct . p2y = buf . get_f32_le () ; __struct . p2z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . p1x) ; __tmp . put_f32_le (self . p1y) ; __tmp . put_f32_le (self . p1z) ; __tmp . put_f32_le (self . p2x) ; __tmp . put_f32_le (self . p2y) ; __tmp . put_f32_le (self . p2z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_PITCHYAW_DATA { pub flags : GimbalManagerFlags , pub pitch : f32 , pub yaw : f32 , pub pitch_rate : f32 , pub yaw_rate : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_PITCHYAW_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , pitch : 0.0_f32 , yaw : 0.0_f32 , pitch_rate : 0.0_f32 , yaw_rate : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_PITCHYAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_PITCHYAW_DATA { type Message = MavMessage ; const ID : u32 = 287u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_PITCHYAW" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . pitch_rate = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . pitch_rate) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ACTUATOR_OUTPUT_STATUS_DATA { pub time_usec : u64 , pub active : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub actuator : [f32 ; 32] , } impl ACTUATOR_OUTPUT_STATUS_DATA { pub const ENCODED_LEN : usize = 140usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , active : 0_u32 , actuator : [0.0_f32 ; 32usize] , } ; } impl Default for ACTUATOR_OUTPUT_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ACTUATOR_OUTPUT_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 375u32 ; const NAME : & 'static str = "ACTUATOR_OUTPUT_STATUS" ; const EXTRA_CRC : u8 = 251u8 ; const ENCODED_LEN : usize = 140usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . active = buf . get_u32_le () ; for v in & mut __struct . actuator { let val = buf . get_f32_le () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . active) ; for val in & self . actuator { __tmp . put_f32_le (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGHRES_IMU_DATA { pub time_usec : u64 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub xmag : f32 , pub ymag : f32 , pub zmag : f32 , pub abs_pressure : f32 , pub diff_pressure : f32 , pub pressure_alt : f32 , pub temperature : f32 , pub fields_updated : HighresImuUpdatedFlags , } impl HIGHRES_IMU_DATA { pub const ENCODED_LEN : usize = 62usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , xmag : 0.0_f32 , ymag : 0.0_f32 , zmag : 0.0_f32 , abs_pressure : 0.0_f32 , diff_pressure : 0.0_f32 , pressure_alt : 0.0_f32 , temperature : 0.0_f32 , fields_updated : HighresImuUpdatedFlags :: DEFAULT , } ; } impl Default for HIGHRES_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGHRES_IMU_DATA { type Message = MavMessage ; const ID : u32 = 105u32 ; const NAME : & 'static str = "HIGHRES_IMU" ; const EXTRA_CRC : u8 = 93u8 ; const ENCODED_LEN : usize = 62usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . xmag = buf . get_f32_le () ; __struct . ymag = buf . get_f32_le () ; __struct . zmag = buf . get_f32_le () ; __struct . abs_pressure = buf . get_f32_le () ; __struct . diff_pressure = buf . get_f32_le () ; __struct . pressure_alt = buf . get_f32_le () ; __struct . temperature = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . fields_updated = HighresImuUpdatedFlags :: from_bits (tmp & HighresImuUpdatedFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HighresImuUpdatedFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . xmag) ; __tmp . put_f32_le (self . ymag) ; __tmp . put_f32_le (self . zmag) ; __tmp . put_f32_le (self . abs_pressure) ; __tmp . put_f32_le (self . diff_pressure) ; __tmp . put_f32_le (self . pressure_alt) ; __tmp . put_f32_le (self . temperature) ; __tmp . put_u16_le (self . fields_updated . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_EXT_ACK_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_value : [u8 ; 128] , pub param_type : MavParamExtType , pub param_result : ParamAck , } impl PARAM_EXT_ACK_DATA { pub const ENCODED_LEN : usize = 146usize ; pub const DEFAULT : Self = Self { param_id : [0_u8 ; 16usize] , param_value : [0_u8 ; 128usize] , param_type : MavParamExtType :: DEFAULT , param_result : ParamAck :: DEFAULT , } ; } impl Default for PARAM_EXT_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_EXT_ACK_DATA { type Message = MavMessage ; const ID : u32 = 324u32 ; const NAME : & 'static str = "PARAM_EXT_ACK" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 146usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . param_value { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamExtType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . param_result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "ParamAck" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } for val in & self . param_value { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; __tmp . put_u8 (self . param_result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_CHECK_DATA { pub lat : i32 , pub lon : i32 , } impl TERRAIN_CHECK_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , } ; } impl Default for TERRAIN_CHECK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_CHECK_DATA { type Message = MavMessage ; const ID : u32 = 135u32 ; const NAME : & 'static str = "TERRAIN_CHECK" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_RC_INPUTS_RAW_DATA { pub time_usec : u64 , pub chan1_raw : u16 , pub chan2_raw : u16 , pub chan3_raw : u16 , pub chan4_raw : u16 , pub chan5_raw : u16 , pub chan6_raw : u16 , pub chan7_raw : u16 , pub chan8_raw : u16 , pub chan9_raw : u16 , pub chan10_raw : u16 , pub chan11_raw : u16 , pub chan12_raw : u16 , pub rssi : u8 , } impl HIL_RC_INPUTS_RAW_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , chan1_raw : 0_u16 , chan2_raw : 0_u16 , chan3_raw : 0_u16 , chan4_raw : 0_u16 , chan5_raw : 0_u16 , chan6_raw : 0_u16 , chan7_raw : 0_u16 , chan8_raw : 0_u16 , chan9_raw : 0_u16 , chan10_raw : 0_u16 , chan11_raw : 0_u16 , chan12_raw : 0_u16 , rssi : 0_u8 , } ; } impl Default for HIL_RC_INPUTS_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_RC_INPUTS_RAW_DATA { type Message = MavMessage ; const ID : u32 = 92u32 ; const NAME : & 'static str = "HIL_RC_INPUTS_RAW" ; const EXTRA_CRC : u8 = 54u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . chan1_raw = buf . get_u16_le () ; __struct . chan2_raw = buf . get_u16_le () ; __struct . chan3_raw = buf . get_u16_le () ; __struct . chan4_raw = buf . get_u16_le () ; __struct . chan5_raw = buf . get_u16_le () ; __struct . chan6_raw = buf . get_u16_le () ; __struct . chan7_raw = buf . get_u16_le () ; __struct . chan8_raw = buf . get_u16_le () ; __struct . chan9_raw = buf . get_u16_le () ; __struct . chan10_raw = buf . get_u16_le () ; __struct . chan11_raw = buf . get_u16_le () ; __struct . chan12_raw = buf . get_u16_le () ; __struct . rssi = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u16_le (self . chan1_raw) ; __tmp . put_u16_le (self . chan2_raw) ; __tmp . put_u16_le (self . chan3_raw) ; __tmp . put_u16_le (self . chan4_raw) ; __tmp . put_u16_le (self . chan5_raw) ; __tmp . put_u16_le (self . chan6_raw) ; __tmp . put_u16_le (self . chan7_raw) ; __tmp . put_u16_le (self . chan8_raw) ; __tmp . put_u16_le (self . chan9_raw) ; __tmp . put_u16_le (self . chan10_raw) ; __tmp . put_u16_le (self . chan11_raw) ; __tmp . put_u16_le (self . chan12_raw) ; __tmp . put_u8 (self . rssi) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_INT_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub seq : u16 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl MISSION_ITEM_INT_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , seq : 0_u16 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for MISSION_ITEM_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_INT_DATA { type Message = MavMessage ; const ID : u32 = 73u32 ; const NAME : & 'static str = "MISSION_ITEM_INT" ; const EXTRA_CRC : u8 = 38u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; __struct . seq = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATT_POS_MOCAP_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub x : f32 , pub y : f32 , pub z : f32 , } impl ATT_POS_MOCAP_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , q : [0.0_f32 ; 4usize] , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , } ; } impl Default for ATT_POS_MOCAP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATT_POS_MOCAP_DATA { type Message = MavMessage ; const ID : u32 = 138u32 ; const NAME : & 'static str = "ATT_POS_MOCAP" ; const EXTRA_CRC : u8 = 109u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_x : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_y : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc_z : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub pos_yaw : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel_yaw : [f32 ; 5] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub command : [u16 ; 5] , pub valid_points : u8 , } impl TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { pub const ENCODED_LEN : usize = 239usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , pos_x : [0.0_f32 ; 5usize] , pos_y : [0.0_f32 ; 5usize] , pos_z : [0.0_f32 ; 5usize] , vel_x : [0.0_f32 ; 5usize] , vel_y : [0.0_f32 ; 5usize] , vel_z : [0.0_f32 ; 5usize] , acc_x : [0.0_f32 ; 5usize] , acc_y : [0.0_f32 ; 5usize] , acc_z : [0.0_f32 ; 5usize] , pos_yaw : [0.0_f32 ; 5usize] , vel_yaw : [0.0_f32 ; 5usize] , command : [0_u16 ; 5usize] , valid_points : 0_u8 , } ; } impl Default for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA { type Message = MavMessage ; const ID : u32 = 332u32 ; const NAME : & 'static str = "TRAJECTORY_REPRESENTATION_WAYPOINTS" ; const EXTRA_CRC : u8 = 236u8 ; const ENCODED_LEN : usize = 239usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . pos_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_x { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_y { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc_z { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . pos_yaw { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . vel_yaw { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . command { let val = buf . get_u16_le () ; * v = val ; } __struct . valid_points = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . pos_x { __tmp . put_f32_le (* val) ; } for val in & self . pos_y { __tmp . put_f32_le (* val) ; } for val in & self . pos_z { __tmp . put_f32_le (* val) ; } for val in & self . vel_x { __tmp . put_f32_le (* val) ; } for val in & self . vel_y { __tmp . put_f32_le (* val) ; } for val in & self . vel_z { __tmp . put_f32_le (* val) ; } for val in & self . acc_x { __tmp . put_f32_le (* val) ; } for val in & self . acc_y { __tmp . put_f32_le (* val) ; } for val in & self . acc_z { __tmp . put_f32_le (* val) ; } for val in & self . pos_yaw { __tmp . put_f32_le (* val) ; } for val in & self . vel_yaw { __tmp . put_f32_le (* val) ; } for val in & self . command { __tmp . put_u16_le (* val) ; } __tmp . put_u8 (self . valid_points) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RESPONSE_EVENT_ERROR_DATA { pub sequence : u16 , pub sequence_oldest_available : u16 , pub target_system : u8 , pub target_component : u8 , pub reason : MavEventErrorReason , } impl RESPONSE_EVENT_ERROR_DATA { pub const ENCODED_LEN : usize = 7usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , sequence_oldest_available : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , reason : MavEventErrorReason :: DEFAULT , } ; } impl Default for RESPONSE_EVENT_ERROR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RESPONSE_EVENT_ERROR_DATA { type Message = MavMessage ; const ID : u32 = 413u32 ; const NAME : & 'static str = "RESPONSE_EVENT_ERROR" ; const EXTRA_CRC : u8 = 77u8 ; const ENCODED_LEN : usize = 7usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; __struct . sequence_oldest_available = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . reason = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEventErrorReason" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u16_le (self . sequence_oldest_available) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . reason as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , } impl ATTITUDE_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , } ; } impl Default for ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 30u32 ; const NAME : & 'static str = "ATTITUDE" ; const EXTRA_CRC : u8 = 39u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_REQUEST_DATA { pub mask : u64 , pub lat : i32 , pub lon : i32 , pub grid_spacing : u16 , } impl TERRAIN_REQUEST_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { mask : 0_u64 , lat : 0_i32 , lon : 0_i32 , grid_spacing : 0_u16 , } ; } impl Default for TERRAIN_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 133u32 ; const NAME : & 'static str = "TERRAIN_REQUEST" ; const EXTRA_CRC : u8 = 6u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mask = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . grid_spacing = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . mask) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . grid_spacing) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FILE_TRANSFER_PROTOCOL_DATA { pub target_network : u8 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub payload : [u8 ; 251] , } impl FILE_TRANSFER_PROTOCOL_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { target_network : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , payload : [0_u8 ; 251usize] , } ; } impl Default for FILE_TRANSFER_PROTOCOL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FILE_TRANSFER_PROTOCOL_DATA { type Message = MavMessage ; const ID : u32 = 110u32 ; const NAME : & 'static str = "FILE_TRANSFER_PROTOCOL" ; const EXTRA_CRC : u8 = 84u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_network = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . payload { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_network) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . payload { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , } impl LOCAL_POSITION_NED_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , } ; } impl Default for LOCAL_POSITION_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_DATA { type Message = MavMessage ; const ID : u32 = 32u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED" ; const EXTRA_CRC : u8 = 185u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TERRAIN_REPORT_DATA { pub lat : i32 , pub lon : i32 , pub terrain_height : f32 , pub current_height : f32 , pub spacing : u16 , pub pending : u16 , pub loaded : u16 , } impl TERRAIN_REPORT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { lat : 0_i32 , lon : 0_i32 , terrain_height : 0.0_f32 , current_height : 0.0_f32 , spacing : 0_u16 , pending : 0_u16 , loaded : 0_u16 , } ; } impl Default for TERRAIN_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TERRAIN_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 136u32 ; const NAME : & 'static str = "TERRAIN_REPORT" ; const EXTRA_CRC : u8 = 1u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . terrain_height = buf . get_f32_le () ; __struct . current_height = buf . get_f32_le () ; __struct . spacing = buf . get_u16_le () ; __struct . pending = buf . get_u16_le () ; __struct . loaded = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . terrain_height) ; __tmp . put_f32_le (self . current_height) ; __tmp . put_u16_le (self . spacing) ; __tmp . put_u16_le (self . pending) ; __tmp . put_u16_le (self . loaded) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct REQUEST_EVENT_DATA { pub first_sequence : u16 , pub last_sequence : u16 , pub target_system : u8 , pub target_component : u8 , } impl REQUEST_EVENT_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { first_sequence : 0_u16 , last_sequence : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for REQUEST_EVENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for REQUEST_EVENT_DATA { type Message = MavMessage ; const ID : u32 = 412u32 ; const NAME : & 'static str = "REQUEST_EVENT" ; const EXTRA_CRC : u8 = 33u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . first_sequence = buf . get_u16_le () ; __struct . last_sequence = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . first_sequence) ; __tmp . put_u16_le (self . last_sequence) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ALTITUDE_DATA { pub time_usec : u64 , pub altitude_monotonic : f32 , pub altitude_amsl : f32 , pub altitude_local : f32 , pub altitude_relative : f32 , pub altitude_terrain : f32 , pub bottom_clearance : f32 , } impl ALTITUDE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , altitude_monotonic : 0.0_f32 , altitude_amsl : 0.0_f32 , altitude_local : 0.0_f32 , altitude_relative : 0.0_f32 , altitude_terrain : 0.0_f32 , bottom_clearance : 0.0_f32 , } ; } impl Default for ALTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ALTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 141u32 ; const NAME : & 'static str = "ALTITUDE" ; const EXTRA_CRC : u8 = 47u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . altitude_monotonic = buf . get_f32_le () ; __struct . altitude_amsl = buf . get_f32_le () ; __struct . altitude_local = buf . get_f32_le () ; __struct . altitude_relative = buf . get_f32_le () ; __struct . altitude_terrain = buf . get_f32_le () ; __struct . bottom_clearance = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . altitude_monotonic) ; __tmp . put_f32_le (self . altitude_amsl) ; __tmp . put_f32_le (self . altitude_local) ; __tmp . put_f32_le (self . altitude_relative) ; __tmp . put_f32_le (self . altitude_terrain) ; __tmp . put_f32_le (self . bottom_clearance) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIND_COV_DATA { pub time_usec : u64 , pub wind_x : f32 , pub wind_y : f32 , pub wind_z : f32 , pub var_horiz : f32 , pub var_vert : f32 , pub wind_alt : f32 , pub horiz_accuracy : f32 , pub vert_accuracy : f32 , } impl WIND_COV_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , wind_x : 0.0_f32 , wind_y : 0.0_f32 , wind_z : 0.0_f32 , var_horiz : 0.0_f32 , var_vert : 0.0_f32 , wind_alt : 0.0_f32 , horiz_accuracy : 0.0_f32 , vert_accuracy : 0.0_f32 , } ; } impl Default for WIND_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIND_COV_DATA { type Message = MavMessage ; const ID : u32 = 231u32 ; const NAME : & 'static str = "WIND_COV" ; const EXTRA_CRC : u8 = 105u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . wind_x = buf . get_f32_le () ; __struct . wind_y = buf . get_f32_le () ; __struct . wind_z = buf . get_f32_le () ; __struct . var_horiz = buf . get_f32_le () ; __struct . var_vert = buf . get_f32_le () ; __struct . wind_alt = buf . get_f32_le () ; __struct . horiz_accuracy = buf . get_f32_le () ; __struct . vert_accuracy = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . wind_x) ; __tmp . put_f32_le (self . wind_y) ; __tmp . put_f32_le (self . wind_z) ; __tmp . put_f32_le (self . var_horiz) ; __tmp . put_f32_le (self . var_vert) ; __tmp . put_f32_le (self . wind_alt) ; __tmp . put_f32_le (self . horiz_accuracy) ; __tmp . put_f32_le (self . vert_accuracy) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS2_RAW_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub dgps_age : u32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub cog : u16 , pub fix_type : GpsFixType , pub satellites_visible : u8 , pub dgps_numch : u8 , } impl GPS2_RAW_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , dgps_age : 0_u32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , cog : 0_u16 , fix_type : GpsFixType :: DEFAULT , satellites_visible : 0_u8 , dgps_numch : 0_u8 , } ; } impl Default for GPS2_RAW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS2_RAW_DATA { type Message = MavMessage ; const ID : u32 = 124u32 ; const NAME : & 'static str = "GPS2_RAW" ; const EXTRA_CRC : u8 = 87u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . dgps_age = buf . get_u32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . cog = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . satellites_visible = buf . get_u8 () ; __struct . dgps_numch = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u32_le (self . dgps_age) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type as u8) ; __tmp . put_u8 (self . satellites_visible) ; __tmp . put_u8 (self . dgps_numch) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SYS_STATUS_DATA { pub onboard_control_sensors_present : MavSysStatusSensor , pub onboard_control_sensors_enabled : MavSysStatusSensor , pub onboard_control_sensors_health : MavSysStatusSensor , pub load : u16 , pub voltage_battery : u16 , pub current_battery : i16 , pub drop_rate_comm : u16 , pub errors_comm : u16 , pub errors_count1 : u16 , pub errors_count2 : u16 , pub errors_count3 : u16 , pub errors_count4 : u16 , pub battery_remaining : i8 , } impl SYS_STATUS_DATA { pub const ENCODED_LEN : usize = 31usize ; pub const DEFAULT : Self = Self { onboard_control_sensors_present : MavSysStatusSensor :: DEFAULT , onboard_control_sensors_enabled : MavSysStatusSensor :: DEFAULT , onboard_control_sensors_health : MavSysStatusSensor :: DEFAULT , load : 0_u16 , voltage_battery : 0_u16 , current_battery : 0_i16 , drop_rate_comm : 0_u16 , errors_comm : 0_u16 , errors_count1 : 0_u16 , errors_count2 : 0_u16 , errors_count3 : 0_u16 , errors_count4 : 0_u16 , battery_remaining : 0_i8 , } ; } impl Default for SYS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SYS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 1u32 ; const NAME : & 'static str = "SYS_STATUS" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 31usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_present = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_enabled = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; let tmp = buf . get_u32_le () ; __struct . onboard_control_sensors_health = MavSysStatusSensor :: from_bits (tmp & MavSysStatusSensor :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavSysStatusSensor" , value : tmp as u32 }) ? ; __struct . load = buf . get_u16_le () ; __struct . voltage_battery = buf . get_u16_le () ; __struct . current_battery = buf . get_i16_le () ; __struct . drop_rate_comm = buf . get_u16_le () ; __struct . errors_comm = buf . get_u16_le () ; __struct . errors_count1 = buf . get_u16_le () ; __struct . errors_count2 = buf . get_u16_le () ; __struct . errors_count3 = buf . get_u16_le () ; __struct . errors_count4 = buf . get_u16_le () ; __struct . battery_remaining = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . onboard_control_sensors_present . bits ()) ; __tmp . put_u32_le (self . onboard_control_sensors_enabled . bits ()) ; __tmp . put_u32_le (self . onboard_control_sensors_health . bits ()) ; __tmp . put_u16_le (self . load) ; __tmp . put_u16_le (self . voltage_battery) ; __tmp . put_i16_le (self . current_battery) ; __tmp . put_u16_le (self . drop_rate_comm) ; __tmp . put_u16_le (self . errors_comm) ; __tmp . put_u16_le (self . errors_count1) ; __tmp . put_u16_le (self . errors_count2) ; __tmp . put_u16_le (self . errors_count3) ; __tmp . put_u16_le (self . errors_count4) ; __tmp . put_i8 (self . battery_remaining) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE_DATA { type Message = MavMessage ; const ID : u32 = 29u32 ; const NAME : & 'static str = "SCALED_PRESSURE" ; const EXTRA_CRC : u8 = 115u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_ATTITUDE_TARGET_DATA { pub time_boot_ms : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub body_roll_rate : f32 , pub body_pitch_rate : f32 , pub body_yaw_rate : f32 , pub thrust : f32 , pub target_system : u8 , pub target_component : u8 , pub type_mask : AttitudeTargetTypemask , } impl SET_ATTITUDE_TARGET_DATA { pub const ENCODED_LEN : usize = 39usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q : [0.0_f32 ; 4usize] , body_roll_rate : 0.0_f32 , body_pitch_rate : 0.0_f32 , body_yaw_rate : 0.0_f32 , thrust : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , type_mask : AttitudeTargetTypemask :: DEFAULT , } ; } impl Default for SET_ATTITUDE_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_ATTITUDE_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 82u32 ; const NAME : & 'static str = "SET_ATTITUDE_TARGET" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 39usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . body_roll_rate = buf . get_f32_le () ; __struct . body_pitch_rate = buf . get_f32_le () ; __struct . body_yaw_rate = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . type_mask = AttitudeTargetTypemask :: from_bits (tmp & AttitudeTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AttitudeTargetTypemask" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . body_roll_rate) ; __tmp . put_f32_le (self . body_pitch_rate) ; __tmp . put_f32_le (self . body_yaw_rate) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . type_mask . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_COV_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub ax : f32 , pub ay : f32 , pub az : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 45] , pub estimator_type : MavEstimatorType , } impl LOCAL_POSITION_NED_COV_DATA { pub const ENCODED_LEN : usize = 225usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , ax : 0.0_f32 , ay : 0.0_f32 , az : 0.0_f32 , covariance : [0.0_f32 ; 45usize] , estimator_type : MavEstimatorType :: DEFAULT , } ; } impl Default for LOCAL_POSITION_NED_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_COV_DATA { type Message = MavMessage ; const ID : u32 = 64u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED_COV" ; const EXTRA_CRC : u8 = 191u8 ; const ENCODED_LEN : usize = 225usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . ax = buf . get_f32_le () ; __struct . ay = buf . get_f32_le () ; __struct . az = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . estimator_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEstimatorType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . ax) ; __tmp . put_f32_le (self . ay) ; __tmp . put_f32_le (self . az) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . estimator_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ORBIT_EXECUTION_STATUS_DATA { pub time_usec : u64 , pub radius : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub frame : MavFrame , } impl ORBIT_EXECUTION_STATUS_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , radius : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , frame : MavFrame :: DEFAULT , } ; } impl Default for ORBIT_EXECUTION_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ORBIT_EXECUTION_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 360u32 ; const NAME : & 'static str = "ORBIT_EXECUTION_STATUS" ; const EXTRA_CRC : u8 = 11u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . radius = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . radius) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_REQUEST_READ_DATA { pub param_index : i16 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , } impl PARAM_REQUEST_READ_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { param_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , } ; } impl Default for PARAM_REQUEST_READ_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_REQUEST_READ_DATA { type Message = MavMessage ; const ID : u32 = 20u32 ; const NAME : & 'static str = "PARAM_REQUEST_READ" ; const EXTRA_CRC : u8 = 214u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . param_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MEMORY_VECT_DATA { pub address : u16 , pub ver : u8 , pub mavtype : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub value : [i8 ; 32] , } impl MEMORY_VECT_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { address : 0_u16 , ver : 0_u8 , mavtype : 0_u8 , value : [0_i8 ; 32usize] , } ; } impl Default for MEMORY_VECT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MEMORY_VECT_DATA { type Message = MavMessage ; const ID : u32 = 249u32 ; const NAME : & 'static str = "MEMORY_VECT" ; const EXTRA_CRC : u8 = 204u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . address = buf . get_u16_le () ; __struct . ver = buf . get_u8 () ; __struct . mavtype = buf . get_u8 () ; for v in & mut __struct . value { let val = buf . get_i8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . address) ; __tmp . put_u8 (self . ver) ; __tmp . put_u8 (self . mavtype) ; for val in & self . value { __tmp . put_i8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU_DATA { type Message = MavMessage ; const ID : u32 = 26u32 ; const NAME : & 'static str = "SCALED_IMU" ; const EXTRA_CRC : u8 = 170u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIDEO_STREAM_STATUS_DATA { pub framerate : f32 , pub bitrate : u32 , pub flags : VideoStreamStatusFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub hfov : u16 , pub stream_id : u8 , } impl VIDEO_STREAM_STATUS_DATA { pub const ENCODED_LEN : usize = 19usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , flags : VideoStreamStatusFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , hfov : 0_u16 , stream_id : 0_u8 , } ; } impl Default for VIDEO_STREAM_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIDEO_STREAM_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 270u32 ; const NAME : & 'static str = "VIDEO_STREAM_STATUS" ; const EXTRA_CRC : u8 = 59u8 ; const ENCODED_LEN : usize = 19usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamStatusFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . hfov = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . flags as u16) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u16_le (self . hfov) ; __tmp . put_u8 (self . stream_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_STATUS_DATA { pub satellites_visible : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_prn : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_used : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_elevation : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_azimuth : [u8 ; 20] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub satellite_snr : [u8 ; 20] , } impl GPS_STATUS_DATA { pub const ENCODED_LEN : usize = 101usize ; pub const DEFAULT : Self = Self { satellites_visible : 0_u8 , satellite_prn : [0_u8 ; 20usize] , satellite_used : [0_u8 ; 20usize] , satellite_elevation : [0_u8 ; 20usize] , satellite_azimuth : [0_u8 ; 20usize] , satellite_snr : [0_u8 ; 20usize] , } ; } impl Default for GPS_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 25u32 ; const NAME : & 'static str = "GPS_STATUS" ; const EXTRA_CRC : u8 = 23u8 ; const ENCODED_LEN : usize = 101usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . satellites_visible = buf . get_u8 () ; for v in & mut __struct . satellite_prn { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_used { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_elevation { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_azimuth { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . satellite_snr { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . satellites_visible) ; for val in & self . satellite_prn { __tmp . put_u8 (* val) ; } for val in & self . satellite_used { __tmp . put_u8 (* val) ; } for val in & self . satellite_elevation { __tmp . put_u8 (* val) ; } for val in & self . satellite_azimuth { __tmp . put_u8 (* val) ; } for val in & self . satellite_snr { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PING_DATA { pub time_usec : u64 , pub seq : u32 , pub target_system : u8 , pub target_component : u8 , } impl PING_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , seq : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for PING_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PING_DATA { type Message = MavMessage ; const ID : u32 = 4u32 ; const NAME : & 'static str = "PING" ; const EXTRA_CRC : u8 = 237u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . seq = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { pub time_boot_us : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub q_estimated_delay_us : u32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub v_estimated_delay_us : u32 , pub feed_forward_angular_velocity_z : f32 , pub estimator_status : EstimatorStatusFlags , pub target_system : u8 , pub target_component : u8 , pub landed_state : MavLandedState , } impl AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_us : 0_u64 , q : [0.0_f32 ; 4usize] , q_estimated_delay_us : 0_u32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , v_estimated_delay_us : 0_u32 , feed_forward_angular_velocity_z : 0.0_f32 , estimator_status : EstimatorStatusFlags :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , landed_state : MavLandedState :: DEFAULT , } ; } impl Default for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA { type Message = MavMessage ; const ID : u32 = 286u32 ; const NAME : & 'static str = "AUTOPILOT_STATE_FOR_GIMBAL_DEVICE" ; const EXTRA_CRC : u8 = 210u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_us = buf . get_u64_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . q_estimated_delay_us = buf . get_u32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . v_estimated_delay_us = buf . get_u32_le () ; __struct . feed_forward_angular_velocity_z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . estimator_status = EstimatorStatusFlags :: from_bits (tmp & EstimatorStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EstimatorStatusFlags" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_boot_us) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_u32_le (self . q_estimated_delay_us) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_u32_le (self . v_estimated_delay_us) ; __tmp . put_f32_le (self . feed_forward_angular_velocity_z) ; __tmp . put_u16_le (self . estimator_status . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . landed_state as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_PRESSURE3_DATA { pub time_boot_ms : u32 , pub press_abs : f32 , pub press_diff : f32 , pub temperature : i16 , } impl SCALED_PRESSURE3_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , press_abs : 0.0_f32 , press_diff : 0.0_f32 , temperature : 0_i16 , } ; } impl Default for SCALED_PRESSURE3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_PRESSURE3_DATA { type Message = MavMessage ; const ID : u32 = 143u32 ; const NAME : & 'static str = "SCALED_PRESSURE3" ; const EXTRA_CRC : u8 = 131u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . press_abs = buf . get_f32_le () ; __struct . press_diff = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . press_abs) ; __tmp . put_f32_le (self . press_diff) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WIFI_CONFIG_AP_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub ssid : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub password : [u8 ; 64] , } impl WIFI_CONFIG_AP_DATA { pub const ENCODED_LEN : usize = 96usize ; pub const DEFAULT : Self = Self { ssid : [0_u8 ; 32usize] , password : [0_u8 ; 64usize] , } ; } impl Default for WIFI_CONFIG_AP_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WIFI_CONFIG_AP_DATA { type Message = MavMessage ; const ID : u32 = 299u32 ; const NAME : & 'static str = "WIFI_CONFIG_AP" ; const EXTRA_CRC : u8 = 19u8 ; const ENCODED_LEN : usize = 96usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . ssid { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . password { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . ssid { __tmp . put_u8 (* val) ; } for val in & self . password { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_RPM_DATA { pub frequency : f32 , pub index : u8 , } impl RAW_RPM_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { frequency : 0.0_f32 , index : 0_u8 , } ; } impl Default for RAW_RPM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_RPM_DATA { type Message = MavMessage ; const ID : u32 = 339u32 ; const NAME : & 'static str = "RAW_RPM" ; const EXTRA_CRC : u8 = 199u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . frequency = buf . get_f32_le () ; __struct . index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . frequency) ; __tmp . put_u8 (self . index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_REACHED_DATA { pub seq : u16 , } impl MISSION_ITEM_REACHED_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , } ; } impl Default for MISSION_ITEM_REACHED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_REACHED_DATA { type Message = MavMessage ; const ID : u32 = 46u32 ; const NAME : & 'static str = "MISSION_ITEM_REACHED" ; const EXTRA_CRC : u8 = 11u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct TIMESYNC_DATA { pub tc1 : i64 , pub ts1 : i64 , } impl TIMESYNC_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { tc1 : 0_i64 , ts1 : 0_i64 , } ; } impl Default for TIMESYNC_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for TIMESYNC_DATA { type Message = MavMessage ; const ID : u32 = 111u32 ; const NAME : & 'static str = "TIMESYNC" ; const EXTRA_CRC : u8 = 34u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . tc1 = buf . get_i64_le () ; __struct . ts1 = buf . get_i64_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i64_le (self . tc1) ; __tmp . put_i64_le (self . ts1) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MOUNT_ORIENTATION_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl MOUNT_ORIENTATION_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for MOUNT_ORIENTATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MOUNT_ORIENTATION_DATA { type Message = MavMessage ; const ID : u32 = 265u32 ; const NAME : & 'static str = "MOUNT_ORIENTATION" ; const EXTRA_CRC : u8 = 26u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA_STREAM_DATA { pub message_rate : u16 , pub stream_id : u8 , pub on_off : u8 , } impl DATA_STREAM_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { message_rate : 0_u16 , stream_id : 0_u8 , on_off : 0_u8 , } ; } impl Default for DATA_STREAM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA_STREAM_DATA { type Message = MavMessage ; const ID : u32 = 67u32 ; const NAME : & 'static str = "DATA_STREAM" ; const EXTRA_CRC : u8 = 21u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . message_rate = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; __struct . on_off = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . message_rate) ; __tmp . put_u8 (self . stream_id) ; __tmp . put_u8 (self . on_off) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ISBD_LINK_STATUS_DATA { pub timestamp : u64 , pub last_heartbeat : u64 , pub failed_sessions : u16 , pub successful_sessions : u16 , pub signal_quality : u8 , pub ring_pending : u8 , pub tx_session_pending : u8 , pub rx_session_pending : u8 , } impl ISBD_LINK_STATUS_DATA { pub const ENCODED_LEN : usize = 24usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , last_heartbeat : 0_u64 , failed_sessions : 0_u16 , successful_sessions : 0_u16 , signal_quality : 0_u8 , ring_pending : 0_u8 , tx_session_pending : 0_u8 , rx_session_pending : 0_u8 , } ; } impl Default for ISBD_LINK_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ISBD_LINK_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 335u32 ; const NAME : & 'static str = "ISBD_LINK_STATUS" ; const EXTRA_CRC : u8 = 225u8 ; const ENCODED_LEN : usize = 24usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . last_heartbeat = buf . get_u64_le () ; __struct . failed_sessions = buf . get_u16_le () ; __struct . successful_sessions = buf . get_u16_le () ; __struct . signal_quality = buf . get_u8 () ; __struct . ring_pending = buf . get_u8 () ; __struct . tx_session_pending = buf . get_u8 () ; __struct . rx_session_pending = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u64_le (self . last_heartbeat) ; __tmp . put_u16_le (self . failed_sessions) ; __tmp . put_u16_le (self . successful_sessions) ; __tmp . put_u8 (self . signal_quality) ; __tmp . put_u8 (self . ring_pending) ; __tmp . put_u8 (self . tx_session_pending) ; __tmp . put_u8 (self . rx_session_pending) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS2_RTK_DATA { pub time_last_baseline_ms : u32 , pub tow : u32 , pub baseline_a_mm : i32 , pub baseline_b_mm : i32 , pub baseline_c_mm : i32 , pub accuracy : u32 , pub iar_num_hypotheses : i32 , pub wn : u16 , pub rtk_receiver_id : u8 , pub rtk_health : u8 , pub rtk_rate : u8 , pub nsats : u8 , pub baseline_coords_type : RtkBaselineCoordinateSystem , } impl GPS2_RTK_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { time_last_baseline_ms : 0_u32 , tow : 0_u32 , baseline_a_mm : 0_i32 , baseline_b_mm : 0_i32 , baseline_c_mm : 0_i32 , accuracy : 0_u32 , iar_num_hypotheses : 0_i32 , wn : 0_u16 , rtk_receiver_id : 0_u8 , rtk_health : 0_u8 , rtk_rate : 0_u8 , nsats : 0_u8 , baseline_coords_type : RtkBaselineCoordinateSystem :: DEFAULT , } ; } impl Default for GPS2_RTK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS2_RTK_DATA { type Message = MavMessage ; const ID : u32 = 128u32 ; const NAME : & 'static str = "GPS2_RTK" ; const EXTRA_CRC : u8 = 226u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_last_baseline_ms = buf . get_u32_le () ; __struct . tow = buf . get_u32_le () ; __struct . baseline_a_mm = buf . get_i32_le () ; __struct . baseline_b_mm = buf . get_i32_le () ; __struct . baseline_c_mm = buf . get_i32_le () ; __struct . accuracy = buf . get_u32_le () ; __struct . iar_num_hypotheses = buf . get_i32_le () ; __struct . wn = buf . get_u16_le () ; __struct . rtk_receiver_id = buf . get_u8 () ; __struct . rtk_health = buf . get_u8 () ; __struct . rtk_rate = buf . get_u8 () ; __struct . nsats = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . baseline_coords_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "RtkBaselineCoordinateSystem" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_last_baseline_ms) ; __tmp . put_u32_le (self . tow) ; __tmp . put_i32_le (self . baseline_a_mm) ; __tmp . put_i32_le (self . baseline_b_mm) ; __tmp . put_i32_le (self . baseline_c_mm) ; __tmp . put_u32_le (self . accuracy) ; __tmp . put_i32_le (self . iar_num_hypotheses) ; __tmp . put_u16_le (self . wn) ; __tmp . put_u8 (self . rtk_receiver_id) ; __tmp . put_u8 (self . rtk_health) ; __tmp . put_u8 (self . rtk_rate) ; __tmp . put_u8 (self . nsats) ; __tmp . put_u8 (self . baseline_coords_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_GPS_GLOBAL_ORIGIN_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , pub target_system : u8 , } impl SET_GPS_GLOBAL_ORIGIN_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , target_system : 0_u8 , } ; } impl Default for SET_GPS_GLOBAL_ORIGIN_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_GPS_GLOBAL_ORIGIN_DATA { type Message = MavMessage ; const ID : u32 = 48u32 ; const NAME : & 'static str = "SET_GPS_GLOBAL_ORIGIN" ; const EXTRA_CRC : u8 = 41u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . target_system = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_u8 (self . target_system) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_GPS_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub eph : u16 , pub epv : u16 , pub vel : u16 , pub vn : i16 , pub ve : i16 , pub vd : i16 , pub cog : u16 , pub fix_type : u8 , pub satellites_visible : u8 , } impl HIL_GPS_DATA { pub const ENCODED_LEN : usize = 36usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , eph : 0_u16 , epv : 0_u16 , vel : 0_u16 , vn : 0_i16 , ve : 0_i16 , vd : 0_i16 , cog : 0_u16 , fix_type : 0_u8 , satellites_visible : 0_u8 , } ; } impl Default for HIL_GPS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_GPS_DATA { type Message = MavMessage ; const ID : u32 = 113u32 ; const NAME : & 'static str = "HIL_GPS" ; const EXTRA_CRC : u8 = 124u8 ; const ENCODED_LEN : usize = 36usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . eph = buf . get_u16_le () ; __struct . epv = buf . get_u16_le () ; __struct . vel = buf . get_u16_le () ; __struct . vn = buf . get_i16_le () ; __struct . ve = buf . get_i16_le () ; __struct . vd = buf . get_i16_le () ; __struct . cog = buf . get_u16_le () ; __struct . fix_type = buf . get_u8 () ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_u16_le (self . eph) ; __tmp . put_u16_le (self . epv) ; __tmp . put_u16_le (self . vel) ; __tmp . put_i16_le (self . vn) ; __tmp . put_i16_le (self . ve) ; __tmp . put_i16_le (self . vd) ; __tmp . put_u16_le (self . cog) ; __tmp . put_u8 (self . fix_type) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_CURRENT_DATA { pub seq : u16 , } impl MISSION_CURRENT_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , } ; } impl Default for MISSION_CURRENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_CURRENT_DATA { type Message = MavMessage ; const ID : u32 = 42u32 ; const NAME : & 'static str = "MISSION_CURRENT" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_VALUE_DATA { pub param_value : f32 , pub param_count : u16 , pub param_index : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub param_type : MavParamType , } impl PARAM_VALUE_DATA { pub const ENCODED_LEN : usize = 25usize ; pub const DEFAULT : Self = Self { param_value : 0.0_f32 , param_count : 0_u16 , param_index : 0_u16 , param_id : [0_u8 ; 16usize] , param_type : MavParamType :: DEFAULT , } ; } impl Default for PARAM_VALUE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_VALUE_DATA { type Message = MavMessage ; const ID : u32 = 22u32 ; const NAME : & 'static str = "PARAM_VALUE" ; const EXTRA_CRC : u8 = 220u8 ; const ENCODED_LEN : usize = 25usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value = buf . get_f32_le () ; __struct . param_count = buf . get_u16_le () ; __struct . param_index = buf . get_u16_le () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value) ; __tmp . put_u16_le (self . param_count) ; __tmp . put_u16_le (self . param_index) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FENCE_STATUS_DATA { pub breach_time : u32 , pub breach_count : u16 , pub breach_status : u8 , pub breach_type : FenceBreach , } impl FENCE_STATUS_DATA { pub const ENCODED_LEN : usize = 8usize ; pub const DEFAULT : Self = Self { breach_time : 0_u32 , breach_count : 0_u16 , breach_status : 0_u8 , breach_type : FenceBreach :: DEFAULT , } ; } impl Default for FENCE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FENCE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 162u32 ; const NAME : & 'static str = "FENCE_STATUS" ; const EXTRA_CRC : u8 = 189u8 ; const ENCODED_LEN : usize = 8usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . breach_time = buf . get_u32_le () ; __struct . breach_count = buf . get_u16_le () ; __struct . breach_status = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . breach_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "FenceBreach" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . breach_time) ; __tmp . put_u16_le (self . breach_count) ; __tmp . put_u8 (self . breach_status) ; __tmp . put_u8 (self . breach_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIL_STATE_QUATERNION_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub attitude_quaternion : [f32 ; 4] , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub ind_airspeed : u16 , pub true_airspeed : u16 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , } impl HIL_STATE_QUATERNION_DATA { pub const ENCODED_LEN : usize = 64usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , attitude_quaternion : [0.0_f32 ; 4usize] , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , ind_airspeed : 0_u16 , true_airspeed : 0_u16 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , } ; } impl Default for HIL_STATE_QUATERNION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIL_STATE_QUATERNION_DATA { type Message = MavMessage ; const ID : u32 = 115u32 ; const NAME : & 'static str = "HIL_STATE_QUATERNION" ; const EXTRA_CRC : u8 = 4u8 ; const ENCODED_LEN : usize = 64usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . attitude_quaternion { let val = buf . get_f32_le () ; * v = val ; } __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . ind_airspeed = buf . get_u16_le () ; __struct . true_airspeed = buf . get_u16_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . attitude_quaternion { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . ind_airspeed) ; __tmp . put_u16_le (self . true_airspeed) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OBSTACLE_DISTANCE_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub distances : [u16 ; 72] , pub min_distance : u16 , pub max_distance : u16 , pub sensor_type : MavDistanceSensor , pub increment : u8 , } impl OBSTACLE_DISTANCE_DATA { pub const ENCODED_LEN : usize = 158usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , distances : [0_u16 ; 72usize] , min_distance : 0_u16 , max_distance : 0_u16 , sensor_type : MavDistanceSensor :: DEFAULT , increment : 0_u8 , } ; } impl Default for OBSTACLE_DISTANCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OBSTACLE_DISTANCE_DATA { type Message = MavMessage ; const ID : u32 = 330u32 ; const NAME : & 'static str = "OBSTACLE_DISTANCE" ; const EXTRA_CRC : u8 = 23u8 ; const ENCODED_LEN : usize = 158usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . distances { let val = buf . get_u16_le () ; * v = val ; } __struct . min_distance = buf . get_u16_le () ; __struct . max_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . sensor_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; __struct . increment = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . distances { __tmp . put_u16_le (* val) ; } __tmp . put_u16_le (self . min_distance) ; __tmp . put_u16_le (self . max_distance) ; __tmp . put_u8 (self . sensor_type as u8) ; __tmp . put_u8 (self . increment) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_CAPTURE_STATUS_DATA { pub time_boot_ms : u32 , pub image_interval : f32 , pub recording_time_ms : u32 , pub available_capacity : f32 , pub image_status : u8 , pub video_status : u8 , } impl CAMERA_CAPTURE_STATUS_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , image_interval : 0.0_f32 , recording_time_ms : 0_u32 , available_capacity : 0.0_f32 , image_status : 0_u8 , video_status : 0_u8 , } ; } impl Default for CAMERA_CAPTURE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_CAPTURE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 262u32 ; const NAME : & 'static str = "CAMERA_CAPTURE_STATUS" ; const EXTRA_CRC : u8 = 12u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . image_interval = buf . get_f32_le () ; __struct . recording_time_ms = buf . get_u32_le () ; __struct . available_capacity = buf . get_f32_le () ; __struct . image_status = buf . get_u8 () ; __struct . video_status = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . image_interval) ; __tmp . put_u32_le (self . recording_time_ms) ; __tmp . put_f32_le (self . available_capacity) ; __tmp . put_u8 (self . image_status) ; __tmp . put_u8 (self . video_status) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DISTANCE_SENSOR_DATA { pub time_boot_ms : u32 , pub min_distance : u16 , pub max_distance : u16 , pub current_distance : u16 , pub mavtype : MavDistanceSensor , pub id : u8 , pub orientation : MavSensorOrientation , pub covariance : u8 , } impl DISTANCE_SENSOR_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , min_distance : 0_u16 , max_distance : 0_u16 , current_distance : 0_u16 , mavtype : MavDistanceSensor :: DEFAULT , id : 0_u8 , orientation : MavSensorOrientation :: DEFAULT , covariance : 0_u8 , } ; } impl Default for DISTANCE_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DISTANCE_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 132u32 ; const NAME : & 'static str = "DISTANCE_SENSOR" ; const EXTRA_CRC : u8 = 85u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . min_distance = buf . get_u16_le () ; __struct . max_distance = buf . get_u16_le () ; __struct . current_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavDistanceSensor" , value : tmp as u32 }) ? ; __struct . id = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . orientation = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavSensorOrientation" , value : tmp as u32 }) ? ; __struct . covariance = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u16_le (self . min_distance) ; __tmp . put_u16_le (self . max_distance) ; __tmp . put_u16_le (self . current_distance) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . id) ; __tmp . put_u8 (self . orientation as u8) ; __tmp . put_u8 (self . covariance) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct NAMED_VALUE_INT_DATA { pub time_boot_ms : u32 , pub value : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl NAMED_VALUE_INT_DATA { pub const ENCODED_LEN : usize = 18usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0_i32 , name : [0_u8 ; 10usize] , } ; } impl Default for NAMED_VALUE_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for NAMED_VALUE_INT_DATA { type Message = MavMessage ; const ID : u32 = 252u32 ; const NAME : & 'static str = "NAMED_VALUE_INT" ; const EXTRA_CRC : u8 = 44u8 ; const ENCODED_LEN : usize = 18usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_i32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . value) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ONBOARD_COMPUTER_STATUS_DATA { pub time_usec : u64 , pub uptime : u32 , pub ram_usage : u32 , pub ram_total : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_type : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_usage : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage_total : [u32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_type : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_tx_rate : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_rx_rate : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_tx_max : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub link_rx_max : [u32 ; 6] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub fan_speed : [i16 ; 4] , pub mavtype : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cpu_cores : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cpu_combined : [u8 ; 10] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub gpu_cores : [u8 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub gpu_combined : [u8 ; 10] , pub temperature_board : i8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature_core : [i8 ; 8] , } impl ONBOARD_COMPUTER_STATUS_DATA { pub const ENCODED_LEN : usize = 238usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime : 0_u32 , ram_usage : 0_u32 , ram_total : 0_u32 , storage_type : [0_u32 ; 4usize] , storage_usage : [0_u32 ; 4usize] , storage_total : [0_u32 ; 4usize] , link_type : [0_u32 ; 6usize] , link_tx_rate : [0_u32 ; 6usize] , link_rx_rate : [0_u32 ; 6usize] , link_tx_max : [0_u32 ; 6usize] , link_rx_max : [0_u32 ; 6usize] , fan_speed : [0_i16 ; 4usize] , mavtype : 0_u8 , cpu_cores : [0_u8 ; 8usize] , cpu_combined : [0_u8 ; 10usize] , gpu_cores : [0_u8 ; 4usize] , gpu_combined : [0_u8 ; 10usize] , temperature_board : 0_i8 , temperature_core : [0_i8 ; 8usize] , } ; } impl Default for ONBOARD_COMPUTER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ONBOARD_COMPUTER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 390u32 ; const NAME : & 'static str = "ONBOARD_COMPUTER_STATUS" ; const EXTRA_CRC : u8 = 156u8 ; const ENCODED_LEN : usize = 238usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime = buf . get_u32_le () ; __struct . ram_usage = buf . get_u32_le () ; __struct . ram_total = buf . get_u32_le () ; for v in & mut __struct . storage_type { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . storage_usage { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . storage_total { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_type { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_tx_rate { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_rx_rate { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_tx_max { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . link_rx_max { let val = buf . get_u32_le () ; * v = val ; } for v in & mut __struct . fan_speed { let val = buf . get_i16_le () ; * v = val ; } __struct . mavtype = buf . get_u8 () ; for v in & mut __struct . cpu_cores { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . cpu_combined { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . gpu_cores { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . gpu_combined { let val = buf . get_u8 () ; * v = val ; } __struct . temperature_board = buf . get_i8 () ; for v in & mut __struct . temperature_core { let val = buf . get_i8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime) ; __tmp . put_u32_le (self . ram_usage) ; __tmp . put_u32_le (self . ram_total) ; for val in & self . storage_type { __tmp . put_u32_le (* val) ; } for val in & self . storage_usage { __tmp . put_u32_le (* val) ; } for val in & self . storage_total { __tmp . put_u32_le (* val) ; } for val in & self . link_type { __tmp . put_u32_le (* val) ; } for val in & self . link_tx_rate { __tmp . put_u32_le (* val) ; } for val in & self . link_rx_rate { __tmp . put_u32_le (* val) ; } for val in & self . link_tx_max { __tmp . put_u32_le (* val) ; } for val in & self . link_rx_max { __tmp . put_u32_le (* val) ; } for val in & self . fan_speed { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . mavtype) ; for val in & self . cpu_cores { __tmp . put_u8 (* val) ; } for val in & self . cpu_combined { __tmp . put_u8 (* val) ; } for val in & self . gpu_cores { __tmp . put_u8 (* val) ; } for val in & self . gpu_combined { __tmp . put_u8 (* val) ; } __tmp . put_i8 (self . temperature_board) ; for val in & self . temperature_core { __tmp . put_i8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_DEVICE_INFORMATION_DATA { pub uid : u64 , pub time_boot_ms : u32 , pub firmware_version : u32 , pub hardware_version : u32 , pub roll_min : f32 , pub roll_max : f32 , pub pitch_min : f32 , pub pitch_max : f32 , pub yaw_min : f32 , pub yaw_max : f32 , pub cap_flags : GimbalDeviceCapFlags , pub custom_cap_flags : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vendor_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub model_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub custom_name : [u8 ; 32] , } impl GIMBAL_DEVICE_INFORMATION_DATA { pub const ENCODED_LEN : usize = 144usize ; pub const DEFAULT : Self = Self { uid : 0_u64 , time_boot_ms : 0_u32 , firmware_version : 0_u32 , hardware_version : 0_u32 , roll_min : 0.0_f32 , roll_max : 0.0_f32 , pitch_min : 0.0_f32 , pitch_max : 0.0_f32 , yaw_min : 0.0_f32 , yaw_max : 0.0_f32 , cap_flags : GimbalDeviceCapFlags :: DEFAULT , custom_cap_flags : 0_u16 , vendor_name : [0_u8 ; 32usize] , model_name : [0_u8 ; 32usize] , custom_name : [0_u8 ; 32usize] , } ; } impl Default for GIMBAL_DEVICE_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_DEVICE_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 283u32 ; const NAME : & 'static str = "GIMBAL_DEVICE_INFORMATION" ; const EXTRA_CRC : u8 = 74u8 ; const ENCODED_LEN : usize = 144usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . uid = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . firmware_version = buf . get_u32_le () ; __struct . hardware_version = buf . get_u32_le () ; __struct . roll_min = buf . get_f32_le () ; __struct . roll_max = buf . get_f32_le () ; __struct . pitch_min = buf . get_f32_le () ; __struct . pitch_max = buf . get_f32_le () ; __struct . yaw_min = buf . get_f32_le () ; __struct . yaw_max = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . cap_flags = GimbalDeviceCapFlags :: from_bits (tmp & GimbalDeviceCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GimbalDeviceCapFlags" , value : tmp as u32 }) ? ; __struct . custom_cap_flags = buf . get_u16_le () ; for v in & mut __struct . vendor_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . model_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . custom_name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . uid) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . firmware_version) ; __tmp . put_u32_le (self . hardware_version) ; __tmp . put_f32_le (self . roll_min) ; __tmp . put_f32_le (self . roll_max) ; __tmp . put_f32_le (self . pitch_min) ; __tmp . put_f32_le (self . pitch_max) ; __tmp . put_f32_le (self . yaw_min) ; __tmp . put_f32_le (self . yaw_max) ; __tmp . put_u16_le (self . cap_flags . bits ()) ; __tmp . put_u16_le (self . custom_cap_flags) ; for val in & self . vendor_name { __tmp . put_u8 (* val) ; } for val in & self . model_name { __tmp . put_u8 (* val) ; } for val in & self . custom_name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_DATA { pub seq : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { seq : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 40u32 ; const NAME : & 'static str = "MISSION_REQUEST" ; const EXTRA_CRC : u8 = 230u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seq = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_LIST_DATA { pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_LIST_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_LIST_DATA { type Message = MavMessage ; const ID : u32 = 43u32 ; const NAME : & 'static str = "MISSION_REQUEST_LIST" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_DATA_DATA { pub ofs : u32 , pub id : u16 , pub count : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 90] , } impl LOG_DATA_DATA { pub const ENCODED_LEN : usize = 97usize ; pub const DEFAULT : Self = Self { ofs : 0_u32 , id : 0_u16 , count : 0_u8 , data : [0_u8 ; 90usize] , } ; } impl Default for LOG_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_DATA_DATA { type Message = MavMessage ; const ID : u32 = 120u32 ; const NAME : & 'static str = "LOG_DATA" ; const EXTRA_CRC : u8 = 134u8 ; const ENCODED_LEN : usize = 97usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ofs = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . count = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ofs) ; __tmp . put_u16_le (self . id) ; __tmp . put_u8 (self . count) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVIONIX_ADSB_OUT_CFG_DATA { pub ICAO : u32 , pub stallSpeed : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 9] , pub emitterType : AdsbEmitterType , pub aircraftSize : UavionixAdsbOutCfgAircraftSize , pub gpsOffsetLat : UavionixAdsbOutCfgGpsOffsetLat , pub gpsOffsetLon : UavionixAdsbOutCfgGpsOffsetLon , pub rfSelect : UavionixAdsbOutRfSelect , } impl UAVIONIX_ADSB_OUT_CFG_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { ICAO : 0_u32 , stallSpeed : 0_u16 , callsign : [0_u8 ; 9usize] , emitterType : AdsbEmitterType :: DEFAULT , aircraftSize : UavionixAdsbOutCfgAircraftSize :: DEFAULT , gpsOffsetLat : UavionixAdsbOutCfgGpsOffsetLat :: DEFAULT , gpsOffsetLon : UavionixAdsbOutCfgGpsOffsetLon :: DEFAULT , rfSelect : UavionixAdsbOutRfSelect :: DEFAULT , } ; } impl Default for UAVIONIX_ADSB_OUT_CFG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVIONIX_ADSB_OUT_CFG_DATA { type Message = MavMessage ; const ID : u32 = 10001u32 ; const NAME : & 'static str = "UAVIONIX_ADSB_OUT_CFG" ; const EXTRA_CRC : u8 = 209u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ICAO = buf . get_u32_le () ; __struct . stallSpeed = buf . get_u16_le () ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . emitterType = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbEmitterType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . aircraftSize = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutCfgAircraftSize" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . gpsOffsetLat = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutCfgGpsOffsetLat" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . gpsOffsetLon = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavionixAdsbOutCfgGpsOffsetLon" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . rfSelect = UavionixAdsbOutRfSelect :: from_bits (tmp & UavionixAdsbOutRfSelect :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "UavionixAdsbOutRfSelect" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ICAO) ; __tmp . put_u16_le (self . stallSpeed) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . emitterType as u8) ; __tmp . put_u8 (self . aircraftSize as u8) ; __tmp . put_u8 (self . gpsOffsetLat as u8) ; __tmp . put_u8 (self . gpsOffsetLon as u8) ; __tmp . put_u8 (self . rfSelect . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PROTOCOL_VERSION_DATA { pub version : u16 , pub min_version : u16 , pub max_version : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub spec_version_hash : [u8 ; 8] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub library_version_hash : [u8 ; 8] , } impl PROTOCOL_VERSION_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { version : 0_u16 , min_version : 0_u16 , max_version : 0_u16 , spec_version_hash : [0_u8 ; 8usize] , library_version_hash : [0_u8 ; 8usize] , } ; } impl Default for PROTOCOL_VERSION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PROTOCOL_VERSION_DATA { type Message = MavMessage ; const ID : u32 = 300u32 ; const NAME : & 'static str = "PROTOCOL_VERSION" ; const EXTRA_CRC : u8 = 217u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . version = buf . get_u16_le () ; __struct . min_version = buf . get_u16_le () ; __struct . max_version = buf . get_u16_le () ; for v in & mut __struct . spec_version_hash { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . library_version_hash { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . version) ; __tmp . put_u16_le (self . min_version) ; __tmp . put_u16_le (self . max_version) ; for val in & self . spec_version_hash { __tmp . put_u8 (* val) ; } for val in & self . library_version_hash { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_ARM_STATUS_DATA { pub status : MavOdidArmStatus , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub error : [u8 ; 50] , } impl OPEN_DRONE_ID_ARM_STATUS_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { status : MavOdidArmStatus :: DEFAULT , error : [0_u8 ; 50usize] , } ; } impl Default for OPEN_DRONE_ID_ARM_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_ARM_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 12918u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_ARM_STATUS" ; const EXTRA_CRC : u8 = 139u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidArmStatus" , value : tmp as u32 }) ? ; for v in & mut __struct . error { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . status as u8) ; for val in & self . error { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LANDING_TARGET_DATA { pub time_usec : u64 , pub angle_x : f32 , pub angle_y : f32 , pub distance : f32 , pub size_x : f32 , pub size_y : f32 , pub target_num : u8 , pub frame : MavFrame , } impl LANDING_TARGET_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , angle_x : 0.0_f32 , angle_y : 0.0_f32 , distance : 0.0_f32 , size_x : 0.0_f32 , size_y : 0.0_f32 , target_num : 0_u8 , frame : MavFrame :: DEFAULT , } ; } impl Default for LANDING_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LANDING_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 149u32 ; const NAME : & 'static str = "LANDING_TARGET" ; const EXTRA_CRC : u8 = 200u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . angle_x = buf . get_f32_le () ; __struct . angle_y = buf . get_f32_le () ; __struct . distance = buf . get_f32_le () ; __struct . size_x = buf . get_f32_le () ; __struct . size_y = buf . get_f32_le () ; __struct . target_num = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . angle_x) ; __tmp . put_f32_le (self . angle_y) ; __tmp . put_f32_le (self . distance) ; __tmp . put_f32_le (self . size_x) ; __tmp . put_f32_le (self . size_y) ; __tmp . put_u8 (self . target_num) ; __tmp . put_u8 (self . frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_STATUS_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rpm : [i32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub voltage : [f32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub current : [f32 ; 4] , pub index : u8 , } impl ESC_STATUS_DATA { pub const ENCODED_LEN : usize = 57usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , rpm : [0_i32 ; 4usize] , voltage : [0.0_f32 ; 4usize] , current : [0.0_f32 ; 4usize] , index : 0_u8 , } ; } impl Default for ESC_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 291u32 ; const NAME : & 'static str = "ESC_STATUS" ; const EXTRA_CRC : u8 = 10u8 ; const ENCODED_LEN : usize = 57usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . rpm { let val = buf . get_i32_le () ; * v = val ; } for v in & mut __struct . voltage { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . current { let val = buf . get_f32_le () ; * v = val ; } __struct . index = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . rpm { __tmp . put_i32_le (* val) ; } for val in & self . voltage { __tmp . put_f32_le (* val) ; } for val in & self . current { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . index) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRACKING_IMAGE_STATUS_DATA { pub point_x : f32 , pub point_y : f32 , pub radius : f32 , pub rec_top_x : f32 , pub rec_top_y : f32 , pub rec_bottom_x : f32 , pub rec_bottom_y : f32 , pub tracking_status : CameraTrackingStatusFlags , pub tracking_mode : CameraTrackingMode , pub target_data : CameraTrackingTargetData , } impl CAMERA_TRACKING_IMAGE_STATUS_DATA { pub const ENCODED_LEN : usize = 31usize ; pub const DEFAULT : Self = Self { point_x : 0.0_f32 , point_y : 0.0_f32 , radius : 0.0_f32 , rec_top_x : 0.0_f32 , rec_top_y : 0.0_f32 , rec_bottom_x : 0.0_f32 , rec_bottom_y : 0.0_f32 , tracking_status : CameraTrackingStatusFlags :: DEFAULT , tracking_mode : CameraTrackingMode :: DEFAULT , target_data : CameraTrackingTargetData :: DEFAULT , } ; } impl Default for CAMERA_TRACKING_IMAGE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRACKING_IMAGE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 275u32 ; const NAME : & 'static str = "CAMERA_TRACKING_IMAGE_STATUS" ; const EXTRA_CRC : u8 = 126u8 ; const ENCODED_LEN : usize = 31usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . point_x = buf . get_f32_le () ; __struct . point_y = buf . get_f32_le () ; __struct . radius = buf . get_f32_le () ; __struct . rec_top_x = buf . get_f32_le () ; __struct . rec_top_y = buf . get_f32_le () ; __struct . rec_bottom_x = buf . get_f32_le () ; __struct . rec_bottom_y = buf . get_f32_le () ; let tmp = buf . get_u8 () ; __struct . tracking_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingStatusFlags" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . tracking_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingMode" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . target_data = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CameraTrackingTargetData" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . point_x) ; __tmp . put_f32_le (self . point_y) ; __tmp . put_f32_le (self . radius) ; __tmp . put_f32_le (self . rec_top_x) ; __tmp . put_f32_le (self . rec_top_y) ; __tmp . put_f32_le (self . rec_bottom_x) ; __tmp . put_f32_le (self . rec_bottom_y) ; __tmp . put_u8 (self . tracking_status as u8) ; __tmp . put_u8 (self . tracking_mode as u8) ; __tmp . put_u8 (self . target_data as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_GLOBAL_ORIGIN_DATA { pub latitude : i32 , pub longitude : i32 , pub altitude : i32 , } impl GPS_GLOBAL_ORIGIN_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { latitude : 0_i32 , longitude : 0_i32 , altitude : 0_i32 , } ; } impl Default for GPS_GLOBAL_ORIGIN_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_GLOBAL_ORIGIN_DATA { type Message = MavMessage ; const ID : u32 = 49u32 ; const NAME : & 'static str = "GPS_GLOBAL_ORIGIN" ; const EXTRA_CRC : u8 = 39u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i32_le (self . altitude) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PLAY_TUNE_V2_DATA { pub format : TuneFormat , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub tune : [u8 ; 248] , } impl PLAY_TUNE_V2_DATA { pub const ENCODED_LEN : usize = 254usize ; pub const DEFAULT : Self = Self { format : TuneFormat :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , tune : [0_u8 ; 248usize] , } ; } impl Default for PLAY_TUNE_V2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PLAY_TUNE_V2_DATA { type Message = MavMessage ; const ID : u32 = 400u32 ; const NAME : & 'static str = "PLAY_TUNE_V2" ; const EXTRA_CRC : u8 = 110u8 ; const ENCODED_LEN : usize = 254usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . format = TuneFormat :: from_bits (tmp & TuneFormat :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "TuneFormat" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . tune { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . format . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . tune { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_VECT_DATA { pub time_usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 10] , } impl DEBUG_VECT_DATA { pub const ENCODED_LEN : usize = 30usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , name : [0_u8 ; 10usize] , } ; } impl Default for DEBUG_VECT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_VECT_DATA { type Message = MavMessage ; const ID : u32 = 250u32 ; const NAME : & 'static str = "DEBUG_VECT" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 30usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_REQUEST_END_DATA { pub target_system : u8 , pub target_component : u8 , } impl LOG_REQUEST_END_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for LOG_REQUEST_END_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_REQUEST_END_DATA { type Message = MavMessage ; const ID : u32 = 122u32 ; const NAME : & 'static str = "LOG_REQUEST_END" ; const EXTRA_CRC : u8 = 203u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RESOURCE_REQUEST_DATA { pub request_id : u8 , pub uri_type : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 120] , pub transfer_type : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub storage : [u8 ; 120] , } impl RESOURCE_REQUEST_DATA { pub const ENCODED_LEN : usize = 243usize ; pub const DEFAULT : Self = Self { request_id : 0_u8 , uri_type : 0_u8 , uri : [0_u8 ; 120usize] , transfer_type : 0_u8 , storage : [0_u8 ; 120usize] , } ; } impl Default for RESOURCE_REQUEST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RESOURCE_REQUEST_DATA { type Message = MavMessage ; const ID : u32 = 142u32 ; const NAME : & 'static str = "RESOURCE_REQUEST" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 243usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . request_id = buf . get_u8 () ; __struct . uri_type = buf . get_u8 () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } __struct . transfer_type = buf . get_u8 () ; for v in & mut __struct . storage { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . request_id) ; __tmp . put_u8 (self . uri_type) ; for val in & self . uri { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . transfer_type) ; for val in & self . storage { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ATTITUDE_QUATERNION_DATA { pub time_boot_ms : u32 , pub q1 : f32 , pub q2 : f32 , pub q3 : f32 , pub q4 : f32 , pub rollspeed : f32 , pub pitchspeed : f32 , pub yawspeed : f32 , } impl ATTITUDE_QUATERNION_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , q1 : 0.0_f32 , q2 : 0.0_f32 , q3 : 0.0_f32 , q4 : 0.0_f32 , rollspeed : 0.0_f32 , pitchspeed : 0.0_f32 , yawspeed : 0.0_f32 , } ; } impl Default for ATTITUDE_QUATERNION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ATTITUDE_QUATERNION_DATA { type Message = MavMessage ; const ID : u32 = 31u32 ; const NAME : & 'static str = "ATTITUDE_QUATERNION" ; const EXTRA_CRC : u8 = 246u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . q1 = buf . get_f32_le () ; __struct . q2 = buf . get_f32_le () ; __struct . q3 = buf . get_f32_le () ; __struct . q4 = buf . get_f32_le () ; __struct . rollspeed = buf . get_f32_le () ; __struct . pitchspeed = buf . get_f32_le () ; __struct . yawspeed = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . q1) ; __tmp . put_f32_le (self . q2) ; __tmp . put_f32_le (self . q3) ; __tmp . put_f32_le (self . q4) ; __tmp . put_f32_le (self . rollspeed) ; __tmp . put_f32_le (self . pitchspeed) ; __tmp . put_f32_le (self . yawspeed) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HYGROMETER_SENSOR_DATA { pub temperature : i16 , pub humidity : u16 , pub id : u8 , } impl HYGROMETER_SENSOR_DATA { pub const ENCODED_LEN : usize = 5usize ; pub const DEFAULT : Self = Self { temperature : 0_i16 , humidity : 0_u16 , id : 0_u8 , } ; } impl Default for HYGROMETER_SENSOR_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HYGROMETER_SENSOR_DATA { type Message = MavMessage ; const ID : u32 = 12920u32 ; const NAME : & 'static str = "HYGROMETER_SENSOR" ; const EXTRA_CRC : u8 = 20u8 ; const ENCODED_LEN : usize = 5usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . temperature = buf . get_i16_le () ; __struct . humidity = buf . get_u16_le () ; __struct . id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u16_le (self . humidity) ; __tmp . put_u8 (self . id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ENCAPSULATED_DATA_DATA { pub seqnr : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 253] , } impl ENCAPSULATED_DATA_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { seqnr : 0_u16 , data : [0_u8 ; 253usize] , } ; } impl Default for ENCAPSULATED_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ENCAPSULATED_DATA_DATA { type Message = MavMessage ; const ID : u32 = 131u32 ; const NAME : & 'static str = "ENCAPSULATED_DATA" ; const EXTRA_CRC : u8 = 223u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . seqnr = buf . get_u16_le () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . seqnr) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_INFORMATION_DATA { pub time_boot_ms : u32 , pub firmware_version : u32 , pub focal_length : f32 , pub sensor_size_h : f32 , pub sensor_size_v : f32 , pub flags : CameraCapFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub cam_definition_version : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vendor_name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub model_name : [u8 ; 32] , pub lens_id : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub cam_definition_uri : [u8 ; 140] , } impl CAMERA_INFORMATION_DATA { pub const ENCODED_LEN : usize = 235usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , firmware_version : 0_u32 , focal_length : 0.0_f32 , sensor_size_h : 0.0_f32 , sensor_size_v : 0.0_f32 , flags : CameraCapFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , cam_definition_version : 0_u16 , vendor_name : [0_u8 ; 32usize] , model_name : [0_u8 ; 32usize] , lens_id : 0_u8 , cam_definition_uri : [0_u8 ; 140usize] , } ; } impl Default for CAMERA_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 259u32 ; const NAME : & 'static str = "CAMERA_INFORMATION" ; const EXTRA_CRC : u8 = 92u8 ; const ENCODED_LEN : usize = 235usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . firmware_version = buf . get_u32_le () ; __struct . focal_length = buf . get_f32_le () ; __struct . sensor_size_h = buf . get_f32_le () ; __struct . sensor_size_v = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . flags = CameraCapFlags :: from_bits (tmp & CameraCapFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "CameraCapFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . cam_definition_version = buf . get_u16_le () ; for v in & mut __struct . vendor_name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . model_name { let val = buf . get_u8 () ; * v = val ; } __struct . lens_id = buf . get_u8 () ; for v in & mut __struct . cam_definition_uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . firmware_version) ; __tmp . put_f32_le (self . focal_length) ; __tmp . put_f32_le (self . sensor_size_h) ; __tmp . put_f32_le (self . sensor_size_v) ; __tmp . put_u32_le (self . flags . bits ()) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . cam_definition_version) ; for val in & self . vendor_name { __tmp . put_u8 (* val) ; } for val in & self . model_name { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . lens_id) ; for val in & self . cam_definition_uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESC_INFO_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub error_count : [u32 ; 4] , pub counter : u16 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub failure_flags : [u16 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub temperature : [i16 ; 4] , pub index : u8 , pub count : u8 , pub connection_type : EscConnectionType , pub info : u8 , } impl ESC_INFO_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , error_count : [0_u32 ; 4usize] , counter : 0_u16 , failure_flags : [0_u16 ; 4usize] , temperature : [0_i16 ; 4usize] , index : 0_u8 , count : 0_u8 , connection_type : EscConnectionType :: DEFAULT , info : 0_u8 , } ; } impl Default for ESC_INFO_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESC_INFO_DATA { type Message = MavMessage ; const ID : u32 = 290u32 ; const NAME : & 'static str = "ESC_INFO" ; const EXTRA_CRC : u8 = 251u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . error_count { let val = buf . get_u32_le () ; * v = val ; } __struct . counter = buf . get_u16_le () ; for v in & mut __struct . failure_flags { let val = buf . get_u16_le () ; * v = val ; } for v in & mut __struct . temperature { let val = buf . get_i16_le () ; * v = val ; } __struct . index = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . connection_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "EscConnectionType" , value : tmp as u32 }) ? ; __struct . info = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . error_count { __tmp . put_u32_le (* val) ; } __tmp . put_u16_le (self . counter) ; for val in & self . failure_flags { __tmp . put_u16_le (* val) ; } for val in & self . temperature { __tmp . put_i16_le (* val) ; } __tmp . put_u8 (self . index) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . connection_type as u8) ; __tmp . put_u8 (self . info) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FLIGHT_INFORMATION_DATA { pub arming_time_utc : u64 , pub takeoff_time_utc : u64 , pub flight_uuid : u64 , pub time_boot_ms : u32 , } impl FLIGHT_INFORMATION_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { arming_time_utc : 0_u64 , takeoff_time_utc : 0_u64 , flight_uuid : 0_u64 , time_boot_ms : 0_u32 , } ; } impl Default for FLIGHT_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FLIGHT_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 264u32 ; const NAME : & 'static str = "FLIGHT_INFORMATION" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . arming_time_utc = buf . get_u64_le () ; __struct . takeoff_time_utc = buf . get_u64_le () ; __struct . flight_uuid = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . arming_time_utc) ; __tmp . put_u64_le (self . takeoff_time_utc) ; __tmp . put_u64_le (self . flight_uuid) ; __tmp . put_u32_le (self . time_boot_ms) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGH_LATENCY2_DATA { pub timestamp : u32 , pub latitude : i32 , pub longitude : i32 , pub custom_mode : u16 , pub altitude : i16 , pub target_altitude : i16 , pub target_distance : u16 , pub wp_num : u16 , pub failure_flags : HlFailureFlag , pub mavtype : MavType , pub autopilot : MavAutopilot , pub heading : u8 , pub target_heading : u8 , pub throttle : u8 , pub airspeed : u8 , pub airspeed_sp : u8 , pub groundspeed : u8 , pub windspeed : u8 , pub wind_heading : u8 , pub eph : u8 , pub epv : u8 , pub temperature_air : i8 , pub climb_rate : i8 , pub battery : i8 , pub custom0 : i8 , pub custom1 : i8 , pub custom2 : i8 , } impl HIGH_LATENCY2_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { timestamp : 0_u32 , latitude : 0_i32 , longitude : 0_i32 , custom_mode : 0_u16 , altitude : 0_i16 , target_altitude : 0_i16 , target_distance : 0_u16 , wp_num : 0_u16 , failure_flags : HlFailureFlag :: DEFAULT , mavtype : MavType :: DEFAULT , autopilot : MavAutopilot :: DEFAULT , heading : 0_u8 , target_heading : 0_u8 , throttle : 0_u8 , airspeed : 0_u8 , airspeed_sp : 0_u8 , groundspeed : 0_u8 , windspeed : 0_u8 , wind_heading : 0_u8 , eph : 0_u8 , epv : 0_u8 , temperature_air : 0_i8 , climb_rate : 0_i8 , battery : 0_i8 , custom0 : 0_i8 , custom1 : 0_i8 , custom2 : 0_i8 , } ; } impl Default for HIGH_LATENCY2_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGH_LATENCY2_DATA { type Message = MavMessage ; const ID : u32 = 235u32 ; const NAME : & 'static str = "HIGH_LATENCY2" ; const EXTRA_CRC : u8 = 179u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u32_le () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . custom_mode = buf . get_u16_le () ; __struct . altitude = buf . get_i16_le () ; __struct . target_altitude = buf . get_i16_le () ; __struct . target_distance = buf . get_u16_le () ; __struct . wp_num = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . failure_flags = HlFailureFlag :: from_bits (tmp & HlFailureFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "HlFailureFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . autopilot = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavAutopilot" , value : tmp as u32 }) ? ; __struct . heading = buf . get_u8 () ; __struct . target_heading = buf . get_u8 () ; __struct . throttle = buf . get_u8 () ; __struct . airspeed = buf . get_u8 () ; __struct . airspeed_sp = buf . get_u8 () ; __struct . groundspeed = buf . get_u8 () ; __struct . windspeed = buf . get_u8 () ; __struct . wind_heading = buf . get_u8 () ; __struct . eph = buf . get_u8 () ; __struct . epv = buf . get_u8 () ; __struct . temperature_air = buf . get_i8 () ; __struct . climb_rate = buf . get_i8 () ; __struct . battery = buf . get_i8 () ; __struct . custom0 = buf . get_i8 () ; __struct . custom1 = buf . get_i8 () ; __struct . custom2 = buf . get_i8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . timestamp) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_u16_le (self . custom_mode) ; __tmp . put_i16_le (self . altitude) ; __tmp . put_i16_le (self . target_altitude) ; __tmp . put_u16_le (self . target_distance) ; __tmp . put_u16_le (self . wp_num) ; __tmp . put_u16_le (self . failure_flags . bits ()) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . autopilot as u8) ; __tmp . put_u8 (self . heading) ; __tmp . put_u8 (self . target_heading) ; __tmp . put_u8 (self . throttle) ; __tmp . put_u8 (self . airspeed) ; __tmp . put_u8 (self . airspeed_sp) ; __tmp . put_u8 (self . groundspeed) ; __tmp . put_u8 (self . windspeed) ; __tmp . put_u8 (self . wind_heading) ; __tmp . put_u8 (self . eph) ; __tmp . put_u8 (self . epv) ; __tmp . put_i8 (self . temperature_air) ; __tmp . put_i8 (self . climb_rate) ; __tmp . put_i8 (self . battery) ; __tmp . put_i8 (self . custom0) ; __tmp . put_i8 (self . custom1) ; __tmp . put_i8 (self . custom2) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_POSITION_INT_COV_DATA { pub time_usec : u64 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub covariance : [f32 ; 36] , pub estimator_type : MavEstimatorType , } impl GLOBAL_POSITION_INT_COV_DATA { pub const ENCODED_LEN : usize = 181usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , covariance : [0.0_f32 ; 36usize] , estimator_type : MavEstimatorType :: DEFAULT , } ; } impl Default for GLOBAL_POSITION_INT_COV_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_POSITION_INT_COV_DATA { type Message = MavMessage ; const ID : u32 = 63u32 ; const NAME : & 'static str = "GLOBAL_POSITION_INT_COV" ; const EXTRA_CRC : u8 = 119u8 ; const ENCODED_LEN : usize = 181usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; for v in & mut __struct . covariance { let val = buf . get_f32_le () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . estimator_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavEstimatorType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; for val in & self . covariance { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . estimator_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_MODE_DATA { pub custom_mode : u32 , pub target_system : u8 , pub base_mode : MavMode , } impl SET_MODE_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , target_system : 0_u8 , base_mode : MavMode :: DEFAULT , } ; } impl Default for SET_MODE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_MODE_DATA { type Message = MavMessage ; const ID : u32 = 11u32 ; const NAME : & 'static str = "SET_MODE" ; const EXTRA_CRC : u8 = 89u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . base_mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMode" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . base_mode as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_POSITION_TARGET_GLOBAL_INT_DATA { pub time_boot_ms : u32 , pub lat_int : i32 , pub lon_int : i32 , pub alt : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub target_system : u8 , pub target_component : u8 , pub coordinate_frame : MavFrame , } impl SET_POSITION_TARGET_GLOBAL_INT_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_int : 0_i32 , lon_int : 0_i32 , alt : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for SET_POSITION_TARGET_GLOBAL_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_POSITION_TARGET_GLOBAL_INT_DATA { type Message = MavMessage ; const ID : u32 = 86u32 ; const NAME : & 'static str = "SET_POSITION_TARGET_GLOBAL_INT" ; const EXTRA_CRC : u8 = 5u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_int = buf . get_i32_le () ; __struct . lon_int = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_int) ; __tmp . put_i32_le (self . lon_int) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_SET_ATTITUDE_DATA { pub flags : GimbalManagerFlags , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub angular_velocity_x : f32 , pub angular_velocity_y : f32 , pub angular_velocity_z : f32 , pub target_system : u8 , pub target_component : u8 , pub gimbal_device_id : u8 , } impl GIMBAL_MANAGER_SET_ATTITUDE_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { flags : GimbalManagerFlags :: DEFAULT , q : [0.0_f32 ; 4usize] , angular_velocity_x : 0.0_f32 , angular_velocity_y : 0.0_f32 , angular_velocity_z : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , gimbal_device_id : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_SET_ATTITUDE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_SET_ATTITUDE_DATA { type Message = MavMessage ; const ID : u32 = 282u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_SET_ATTITUDE" ; const EXTRA_CRC : u8 = 123u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . angular_velocity_x = buf . get_f32_le () ; __struct . angular_velocity_y = buf . get_f32_le () ; __struct . angular_velocity_z = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . gimbal_device_id = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . flags as u32) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_f32_le (self . angular_velocity_x) ; __tmp . put_f32_le (self . angular_velocity_y) ; __tmp . put_f32_le (self . angular_velocity_z) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . gimbal_device_id) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PARAM_SET_DATA { pub param_value : f32 , pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub param_id : [u8 ; 16] , pub param_type : MavParamType , } impl PARAM_SET_DATA { pub const ENCODED_LEN : usize = 23usize ; pub const DEFAULT : Self = Self { param_value : 0.0_f32 , target_system : 0_u8 , target_component : 0_u8 , param_id : [0_u8 ; 16usize] , param_type : MavParamType :: DEFAULT , } ; } impl Default for PARAM_SET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PARAM_SET_DATA { type Message = MavMessage ; const ID : u32 = 23u32 ; const NAME : & 'static str = "PARAM_SET" ; const EXTRA_CRC : u8 = 168u8 ; const ENCODED_LEN : usize = 23usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param_value = buf . get_f32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . param_id { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . param_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavParamType" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param_value) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . param_id { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . param_type as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SUPPORTED_TUNES_DATA { pub format : TuneFormat , pub target_system : u8 , pub target_component : u8 , } impl SUPPORTED_TUNES_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { format : TuneFormat :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SUPPORTED_TUNES_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SUPPORTED_TUNES_DATA { type Message = MavMessage ; const ID : u32 = 401u32 ; const NAME : & 'static str = "SUPPORTED_TUNES" ; const EXTRA_CRC : u8 = 183u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u32_le () ; __struct . format = TuneFormat :: from_bits (tmp & TuneFormat :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "TuneFormat" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . format . bits ()) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAN_FILTER_MODIFY_DATA { # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub ids : [u16 ; 16] , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub operation : CanFilterOp , pub num_ids : u8 , } impl CAN_FILTER_MODIFY_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { ids : [0_u16 ; 16usize] , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , operation : CanFilterOp :: DEFAULT , num_ids : 0_u8 , } ; } impl Default for CAN_FILTER_MODIFY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAN_FILTER_MODIFY_DATA { type Message = MavMessage ; const ID : u32 = 388u32 ; const NAME : & 'static str = "CAN_FILTER_MODIFY" ; const EXTRA_CRC : u8 = 8u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; for v in & mut __struct . ids { let val = buf . get_u16_le () ; * v = val ; } __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . operation = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CanFilterOp" , value : tmp as u32 }) ? ; __struct . num_ids = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; for val in & self . ids { __tmp . put_u16_le (* val) ; } __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . operation as u8) ; __tmp . put_u8 (self . num_ids) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl VISION_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for VISION_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 102u32 ; const NAME : & 'static str = "VISION_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 158u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct PLAY_TUNE_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub tune : [u8 ; 30] , } impl PLAY_TUNE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , tune : [0_u8 ; 30usize] , } ; } impl Default for PLAY_TUNE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for PLAY_TUNE_DATA { type Message = MavMessage ; const ID : u32 = 258u32 ; const NAME : & 'static str = "PLAY_TUNE" ; const EXTRA_CRC : u8 = 187u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . tune { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . tune { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HEARTBEAT_DATA { pub custom_mode : u32 , pub mavtype : MavType , pub autopilot : MavAutopilot , pub base_mode : MavModeFlag , pub system_status : MavState , pub mavlink_version : u8 , } impl HEARTBEAT_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , mavtype : MavType :: DEFAULT , autopilot : MavAutopilot :: DEFAULT , base_mode : MavModeFlag :: DEFAULT , system_status : MavState :: DEFAULT , mavlink_version : 0_u8 , } ; } impl Default for HEARTBEAT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HEARTBEAT_DATA { type Message = MavMessage ; const ID : u32 = 0u32 ; const NAME : & 'static str = "HEARTBEAT" ; const EXTRA_CRC : u8 = 50u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavType" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . autopilot = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavAutopilot" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . base_mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . system_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavState" , value : tmp as u32 }) ? ; __struct . mavlink_version = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . autopilot as u8) ; __tmp . put_u8 (self . base_mode . bits ()) ; __tmp . put_u8 (self . system_status as u8) ; __tmp . put_u8 (self . mavlink_version) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SIM_STATE_DATA { pub q1 : f32 , pub q2 : f32 , pub q3 : f32 , pub q4 : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub xacc : f32 , pub yacc : f32 , pub zacc : f32 , pub xgyro : f32 , pub ygyro : f32 , pub zgyro : f32 , pub lat : f32 , pub lon : f32 , pub alt : f32 , pub std_dev_horz : f32 , pub std_dev_vert : f32 , pub vn : f32 , pub ve : f32 , pub vd : f32 , } impl SIM_STATE_DATA { pub const ENCODED_LEN : usize = 84usize ; pub const DEFAULT : Self = Self { q1 : 0.0_f32 , q2 : 0.0_f32 , q3 : 0.0_f32 , q4 : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , xacc : 0.0_f32 , yacc : 0.0_f32 , zacc : 0.0_f32 , xgyro : 0.0_f32 , ygyro : 0.0_f32 , zgyro : 0.0_f32 , lat : 0.0_f32 , lon : 0.0_f32 , alt : 0.0_f32 , std_dev_horz : 0.0_f32 , std_dev_vert : 0.0_f32 , vn : 0.0_f32 , ve : 0.0_f32 , vd : 0.0_f32 , } ; } impl Default for SIM_STATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SIM_STATE_DATA { type Message = MavMessage ; const ID : u32 = 108u32 ; const NAME : & 'static str = "SIM_STATE" ; const EXTRA_CRC : u8 = 32u8 ; const ENCODED_LEN : usize = 84usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . q1 = buf . get_f32_le () ; __struct . q2 = buf . get_f32_le () ; __struct . q3 = buf . get_f32_le () ; __struct . q4 = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . xacc = buf . get_f32_le () ; __struct . yacc = buf . get_f32_le () ; __struct . zacc = buf . get_f32_le () ; __struct . xgyro = buf . get_f32_le () ; __struct . ygyro = buf . get_f32_le () ; __struct . zgyro = buf . get_f32_le () ; __struct . lat = buf . get_f32_le () ; __struct . lon = buf . get_f32_le () ; __struct . alt = buf . get_f32_le () ; __struct . std_dev_horz = buf . get_f32_le () ; __struct . std_dev_vert = buf . get_f32_le () ; __struct . vn = buf . get_f32_le () ; __struct . ve = buf . get_f32_le () ; __struct . vd = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . q1) ; __tmp . put_f32_le (self . q2) ; __tmp . put_f32_le (self . q3) ; __tmp . put_f32_le (self . q4) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . xacc) ; __tmp . put_f32_le (self . yacc) ; __tmp . put_f32_le (self . zacc) ; __tmp . put_f32_le (self . xgyro) ; __tmp . put_f32_le (self . ygyro) ; __tmp . put_f32_le (self . zgyro) ; __tmp . put_f32_le (self . lat) ; __tmp . put_f32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . std_dev_horz) ; __tmp . put_f32_le (self . std_dev_vert) ; __tmp . put_f32_le (self . vn) ; __tmp . put_f32_le (self . ve) ; __tmp . put_f32_le (self . vd) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_IMAGE_CAPTURED_DATA { pub time_utc : u64 , pub time_boot_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub q : [f32 ; 4] , pub image_index : i32 , pub camera_id : u8 , pub capture_result : i8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub file_url : [u8 ; 205] , } impl CAMERA_IMAGE_CAPTURED_DATA { pub const ENCODED_LEN : usize = 255usize ; pub const DEFAULT : Self = Self { time_utc : 0_u64 , time_boot_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , q : [0.0_f32 ; 4usize] , image_index : 0_i32 , camera_id : 0_u8 , capture_result : 0_i8 , file_url : [0_u8 ; 205usize] , } ; } impl Default for CAMERA_IMAGE_CAPTURED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_IMAGE_CAPTURED_DATA { type Message = MavMessage ; const ID : u32 = 263u32 ; const NAME : & 'static str = "CAMERA_IMAGE_CAPTURED" ; const EXTRA_CRC : u8 = 133u8 ; const ENCODED_LEN : usize = 255usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_utc = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; for v in & mut __struct . q { let val = buf . get_f32_le () ; * v = val ; } __struct . image_index = buf . get_i32_le () ; __struct . camera_id = buf . get_u8 () ; __struct . capture_result = buf . get_i8 () ; for v in & mut __struct . file_url { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_utc) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; for val in & self . q { __tmp . put_f32_le (* val) ; } __tmp . put_i32_le (self . image_index) ; __tmp . put_u8 (self . camera_id) ; __tmp . put_i8 (self . capture_result) ; for val in & self . file_url { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct AIS_VESSEL_DATA { pub MMSI : u32 , pub lat : i32 , pub lon : i32 , pub COG : u16 , pub heading : u16 , pub velocity : u16 , pub dimension_bow : u16 , pub dimension_stern : u16 , pub tslc : u16 , pub flags : AisFlags , pub turn_rate : i8 , pub navigational_status : AisNavStatus , pub mavtype : AisType , pub dimension_port : u8 , pub dimension_starboard : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 7] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 20] , } impl AIS_VESSEL_DATA { pub const ENCODED_LEN : usize = 58usize ; pub const DEFAULT : Self = Self { MMSI : 0_u32 , lat : 0_i32 , lon : 0_i32 , COG : 0_u16 , heading : 0_u16 , velocity : 0_u16 , dimension_bow : 0_u16 , dimension_stern : 0_u16 , tslc : 0_u16 , flags : AisFlags :: DEFAULT , turn_rate : 0_i8 , navigational_status : AisNavStatus :: DEFAULT , mavtype : AisType :: DEFAULT , dimension_port : 0_u8 , dimension_starboard : 0_u8 , callsign : [0_u8 ; 7usize] , name : [0_u8 ; 20usize] , } ; } impl Default for AIS_VESSEL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for AIS_VESSEL_DATA { type Message = MavMessage ; const ID : u32 = 301u32 ; const NAME : & 'static str = "AIS_VESSEL" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 58usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . MMSI = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . COG = buf . get_u16_le () ; __struct . heading = buf . get_u16_le () ; __struct . velocity = buf . get_u16_le () ; __struct . dimension_bow = buf . get_u16_le () ; __struct . dimension_stern = buf . get_u16_le () ; __struct . tslc = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = AisFlags :: from_bits (tmp & AisFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AisFlags" , value : tmp as u32 }) ? ; __struct . turn_rate = buf . get_i8 () ; let tmp = buf . get_u8 () ; __struct . navigational_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AisNavStatus" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AisType" , value : tmp as u32 }) ? ; __struct . dimension_port = buf . get_u8 () ; __struct . dimension_starboard = buf . get_u8 () ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . MMSI) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_u16_le (self . COG) ; __tmp . put_u16_le (self . heading) ; __tmp . put_u16_le (self . velocity) ; __tmp . put_u16_le (self . dimension_bow) ; __tmp . put_u16_le (self . dimension_stern) ; __tmp . put_u16_le (self . tslc) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_i8 (self . turn_rate) ; __tmp . put_u8 (self . navigational_status as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . dimension_port) ; __tmp . put_u8 (self . dimension_starboard) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } for val in & self . name { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAMERA_TRIGGER_DATA { pub time_usec : u64 , pub seq : u32 , } impl CAMERA_TRIGGER_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , seq : 0_u32 , } ; } impl Default for CAMERA_TRIGGER_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAMERA_TRIGGER_DATA { type Message = MavMessage ; const ID : u32 = 112u32 ; const NAME : & 'static str = "CAMERA_TRIGGER" ; const EXTRA_CRC : u8 = 174u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . seq = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . seq) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA { type Message = MavMessage ; const ID : u32 = 89u32 ; const NAME : & 'static str = "LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET" ; const EXTRA_CRC : u8 = 231u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct LOG_ENTRY_DATA { pub time_utc : u32 , pub size : u32 , pub id : u16 , pub num_logs : u16 , pub last_log_num : u16 , } impl LOG_ENTRY_DATA { pub const ENCODED_LEN : usize = 14usize ; pub const DEFAULT : Self = Self { time_utc : 0_u32 , size : 0_u32 , id : 0_u16 , num_logs : 0_u16 , last_log_num : 0_u16 , } ; } impl Default for LOG_ENTRY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for LOG_ENTRY_DATA { type Message = MavMessage ; const ID : u32 = 118u32 ; const NAME : & 'static str = "LOG_ENTRY" ; const EXTRA_CRC : u8 = 56u8 ; const ENCODED_LEN : usize = 14usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_utc = buf . get_u32_le () ; __struct . size = buf . get_u32_le () ; __struct . id = buf . get_u16_le () ; __struct . num_logs = buf . get_u16_le () ; __struct . last_log_num = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_utc) ; __tmp . put_u32_le (self . size) ; __tmp . put_u16_le (self . id) ; __tmp . put_u16_le (self . num_logs) ; __tmp . put_u16_le (self . last_log_num) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_MESSAGE_PACK_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub single_message_size : u8 , pub msg_pack_size : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub messages : [u8 ; 225] , } impl OPEN_DRONE_ID_MESSAGE_PACK_DATA { pub const ENCODED_LEN : usize = 249usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , single_message_size : 0_u8 , msg_pack_size : 0_u8 , messages : [0_u8 ; 225usize] , } ; } impl Default for OPEN_DRONE_ID_MESSAGE_PACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_MESSAGE_PACK_DATA { type Message = MavMessage ; const ID : u32 = 12915u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_MESSAGE_PACK" ; const EXTRA_CRC : u8 = 94u8 ; const ENCODED_LEN : usize = 249usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } __struct . single_message_size = buf . get_u8 () ; __struct . msg_pack_size = buf . get_u8 () ; for v in & mut __struct . messages { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . single_message_size) ; __tmp . put_u8 (self . msg_pack_size) ; for val in & self . messages { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GIMBAL_MANAGER_STATUS_DATA { pub time_boot_ms : u32 , pub flags : GimbalManagerFlags , pub gimbal_device_id : u8 , pub primary_control_sysid : u8 , pub primary_control_compid : u8 , pub secondary_control_sysid : u8 , pub secondary_control_compid : u8 , } impl GIMBAL_MANAGER_STATUS_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , flags : GimbalManagerFlags :: DEFAULT , gimbal_device_id : 0_u8 , primary_control_sysid : 0_u8 , primary_control_compid : 0_u8 , secondary_control_sysid : 0_u8 , secondary_control_compid : 0_u8 , } ; } impl Default for GIMBAL_MANAGER_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GIMBAL_MANAGER_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 281u32 ; const NAME : & 'static str = "GIMBAL_MANAGER_STATUS" ; const EXTRA_CRC : u8 = 48u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; let tmp = buf . get_u32_le () ; __struct . flags = FromPrimitive :: from_u32 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GimbalManagerFlags" , value : tmp as u32 }) ? ; __struct . gimbal_device_id = buf . get_u8 () ; __struct . primary_control_sysid = buf . get_u8 () ; __struct . primary_control_compid = buf . get_u8 () ; __struct . secondary_control_sysid = buf . get_u8 () ; __struct . secondary_control_compid = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . flags as u32) ; __tmp . put_u8 (self . gimbal_device_id) ; __tmp . put_u8 (self . primary_control_sysid) ; __tmp . put_u8 (self . primary_control_compid) ; __tmp . put_u8 (self . secondary_control_sysid) ; __tmp . put_u8 (self . secondary_control_compid) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MANUAL_SETPOINT_DATA { pub time_boot_ms : u32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , pub thrust : f32 , pub mode_switch : u8 , pub manual_override_switch : u8 , } impl MANUAL_SETPOINT_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , thrust : 0.0_f32 , mode_switch : 0_u8 , manual_override_switch : 0_u8 , } ; } impl Default for MANUAL_SETPOINT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MANUAL_SETPOINT_DATA { type Message = MavMessage ; const ID : u32 = 81u32 ; const NAME : & 'static str = "MANUAL_SETPOINT" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . thrust = buf . get_f32_le () ; __struct . mode_switch = buf . get_u8 () ; __struct . manual_override_switch = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . thrust) ; __tmp . put_u8 (self . mode_switch) ; __tmp . put_u8 (self . manual_override_switch) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_RTCM_DATA_DATA { pub flags : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 180] , } impl GPS_RTCM_DATA_DATA { pub const ENCODED_LEN : usize = 182usize ; pub const DEFAULT : Self = Self { flags : 0_u8 , len : 0_u8 , data : [0_u8 ; 180usize] , } ; } impl Default for GPS_RTCM_DATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_RTCM_DATA_DATA { type Message = MavMessage ; const ID : u32 = 233u32 ; const NAME : & 'static str = "GPS_RTCM_DATA" ; const EXTRA_CRC : u8 = 35u8 ; const ENCODED_LEN : usize = 182usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . flags = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . flags) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct RAW_IMU_DATA { pub time_usec : u64 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl RAW_IMU_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for RAW_IMU_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for RAW_IMU_DATA { type Message = MavMessage ; const ID : u32 = 27u32 ; const NAME : & 'static str = "RAW_IMU" ; const EXTRA_CRC : u8 = 144u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_INT_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : i32 , pub y : i32 , pub z : f32 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl COMMAND_INT_DATA { pub const ENCODED_LEN : usize = 35usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0_i32 , y : 0_i32 , z : 0.0_f32 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for COMMAND_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_INT_DATA { type Message = MavMessage ; const ID : u32 = 75u32 ; const NAME : & 'static str = "COMMAND_INT" ; const EXTRA_CRC : u8 = 158u8 ; const ENCODED_LEN : usize = 35usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_i32_le () ; __struct . y = buf . get_i32_le () ; __struct . z = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_i32_le (self . x) ; __tmp . put_i32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DEBUG_DATA { pub time_boot_ms : u32 , pub value : f32 , pub ind : u8 , } impl DEBUG_DATA { pub const ENCODED_LEN : usize = 9usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , value : 0.0_f32 , ind : 0_u8 , } ; } impl Default for DEBUG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DEBUG_DATA { type Message = MavMessage ; const ID : u32 = 254u32 ; const NAME : & 'static str = "DEBUG" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 9usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . value = buf . get_f32_le () ; __struct . ind = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . value) ; __tmp . put_u8 (self . ind) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_COUNT_DATA { pub count : u16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_COUNT_DATA { pub const ENCODED_LEN : usize = 4usize ; pub const DEFAULT : Self = Self { count : 0_u16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_COUNT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_COUNT_DATA { type Message = MavMessage ; const ID : u32 = 44u32 ; const NAME : & 'static str = "MISSION_COUNT" ; const EXTRA_CRC : u8 = 221u8 ; const ENCODED_LEN : usize = 4usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . count = buf . get_u16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . count) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VISION_SPEED_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , } impl VISION_SPEED_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 20usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , } ; } impl Default for VISION_SPEED_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VISION_SPEED_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 103u32 ; const NAME : & 'static str = "VISION_SPEED_ESTIMATE" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 20usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SET_ACTUATOR_CONTROL_TARGET_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub controls : [f32 ; 8] , pub group_mlx : u8 , pub target_system : u8 , pub target_component : u8 , } impl SET_ACTUATOR_CONTROL_TARGET_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , controls : [0.0_f32 ; 8usize] , group_mlx : 0_u8 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for SET_ACTUATOR_CONTROL_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SET_ACTUATOR_CONTROL_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 139u32 ; const NAME : & 'static str = "SET_ACTUATOR_CONTROL_TARGET" ; const EXTRA_CRC : u8 = 168u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . controls { let val = buf . get_f32_le () ; * v = val ; } __struct . group_mlx = buf . get_u8 () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . controls { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . group_mlx) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GPS_INPUT_DATA { pub time_usec : u64 , pub time_week_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : f32 , pub hdop : f32 , pub vdop : f32 , pub vn : f32 , pub ve : f32 , pub vd : f32 , pub speed_accuracy : f32 , pub horiz_accuracy : f32 , pub vert_accuracy : f32 , pub ignore_flags : GpsInputIgnoreFlags , pub time_week : u16 , pub gps_id : u8 , pub fix_type : u8 , pub satellites_visible : u8 , } impl GPS_INPUT_DATA { pub const ENCODED_LEN : usize = 63usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , time_week_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , hdop : 0.0_f32 , vdop : 0.0_f32 , vn : 0.0_f32 , ve : 0.0_f32 , vd : 0.0_f32 , speed_accuracy : 0.0_f32 , horiz_accuracy : 0.0_f32 , vert_accuracy : 0.0_f32 , ignore_flags : GpsInputIgnoreFlags :: DEFAULT , time_week : 0_u16 , gps_id : 0_u8 , fix_type : 0_u8 , satellites_visible : 0_u8 , } ; } impl Default for GPS_INPUT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GPS_INPUT_DATA { type Message = MavMessage ; const ID : u32 = 232u32 ; const NAME : & 'static str = "GPS_INPUT" ; const EXTRA_CRC : u8 = 151u8 ; const ENCODED_LEN : usize = 63usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . time_week_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . hdop = buf . get_f32_le () ; __struct . vdop = buf . get_f32_le () ; __struct . vn = buf . get_f32_le () ; __struct . ve = buf . get_f32_le () ; __struct . vd = buf . get_f32_le () ; __struct . speed_accuracy = buf . get_f32_le () ; __struct . horiz_accuracy = buf . get_f32_le () ; __struct . vert_accuracy = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . ignore_flags = GpsInputIgnoreFlags :: from_bits (tmp & GpsInputIgnoreFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "GpsInputIgnoreFlags" , value : tmp as u32 }) ? ; __struct . time_week = buf . get_u16_le () ; __struct . gps_id = buf . get_u8 () ; __struct . fix_type = buf . get_u8 () ; __struct . satellites_visible = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . time_week_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . hdop) ; __tmp . put_f32_le (self . vdop) ; __tmp . put_f32_le (self . vn) ; __tmp . put_f32_le (self . ve) ; __tmp . put_f32_le (self . vd) ; __tmp . put_f32_le (self . speed_accuracy) ; __tmp . put_f32_le (self . horiz_accuracy) ; __tmp . put_f32_le (self . vert_accuracy) ; __tmp . put_u16_le (self . ignore_flags . bits ()) ; __tmp . put_u16_le (self . time_week) ; __tmp . put_u8 (self . gps_id) ; __tmp . put_u8 (self . fix_type) ; __tmp . put_u8 (self . satellites_visible) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POSITION_TARGET_GLOBAL_INT_DATA { pub time_boot_ms : u32 , pub lat_int : i32 , pub lon_int : i32 , pub alt : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub coordinate_frame : MavFrame , } impl POSITION_TARGET_GLOBAL_INT_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat_int : 0_i32 , lon_int : 0_i32 , alt : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for POSITION_TARGET_GLOBAL_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POSITION_TARGET_GLOBAL_INT_DATA { type Message = MavMessage ; const ID : u32 = 87u32 ; const NAME : & 'static str = "POSITION_TARGET_GLOBAL_INT" ; const EXTRA_CRC : u8 = 150u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat_int = buf . get_i32_le () ; __struct . lon_int = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat_int) ; __tmp . put_i32_le (self . lon_int) ; __tmp . put_f32_le (self . alt) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct UAVCAN_NODE_STATUS_DATA { pub time_usec : u64 , pub uptime_sec : u32 , pub vendor_specific_status_code : u16 , pub health : UavcanNodeHealth , pub mode : UavcanNodeMode , pub sub_mode : u8 , } impl UAVCAN_NODE_STATUS_DATA { pub const ENCODED_LEN : usize = 17usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , uptime_sec : 0_u32 , vendor_specific_status_code : 0_u16 , health : UavcanNodeHealth :: DEFAULT , mode : UavcanNodeMode :: DEFAULT , sub_mode : 0_u8 , } ; } impl Default for UAVCAN_NODE_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for UAVCAN_NODE_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 310u32 ; const NAME : & 'static str = "UAVCAN_NODE_STATUS" ; const EXTRA_CRC : u8 = 28u8 ; const ENCODED_LEN : usize = 17usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . uptime_sec = buf . get_u32_le () ; __struct . vendor_specific_status_code = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . health = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavcanNodeHealth" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mode = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "UavcanNodeMode" , value : tmp as u32 }) ? ; __struct . sub_mode = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . uptime_sec) ; __tmp . put_u16_le (self . vendor_specific_status_code) ; __tmp . put_u8 (self . health as u8) ; __tmp . put_u8 (self . mode as u8) ; __tmp . put_u8 (self . sub_mode) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_SELF_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub description_type : MavOdidDescType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub description : [u8 ; 23] , } impl OPEN_DRONE_ID_SELF_ID_DATA { pub const ENCODED_LEN : usize = 46usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , description_type : MavOdidDescType :: DEFAULT , description : [0_u8 ; 23usize] , } ; } impl Default for OPEN_DRONE_ID_SELF_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_SELF_ID_DATA { type Message = MavMessage ; const ID : u32 = 12903u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_SELF_ID" ; const EXTRA_CRC : u8 = 249u8 ; const ENCODED_LEN : usize = 46usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . description_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidDescType" , value : tmp as u32 }) ? ; for v in & mut __struct . description { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . description_type as u8) ; for val in & self . description { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_ACK_DATA { pub command : MavCmd , pub result : MavResult , } impl COMMAND_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { command : MavCmd :: DEFAULT , result : MavResult :: DEFAULT , } ; } impl Default for COMMAND_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_ACK_DATA { type Message = MavMessage ; const ID : u32 = 77u32 ; const NAME : & 'static str = "COMMAND_ACK" ; const EXTRA_CRC : u8 = 143u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . result = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavResult" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . result as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPEN_DRONE_ID_OPERATOR_ID_DATA { pub target_system : u8 , pub target_component : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub id_or_mac : [u8 ; 20] , pub operator_id_type : MavOdidOperatorIdType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub operator_id : [u8 ; 20] , } impl OPEN_DRONE_ID_OPERATOR_ID_DATA { pub const ENCODED_LEN : usize = 43usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , id_or_mac : [0_u8 ; 20usize] , operator_id_type : MavOdidOperatorIdType :: DEFAULT , operator_id : [0_u8 ; 20usize] , } ; } impl Default for OPEN_DRONE_ID_OPERATOR_ID_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPEN_DRONE_ID_OPERATOR_ID_DATA { type Message = MavMessage ; const ID : u32 = 12905u32 ; const NAME : & 'static str = "OPEN_DRONE_ID_OPERATOR_ID" ; const EXTRA_CRC : u8 = 49u8 ; const ENCODED_LEN : usize = 43usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; for v in & mut __struct . id_or_mac { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . operator_id_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavOdidOperatorIdType" , value : tmp as u32 }) ? ; for v in & mut __struct . operator_id { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; for val in & self . id_or_mac { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . operator_id_type as u8) ; for val in & self . operator_id { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CELLULAR_STATUS_DATA { pub mcc : u16 , pub mnc : u16 , pub lac : u16 , pub status : CellularStatusFlag , pub failure_reason : CellularNetworkFailedReason , pub mavtype : CellularNetworkRadioType , pub quality : u8 , } impl CELLULAR_STATUS_DATA { pub const ENCODED_LEN : usize = 10usize ; pub const DEFAULT : Self = Self { mcc : 0_u16 , mnc : 0_u16 , lac : 0_u16 , status : CellularStatusFlag :: DEFAULT , failure_reason : CellularNetworkFailedReason :: DEFAULT , mavtype : CellularNetworkRadioType :: DEFAULT , quality : 0_u8 , } ; } impl Default for CELLULAR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CELLULAR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 334u32 ; const NAME : & 'static str = "CELLULAR_STATUS" ; const EXTRA_CRC : u8 = 72u8 ; const ENCODED_LEN : usize = 10usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . mcc = buf . get_u16_le () ; __struct . mnc = buf . get_u16_le () ; __struct . lac = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularStatusFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . failure_reason = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularNetworkFailedReason" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "CellularNetworkRadioType" , value : tmp as u32 }) ? ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . mcc) ; __tmp . put_u16_le (self . mnc) ; __tmp . put_u16_le (self . lac) ; __tmp . put_u8 (self . status as u8) ; __tmp . put_u8 (self . failure_reason as u8) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SYSTEM_TIME_DATA { pub time_unix_usec : u64 , pub time_boot_ms : u32 , } impl SYSTEM_TIME_DATA { pub const ENCODED_LEN : usize = 12usize ; pub const DEFAULT : Self = Self { time_unix_usec : 0_u64 , time_boot_ms : 0_u32 , } ; } impl Default for SYSTEM_TIME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SYSTEM_TIME_DATA { type Message = MavMessage ; const ID : u32 = 2u32 ; const NAME : & 'static str = "SYSTEM_TIME" ; const EXTRA_CRC : u8 = 137u8 ; const ENCODED_LEN : usize = 12usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_unix_usec = buf . get_u64_le () ; __struct . time_boot_ms = buf . get_u32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_unix_usec) ; __tmp . put_u32_le (self . time_boot_ms) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EFI_STATUS_DATA { pub ecu_index : f32 , pub rpm : f32 , pub fuel_consumed : f32 , pub fuel_flow : f32 , pub engine_load : f32 , pub throttle_position : f32 , pub spark_dwell_time : f32 , pub barometric_pressure : f32 , pub intake_manifold_pressure : f32 , pub intake_manifold_temperature : f32 , pub cylinder_head_temperature : f32 , pub ignition_timing : f32 , pub injection_time : f32 , pub exhaust_gas_temperature : f32 , pub throttle_out : f32 , pub pt_compensation : f32 , pub health : u8 , } impl EFI_STATUS_DATA { pub const ENCODED_LEN : usize = 65usize ; pub const DEFAULT : Self = Self { ecu_index : 0.0_f32 , rpm : 0.0_f32 , fuel_consumed : 0.0_f32 , fuel_flow : 0.0_f32 , engine_load : 0.0_f32 , throttle_position : 0.0_f32 , spark_dwell_time : 0.0_f32 , barometric_pressure : 0.0_f32 , intake_manifold_pressure : 0.0_f32 , intake_manifold_temperature : 0.0_f32 , cylinder_head_temperature : 0.0_f32 , ignition_timing : 0.0_f32 , injection_time : 0.0_f32 , exhaust_gas_temperature : 0.0_f32 , throttle_out : 0.0_f32 , pt_compensation : 0.0_f32 , health : 0_u8 , } ; } impl Default for EFI_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EFI_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 225u32 ; const NAME : & 'static str = "EFI_STATUS" ; const EXTRA_CRC : u8 = 208u8 ; const ENCODED_LEN : usize = 65usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ecu_index = buf . get_f32_le () ; __struct . rpm = buf . get_f32_le () ; __struct . fuel_consumed = buf . get_f32_le () ; __struct . fuel_flow = buf . get_f32_le () ; __struct . engine_load = buf . get_f32_le () ; __struct . throttle_position = buf . get_f32_le () ; __struct . spark_dwell_time = buf . get_f32_le () ; __struct . barometric_pressure = buf . get_f32_le () ; __struct . intake_manifold_pressure = buf . get_f32_le () ; __struct . intake_manifold_temperature = buf . get_f32_le () ; __struct . cylinder_head_temperature = buf . get_f32_le () ; __struct . ignition_timing = buf . get_f32_le () ; __struct . injection_time = buf . get_f32_le () ; __struct . exhaust_gas_temperature = buf . get_f32_le () ; __struct . throttle_out = buf . get_f32_le () ; __struct . pt_compensation = buf . get_f32_le () ; __struct . health = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . ecu_index) ; __tmp . put_f32_le (self . rpm) ; __tmp . put_f32_le (self . fuel_consumed) ; __tmp . put_f32_le (self . fuel_flow) ; __tmp . put_f32_le (self . engine_load) ; __tmp . put_f32_le (self . throttle_position) ; __tmp . put_f32_le (self . spark_dwell_time) ; __tmp . put_f32_le (self . barometric_pressure) ; __tmp . put_f32_le (self . intake_manifold_pressure) ; __tmp . put_f32_le (self . intake_manifold_temperature) ; __tmp . put_f32_le (self . cylinder_head_temperature) ; __tmp . put_f32_le (self . ignition_timing) ; __tmp . put_f32_le (self . injection_time) ; __tmp . put_f32_le (self . exhaust_gas_temperature) ; __tmp . put_f32_le (self . throttle_out) ; __tmp . put_f32_le (self . pt_compensation) ; __tmp . put_u8 (self . health) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMMAND_LONG_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub param5 : f32 , pub param6 : f32 , pub param7 : f32 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub confirmation : u8 , } impl COMMAND_LONG_DATA { pub const ENCODED_LEN : usize = 33usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , param5 : 0.0_f32 , param6 : 0.0_f32 , param7 : 0.0_f32 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , confirmation : 0_u8 , } ; } impl Default for COMMAND_LONG_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMMAND_LONG_DATA { type Message = MavMessage ; const ID : u32 = 76u32 ; const NAME : & 'static str = "COMMAND_LONG" ; const EXTRA_CRC : u8 = 152u8 ; const ENCODED_LEN : usize = 33usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . param5 = buf . get_f32_le () ; __struct . param6 = buf . get_f32_le () ; __struct . param7 = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . confirmation = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_f32_le (self . param5) ; __tmp . put_f32_le (self . param6) ; __tmp . put_f32_le (self . param7) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . confirmation) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct POSITION_TARGET_LOCAL_NED_DATA { pub time_boot_ms : u32 , pub x : f32 , pub y : f32 , pub z : f32 , pub vx : f32 , pub vy : f32 , pub vz : f32 , pub afx : f32 , pub afy : f32 , pub afz : f32 , pub yaw : f32 , pub yaw_rate : f32 , pub type_mask : PositionTargetTypemask , pub coordinate_frame : MavFrame , } impl POSITION_TARGET_LOCAL_NED_DATA { pub const ENCODED_LEN : usize = 51usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , vx : 0.0_f32 , vy : 0.0_f32 , vz : 0.0_f32 , afx : 0.0_f32 , afy : 0.0_f32 , afz : 0.0_f32 , yaw : 0.0_f32 , yaw_rate : 0.0_f32 , type_mask : PositionTargetTypemask :: DEFAULT , coordinate_frame : MavFrame :: DEFAULT , } ; } impl Default for POSITION_TARGET_LOCAL_NED_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for POSITION_TARGET_LOCAL_NED_DATA { type Message = MavMessage ; const ID : u32 = 85u32 ; const NAME : & 'static str = "POSITION_TARGET_LOCAL_NED" ; const EXTRA_CRC : u8 = 140u8 ; const ENCODED_LEN : usize = 51usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . vx = buf . get_f32_le () ; __struct . vy = buf . get_f32_le () ; __struct . vz = buf . get_f32_le () ; __struct . afx = buf . get_f32_le () ; __struct . afy = buf . get_f32_le () ; __struct . afz = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; __struct . yaw_rate = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . type_mask = PositionTargetTypemask :: from_bits (tmp & PositionTargetTypemask :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "PositionTargetTypemask" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . coordinate_frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . vx) ; __tmp . put_f32_le (self . vy) ; __tmp . put_f32_le (self . vz) ; __tmp . put_f32_le (self . afx) ; __tmp . put_f32_le (self . afy) ; __tmp . put_f32_le (self . afz) ; __tmp . put_f32_le (self . yaw) ; __tmp . put_f32_le (self . yaw_rate) ; __tmp . put_u16_le (self . type_mask . bits ()) ; __tmp . put_u8 (self . coordinate_frame as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MAG_CAL_REPORT_DATA { pub fitness : f32 , pub ofs_x : f32 , pub ofs_y : f32 , pub ofs_z : f32 , pub diag_x : f32 , pub diag_y : f32 , pub diag_z : f32 , pub offdiag_x : f32 , pub offdiag_y : f32 , pub offdiag_z : f32 , pub compass_id : u8 , pub cal_mask : u8 , pub cal_status : MagCalStatus , pub autosaved : u8 , } impl MAG_CAL_REPORT_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { fitness : 0.0_f32 , ofs_x : 0.0_f32 , ofs_y : 0.0_f32 , ofs_z : 0.0_f32 , diag_x : 0.0_f32 , diag_y : 0.0_f32 , diag_z : 0.0_f32 , offdiag_x : 0.0_f32 , offdiag_y : 0.0_f32 , offdiag_z : 0.0_f32 , compass_id : 0_u8 , cal_mask : 0_u8 , cal_status : MagCalStatus :: DEFAULT , autosaved : 0_u8 , } ; } impl Default for MAG_CAL_REPORT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MAG_CAL_REPORT_DATA { type Message = MavMessage ; const ID : u32 = 192u32 ; const NAME : & 'static str = "MAG_CAL_REPORT" ; const EXTRA_CRC : u8 = 36u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . fitness = buf . get_f32_le () ; __struct . ofs_x = buf . get_f32_le () ; __struct . ofs_y = buf . get_f32_le () ; __struct . ofs_z = buf . get_f32_le () ; __struct . diag_x = buf . get_f32_le () ; __struct . diag_y = buf . get_f32_le () ; __struct . diag_z = buf . get_f32_le () ; __struct . offdiag_x = buf . get_f32_le () ; __struct . offdiag_y = buf . get_f32_le () ; __struct . offdiag_z = buf . get_f32_le () ; __struct . compass_id = buf . get_u8 () ; __struct . cal_mask = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . cal_status = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MagCalStatus" , value : tmp as u32 }) ? ; __struct . autosaved = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . fitness) ; __tmp . put_f32_le (self . ofs_x) ; __tmp . put_f32_le (self . ofs_y) ; __tmp . put_f32_le (self . ofs_z) ; __tmp . put_f32_le (self . diag_x) ; __tmp . put_f32_le (self . diag_y) ; __tmp . put_f32_le (self . diag_z) ; __tmp . put_f32_le (self . offdiag_x) ; __tmp . put_f32_le (self . offdiag_y) ; __tmp . put_f32_le (self . offdiag_z) ; __tmp . put_u8 (self . compass_id) ; __tmp . put_u8 (self . cal_mask) ; __tmp . put_u8 (self . cal_status as u8) ; __tmp . put_u8 (self . autosaved) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WHEEL_DISTANCE_DATA { pub time_usec : u64 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub distance : [f64 ; 16] , pub count : u8 , } impl WHEEL_DISTANCE_DATA { pub const ENCODED_LEN : usize = 137usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , distance : [0.0_f64 ; 16usize] , count : 0_u8 , } ; } impl Default for WHEEL_DISTANCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WHEEL_DISTANCE_DATA { type Message = MavMessage ; const ID : u32 = 9000u32 ; const NAME : & 'static str = "WHEEL_DISTANCE" ; const EXTRA_CRC : u8 = 113u8 ; const ENCODED_LEN : usize = 137usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; for v in & mut __struct . distance { let val = buf . get_f64_le () ; * v = val ; } __struct . count = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; for val in & self . distance { __tmp . put_f64_le (* val) ; } __tmp . put_u8 (self . count) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPTICAL_FLOW_RAD_DATA { pub time_usec : u64 , pub integration_time_us : u32 , pub integrated_x : f32 , pub integrated_y : f32 , pub integrated_xgyro : f32 , pub integrated_ygyro : f32 , pub integrated_zgyro : f32 , pub time_delta_distance_us : u32 , pub distance : f32 , pub temperature : i16 , pub sensor_id : u8 , pub quality : u8 , } impl OPTICAL_FLOW_RAD_DATA { pub const ENCODED_LEN : usize = 44usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , integration_time_us : 0_u32 , integrated_x : 0.0_f32 , integrated_y : 0.0_f32 , integrated_xgyro : 0.0_f32 , integrated_ygyro : 0.0_f32 , integrated_zgyro : 0.0_f32 , time_delta_distance_us : 0_u32 , distance : 0.0_f32 , temperature : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for OPTICAL_FLOW_RAD_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPTICAL_FLOW_RAD_DATA { type Message = MavMessage ; const ID : u32 = 106u32 ; const NAME : & 'static str = "OPTICAL_FLOW_RAD" ; const EXTRA_CRC : u8 = 138u8 ; const ENCODED_LEN : usize = 44usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . integration_time_us = buf . get_u32_le () ; __struct . integrated_x = buf . get_f32_le () ; __struct . integrated_y = buf . get_f32_le () ; __struct . integrated_xgyro = buf . get_f32_le () ; __struct . integrated_ygyro = buf . get_f32_le () ; __struct . integrated_zgyro = buf . get_f32_le () ; __struct . time_delta_distance_us = buf . get_u32_le () ; __struct . distance = buf . get_f32_le () ; __struct . temperature = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_u32_le (self . integration_time_us) ; __tmp . put_f32_le (self . integrated_x) ; __tmp . put_f32_le (self . integrated_y) ; __tmp . put_f32_le (self . integrated_xgyro) ; __tmp . put_f32_le (self . integrated_ygyro) ; __tmp . put_f32_le (self . integrated_zgyro) ; __tmp . put_u32_le (self . time_delta_distance_us) ; __tmp . put_f32_le (self . distance) ; __tmp . put_i16_le (self . temperature) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct SCALED_IMU3_DATA { pub time_boot_ms : u32 , pub xacc : i16 , pub yacc : i16 , pub zacc : i16 , pub xgyro : i16 , pub ygyro : i16 , pub zgyro : i16 , pub xmag : i16 , pub ymag : i16 , pub zmag : i16 , } impl SCALED_IMU3_DATA { pub const ENCODED_LEN : usize = 22usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , xacc : 0_i16 , yacc : 0_i16 , zacc : 0_i16 , xgyro : 0_i16 , ygyro : 0_i16 , zgyro : 0_i16 , xmag : 0_i16 , ymag : 0_i16 , zmag : 0_i16 , } ; } impl Default for SCALED_IMU3_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for SCALED_IMU3_DATA { type Message = MavMessage ; const ID : u32 = 129u32 ; const NAME : & 'static str = "SCALED_IMU3" ; const EXTRA_CRC : u8 = 46u8 ; const ENCODED_LEN : usize = 22usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . xacc = buf . get_i16_le () ; __struct . yacc = buf . get_i16_le () ; __struct . zacc = buf . get_i16_le () ; __struct . xgyro = buf . get_i16_le () ; __struct . ygyro = buf . get_i16_le () ; __struct . zgyro = buf . get_i16_le () ; __struct . xmag = buf . get_i16_le () ; __struct . ymag = buf . get_i16_le () ; __struct . zmag = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i16_le (self . xacc) ; __tmp . put_i16_le (self . yacc) ; __tmp . put_i16_le (self . zacc) ; __tmp . put_i16_le (self . xgyro) ; __tmp . put_i16_le (self . ygyro) ; __tmp . put_i16_le (self . zgyro) ; __tmp . put_i16_le (self . xmag) ; __tmp . put_i16_le (self . ymag) ; __tmp . put_i16_le (self . zmag) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_REQUEST_PARTIAL_LIST_DATA { pub start_index : i16 , pub end_index : i16 , pub target_system : u8 , pub target_component : u8 , } impl MISSION_REQUEST_PARTIAL_LIST_DATA { pub const ENCODED_LEN : usize = 6usize ; pub const DEFAULT : Self = Self { start_index : 0_i16 , end_index : 0_i16 , target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_REQUEST_PARTIAL_LIST_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_REQUEST_PARTIAL_LIST_DATA { type Message = MavMessage ; const ID : u32 = 37u32 ; const NAME : & 'static str = "MISSION_REQUEST_PARTIAL_LIST" ; const EXTRA_CRC : u8 = 212u8 ; const ENCODED_LEN : usize = 6usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . start_index = buf . get_i16_le () ; __struct . end_index = buf . get_i16_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . start_index) ; __tmp . put_i16_le (self . end_index) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GENERATOR_STATUS_DATA { pub status : MavGeneratorStatusFlag , pub battery_current : f32 , pub load_current : f32 , pub power_generated : f32 , pub bus_voltage : f32 , pub bat_current_setpoint : f32 , pub runtime : u32 , pub time_until_maintenance : i32 , pub generator_speed : u16 , pub rectifier_temperature : i16 , pub generator_temperature : i16 , } impl GENERATOR_STATUS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { status : MavGeneratorStatusFlag :: DEFAULT , battery_current : 0.0_f32 , load_current : 0.0_f32 , power_generated : 0.0_f32 , bus_voltage : 0.0_f32 , bat_current_setpoint : 0.0_f32 , runtime : 0_u32 , time_until_maintenance : 0_i32 , generator_speed : 0_u16 , rectifier_temperature : 0_i16 , generator_temperature : 0_i16 , } ; } impl Default for GENERATOR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GENERATOR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 373u32 ; const NAME : & 'static str = "GENERATOR_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; let tmp = buf . get_u64_le () ; __struct . status = MavGeneratorStatusFlag :: from_bits (tmp & MavGeneratorStatusFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavGeneratorStatusFlag" , value : tmp as u32 }) ? ; __struct . battery_current = buf . get_f32_le () ; __struct . load_current = buf . get_f32_le () ; __struct . power_generated = buf . get_f32_le () ; __struct . bus_voltage = buf . get_f32_le () ; __struct . bat_current_setpoint = buf . get_f32_le () ; __struct . runtime = buf . get_u32_le () ; __struct . time_until_maintenance = buf . get_i32_le () ; __struct . generator_speed = buf . get_u16_le () ; __struct . rectifier_temperature = buf . get_i16_le () ; __struct . generator_temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . status . bits ()) ; __tmp . put_f32_le (self . battery_current) ; __tmp . put_f32_le (self . load_current) ; __tmp . put_f32_le (self . power_generated) ; __tmp . put_f32_le (self . bus_voltage) ; __tmp . put_f32_le (self . bat_current_setpoint) ; __tmp . put_u32_le (self . runtime) ; __tmp . put_i32_le (self . time_until_maintenance) ; __tmp . put_u16_le (self . generator_speed) ; __tmp . put_i16_le (self . rectifier_temperature) ; __tmp . put_i16_le (self . generator_temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VICON_POSITION_ESTIMATE_DATA { pub usec : u64 , pub x : f32 , pub y : f32 , pub z : f32 , pub roll : f32 , pub pitch : f32 , pub yaw : f32 , } impl VICON_POSITION_ESTIMATE_DATA { pub const ENCODED_LEN : usize = 32usize ; pub const DEFAULT : Self = Self { usec : 0_u64 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , roll : 0.0_f32 , pitch : 0.0_f32 , yaw : 0.0_f32 , } ; } impl Default for VICON_POSITION_ESTIMATE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VICON_POSITION_ESTIMATE_DATA { type Message = MavMessage ; const ID : u32 = 104u32 ; const NAME : & 'static str = "VICON_POSITION_ESTIMATE" ; const EXTRA_CRC : u8 = 56u8 ; const ENCODED_LEN : usize = 32usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . usec = buf . get_u64_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . roll = buf . get_f32_le () ; __struct . pitch = buf . get_f32_le () ; __struct . yaw = buf . get_f32_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . usec) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_f32_le (self . roll) ; __tmp . put_f32_le (self . pitch) ; __tmp . put_f32_le (self . yaw) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ITEM_DATA { pub param1 : f32 , pub param2 : f32 , pub param3 : f32 , pub param4 : f32 , pub x : f32 , pub y : f32 , pub z : f32 , pub seq : u16 , pub command : MavCmd , pub target_system : u8 , pub target_component : u8 , pub frame : MavFrame , pub current : u8 , pub autocontinue : u8 , } impl MISSION_ITEM_DATA { pub const ENCODED_LEN : usize = 37usize ; pub const DEFAULT : Self = Self { param1 : 0.0_f32 , param2 : 0.0_f32 , param3 : 0.0_f32 , param4 : 0.0_f32 , x : 0.0_f32 , y : 0.0_f32 , z : 0.0_f32 , seq : 0_u16 , command : MavCmd :: DEFAULT , target_system : 0_u8 , target_component : 0_u8 , frame : MavFrame :: DEFAULT , current : 0_u8 , autocontinue : 0_u8 , } ; } impl Default for MISSION_ITEM_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ITEM_DATA { type Message = MavMessage ; const ID : u32 = 39u32 ; const NAME : & 'static str = "MISSION_ITEM" ; const EXTRA_CRC : u8 = 254u8 ; const ENCODED_LEN : usize = 37usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . param1 = buf . get_f32_le () ; __struct . param2 = buf . get_f32_le () ; __struct . param3 = buf . get_f32_le () ; __struct . param4 = buf . get_f32_le () ; __struct . x = buf . get_f32_le () ; __struct . y = buf . get_f32_le () ; __struct . z = buf . get_f32_le () ; __struct . seq = buf . get_u16_le () ; let tmp = buf . get_u16_le () ; __struct . command = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavCmd" , value : tmp as u32 }) ? ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . frame = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavFrame" , value : tmp as u32 }) ? ; __struct . current = buf . get_u8 () ; __struct . autocontinue = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . param1) ; __tmp . put_f32_le (self . param2) ; __tmp . put_f32_le (self . param3) ; __tmp . put_f32_le (self . param4) ; __tmp . put_f32_le (self . x) ; __tmp . put_f32_le (self . y) ; __tmp . put_f32_le (self . z) ; __tmp . put_u16_le (self . seq) ; __tmp . put_u16_le (self . command as u16) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . frame as u8) ; __tmp . put_u8 (self . current) ; __tmp . put_u8 (self . autocontinue) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MANUAL_CONTROL_DATA { pub x : i16 , pub y : i16 , pub z : i16 , pub r : i16 , pub buttons : u16 , pub target : u8 , } impl MANUAL_CONTROL_DATA { pub const ENCODED_LEN : usize = 11usize ; pub const DEFAULT : Self = Self { x : 0_i16 , y : 0_i16 , z : 0_i16 , r : 0_i16 , buttons : 0_u16 , target : 0_u8 , } ; } impl Default for MANUAL_CONTROL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MANUAL_CONTROL_DATA { type Message = MavMessage ; const ID : u32 = 69u32 ; const NAME : & 'static str = "MANUAL_CONTROL" ; const EXTRA_CRC : u8 = 243u8 ; const ENCODED_LEN : usize = 11usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . x = buf . get_i16_le () ; __struct . y = buf . get_i16_le () ; __struct . z = buf . get_i16_le () ; __struct . r = buf . get_i16_le () ; __struct . buttons = buf . get_u16_le () ; __struct . target = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_i16_le (self . x) ; __tmp . put_i16_le (self . y) ; __tmp . put_i16_le (self . z) ; __tmp . put_i16_le (self . r) ; __tmp . put_u16_le (self . buttons) ; __tmp . put_u8 (self . target) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ESTIMATOR_STATUS_DATA { pub time_usec : u64 , pub vel_ratio : f32 , pub pos_horiz_ratio : f32 , pub pos_vert_ratio : f32 , pub mag_ratio : f32 , pub hagl_ratio : f32 , pub tas_ratio : f32 , pub pos_horiz_accuracy : f32 , pub pos_vert_accuracy : f32 , pub flags : EstimatorStatusFlags , } impl ESTIMATOR_STATUS_DATA { pub const ENCODED_LEN : usize = 42usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , vel_ratio : 0.0_f32 , pos_horiz_ratio : 0.0_f32 , pos_vert_ratio : 0.0_f32 , mag_ratio : 0.0_f32 , hagl_ratio : 0.0_f32 , tas_ratio : 0.0_f32 , pos_horiz_accuracy : 0.0_f32 , pos_vert_accuracy : 0.0_f32 , flags : EstimatorStatusFlags :: DEFAULT , } ; } impl Default for ESTIMATOR_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ESTIMATOR_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 230u32 ; const NAME : & 'static str = "ESTIMATOR_STATUS" ; const EXTRA_CRC : u8 = 163u8 ; const ENCODED_LEN : usize = 42usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . vel_ratio = buf . get_f32_le () ; __struct . pos_horiz_ratio = buf . get_f32_le () ; __struct . pos_vert_ratio = buf . get_f32_le () ; __struct . mag_ratio = buf . get_f32_le () ; __struct . hagl_ratio = buf . get_f32_le () ; __struct . tas_ratio = buf . get_f32_le () ; __struct . pos_horiz_accuracy = buf . get_f32_le () ; __struct . pos_vert_accuracy = buf . get_f32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = EstimatorStatusFlags :: from_bits (tmp & EstimatorStatusFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "EstimatorStatusFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . vel_ratio) ; __tmp . put_f32_le (self . pos_horiz_ratio) ; __tmp . put_f32_le (self . pos_vert_ratio) ; __tmp . put_f32_le (self . mag_ratio) ; __tmp . put_f32_le (self . hagl_ratio) ; __tmp . put_f32_le (self . tas_ratio) ; __tmp . put_f32_le (self . pos_horiz_accuracy) ; __tmp . put_f32_le (self . pos_vert_accuracy) ; __tmp . put_u16_le (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct ADSB_VEHICLE_DATA { pub ICAO_address : u32 , pub lat : i32 , pub lon : i32 , pub altitude : i32 , pub heading : u16 , pub hor_velocity : u16 , pub ver_velocity : i16 , pub flags : AdsbFlags , pub squawk : u16 , pub altitude_type : AdsbAltitudeType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub callsign : [u8 ; 9] , pub emitter_type : AdsbEmitterType , pub tslc : u8 , } impl ADSB_VEHICLE_DATA { pub const ENCODED_LEN : usize = 38usize ; pub const DEFAULT : Self = Self { ICAO_address : 0_u32 , lat : 0_i32 , lon : 0_i32 , altitude : 0_i32 , heading : 0_u16 , hor_velocity : 0_u16 , ver_velocity : 0_i16 , flags : AdsbFlags :: DEFAULT , squawk : 0_u16 , altitude_type : AdsbAltitudeType :: DEFAULT , callsign : [0_u8 ; 9usize] , emitter_type : AdsbEmitterType :: DEFAULT , tslc : 0_u8 , } ; } impl Default for ADSB_VEHICLE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for ADSB_VEHICLE_DATA { type Message = MavMessage ; const ID : u32 = 246u32 ; const NAME : & 'static str = "ADSB_VEHICLE" ; const EXTRA_CRC : u8 = 184u8 ; const ENCODED_LEN : usize = 38usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . ICAO_address = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . altitude = buf . get_i32_le () ; __struct . heading = buf . get_u16_le () ; __struct . hor_velocity = buf . get_u16_le () ; __struct . ver_velocity = buf . get_i16_le () ; let tmp = buf . get_u16_le () ; __struct . flags = AdsbFlags :: from_bits (tmp & AdsbFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "AdsbFlags" , value : tmp as u32 }) ? ; __struct . squawk = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . altitude_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbAltitudeType" , value : tmp as u32 }) ? ; for v in & mut __struct . callsign { let val = buf . get_u8 () ; * v = val ; } let tmp = buf . get_u8 () ; __struct . emitter_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "AdsbEmitterType" , value : tmp as u32 }) ? ; __struct . tslc = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . ICAO_address) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . altitude) ; __tmp . put_u16_le (self . heading) ; __tmp . put_u16_le (self . hor_velocity) ; __tmp . put_i16_le (self . ver_velocity) ; __tmp . put_u16_le (self . flags . bits ()) ; __tmp . put_u16_le (self . squawk) ; __tmp . put_u8 (self . altitude_type as u8) ; for val in & self . callsign { __tmp . put_u8 (* val) ; } __tmp . put_u8 (self . emitter_type as u8) ; __tmp . put_u8 (self . tslc) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct GLOBAL_POSITION_INT_DATA { pub time_boot_ms : u32 , pub lat : i32 , pub lon : i32 , pub alt : i32 , pub relative_alt : i32 , pub vx : i16 , pub vy : i16 , pub vz : i16 , pub hdg : u16 , } impl GLOBAL_POSITION_INT_DATA { pub const ENCODED_LEN : usize = 28usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , lat : 0_i32 , lon : 0_i32 , alt : 0_i32 , relative_alt : 0_i32 , vx : 0_i16 , vy : 0_i16 , vz : 0_i16 , hdg : 0_u16 , } ; } impl Default for GLOBAL_POSITION_INT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for GLOBAL_POSITION_INT_DATA { type Message = MavMessage ; const ID : u32 = 33u32 ; const NAME : & 'static str = "GLOBAL_POSITION_INT" ; const EXTRA_CRC : u8 = 104u8 ; const ENCODED_LEN : usize = 28usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_i32_le () ; __struct . relative_alt = buf . get_i32_le () ; __struct . vx = buf . get_i16_le () ; __struct . vy = buf . get_i16_le () ; __struct . vz = buf . get_i16_le () ; __struct . hdg = buf . get_u16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_i32_le (self . alt) ; __tmp . put_i32_le (self . relative_alt) ; __tmp . put_i16_le (self . vx) ; __tmp . put_i16_le (self . vy) ; __tmp . put_i16_le (self . vz) ; __tmp . put_u16_le (self . hdg) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct DATA_TRANSMISSION_HANDSHAKE_DATA { pub size : u32 , pub width : u16 , pub height : u16 , pub packets : u16 , pub mavtype : MavlinkDataStreamType , pub payload : u8 , pub jpg_quality : u8 , } impl DATA_TRANSMISSION_HANDSHAKE_DATA { pub const ENCODED_LEN : usize = 13usize ; pub const DEFAULT : Self = Self { size : 0_u32 , width : 0_u16 , height : 0_u16 , packets : 0_u16 , mavtype : MavlinkDataStreamType :: DEFAULT , payload : 0_u8 , jpg_quality : 0_u8 , } ; } impl Default for DATA_TRANSMISSION_HANDSHAKE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for DATA_TRANSMISSION_HANDSHAKE_DATA { type Message = MavMessage ; const ID : u32 = 130u32 ; const NAME : & 'static str = "DATA_TRANSMISSION_HANDSHAKE" ; const EXTRA_CRC : u8 = 29u8 ; const ENCODED_LEN : usize = 13usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . size = buf . get_u32_le () ; __struct . width = buf . get_u16_le () ; __struct . height = buf . get_u16_le () ; __struct . packets = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavlinkDataStreamType" , value : tmp as u32 }) ? ; __struct . payload = buf . get_u8 () ; __struct . jpg_quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . size) ; __tmp . put_u16_le (self . width) ; __tmp . put_u16_le (self . height) ; __tmp . put_u16_le (self . packets) ; __tmp . put_u8 (self . mavtype as u8) ; __tmp . put_u8 (self . payload) ; __tmp . put_u8 (self . jpg_quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_CLEAR_ALL_DATA { pub target_system : u8 , pub target_component : u8 , } impl MISSION_CLEAR_ALL_DATA { pub const ENCODED_LEN : usize = 2usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , } ; } impl Default for MISSION_CLEAR_ALL_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_CLEAR_ALL_DATA { type Message = MavMessage ; const ID : u32 = 45u32 ; const NAME : & 'static str = "MISSION_CLEAR_ALL" ; const EXTRA_CRC : u8 = 232u8 ; const ENCODED_LEN : usize = 2usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct VIDEO_STREAM_INFORMATION_DATA { pub framerate : f32 , pub bitrate : u32 , pub flags : VideoStreamStatusFlags , pub resolution_h : u16 , pub resolution_v : u16 , pub rotation : u16 , pub hfov : u16 , pub stream_id : u8 , pub count : u8 , pub mavtype : VideoStreamType , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub name : [u8 ; 32] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 160] , } impl VIDEO_STREAM_INFORMATION_DATA { pub const ENCODED_LEN : usize = 213usize ; pub const DEFAULT : Self = Self { framerate : 0.0_f32 , bitrate : 0_u32 , flags : VideoStreamStatusFlags :: DEFAULT , resolution_h : 0_u16 , resolution_v : 0_u16 , rotation : 0_u16 , hfov : 0_u16 , stream_id : 0_u8 , count : 0_u8 , mavtype : VideoStreamType :: DEFAULT , name : [0_u8 ; 32usize] , uri : [0_u8 ; 160usize] , } ; } impl Default for VIDEO_STREAM_INFORMATION_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for VIDEO_STREAM_INFORMATION_DATA { type Message = MavMessage ; const ID : u32 = 269u32 ; const NAME : & 'static str = "VIDEO_STREAM_INFORMATION" ; const EXTRA_CRC : u8 = 109u8 ; const ENCODED_LEN : usize = 213usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . framerate = buf . get_f32_le () ; __struct . bitrate = buf . get_u32_le () ; let tmp = buf . get_u16_le () ; __struct . flags = FromPrimitive :: from_u16 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamStatusFlags" , value : tmp as u32 }) ? ; __struct . resolution_h = buf . get_u16_le () ; __struct . resolution_v = buf . get_u16_le () ; __struct . rotation = buf . get_u16_le () ; __struct . hfov = buf . get_u16_le () ; __struct . stream_id = buf . get_u8 () ; __struct . count = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "VideoStreamType" , value : tmp as u32 }) ? ; for v in & mut __struct . name { let val = buf . get_u8 () ; * v = val ; } for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_f32_le (self . framerate) ; __tmp . put_u32_le (self . bitrate) ; __tmp . put_u16_le (self . flags as u16) ; __tmp . put_u16_le (self . resolution_h) ; __tmp . put_u16_le (self . resolution_v) ; __tmp . put_u16_le (self . rotation) ; __tmp . put_u16_le (self . hfov) ; __tmp . put_u8 (self . stream_id) ; __tmp . put_u8 (self . count) ; __tmp . put_u8 (self . mavtype as u8) ; for val in & self . name { __tmp . put_u8 (* val) ; } for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CAN_FRAME_DATA { pub id : u32 , pub target_system : u8 , pub target_component : u8 , pub bus : u8 , pub len : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub data : [u8 ; 8] , } impl CAN_FRAME_DATA { pub const ENCODED_LEN : usize = 16usize ; pub const DEFAULT : Self = Self { id : 0_u32 , target_system : 0_u8 , target_component : 0_u8 , bus : 0_u8 , len : 0_u8 , data : [0_u8 ; 8usize] , } ; } impl Default for CAN_FRAME_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CAN_FRAME_DATA { type Message = MavMessage ; const ID : u32 = 386u32 ; const NAME : & 'static str = "CAN_FRAME" ; const EXTRA_CRC : u8 = 132u8 ; const ENCODED_LEN : usize = 16usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; __struct . bus = buf . get_u8 () ; __struct . len = buf . get_u8 () ; for v in & mut __struct . data { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . bus) ; __tmp . put_u8 (self . len) ; for val in & self . data { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct EVENT_DATA { pub id : u32 , pub event_time_boot_ms : u32 , pub sequence : u16 , pub destination_component : u8 , pub destination_system : u8 , pub log_levels : u8 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub arguments : [u8 ; 40] , } impl EVENT_DATA { pub const ENCODED_LEN : usize = 53usize ; pub const DEFAULT : Self = Self { id : 0_u32 , event_time_boot_ms : 0_u32 , sequence : 0_u16 , destination_component : 0_u8 , destination_system : 0_u8 , log_levels : 0_u8 , arguments : [0_u8 ; 40usize] , } ; } impl Default for EVENT_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for EVENT_DATA { type Message = MavMessage ; const ID : u32 = 410u32 ; const NAME : & 'static str = "EVENT" ; const EXTRA_CRC : u8 = 160u8 ; const ENCODED_LEN : usize = 53usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . id = buf . get_u32_le () ; __struct . event_time_boot_ms = buf . get_u32_le () ; __struct . sequence = buf . get_u16_le () ; __struct . destination_component = buf . get_u8 () ; __struct . destination_system = buf . get_u8 () ; __struct . log_levels = buf . get_u8 () ; for v in & mut __struct . arguments { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . id) ; __tmp . put_u32_le (self . event_time_boot_ms) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . destination_component) ; __tmp . put_u8 (self . destination_system) ; __tmp . put_u8 (self . log_levels) ; for val in & self . arguments { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct COMPONENT_METADATA_DATA { pub time_boot_ms : u32 , pub file_crc : u32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub uri : [u8 ; 100] , } impl COMPONENT_METADATA_DATA { pub const ENCODED_LEN : usize = 108usize ; pub const DEFAULT : Self = Self { time_boot_ms : 0_u32 , file_crc : 0_u32 , uri : [0_u8 ; 100usize] , } ; } impl Default for COMPONENT_METADATA_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for COMPONENT_METADATA_DATA { type Message = MavMessage ; const ID : u32 = 397u32 ; const NAME : & 'static str = "COMPONENT_METADATA" ; const EXTRA_CRC : u8 = 182u8 ; const ENCODED_LEN : usize = 108usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_boot_ms = buf . get_u32_le () ; __struct . file_crc = buf . get_u32_le () ; for v in & mut __struct . uri { let val = buf . get_u8 () ; * v = val ; } Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . time_boot_ms) ; __tmp . put_u32_le (self . file_crc) ; for val in & self . uri { __tmp . put_u8 (* val) ; } if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct CURRENT_EVENT_SEQUENCE_DATA { pub sequence : u16 , pub flags : MavEventCurrentSequenceFlags , } impl CURRENT_EVENT_SEQUENCE_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { sequence : 0_u16 , flags : MavEventCurrentSequenceFlags :: DEFAULT , } ; } impl Default for CURRENT_EVENT_SEQUENCE_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for CURRENT_EVENT_SEQUENCE_DATA { type Message = MavMessage ; const ID : u32 = 411u32 ; const NAME : & 'static str = "CURRENT_EVENT_SEQUENCE" ; const EXTRA_CRC : u8 = 106u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . sequence = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . flags = MavEventCurrentSequenceFlags :: from_bits (tmp & MavEventCurrentSequenceFlags :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavEventCurrentSequenceFlags" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u16_le (self . sequence) ; __tmp . put_u8 (self . flags . bits ()) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct MISSION_ACK_DATA { pub target_system : u8 , pub target_component : u8 , pub mavtype : MavMissionResult , } impl MISSION_ACK_DATA { pub const ENCODED_LEN : usize = 3usize ; pub const DEFAULT : Self = Self { target_system : 0_u8 , target_component : 0_u8 , mavtype : MavMissionResult :: DEFAULT , } ; } impl Default for MISSION_ACK_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for MISSION_ACK_DATA { type Message = MavMessage ; const ID : u32 = 47u32 ; const NAME : & 'static str = "MISSION_ACK" ; const EXTRA_CRC : u8 = 153u8 ; const ENCODED_LEN : usize = 3usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . target_system = buf . get_u8 () ; __struct . target_component = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . mavtype = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavMissionResult" , value : tmp as u32 }) ? ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u8 (self . target_system) ; __tmp . put_u8 (self . target_component) ; __tmp . put_u8 (self . mavtype as u8) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct OPTICAL_FLOW_DATA { pub time_usec : u64 , pub flow_comp_m_x : f32 , pub flow_comp_m_y : f32 , pub ground_distance : f32 , pub flow_x : i16 , pub flow_y : i16 , pub sensor_id : u8 , pub quality : u8 , } impl OPTICAL_FLOW_DATA { pub const ENCODED_LEN : usize = 26usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , flow_comp_m_x : 0.0_f32 , flow_comp_m_y : 0.0_f32 , ground_distance : 0.0_f32 , flow_x : 0_i16 , flow_y : 0_i16 , sensor_id : 0_u8 , quality : 0_u8 , } ; } impl Default for OPTICAL_FLOW_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for OPTICAL_FLOW_DATA { type Message = MavMessage ; const ID : u32 = 100u32 ; const NAME : & 'static str = "OPTICAL_FLOW" ; const EXTRA_CRC : u8 = 175u8 ; const ENCODED_LEN : usize = 26usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . flow_comp_m_x = buf . get_f32_le () ; __struct . flow_comp_m_y = buf . get_f32_le () ; __struct . ground_distance = buf . get_f32_le () ; __struct . flow_x = buf . get_i16_le () ; __struct . flow_y = buf . get_i16_le () ; __struct . sensor_id = buf . get_u8 () ; __struct . quality = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . flow_comp_m_x) ; __tmp . put_f32_le (self . flow_comp_m_y) ; __tmp . put_f32_le (self . ground_distance) ; __tmp . put_i16_le (self . flow_x) ; __tmp . put_i16_le (self . flow_y) ; __tmp . put_u8 (self . sensor_id) ; __tmp . put_u8 (self . quality) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct WINCH_STATUS_DATA { pub time_usec : u64 , pub line_length : f32 , pub speed : f32 , pub tension : f32 , pub voltage : f32 , pub current : f32 , pub status : MavWinchStatusFlag , pub temperature : i16 , } impl WINCH_STATUS_DATA { pub const ENCODED_LEN : usize = 34usize ; pub const DEFAULT : Self = Self { time_usec : 0_u64 , line_length : 0.0_f32 , speed : 0.0_f32 , tension : 0.0_f32 , voltage : 0.0_f32 , current : 0.0_f32 , status : MavWinchStatusFlag :: DEFAULT , temperature : 0_i16 , } ; } impl Default for WINCH_STATUS_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for WINCH_STATUS_DATA { type Message = MavMessage ; const ID : u32 = 9005u32 ; const NAME : & 'static str = "WINCH_STATUS" ; const EXTRA_CRC : u8 = 117u8 ; const ENCODED_LEN : usize = 34usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . time_usec = buf . get_u64_le () ; __struct . line_length = buf . get_f32_le () ; __struct . speed = buf . get_f32_le () ; __struct . tension = buf . get_f32_le () ; __struct . voltage = buf . get_f32_le () ; __struct . current = buf . get_f32_le () ; let tmp = buf . get_u32_le () ; __struct . status = MavWinchStatusFlag :: from_bits (tmp & MavWinchStatusFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavWinchStatusFlag" , value : tmp as u32 }) ? ; __struct . temperature = buf . get_i16_le () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . time_usec) ; __tmp . put_f32_le (self . line_length) ; __tmp . put_f32_le (self . speed) ; __tmp . put_f32_le (self . tension) ; __tmp . put_f32_le (self . voltage) ; __tmp . put_f32_le (self . current) ; __tmp . put_u32_le (self . status . bits ()) ; __tmp . put_i16_le (self . temperature) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct HIGH_LATENCY_DATA { pub custom_mode : u32 , pub latitude : i32 , pub longitude : i32 , pub roll : i16 , pub pitch : i16 , pub heading : u16 , pub heading_sp : i16 , pub altitude_amsl : i16 , pub altitude_sp : i16 , pub wp_distance : u16 , pub base_mode : MavModeFlag , pub landed_state : MavLandedState , pub throttle : i8 , pub airspeed : u8 , pub airspeed_sp : u8 , pub groundspeed : u8 , pub climb_rate : i8 , pub gps_nsat : u8 , pub gps_fix_type : GpsFixType , pub battery_remaining : u8 , pub temperature : i8 , pub temperature_air : i8 , pub failsafe : u8 , pub wp_num : u8 , } impl HIGH_LATENCY_DATA { pub const ENCODED_LEN : usize = 40usize ; pub const DEFAULT : Self = Self { custom_mode : 0_u32 , latitude : 0_i32 , longitude : 0_i32 , roll : 0_i16 , pitch : 0_i16 , heading : 0_u16 , heading_sp : 0_i16 , altitude_amsl : 0_i16 , altitude_sp : 0_i16 , wp_distance : 0_u16 , base_mode : MavModeFlag :: DEFAULT , landed_state : MavLandedState :: DEFAULT , throttle : 0_i8 , airspeed : 0_u8 , airspeed_sp : 0_u8 , groundspeed : 0_u8 , climb_rate : 0_i8 , gps_nsat : 0_u8 , gps_fix_type : GpsFixType :: DEFAULT , battery_remaining : 0_u8 , temperature : 0_i8 , temperature_air : 0_i8 , failsafe : 0_u8 , wp_num : 0_u8 , } ; } impl Default for HIGH_LATENCY_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for HIGH_LATENCY_DATA { type Message = MavMessage ; const ID : u32 = 234u32 ; const NAME : & 'static str = "HIGH_LATENCY" ; const EXTRA_CRC : u8 = 150u8 ; const ENCODED_LEN : usize = 40usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . custom_mode = buf . get_u32_le () ; __struct . latitude = buf . get_i32_le () ; __struct . longitude = buf . get_i32_le () ; __struct . roll = buf . get_i16_le () ; __struct . pitch = buf . get_i16_le () ; __struct . heading = buf . get_u16_le () ; __struct . heading_sp = buf . get_i16_le () ; __struct . altitude_amsl = buf . get_i16_le () ; __struct . altitude_sp = buf . get_i16_le () ; __struct . wp_distance = buf . get_u16_le () ; let tmp = buf . get_u8 () ; __struct . base_mode = MavModeFlag :: from_bits (tmp & MavModeFlag :: all () . bits ()) . ok_or (ParserError :: InvalidFlag { flag_type : "MavModeFlag" , value : tmp as u32 }) ? ; let tmp = buf . get_u8 () ; __struct . landed_state = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "MavLandedState" , value : tmp as u32 }) ? ; __struct . throttle = buf . get_i8 () ; __struct . airspeed = buf . get_u8 () ; __struct . airspeed_sp = buf . get_u8 () ; __struct . groundspeed = buf . get_u8 () ; __struct . climb_rate = buf . get_i8 () ; __struct . gps_nsat = buf . get_u8 () ; let tmp = buf . get_u8 () ; __struct . gps_fix_type = FromPrimitive :: from_u8 (tmp) . ok_or (ParserError :: InvalidEnum { enum_type : "GpsFixType" , value : tmp as u32 }) ? ; __struct . battery_remaining = buf . get_u8 () ; __struct . temperature = buf . get_i8 () ; __struct . temperature_air = buf . get_i8 () ; __struct . failsafe = buf . get_u8 () ; __struct . wp_num = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u32_le (self . custom_mode) ; __tmp . put_i32_le (self . latitude) ; __tmp . put_i32_le (self . longitude) ; __tmp . put_i16_le (self . roll) ; __tmp . put_i16_le (self . pitch) ; __tmp . put_u16_le (self . heading) ; __tmp . put_i16_le (self . heading_sp) ; __tmp . put_i16_le (self . altitude_amsl) ; __tmp . put_i16_le (self . altitude_sp) ; __tmp . put_u16_le (self . wp_distance) ; __tmp . put_u8 (self . base_mode . bits ()) ; __tmp . put_u8 (self . landed_state as u8) ; __tmp . put_i8 (self . throttle) ; __tmp . put_u8 (self . airspeed) ; __tmp . put_u8 (self . airspeed_sp) ; __tmp . put_u8 (self . groundspeed) ; __tmp . put_i8 (self . climb_rate) ; __tmp . put_u8 (self . gps_nsat) ; __tmp . put_u8 (self . gps_fix_type as u8) ; __tmp . put_u8 (self . battery_remaining) ; __tmp . put_i8 (self . temperature) ; __tmp . put_i8 (self . temperature_air) ; __tmp . put_u8 (self . failsafe) ; __tmp . put_u8 (self . wp_num) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Debug , Clone , PartialEq)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] pub struct FOLLOW_TARGET_DATA { pub timestamp : u64 , pub custom_state : u64 , pub lat : i32 , pub lon : i32 , pub alt : f32 , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub vel : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub acc : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub attitude_q : [f32 ; 4] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub rates : [f32 ; 3] , # [cfg_attr (feature = "serde" , serde (with = "serde_arrays"))] pub position_cov : [f32 ; 3] , pub est_capabilities : u8 , } impl FOLLOW_TARGET_DATA { pub const ENCODED_LEN : usize = 93usize ; pub const DEFAULT : Self = Self { timestamp : 0_u64 , custom_state : 0_u64 , lat : 0_i32 , lon : 0_i32 , alt : 0.0_f32 , vel : [0.0_f32 ; 3usize] , acc : [0.0_f32 ; 3usize] , attitude_q : [0.0_f32 ; 4usize] , rates : [0.0_f32 ; 3usize] , position_cov : [0.0_f32 ; 3usize] , est_capabilities : 0_u8 , } ; } impl Default for FOLLOW_TARGET_DATA { fn default () -> Self { Self :: DEFAULT . clone () } } impl MessageData for FOLLOW_TARGET_DATA { type Message = MavMessage ; const ID : u32 = 144u32 ; const NAME : & 'static str = "FOLLOW_TARGET" ; const EXTRA_CRC : u8 = 127u8 ; const ENCODED_LEN : usize = 93usize ; fn deser (_version : MavlinkVersion , __input : & [u8]) -> Result < Self , ParserError > { let avail_len = __input . len () ; let mut payload_buf = [0 ; Self :: ENCODED_LEN] ; let mut buf = if avail_len < Self :: ENCODED_LEN { payload_buf [0 .. avail_len] . copy_from_slice (__input) ; Bytes :: new (& payload_buf) } else { Bytes :: new (__input) } ; let mut __struct = Self :: default () ; __struct . timestamp = buf . get_u64_le () ; __struct . custom_state = buf . get_u64_le () ; __struct . lat = buf . get_i32_le () ; __struct . lon = buf . get_i32_le () ; __struct . alt = buf . get_f32_le () ; for v in & mut __struct . vel { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . acc { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . attitude_q { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . rates { let val = buf . get_f32_le () ; * v = val ; } for v in & mut __struct . position_cov { let val = buf . get_f32_le () ; * v = val ; } __struct . est_capabilities = buf . get_u8 () ; Ok (__struct) } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { let mut __tmp = BytesMut :: new (bytes) ; __tmp . put_u64_le (self . timestamp) ; __tmp . put_u64_le (self . custom_state) ; __tmp . put_i32_le (self . lat) ; __tmp . put_i32_le (self . lon) ; __tmp . put_f32_le (self . alt) ; for val in & self . vel { __tmp . put_f32_le (* val) ; } for val in & self . acc { __tmp . put_f32_le (* val) ; } for val in & self . attitude_q { __tmp . put_f32_le (* val) ; } for val in & self . rates { __tmp . put_f32_le (* val) ; } for val in & self . position_cov { __tmp . put_f32_le (* val) ; } __tmp . put_u8 (self . est_capabilities) ; if matches ! (version , MavlinkVersion :: V2) { let len = __tmp . len () ; crate :: remove_trailing_zeroes (& bytes [.. len]) } else { __tmp . len () } } } # [derive (Clone , PartialEq , Debug)] # [cfg_attr (feature = "serde" , derive (Serialize , Deserialize))] # [cfg_attr (feature = "serde" , serde (tag = "type"))] # [repr (u32)] pub enum MavMessage { MISSION_SET_CURRENT (MISSION_SET_CURRENT_DATA) , AUTH_KEY (AUTH_KEY_DATA) , ATTITUDE_TARGET (ATTITUDE_TARGET_DATA) , SETUP_SIGNING (SETUP_SIGNING_DATA) , CELLULAR_CONFIG (CELLULAR_CONFIG_DATA) , UTM_GLOBAL_POSITION (UTM_GLOBAL_POSITION_DATA) , VFR_HUD (VFR_HUD_DATA) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA) , MISSION_WRITE_PARTIAL_LIST (MISSION_WRITE_PARTIAL_LIST_DATA) , ODOMETRY (ODOMETRY_DATA) , SERIAL_CONTROL (SERIAL_CONTROL_DATA) , RC_CHANNELS_SCALED (RC_CHANNELS_SCALED_DATA) , COMPONENT_INFORMATION (COMPONENT_INFORMATION_DATA) , PARAM_EXT_VALUE (PARAM_EXT_VALUE_DATA) , OPEN_DRONE_ID_AUTHENTICATION (OPEN_DRONE_ID_AUTHENTICATION_DATA) , UAVCAN_NODE_INFO (UAVCAN_NODE_INFO_DATA) , CAMERA_SETTINGS (CAMERA_SETTINGS_DATA) , RADIO_STATUS (RADIO_STATUS_DATA) , GPS_RAW_INT (GPS_RAW_INT_DATA) , CONTROL_SYSTEM_STATE (CONTROL_SYSTEM_STATE_DATA) , CAMERA_TRACKING_GEO_STATUS (CAMERA_TRACKING_GEO_STATUS_DATA) , TUNNEL (TUNNEL_DATA) , LOG_REQUEST_LIST (LOG_REQUEST_LIST_DATA) , REQUEST_DATA_STREAM (REQUEST_DATA_STREAM_DATA) , GIMBAL_DEVICE_SET_ATTITUDE (GIMBAL_DEVICE_SET_ATTITUDE_DATA) , CANFD_FRAME (CANFD_FRAME_DATA) , HIL_CONTROLS (HIL_CONTROLS_DATA) , POWER_STATUS (POWER_STATUS_DATA) , HIL_STATE (HIL_STATE_DATA) , LOGGING_DATA (LOGGING_DATA_DATA) , SMART_BATTERY_INFO (SMART_BATTERY_INFO_DATA) , RAW_PRESSURE (RAW_PRESSURE_DATA) , PARAM_EXT_SET (PARAM_EXT_SET_DATA) , VIBRATION (VIBRATION_DATA) , LOGGING_ACK (LOGGING_ACK_DATA) , SCALED_PRESSURE2 (SCALED_PRESSURE2_DATA) , AUTOPILOT_VERSION (AUTOPILOT_VERSION_DATA) , NAMED_VALUE_FLOAT (NAMED_VALUE_FLOAT_DATA) , GPS_RTK (GPS_RTK_DATA) , UAVIONIX_ADSB_OUT_DYNAMIC (UAVIONIX_ADSB_OUT_DYNAMIC_DATA) , COMMAND_CANCEL (COMMAND_CANCEL_DATA) , CAMERA_FOV_STATUS (CAMERA_FOV_STATUS_DATA) , GIMBAL_DEVICE_ATTITUDE_STATUS (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA) , LOG_ERASE (LOG_ERASE_DATA) , LOG_REQUEST_DATA (LOG_REQUEST_DATA_DATA) , LINK_NODE_STATUS (LINK_NODE_STATUS_DATA) , GIMBAL_MANAGER_INFORMATION (GIMBAL_MANAGER_INFORMATION_DATA) , STORAGE_INFORMATION (STORAGE_INFORMATION_DATA) , LOGGING_DATA_ACKED (LOGGING_DATA_ACKED_DATA) , DEBUG_FLOAT_ARRAY (DEBUG_FLOAT_ARRAY_DATA) , SCALED_IMU2 (SCALED_IMU2_DATA) , COLLISION (COLLISION_DATA) , MISSION_REQUEST_INT (MISSION_REQUEST_INT_DATA) , SERVO_OUTPUT_RAW (SERVO_OUTPUT_RAW_DATA) , PARAM_EXT_REQUEST_LIST (PARAM_EXT_REQUEST_LIST_DATA) , TERRAIN_DATA (TERRAIN_DATA_DATA) , RC_CHANNELS (RC_CHANNELS_DATA) , HIL_SENSOR (HIL_SENSOR_DATA) , SET_POSITION_TARGET_LOCAL_NED (SET_POSITION_TARGET_LOCAL_NED_DATA) , GIMBAL_MANAGER_SET_MANUAL_CONTROL (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA) , STATUSTEXT (STATUSTEXT_DATA) , RC_CHANNELS_RAW (RC_CHANNELS_RAW_DATA) , ATTITUDE_QUATERNION_COV (ATTITUDE_QUATERNION_COV_DATA) , MESSAGE_INTERVAL (MESSAGE_INTERVAL_DATA) , SAFETY_ALLOWED_AREA (SAFETY_ALLOWED_AREA_DATA) , EXTENDED_SYS_STATE (EXTENDED_SYS_STATE_DATA) , GPS_INJECT_DATA (GPS_INJECT_DATA_DATA) , HOME_POSITION (HOME_POSITION_DATA) , PARAM_EXT_REQUEST_READ (PARAM_EXT_REQUEST_READ_DATA) , OPEN_DRONE_ID_SYSTEM_UPDATE (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA) , TRAJECTORY_REPRESENTATION_BEZIER (TRAJECTORY_REPRESENTATION_BEZIER_DATA) , OPEN_DRONE_ID_BASIC_ID (OPEN_DRONE_ID_BASIC_ID_DATA) , ACTUATOR_CONTROL_TARGET (ACTUATOR_CONTROL_TARGET_DATA) , NAV_CONTROLLER_OUTPUT (NAV_CONTROLLER_OUTPUT_DATA) , RC_CHANNELS_OVERRIDE (RC_CHANNELS_OVERRIDE_DATA) , SET_HOME_POSITION (SET_HOME_POSITION_DATA) , HIL_OPTICAL_FLOW (HIL_OPTICAL_FLOW_DATA) , V2_EXTENSION (V2_EXTENSION_DATA) , HIL_ACTUATOR_CONTROLS (HIL_ACTUATOR_CONTROLS_DATA) , PARAM_MAP_RC (PARAM_MAP_RC_DATA) , TIME_ESTIMATE_TO_TARGET (TIME_ESTIMATE_TO_TARGET_DATA) , BUTTON_CHANGE (BUTTON_CHANGE_DATA) , PARAM_REQUEST_LIST (PARAM_REQUEST_LIST_DATA) , CHANGE_OPERATOR_CONTROL (CHANGE_OPERATOR_CONTROL_DATA) , CHANGE_OPERATOR_CONTROL_ACK (CHANGE_OPERATOR_CONTROL_ACK_DATA) , OPEN_DRONE_ID_LOCATION (OPEN_DRONE_ID_LOCATION_DATA) , BATTERY_STATUS (BATTERY_STATUS_DATA) , OPEN_DRONE_ID_SYSTEM (OPEN_DRONE_ID_SYSTEM_DATA) , GLOBAL_VISION_POSITION_ESTIMATE (GLOBAL_VISION_POSITION_ESTIMATE_DATA) , SAFETY_SET_ALLOWED_AREA (SAFETY_SET_ALLOWED_AREA_DATA) , GIMBAL_MANAGER_SET_PITCHYAW (GIMBAL_MANAGER_SET_PITCHYAW_DATA) , ACTUATOR_OUTPUT_STATUS (ACTUATOR_OUTPUT_STATUS_DATA) , HIGHRES_IMU (HIGHRES_IMU_DATA) , PARAM_EXT_ACK (PARAM_EXT_ACK_DATA) , TERRAIN_CHECK (TERRAIN_CHECK_DATA) , HIL_RC_INPUTS_RAW (HIL_RC_INPUTS_RAW_DATA) , MISSION_ITEM_INT (MISSION_ITEM_INT_DATA) , ATT_POS_MOCAP (ATT_POS_MOCAP_DATA) , TRAJECTORY_REPRESENTATION_WAYPOINTS (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA) , RESPONSE_EVENT_ERROR (RESPONSE_EVENT_ERROR_DATA) , ATTITUDE (ATTITUDE_DATA) , TERRAIN_REQUEST (TERRAIN_REQUEST_DATA) , FILE_TRANSFER_PROTOCOL (FILE_TRANSFER_PROTOCOL_DATA) , LOCAL_POSITION_NED (LOCAL_POSITION_NED_DATA) , TERRAIN_REPORT (TERRAIN_REPORT_DATA) , REQUEST_EVENT (REQUEST_EVENT_DATA) , ALTITUDE (ALTITUDE_DATA) , WIND_COV (WIND_COV_DATA) , GPS2_RAW (GPS2_RAW_DATA) , SYS_STATUS (SYS_STATUS_DATA) , SCALED_PRESSURE (SCALED_PRESSURE_DATA) , SET_ATTITUDE_TARGET (SET_ATTITUDE_TARGET_DATA) , LOCAL_POSITION_NED_COV (LOCAL_POSITION_NED_COV_DATA) , ORBIT_EXECUTION_STATUS (ORBIT_EXECUTION_STATUS_DATA) , PARAM_REQUEST_READ (PARAM_REQUEST_READ_DATA) , MEMORY_VECT (MEMORY_VECT_DATA) , SCALED_IMU (SCALED_IMU_DATA) , VIDEO_STREAM_STATUS (VIDEO_STREAM_STATUS_DATA) , GPS_STATUS (GPS_STATUS_DATA) , PING (PING_DATA) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA) , SCALED_PRESSURE3 (SCALED_PRESSURE3_DATA) , WIFI_CONFIG_AP (WIFI_CONFIG_AP_DATA) , RAW_RPM (RAW_RPM_DATA) , MISSION_ITEM_REACHED (MISSION_ITEM_REACHED_DATA) , TIMESYNC (TIMESYNC_DATA) , MOUNT_ORIENTATION (MOUNT_ORIENTATION_DATA) , DATA_STREAM (DATA_STREAM_DATA) , ISBD_LINK_STATUS (ISBD_LINK_STATUS_DATA) , GPS2_RTK (GPS2_RTK_DATA) , SET_GPS_GLOBAL_ORIGIN (SET_GPS_GLOBAL_ORIGIN_DATA) , HIL_GPS (HIL_GPS_DATA) , MISSION_CURRENT (MISSION_CURRENT_DATA) , PARAM_VALUE (PARAM_VALUE_DATA) , FENCE_STATUS (FENCE_STATUS_DATA) , HIL_STATE_QUATERNION (HIL_STATE_QUATERNION_DATA) , OBSTACLE_DISTANCE (OBSTACLE_DISTANCE_DATA) , CAMERA_CAPTURE_STATUS (CAMERA_CAPTURE_STATUS_DATA) , DISTANCE_SENSOR (DISTANCE_SENSOR_DATA) , NAMED_VALUE_INT (NAMED_VALUE_INT_DATA) , ONBOARD_COMPUTER_STATUS (ONBOARD_COMPUTER_STATUS_DATA) , GIMBAL_DEVICE_INFORMATION (GIMBAL_DEVICE_INFORMATION_DATA) , MISSION_REQUEST (MISSION_REQUEST_DATA) , MISSION_REQUEST_LIST (MISSION_REQUEST_LIST_DATA) , LOG_DATA (LOG_DATA_DATA) , UAVIONIX_ADSB_OUT_CFG (UAVIONIX_ADSB_OUT_CFG_DATA) , PROTOCOL_VERSION (PROTOCOL_VERSION_DATA) , OPEN_DRONE_ID_ARM_STATUS (OPEN_DRONE_ID_ARM_STATUS_DATA) , LANDING_TARGET (LANDING_TARGET_DATA) , ESC_STATUS (ESC_STATUS_DATA) , CAMERA_TRACKING_IMAGE_STATUS (CAMERA_TRACKING_IMAGE_STATUS_DATA) , GPS_GLOBAL_ORIGIN (GPS_GLOBAL_ORIGIN_DATA) , PLAY_TUNE_V2 (PLAY_TUNE_V2_DATA) , DEBUG_VECT (DEBUG_VECT_DATA) , LOG_REQUEST_END (LOG_REQUEST_END_DATA) , RESOURCE_REQUEST (RESOURCE_REQUEST_DATA) , ATTITUDE_QUATERNION (ATTITUDE_QUATERNION_DATA) , HYGROMETER_SENSOR (HYGROMETER_SENSOR_DATA) , ENCAPSULATED_DATA (ENCAPSULATED_DATA_DATA) , CAMERA_INFORMATION (CAMERA_INFORMATION_DATA) , ESC_INFO (ESC_INFO_DATA) , FLIGHT_INFORMATION (FLIGHT_INFORMATION_DATA) , HIGH_LATENCY2 (HIGH_LATENCY2_DATA) , GLOBAL_POSITION_INT_COV (GLOBAL_POSITION_INT_COV_DATA) , SET_MODE (SET_MODE_DATA) , SET_POSITION_TARGET_GLOBAL_INT (SET_POSITION_TARGET_GLOBAL_INT_DATA) , GIMBAL_MANAGER_SET_ATTITUDE (GIMBAL_MANAGER_SET_ATTITUDE_DATA) , PARAM_SET (PARAM_SET_DATA) , SUPPORTED_TUNES (SUPPORTED_TUNES_DATA) , CAN_FILTER_MODIFY (CAN_FILTER_MODIFY_DATA) , VISION_POSITION_ESTIMATE (VISION_POSITION_ESTIMATE_DATA) , PLAY_TUNE (PLAY_TUNE_DATA) , HEARTBEAT (HEARTBEAT_DATA) , SIM_STATE (SIM_STATE_DATA) , CAMERA_IMAGE_CAPTURED (CAMERA_IMAGE_CAPTURED_DATA) , AIS_VESSEL (AIS_VESSEL_DATA) , CAMERA_TRIGGER (CAMERA_TRIGGER_DATA) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA) , LOG_ENTRY (LOG_ENTRY_DATA) , OPEN_DRONE_ID_MESSAGE_PACK (OPEN_DRONE_ID_MESSAGE_PACK_DATA) , GIMBAL_MANAGER_STATUS (GIMBAL_MANAGER_STATUS_DATA) , MANUAL_SETPOINT (MANUAL_SETPOINT_DATA) , GPS_RTCM_DATA (GPS_RTCM_DATA_DATA) , RAW_IMU (RAW_IMU_DATA) , COMMAND_INT (COMMAND_INT_DATA) , DEBUG (DEBUG_DATA) , MISSION_COUNT (MISSION_COUNT_DATA) , VISION_SPEED_ESTIMATE (VISION_SPEED_ESTIMATE_DATA) , SET_ACTUATOR_CONTROL_TARGET (SET_ACTUATOR_CONTROL_TARGET_DATA) , GPS_INPUT (GPS_INPUT_DATA) , POSITION_TARGET_GLOBAL_INT (POSITION_TARGET_GLOBAL_INT_DATA) , UAVCAN_NODE_STATUS (UAVCAN_NODE_STATUS_DATA) , OPEN_DRONE_ID_SELF_ID (OPEN_DRONE_ID_SELF_ID_DATA) , COMMAND_ACK (COMMAND_ACK_DATA) , OPEN_DRONE_ID_OPERATOR_ID (OPEN_DRONE_ID_OPERATOR_ID_DATA) , CELLULAR_STATUS (CELLULAR_STATUS_DATA) , SYSTEM_TIME (SYSTEM_TIME_DATA) , EFI_STATUS (EFI_STATUS_DATA) , COMMAND_LONG (COMMAND_LONG_DATA) , POSITION_TARGET_LOCAL_NED (POSITION_TARGET_LOCAL_NED_DATA) , MAG_CAL_REPORT (MAG_CAL_REPORT_DATA) , WHEEL_DISTANCE (WHEEL_DISTANCE_DATA) , OPTICAL_FLOW_RAD (OPTICAL_FLOW_RAD_DATA) , SCALED_IMU3 (SCALED_IMU3_DATA) , MISSION_REQUEST_PARTIAL_LIST (MISSION_REQUEST_PARTIAL_LIST_DATA) , GENERATOR_STATUS (GENERATOR_STATUS_DATA) , VICON_POSITION_ESTIMATE (VICON_POSITION_ESTIMATE_DATA) , MISSION_ITEM (MISSION_ITEM_DATA) , MANUAL_CONTROL (MANUAL_CONTROL_DATA) , ESTIMATOR_STATUS (ESTIMATOR_STATUS_DATA) , ADSB_VEHICLE (ADSB_VEHICLE_DATA) , GLOBAL_POSITION_INT (GLOBAL_POSITION_INT_DATA) , DATA_TRANSMISSION_HANDSHAKE (DATA_TRANSMISSION_HANDSHAKE_DATA) , MISSION_CLEAR_ALL (MISSION_CLEAR_ALL_DATA) , VIDEO_STREAM_INFORMATION (VIDEO_STREAM_INFORMATION_DATA) , CAN_FRAME (CAN_FRAME_DATA) , EVENT (EVENT_DATA) , COMPONENT_METADATA (COMPONENT_METADATA_DATA) , CURRENT_EVENT_SEQUENCE (CURRENT_EVENT_SEQUENCE_DATA) , MISSION_ACK (MISSION_ACK_DATA) , OPTICAL_FLOW (OPTICAL_FLOW_DATA) , WINCH_STATUS (WINCH_STATUS_DATA) , HIGH_LATENCY (HIGH_LATENCY_DATA) , FOLLOW_TARGET (FOLLOW_TARGET_DATA) , } impl Message for MavMessage { fn parse (version : MavlinkVersion , id : u32 , payload : & [u8]) -> Result < Self , ParserError > { match id { MISSION_SET_CURRENT_DATA :: ID => MISSION_SET_CURRENT_DATA :: deser (version , payload) . map (Self :: MISSION_SET_CURRENT) , AUTH_KEY_DATA :: ID => AUTH_KEY_DATA :: deser (version , payload) . map (Self :: AUTH_KEY) , ATTITUDE_TARGET_DATA :: ID => ATTITUDE_TARGET_DATA :: deser (version , payload) . map (Self :: ATTITUDE_TARGET) , SETUP_SIGNING_DATA :: ID => SETUP_SIGNING_DATA :: deser (version , payload) . map (Self :: SETUP_SIGNING) , CELLULAR_CONFIG_DATA :: ID => CELLULAR_CONFIG_DATA :: deser (version , payload) . map (Self :: CELLULAR_CONFIG) , UTM_GLOBAL_POSITION_DATA :: ID => UTM_GLOBAL_POSITION_DATA :: deser (version , payload) . map (Self :: UTM_GLOBAL_POSITION) , VFR_HUD_DATA :: ID => VFR_HUD_DATA :: deser (version , payload) . map (Self :: VFR_HUD) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: deser (version , payload) . map (Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT) , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => MISSION_WRITE_PARTIAL_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_WRITE_PARTIAL_LIST) , ODOMETRY_DATA :: ID => ODOMETRY_DATA :: deser (version , payload) . map (Self :: ODOMETRY) , SERIAL_CONTROL_DATA :: ID => SERIAL_CONTROL_DATA :: deser (version , payload) . map (Self :: SERIAL_CONTROL) , RC_CHANNELS_SCALED_DATA :: ID => RC_CHANNELS_SCALED_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_SCALED) , COMPONENT_INFORMATION_DATA :: ID => COMPONENT_INFORMATION_DATA :: deser (version , payload) . map (Self :: COMPONENT_INFORMATION) , PARAM_EXT_VALUE_DATA :: ID => PARAM_EXT_VALUE_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_VALUE) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => OPEN_DRONE_ID_AUTHENTICATION_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_AUTHENTICATION) , UAVCAN_NODE_INFO_DATA :: ID => UAVCAN_NODE_INFO_DATA :: deser (version , payload) . map (Self :: UAVCAN_NODE_INFO) , CAMERA_SETTINGS_DATA :: ID => CAMERA_SETTINGS_DATA :: deser (version , payload) . map (Self :: CAMERA_SETTINGS) , RADIO_STATUS_DATA :: ID => RADIO_STATUS_DATA :: deser (version , payload) . map (Self :: RADIO_STATUS) , GPS_RAW_INT_DATA :: ID => GPS_RAW_INT_DATA :: deser (version , payload) . map (Self :: GPS_RAW_INT) , CONTROL_SYSTEM_STATE_DATA :: ID => CONTROL_SYSTEM_STATE_DATA :: deser (version , payload) . map (Self :: CONTROL_SYSTEM_STATE) , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => CAMERA_TRACKING_GEO_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_TRACKING_GEO_STATUS) , TUNNEL_DATA :: ID => TUNNEL_DATA :: deser (version , payload) . map (Self :: TUNNEL) , LOG_REQUEST_LIST_DATA :: ID => LOG_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_LIST) , REQUEST_DATA_STREAM_DATA :: ID => REQUEST_DATA_STREAM_DATA :: deser (version , payload) . map (Self :: REQUEST_DATA_STREAM) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_SET_ATTITUDE) , CANFD_FRAME_DATA :: ID => CANFD_FRAME_DATA :: deser (version , payload) . map (Self :: CANFD_FRAME) , HIL_CONTROLS_DATA :: ID => HIL_CONTROLS_DATA :: deser (version , payload) . map (Self :: HIL_CONTROLS) , POWER_STATUS_DATA :: ID => POWER_STATUS_DATA :: deser (version , payload) . map (Self :: POWER_STATUS) , HIL_STATE_DATA :: ID => HIL_STATE_DATA :: deser (version , payload) . map (Self :: HIL_STATE) , LOGGING_DATA_DATA :: ID => LOGGING_DATA_DATA :: deser (version , payload) . map (Self :: LOGGING_DATA) , SMART_BATTERY_INFO_DATA :: ID => SMART_BATTERY_INFO_DATA :: deser (version , payload) . map (Self :: SMART_BATTERY_INFO) , RAW_PRESSURE_DATA :: ID => RAW_PRESSURE_DATA :: deser (version , payload) . map (Self :: RAW_PRESSURE) , PARAM_EXT_SET_DATA :: ID => PARAM_EXT_SET_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_SET) , VIBRATION_DATA :: ID => VIBRATION_DATA :: deser (version , payload) . map (Self :: VIBRATION) , LOGGING_ACK_DATA :: ID => LOGGING_ACK_DATA :: deser (version , payload) . map (Self :: LOGGING_ACK) , SCALED_PRESSURE2_DATA :: ID => SCALED_PRESSURE2_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE2) , AUTOPILOT_VERSION_DATA :: ID => AUTOPILOT_VERSION_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_VERSION) , NAMED_VALUE_FLOAT_DATA :: ID => NAMED_VALUE_FLOAT_DATA :: deser (version , payload) . map (Self :: NAMED_VALUE_FLOAT) , GPS_RTK_DATA :: ID => GPS_RTK_DATA :: deser (version , payload) . map (Self :: GPS_RTK) , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: deser (version , payload) . map (Self :: UAVIONIX_ADSB_OUT_DYNAMIC) , COMMAND_CANCEL_DATA :: ID => COMMAND_CANCEL_DATA :: deser (version , payload) . map (Self :: COMMAND_CANCEL) , CAMERA_FOV_STATUS_DATA :: ID => CAMERA_FOV_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_FOV_STATUS) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_ATTITUDE_STATUS) , LOG_ERASE_DATA :: ID => LOG_ERASE_DATA :: deser (version , payload) . map (Self :: LOG_ERASE) , LOG_REQUEST_DATA_DATA :: ID => LOG_REQUEST_DATA_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_DATA) , LINK_NODE_STATUS_DATA :: ID => LINK_NODE_STATUS_DATA :: deser (version , payload) . map (Self :: LINK_NODE_STATUS) , GIMBAL_MANAGER_INFORMATION_DATA :: ID => GIMBAL_MANAGER_INFORMATION_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_INFORMATION) , STORAGE_INFORMATION_DATA :: ID => STORAGE_INFORMATION_DATA :: deser (version , payload) . map (Self :: STORAGE_INFORMATION) , LOGGING_DATA_ACKED_DATA :: ID => LOGGING_DATA_ACKED_DATA :: deser (version , payload) . map (Self :: LOGGING_DATA_ACKED) , DEBUG_FLOAT_ARRAY_DATA :: ID => DEBUG_FLOAT_ARRAY_DATA :: deser (version , payload) . map (Self :: DEBUG_FLOAT_ARRAY) , SCALED_IMU2_DATA :: ID => SCALED_IMU2_DATA :: deser (version , payload) . map (Self :: SCALED_IMU2) , COLLISION_DATA :: ID => COLLISION_DATA :: deser (version , payload) . map (Self :: COLLISION) , MISSION_REQUEST_INT_DATA :: ID => MISSION_REQUEST_INT_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_INT) , SERVO_OUTPUT_RAW_DATA :: ID => SERVO_OUTPUT_RAW_DATA :: deser (version , payload) . map (Self :: SERVO_OUTPUT_RAW) , PARAM_EXT_REQUEST_LIST_DATA :: ID => PARAM_EXT_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_REQUEST_LIST) , TERRAIN_DATA_DATA :: ID => TERRAIN_DATA_DATA :: deser (version , payload) . map (Self :: TERRAIN_DATA) , RC_CHANNELS_DATA :: ID => RC_CHANNELS_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS) , HIL_SENSOR_DATA :: ID => HIL_SENSOR_DATA :: deser (version , payload) . map (Self :: HIL_SENSOR) , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => SET_POSITION_TARGET_LOCAL_NED_DATA :: deser (version , payload) . map (Self :: SET_POSITION_TARGET_LOCAL_NED) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL) , STATUSTEXT_DATA :: ID => STATUSTEXT_DATA :: deser (version , payload) . map (Self :: STATUSTEXT) , RC_CHANNELS_RAW_DATA :: ID => RC_CHANNELS_RAW_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_RAW) , ATTITUDE_QUATERNION_COV_DATA :: ID => ATTITUDE_QUATERNION_COV_DATA :: deser (version , payload) . map (Self :: ATTITUDE_QUATERNION_COV) , MESSAGE_INTERVAL_DATA :: ID => MESSAGE_INTERVAL_DATA :: deser (version , payload) . map (Self :: MESSAGE_INTERVAL) , SAFETY_ALLOWED_AREA_DATA :: ID => SAFETY_ALLOWED_AREA_DATA :: deser (version , payload) . map (Self :: SAFETY_ALLOWED_AREA) , EXTENDED_SYS_STATE_DATA :: ID => EXTENDED_SYS_STATE_DATA :: deser (version , payload) . map (Self :: EXTENDED_SYS_STATE) , GPS_INJECT_DATA_DATA :: ID => GPS_INJECT_DATA_DATA :: deser (version , payload) . map (Self :: GPS_INJECT_DATA) , HOME_POSITION_DATA :: ID => HOME_POSITION_DATA :: deser (version , payload) . map (Self :: HOME_POSITION) , PARAM_EXT_REQUEST_READ_DATA :: ID => PARAM_EXT_REQUEST_READ_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_REQUEST_READ) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SYSTEM_UPDATE) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: deser (version , payload) . map (Self :: TRAJECTORY_REPRESENTATION_BEZIER) , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => OPEN_DRONE_ID_BASIC_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_BASIC_ID) , ACTUATOR_CONTROL_TARGET_DATA :: ID => ACTUATOR_CONTROL_TARGET_DATA :: deser (version , payload) . map (Self :: ACTUATOR_CONTROL_TARGET) , NAV_CONTROLLER_OUTPUT_DATA :: ID => NAV_CONTROLLER_OUTPUT_DATA :: deser (version , payload) . map (Self :: NAV_CONTROLLER_OUTPUT) , RC_CHANNELS_OVERRIDE_DATA :: ID => RC_CHANNELS_OVERRIDE_DATA :: deser (version , payload) . map (Self :: RC_CHANNELS_OVERRIDE) , SET_HOME_POSITION_DATA :: ID => SET_HOME_POSITION_DATA :: deser (version , payload) . map (Self :: SET_HOME_POSITION) , HIL_OPTICAL_FLOW_DATA :: ID => HIL_OPTICAL_FLOW_DATA :: deser (version , payload) . map (Self :: HIL_OPTICAL_FLOW) , V2_EXTENSION_DATA :: ID => V2_EXTENSION_DATA :: deser (version , payload) . map (Self :: V2_EXTENSION) , HIL_ACTUATOR_CONTROLS_DATA :: ID => HIL_ACTUATOR_CONTROLS_DATA :: deser (version , payload) . map (Self :: HIL_ACTUATOR_CONTROLS) , PARAM_MAP_RC_DATA :: ID => PARAM_MAP_RC_DATA :: deser (version , payload) . map (Self :: PARAM_MAP_RC) , TIME_ESTIMATE_TO_TARGET_DATA :: ID => TIME_ESTIMATE_TO_TARGET_DATA :: deser (version , payload) . map (Self :: TIME_ESTIMATE_TO_TARGET) , BUTTON_CHANGE_DATA :: ID => BUTTON_CHANGE_DATA :: deser (version , payload) . map (Self :: BUTTON_CHANGE) , PARAM_REQUEST_LIST_DATA :: ID => PARAM_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: PARAM_REQUEST_LIST) , CHANGE_OPERATOR_CONTROL_DATA :: ID => CHANGE_OPERATOR_CONTROL_DATA :: deser (version , payload) . map (Self :: CHANGE_OPERATOR_CONTROL) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => CHANGE_OPERATOR_CONTROL_ACK_DATA :: deser (version , payload) . map (Self :: CHANGE_OPERATOR_CONTROL_ACK) , OPEN_DRONE_ID_LOCATION_DATA :: ID => OPEN_DRONE_ID_LOCATION_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_LOCATION) , BATTERY_STATUS_DATA :: ID => BATTERY_STATUS_DATA :: deser (version , payload) . map (Self :: BATTERY_STATUS) , OPEN_DRONE_ID_SYSTEM_DATA :: ID => OPEN_DRONE_ID_SYSTEM_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SYSTEM) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: GLOBAL_VISION_POSITION_ESTIMATE) , SAFETY_SET_ALLOWED_AREA_DATA :: ID => SAFETY_SET_ALLOWED_AREA_DATA :: deser (version , payload) . map (Self :: SAFETY_SET_ALLOWED_AREA) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_PITCHYAW) , ACTUATOR_OUTPUT_STATUS_DATA :: ID => ACTUATOR_OUTPUT_STATUS_DATA :: deser (version , payload) . map (Self :: ACTUATOR_OUTPUT_STATUS) , HIGHRES_IMU_DATA :: ID => HIGHRES_IMU_DATA :: deser (version , payload) . map (Self :: HIGHRES_IMU) , PARAM_EXT_ACK_DATA :: ID => PARAM_EXT_ACK_DATA :: deser (version , payload) . map (Self :: PARAM_EXT_ACK) , TERRAIN_CHECK_DATA :: ID => TERRAIN_CHECK_DATA :: deser (version , payload) . map (Self :: TERRAIN_CHECK) , HIL_RC_INPUTS_RAW_DATA :: ID => HIL_RC_INPUTS_RAW_DATA :: deser (version , payload) . map (Self :: HIL_RC_INPUTS_RAW) , MISSION_ITEM_INT_DATA :: ID => MISSION_ITEM_INT_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM_INT) , ATT_POS_MOCAP_DATA :: ID => ATT_POS_MOCAP_DATA :: deser (version , payload) . map (Self :: ATT_POS_MOCAP) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: deser (version , payload) . map (Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS) , RESPONSE_EVENT_ERROR_DATA :: ID => RESPONSE_EVENT_ERROR_DATA :: deser (version , payload) . map (Self :: RESPONSE_EVENT_ERROR) , ATTITUDE_DATA :: ID => ATTITUDE_DATA :: deser (version , payload) . map (Self :: ATTITUDE) , TERRAIN_REQUEST_DATA :: ID => TERRAIN_REQUEST_DATA :: deser (version , payload) . map (Self :: TERRAIN_REQUEST) , FILE_TRANSFER_PROTOCOL_DATA :: ID => FILE_TRANSFER_PROTOCOL_DATA :: deser (version , payload) . map (Self :: FILE_TRANSFER_PROTOCOL) , LOCAL_POSITION_NED_DATA :: ID => LOCAL_POSITION_NED_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED) , TERRAIN_REPORT_DATA :: ID => TERRAIN_REPORT_DATA :: deser (version , payload) . map (Self :: TERRAIN_REPORT) , REQUEST_EVENT_DATA :: ID => REQUEST_EVENT_DATA :: deser (version , payload) . map (Self :: REQUEST_EVENT) , ALTITUDE_DATA :: ID => ALTITUDE_DATA :: deser (version , payload) . map (Self :: ALTITUDE) , WIND_COV_DATA :: ID => WIND_COV_DATA :: deser (version , payload) . map (Self :: WIND_COV) , GPS2_RAW_DATA :: ID => GPS2_RAW_DATA :: deser (version , payload) . map (Self :: GPS2_RAW) , SYS_STATUS_DATA :: ID => SYS_STATUS_DATA :: deser (version , payload) . map (Self :: SYS_STATUS) , SCALED_PRESSURE_DATA :: ID => SCALED_PRESSURE_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE) , SET_ATTITUDE_TARGET_DATA :: ID => SET_ATTITUDE_TARGET_DATA :: deser (version , payload) . map (Self :: SET_ATTITUDE_TARGET) , LOCAL_POSITION_NED_COV_DATA :: ID => LOCAL_POSITION_NED_COV_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED_COV) , ORBIT_EXECUTION_STATUS_DATA :: ID => ORBIT_EXECUTION_STATUS_DATA :: deser (version , payload) . map (Self :: ORBIT_EXECUTION_STATUS) , PARAM_REQUEST_READ_DATA :: ID => PARAM_REQUEST_READ_DATA :: deser (version , payload) . map (Self :: PARAM_REQUEST_READ) , MEMORY_VECT_DATA :: ID => MEMORY_VECT_DATA :: deser (version , payload) . map (Self :: MEMORY_VECT) , SCALED_IMU_DATA :: ID => SCALED_IMU_DATA :: deser (version , payload) . map (Self :: SCALED_IMU) , VIDEO_STREAM_STATUS_DATA :: ID => VIDEO_STREAM_STATUS_DATA :: deser (version , payload) . map (Self :: VIDEO_STREAM_STATUS) , GPS_STATUS_DATA :: ID => GPS_STATUS_DATA :: deser (version , payload) . map (Self :: GPS_STATUS) , PING_DATA :: ID => PING_DATA :: deser (version , payload) . map (Self :: PING) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: deser (version , payload) . map (Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE) , SCALED_PRESSURE3_DATA :: ID => SCALED_PRESSURE3_DATA :: deser (version , payload) . map (Self :: SCALED_PRESSURE3) , WIFI_CONFIG_AP_DATA :: ID => WIFI_CONFIG_AP_DATA :: deser (version , payload) . map (Self :: WIFI_CONFIG_AP) , RAW_RPM_DATA :: ID => RAW_RPM_DATA :: deser (version , payload) . map (Self :: RAW_RPM) , MISSION_ITEM_REACHED_DATA :: ID => MISSION_ITEM_REACHED_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM_REACHED) , TIMESYNC_DATA :: ID => TIMESYNC_DATA :: deser (version , payload) . map (Self :: TIMESYNC) , MOUNT_ORIENTATION_DATA :: ID => MOUNT_ORIENTATION_DATA :: deser (version , payload) . map (Self :: MOUNT_ORIENTATION) , DATA_STREAM_DATA :: ID => DATA_STREAM_DATA :: deser (version , payload) . map (Self :: DATA_STREAM) , ISBD_LINK_STATUS_DATA :: ID => ISBD_LINK_STATUS_DATA :: deser (version , payload) . map (Self :: ISBD_LINK_STATUS) , GPS2_RTK_DATA :: ID => GPS2_RTK_DATA :: deser (version , payload) . map (Self :: GPS2_RTK) , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => SET_GPS_GLOBAL_ORIGIN_DATA :: deser (version , payload) . map (Self :: SET_GPS_GLOBAL_ORIGIN) , HIL_GPS_DATA :: ID => HIL_GPS_DATA :: deser (version , payload) . map (Self :: HIL_GPS) , MISSION_CURRENT_DATA :: ID => MISSION_CURRENT_DATA :: deser (version , payload) . map (Self :: MISSION_CURRENT) , PARAM_VALUE_DATA :: ID => PARAM_VALUE_DATA :: deser (version , payload) . map (Self :: PARAM_VALUE) , FENCE_STATUS_DATA :: ID => FENCE_STATUS_DATA :: deser (version , payload) . map (Self :: FENCE_STATUS) , HIL_STATE_QUATERNION_DATA :: ID => HIL_STATE_QUATERNION_DATA :: deser (version , payload) . map (Self :: HIL_STATE_QUATERNION) , OBSTACLE_DISTANCE_DATA :: ID => OBSTACLE_DISTANCE_DATA :: deser (version , payload) . map (Self :: OBSTACLE_DISTANCE) , CAMERA_CAPTURE_STATUS_DATA :: ID => CAMERA_CAPTURE_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_CAPTURE_STATUS) , DISTANCE_SENSOR_DATA :: ID => DISTANCE_SENSOR_DATA :: deser (version , payload) . map (Self :: DISTANCE_SENSOR) , NAMED_VALUE_INT_DATA :: ID => NAMED_VALUE_INT_DATA :: deser (version , payload) . map (Self :: NAMED_VALUE_INT) , ONBOARD_COMPUTER_STATUS_DATA :: ID => ONBOARD_COMPUTER_STATUS_DATA :: deser (version , payload) . map (Self :: ONBOARD_COMPUTER_STATUS) , GIMBAL_DEVICE_INFORMATION_DATA :: ID => GIMBAL_DEVICE_INFORMATION_DATA :: deser (version , payload) . map (Self :: GIMBAL_DEVICE_INFORMATION) , MISSION_REQUEST_DATA :: ID => MISSION_REQUEST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST) , MISSION_REQUEST_LIST_DATA :: ID => MISSION_REQUEST_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_LIST) , LOG_DATA_DATA :: ID => LOG_DATA_DATA :: deser (version , payload) . map (Self :: LOG_DATA) , UAVIONIX_ADSB_OUT_CFG_DATA :: ID => UAVIONIX_ADSB_OUT_CFG_DATA :: deser (version , payload) . map (Self :: UAVIONIX_ADSB_OUT_CFG) , PROTOCOL_VERSION_DATA :: ID => PROTOCOL_VERSION_DATA :: deser (version , payload) . map (Self :: PROTOCOL_VERSION) , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => OPEN_DRONE_ID_ARM_STATUS_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_ARM_STATUS) , LANDING_TARGET_DATA :: ID => LANDING_TARGET_DATA :: deser (version , payload) . map (Self :: LANDING_TARGET) , ESC_STATUS_DATA :: ID => ESC_STATUS_DATA :: deser (version , payload) . map (Self :: ESC_STATUS) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => CAMERA_TRACKING_IMAGE_STATUS_DATA :: deser (version , payload) . map (Self :: CAMERA_TRACKING_IMAGE_STATUS) , GPS_GLOBAL_ORIGIN_DATA :: ID => GPS_GLOBAL_ORIGIN_DATA :: deser (version , payload) . map (Self :: GPS_GLOBAL_ORIGIN) , PLAY_TUNE_V2_DATA :: ID => PLAY_TUNE_V2_DATA :: deser (version , payload) . map (Self :: PLAY_TUNE_V2) , DEBUG_VECT_DATA :: ID => DEBUG_VECT_DATA :: deser (version , payload) . map (Self :: DEBUG_VECT) , LOG_REQUEST_END_DATA :: ID => LOG_REQUEST_END_DATA :: deser (version , payload) . map (Self :: LOG_REQUEST_END) , RESOURCE_REQUEST_DATA :: ID => RESOURCE_REQUEST_DATA :: deser (version , payload) . map (Self :: RESOURCE_REQUEST) , ATTITUDE_QUATERNION_DATA :: ID => ATTITUDE_QUATERNION_DATA :: deser (version , payload) . map (Self :: ATTITUDE_QUATERNION) , HYGROMETER_SENSOR_DATA :: ID => HYGROMETER_SENSOR_DATA :: deser (version , payload) . map (Self :: HYGROMETER_SENSOR) , ENCAPSULATED_DATA_DATA :: ID => ENCAPSULATED_DATA_DATA :: deser (version , payload) . map (Self :: ENCAPSULATED_DATA) , CAMERA_INFORMATION_DATA :: ID => CAMERA_INFORMATION_DATA :: deser (version , payload) . map (Self :: CAMERA_INFORMATION) , ESC_INFO_DATA :: ID => ESC_INFO_DATA :: deser (version , payload) . map (Self :: ESC_INFO) , FLIGHT_INFORMATION_DATA :: ID => FLIGHT_INFORMATION_DATA :: deser (version , payload) . map (Self :: FLIGHT_INFORMATION) , HIGH_LATENCY2_DATA :: ID => HIGH_LATENCY2_DATA :: deser (version , payload) . map (Self :: HIGH_LATENCY2) , GLOBAL_POSITION_INT_COV_DATA :: ID => GLOBAL_POSITION_INT_COV_DATA :: deser (version , payload) . map (Self :: GLOBAL_POSITION_INT_COV) , SET_MODE_DATA :: ID => SET_MODE_DATA :: deser (version , payload) . map (Self :: SET_MODE) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => SET_POSITION_TARGET_GLOBAL_INT_DATA :: deser (version , payload) . map (Self :: SET_POSITION_TARGET_GLOBAL_INT) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_SET_ATTITUDE) , PARAM_SET_DATA :: ID => PARAM_SET_DATA :: deser (version , payload) . map (Self :: PARAM_SET) , SUPPORTED_TUNES_DATA :: ID => SUPPORTED_TUNES_DATA :: deser (version , payload) . map (Self :: SUPPORTED_TUNES) , CAN_FILTER_MODIFY_DATA :: ID => CAN_FILTER_MODIFY_DATA :: deser (version , payload) . map (Self :: CAN_FILTER_MODIFY) , VISION_POSITION_ESTIMATE_DATA :: ID => VISION_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VISION_POSITION_ESTIMATE) , PLAY_TUNE_DATA :: ID => PLAY_TUNE_DATA :: deser (version , payload) . map (Self :: PLAY_TUNE) , HEARTBEAT_DATA :: ID => HEARTBEAT_DATA :: deser (version , payload) . map (Self :: HEARTBEAT) , SIM_STATE_DATA :: ID => SIM_STATE_DATA :: deser (version , payload) . map (Self :: SIM_STATE) , CAMERA_IMAGE_CAPTURED_DATA :: ID => CAMERA_IMAGE_CAPTURED_DATA :: deser (version , payload) . map (Self :: CAMERA_IMAGE_CAPTURED) , AIS_VESSEL_DATA :: ID => AIS_VESSEL_DATA :: deser (version , payload) . map (Self :: AIS_VESSEL) , CAMERA_TRIGGER_DATA :: ID => CAMERA_TRIGGER_DATA :: deser (version , payload) . map (Self :: CAMERA_TRIGGER) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: deser (version , payload) . map (Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET) , LOG_ENTRY_DATA :: ID => LOG_ENTRY_DATA :: deser (version , payload) . map (Self :: LOG_ENTRY) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_MESSAGE_PACK) , GIMBAL_MANAGER_STATUS_DATA :: ID => GIMBAL_MANAGER_STATUS_DATA :: deser (version , payload) . map (Self :: GIMBAL_MANAGER_STATUS) , MANUAL_SETPOINT_DATA :: ID => MANUAL_SETPOINT_DATA :: deser (version , payload) . map (Self :: MANUAL_SETPOINT) , GPS_RTCM_DATA_DATA :: ID => GPS_RTCM_DATA_DATA :: deser (version , payload) . map (Self :: GPS_RTCM_DATA) , RAW_IMU_DATA :: ID => RAW_IMU_DATA :: deser (version , payload) . map (Self :: RAW_IMU) , COMMAND_INT_DATA :: ID => COMMAND_INT_DATA :: deser (version , payload) . map (Self :: COMMAND_INT) , DEBUG_DATA :: ID => DEBUG_DATA :: deser (version , payload) . map (Self :: DEBUG) , MISSION_COUNT_DATA :: ID => MISSION_COUNT_DATA :: deser (version , payload) . map (Self :: MISSION_COUNT) , VISION_SPEED_ESTIMATE_DATA :: ID => VISION_SPEED_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VISION_SPEED_ESTIMATE) , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => SET_ACTUATOR_CONTROL_TARGET_DATA :: deser (version , payload) . map (Self :: SET_ACTUATOR_CONTROL_TARGET) , GPS_INPUT_DATA :: ID => GPS_INPUT_DATA :: deser (version , payload) . map (Self :: GPS_INPUT) , POSITION_TARGET_GLOBAL_INT_DATA :: ID => POSITION_TARGET_GLOBAL_INT_DATA :: deser (version , payload) . map (Self :: POSITION_TARGET_GLOBAL_INT) , UAVCAN_NODE_STATUS_DATA :: ID => UAVCAN_NODE_STATUS_DATA :: deser (version , payload) . map (Self :: UAVCAN_NODE_STATUS) , OPEN_DRONE_ID_SELF_ID_DATA :: ID => OPEN_DRONE_ID_SELF_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_SELF_ID) , COMMAND_ACK_DATA :: ID => COMMAND_ACK_DATA :: deser (version , payload) . map (Self :: COMMAND_ACK) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => OPEN_DRONE_ID_OPERATOR_ID_DATA :: deser (version , payload) . map (Self :: OPEN_DRONE_ID_OPERATOR_ID) , CELLULAR_STATUS_DATA :: ID => CELLULAR_STATUS_DATA :: deser (version , payload) . map (Self :: CELLULAR_STATUS) , SYSTEM_TIME_DATA :: ID => SYSTEM_TIME_DATA :: deser (version , payload) . map (Self :: SYSTEM_TIME) , EFI_STATUS_DATA :: ID => EFI_STATUS_DATA :: deser (version , payload) . map (Self :: EFI_STATUS) , COMMAND_LONG_DATA :: ID => COMMAND_LONG_DATA :: deser (version , payload) . map (Self :: COMMAND_LONG) , POSITION_TARGET_LOCAL_NED_DATA :: ID => POSITION_TARGET_LOCAL_NED_DATA :: deser (version , payload) . map (Self :: POSITION_TARGET_LOCAL_NED) , MAG_CAL_REPORT_DATA :: ID => MAG_CAL_REPORT_DATA :: deser (version , payload) . map (Self :: MAG_CAL_REPORT) , WHEEL_DISTANCE_DATA :: ID => WHEEL_DISTANCE_DATA :: deser (version , payload) . map (Self :: WHEEL_DISTANCE) , OPTICAL_FLOW_RAD_DATA :: ID => OPTICAL_FLOW_RAD_DATA :: deser (version , payload) . map (Self :: OPTICAL_FLOW_RAD) , SCALED_IMU3_DATA :: ID => SCALED_IMU3_DATA :: deser (version , payload) . map (Self :: SCALED_IMU3) , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => MISSION_REQUEST_PARTIAL_LIST_DATA :: deser (version , payload) . map (Self :: MISSION_REQUEST_PARTIAL_LIST) , GENERATOR_STATUS_DATA :: ID => GENERATOR_STATUS_DATA :: deser (version , payload) . map (Self :: GENERATOR_STATUS) , VICON_POSITION_ESTIMATE_DATA :: ID => VICON_POSITION_ESTIMATE_DATA :: deser (version , payload) . map (Self :: VICON_POSITION_ESTIMATE) , MISSION_ITEM_DATA :: ID => MISSION_ITEM_DATA :: deser (version , payload) . map (Self :: MISSION_ITEM) , MANUAL_CONTROL_DATA :: ID => MANUAL_CONTROL_DATA :: deser (version , payload) . map (Self :: MANUAL_CONTROL) , ESTIMATOR_STATUS_DATA :: ID => ESTIMATOR_STATUS_DATA :: deser (version , payload) . map (Self :: ESTIMATOR_STATUS) , ADSB_VEHICLE_DATA :: ID => ADSB_VEHICLE_DATA :: deser (version , payload) . map (Self :: ADSB_VEHICLE) , GLOBAL_POSITION_INT_DATA :: ID => GLOBAL_POSITION_INT_DATA :: deser (version , payload) . map (Self :: GLOBAL_POSITION_INT) , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => DATA_TRANSMISSION_HANDSHAKE_DATA :: deser (version , payload) . map (Self :: DATA_TRANSMISSION_HANDSHAKE) , MISSION_CLEAR_ALL_DATA :: ID => MISSION_CLEAR_ALL_DATA :: deser (version , payload) . map (Self :: MISSION_CLEAR_ALL) , VIDEO_STREAM_INFORMATION_DATA :: ID => VIDEO_STREAM_INFORMATION_DATA :: deser (version , payload) . map (Self :: VIDEO_STREAM_INFORMATION) , CAN_FRAME_DATA :: ID => CAN_FRAME_DATA :: deser (version , payload) . map (Self :: CAN_FRAME) , EVENT_DATA :: ID => EVENT_DATA :: deser (version , payload) . map (Self :: EVENT) , COMPONENT_METADATA_DATA :: ID => COMPONENT_METADATA_DATA :: deser (version , payload) . map (Self :: COMPONENT_METADATA) , CURRENT_EVENT_SEQUENCE_DATA :: ID => CURRENT_EVENT_SEQUENCE_DATA :: deser (version , payload) . map (Self :: CURRENT_EVENT_SEQUENCE) , MISSION_ACK_DATA :: ID => MISSION_ACK_DATA :: deser (version , payload) . map (Self :: MISSION_ACK) , OPTICAL_FLOW_DATA :: ID => OPTICAL_FLOW_DATA :: deser (version , payload) . map (Self :: OPTICAL_FLOW) , WINCH_STATUS_DATA :: ID => WINCH_STATUS_DATA :: deser (version , payload) . map (Self :: WINCH_STATUS) , HIGH_LATENCY_DATA :: ID => HIGH_LATENCY_DATA :: deser (version , payload) . map (Self :: HIGH_LATENCY) , FOLLOW_TARGET_DATA :: ID => FOLLOW_TARGET_DATA :: deser (version , payload) . map (Self :: FOLLOW_TARGET) , _ => { Err (ParserError :: UnknownMessage { id }) } , } } fn message_name (& self) -> & 'static str { match self { Self :: MISSION_SET_CURRENT (..) => MISSION_SET_CURRENT_DATA :: NAME , Self :: AUTH_KEY (..) => AUTH_KEY_DATA :: NAME , Self :: ATTITUDE_TARGET (..) => ATTITUDE_TARGET_DATA :: NAME , Self :: SETUP_SIGNING (..) => SETUP_SIGNING_DATA :: NAME , Self :: CELLULAR_CONFIG (..) => CELLULAR_CONFIG_DATA :: NAME , Self :: UTM_GLOBAL_POSITION (..) => UTM_GLOBAL_POSITION_DATA :: NAME , Self :: VFR_HUD (..) => VFR_HUD_DATA :: NAME , Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (..) => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: NAME , Self :: MISSION_WRITE_PARTIAL_LIST (..) => MISSION_WRITE_PARTIAL_LIST_DATA :: NAME , Self :: ODOMETRY (..) => ODOMETRY_DATA :: NAME , Self :: SERIAL_CONTROL (..) => SERIAL_CONTROL_DATA :: NAME , Self :: RC_CHANNELS_SCALED (..) => RC_CHANNELS_SCALED_DATA :: NAME , Self :: COMPONENT_INFORMATION (..) => COMPONENT_INFORMATION_DATA :: NAME , Self :: PARAM_EXT_VALUE (..) => PARAM_EXT_VALUE_DATA :: NAME , Self :: OPEN_DRONE_ID_AUTHENTICATION (..) => OPEN_DRONE_ID_AUTHENTICATION_DATA :: NAME , Self :: UAVCAN_NODE_INFO (..) => UAVCAN_NODE_INFO_DATA :: NAME , Self :: CAMERA_SETTINGS (..) => CAMERA_SETTINGS_DATA :: NAME , Self :: RADIO_STATUS (..) => RADIO_STATUS_DATA :: NAME , Self :: GPS_RAW_INT (..) => GPS_RAW_INT_DATA :: NAME , Self :: CONTROL_SYSTEM_STATE (..) => CONTROL_SYSTEM_STATE_DATA :: NAME , Self :: CAMERA_TRACKING_GEO_STATUS (..) => CAMERA_TRACKING_GEO_STATUS_DATA :: NAME , Self :: TUNNEL (..) => TUNNEL_DATA :: NAME , Self :: LOG_REQUEST_LIST (..) => LOG_REQUEST_LIST_DATA :: NAME , Self :: REQUEST_DATA_STREAM (..) => REQUEST_DATA_STREAM_DATA :: NAME , Self :: GIMBAL_DEVICE_SET_ATTITUDE (..) => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: NAME , Self :: CANFD_FRAME (..) => CANFD_FRAME_DATA :: NAME , Self :: HIL_CONTROLS (..) => HIL_CONTROLS_DATA :: NAME , Self :: POWER_STATUS (..) => POWER_STATUS_DATA :: NAME , Self :: HIL_STATE (..) => HIL_STATE_DATA :: NAME , Self :: LOGGING_DATA (..) => LOGGING_DATA_DATA :: NAME , Self :: SMART_BATTERY_INFO (..) => SMART_BATTERY_INFO_DATA :: NAME , Self :: RAW_PRESSURE (..) => RAW_PRESSURE_DATA :: NAME , Self :: PARAM_EXT_SET (..) => PARAM_EXT_SET_DATA :: NAME , Self :: VIBRATION (..) => VIBRATION_DATA :: NAME , Self :: LOGGING_ACK (..) => LOGGING_ACK_DATA :: NAME , Self :: SCALED_PRESSURE2 (..) => SCALED_PRESSURE2_DATA :: NAME , Self :: AUTOPILOT_VERSION (..) => AUTOPILOT_VERSION_DATA :: NAME , Self :: NAMED_VALUE_FLOAT (..) => NAMED_VALUE_FLOAT_DATA :: NAME , Self :: GPS_RTK (..) => GPS_RTK_DATA :: NAME , Self :: UAVIONIX_ADSB_OUT_DYNAMIC (..) => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: NAME , Self :: COMMAND_CANCEL (..) => COMMAND_CANCEL_DATA :: NAME , Self :: CAMERA_FOV_STATUS (..) => CAMERA_FOV_STATUS_DATA :: NAME , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (..) => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: NAME , Self :: LOG_ERASE (..) => LOG_ERASE_DATA :: NAME , Self :: LOG_REQUEST_DATA (..) => LOG_REQUEST_DATA_DATA :: NAME , Self :: LINK_NODE_STATUS (..) => LINK_NODE_STATUS_DATA :: NAME , Self :: GIMBAL_MANAGER_INFORMATION (..) => GIMBAL_MANAGER_INFORMATION_DATA :: NAME , Self :: STORAGE_INFORMATION (..) => STORAGE_INFORMATION_DATA :: NAME , Self :: LOGGING_DATA_ACKED (..) => LOGGING_DATA_ACKED_DATA :: NAME , Self :: DEBUG_FLOAT_ARRAY (..) => DEBUG_FLOAT_ARRAY_DATA :: NAME , Self :: SCALED_IMU2 (..) => SCALED_IMU2_DATA :: NAME , Self :: COLLISION (..) => COLLISION_DATA :: NAME , Self :: MISSION_REQUEST_INT (..) => MISSION_REQUEST_INT_DATA :: NAME , Self :: SERVO_OUTPUT_RAW (..) => SERVO_OUTPUT_RAW_DATA :: NAME , Self :: PARAM_EXT_REQUEST_LIST (..) => PARAM_EXT_REQUEST_LIST_DATA :: NAME , Self :: TERRAIN_DATA (..) => TERRAIN_DATA_DATA :: NAME , Self :: RC_CHANNELS (..) => RC_CHANNELS_DATA :: NAME , Self :: HIL_SENSOR (..) => HIL_SENSOR_DATA :: NAME , Self :: SET_POSITION_TARGET_LOCAL_NED (..) => SET_POSITION_TARGET_LOCAL_NED_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (..) => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: NAME , Self :: STATUSTEXT (..) => STATUSTEXT_DATA :: NAME , Self :: RC_CHANNELS_RAW (..) => RC_CHANNELS_RAW_DATA :: NAME , Self :: ATTITUDE_QUATERNION_COV (..) => ATTITUDE_QUATERNION_COV_DATA :: NAME , Self :: MESSAGE_INTERVAL (..) => MESSAGE_INTERVAL_DATA :: NAME , Self :: SAFETY_ALLOWED_AREA (..) => SAFETY_ALLOWED_AREA_DATA :: NAME , Self :: EXTENDED_SYS_STATE (..) => EXTENDED_SYS_STATE_DATA :: NAME , Self :: GPS_INJECT_DATA (..) => GPS_INJECT_DATA_DATA :: NAME , Self :: HOME_POSITION (..) => HOME_POSITION_DATA :: NAME , Self :: PARAM_EXT_REQUEST_READ (..) => PARAM_EXT_REQUEST_READ_DATA :: NAME , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (..) => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: NAME , Self :: TRAJECTORY_REPRESENTATION_BEZIER (..) => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: NAME , Self :: OPEN_DRONE_ID_BASIC_ID (..) => OPEN_DRONE_ID_BASIC_ID_DATA :: NAME , Self :: ACTUATOR_CONTROL_TARGET (..) => ACTUATOR_CONTROL_TARGET_DATA :: NAME , Self :: NAV_CONTROLLER_OUTPUT (..) => NAV_CONTROLLER_OUTPUT_DATA :: NAME , Self :: RC_CHANNELS_OVERRIDE (..) => RC_CHANNELS_OVERRIDE_DATA :: NAME , Self :: SET_HOME_POSITION (..) => SET_HOME_POSITION_DATA :: NAME , Self :: HIL_OPTICAL_FLOW (..) => HIL_OPTICAL_FLOW_DATA :: NAME , Self :: V2_EXTENSION (..) => V2_EXTENSION_DATA :: NAME , Self :: HIL_ACTUATOR_CONTROLS (..) => HIL_ACTUATOR_CONTROLS_DATA :: NAME , Self :: PARAM_MAP_RC (..) => PARAM_MAP_RC_DATA :: NAME , Self :: TIME_ESTIMATE_TO_TARGET (..) => TIME_ESTIMATE_TO_TARGET_DATA :: NAME , Self :: BUTTON_CHANGE (..) => BUTTON_CHANGE_DATA :: NAME , Self :: PARAM_REQUEST_LIST (..) => PARAM_REQUEST_LIST_DATA :: NAME , Self :: CHANGE_OPERATOR_CONTROL (..) => CHANGE_OPERATOR_CONTROL_DATA :: NAME , Self :: CHANGE_OPERATOR_CONTROL_ACK (..) => CHANGE_OPERATOR_CONTROL_ACK_DATA :: NAME , Self :: OPEN_DRONE_ID_LOCATION (..) => OPEN_DRONE_ID_LOCATION_DATA :: NAME , Self :: BATTERY_STATUS (..) => BATTERY_STATUS_DATA :: NAME , Self :: OPEN_DRONE_ID_SYSTEM (..) => OPEN_DRONE_ID_SYSTEM_DATA :: NAME , Self :: GLOBAL_VISION_POSITION_ESTIMATE (..) => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: NAME , Self :: SAFETY_SET_ALLOWED_AREA (..) => SAFETY_SET_ALLOWED_AREA_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_PITCHYAW (..) => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: NAME , Self :: ACTUATOR_OUTPUT_STATUS (..) => ACTUATOR_OUTPUT_STATUS_DATA :: NAME , Self :: HIGHRES_IMU (..) => HIGHRES_IMU_DATA :: NAME , Self :: PARAM_EXT_ACK (..) => PARAM_EXT_ACK_DATA :: NAME , Self :: TERRAIN_CHECK (..) => TERRAIN_CHECK_DATA :: NAME , Self :: HIL_RC_INPUTS_RAW (..) => HIL_RC_INPUTS_RAW_DATA :: NAME , Self :: MISSION_ITEM_INT (..) => MISSION_ITEM_INT_DATA :: NAME , Self :: ATT_POS_MOCAP (..) => ATT_POS_MOCAP_DATA :: NAME , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (..) => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: NAME , Self :: RESPONSE_EVENT_ERROR (..) => RESPONSE_EVENT_ERROR_DATA :: NAME , Self :: ATTITUDE (..) => ATTITUDE_DATA :: NAME , Self :: TERRAIN_REQUEST (..) => TERRAIN_REQUEST_DATA :: NAME , Self :: FILE_TRANSFER_PROTOCOL (..) => FILE_TRANSFER_PROTOCOL_DATA :: NAME , Self :: LOCAL_POSITION_NED (..) => LOCAL_POSITION_NED_DATA :: NAME , Self :: TERRAIN_REPORT (..) => TERRAIN_REPORT_DATA :: NAME , Self :: REQUEST_EVENT (..) => REQUEST_EVENT_DATA :: NAME , Self :: ALTITUDE (..) => ALTITUDE_DATA :: NAME , Self :: WIND_COV (..) => WIND_COV_DATA :: NAME , Self :: GPS2_RAW (..) => GPS2_RAW_DATA :: NAME , Self :: SYS_STATUS (..) => SYS_STATUS_DATA :: NAME , Self :: SCALED_PRESSURE (..) => SCALED_PRESSURE_DATA :: NAME , Self :: SET_ATTITUDE_TARGET (..) => SET_ATTITUDE_TARGET_DATA :: NAME , Self :: LOCAL_POSITION_NED_COV (..) => LOCAL_POSITION_NED_COV_DATA :: NAME , Self :: ORBIT_EXECUTION_STATUS (..) => ORBIT_EXECUTION_STATUS_DATA :: NAME , Self :: PARAM_REQUEST_READ (..) => PARAM_REQUEST_READ_DATA :: NAME , Self :: MEMORY_VECT (..) => MEMORY_VECT_DATA :: NAME , Self :: SCALED_IMU (..) => SCALED_IMU_DATA :: NAME , Self :: VIDEO_STREAM_STATUS (..) => VIDEO_STREAM_STATUS_DATA :: NAME , Self :: GPS_STATUS (..) => GPS_STATUS_DATA :: NAME , Self :: PING (..) => PING_DATA :: NAME , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (..) => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: NAME , Self :: SCALED_PRESSURE3 (..) => SCALED_PRESSURE3_DATA :: NAME , Self :: WIFI_CONFIG_AP (..) => WIFI_CONFIG_AP_DATA :: NAME , Self :: RAW_RPM (..) => RAW_RPM_DATA :: NAME , Self :: MISSION_ITEM_REACHED (..) => MISSION_ITEM_REACHED_DATA :: NAME , Self :: TIMESYNC (..) => TIMESYNC_DATA :: NAME , Self :: MOUNT_ORIENTATION (..) => MOUNT_ORIENTATION_DATA :: NAME , Self :: DATA_STREAM (..) => DATA_STREAM_DATA :: NAME , Self :: ISBD_LINK_STATUS (..) => ISBD_LINK_STATUS_DATA :: NAME , Self :: GPS2_RTK (..) => GPS2_RTK_DATA :: NAME , Self :: SET_GPS_GLOBAL_ORIGIN (..) => SET_GPS_GLOBAL_ORIGIN_DATA :: NAME , Self :: HIL_GPS (..) => HIL_GPS_DATA :: NAME , Self :: MISSION_CURRENT (..) => MISSION_CURRENT_DATA :: NAME , Self :: PARAM_VALUE (..) => PARAM_VALUE_DATA :: NAME , Self :: FENCE_STATUS (..) => FENCE_STATUS_DATA :: NAME , Self :: HIL_STATE_QUATERNION (..) => HIL_STATE_QUATERNION_DATA :: NAME , Self :: OBSTACLE_DISTANCE (..) => OBSTACLE_DISTANCE_DATA :: NAME , Self :: CAMERA_CAPTURE_STATUS (..) => CAMERA_CAPTURE_STATUS_DATA :: NAME , Self :: DISTANCE_SENSOR (..) => DISTANCE_SENSOR_DATA :: NAME , Self :: NAMED_VALUE_INT (..) => NAMED_VALUE_INT_DATA :: NAME , Self :: ONBOARD_COMPUTER_STATUS (..) => ONBOARD_COMPUTER_STATUS_DATA :: NAME , Self :: GIMBAL_DEVICE_INFORMATION (..) => GIMBAL_DEVICE_INFORMATION_DATA :: NAME , Self :: MISSION_REQUEST (..) => MISSION_REQUEST_DATA :: NAME , Self :: MISSION_REQUEST_LIST (..) => MISSION_REQUEST_LIST_DATA :: NAME , Self :: LOG_DATA (..) => LOG_DATA_DATA :: NAME , Self :: UAVIONIX_ADSB_OUT_CFG (..) => UAVIONIX_ADSB_OUT_CFG_DATA :: NAME , Self :: PROTOCOL_VERSION (..) => PROTOCOL_VERSION_DATA :: NAME , Self :: OPEN_DRONE_ID_ARM_STATUS (..) => OPEN_DRONE_ID_ARM_STATUS_DATA :: NAME , Self :: LANDING_TARGET (..) => LANDING_TARGET_DATA :: NAME , Self :: ESC_STATUS (..) => ESC_STATUS_DATA :: NAME , Self :: CAMERA_TRACKING_IMAGE_STATUS (..) => CAMERA_TRACKING_IMAGE_STATUS_DATA :: NAME , Self :: GPS_GLOBAL_ORIGIN (..) => GPS_GLOBAL_ORIGIN_DATA :: NAME , Self :: PLAY_TUNE_V2 (..) => PLAY_TUNE_V2_DATA :: NAME , Self :: DEBUG_VECT (..) => DEBUG_VECT_DATA :: NAME , Self :: LOG_REQUEST_END (..) => LOG_REQUEST_END_DATA :: NAME , Self :: RESOURCE_REQUEST (..) => RESOURCE_REQUEST_DATA :: NAME , Self :: ATTITUDE_QUATERNION (..) => ATTITUDE_QUATERNION_DATA :: NAME , Self :: HYGROMETER_SENSOR (..) => HYGROMETER_SENSOR_DATA :: NAME , Self :: ENCAPSULATED_DATA (..) => ENCAPSULATED_DATA_DATA :: NAME , Self :: CAMERA_INFORMATION (..) => CAMERA_INFORMATION_DATA :: NAME , Self :: ESC_INFO (..) => ESC_INFO_DATA :: NAME , Self :: FLIGHT_INFORMATION (..) => FLIGHT_INFORMATION_DATA :: NAME , Self :: HIGH_LATENCY2 (..) => HIGH_LATENCY2_DATA :: NAME , Self :: GLOBAL_POSITION_INT_COV (..) => GLOBAL_POSITION_INT_COV_DATA :: NAME , Self :: SET_MODE (..) => SET_MODE_DATA :: NAME , Self :: SET_POSITION_TARGET_GLOBAL_INT (..) => SET_POSITION_TARGET_GLOBAL_INT_DATA :: NAME , Self :: GIMBAL_MANAGER_SET_ATTITUDE (..) => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: NAME , Self :: PARAM_SET (..) => PARAM_SET_DATA :: NAME , Self :: SUPPORTED_TUNES (..) => SUPPORTED_TUNES_DATA :: NAME , Self :: CAN_FILTER_MODIFY (..) => CAN_FILTER_MODIFY_DATA :: NAME , Self :: VISION_POSITION_ESTIMATE (..) => VISION_POSITION_ESTIMATE_DATA :: NAME , Self :: PLAY_TUNE (..) => PLAY_TUNE_DATA :: NAME , Self :: HEARTBEAT (..) => HEARTBEAT_DATA :: NAME , Self :: SIM_STATE (..) => SIM_STATE_DATA :: NAME , Self :: CAMERA_IMAGE_CAPTURED (..) => CAMERA_IMAGE_CAPTURED_DATA :: NAME , Self :: AIS_VESSEL (..) => AIS_VESSEL_DATA :: NAME , Self :: CAMERA_TRIGGER (..) => CAMERA_TRIGGER_DATA :: NAME , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (..) => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: NAME , Self :: LOG_ENTRY (..) => LOG_ENTRY_DATA :: NAME , Self :: OPEN_DRONE_ID_MESSAGE_PACK (..) => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: NAME , Self :: GIMBAL_MANAGER_STATUS (..) => GIMBAL_MANAGER_STATUS_DATA :: NAME , Self :: MANUAL_SETPOINT (..) => MANUAL_SETPOINT_DATA :: NAME , Self :: GPS_RTCM_DATA (..) => GPS_RTCM_DATA_DATA :: NAME , Self :: RAW_IMU (..) => RAW_IMU_DATA :: NAME , Self :: COMMAND_INT (..) => COMMAND_INT_DATA :: NAME , Self :: DEBUG (..) => DEBUG_DATA :: NAME , Self :: MISSION_COUNT (..) => MISSION_COUNT_DATA :: NAME , Self :: VISION_SPEED_ESTIMATE (..) => VISION_SPEED_ESTIMATE_DATA :: NAME , Self :: SET_ACTUATOR_CONTROL_TARGET (..) => SET_ACTUATOR_CONTROL_TARGET_DATA :: NAME , Self :: GPS_INPUT (..) => GPS_INPUT_DATA :: NAME , Self :: POSITION_TARGET_GLOBAL_INT (..) => POSITION_TARGET_GLOBAL_INT_DATA :: NAME , Self :: UAVCAN_NODE_STATUS (..) => UAVCAN_NODE_STATUS_DATA :: NAME , Self :: OPEN_DRONE_ID_SELF_ID (..) => OPEN_DRONE_ID_SELF_ID_DATA :: NAME , Self :: COMMAND_ACK (..) => COMMAND_ACK_DATA :: NAME , Self :: OPEN_DRONE_ID_OPERATOR_ID (..) => OPEN_DRONE_ID_OPERATOR_ID_DATA :: NAME , Self :: CELLULAR_STATUS (..) => CELLULAR_STATUS_DATA :: NAME , Self :: SYSTEM_TIME (..) => SYSTEM_TIME_DATA :: NAME , Self :: EFI_STATUS (..) => EFI_STATUS_DATA :: NAME , Self :: COMMAND_LONG (..) => COMMAND_LONG_DATA :: NAME , Self :: POSITION_TARGET_LOCAL_NED (..) => POSITION_TARGET_LOCAL_NED_DATA :: NAME , Self :: MAG_CAL_REPORT (..) => MAG_CAL_REPORT_DATA :: NAME , Self :: WHEEL_DISTANCE (..) => WHEEL_DISTANCE_DATA :: NAME , Self :: OPTICAL_FLOW_RAD (..) => OPTICAL_FLOW_RAD_DATA :: NAME , Self :: SCALED_IMU3 (..) => SCALED_IMU3_DATA :: NAME , Self :: MISSION_REQUEST_PARTIAL_LIST (..) => MISSION_REQUEST_PARTIAL_LIST_DATA :: NAME , Self :: GENERATOR_STATUS (..) => GENERATOR_STATUS_DATA :: NAME , Self :: VICON_POSITION_ESTIMATE (..) => VICON_POSITION_ESTIMATE_DATA :: NAME , Self :: MISSION_ITEM (..) => MISSION_ITEM_DATA :: NAME , Self :: MANUAL_CONTROL (..) => MANUAL_CONTROL_DATA :: NAME , Self :: ESTIMATOR_STATUS (..) => ESTIMATOR_STATUS_DATA :: NAME , Self :: ADSB_VEHICLE (..) => ADSB_VEHICLE_DATA :: NAME , Self :: GLOBAL_POSITION_INT (..) => GLOBAL_POSITION_INT_DATA :: NAME , Self :: DATA_TRANSMISSION_HANDSHAKE (..) => DATA_TRANSMISSION_HANDSHAKE_DATA :: NAME , Self :: MISSION_CLEAR_ALL (..) => MISSION_CLEAR_ALL_DATA :: NAME , Self :: VIDEO_STREAM_INFORMATION (..) => VIDEO_STREAM_INFORMATION_DATA :: NAME , Self :: CAN_FRAME (..) => CAN_FRAME_DATA :: NAME , Self :: EVENT (..) => EVENT_DATA :: NAME , Self :: COMPONENT_METADATA (..) => COMPONENT_METADATA_DATA :: NAME , Self :: CURRENT_EVENT_SEQUENCE (..) => CURRENT_EVENT_SEQUENCE_DATA :: NAME , Self :: MISSION_ACK (..) => MISSION_ACK_DATA :: NAME , Self :: OPTICAL_FLOW (..) => OPTICAL_FLOW_DATA :: NAME , Self :: WINCH_STATUS (..) => WINCH_STATUS_DATA :: NAME , Self :: HIGH_LATENCY (..) => HIGH_LATENCY_DATA :: NAME , Self :: FOLLOW_TARGET (..) => FOLLOW_TARGET_DATA :: NAME , } } fn message_id (& self) -> u32 { match self { Self :: MISSION_SET_CURRENT (..) => MISSION_SET_CURRENT_DATA :: ID , Self :: AUTH_KEY (..) => AUTH_KEY_DATA :: ID , Self :: ATTITUDE_TARGET (..) => ATTITUDE_TARGET_DATA :: ID , Self :: SETUP_SIGNING (..) => SETUP_SIGNING_DATA :: ID , Self :: CELLULAR_CONFIG (..) => CELLULAR_CONFIG_DATA :: ID , Self :: UTM_GLOBAL_POSITION (..) => UTM_GLOBAL_POSITION_DATA :: ID , Self :: VFR_HUD (..) => VFR_HUD_DATA :: ID , Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (..) => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID , Self :: MISSION_WRITE_PARTIAL_LIST (..) => MISSION_WRITE_PARTIAL_LIST_DATA :: ID , Self :: ODOMETRY (..) => ODOMETRY_DATA :: ID , Self :: SERIAL_CONTROL (..) => SERIAL_CONTROL_DATA :: ID , Self :: RC_CHANNELS_SCALED (..) => RC_CHANNELS_SCALED_DATA :: ID , Self :: COMPONENT_INFORMATION (..) => COMPONENT_INFORMATION_DATA :: ID , Self :: PARAM_EXT_VALUE (..) => PARAM_EXT_VALUE_DATA :: ID , Self :: OPEN_DRONE_ID_AUTHENTICATION (..) => OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID , Self :: UAVCAN_NODE_INFO (..) => UAVCAN_NODE_INFO_DATA :: ID , Self :: CAMERA_SETTINGS (..) => CAMERA_SETTINGS_DATA :: ID , Self :: RADIO_STATUS (..) => RADIO_STATUS_DATA :: ID , Self :: GPS_RAW_INT (..) => GPS_RAW_INT_DATA :: ID , Self :: CONTROL_SYSTEM_STATE (..) => CONTROL_SYSTEM_STATE_DATA :: ID , Self :: CAMERA_TRACKING_GEO_STATUS (..) => CAMERA_TRACKING_GEO_STATUS_DATA :: ID , Self :: TUNNEL (..) => TUNNEL_DATA :: ID , Self :: LOG_REQUEST_LIST (..) => LOG_REQUEST_LIST_DATA :: ID , Self :: REQUEST_DATA_STREAM (..) => REQUEST_DATA_STREAM_DATA :: ID , Self :: GIMBAL_DEVICE_SET_ATTITUDE (..) => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID , Self :: CANFD_FRAME (..) => CANFD_FRAME_DATA :: ID , Self :: HIL_CONTROLS (..) => HIL_CONTROLS_DATA :: ID , Self :: POWER_STATUS (..) => POWER_STATUS_DATA :: ID , Self :: HIL_STATE (..) => HIL_STATE_DATA :: ID , Self :: LOGGING_DATA (..) => LOGGING_DATA_DATA :: ID , Self :: SMART_BATTERY_INFO (..) => SMART_BATTERY_INFO_DATA :: ID , Self :: RAW_PRESSURE (..) => RAW_PRESSURE_DATA :: ID , Self :: PARAM_EXT_SET (..) => PARAM_EXT_SET_DATA :: ID , Self :: VIBRATION (..) => VIBRATION_DATA :: ID , Self :: LOGGING_ACK (..) => LOGGING_ACK_DATA :: ID , Self :: SCALED_PRESSURE2 (..) => SCALED_PRESSURE2_DATA :: ID , Self :: AUTOPILOT_VERSION (..) => AUTOPILOT_VERSION_DATA :: ID , Self :: NAMED_VALUE_FLOAT (..) => NAMED_VALUE_FLOAT_DATA :: ID , Self :: GPS_RTK (..) => GPS_RTK_DATA :: ID , Self :: UAVIONIX_ADSB_OUT_DYNAMIC (..) => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID , Self :: COMMAND_CANCEL (..) => COMMAND_CANCEL_DATA :: ID , Self :: CAMERA_FOV_STATUS (..) => CAMERA_FOV_STATUS_DATA :: ID , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (..) => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID , Self :: LOG_ERASE (..) => LOG_ERASE_DATA :: ID , Self :: LOG_REQUEST_DATA (..) => LOG_REQUEST_DATA_DATA :: ID , Self :: LINK_NODE_STATUS (..) => LINK_NODE_STATUS_DATA :: ID , Self :: GIMBAL_MANAGER_INFORMATION (..) => GIMBAL_MANAGER_INFORMATION_DATA :: ID , Self :: STORAGE_INFORMATION (..) => STORAGE_INFORMATION_DATA :: ID , Self :: LOGGING_DATA_ACKED (..) => LOGGING_DATA_ACKED_DATA :: ID , Self :: DEBUG_FLOAT_ARRAY (..) => DEBUG_FLOAT_ARRAY_DATA :: ID , Self :: SCALED_IMU2 (..) => SCALED_IMU2_DATA :: ID , Self :: COLLISION (..) => COLLISION_DATA :: ID , Self :: MISSION_REQUEST_INT (..) => MISSION_REQUEST_INT_DATA :: ID , Self :: SERVO_OUTPUT_RAW (..) => SERVO_OUTPUT_RAW_DATA :: ID , Self :: PARAM_EXT_REQUEST_LIST (..) => PARAM_EXT_REQUEST_LIST_DATA :: ID , Self :: TERRAIN_DATA (..) => TERRAIN_DATA_DATA :: ID , Self :: RC_CHANNELS (..) => RC_CHANNELS_DATA :: ID , Self :: HIL_SENSOR (..) => HIL_SENSOR_DATA :: ID , Self :: SET_POSITION_TARGET_LOCAL_NED (..) => SET_POSITION_TARGET_LOCAL_NED_DATA :: ID , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (..) => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID , Self :: STATUSTEXT (..) => STATUSTEXT_DATA :: ID , Self :: RC_CHANNELS_RAW (..) => RC_CHANNELS_RAW_DATA :: ID , Self :: ATTITUDE_QUATERNION_COV (..) => ATTITUDE_QUATERNION_COV_DATA :: ID , Self :: MESSAGE_INTERVAL (..) => MESSAGE_INTERVAL_DATA :: ID , Self :: SAFETY_ALLOWED_AREA (..) => SAFETY_ALLOWED_AREA_DATA :: ID , Self :: EXTENDED_SYS_STATE (..) => EXTENDED_SYS_STATE_DATA :: ID , Self :: GPS_INJECT_DATA (..) => GPS_INJECT_DATA_DATA :: ID , Self :: HOME_POSITION (..) => HOME_POSITION_DATA :: ID , Self :: PARAM_EXT_REQUEST_READ (..) => PARAM_EXT_REQUEST_READ_DATA :: ID , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (..) => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID , Self :: TRAJECTORY_REPRESENTATION_BEZIER (..) => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID , Self :: OPEN_DRONE_ID_BASIC_ID (..) => OPEN_DRONE_ID_BASIC_ID_DATA :: ID , Self :: ACTUATOR_CONTROL_TARGET (..) => ACTUATOR_CONTROL_TARGET_DATA :: ID , Self :: NAV_CONTROLLER_OUTPUT (..) => NAV_CONTROLLER_OUTPUT_DATA :: ID , Self :: RC_CHANNELS_OVERRIDE (..) => RC_CHANNELS_OVERRIDE_DATA :: ID , Self :: SET_HOME_POSITION (..) => SET_HOME_POSITION_DATA :: ID , Self :: HIL_OPTICAL_FLOW (..) => HIL_OPTICAL_FLOW_DATA :: ID , Self :: V2_EXTENSION (..) => V2_EXTENSION_DATA :: ID , Self :: HIL_ACTUATOR_CONTROLS (..) => HIL_ACTUATOR_CONTROLS_DATA :: ID , Self :: PARAM_MAP_RC (..) => PARAM_MAP_RC_DATA :: ID , Self :: TIME_ESTIMATE_TO_TARGET (..) => TIME_ESTIMATE_TO_TARGET_DATA :: ID , Self :: BUTTON_CHANGE (..) => BUTTON_CHANGE_DATA :: ID , Self :: PARAM_REQUEST_LIST (..) => PARAM_REQUEST_LIST_DATA :: ID , Self :: CHANGE_OPERATOR_CONTROL (..) => CHANGE_OPERATOR_CONTROL_DATA :: ID , Self :: CHANGE_OPERATOR_CONTROL_ACK (..) => CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID , Self :: OPEN_DRONE_ID_LOCATION (..) => OPEN_DRONE_ID_LOCATION_DATA :: ID , Self :: BATTERY_STATUS (..) => BATTERY_STATUS_DATA :: ID , Self :: OPEN_DRONE_ID_SYSTEM (..) => OPEN_DRONE_ID_SYSTEM_DATA :: ID , Self :: GLOBAL_VISION_POSITION_ESTIMATE (..) => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID , Self :: SAFETY_SET_ALLOWED_AREA (..) => SAFETY_SET_ALLOWED_AREA_DATA :: ID , Self :: GIMBAL_MANAGER_SET_PITCHYAW (..) => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID , Self :: ACTUATOR_OUTPUT_STATUS (..) => ACTUATOR_OUTPUT_STATUS_DATA :: ID , Self :: HIGHRES_IMU (..) => HIGHRES_IMU_DATA :: ID , Self :: PARAM_EXT_ACK (..) => PARAM_EXT_ACK_DATA :: ID , Self :: TERRAIN_CHECK (..) => TERRAIN_CHECK_DATA :: ID , Self :: HIL_RC_INPUTS_RAW (..) => HIL_RC_INPUTS_RAW_DATA :: ID , Self :: MISSION_ITEM_INT (..) => MISSION_ITEM_INT_DATA :: ID , Self :: ATT_POS_MOCAP (..) => ATT_POS_MOCAP_DATA :: ID , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (..) => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID , Self :: RESPONSE_EVENT_ERROR (..) => RESPONSE_EVENT_ERROR_DATA :: ID , Self :: ATTITUDE (..) => ATTITUDE_DATA :: ID , Self :: TERRAIN_REQUEST (..) => TERRAIN_REQUEST_DATA :: ID , Self :: FILE_TRANSFER_PROTOCOL (..) => FILE_TRANSFER_PROTOCOL_DATA :: ID , Self :: LOCAL_POSITION_NED (..) => LOCAL_POSITION_NED_DATA :: ID , Self :: TERRAIN_REPORT (..) => TERRAIN_REPORT_DATA :: ID , Self :: REQUEST_EVENT (..) => REQUEST_EVENT_DATA :: ID , Self :: ALTITUDE (..) => ALTITUDE_DATA :: ID , Self :: WIND_COV (..) => WIND_COV_DATA :: ID , Self :: GPS2_RAW (..) => GPS2_RAW_DATA :: ID , Self :: SYS_STATUS (..) => SYS_STATUS_DATA :: ID , Self :: SCALED_PRESSURE (..) => SCALED_PRESSURE_DATA :: ID , Self :: SET_ATTITUDE_TARGET (..) => SET_ATTITUDE_TARGET_DATA :: ID , Self :: LOCAL_POSITION_NED_COV (..) => LOCAL_POSITION_NED_COV_DATA :: ID , Self :: ORBIT_EXECUTION_STATUS (..) => ORBIT_EXECUTION_STATUS_DATA :: ID , Self :: PARAM_REQUEST_READ (..) => PARAM_REQUEST_READ_DATA :: ID , Self :: MEMORY_VECT (..) => MEMORY_VECT_DATA :: ID , Self :: SCALED_IMU (..) => SCALED_IMU_DATA :: ID , Self :: VIDEO_STREAM_STATUS (..) => VIDEO_STREAM_STATUS_DATA :: ID , Self :: GPS_STATUS (..) => GPS_STATUS_DATA :: ID , Self :: PING (..) => PING_DATA :: ID , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (..) => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID , Self :: SCALED_PRESSURE3 (..) => SCALED_PRESSURE3_DATA :: ID , Self :: WIFI_CONFIG_AP (..) => WIFI_CONFIG_AP_DATA :: ID , Self :: RAW_RPM (..) => RAW_RPM_DATA :: ID , Self :: MISSION_ITEM_REACHED (..) => MISSION_ITEM_REACHED_DATA :: ID , Self :: TIMESYNC (..) => TIMESYNC_DATA :: ID , Self :: MOUNT_ORIENTATION (..) => MOUNT_ORIENTATION_DATA :: ID , Self :: DATA_STREAM (..) => DATA_STREAM_DATA :: ID , Self :: ISBD_LINK_STATUS (..) => ISBD_LINK_STATUS_DATA :: ID , Self :: GPS2_RTK (..) => GPS2_RTK_DATA :: ID , Self :: SET_GPS_GLOBAL_ORIGIN (..) => SET_GPS_GLOBAL_ORIGIN_DATA :: ID , Self :: HIL_GPS (..) => HIL_GPS_DATA :: ID , Self :: MISSION_CURRENT (..) => MISSION_CURRENT_DATA :: ID , Self :: PARAM_VALUE (..) => PARAM_VALUE_DATA :: ID , Self :: FENCE_STATUS (..) => FENCE_STATUS_DATA :: ID , Self :: HIL_STATE_QUATERNION (..) => HIL_STATE_QUATERNION_DATA :: ID , Self :: OBSTACLE_DISTANCE (..) => OBSTACLE_DISTANCE_DATA :: ID , Self :: CAMERA_CAPTURE_STATUS (..) => CAMERA_CAPTURE_STATUS_DATA :: ID , Self :: DISTANCE_SENSOR (..) => DISTANCE_SENSOR_DATA :: ID , Self :: NAMED_VALUE_INT (..) => NAMED_VALUE_INT_DATA :: ID , Self :: ONBOARD_COMPUTER_STATUS (..) => ONBOARD_COMPUTER_STATUS_DATA :: ID , Self :: GIMBAL_DEVICE_INFORMATION (..) => GIMBAL_DEVICE_INFORMATION_DATA :: ID , Self :: MISSION_REQUEST (..) => MISSION_REQUEST_DATA :: ID , Self :: MISSION_REQUEST_LIST (..) => MISSION_REQUEST_LIST_DATA :: ID , Self :: LOG_DATA (..) => LOG_DATA_DATA :: ID , Self :: UAVIONIX_ADSB_OUT_CFG (..) => UAVIONIX_ADSB_OUT_CFG_DATA :: ID , Self :: PROTOCOL_VERSION (..) => PROTOCOL_VERSION_DATA :: ID , Self :: OPEN_DRONE_ID_ARM_STATUS (..) => OPEN_DRONE_ID_ARM_STATUS_DATA :: ID , Self :: LANDING_TARGET (..) => LANDING_TARGET_DATA :: ID , Self :: ESC_STATUS (..) => ESC_STATUS_DATA :: ID , Self :: CAMERA_TRACKING_IMAGE_STATUS (..) => CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID , Self :: GPS_GLOBAL_ORIGIN (..) => GPS_GLOBAL_ORIGIN_DATA :: ID , Self :: PLAY_TUNE_V2 (..) => PLAY_TUNE_V2_DATA :: ID , Self :: DEBUG_VECT (..) => DEBUG_VECT_DATA :: ID , Self :: LOG_REQUEST_END (..) => LOG_REQUEST_END_DATA :: ID , Self :: RESOURCE_REQUEST (..) => RESOURCE_REQUEST_DATA :: ID , Self :: ATTITUDE_QUATERNION (..) => ATTITUDE_QUATERNION_DATA :: ID , Self :: HYGROMETER_SENSOR (..) => HYGROMETER_SENSOR_DATA :: ID , Self :: ENCAPSULATED_DATA (..) => ENCAPSULATED_DATA_DATA :: ID , Self :: CAMERA_INFORMATION (..) => CAMERA_INFORMATION_DATA :: ID , Self :: ESC_INFO (..) => ESC_INFO_DATA :: ID , Self :: FLIGHT_INFORMATION (..) => FLIGHT_INFORMATION_DATA :: ID , Self :: HIGH_LATENCY2 (..) => HIGH_LATENCY2_DATA :: ID , Self :: GLOBAL_POSITION_INT_COV (..) => GLOBAL_POSITION_INT_COV_DATA :: ID , Self :: SET_MODE (..) => SET_MODE_DATA :: ID , Self :: SET_POSITION_TARGET_GLOBAL_INT (..) => SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID , Self :: GIMBAL_MANAGER_SET_ATTITUDE (..) => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID , Self :: PARAM_SET (..) => PARAM_SET_DATA :: ID , Self :: SUPPORTED_TUNES (..) => SUPPORTED_TUNES_DATA :: ID , Self :: CAN_FILTER_MODIFY (..) => CAN_FILTER_MODIFY_DATA :: ID , Self :: VISION_POSITION_ESTIMATE (..) => VISION_POSITION_ESTIMATE_DATA :: ID , Self :: PLAY_TUNE (..) => PLAY_TUNE_DATA :: ID , Self :: HEARTBEAT (..) => HEARTBEAT_DATA :: ID , Self :: SIM_STATE (..) => SIM_STATE_DATA :: ID , Self :: CAMERA_IMAGE_CAPTURED (..) => CAMERA_IMAGE_CAPTURED_DATA :: ID , Self :: AIS_VESSEL (..) => AIS_VESSEL_DATA :: ID , Self :: CAMERA_TRIGGER (..) => CAMERA_TRIGGER_DATA :: ID , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (..) => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID , Self :: LOG_ENTRY (..) => LOG_ENTRY_DATA :: ID , Self :: OPEN_DRONE_ID_MESSAGE_PACK (..) => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID , Self :: GIMBAL_MANAGER_STATUS (..) => GIMBAL_MANAGER_STATUS_DATA :: ID , Self :: MANUAL_SETPOINT (..) => MANUAL_SETPOINT_DATA :: ID , Self :: GPS_RTCM_DATA (..) => GPS_RTCM_DATA_DATA :: ID , Self :: RAW_IMU (..) => RAW_IMU_DATA :: ID , Self :: COMMAND_INT (..) => COMMAND_INT_DATA :: ID , Self :: DEBUG (..) => DEBUG_DATA :: ID , Self :: MISSION_COUNT (..) => MISSION_COUNT_DATA :: ID , Self :: VISION_SPEED_ESTIMATE (..) => VISION_SPEED_ESTIMATE_DATA :: ID , Self :: SET_ACTUATOR_CONTROL_TARGET (..) => SET_ACTUATOR_CONTROL_TARGET_DATA :: ID , Self :: GPS_INPUT (..) => GPS_INPUT_DATA :: ID , Self :: POSITION_TARGET_GLOBAL_INT (..) => POSITION_TARGET_GLOBAL_INT_DATA :: ID , Self :: UAVCAN_NODE_STATUS (..) => UAVCAN_NODE_STATUS_DATA :: ID , Self :: OPEN_DRONE_ID_SELF_ID (..) => OPEN_DRONE_ID_SELF_ID_DATA :: ID , Self :: COMMAND_ACK (..) => COMMAND_ACK_DATA :: ID , Self :: OPEN_DRONE_ID_OPERATOR_ID (..) => OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID , Self :: CELLULAR_STATUS (..) => CELLULAR_STATUS_DATA :: ID , Self :: SYSTEM_TIME (..) => SYSTEM_TIME_DATA :: ID , Self :: EFI_STATUS (..) => EFI_STATUS_DATA :: ID , Self :: COMMAND_LONG (..) => COMMAND_LONG_DATA :: ID , Self :: POSITION_TARGET_LOCAL_NED (..) => POSITION_TARGET_LOCAL_NED_DATA :: ID , Self :: MAG_CAL_REPORT (..) => MAG_CAL_REPORT_DATA :: ID , Self :: WHEEL_DISTANCE (..) => WHEEL_DISTANCE_DATA :: ID , Self :: OPTICAL_FLOW_RAD (..) => OPTICAL_FLOW_RAD_DATA :: ID , Self :: SCALED_IMU3 (..) => SCALED_IMU3_DATA :: ID , Self :: MISSION_REQUEST_PARTIAL_LIST (..) => MISSION_REQUEST_PARTIAL_LIST_DATA :: ID , Self :: GENERATOR_STATUS (..) => GENERATOR_STATUS_DATA :: ID , Self :: VICON_POSITION_ESTIMATE (..) => VICON_POSITION_ESTIMATE_DATA :: ID , Self :: MISSION_ITEM (..) => MISSION_ITEM_DATA :: ID , Self :: MANUAL_CONTROL (..) => MANUAL_CONTROL_DATA :: ID , Self :: ESTIMATOR_STATUS (..) => ESTIMATOR_STATUS_DATA :: ID , Self :: ADSB_VEHICLE (..) => ADSB_VEHICLE_DATA :: ID , Self :: GLOBAL_POSITION_INT (..) => GLOBAL_POSITION_INT_DATA :: ID , Self :: DATA_TRANSMISSION_HANDSHAKE (..) => DATA_TRANSMISSION_HANDSHAKE_DATA :: ID , Self :: MISSION_CLEAR_ALL (..) => MISSION_CLEAR_ALL_DATA :: ID , Self :: VIDEO_STREAM_INFORMATION (..) => VIDEO_STREAM_INFORMATION_DATA :: ID , Self :: CAN_FRAME (..) => CAN_FRAME_DATA :: ID , Self :: EVENT (..) => EVENT_DATA :: ID , Self :: COMPONENT_METADATA (..) => COMPONENT_METADATA_DATA :: ID , Self :: CURRENT_EVENT_SEQUENCE (..) => CURRENT_EVENT_SEQUENCE_DATA :: ID , Self :: MISSION_ACK (..) => MISSION_ACK_DATA :: ID , Self :: OPTICAL_FLOW (..) => OPTICAL_FLOW_DATA :: ID , Self :: WINCH_STATUS (..) => WINCH_STATUS_DATA :: ID , Self :: HIGH_LATENCY (..) => HIGH_LATENCY_DATA :: ID , Self :: FOLLOW_TARGET (..) => FOLLOW_TARGET_DATA :: ID , } } fn message_id_from_name (name : & str) -> Result < u32 , & 'static str > { match name { MISSION_SET_CURRENT_DATA :: NAME => Ok (MISSION_SET_CURRENT_DATA :: ID) , AUTH_KEY_DATA :: NAME => Ok (AUTH_KEY_DATA :: ID) , ATTITUDE_TARGET_DATA :: NAME => Ok (ATTITUDE_TARGET_DATA :: ID) , SETUP_SIGNING_DATA :: NAME => Ok (SETUP_SIGNING_DATA :: ID) , CELLULAR_CONFIG_DATA :: NAME => Ok (CELLULAR_CONFIG_DATA :: ID) , UTM_GLOBAL_POSITION_DATA :: NAME => Ok (UTM_GLOBAL_POSITION_DATA :: ID) , VFR_HUD_DATA :: NAME => Ok (VFR_HUD_DATA :: ID) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: NAME => Ok (UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID) , MISSION_WRITE_PARTIAL_LIST_DATA :: NAME => Ok (MISSION_WRITE_PARTIAL_LIST_DATA :: ID) , ODOMETRY_DATA :: NAME => Ok (ODOMETRY_DATA :: ID) , SERIAL_CONTROL_DATA :: NAME => Ok (SERIAL_CONTROL_DATA :: ID) , RC_CHANNELS_SCALED_DATA :: NAME => Ok (RC_CHANNELS_SCALED_DATA :: ID) , COMPONENT_INFORMATION_DATA :: NAME => Ok (COMPONENT_INFORMATION_DATA :: ID) , PARAM_EXT_VALUE_DATA :: NAME => Ok (PARAM_EXT_VALUE_DATA :: ID) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: NAME => Ok (OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID) , UAVCAN_NODE_INFO_DATA :: NAME => Ok (UAVCAN_NODE_INFO_DATA :: ID) , CAMERA_SETTINGS_DATA :: NAME => Ok (CAMERA_SETTINGS_DATA :: ID) , RADIO_STATUS_DATA :: NAME => Ok (RADIO_STATUS_DATA :: ID) , GPS_RAW_INT_DATA :: NAME => Ok (GPS_RAW_INT_DATA :: ID) , CONTROL_SYSTEM_STATE_DATA :: NAME => Ok (CONTROL_SYSTEM_STATE_DATA :: ID) , CAMERA_TRACKING_GEO_STATUS_DATA :: NAME => Ok (CAMERA_TRACKING_GEO_STATUS_DATA :: ID) , TUNNEL_DATA :: NAME => Ok (TUNNEL_DATA :: ID) , LOG_REQUEST_LIST_DATA :: NAME => Ok (LOG_REQUEST_LIST_DATA :: ID) , REQUEST_DATA_STREAM_DATA :: NAME => Ok (REQUEST_DATA_STREAM_DATA :: ID) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: NAME => Ok (GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID) , CANFD_FRAME_DATA :: NAME => Ok (CANFD_FRAME_DATA :: ID) , HIL_CONTROLS_DATA :: NAME => Ok (HIL_CONTROLS_DATA :: ID) , POWER_STATUS_DATA :: NAME => Ok (POWER_STATUS_DATA :: ID) , HIL_STATE_DATA :: NAME => Ok (HIL_STATE_DATA :: ID) , LOGGING_DATA_DATA :: NAME => Ok (LOGGING_DATA_DATA :: ID) , SMART_BATTERY_INFO_DATA :: NAME => Ok (SMART_BATTERY_INFO_DATA :: ID) , RAW_PRESSURE_DATA :: NAME => Ok (RAW_PRESSURE_DATA :: ID) , PARAM_EXT_SET_DATA :: NAME => Ok (PARAM_EXT_SET_DATA :: ID) , VIBRATION_DATA :: NAME => Ok (VIBRATION_DATA :: ID) , LOGGING_ACK_DATA :: NAME => Ok (LOGGING_ACK_DATA :: ID) , SCALED_PRESSURE2_DATA :: NAME => Ok (SCALED_PRESSURE2_DATA :: ID) , AUTOPILOT_VERSION_DATA :: NAME => Ok (AUTOPILOT_VERSION_DATA :: ID) , NAMED_VALUE_FLOAT_DATA :: NAME => Ok (NAMED_VALUE_FLOAT_DATA :: ID) , GPS_RTK_DATA :: NAME => Ok (GPS_RTK_DATA :: ID) , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: NAME => Ok (UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID) , COMMAND_CANCEL_DATA :: NAME => Ok (COMMAND_CANCEL_DATA :: ID) , CAMERA_FOV_STATUS_DATA :: NAME => Ok (CAMERA_FOV_STATUS_DATA :: ID) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: NAME => Ok (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID) , LOG_ERASE_DATA :: NAME => Ok (LOG_ERASE_DATA :: ID) , LOG_REQUEST_DATA_DATA :: NAME => Ok (LOG_REQUEST_DATA_DATA :: ID) , LINK_NODE_STATUS_DATA :: NAME => Ok (LINK_NODE_STATUS_DATA :: ID) , GIMBAL_MANAGER_INFORMATION_DATA :: NAME => Ok (GIMBAL_MANAGER_INFORMATION_DATA :: ID) , STORAGE_INFORMATION_DATA :: NAME => Ok (STORAGE_INFORMATION_DATA :: ID) , LOGGING_DATA_ACKED_DATA :: NAME => Ok (LOGGING_DATA_ACKED_DATA :: ID) , DEBUG_FLOAT_ARRAY_DATA :: NAME => Ok (DEBUG_FLOAT_ARRAY_DATA :: ID) , SCALED_IMU2_DATA :: NAME => Ok (SCALED_IMU2_DATA :: ID) , COLLISION_DATA :: NAME => Ok (COLLISION_DATA :: ID) , MISSION_REQUEST_INT_DATA :: NAME => Ok (MISSION_REQUEST_INT_DATA :: ID) , SERVO_OUTPUT_RAW_DATA :: NAME => Ok (SERVO_OUTPUT_RAW_DATA :: ID) , PARAM_EXT_REQUEST_LIST_DATA :: NAME => Ok (PARAM_EXT_REQUEST_LIST_DATA :: ID) , TERRAIN_DATA_DATA :: NAME => Ok (TERRAIN_DATA_DATA :: ID) , RC_CHANNELS_DATA :: NAME => Ok (RC_CHANNELS_DATA :: ID) , HIL_SENSOR_DATA :: NAME => Ok (HIL_SENSOR_DATA :: ID) , SET_POSITION_TARGET_LOCAL_NED_DATA :: NAME => Ok (SET_POSITION_TARGET_LOCAL_NED_DATA :: ID) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID) , STATUSTEXT_DATA :: NAME => Ok (STATUSTEXT_DATA :: ID) , RC_CHANNELS_RAW_DATA :: NAME => Ok (RC_CHANNELS_RAW_DATA :: ID) , ATTITUDE_QUATERNION_COV_DATA :: NAME => Ok (ATTITUDE_QUATERNION_COV_DATA :: ID) , MESSAGE_INTERVAL_DATA :: NAME => Ok (MESSAGE_INTERVAL_DATA :: ID) , SAFETY_ALLOWED_AREA_DATA :: NAME => Ok (SAFETY_ALLOWED_AREA_DATA :: ID) , EXTENDED_SYS_STATE_DATA :: NAME => Ok (EXTENDED_SYS_STATE_DATA :: ID) , GPS_INJECT_DATA_DATA :: NAME => Ok (GPS_INJECT_DATA_DATA :: ID) , HOME_POSITION_DATA :: NAME => Ok (HOME_POSITION_DATA :: ID) , PARAM_EXT_REQUEST_READ_DATA :: NAME => Ok (PARAM_EXT_REQUEST_READ_DATA :: ID) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: NAME => Ok (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: NAME => Ok (TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID) , OPEN_DRONE_ID_BASIC_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_BASIC_ID_DATA :: ID) , ACTUATOR_CONTROL_TARGET_DATA :: NAME => Ok (ACTUATOR_CONTROL_TARGET_DATA :: ID) , NAV_CONTROLLER_OUTPUT_DATA :: NAME => Ok (NAV_CONTROLLER_OUTPUT_DATA :: ID) , RC_CHANNELS_OVERRIDE_DATA :: NAME => Ok (RC_CHANNELS_OVERRIDE_DATA :: ID) , SET_HOME_POSITION_DATA :: NAME => Ok (SET_HOME_POSITION_DATA :: ID) , HIL_OPTICAL_FLOW_DATA :: NAME => Ok (HIL_OPTICAL_FLOW_DATA :: ID) , V2_EXTENSION_DATA :: NAME => Ok (V2_EXTENSION_DATA :: ID) , HIL_ACTUATOR_CONTROLS_DATA :: NAME => Ok (HIL_ACTUATOR_CONTROLS_DATA :: ID) , PARAM_MAP_RC_DATA :: NAME => Ok (PARAM_MAP_RC_DATA :: ID) , TIME_ESTIMATE_TO_TARGET_DATA :: NAME => Ok (TIME_ESTIMATE_TO_TARGET_DATA :: ID) , BUTTON_CHANGE_DATA :: NAME => Ok (BUTTON_CHANGE_DATA :: ID) , PARAM_REQUEST_LIST_DATA :: NAME => Ok (PARAM_REQUEST_LIST_DATA :: ID) , CHANGE_OPERATOR_CONTROL_DATA :: NAME => Ok (CHANGE_OPERATOR_CONTROL_DATA :: ID) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: NAME => Ok (CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID) , OPEN_DRONE_ID_LOCATION_DATA :: NAME => Ok (OPEN_DRONE_ID_LOCATION_DATA :: ID) , BATTERY_STATUS_DATA :: NAME => Ok (BATTERY_STATUS_DATA :: ID) , OPEN_DRONE_ID_SYSTEM_DATA :: NAME => Ok (OPEN_DRONE_ID_SYSTEM_DATA :: ID) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: NAME => Ok (GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID) , SAFETY_SET_ALLOWED_AREA_DATA :: NAME => Ok (SAFETY_SET_ALLOWED_AREA_DATA :: ID) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID) , ACTUATOR_OUTPUT_STATUS_DATA :: NAME => Ok (ACTUATOR_OUTPUT_STATUS_DATA :: ID) , HIGHRES_IMU_DATA :: NAME => Ok (HIGHRES_IMU_DATA :: ID) , PARAM_EXT_ACK_DATA :: NAME => Ok (PARAM_EXT_ACK_DATA :: ID) , TERRAIN_CHECK_DATA :: NAME => Ok (TERRAIN_CHECK_DATA :: ID) , HIL_RC_INPUTS_RAW_DATA :: NAME => Ok (HIL_RC_INPUTS_RAW_DATA :: ID) , MISSION_ITEM_INT_DATA :: NAME => Ok (MISSION_ITEM_INT_DATA :: ID) , ATT_POS_MOCAP_DATA :: NAME => Ok (ATT_POS_MOCAP_DATA :: ID) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: NAME => Ok (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID) , RESPONSE_EVENT_ERROR_DATA :: NAME => Ok (RESPONSE_EVENT_ERROR_DATA :: ID) , ATTITUDE_DATA :: NAME => Ok (ATTITUDE_DATA :: ID) , TERRAIN_REQUEST_DATA :: NAME => Ok (TERRAIN_REQUEST_DATA :: ID) , FILE_TRANSFER_PROTOCOL_DATA :: NAME => Ok (FILE_TRANSFER_PROTOCOL_DATA :: ID) , LOCAL_POSITION_NED_DATA :: NAME => Ok (LOCAL_POSITION_NED_DATA :: ID) , TERRAIN_REPORT_DATA :: NAME => Ok (TERRAIN_REPORT_DATA :: ID) , REQUEST_EVENT_DATA :: NAME => Ok (REQUEST_EVENT_DATA :: ID) , ALTITUDE_DATA :: NAME => Ok (ALTITUDE_DATA :: ID) , WIND_COV_DATA :: NAME => Ok (WIND_COV_DATA :: ID) , GPS2_RAW_DATA :: NAME => Ok (GPS2_RAW_DATA :: ID) , SYS_STATUS_DATA :: NAME => Ok (SYS_STATUS_DATA :: ID) , SCALED_PRESSURE_DATA :: NAME => Ok (SCALED_PRESSURE_DATA :: ID) , SET_ATTITUDE_TARGET_DATA :: NAME => Ok (SET_ATTITUDE_TARGET_DATA :: ID) , LOCAL_POSITION_NED_COV_DATA :: NAME => Ok (LOCAL_POSITION_NED_COV_DATA :: ID) , ORBIT_EXECUTION_STATUS_DATA :: NAME => Ok (ORBIT_EXECUTION_STATUS_DATA :: ID) , PARAM_REQUEST_READ_DATA :: NAME => Ok (PARAM_REQUEST_READ_DATA :: ID) , MEMORY_VECT_DATA :: NAME => Ok (MEMORY_VECT_DATA :: ID) , SCALED_IMU_DATA :: NAME => Ok (SCALED_IMU_DATA :: ID) , VIDEO_STREAM_STATUS_DATA :: NAME => Ok (VIDEO_STREAM_STATUS_DATA :: ID) , GPS_STATUS_DATA :: NAME => Ok (GPS_STATUS_DATA :: ID) , PING_DATA :: NAME => Ok (PING_DATA :: ID) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: NAME => Ok (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID) , SCALED_PRESSURE3_DATA :: NAME => Ok (SCALED_PRESSURE3_DATA :: ID) , WIFI_CONFIG_AP_DATA :: NAME => Ok (WIFI_CONFIG_AP_DATA :: ID) , RAW_RPM_DATA :: NAME => Ok (RAW_RPM_DATA :: ID) , MISSION_ITEM_REACHED_DATA :: NAME => Ok (MISSION_ITEM_REACHED_DATA :: ID) , TIMESYNC_DATA :: NAME => Ok (TIMESYNC_DATA :: ID) , MOUNT_ORIENTATION_DATA :: NAME => Ok (MOUNT_ORIENTATION_DATA :: ID) , DATA_STREAM_DATA :: NAME => Ok (DATA_STREAM_DATA :: ID) , ISBD_LINK_STATUS_DATA :: NAME => Ok (ISBD_LINK_STATUS_DATA :: ID) , GPS2_RTK_DATA :: NAME => Ok (GPS2_RTK_DATA :: ID) , SET_GPS_GLOBAL_ORIGIN_DATA :: NAME => Ok (SET_GPS_GLOBAL_ORIGIN_DATA :: ID) , HIL_GPS_DATA :: NAME => Ok (HIL_GPS_DATA :: ID) , MISSION_CURRENT_DATA :: NAME => Ok (MISSION_CURRENT_DATA :: ID) , PARAM_VALUE_DATA :: NAME => Ok (PARAM_VALUE_DATA :: ID) , FENCE_STATUS_DATA :: NAME => Ok (FENCE_STATUS_DATA :: ID) , HIL_STATE_QUATERNION_DATA :: NAME => Ok (HIL_STATE_QUATERNION_DATA :: ID) , OBSTACLE_DISTANCE_DATA :: NAME => Ok (OBSTACLE_DISTANCE_DATA :: ID) , CAMERA_CAPTURE_STATUS_DATA :: NAME => Ok (CAMERA_CAPTURE_STATUS_DATA :: ID) , DISTANCE_SENSOR_DATA :: NAME => Ok (DISTANCE_SENSOR_DATA :: ID) , NAMED_VALUE_INT_DATA :: NAME => Ok (NAMED_VALUE_INT_DATA :: ID) , ONBOARD_COMPUTER_STATUS_DATA :: NAME => Ok (ONBOARD_COMPUTER_STATUS_DATA :: ID) , GIMBAL_DEVICE_INFORMATION_DATA :: NAME => Ok (GIMBAL_DEVICE_INFORMATION_DATA :: ID) , MISSION_REQUEST_DATA :: NAME => Ok (MISSION_REQUEST_DATA :: ID) , MISSION_REQUEST_LIST_DATA :: NAME => Ok (MISSION_REQUEST_LIST_DATA :: ID) , LOG_DATA_DATA :: NAME => Ok (LOG_DATA_DATA :: ID) , UAVIONIX_ADSB_OUT_CFG_DATA :: NAME => Ok (UAVIONIX_ADSB_OUT_CFG_DATA :: ID) , PROTOCOL_VERSION_DATA :: NAME => Ok (PROTOCOL_VERSION_DATA :: ID) , OPEN_DRONE_ID_ARM_STATUS_DATA :: NAME => Ok (OPEN_DRONE_ID_ARM_STATUS_DATA :: ID) , LANDING_TARGET_DATA :: NAME => Ok (LANDING_TARGET_DATA :: ID) , ESC_STATUS_DATA :: NAME => Ok (ESC_STATUS_DATA :: ID) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: NAME => Ok (CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID) , GPS_GLOBAL_ORIGIN_DATA :: NAME => Ok (GPS_GLOBAL_ORIGIN_DATA :: ID) , PLAY_TUNE_V2_DATA :: NAME => Ok (PLAY_TUNE_V2_DATA :: ID) , DEBUG_VECT_DATA :: NAME => Ok (DEBUG_VECT_DATA :: ID) , LOG_REQUEST_END_DATA :: NAME => Ok (LOG_REQUEST_END_DATA :: ID) , RESOURCE_REQUEST_DATA :: NAME => Ok (RESOURCE_REQUEST_DATA :: ID) , ATTITUDE_QUATERNION_DATA :: NAME => Ok (ATTITUDE_QUATERNION_DATA :: ID) , HYGROMETER_SENSOR_DATA :: NAME => Ok (HYGROMETER_SENSOR_DATA :: ID) , ENCAPSULATED_DATA_DATA :: NAME => Ok (ENCAPSULATED_DATA_DATA :: ID) , CAMERA_INFORMATION_DATA :: NAME => Ok (CAMERA_INFORMATION_DATA :: ID) , ESC_INFO_DATA :: NAME => Ok (ESC_INFO_DATA :: ID) , FLIGHT_INFORMATION_DATA :: NAME => Ok (FLIGHT_INFORMATION_DATA :: ID) , HIGH_LATENCY2_DATA :: NAME => Ok (HIGH_LATENCY2_DATA :: ID) , GLOBAL_POSITION_INT_COV_DATA :: NAME => Ok (GLOBAL_POSITION_INT_COV_DATA :: ID) , SET_MODE_DATA :: NAME => Ok (SET_MODE_DATA :: ID) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: NAME => Ok (SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: NAME => Ok (GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID) , PARAM_SET_DATA :: NAME => Ok (PARAM_SET_DATA :: ID) , SUPPORTED_TUNES_DATA :: NAME => Ok (SUPPORTED_TUNES_DATA :: ID) , CAN_FILTER_MODIFY_DATA :: NAME => Ok (CAN_FILTER_MODIFY_DATA :: ID) , VISION_POSITION_ESTIMATE_DATA :: NAME => Ok (VISION_POSITION_ESTIMATE_DATA :: ID) , PLAY_TUNE_DATA :: NAME => Ok (PLAY_TUNE_DATA :: ID) , HEARTBEAT_DATA :: NAME => Ok (HEARTBEAT_DATA :: ID) , SIM_STATE_DATA :: NAME => Ok (SIM_STATE_DATA :: ID) , CAMERA_IMAGE_CAPTURED_DATA :: NAME => Ok (CAMERA_IMAGE_CAPTURED_DATA :: ID) , AIS_VESSEL_DATA :: NAME => Ok (AIS_VESSEL_DATA :: ID) , CAMERA_TRIGGER_DATA :: NAME => Ok (CAMERA_TRIGGER_DATA :: ID) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: NAME => Ok (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID) , LOG_ENTRY_DATA :: NAME => Ok (LOG_ENTRY_DATA :: ID) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: NAME => Ok (OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID) , GIMBAL_MANAGER_STATUS_DATA :: NAME => Ok (GIMBAL_MANAGER_STATUS_DATA :: ID) , MANUAL_SETPOINT_DATA :: NAME => Ok (MANUAL_SETPOINT_DATA :: ID) , GPS_RTCM_DATA_DATA :: NAME => Ok (GPS_RTCM_DATA_DATA :: ID) , RAW_IMU_DATA :: NAME => Ok (RAW_IMU_DATA :: ID) , COMMAND_INT_DATA :: NAME => Ok (COMMAND_INT_DATA :: ID) , DEBUG_DATA :: NAME => Ok (DEBUG_DATA :: ID) , MISSION_COUNT_DATA :: NAME => Ok (MISSION_COUNT_DATA :: ID) , VISION_SPEED_ESTIMATE_DATA :: NAME => Ok (VISION_SPEED_ESTIMATE_DATA :: ID) , SET_ACTUATOR_CONTROL_TARGET_DATA :: NAME => Ok (SET_ACTUATOR_CONTROL_TARGET_DATA :: ID) , GPS_INPUT_DATA :: NAME => Ok (GPS_INPUT_DATA :: ID) , POSITION_TARGET_GLOBAL_INT_DATA :: NAME => Ok (POSITION_TARGET_GLOBAL_INT_DATA :: ID) , UAVCAN_NODE_STATUS_DATA :: NAME => Ok (UAVCAN_NODE_STATUS_DATA :: ID) , OPEN_DRONE_ID_SELF_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_SELF_ID_DATA :: ID) , COMMAND_ACK_DATA :: NAME => Ok (COMMAND_ACK_DATA :: ID) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: NAME => Ok (OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID) , CELLULAR_STATUS_DATA :: NAME => Ok (CELLULAR_STATUS_DATA :: ID) , SYSTEM_TIME_DATA :: NAME => Ok (SYSTEM_TIME_DATA :: ID) , EFI_STATUS_DATA :: NAME => Ok (EFI_STATUS_DATA :: ID) , COMMAND_LONG_DATA :: NAME => Ok (COMMAND_LONG_DATA :: ID) , POSITION_TARGET_LOCAL_NED_DATA :: NAME => Ok (POSITION_TARGET_LOCAL_NED_DATA :: ID) , MAG_CAL_REPORT_DATA :: NAME => Ok (MAG_CAL_REPORT_DATA :: ID) , WHEEL_DISTANCE_DATA :: NAME => Ok (WHEEL_DISTANCE_DATA :: ID) , OPTICAL_FLOW_RAD_DATA :: NAME => Ok (OPTICAL_FLOW_RAD_DATA :: ID) , SCALED_IMU3_DATA :: NAME => Ok (SCALED_IMU3_DATA :: ID) , MISSION_REQUEST_PARTIAL_LIST_DATA :: NAME => Ok (MISSION_REQUEST_PARTIAL_LIST_DATA :: ID) , GENERATOR_STATUS_DATA :: NAME => Ok (GENERATOR_STATUS_DATA :: ID) , VICON_POSITION_ESTIMATE_DATA :: NAME => Ok (VICON_POSITION_ESTIMATE_DATA :: ID) , MISSION_ITEM_DATA :: NAME => Ok (MISSION_ITEM_DATA :: ID) , MANUAL_CONTROL_DATA :: NAME => Ok (MANUAL_CONTROL_DATA :: ID) , ESTIMATOR_STATUS_DATA :: NAME => Ok (ESTIMATOR_STATUS_DATA :: ID) , ADSB_VEHICLE_DATA :: NAME => Ok (ADSB_VEHICLE_DATA :: ID) , GLOBAL_POSITION_INT_DATA :: NAME => Ok (GLOBAL_POSITION_INT_DATA :: ID) , DATA_TRANSMISSION_HANDSHAKE_DATA :: NAME => Ok (DATA_TRANSMISSION_HANDSHAKE_DATA :: ID) , MISSION_CLEAR_ALL_DATA :: NAME => Ok (MISSION_CLEAR_ALL_DATA :: ID) , VIDEO_STREAM_INFORMATION_DATA :: NAME => Ok (VIDEO_STREAM_INFORMATION_DATA :: ID) , CAN_FRAME_DATA :: NAME => Ok (CAN_FRAME_DATA :: ID) , EVENT_DATA :: NAME => Ok (EVENT_DATA :: ID) , COMPONENT_METADATA_DATA :: NAME => Ok (COMPONENT_METADATA_DATA :: ID) , CURRENT_EVENT_SEQUENCE_DATA :: NAME => Ok (CURRENT_EVENT_SEQUENCE_DATA :: ID) , MISSION_ACK_DATA :: NAME => Ok (MISSION_ACK_DATA :: ID) , OPTICAL_FLOW_DATA :: NAME => Ok (OPTICAL_FLOW_DATA :: ID) , WINCH_STATUS_DATA :: NAME => Ok (WINCH_STATUS_DATA :: ID) , HIGH_LATENCY_DATA :: NAME => Ok (HIGH_LATENCY_DATA :: ID) , FOLLOW_TARGET_DATA :: NAME => Ok (FOLLOW_TARGET_DATA :: ID) , _ => { Err ("Invalid message name.") } } } fn default_message_from_id (id : u32) -> Result < Self , & 'static str > { match id { MISSION_SET_CURRENT_DATA :: ID => Ok (Self :: MISSION_SET_CURRENT (MISSION_SET_CURRENT_DATA :: default ())) , AUTH_KEY_DATA :: ID => Ok (Self :: AUTH_KEY (AUTH_KEY_DATA :: default ())) , ATTITUDE_TARGET_DATA :: ID => Ok (Self :: ATTITUDE_TARGET (ATTITUDE_TARGET_DATA :: default ())) , SETUP_SIGNING_DATA :: ID => Ok (Self :: SETUP_SIGNING (SETUP_SIGNING_DATA :: default ())) , CELLULAR_CONFIG_DATA :: ID => Ok (Self :: CELLULAR_CONFIG (CELLULAR_CONFIG_DATA :: default ())) , UTM_GLOBAL_POSITION_DATA :: ID => Ok (Self :: UTM_GLOBAL_POSITION (UTM_GLOBAL_POSITION_DATA :: default ())) , VFR_HUD_DATA :: ID => Ok (Self :: VFR_HUD (VFR_HUD_DATA :: default ())) , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID => Ok (Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: default ())) , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => Ok (Self :: MISSION_WRITE_PARTIAL_LIST (MISSION_WRITE_PARTIAL_LIST_DATA :: default ())) , ODOMETRY_DATA :: ID => Ok (Self :: ODOMETRY (ODOMETRY_DATA :: default ())) , SERIAL_CONTROL_DATA :: ID => Ok (Self :: SERIAL_CONTROL (SERIAL_CONTROL_DATA :: default ())) , RC_CHANNELS_SCALED_DATA :: ID => Ok (Self :: RC_CHANNELS_SCALED (RC_CHANNELS_SCALED_DATA :: default ())) , COMPONENT_INFORMATION_DATA :: ID => Ok (Self :: COMPONENT_INFORMATION (COMPONENT_INFORMATION_DATA :: default ())) , PARAM_EXT_VALUE_DATA :: ID => Ok (Self :: PARAM_EXT_VALUE (PARAM_EXT_VALUE_DATA :: default ())) , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_AUTHENTICATION (OPEN_DRONE_ID_AUTHENTICATION_DATA :: default ())) , UAVCAN_NODE_INFO_DATA :: ID => Ok (Self :: UAVCAN_NODE_INFO (UAVCAN_NODE_INFO_DATA :: default ())) , CAMERA_SETTINGS_DATA :: ID => Ok (Self :: CAMERA_SETTINGS (CAMERA_SETTINGS_DATA :: default ())) , RADIO_STATUS_DATA :: ID => Ok (Self :: RADIO_STATUS (RADIO_STATUS_DATA :: default ())) , GPS_RAW_INT_DATA :: ID => Ok (Self :: GPS_RAW_INT (GPS_RAW_INT_DATA :: default ())) , CONTROL_SYSTEM_STATE_DATA :: ID => Ok (Self :: CONTROL_SYSTEM_STATE (CONTROL_SYSTEM_STATE_DATA :: default ())) , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => Ok (Self :: CAMERA_TRACKING_GEO_STATUS (CAMERA_TRACKING_GEO_STATUS_DATA :: default ())) , TUNNEL_DATA :: ID => Ok (Self :: TUNNEL (TUNNEL_DATA :: default ())) , LOG_REQUEST_LIST_DATA :: ID => Ok (Self :: LOG_REQUEST_LIST (LOG_REQUEST_LIST_DATA :: default ())) , REQUEST_DATA_STREAM_DATA :: ID => Ok (Self :: REQUEST_DATA_STREAM (REQUEST_DATA_STREAM_DATA :: default ())) , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_SET_ATTITUDE (GIMBAL_DEVICE_SET_ATTITUDE_DATA :: default ())) , CANFD_FRAME_DATA :: ID => Ok (Self :: CANFD_FRAME (CANFD_FRAME_DATA :: default ())) , HIL_CONTROLS_DATA :: ID => Ok (Self :: HIL_CONTROLS (HIL_CONTROLS_DATA :: default ())) , POWER_STATUS_DATA :: ID => Ok (Self :: POWER_STATUS (POWER_STATUS_DATA :: default ())) , HIL_STATE_DATA :: ID => Ok (Self :: HIL_STATE (HIL_STATE_DATA :: default ())) , LOGGING_DATA_DATA :: ID => Ok (Self :: LOGGING_DATA (LOGGING_DATA_DATA :: default ())) , SMART_BATTERY_INFO_DATA :: ID => Ok (Self :: SMART_BATTERY_INFO (SMART_BATTERY_INFO_DATA :: default ())) , RAW_PRESSURE_DATA :: ID => Ok (Self :: RAW_PRESSURE (RAW_PRESSURE_DATA :: default ())) , PARAM_EXT_SET_DATA :: ID => Ok (Self :: PARAM_EXT_SET (PARAM_EXT_SET_DATA :: default ())) , VIBRATION_DATA :: ID => Ok (Self :: VIBRATION (VIBRATION_DATA :: default ())) , LOGGING_ACK_DATA :: ID => Ok (Self :: LOGGING_ACK (LOGGING_ACK_DATA :: default ())) , SCALED_PRESSURE2_DATA :: ID => Ok (Self :: SCALED_PRESSURE2 (SCALED_PRESSURE2_DATA :: default ())) , AUTOPILOT_VERSION_DATA :: ID => Ok (Self :: AUTOPILOT_VERSION (AUTOPILOT_VERSION_DATA :: default ())) , NAMED_VALUE_FLOAT_DATA :: ID => Ok (Self :: NAMED_VALUE_FLOAT (NAMED_VALUE_FLOAT_DATA :: default ())) , GPS_RTK_DATA :: ID => Ok (Self :: GPS_RTK (GPS_RTK_DATA :: default ())) , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID => Ok (Self :: UAVIONIX_ADSB_OUT_DYNAMIC (UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: default ())) , COMMAND_CANCEL_DATA :: ID => Ok (Self :: COMMAND_CANCEL (COMMAND_CANCEL_DATA :: default ())) , CAMERA_FOV_STATUS_DATA :: ID => Ok (Self :: CAMERA_FOV_STATUS (CAMERA_FOV_STATUS_DATA :: default ())) , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: default ())) , LOG_ERASE_DATA :: ID => Ok (Self :: LOG_ERASE (LOG_ERASE_DATA :: default ())) , LOG_REQUEST_DATA_DATA :: ID => Ok (Self :: LOG_REQUEST_DATA (LOG_REQUEST_DATA_DATA :: default ())) , LINK_NODE_STATUS_DATA :: ID => Ok (Self :: LINK_NODE_STATUS (LINK_NODE_STATUS_DATA :: default ())) , GIMBAL_MANAGER_INFORMATION_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_INFORMATION (GIMBAL_MANAGER_INFORMATION_DATA :: default ())) , STORAGE_INFORMATION_DATA :: ID => Ok (Self :: STORAGE_INFORMATION (STORAGE_INFORMATION_DATA :: default ())) , LOGGING_DATA_ACKED_DATA :: ID => Ok (Self :: LOGGING_DATA_ACKED (LOGGING_DATA_ACKED_DATA :: default ())) , DEBUG_FLOAT_ARRAY_DATA :: ID => Ok (Self :: DEBUG_FLOAT_ARRAY (DEBUG_FLOAT_ARRAY_DATA :: default ())) , SCALED_IMU2_DATA :: ID => Ok (Self :: SCALED_IMU2 (SCALED_IMU2_DATA :: default ())) , COLLISION_DATA :: ID => Ok (Self :: COLLISION (COLLISION_DATA :: default ())) , MISSION_REQUEST_INT_DATA :: ID => Ok (Self :: MISSION_REQUEST_INT (MISSION_REQUEST_INT_DATA :: default ())) , SERVO_OUTPUT_RAW_DATA :: ID => Ok (Self :: SERVO_OUTPUT_RAW (SERVO_OUTPUT_RAW_DATA :: default ())) , PARAM_EXT_REQUEST_LIST_DATA :: ID => Ok (Self :: PARAM_EXT_REQUEST_LIST (PARAM_EXT_REQUEST_LIST_DATA :: default ())) , TERRAIN_DATA_DATA :: ID => Ok (Self :: TERRAIN_DATA (TERRAIN_DATA_DATA :: default ())) , RC_CHANNELS_DATA :: ID => Ok (Self :: RC_CHANNELS (RC_CHANNELS_DATA :: default ())) , HIL_SENSOR_DATA :: ID => Ok (Self :: HIL_SENSOR (HIL_SENSOR_DATA :: default ())) , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => Ok (Self :: SET_POSITION_TARGET_LOCAL_NED (SET_POSITION_TARGET_LOCAL_NED_DATA :: default ())) , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: default ())) , STATUSTEXT_DATA :: ID => Ok (Self :: STATUSTEXT (STATUSTEXT_DATA :: default ())) , RC_CHANNELS_RAW_DATA :: ID => Ok (Self :: RC_CHANNELS_RAW (RC_CHANNELS_RAW_DATA :: default ())) , ATTITUDE_QUATERNION_COV_DATA :: ID => Ok (Self :: ATTITUDE_QUATERNION_COV (ATTITUDE_QUATERNION_COV_DATA :: default ())) , MESSAGE_INTERVAL_DATA :: ID => Ok (Self :: MESSAGE_INTERVAL (MESSAGE_INTERVAL_DATA :: default ())) , SAFETY_ALLOWED_AREA_DATA :: ID => Ok (Self :: SAFETY_ALLOWED_AREA (SAFETY_ALLOWED_AREA_DATA :: default ())) , EXTENDED_SYS_STATE_DATA :: ID => Ok (Self :: EXTENDED_SYS_STATE (EXTENDED_SYS_STATE_DATA :: default ())) , GPS_INJECT_DATA_DATA :: ID => Ok (Self :: GPS_INJECT_DATA (GPS_INJECT_DATA_DATA :: default ())) , HOME_POSITION_DATA :: ID => Ok (Self :: HOME_POSITION (HOME_POSITION_DATA :: default ())) , PARAM_EXT_REQUEST_READ_DATA :: ID => Ok (Self :: PARAM_EXT_REQUEST_READ (PARAM_EXT_REQUEST_READ_DATA :: default ())) , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: default ())) , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => Ok (Self :: TRAJECTORY_REPRESENTATION_BEZIER (TRAJECTORY_REPRESENTATION_BEZIER_DATA :: default ())) , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_BASIC_ID (OPEN_DRONE_ID_BASIC_ID_DATA :: default ())) , ACTUATOR_CONTROL_TARGET_DATA :: ID => Ok (Self :: ACTUATOR_CONTROL_TARGET (ACTUATOR_CONTROL_TARGET_DATA :: default ())) , NAV_CONTROLLER_OUTPUT_DATA :: ID => Ok (Self :: NAV_CONTROLLER_OUTPUT (NAV_CONTROLLER_OUTPUT_DATA :: default ())) , RC_CHANNELS_OVERRIDE_DATA :: ID => Ok (Self :: RC_CHANNELS_OVERRIDE (RC_CHANNELS_OVERRIDE_DATA :: default ())) , SET_HOME_POSITION_DATA :: ID => Ok (Self :: SET_HOME_POSITION (SET_HOME_POSITION_DATA :: default ())) , HIL_OPTICAL_FLOW_DATA :: ID => Ok (Self :: HIL_OPTICAL_FLOW (HIL_OPTICAL_FLOW_DATA :: default ())) , V2_EXTENSION_DATA :: ID => Ok (Self :: V2_EXTENSION (V2_EXTENSION_DATA :: default ())) , HIL_ACTUATOR_CONTROLS_DATA :: ID => Ok (Self :: HIL_ACTUATOR_CONTROLS (HIL_ACTUATOR_CONTROLS_DATA :: default ())) , PARAM_MAP_RC_DATA :: ID => Ok (Self :: PARAM_MAP_RC (PARAM_MAP_RC_DATA :: default ())) , TIME_ESTIMATE_TO_TARGET_DATA :: ID => Ok (Self :: TIME_ESTIMATE_TO_TARGET (TIME_ESTIMATE_TO_TARGET_DATA :: default ())) , BUTTON_CHANGE_DATA :: ID => Ok (Self :: BUTTON_CHANGE (BUTTON_CHANGE_DATA :: default ())) , PARAM_REQUEST_LIST_DATA :: ID => Ok (Self :: PARAM_REQUEST_LIST (PARAM_REQUEST_LIST_DATA :: default ())) , CHANGE_OPERATOR_CONTROL_DATA :: ID => Ok (Self :: CHANGE_OPERATOR_CONTROL (CHANGE_OPERATOR_CONTROL_DATA :: default ())) , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => Ok (Self :: CHANGE_OPERATOR_CONTROL_ACK (CHANGE_OPERATOR_CONTROL_ACK_DATA :: default ())) , OPEN_DRONE_ID_LOCATION_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_LOCATION (OPEN_DRONE_ID_LOCATION_DATA :: default ())) , BATTERY_STATUS_DATA :: ID => Ok (Self :: BATTERY_STATUS (BATTERY_STATUS_DATA :: default ())) , OPEN_DRONE_ID_SYSTEM_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SYSTEM (OPEN_DRONE_ID_SYSTEM_DATA :: default ())) , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: GLOBAL_VISION_POSITION_ESTIMATE (GLOBAL_VISION_POSITION_ESTIMATE_DATA :: default ())) , SAFETY_SET_ALLOWED_AREA_DATA :: ID => Ok (Self :: SAFETY_SET_ALLOWED_AREA (SAFETY_SET_ALLOWED_AREA_DATA :: default ())) , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_PITCHYAW (GIMBAL_MANAGER_SET_PITCHYAW_DATA :: default ())) , ACTUATOR_OUTPUT_STATUS_DATA :: ID => Ok (Self :: ACTUATOR_OUTPUT_STATUS (ACTUATOR_OUTPUT_STATUS_DATA :: default ())) , HIGHRES_IMU_DATA :: ID => Ok (Self :: HIGHRES_IMU (HIGHRES_IMU_DATA :: default ())) , PARAM_EXT_ACK_DATA :: ID => Ok (Self :: PARAM_EXT_ACK (PARAM_EXT_ACK_DATA :: default ())) , TERRAIN_CHECK_DATA :: ID => Ok (Self :: TERRAIN_CHECK (TERRAIN_CHECK_DATA :: default ())) , HIL_RC_INPUTS_RAW_DATA :: ID => Ok (Self :: HIL_RC_INPUTS_RAW (HIL_RC_INPUTS_RAW_DATA :: default ())) , MISSION_ITEM_INT_DATA :: ID => Ok (Self :: MISSION_ITEM_INT (MISSION_ITEM_INT_DATA :: default ())) , ATT_POS_MOCAP_DATA :: ID => Ok (Self :: ATT_POS_MOCAP (ATT_POS_MOCAP_DATA :: default ())) , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => Ok (Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: default ())) , RESPONSE_EVENT_ERROR_DATA :: ID => Ok (Self :: RESPONSE_EVENT_ERROR (RESPONSE_EVENT_ERROR_DATA :: default ())) , ATTITUDE_DATA :: ID => Ok (Self :: ATTITUDE (ATTITUDE_DATA :: default ())) , TERRAIN_REQUEST_DATA :: ID => Ok (Self :: TERRAIN_REQUEST (TERRAIN_REQUEST_DATA :: default ())) , FILE_TRANSFER_PROTOCOL_DATA :: ID => Ok (Self :: FILE_TRANSFER_PROTOCOL (FILE_TRANSFER_PROTOCOL_DATA :: default ())) , LOCAL_POSITION_NED_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED (LOCAL_POSITION_NED_DATA :: default ())) , TERRAIN_REPORT_DATA :: ID => Ok (Self :: TERRAIN_REPORT (TERRAIN_REPORT_DATA :: default ())) , REQUEST_EVENT_DATA :: ID => Ok (Self :: REQUEST_EVENT (REQUEST_EVENT_DATA :: default ())) , ALTITUDE_DATA :: ID => Ok (Self :: ALTITUDE (ALTITUDE_DATA :: default ())) , WIND_COV_DATA :: ID => Ok (Self :: WIND_COV (WIND_COV_DATA :: default ())) , GPS2_RAW_DATA :: ID => Ok (Self :: GPS2_RAW (GPS2_RAW_DATA :: default ())) , SYS_STATUS_DATA :: ID => Ok (Self :: SYS_STATUS (SYS_STATUS_DATA :: default ())) , SCALED_PRESSURE_DATA :: ID => Ok (Self :: SCALED_PRESSURE (SCALED_PRESSURE_DATA :: default ())) , SET_ATTITUDE_TARGET_DATA :: ID => Ok (Self :: SET_ATTITUDE_TARGET (SET_ATTITUDE_TARGET_DATA :: default ())) , LOCAL_POSITION_NED_COV_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED_COV (LOCAL_POSITION_NED_COV_DATA :: default ())) , ORBIT_EXECUTION_STATUS_DATA :: ID => Ok (Self :: ORBIT_EXECUTION_STATUS (ORBIT_EXECUTION_STATUS_DATA :: default ())) , PARAM_REQUEST_READ_DATA :: ID => Ok (Self :: PARAM_REQUEST_READ (PARAM_REQUEST_READ_DATA :: default ())) , MEMORY_VECT_DATA :: ID => Ok (Self :: MEMORY_VECT (MEMORY_VECT_DATA :: default ())) , SCALED_IMU_DATA :: ID => Ok (Self :: SCALED_IMU (SCALED_IMU_DATA :: default ())) , VIDEO_STREAM_STATUS_DATA :: ID => Ok (Self :: VIDEO_STREAM_STATUS (VIDEO_STREAM_STATUS_DATA :: default ())) , GPS_STATUS_DATA :: ID => Ok (Self :: GPS_STATUS (GPS_STATUS_DATA :: default ())) , PING_DATA :: ID => Ok (Self :: PING (PING_DATA :: default ())) , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => Ok (Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: default ())) , SCALED_PRESSURE3_DATA :: ID => Ok (Self :: SCALED_PRESSURE3 (SCALED_PRESSURE3_DATA :: default ())) , WIFI_CONFIG_AP_DATA :: ID => Ok (Self :: WIFI_CONFIG_AP (WIFI_CONFIG_AP_DATA :: default ())) , RAW_RPM_DATA :: ID => Ok (Self :: RAW_RPM (RAW_RPM_DATA :: default ())) , MISSION_ITEM_REACHED_DATA :: ID => Ok (Self :: MISSION_ITEM_REACHED (MISSION_ITEM_REACHED_DATA :: default ())) , TIMESYNC_DATA :: ID => Ok (Self :: TIMESYNC (TIMESYNC_DATA :: default ())) , MOUNT_ORIENTATION_DATA :: ID => Ok (Self :: MOUNT_ORIENTATION (MOUNT_ORIENTATION_DATA :: default ())) , DATA_STREAM_DATA :: ID => Ok (Self :: DATA_STREAM (DATA_STREAM_DATA :: default ())) , ISBD_LINK_STATUS_DATA :: ID => Ok (Self :: ISBD_LINK_STATUS (ISBD_LINK_STATUS_DATA :: default ())) , GPS2_RTK_DATA :: ID => Ok (Self :: GPS2_RTK (GPS2_RTK_DATA :: default ())) , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => Ok (Self :: SET_GPS_GLOBAL_ORIGIN (SET_GPS_GLOBAL_ORIGIN_DATA :: default ())) , HIL_GPS_DATA :: ID => Ok (Self :: HIL_GPS (HIL_GPS_DATA :: default ())) , MISSION_CURRENT_DATA :: ID => Ok (Self :: MISSION_CURRENT (MISSION_CURRENT_DATA :: default ())) , PARAM_VALUE_DATA :: ID => Ok (Self :: PARAM_VALUE (PARAM_VALUE_DATA :: default ())) , FENCE_STATUS_DATA :: ID => Ok (Self :: FENCE_STATUS (FENCE_STATUS_DATA :: default ())) , HIL_STATE_QUATERNION_DATA :: ID => Ok (Self :: HIL_STATE_QUATERNION (HIL_STATE_QUATERNION_DATA :: default ())) , OBSTACLE_DISTANCE_DATA :: ID => Ok (Self :: OBSTACLE_DISTANCE (OBSTACLE_DISTANCE_DATA :: default ())) , CAMERA_CAPTURE_STATUS_DATA :: ID => Ok (Self :: CAMERA_CAPTURE_STATUS (CAMERA_CAPTURE_STATUS_DATA :: default ())) , DISTANCE_SENSOR_DATA :: ID => Ok (Self :: DISTANCE_SENSOR (DISTANCE_SENSOR_DATA :: default ())) , NAMED_VALUE_INT_DATA :: ID => Ok (Self :: NAMED_VALUE_INT (NAMED_VALUE_INT_DATA :: default ())) , ONBOARD_COMPUTER_STATUS_DATA :: ID => Ok (Self :: ONBOARD_COMPUTER_STATUS (ONBOARD_COMPUTER_STATUS_DATA :: default ())) , GIMBAL_DEVICE_INFORMATION_DATA :: ID => Ok (Self :: GIMBAL_DEVICE_INFORMATION (GIMBAL_DEVICE_INFORMATION_DATA :: default ())) , MISSION_REQUEST_DATA :: ID => Ok (Self :: MISSION_REQUEST (MISSION_REQUEST_DATA :: default ())) , MISSION_REQUEST_LIST_DATA :: ID => Ok (Self :: MISSION_REQUEST_LIST (MISSION_REQUEST_LIST_DATA :: default ())) , LOG_DATA_DATA :: ID => Ok (Self :: LOG_DATA (LOG_DATA_DATA :: default ())) , UAVIONIX_ADSB_OUT_CFG_DATA :: ID => Ok (Self :: UAVIONIX_ADSB_OUT_CFG (UAVIONIX_ADSB_OUT_CFG_DATA :: default ())) , PROTOCOL_VERSION_DATA :: ID => Ok (Self :: PROTOCOL_VERSION (PROTOCOL_VERSION_DATA :: default ())) , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_ARM_STATUS (OPEN_DRONE_ID_ARM_STATUS_DATA :: default ())) , LANDING_TARGET_DATA :: ID => Ok (Self :: LANDING_TARGET (LANDING_TARGET_DATA :: default ())) , ESC_STATUS_DATA :: ID => Ok (Self :: ESC_STATUS (ESC_STATUS_DATA :: default ())) , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => Ok (Self :: CAMERA_TRACKING_IMAGE_STATUS (CAMERA_TRACKING_IMAGE_STATUS_DATA :: default ())) , GPS_GLOBAL_ORIGIN_DATA :: ID => Ok (Self :: GPS_GLOBAL_ORIGIN (GPS_GLOBAL_ORIGIN_DATA :: default ())) , PLAY_TUNE_V2_DATA :: ID => Ok (Self :: PLAY_TUNE_V2 (PLAY_TUNE_V2_DATA :: default ())) , DEBUG_VECT_DATA :: ID => Ok (Self :: DEBUG_VECT (DEBUG_VECT_DATA :: default ())) , LOG_REQUEST_END_DATA :: ID => Ok (Self :: LOG_REQUEST_END (LOG_REQUEST_END_DATA :: default ())) , RESOURCE_REQUEST_DATA :: ID => Ok (Self :: RESOURCE_REQUEST (RESOURCE_REQUEST_DATA :: default ())) , ATTITUDE_QUATERNION_DATA :: ID => Ok (Self :: ATTITUDE_QUATERNION (ATTITUDE_QUATERNION_DATA :: default ())) , HYGROMETER_SENSOR_DATA :: ID => Ok (Self :: HYGROMETER_SENSOR (HYGROMETER_SENSOR_DATA :: default ())) , ENCAPSULATED_DATA_DATA :: ID => Ok (Self :: ENCAPSULATED_DATA (ENCAPSULATED_DATA_DATA :: default ())) , CAMERA_INFORMATION_DATA :: ID => Ok (Self :: CAMERA_INFORMATION (CAMERA_INFORMATION_DATA :: default ())) , ESC_INFO_DATA :: ID => Ok (Self :: ESC_INFO (ESC_INFO_DATA :: default ())) , FLIGHT_INFORMATION_DATA :: ID => Ok (Self :: FLIGHT_INFORMATION (FLIGHT_INFORMATION_DATA :: default ())) , HIGH_LATENCY2_DATA :: ID => Ok (Self :: HIGH_LATENCY2 (HIGH_LATENCY2_DATA :: default ())) , GLOBAL_POSITION_INT_COV_DATA :: ID => Ok (Self :: GLOBAL_POSITION_INT_COV (GLOBAL_POSITION_INT_COV_DATA :: default ())) , SET_MODE_DATA :: ID => Ok (Self :: SET_MODE (SET_MODE_DATA :: default ())) , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => Ok (Self :: SET_POSITION_TARGET_GLOBAL_INT (SET_POSITION_TARGET_GLOBAL_INT_DATA :: default ())) , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_SET_ATTITUDE (GIMBAL_MANAGER_SET_ATTITUDE_DATA :: default ())) , PARAM_SET_DATA :: ID => Ok (Self :: PARAM_SET (PARAM_SET_DATA :: default ())) , SUPPORTED_TUNES_DATA :: ID => Ok (Self :: SUPPORTED_TUNES (SUPPORTED_TUNES_DATA :: default ())) , CAN_FILTER_MODIFY_DATA :: ID => Ok (Self :: CAN_FILTER_MODIFY (CAN_FILTER_MODIFY_DATA :: default ())) , VISION_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: VISION_POSITION_ESTIMATE (VISION_POSITION_ESTIMATE_DATA :: default ())) , PLAY_TUNE_DATA :: ID => Ok (Self :: PLAY_TUNE (PLAY_TUNE_DATA :: default ())) , HEARTBEAT_DATA :: ID => Ok (Self :: HEARTBEAT (HEARTBEAT_DATA :: default ())) , SIM_STATE_DATA :: ID => Ok (Self :: SIM_STATE (SIM_STATE_DATA :: default ())) , CAMERA_IMAGE_CAPTURED_DATA :: ID => Ok (Self :: CAMERA_IMAGE_CAPTURED (CAMERA_IMAGE_CAPTURED_DATA :: default ())) , AIS_VESSEL_DATA :: ID => Ok (Self :: AIS_VESSEL (AIS_VESSEL_DATA :: default ())) , CAMERA_TRIGGER_DATA :: ID => Ok (Self :: CAMERA_TRIGGER (CAMERA_TRIGGER_DATA :: default ())) , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => Ok (Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: default ())) , LOG_ENTRY_DATA :: ID => Ok (Self :: LOG_ENTRY (LOG_ENTRY_DATA :: default ())) , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_MESSAGE_PACK (OPEN_DRONE_ID_MESSAGE_PACK_DATA :: default ())) , GIMBAL_MANAGER_STATUS_DATA :: ID => Ok (Self :: GIMBAL_MANAGER_STATUS (GIMBAL_MANAGER_STATUS_DATA :: default ())) , MANUAL_SETPOINT_DATA :: ID => Ok (Self :: MANUAL_SETPOINT (MANUAL_SETPOINT_DATA :: default ())) , GPS_RTCM_DATA_DATA :: ID => Ok (Self :: GPS_RTCM_DATA (GPS_RTCM_DATA_DATA :: default ())) , RAW_IMU_DATA :: ID => Ok (Self :: RAW_IMU (RAW_IMU_DATA :: default ())) , COMMAND_INT_DATA :: ID => Ok (Self :: COMMAND_INT (COMMAND_INT_DATA :: default ())) , DEBUG_DATA :: ID => Ok (Self :: DEBUG (DEBUG_DATA :: default ())) , MISSION_COUNT_DATA :: ID => Ok (Self :: MISSION_COUNT (MISSION_COUNT_DATA :: default ())) , VISION_SPEED_ESTIMATE_DATA :: ID => Ok (Self :: VISION_SPEED_ESTIMATE (VISION_SPEED_ESTIMATE_DATA :: default ())) , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => Ok (Self :: SET_ACTUATOR_CONTROL_TARGET (SET_ACTUATOR_CONTROL_TARGET_DATA :: default ())) , GPS_INPUT_DATA :: ID => Ok (Self :: GPS_INPUT (GPS_INPUT_DATA :: default ())) , POSITION_TARGET_GLOBAL_INT_DATA :: ID => Ok (Self :: POSITION_TARGET_GLOBAL_INT (POSITION_TARGET_GLOBAL_INT_DATA :: default ())) , UAVCAN_NODE_STATUS_DATA :: ID => Ok (Self :: UAVCAN_NODE_STATUS (UAVCAN_NODE_STATUS_DATA :: default ())) , OPEN_DRONE_ID_SELF_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_SELF_ID (OPEN_DRONE_ID_SELF_ID_DATA :: default ())) , COMMAND_ACK_DATA :: ID => Ok (Self :: COMMAND_ACK (COMMAND_ACK_DATA :: default ())) , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => Ok (Self :: OPEN_DRONE_ID_OPERATOR_ID (OPEN_DRONE_ID_OPERATOR_ID_DATA :: default ())) , CELLULAR_STATUS_DATA :: ID => Ok (Self :: CELLULAR_STATUS (CELLULAR_STATUS_DATA :: default ())) , SYSTEM_TIME_DATA :: ID => Ok (Self :: SYSTEM_TIME (SYSTEM_TIME_DATA :: default ())) , EFI_STATUS_DATA :: ID => Ok (Self :: EFI_STATUS (EFI_STATUS_DATA :: default ())) , COMMAND_LONG_DATA :: ID => Ok (Self :: COMMAND_LONG (COMMAND_LONG_DATA :: default ())) , POSITION_TARGET_LOCAL_NED_DATA :: ID => Ok (Self :: POSITION_TARGET_LOCAL_NED (POSITION_TARGET_LOCAL_NED_DATA :: default ())) , MAG_CAL_REPORT_DATA :: ID => Ok (Self :: MAG_CAL_REPORT (MAG_CAL_REPORT_DATA :: default ())) , WHEEL_DISTANCE_DATA :: ID => Ok (Self :: WHEEL_DISTANCE (WHEEL_DISTANCE_DATA :: default ())) , OPTICAL_FLOW_RAD_DATA :: ID => Ok (Self :: OPTICAL_FLOW_RAD (OPTICAL_FLOW_RAD_DATA :: default ())) , SCALED_IMU3_DATA :: ID => Ok (Self :: SCALED_IMU3 (SCALED_IMU3_DATA :: default ())) , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => Ok (Self :: MISSION_REQUEST_PARTIAL_LIST (MISSION_REQUEST_PARTIAL_LIST_DATA :: default ())) , GENERATOR_STATUS_DATA :: ID => Ok (Self :: GENERATOR_STATUS (GENERATOR_STATUS_DATA :: default ())) , VICON_POSITION_ESTIMATE_DATA :: ID => Ok (Self :: VICON_POSITION_ESTIMATE (VICON_POSITION_ESTIMATE_DATA :: default ())) , MISSION_ITEM_DATA :: ID => Ok (Self :: MISSION_ITEM (MISSION_ITEM_DATA :: default ())) , MANUAL_CONTROL_DATA :: ID => Ok (Self :: MANUAL_CONTROL (MANUAL_CONTROL_DATA :: default ())) , ESTIMATOR_STATUS_DATA :: ID => Ok (Self :: ESTIMATOR_STATUS (ESTIMATOR_STATUS_DATA :: default ())) , ADSB_VEHICLE_DATA :: ID => Ok (Self :: ADSB_VEHICLE (ADSB_VEHICLE_DATA :: default ())) , GLOBAL_POSITION_INT_DATA :: ID => Ok (Self :: GLOBAL_POSITION_INT (GLOBAL_POSITION_INT_DATA :: default ())) , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => Ok (Self :: DATA_TRANSMISSION_HANDSHAKE (DATA_TRANSMISSION_HANDSHAKE_DATA :: default ())) , MISSION_CLEAR_ALL_DATA :: ID => Ok (Self :: MISSION_CLEAR_ALL (MISSION_CLEAR_ALL_DATA :: default ())) , VIDEO_STREAM_INFORMATION_DATA :: ID => Ok (Self :: VIDEO_STREAM_INFORMATION (VIDEO_STREAM_INFORMATION_DATA :: default ())) , CAN_FRAME_DATA :: ID => Ok (Self :: CAN_FRAME (CAN_FRAME_DATA :: default ())) , EVENT_DATA :: ID => Ok (Self :: EVENT (EVENT_DATA :: default ())) , COMPONENT_METADATA_DATA :: ID => Ok (Self :: COMPONENT_METADATA (COMPONENT_METADATA_DATA :: default ())) , CURRENT_EVENT_SEQUENCE_DATA :: ID => Ok (Self :: CURRENT_EVENT_SEQUENCE (CURRENT_EVENT_SEQUENCE_DATA :: default ())) , MISSION_ACK_DATA :: ID => Ok (Self :: MISSION_ACK (MISSION_ACK_DATA :: default ())) , OPTICAL_FLOW_DATA :: ID => Ok (Self :: OPTICAL_FLOW (OPTICAL_FLOW_DATA :: default ())) , WINCH_STATUS_DATA :: ID => Ok (Self :: WINCH_STATUS (WINCH_STATUS_DATA :: default ())) , HIGH_LATENCY_DATA :: ID => Ok (Self :: HIGH_LATENCY (HIGH_LATENCY_DATA :: default ())) , FOLLOW_TARGET_DATA :: ID => Ok (Self :: FOLLOW_TARGET (FOLLOW_TARGET_DATA :: default ())) , _ => { Err ("Invalid message id.") } } } fn ser (& self , version : MavlinkVersion , bytes : & mut [u8]) -> usize { match self { Self :: MISSION_SET_CURRENT (body) => body . ser (version , bytes) , Self :: AUTH_KEY (body) => body . ser (version , bytes) , Self :: ATTITUDE_TARGET (body) => body . ser (version , bytes) , Self :: SETUP_SIGNING (body) => body . ser (version , bytes) , Self :: CELLULAR_CONFIG (body) => body . ser (version , bytes) , Self :: UTM_GLOBAL_POSITION (body) => body . ser (version , bytes) , Self :: VFR_HUD (body) => body . ser (version , bytes) , Self :: UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT (body) => body . ser (version , bytes) , Self :: MISSION_WRITE_PARTIAL_LIST (body) => body . ser (version , bytes) , Self :: ODOMETRY (body) => body . ser (version , bytes) , Self :: SERIAL_CONTROL (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_SCALED (body) => body . ser (version , bytes) , Self :: COMPONENT_INFORMATION (body) => body . ser (version , bytes) , Self :: PARAM_EXT_VALUE (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_AUTHENTICATION (body) => body . ser (version , bytes) , Self :: UAVCAN_NODE_INFO (body) => body . ser (version , bytes) , Self :: CAMERA_SETTINGS (body) => body . ser (version , bytes) , Self :: RADIO_STATUS (body) => body . ser (version , bytes) , Self :: GPS_RAW_INT (body) => body . ser (version , bytes) , Self :: CONTROL_SYSTEM_STATE (body) => body . ser (version , bytes) , Self :: CAMERA_TRACKING_GEO_STATUS (body) => body . ser (version , bytes) , Self :: TUNNEL (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: REQUEST_DATA_STREAM (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_SET_ATTITUDE (body) => body . ser (version , bytes) , Self :: CANFD_FRAME (body) => body . ser (version , bytes) , Self :: HIL_CONTROLS (body) => body . ser (version , bytes) , Self :: POWER_STATUS (body) => body . ser (version , bytes) , Self :: HIL_STATE (body) => body . ser (version , bytes) , Self :: LOGGING_DATA (body) => body . ser (version , bytes) , Self :: SMART_BATTERY_INFO (body) => body . ser (version , bytes) , Self :: RAW_PRESSURE (body) => body . ser (version , bytes) , Self :: PARAM_EXT_SET (body) => body . ser (version , bytes) , Self :: VIBRATION (body) => body . ser (version , bytes) , Self :: LOGGING_ACK (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE2 (body) => body . ser (version , bytes) , Self :: AUTOPILOT_VERSION (body) => body . ser (version , bytes) , Self :: NAMED_VALUE_FLOAT (body) => body . ser (version , bytes) , Self :: GPS_RTK (body) => body . ser (version , bytes) , Self :: UAVIONIX_ADSB_OUT_DYNAMIC (body) => body . ser (version , bytes) , Self :: COMMAND_CANCEL (body) => body . ser (version , bytes) , Self :: CAMERA_FOV_STATUS (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_ATTITUDE_STATUS (body) => body . ser (version , bytes) , Self :: LOG_ERASE (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_DATA (body) => body . ser (version , bytes) , Self :: LINK_NODE_STATUS (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_INFORMATION (body) => body . ser (version , bytes) , Self :: STORAGE_INFORMATION (body) => body . ser (version , bytes) , Self :: LOGGING_DATA_ACKED (body) => body . ser (version , bytes) , Self :: DEBUG_FLOAT_ARRAY (body) => body . ser (version , bytes) , Self :: SCALED_IMU2 (body) => body . ser (version , bytes) , Self :: COLLISION (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_INT (body) => body . ser (version , bytes) , Self :: SERVO_OUTPUT_RAW (body) => body . ser (version , bytes) , Self :: PARAM_EXT_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: TERRAIN_DATA (body) => body . ser (version , bytes) , Self :: RC_CHANNELS (body) => body . ser (version , bytes) , Self :: HIL_SENSOR (body) => body . ser (version , bytes) , Self :: SET_POSITION_TARGET_LOCAL_NED (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_MANUAL_CONTROL (body) => body . ser (version , bytes) , Self :: STATUSTEXT (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_RAW (body) => body . ser (version , bytes) , Self :: ATTITUDE_QUATERNION_COV (body) => body . ser (version , bytes) , Self :: MESSAGE_INTERVAL (body) => body . ser (version , bytes) , Self :: SAFETY_ALLOWED_AREA (body) => body . ser (version , bytes) , Self :: EXTENDED_SYS_STATE (body) => body . ser (version , bytes) , Self :: GPS_INJECT_DATA (body) => body . ser (version , bytes) , Self :: HOME_POSITION (body) => body . ser (version , bytes) , Self :: PARAM_EXT_REQUEST_READ (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SYSTEM_UPDATE (body) => body . ser (version , bytes) , Self :: TRAJECTORY_REPRESENTATION_BEZIER (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_BASIC_ID (body) => body . ser (version , bytes) , Self :: ACTUATOR_CONTROL_TARGET (body) => body . ser (version , bytes) , Self :: NAV_CONTROLLER_OUTPUT (body) => body . ser (version , bytes) , Self :: RC_CHANNELS_OVERRIDE (body) => body . ser (version , bytes) , Self :: SET_HOME_POSITION (body) => body . ser (version , bytes) , Self :: HIL_OPTICAL_FLOW (body) => body . ser (version , bytes) , Self :: V2_EXTENSION (body) => body . ser (version , bytes) , Self :: HIL_ACTUATOR_CONTROLS (body) => body . ser (version , bytes) , Self :: PARAM_MAP_RC (body) => body . ser (version , bytes) , Self :: TIME_ESTIMATE_TO_TARGET (body) => body . ser (version , bytes) , Self :: BUTTON_CHANGE (body) => body . ser (version , bytes) , Self :: PARAM_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: CHANGE_OPERATOR_CONTROL (body) => body . ser (version , bytes) , Self :: CHANGE_OPERATOR_CONTROL_ACK (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_LOCATION (body) => body . ser (version , bytes) , Self :: BATTERY_STATUS (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SYSTEM (body) => body . ser (version , bytes) , Self :: GLOBAL_VISION_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: SAFETY_SET_ALLOWED_AREA (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_PITCHYAW (body) => body . ser (version , bytes) , Self :: ACTUATOR_OUTPUT_STATUS (body) => body . ser (version , bytes) , Self :: HIGHRES_IMU (body) => body . ser (version , bytes) , Self :: PARAM_EXT_ACK (body) => body . ser (version , bytes) , Self :: TERRAIN_CHECK (body) => body . ser (version , bytes) , Self :: HIL_RC_INPUTS_RAW (body) => body . ser (version , bytes) , Self :: MISSION_ITEM_INT (body) => body . ser (version , bytes) , Self :: ATT_POS_MOCAP (body) => body . ser (version , bytes) , Self :: TRAJECTORY_REPRESENTATION_WAYPOINTS (body) => body . ser (version , bytes) , Self :: RESPONSE_EVENT_ERROR (body) => body . ser (version , bytes) , Self :: ATTITUDE (body) => body . ser (version , bytes) , Self :: TERRAIN_REQUEST (body) => body . ser (version , bytes) , Self :: FILE_TRANSFER_PROTOCOL (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED (body) => body . ser (version , bytes) , Self :: TERRAIN_REPORT (body) => body . ser (version , bytes) , Self :: REQUEST_EVENT (body) => body . ser (version , bytes) , Self :: ALTITUDE (body) => body . ser (version , bytes) , Self :: WIND_COV (body) => body . ser (version , bytes) , Self :: GPS2_RAW (body) => body . ser (version , bytes) , Self :: SYS_STATUS (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE (body) => body . ser (version , bytes) , Self :: SET_ATTITUDE_TARGET (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED_COV (body) => body . ser (version , bytes) , Self :: ORBIT_EXECUTION_STATUS (body) => body . ser (version , bytes) , Self :: PARAM_REQUEST_READ (body) => body . ser (version , bytes) , Self :: MEMORY_VECT (body) => body . ser (version , bytes) , Self :: SCALED_IMU (body) => body . ser (version , bytes) , Self :: VIDEO_STREAM_STATUS (body) => body . ser (version , bytes) , Self :: GPS_STATUS (body) => body . ser (version , bytes) , Self :: PING (body) => body . ser (version , bytes) , Self :: AUTOPILOT_STATE_FOR_GIMBAL_DEVICE (body) => body . ser (version , bytes) , Self :: SCALED_PRESSURE3 (body) => body . ser (version , bytes) , Self :: WIFI_CONFIG_AP (body) => body . ser (version , bytes) , Self :: RAW_RPM (body) => body . ser (version , bytes) , Self :: MISSION_ITEM_REACHED (body) => body . ser (version , bytes) , Self :: TIMESYNC (body) => body . ser (version , bytes) , Self :: MOUNT_ORIENTATION (body) => body . ser (version , bytes) , Self :: DATA_STREAM (body) => body . ser (version , bytes) , Self :: ISBD_LINK_STATUS (body) => body . ser (version , bytes) , Self :: GPS2_RTK (body) => body . ser (version , bytes) , Self :: SET_GPS_GLOBAL_ORIGIN (body) => body . ser (version , bytes) , Self :: HIL_GPS (body) => body . ser (version , bytes) , Self :: MISSION_CURRENT (body) => body . ser (version , bytes) , Self :: PARAM_VALUE (body) => body . ser (version , bytes) , Self :: FENCE_STATUS (body) => body . ser (version , bytes) , Self :: HIL_STATE_QUATERNION (body) => body . ser (version , bytes) , Self :: OBSTACLE_DISTANCE (body) => body . ser (version , bytes) , Self :: CAMERA_CAPTURE_STATUS (body) => body . ser (version , bytes) , Self :: DISTANCE_SENSOR (body) => body . ser (version , bytes) , Self :: NAMED_VALUE_INT (body) => body . ser (version , bytes) , Self :: ONBOARD_COMPUTER_STATUS (body) => body . ser (version , bytes) , Self :: GIMBAL_DEVICE_INFORMATION (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_LIST (body) => body . ser (version , bytes) , Self :: LOG_DATA (body) => body . ser (version , bytes) , Self :: UAVIONIX_ADSB_OUT_CFG (body) => body . ser (version , bytes) , Self :: PROTOCOL_VERSION (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_ARM_STATUS (body) => body . ser (version , bytes) , Self :: LANDING_TARGET (body) => body . ser (version , bytes) , Self :: ESC_STATUS (body) => body . ser (version , bytes) , Self :: CAMERA_TRACKING_IMAGE_STATUS (body) => body . ser (version , bytes) , Self :: GPS_GLOBAL_ORIGIN (body) => body . ser (version , bytes) , Self :: PLAY_TUNE_V2 (body) => body . ser (version , bytes) , Self :: DEBUG_VECT (body) => body . ser (version , bytes) , Self :: LOG_REQUEST_END (body) => body . ser (version , bytes) , Self :: RESOURCE_REQUEST (body) => body . ser (version , bytes) , Self :: ATTITUDE_QUATERNION (body) => body . ser (version , bytes) , Self :: HYGROMETER_SENSOR (body) => body . ser (version , bytes) , Self :: ENCAPSULATED_DATA (body) => body . ser (version , bytes) , Self :: CAMERA_INFORMATION (body) => body . ser (version , bytes) , Self :: ESC_INFO (body) => body . ser (version , bytes) , Self :: FLIGHT_INFORMATION (body) => body . ser (version , bytes) , Self :: HIGH_LATENCY2 (body) => body . ser (version , bytes) , Self :: GLOBAL_POSITION_INT_COV (body) => body . ser (version , bytes) , Self :: SET_MODE (body) => body . ser (version , bytes) , Self :: SET_POSITION_TARGET_GLOBAL_INT (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_SET_ATTITUDE (body) => body . ser (version , bytes) , Self :: PARAM_SET (body) => body . ser (version , bytes) , Self :: SUPPORTED_TUNES (body) => body . ser (version , bytes) , Self :: CAN_FILTER_MODIFY (body) => body . ser (version , bytes) , Self :: VISION_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: PLAY_TUNE (body) => body . ser (version , bytes) , Self :: HEARTBEAT (body) => body . ser (version , bytes) , Self :: SIM_STATE (body) => body . ser (version , bytes) , Self :: CAMERA_IMAGE_CAPTURED (body) => body . ser (version , bytes) , Self :: AIS_VESSEL (body) => body . ser (version , bytes) , Self :: CAMERA_TRIGGER (body) => body . ser (version , bytes) , Self :: LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET (body) => body . ser (version , bytes) , Self :: LOG_ENTRY (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_MESSAGE_PACK (body) => body . ser (version , bytes) , Self :: GIMBAL_MANAGER_STATUS (body) => body . ser (version , bytes) , Self :: MANUAL_SETPOINT (body) => body . ser (version , bytes) , Self :: GPS_RTCM_DATA (body) => body . ser (version , bytes) , Self :: RAW_IMU (body) => body . ser (version , bytes) , Self :: COMMAND_INT (body) => body . ser (version , bytes) , Self :: DEBUG (body) => body . ser (version , bytes) , Self :: MISSION_COUNT (body) => body . ser (version , bytes) , Self :: VISION_SPEED_ESTIMATE (body) => body . ser (version , bytes) , Self :: SET_ACTUATOR_CONTROL_TARGET (body) => body . ser (version , bytes) , Self :: GPS_INPUT (body) => body . ser (version , bytes) , Self :: POSITION_TARGET_GLOBAL_INT (body) => body . ser (version , bytes) , Self :: UAVCAN_NODE_STATUS (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_SELF_ID (body) => body . ser (version , bytes) , Self :: COMMAND_ACK (body) => body . ser (version , bytes) , Self :: OPEN_DRONE_ID_OPERATOR_ID (body) => body . ser (version , bytes) , Self :: CELLULAR_STATUS (body) => body . ser (version , bytes) , Self :: SYSTEM_TIME (body) => body . ser (version , bytes) , Self :: EFI_STATUS (body) => body . ser (version , bytes) , Self :: COMMAND_LONG (body) => body . ser (version , bytes) , Self :: POSITION_TARGET_LOCAL_NED (body) => body . ser (version , bytes) , Self :: MAG_CAL_REPORT (body) => body . ser (version , bytes) , Self :: WHEEL_DISTANCE (body) => body . ser (version , bytes) , Self :: OPTICAL_FLOW_RAD (body) => body . ser (version , bytes) , Self :: SCALED_IMU3 (body) => body . ser (version , bytes) , Self :: MISSION_REQUEST_PARTIAL_LIST (body) => body . ser (version , bytes) , Self :: GENERATOR_STATUS (body) => body . ser (version , bytes) , Self :: VICON_POSITION_ESTIMATE (body) => body . ser (version , bytes) , Self :: MISSION_ITEM (body) => body . ser (version , bytes) , Self :: MANUAL_CONTROL (body) => body . ser (version , bytes) , Self :: ESTIMATOR_STATUS (body) => body . ser (version , bytes) , Self :: ADSB_VEHICLE (body) => body . ser (version , bytes) , Self :: GLOBAL_POSITION_INT (body) => body . ser (version , bytes) , Self :: DATA_TRANSMISSION_HANDSHAKE (body) => body . ser (version , bytes) , Self :: MISSION_CLEAR_ALL (body) => body . ser (version , bytes) , Self :: VIDEO_STREAM_INFORMATION (body) => body . ser (version , bytes) , Self :: CAN_FRAME (body) => body . ser (version , bytes) , Self :: EVENT (body) => body . ser (version , bytes) , Self :: COMPONENT_METADATA (body) => body . ser (version , bytes) , Self :: CURRENT_EVENT_SEQUENCE (body) => body . ser (version , bytes) , Self :: MISSION_ACK (body) => body . ser (version , bytes) , Self :: OPTICAL_FLOW (body) => body . ser (version , bytes) , Self :: WINCH_STATUS (body) => body . ser (version , bytes) , Self :: HIGH_LATENCY (body) => body . ser (version , bytes) , Self :: FOLLOW_TARGET (body) => body . ser (version , bytes) , } } fn extra_crc (id : u32) -> u8 { match id { MISSION_SET_CURRENT_DATA :: ID => MISSION_SET_CURRENT_DATA :: EXTRA_CRC , AUTH_KEY_DATA :: ID => AUTH_KEY_DATA :: EXTRA_CRC , ATTITUDE_TARGET_DATA :: ID => ATTITUDE_TARGET_DATA :: EXTRA_CRC , SETUP_SIGNING_DATA :: ID => SETUP_SIGNING_DATA :: EXTRA_CRC , CELLULAR_CONFIG_DATA :: ID => CELLULAR_CONFIG_DATA :: EXTRA_CRC , UTM_GLOBAL_POSITION_DATA :: ID => UTM_GLOBAL_POSITION_DATA :: EXTRA_CRC , VFR_HUD_DATA :: ID => VFR_HUD_DATA :: EXTRA_CRC , UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: ID => UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA :: EXTRA_CRC , MISSION_WRITE_PARTIAL_LIST_DATA :: ID => MISSION_WRITE_PARTIAL_LIST_DATA :: EXTRA_CRC , ODOMETRY_DATA :: ID => ODOMETRY_DATA :: EXTRA_CRC , SERIAL_CONTROL_DATA :: ID => SERIAL_CONTROL_DATA :: EXTRA_CRC , RC_CHANNELS_SCALED_DATA :: ID => RC_CHANNELS_SCALED_DATA :: EXTRA_CRC , COMPONENT_INFORMATION_DATA :: ID => COMPONENT_INFORMATION_DATA :: EXTRA_CRC , PARAM_EXT_VALUE_DATA :: ID => PARAM_EXT_VALUE_DATA :: EXTRA_CRC , OPEN_DRONE_ID_AUTHENTICATION_DATA :: ID => OPEN_DRONE_ID_AUTHENTICATION_DATA :: EXTRA_CRC , UAVCAN_NODE_INFO_DATA :: ID => UAVCAN_NODE_INFO_DATA :: EXTRA_CRC , CAMERA_SETTINGS_DATA :: ID => CAMERA_SETTINGS_DATA :: EXTRA_CRC , RADIO_STATUS_DATA :: ID => RADIO_STATUS_DATA :: EXTRA_CRC , GPS_RAW_INT_DATA :: ID => GPS_RAW_INT_DATA :: EXTRA_CRC , CONTROL_SYSTEM_STATE_DATA :: ID => CONTROL_SYSTEM_STATE_DATA :: EXTRA_CRC , CAMERA_TRACKING_GEO_STATUS_DATA :: ID => CAMERA_TRACKING_GEO_STATUS_DATA :: EXTRA_CRC , TUNNEL_DATA :: ID => TUNNEL_DATA :: EXTRA_CRC , LOG_REQUEST_LIST_DATA :: ID => LOG_REQUEST_LIST_DATA :: EXTRA_CRC , REQUEST_DATA_STREAM_DATA :: ID => REQUEST_DATA_STREAM_DATA :: EXTRA_CRC , GIMBAL_DEVICE_SET_ATTITUDE_DATA :: ID => GIMBAL_DEVICE_SET_ATTITUDE_DATA :: EXTRA_CRC , CANFD_FRAME_DATA :: ID => CANFD_FRAME_DATA :: EXTRA_CRC , HIL_CONTROLS_DATA :: ID => HIL_CONTROLS_DATA :: EXTRA_CRC , POWER_STATUS_DATA :: ID => POWER_STATUS_DATA :: EXTRA_CRC , HIL_STATE_DATA :: ID => HIL_STATE_DATA :: EXTRA_CRC , LOGGING_DATA_DATA :: ID => LOGGING_DATA_DATA :: EXTRA_CRC , SMART_BATTERY_INFO_DATA :: ID => SMART_BATTERY_INFO_DATA :: EXTRA_CRC , RAW_PRESSURE_DATA :: ID => RAW_PRESSURE_DATA :: EXTRA_CRC , PARAM_EXT_SET_DATA :: ID => PARAM_EXT_SET_DATA :: EXTRA_CRC , VIBRATION_DATA :: ID => VIBRATION_DATA :: EXTRA_CRC , LOGGING_ACK_DATA :: ID => LOGGING_ACK_DATA :: EXTRA_CRC , SCALED_PRESSURE2_DATA :: ID => SCALED_PRESSURE2_DATA :: EXTRA_CRC , AUTOPILOT_VERSION_DATA :: ID => AUTOPILOT_VERSION_DATA :: EXTRA_CRC , NAMED_VALUE_FLOAT_DATA :: ID => NAMED_VALUE_FLOAT_DATA :: EXTRA_CRC , GPS_RTK_DATA :: ID => GPS_RTK_DATA :: EXTRA_CRC , UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: ID => UAVIONIX_ADSB_OUT_DYNAMIC_DATA :: EXTRA_CRC , COMMAND_CANCEL_DATA :: ID => COMMAND_CANCEL_DATA :: EXTRA_CRC , CAMERA_FOV_STATUS_DATA :: ID => CAMERA_FOV_STATUS_DATA :: EXTRA_CRC , GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: ID => GIMBAL_DEVICE_ATTITUDE_STATUS_DATA :: EXTRA_CRC , LOG_ERASE_DATA :: ID => LOG_ERASE_DATA :: EXTRA_CRC , LOG_REQUEST_DATA_DATA :: ID => LOG_REQUEST_DATA_DATA :: EXTRA_CRC , LINK_NODE_STATUS_DATA :: ID => LINK_NODE_STATUS_DATA :: EXTRA_CRC , GIMBAL_MANAGER_INFORMATION_DATA :: ID => GIMBAL_MANAGER_INFORMATION_DATA :: EXTRA_CRC , STORAGE_INFORMATION_DATA :: ID => STORAGE_INFORMATION_DATA :: EXTRA_CRC , LOGGING_DATA_ACKED_DATA :: ID => LOGGING_DATA_ACKED_DATA :: EXTRA_CRC , DEBUG_FLOAT_ARRAY_DATA :: ID => DEBUG_FLOAT_ARRAY_DATA :: EXTRA_CRC , SCALED_IMU2_DATA :: ID => SCALED_IMU2_DATA :: EXTRA_CRC , COLLISION_DATA :: ID => COLLISION_DATA :: EXTRA_CRC , MISSION_REQUEST_INT_DATA :: ID => MISSION_REQUEST_INT_DATA :: EXTRA_CRC , SERVO_OUTPUT_RAW_DATA :: ID => SERVO_OUTPUT_RAW_DATA :: EXTRA_CRC , PARAM_EXT_REQUEST_LIST_DATA :: ID => PARAM_EXT_REQUEST_LIST_DATA :: EXTRA_CRC , TERRAIN_DATA_DATA :: ID => TERRAIN_DATA_DATA :: EXTRA_CRC , RC_CHANNELS_DATA :: ID => RC_CHANNELS_DATA :: EXTRA_CRC , HIL_SENSOR_DATA :: ID => HIL_SENSOR_DATA :: EXTRA_CRC , SET_POSITION_TARGET_LOCAL_NED_DATA :: ID => SET_POSITION_TARGET_LOCAL_NED_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: ID => GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA :: EXTRA_CRC , STATUSTEXT_DATA :: ID => STATUSTEXT_DATA :: EXTRA_CRC , RC_CHANNELS_RAW_DATA :: ID => RC_CHANNELS_RAW_DATA :: EXTRA_CRC , ATTITUDE_QUATERNION_COV_DATA :: ID => ATTITUDE_QUATERNION_COV_DATA :: EXTRA_CRC , MESSAGE_INTERVAL_DATA :: ID => MESSAGE_INTERVAL_DATA :: EXTRA_CRC , SAFETY_ALLOWED_AREA_DATA :: ID => SAFETY_ALLOWED_AREA_DATA :: EXTRA_CRC , EXTENDED_SYS_STATE_DATA :: ID => EXTENDED_SYS_STATE_DATA :: EXTRA_CRC , GPS_INJECT_DATA_DATA :: ID => GPS_INJECT_DATA_DATA :: EXTRA_CRC , HOME_POSITION_DATA :: ID => HOME_POSITION_DATA :: EXTRA_CRC , PARAM_EXT_REQUEST_READ_DATA :: ID => PARAM_EXT_REQUEST_READ_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: ID => OPEN_DRONE_ID_SYSTEM_UPDATE_DATA :: EXTRA_CRC , TRAJECTORY_REPRESENTATION_BEZIER_DATA :: ID => TRAJECTORY_REPRESENTATION_BEZIER_DATA :: EXTRA_CRC , OPEN_DRONE_ID_BASIC_ID_DATA :: ID => OPEN_DRONE_ID_BASIC_ID_DATA :: EXTRA_CRC , ACTUATOR_CONTROL_TARGET_DATA :: ID => ACTUATOR_CONTROL_TARGET_DATA :: EXTRA_CRC , NAV_CONTROLLER_OUTPUT_DATA :: ID => NAV_CONTROLLER_OUTPUT_DATA :: EXTRA_CRC , RC_CHANNELS_OVERRIDE_DATA :: ID => RC_CHANNELS_OVERRIDE_DATA :: EXTRA_CRC , SET_HOME_POSITION_DATA :: ID => SET_HOME_POSITION_DATA :: EXTRA_CRC , HIL_OPTICAL_FLOW_DATA :: ID => HIL_OPTICAL_FLOW_DATA :: EXTRA_CRC , V2_EXTENSION_DATA :: ID => V2_EXTENSION_DATA :: EXTRA_CRC , HIL_ACTUATOR_CONTROLS_DATA :: ID => HIL_ACTUATOR_CONTROLS_DATA :: EXTRA_CRC , PARAM_MAP_RC_DATA :: ID => PARAM_MAP_RC_DATA :: EXTRA_CRC , TIME_ESTIMATE_TO_TARGET_DATA :: ID => TIME_ESTIMATE_TO_TARGET_DATA :: EXTRA_CRC , BUTTON_CHANGE_DATA :: ID => BUTTON_CHANGE_DATA :: EXTRA_CRC , PARAM_REQUEST_LIST_DATA :: ID => PARAM_REQUEST_LIST_DATA :: EXTRA_CRC , CHANGE_OPERATOR_CONTROL_DATA :: ID => CHANGE_OPERATOR_CONTROL_DATA :: EXTRA_CRC , CHANGE_OPERATOR_CONTROL_ACK_DATA :: ID => CHANGE_OPERATOR_CONTROL_ACK_DATA :: EXTRA_CRC , OPEN_DRONE_ID_LOCATION_DATA :: ID => OPEN_DRONE_ID_LOCATION_DATA :: EXTRA_CRC , BATTERY_STATUS_DATA :: ID => BATTERY_STATUS_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SYSTEM_DATA :: ID => OPEN_DRONE_ID_SYSTEM_DATA :: EXTRA_CRC , GLOBAL_VISION_POSITION_ESTIMATE_DATA :: ID => GLOBAL_VISION_POSITION_ESTIMATE_DATA :: EXTRA_CRC , SAFETY_SET_ALLOWED_AREA_DATA :: ID => SAFETY_SET_ALLOWED_AREA_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_PITCHYAW_DATA :: ID => GIMBAL_MANAGER_SET_PITCHYAW_DATA :: EXTRA_CRC , ACTUATOR_OUTPUT_STATUS_DATA :: ID => ACTUATOR_OUTPUT_STATUS_DATA :: EXTRA_CRC , HIGHRES_IMU_DATA :: ID => HIGHRES_IMU_DATA :: EXTRA_CRC , PARAM_EXT_ACK_DATA :: ID => PARAM_EXT_ACK_DATA :: EXTRA_CRC , TERRAIN_CHECK_DATA :: ID => TERRAIN_CHECK_DATA :: EXTRA_CRC , HIL_RC_INPUTS_RAW_DATA :: ID => HIL_RC_INPUTS_RAW_DATA :: EXTRA_CRC , MISSION_ITEM_INT_DATA :: ID => MISSION_ITEM_INT_DATA :: EXTRA_CRC , ATT_POS_MOCAP_DATA :: ID => ATT_POS_MOCAP_DATA :: EXTRA_CRC , TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: ID => TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA :: EXTRA_CRC , RESPONSE_EVENT_ERROR_DATA :: ID => RESPONSE_EVENT_ERROR_DATA :: EXTRA_CRC , ATTITUDE_DATA :: ID => ATTITUDE_DATA :: EXTRA_CRC , TERRAIN_REQUEST_DATA :: ID => TERRAIN_REQUEST_DATA :: EXTRA_CRC , FILE_TRANSFER_PROTOCOL_DATA :: ID => FILE_TRANSFER_PROTOCOL_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_DATA :: ID => LOCAL_POSITION_NED_DATA :: EXTRA_CRC , TERRAIN_REPORT_DATA :: ID => TERRAIN_REPORT_DATA :: EXTRA_CRC , REQUEST_EVENT_DATA :: ID => REQUEST_EVENT_DATA :: EXTRA_CRC , ALTITUDE_DATA :: ID => ALTITUDE_DATA :: EXTRA_CRC , WIND_COV_DATA :: ID => WIND_COV_DATA :: EXTRA_CRC , GPS2_RAW_DATA :: ID => GPS2_RAW_DATA :: EXTRA_CRC , SYS_STATUS_DATA :: ID => SYS_STATUS_DATA :: EXTRA_CRC , SCALED_PRESSURE_DATA :: ID => SCALED_PRESSURE_DATA :: EXTRA_CRC , SET_ATTITUDE_TARGET_DATA :: ID => SET_ATTITUDE_TARGET_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_COV_DATA :: ID => LOCAL_POSITION_NED_COV_DATA :: EXTRA_CRC , ORBIT_EXECUTION_STATUS_DATA :: ID => ORBIT_EXECUTION_STATUS_DATA :: EXTRA_CRC , PARAM_REQUEST_READ_DATA :: ID => PARAM_REQUEST_READ_DATA :: EXTRA_CRC , MEMORY_VECT_DATA :: ID => MEMORY_VECT_DATA :: EXTRA_CRC , SCALED_IMU_DATA :: ID => SCALED_IMU_DATA :: EXTRA_CRC , VIDEO_STREAM_STATUS_DATA :: ID => VIDEO_STREAM_STATUS_DATA :: EXTRA_CRC , GPS_STATUS_DATA :: ID => GPS_STATUS_DATA :: EXTRA_CRC , PING_DATA :: ID => PING_DATA :: EXTRA_CRC , AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: ID => AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA :: EXTRA_CRC , SCALED_PRESSURE3_DATA :: ID => SCALED_PRESSURE3_DATA :: EXTRA_CRC , WIFI_CONFIG_AP_DATA :: ID => WIFI_CONFIG_AP_DATA :: EXTRA_CRC , RAW_RPM_DATA :: ID => RAW_RPM_DATA :: EXTRA_CRC , MISSION_ITEM_REACHED_DATA :: ID => MISSION_ITEM_REACHED_DATA :: EXTRA_CRC , TIMESYNC_DATA :: ID => TIMESYNC_DATA :: EXTRA_CRC , MOUNT_ORIENTATION_DATA :: ID => MOUNT_ORIENTATION_DATA :: EXTRA_CRC , DATA_STREAM_DATA :: ID => DATA_STREAM_DATA :: EXTRA_CRC , ISBD_LINK_STATUS_DATA :: ID => ISBD_LINK_STATUS_DATA :: EXTRA_CRC , GPS2_RTK_DATA :: ID => GPS2_RTK_DATA :: EXTRA_CRC , SET_GPS_GLOBAL_ORIGIN_DATA :: ID => SET_GPS_GLOBAL_ORIGIN_DATA :: EXTRA_CRC , HIL_GPS_DATA :: ID => HIL_GPS_DATA :: EXTRA_CRC , MISSION_CURRENT_DATA :: ID => MISSION_CURRENT_DATA :: EXTRA_CRC , PARAM_VALUE_DATA :: ID => PARAM_VALUE_DATA :: EXTRA_CRC , FENCE_STATUS_DATA :: ID => FENCE_STATUS_DATA :: EXTRA_CRC , HIL_STATE_QUATERNION_DATA :: ID => HIL_STATE_QUATERNION_DATA :: EXTRA_CRC , OBSTACLE_DISTANCE_DATA :: ID => OBSTACLE_DISTANCE_DATA :: EXTRA_CRC , CAMERA_CAPTURE_STATUS_DATA :: ID => CAMERA_CAPTURE_STATUS_DATA :: EXTRA_CRC , DISTANCE_SENSOR_DATA :: ID => DISTANCE_SENSOR_DATA :: EXTRA_CRC , NAMED_VALUE_INT_DATA :: ID => NAMED_VALUE_INT_DATA :: EXTRA_CRC , ONBOARD_COMPUTER_STATUS_DATA :: ID => ONBOARD_COMPUTER_STATUS_DATA :: EXTRA_CRC , GIMBAL_DEVICE_INFORMATION_DATA :: ID => GIMBAL_DEVICE_INFORMATION_DATA :: EXTRA_CRC , MISSION_REQUEST_DATA :: ID => MISSION_REQUEST_DATA :: EXTRA_CRC , MISSION_REQUEST_LIST_DATA :: ID => MISSION_REQUEST_LIST_DATA :: EXTRA_CRC , LOG_DATA_DATA :: ID => LOG_DATA_DATA :: EXTRA_CRC , UAVIONIX_ADSB_OUT_CFG_DATA :: ID => UAVIONIX_ADSB_OUT_CFG_DATA :: EXTRA_CRC , PROTOCOL_VERSION_DATA :: ID => PROTOCOL_VERSION_DATA :: EXTRA_CRC , OPEN_DRONE_ID_ARM_STATUS_DATA :: ID => OPEN_DRONE_ID_ARM_STATUS_DATA :: EXTRA_CRC , LANDING_TARGET_DATA :: ID => LANDING_TARGET_DATA :: EXTRA_CRC , ESC_STATUS_DATA :: ID => ESC_STATUS_DATA :: EXTRA_CRC , CAMERA_TRACKING_IMAGE_STATUS_DATA :: ID => CAMERA_TRACKING_IMAGE_STATUS_DATA :: EXTRA_CRC , GPS_GLOBAL_ORIGIN_DATA :: ID => GPS_GLOBAL_ORIGIN_DATA :: EXTRA_CRC , PLAY_TUNE_V2_DATA :: ID => PLAY_TUNE_V2_DATA :: EXTRA_CRC , DEBUG_VECT_DATA :: ID => DEBUG_VECT_DATA :: EXTRA_CRC , LOG_REQUEST_END_DATA :: ID => LOG_REQUEST_END_DATA :: EXTRA_CRC , RESOURCE_REQUEST_DATA :: ID => RESOURCE_REQUEST_DATA :: EXTRA_CRC , ATTITUDE_QUATERNION_DATA :: ID => ATTITUDE_QUATERNION_DATA :: EXTRA_CRC , HYGROMETER_SENSOR_DATA :: ID => HYGROMETER_SENSOR_DATA :: EXTRA_CRC , ENCAPSULATED_DATA_DATA :: ID => ENCAPSULATED_DATA_DATA :: EXTRA_CRC , CAMERA_INFORMATION_DATA :: ID => CAMERA_INFORMATION_DATA :: EXTRA_CRC , ESC_INFO_DATA :: ID => ESC_INFO_DATA :: EXTRA_CRC , FLIGHT_INFORMATION_DATA :: ID => FLIGHT_INFORMATION_DATA :: EXTRA_CRC , HIGH_LATENCY2_DATA :: ID => HIGH_LATENCY2_DATA :: EXTRA_CRC , GLOBAL_POSITION_INT_COV_DATA :: ID => GLOBAL_POSITION_INT_COV_DATA :: EXTRA_CRC , SET_MODE_DATA :: ID => SET_MODE_DATA :: EXTRA_CRC , SET_POSITION_TARGET_GLOBAL_INT_DATA :: ID => SET_POSITION_TARGET_GLOBAL_INT_DATA :: EXTRA_CRC , GIMBAL_MANAGER_SET_ATTITUDE_DATA :: ID => GIMBAL_MANAGER_SET_ATTITUDE_DATA :: EXTRA_CRC , PARAM_SET_DATA :: ID => PARAM_SET_DATA :: EXTRA_CRC , SUPPORTED_TUNES_DATA :: ID => SUPPORTED_TUNES_DATA :: EXTRA_CRC , CAN_FILTER_MODIFY_DATA :: ID => CAN_FILTER_MODIFY_DATA :: EXTRA_CRC , VISION_POSITION_ESTIMATE_DATA :: ID => VISION_POSITION_ESTIMATE_DATA :: EXTRA_CRC , PLAY_TUNE_DATA :: ID => PLAY_TUNE_DATA :: EXTRA_CRC , HEARTBEAT_DATA :: ID => HEARTBEAT_DATA :: EXTRA_CRC , SIM_STATE_DATA :: ID => SIM_STATE_DATA :: EXTRA_CRC , CAMERA_IMAGE_CAPTURED_DATA :: ID => CAMERA_IMAGE_CAPTURED_DATA :: EXTRA_CRC , AIS_VESSEL_DATA :: ID => AIS_VESSEL_DATA :: EXTRA_CRC , CAMERA_TRIGGER_DATA :: ID => CAMERA_TRIGGER_DATA :: EXTRA_CRC , LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: ID => LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA :: EXTRA_CRC , LOG_ENTRY_DATA :: ID => LOG_ENTRY_DATA :: EXTRA_CRC , OPEN_DRONE_ID_MESSAGE_PACK_DATA :: ID => OPEN_DRONE_ID_MESSAGE_PACK_DATA :: EXTRA_CRC , GIMBAL_MANAGER_STATUS_DATA :: ID => GIMBAL_MANAGER_STATUS_DATA :: EXTRA_CRC , MANUAL_SETPOINT_DATA :: ID => MANUAL_SETPOINT_DATA :: EXTRA_CRC , GPS_RTCM_DATA_DATA :: ID => GPS_RTCM_DATA_DATA :: EXTRA_CRC , RAW_IMU_DATA :: ID => RAW_IMU_DATA :: EXTRA_CRC , COMMAND_INT_DATA :: ID => COMMAND_INT_DATA :: EXTRA_CRC , DEBUG_DATA :: ID => DEBUG_DATA :: EXTRA_CRC , MISSION_COUNT_DATA :: ID => MISSION_COUNT_DATA :: EXTRA_CRC , VISION_SPEED_ESTIMATE_DATA :: ID => VISION_SPEED_ESTIMATE_DATA :: EXTRA_CRC , SET_ACTUATOR_CONTROL_TARGET_DATA :: ID => SET_ACTUATOR_CONTROL_TARGET_DATA :: EXTRA_CRC , GPS_INPUT_DATA :: ID => GPS_INPUT_DATA :: EXTRA_CRC , POSITION_TARGET_GLOBAL_INT_DATA :: ID => POSITION_TARGET_GLOBAL_INT_DATA :: EXTRA_CRC , UAVCAN_NODE_STATUS_DATA :: ID => UAVCAN_NODE_STATUS_DATA :: EXTRA_CRC , OPEN_DRONE_ID_SELF_ID_DATA :: ID => OPEN_DRONE_ID_SELF_ID_DATA :: EXTRA_CRC , COMMAND_ACK_DATA :: ID => COMMAND_ACK_DATA :: EXTRA_CRC , OPEN_DRONE_ID_OPERATOR_ID_DATA :: ID => OPEN_DRONE_ID_OPERATOR_ID_DATA :: EXTRA_CRC , CELLULAR_STATUS_DATA :: ID => CELLULAR_STATUS_DATA :: EXTRA_CRC , SYSTEM_TIME_DATA :: ID => SYSTEM_TIME_DATA :: EXTRA_CRC , EFI_STATUS_DATA :: ID => EFI_STATUS_DATA :: EXTRA_CRC , COMMAND_LONG_DATA :: ID => COMMAND_LONG_DATA :: EXTRA_CRC , POSITION_TARGET_LOCAL_NED_DATA :: ID => POSITION_TARGET_LOCAL_NED_DATA :: EXTRA_CRC , MAG_CAL_REPORT_DATA :: ID => MAG_CAL_REPORT_DATA :: EXTRA_CRC , WHEEL_DISTANCE_DATA :: ID => WHEEL_DISTANCE_DATA :: EXTRA_CRC , OPTICAL_FLOW_RAD_DATA :: ID => OPTICAL_FLOW_RAD_DATA :: EXTRA_CRC , SCALED_IMU3_DATA :: ID => SCALED_IMU3_DATA :: EXTRA_CRC , MISSION_REQUEST_PARTIAL_LIST_DATA :: ID => MISSION_REQUEST_PARTIAL_LIST_DATA :: EXTRA_CRC , GENERATOR_STATUS_DATA :: ID => GENERATOR_STATUS_DATA :: EXTRA_CRC , VICON_POSITION_ESTIMATE_DATA :: ID => VICON_POSITION_ESTIMATE_DATA :: EXTRA_CRC , MISSION_ITEM_DATA :: ID => MISSION_ITEM_DATA :: EXTRA_CRC , MANUAL_CONTROL_DATA :: ID => MANUAL_CONTROL_DATA :: EXTRA_CRC , ESTIMATOR_STATUS_DATA :: ID => ESTIMATOR_STATUS_DATA :: EXTRA_CRC , ADSB_VEHICLE_DATA :: ID => ADSB_VEHICLE_DATA :: EXTRA_CRC , GLOBAL_POSITION_INT_DATA :: ID => GLOBAL_POSITION_INT_DATA :: EXTRA_CRC , DATA_TRANSMISSION_HANDSHAKE_DATA :: ID => DATA_TRANSMISSION_HANDSHAKE_DATA :: EXTRA_CRC , MISSION_CLEAR_ALL_DATA :: ID => MISSION_CLEAR_ALL_DATA :: EXTRA_CRC , VIDEO_STREAM_INFORMATION_DATA :: ID => VIDEO_STREAM_INFORMATION_DATA :: EXTRA_CRC , CAN_FRAME_DATA :: ID => CAN_FRAME_DATA :: EXTRA_CRC , EVENT_DATA :: ID => EVENT_DATA :: EXTRA_CRC , COMPONENT_METADATA_DATA :: ID => COMPONENT_METADATA_DATA :: EXTRA_CRC , CURRENT_EVENT_SEQUENCE_DATA :: ID => CURRENT_EVENT_SEQUENCE_DATA :: EXTRA_CRC , MISSION_ACK_DATA :: ID => MISSION_ACK_DATA :: EXTRA_CRC , OPTICAL_FLOW_DATA :: ID => OPTICAL_FLOW_DATA :: EXTRA_CRC , WINCH_STATUS_DATA :: ID => WINCH_STATUS_DATA :: EXTRA_CRC , HIGH_LATENCY_DATA :: ID => HIGH_LATENCY_DATA :: EXTRA_CRC , FOLLOW_TARGET_DATA :: ID => FOLLOW_TARGET_DATA :: EXTRA_CRC , _ => { 0 } , } } }
 
\ No newline at end of file diff --git a/trait.impl/core/clone/trait.Clone.js b/trait.impl/core/clone/trait.Clone.js index 35d4acf0a5..b2c642f2d4 100644 --- a/trait.impl/core/clone/trait.Clone.js +++ b/trait.impl/core/clone/trait.Clone.js @@ -1,7 +1,7 @@ (function() {var implementors = { "byteorder":[["impl Clone for BigEndian"],["impl Clone for LittleEndian"]], "libc":[["impl Clone for dl_phdr_info"],["impl Clone for sock_extended_err"],["impl Clone for can_filter"],["impl Clone for seminfo"],["impl Clone for pthread_condattr_t"],["impl Clone for __c_anonymous_ptrace_syscall_info_exit"],["impl Clone for uinput_setup"],["impl Clone for xdp_ring_offset"],["impl Clone for mallinfo2"],["impl Clone for open_how"],["impl Clone for nl_mmap_hdr"],["impl Clone for tls12_crypto_info_aes_gcm_256"],["impl Clone for aiocb"],["impl Clone for inotify_event"],["impl Clone for __c_anonymous_ifc_ifcu"],["impl Clone for timex"],["impl Clone for _libc_fpxreg"],["impl Clone for sysinfo"],["impl Clone for flock"],["impl Clone for genlmsghdr"],["impl Clone for itimerspec"],["impl Clone for arpreq_old"],["impl Clone for input_mask"],["impl Clone for ifreq"],["impl Clone for stat"],["impl Clone for stat64"],["impl Clone for Elf64_Sym"],["impl Clone for sched_param"],["impl Clone for sockaddr_un"],["impl Clone for in6_ifreq"],["impl Clone for input_event"],["impl Clone for option"],["impl Clone for __c_anonymous_sockaddr_can_can_addr"],["impl Clone for ip_mreqn"],["impl Clone for __c_anonymous_sockaddr_can_tp"],["impl Clone for sockaddr_in6"],["impl Clone for __c_anonymous_sockaddr_can_j1939"],["impl Clone for in6_pktinfo"],["impl Clone for fanotify_event_metadata"],["impl Clone for Elf32_Phdr"],["impl Clone for hostent"],["impl Clone for _libc_fpstate"],["impl Clone for Elf32_Ehdr"],["impl Clone for glob_t"],["impl Clone for mntent"],["impl Clone for canxl_frame"],["impl Clone for uinput_user_dev"],["impl Clone for addrinfo"],["impl Clone for ipc_perm"],["impl Clone for nl_mmap_req"],["impl Clone for posix_spawnattr_t"],["impl Clone for hwtstamp_config"],["impl Clone for cpu_set_t"],["impl Clone for mmsghdr"],["impl Clone for protoent"],["impl Clone for sctp_sndrcvinfo"],["impl Clone for passwd"],["impl Clone for signalfd_siginfo"],["impl Clone for ff_rumble_effect"],["impl Clone for mcontext_t"],["impl Clone for __exit_status"],["impl Clone for sockaddr"],["impl Clone for tls12_crypto_info_aes_gcm_128"],["impl Clone for if_nameindex"],["impl Clone for ff_envelope"],["impl Clone for __c_anonymous_ptrace_syscall_info_seccomp"],["impl Clone for xdp_desc"],["impl Clone for cmsghdr"],["impl Clone for termios"],["impl Clone for ucred"],["impl Clone for in_addr"],["impl Clone for tm"],["impl Clone for rtentry"],["impl Clone for sockaddr_xdp"],["impl Clone for ipv6_mreq"],["impl Clone for ff_ramp_effect"],["impl Clone for xdp_statistics_v1"],["impl Clone for nlattr"],["impl Clone for ff_condition_effect"],["impl Clone for epoll_event"],["impl Clone for ip_mreq_source"],["impl Clone for statfs"],["impl Clone for nlmsgerr"],["impl Clone for packet_mreq"],["impl Clone for input_keymap_entry"],["impl Clone for __c_anonymous_ptrace_syscall_info_entry"],["impl Clone for msqid_ds"],["impl Clone for posix_spawn_file_actions_t"],["impl Clone for sockaddr_can"],["impl Clone for group"],["impl Clone for ff_replay"],["impl Clone for fsid_t"],["impl Clone for Elf32_Sym"],["impl Clone for regex_t"],["impl Clone for xdp_statistics"],["impl Clone for pthread_rwlockattr_t"],["impl Clone for pthread_barrierattr_t"],["impl Clone for seccomp_data"],["impl Clone for linger"],["impl Clone for pthread_mutex_t"],["impl Clone for sem_t"],["impl Clone for fd_set"],["impl Clone for ip_mreq"],["impl Clone for xdp_mmap_offsets"],["impl Clone for input_id"],["impl Clone for pthread_barrier_t"],["impl Clone for xdp_options"],["impl Clone for ptrace_rseq_configuration"],["impl Clone for ntptimeval"],["impl Clone for sockaddr_alg"],["impl Clone for Elf64_Phdr"],["impl Clone for mq_attr"],["impl Clone for sctp_nxtinfo"],["impl Clone for pthread_cond_t"],["impl Clone for sock_fprog"],["impl Clone for statx"],["impl Clone for xdp_umem_reg_v1"],["impl Clone for sctp_sndinfo"],["impl Clone for uinput_ff_upload"],["impl Clone for statvfs64"],["impl Clone for input_absinfo"],["impl Clone for sctp_rcvinfo"],["impl Clone for _libc_xmmreg"],["impl Clone for pthread_mutexattr_t"],["impl Clone for dirent"],["impl Clone for nl_pktinfo"],["impl Clone for uinput_ff_erase"],["impl Clone for xdp_mmap_offsets_v1"],["impl Clone for __c_anonymous_ifru_map"],["impl Clone for dqblk"],["impl Clone for ifaddrs"],["impl Clone for sockaddr_storage"],["impl Clone for canfd_frame"],["impl Clone for rlimit"],["impl Clone for iovec"],["impl Clone for shmid_ds"],["impl Clone for sigset_t"],["impl Clone for Elf32_Shdr"],["impl Clone for statx_timestamp"],["impl Clone for servent"],["impl Clone for arpd_request"],["impl Clone for sctp_initmsg"],["impl Clone for ifconf"],["impl Clone for utimbuf"],["impl Clone for uinput_abs_setup"],["impl Clone for spwd"],["impl Clone for ff_effect"],["impl Clone for arpreq"],["impl Clone for arphdr"],["impl Clone for nlmsghdr"],["impl Clone for statvfs"],["impl Clone for seccomp_notif_sizes"],["impl Clone for winsize"],["impl Clone for ff_periodic_effect"],["impl Clone for sctp_authinfo"],["impl Clone for __c_anonymous_ptrace_syscall_info_data"],["impl Clone for af_alg_iv"],["impl Clone for __timeval"],["impl Clone for sock_txtime"],["impl Clone for user_regs_struct"],["impl Clone for sigevent"],["impl Clone for tls_crypto_info"],["impl Clone for timeval"],["impl Clone for user_fpregs_struct"],["impl Clone for in_pktinfo"],["impl Clone for ptrace_peeksiginfo_args"],["impl Clone for sembuf"],["impl Clone for glob64_t"],["impl Clone for ptrace_syscall_info"],["impl Clone for pthread_rwlock_t"],["impl Clone for Elf64_Chdr"],["impl Clone for ucontext_t"],["impl Clone for in6_addr"],["impl Clone for msginfo"],["impl Clone for flock64"],["impl Clone for msghdr"],["impl Clone for Elf64_Shdr"],["impl Clone for sockaddr_ll"],["impl Clone for pollfd"],["impl Clone for can_frame"],["impl Clone for user"],["impl Clone for ff_constant_effect"],["impl Clone for timespec"],["impl Clone for sock_filter"],["impl Clone for fanotify_response"],["impl Clone for sockaddr_in"],["impl Clone for sigval"],["impl Clone for sctp_prinfo"],["impl Clone for pthread_attr_t"],["impl Clone for file_clone_range"],["impl Clone for clone_args"],["impl Clone for rusage"],["impl Clone for regmatch_t"],["impl Clone for statfs64"],["impl Clone for semid_ds"],["impl Clone for in6_rtmsg"],["impl Clone for itimerval"],["impl Clone for Elf64_Ehdr"],["impl Clone for sockaddr_nl"],["impl Clone for siginfo_t"],["impl Clone for xdp_umem_reg"],["impl Clone for ff_trigger"],["impl Clone for __c_anonymous_ifr_ifru"],["impl Clone for termios2"],["impl Clone for sockaddr_vm"],["impl Clone for lconv"],["impl Clone for rlimit64"],["impl Clone for utsname"],["impl Clone for xdp_ring_offset_v1"],["impl Clone for dirent64"],["impl Clone for sigaction"],["impl Clone for Dl_info"],["impl Clone for tls12_crypto_info_chacha20_poly1305"],["impl Clone for utmpx"],["impl Clone for mallinfo"],["impl Clone for max_align_t"],["impl Clone for tms"],["impl Clone for Elf32_Chdr"],["impl Clone for j1939_filter"],["impl Clone for stack_t"]], -"mavlink":[["impl Clone for ATTITUDE_QUATERNION_DATA"],["impl Clone for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Clone for MavPowerStatus"],["impl Clone for TUNNEL_DATA"],["impl Clone for WIND_COV_DATA"],["impl Clone for PreflightStorageMissionAction"],["impl Clone for FLIGHT_INFORMATION_DATA"],["impl Clone for SERVO_OUTPUT_RAW_DATA"],["impl Clone for WifiConfigApMode"],["impl Clone for MavCmdAck"],["impl Clone for RESOURCE_REQUEST_DATA"],["impl Clone for NAMED_VALUE_FLOAT_DATA"],["impl Clone for CameraTrackingMode"],["impl Clone for AUTOPILOT_VERSION_DATA"],["impl Clone for PrecisionLandMode"],["impl Clone for BUTTON_CHANGE_DATA"],["impl Clone for MISSION_REQUEST_LIST_DATA"],["impl Clone for CellularNetworkFailedReason"],["impl Clone for ATTITUDE_QUATERNION_COV_DATA"],["impl Clone for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Clone for GLOBAL_POSITION_INT_COV_DATA"],["impl Clone for PARAM_EXT_VALUE_DATA"],["impl Clone for FenceBreach"],["impl Clone for GPS_RTK_DATA"],["impl Clone for MotorTestOrder"],["impl Clone for SET_HOME_POSITION_DATA"],["impl Clone for PARAM_EXT_VALUE_DATA"],["impl Clone for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl Clone for DEBUG_DATA"],["impl Clone for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Clone for GoproCaptureMode"],["impl Clone for CELLULAR_STATUS_DATA"],["impl Clone for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Clone for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Clone for CAMERA_INFORMATION_DATA"],["impl Clone for SerialControlFlag"],["impl Clone for GENERATOR_STATUS_DATA"],["impl Clone for GPS_STATUS_DATA"],["impl Clone for TERRAIN_DATA_DATA"],["impl Clone for TERRAIN_REQUEST_DATA"],["impl Clone for PING_DATA"],["impl Clone for GripperActions"],["impl Clone for HWSTATUS_DATA"],["impl Clone for RC_CHANNELS_SCALED_DATA"],["impl Clone for IcarousTrackBandTypes"],["impl Clone for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Clone for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Clone for PlaneMode"],["impl Clone for PARAM_EXT_REQUEST_READ_DATA"],["impl Clone for MavEstimatorType"],["impl Clone for GPS_RAW_INT_DATA"],["impl Clone for MavPowerStatus"],["impl Clone for HOME_POSITION_DATA"],["impl Clone for UtmFlightState"],["impl Clone for STATUSTEXT_DATA"],["impl Clone for CAN_FRAME_DATA"],["impl Clone for HIGH_LATENCY2_DATA"],["impl Clone for HIGH_LATENCY2_DATA"],["impl Clone for MavModeFlagDecodePosition"],["impl Clone for TUNNEL_DATA"],["impl Clone for ISBD_LINK_STATUS_DATA"],["impl Clone for MISSION_ITEM_INT_DATA"],["impl Clone for MavComponent"],["impl Clone for ESC_TELEMETRY_5_TO_8_DATA"],["impl Clone for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Clone for RcType"],["impl Clone for MotorTestOrder"],["impl Clone for LOGGING_DATA_DATA"],["impl Clone for MavCollisionAction"],["impl Clone for DEVICE_OP_WRITE_DATA"],["impl Clone for CellularStatusFlag"],["impl Clone for SCALED_PRESSURE3_DATA"],["impl Clone for MavBatteryMode"],["impl Clone for OPTICAL_FLOW_DATA"],["impl Clone for WinchActions"],["impl Clone for LOG_DATA_DATA"],["impl Clone for HIL_GPS_DATA"],["impl Clone for MavFtpErr"],["impl Clone for MavGoto"],["impl Clone for AisFlags"],["impl Clone for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Clone for EscConnectionType"],["impl Clone for AttitudeTargetTypemask"],["impl Clone for POWER_STATUS_DATA"],["impl Clone for LANDING_TARGET_DATA"],["impl Clone for FILE_TRANSFER_PROTOCOL_DATA"],["impl Clone for ALTITUDE_DATA"],["impl Clone for ESC_STATUS_DATA"],["impl Clone for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Clone for TUNNEL_DATA"],["impl Clone for GIMBAL_MANAGER_STATUS_DATA"],["impl Clone for UavionixAdsbRfHealth"],["impl Clone for LOG_REQUEST_DATA_DATA"],["impl Clone for VIBRATION_DATA"],["impl Clone for MavSysStatusSensor"],["impl Clone for AdsbAltitudeType"],["impl Clone for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Clone for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Clone for ATTITUDE_TARGET_DATA"],["impl Clone for TERRAIN_DATA_DATA"],["impl Clone for FOLLOW_TARGET_DATA"],["impl Clone for ISBD_LINK_STATUS_DATA"],["impl Clone for HIGH_LATENCY2_DATA"],["impl Clone for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Clone for HIGH_LATENCY_DATA"],["impl Clone for EscConnectionType"],["impl Clone for MavModeFlag"],["impl Clone for TERRAIN_REPORT_DATA"],["impl Clone for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Clone for StorageType"],["impl Clone for POSITION_TARGET_LOCAL_NED_DATA"],["impl Clone for MavFtpOpcode"],["impl Clone for SAFETY_ALLOWED_AREA_DATA"],["impl Clone for CameraMode"],["impl Clone for CAMERA_CAPTURE_STATUS_DATA"],["impl Clone for GoproProtuneColour"],["impl Clone for SCALED_PRESSURE3_DATA"],["impl Clone for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Clone for ADSB_VEHICLE_DATA"],["impl Clone for AUTOPILOT_VERSION_REQUEST_DATA"],["impl Clone for DISTANCE_SENSOR_DATA"],["impl Clone for DATA16_DATA"],["impl Clone for VIDEO_STREAM_INFORMATION_DATA"],["impl Clone for PrecisionLandMode"],["impl Clone for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Clone for MavOdidClassEu"],["impl Clone for HIL_RC_INPUTS_RAW_DATA"],["impl Clone for MavDoRepositionFlags"],["impl Clone for AIS_VESSEL_DATA"],["impl Clone for OPTICAL_FLOW_DATA"],["impl Clone for OsdParamConfigError"],["impl Clone for MavWinchStatusFlag"],["impl Clone for BUTTON_CHANGE_DATA"],["impl Clone for RcType"],["impl Clone for GOPRO_SET_RESPONSE_DATA"],["impl Clone for OPTICAL_FLOW_RAD_DATA"],["impl Clone for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Clone for CURRENT_EVENT_SEQUENCE_DATA"],["impl Clone for PARAM_VALUE_DATA"],["impl Clone for GimbalDeviceErrorFlags"],["impl Clone for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Clone for HilSensorUpdatedFlags"],["impl Clone for SCALED_IMU_DATA"],["impl Clone for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Clone for MEMORY_VECT_DATA"],["impl Clone for MavSysStatusSensor"],["impl Clone for PARAM_REQUEST_LIST_DATA"],["impl Clone for VFR_HUD_DATA"],["impl Clone for StorageUsageFlag"],["impl Clone for GimbalDeviceErrorFlags"],["impl Clone for GPS2_RAW_DATA"],["impl Clone for OBSTACLE_DISTANCE_3D_DATA"],["impl Clone for CellularConfigResponse"],["impl Clone for MavBatteryChargeState"],["impl Clone for GPS_RAW_INT_DATA"],["impl Clone for TERRAIN_CHECK_DATA"],["impl Clone for MISSION_ACK_DATA"],["impl Clone for RAW_PRESSURE_DATA"],["impl Clone for RAW_IMU_DATA"],["impl Clone for MavRoi"],["impl Clone for CameraMode"],["impl Clone for SCALED_IMU2_DATA"],["impl Clone for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Clone for STORAGE_INFORMATION_DATA"],["impl Clone for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Clone for ATT_POS_MOCAP_DATA"],["impl Clone for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Clone for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Clone for CELLULAR_CONFIG_DATA"],["impl Clone for ACTUATOR_CONTROL_TARGET_DATA"],["impl Clone for CELLULAR_CONFIG_DATA"],["impl Clone for EVENT_DATA"],["impl Clone for ESC_INFO_DATA"],["impl Clone for HEARTBEAT_DATA"],["impl Clone for UavcanNodeMode"],["impl Clone for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Clone for GoproRequestStatus"],["impl Clone for MavType"],["impl Clone for ATT_POS_MOCAP_DATA"],["impl Clone for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Clone for ActuatorOutputFunction"],["impl Clone for MavOdidStatus"],["impl Clone for HYGROMETER_SENSOR_DATA"],["impl Clone for PLAY_TUNE_DATA"],["impl Clone for AisType"],["impl Clone for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Clone for V2_EXTENSION_DATA"],["impl Clone for PARAM_MAP_RC_DATA"],["impl Clone for CAMERA_FOV_STATUS_DATA"],["impl Clone for HighresImuUpdatedFlags"],["impl Clone for RC_CHANNELS_OVERRIDE_DATA"],["impl Clone for FenceMitigate"],["impl Clone for StorageStatus"],["impl Clone for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Clone for AisType"],["impl Clone for MavArmAuthDeniedReason"],["impl Clone for GoproFrameRate"],["impl Clone for ATTITUDE_QUATERNION_DATA"],["impl Clone for CanFilterOp"],["impl Clone for MavType"],["impl Clone for LOG_ENTRY_DATA"],["impl Clone for GPS2_RAW_DATA"],["impl Clone for MavOdidTimeAcc"],["impl Clone for GimbalAxis"],["impl Clone for LandingTargetType"],["impl Clone for AIRSPEED_AUTOCAL_DATA"],["impl Clone for EstimatorStatusFlags"],["impl Clone for PARAM_EXT_REQUEST_READ_DATA"],["impl Clone for UavionixAdsbOutCfgGpsOffsetLat"],["impl Clone for IcarousFmsState"],["impl Clone for MavTunnelPayloadType"],["impl Clone for RAW_PRESSURE_DATA"],["impl Clone for MISSION_COUNT_DATA"],["impl Clone for FailureUnit"],["impl Clone for EFI_STATUS_DATA"],["impl Clone for CELLULAR_CONFIG_DATA"],["impl Clone for LOGGING_DATA_ACKED_DATA"],["impl Clone for RESOURCE_REQUEST_DATA"],["impl Clone for CameraTrackingStatusFlags"],["impl Clone for ONBOARD_COMPUTER_STATUS_DATA"],["impl Clone for MavCmdAck"],["impl Clone for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Clone for MavFtpErr"],["impl Clone for RC_CHANNELS_SCALED_DATA"],["impl Clone for MavOdidStatus"],["impl Clone for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Clone for MISSION_SET_CURRENT_DATA"],["impl Clone for MavCollisionThreatLevel"],["impl Clone for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Clone for MISSION_CURRENT_DATA"],["impl Clone for GIMBAL_REPORT_DATA"],["impl Clone for GripperActions"],["impl Clone for MavOdidOperatorLocationType"],["impl Clone for RC_CHANNELS_OVERRIDE_DATA"],["impl Clone for HIL_GPS_DATA"],["impl Clone for MavOdidIdType"],["impl Clone for ActuatorOutputFunction"],["impl Clone for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Clone for ENCAPSULATED_DATA_DATA"],["impl Clone for STATUSTEXT_DATA"],["impl Clone for IcarousFmsState"],["impl Clone for MavModeFlagDecodePosition"],["impl Clone for OPTICAL_FLOW_DATA"],["impl Clone for COMMAND_INT_DATA"],["impl Clone for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Clone for MavAutopilot"],["impl Clone for MavOdidClassificationType"],["impl Clone for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Clone for MavParamType"],["impl Clone for LimitsState"],["impl Clone for MavEstimatorType"],["impl Clone for CAN_FRAME_DATA"],["impl Clone for SCALED_PRESSURE2_DATA"],["impl Clone for GOPRO_GET_RESPONSE_DATA"],["impl Clone for LOG_REQUEST_LIST_DATA"],["impl Clone for ODOMETRY_DATA"],["impl Clone for ATTITUDE_QUATERNION_DATA"],["impl Clone for PARAM_EXT_REQUEST_LIST_DATA"],["impl Clone for CAN_FRAME_DATA"],["impl Clone for CUBEPILOT_RAW_RC_DATA"],["impl Clone for AHRS2_DATA"],["impl Clone for RC_CHANNELS_RAW_DATA"],["impl Clone for COMPONENT_INFORMATION_DATA"],["impl Clone for OrbitYawBehaviour"],["impl Clone for CHANGE_OPERATOR_CONTROL_DATA"],["impl Clone for MISSION_REQUEST_LIST_DATA"],["impl Clone for MavMissionResult"],["impl Clone for HIL_CONTROLS_DATA"],["impl Clone for GimbalManagerFlags"],["impl Clone for PARAM_VALUE_DATA"],["impl Clone for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Clone for GPS_GLOBAL_ORIGIN_DATA"],["impl Clone for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Clone for PING_DATA"],["impl Clone for MavRoi"],["impl Clone for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Clone for CellularConfigResponse"],["impl Clone for MavDoRepositionFlags"],["impl<M: Clone + Message> Clone for MavFrame<M>"],["impl Clone for RADIO_STATUS_DATA"],["impl Clone for DATA32_DATA"],["impl Clone for LandingTargetType"],["impl Clone for SUPPORTED_TUNES_DATA"],["impl Clone for GLOBAL_POSITION_INT_DATA"],["impl Clone for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Clone for LOG_ERASE_DATA"],["impl Clone for HilSensorUpdatedFlags"],["impl Clone for DATA_STREAM_DATA"],["impl Clone for GPS_INPUT_DATA"],["impl Clone for CAMERA_CAPTURE_STATUS_DATA"],["impl Clone for OPEN_DRONE_ID_LOCATION_DATA"],["impl Clone for VideoStreamType"],["impl Clone for MavState"],["impl Clone for PARAM_EXT_REQUEST_READ_DATA"],["impl Clone for FenceAction"],["impl Clone for UtmDataAvailFlags"],["impl Clone for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl Clone for MavRemoteLogDataBlockCommands"],["impl Clone for ATTITUDE_DATA"],["impl Clone for PARAM_REQUEST_READ_DATA"],["impl Clone for DEBUG_DATA"],["impl Clone for SAFETY_ALLOWED_AREA_DATA"],["impl Clone for SET_ATTITUDE_TARGET_DATA"],["impl Clone for HIL_STATE_QUATERNION_DATA"],["impl Clone for CANFD_FRAME_DATA"],["impl Clone for BATTERY2_DATA"],["impl Clone for MavOdidIdType"],["impl Clone for MavOdidTimeAcc"],["impl Clone for UAVCAN_NODE_INFO_DATA"],["impl Clone for MavOdidClassEu"],["impl Clone for ESC_TELEMETRY_9_TO_12_DATA"],["impl Clone for BATTERY_STATUS_DATA"],["impl Clone for MAG_CAL_REPORT_DATA"],["impl Clone for LOG_REQUEST_DATA_DATA"],["impl Clone for CURRENT_EVENT_SEQUENCE_DATA"],["impl Clone for RADIO_DATA"],["impl Clone for FenceBreach"],["impl Clone for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Clone for MavlinkDataStreamType"],["impl Clone for UTM_GLOBAL_POSITION_DATA"],["impl Clone for SUPPORTED_TUNES_DATA"],["impl Clone for EscFailureFlags"],["impl Clone for GoproBurstRate"],["impl Clone for RAW_IMU_DATA"],["impl Clone for MISSION_ITEM_INT_DATA"],["impl Clone for AHRS3_DATA"],["impl Clone for SetFocusType"],["impl Clone for GoproHeartbeatFlags"],["impl Clone for STORAGE_INFORMATION_DATA"],["impl Clone for CAMERA_TRIGGER_DATA"],["impl Clone for MavMountMode"],["impl Clone for WifiConfigApResponse"],["impl Clone for CAMERA_INFORMATION_DATA"],["impl Clone for FENCE_FETCH_POINT_DATA"],["impl Clone for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Clone for RAW_RPM_DATA"],["impl Clone for WIFI_CONFIG_AP_DATA"],["impl Clone for DeepstallStage"],["impl Clone for MISSION_REQUEST_DATA"],["impl Clone for EXTENDED_SYS_STATE_DATA"],["impl Clone for NAMED_VALUE_INT_DATA"],["impl Clone for SET_MAG_OFFSETS_DATA"],["impl Clone for MISSION_ITEM_INT_DATA"],["impl Clone for SCALED_IMU3_DATA"],["impl Clone for MavBatteryFault"],["impl Clone for UtmFlightState"],["impl Clone for AIS_VESSEL_DATA"],["impl Clone for CellularNetworkRadioType"],["impl Clone for MavProtocolCapability"],["impl Clone for MavOdidAuthType"],["impl Clone for EstimatorStatusFlags"],["impl Clone for VIDEO_STREAM_INFORMATION_DATA"],["impl Clone for COMPONENT_INFORMATION_DATA"],["impl Clone for TuneFormat"],["impl Clone for MavWinchStatusFlag"],["impl Clone for CAN_FILTER_MODIFY_DATA"],["impl Clone for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Clone for MavResult"],["impl Clone for RESPONSE_EVENT_ERROR_DATA"],["impl Clone for MavSensorOrientation"],["impl Clone for CANFD_FRAME_DATA"],["impl Clone for MAG_CAL_REPORT_DATA"],["impl Clone for RAW_RPM_DATA"],["impl Clone for VICON_POSITION_ESTIMATE_DATA"],["impl Clone for RPM_DATA"],["impl Clone for RC_CHANNELS_RAW_DATA"],["impl Clone for LINK_NODE_STATUS_DATA"],["impl Clone for MISSION_REQUEST_INT_DATA"],["impl Clone for MavEventErrorReason"],["impl Clone for SCALED_PRESSURE_DATA"],["impl Clone for SET_MODE_DATA"],["impl Clone for MISSION_ITEM_DATA"],["impl Clone for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Clone for ONBOARD_COMPUTER_STATUS_DATA"],["impl Clone for GoproCommand"],["impl Clone for ONBOARD_COMPUTER_STATUS_DATA"],["impl Clone for V2_EXTENSION_DATA"],["impl Clone for MavVtolState"],["impl Clone for TIMESYNC_DATA"],["impl Clone for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Clone for ActuatorConfiguration"],["impl Clone for GimbalManagerFlags"],["impl Clone for GOPRO_HEARTBEAT_DATA"],["impl Clone for MavFtpOpcode"],["impl Clone for DEVICE_OP_READ_REPLY_DATA"],["impl Clone for UavcanNodeMode"],["impl Clone for GoproResolution"],["impl Clone for MavModeFlag"],["impl Clone for NavVtolLandOptions"],["impl Clone for SerialControlDev"],["impl Clone for UavionixAdsbOutDynamicState"],["impl Clone for GimbalDeviceCapFlags"],["impl Clone for COMMAND_LONG_DATA"],["impl Clone for SETUP_SIGNING_DATA"],["impl Clone for MISSION_CLEAR_ALL_DATA"],["impl Clone for PLAY_TUNE_DATA"],["impl Clone for FirmwareVersionType"],["impl Clone for STATUSTEXT_DATA"],["impl Clone for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Clone for RESPONSE_EVENT_ERROR_DATA"],["impl Clone for MavEventCurrentSequenceFlags"],["impl Clone for SetFocusType"],["impl Clone for CameraZoomType"],["impl Clone for UTM_GLOBAL_POSITION_DATA"],["impl Clone for MavDataStream"],["impl Clone for GLOBAL_POSITION_INT_COV_DATA"],["impl Clone for ODOMETRY_DATA"],["impl Clone for ADSB_VEHICLE_DATA"],["impl Clone for AUTH_KEY_DATA"],["impl Clone for SYS_STATUS_DATA"],["impl Clone for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Clone for VideoStreamStatusFlags"],["impl Clone for MISSION_CLEAR_ALL_DATA"],["impl Clone for HIL_SENSOR_DATA"],["impl Clone for VISION_POSITION_ESTIMATE_DATA"],["impl Clone for GimbalAxisCalibrationRequired"],["impl Clone for COLLISION_DATA"],["impl Clone for MavWinchStatusFlag"],["impl Clone for TERRAIN_REQUEST_DATA"],["impl Clone for MavResult"],["impl Clone for SCALED_IMU3_DATA"],["impl Clone for MISSION_REQUEST_INT_DATA"],["impl Clone for LOCAL_POSITION_NED_COV_DATA"],["impl Clone for MavOdidArmStatus"],["impl Clone for RAW_IMU_DATA"],["impl Clone for SIM_STATE_DATA"],["impl Clone for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Clone for PARAM_EXT_SET_DATA"],["impl Clone for GPS_INJECT_DATA_DATA"],["impl Clone for MavOdidIdType"],["impl Clone for MavCollisionThreatLevel"],["impl Clone for MavProtocolCapability"],["impl Clone for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Clone for LOGGING_ACK_DATA"],["impl Clone for StorageType"],["impl Clone for CAMERA_TRIGGER_DATA"],["impl Clone for ENCAPSULATED_DATA_DATA"],["impl Clone for MavModeFlagDecodePosition"],["impl Clone for HlFailureFlag"],["impl Clone for CAMERA_TRIGGER_DATA"],["impl Clone for GimbalDeviceErrorFlags"],["impl Clone for ADAP_TUNING_DATA"],["impl Clone for ESC_INFO_DATA"],["impl Clone for MavSysStatusSensorExtended"],["impl Clone for MavMissionType"],["impl Clone for SCALED_PRESSURE2_DATA"],["impl Clone for COMMAND_ACK_DATA"],["impl Clone for UAVCAN_NODE_STATUS_DATA"],["impl Clone for COMPONENT_INFORMATION_DATA"],["impl Clone for AdsbFlags"],["impl Clone for MavState"],["impl Clone for MEMORY_VECT_DATA"],["impl Clone for HlFailureFlag"],["impl Clone for LOG_REQUEST_END_DATA"],["impl Clone for DISTANCE_SENSOR_DATA"],["impl Clone for SubMode"],["impl Clone for WIND_DATA"],["impl Clone for ATTITUDE_TARGET_DATA"],["impl Clone for UavionixAdsbOutCfgGpsOffsetLon"],["impl Clone for HIL_OPTICAL_FLOW_DATA"],["impl Clone for LimitModule"],["impl Clone for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Clone for NavVtolLandOptions"],["impl Clone for HIL_OPTICAL_FLOW_DATA"],["impl Clone for HIL_ACTUATOR_CONTROLS_DATA"],["impl Clone for OBSTACLE_DISTANCE_DATA"],["impl Clone for MavRemoteLogDataBlockStatuses"],["impl Clone for GIMBAL_MANAGER_STATUS_DATA"],["impl Clone for MavModeGimbal"],["impl Clone for AdsbEmitterType"],["impl Clone for DEBUG_VECT_DATA"],["impl Clone for MISSION_CURRENT_DATA"],["impl Clone for GPS_INPUT_DATA"],["impl Clone for HIGHRES_IMU_DATA"],["impl Clone for COMMAND_INT_DATA"],["impl Clone for ODOMETRY_DATA"],["impl Clone for HeadingType"],["impl Clone for MavSysStatusSensorExtended"],["impl Clone for MavModeFlag"],["impl Clone for DIGICAM_CONTROL_DATA"],["impl Clone for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Clone for CellularConfigResponse"],["impl Clone for ESC_STATUS_DATA"],["impl Clone for MavSysStatusSensor"],["impl Clone for MISSION_SET_CURRENT_DATA"],["impl Clone for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Clone for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Clone for PARAM_EXT_ACK_DATA"],["impl Clone for LINK_NODE_STATUS_DATA"],["impl Clone for WifiConfigApResponse"],["impl Clone for HIL_STATE_QUATERNION_DATA"],["impl Clone for MavEventErrorReason"],["impl Clone for MavOdidClassificationType"],["impl Clone for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Clone for UavionixAdsbOutCfgAircraftSize"],["impl Clone for PROTOCOL_VERSION_DATA"],["impl Clone for MavMountMode"],["impl Clone for MOUNT_ORIENTATION_DATA"],["impl Clone for FILE_TRANSFER_PROTOCOL_DATA"],["impl Clone for SIM_STATE_DATA"],["impl Clone for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Clone for MESSAGE_INTERVAL_DATA"],["impl Clone for NAMED_VALUE_FLOAT_DATA"],["impl Clone for ESTIMATOR_STATUS_DATA"],["impl Clone for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Clone for LOGGING_DATA_DATA"],["impl Clone for HlFailureFlag"],["impl Clone for MESSAGE_INTERVAL_DATA"],["impl Clone for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Clone for MCU_STATUS_DATA"],["impl Clone for MEMORY_VECT_DATA"],["impl Clone for StorageType"],["impl Clone for SYS_STATUS_DATA"],["impl Clone for CanFilterOp"],["impl Clone for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Clone for StorageStatus"],["impl Clone for PositionTargetTypemask"],["impl Clone for SetFocusType"],["impl Clone for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Clone for CHANGE_OPERATOR_CONTROL_DATA"],["impl Clone for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Clone for V2_EXTENSION_DATA"],["impl Clone for RcType"],["impl Clone for MISSION_REQUEST_DATA"],["impl Clone for MavOdidSpeedAcc"],["impl Clone for ICAROUS_HEARTBEAT_DATA"],["impl Clone for CAMERA_STATUS_DATA"],["impl Clone for TERRAIN_CHECK_DATA"],["impl Clone for SCALED_PRESSURE3_DATA"],["impl Clone for MavMessage"],["impl Clone for MavCmd"],["impl Clone for StorageStatus"],["impl Clone for GimbalManagerCapFlags"],["impl Clone for WINCH_STATUS_DATA"],["impl Clone for MavBatteryMode"],["impl Clone for ESC_STATUS_DATA"],["impl Clone for GIMBAL_MANAGER_STATUS_DATA"],["impl Clone for VIDEO_STREAM_INFORMATION_DATA"],["impl Clone for MavParamExtType"],["impl Clone for MavTunnelPayloadType"],["impl Clone for FirmwareVersionType"],["impl Clone for OrbitYawBehaviour"],["impl Clone for MavCollisionSrc"],["impl Clone for MavCmd"],["impl Clone for UavcanNodeHealth"],["impl Clone for NavVtolLandOptions"],["impl Clone for AHRS_DATA"],["impl Clone for MavFrame"],["impl Clone for UTM_GLOBAL_POSITION_DATA"],["impl Clone for PARAM_SET_DATA"],["impl Clone for VideoStreamStatusFlags"],["impl Clone for MavDistanceSensor"],["impl Clone for MavCmdDoAuxFunctionSwitchLevel"],["impl Clone for DEEPSTALL_DATA"],["impl Clone for MavGeneratorStatusFlag"],["impl Clone for VISION_SPEED_ESTIMATE_DATA"],["impl Clone for DEBUG_VECT_DATA"],["impl Clone for MANUAL_CONTROL_DATA"],["impl Clone for OSD_PARAM_CONFIG_DATA"],["impl Clone for PARAM_EXT_SET_DATA"],["impl Clone for MavOdidStatus"],["impl Clone for MavLandedState"],["impl Clone for ATTITUDE_DATA"],["impl Clone for VIBRATION_DATA"],["impl Clone for CELLULAR_STATUS_DATA"],["impl Clone for MANUAL_SETPOINT_DATA"],["impl Clone for EscConnectionType"],["impl Clone for GPS_INJECT_DATA_DATA"],["impl Clone for MavOdidHorAcc"],["impl Clone for MavResult"],["impl Clone for CompMetadataType"],["impl Clone for AutotuneAxis"],["impl Clone for GPS_RTCM_DATA_DATA"],["impl Clone for SIMSTATE_DATA"],["impl Clone for WIND_COV_DATA"],["impl Clone for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Clone for MOUNT_ORIENTATION_DATA"],["impl Clone for UavionixAdsbOutRfSelect"],["impl Clone for MOUNT_ORIENTATION_DATA"],["impl Clone for AdsbFlags"],["impl Clone for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Clone for FailureType"],["impl Clone for WifiConfigApMode"],["impl Clone for SerialControlDev"],["impl Clone for RC_CHANNELS_RAW_DATA"],["impl Clone for ADSB_VEHICLE_DATA"],["impl Clone for GOPRO_SET_REQUEST_DATA"],["impl Clone for PositionTargetTypemask"],["impl Clone for GPS_RTK_DATA"],["impl Clone for MANUAL_SETPOINT_DATA"],["impl Clone for PARAM_EXT_VALUE_DATA"],["impl Clone for COMPONENT_METADATA_DATA"],["impl Clone for CAMERA_IMAGE_CAPTURED_DATA"],["impl Clone for MavOdidUaType"],["impl Clone for VIDEO_STREAM_STATUS_DATA"],["impl Clone for TERRAIN_DATA_DATA"],["impl Clone for COMMAND_CANCEL_DATA"],["impl Clone for SYSTEM_TIME_DATA"],["impl Clone for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Clone for MavCollisionThreatLevel"],["impl Clone for GLOBAL_POSITION_INT_DATA"],["impl Clone for SCALED_IMU3_DATA"],["impl Clone for UavcanNodeHealth"],["impl Clone for MavBatteryChargeState"],["impl Clone for AP_ADC_DATA"],["impl Clone for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl Clone for ORBIT_EXECUTION_STATUS_DATA"],["impl Clone for MavOdidHeightRef"],["impl Clone for PROTOCOL_VERSION_DATA"],["impl Clone for OPTICAL_FLOW_RAD_DATA"],["impl Clone for SYSTEM_TIME_DATA"],["impl Clone for WINCH_STATUS_DATA"],["impl Clone for GoproProtuneGain"],["impl Clone for MotorTestThrottleType"],["impl Clone for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Clone for UavionixAdsbOutRfSelect"],["impl Clone for GimbalManagerCapFlags"],["impl Clone for LOG_ENTRY_DATA"],["impl Clone for HIL_RC_INPUTS_RAW_DATA"],["impl Clone for PARAM_SET_DATA"],["impl Clone for CellularNetworkFailedReason"],["impl Clone for CAMERA_FEEDBACK_DATA"],["impl Clone for MavEstimatorType"],["impl Clone for HIGH_LATENCY_DATA"],["impl Clone for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Clone for HIL_OPTICAL_FLOW_DATA"],["impl Clone for MavFtpErr"],["impl Clone for PositionTargetTypemask"],["impl Clone for MavBatteryFault"],["impl Clone for MavlinkVersion"],["impl Clone for LOG_REQUEST_DATA_DATA"],["impl Clone for MavOdidDescType"],["impl Clone for SYS_STATUS_DATA"],["impl Clone for MISSION_ITEM_REACHED_DATA"],["impl Clone for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Clone for HIL_SENSOR_DATA"],["impl Clone for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Clone for ATTITUDE_DATA"],["impl Clone for MOUNT_CONFIGURE_DATA"],["impl Clone for HilSensorUpdatedFlags"],["impl Clone for MISSION_COUNT_DATA"],["impl Clone for PARAM_EXT_ACK_DATA"],["impl Clone for RallyFlags"],["impl Clone for GoproProtuneExposure"],["impl Clone for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Clone for VIBRATION_DATA"],["impl Clone for REQUEST_EVENT_DATA"],["impl Clone for LED_CONTROL_DATA"],["impl Clone for DATA96_DATA"],["impl Clone for MEMINFO_DATA"],["impl Clone for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Clone for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Clone for FailureType"],["impl Clone for HOME_POSITION_DATA"],["impl Clone for GpsInputIgnoreFlags"],["impl Clone for FirmwareVersionType"],["impl Clone for CAMERA_SETTINGS_DATA"],["impl Clone for CameraCapFlags"],["impl Clone for ActuatorConfiguration"],["impl Clone for ATT_POS_MOCAP_DATA"],["impl Clone for PreflightStorageParameterAction"],["impl Clone for RC_CHANNELS_DATA"],["impl Clone for MavBatteryMode"],["impl Clone for REQUEST_EVENT_DATA"],["impl Clone for HIL_SENSOR_DATA"],["impl Clone for SerialControlFlag"],["impl Clone for MavBatteryFunction"],["impl Clone for GENERATOR_STATUS_DATA"],["impl Clone for HIL_STATE_QUATERNION_DATA"],["impl Clone for ALTITUDE_DATA"],["impl Clone for DeviceOpBustype"],["impl Clone for NAV_CONTROLLER_OUTPUT_DATA"],["impl Clone for EkfStatusFlags"],["impl Clone for MagCalStatus"],["impl Clone for GoproProtuneWhiteBalance"],["impl Clone for MavCmdAck"],["impl Clone for BATTERY_STATUS_DATA"],["impl Clone for MavBatteryFunction"],["impl Clone for TIMESYNC_DATA"],["impl Clone for CELLULAR_STATUS_DATA"],["impl Clone for MavMissionResult"],["impl Clone for PARAM_REQUEST_READ_DATA"],["impl Clone for RtkBaselineCoordinateSystem"],["impl Clone for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl Clone for CameraTrackingTargetData"],["impl Clone for DIGICAM_CONFIGURE_DATA"],["impl Clone for MavOdidSpeedAcc"],["impl Clone for PreflightStorageParameterAction"],["impl Clone for ESTIMATOR_STATUS_DATA"],["impl Clone for DEVICE_OP_READ_DATA"],["impl Clone for CompMetadataType"],["impl Clone for MISSION_REQUEST_INT_DATA"],["impl Clone for HEARTBEAT_DATA"],["impl Clone for FENCE_STATUS_DATA"],["impl Clone for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Clone for OSD_PARAM_CONFIG_REPLY_DATA"],["impl Clone for MavFrame"],["impl Clone for HIL_STATE_DATA"],["impl Clone for HIL_ACTUATOR_CONTROLS_DATA"],["impl Clone for MavOdidArmStatus"],["impl Clone for CameraZoomType"],["impl Clone for GoproHeartbeatStatus"],["impl Clone for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Clone for MavCollisionAction"],["impl Clone for MavDataStream"],["impl Clone for SERIAL_CONTROL_DATA"],["impl Clone for EscFailureFlags"],["impl Clone for SCALED_IMU_DATA"],["impl Clone for SCALED_PRESSURE_DATA"],["impl Clone for GPS2_RAW_DATA"],["impl Clone for AisNavStatus"],["impl Clone for GENERATOR_STATUS_DATA"],["impl Clone for GimbalManagerCapFlags"],["impl Clone for MavCollisionSrc"],["impl Clone for MavOdidOperatorLocationType"],["impl Clone for HighresImuUpdatedFlags"],["impl Clone for NAMED_VALUE_INT_DATA"],["impl Clone for PLAY_TUNE_DATA"],["impl Clone for MISSION_ITEM_REACHED_DATA"],["impl Clone for MavOdidHorAcc"],["impl Clone for LOCAL_POSITION_NED_DATA"],["impl Clone for FailureUnit"],["impl Clone for UavionixAdsbRfHealth"],["impl Clone for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Clone for LINK_NODE_STATUS_DATA"],["impl Clone for LOG_ENTRY_DATA"],["impl Clone for MavOdidArmStatus"],["impl Clone for MavOdidDescType"],["impl Clone for MavOdidHeightRef"],["impl Clone for AisNavStatus"],["impl Clone for AttitudeTargetTypemask"],["impl Clone for RADIO_STATUS_DATA"],["impl Clone for RANGEFINDER_DATA"],["impl Clone for MavOdidClassEu"],["impl Clone for ATTITUDE_QUATERNION_COV_DATA"],["impl Clone for ENCAPSULATED_DATA_DATA"],["impl Clone for OPTICAL_FLOW_RAD_DATA"],["impl Clone for COLLISION_DATA"],["impl Clone for AUTOPILOT_VERSION_DATA"],["impl Clone for ParamAck"],["impl Clone for PARAM_EXT_REQUEST_LIST_DATA"],["impl Clone for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Clone for UtmDataAvailFlags"],["impl Clone for MavOdidAuthType"],["impl Clone for AUTOPILOT_VERSION_DATA"],["impl Clone for AUTH_KEY_DATA"],["impl Clone for LOCAL_POSITION_NED_DATA"],["impl Clone for MavType"],["impl Clone for VtolTransitionHeading"],["impl Clone for MAVLinkV1MessageRaw"],["impl Clone for ATTITUDE_QUATERNION_COV_DATA"],["impl Clone for SerialControlDev"],["impl Clone for MavOdidOperatorLocationType"],["impl Clone for CANFD_FRAME_DATA"],["impl Clone for HERELINK_TELEM_DATA"],["impl Clone for HIGHRES_IMU_DATA"],["impl Clone for CAMERA_INFORMATION_DATA"],["impl Clone for MISSION_CLEAR_ALL_DATA"],["impl Clone for GPS_RTCM_DATA_DATA"],["impl Clone for SCALED_IMU_DATA"],["impl Clone for POSITION_TARGET_LOCAL_NED_DATA"],["impl Clone for SET_ATTITUDE_TARGET_DATA"],["impl Clone for SAFETY_ALLOWED_AREA_DATA"],["impl Clone for RESPONSE_EVENT_ERROR_DATA"],["impl Clone for CameraStatusTypes"],["impl Clone for REQUEST_EVENT_DATA"],["impl Clone for AisFlags"],["impl Clone for FailureUnit"],["impl Clone for MavTunnelPayloadType"],["impl Clone for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Clone for MavOdidOperatorIdType"],["impl Clone for FOLLOW_TARGET_DATA"],["impl Clone for WifiConfigApResponse"],["impl Clone for CAN_FILTER_MODIFY_DATA"],["impl Clone for GimbalDeviceCapFlags"],["impl Clone for PARAM_REQUEST_LIST_DATA"],["impl Clone for SerialControlFlag"],["impl Clone for SET_HOME_POSITION_DATA"],["impl Clone for VideoStreamType"],["impl Clone for LOG_REQUEST_END_DATA"],["impl Clone for RC_CHANNELS_DATA"],["impl Clone for PreflightStorageMissionAction"],["impl Clone for MavOdidCategoryEu"],["impl Clone for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Clone for MavMessage"],["impl Clone for POWER_STATUS_DATA"],["impl Clone for MavPowerStatus"],["impl Clone for MavDataStream"],["impl Clone for CameraTrackingMode"],["impl Clone for MavLandedState"],["impl Clone for WINCH_STATUS_DATA"],["impl Clone for MANUAL_CONTROL_DATA"],["impl Clone for MissionState"],["impl Clone for CAN_FILTER_MODIFY_DATA"],["impl Clone for GimbalDeviceFlags"],["impl Clone for CameraTrackingStatusFlags"],["impl Clone for RtkBaselineCoordinateSystem"],["impl Clone for UavionixAdsbOutDynamicGpsFix"],["impl Clone for MavBatteryFault"],["impl Clone for DATA_STREAM_DATA"],["impl Clone for MESSAGE_INTERVAL_DATA"],["impl Clone for CAMERA_CAPTURE_STATUS_DATA"],["impl Clone for GpsFixType"],["impl Clone for FENCE_STATUS_DATA"],["impl Clone for GoproPhotoResolution"],["impl Clone for MavDoRepositionFlags"],["impl Clone for UavionixAdsbOutDynamicState"],["impl Clone for MavSensorOrientation"],["impl Clone for FENCE_POINT_DATA"],["impl Clone for GripperActions"],["impl Clone for DEVICE_OP_WRITE_REPLY_DATA"],["impl Clone for RoverMode"],["impl Clone for ORBIT_EXECUTION_STATUS_DATA"],["impl Clone for HIL_STATE_DATA"],["impl Clone for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Clone for GoproModel"],["impl Clone for HIL_RC_INPUTS_RAW_DATA"],["impl Clone for FILE_TRANSFER_PROTOCOL_DATA"],["impl Clone for MavMissionResult"],["impl Clone for DEBUG_FLOAT_ARRAY_DATA"],["impl Clone for MavMissionType"],["impl Clone for CameraTrackingTargetData"],["impl Clone for MavComponent"],["impl Clone for MavState"],["impl Clone for MavSysStatusSensorExtended"],["impl Clone for MavOdidVerAcc"],["impl Clone for CanFilterOp"],["impl Clone for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Clone for MavFrame"],["impl Clone for HEARTBEAT_DATA"],["impl Clone for TERRAIN_CHECK_DATA"],["impl Clone for UtmDataAvailFlags"],["impl Clone for GoproCharging"],["impl Clone for MavOdidOperatorIdType"],["impl Clone for VFR_HUD_DATA"],["impl Clone for AIS_VESSEL_DATA"],["impl Clone for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Clone for AdsbFlags"],["impl Clone for VISION_SPEED_ESTIMATE_DATA"],["impl Clone for LOG_ERASE_DATA"],["impl Clone for FenceMitigate"],["impl Clone for VideoStreamType"],["impl Clone for GPS2_RTK_DATA"],["impl Clone for COMMAND_INT_DATA"],["impl Clone for GLOBAL_POSITION_INT_DATA"],["impl Clone for MavMode"],["impl Clone for TIMESYNC_DATA"],["impl Clone for MavCmd"],["impl Clone for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Clone for COMMAND_ACK_DATA"],["impl Clone for WHEEL_DISTANCE_DATA"],["impl Clone for GoproVideoSettingsFlags"],["impl Clone for MotorTestThrottleType"],["impl Clone for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Clone for VICON_POSITION_ESTIMATE_DATA"],["impl Clone for LIMITS_STATUS_DATA"],["impl Clone for GPS_RTK_DATA"],["impl Clone for VISION_POSITION_DELTA_DATA"],["impl Clone for UAVCAN_NODE_STATUS_DATA"],["impl Clone for MISSION_ITEM_REACHED_DATA"],["impl Clone for FOLLOW_TARGET_DATA"],["impl Clone for MavBatteryType"],["impl Clone for GoproProtuneSharpness"],["impl Clone for VISION_POSITION_ESTIMATE_DATA"],["impl Clone for WIND_COV_DATA"],["impl Clone for MavParamType"],["impl Clone for PidTuningAxis"],["impl Clone for MavOdidSpeedAcc"],["impl Clone for UavcanNodeHealth"],["impl Clone for CAMERA_SETTINGS_DATA"],["impl Clone for MISSION_REQUEST_DATA"],["impl Clone for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl Clone for MANUAL_SETPOINT_DATA"],["impl Clone for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Clone for RALLY_POINT_DATA"],["impl Clone for ESC_TELEMETRY_1_TO_4_DATA"],["impl Clone for DATA_STREAM_DATA"],["impl Clone for UavionixAdsbOutDynamicGpsFix"],["impl Clone for CameraTrackingMode"],["impl Clone for SMART_BATTERY_INFO_DATA"],["impl Clone for MISSION_REQUEST_LIST_DATA"],["impl Clone for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Clone for MavOdidHeightRef"],["impl Clone for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Clone for COMPONENT_METADATA_DATA"],["impl Clone for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Clone for WATER_DEPTH_DATA"],["impl Clone for MavAutopilot"],["impl Clone for RC_CHANNELS_DATA"],["impl Clone for SET_HOME_POSITION_DATA"],["impl Clone for MISSION_ACK_DATA"],["impl Clone for SENSOR_OFFSETS_DATA"],["impl Clone for UtmFlightState"],["impl Clone for GPS_INJECT_DATA_DATA"],["impl Clone for AccelcalVehiclePos"],["impl Clone for AdsbEmitterType"],["impl Clone for SET_MODE_DATA"],["impl Clone for UavionixAdsbOutCfgGpsOffsetLat"],["impl Clone for PID_TUNING_DATA"],["impl Clone for COMMAND_ACK_DATA"],["impl Clone for AisNavStatus"],["impl Clone for CellularNetworkRadioType"],["impl Clone for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Clone for CAMERA_SETTINGS_DATA"],["impl Clone for LOGGING_DATA_ACKED_DATA"],["impl Clone for MavParamExtType"],["impl Clone for MavSensorOrientation"],["impl Clone for MavLandedState"],["impl Clone for MavEventCurrentSequenceFlags"],["impl Clone for MavMountMode"],["impl Clone for MavMode"],["impl Clone for SYSTEM_TIME_DATA"],["impl Clone for OPEN_DRONE_ID_LOCATION_DATA"],["impl Clone for GIMBAL_CONTROL_DATA"],["impl Clone for MISSION_CURRENT_DATA"],["impl Clone for VFR_HUD_DATA"],["impl Clone for PLAY_TUNE_V2_DATA"],["impl Clone for LOCAL_POSITION_NED_COV_DATA"],["impl Clone for WHEEL_DISTANCE_DATA"],["impl Clone for MavVtolState"],["impl Clone for OsdParamConfigType"],["impl Clone for COMPONENT_METADATA_DATA"],["impl Clone for LOCAL_POSITION_NED_DATA"],["impl Clone for CellularStatusFlag"],["impl Clone for VtolTransitionHeading"],["impl Clone for COMMAND_LONG_DATA"],["impl Clone for FailureType"],["impl Clone for UAVCAN_NODE_STATUS_DATA"],["impl Clone for MavOdidClassificationType"],["impl Clone for COMMAND_CANCEL_DATA"],["impl Clone for PROTOCOL_VERSION_DATA"],["impl Clone for SET_ATTITUDE_TARGET_DATA"],["impl Clone for CameraCapFlags"],["impl Clone for AisType"],["impl Clone for GPS_GLOBAL_ORIGIN_DATA"],["impl Clone for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Clone for MissionState"],["impl Clone for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Clone for TERRAIN_REPORT_DATA"],["impl Clone for PLAY_TUNE_V2_DATA"],["impl Clone for MISSION_ITEM_DATA"],["impl Clone for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Clone for BATTERY_STATUS_DATA"],["impl Clone for CameraTrackingStatusFlags"],["impl Clone for MavAutopilot"],["impl Clone for PARAM_MAP_RC_DATA"],["impl Clone for SCALED_PRESSURE2_DATA"],["impl Clone for MOUNT_CONTROL_DATA"],["impl Clone for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Clone for OSD_PARAM_SHOW_CONFIG_DATA"],["impl Clone for MavGoto"],["impl Clone for MavEventCurrentSequenceFlags"],["impl Clone for LOGGING_ACK_DATA"],["impl Clone for EXTENDED_SYS_STATE_DATA"],["impl Clone for HIL_GPS_DATA"],["impl Clone for MavComponent"],["impl Clone for MavGeneratorStatusFlag"],["impl Clone for DISTANCE_SENSOR_DATA"],["impl Clone for HIGH_LATENCY_DATA"],["impl Clone for MavVtolState"],["impl Clone for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Clone for GpsInputIgnoreFlags"],["impl Clone for MavMessage"],["impl Clone for MavSeverity"],["impl Clone for HYGROMETER_SENSOR_DATA"],["impl Clone for IcarousTrackBandTypes"],["impl Clone for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Clone for CameraCapFlags"],["impl Clone for FENCE_STATUS_DATA"],["impl Clone for MavDistanceSensor"],["impl Clone for OrbitYawBehaviour"],["impl Clone for PARAM_VALUE_DATA"],["impl Clone for UavionixAdsbEmergencyStatus"],["impl Clone for ACTUATOR_CONTROL_TARGET_DATA"],["impl Clone for CameraFeedbackFlags"],["impl Clone for RADIO_STATUS_DATA"],["impl Clone for DEBUG_DATA"],["impl Clone for DEBUG_FLOAT_ARRAY_DATA"],["impl Clone for WinchActions"],["impl Clone for PARAM_EXT_ACK_DATA"],["impl Clone for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Clone for StorageUsageFlag"],["impl Clone for HIL_CONTROLS_DATA"],["impl Clone for GpsFixType"],["impl Clone for WinchActions"],["impl Clone for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Clone for MavlinkDataStreamType"],["impl Clone for COLLISION_DATA"],["impl Clone for MavParamType"],["impl Clone for MISSION_ACK_DATA"],["impl Clone for MANUAL_CONTROL_DATA"],["impl Clone for ATTITUDE_TARGET_DATA"],["impl Clone for HOME_POSITION_DATA"],["impl Clone for MavHeader"],["impl Clone for VICON_POSITION_ESTIMATE_DATA"],["impl Clone for RALLY_FETCH_POINT_DATA"],["impl Clone for CellularStatusFlag"],["impl Clone for MavArmAuthDeniedReason"],["impl Clone for AdsbAltitudeType"],["impl Clone for EKF_STATUS_REPORT_DATA"],["impl Clone for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Clone for LOG_REQUEST_LIST_DATA"],["impl Clone for MavCollisionAction"],["impl Clone for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Clone for LOGGING_DATA_ACKED_DATA"],["impl Clone for MavOdidCategoryEu"],["impl Clone for MavOdidOperatorIdType"],["impl Clone for SUPPORTED_TUNES_DATA"],["impl Clone for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Clone for PARAM_EXT_REQUEST_LIST_DATA"],["impl Clone for POSITION_TARGET_LOCAL_NED_DATA"],["impl Clone for RAW_RPM_DATA"],["impl Clone for CONTROL_SYSTEM_STATE_DATA"],["impl Clone for AUTH_KEY_DATA"],["impl Clone for CHANGE_OPERATOR_CONTROL_DATA"],["impl Clone for FenceAction"],["impl Clone for LANDING_TARGET_DATA"],["impl Clone for CellularNetworkRadioType"],["impl Clone for ScriptingCmd"],["impl Clone for EscFailureFlags"],["impl Clone for CONTROL_SYSTEM_STATE_DATA"],["impl Clone for PreflightStorageParameterAction"],["impl Clone for GoproFieldOfView"],["impl Clone for ParachuteAction"],["impl Clone for MavOdidDescType"],["impl Clone for GPS_INPUT_DATA"],["impl Clone for MavOdidVerAcc"],["impl Clone for MISSION_COUNT_DATA"],["impl Clone for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Clone for GPS2_RTK_DATA"],["impl Clone for HighresImuUpdatedFlags"],["impl Clone for MagCalStatus"],["impl Clone for EFI_STATUS_DATA"],["impl Clone for MavCollisionSrc"],["impl Clone for ICAROUS_HEARTBEAT_DATA"],["impl Clone for SETUP_SIGNING_DATA"],["impl Clone for MagCalStatus"],["impl Clone for MotorTestOrder"],["impl Clone for OBSTACLE_DISTANCE_DATA"],["impl Clone for StorageUsageFlag"],["impl Clone for GimbalManagerFlags"],["impl Clone for ActuatorConfiguration"],["impl Clone for HYGROMETER_SENSOR_DATA"],["impl Clone for CURRENT_EVENT_SEQUENCE_DATA"],["impl Clone for SCALED_IMU2_DATA"],["impl Clone for EXTENDED_SYS_STATE_DATA"],["impl Clone for SCALED_PRESSURE_DATA"],["impl Clone for MOUNT_STATUS_DATA"],["impl Clone for AOA_SSA_DATA"],["impl Clone for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Clone for RAW_PRESSURE_DATA"],["impl Clone for TrackerMode"],["impl Clone for MISSION_SET_CURRENT_DATA"],["impl Clone for FenceAction"],["impl Clone for TERRAIN_REPORT_DATA"],["impl Clone for ACTUATOR_CONTROL_TARGET_DATA"],["impl Clone for AutotuneAxis"],["impl Clone for ParamAck"],["impl Clone for PARAM_EXT_SET_DATA"],["impl Clone for CopterMode"],["impl Clone for MavSeverity"],["impl Clone for PreflightStorageMissionAction"],["impl Clone for FenceMitigate"],["impl Clone for GimbalDeviceFlags"],["impl Clone for COMMAND_LONG_DATA"],["impl Clone for AttitudeTargetTypemask"],["impl Clone for LOGGING_ACK_DATA"],["impl Clone for UAVCAN_NODE_INFO_DATA"],["impl Clone for CAMERA_IMAGE_CAPTURED_DATA"],["impl Clone for LOG_REQUEST_END_DATA"],["impl Clone for ParamAck"],["impl Clone for COMMAND_CANCEL_DATA"],["impl Clone for LANDING_TARGET_DATA"],["impl Clone for LOCAL_POSITION_NED_COV_DATA"],["impl Clone for PrecisionLandMode"],["impl Clone for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Clone for PING_DATA"],["impl Clone for GpsFixType"],["impl Clone for MavSeverity"],["impl Clone for ISBD_LINK_STATUS_DATA"],["impl Clone for MavEventErrorReason"],["impl Clone for EFI_STATUS_DATA"],["impl Clone for ActuatorOutputFunction"],["impl Clone for POWER_STATUS_DATA"],["impl Clone for REQUEST_DATA_STREAM_DATA"],["impl Clone for GPS_RAW_INT_DATA"],["impl Clone for MavFtpOpcode"],["impl Clone for BUTTON_CHANGE_DATA"],["impl Clone for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Clone for MAG_CAL_PROGRESS_DATA"],["impl Clone for MavOdidVerAcc"],["impl Clone for FLIGHT_INFORMATION_DATA"],["impl Clone for MISSION_ITEM_DATA"],["impl Clone for WIFI_CONFIG_AP_DATA"],["impl Clone for EVENT_DATA"],["impl Clone for TERRAIN_REQUEST_DATA"],["impl Clone for AisFlags"],["impl Clone for CompMetadataType"],["impl Clone for NAV_CONTROLLER_OUTPUT_DATA"],["impl Clone for HIL_ACTUATOR_CONTROLS_DATA"],["impl Clone for MavProtocolCapability"],["impl Clone for MavArmAuthDeniedReason"],["impl Clone for GpsInputIgnoreFlags"],["impl Clone for UavionixAdsbOutCfgGpsOffsetLon"],["impl Clone for SIM_STATE_DATA"],["impl Clone for SMART_BATTERY_INFO_DATA"],["impl Clone for PARAM_REQUEST_LIST_DATA"],["impl Clone for PLAY_TUNE_V2_DATA"],["impl Clone for GimbalDeviceCapFlags"],["impl Clone for HIL_STATE_DATA"],["impl Clone for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Clone for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Clone for MotorTestThrottleType"],["impl Clone for VideoStreamStatusFlags"],["impl Clone for EVENT_DATA"],["impl Clone for NAMED_VALUE_INT_DATA"],["impl Clone for FLIGHT_INFORMATION_DATA"],["impl Clone for EstimatorStatusFlags"],["impl Clone for MavOdidUaType"],["impl Clone for ALTITUDE_DATA"],["impl Clone for OBSTACLE_DISTANCE_DATA"],["impl Clone for MavGoto"],["impl Clone for MavOdidHorAcc"],["impl Clone for GimbalDeviceFlags"],["impl Clone for LOG_ERASE_DATA"],["impl Clone for DEBUG_VECT_DATA"],["impl Clone for CameraTrackingTargetData"],["impl Clone for GPS_STATUS_DATA"],["impl Clone for MavDistanceSensor"],["impl Clone for MavOdidCategoryEu"],["impl Clone for WHEEL_DISTANCE_DATA"],["impl Clone for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Clone for PARAM_MAP_RC_DATA"],["impl Clone for ESC_INFO_DATA"],["impl Clone for NAV_CONTROLLER_OUTPUT_DATA"],["impl Clone for CellularNetworkFailedReason"],["impl Clone for MavParamExtType"],["impl Clone for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Clone for SERIAL_CONTROL_DATA"],["impl Clone for SETUP_SIGNING_DATA"],["impl Clone for REMOTE_LOG_DATA_BLOCK_DATA"],["impl Clone for GimbalAxisCalibrationStatus"],["impl Clone for CONTROL_SYSTEM_STATE_DATA"],["impl Clone for ParachuteAction"],["impl Clone for DEBUG_FLOAT_ARRAY_DATA"],["impl Clone for CAMERA_FOV_STATUS_DATA"],["impl Clone for CameraZoomType"],["impl Clone for ParachuteAction"],["impl Clone for GPS_RTCM_DATA_DATA"],["impl Clone for SMART_BATTERY_INFO_DATA"],["impl Clone for PARAM_REQUEST_READ_DATA"],["impl Clone for ESTIMATOR_STATUS_DATA"],["impl Clone for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Clone for WIFI_CONFIG_AP_DATA"],["impl Clone for SCALED_IMU2_DATA"],["impl Clone for HIGHRES_IMU_DATA"],["impl Clone for AdsbEmitterType"],["impl Clone for FenceBreach"],["impl Clone for SERIAL_CONTROL_DATA"],["impl Clone for VtolTransitionHeading"],["impl Clone for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Clone for PARAM_SET_DATA"],["impl Clone for CAMERA_FOV_STATUS_DATA"],["impl Clone for TuneFormat"],["impl Clone for RC_CHANNELS_OVERRIDE_DATA"],["impl Clone for LOG_DATA_DATA"],["impl Clone for OPEN_DRONE_ID_LOCATION_DATA"],["impl Clone for MavBatteryType"],["impl Clone for LOG_DATA_DATA"],["impl Clone for MavMissionType"],["impl Clone for LOGGING_DATA_DATA"],["impl Clone for MavBatteryType"],["impl Clone for MavMessage"],["impl Clone for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Clone for SpeedType"],["impl Clone for REQUEST_DATA_STREAM_DATA"],["impl Clone for REQUEST_DATA_STREAM_DATA"],["impl Clone for VIDEO_STREAM_STATUS_DATA"],["impl Clone for LOG_REQUEST_LIST_DATA"],["impl Clone for GPS_STATUS_DATA"],["impl Clone for MAVLinkV2MessageRaw"],["impl Clone for GLOBAL_POSITION_INT_COV_DATA"],["impl Clone for HIL_CONTROLS_DATA"],["impl Clone for RtkBaselineCoordinateSystem"],["impl Clone for AdsbAltitudeType"],["impl Clone for STORAGE_INFORMATION_DATA"],["impl Clone for ORBIT_EXECUTION_STATUS_DATA"],["impl Clone for UavionixAdsbEmergencyStatus"],["impl Clone for SERVO_OUTPUT_RAW_DATA"],["impl Clone for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Clone for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Clone for VISION_SPEED_ESTIMATE_DATA"],["impl Clone for CameraMode"],["impl Clone for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl Clone for MavlinkDataStreamType"],["impl Clone for RC_CHANNELS_SCALED_DATA"],["impl Clone for LandingTargetType"],["impl Clone for UavionixAdsbOutCfgAircraftSize"],["impl Clone for GPS2_RTK_DATA"],["impl Clone for MavBatteryFunction"],["impl Clone for MavMode"],["impl Clone for MissionState"],["impl Clone for SET_MODE_DATA"],["impl Clone for VIDEO_STREAM_STATUS_DATA"],["impl Clone for MavRoi"],["impl Clone for UAVCAN_NODE_INFO_DATA"],["impl Clone for WifiConfigApMode"],["impl Clone for DATA64_DATA"],["impl Clone for TuneFormat"],["impl Clone for MavBatteryChargeState"],["impl Clone for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Clone for GPS_GLOBAL_ORIGIN_DATA"],["impl Clone for COMPASSMOT_STATUS_DATA"],["impl Clone for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Clone for LedControlPattern"],["impl Clone for VISION_POSITION_ESTIMATE_DATA"],["impl Clone for UavcanNodeMode"],["impl Clone for MavGeneratorStatusFlag"],["impl Clone for MavOdidUaType"],["impl Clone for GOPRO_GET_REQUEST_DATA"],["impl Clone for RESOURCE_REQUEST_DATA"],["impl Clone for SERVO_OUTPUT_RAW_DATA"],["impl Clone for NAMED_VALUE_FLOAT_DATA"],["impl Clone for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Clone for MAG_CAL_REPORT_DATA"],["impl Clone for CAMERA_IMAGE_CAPTURED_DATA"],["impl Clone for MavOdidTimeAcc"],["impl Clone for AutotuneAxis"],["impl Clone for MavOdidAuthType"]], +"mavlink":[["impl Clone for GIMBAL_MANAGER_STATUS_DATA"],["impl Clone for TUNNEL_DATA"],["impl Clone for FenceBreach"],["impl Clone for MavAutopilot"],["impl Clone for FailureType"],["impl Clone for GPS_RTK_DATA"],["impl Clone for SCALED_IMU3_DATA"],["impl Clone for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Clone for RC_CHANNELS_RAW_DATA"],["impl Clone for PARAM_SET_DATA"],["impl Clone for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Clone for MISSION_ITEM_REACHED_DATA"],["impl Clone for AUTOPILOT_VERSION_REQUEST_DATA"],["impl Clone for CHANGE_OPERATOR_CONTROL_DATA"],["impl Clone for PreflightStorageParameterAction"],["impl Clone for GPS2_RAW_DATA"],["impl Clone for CONTROL_SYSTEM_STATE_DATA"],["impl Clone for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Clone for MISSION_CURRENT_DATA"],["impl Clone for OPTICAL_FLOW_RAD_DATA"],["impl Clone for MotorTestOrder"],["impl Clone for UtmDataAvailFlags"],["impl Clone for StorageType"],["impl Clone for RADIO_DATA"],["impl Clone for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Clone for COMPONENT_INFORMATION_DATA"],["impl Clone for UAVCAN_NODE_INFO_DATA"],["impl Clone for MOUNT_ORIENTATION_DATA"],["impl Clone for FenceBreach"],["impl Clone for CompMetadataType"],["impl Clone for UavcanNodeMode"],["impl Clone for ONBOARD_COMPUTER_STATUS_DATA"],["impl Clone for ONBOARD_COMPUTER_STATUS_DATA"],["impl Clone for MavCmd"],["impl Clone for SCALED_IMU_DATA"],["impl Clone for SCALED_PRESSURE3_DATA"],["impl Clone for CAMERA_FOV_STATUS_DATA"],["impl Clone for LANDING_TARGET_DATA"],["impl Clone for MavCmdAck"],["impl Clone for DEVICE_OP_WRITE_REPLY_DATA"],["impl Clone for TERRAIN_CHECK_DATA"],["impl Clone for HWSTATUS_DATA"],["impl Clone for CellularConfigResponse"],["impl Clone for GENERATOR_STATUS_DATA"],["impl Clone for WINCH_STATUS_DATA"],["impl Clone for SCALED_PRESSURE_DATA"],["impl Clone for RAW_PRESSURE_DATA"],["impl Clone for RAW_IMU_DATA"],["impl Clone for MavEventCurrentSequenceFlags"],["impl Clone for VIDEO_STREAM_STATUS_DATA"],["impl Clone for MavOdidAuthType"],["impl Clone for LANDING_TARGET_DATA"],["impl Clone for ActuatorConfiguration"],["impl Clone for POSITION_TARGET_LOCAL_NED_DATA"],["impl Clone for CAMERA_TRIGGER_DATA"],["impl Clone for CANFD_FRAME_DATA"],["impl Clone for ATTITUDE_DATA"],["impl Clone for HighresImuUpdatedFlags"],["impl Clone for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Clone for REMOTE_LOG_DATA_BLOCK_DATA"],["impl Clone for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Clone for MavEstimatorType"],["impl Clone for PARAM_REQUEST_READ_DATA"],["impl Clone for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Clone for RtkBaselineCoordinateSystem"],["impl Clone for SCALED_IMU2_DATA"],["impl Clone for MavMissionResult"],["impl Clone for EKF_STATUS_REPORT_DATA"],["impl Clone for MISSION_REQUEST_INT_DATA"],["impl Clone for UtmFlightState"],["impl Clone for HIGH_LATENCY_DATA"],["impl Clone for GoproCharging"],["impl Clone for HIL_CONTROLS_DATA"],["impl Clone for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Clone for MavCollisionThreatLevel"],["impl Clone for MavVtolState"],["impl Clone for MavVtolState"],["impl Clone for HIL_STATE_DATA"],["impl Clone for VideoStreamType"],["impl Clone for LOGGING_DATA_DATA"],["impl Clone for CanFilterOp"],["impl Clone for RC_CHANNELS_SCALED_DATA"],["impl Clone for WIND_DATA"],["impl Clone for RESPONSE_EVENT_ERROR_DATA"],["impl Clone for COMMAND_LONG_DATA"],["impl Clone for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Clone for MISSION_COUNT_DATA"],["impl Clone for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Clone for SMART_BATTERY_INFO_DATA"],["impl Clone for TERRAIN_REPORT_DATA"],["impl Clone for VISION_POSITION_ESTIMATE_DATA"],["impl Clone for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Clone for PARAM_EXT_ACK_DATA"],["impl Clone for ESC_INFO_DATA"],["impl Clone for WinchActions"],["impl Clone for FailureUnit"],["impl Clone for UAVCAN_NODE_INFO_DATA"],["impl Clone for WIFI_CONFIG_AP_DATA"],["impl Clone for WATER_DEPTH_DATA"],["impl Clone for STORAGE_INFORMATION_DATA"],["impl Clone for COMMAND_LONG_DATA"],["impl Clone for AisType"],["impl Clone for GoproProtuneColour"],["impl Clone for V2_EXTENSION_DATA"],["impl Clone for CELLULAR_CONFIG_DATA"],["impl Clone for StorageStatus"],["impl Clone for MavBatteryFunction"],["impl Clone for MavOdidVerAcc"],["impl Clone for LOCAL_POSITION_NED_DATA"],["impl Clone for GpsInputIgnoreFlags"],["impl Clone for MavOdidHorAcc"],["impl Clone for PID_TUNING_DATA"],["impl Clone for GimbalManagerFlags"],["impl Clone for ATTITUDE_QUATERNION_COV_DATA"],["impl Clone for MavMountMode"],["impl Clone for MavState"],["impl Clone for CameraTrackingTargetData"],["impl Clone for MavRoi"],["impl Clone for ATTITUDE_QUATERNION_DATA"],["impl Clone for MavTunnelPayloadType"],["impl Clone for CANFD_FRAME_DATA"],["impl Clone for CAMERA_SETTINGS_DATA"],["impl Clone for MavOdidVerAcc"],["impl Clone for GPS2_RAW_DATA"],["impl Clone for GOPRO_GET_REQUEST_DATA"],["impl Clone for ESC_TELEMETRY_9_TO_12_DATA"],["impl Clone for SET_HOME_POSITION_DATA"],["impl Clone for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Clone for MavBatteryFunction"],["impl Clone for StorageType"],["impl Clone for CUBEPILOT_RAW_RC_DATA"],["impl Clone for RcType"],["impl Clone for MavOdidUaType"],["impl Clone for UtmFlightState"],["impl Clone for MISSION_CURRENT_DATA"],["impl Clone for RESOURCE_REQUEST_DATA"],["impl Clone for REQUEST_DATA_STREAM_DATA"],["impl Clone for SetFocusType"],["impl Clone for POWER_STATUS_DATA"],["impl Clone for UTM_GLOBAL_POSITION_DATA"],["impl Clone for SERVO_OUTPUT_RAW_DATA"],["impl Clone for MAG_CAL_REPORT_DATA"],["impl Clone for OPEN_DRONE_ID_LOCATION_DATA"],["impl Clone for AccelcalVehiclePos"],["impl Clone for POSITION_TARGET_LOCAL_NED_DATA"],["impl Clone for COLLISION_DATA"],["impl Clone for ODOMETRY_DATA"],["impl Clone for LOG_ENTRY_DATA"],["impl Clone for RAW_PRESSURE_DATA"],["impl Clone for TERRAIN_REPORT_DATA"],["impl Clone for LINK_NODE_STATUS_DATA"],["impl Clone for MavMissionType"],["impl Clone for HOME_POSITION_DATA"],["impl Clone for MavSensorOrientation"],["impl Clone for MavOdidCategoryEu"],["impl Clone for FLIGHT_INFORMATION_DATA"],["impl Clone for COMPONENT_METADATA_DATA"],["impl Clone for DISTANCE_SENSOR_DATA"],["impl Clone for NAMED_VALUE_FLOAT_DATA"],["impl Clone for AdsbFlags"],["impl Clone for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Clone for CameraTrackingMode"],["impl Clone for GripperActions"],["impl Clone for TERRAIN_REQUEST_DATA"],["impl Clone for ODOMETRY_DATA"],["impl Clone for WifiConfigApMode"],["impl Clone for HIGH_LATENCY2_DATA"],["impl Clone for FOLLOW_TARGET_DATA"],["impl Clone for OBSTACLE_DISTANCE_DATA"],["impl Clone for MOUNT_ORIENTATION_DATA"],["impl Clone for PARAM_EXT_SET_DATA"],["impl Clone for MOUNT_STATUS_DATA"],["impl Clone for GPS_INJECT_DATA_DATA"],["impl Clone for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Clone for ADSB_VEHICLE_DATA"],["impl Clone for ODOMETRY_DATA"],["impl Clone for ACTUATOR_CONTROL_TARGET_DATA"],["impl Clone for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Clone for AttitudeTargetTypemask"],["impl Clone for MISSION_REQUEST_LIST_DATA"],["impl Clone for TUNNEL_DATA"],["impl Clone for OSD_PARAM_SHOW_CONFIG_DATA"],["impl Clone for RESOURCE_REQUEST_DATA"],["impl Clone for PARAM_SET_DATA"],["impl Clone for MavRoi"],["impl Clone for LedControlPattern"],["impl Clone for MavModeGimbal"],["impl Clone for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Clone for NAV_CONTROLLER_OUTPUT_DATA"],["impl Clone for MAG_CAL_REPORT_DATA"],["impl Clone for WIND_COV_DATA"],["impl Clone for AdsbFlags"],["impl Clone for EkfStatusFlags"],["impl Clone for MavOdidOperatorLocationType"],["impl Clone for RC_CHANNELS_SCALED_DATA"],["impl Clone for CameraZoomType"],["impl Clone for MavCollisionThreatLevel"],["impl Clone for MavType"],["impl Clone for MavArmAuthDeniedReason"],["impl Clone for PARAM_SET_DATA"],["impl Clone for AisNavStatus"],["impl Clone for OBSTACLE_DISTANCE_DATA"],["impl Clone for LOG_REQUEST_LIST_DATA"],["impl Clone for SetFocusType"],["impl Clone for CameraTrackingTargetData"],["impl Clone for RC_CHANNELS_RAW_DATA"],["impl Clone for ParamAck"],["impl Clone for TuneFormat"],["impl Clone for CHANGE_OPERATOR_CONTROL_DATA"],["impl Clone for UtmDataAvailFlags"],["impl Clone for MavLandedState"],["impl Clone for RcType"],["impl Clone for MISSION_CLEAR_ALL_DATA"],["impl Clone for LOG_DATA_DATA"],["impl Clone for ParachuteAction"],["impl Clone for PLAY_TUNE_DATA"],["impl Clone for HIL_RC_INPUTS_RAW_DATA"],["impl Clone for FENCE_STATUS_DATA"],["impl Clone for WHEEL_DISTANCE_DATA"],["impl Clone for MavWinchStatusFlag"],["impl Clone for MavOdidClassificationType"],["impl Clone for VtolTransitionHeading"],["impl Clone for ATT_POS_MOCAP_DATA"],["impl Clone for ATT_POS_MOCAP_DATA"],["impl Clone for UavionixAdsbOutRfSelect"],["impl Clone for TERRAIN_REQUEST_DATA"],["impl Clone for COMPONENT_INFORMATION_DATA"],["impl Clone for VFR_HUD_DATA"],["impl Clone for DeviceOpBustype"],["impl Clone for MavFtpErr"],["impl Clone for VISION_SPEED_ESTIMATE_DATA"],["impl Clone for MISSION_REQUEST_LIST_DATA"],["impl Clone for IcarousFmsState"],["impl Clone for HIGHRES_IMU_DATA"],["impl Clone for LOG_REQUEST_DATA_DATA"],["impl Clone for MavLandedState"],["impl Clone for HYGROMETER_SENSOR_DATA"],["impl Clone for MavArmAuthDeniedReason"],["impl Clone for TERRAIN_DATA_DATA"],["impl Clone for CELLULAR_CONFIG_DATA"],["impl Clone for MavFrame"],["impl Clone for VICON_POSITION_ESTIMATE_DATA"],["impl Clone for IcarousTrackBandTypes"],["impl Clone for GoproProtuneWhiteBalance"],["impl Clone for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Clone for CameraTrackingStatusFlags"],["impl Clone for SAFETY_ALLOWED_AREA_DATA"],["impl Clone for MavPowerStatus"],["impl Clone for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Clone for MavResult"],["impl Clone for FirmwareVersionType"],["impl Clone for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl Clone for SETUP_SIGNING_DATA"],["impl Clone for CopterMode"],["impl Clone for PARAM_EXT_REQUEST_READ_DATA"],["impl Clone for LINK_NODE_STATUS_DATA"],["impl Clone for HilSensorUpdatedFlags"],["impl Clone for RC_CHANNELS_DATA"],["impl Clone for LOGGING_ACK_DATA"],["impl Clone for MISSION_SET_CURRENT_DATA"],["impl Clone for MANUAL_CONTROL_DATA"],["impl Clone for CAMERA_CAPTURE_STATUS_DATA"],["impl Clone for MavAutopilot"],["impl Clone for REQUEST_DATA_STREAM_DATA"],["impl Clone for CAMERA_IMAGE_CAPTURED_DATA"],["impl Clone for OSD_PARAM_CONFIG_DATA"],["impl Clone for EVENT_DATA"],["impl Clone for MavDoRepositionFlags"],["impl Clone for HIGH_LATENCY_DATA"],["impl Clone for MISSION_CURRENT_DATA"],["impl Clone for FOLLOW_TARGET_DATA"],["impl Clone for MagCalStatus"],["impl Clone for HIL_OPTICAL_FLOW_DATA"],["impl Clone for ORBIT_EXECUTION_STATUS_DATA"],["impl Clone for ATTITUDE_QUATERNION_COV_DATA"],["impl Clone for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Clone for OPTICAL_FLOW_DATA"],["impl Clone for UAVCAN_NODE_STATUS_DATA"],["impl Clone for MavBatteryMode"],["impl Clone for OsdParamConfigType"],["impl Clone for VideoStreamStatusFlags"],["impl Clone for VideoStreamStatusFlags"],["impl<M: Clone + Message> Clone for MavFrame<M>"],["impl Clone for CELLULAR_CONFIG_DATA"],["impl Clone for WIFI_CONFIG_AP_DATA"],["impl Clone for PreflightStorageMissionAction"],["impl Clone for AIRSPEED_AUTOCAL_DATA"],["impl Clone for ALTITUDE_DATA"],["impl Clone for FILE_TRANSFER_PROTOCOL_DATA"],["impl Clone for LOG_ERASE_DATA"],["impl Clone for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Clone for MavMissionResult"],["impl Clone for COMMAND_CANCEL_DATA"],["impl Clone for MavEstimatorType"],["impl Clone for VISION_POSITION_ESTIMATE_DATA"],["impl Clone for RtkBaselineCoordinateSystem"],["impl Clone for LOG_ERASE_DATA"],["impl Clone for GpsFixType"],["impl Clone for CameraZoomType"],["impl Clone for LOG_REQUEST_END_DATA"],["impl Clone for MavFtpOpcode"],["impl Clone for MavOdidUaType"],["impl Clone for DATA_STREAM_DATA"],["impl Clone for MavCollisionAction"],["impl Clone for GPS_GLOBAL_ORIGIN_DATA"],["impl Clone for HEARTBEAT_DATA"],["impl Clone for MavEventErrorReason"],["impl Clone for MavlinkDataStreamType"],["impl Clone for MEMORY_VECT_DATA"],["impl Clone for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Clone for CAN_FRAME_DATA"],["impl Clone for CompMetadataType"],["impl Clone for GimbalDeviceCapFlags"],["impl Clone for DEVICE_OP_WRITE_DATA"],["impl Clone for VICON_POSITION_ESTIMATE_DATA"],["impl Clone for MEMINFO_DATA"],["impl Clone for SerialControlFlag"],["impl Clone for GPS2_RTK_DATA"],["impl Clone for LOG_REQUEST_END_DATA"],["impl Clone for PARAM_MAP_RC_DATA"],["impl Clone for RADIO_STATUS_DATA"],["impl Clone for CAMERA_FOV_STATUS_DATA"],["impl Clone for MavType"],["impl Clone for LOGGING_DATA_DATA"],["impl Clone for STORAGE_INFORMATION_DATA"],["impl Clone for DEBUG_DATA"],["impl Clone for MavOdidSpeedAcc"],["impl Clone for WinchActions"],["impl Clone for MavBatteryFault"],["impl Clone for PARAM_REQUEST_READ_DATA"],["impl Clone for MavModeFlag"],["impl Clone for MavState"],["impl Clone for DEBUG_FLOAT_ARRAY_DATA"],["impl Clone for SCALED_IMU_DATA"],["impl Clone for GPS_INPUT_DATA"],["impl Clone for HIL_RC_INPUTS_RAW_DATA"],["impl Clone for ISBD_LINK_STATUS_DATA"],["impl Clone for MISSION_CLEAR_ALL_DATA"],["impl Clone for HighresImuUpdatedFlags"],["impl Clone for MavOdidClassificationType"],["impl Clone for MavOdidHorAcc"],["impl Clone for HOME_POSITION_DATA"],["impl Clone for TIMESYNC_DATA"],["impl Clone for GoproResolution"],["impl Clone for MISSION_ITEM_INT_DATA"],["impl Clone for POWER_STATUS_DATA"],["impl Clone for MavOdidDescType"],["impl Clone for MISSION_ACK_DATA"],["impl Clone for GPS_INJECT_DATA_DATA"],["impl Clone for MavModeFlag"],["impl Clone for UavionixAdsbOutDynamicGpsFix"],["impl Clone for MISSION_ITEM_INT_DATA"],["impl Clone for ALTITUDE_DATA"],["impl Clone for ENCAPSULATED_DATA_DATA"],["impl Clone for LOG_REQUEST_END_DATA"],["impl Clone for AisFlags"],["impl Clone for CAMERA_SETTINGS_DATA"],["impl Clone for StorageStatus"],["impl Clone for DEBUG_VECT_DATA"],["impl Clone for MavFrame"],["impl Clone for NAMED_VALUE_INT_DATA"],["impl Clone for TUNNEL_DATA"],["impl Clone for OrbitYawBehaviour"],["impl Clone for TIMESYNC_DATA"],["impl Clone for FILE_TRANSFER_PROTOCOL_DATA"],["impl Clone for MavSysStatusSensorExtended"],["impl Clone for HIL_STATE_QUATERNION_DATA"],["impl Clone for LOG_ERASE_DATA"],["impl Clone for PARAM_EXT_SET_DATA"],["impl Clone for PositionTargetTypemask"],["impl Clone for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Clone for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Clone for BUTTON_CHANGE_DATA"],["impl Clone for MavOdidIdType"],["impl Clone for SCALED_PRESSURE2_DATA"],["impl Clone for OBSTACLE_DISTANCE_3D_DATA"],["impl Clone for SYS_STATUS_DATA"],["impl Clone for DeepstallStage"],["impl Clone for CellularNetworkRadioType"],["impl Clone for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Clone for MotorTestOrder"],["impl Clone for PARAM_EXT_VALUE_DATA"],["impl Clone for PARAM_REQUEST_LIST_DATA"],["impl Clone for AHRS3_DATA"],["impl Clone for MISSION_REQUEST_DATA"],["impl Clone for OSD_PARAM_CONFIG_REPLY_DATA"],["impl Clone for MavEventErrorReason"],["impl Clone for UavionixAdsbOutCfgGpsOffsetLat"],["impl Clone for EVENT_DATA"],["impl Clone for FenceMitigate"],["impl Clone for PositionTargetTypemask"],["impl Clone for UavionixAdsbOutCfgGpsOffsetLat"],["impl Clone for MavOdidClassEu"],["impl Clone for SET_ATTITUDE_TARGET_DATA"],["impl Clone for FILE_TRANSFER_PROTOCOL_DATA"],["impl Clone for RcType"],["impl Clone for MavFtpOpcode"],["impl Clone for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl Clone for DEBUG_DATA"],["impl Clone for MavOdidOperatorLocationType"],["impl Clone for GPS_RAW_INT_DATA"],["impl Clone for MavCmd"],["impl Clone for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Clone for LOCAL_POSITION_NED_DATA"],["impl Clone for MavParamExtType"],["impl Clone for MavSeverity"],["impl Clone for DATA16_DATA"],["impl Clone for CAN_FILTER_MODIFY_DATA"],["impl Clone for GPS_RTCM_DATA_DATA"],["impl Clone for MavlinkDataStreamType"],["impl Clone for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Clone for MavEventCurrentSequenceFlags"],["impl Clone for DEBUG_VECT_DATA"],["impl Clone for GoproHeartbeatStatus"],["impl Clone for MavDistanceSensor"],["impl Clone for MANUAL_CONTROL_DATA"],["impl Clone for SCALED_IMU2_DATA"],["impl Clone for GimbalDeviceCapFlags"],["impl Clone for OPTICAL_FLOW_RAD_DATA"],["impl Clone for ADSB_VEHICLE_DATA"],["impl Clone for MavEstimatorType"],["impl Clone for GPS_RTCM_DATA_DATA"],["impl Clone for FenceMitigate"],["impl Clone for FailureType"],["impl Clone for MANUAL_SETPOINT_DATA"],["impl Clone for AisFlags"],["impl Clone for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Clone for GoproProtuneExposure"],["impl Clone for RC_CHANNELS_SCALED_DATA"],["impl Clone for GimbalDeviceFlags"],["impl Clone for HIL_STATE_QUATERNION_DATA"],["impl Clone for MISSION_ACK_DATA"],["impl Clone for SerialControlFlag"],["impl Clone for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Clone for MISSION_ITEM_DATA"],["impl Clone for ATTITUDE_QUATERNION_DATA"],["impl Clone for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Clone for EstimatorStatusFlags"],["impl Clone for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Clone for MISSION_ITEM_REACHED_DATA"],["impl Clone for PARAM_EXT_SET_DATA"],["impl Clone for ACTUATOR_CONTROL_TARGET_DATA"],["impl Clone for EFI_STATUS_DATA"],["impl Clone for StorageUsageFlag"],["impl Clone for HilSensorUpdatedFlags"],["impl Clone for MESSAGE_INTERVAL_DATA"],["impl Clone for MavParamType"],["impl Clone for MavParamExtType"],["impl Clone for PARAM_EXT_REQUEST_READ_DATA"],["impl Clone for CanFilterOp"],["impl Clone for SerialControlDev"],["impl Clone for WINCH_STATUS_DATA"],["impl Clone for GpsInputIgnoreFlags"],["impl Clone for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Clone for UavionixAdsbOutDynamicState"],["impl Clone for LOGGING_DATA_DATA"],["impl Clone for MavOdidStatus"],["impl Clone for EscFailureFlags"],["impl Clone for MavMissionType"],["impl Clone for GoproModel"],["impl Clone for VIDEO_STREAM_INFORMATION_DATA"],["impl Clone for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Clone for CellularStatusFlag"],["impl Clone for MavOdidClassEu"],["impl Clone for GimbalDeviceFlags"],["impl Clone for COMMAND_INT_DATA"],["impl Clone for SERIAL_CONTROL_DATA"],["impl Clone for GPS2_RTK_DATA"],["impl Clone for GoproVideoSettingsFlags"],["impl Clone for AUTH_KEY_DATA"],["impl Clone for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Clone for LIMITS_STATUS_DATA"],["impl Clone for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Clone for GIMBAL_CONTROL_DATA"],["impl Clone for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Clone for MavSysStatusSensor"],["impl Clone for V2_EXTENSION_DATA"],["impl Clone for GpsFixType"],["impl Clone for VISION_SPEED_ESTIMATE_DATA"],["impl Clone for VISION_POSITION_DELTA_DATA"],["impl Clone for PARAM_EXT_REQUEST_LIST_DATA"],["impl Clone for MOUNT_CONFIGURE_DATA"],["impl Clone for GoproPhotoResolution"],["impl Clone for GimbalManagerFlags"],["impl Clone for MavMode"],["impl Clone for MavCmdAck"],["impl Clone for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Clone for AttitudeTargetTypemask"],["impl Clone for MISSION_ITEM_DATA"],["impl Clone for MavMountMode"],["impl Clone for FENCE_STATUS_DATA"],["impl Clone for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Clone for GimbalDeviceErrorFlags"],["impl Clone for NAV_CONTROLLER_OUTPUT_DATA"],["impl Clone for COMPONENT_INFORMATION_DATA"],["impl Clone for MavModeFlagDecodePosition"],["impl Clone for MISSION_COUNT_DATA"],["impl Clone for MavCollisionSrc"],["impl Clone for MavBatteryFault"],["impl Clone for SET_HOME_POSITION_DATA"],["impl Clone for MavRemoteLogDataBlockStatuses"],["impl Clone for AisNavStatus"],["impl Clone for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Clone for MavOdidSpeedAcc"],["impl Clone for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Clone for DEBUG_FLOAT_ARRAY_DATA"],["impl Clone for STATUSTEXT_DATA"],["impl Clone for MavOdidHeightRef"],["impl Clone for LINK_NODE_STATUS_DATA"],["impl Clone for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Clone for HIL_SENSOR_DATA"],["impl Clone for ESTIMATOR_STATUS_DATA"],["impl Clone for ISBD_LINK_STATUS_DATA"],["impl Clone for CURRENT_EVENT_SEQUENCE_DATA"],["impl Clone for SET_MODE_DATA"],["impl Clone for FOLLOW_TARGET_DATA"],["impl Clone for MavOdidHorAcc"],["impl Clone for CAMERA_SETTINGS_DATA"],["impl Clone for LOGGING_DATA_ACKED_DATA"],["impl Clone for PositionTargetTypemask"],["impl Clone for CAN_FILTER_MODIFY_DATA"],["impl Clone for POSITION_TARGET_LOCAL_NED_DATA"],["impl Clone for PLAY_TUNE_DATA"],["impl Clone for STORAGE_INFORMATION_DATA"],["impl Clone for EXTENDED_SYS_STATE_DATA"],["impl Clone for VtolTransitionHeading"],["impl Clone for MavProtocolCapability"],["impl Clone for GPS_RAW_INT_DATA"],["impl Clone for GPS_INPUT_DATA"],["impl Clone for VIBRATION_DATA"],["impl Clone for WHEEL_DISTANCE_DATA"],["impl Clone for CURRENT_EVENT_SEQUENCE_DATA"],["impl Clone for MavBatteryChargeState"],["impl Clone for SYS_STATUS_DATA"],["impl Clone for EscConnectionType"],["impl Clone for GOPRO_SET_REQUEST_DATA"],["impl Clone for MavMode"],["impl Clone for AutotuneAxis"],["impl Clone for ADSB_VEHICLE_DATA"],["impl Clone for COMMAND_INT_DATA"],["impl Clone for SCALED_IMU3_DATA"],["impl Clone for SetFocusType"],["impl Clone for CAMERA_INFORMATION_DATA"],["impl Clone for SET_MAG_OFFSETS_DATA"],["impl Clone for LOCAL_POSITION_NED_COV_DATA"],["impl Clone for SUPPORTED_TUNES_DATA"],["impl Clone for MavOdidOperatorIdType"],["impl Clone for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Clone for MavMessage"],["impl Clone for MavBatteryType"],["impl Clone for TuneFormat"],["impl Clone for MavMountMode"],["impl Clone for ALTITUDE_DATA"],["impl Clone for MavCollisionThreatLevel"],["impl Clone for MotorTestThrottleType"],["impl Clone for MavOdidTimeAcc"],["impl Clone for CameraCapFlags"],["impl Clone for MavSysStatusSensorExtended"],["impl Clone for MavGeneratorStatusFlag"],["impl Clone for PROTOCOL_VERSION_DATA"],["impl Clone for ActuatorConfiguration"],["impl Clone for PING_DATA"],["impl Clone for VIBRATION_DATA"],["impl Clone for MavOdidHeightRef"],["impl Clone for UavionixAdsbOutRfSelect"],["impl Clone for NavVtolLandOptions"],["impl Clone for MavGeneratorStatusFlag"],["impl Clone for MavModeFlag"],["impl Clone for PreflightStorageMissionAction"],["impl Clone for VideoStreamType"],["impl Clone for COMPASSMOT_STATUS_DATA"],["impl Clone for UtmFlightState"],["impl Clone for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Clone for AUTOPILOT_VERSION_DATA"],["impl Clone for CameraCapFlags"],["impl Clone for GoproRequestStatus"],["impl Clone for MavSysStatusSensor"],["impl Clone for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Clone for SpeedType"],["impl Clone for PARAM_MAP_RC_DATA"],["impl Clone for WIFI_CONFIG_AP_DATA"],["impl Clone for SET_MODE_DATA"],["impl Clone for MISSION_REQUEST_DATA"],["impl Clone for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Clone for RC_CHANNELS_DATA"],["impl Clone for VtolTransitionHeading"],["impl Clone for HIGHRES_IMU_DATA"],["impl Clone for CellularStatusFlag"],["impl Clone for HIL_RC_INPUTS_RAW_DATA"],["impl Clone for ESC_STATUS_DATA"],["impl Clone for TERRAIN_CHECK_DATA"],["impl Clone for UavionixAdsbRfHealth"],["impl Clone for AUTH_KEY_DATA"],["impl Clone for GOPRO_SET_RESPONSE_DATA"],["impl Clone for GIMBAL_MANAGER_STATUS_DATA"],["impl Clone for GOPRO_HEARTBEAT_DATA"],["impl Clone for BUTTON_CHANGE_DATA"],["impl Clone for MavType"],["impl Clone for GPS_STATUS_DATA"],["impl Clone for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Clone for MavState"],["impl Clone for LOCAL_POSITION_NED_COV_DATA"],["impl Clone for GPS_STATUS_DATA"],["impl Clone for NavVtolLandOptions"],["impl Clone for UAVCAN_NODE_STATUS_DATA"],["impl Clone for CHANGE_OPERATOR_CONTROL_DATA"],["impl Clone for MavGoto"],["impl Clone for PARAM_MAP_RC_DATA"],["impl Clone for WifiConfigApMode"],["impl Clone for MAG_CAL_PROGRESS_DATA"],["impl Clone for CAN_FRAME_DATA"],["impl Clone for HEARTBEAT_DATA"],["impl Clone for EFI_STATUS_DATA"],["impl Clone for MavOdidAuthType"],["impl Clone for SCALED_PRESSURE_DATA"],["impl Clone for LOCAL_POSITION_NED_COV_DATA"],["impl Clone for VIDEO_STREAM_INFORMATION_DATA"],["impl Clone for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Clone for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Clone for CAMERA_TRIGGER_DATA"],["impl Clone for ActuatorOutputFunction"],["impl Clone for MavProtocolCapability"],["impl Clone for MavFtpOpcode"],["impl Clone for COMPONENT_METADATA_DATA"],["impl Clone for RESOURCE_REQUEST_DATA"],["impl Clone for GPS_RTCM_DATA_DATA"],["impl Clone for LimitModule"],["impl Clone for LOG_DATA_DATA"],["impl Clone for HIL_OPTICAL_FLOW_DATA"],["impl Clone for WinchActions"],["impl Clone for COMMAND_ACK_DATA"],["impl Clone for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Clone for MavCollisionSrc"],["impl Clone for GoproFrameRate"],["impl Clone for DISTANCE_SENSOR_DATA"],["impl Clone for MISSION_ITEM_DATA"],["impl Clone for CellularNetworkRadioType"],["impl Clone for SETUP_SIGNING_DATA"],["impl Clone for RC_CHANNELS_DATA"],["impl Clone for MavModeFlagDecodePosition"],["impl Clone for ICAROUS_HEARTBEAT_DATA"],["impl Clone for MavOdidDescType"],["impl Clone for ESC_STATUS_DATA"],["impl Clone for TIMESYNC_DATA"],["impl Clone for MavSysStatusSensorExtended"],["impl Clone for MavProtocolCapability"],["impl Clone for OPTICAL_FLOW_DATA"],["impl Clone for GimbalAxis"],["impl Clone for MavlinkVersion"],["impl Clone for PARAM_VALUE_DATA"],["impl Clone for POWER_STATUS_DATA"],["impl Clone for MISSION_REQUEST_LIST_DATA"],["impl Clone for PARAM_REQUEST_READ_DATA"],["impl Clone for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Clone for CELLULAR_STATUS_DATA"],["impl Clone for CameraTrackingMode"],["impl Clone for STATUSTEXT_DATA"],["impl Clone for RtkBaselineCoordinateSystem"],["impl Clone for LOG_DATA_DATA"],["impl Clone for MavOdidStatus"],["impl Clone for EFI_STATUS_DATA"],["impl Clone for SIM_STATE_DATA"],["impl Clone for AIS_VESSEL_DATA"],["impl Clone for LED_CONTROL_DATA"],["impl Clone for StorageUsageFlag"],["impl Clone for MANUAL_SETPOINT_DATA"],["impl Clone for DEBUG_FLOAT_ARRAY_DATA"],["impl Clone for PARAM_REQUEST_LIST_DATA"],["impl Clone for SIMSTATE_DATA"],["impl Clone for LOG_REQUEST_DATA_DATA"],["impl Clone for ATT_POS_MOCAP_DATA"],["impl Clone for OBSTACLE_DISTANCE_DATA"],["impl Clone for MissionState"],["impl Clone for MavOdidTimeAcc"],["impl Clone for CameraTrackingStatusFlags"],["impl Clone for VISION_SPEED_ESTIMATE_DATA"],["impl Clone for StorageType"],["impl Clone for MavSysStatusSensor"],["impl Clone for PARAM_EXT_VALUE_DATA"],["impl Clone for SerialControlDev"],["impl Clone for AutotuneAxis"],["impl Clone for PrecisionLandMode"],["impl Clone for HIL_SENSOR_DATA"],["impl Clone for GPS2_RTK_DATA"],["impl Clone for GripperActions"],["impl Clone for REQUEST_EVENT_DATA"],["impl Clone for MavOdidUaType"],["impl Clone for GLOBAL_POSITION_INT_COV_DATA"],["impl Clone for AisType"],["impl Clone for ATTITUDE_DATA"],["impl Clone for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Clone for HIL_CONTROLS_DATA"],["impl Clone for ONBOARD_COMPUTER_STATUS_DATA"],["impl Clone for MavWinchStatusFlag"],["impl Clone for GLOBAL_POSITION_INT_DATA"],["impl Clone for RC_CHANNELS_OVERRIDE_DATA"],["impl Clone for UavcanNodeMode"],["impl Clone for CAMERA_INFORMATION_DATA"],["impl Clone for OrbitYawBehaviour"],["impl Clone for EscFailureFlags"],["impl Clone for EstimatorStatusFlags"],["impl Clone for AOA_SSA_DATA"],["impl Clone for PreflightStorageParameterAction"],["impl Clone for BATTERY2_DATA"],["impl Clone for MavTunnelPayloadType"],["impl Clone for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl Clone for SYSTEM_TIME_DATA"],["impl Clone for WifiConfigApResponse"],["impl Clone for FirmwareVersionType"],["impl Clone for SYS_STATUS_DATA"],["impl Clone for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Clone for DATA32_DATA"],["impl Clone for LOCAL_POSITION_NED_DATA"],["impl Clone for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Clone for SCALED_PRESSURE2_DATA"],["impl Clone for RESPONSE_EVENT_ERROR_DATA"],["impl Clone for MavOdidTimeAcc"],["impl Clone for CameraFeedbackFlags"],["impl Clone for SERIAL_CONTROL_DATA"],["impl Clone for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Clone for NAMED_VALUE_FLOAT_DATA"],["impl Clone for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Clone for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl Clone for GimbalAxisCalibrationStatus"],["impl Clone for VISION_POSITION_ESTIMATE_DATA"],["impl Clone for CellularStatusFlag"],["impl Clone for CellularNetworkFailedReason"],["impl Clone for HIL_GPS_DATA"],["impl Clone for FLIGHT_INFORMATION_DATA"],["impl Clone for ENCAPSULATED_DATA_DATA"],["impl Clone for MavBatteryFunction"],["impl Clone for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Clone for ATTITUDE_TARGET_DATA"],["impl Clone for LandingTargetType"],["impl Clone for LOGGING_ACK_DATA"],["impl Clone for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Clone for MavParamType"],["impl Clone for AutotuneAxis"],["impl Clone for HlFailureFlag"],["impl Clone for MavPowerStatus"],["impl Clone for GIMBAL_MANAGER_STATUS_DATA"],["impl Clone for RAW_RPM_DATA"],["impl Clone for GimbalManagerCapFlags"],["impl Clone for MEMORY_VECT_DATA"],["impl Clone for MissionState"],["impl Clone for LANDING_TARGET_DATA"],["impl Clone for MavResult"],["impl Clone for SIM_STATE_DATA"],["impl Clone for ATTITUDE_DATA"],["impl Clone for RAW_IMU_DATA"],["impl Clone for GimbalManagerCapFlags"],["impl Clone for CellularNetworkRadioType"],["impl Clone for MavArmAuthDeniedReason"],["impl Clone for MavGoto"],["impl Clone for ESTIMATOR_STATUS_DATA"],["impl Clone for MavBatteryFault"],["impl Clone for FENCE_FETCH_POINT_DATA"],["impl Clone for MotorTestOrder"],["impl Clone for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Clone for ATTITUDE_QUATERNION_COV_DATA"],["impl Clone for AHRS2_DATA"],["impl Clone for FailureType"],["impl Clone for MAVLinkV1MessageRaw"],["impl Clone for HYGROMETER_SENSOR_DATA"],["impl Clone for EXTENDED_SYS_STATE_DATA"],["impl Clone for ADAP_TUNING_DATA"],["impl Clone for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Clone for AIS_VESSEL_DATA"],["impl Clone for HYGROMETER_SENSOR_DATA"],["impl Clone for HIL_STATE_DATA"],["impl Clone for DIGICAM_CONFIGURE_DATA"],["impl Clone for MavOdidIdType"],["impl Clone for EVENT_DATA"],["impl Clone for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Clone for MavOdidVerAcc"],["impl Clone for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Clone for GLOBAL_POSITION_INT_COV_DATA"],["impl Clone for MavDistanceSensor"],["impl Clone for RANGEFINDER_DATA"],["impl Clone for REQUEST_EVENT_DATA"],["impl Clone for COLLISION_DATA"],["impl Clone for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Clone for HlFailureFlag"],["impl Clone for PARAM_EXT_REQUEST_READ_DATA"],["impl Clone for TERRAIN_CHECK_DATA"],["impl Clone for UTM_GLOBAL_POSITION_DATA"],["impl Clone for MavCollisionAction"],["impl Clone for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Clone for UavcanNodeHealth"],["impl Clone for MISSION_CLEAR_ALL_DATA"],["impl Clone for MavMessage"],["impl Clone for MavBatteryMode"],["impl Clone for MISSION_SET_CURRENT_DATA"],["impl Clone for GimbalDeviceErrorFlags"],["impl Clone for PreflightStorageParameterAction"],["impl Clone for AUTH_KEY_DATA"],["impl Clone for GIMBAL_REPORT_DATA"],["impl Clone for AdsbFlags"],["impl Clone for MavDataStream"],["impl Clone for ESC_INFO_DATA"],["impl Clone for CanFilterOp"],["impl Clone for ParamAck"],["impl Clone for ATTITUDE_QUATERNION_DATA"],["impl Clone for FENCE_STATUS_DATA"],["impl Clone for UavionixAdsbOutCfgAircraftSize"],["impl Clone for ATTITUDE_TARGET_DATA"],["impl Clone for MavBatteryChargeState"],["impl Clone for MavLandedState"],["impl Clone for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Clone for MavVtolState"],["impl Clone for MISSION_COUNT_DATA"],["impl Clone for HIL_SENSOR_DATA"],["impl Clone for LOG_REQUEST_DATA_DATA"],["impl Clone for MavOdidClassEu"],["impl Clone for MavCollisionAction"],["impl Clone for UavionixAdsbOutDynamicState"],["impl Clone for HeadingType"],["impl Clone for EscFailureFlags"],["impl Clone for SIM_STATE_DATA"],["impl Clone for WIND_COV_DATA"],["impl Clone for CompMetadataType"],["impl Clone for HIL_ACTUATOR_CONTROLS_DATA"],["impl Clone for GPS_RTK_DATA"],["impl Clone for GLOBAL_POSITION_INT_COV_DATA"],["impl Clone for LandingTargetType"],["impl Clone for HilSensorUpdatedFlags"],["impl Clone for PARAM_VALUE_DATA"],["impl Clone for DEEPSTALL_DATA"],["impl Clone for TERRAIN_REPORT_DATA"],["impl Clone for MavDataStream"],["impl Clone for MavSensorOrientation"],["impl Clone for UAVCAN_NODE_INFO_DATA"],["impl Clone for FenceBreach"],["impl Clone for CAMERA_CAPTURE_STATUS_DATA"],["impl Clone for MESSAGE_INTERVAL_DATA"],["impl Clone for MavOdidArmStatus"],["impl Clone for MavDoRepositionFlags"],["impl Clone for CameraMode"],["impl Clone for AdsbAltitudeType"],["impl Clone for MavModeFlagDecodePosition"],["impl Clone for BATTERY_STATUS_DATA"],["impl Clone for VIBRATION_DATA"],["impl Clone for HighresImuUpdatedFlags"],["impl Clone for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Clone for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Clone for CAN_FILTER_MODIFY_DATA"],["impl Clone for PLAY_TUNE_V2_DATA"],["impl Clone for RAW_IMU_DATA"],["impl Clone for MavPowerStatus"],["impl Clone for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Clone for AP_ADC_DATA"],["impl Clone for MavAutopilot"],["impl Clone for MavDoRepositionFlags"],["impl Clone for GPS_RAW_INT_DATA"],["impl Clone for SYSTEM_TIME_DATA"],["impl Clone for ESC_TELEMETRY_5_TO_8_DATA"],["impl Clone for CAMERA_INFORMATION_DATA"],["impl Clone for VICON_POSITION_ESTIMATE_DATA"],["impl Clone for LOG_REQUEST_LIST_DATA"],["impl Clone for AUTOPILOT_VERSION_DATA"],["impl Clone for StorageUsageFlag"],["impl Clone for DATA_STREAM_DATA"],["impl Clone for MavParamExtType"],["impl Clone for CELLULAR_STATUS_DATA"],["impl Clone for ATTITUDE_TARGET_DATA"],["impl Clone for GimbalAxisCalibrationRequired"],["impl Clone for ESC_STATUS_DATA"],["impl Clone for OPTICAL_FLOW_RAD_DATA"],["impl Clone for BATTERY_STATUS_DATA"],["impl Clone for HIGH_LATENCY2_DATA"],["impl Clone for MISSION_SET_CURRENT_DATA"],["impl Clone for SETUP_SIGNING_DATA"],["impl Clone for CAMERA_FEEDBACK_DATA"],["impl Clone for ACTUATOR_CONTROL_TARGET_DATA"],["impl Clone for UavcanNodeMode"],["impl Clone for VideoStreamType"],["impl Clone for MavCmdAck"],["impl Clone for PARAM_EXT_REQUEST_LIST_DATA"],["impl Clone for GLOBAL_POSITION_INT_DATA"],["impl Clone for ICAROUS_HEARTBEAT_DATA"],["impl Clone for AdsbAltitudeType"],["impl Clone for VIDEO_STREAM_STATUS_DATA"],["impl Clone for GpsInputIgnoreFlags"],["impl Clone for DATA64_DATA"],["impl Clone for MavOdidOperatorIdType"],["impl Clone for RC_CHANNELS_OVERRIDE_DATA"],["impl Clone for LOG_ENTRY_DATA"],["impl Clone for MotorTestThrottleType"],["impl Clone for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Clone for SMART_BATTERY_INFO_DATA"],["impl Clone for MISSION_REQUEST_INT_DATA"],["impl Clone for CameraMode"],["impl Clone for OsdParamConfigError"],["impl Clone for PARAM_EXT_ACK_DATA"],["impl Clone for TuneFormat"],["impl Clone for MavWinchStatusFlag"],["impl Clone for SUPPORTED_TUNES_DATA"],["impl Clone for AttitudeTargetTypemask"],["impl Clone for NavVtolLandOptions"],["impl Clone for MISSION_ITEM_INT_DATA"],["impl Clone for RALLY_FETCH_POINT_DATA"],["impl Clone for SCALED_PRESSURE3_DATA"],["impl Clone for MotorTestThrottleType"],["impl Clone for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Clone for VIDEO_STREAM_INFORMATION_DATA"],["impl Clone for GENERATOR_STATUS_DATA"],["impl Clone for FenceMitigate"],["impl Clone for MavMode"],["impl Clone for MavOdidCategoryEu"],["impl Clone for VFR_HUD_DATA"],["impl Clone for RPM_DATA"],["impl Clone for SAFETY_ALLOWED_AREA_DATA"],["impl Clone for CURRENT_EVENT_SEQUENCE_DATA"],["impl Clone for UavcanNodeHealth"],["impl Clone for ActuatorOutputFunction"],["impl Clone for MESSAGE_INTERVAL_DATA"],["impl Clone for FenceAction"],["impl Clone for MavOdidIdType"],["impl Clone for MavTunnelPayloadType"],["impl Clone for AdsbEmitterType"],["impl Clone for DATA_STREAM_DATA"],["impl Clone for HIL_ACTUATOR_CONTROLS_DATA"],["impl Clone for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Clone for UtmDataAvailFlags"],["impl Clone for MavBatteryChargeState"],["impl Clone for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Clone for COMMAND_ACK_DATA"],["impl Clone for SET_ATTITUDE_TARGET_DATA"],["impl Clone for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Clone for DEBUG_VECT_DATA"],["impl Clone for WHEEL_DISTANCE_DATA"],["impl Clone for GOPRO_GET_RESPONSE_DATA"],["impl Clone for MagCalStatus"],["impl Clone for ESC_TELEMETRY_1_TO_4_DATA"],["impl Clone for ESTIMATOR_STATUS_DATA"],["impl Clone for AdsbEmitterType"],["impl Clone for FailureUnit"],["impl Clone for DEVICE_OP_READ_DATA"],["impl Clone for OPEN_DRONE_ID_LOCATION_DATA"],["impl Clone for GpsFixType"],["impl Clone for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Clone for MavOdidSpeedAcc"],["impl Clone for RADIO_STATUS_DATA"],["impl Clone for MavMissionResult"],["impl Clone for GENERATOR_STATUS_DATA"],["impl Clone for GPS_GLOBAL_ORIGIN_DATA"],["impl Clone for UavionixAdsbOutCfgAircraftSize"],["impl Clone for FenceAction"],["impl Clone for EscConnectionType"],["impl Clone for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Clone for GimbalDeviceCapFlags"],["impl Clone for MavParamType"],["impl Clone for AHRS_DATA"],["impl Clone for LOGGING_ACK_DATA"],["impl Clone for FENCE_POINT_DATA"],["impl Clone for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Clone for UavionixAdsbEmergencyStatus"],["impl Clone for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Clone for HIGH_LATENCY_DATA"],["impl Clone for MANUAL_CONTROL_DATA"],["impl Clone for TERRAIN_DATA_DATA"],["impl Clone for UavionixAdsbEmergencyStatus"],["impl Clone for SCALED_PRESSURE2_DATA"],["impl Clone for LOGGING_DATA_ACKED_DATA"],["impl Clone for MavComponent"],["impl Clone for MavBatteryType"],["impl Clone for CameraStatusTypes"],["impl Clone for MavBatteryMode"],["impl Clone for MavMessage"],["impl Clone for RC_CHANNELS_RAW_DATA"],["impl Clone for IcarousFmsState"],["impl Clone for CellularConfigResponse"],["impl Clone for LOG_REQUEST_LIST_DATA"],["impl Clone for ParachuteAction"],["impl Clone for UAVCAN_NODE_STATUS_DATA"],["impl Clone for FailureUnit"],["impl Clone for CameraMode"],["impl Clone for GimbalManagerCapFlags"],["impl Clone for UavionixAdsbOutCfgGpsOffsetLon"],["impl Clone for MEMORY_VECT_DATA"],["impl Clone for GimbalDeviceErrorFlags"],["impl Clone for LandingTargetType"],["impl Clone for CAMERA_IMAGE_CAPTURED_DATA"],["impl Clone for NAMED_VALUE_INT_DATA"],["impl Clone for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Clone for CameraTrackingTargetData"],["impl Clone for MOUNT_ORIENTATION_DATA"],["impl Clone for UavionixAdsbOutDynamicGpsFix"],["impl Clone for PROTOCOL_VERSION_DATA"],["impl Clone for NAV_CONTROLLER_OUTPUT_DATA"],["impl Clone for ActuatorConfiguration"],["impl Clone for GoproProtuneGain"],["impl Clone for WINCH_STATUS_DATA"],["impl Clone for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Clone for HIL_CONTROLS_DATA"],["impl Clone for MavSeverity"],["impl Clone for SERVO_OUTPUT_RAW_DATA"],["impl Clone for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Clone for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Clone for GPS_GLOBAL_ORIGIN_DATA"],["impl Clone for MavComponent"],["impl Clone for MavHeader"],["impl Clone for UavionixAdsbRfHealth"],["impl Clone for MANUAL_SETPOINT_DATA"],["impl Clone for MavCmdDoAuxFunctionSwitchLevel"],["impl Clone for MCU_STATUS_DATA"],["impl Clone for VideoStreamStatusFlags"],["impl Clone for VIDEO_STREAM_STATUS_DATA"],["impl Clone for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Clone for GoproBurstRate"],["impl Clone for V2_EXTENSION_DATA"],["impl Clone for FLIGHT_INFORMATION_DATA"],["impl Clone for DATA96_DATA"],["impl Clone for CameraTrackingStatusFlags"],["impl Clone for AisFlags"],["impl Clone for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Clone for CameraCapFlags"],["impl Clone for EXTENDED_SYS_STATE_DATA"],["impl Clone for PING_DATA"],["impl Clone for MavCollisionSrc"],["impl Clone for GPS_INPUT_DATA"],["impl Clone for MISSION_ITEM_REACHED_DATA"],["impl Clone for CAN_FRAME_DATA"],["impl Clone for AisNavStatus"],["impl Clone for DISTANCE_SENSOR_DATA"],["impl Clone for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Clone for NAMED_VALUE_FLOAT_DATA"],["impl Clone for GoproHeartbeatFlags"],["impl Clone for MavOdidClassificationType"],["impl Clone for LimitsState"],["impl Clone for BATTERY_STATUS_DATA"],["impl Clone for WifiConfigApResponse"],["impl Clone for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Clone for GoproCaptureMode"],["impl Clone for MavOdidCategoryEu"],["impl Clone for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Clone for AUTOPILOT_VERSION_DATA"],["impl Clone for ORBIT_EXECUTION_STATUS_DATA"],["impl Clone for MavFtpErr"],["impl Clone for GimbalManagerFlags"],["impl Clone for RallyFlags"],["impl Clone for HIGHRES_IMU_DATA"],["impl Clone for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Clone for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Clone for SERVO_OUTPUT_RAW_DATA"],["impl Clone for COLLISION_DATA"],["impl Clone for VFR_HUD_DATA"],["impl Clone for LOGGING_DATA_ACKED_DATA"],["impl Clone for ENCAPSULATED_DATA_DATA"],["impl Clone for PrecisionLandMode"],["impl Clone for COMMAND_CANCEL_DATA"],["impl Clone for DIGICAM_CONTROL_DATA"],["impl Clone for TERRAIN_DATA_DATA"],["impl Clone for RAW_RPM_DATA"],["impl Clone for GPS2_RAW_DATA"],["impl Clone for MavFrame"],["impl Clone for SERIAL_CONTROL_DATA"],["impl Clone for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Clone for CellularConfigResponse"],["impl Clone for CAMERA_STATUS_DATA"],["impl Clone for MavOdidArmStatus"],["impl Clone for MagCalStatus"],["impl Clone for HIL_GPS_DATA"],["impl Clone for FirmwareVersionType"],["impl Clone for MissionState"],["impl Clone for MavlinkDataStreamType"],["impl Clone for EscConnectionType"],["impl Clone for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Clone for MavRemoteLogDataBlockCommands"],["impl Clone for HIGH_LATENCY2_DATA"],["impl Clone for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Clone for AIS_VESSEL_DATA"],["impl Clone for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Clone for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl Clone for HIL_GPS_DATA"],["impl Clone for SCALED_IMU3_DATA"],["impl Clone for PLAY_TUNE_V2_DATA"],["impl Clone for GoproProtuneSharpness"],["impl Clone for CAMERA_FOV_STATUS_DATA"],["impl Clone for MavOdidAuthType"],["impl Clone for HEARTBEAT_DATA"],["impl Clone for PidTuningAxis"],["impl Clone for MavGoto"],["impl Clone for MavRoi"],["impl Clone for UTM_GLOBAL_POSITION_DATA"],["impl Clone for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Clone for PARAM_EXT_REQUEST_LIST_DATA"],["impl Clone for MISSION_ACK_DATA"],["impl Clone for CAMERA_CAPTURE_STATUS_DATA"],["impl Clone for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Clone for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Clone for SCALED_PRESSURE3_DATA"],["impl Clone for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Clone for MavMissionType"],["impl Clone for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Clone for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Clone for HIL_OPTICAL_FLOW_DATA"],["impl Clone for EstimatorStatusFlags"],["impl Clone for PrecisionLandMode"],["impl Clone for FenceAction"],["impl Clone for MavCmd"],["impl Clone for SET_MODE_DATA"],["impl Clone for CONTROL_SYSTEM_STATE_DATA"],["impl Clone for PARAM_REQUEST_LIST_DATA"],["impl Clone for ESC_INFO_DATA"],["impl Clone for DEVICE_OP_READ_REPLY_DATA"],["impl Clone for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Clone for MavDataStream"],["impl Clone for AisType"],["impl Clone for MavSeverity"],["impl Clone for GripperActions"],["impl Clone for SerialControlDev"],["impl Clone for PLAY_TUNE_DATA"],["impl Clone for PlaneMode"],["impl Clone for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Clone for COMMAND_LONG_DATA"],["impl Clone for MavBatteryType"],["impl Clone for GoproFieldOfView"],["impl Clone for WifiConfigApMode"],["impl Clone for GPS_INJECT_DATA_DATA"],["impl Clone for MavResult"],["impl Clone for MavDistanceSensor"],["impl Clone for HIL_STATE_QUATERNION_DATA"],["impl Clone for COMMAND_CANCEL_DATA"],["impl Clone for MavSensorOrientation"],["impl Clone for TrackerMode"],["impl Clone for MavOdidOperatorIdType"],["impl Clone for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl Clone for PING_DATA"],["impl Clone for PARAM_VALUE_DATA"],["impl Clone for MISSION_REQUEST_DATA"],["impl Clone for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Clone for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Clone for OPTICAL_FLOW_DATA"],["impl Clone for RESPONSE_EVENT_ERROR_DATA"],["impl Clone for GoproCommand"],["impl Clone for PLAY_TUNE_V2_DATA"],["impl Clone for SAFETY_ALLOWED_AREA_DATA"],["impl Clone for UavionixAdsbOutCfgGpsOffsetLon"],["impl Clone for LOG_ENTRY_DATA"],["impl Clone for SubMode"],["impl Clone for HIL_STATE_DATA"],["impl Clone for SENSOR_OFFSETS_DATA"],["impl Clone for CONTROL_SYSTEM_STATE_DATA"],["impl Clone for ISBD_LINK_STATUS_DATA"],["impl Clone for CANFD_FRAME_DATA"],["impl Clone for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Clone for ParamAck"],["impl Clone for COMMAND_ACK_DATA"],["impl Clone for SET_HOME_POSITION_DATA"],["impl Clone for PARAM_EXT_ACK_DATA"],["impl Clone for BUTTON_CHANGE_DATA"],["impl Clone for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Clone for STATUSTEXT_DATA"],["impl Clone for RADIO_STATUS_DATA"],["impl Clone for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Clone for SET_ATTITUDE_TARGET_DATA"],["impl Clone for RC_CHANNELS_OVERRIDE_DATA"],["impl Clone for ParachuteAction"],["impl Clone for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Clone for RAW_PRESSURE_DATA"],["impl Clone for PreflightStorageMissionAction"],["impl Clone for CAMERA_IMAGE_CAPTURED_DATA"],["impl Clone for REQUEST_EVENT_DATA"],["impl Clone for CameraZoomType"],["impl Clone for GLOBAL_POSITION_INT_DATA"],["impl Clone for MavComponent"],["impl Clone for GimbalDeviceFlags"],["impl Clone for ScriptingCmd"],["impl Clone for MavOdidArmStatus"],["impl Clone for SCALED_PRESSURE_DATA"],["impl Clone for SUPPORTED_TUNES_DATA"],["impl Clone for MavMessage"],["impl Clone for OrbitYawBehaviour"],["impl Clone for PROTOCOL_VERSION_DATA"],["impl Clone for WifiConfigApResponse"],["impl Clone for MavEventErrorReason"],["impl Clone for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Clone for GPS_RTK_DATA"],["impl Clone for SCALED_IMU2_DATA"],["impl Clone for HlFailureFlag"],["impl Clone for CELLULAR_STATUS_DATA"],["impl Clone for HOME_POSITION_DATA"],["impl Clone for RoverMode"],["impl Clone for MavOdidDescType"],["impl Clone for MAVLinkV2MessageRaw"],["impl Clone for REQUEST_DATA_STREAM_DATA"],["impl Clone for SCALED_IMU_DATA"],["impl Clone for CameraTrackingMode"],["impl Clone for IcarousTrackBandTypes"],["impl Clone for TERRAIN_REQUEST_DATA"],["impl Clone for ORBIT_EXECUTION_STATUS_DATA"],["impl Clone for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Clone for MAG_CAL_REPORT_DATA"],["impl Clone for CAMERA_TRIGGER_DATA"],["impl Clone for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Clone for MavOdidHeightRef"],["impl Clone for COMMAND_INT_DATA"],["impl Clone for AdsbAltitudeType"],["impl Clone for UavcanNodeHealth"],["impl Clone for COMPONENT_METADATA_DATA"],["impl Clone for CellularNetworkFailedReason"],["impl Clone for StorageStatus"],["impl Clone for MOUNT_CONTROL_DATA"],["impl Clone for AdsbEmitterType"],["impl Clone for WIND_COV_DATA"],["impl Clone for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Clone for MISSION_REQUEST_INT_DATA"],["impl Clone for MavFtpErr"],["impl Clone for ActuatorOutputFunction"],["impl Clone for SMART_BATTERY_INFO_DATA"],["impl Clone for HIL_ACTUATOR_CONTROLS_DATA"],["impl Clone for SYSTEM_TIME_DATA"],["impl Clone for SerialControlFlag"],["impl Clone for RALLY_POINT_DATA"],["impl Clone for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Clone for MavOdidStatus"],["impl Clone for RAW_RPM_DATA"],["impl Clone for CellularNetworkFailedReason"],["impl Clone for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Clone for OPEN_DRONE_ID_LOCATION_DATA"],["impl Clone for MavEventCurrentSequenceFlags"],["impl Clone for GPS_STATUS_DATA"],["impl Clone for HERELINK_TELEM_DATA"],["impl Clone for DEBUG_DATA"],["impl Clone for NAMED_VALUE_INT_DATA"],["impl Clone for PARAM_EXT_VALUE_DATA"],["impl Clone for MavGeneratorStatusFlag"],["impl Clone for MavOdidOperatorLocationType"]], "proc_macro2":[["impl Clone for Group"],["impl Clone for Punct"],["impl Clone for DelimSpan"],["impl Clone for TokenStream"],["impl Clone for Ident"],["impl Clone for Literal"],["impl Clone for Delimiter"],["impl Clone for TokenTree"],["impl Clone for IntoIter"],["impl Clone for Spacing"],["impl Clone for Span"]], "serde":[["impl Clone for Error"],["impl Clone for IgnoredAny"],["impl<E> Clone for U8Deserializer<E>"],["impl<E> Clone for U32Deserializer<E>"],["impl<E> Clone for I64Deserializer<E>"],["impl<'de, I, E> Clone for MapDeserializer<'de, I, E>where\n I: Iterator + Clone,\n I::Item: Pair,\n <I::Item as Pair>::Second: Clone,"],["impl<'de, E> Clone for StrDeserializer<'de, E>"],["impl<E> Clone for BoolDeserializer<E>"],["impl<E> Clone for U64Deserializer<E>"],["impl<E> Clone for U128Deserializer<E>"],["impl<E> Clone for I32Deserializer<E>"],["impl<E> Clone for I8Deserializer<E>"],["impl<A: Clone> Clone for MapAccessDeserializer<A>"],["impl<E> Clone for StringDeserializer<E>"],["impl<A: Clone> Clone for SeqAccessDeserializer<A>"],["impl<E> Clone for UnitDeserializer<E>"],["impl<A: Clone> Clone for EnumAccessDeserializer<A>"],["impl<E> Clone for I16Deserializer<E>"],["impl<E> Clone for CharDeserializer<E>"],["impl<E> Clone for F32Deserializer<E>"],["impl<'a, E> Clone for CowStrDeserializer<'a, E>"],["impl<E> Clone for I128Deserializer<E>"],["impl<E> Clone for UsizeDeserializer<E>"],["impl<'a, E> Clone for BytesDeserializer<'a, E>"],["impl<I: Clone, E: Clone> Clone for SeqDeserializer<I, E>"],["impl<E> Clone for U16Deserializer<E>"],["impl<'a> Clone for Unexpected<'a>"],["impl<'de, E> Clone for BorrowedBytesDeserializer<'de, E>"],["impl<'de, E> Clone for BorrowedStrDeserializer<'de, E>"],["impl<E> Clone for IsizeDeserializer<E>"],["impl<E> Clone for F64Deserializer<E>"]], "serial_core":[["impl Clone for FlowControl"],["impl Clone for PortSettings"],["impl Clone for Parity"],["impl Clone for CharSize"],["impl Clone for BaudRate"],["impl Clone for ErrorKind"],["impl Clone for StopBits"]], diff --git a/trait.impl/core/cmp/trait.Eq.js b/trait.impl/core/cmp/trait.Eq.js index 4c9a8bfa36..ff55b13782 100644 --- a/trait.impl/core/cmp/trait.Eq.js +++ b/trait.impl/core/cmp/trait.Eq.js @@ -1,6 +1,6 @@ (function() {var implementors = { "byteorder":[["impl Eq for BigEndian"],["impl Eq for LittleEndian"]], -"mavlink":[["impl Eq for CameraCapFlags"],["impl Eq for EstimatorStatusFlags"],["impl Eq for UtmDataAvailFlags"],["impl Eq for GimbalDeviceErrorFlags"],["impl Eq for TuneFormat"],["impl Eq for HilSensorUpdatedFlags"],["impl Eq for GimbalDeviceErrorFlags"],["impl Eq for HlFailureFlag"],["impl Eq for UavionixAdsbRfHealth"],["impl Eq for MavSysStatusSensor"],["impl Eq for MavGeneratorStatusFlag"],["impl Eq for HilSensorUpdatedFlags"],["impl Eq for GimbalDeviceErrorFlags"],["impl Eq for MavProtocolCapability"],["impl Eq for MavModeFlag"],["impl Eq for PositionTargetTypemask"],["impl Eq for HighresImuUpdatedFlags"],["impl Eq for AisFlags"],["impl Eq for HlFailureFlag"],["impl Eq for MavEventCurrentSequenceFlags"],["impl Eq for GimbalDeviceFlags"],["impl Eq for MavWinchStatusFlag"],["impl Eq for MavProtocolCapability"],["impl Eq for AttitudeTargetTypemask"],["impl Eq for GimbalDeviceCapFlags"],["impl Eq for MavGeneratorStatusFlag"],["impl Eq for AttitudeTargetTypemask"],["impl Eq for MavProtocolCapability"],["impl Eq for MavModeFlag"],["impl Eq for SerialControlFlag"],["impl Eq for EkfStatusFlags"],["impl Eq for UavionixAdsbOutRfSelect"],["impl Eq for SerialControlFlag"],["impl Eq for AisFlags"],["impl Eq for MavModeFlag"],["impl Eq for MAVLinkV2MessageRaw"],["impl Eq for CameraCapFlags"],["impl Eq for HilSensorUpdatedFlags"],["impl Eq for TuneFormat"],["impl Eq for UtmDataAvailFlags"],["impl Eq for EstimatorStatusFlags"],["impl Eq for UavionixAdsbOutRfSelect"],["impl Eq for GpsInputIgnoreFlags"],["impl Eq for EstimatorStatusFlags"],["impl Eq for LimitModule"],["impl Eq for UavionixAdsbOutDynamicState"],["impl Eq for GimbalDeviceFlags"],["impl Eq for GpsInputIgnoreFlags"],["impl Eq for GimbalDeviceCapFlags"],["impl Eq for EscFailureFlags"],["impl Eq for MAVLinkV1MessageRaw"],["impl Eq for HlFailureFlag"],["impl Eq for MavWinchStatusFlag"],["impl Eq for MavPowerStatus"],["impl Eq for SerialControlFlag"],["impl Eq for MavSysStatusSensor"],["impl Eq for HighresImuUpdatedFlags"],["impl Eq for MavEventCurrentSequenceFlags"],["impl Eq for RallyFlags"],["impl Eq for MavPowerStatus"],["impl Eq for GpsInputIgnoreFlags"],["impl Eq for UtmDataAvailFlags"],["impl Eq for UavionixAdsbOutDynamicState"],["impl Eq for GimbalDeviceCapFlags"],["impl Eq for MavSysStatusSensor"],["impl Eq for GimbalManagerCapFlags"],["impl Eq for PositionTargetTypemask"],["impl Eq for GimbalDeviceFlags"],["impl Eq for AdsbFlags"],["impl Eq for MavPowerStatus"],["impl Eq for AdsbFlags"],["impl Eq for GimbalManagerCapFlags"],["impl Eq for MavWinchStatusFlag"],["impl Eq for GoproHeartbeatFlags"],["impl Eq for TuneFormat"],["impl Eq for HighresImuUpdatedFlags"],["impl Eq for EscFailureFlags"],["impl Eq for MavEventCurrentSequenceFlags"],["impl Eq for PositionTargetTypemask"],["impl Eq for AdsbFlags"],["impl Eq for MavlinkVersion"],["impl Eq for GimbalManagerCapFlags"],["impl Eq for AisFlags"],["impl Eq for CameraCapFlags"],["impl Eq for MavHeader"],["impl Eq for EscFailureFlags"],["impl Eq for AttitudeTargetTypemask"],["impl Eq for MavGeneratorStatusFlag"],["impl Eq for UavionixAdsbRfHealth"]], +"mavlink":[["impl Eq for MavPowerStatus"],["impl Eq for GimbalDeviceCapFlags"],["impl Eq for HlFailureFlag"],["impl Eq for GimbalDeviceFlags"],["impl Eq for MavProtocolCapability"],["impl Eq for UtmDataAvailFlags"],["impl Eq for UtmDataAvailFlags"],["impl Eq for HilSensorUpdatedFlags"],["impl Eq for AttitudeTargetTypemask"],["impl Eq for SerialControlFlag"],["impl Eq for GimbalManagerCapFlags"],["impl Eq for GimbalDeviceErrorFlags"],["impl Eq for AisFlags"],["impl Eq for EstimatorStatusFlags"],["impl Eq for HlFailureFlag"],["impl Eq for EscFailureFlags"],["impl Eq for AisFlags"],["impl Eq for HighresImuUpdatedFlags"],["impl Eq for EstimatorStatusFlags"],["impl Eq for AdsbFlags"],["impl Eq for MavModeFlag"],["impl Eq for TuneFormat"],["impl Eq for MavProtocolCapability"],["impl Eq for PositionTargetTypemask"],["impl Eq for HilSensorUpdatedFlags"],["impl Eq for MAVLinkV2MessageRaw"],["impl Eq for AdsbFlags"],["impl Eq for TuneFormat"],["impl Eq for MavProtocolCapability"],["impl Eq for AttitudeTargetTypemask"],["impl Eq for SerialControlFlag"],["impl Eq for UavionixAdsbRfHealth"],["impl Eq for HlFailureFlag"],["impl Eq for MavModeFlag"],["impl Eq for GimbalDeviceFlags"],["impl Eq for UavionixAdsbOutDynamicState"],["impl Eq for MavEventCurrentSequenceFlags"],["impl Eq for UavionixAdsbRfHealth"],["impl Eq for MavGeneratorStatusFlag"],["impl Eq for UavionixAdsbOutDynamicState"],["impl Eq for TuneFormat"],["impl Eq for HighresImuUpdatedFlags"],["impl Eq for PositionTargetTypemask"],["impl Eq for MavSysStatusSensor"],["impl Eq for GoproHeartbeatFlags"],["impl Eq for MAVLinkV1MessageRaw"],["impl Eq for MavPowerStatus"],["impl Eq for SerialControlFlag"],["impl Eq for CameraCapFlags"],["impl Eq for EkfStatusFlags"],["impl Eq for MavEventCurrentSequenceFlags"],["impl Eq for GimbalDeviceCapFlags"],["impl Eq for PositionTargetTypemask"],["impl Eq for CameraCapFlags"],["impl Eq for MavModeFlag"],["impl Eq for MavSysStatusSensor"],["impl Eq for UavionixAdsbOutRfSelect"],["impl Eq for GpsInputIgnoreFlags"],["impl Eq for MavWinchStatusFlag"],["impl Eq for MavWinchStatusFlag"],["impl Eq for MavWinchStatusFlag"],["impl Eq for GimbalManagerCapFlags"],["impl Eq for GimbalDeviceFlags"],["impl Eq for EscFailureFlags"],["impl Eq for HighresImuUpdatedFlags"],["impl Eq for AisFlags"],["impl Eq for GimbalManagerCapFlags"],["impl Eq for AdsbFlags"],["impl Eq for LimitModule"],["impl Eq for MavGeneratorStatusFlag"],["impl Eq for MavSysStatusSensor"],["impl Eq for GimbalDeviceErrorFlags"],["impl Eq for UtmDataAvailFlags"],["impl Eq for EstimatorStatusFlags"],["impl Eq for GimbalDeviceCapFlags"],["impl Eq for CameraCapFlags"],["impl Eq for EscFailureFlags"],["impl Eq for HilSensorUpdatedFlags"],["impl Eq for GimbalDeviceErrorFlags"],["impl Eq for GpsInputIgnoreFlags"],["impl Eq for GpsInputIgnoreFlags"],["impl Eq for UavionixAdsbOutRfSelect"],["impl Eq for MavGeneratorStatusFlag"],["impl Eq for MavlinkVersion"],["impl Eq for MavPowerStatus"],["impl Eq for RallyFlags"],["impl Eq for MavHeader"],["impl Eq for AttitudeTargetTypemask"],["impl Eq for MavEventCurrentSequenceFlags"]], "proc_macro2":[["impl Eq for Spacing"],["impl Eq for Delimiter"],["impl Eq for Ident"]], "serial_core":[["impl Eq for BaudRate"],["impl Eq for ErrorKind"],["impl Eq for CharSize"],["impl Eq for FlowControl"],["impl Eq for PortSettings"],["impl Eq for StopBits"],["impl Eq for Parity"]], "termios":[["impl Eq for Termios"],["impl Eq for termios"]] diff --git a/trait.impl/core/cmp/trait.Ord.js b/trait.impl/core/cmp/trait.Ord.js index 444c22702a..42aa9a3da7 100644 --- a/trait.impl/core/cmp/trait.Ord.js +++ b/trait.impl/core/cmp/trait.Ord.js @@ -1,5 +1,5 @@ (function() {var implementors = { "byteorder":[["impl Ord for LittleEndian"],["impl Ord for BigEndian"]], -"mavlink":[["impl Ord for MavEventCurrentSequenceFlags"],["impl Ord for GimbalManagerCapFlags"],["impl Ord for CameraCapFlags"],["impl Ord for HlFailureFlag"],["impl Ord for AdsbFlags"],["impl Ord for UtmDataAvailFlags"],["impl Ord for CameraCapFlags"],["impl Ord for HighresImuUpdatedFlags"],["impl Ord for EscFailureFlags"],["impl Ord for GpsInputIgnoreFlags"],["impl Ord for EkfStatusFlags"],["impl Ord for MavGeneratorStatusFlag"],["impl Ord for AisFlags"],["impl Ord for SerialControlFlag"],["impl Ord for HilSensorUpdatedFlags"],["impl Ord for GimbalManagerCapFlags"],["impl Ord for MavSysStatusSensor"],["impl Ord for MavEventCurrentSequenceFlags"],["impl Ord for PositionTargetTypemask"],["impl Ord for GimbalDeviceFlags"],["impl Ord for HlFailureFlag"],["impl Ord for CameraCapFlags"],["impl Ord for LimitModule"],["impl Ord for HilSensorUpdatedFlags"],["impl Ord for EstimatorStatusFlags"],["impl Ord for HighresImuUpdatedFlags"],["impl Ord for HlFailureFlag"],["impl Ord for MavPowerStatus"],["impl Ord for EscFailureFlags"],["impl Ord for TuneFormat"],["impl Ord for AttitudeTargetTypemask"],["impl Ord for AisFlags"],["impl Ord for TuneFormat"],["impl Ord for GimbalDeviceErrorFlags"],["impl Ord for MavProtocolCapability"],["impl Ord for MavProtocolCapability"],["impl Ord for MavEventCurrentSequenceFlags"],["impl Ord for PositionTargetTypemask"],["impl Ord for TuneFormat"],["impl Ord for GimbalDeviceCapFlags"],["impl Ord for AdsbFlags"],["impl Ord for UavionixAdsbRfHealth"],["impl Ord for EscFailureFlags"],["impl Ord for UavionixAdsbOutDynamicState"],["impl Ord for MavModeFlag"],["impl Ord for MavWinchStatusFlag"],["impl Ord for SerialControlFlag"],["impl Ord for RallyFlags"],["impl Ord for MavWinchStatusFlag"],["impl Ord for GimbalDeviceErrorFlags"],["impl Ord for MavProtocolCapability"],["impl Ord for EstimatorStatusFlags"],["impl Ord for SerialControlFlag"],["impl Ord for GimbalManagerCapFlags"],["impl Ord for GoproHeartbeatFlags"],["impl Ord for AisFlags"],["impl Ord for UtmDataAvailFlags"],["impl Ord for GimbalDeviceFlags"],["impl Ord for PositionTargetTypemask"],["impl Ord for HilSensorUpdatedFlags"],["impl Ord for MavGeneratorStatusFlag"],["impl Ord for GimbalDeviceErrorFlags"],["impl Ord for MavModeFlag"],["impl Ord for GimbalDeviceCapFlags"],["impl Ord for AttitudeTargetTypemask"],["impl Ord for UavionixAdsbOutDynamicState"],["impl Ord for GpsInputIgnoreFlags"],["impl Ord for MavPowerStatus"],["impl Ord for UavionixAdsbOutRfSelect"],["impl Ord for MavPowerStatus"],["impl Ord for MavSysStatusSensor"],["impl Ord for MavModeFlag"],["impl Ord for MavGeneratorStatusFlag"],["impl Ord for UtmDataAvailFlags"],["impl Ord for UavionixAdsbRfHealth"],["impl Ord for MavWinchStatusFlag"],["impl Ord for EstimatorStatusFlags"],["impl Ord for HighresImuUpdatedFlags"],["impl Ord for AttitudeTargetTypemask"],["impl Ord for MavSysStatusSensor"],["impl Ord for GpsInputIgnoreFlags"],["impl Ord for UavionixAdsbOutRfSelect"],["impl Ord for GimbalDeviceFlags"],["impl Ord for AdsbFlags"],["impl Ord for GimbalDeviceCapFlags"]], +"mavlink":[["impl Ord for HilSensorUpdatedFlags"],["impl Ord for CameraCapFlags"],["impl Ord for UavionixAdsbOutDynamicState"],["impl Ord for HlFailureFlag"],["impl Ord for TuneFormat"],["impl Ord for MavPowerStatus"],["impl Ord for HilSensorUpdatedFlags"],["impl Ord for UavionixAdsbOutDynamicState"],["impl Ord for AdsbFlags"],["impl Ord for UavionixAdsbOutRfSelect"],["impl Ord for HighresImuUpdatedFlags"],["impl Ord for CameraCapFlags"],["impl Ord for EstimatorStatusFlags"],["impl Ord for GimbalDeviceCapFlags"],["impl Ord for GimbalDeviceErrorFlags"],["impl Ord for MavWinchStatusFlag"],["impl Ord for EstimatorStatusFlags"],["impl Ord for AttitudeTargetTypemask"],["impl Ord for RallyFlags"],["impl Ord for GimbalDeviceFlags"],["impl Ord for GimbalDeviceFlags"],["impl Ord for MavProtocolCapability"],["impl Ord for MavSysStatusSensor"],["impl Ord for UtmDataAvailFlags"],["impl Ord for GimbalDeviceErrorFlags"],["impl Ord for MavModeFlag"],["impl Ord for EscFailureFlags"],["impl Ord for MavEventCurrentSequenceFlags"],["impl Ord for MavEventCurrentSequenceFlags"],["impl Ord for MavProtocolCapability"],["impl Ord for LimitModule"],["impl Ord for MavEventCurrentSequenceFlags"],["impl Ord for AttitudeTargetTypemask"],["impl Ord for MavGeneratorStatusFlag"],["impl Ord for AisFlags"],["impl Ord for MavProtocolCapability"],["impl Ord for EscFailureFlags"],["impl Ord for AdsbFlags"],["impl Ord for MavGeneratorStatusFlag"],["impl Ord for GimbalDeviceFlags"],["impl Ord for UtmDataAvailFlags"],["impl Ord for MavPowerStatus"],["impl Ord for PositionTargetTypemask"],["impl Ord for GpsInputIgnoreFlags"],["impl Ord for GpsInputIgnoreFlags"],["impl Ord for GimbalManagerCapFlags"],["impl Ord for UavionixAdsbOutRfSelect"],["impl Ord for MavPowerStatus"],["impl Ord for TuneFormat"],["impl Ord for HlFailureFlag"],["impl Ord for AdsbFlags"],["impl Ord for MavSysStatusSensor"],["impl Ord for SerialControlFlag"],["impl Ord for HighresImuUpdatedFlags"],["impl Ord for MavGeneratorStatusFlag"],["impl Ord for GimbalManagerCapFlags"],["impl Ord for EstimatorStatusFlags"],["impl Ord for MavWinchStatusFlag"],["impl Ord for GoproHeartbeatFlags"],["impl Ord for HlFailureFlag"],["impl Ord for MavSysStatusSensor"],["impl Ord for UavionixAdsbRfHealth"],["impl Ord for GimbalDeviceCapFlags"],["impl Ord for UtmDataAvailFlags"],["impl Ord for AttitudeTargetTypemask"],["impl Ord for AisFlags"],["impl Ord for TuneFormat"],["impl Ord for GimbalDeviceErrorFlags"],["impl Ord for SerialControlFlag"],["impl Ord for AisFlags"],["impl Ord for MavModeFlag"],["impl Ord for GimbalManagerCapFlags"],["impl Ord for UavionixAdsbRfHealth"],["impl Ord for MavModeFlag"],["impl Ord for SerialControlFlag"],["impl Ord for GpsInputIgnoreFlags"],["impl Ord for HilSensorUpdatedFlags"],["impl Ord for EkfStatusFlags"],["impl Ord for MavWinchStatusFlag"],["impl Ord for CameraCapFlags"],["impl Ord for PositionTargetTypemask"],["impl Ord for HighresImuUpdatedFlags"],["impl Ord for GimbalDeviceCapFlags"],["impl Ord for EscFailureFlags"],["impl Ord for PositionTargetTypemask"]], "proc_macro2":[["impl Ord for Ident"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/cmp/trait.PartialEq.js b/trait.impl/core/cmp/trait.PartialEq.js index f6c8435eb6..e0557ea11d 100644 --- a/trait.impl/core/cmp/trait.PartialEq.js +++ b/trait.impl/core/cmp/trait.PartialEq.js @@ -1,6 +1,6 @@ (function() {var implementors = { "byteorder":[["impl PartialEq for BigEndian"],["impl PartialEq for LittleEndian"]], -"mavlink":[["impl PartialEq for RPM_DATA"],["impl PartialEq for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl PartialEq for GimbalManagerFlags"],["impl PartialEq for MEMORY_VECT_DATA"],["impl PartialEq for TIME_ESTIMATE_TO_TARGET_DATA"],["impl PartialEq for GPS2_RTK_DATA"],["impl PartialEq for TIMESYNC_DATA"],["impl PartialEq for PositionTargetTypemask"],["impl PartialEq for TIMESYNC_DATA"],["impl PartialEq for GPS2_RTK_DATA"],["impl PartialEq for DeepstallStage"],["impl PartialEq for MavFtpErr"],["impl PartialEq for TERRAIN_DATA_DATA"],["impl PartialEq for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl PartialEq for OPTICAL_FLOW_DATA"],["impl PartialEq for MavOdidCategoryEu"],["impl PartialEq for AutotuneAxis"],["impl PartialEq for MavSysStatusSensor"],["impl PartialEq for AIRSPEED_AUTOCAL_DATA"],["impl PartialEq for LED_CONTROL_DATA"],["impl PartialEq for FenceBreach"],["impl PartialEq for RcType"],["impl PartialEq for AUTH_KEY_DATA"],["impl PartialEq for MotorTestOrder"],["impl PartialEq for UavionixAdsbOutDynamicGpsFix"],["impl PartialEq for CAMERA_SETTINGS_DATA"],["impl PartialEq for MISSION_COUNT_DATA"],["impl PartialEq for EscFailureFlags"],["impl PartialEq for GoproProtuneColour"],["impl PartialEq for MavParamType"],["impl PartialEq for GPS_INJECT_DATA_DATA"],["impl PartialEq for MavOdidAuthType"],["impl PartialEq for UAVCAN_NODE_STATUS_DATA"],["impl PartialEq for LOCAL_POSITION_NED_COV_DATA"],["impl PartialEq for LOG_ENTRY_DATA"],["impl PartialEq for GENERATOR_STATUS_DATA"],["impl PartialEq for FOLLOW_TARGET_DATA"],["impl PartialEq for TERRAIN_REPORT_DATA"],["impl PartialEq for EscConnectionType"],["impl PartialEq for GoproHeartbeatStatus"],["impl PartialEq for SYSTEM_TIME_DATA"],["impl PartialEq for EVENT_DATA"],["impl PartialEq for VISION_SPEED_ESTIMATE_DATA"],["impl PartialEq for TERRAIN_REPORT_DATA"],["impl PartialEq for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl PartialEq for MavBatteryFault"],["impl PartialEq for HIL_RC_INPUTS_RAW_DATA"],["impl PartialEq for MavState"],["impl PartialEq for LINK_NODE_STATUS_DATA"],["impl PartialEq for HIL_CONTROLS_DATA"],["impl PartialEq for SAFETY_SET_ALLOWED_AREA_DATA"],["impl PartialEq for MavEventCurrentSequenceFlags"],["impl PartialEq for WifiConfigApResponse"],["impl PartialEq for ESC_TELEMETRY_5_TO_8_DATA"],["impl PartialEq for GpsFixType"],["impl PartialEq for LimitModule"],["impl PartialEq for PreflightStorageParameterAction"],["impl PartialEq for NAMED_VALUE_INT_DATA"],["impl PartialEq for EstimatorStatusFlags"],["impl PartialEq for MagCalStatus"],["impl PartialEq for RC_CHANNELS_OVERRIDE_DATA"],["impl PartialEq for GLOBAL_POSITION_INT_COV_DATA"],["impl PartialEq for MavLandedState"],["impl PartialEq for UavcanNodeHealth"],["impl PartialEq for SCALED_PRESSURE3_DATA"],["impl PartialEq for GimbalManagerFlags"],["impl PartialEq for LOG_REQUEST_DATA_DATA"],["impl PartialEq for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl PartialEq for COMPONENT_INFORMATION_DATA"],["impl PartialEq for CellularConfigResponse"],["impl PartialEq for MavOdidClassEu"],["impl PartialEq for VIDEO_STREAM_STATUS_DATA"],["impl PartialEq for AUTH_KEY_DATA"],["impl PartialEq for AP_ADC_DATA"],["impl PartialEq for FailureUnit"],["impl PartialEq for MavOdidUaType"],["impl PartialEq for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl PartialEq for PARAM_EXT_VALUE_DATA"],["impl PartialEq for VideoStreamType"],["impl PartialEq for CAMERA_CAPTURE_STATUS_DATA"],["impl PartialEq for SCALED_PRESSURE_DATA"],["impl PartialEq for SerialControlFlag"],["impl PartialEq for FOLLOW_TARGET_DATA"],["impl PartialEq for GripperActions"],["impl PartialEq for StorageUsageFlag"],["impl PartialEq for SAFETY_ALLOWED_AREA_DATA"],["impl PartialEq for ODOMETRY_DATA"],["impl PartialEq for MavProtocolCapability"],["impl PartialEq for MavMissionType"],["impl PartialEq for LandingTargetType"],["impl PartialEq for CameraTrackingTargetData"],["impl PartialEq for MOUNT_CONFIGURE_DATA"],["impl PartialEq for MavlinkVersion"],["impl PartialEq for NAMED_VALUE_FLOAT_DATA"],["impl PartialEq for MavOdidTimeAcc"],["impl PartialEq for VISION_POSITION_ESTIMATE_DATA"],["impl PartialEq for SET_MAG_OFFSETS_DATA"],["impl PartialEq for ISBD_LINK_STATUS_DATA"],["impl PartialEq for AUTOPILOT_VERSION_DATA"],["impl PartialEq for DEBUG_DATA"],["impl PartialEq for SAFETY_SET_ALLOWED_AREA_DATA"],["impl PartialEq for MISSION_REQUEST_LIST_DATA"],["impl PartialEq for GPS_INJECT_DATA_DATA"],["impl PartialEq for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl PartialEq for WINCH_STATUS_DATA"],["impl PartialEq for ParachuteAction"],["impl PartialEq for SIM_STATE_DATA"],["impl PartialEq for MavMountMode"],["impl PartialEq for HWSTATUS_DATA"],["impl PartialEq for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl PartialEq for CELLULAR_STATUS_DATA"],["impl PartialEq for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl PartialEq for POWER_STATUS_DATA"],["impl PartialEq for MOUNT_ORIENTATION_DATA"],["impl PartialEq for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl PartialEq for TuneFormat"],["impl PartialEq for ParamAck"],["impl PartialEq for DEBUG_VECT_DATA"],["impl PartialEq for MavResult"],["impl PartialEq for LandingTargetType"],["impl PartialEq for GimbalDeviceFlags"],["impl PartialEq for MavFtpOpcode"],["impl PartialEq for GIMBAL_MANAGER_INFORMATION_DATA"],["impl PartialEq for GIMBAL_MANAGER_STATUS_DATA"],["impl PartialEq for AHRS2_DATA"],["impl PartialEq for MavOdidUaType"],["impl PartialEq for CameraZoomType"],["impl PartialEq for AutotuneAxis"],["impl PartialEq for HlFailureFlag"],["impl PartialEq for DATA16_DATA"],["impl PartialEq for UavionixAdsbOutCfgGpsOffsetLat"],["impl PartialEq for ActuatorConfiguration"],["impl PartialEq for POSITION_TARGET_GLOBAL_INT_DATA"],["impl PartialEq for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl PartialEq for MISSION_REQUEST_DATA"],["impl PartialEq for HIGH_LATENCY_DATA"],["impl PartialEq for WifiConfigApMode"],["impl PartialEq for MavBatteryFunction"],["impl PartialEq for MavBatteryMode"],["impl PartialEq for StorageStatus"],["impl PartialEq for DISTANCE_SENSOR_DATA"],["impl PartialEq for AisType"],["impl PartialEq for FenceAction"],["impl PartialEq for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl PartialEq for MavSysStatusSensorExtended"],["impl PartialEq for LOG_ERASE_DATA"],["impl PartialEq for MavOdidClassificationType"],["impl PartialEq for MavOdidDescType"],["impl PartialEq for RC_CHANNELS_SCALED_DATA"],["impl PartialEq for TrackerMode"],["impl PartialEq for MavEstimatorType"],["impl PartialEq for RESOURCE_REQUEST_DATA"],["impl PartialEq for LINK_NODE_STATUS_DATA"],["impl PartialEq for ESC_STATUS_DATA"],["impl PartialEq for MISSION_REQUEST_INT_DATA"],["impl PartialEq for STATUSTEXT_DATA"],["impl PartialEq for PARAM_VALUE_DATA"],["impl PartialEq for GPS_GLOBAL_ORIGIN_DATA"],["impl PartialEq for CAMERA_IMAGE_CAPTURED_DATA"],["impl PartialEq for OPTICAL_FLOW_RAD_DATA"],["impl PartialEq for FenceAction"],["impl PartialEq for UavionixAdsbOutCfgAircraftSize"],["impl PartialEq for GIMBAL_MANAGER_STATUS_DATA"],["impl PartialEq for VtolTransitionHeading"],["impl PartialEq for PROTOCOL_VERSION_DATA"],["impl PartialEq for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl PartialEq for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl PartialEq for MavEventErrorReason"],["impl PartialEq for VISION_SPEED_ESTIMATE_DATA"],["impl PartialEq for MavResult"],["impl PartialEq for DEBUG_VECT_DATA"],["impl PartialEq for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl PartialEq for HeadingType"],["impl PartialEq for MISSION_CURRENT_DATA"],["impl PartialEq for SAFETY_ALLOWED_AREA_DATA"],["impl PartialEq for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl PartialEq for COMMAND_LONG_DATA"],["impl PartialEq for LOG_REQUEST_END_DATA"],["impl PartialEq for MavVtolState"],["impl PartialEq for COMMAND_INT_DATA"],["impl PartialEq for NAV_CONTROLLER_OUTPUT_DATA"],["impl PartialEq for StorageType"],["impl PartialEq for CURRENT_EVENT_SEQUENCE_DATA"],["impl PartialEq for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl PartialEq for REQUEST_DATA_STREAM_DATA"],["impl PartialEq for ESTIMATOR_STATUS_DATA"],["impl PartialEq for HEARTBEAT_DATA"],["impl PartialEq for GPS_RTK_DATA"],["impl PartialEq for MotorTestOrder"],["impl PartialEq for NavVtolLandOptions"],["impl PartialEq for GimbalManagerCapFlags"],["impl PartialEq for MavOdidHorAcc"],["impl PartialEq for MISSION_ACK_DATA"],["impl PartialEq for GoproVideoSettingsFlags"],["impl PartialEq for HIL_OPTICAL_FLOW_DATA"],["impl PartialEq for CAMERA_INFORMATION_DATA"],["impl PartialEq for GOPRO_SET_RESPONSE_DATA"],["impl PartialEq for GripperActions"],["impl PartialEq for EVENT_DATA"],["impl PartialEq for GIMBAL_REPORT_DATA"],["impl PartialEq for MOUNT_CONTROL_DATA"],["impl PartialEq for MavDataStream"],["impl PartialEq for MavCmdAck"],["impl PartialEq for COLLISION_DATA"],["impl PartialEq for ADSB_VEHICLE_DATA"],["impl PartialEq for UtmFlightState"],["impl PartialEq for CAN_FRAME_DATA"],["impl PartialEq for DEVICE_OP_WRITE_DATA"],["impl PartialEq for SMART_BATTERY_INFO_DATA"],["impl PartialEq for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl PartialEq for POSITION_TARGET_GLOBAL_INT_DATA"],["impl PartialEq for MotorTestThrottleType"],["impl PartialEq for PARAM_EXT_REQUEST_READ_DATA"],["impl PartialEq for RC_CHANNELS_SCALED_DATA"],["impl PartialEq for MavOdidClassificationType"],["impl PartialEq for MISSION_CLEAR_ALL_DATA"],["impl PartialEq for VIBRATION_DATA"],["impl PartialEq for SUPPORTED_TUNES_DATA"],["impl PartialEq for V2_EXTENSION_DATA"],["impl PartialEq for PositionTargetTypemask"],["impl PartialEq for PARAM_MAP_RC_DATA"],["impl PartialEq for MavGeneratorStatusFlag"],["impl PartialEq for ADSB_VEHICLE_DATA"],["impl PartialEq for OBSTACLE_DISTANCE_DATA"],["impl PartialEq for PrecisionLandMode"],["impl PartialEq for MavSensorOrientation"],["impl PartialEq for FILE_TRANSFER_PROTOCOL_DATA"],["impl PartialEq for NAMED_VALUE_FLOAT_DATA"],["impl PartialEq for GimbalDeviceCapFlags"],["impl PartialEq for AttitudeTargetTypemask"],["impl PartialEq for CameraTrackingTargetData"],["impl PartialEq for MANUAL_SETPOINT_DATA"],["impl PartialEq for ESTIMATOR_STATUS_DATA"],["impl PartialEq for AisFlags"],["impl PartialEq for MavModeFlag"],["impl PartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl PartialEq for UavionixAdsbOutCfgAircraftSize"],["impl PartialEq for MESSAGE_INTERVAL_DATA"],["impl PartialEq for SCALED_IMU3_DATA"],["impl PartialEq for HIL_STATE_QUATERNION_DATA"],["impl PartialEq for WIND_DATA"],["impl PartialEq for TERRAIN_REQUEST_DATA"],["impl PartialEq for GLOBAL_POSITION_INT_DATA"],["impl PartialEq for GpsInputIgnoreFlags"],["impl PartialEq for AUTH_KEY_DATA"],["impl PartialEq for MavTunnelPayloadType"],["impl PartialEq for HIL_ACTUATOR_CONTROLS_DATA"],["impl PartialEq for MavOdidOperatorLocationType"],["impl PartialEq for GPS_STATUS_DATA"],["impl PartialEq for CELLULAR_CONFIG_DATA"],["impl PartialEq for MavCollisionAction"],["impl PartialEq for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl PartialEq for GimbalDeviceCapFlags"],["impl PartialEq for MavOdidVerAcc"],["impl PartialEq for SERIAL_CONTROL_DATA"],["impl PartialEq for ESC_INFO_DATA"],["impl PartialEq for EXTENDED_SYS_STATE_DATA"],["impl PartialEq for MavSeverity"],["impl PartialEq for SCALED_IMU_DATA"],["impl PartialEq for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl PartialEq for MavSeverity"],["impl PartialEq for FailureUnit"],["impl PartialEq for RAW_IMU_DATA"],["impl PartialEq for SUPPORTED_TUNES_DATA"],["impl PartialEq for ATTITUDE_QUATERNION_DATA"],["impl PartialEq for PreflightStorageParameterAction"],["impl PartialEq for MavProtocolCapability"],["impl PartialEq for ICAROUS_HEARTBEAT_DATA"],["impl PartialEq for MavArmAuthDeniedReason"],["impl PartialEq for HOME_POSITION_DATA"],["impl PartialEq for BUTTON_CHANGE_DATA"],["impl PartialEq for MavGoto"],["impl PartialEq for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl PartialEq for PreflightStorageParameterAction"],["impl PartialEq for MavOdidAuthType"],["impl PartialEq for SCALED_IMU_DATA"],["impl PartialEq for FenceAction"],["impl PartialEq for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl PartialEq for ESTIMATOR_STATUS_DATA"],["impl PartialEq for MAG_CAL_REPORT_DATA"],["impl PartialEq for DEBUG_FLOAT_ARRAY_DATA"],["impl PartialEq for MavDistanceSensor"],["impl PartialEq for ATTITUDE_DATA"],["impl PartialEq for RC_CHANNELS_OVERRIDE_DATA"],["impl PartialEq for MavOdidSpeedAcc"],["impl PartialEq for AdsbEmitterType"],["impl PartialEq for RESPONSE_EVENT_ERROR_DATA"],["impl PartialEq for MavlinkDataStreamType"],["impl PartialEq for MotorTestThrottleType"],["impl PartialEq for RC_CHANNELS_SCALED_DATA"],["impl PartialEq for SET_ATTITUDE_TARGET_DATA"],["impl PartialEq for OPEN_DRONE_ID_SYSTEM_DATA"],["impl PartialEq for LOG_DATA_DATA"],["impl PartialEq for MavOdidIdType"],["impl PartialEq for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl PartialEq for AdsbAltitudeType"],["impl PartialEq for SET_ATTITUDE_TARGET_DATA"],["impl PartialEq for PROTOCOL_VERSION_DATA"],["impl PartialEq for LIMITS_STATUS_DATA"],["impl PartialEq for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl PartialEq for IcarousFmsState"],["impl PartialEq for HIGH_LATENCY_DATA"],["impl PartialEq for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl PartialEq for SYSTEM_TIME_DATA"],["impl PartialEq for RESPONSE_EVENT_ERROR_DATA"],["impl PartialEq for EKF_STATUS_REPORT_DATA"],["impl PartialEq for HIL_STATE_DATA"],["impl PartialEq for MavArmAuthDeniedReason"],["impl PartialEq for EstimatorStatusFlags"],["impl PartialEq for CameraTrackingStatusFlags"],["impl PartialEq for MavMissionType"],["impl PartialEq for SCALED_IMU3_DATA"],["impl PartialEq for POWER_STATUS_DATA"],["impl PartialEq for HilSensorUpdatedFlags"],["impl PartialEq for GPS_STATUS_DATA"],["impl PartialEq for EstimatorStatusFlags"],["impl PartialEq for COMMAND_ACK_DATA"],["impl PartialEq for SET_HOME_POSITION_DATA"],["impl PartialEq for ALTITUDE_DATA"],["impl PartialEq for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl PartialEq for WinchActions"],["impl PartialEq for AdsbFlags"],["impl PartialEq for LOG_REQUEST_END_DATA"],["impl PartialEq for GimbalDeviceErrorFlags"],["impl PartialEq for FenceBreach"],["impl PartialEq for GLOBAL_POSITION_INT_COV_DATA"],["impl PartialEq for CanFilterOp"],["impl PartialEq for MISSION_ITEM_DATA"],["impl PartialEq for VFR_HUD_DATA"],["impl PartialEq for StorageStatus"],["impl PartialEq for MavOdidStatus"],["impl PartialEq for UtmDataAvailFlags"],["impl PartialEq for SetFocusType"],["impl PartialEq for MavEventErrorReason"],["impl PartialEq for TERRAIN_CHECK_DATA"],["impl PartialEq for CameraTrackingStatusFlags"],["impl PartialEq for VideoStreamStatusFlags"],["impl PartialEq for ESC_INFO_DATA"],["impl PartialEq for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl PartialEq for HIL_STATE_QUATERNION_DATA"],["impl PartialEq for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl PartialEq for SetFocusType"],["impl PartialEq for AisFlags"],["impl PartialEq for PARAM_EXT_VALUE_DATA"],["impl PartialEq for DISTANCE_SENSOR_DATA"],["impl PartialEq for HIGHRES_IMU_DATA"],["impl PartialEq for ATTITUDE_TARGET_DATA"],["impl PartialEq for LOG_DATA_DATA"],["impl PartialEq for BATTERY_STATUS_DATA"],["impl PartialEq for CANFD_FRAME_DATA"],["impl PartialEq for FENCE_STATUS_DATA"],["impl PartialEq for HIGHRES_IMU_DATA"],["impl PartialEq for ICAROUS_KINEMATIC_BANDS_DATA"],["impl PartialEq for TuneFormat"],["impl PartialEq for MavModeFlagDecodePosition"],["impl PartialEq for FirmwareVersionType"],["impl PartialEq for RtkBaselineCoordinateSystem"],["impl PartialEq for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl PartialEq for EscFailureFlags"],["impl PartialEq for GimbalAxis"],["impl PartialEq for MavOdidHorAcc"],["impl PartialEq for SubMode"],["impl PartialEq for COMMAND_INT_DATA"],["impl PartialEq for RAW_PRESSURE_DATA"],["impl PartialEq for GimbalDeviceErrorFlags"],["impl PartialEq for VideoStreamStatusFlags"],["impl PartialEq for FLIGHT_INFORMATION_DATA"],["impl PartialEq for CellularConfigResponse"],["impl PartialEq for RADIO_STATUS_DATA"],["impl PartialEq for GoproCharging"],["impl PartialEq for UavionixAdsbOutDynamicState"],["impl PartialEq for MavDistanceSensor"],["impl PartialEq for DIGICAM_CONFIGURE_DATA"],["impl PartialEq for MavCmdDoAuxFunctionSwitchLevel"],["impl PartialEq for OPEN_DRONE_ID_LOCATION_DATA"],["impl PartialEq for SAFETY_ALLOWED_AREA_DATA"],["impl PartialEq for CellularStatusFlag"],["impl PartialEq for PARAM_EXT_SET_DATA"],["impl PartialEq for POSITION_TARGET_GLOBAL_INT_DATA"],["impl PartialEq for GoproRequestStatus"],["impl PartialEq for MavCollisionSrc"],["impl PartialEq for RESOURCE_REQUEST_DATA"],["impl PartialEq for MavOdidArmStatus"],["impl PartialEq for LOGGING_ACK_DATA"],["impl PartialEq for DATA_STREAM_DATA"],["impl PartialEq for MavState"],["impl PartialEq for NavVtolLandOptions"],["impl PartialEq for UAVCAN_NODE_INFO_DATA"],["impl PartialEq for DEBUG_FLOAT_ARRAY_DATA"],["impl PartialEq for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl PartialEq for PARAM_EXT_VALUE_DATA"],["impl PartialEq for MavOdidDescType"],["impl PartialEq for MavFrame"],["impl PartialEq for FenceBreach"],["impl PartialEq for WinchActions"],["impl PartialEq for MOUNT_ORIENTATION_DATA"],["impl PartialEq for SCALED_IMU2_DATA"],["impl PartialEq for MavOdidHeightRef"],["impl PartialEq for MavCmd"],["impl PartialEq for ParamAck"],["impl PartialEq for LOGGING_DATA_DATA"],["impl PartialEq for MavRoi"],["impl PartialEq for OPEN_DRONE_ID_LOCATION_DATA"],["impl PartialEq for RADIO_STATUS_DATA"],["impl PartialEq for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl PartialEq for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl PartialEq for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl PartialEq for MEMINFO_DATA"],["impl PartialEq for LandingTargetType"],["impl PartialEq for HIL_SENSOR_DATA"],["impl PartialEq for VideoStreamType"],["impl PartialEq for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl PartialEq for CHANGE_OPERATOR_CONTROL_DATA"],["impl PartialEq for CANFD_FRAME_DATA"],["impl PartialEq for AttitudeTargetTypemask"],["impl PartialEq for PING_DATA"],["impl PartialEq for MavWinchStatusFlag"],["impl PartialEq for MavAutopilot"],["impl PartialEq for CameraMode"],["impl PartialEq for MavOdidVerAcc"],["impl PartialEq for HIL_CONTROLS_DATA"],["impl PartialEq for MissionState"],["impl PartialEq for CAMERA_CAPTURE_STATUS_DATA"],["impl PartialEq for VISION_POSITION_DELTA_DATA"],["impl PartialEq for CAN_FRAME_DATA"],["impl PartialEq for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl PartialEq for LOCAL_POSITION_NED_COV_DATA"],["impl PartialEq for MavMode"],["impl PartialEq for MAG_CAL_PROGRESS_DATA"],["impl PartialEq for MISSION_REQUEST_INT_DATA"],["impl PartialEq for HIGHRES_IMU_DATA"],["impl PartialEq for MISSION_REQUEST_INT_DATA"],["impl PartialEq for CONTROL_SYSTEM_STATE_DATA"],["impl PartialEq for MavOdidOperatorIdType"],["impl PartialEq for MavArmAuthDeniedReason"],["impl PartialEq for ONBOARD_COMPUTER_STATUS_DATA"],["impl PartialEq for REQUEST_DATA_STREAM_DATA"],["impl PartialEq for MavRoi"],["impl PartialEq for CellularStatusFlag"],["impl PartialEq for MavPowerStatus"],["impl PartialEq for WINCH_STATUS_DATA"],["impl PartialEq for PARAM_EXT_REQUEST_LIST_DATA"],["impl PartialEq for CameraZoomType"],["impl PartialEq for SetFocusType"],["impl PartialEq for HYGROMETER_SENSOR_DATA"],["impl PartialEq for AIS_VESSEL_DATA"],["impl PartialEq for GoproFrameRate"],["impl PartialEq for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl PartialEq for MavModeGimbal"],["impl PartialEq for MavOdidStatus"],["impl PartialEq for DEVICE_OP_READ_DATA"],["impl PartialEq for WIND_COV_DATA"],["impl PartialEq for MavModeFlagDecodePosition"],["impl PartialEq for TERRAIN_CHECK_DATA"],["impl PartialEq for WIFI_CONFIG_AP_DATA"],["impl PartialEq for GimbalManagerFlags"],["impl PartialEq for UavionixAdsbRfHealth"],["impl PartialEq for BATTERY_STATUS_DATA"],["impl PartialEq for OPEN_DRONE_ID_SYSTEM_DATA"],["impl PartialEq for SCALED_PRESSURE2_DATA"],["impl PartialEq for MavDataStream"],["impl PartialEq for HIL_CONTROLS_DATA"],["impl PartialEq for PLAY_TUNE_V2_DATA"],["impl PartialEq for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl PartialEq for CONTROL_SYSTEM_STATE_DATA"],["impl PartialEq for CHANGE_OPERATOR_CONTROL_DATA"],["impl PartialEq for GPS_GLOBAL_ORIGIN_DATA"],["impl PartialEq for UavcanNodeMode"],["impl PartialEq for GIMBAL_DEVICE_INFORMATION_DATA"],["impl PartialEq for EscFailureFlags"],["impl PartialEq for COMPASSMOT_STATUS_DATA"],["impl PartialEq for LOG_ENTRY_DATA"],["impl PartialEq for MavBatteryMode"],["impl PartialEq for CameraMode"],["impl PartialEq for DEBUG_FLOAT_ARRAY_DATA"],["impl PartialEq for LOG_REQUEST_LIST_DATA"],["impl PartialEq for MavGoto"],["impl PartialEq for GOPRO_SET_REQUEST_DATA"],["impl PartialEq for ActuatorOutputFunction"],["impl PartialEq for MEMORY_VECT_DATA"],["impl PartialEq for MAG_CAL_REPORT_DATA"],["impl PartialEq for STORAGE_INFORMATION_DATA"],["impl PartialEq for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl PartialEq for MavLandedState"],["impl PartialEq for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl PartialEq for PLAY_TUNE_DATA"],["impl PartialEq for MavBatteryFault"],["impl PartialEq for OSD_PARAM_CONFIG_DATA"],["impl PartialEq for MavModeFlag"],["impl PartialEq for COMMAND_ACK_DATA"],["impl PartialEq for SYS_STATUS_DATA"],["impl PartialEq for PidTuningAxis"],["impl PartialEq for MavOdidOperatorIdType"],["impl PartialEq for RC_CHANNELS_DATA"],["impl PartialEq for RcType"],["impl PartialEq for MISSION_CLEAR_ALL_DATA"],["impl PartialEq for MavOdidDescType"],["impl PartialEq for MavModeFlag"],["impl PartialEq for DEEPSTALL_DATA"],["impl PartialEq for MCU_STATUS_DATA"],["impl PartialEq for MissionState"],["impl PartialEq for ActuatorConfiguration"],["impl PartialEq for CameraTrackingMode"],["impl PartialEq for BUTTON_CHANGE_DATA"],["impl PartialEq for ParachuteAction"],["impl PartialEq for LOG_REQUEST_END_DATA"],["impl PartialEq for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl PartialEq for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl PartialEq for DEVICE_OP_READ_REPLY_DATA"],["impl PartialEq for LOG_REQUEST_DATA_DATA"],["impl PartialEq for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl PartialEq for DATA32_DATA"],["impl PartialEq for MavSysStatusSensorExtended"],["impl PartialEq for OPEN_DRONE_ID_SELF_ID_DATA"],["impl PartialEq for VISION_POSITION_ESTIMATE_DATA"],["impl PartialEq for GoproProtuneExposure"],["impl PartialEq for MavEventErrorReason"],["impl PartialEq for SCALED_PRESSURE3_DATA"],["impl PartialEq for CANFD_FRAME_DATA"],["impl PartialEq for MavBatteryType"],["impl PartialEq for MavBatteryMode"],["impl PartialEq for NavVtolLandOptions"],["impl PartialEq for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl PartialEq for GIMBAL_MANAGER_INFORMATION_DATA"],["impl PartialEq for FenceMitigate"],["impl PartialEq for HEARTBEAT_DATA"],["impl PartialEq for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl PartialEq for MavGoto"],["impl PartialEq for SETUP_SIGNING_DATA"],["impl PartialEq for MavType"],["impl PartialEq for LOGGING_ACK_DATA"],["impl PartialEq for FailureUnit"],["impl PartialEq for RC_CHANNELS_DATA"],["impl PartialEq for MISSION_REQUEST_DATA"],["impl PartialEq for MavCmdAck"],["impl PartialEq for HIL_OPTICAL_FLOW_DATA"],["impl PartialEq for VideoStreamType"],["impl PartialEq for UavionixAdsbOutCfgGpsOffsetLon"],["impl PartialEq for FenceMitigate"],["impl PartialEq for RADIO_STATUS_DATA"],["impl PartialEq for SIM_STATE_DATA"],["impl PartialEq for MavWinchStatusFlag"],["impl PartialEq for FILE_TRANSFER_PROTOCOL_DATA"],["impl PartialEq for CompMetadataType"],["impl PartialEq for MavOdidTimeAcc"],["impl PartialEq for V2_EXTENSION_DATA"],["impl PartialEq for SERVO_OUTPUT_RAW_DATA"],["impl PartialEq for CameraFeedbackFlags"],["impl PartialEq for LANDING_TARGET_DATA"],["impl PartialEq for MotorTestThrottleType"],["impl PartialEq for ACTUATOR_CONTROL_TARGET_DATA"],["impl PartialEq for OPTICAL_FLOW_DATA"],["impl PartialEq for SERIAL_CONTROL_DATA"],["impl PartialEq for UTM_GLOBAL_POSITION_DATA"],["impl PartialEq for UAVCAN_NODE_STATUS_DATA"],["impl PartialEq for VIDEO_STREAM_INFORMATION_DATA"],["impl PartialEq for MavDistanceSensor"],["impl PartialEq for PlaneMode"],["impl PartialEq for PARAM_EXT_REQUEST_LIST_DATA"],["impl PartialEq for PARAM_MAP_RC_DATA"],["impl PartialEq for OrbitYawBehaviour"],["impl PartialEq for VIDEO_STREAM_INFORMATION_DATA"],["impl PartialEq for PARAM_EXT_REQUEST_READ_DATA"],["impl PartialEq for MavOdidHeightRef"],["impl PartialEq for OPTICAL_FLOW_RAD_DATA"],["impl PartialEq for LOCAL_POSITION_NED_DATA"],["impl PartialEq for MavBatteryChargeState"],["impl PartialEq for CameraCapFlags"],["impl PartialEq for StorageStatus"],["impl PartialEq for MavOdidAuthType"],["impl PartialEq for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl PartialEq for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl PartialEq for SERVO_OUTPUT_RAW_DATA"],["impl PartialEq for MavOdidUaType"],["impl PartialEq for GpsFixType"],["impl PartialEq for TERRAIN_REQUEST_DATA"],["impl PartialEq for GPS_INPUT_DATA"],["impl PartialEq for MISSION_CURRENT_DATA"],["impl PartialEq for IcarousTrackBandTypes"],["impl PartialEq for FENCE_STATUS_DATA"],["impl PartialEq for SpeedType"],["impl PartialEq for MavOdidIdType"],["impl PartialEq for COMMAND_INT_DATA"],["impl PartialEq for PARAM_VALUE_DATA"],["impl PartialEq for PARAM_REQUEST_LIST_DATA"],["impl PartialEq for NAV_CONTROLLER_OUTPUT_DATA"],["impl PartialEq for GOPRO_GET_REQUEST_DATA"],["impl PartialEq for COMMAND_CANCEL_DATA"],["impl PartialEq for DEBUG_DATA"],["impl PartialEq for PLAY_TUNE_V2_DATA"],["impl PartialEq for VISION_POSITION_ESTIMATE_DATA"],["impl PartialEq for RESPONSE_EVENT_ERROR_DATA"],["impl PartialEq for RAW_RPM_DATA"],["impl PartialEq for NAMED_VALUE_FLOAT_DATA"],["impl PartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl PartialEq for STORAGE_INFORMATION_DATA"],["impl PartialEq for CELLULAR_STATUS_DATA"],["impl PartialEq for OsdParamConfigError"],["impl PartialEq for MavParamType"],["impl PartialEq for CELLULAR_STATUS_DATA"],["impl PartialEq for PARAM_EXT_ACK_DATA"],["impl PartialEq for PARAM_SET_DATA"],["impl PartialEq for GIMBAL_MANAGER_STATUS_DATA"],["impl PartialEq for TERRAIN_DATA_DATA"],["impl PartialEq for UavcanNodeMode"],["impl PartialEq for HIL_SENSOR_DATA"],["impl PartialEq for MavGeneratorStatusFlag"],["impl PartialEq for PreflightStorageMissionAction"],["impl PartialEq for TuneFormat"],["impl PartialEq for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl PartialEq for SCALED_PRESSURE2_DATA"],["impl PartialEq for SET_MODE_DATA"],["impl PartialEq for MavCollisionThreatLevel"],["impl PartialEq for MagCalStatus"],["impl PartialEq for GoproCaptureMode"],["impl PartialEq for MavFrame"],["impl PartialEq for MavDataStream"],["impl PartialEq for RADIO_DATA"],["impl PartialEq for VIBRATION_DATA"],["impl PartialEq for MISSION_ITEM_REACHED_DATA"],["impl PartialEq for CAMERA_FEEDBACK_DATA"],["impl PartialEq for AdsbFlags"],["impl PartialEq for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl PartialEq for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl PartialEq for RC_CHANNELS_RAW_DATA"],["impl PartialEq for GoproResolution"],["impl PartialEq for CAMERA_SETTINGS_DATA"],["impl PartialEq for StorageUsageFlag"],["impl PartialEq for WATER_DEPTH_DATA"],["impl PartialEq for MISSION_ACK_DATA"],["impl PartialEq for MavType"],["impl PartialEq for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl PartialEq for PLAY_TUNE_DATA"],["impl PartialEq for MISSION_COUNT_DATA"],["impl PartialEq for SERIAL_CONTROL_DATA"],["impl PartialEq for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl PartialEq for MAG_CAL_REPORT_DATA"],["impl PartialEq for AisNavStatus"],["impl PartialEq for MavMissionResult"],["impl PartialEq for MavOdidVerAcc"],["impl PartialEq for MavOdidArmStatus"],["impl PartialEq for LOG_DATA_DATA"],["impl PartialEq for VIDEO_STREAM_STATUS_DATA"],["impl PartialEq for MagCalStatus"],["impl PartialEq for PING_DATA"],["impl PartialEq for UavionixAdsbOutDynamicGpsFix"],["impl PartialEq for PARAM_REQUEST_READ_DATA"],["impl PartialEq for GpsInputIgnoreFlags"],["impl PartialEq for AHRS_DATA"],["impl PartialEq for FLIGHT_INFORMATION_DATA"],["impl PartialEq for REQUEST_DATA_STREAM_DATA"],["impl PartialEq for MISSION_COUNT_DATA"],["impl PartialEq for LOCAL_POSITION_NED_COV_DATA"],["impl PartialEq for TIME_ESTIMATE_TO_TARGET_DATA"],["impl PartialEq for ATTITUDE_DATA"],["impl PartialEq for UavionixAdsbEmergencyStatus"],["impl PartialEq for PreflightStorageMissionAction"],["impl PartialEq for GoproModel"],["impl PartialEq for RAW_PRESSURE_DATA"],["impl PartialEq for MavMessage"],["impl PartialEq for CameraCapFlags"],["impl PartialEq for GPS_GLOBAL_ORIGIN_DATA"],["impl PartialEq for UtmDataAvailFlags"],["impl PartialEq for ENCAPSULATED_DATA_DATA"],["impl PartialEq for HighresImuUpdatedFlags"],["impl PartialEq for HIL_STATE_DATA"],["impl PartialEq for ACTUATOR_CONTROL_TARGET_DATA"],["impl PartialEq for EFI_STATUS_DATA"],["impl PartialEq for LOGGING_DATA_ACKED_DATA"],["impl PartialEq for ATTITUDE_TARGET_DATA"],["impl PartialEq for LOG_REQUEST_DATA_DATA"],["impl PartialEq for SerialControlDev"],["impl PartialEq for GoproHeartbeatFlags"],["impl PartialEq for COMMAND_LONG_DATA"],["impl PartialEq for MavCollisionSrc"],["impl PartialEq for AisType"],["impl PartialEq for DATA96_DATA"],["impl PartialEq for LOG_ENTRY_DATA"],["impl PartialEq for UAVCAN_NODE_STATUS_DATA"],["impl PartialEq for HilSensorUpdatedFlags"],["impl PartialEq for ATTITUDE_DATA"],["impl PartialEq for MavBatteryFunction"],["impl PartialEq for OPEN_DRONE_ID_LOCATION_DATA"],["impl PartialEq for WinchActions"],["impl PartialEq for WHEEL_DISTANCE_DATA"],["impl PartialEq for MavFtpErr"],["impl PartialEq for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl PartialEq for RALLY_POINT_DATA"],["impl PartialEq for CAMERA_CAPTURE_STATUS_DATA"],["impl PartialEq for WIND_COV_DATA"],["impl PartialEq for UavcanNodeMode"],["impl PartialEq for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl PartialEq for SYS_STATUS_DATA"],["impl PartialEq for CAN_FILTER_MODIFY_DATA"],["impl PartialEq for CELLULAR_CONFIG_DATA"],["impl PartialEq for SerialControlFlag"],["impl PartialEq for WifiConfigApMode"],["impl PartialEq for CAN_FRAME_DATA"],["impl PartialEq for FLIGHT_INFORMATION_DATA"],["impl PartialEq for MavEstimatorType"],["impl PartialEq for AdsbFlags"],["impl PartialEq for ScriptingCmd"],["impl PartialEq for COLLISION_DATA"],["impl PartialEq for PARAM_EXT_REQUEST_LIST_DATA"],["impl PartialEq for PING_DATA"],["impl PartialEq for CAMERA_TRIGGER_DATA"],["impl PartialEq for SCALED_PRESSURE_DATA"],["impl PartialEq for AHRS3_DATA"],["impl PartialEq for AOA_SSA_DATA"],["impl PartialEq for VICON_POSITION_ESTIMATE_DATA"],["impl PartialEq for GENERATOR_STATUS_DATA"],["impl PartialEq for OPEN_DRONE_ID_SYSTEM_DATA"],["impl PartialEq for CellularNetworkRadioType"],["impl PartialEq for DEBUG_VECT_DATA"],["impl PartialEq for GPS_RTCM_DATA_DATA"],["impl PartialEq for MavOdidSpeedAcc"],["impl PartialEq for OSD_PARAM_SHOW_CONFIG_DATA"],["impl PartialEq for RAW_RPM_DATA"],["impl PartialEq for MANUAL_CONTROL_DATA"],["impl PartialEq for NAMED_VALUE_INT_DATA"],["impl PartialEq for CanFilterOp"],["impl PartialEq for FILE_TRANSFER_PROTOCOL_DATA"],["impl PartialEq for CAMERA_INFORMATION_DATA"],["impl PartialEq for FailureType"],["impl PartialEq for MavType"],["impl PartialEq for UAVCAN_NODE_INFO_DATA"],["impl PartialEq for LimitsState"],["impl PartialEq for MavOdidSpeedAcc"],["impl PartialEq for MISSION_ITEM_INT_DATA"],["impl PartialEq for ENCAPSULATED_DATA_DATA"],["impl PartialEq for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl PartialEq for STATUSTEXT_DATA"],["impl PartialEq for RAW_PRESSURE_DATA"],["impl PartialEq for GOPRO_GET_RESPONSE_DATA"],["impl PartialEq for ORBIT_EXECUTION_STATUS_DATA"],["impl PartialEq for ATTITUDE_QUATERNION_COV_DATA"],["impl PartialEq for MavOdidOperatorLocationType"],["impl PartialEq for MavOdidClassEu"],["impl PartialEq for MavlinkDataStreamType"],["impl PartialEq for COMMAND_CANCEL_DATA"],["impl PartialEq for HIL_RC_INPUTS_RAW_DATA"],["impl PartialEq for MISSION_REQUEST_LIST_DATA"],["impl PartialEq for GPS_RTK_DATA"],["impl PartialEq for CAMERA_IMAGE_CAPTURED_DATA"],["impl PartialEq for LOCAL_POSITION_NED_DATA"],["impl PartialEq for MavBatteryType"],["impl PartialEq for DATA64_DATA"],["impl PartialEq for AisNavStatus"],["impl PartialEq for BATTERY_STATUS_DATA"],["impl PartialEq for OBSTACLE_DISTANCE_DATA"],["impl PartialEq for ATTITUDE_QUATERNION_DATA"],["impl PartialEq for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl PartialEq for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl PartialEq for RtkBaselineCoordinateSystem"],["impl PartialEq for MavParamExtType"],["impl PartialEq for AdsbEmitterType"],["impl PartialEq for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl PartialEq for MavCollisionThreatLevel"],["impl PartialEq for MISSION_ITEM_REACHED_DATA"],["impl PartialEq for VtolTransitionHeading"],["impl PartialEq for LOGGING_DATA_DATA"],["impl PartialEq for MISSION_ITEM_INT_DATA"],["impl PartialEq for FailureType"],["impl PartialEq for CompMetadataType"],["impl PartialEq for RANGEFINDER_DATA"],["impl PartialEq for OrbitYawBehaviour"],["impl PartialEq for HIL_STATE_QUATERNION_DATA"],["impl PartialEq for UtmFlightState"],["impl PartialEq for MavFtpErr"],["impl PartialEq for PARAM_REQUEST_LIST_DATA"],["impl PartialEq for RoverMode"],["impl PartialEq for UavionixAdsbOutDynamicState"],["impl PartialEq for SCALED_PRESSURE2_DATA"],["impl PartialEq for MavLandedState"],["impl PartialEq for DATA_STREAM_DATA"],["impl PartialEq for RESOURCE_REQUEST_DATA"],["impl PartialEq for TUNNEL_DATA"],["impl PartialEq for TIME_ESTIMATE_TO_TARGET_DATA"],["impl PartialEq for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl PartialEq for MavPowerStatus"],["impl PartialEq for MavBatteryFunction"],["impl PartialEq for WIFI_CONFIG_AP_DATA"],["impl PartialEq for RC_CHANNELS_OVERRIDE_DATA"],["impl PartialEq for StorageUsageFlag"],["impl PartialEq for HOME_POSITION_DATA"],["impl PartialEq for EXTENDED_SYS_STATE_DATA"],["impl PartialEq for ISBD_LINK_STATUS_DATA"],["impl PartialEq for WINCH_STATUS_DATA"],["impl PartialEq for SERVO_OUTPUT_RAW_DATA"],["impl PartialEq for MavOdidHorAcc"],["impl PartialEq for ACTUATOR_OUTPUT_STATUS_DATA"],["impl PartialEq for CompMetadataType"],["impl PartialEq for ATTITUDE_QUATERNION_COV_DATA"],["impl PartialEq for MavMessage"],["impl PartialEq for MavComponent"],["impl PartialEq for MISSION_REQUEST_DATA"],["impl PartialEq for MESSAGE_INTERVAL_DATA"],["impl PartialEq for REQUEST_EVENT_DATA"],["impl PartialEq for HIL_GPS_DATA"],["impl PartialEq for MISSION_ITEM_REACHED_DATA"],["impl PartialEq for OrbitYawBehaviour"],["impl PartialEq for MavMode"],["impl PartialEq for GPS_INPUT_DATA"],["impl PartialEq for MavOdidClassificationType"],["impl PartialEq for StorageType"],["impl PartialEq for COMPONENT_METADATA_DATA"],["impl PartialEq for SerialControlDev"],["impl PartialEq for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl PartialEq for MavOdidStatus"],["impl PartialEq for MavMissionResult"],["impl PartialEq for SET_MODE_DATA"],["impl PartialEq for ONBOARD_COMPUTER_STATUS_DATA"],["impl PartialEq for CAMERA_IMAGE_CAPTURED_DATA"],["impl PartialEq for MESSAGE_INTERVAL_DATA"],["impl PartialEq for AIS_VESSEL_DATA"],["impl PartialEq for VIBRATION_DATA"],["impl PartialEq for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl PartialEq for GIMBAL_CONTROL_DATA"],["impl PartialEq for AdsbAltitudeType"],["impl PartialEq for GPS_STATUS_DATA"],["impl PartialEq for GIMBAL_DEVICE_INFORMATION_DATA"],["impl PartialEq for MavOdidOperatorIdType"],["impl PartialEq for MavState"],["impl PartialEq for SCALED_IMU3_DATA"],["impl PartialEq for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl PartialEq for ALTITUDE_DATA"],["impl PartialEq for MISSION_ITEM_DATA"],["impl PartialEq for VideoStreamStatusFlags"],["impl PartialEq for MISSION_CLEAR_ALL_DATA"],["impl PartialEq for RAW_IMU_DATA"],["impl PartialEq for AisType"],["impl PartialEq for CellularConfigResponse"],["impl PartialEq for GimbalDeviceFlags"],["impl PartialEq for PARAM_REQUEST_LIST_DATA"],["impl PartialEq for ParachuteAction"],["impl PartialEq for ActuatorOutputFunction"],["impl PartialEq for CAMERA_SETTINGS_DATA"],["impl PartialEq for MISSION_SET_CURRENT_DATA"],["impl PartialEq for MavOdidHeightRef"],["impl PartialEq for GimbalDeviceErrorFlags"],["impl PartialEq for MavSensorOrientation"],["impl PartialEq for AIS_VESSEL_DATA"],["impl PartialEq for EFI_STATUS_DATA"],["impl PartialEq for EVENT_DATA"],["impl PartialEq for MavAutopilot"],["impl PartialEq for CONTROL_SYSTEM_STATE_DATA"],["impl PartialEq for STORAGE_INFORMATION_DATA"],["impl PartialEq for REMOTE_LOG_DATA_BLOCK_DATA"],["impl PartialEq for GPS_INJECT_DATA_DATA"],["impl PartialEq for UavcanNodeHealth"],["impl PartialEq for WHEEL_DISTANCE_DATA"],["impl PartialEq for PID_TUNING_DATA"],["impl PartialEq for GOPRO_HEARTBEAT_DATA"],["impl PartialEq for UtmFlightState"],["impl PartialEq for COMMAND_ACK_DATA"],["impl PartialEq for FENCE_STATUS_DATA"],["impl PartialEq for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl PartialEq for ESC_TELEMETRY_1_TO_4_DATA"],["impl PartialEq for GpsInputIgnoreFlags"],["impl PartialEq for LINK_NODE_STATUS_DATA"],["impl PartialEq for AisNavStatus"],["impl PartialEq for HIL_ACTUATOR_CONTROLS_DATA"],["impl PartialEq for MavBatteryChargeState"],["impl PartialEq for GimbalDeviceCapFlags"],["impl PartialEq for OBSTACLE_DISTANCE_3D_DATA"],["impl PartialEq for ISBD_LINK_STATUS_DATA"],["impl PartialEq for OPEN_DRONE_ID_SELF_ID_DATA"],["impl PartialEq for MavDoRepositionFlags"],["impl PartialEq for TERRAIN_CHECK_DATA"],["impl PartialEq for CUBEPILOT_RAW_RC_DATA"],["impl PartialEq for GLOBAL_POSITION_INT_COV_DATA"],["impl PartialEq for DEBUG_DATA"],["impl PartialEq for HlFailureFlag"],["impl PartialEq for GoproPhotoResolution"],["impl PartialEq for MavCollisionAction"],["impl PartialEq for RtkBaselineCoordinateSystem"],["impl PartialEq for GimbalManagerCapFlags"],["impl PartialEq for MavGeneratorStatusFlag"],["impl PartialEq for MANUAL_SETPOINT_DATA"],["impl PartialEq for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl PartialEq for PARAM_VALUE_DATA"],["impl PartialEq for IcarousTrackBandTypes"],["impl PartialEq for REQUEST_EVENT_DATA"],["impl PartialEq for MavRoi"],["impl PartialEq for VIDEO_STREAM_INFORMATION_DATA"],["impl PartialEq for FailureType"],["impl PartialEq for CameraTrackingMode"],["impl PartialEq for SerialControlFlag"],["impl PartialEq for SIMSTATE_DATA"],["impl PartialEq for UavionixAdsbOutCfgGpsOffsetLat"],["impl PartialEq for MISSION_CURRENT_DATA"],["impl PartialEq for GPS2_RTK_DATA"],["impl PartialEq for SETUP_SIGNING_DATA"],["impl PartialEq for CellularNetworkFailedReason"],["impl PartialEq for GPS2_RAW_DATA"],["impl PartialEq for GPS_INPUT_DATA"],["impl PartialEq for LOGGING_DATA_ACKED_DATA"],["impl PartialEq for MavCollisionAction"],["impl PartialEq for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl PartialEq for SMART_BATTERY_INFO_DATA"],["impl PartialEq for HIL_RC_INPUTS_RAW_DATA"],["impl PartialEq for FOLLOW_TARGET_DATA"],["impl PartialEq for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl PartialEq for AUTOPILOT_VERSION_REQUEST_DATA"],["impl PartialEq for OPEN_DRONE_ID_SELF_ID_DATA"],["impl PartialEq for ESC_INFO_DATA"],["impl PartialEq for GoproBurstRate"],["impl PartialEq for MavVtolState"],["impl PartialEq for CellularNetworkFailedReason"],["impl PartialEq for DATA_STREAM_DATA"],["impl PartialEq for RC_CHANNELS_RAW_DATA"],["impl PartialEq for GimbalAxisCalibrationRequired"],["impl PartialEq for LOG_REQUEST_LIST_DATA"],["impl PartialEq for GoproFieldOfView"],["impl PartialEq for MavSensorOrientation"],["impl PartialEq for ACTUATOR_CONTROL_TARGET_DATA"],["impl PartialEq for PreflightStorageMissionAction"],["impl PartialEq for TERRAIN_REQUEST_DATA"],["impl PartialEq for ESC_STATUS_DATA"],["impl PartialEq for MavTunnelPayloadType"],["impl PartialEq for MISSION_ITEM_INT_DATA"],["impl PartialEq for LOGGING_DATA_ACKED_DATA"],["impl PartialEq for MavCmd"],["impl PartialEq for MavAutopilot"],["impl PartialEq for ATT_POS_MOCAP_DATA"],["impl PartialEq for ONBOARD_COMPUTER_STATUS_DATA"],["impl PartialEq for DISTANCE_SENSOR_DATA"],["impl PartialEq for SerialControlDev"],["impl PartialEq for TIMESYNC_DATA"],["impl PartialEq for UavionixAdsbOutRfSelect"],["impl PartialEq for GLOBAL_POSITION_INT_DATA"],["impl PartialEq for PARAM_REQUEST_READ_DATA"],["impl PartialEq for MavParamType"],["impl PartialEq for MavlinkDataStreamType"],["impl PartialEq for SIM_STATE_DATA"],["impl PartialEq for HIL_GPS_DATA"],["impl PartialEq for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl PartialEq for CAMERA_FOV_STATUS_DATA"],["impl PartialEq for COMPONENT_INFORMATION_DATA"],["impl PartialEq for ICAROUS_KINEMATIC_BANDS_DATA"],["impl PartialEq for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl PartialEq for WifiConfigApResponse"],["impl PartialEq for NAV_CONTROLLER_OUTPUT_DATA"],["impl PartialEq for MISSION_ITEM_DATA"],["impl PartialEq for OSD_PARAM_CONFIG_REPLY_DATA"],["impl PartialEq for MOUNT_ORIENTATION_DATA"],["impl PartialEq for CAMERA_STATUS_DATA"],["impl PartialEq for PrecisionLandMode"],["impl PartialEq for ADAP_TUNING_DATA"],["impl PartialEq for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl PartialEq for ATTITUDE_QUATERNION_DATA"],["impl PartialEq for HYGROMETER_SENSOR_DATA"],["impl PartialEq for CameraMode"],["impl PartialEq for MavSysStatusSensorExtended"],["impl PartialEq for PARAM_REQUEST_READ_DATA"],["impl PartialEq for UAVCAN_NODE_INFO_DATA"],["impl PartialEq for SENSOR_OFFSETS_DATA"],["impl PartialEq for GimbalDeviceFlags"],["impl PartialEq for SET_HOME_POSITION_DATA"],["impl PartialEq for MISSION_SET_CURRENT_DATA"],["impl PartialEq for MavFtpOpcode"],["impl PartialEq for CameraZoomType"],["impl PartialEq for CellularNetworkFailedReason"],["impl PartialEq for AUTOPILOT_VERSION_DATA"],["impl PartialEq for MavMissionResult"],["impl PartialEq for ORBIT_EXECUTION_STATUS_DATA"],["impl PartialEq for HIGH_LATENCY2_DATA"],["impl PartialEq for RAW_RPM_DATA"],["impl PartialEq for POWER_STATUS_DATA"],["impl PartialEq for MISSION_REQUEST_LIST_DATA"],["impl PartialEq for LANDING_TARGET_DATA"],["impl PartialEq for OsdParamConfigType"],["impl PartialEq for MavComponent"],["impl PartialEq for CURRENT_EVENT_SEQUENCE_DATA"],["impl PartialEq for CAN_FILTER_MODIFY_DATA"],["impl PartialEq for MavBatteryFault"],["impl PartialEq for PositionTargetTypemask"],["impl PartialEq for GPS2_RAW_DATA"],["impl PartialEq for PROTOCOL_VERSION_DATA"],["impl PartialEq for RC_CHANNELS_RAW_DATA"],["impl PartialEq for CellularStatusFlag"],["impl PartialEq for ATTITUDE_TARGET_DATA"],["impl PartialEq for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl PartialEq for MavDoRepositionFlags"],["impl PartialEq for MavHeader"],["impl PartialEq for LOG_ERASE_DATA"],["impl PartialEq for MavCollisionSrc"],["impl PartialEq for UavionixAdsbOutCfgGpsOffsetLon"],["impl PartialEq for GIMBAL_MANAGER_INFORMATION_DATA"],["impl PartialEq for HlFailureFlag"],["impl PartialEq for ATT_POS_MOCAP_DATA"],["impl PartialEq for CameraTrackingTargetData"],["impl PartialEq for MANUAL_SETPOINT_DATA"],["impl PartialEq for CAMERA_FOV_STATUS_DATA"],["impl PartialEq for COMMAND_CANCEL_DATA"],["impl PartialEq for GPS_RTK_DATA"],["impl PartialEq for GLOBAL_POSITION_INT_DATA"],["impl PartialEq for REQUEST_EVENT_DATA"],["impl PartialEq for MANUAL_CONTROL_DATA"],["impl PartialEq for VIDEO_STREAM_STATUS_DATA"],["impl PartialEq for CURRENT_EVENT_SEQUENCE_DATA"],["impl PartialEq for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl PartialEq for MavModeFlagDecodePosition"],["impl PartialEq for FENCE_POINT_DATA"],["impl PartialEq for HighresImuUpdatedFlags"],["impl PartialEq for GPS_RTCM_DATA_DATA"],["impl PartialEq for UavionixAdsbOutRfSelect"],["impl PartialEq for MavWinchStatusFlag"],["impl PartialEq for GPS_RAW_INT_DATA"],["impl PartialEq for CAMERA_TRIGGER_DATA"],["impl PartialEq for LOG_REQUEST_LIST_DATA"],["impl PartialEq for HYGROMETER_SENSOR_DATA"],["impl PartialEq for CopterMode"],["impl PartialEq for MavMissionType"],["impl PartialEq for MavFtpOpcode"],["impl PartialEq for COMPONENT_METADATA_DATA"],["impl PartialEq for FenceMitigate"],["impl PartialEq for AutotuneAxis"],["impl PartialEq for ICAROUS_HEARTBEAT_DATA"],["impl PartialEq for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl PartialEq for ActuatorOutputFunction"],["impl PartialEq for MavSysStatusSensor"],["impl PartialEq for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl PartialEq for COMPONENT_INFORMATION_DATA"],["impl PartialEq for COLLISION_DATA"],["impl PartialEq for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl PartialEq for ODOMETRY_DATA"],["impl PartialEq for VICON_POSITION_ESTIMATE_DATA"],["impl PartialEq for HighresImuUpdatedFlags"],["impl PartialEq for BATTERY2_DATA"],["impl PartialEq for UTM_GLOBAL_POSITION_DATA"],["impl PartialEq for MavMountMode"],["impl PartialEq for SETUP_SIGNING_DATA"],["impl PartialEq for MavOdidClassEu"],["impl PartialEq for UavionixAdsbEmergencyStatus"],["impl PartialEq for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl PartialEq for AUTOPILOT_VERSION_DATA"],["impl PartialEq for UTM_GLOBAL_POSITION_DATA"],["impl PartialEq for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl PartialEq for HEARTBEAT_DATA"],["impl PartialEq for VFR_HUD_DATA"],["impl PartialEq for PARAM_EXT_REQUEST_READ_DATA"],["impl PartialEq for ATT_POS_MOCAP_DATA"],["impl PartialEq for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl PartialEq for ODOMETRY_DATA"],["impl PartialEq for FirmwareVersionType"],["impl PartialEq for MavDoRepositionFlags"],["impl PartialEq for HilSensorUpdatedFlags"],["impl PartialEq for MavParamExtType"],["impl PartialEq for SCALED_IMU2_DATA"],["impl PartialEq for MavMessage"],["impl PartialEq for MANUAL_CONTROL_DATA"],["impl PartialEq for HIGH_LATENCY_DATA"],["impl PartialEq for AccelcalVehiclePos"],["impl PartialEq for UavionixAdsbRfHealth"],["impl PartialEq for EscConnectionType"],["impl PartialEq for CellularNetworkRadioType"],["impl PartialEq for MavMode"],["impl PartialEq for ParamAck"],["impl PartialEq for COMMAND_LONG_DATA"],["impl PartialEq for CHANGE_OPERATOR_CONTROL_DATA"],["impl PartialEq for MavOdidCategoryEu"],["impl PartialEq for WIFI_CONFIG_AP_DATA"],["impl PartialEq for POSITION_TARGET_LOCAL_NED_DATA"],["impl PartialEq for NAMED_VALUE_INT_DATA"],["impl PartialEq for GoproProtuneWhiteBalance"],["impl PartialEq for MavCmdAck"],["impl PartialEq for ADSB_VEHICLE_DATA"],["impl PartialEq for GPS_RAW_INT_DATA"],["impl PartialEq for MavResult"],["impl PartialEq for GimbalManagerCapFlags"],["impl PartialEq for ACTUATOR_OUTPUT_STATUS_DATA"],["impl PartialEq for HERELINK_TELEM_DATA"],["impl PartialEq for LedControlPattern"],["impl PartialEq for RcType"],["impl PartialEq for MavOdidArmStatus"],["impl PartialEq for MavBatteryType"],["impl PartialEq for FirmwareVersionType"],["impl PartialEq for AdsbEmitterType"],["impl PartialEq for LOCAL_POSITION_NED_DATA"],["impl PartialEq for SET_ATTITUDE_TARGET_DATA"],["impl PartialEq for CAMERA_TRIGGER_DATA"],["impl PartialEq for LOGGING_ACK_DATA"],["impl PartialEq for CameraStatusTypes"],["impl PartialEq for GPS2_RAW_DATA"],["impl PartialEq for ATTITUDE_QUATERNION_COV_DATA"],["impl PartialEq for GPS_RTCM_DATA_DATA"],["impl PartialEq for SCALED_IMU2_DATA"],["impl PartialEq for GimbalAxisCalibrationStatus"],["impl PartialEq for MavProtocolCapability"],["impl PartialEq for POSITION_TARGET_LOCAL_NED_DATA"],["impl PartialEq for MavSeverity"],["impl PartialEq for DeviceOpBustype"],["impl PartialEq for TUNNEL_DATA"],["impl PartialEq for EFI_STATUS_DATA"],["impl PartialEq for CAMERA_FOV_STATUS_DATA"],["impl PartialEq for VtolTransitionHeading"],["impl PartialEq for ESC_STATUS_DATA"],["impl PartialEq for MavTunnelPayloadType"],["impl PartialEq for WifiConfigApMode"],["impl PartialEq for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl PartialEq for MavCollisionThreatLevel"],["impl PartialEq for LOG_ERASE_DATA"],["impl PartialEq for PARAM_SET_DATA"],["impl PartialEq for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl PartialEq for CAN_FILTER_MODIFY_DATA"],["impl PartialEq for GPS_RAW_INT_DATA"],["impl PartialEq for BUTTON_CHANGE_DATA"],["impl PartialEq for SMART_BATTERY_INFO_DATA"],["impl PartialEq for MavOdidOperatorLocationType"],["impl PartialEq for GripperActions"],["impl PartialEq for ActuatorConfiguration"],["impl PartialEq for SYS_STATUS_DATA"],["impl PartialEq for PARAM_EXT_SET_DATA"],["impl PartialEq for MEMORY_VECT_DATA"],["impl PartialEq for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl PartialEq for RALLY_FETCH_POINT_DATA"],["impl PartialEq for PARAM_MAP_RC_DATA"],["impl PartialEq for ALTITUDE_DATA"],["impl PartialEq for PLAY_TUNE_V2_DATA"],["impl PartialEq for FENCE_FETCH_POINT_DATA"],["impl PartialEq for HIL_OPTICAL_FLOW_DATA"],["impl PartialEq for ORBIT_EXECUTION_STATUS_DATA"],["impl PartialEq for AttitudeTargetTypemask"],["impl PartialEq for OPTICAL_FLOW_DATA"],["impl PartialEq for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl PartialEq for LOGGING_DATA_DATA"],["impl PartialEq for DEVICE_OP_WRITE_REPLY_DATA"],["impl PartialEq for CELLULAR_CONFIG_DATA"],["impl PartialEq for HOME_POSITION_DATA"],["impl PartialEq for WIND_COV_DATA"],["impl PartialEq for GIMBAL_DEVICE_INFORMATION_DATA"],["impl PartialEq for PARAM_EXT_ACK_DATA"],["impl PartialEq for TERRAIN_REPORT_DATA"],["impl PartialEq for MavVtolState"],["impl PartialEq for COMPONENT_METADATA_DATA"],["impl PartialEq for RC_CHANNELS_DATA"],["impl PartialEq for ACTUATOR_OUTPUT_STATUS_DATA"],["impl PartialEq for HIGH_LATENCY2_DATA"],["impl PartialEq for SCALED_PRESSURE3_DATA"],["impl PartialEq for CellularNetworkRadioType"],["impl PartialEq for IcarousFmsState"],["impl PartialEq for EXTENDED_SYS_STATE_DATA"],["impl PartialEq for MavCmd"],["impl PartialEq for MAVLinkV2MessageRaw"],["impl PartialEq for PARAM_EXT_SET_DATA"],["impl PartialEq for MavBatteryChargeState"],["impl PartialEq for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl PartialEq for VISION_SPEED_ESTIMATE_DATA"],["impl PartialEq for WifiConfigApResponse"],["impl PartialEq for AdsbAltitudeType"],["impl PartialEq for UtmDataAvailFlags"],["impl PartialEq for MavRemoteLogDataBlockCommands"],["impl PartialEq for GpsFixType"],["impl PartialEq for MissionState"],["impl PartialEq for RallyFlags"],["impl PartialEq for SCALED_PRESSURE_DATA"],["impl PartialEq for MavOdidTimeAcc"],["impl PartialEq for LANDING_TARGET_DATA"],["impl PartialEq for SCALED_IMU_DATA"],["impl PartialEq for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl PartialEq for MavOdidCategoryEu"],["impl PartialEq for MavComponent"],["impl PartialEq for EkfStatusFlags"],["impl PartialEq for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl PartialEq for HIL_ACTUATOR_CONTROLS_DATA"],["impl PartialEq for MISSION_SET_CURRENT_DATA"],["impl PartialEq for RAW_IMU_DATA"],["impl PartialEq for OPTICAL_FLOW_RAD_DATA"],["impl PartialEq for PLAY_TUNE_DATA"],["impl PartialEq for EscConnectionType"],["impl PartialEq for PARAM_EXT_ACK_DATA"],["impl PartialEq for ENCAPSULATED_DATA_DATA"],["impl PartialEq for MavEventCurrentSequenceFlags"],["impl PartialEq for HIL_GPS_DATA"],["impl PartialEq for MavParamExtType"],["impl PartialEq for MAVLinkV1MessageRaw"],["impl PartialEq for MavRemoteLogDataBlockStatuses"],["impl PartialEq for CameraTrackingStatusFlags"],["impl PartialEq for CameraCapFlags"],["impl PartialEq for POSITION_TARGET_LOCAL_NED_DATA"],["impl PartialEq for PARAM_SET_DATA"],["impl PartialEq for MavMessage"],["impl PartialEq for MavEstimatorType"],["impl PartialEq for MavOdidIdType"],["impl PartialEq for V2_EXTENSION_DATA"],["impl PartialEq for SYSTEM_TIME_DATA"],["impl PartialEq for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl PartialEq for SET_MODE_DATA"],["impl PartialEq for StorageType"],["impl PartialEq for MavEventCurrentSequenceFlags"],["impl PartialEq for OBSTACLE_DISTANCE_DATA"],["impl PartialEq for HIL_STATE_DATA"],["impl PartialEq for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl PartialEq for WHEEL_DISTANCE_DATA"],["impl PartialEq for GoproCommand"],["impl PartialEq for CameraTrackingMode"],["impl PartialEq for VICON_POSITION_ESTIMATE_DATA"],["impl PartialEq for MavFrame"],["impl PartialEq for SET_HOME_POSITION_DATA"],["impl PartialEq for GENERATOR_STATUS_DATA"],["impl PartialEq for MOUNT_STATUS_DATA"],["impl PartialEq for DIGICAM_CONTROL_DATA"],["impl PartialEq for HIGH_LATENCY2_DATA"],["impl PartialEq for TERRAIN_DATA_DATA"],["impl PartialEq for SAFETY_SET_ALLOWED_AREA_DATA"],["impl PartialEq for UavcanNodeHealth"],["impl PartialEq for PrecisionLandMode"],["impl PartialEq for AisFlags"],["impl PartialEq for CanFilterOp"],["impl PartialEq for STATUSTEXT_DATA"],["impl PartialEq for SUPPORTED_TUNES_DATA"],["impl PartialEq for GoproProtuneSharpness"],["impl PartialEq for MavPowerStatus"],["impl PartialEq for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl PartialEq for MISSION_ACK_DATA"],["impl PartialEq for MotorTestOrder"],["impl PartialEq for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl PartialEq for MavSysStatusSensor"],["impl PartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl PartialEq for CAMERA_INFORMATION_DATA"],["impl PartialEq for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl PartialEq for MavMountMode"],["impl PartialEq for ESC_TELEMETRY_9_TO_12_DATA"],["impl PartialEq for GoproProtuneGain"],["impl PartialEq for VFR_HUD_DATA"],["impl PartialEq for HIL_SENSOR_DATA"],["impl PartialEq for TUNNEL_DATA"]], +"mavlink":[["impl PartialEq for BUTTON_CHANGE_DATA"],["impl PartialEq for BATTERY_STATUS_DATA"],["impl PartialEq for SAFETY_SET_ALLOWED_AREA_DATA"],["impl PartialEq for PROTOCOL_VERSION_DATA"],["impl PartialEq for MavResult"],["impl PartialEq for ORBIT_EXECUTION_STATUS_DATA"],["impl PartialEq for PLAY_TUNE_V2_DATA"],["impl PartialEq for MavDataStream"],["impl PartialEq for LandingTargetType"],["impl PartialEq for GLOBAL_POSITION_INT_DATA"],["impl PartialEq for MOUNT_CONTROL_DATA"],["impl PartialEq for GoproPhotoResolution"],["impl PartialEq for DEVICE_OP_WRITE_REPLY_DATA"],["impl PartialEq for TUNNEL_DATA"],["impl PartialEq for RESOURCE_REQUEST_DATA"],["impl PartialEq for CameraTrackingStatusFlags"],["impl PartialEq for OrbitYawBehaviour"],["impl PartialEq for UtmDataAvailFlags"],["impl PartialEq for RC_CHANNELS_RAW_DATA"],["impl PartialEq for DEBUG_FLOAT_ARRAY_DATA"],["impl PartialEq for MavModeFlagDecodePosition"],["impl PartialEq for DISTANCE_SENSOR_DATA"],["impl PartialEq for SetFocusType"],["impl PartialEq for UavcanNodeMode"],["impl PartialEq for MavParamExtType"],["impl PartialEq for VISION_SPEED_ESTIMATE_DATA"],["impl PartialEq for EFI_STATUS_DATA"],["impl PartialEq for MavMountMode"],["impl PartialEq for EFI_STATUS_DATA"],["impl PartialEq for MavFtpOpcode"],["impl PartialEq for GPS2_RTK_DATA"],["impl PartialEq for HIL_ACTUATOR_CONTROLS_DATA"],["impl PartialEq for MavTunnelPayloadType"],["impl PartialEq for MISSION_ITEM_DATA"],["impl PartialEq for CAMERA_FOV_STATUS_DATA"],["impl PartialEq for COLLISION_DATA"],["impl PartialEq for V2_EXTENSION_DATA"],["impl PartialEq for FenceBreach"],["impl PartialEq for VIDEO_STREAM_INFORMATION_DATA"],["impl PartialEq for ADSB_VEHICLE_DATA"],["impl PartialEq for GripperActions"],["impl PartialEq for BATTERY_STATUS_DATA"],["impl PartialEq for OPEN_DRONE_ID_SELF_ID_DATA"],["impl PartialEq for DATA_STREAM_DATA"],["impl PartialEq for MavGoto"],["impl PartialEq for MavMissionType"],["impl PartialEq for HIL_ACTUATOR_CONTROLS_DATA"],["impl PartialEq for LOGGING_ACK_DATA"],["impl PartialEq for SCALED_IMU_DATA"],["impl PartialEq for STATUSTEXT_DATA"],["impl PartialEq for PARAM_REQUEST_READ_DATA"],["impl PartialEq for MavOdidAuthType"],["impl PartialEq for DeepstallStage"],["impl PartialEq for ALTITUDE_DATA"],["impl PartialEq for EscFailureFlags"],["impl PartialEq for LOG_REQUEST_DATA_DATA"],["impl PartialEq for MANUAL_CONTROL_DATA"],["impl PartialEq for MavOdidDescType"],["impl PartialEq for PreflightStorageMissionAction"],["impl PartialEq for GIMBAL_DEVICE_INFORMATION_DATA"],["impl PartialEq for SMART_BATTERY_INFO_DATA"],["impl PartialEq for MavOdidClassEu"],["impl PartialEq for MavOdidOperatorIdType"],["impl PartialEq for CELLULAR_STATUS_DATA"],["impl PartialEq for AUTH_KEY_DATA"],["impl PartialEq for StorageType"],["impl PartialEq for MavOdidSpeedAcc"],["impl PartialEq for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl PartialEq for EstimatorStatusFlags"],["impl PartialEq for GoproVideoSettingsFlags"],["impl PartialEq for ADSB_VEHICLE_DATA"],["impl PartialEq for COMPONENT_METADATA_DATA"],["impl PartialEq for AOA_SSA_DATA"],["impl PartialEq for MAG_CAL_PROGRESS_DATA"],["impl PartialEq for VISION_POSITION_ESTIMATE_DATA"],["impl PartialEq for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl PartialEq for DATA_STREAM_DATA"],["impl PartialEq for GoproFieldOfView"],["impl PartialEq for GpsFixType"],["impl PartialEq for PID_TUNING_DATA"],["impl PartialEq for LOGGING_ACK_DATA"],["impl PartialEq for MavCmdAck"],["impl PartialEq for LOG_DATA_DATA"],["impl PartialEq for MavlinkVersion"],["impl PartialEq for MavOdidArmStatus"],["impl PartialEq for POSITION_TARGET_LOCAL_NED_DATA"],["impl PartialEq for MavParamExtType"],["impl PartialEq for AisFlags"],["impl PartialEq for CameraTrackingTargetData"],["impl PartialEq for CELLULAR_STATUS_DATA"],["impl PartialEq for MavOdidOperatorLocationType"],["impl PartialEq for ENCAPSULATED_DATA_DATA"],["impl PartialEq for REMOTE_LOG_DATA_BLOCK_DATA"],["impl PartialEq for PrecisionLandMode"],["impl PartialEq for RAW_IMU_DATA"],["impl PartialEq for MotorTestOrder"],["impl PartialEq for MavArmAuthDeniedReason"],["impl PartialEq for StorageStatus"],["impl PartialEq for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl PartialEq for CompMetadataType"],["impl PartialEq for PARAM_EXT_SET_DATA"],["impl PartialEq for CameraZoomType"],["impl PartialEq for CHANGE_OPERATOR_CONTROL_DATA"],["impl PartialEq for TERRAIN_CHECK_DATA"],["impl PartialEq for VISION_POSITION_ESTIMATE_DATA"],["impl PartialEq for GIMBAL_DEVICE_INFORMATION_DATA"],["impl PartialEq for PARAM_REQUEST_LIST_DATA"],["impl PartialEq for MavState"],["impl PartialEq for GENERATOR_STATUS_DATA"],["impl PartialEq for MavDataStream"],["impl PartialEq for MESSAGE_INTERVAL_DATA"],["impl PartialEq for ONBOARD_COMPUTER_STATUS_DATA"],["impl PartialEq for OPEN_DRONE_ID_SYSTEM_DATA"],["impl PartialEq for MISSION_SET_CURRENT_DATA"],["impl PartialEq for SET_MODE_DATA"],["impl PartialEq for GripperActions"],["impl PartialEq for ISBD_LINK_STATUS_DATA"],["impl PartialEq for MavArmAuthDeniedReason"],["impl PartialEq for WIFI_CONFIG_AP_DATA"],["impl PartialEq for FenceAction"],["impl PartialEq for MavEventCurrentSequenceFlags"],["impl PartialEq for ORBIT_EXECUTION_STATUS_DATA"],["impl PartialEq for MavVtolState"],["impl PartialEq for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl PartialEq for CAMERA_IMAGE_CAPTURED_DATA"],["impl PartialEq for GpsInputIgnoreFlags"],["impl PartialEq for MavProtocolCapability"],["impl PartialEq for MavVtolState"],["impl PartialEq for ESC_TELEMETRY_9_TO_12_DATA"],["impl PartialEq for CellularNetworkFailedReason"],["impl PartialEq for FILE_TRANSFER_PROTOCOL_DATA"],["impl PartialEq for AIS_VESSEL_DATA"],["impl PartialEq for CAMERA_INFORMATION_DATA"],["impl PartialEq for MavModeGimbal"],["impl PartialEq for ESC_STATUS_DATA"],["impl PartialEq for MavFtpErr"],["impl PartialEq for TERRAIN_DATA_DATA"],["impl PartialEq for STORAGE_INFORMATION_DATA"],["impl PartialEq for LOG_ERASE_DATA"],["impl PartialEq for WifiConfigApResponse"],["impl PartialEq for EscFailureFlags"],["impl PartialEq for MavGeneratorStatusFlag"],["impl PartialEq for TERRAIN_REQUEST_DATA"],["impl PartialEq for PARAM_SET_DATA"],["impl PartialEq for OBSTACLE_DISTANCE_3D_DATA"],["impl PartialEq for PROTOCOL_VERSION_DATA"],["impl PartialEq for ATTITUDE_QUATERNION_DATA"],["impl PartialEq for GoproModel"],["impl PartialEq for POSITION_TARGET_LOCAL_NED_DATA"],["impl PartialEq for HIL_OPTICAL_FLOW_DATA"],["impl PartialEq for ATTITUDE_QUATERNION_COV_DATA"],["impl PartialEq for AIS_VESSEL_DATA"],["impl PartialEq for HIL_OPTICAL_FLOW_DATA"],["impl PartialEq for StorageStatus"],["impl PartialEq for UavionixAdsbOutCfgAircraftSize"],["impl PartialEq for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl PartialEq for MavEstimatorType"],["impl PartialEq for LOG_DATA_DATA"],["impl PartialEq for MavOdidCategoryEu"],["impl PartialEq for STORAGE_INFORMATION_DATA"],["impl PartialEq for MavDistanceSensor"],["impl PartialEq for StorageUsageFlag"],["impl PartialEq for ATTITUDE_TARGET_DATA"],["impl PartialEq for MavOdidOperatorLocationType"],["impl PartialEq for ParachuteAction"],["impl PartialEq for POSITION_TARGET_GLOBAL_INT_DATA"],["impl PartialEq for MISSION_ITEM_DATA"],["impl PartialEq for ONBOARD_COMPUTER_STATUS_DATA"],["impl PartialEq for MavCollisionSrc"],["impl PartialEq for CURRENT_EVENT_SEQUENCE_DATA"],["impl PartialEq for ActuatorOutputFunction"],["impl PartialEq for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl PartialEq for MISSION_CLEAR_ALL_DATA"],["impl PartialEq for GPS_RAW_INT_DATA"],["impl PartialEq for LIMITS_STATUS_DATA"],["impl PartialEq for HilSensorUpdatedFlags"],["impl PartialEq for CellularConfigResponse"],["impl PartialEq for COMPONENT_INFORMATION_DATA"],["impl PartialEq for SET_MODE_DATA"],["impl PartialEq for MAG_CAL_REPORT_DATA"],["impl PartialEq for GPS_INPUT_DATA"],["impl PartialEq for PARAM_EXT_REQUEST_LIST_DATA"],["impl PartialEq for BUTTON_CHANGE_DATA"],["impl PartialEq for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl PartialEq for CHANGE_OPERATOR_CONTROL_DATA"],["impl PartialEq for MavRemoteLogDataBlockCommands"],["impl PartialEq for ScriptingCmd"],["impl PartialEq for VtolTransitionHeading"],["impl PartialEq for MavEventErrorReason"],["impl PartialEq for SERVO_OUTPUT_RAW_DATA"],["impl PartialEq for MavAutopilot"],["impl PartialEq for MavBatteryFault"],["impl PartialEq for VISION_POSITION_DELTA_DATA"],["impl PartialEq for SCALED_PRESSURE3_DATA"],["impl PartialEq for MavCmdAck"],["impl PartialEq for POWER_STATUS_DATA"],["impl PartialEq for MotorTestOrder"],["impl PartialEq for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl PartialEq for HIGHRES_IMU_DATA"],["impl PartialEq for LOGGING_ACK_DATA"],["impl PartialEq for ATTITUDE_DATA"],["impl PartialEq for MavDoRepositionFlags"],["impl PartialEq for OPTICAL_FLOW_RAD_DATA"],["impl PartialEq for CAMERA_CAPTURE_STATUS_DATA"],["impl PartialEq for EKF_STATUS_REPORT_DATA"],["impl PartialEq for SET_HOME_POSITION_DATA"],["impl PartialEq for RESOURCE_REQUEST_DATA"],["impl PartialEq for RAW_PRESSURE_DATA"],["impl PartialEq for MavBatteryType"],["impl PartialEq for UavionixAdsbOutDynamicState"],["impl PartialEq for LOG_REQUEST_END_DATA"],["impl PartialEq for COMPONENT_METADATA_DATA"],["impl PartialEq for LOCAL_POSITION_NED_DATA"],["impl PartialEq for HIGHRES_IMU_DATA"],["impl PartialEq for MavOdidStatus"],["impl PartialEq for DEBUG_FLOAT_ARRAY_DATA"],["impl PartialEq for SCALED_IMU3_DATA"],["impl PartialEq for NAV_CONTROLLER_OUTPUT_DATA"],["impl PartialEq for MavOdidArmStatus"],["impl PartialEq for SetFocusType"],["impl PartialEq for GPS_STATUS_DATA"],["impl PartialEq for HighresImuUpdatedFlags"],["impl PartialEq for MOUNT_CONFIGURE_DATA"],["impl PartialEq for FOLLOW_TARGET_DATA"],["impl PartialEq for HERELINK_TELEM_DATA"],["impl PartialEq for HeadingType"],["impl PartialEq for UavionixAdsbRfHealth"],["impl PartialEq for HIGH_LATENCY2_DATA"],["impl PartialEq for PLAY_TUNE_DATA"],["impl PartialEq for EstimatorStatusFlags"],["impl PartialEq for GoproProtuneExposure"],["impl PartialEq for LOG_REQUEST_DATA_DATA"],["impl PartialEq for FENCE_STATUS_DATA"],["impl PartialEq for CAMERA_SETTINGS_DATA"],["impl PartialEq for MavLandedState"],["impl PartialEq for ATTITUDE_DATA"],["impl PartialEq for GIMBAL_CONTROL_DATA"],["impl PartialEq for CameraMode"],["impl PartialEq for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl PartialEq for TIME_ESTIMATE_TO_TARGET_DATA"],["impl PartialEq for ATTITUDE_QUATERNION_COV_DATA"],["impl PartialEq for PreflightStorageParameterAction"],["impl PartialEq for RESPONSE_EVENT_ERROR_DATA"],["impl PartialEq for HOME_POSITION_DATA"],["impl PartialEq for MavDistanceSensor"],["impl PartialEq for MOUNT_STATUS_DATA"],["impl PartialEq for AttitudeTargetTypemask"],["impl PartialEq for MavFtpErr"],["impl PartialEq for GPS_RTCM_DATA_DATA"],["impl PartialEq for HIL_STATE_DATA"],["impl PartialEq for PLAY_TUNE_V2_DATA"],["impl PartialEq for ENCAPSULATED_DATA_DATA"],["impl PartialEq for AdsbAltitudeType"],["impl PartialEq for FirmwareVersionType"],["impl PartialEq for NAMED_VALUE_FLOAT_DATA"],["impl PartialEq for DEVICE_OP_READ_DATA"],["impl PartialEq for ActuatorOutputFunction"],["impl PartialEq for ParachuteAction"],["impl PartialEq for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl PartialEq for AIRSPEED_AUTOCAL_DATA"],["impl PartialEq for GIMBAL_MANAGER_STATUS_DATA"],["impl PartialEq for ICAROUS_KINEMATIC_BANDS_DATA"],["impl PartialEq for HlFailureFlag"],["impl PartialEq for OBSTACLE_DISTANCE_DATA"],["impl PartialEq for CellularConfigResponse"],["impl PartialEq for CAMERA_CAPTURE_STATUS_DATA"],["impl PartialEq for DEBUG_DATA"],["impl PartialEq for GpsFixType"],["impl PartialEq for MavTunnelPayloadType"],["impl PartialEq for UtmFlightState"],["impl PartialEq for MavCollisionAction"],["impl PartialEq for COLLISION_DATA"],["impl PartialEq for PreflightStorageMissionAction"],["impl PartialEq for COMMAND_INT_DATA"],["impl PartialEq for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl PartialEq for NAMED_VALUE_INT_DATA"],["impl PartialEq for UavionixAdsbOutCfgGpsOffsetLat"],["impl PartialEq for GLOBAL_POSITION_INT_COV_DATA"],["impl PartialEq for STATUSTEXT_DATA"],["impl PartialEq for OsdParamConfigError"],["impl PartialEq for MavOdidUaType"],["impl PartialEq for CellularNetworkRadioType"],["impl PartialEq for CAMERA_IMAGE_CAPTURED_DATA"],["impl PartialEq for VideoStreamStatusFlags"],["impl PartialEq for NavVtolLandOptions"],["impl PartialEq for MavBatteryType"],["impl PartialEq for MavOdidStatus"],["impl PartialEq for CameraTrackingTargetData"],["impl PartialEq for GLOBAL_POSITION_INT_COV_DATA"],["impl PartialEq for WINCH_STATUS_DATA"],["impl PartialEq for GOPRO_GET_RESPONSE_DATA"],["impl PartialEq for VISION_SPEED_ESTIMATE_DATA"],["impl PartialEq for HIL_CONTROLS_DATA"],["impl PartialEq for HIL_STATE_DATA"],["impl PartialEq for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl PartialEq for CURRENT_EVENT_SEQUENCE_DATA"],["impl PartialEq for ESC_TELEMETRY_5_TO_8_DATA"],["impl PartialEq for GPS_RAW_INT_DATA"],["impl PartialEq for COMMAND_LONG_DATA"],["impl PartialEq for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl PartialEq for VFR_HUD_DATA"],["impl PartialEq for MavResult"],["impl PartialEq for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl PartialEq for VIDEO_STREAM_STATUS_DATA"],["impl PartialEq for SIM_STATE_DATA"],["impl PartialEq for MavOdidClassEu"],["impl PartialEq for MISSION_ITEM_DATA"],["impl PartialEq for LOGGING_DATA_DATA"],["impl PartialEq for LANDING_TARGET_DATA"],["impl PartialEq for HilSensorUpdatedFlags"],["impl PartialEq for SERIAL_CONTROL_DATA"],["impl PartialEq for RADIO_DATA"],["impl PartialEq for RESPONSE_EVENT_ERROR_DATA"],["impl PartialEq for LOCAL_POSITION_NED_DATA"],["impl PartialEq for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl PartialEq for FenceAction"],["impl PartialEq for REQUEST_DATA_STREAM_DATA"],["impl PartialEq for MavBatteryChargeState"],["impl PartialEq for MavSysStatusSensorExtended"],["impl PartialEq for PARAM_REQUEST_LIST_DATA"],["impl PartialEq for MESSAGE_INTERVAL_DATA"],["impl PartialEq for UavcanNodeHealth"],["impl PartialEq for GimbalManagerCapFlags"],["impl PartialEq for FenceAction"],["impl PartialEq for COMPONENT_METADATA_DATA"],["impl PartialEq for UavionixAdsbOutCfgAircraftSize"],["impl PartialEq for WifiConfigApMode"],["impl PartialEq for POSITION_TARGET_GLOBAL_INT_DATA"],["impl PartialEq for RC_CHANNELS_OVERRIDE_DATA"],["impl PartialEq for ESTIMATOR_STATUS_DATA"],["impl PartialEq for CameraCapFlags"],["impl PartialEq for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl PartialEq for EscConnectionType"],["impl PartialEq for MISSION_CURRENT_DATA"],["impl PartialEq for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl PartialEq for AdsbFlags"],["impl PartialEq for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl PartialEq for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl PartialEq for REQUEST_EVENT_DATA"],["impl PartialEq for PARAM_MAP_RC_DATA"],["impl PartialEq for LOG_ERASE_DATA"],["impl PartialEq for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl PartialEq for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl PartialEq for ICAROUS_HEARTBEAT_DATA"],["impl PartialEq for OrbitYawBehaviour"],["impl PartialEq for EstimatorStatusFlags"],["impl PartialEq for FILE_TRANSFER_PROTOCOL_DATA"],["impl PartialEq for MavLandedState"],["impl PartialEq for SAFETY_ALLOWED_AREA_DATA"],["impl PartialEq for NAMED_VALUE_FLOAT_DATA"],["impl PartialEq for UtmDataAvailFlags"],["impl PartialEq for MavOdidSpeedAcc"],["impl PartialEq for MavRoi"],["impl PartialEq for CameraMode"],["impl PartialEq for SCALED_PRESSURE3_DATA"],["impl PartialEq for NAMED_VALUE_INT_DATA"],["impl PartialEq for BATTERY2_DATA"],["impl PartialEq for HilSensorUpdatedFlags"],["impl PartialEq for GLOBAL_POSITION_INT_DATA"],["impl PartialEq for OPEN_DRONE_ID_SYSTEM_DATA"],["impl PartialEq for MavBatteryType"],["impl PartialEq for HIL_GPS_DATA"],["impl PartialEq for MISSION_ITEM_INT_DATA"],["impl PartialEq for UavionixAdsbOutRfSelect"],["impl PartialEq for GimbalDeviceErrorFlags"],["impl PartialEq for GimbalDeviceErrorFlags"],["impl PartialEq for OPEN_DRONE_ID_LOCATION_DATA"],["impl PartialEq for UavcanNodeMode"],["impl PartialEq for TrackerMode"],["impl PartialEq for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl PartialEq for ACTUATOR_CONTROL_TARGET_DATA"],["impl PartialEq for PrecisionLandMode"],["impl PartialEq for GPS2_RTK_DATA"],["impl PartialEq for MOUNT_ORIENTATION_DATA"],["impl PartialEq for POSITION_TARGET_LOCAL_NED_DATA"],["impl PartialEq for MavOdidCategoryEu"],["impl PartialEq for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl PartialEq for GimbalManagerCapFlags"],["impl PartialEq for UavionixAdsbOutDynamicGpsFix"],["impl PartialEq for BUTTON_CHANGE_DATA"],["impl PartialEq for LOGGING_DATA_ACKED_DATA"],["impl PartialEq for SUPPORTED_TUNES_DATA"],["impl PartialEq for MavFrame"],["impl PartialEq for MavModeFlagDecodePosition"],["impl PartialEq for FirmwareVersionType"],["impl PartialEq for RPM_DATA"],["impl PartialEq for GIMBAL_MANAGER_STATUS_DATA"],["impl PartialEq for DEBUG_DATA"],["impl PartialEq for WIND_COV_DATA"],["impl PartialEq for SERVO_OUTPUT_RAW_DATA"],["impl PartialEq for SIMSTATE_DATA"],["impl PartialEq for CellularNetworkFailedReason"],["impl PartialEq for REQUEST_EVENT_DATA"],["impl PartialEq for MavPowerStatus"],["impl PartialEq for MavOdidClassEu"],["impl PartialEq for MavMode"],["impl PartialEq for PARAM_EXT_SET_DATA"],["impl PartialEq for ADSB_VEHICLE_DATA"],["impl PartialEq for EXTENDED_SYS_STATE_DATA"],["impl PartialEq for OsdParamConfigType"],["impl PartialEq for CAMERA_FOV_STATUS_DATA"],["impl PartialEq for CellularNetworkFailedReason"],["impl PartialEq for MavOdidOperatorIdType"],["impl PartialEq for WINCH_STATUS_DATA"],["impl PartialEq for AdsbEmitterType"],["impl PartialEq for ATTITUDE_QUATERNION_COV_DATA"],["impl PartialEq for VICON_POSITION_ESTIMATE_DATA"],["impl PartialEq for CAMERA_TRIGGER_DATA"],["impl PartialEq for SerialControlDev"],["impl PartialEq for SERIAL_CONTROL_DATA"],["impl PartialEq for SCALED_IMU3_DATA"],["impl PartialEq for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl PartialEq for SYS_STATUS_DATA"],["impl PartialEq for NAV_CONTROLLER_OUTPUT_DATA"],["impl PartialEq for SYS_STATUS_DATA"],["impl PartialEq for BATTERY_STATUS_DATA"],["impl PartialEq for MavCollisionAction"],["impl PartialEq for CameraTrackingMode"],["impl PartialEq for AisNavStatus"],["impl PartialEq for MavDataStream"],["impl PartialEq for ATT_POS_MOCAP_DATA"],["impl PartialEq for GPS_RTK_DATA"],["impl PartialEq for MavProtocolCapability"],["impl PartialEq for AUTH_KEY_DATA"],["impl PartialEq for MANUAL_CONTROL_DATA"],["impl PartialEq for RC_CHANNELS_RAW_DATA"],["impl PartialEq for MISSION_CURRENT_DATA"],["impl PartialEq for RC_CHANNELS_SCALED_DATA"],["impl PartialEq for SYSTEM_TIME_DATA"],["impl PartialEq for GIMBAL_MANAGER_STATUS_DATA"],["impl PartialEq for SUPPORTED_TUNES_DATA"],["impl PartialEq for MISSION_ACK_DATA"],["impl PartialEq for GoproProtuneWhiteBalance"],["impl PartialEq for UavionixAdsbOutRfSelect"],["impl PartialEq for GimbalManagerFlags"],["impl PartialEq for GPS_GLOBAL_ORIGIN_DATA"],["impl PartialEq for NAV_CONTROLLER_OUTPUT_DATA"],["impl PartialEq for PARAM_EXT_REQUEST_READ_DATA"],["impl PartialEq for AdsbAltitudeType"],["impl PartialEq for FOLLOW_TARGET_DATA"],["impl PartialEq for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl PartialEq for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl PartialEq for ISBD_LINK_STATUS_DATA"],["impl PartialEq for HIGH_LATENCY_DATA"],["impl PartialEq for SYSTEM_TIME_DATA"],["impl PartialEq for OPEN_DRONE_ID_SYSTEM_DATA"],["impl PartialEq for GoproCommand"],["impl PartialEq for RALLY_POINT_DATA"],["impl PartialEq for OBSTACLE_DISTANCE_DATA"],["impl PartialEq for CANFD_FRAME_DATA"],["impl PartialEq for CELLULAR_STATUS_DATA"],["impl PartialEq for UAVCAN_NODE_STATUS_DATA"],["impl PartialEq for WHEEL_DISTANCE_DATA"],["impl PartialEq for PARAM_EXT_SET_DATA"],["impl PartialEq for HIGH_LATENCY2_DATA"],["impl PartialEq for SCALED_IMU_DATA"],["impl PartialEq for MavOdidIdType"],["impl PartialEq for RcType"],["impl PartialEq for GimbalDeviceFlags"],["impl PartialEq for CELLULAR_CONFIG_DATA"],["impl PartialEq for SerialControlFlag"],["impl PartialEq for FLIGHT_INFORMATION_DATA"],["impl PartialEq for GimbalAxisCalibrationRequired"],["impl PartialEq for MISSION_REQUEST_DATA"],["impl PartialEq for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl PartialEq for GPS_RTCM_DATA_DATA"],["impl PartialEq for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl PartialEq for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl PartialEq for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl PartialEq for VIBRATION_DATA"],["impl PartialEq for MavGeneratorStatusFlag"],["impl PartialEq for AUTOPILOT_VERSION_REQUEST_DATA"],["impl PartialEq for MavFtpOpcode"],["impl PartialEq for UTM_GLOBAL_POSITION_DATA"],["impl PartialEq for ESTIMATOR_STATUS_DATA"],["impl PartialEq for LOGGING_DATA_ACKED_DATA"],["impl PartialEq for DEBUG_DATA"],["impl PartialEq for CAMERA_FOV_STATUS_DATA"],["impl PartialEq for MavBatteryMode"],["impl PartialEq for PLAY_TUNE_V2_DATA"],["impl PartialEq for WIFI_CONFIG_AP_DATA"],["impl PartialEq for FOLLOW_TARGET_DATA"],["impl PartialEq for HIL_STATE_QUATERNION_DATA"],["impl PartialEq for ATTITUDE_QUATERNION_DATA"],["impl PartialEq for VICON_POSITION_ESTIMATE_DATA"],["impl PartialEq for TIMESYNC_DATA"],["impl PartialEq for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl PartialEq for DEEPSTALL_DATA"],["impl PartialEq for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl PartialEq for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl PartialEq for FailureType"],["impl PartialEq for AisType"],["impl PartialEq for MavGoto"],["impl PartialEq for PARAM_EXT_REQUEST_READ_DATA"],["impl PartialEq for HIL_SENSOR_DATA"],["impl PartialEq for GimbalDeviceCapFlags"],["impl PartialEq for GPS_INJECT_DATA_DATA"],["impl PartialEq for OPTICAL_FLOW_DATA"],["impl PartialEq for MavMissionResult"],["impl PartialEq for CELLULAR_CONFIG_DATA"],["impl PartialEq for CellularConfigResponse"],["impl PartialEq for MavlinkDataStreamType"],["impl PartialEq for CAMERA_SETTINGS_DATA"],["impl PartialEq for SerialControlFlag"],["impl PartialEq for GPS_RTK_DATA"],["impl PartialEq for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl PartialEq for GPS_STATUS_DATA"],["impl PartialEq for MavAutopilot"],["impl PartialEq for RC_CHANNELS_SCALED_DATA"],["impl PartialEq for MavDoRepositionFlags"],["impl PartialEq for GPS_INJECT_DATA_DATA"],["impl PartialEq for MavMountMode"],["impl PartialEq for HIGH_LATENCY_DATA"],["impl PartialEq for SET_ATTITUDE_TARGET_DATA"],["impl PartialEq for DEBUG_VECT_DATA"],["impl PartialEq for LOG_REQUEST_LIST_DATA"],["impl PartialEq for VIBRATION_DATA"],["impl PartialEq for ESTIMATOR_STATUS_DATA"],["impl PartialEq for FenceMitigate"],["impl PartialEq for RESPONSE_EVENT_ERROR_DATA"],["impl PartialEq for EscConnectionType"],["impl PartialEq for SET_HOME_POSITION_DATA"],["impl PartialEq for VideoStreamType"],["impl PartialEq for RAW_IMU_DATA"],["impl PartialEq for AutotuneAxis"],["impl PartialEq for UTM_GLOBAL_POSITION_DATA"],["impl PartialEq for COMMAND_ACK_DATA"],["impl PartialEq for AdsbFlags"],["impl PartialEq for LedControlPattern"],["impl PartialEq for EXTENDED_SYS_STATE_DATA"],["impl PartialEq for SCALED_PRESSURE_DATA"],["impl PartialEq for ACTUATOR_OUTPUT_STATUS_DATA"],["impl PartialEq for TERRAIN_CHECK_DATA"],["impl PartialEq for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl PartialEq for FENCE_STATUS_DATA"],["impl PartialEq for PlaneMode"],["impl PartialEq for MavComponent"],["impl PartialEq for ActuatorConfiguration"],["impl PartialEq for MavCollisionThreatLevel"],["impl PartialEq for FailureType"],["impl PartialEq for MavOdidAuthType"],["impl PartialEq for MavCmdDoAuxFunctionSwitchLevel"],["impl PartialEq for DATA32_DATA"],["impl PartialEq for WifiConfigApResponse"],["impl PartialEq for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl PartialEq for MEMORY_VECT_DATA"],["impl PartialEq for MavType"],["impl PartialEq for RAW_PRESSURE_DATA"],["impl PartialEq for HIL_CONTROLS_DATA"],["impl PartialEq for ICAROUS_KINEMATIC_BANDS_DATA"],["impl PartialEq for DEBUG_VECT_DATA"],["impl PartialEq for UAVCAN_NODE_INFO_DATA"],["impl PartialEq for MavOdidDescType"],["impl PartialEq for MavWinchStatusFlag"],["impl PartialEq for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl PartialEq for RAW_RPM_DATA"],["impl PartialEq for HIL_STATE_QUATERNION_DATA"],["impl PartialEq for WifiConfigApResponse"],["impl PartialEq for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl PartialEq for StorageType"],["impl PartialEq for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl PartialEq for VISION_SPEED_ESTIMATE_DATA"],["impl PartialEq for TERRAIN_REQUEST_DATA"],["impl PartialEq for FenceBreach"],["impl PartialEq for HIL_RC_INPUTS_RAW_DATA"],["impl PartialEq for RC_CHANNELS_OVERRIDE_DATA"],["impl PartialEq for SIM_STATE_DATA"],["impl PartialEq for AUTOPILOT_VERSION_DATA"],["impl PartialEq for PING_DATA"],["impl PartialEq for ESC_INFO_DATA"],["impl PartialEq for PositionTargetTypemask"],["impl PartialEq for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl PartialEq for GimbalManagerFlags"],["impl PartialEq for UavionixAdsbOutDynamicGpsFix"],["impl PartialEq for GpsFixType"],["impl PartialEq for SYS_STATUS_DATA"],["impl PartialEq for COMMAND_INT_DATA"],["impl PartialEq for MavModeFlag"],["impl PartialEq for WinchActions"],["impl PartialEq for WIND_COV_DATA"],["impl PartialEq for MavMissionResult"],["impl PartialEq for MavFtpErr"],["impl PartialEq for AttitudeTargetTypemask"],["impl PartialEq for STORAGE_INFORMATION_DATA"],["impl PartialEq for TERRAIN_REPORT_DATA"],["impl PartialEq for MavMissionResult"],["impl PartialEq for LandingTargetType"],["impl PartialEq for ENCAPSULATED_DATA_DATA"],["impl PartialEq for ICAROUS_HEARTBEAT_DATA"],["impl PartialEq for MavOdidOperatorIdType"],["impl PartialEq for MavPowerStatus"],["impl PartialEq for FLIGHT_INFORMATION_DATA"],["impl PartialEq for MavParamType"],["impl PartialEq for TuneFormat"],["impl PartialEq for MavBatteryFunction"],["impl PartialEq for GIMBAL_MANAGER_INFORMATION_DATA"],["impl PartialEq for ParamAck"],["impl PartialEq for CameraTrackingMode"],["impl PartialEq for ActuatorConfiguration"],["impl PartialEq for MavSysStatusSensor"],["impl PartialEq for AdsbEmitterType"],["impl PartialEq for MavResult"],["impl PartialEq for OSD_PARAM_CONFIG_DATA"],["impl PartialEq for GpsInputIgnoreFlags"],["impl PartialEq for CameraZoomType"],["impl PartialEq for RtkBaselineCoordinateSystem"],["impl PartialEq for ESC_STATUS_DATA"],["impl PartialEq for GoproProtuneColour"],["impl PartialEq for LOG_ENTRY_DATA"],["impl PartialEq for MISSION_REQUEST_INT_DATA"],["impl PartialEq for CameraFeedbackFlags"],["impl PartialEq for COMPONENT_INFORMATION_DATA"],["impl PartialEq for RESOURCE_REQUEST_DATA"],["impl PartialEq for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl PartialEq for GIMBAL_MANAGER_INFORMATION_DATA"],["impl PartialEq for OPTICAL_FLOW_DATA"],["impl PartialEq for RADIO_STATUS_DATA"],["impl PartialEq for MotorTestThrottleType"],["impl PartialEq for ActuatorConfiguration"],["impl PartialEq for GoproResolution"],["impl PartialEq for MavOdidVerAcc"],["impl PartialEq for StorageUsageFlag"],["impl PartialEq for SCALED_PRESSURE_DATA"],["impl PartialEq for EFI_STATUS_DATA"],["impl PartialEq for HWSTATUS_DATA"],["impl PartialEq for MavMode"],["impl PartialEq for CAMERA_INFORMATION_DATA"],["impl PartialEq for COMPASSMOT_STATUS_DATA"],["impl PartialEq for MavOdidArmStatus"],["impl PartialEq for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl PartialEq for MavType"],["impl PartialEq for MavFrame"],["impl PartialEq for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl PartialEq for LOG_DATA_DATA"],["impl PartialEq for TIME_ESTIMATE_TO_TARGET_DATA"],["impl PartialEq for MavMountMode"],["impl PartialEq for UavionixAdsbOutCfgGpsOffsetLat"],["impl PartialEq for CAMERA_TRIGGER_DATA"],["impl PartialEq for GPS_GLOBAL_ORIGIN_DATA"],["impl PartialEq for CompMetadataType"],["impl PartialEq for MISSION_CLEAR_ALL_DATA"],["impl PartialEq for MavMessage"],["impl PartialEq for MavOdidVerAcc"],["impl PartialEq for PositionTargetTypemask"],["impl PartialEq for GoproBurstRate"],["impl PartialEq for ESC_TELEMETRY_1_TO_4_DATA"],["impl PartialEq for CELLULAR_CONFIG_DATA"],["impl PartialEq for PLAY_TUNE_DATA"],["impl PartialEq for GripperActions"],["impl PartialEq for UtmFlightState"],["impl PartialEq for CAMERA_IMAGE_CAPTURED_DATA"],["impl PartialEq for MavState"],["impl PartialEq for UTM_GLOBAL_POSITION_DATA"],["impl PartialEq for DATA96_DATA"],["impl PartialEq for MavBatteryFault"],["impl PartialEq for PARAM_EXT_ACK_DATA"],["impl PartialEq for PARAM_VALUE_DATA"],["impl PartialEq for MavState"],["impl PartialEq for FenceBreach"],["impl PartialEq for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl PartialEq for FailureUnit"],["impl PartialEq for MavCollisionThreatLevel"],["impl PartialEq for PARAM_REQUEST_LIST_DATA"],["impl PartialEq for MavRoi"],["impl PartialEq for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl PartialEq for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl PartialEq for AisNavStatus"],["impl PartialEq for RC_CHANNELS_DATA"],["impl PartialEq for MavOdidTimeAcc"],["impl PartialEq for LOG_ERASE_DATA"],["impl PartialEq for GoproCharging"],["impl PartialEq for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl PartialEq for MavVtolState"],["impl PartialEq for AHRS3_DATA"],["impl PartialEq for SETUP_SIGNING_DATA"],["impl PartialEq for ATTITUDE_TARGET_DATA"],["impl PartialEq for ATTITUDE_TARGET_DATA"],["impl PartialEq for UAVCAN_NODE_STATUS_DATA"],["impl PartialEq for MavDoRepositionFlags"],["impl PartialEq for CURRENT_EVENT_SEQUENCE_DATA"],["impl PartialEq for ESC_INFO_DATA"],["impl PartialEq for HIL_RC_INPUTS_RAW_DATA"],["impl PartialEq for SETUP_SIGNING_DATA"],["impl PartialEq for COMMAND_CANCEL_DATA"],["impl PartialEq for LimitsState"],["impl PartialEq for MISSION_ACK_DATA"],["impl PartialEq for PING_DATA"],["impl PartialEq for WinchActions"],["impl PartialEq for OPTICAL_FLOW_DATA"],["impl PartialEq for LOGGING_DATA_DATA"],["impl PartialEq for SAFETY_SET_ALLOWED_AREA_DATA"],["impl PartialEq for CopterMode"],["impl PartialEq for GimbalDeviceCapFlags"],["impl PartialEq for GimbalDeviceFlags"],["impl PartialEq for HIL_RC_INPUTS_RAW_DATA"],["impl PartialEq for MavBatteryMode"],["impl PartialEq for CameraCapFlags"],["impl PartialEq for TERRAIN_DATA_DATA"],["impl PartialEq for MANUAL_SETPOINT_DATA"],["impl PartialEq for CameraZoomType"],["impl PartialEq for GLOBAL_POSITION_INT_COV_DATA"],["impl PartialEq for CONTROL_SYSTEM_STATE_DATA"],["impl PartialEq for MISSION_REQUEST_DATA"],["impl PartialEq for IcarousFmsState"],["impl PartialEq for AUTH_KEY_DATA"],["impl PartialEq for MavArmAuthDeniedReason"],["impl PartialEq for MavMissionType"],["impl PartialEq for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl PartialEq for MISSION_ITEM_REACHED_DATA"],["impl PartialEq for SET_MODE_DATA"],["impl PartialEq for HIL_GPS_DATA"],["impl PartialEq for GimbalDeviceFlags"],["impl PartialEq for WIND_DATA"],["impl PartialEq for HOME_POSITION_DATA"],["impl PartialEq for WifiConfigApMode"],["impl PartialEq for MavCmd"],["impl PartialEq for MavOdidStatus"],["impl PartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl PartialEq for MavRoi"],["impl PartialEq for MavGeneratorStatusFlag"],["impl PartialEq for LOG_REQUEST_END_DATA"],["impl PartialEq for MavDistanceSensor"],["impl PartialEq for LANDING_TARGET_DATA"],["impl PartialEq for FENCE_FETCH_POINT_DATA"],["impl PartialEq for CAN_FILTER_MODIFY_DATA"],["impl PartialEq for GPS2_RAW_DATA"],["impl PartialEq for LimitModule"],["impl PartialEq for LINK_NODE_STATUS_DATA"],["impl PartialEq for GPS_RTCM_DATA_DATA"],["impl PartialEq for HYGROMETER_SENSOR_DATA"],["impl PartialEq for TuneFormat"],["impl PartialEq for LOCAL_POSITION_NED_COV_DATA"],["impl PartialEq for SETUP_SIGNING_DATA"],["impl PartialEq for GLOBAL_POSITION_INT_DATA"],["impl PartialEq for FirmwareVersionType"],["impl PartialEq for CAMERA_INFORMATION_DATA"],["impl PartialEq for MavLandedState"],["impl PartialEq for GoproCaptureMode"],["impl PartialEq for PARAM_EXT_VALUE_DATA"],["impl PartialEq for AHRS2_DATA"],["impl PartialEq for FailureUnit"],["impl PartialEq for MavOdidAuthType"],["impl PartialEq for MavSensorOrientation"],["impl PartialEq for SMART_BATTERY_INFO_DATA"],["impl PartialEq for ONBOARD_COMPUTER_STATUS_DATA"],["impl PartialEq for MavSensorOrientation"],["impl PartialEq for SERVO_OUTPUT_RAW_DATA"],["impl PartialEq for MISSION_SET_CURRENT_DATA"],["impl PartialEq for MavSysStatusSensorExtended"],["impl PartialEq for MAG_CAL_REPORT_DATA"],["impl PartialEq for MESSAGE_INTERVAL_DATA"],["impl PartialEq for ParamAck"],["impl PartialEq for MavWinchStatusFlag"],["impl PartialEq for ODOMETRY_DATA"],["impl PartialEq for MISSION_REQUEST_LIST_DATA"],["impl PartialEq for EXTENDED_SYS_STATE_DATA"],["impl PartialEq for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl PartialEq for HighresImuUpdatedFlags"],["impl PartialEq for MavOdidUaType"],["impl PartialEq for UavcanNodeHealth"],["impl PartialEq for MavParamType"],["impl PartialEq for RAW_RPM_DATA"],["impl PartialEq for DEVICE_OP_WRITE_DATA"],["impl PartialEq for PARAM_EXT_REQUEST_READ_DATA"],["impl PartialEq for MavOdidHorAcc"],["impl PartialEq for AHRS_DATA"],["impl PartialEq for ATTITUDE_QUATERNION_DATA"],["impl PartialEq for WHEEL_DISTANCE_DATA"],["impl PartialEq for GPS_RTK_DATA"],["impl PartialEq for TUNNEL_DATA"],["impl PartialEq for TERRAIN_DATA_DATA"],["impl PartialEq for CellularNetworkRadioType"],["impl PartialEq for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl PartialEq for WIND_COV_DATA"],["impl PartialEq for LANDING_TARGET_DATA"],["impl PartialEq for HIGH_LATENCY_DATA"],["impl PartialEq for MavOdidIdType"],["impl PartialEq for WIFI_CONFIG_AP_DATA"],["impl PartialEq for ALTITUDE_DATA"],["impl PartialEq for RC_CHANNELS_RAW_DATA"],["impl PartialEq for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl PartialEq for PrecisionLandMode"],["impl PartialEq for UavionixAdsbEmergencyStatus"],["impl PartialEq for GPS2_RAW_DATA"],["impl PartialEq for MavMessage"],["impl PartialEq for OPTICAL_FLOW_RAD_DATA"],["impl PartialEq for GPS_RAW_INT_DATA"],["impl PartialEq for MANUAL_SETPOINT_DATA"],["impl PartialEq for MANUAL_CONTROL_DATA"],["impl PartialEq for EscFailureFlags"],["impl PartialEq for AUTOPILOT_VERSION_DATA"],["impl PartialEq for COMMAND_CANCEL_DATA"],["impl PartialEq for DATA64_DATA"],["impl PartialEq for RoverMode"],["impl PartialEq for FILE_TRANSFER_PROTOCOL_DATA"],["impl PartialEq for PARAM_EXT_VALUE_DATA"],["impl PartialEq for OSD_PARAM_CONFIG_REPLY_DATA"],["impl PartialEq for HEARTBEAT_DATA"],["impl PartialEq for CAN_FILTER_MODIFY_DATA"],["impl PartialEq for DEBUG_VECT_DATA"],["impl PartialEq for CameraStatusTypes"],["impl PartialEq for LED_CONTROL_DATA"],["impl PartialEq for MISSION_SET_CURRENT_DATA"],["impl PartialEq for WinchActions"],["impl PartialEq for AdsbEmitterType"],["impl PartialEq for SAFETY_ALLOWED_AREA_DATA"],["impl PartialEq for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl PartialEq for UtmDataAvailFlags"],["impl PartialEq for ATT_POS_MOCAP_DATA"],["impl PartialEq for CAMERA_TRIGGER_DATA"],["impl PartialEq for LINK_NODE_STATUS_DATA"],["impl PartialEq for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl PartialEq for MavEventCurrentSequenceFlags"],["impl PartialEq for RADIO_STATUS_DATA"],["impl PartialEq for AisFlags"],["impl PartialEq for HYGROMETER_SENSOR_DATA"],["impl PartialEq for SCALED_IMU_DATA"],["impl PartialEq for DEVICE_OP_READ_REPLY_DATA"],["impl PartialEq for VIDEO_STREAM_INFORMATION_DATA"],["impl PartialEq for SERIAL_CONTROL_DATA"],["impl PartialEq for AdsbAltitudeType"],["impl PartialEq for UtmFlightState"],["impl PartialEq for SpeedType"],["impl PartialEq for MagCalStatus"],["impl PartialEq for CAMERA_CAPTURE_STATUS_DATA"],["impl PartialEq for AutotuneAxis"],["impl PartialEq for DeviceOpBustype"],["impl PartialEq for UavionixAdsbRfHealth"],["impl PartialEq for HIGHRES_IMU_DATA"],["impl PartialEq for GoproFrameRate"],["impl PartialEq for GPS_INJECT_DATA_DATA"],["impl PartialEq for MotorTestThrottleType"],["impl PartialEq for CAN_FRAME_DATA"],["impl PartialEq for ISBD_LINK_STATUS_DATA"],["impl PartialEq for CONTROL_SYSTEM_STATE_DATA"],["impl PartialEq for SUPPORTED_TUNES_DATA"],["impl PartialEq for GoproHeartbeatStatus"],["impl PartialEq for OPEN_DRONE_ID_SELF_ID_DATA"],["impl PartialEq for RALLY_FETCH_POINT_DATA"],["impl PartialEq for MavBatteryFault"],["impl PartialEq for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl PartialEq for SCALED_PRESSURE3_DATA"],["impl PartialEq for UAVCAN_NODE_STATUS_DATA"],["impl PartialEq for LOG_ENTRY_DATA"],["impl PartialEq for CAMERA_FEEDBACK_DATA"],["impl PartialEq for VideoStreamStatusFlags"],["impl PartialEq for HIL_SENSOR_DATA"],["impl PartialEq for GimbalAxisCalibrationStatus"],["impl PartialEq for PARAM_EXT_REQUEST_LIST_DATA"],["impl PartialEq for HOME_POSITION_DATA"],["impl PartialEq for HEARTBEAT_DATA"],["impl PartialEq for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl PartialEq for MavCollisionThreatLevel"],["impl PartialEq for MavCmd"],["impl PartialEq for TERRAIN_REPORT_DATA"],["impl PartialEq for MavOdidCategoryEu"],["impl PartialEq for REQUEST_DATA_STREAM_DATA"],["impl PartialEq for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl PartialEq for MEMORY_VECT_DATA"],["impl PartialEq for RcType"],["impl PartialEq for MavlinkDataStreamType"],["impl PartialEq for MavPowerStatus"],["impl PartialEq for PARAM_MAP_RC_DATA"],["impl PartialEq for MOUNT_ORIENTATION_DATA"],["impl PartialEq for OPEN_DRONE_ID_LOCATION_DATA"],["impl PartialEq for IcarousFmsState"],["impl PartialEq for RANGEFINDER_DATA"],["impl PartialEq for NAMED_VALUE_INT_DATA"],["impl PartialEq for GOPRO_SET_RESPONSE_DATA"],["impl PartialEq for MISSION_REQUEST_LIST_DATA"],["impl PartialEq for MavOdidHorAcc"],["impl PartialEq for ACTUATOR_OUTPUT_STATUS_DATA"],["impl PartialEq for SENSOR_OFFSETS_DATA"],["impl PartialEq for UavionixAdsbOutCfgGpsOffsetLon"],["impl PartialEq for MavEventCurrentSequenceFlags"],["impl PartialEq for ActuatorOutputFunction"],["impl PartialEq for LOG_REQUEST_LIST_DATA"],["impl PartialEq for UavcanNodeHealth"],["impl PartialEq for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl PartialEq for FENCE_STATUS_DATA"],["impl PartialEq for CellularStatusFlag"],["impl PartialEq for CANFD_FRAME_DATA"],["impl PartialEq for PARAM_EXT_REQUEST_LIST_DATA"],["impl PartialEq for CUBEPILOT_RAW_RC_DATA"],["impl PartialEq for UAVCAN_NODE_INFO_DATA"],["impl PartialEq for WifiConfigApMode"],["impl PartialEq for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl PartialEq for GPS2_RAW_DATA"],["impl PartialEq for VideoStreamStatusFlags"],["impl PartialEq for COMMAND_LONG_DATA"],["impl PartialEq for ODOMETRY_DATA"],["impl PartialEq for HighresImuUpdatedFlags"],["impl PartialEq for PreflightStorageParameterAction"],["impl PartialEq for GIMBAL_DEVICE_INFORMATION_DATA"],["impl PartialEq for LOCAL_POSITION_NED_COV_DATA"],["impl PartialEq for AutotuneAxis"],["impl PartialEq for RC_CHANNELS_DATA"],["impl PartialEq for MotorTestThrottleType"],["impl PartialEq for CAMERA_STATUS_DATA"],["impl PartialEq for HIL_OPTICAL_FLOW_DATA"],["impl PartialEq for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl PartialEq for MavOdidHeightRef"],["impl PartialEq for GPS_INPUT_DATA"],["impl PartialEq for GENERATOR_STATUS_DATA"],["impl PartialEq for StorageType"],["impl PartialEq for MISSION_REQUEST_LIST_DATA"],["impl PartialEq for MISSION_REQUEST_DATA"],["impl PartialEq for GOPRO_GET_REQUEST_DATA"],["impl PartialEq for RtkBaselineCoordinateSystem"],["impl PartialEq for SET_ATTITUDE_TARGET_DATA"],["impl PartialEq for CAN_FILTER_MODIFY_DATA"],["impl PartialEq for PARAM_EXT_ACK_DATA"],["impl PartialEq for NavVtolLandOptions"],["impl PartialEq for GoproProtuneGain"],["impl PartialEq for MavType"],["impl PartialEq for MISSION_ITEM_REACHED_DATA"],["impl PartialEq for HYGROMETER_SENSOR_DATA"],["impl PartialEq for PARAM_SET_DATA"],["impl PartialEq for UavionixAdsbOutDynamicState"],["impl PartialEq for MAG_CAL_REPORT_DATA"],["impl PartialEq for EVENT_DATA"],["impl PartialEq for MavSysStatusSensor"],["impl PartialEq for GOPRO_SET_REQUEST_DATA"],["impl PartialEq for POSITION_TARGET_GLOBAL_INT_DATA"],["impl PartialEq for SAFETY_ALLOWED_AREA_DATA"],["impl PartialEq for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl PartialEq for MavOdidDescType"],["impl PartialEq for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl PartialEq for GPS_STATUS_DATA"],["impl PartialEq for LOCAL_POSITION_NED_COV_DATA"],["impl PartialEq for VIDEO_STREAM_INFORMATION_DATA"],["impl PartialEq for GIMBAL_MANAGER_INFORMATION_DATA"],["impl PartialEq for PARAM_SET_DATA"],["impl PartialEq for GimbalManagerCapFlags"],["impl PartialEq for OSD_PARAM_SHOW_CONFIG_DATA"],["impl PartialEq for AisType"],["impl PartialEq for MavOdidHeightRef"],["impl PartialEq for HEARTBEAT_DATA"],["impl PartialEq for MISSION_REQUEST_INT_DATA"],["impl PartialEq for PARAM_EXT_ACK_DATA"],["impl PartialEq for TERRAIN_CHECK_DATA"],["impl PartialEq for DEBUG_FLOAT_ARRAY_DATA"],["impl PartialEq for CanFilterOp"],["impl PartialEq for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl PartialEq for ORBIT_EXECUTION_STATUS_DATA"],["impl PartialEq for CanFilterOp"],["impl PartialEq for CANFD_FRAME_DATA"],["impl PartialEq for GoproProtuneSharpness"],["impl PartialEq for POWER_STATUS_DATA"],["impl PartialEq for EkfStatusFlags"],["impl PartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl PartialEq for MISSION_CURRENT_DATA"],["impl PartialEq for HIL_GPS_DATA"],["impl PartialEq for MavBatteryChargeState"],["impl PartialEq for CanFilterOp"],["impl PartialEq for LOGGING_DATA_DATA"],["impl PartialEq for TIMESYNC_DATA"],["impl PartialEq for StorageStatus"],["impl PartialEq for LINK_NODE_STATUS_DATA"],["impl PartialEq for WHEEL_DISTANCE_DATA"],["impl PartialEq for SCALED_PRESSURE2_DATA"],["impl PartialEq for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl PartialEq for ATT_POS_MOCAP_DATA"],["impl PartialEq for MavOdidHorAcc"],["impl PartialEq for MavHeader"],["impl PartialEq for MavModeFlagDecodePosition"],["impl PartialEq for VIBRATION_DATA"],["impl PartialEq for MavFrame"],["impl PartialEq for CameraTrackingStatusFlags"],["impl PartialEq for MavCollisionSrc"],["impl PartialEq for COMPONENT_INFORMATION_DATA"],["impl PartialEq for OBSTACLE_DISTANCE_DATA"],["impl PartialEq for ESC_STATUS_DATA"],["impl PartialEq for RallyFlags"],["impl PartialEq for PositionTargetTypemask"],["impl PartialEq for RAW_PRESSURE_DATA"],["impl PartialEq for MavOdidHeightRef"],["impl PartialEq for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl PartialEq for OPTICAL_FLOW_RAD_DATA"],["impl PartialEq for MavCollisionAction"],["impl PartialEq for MavModeFlag"],["impl PartialEq for ALTITUDE_DATA"],["impl PartialEq for SerialControlDev"],["impl PartialEq for GPS2_RTK_DATA"],["impl PartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl PartialEq for SCALED_IMU2_DATA"],["impl PartialEq for VFR_HUD_DATA"],["impl PartialEq for TIME_ESTIMATE_TO_TARGET_DATA"],["impl PartialEq for MISSION_COUNT_DATA"],["impl PartialEq for MavAutopilot"],["impl PartialEq for COMMAND_ACK_DATA"],["impl PartialEq for MavRemoteLogDataBlockStatuses"],["impl PartialEq for AccelcalVehiclePos"],["impl PartialEq for MISSION_ACK_DATA"],["impl PartialEq for CellularStatusFlag"],["impl PartialEq for MavCollisionSrc"],["impl PartialEq for WINCH_STATUS_DATA"],["impl PartialEq for V2_EXTENSION_DATA"],["impl PartialEq for COLLISION_DATA"],["impl PartialEq for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl PartialEq for SET_MAG_OFFSETS_DATA"],["impl PartialEq for DISTANCE_SENSOR_DATA"],["impl PartialEq for SerialControlDev"],["impl PartialEq for HlFailureFlag"],["impl PartialEq for PARAM_REQUEST_READ_DATA"],["impl PartialEq for TUNNEL_DATA"],["impl PartialEq for ParachuteAction"],["impl PartialEq for HIL_CONTROLS_DATA"],["impl PartialEq for PARAM_VALUE_DATA"],["impl PartialEq for SCALED_IMU2_DATA"],["impl PartialEq for SYSTEM_TIME_DATA"],["impl PartialEq for MEMINFO_DATA"],["impl PartialEq for MavGoto"],["impl PartialEq for MavComponent"],["impl PartialEq for PARAM_REQUEST_READ_DATA"],["impl PartialEq for StorageUsageFlag"],["impl PartialEq for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl PartialEq for GpsInputIgnoreFlags"],["impl PartialEq for OPEN_DRONE_ID_SELF_ID_DATA"],["impl PartialEq for MISSION_ITEM_REACHED_DATA"],["impl PartialEq for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl PartialEq for MavEventErrorReason"],["impl PartialEq for CameraTrackingStatusFlags"],["impl PartialEq for RAW_RPM_DATA"],["impl PartialEq for CameraTrackingTargetData"],["impl PartialEq for ACTUATOR_CONTROL_TARGET_DATA"],["impl PartialEq for UAVCAN_NODE_INFO_DATA"],["impl PartialEq for CHANGE_OPERATOR_CONTROL_DATA"],["impl PartialEq for MavOdidClassificationType"],["impl PartialEq for PARAM_EXT_VALUE_DATA"],["impl PartialEq for TuneFormat"],["impl PartialEq for LOGGING_DATA_ACKED_DATA"],["impl PartialEq for MISSION_COUNT_DATA"],["impl PartialEq for MavOdidTimeAcc"],["impl PartialEq for TERRAIN_REQUEST_DATA"],["impl PartialEq for ParamAck"],["impl PartialEq for MavSeverity"],["impl PartialEq for MavMessage"],["impl PartialEq for AisFlags"],["impl PartialEq for MavEstimatorType"],["impl PartialEq for GIMBAL_REPORT_DATA"],["impl PartialEq for SCALED_PRESSURE2_DATA"],["impl PartialEq for MotorTestOrder"],["impl PartialEq for MavTunnelPayloadType"],["impl PartialEq for MissionState"],["impl PartialEq for VideoStreamType"],["impl PartialEq for UavionixAdsbOutCfgGpsOffsetLon"],["impl PartialEq for GoproRequestStatus"],["impl PartialEq for SET_ATTITUDE_TARGET_DATA"],["impl PartialEq for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl PartialEq for STATUSTEXT_DATA"],["impl PartialEq for LOCAL_POSITION_NED_DATA"],["impl PartialEq for HIL_STATE_QUATERNION_DATA"],["impl PartialEq for SerialControlFlag"],["impl PartialEq for CAMERA_SETTINGS_DATA"],["impl PartialEq for VIDEO_STREAM_STATUS_DATA"],["impl PartialEq for MavSysStatusSensorExtended"],["impl PartialEq for RC_CHANNELS_OVERRIDE_DATA"],["impl PartialEq for RtkBaselineCoordinateSystem"],["impl PartialEq for ADAP_TUNING_DATA"],["impl PartialEq for MavMode"],["impl PartialEq for MavOdidTimeAcc"],["impl PartialEq for NavVtolLandOptions"],["impl PartialEq for MavOdidOperatorLocationType"],["impl PartialEq for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl PartialEq for FailureUnit"],["impl PartialEq for CAN_FRAME_DATA"],["impl PartialEq for MISSION_CLEAR_ALL_DATA"],["impl PartialEq for HIGH_LATENCY2_DATA"],["impl PartialEq for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl PartialEq for UavionixAdsbEmergencyStatus"],["impl PartialEq for MEMORY_VECT_DATA"],["impl PartialEq for HIL_STATE_DATA"],["impl PartialEq for RADIO_STATUS_DATA"],["impl PartialEq for AisType"],["impl PartialEq for GPS_INPUT_DATA"],["impl PartialEq for GoproHeartbeatFlags"],["impl PartialEq for MavSysStatusSensor"],["impl PartialEq for MISSION_COUNT_DATA"],["impl PartialEq for PLAY_TUNE_DATA"],["impl PartialEq for MavMissionType"],["impl PartialEq for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl PartialEq for LandingTargetType"],["impl PartialEq for VtolTransitionHeading"],["impl PartialEq for COMMAND_LONG_DATA"],["impl PartialEq for MavEstimatorType"],["impl PartialEq for AUTOPILOT_VERSION_DATA"],["impl PartialEq for MavSensorOrientation"],["impl PartialEq for MavlinkDataStreamType"],["impl PartialEq for PARAM_VALUE_DATA"],["impl PartialEq for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl PartialEq for COMMAND_INT_DATA"],["impl PartialEq for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl PartialEq for FLIGHT_INFORMATION_DATA"],["impl PartialEq for REQUEST_DATA_STREAM_DATA"],["impl PartialEq for ESC_INFO_DATA"],["impl PartialEq for FailureType"],["impl PartialEq for MavCmd"],["impl PartialEq for MissionState"],["impl PartialEq for MavFtpOpcode"],["impl PartialEq for MavSeverity"],["impl PartialEq for POWER_STATUS_DATA"],["impl PartialEq for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl PartialEq for OrbitYawBehaviour"],["impl PartialEq for LOG_ENTRY_DATA"],["impl PartialEq for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl PartialEq for MavBatteryMode"],["impl PartialEq for MCU_STATUS_DATA"],["impl PartialEq for ACTUATOR_OUTPUT_STATUS_DATA"],["impl PartialEq for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl PartialEq for DATA_STREAM_DATA"],["impl PartialEq for TIMESYNC_DATA"],["impl PartialEq for V2_EXTENSION_DATA"],["impl PartialEq for LOG_REQUEST_DATA_DATA"],["impl PartialEq for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl PartialEq for MOUNT_ORIENTATION_DATA"],["impl PartialEq for CameraTrackingMode"],["impl PartialEq for SCALED_IMU2_DATA"],["impl PartialEq for HIL_SENSOR_DATA"],["impl PartialEq for MavEventErrorReason"],["impl PartialEq for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl PartialEq for IcarousTrackBandTypes"],["impl PartialEq for GPS_GLOBAL_ORIGIN_DATA"],["impl PartialEq for SubMode"],["impl PartialEq for SCALED_IMU3_DATA"],["impl PartialEq for REQUEST_EVENT_DATA"],["impl PartialEq for PROTOCOL_VERSION_DATA"],["impl PartialEq for MavOdidVerAcc"],["impl PartialEq for OPEN_DRONE_ID_LOCATION_DATA"],["impl PartialEq for CAN_FRAME_DATA"],["impl PartialEq for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl PartialEq for MANUAL_SETPOINT_DATA"],["impl PartialEq for MavOdidUaType"],["impl PartialEq for PidTuningAxis"],["impl PartialEq for MavComponent"],["impl PartialEq for MavSeverity"],["impl PartialEq for WATER_DEPTH_DATA"],["impl PartialEq for MISSION_REQUEST_INT_DATA"],["impl PartialEq for IcarousTrackBandTypes"],["impl PartialEq for MISSION_ITEM_INT_DATA"],["impl PartialEq for MAVLinkV2MessageRaw"],["impl PartialEq for ACTUATOR_CONTROL_TARGET_DATA"],["impl PartialEq for RAW_IMU_DATA"],["impl PartialEq for PARAM_MAP_RC_DATA"],["impl PartialEq for MavParamExtType"],["impl PartialEq for MavOdidClassificationType"],["impl PartialEq for PreflightStorageMissionAction"],["impl PartialEq for MavParamType"],["impl PartialEq for COMMAND_CANCEL_DATA"],["impl PartialEq for NAMED_VALUE_FLOAT_DATA"],["impl PartialEq for DIGICAM_CONFIGURE_DATA"],["impl PartialEq for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl PartialEq for MavBatteryChargeState"],["impl PartialEq for MavCmdAck"],["impl PartialEq for CellularNetworkRadioType"],["impl PartialEq for FENCE_POINT_DATA"],["impl PartialEq for CONTROL_SYSTEM_STATE_DATA"],["impl PartialEq for RcType"],["impl PartialEq for GimbalDeviceCapFlags"],["impl PartialEq for FenceMitigate"],["impl PartialEq for CameraMode"],["impl PartialEq for VFR_HUD_DATA"],["impl PartialEq for VideoStreamType"],["impl PartialEq for SAFETY_SET_ALLOWED_AREA_DATA"],["impl PartialEq for SIM_STATE_DATA"],["impl PartialEq for MagCalStatus"],["impl PartialEq for DATA16_DATA"],["impl PartialEq for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl PartialEq for MavWinchStatusFlag"],["impl PartialEq for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl PartialEq for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl PartialEq for FenceMitigate"],["impl PartialEq for MAVLinkV1MessageRaw"],["impl PartialEq for GimbalAxis"],["impl PartialEq for SetFocusType"],["impl PartialEq for MavOdidClassificationType"],["impl PartialEq for MavOdidIdType"],["impl PartialEq for MavBatteryFunction"],["impl PartialEq for EVENT_DATA"],["impl PartialEq for RC_CHANNELS_DATA"],["impl PartialEq for MavMessage"],["impl PartialEq for AdsbFlags"],["impl PartialEq for EVENT_DATA"],["impl PartialEq for HlFailureFlag"],["impl PartialEq for AisNavStatus"],["impl PartialEq for COMMAND_ACK_DATA"],["impl PartialEq for GOPRO_HEARTBEAT_DATA"],["impl PartialEq for MISSION_ITEM_INT_DATA"],["impl PartialEq for MavBatteryFunction"],["impl PartialEq for PING_DATA"],["impl PartialEq for AttitudeTargetTypemask"],["impl PartialEq for SCALED_PRESSURE2_DATA"],["impl PartialEq for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl PartialEq for AP_ADC_DATA"],["impl PartialEq for VtolTransitionHeading"],["impl PartialEq for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl PartialEq for MavOdidSpeedAcc"],["impl PartialEq for SMART_BATTERY_INFO_DATA"],["impl PartialEq for MissionState"],["impl PartialEq for VISION_POSITION_ESTIMATE_DATA"],["impl PartialEq for DIGICAM_CONTROL_DATA"],["impl PartialEq for SET_HOME_POSITION_DATA"],["impl PartialEq for GimbalDeviceErrorFlags"],["impl PartialEq for ATTITUDE_DATA"],["impl PartialEq for SCALED_PRESSURE_DATA"],["impl PartialEq for CompMetadataType"],["impl PartialEq for ODOMETRY_DATA"],["impl PartialEq for VICON_POSITION_ESTIMATE_DATA"],["impl PartialEq for GimbalManagerFlags"],["impl PartialEq for CellularStatusFlag"],["impl PartialEq for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl PartialEq for GENERATOR_STATUS_DATA"],["impl PartialEq for DISTANCE_SENSOR_DATA"],["impl PartialEq for EscConnectionType"],["impl PartialEq for LOG_REQUEST_LIST_DATA"],["impl PartialEq for VIDEO_STREAM_STATUS_DATA"],["impl PartialEq for AIS_VESSEL_DATA"],["impl PartialEq for PreflightStorageParameterAction"],["impl PartialEq for HIL_ACTUATOR_CONTROLS_DATA"],["impl PartialEq for LOG_REQUEST_END_DATA"],["impl PartialEq for CameraCapFlags"],["impl PartialEq for MavProtocolCapability"],["impl PartialEq for MagCalStatus"],["impl PartialEq for UavcanNodeMode"],["impl PartialEq for TERRAIN_REPORT_DATA"],["impl PartialEq for RC_CHANNELS_SCALED_DATA"],["impl PartialEq for MavModeFlag"],["impl PartialEq for GIMBAL_MANAGER_SET_PITCHYAW_DATA"]], "proc_macro2":[["impl PartialEq for Spacing"],["impl<T> PartialEq<T> for Identwhere\n T: ?Sized + AsRef<str>,"],["impl PartialEq for Ident"],["impl PartialEq for Delimiter"]], "serde":[["impl<'a> PartialEq for Unexpected<'a>"],["impl PartialEq for Error"],["impl PartialEq for IgnoredAny"]], "serial_core":[["impl PartialEq for Parity"],["impl PartialEq for PortSettings"],["impl PartialEq for CharSize"],["impl PartialEq for BaudRate"],["impl PartialEq for StopBits"],["impl PartialEq for ErrorKind"],["impl PartialEq for FlowControl"]], diff --git a/trait.impl/core/cmp/trait.PartialOrd.js b/trait.impl/core/cmp/trait.PartialOrd.js index 42d33897a8..dcb84bee97 100644 --- a/trait.impl/core/cmp/trait.PartialOrd.js +++ b/trait.impl/core/cmp/trait.PartialOrd.js @@ -1,5 +1,5 @@ (function() {var implementors = { "byteorder":[["impl PartialOrd for BigEndian"],["impl PartialOrd for LittleEndian"]], -"mavlink":[["impl PartialOrd for AttitudeTargetTypemask"],["impl PartialOrd for AttitudeTargetTypemask"],["impl PartialOrd for UavionixAdsbOutDynamicState"],["impl PartialOrd for UavionixAdsbRfHealth"],["impl PartialOrd for CameraCapFlags"],["impl PartialOrd for UavionixAdsbOutDynamicState"],["impl PartialOrd for AdsbFlags"],["impl PartialOrd for RallyFlags"],["impl PartialOrd for GpsInputIgnoreFlags"],["impl PartialOrd for HighresImuUpdatedFlags"],["impl PartialOrd for AttitudeTargetTypemask"],["impl PartialOrd for MavPowerStatus"],["impl PartialOrd for MavPowerStatus"],["impl PartialOrd for EscFailureFlags"],["impl PartialOrd for GpsInputIgnoreFlags"],["impl PartialOrd for GpsInputIgnoreFlags"],["impl PartialOrd for UtmDataAvailFlags"],["impl PartialOrd for EscFailureFlags"],["impl PartialOrd for SerialControlFlag"],["impl PartialOrd for AdsbFlags"],["impl PartialOrd for MavWinchStatusFlag"],["impl PartialOrd for HilSensorUpdatedFlags"],["impl PartialOrd for TuneFormat"],["impl PartialOrd for HlFailureFlag"],["impl PartialOrd for HighresImuUpdatedFlags"],["impl PartialOrd for TuneFormat"],["impl PartialOrd for MavProtocolCapability"],["impl PartialOrd for MavModeFlag"],["impl PartialOrd for MavModeFlag"],["impl PartialOrd for UavionixAdsbRfHealth"],["impl PartialOrd for GimbalManagerCapFlags"],["impl PartialOrd for EstimatorStatusFlags"],["impl PartialOrd for AisFlags"],["impl PartialOrd for HighresImuUpdatedFlags"],["impl PartialOrd for HlFailureFlag"],["impl PartialOrd for TuneFormat"],["impl PartialOrd for EkfStatusFlags"],["impl PartialOrd for MavSysStatusSensor"],["impl PartialOrd for MavProtocolCapability"],["impl PartialOrd for MavGeneratorStatusFlag"],["impl PartialOrd for MavEventCurrentSequenceFlags"],["impl PartialOrd for MavWinchStatusFlag"],["impl PartialOrd for MavWinchStatusFlag"],["impl PartialOrd for UtmDataAvailFlags"],["impl PartialOrd for PositionTargetTypemask"],["impl PartialOrd for MavSysStatusSensor"],["impl PartialOrd for MavGeneratorStatusFlag"],["impl PartialOrd for EstimatorStatusFlags"],["impl PartialOrd for MavGeneratorStatusFlag"],["impl PartialOrd for GoproHeartbeatFlags"],["impl PartialOrd for HlFailureFlag"],["impl PartialOrd for UtmDataAvailFlags"],["impl PartialOrd for GimbalManagerCapFlags"],["impl PartialOrd for MavModeFlag"],["impl PartialOrd for HilSensorUpdatedFlags"],["impl PartialOrd for GimbalDeviceCapFlags"],["impl PartialOrd for AdsbFlags"],["impl PartialOrd for GimbalDeviceCapFlags"],["impl PartialOrd for SerialControlFlag"],["impl PartialOrd for HilSensorUpdatedFlags"],["impl PartialOrd for EstimatorStatusFlags"],["impl PartialOrd for GimbalDeviceFlags"],["impl PartialOrd for GimbalDeviceErrorFlags"],["impl PartialOrd for SerialControlFlag"],["impl PartialOrd for CameraCapFlags"],["impl PartialOrd for MavSysStatusSensor"],["impl PartialOrd for AisFlags"],["impl PartialOrd for GimbalDeviceErrorFlags"],["impl PartialOrd for MavPowerStatus"],["impl PartialOrd for PositionTargetTypemask"],["impl PartialOrd for UavionixAdsbOutRfSelect"],["impl PartialOrd for GimbalDeviceFlags"],["impl PartialOrd for MavEventCurrentSequenceFlags"],["impl PartialOrd for EscFailureFlags"],["impl PartialOrd for AisFlags"],["impl PartialOrd for GimbalDeviceCapFlags"],["impl PartialOrd for UavionixAdsbOutRfSelect"],["impl PartialOrd for MavEventCurrentSequenceFlags"],["impl PartialOrd for MavProtocolCapability"],["impl PartialOrd for GimbalDeviceErrorFlags"],["impl PartialOrd for CameraCapFlags"],["impl PartialOrd for GimbalDeviceFlags"],["impl PartialOrd for LimitModule"],["impl PartialOrd for PositionTargetTypemask"],["impl PartialOrd for GimbalManagerCapFlags"]], +"mavlink":[["impl PartialOrd for GimbalDeviceErrorFlags"],["impl PartialOrd for AisFlags"],["impl PartialOrd for HlFailureFlag"],["impl PartialOrd for GpsInputIgnoreFlags"],["impl PartialOrd for MavSysStatusSensor"],["impl PartialOrd for CameraCapFlags"],["impl PartialOrd for HilSensorUpdatedFlags"],["impl PartialOrd for EstimatorStatusFlags"],["impl PartialOrd for MavModeFlag"],["impl PartialOrd for MavProtocolCapability"],["impl PartialOrd for TuneFormat"],["impl PartialOrd for SerialControlFlag"],["impl PartialOrd for LimitModule"],["impl PartialOrd for MavWinchStatusFlag"],["impl PartialOrd for MavModeFlag"],["impl PartialOrd for HlFailureFlag"],["impl PartialOrd for MavSysStatusSensor"],["impl PartialOrd for HlFailureFlag"],["impl PartialOrd for AdsbFlags"],["impl PartialOrd for GimbalDeviceCapFlags"],["impl PartialOrd for GpsInputIgnoreFlags"],["impl PartialOrd for TuneFormat"],["impl PartialOrd for GimbalManagerCapFlags"],["impl PartialOrd for GimbalDeviceFlags"],["impl PartialOrd for AisFlags"],["impl PartialOrd for UavionixAdsbRfHealth"],["impl PartialOrd for PositionTargetTypemask"],["impl PartialOrd for EkfStatusFlags"],["impl PartialOrd for SerialControlFlag"],["impl PartialOrd for UavionixAdsbOutRfSelect"],["impl PartialOrd for UavionixAdsbOutDynamicState"],["impl PartialOrd for EscFailureFlags"],["impl PartialOrd for CameraCapFlags"],["impl PartialOrd for EstimatorStatusFlags"],["impl PartialOrd for HilSensorUpdatedFlags"],["impl PartialOrd for MavPowerStatus"],["impl PartialOrd for GimbalDeviceErrorFlags"],["impl PartialOrd for RallyFlags"],["impl PartialOrd for TuneFormat"],["impl PartialOrd for HilSensorUpdatedFlags"],["impl PartialOrd for GimbalManagerCapFlags"],["impl PartialOrd for GpsInputIgnoreFlags"],["impl PartialOrd for SerialControlFlag"],["impl PartialOrd for MavPowerStatus"],["impl PartialOrd for GimbalDeviceCapFlags"],["impl PartialOrd for MavPowerStatus"],["impl PartialOrd for GimbalManagerCapFlags"],["impl PartialOrd for EstimatorStatusFlags"],["impl PartialOrd for GimbalDeviceFlags"],["impl PartialOrd for AttitudeTargetTypemask"],["impl PartialOrd for HighresImuUpdatedFlags"],["impl PartialOrd for AttitudeTargetTypemask"],["impl PartialOrd for HighresImuUpdatedFlags"],["impl PartialOrd for GoproHeartbeatFlags"],["impl PartialOrd for CameraCapFlags"],["impl PartialOrd for UavionixAdsbOutDynamicState"],["impl PartialOrd for MavProtocolCapability"],["impl PartialOrd for MavProtocolCapability"],["impl PartialOrd for PositionTargetTypemask"],["impl PartialOrd for MavEventCurrentSequenceFlags"],["impl PartialOrd for MavEventCurrentSequenceFlags"],["impl PartialOrd for UavionixAdsbRfHealth"],["impl PartialOrd for HighresImuUpdatedFlags"],["impl PartialOrd for UtmDataAvailFlags"],["impl PartialOrd for EscFailureFlags"],["impl PartialOrd for MavGeneratorStatusFlag"],["impl PartialOrd for UtmDataAvailFlags"],["impl PartialOrd for MavGeneratorStatusFlag"],["impl PartialOrd for UtmDataAvailFlags"],["impl PartialOrd for AttitudeTargetTypemask"],["impl PartialOrd for GimbalDeviceFlags"],["impl PartialOrd for MavWinchStatusFlag"],["impl PartialOrd for MavWinchStatusFlag"],["impl PartialOrd for MavSysStatusSensor"],["impl PartialOrd for GimbalDeviceCapFlags"],["impl PartialOrd for UavionixAdsbOutRfSelect"],["impl PartialOrd for MavGeneratorStatusFlag"],["impl PartialOrd for GimbalDeviceErrorFlags"],["impl PartialOrd for EscFailureFlags"],["impl PartialOrd for MavModeFlag"],["impl PartialOrd for AisFlags"],["impl PartialOrd for AdsbFlags"],["impl PartialOrd for MavEventCurrentSequenceFlags"],["impl PartialOrd for AdsbFlags"],["impl PartialOrd for PositionTargetTypemask"]], "proc_macro2":[["impl PartialOrd for Ident"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/default/trait.Default.js b/trait.impl/core/default/trait.Default.js index e381c71ae1..97b8f0194a 100644 --- a/trait.impl/core/default/trait.Default.js +++ b/trait.impl/core/default/trait.Default.js @@ -1,6 +1,6 @@ (function() {var implementors = { "byteorder":[["impl Default for BigEndian"],["impl Default for LittleEndian"]], -"mavlink":[["impl Default for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Default for VFR_HUD_DATA"],["impl Default for TERRAIN_REPORT_DATA"],["impl Default for MavTunnelPayloadType"],["impl Default for MISSION_ITEM_INT_DATA"],["impl Default for TUNNEL_DATA"],["impl Default for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Default for CAMERA_FEEDBACK_DATA"],["impl Default for MavParamType"],["impl Default for ONBOARD_COMPUTER_STATUS_DATA"],["impl Default for ATTITUDE_TARGET_DATA"],["impl Default for WIND_COV_DATA"],["impl Default for FenceAction"],["impl Default for ACTUATOR_CONTROL_TARGET_DATA"],["impl Default for ESC_TELEMETRY_5_TO_8_DATA"],["impl Default for AdsbAltitudeType"],["impl Default for PreflightStorageMissionAction"],["impl Default for GLOBAL_POSITION_INT_DATA"],["impl Default for WHEEL_DISTANCE_DATA"],["impl Default for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Default for LINK_NODE_STATUS_DATA"],["impl Default for UavionixAdsbOutCfgAircraftSize"],["impl Default for PARAM_MAP_RC_DATA"],["impl Default for HYGROMETER_SENSOR_DATA"],["impl Default for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Default for SCALED_IMU2_DATA"],["impl Default for GripperActions"],["impl Default for AUTOPILOT_VERSION_DATA"],["impl Default for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Default for ParachuteAction"],["impl Default for SCALED_IMU_DATA"],["impl Default for DEBUG_DATA"],["impl Default for VtolTransitionHeading"],["impl Default for ORBIT_EXECUTION_STATUS_DATA"],["impl Default for FOLLOW_TARGET_DATA"],["impl Default for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Default for HIL_ACTUATOR_CONTROLS_DATA"],["impl Default for WifiConfigApResponse"],["impl Default for PARAM_EXT_SET_DATA"],["impl Default for CUBEPILOT_RAW_RC_DATA"],["impl Default for AttitudeTargetTypemask"],["impl Default for RC_CHANNELS_RAW_DATA"],["impl Default for ATTITUDE_QUATERNION_DATA"],["impl Default for CAN_FILTER_MODIFY_DATA"],["impl Default for GpsFixType"],["impl Default for RESPONSE_EVENT_ERROR_DATA"],["impl Default for MavTunnelPayloadType"],["impl Default for FenceBreach"],["impl Default for HighresImuUpdatedFlags"],["impl Default for ISBD_LINK_STATUS_DATA"],["impl Default for PARAM_EXT_ACK_DATA"],["impl Default for MavBatteryMode"],["impl Default for EFI_STATUS_DATA"],["impl Default for HlFailureFlag"],["impl Default for CameraTrackingStatusFlags"],["impl Default for MavMode"],["impl Default for MavVtolState"],["impl Default for MavOdidSpeedAcc"],["impl Default for TERRAIN_CHECK_DATA"],["impl Default for GpsInputIgnoreFlags"],["impl Default for MavOdidUaType"],["impl Default for COMPONENT_INFORMATION_DATA"],["impl Default for ATT_POS_MOCAP_DATA"],["impl Default for RAW_PRESSURE_DATA"],["impl Default for MavMountMode"],["impl Default for GPS_RAW_INT_DATA"],["impl Default for UavionixAdsbOutCfgGpsOffsetLat"],["impl Default for HilSensorUpdatedFlags"],["impl Default for PositionTargetTypemask"],["impl Default for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Default for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Default for LOCAL_POSITION_NED_DATA"],["impl Default for DEVICE_OP_READ_REPLY_DATA"],["impl Default for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Default for OPEN_DRONE_ID_LOCATION_DATA"],["impl Default for NAV_CONTROLLER_OUTPUT_DATA"],["impl Default for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Default for ATTITUDE_QUATERNION_DATA"],["impl Default for MavWinchStatusFlag"],["impl Default for HIL_OPTICAL_FLOW_DATA"],["impl Default for EFI_STATUS_DATA"],["impl Default for GoproFieldOfView"],["impl Default for REQUEST_EVENT_DATA"],["impl Default for ATTITUDE_DATA"],["impl Default for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Default for MotorTestOrder"],["impl Default for GOPRO_GET_REQUEST_DATA"],["impl Default for DEVICE_OP_READ_DATA"],["impl Default for PARAM_EXT_REQUEST_READ_DATA"],["impl Default for FENCE_FETCH_POINT_DATA"],["impl Default for MavOdidCategoryEu"],["impl Default for ADSB_VEHICLE_DATA"],["impl Default for MavOdidClassEu"],["impl Default for ATTITUDE_QUATERNION_COV_DATA"],["impl Default for MavEventCurrentSequenceFlags"],["impl Default for AIS_VESSEL_DATA"],["impl Default for MISSION_ITEM_INT_DATA"],["impl Default for MavModeFlagDecodePosition"],["impl Default for RALLY_POINT_DATA"],["impl Default for MEMORY_VECT_DATA"],["impl Default for MEMINFO_DATA"],["impl Default for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Default for MISSION_CLEAR_ALL_DATA"],["impl Default for WIFI_CONFIG_AP_DATA"],["impl Default for CompMetadataType"],["impl Default for LOG_DATA_DATA"],["impl Default for MavCollisionThreatLevel"],["impl Default for BATTERY_STATUS_DATA"],["impl Default for HighresImuUpdatedFlags"],["impl Default for AdsbFlags"],["impl Default for ESC_INFO_DATA"],["impl Default for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Default for EscFailureFlags"],["impl Default for PARAM_REQUEST_LIST_DATA"],["impl Default for ORBIT_EXECUTION_STATUS_DATA"],["impl Default for CANFD_FRAME_DATA"],["impl Default for AdsbEmitterType"],["impl Default for LOCAL_POSITION_NED_COV_DATA"],["impl Default for MavCollisionSrc"],["impl Default for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Default for MavCmdAck"],["impl Default for DeviceOpBustype"],["impl Default for GimbalDeviceErrorFlags"],["impl Default for MavEstimatorType"],["impl Default for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Default for GPS_RAW_INT_DATA"],["impl Default for FenceMitigate"],["impl Default for MavFtpOpcode"],["impl Default for SerialControlFlag"],["impl Default for COMPONENT_INFORMATION_DATA"],["impl Default for MagCalStatus"],["impl Default for FenceMitigate"],["impl Default for MavMode"],["impl Default for SCALED_PRESSURE_DATA"],["impl Default for LOG_ENTRY_DATA"],["impl Default for StorageStatus"],["impl Default for NAMED_VALUE_INT_DATA"],["impl Default for CopterMode"],["impl Default for COMPONENT_METADATA_DATA"],["impl Default for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Default for CAMERA_CAPTURE_STATUS_DATA"],["impl Default for SMART_BATTERY_INFO_DATA"],["impl Default for OPTICAL_FLOW_DATA"],["impl Default for RC_CHANNELS_OVERRIDE_DATA"],["impl Default for OrbitYawBehaviour"],["impl Default for RESOURCE_REQUEST_DATA"],["impl Default for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Default for MotorTestThrottleType"],["impl Default for MavArmAuthDeniedReason"],["impl Default for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Default for EstimatorStatusFlags"],["impl Default for VFR_HUD_DATA"],["impl Default for TuneFormat"],["impl Default for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Default for GENERATOR_STATUS_DATA"],["impl Default for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Default for DISTANCE_SENSOR_DATA"],["impl Default for SET_MODE_DATA"],["impl Default for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Default for SET_HOME_POSITION_DATA"],["impl Default for HIL_OPTICAL_FLOW_DATA"],["impl Default for FENCE_STATUS_DATA"],["impl Default for ESC_INFO_DATA"],["impl Default for NAV_CONTROLLER_OUTPUT_DATA"],["impl Default for OPTICAL_FLOW_DATA"],["impl Default for SerialControlDev"],["impl Default for MavDataStream"],["impl Default for MavFrame"],["impl Default for MavlinkDataStreamType"],["impl Default for PARAM_EXT_REQUEST_LIST_DATA"],["impl Default for FenceBreach"],["impl Default for DISTANCE_SENSOR_DATA"],["impl Default for AUTOPILOT_VERSION_DATA"],["impl Default for DATA_STREAM_DATA"],["impl Default for StorageUsageFlag"],["impl Default for GoproModel"],["impl Default for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Default for HIL_STATE_DATA"],["impl Default for MavCollisionSrc"],["impl Default for MANUAL_SETPOINT_DATA"],["impl Default for UavionixAdsbOutDynamicState"],["impl Default for LOG_REQUEST_DATA_DATA"],["impl Default for WIND_COV_DATA"],["impl Default for ATTITUDE_TARGET_DATA"],["impl Default for COLLISION_DATA"],["impl Default for LOG_DATA_DATA"],["impl Default for VICON_POSITION_ESTIMATE_DATA"],["impl Default for DEBUG_DATA"],["impl Default for AttitudeTargetTypemask"],["impl Default for GimbalDeviceCapFlags"],["impl Default for AisType"],["impl Default for SERIAL_CONTROL_DATA"],["impl Default for PARAM_EXT_SET_DATA"],["impl Default for ONBOARD_COMPUTER_STATUS_DATA"],["impl Default for MOUNT_ORIENTATION_DATA"],["impl Default for SubMode"],["impl Default for PARAM_VALUE_DATA"],["impl Default for PING_DATA"],["impl Default for LOGGING_DATA_DATA"],["impl Default for STORAGE_INFORMATION_DATA"],["impl Default for ESC_STATUS_DATA"],["impl Default for MavBatteryFunction"],["impl Default for SETUP_SIGNING_DATA"],["impl Default for PARAM_REQUEST_READ_DATA"],["impl Default for AdsbEmitterType"],["impl Default for GimbalDeviceErrorFlags"],["impl Default for MISSION_ITEM_DATA"],["impl Default for RcType"],["impl Default for FILE_TRANSFER_PROTOCOL_DATA"],["impl Default for LANDING_TARGET_DATA"],["impl Default for MavPowerStatus"],["impl Default for MCU_STATUS_DATA"],["impl Default for VISION_SPEED_ESTIMATE_DATA"],["impl Default for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Default for GPS_GLOBAL_ORIGIN_DATA"],["impl Default for MAVLinkV1MessageRaw"],["impl Default for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Default for SERVO_OUTPUT_RAW_DATA"],["impl Default for MavWinchStatusFlag"],["impl Default for MavMode"],["impl Default for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Default for WHEEL_DISTANCE_DATA"],["impl Default for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Default for CellularStatusFlag"],["impl Default for SCALED_IMU2_DATA"],["impl Default for HlFailureFlag"],["impl Default for STORAGE_INFORMATION_DATA"],["impl Default for CameraTrackingMode"],["impl Default for UavionixAdsbOutCfgGpsOffsetLon"],["impl Default for HilSensorUpdatedFlags"],["impl Default for PARAM_REQUEST_LIST_DATA"],["impl Default for MOUNT_CONFIGURE_DATA"],["impl Default for MavBatteryChargeState"],["impl Default for MavComponent"],["impl Default for GPS_RTK_DATA"],["impl Default for EXTENDED_SYS_STATE_DATA"],["impl Default for AccelcalVehiclePos"],["impl Default for CAMERA_INFORMATION_DATA"],["impl Default for MavSeverity"],["impl Default for MavTunnelPayloadType"],["impl Default for CameraTrackingMode"],["impl Default for SCALED_IMU_DATA"],["impl Default for UavionixAdsbEmergencyStatus"],["impl Default for FenceBreach"],["impl Default for FLIGHT_INFORMATION_DATA"],["impl Default for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Default for EFI_STATUS_DATA"],["impl Default for HOME_POSITION_DATA"],["impl Default for HIL_STATE_QUATERNION_DATA"],["impl Default for COMMAND_LONG_DATA"],["impl Default for EVENT_DATA"],["impl Default for FILE_TRANSFER_PROTOCOL_DATA"],["impl Default for DEVICE_OP_WRITE_REPLY_DATA"],["impl Default for MavCmdDoAuxFunctionSwitchLevel"],["impl Default for GPS_RTCM_DATA_DATA"],["impl Default for AutotuneAxis"],["impl Default for HIL_STATE_QUATERNION_DATA"],["impl Default for UavionixAdsbOutDynamicState"],["impl Default for GPS_INPUT_DATA"],["impl Default for RC_CHANNELS_DATA"],["impl Default for GimbalDeviceCapFlags"],["impl Default for GPS_RTCM_DATA_DATA"],["impl Default for SCALED_PRESSURE_DATA"],["impl Default for FENCE_STATUS_DATA"],["impl Default for NAMED_VALUE_INT_DATA"],["impl Default for HIL_SENSOR_DATA"],["impl Default for OrbitYawBehaviour"],["impl Default for ActuatorConfiguration"],["impl Default for SUPPORTED_TUNES_DATA"],["impl Default for CAN_FILTER_MODIFY_DATA"],["impl Default for COMMAND_CANCEL_DATA"],["impl Default for MavMissionResult"],["impl Default for ATT_POS_MOCAP_DATA"],["impl Default for HIGH_LATENCY_DATA"],["impl Default for MavSysStatusSensor"],["impl Default for HIL_SENSOR_DATA"],["impl Default for HIL_RC_INPUTS_RAW_DATA"],["impl Default for GimbalManagerFlags"],["impl Default for MavWinchStatusFlag"],["impl Default for MISSION_ITEM_REACHED_DATA"],["impl Default for MavOdidTimeAcc"],["impl Default for MavOdidOperatorLocationType"],["impl Default for GoproRequestStatus"],["impl Default for MavMissionType"],["impl Default for WIFI_CONFIG_AP_DATA"],["impl Default for UavionixAdsbOutRfSelect"],["impl Default for CameraMode"],["impl Default for MavSysStatusSensorExtended"],["impl Default for UAVCAN_NODE_INFO_DATA"],["impl Default for PARAM_VALUE_DATA"],["impl Default for RC_CHANNELS_OVERRIDE_DATA"],["impl Default for MissionState"],["impl Default for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Default for PreflightStorageParameterAction"],["impl Default for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Default for UAVCAN_NODE_STATUS_DATA"],["impl Default for VIDEO_STREAM_INFORMATION_DATA"],["impl Default for MavOdidOperatorIdType"],["impl Default for SET_HOME_POSITION_DATA"],["impl Default for DEVICE_OP_WRITE_DATA"],["impl Default for CURRENT_EVENT_SEQUENCE_DATA"],["impl Default for PROTOCOL_VERSION_DATA"],["impl Default for GpsInputIgnoreFlags"],["impl Default for AHRS_DATA"],["impl Default for UavionixAdsbEmergencyStatus"],["impl Default for ODOMETRY_DATA"],["impl Default for GOPRO_HEARTBEAT_DATA"],["impl Default for AisNavStatus"],["impl Default for MavOdidDescType"],["impl Default for TrackerMode"],["impl Default for LOG_REQUEST_DATA_DATA"],["impl Default for CANFD_FRAME_DATA"],["impl Default for MISSION_REQUEST_LIST_DATA"],["impl Default for MavCollisionThreatLevel"],["impl Default for LOCAL_POSITION_NED_COV_DATA"],["impl Default for MavDoRepositionFlags"],["impl Default for VideoStreamType"],["impl Default for LOGGING_DATA_ACKED_DATA"],["impl Default for VIBRATION_DATA"],["impl Default for SetFocusType"],["impl Default for PrecisionLandMode"],["impl Default for MavParamType"],["impl Default for RtkBaselineCoordinateSystem"],["impl Default for MOUNT_STATUS_DATA"],["impl Default for ALTITUDE_DATA"],["impl Default for BUTTON_CHANGE_DATA"],["impl Default for MISSION_ACK_DATA"],["impl Default for MavMissionType"],["impl Default for OPTICAL_FLOW_DATA"],["impl Default for CAMERA_FOV_STATUS_DATA"],["impl Default for HWSTATUS_DATA"],["impl Default for CameraCapFlags"],["impl Default for UtmFlightState"],["impl Default for UavionixAdsbOutCfgGpsOffsetLon"],["impl Default for SET_ATTITUDE_TARGET_DATA"],["impl Default for PARAM_EXT_ACK_DATA"],["impl Default for STATUSTEXT_DATA"],["impl Default for COMMAND_ACK_DATA"],["impl Default for HIL_GPS_DATA"],["impl Default for SMART_BATTERY_INFO_DATA"],["impl Default for MavComponent"],["impl Default for MotorTestThrottleType"],["impl Default for PING_DATA"],["impl Default for ONBOARD_COMPUTER_STATUS_DATA"],["impl Default for MavDistanceSensor"],["impl Default for AP_ADC_DATA"],["impl Default for TERRAIN_DATA_DATA"],["impl Default for ESC_TELEMETRY_9_TO_12_DATA"],["impl Default for GLOBAL_POSITION_INT_DATA"],["impl Default for MavLandedState"],["impl Default for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Default for SpeedType"],["impl Default for MavEstimatorType"],["impl Default for MavBatteryChargeState"],["impl Default for OSD_PARAM_SHOW_CONFIG_DATA"],["impl Default for RESOURCE_REQUEST_DATA"],["impl Default for IcarousTrackBandTypes"],["impl Default for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Default for UtmDataAvailFlags"],["impl Default for MESSAGE_INTERVAL_DATA"],["impl Default for MavSysStatusSensor"],["impl Default for SET_MODE_DATA"],["impl Default for VISION_SPEED_ESTIMATE_DATA"],["impl Default for SCALED_PRESSURE3_DATA"],["impl Default for LOG_REQUEST_END_DATA"],["impl Default for SerialControlFlag"],["impl Default for HIGH_LATENCY2_DATA"],["impl Default for SENSOR_OFFSETS_DATA"],["impl Default for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Default for GimbalManagerFlags"],["impl Default for UavionixAdsbOutRfSelect"],["impl Default for COMMAND_ACK_DATA"],["impl Default for LED_CONTROL_DATA"],["impl Default for GimbalDeviceFlags"],["impl Default for VISION_POSITION_DELTA_DATA"],["impl Default for MavSysStatusSensor"],["impl Default for LOG_DATA_DATA"],["impl Default for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl Default for SET_HOME_POSITION_DATA"],["impl Default for GIMBAL_CONTROL_DATA"],["impl Default for GPS_RTK_DATA"],["impl Default for MEMORY_VECT_DATA"],["impl Default for CameraCapFlags"],["impl Default for MavCmd"],["impl Default for MavOdidHeightRef"],["impl Default for COMPONENT_METADATA_DATA"],["impl Default for SETUP_SIGNING_DATA"],["impl Default for MavOdidUaType"],["impl Default for WinchActions"],["impl Default for UAVCAN_NODE_INFO_DATA"],["impl Default for COMMAND_INT_DATA"],["impl Default for StorageType"],["impl Default for HOME_POSITION_DATA"],["impl Default for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Default for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Default for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Default for GOPRO_GET_RESPONSE_DATA"],["impl Default for UAVCAN_NODE_STATUS_DATA"],["impl Default for HIL_CONTROLS_DATA"],["impl Default for SERVO_OUTPUT_RAW_DATA"],["impl Default for REMOTE_LOG_DATA_BLOCK_DATA"],["impl Default for ISBD_LINK_STATUS_DATA"],["impl Default for VideoStreamType"],["impl Default for AHRS2_DATA"],["impl Default for COMMAND_INT_DATA"],["impl Default for CAMERA_TRIGGER_DATA"],["impl Default for PreflightStorageMissionAction"],["impl Default for CAMERA_SETTINGS_DATA"],["impl Default for RESOURCE_REQUEST_DATA"],["impl Default for MOUNT_ORIENTATION_DATA"],["impl Default for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Default for PARAM_EXT_VALUE_DATA"],["impl Default for SUPPORTED_TUNES_DATA"],["impl Default for ESC_INFO_DATA"],["impl Default for MavOdidHeightRef"],["impl Default for AutotuneAxis"],["impl Default for GimbalManagerFlags"],["impl Default for AisType"],["impl Default for MavCmdAck"],["impl Default for MagCalStatus"],["impl Default for MavParamType"],["impl Default for MavAutopilot"],["impl Default for EVENT_DATA"],["impl Default for AUTH_KEY_DATA"],["impl Default for RC_CHANNELS_SCALED_DATA"],["impl Default for HIL_GPS_DATA"],["impl Default for MavModeFlagDecodePosition"],["impl Default for SCALED_IMU3_DATA"],["impl Default for DeepstallStage"],["impl Default for MESSAGE_INTERVAL_DATA"],["impl Default for DEEPSTALL_DATA"],["impl Default for CameraStatusTypes"],["impl Default for ADSB_VEHICLE_DATA"],["impl Default for MISSION_COUNT_DATA"],["impl Default for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Default for SIMSTATE_DATA"],["impl Default for GENERATOR_STATUS_DATA"],["impl Default for DIGICAM_CONTROL_DATA"],["impl Default for MissionState"],["impl Default for POSITION_TARGET_LOCAL_NED_DATA"],["impl Default for UavcanNodeHealth"],["impl Default for NAMED_VALUE_INT_DATA"],["impl Default for RAW_PRESSURE_DATA"],["impl Default for MavMissionResult"],["impl Default for GimbalDeviceCapFlags"],["impl Default for AdsbAltitudeType"],["impl Default for MavEventCurrentSequenceFlags"],["impl Default for DATA_STREAM_DATA"],["impl Default for MavDataStream"],["impl Default for RESPONSE_EVENT_ERROR_DATA"],["impl Default for PLAY_TUNE_DATA"],["impl Default for WIFI_CONFIG_AP_DATA"],["impl Default for MISSION_ITEM_REACHED_DATA"],["impl Default for EscFailureFlags"],["impl Default for CAMERA_TRIGGER_DATA"],["impl Default for OPTICAL_FLOW_RAD_DATA"],["impl Default for MISSION_ITEM_DATA"],["impl Default for MavSensorOrientation"],["impl Default for MANUAL_CONTROL_DATA"],["impl Default for RADIO_DATA"],["impl Default for PARAM_EXT_ACK_DATA"],["impl Default for StorageType"],["impl Default for STORAGE_INFORMATION_DATA"],["impl Default for EscFailureFlags"],["impl Default for MavResult"],["impl Default for RC_CHANNELS_RAW_DATA"],["impl Default for MISSION_ACK_DATA"],["impl Default for RAW_IMU_DATA"],["impl Default for HeadingType"],["impl Default for SETUP_SIGNING_DATA"],["impl Default for LOGGING_ACK_DATA"],["impl Default for MavOdidTimeAcc"],["impl Default for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl Default for MavBatteryMode"],["impl Default for MavVtolState"],["impl Default for CAMERA_IMAGE_CAPTURED_DATA"],["impl Default for LOG_ERASE_DATA"],["impl Default for RtkBaselineCoordinateSystem"],["impl Default for COMPASSMOT_STATUS_DATA"],["impl Default for RESPONSE_EVENT_ERROR_DATA"],["impl Default for ALTITUDE_DATA"],["impl Default for LOGGING_DATA_ACKED_DATA"],["impl Default for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Default for ParamAck"],["impl Default for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Default for MavOdidHorAcc"],["impl Default for CameraZoomType"],["impl Default for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Default for LOGGING_ACK_DATA"],["impl Default for MavDistanceSensor"],["impl Default for CAMERA_CAPTURE_STATUS_DATA"],["impl Default for SIM_STATE_DATA"],["impl Default for PARAM_EXT_REQUEST_READ_DATA"],["impl Default for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Default for HYGROMETER_SENSOR_DATA"],["impl Default for ESTIMATOR_STATUS_DATA"],["impl Default for MotorTestThrottleType"],["impl Default for HEARTBEAT_DATA"],["impl Default for MavOdidVerAcc"],["impl Default for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Default for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Default for WINCH_STATUS_DATA"],["impl Default for VIDEO_STREAM_INFORMATION_DATA"],["impl Default for HIGHRES_IMU_DATA"],["impl Default for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Default for ATTITUDE_QUATERNION_DATA"],["impl Default for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl Default for PING_DATA"],["impl Default for PreflightStorageParameterAction"],["impl Default for MavOdidUaType"],["impl Default for DATA32_DATA"],["impl Default for DEBUG_FLOAT_ARRAY_DATA"],["impl Default for PLAY_TUNE_V2_DATA"],["impl Default for OBSTACLE_DISTANCE_3D_DATA"],["impl Default for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Default for HIL_ACTUATOR_CONTROLS_DATA"],["impl Default for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Default for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Default for TIMESYNC_DATA"],["impl Default for LOG_ENTRY_DATA"],["impl Default for MISSION_REQUEST_DATA"],["impl Default for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Default for GPS_GLOBAL_ORIGIN_DATA"],["impl Default for MavDoRepositionFlags"],["impl Default for OBSTACLE_DISTANCE_DATA"],["impl Default for PARAM_EXT_REQUEST_LIST_DATA"],["impl Default for GPS_INJECT_DATA_DATA"],["impl Default for PARAM_SET_DATA"],["impl Default for LANDING_TARGET_DATA"],["impl Default for ACTUATOR_CONTROL_TARGET_DATA"],["impl Default for NavVtolLandOptions"],["impl Default for GOPRO_SET_RESPONSE_DATA"],["impl Default for CompMetadataType"],["impl Default for RAW_PRESSURE_DATA"],["impl Default for RPM_DATA"],["impl Default for SIM_STATE_DATA"],["impl Default for CameraCapFlags"],["impl Default for MavBatteryFunction"],["impl Default for RallyFlags"],["impl Default for MavOdidHeightRef"],["impl Default for CHANGE_OPERATOR_CONTROL_DATA"],["impl Default for LOGGING_DATA_DATA"],["impl Default for DIGICAM_CONFIGURE_DATA"],["impl Default for WifiConfigApMode"],["impl Default for WinchActions"],["impl Default for HOME_POSITION_DATA"],["impl Default for CameraTrackingTargetData"],["impl Default for RALLY_FETCH_POINT_DATA"],["impl Default for MavFrame"],["impl Default for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Default for MAVLinkV2MessageRaw"],["impl Default for VIBRATION_DATA"],["impl Default for GPS_GLOBAL_ORIGIN_DATA"],["impl Default for UAVCAN_NODE_STATUS_DATA"],["impl Default for GPS_STATUS_DATA"],["impl Default for HIGH_LATENCY_DATA"],["impl Default for GPS_INJECT_DATA_DATA"],["impl Default for AIS_VESSEL_DATA"],["impl Default for MavProtocolCapability"],["impl Default for AttitudeTargetTypemask"],["impl Default for ODOMETRY_DATA"],["impl Default for MavSeverity"],["impl Default for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Default for ORBIT_EXECUTION_STATUS_DATA"],["impl Default for SAFETY_ALLOWED_AREA_DATA"],["impl Default for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Default for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Default for CAMERA_TRIGGER_DATA"],["impl Default for MISSION_REQUEST_DATA"],["impl Default for GoproPhotoResolution"],["impl Default for MISSION_CURRENT_DATA"],["impl Default for SAFETY_ALLOWED_AREA_DATA"],["impl Default for STATUSTEXT_DATA"],["impl Default for MISSION_REQUEST_LIST_DATA"],["impl Default for SYS_STATUS_DATA"],["impl Default for REQUEST_DATA_STREAM_DATA"],["impl Default for MavBatteryFault"],["impl Default for TERRAIN_REPORT_DATA"],["impl Default for AisType"],["impl Default for AUTOPILOT_VERSION_REQUEST_DATA"],["impl Default for FenceMitigate"],["impl Default for GPS_STATUS_DATA"],["impl Default for PositionTargetTypemask"],["impl Default for MISSION_SET_CURRENT_DATA"],["impl Default for LOG_ERASE_DATA"],["impl Default for MavBatteryChargeState"],["impl Default for UavcanNodeMode"],["impl Default for MavOdidAuthType"],["impl Default for FailureType"],["impl Default for MISSION_REQUEST_INT_DATA"],["impl Default for MavOdidArmStatus"],["impl Default for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Default for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Default for MavOdidArmStatus"],["impl Default for COMPONENT_METADATA_DATA"],["impl Default for HIL_ACTUATOR_CONTROLS_DATA"],["impl Default for MavSeverity"],["impl Default for V2_EXTENSION_DATA"],["impl Default for ActuatorOutputFunction"],["impl Default for POWER_STATUS_DATA"],["impl Default for MAG_CAL_PROGRESS_DATA"],["impl Default for GPS_INJECT_DATA_DATA"],["impl Default for RAW_RPM_DATA"],["impl Default for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Default for HIL_STATE_QUATERNION_DATA"],["impl Default for MavEventErrorReason"],["impl Default for MavOdidCategoryEu"],["impl Default for MANUAL_CONTROL_DATA"],["impl Default for COMMAND_ACK_DATA"],["impl Default for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Default for MISSION_ITEM_REACHED_DATA"],["impl Default for RAW_RPM_DATA"],["impl Default for MavBatteryType"],["impl Default for GoproCommand"],["impl Default for FailureUnit"],["impl Default for MavBatteryType"],["impl Default for PARAM_EXT_VALUE_DATA"],["impl Default for MavOdidTimeAcc"],["impl Default for VISION_SPEED_ESTIMATE_DATA"],["impl Default for SCALED_PRESSURE3_DATA"],["impl Default for EXTENDED_SYS_STATE_DATA"],["impl Default for HIL_STATE_DATA"],["impl Default for RADIO_STATUS_DATA"],["impl Default for StorageStatus"],["impl Default for VICON_POSITION_ESTIMATE_DATA"],["impl Default for FENCE_POINT_DATA"],["impl Default for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Default for StorageUsageFlag"],["impl Default for WIND_COV_DATA"],["impl Default for GPS_INPUT_DATA"],["impl Default for HIGHRES_IMU_DATA"],["impl Default for DEBUG_FLOAT_ARRAY_DATA"],["impl Default for LOG_ERASE_DATA"],["impl Default for HYGROMETER_SENSOR_DATA"],["impl Default for ICAROUS_HEARTBEAT_DATA"],["impl Default for MavOdidCategoryEu"],["impl Default for RC_CHANNELS_RAW_DATA"],["impl Default for MavResult"],["impl Default for GPS_INPUT_DATA"],["impl Default for MANUAL_SETPOINT_DATA"],["impl Default for TERRAIN_REQUEST_DATA"],["impl Default for RoverMode"],["impl Default for CompMetadataType"],["impl Default for CELLULAR_STATUS_DATA"],["impl Default for CELLULAR_CONFIG_DATA"],["impl Default for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Default for POWER_STATUS_DATA"],["impl Default for EstimatorStatusFlags"],["impl Default for ATTITUDE_DATA"],["impl Default for CONTROL_SYSTEM_STATE_DATA"],["impl Default for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Default for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Default for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Default for RC_CHANNELS_SCALED_DATA"],["impl Default for AisFlags"],["impl Default for FirmwareVersionType"],["impl Default for FILE_TRANSFER_PROTOCOL_DATA"],["impl Default for RAW_RPM_DATA"],["impl Default for BUTTON_CHANGE_DATA"],["impl Default for IcarousFmsState"],["impl Default for MISSION_CLEAR_ALL_DATA"],["impl Default for LedControlPattern"],["impl Default for GPS_STATUS_DATA"],["impl Default for CellularNetworkFailedReason"],["impl Default for MISSION_CURRENT_DATA"],["impl Default for MavOdidIdType"],["impl Default for MOUNT_CONTROL_DATA"],["impl Default for SCALED_IMU2_DATA"],["impl Default for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Default for MAG_CAL_REPORT_DATA"],["impl Default for OPTICAL_FLOW_RAD_DATA"],["impl Default for LOCAL_POSITION_NED_COV_DATA"],["impl Default for MavState"],["impl Default for MISSION_REQUEST_INT_DATA"],["impl Default for MavType"],["impl Default for GimbalDeviceFlags"],["impl Default for OPEN_DRONE_ID_LOCATION_DATA"],["impl Default for ParachuteAction"],["impl Default for VIDEO_STREAM_INFORMATION_DATA"],["impl Default for ENCAPSULATED_DATA_DATA"],["impl Default for UavcanNodeMode"],["impl Default for PARAM_REQUEST_LIST_DATA"],["impl Default for COMMAND_LONG_DATA"],["impl Default for VideoStreamStatusFlags"],["impl Default for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Default for GoproProtuneSharpness"],["impl Default for HIL_RC_INPUTS_RAW_DATA"],["impl Default for TERRAIN_REQUEST_DATA"],["impl Default for PID_TUNING_DATA"],["impl Default for StorageStatus"],["impl Default for MavHeader"],["impl Default for CanFilterOp"],["impl Default for MavOdidOperatorLocationType"],["impl Default for MavModeFlag"],["impl Default for OSD_PARAM_CONFIG_REPLY_DATA"],["impl Default for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Default for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Default for MavAutopilot"],["impl Default for RcType"],["impl Default for MavGeneratorStatusFlag"],["impl Default for MavState"],["impl Default for MavGeneratorStatusFlag"],["impl Default for MavBatteryFunction"],["impl Default for MavFtpErr"],["impl Default for OPTICAL_FLOW_RAD_DATA"],["impl Default for LANDING_TARGET_DATA"],["impl Default for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Default for EstimatorStatusFlags"],["impl Default for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Default for MotorTestOrder"],["impl Default for FenceAction"],["impl Default for FailureType"],["impl Default for IcarousTrackBandTypes"],["impl Default for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Default for SERVO_OUTPUT_RAW_DATA"],["impl Default for UavionixAdsbOutCfgGpsOffsetLat"],["impl Default for COLLISION_DATA"],["impl Default for MavLandedState"],["impl Default for MavCollisionAction"],["impl Default for OPEN_DRONE_ID_LOCATION_DATA"],["impl Default for MavVtolState"],["impl Default for CHANGE_OPERATOR_CONTROL_DATA"],["impl Default for CAMERA_STATUS_DATA"],["impl Default for CAN_FRAME_DATA"],["impl Default for CameraTrackingStatusFlags"],["impl Default for WifiConfigApMode"],["impl Default for GoproProtuneExposure"],["impl Default for RC_CHANNELS_DATA"],["impl Default for RANGEFINDER_DATA"],["impl Default for GpsFixType"],["impl Default for TERRAIN_CHECK_DATA"],["impl Default for CellularNetworkFailedReason"],["impl Default for GIMBAL_MANAGER_STATUS_DATA"],["impl Default for MavOdidClassificationType"],["impl Default for NAV_CONTROLLER_OUTPUT_DATA"],["impl Default for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Default for OrbitYawBehaviour"],["impl Default for PrecisionLandMode"],["impl Default for ICAROUS_HEARTBEAT_DATA"],["impl Default for ESTIMATOR_STATUS_DATA"],["impl Default for MavOdidClassificationType"],["impl Default for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Default for ODOMETRY_DATA"],["impl Default for VIDEO_STREAM_STATUS_DATA"],["impl Default for GimbalManagerCapFlags"],["impl Default for RC_CHANNELS_SCALED_DATA"],["impl Default for FLIGHT_INFORMATION_DATA"],["impl Default for DATA96_DATA"],["impl Default for PROTOCOL_VERSION_DATA"],["impl Default for PARAM_REQUEST_READ_DATA"],["impl Default for GLOBAL_POSITION_INT_COV_DATA"],["impl Default for GpsInputIgnoreFlags"],["impl Default for CellularNetworkRadioType"],["impl Default for HighresImuUpdatedFlags"],["impl Default for MAG_CAL_REPORT_DATA"],["impl Default for HIGHRES_IMU_DATA"],["impl Default for VideoStreamStatusFlags"],["impl Default for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Default for ESC_STATUS_DATA"],["impl Default for MavBatteryFault"],["impl Default for MavMountMode"],["impl Default for EKF_STATUS_REPORT_DATA"],["impl Default for LOG_REQUEST_LIST_DATA"],["impl Default for PidTuningAxis"],["impl Default for FenceAction"],["impl Default for GoproHeartbeatFlags"],["impl Default for SYSTEM_TIME_DATA"],["impl Default for LandingTargetType"],["impl Default for LandingTargetType"],["impl Default for ActuatorOutputFunction"],["impl Default for CAMERA_INFORMATION_DATA"],["impl Default for PARAM_EXT_REQUEST_LIST_DATA"],["impl Default for CameraMode"],["impl Default for WHEEL_DISTANCE_DATA"],["impl Default for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Default for DATA_STREAM_DATA"],["impl Default for CONTROL_SYSTEM_STATE_DATA"],["impl Default for UAVCAN_NODE_INFO_DATA"],["impl Default for SCALED_IMU3_DATA"],["impl Default for MavBatteryMode"],["impl Default for MavGoto"],["impl Default for PARAM_EXT_REQUEST_READ_DATA"],["impl Default for VIBRATION_DATA"],["impl Default for CellularNetworkRadioType"],["impl Default for CellularStatusFlag"],["impl Default for WIND_DATA"],["impl Default for MavCmdAck"],["impl Default for LOG_ENTRY_DATA"],["impl Default for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Default for OBSTACLE_DISTANCE_DATA"],["impl Default for MavRemoteLogDataBlockStatuses"],["impl Default for CellularConfigResponse"],["impl Default for GoproFrameRate"],["impl Default for PositionTargetTypemask"],["impl Default for MavOdidVerAcc"],["impl Default for CELLULAR_CONFIG_DATA"],["impl Default for AOA_SSA_DATA"],["impl Default for GimbalManagerCapFlags"],["impl Default for CellularStatusFlag"],["impl Default for UTM_GLOBAL_POSITION_DATA"],["impl Default for MavCollisionThreatLevel"],["impl Default for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Default for MavEventCurrentSequenceFlags"],["impl Default for BUTTON_CHANGE_DATA"],["impl Default for MavDistanceSensor"],["impl Default for MavCollisionAction"],["impl Default for MavState"],["impl Default for PARAM_REQUEST_READ_DATA"],["impl Default for BATTERY_STATUS_DATA"],["impl Default for IcarousFmsState"],["impl Default for DATA16_DATA"],["impl Default for AdsbAltitudeType"],["impl Default for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Default for GoproCaptureMode"],["impl Default for WifiConfigApMode"],["impl Default for DATA64_DATA"],["impl Default for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Default for FailureUnit"],["impl Default for PreflightStorageParameterAction"],["impl Default for MavRoi"],["impl Default for FirmwareVersionType"],["impl Default for LOCAL_POSITION_NED_DATA"],["impl Default for CONTROL_SYSTEM_STATE_DATA"],["impl Default for HIL_CONTROLS_DATA"],["impl Default for ESTIMATOR_STATUS_DATA"],["impl Default for SIM_STATE_DATA"],["impl Default for VIDEO_STREAM_STATUS_DATA"],["impl Default for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Default for MavMountMode"],["impl Default for MagCalStatus"],["impl Default for MavRoi"],["impl Default for DISTANCE_SENSOR_DATA"],["impl Default for GpsFixType"],["impl Default for FOLLOW_TARGET_DATA"],["impl Default for MavOdidVerAcc"],["impl Default for CameraTrackingStatusFlags"],["impl Default for NavVtolLandOptions"],["impl Default for SYSTEM_TIME_DATA"],["impl Default for REQUEST_EVENT_DATA"],["impl Default for TERRAIN_DATA_DATA"],["impl Default for GoproProtuneGain"],["impl Default for CURRENT_EVENT_SEQUENCE_DATA"],["impl Default for OSD_PARAM_CONFIG_DATA"],["impl Default for RC_CHANNELS_DATA"],["impl Default for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Default for GENERATOR_STATUS_DATA"],["impl Default for FOLLOW_TARGET_DATA"],["impl Default for GimbalAxisCalibrationRequired"],["impl Default for MavEventErrorReason"],["impl Default for CAMERA_FOV_STATUS_DATA"],["impl Default for ATTITUDE_QUATERNION_COV_DATA"],["impl Default for MISSION_REQUEST_DATA"],["impl Default for AUTH_KEY_DATA"],["impl Default for LOG_REQUEST_END_DATA"],["impl Default for TERRAIN_REPORT_DATA"],["impl Default for GPS2_RTK_DATA"],["impl Default for MavOdidIdType"],["impl Default for VISION_POSITION_ESTIMATE_DATA"],["impl Default for GimbalAxisCalibrationStatus"],["impl Default for SCALED_PRESSURE_DATA"],["impl Default for NAMED_VALUE_FLOAT_DATA"],["impl Default for CameraTrackingMode"],["impl Default for MavOdidSpeedAcc"],["impl Default for CameraMode"],["impl Default for GoproProtuneColour"],["impl Default for ISBD_LINK_STATUS_DATA"],["impl Default for EXTENDED_SYS_STATE_DATA"],["impl Default for ADAP_TUNING_DATA"],["impl Default for TERRAIN_REQUEST_DATA"],["impl Default for CAMERA_SETTINGS_DATA"],["impl Default for MavRemoteLogDataBlockCommands"],["impl Default for GimbalAxis"],["impl Default for SERIAL_CONTROL_DATA"],["impl Default for ENCAPSULATED_DATA_DATA"],["impl Default for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Default for GoproCharging"],["impl Default for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Default for RADIO_STATUS_DATA"],["impl Default for MISSION_ITEM_DATA"],["impl Default for CAMERA_FOV_STATUS_DATA"],["impl Default for MavOdidStatus"],["impl Default for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Default for MavModeFlag"],["impl Default for GPS2_RAW_DATA"],["impl Default for MavFtpErr"],["impl Default for LOCAL_POSITION_NED_DATA"],["impl Default for UtmFlightState"],["impl Default for MANUAL_SETPOINT_DATA"],["impl Default for SCALED_PRESSURE2_DATA"],["impl Default for AdsbEmitterType"],["impl Default for MISSION_ACK_DATA"],["impl Default for CAN_FRAME_DATA"],["impl Default for RAW_IMU_DATA"],["impl Default for PLAY_TUNE_V2_DATA"],["impl Default for ATTITUDE_TARGET_DATA"],["impl Default for CELLULAR_STATUS_DATA"],["impl Default for NAMED_VALUE_FLOAT_DATA"],["impl Default for MavFrame"],["impl Default for WINCH_STATUS_DATA"],["impl Default for PARAM_EXT_VALUE_DATA"],["impl Default for MISSION_SET_CURRENT_DATA"],["impl Default for HEARTBEAT_DATA"],["impl Default for MavCollisionAction"],["impl Default for MavOdidHorAcc"],["impl Default for MavArmAuthDeniedReason"],["impl Default for POSITION_TARGET_LOCAL_NED_DATA"],["impl Default for MavType"],["impl Default for ALTITUDE_DATA"],["impl Default for MISSION_COUNT_DATA"],["impl Default for SET_ATTITUDE_TARGET_DATA"],["impl Default for SYS_STATUS_DATA"],["impl Default for WATER_DEPTH_DATA"],["impl Default for MavCollisionSrc"],["impl Default for MavCmd"],["impl Default for MavSensorOrientation"],["impl Default for MavParamExtType"],["impl Default for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Default for MAG_CAL_REPORT_DATA"],["impl Default for LIMITS_STATUS_DATA"],["impl Default for TuneFormat"],["impl Default for CameraTrackingTargetData"],["impl Default for UtmFlightState"],["impl Default for SYS_STATUS_DATA"],["impl Default for UavionixAdsbOutDynamicGpsFix"],["impl Default for AIS_VESSEL_DATA"],["impl Default for MavBatteryFault"],["impl Default for TUNNEL_DATA"],["impl Default for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Default for GPS2_RAW_DATA"],["impl Default for OsdParamConfigType"],["impl Default for LimitModule"],["impl Default for DEBUG_FLOAT_ARRAY_DATA"],["impl Default for AutotuneAxis"],["impl Default for TERRAIN_DATA_DATA"],["impl Default for CURRENT_EVENT_SEQUENCE_DATA"],["impl Default for GPS_RTK_DATA"],["impl Default for SAFETY_ALLOWED_AREA_DATA"],["impl Default for CellularConfigResponse"],["impl Default for PARAM_MAP_RC_DATA"],["impl Default for CanFilterOp"],["impl Default for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Default for MavMissionType"],["impl Default for POWER_STATUS_DATA"],["impl Default for AisNavStatus"],["impl Default for AisFlags"],["impl Default for MavOdidStatus"],["impl Default for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl Default for HIL_OPTICAL_FLOW_DATA"],["impl Default for ParamAck"],["impl Default for AisFlags"],["impl Default for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Default for MavFtpOpcode"],["impl Default for SET_MAG_OFFSETS_DATA"],["impl Default for HIL_STATE_DATA"],["impl Default for EscConnectionType"],["impl Default for AisNavStatus"],["impl Default for SMART_BATTERY_INFO_DATA"],["impl Default for MavOdidDescType"],["impl Default for GPS2_RTK_DATA"],["impl Default for RADIO_STATUS_DATA"],["impl Default for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl Default for DEBUG_VECT_DATA"],["impl Default for CAMERA_INFORMATION_DATA"],["impl Default for VFR_HUD_DATA"],["impl Default for MavProtocolCapability"],["impl Default for StorageUsageFlag"],["impl Default for MavOdidHorAcc"],["impl Default for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Default for MavModeGimbal"],["impl Default for BATTERY2_DATA"],["impl Default for CanFilterOp"],["impl Default for MavPowerStatus"],["impl Default for SerialControlDev"],["impl Default for GLOBAL_POSITION_INT_DATA"],["impl Default for FLIGHT_INFORMATION_DATA"],["impl Default for CellularConfigResponse"],["impl Default for ScriptingCmd"],["impl Default for LINK_NODE_STATUS_DATA"],["impl Default for ActuatorConfiguration"],["impl Default for GPS_RTCM_DATA_DATA"],["impl Default for WINCH_STATUS_DATA"],["impl Default for FirmwareVersionType"],["impl Default for REQUEST_EVENT_DATA"],["impl Default for ActuatorOutputFunction"],["impl Default for RcType"],["impl Default for MavGoto"],["impl Default for UtmDataAvailFlags"],["impl Default for LimitsState"],["impl Default for CELLULAR_STATUS_DATA"],["impl Default for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Default for TIMESYNC_DATA"],["impl Default for COMMAND_CANCEL_DATA"],["impl Default for GPS2_RAW_DATA"],["impl Default for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Default for LOGGING_ACK_DATA"],["impl Default for SUPPORTED_TUNES_DATA"],["impl Default for GIMBAL_MANAGER_STATUS_DATA"],["impl Default for SYSTEM_TIME_DATA"],["impl Default for ESC_TELEMETRY_1_TO_4_DATA"],["impl Default for MavOdidAuthType"],["impl Default for MavParamExtType"],["impl Default for UavcanNodeHealth"],["impl Default for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Default for HEARTBEAT_DATA"],["impl Default for WinchActions"],["impl Default for LOGGING_DATA_ACKED_DATA"],["impl Default for LOG_REQUEST_LIST_DATA"],["impl Default for MavOdidArmStatus"],["impl Default for SerialControlFlag"],["impl Default for MavOdidClassificationType"],["impl Default for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Default for ActuatorConfiguration"],["impl Default for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Default for COLLISION_DATA"],["impl Default for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Default for HlFailureFlag"],["impl Default for GimbalDeviceFlags"],["impl Default for ATT_POS_MOCAP_DATA"],["impl Default for CAN_FRAME_DATA"],["impl Default for MavOdidIdType"],["impl Default for LINK_NODE_STATUS_DATA"],["impl Default for MavRoi"],["impl Default for UtmDataAvailFlags"],["impl Default for MavEstimatorType"],["impl Default for VideoStreamStatusFlags"],["impl Default for MavSensorOrientation"],["impl Default for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Default for CELLULAR_CONFIG_DATA"],["impl Default for LOG_REQUEST_END_DATA"],["impl Default for AUTH_KEY_DATA"],["impl Default for GripperActions"],["impl Default for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Default for SetFocusType"],["impl Default for EscConnectionType"],["impl Default for COMMAND_INT_DATA"],["impl Default for DEBUG_DATA"],["impl Default for GoproProtuneWhiteBalance"],["impl Default for UTM_GLOBAL_POSITION_DATA"],["impl Default for NAMED_VALUE_FLOAT_DATA"],["impl Default for MavArmAuthDeniedReason"],["impl Default for SCALED_PRESSURE2_DATA"],["impl Default for SCALED_PRESSURE3_DATA"],["impl Default for GoproResolution"],["impl Default for AUTOPILOT_VERSION_DATA"],["impl Default for FENCE_STATUS_DATA"],["impl Default for MavModeFlag"],["impl Default for MISSION_CLEAR_ALL_DATA"],["impl Default for TuneFormat"],["impl Default for UavcanNodeHealth"],["impl Default for GimbalDeviceErrorFlags"],["impl Default for MISSION_ITEM_INT_DATA"],["impl Default for MavPowerStatus"],["impl Default for CAMERA_IMAGE_CAPTURED_DATA"],["impl Default for MavParamExtType"],["impl Default for SerialControlDev"],["impl Default for UavionixAdsbOutDynamicGpsFix"],["impl Default for MavAutopilot"],["impl Default for GoproHeartbeatStatus"],["impl Default for VISION_POSITION_ESTIMATE_DATA"],["impl Default for MavOdidOperatorIdType"],["impl Default for PreflightStorageMissionAction"],["impl Default for MavFtpOpcode"],["impl Default for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Default for MavOdidDescType"],["impl Default for MotorTestOrder"],["impl Default for GIMBAL_REPORT_DATA"],["impl Default for SET_MODE_DATA"],["impl Default for MISSION_COUNT_DATA"],["impl Default for SCALED_PRESSURE2_DATA"],["impl Default for STATUSTEXT_DATA"],["impl Default for LOG_REQUEST_DATA_DATA"],["impl Default for MavLandedState"],["impl Default for CHANGE_OPERATOR_CONTROL_DATA"],["impl Default for CAMERA_CAPTURE_STATUS_DATA"],["impl Default for GoproBurstRate"],["impl Default for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Default for PrecisionLandMode"],["impl Default for POSITION_TARGET_LOCAL_NED_DATA"],["impl Default for PARAM_MAP_RC_DATA"],["impl Default for TIMESYNC_DATA"],["impl Default for UTM_GLOBAL_POSITION_DATA"],["impl Default for MavOdidStatus"],["impl Default for MavOdidOperatorLocationType"],["impl Default for VICON_POSITION_ESTIMATE_DATA"],["impl Default for PARAM_EXT_SET_DATA"],["impl Default for MavModeFlagDecodePosition"],["impl Default for ATTITUDE_QUATERNION_COV_DATA"],["impl Default for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Default for MavComponent"],["impl Default for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Default for MavlinkDataStreamType"],["impl Default for BATTERY_STATUS_DATA"],["impl Default for MOUNT_ORIENTATION_DATA"],["impl Default for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Default for LOG_REQUEST_LIST_DATA"],["impl Default for GPS_RAW_INT_DATA"],["impl Default for SERIAL_CONTROL_DATA"],["impl Default for PARAM_VALUE_DATA"],["impl Default for RAW_IMU_DATA"],["impl Default for MEMORY_VECT_DATA"],["impl Default for EkfStatusFlags"],["impl Default for ATTITUDE_DATA"],["impl Default for ACTUATOR_CONTROL_TARGET_DATA"],["impl Default for HIGH_LATENCY2_DATA"],["impl Default for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Default for ENCAPSULATED_DATA_DATA"],["impl Default for GimbalManagerCapFlags"],["impl Default for ParamAck"],["impl Default for ESC_STATUS_DATA"],["impl Default for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Default for HIL_CONTROLS_DATA"],["impl Default for VIDEO_STREAM_STATUS_DATA"],["impl Default for CAN_FILTER_MODIFY_DATA"],["impl Default for MavCmd"],["impl Default for MavOdidOperatorIdType"],["impl Default for PARAM_SET_DATA"],["impl Default for HIGH_LATENCY2_DATA"],["impl Default for OBSTACLE_DISTANCE_DATA"],["impl Default for MANUAL_CONTROL_DATA"],["impl Default for StorageType"],["impl Default for HilSensorUpdatedFlags"],["impl Default for PLAY_TUNE_V2_DATA"],["impl Default for HERELINK_TELEM_DATA"],["impl Default for MavOdidClassEu"],["impl Default for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Default for COMMAND_LONG_DATA"],["impl Default for MissionState"],["impl Default for RC_CHANNELS_OVERRIDE_DATA"],["impl Default for MISSION_CURRENT_DATA"],["impl Default for AdsbFlags"],["impl Default for UavionixAdsbRfHealth"],["impl Default for VideoStreamType"],["impl Default for AIRSPEED_AUTOCAL_DATA"],["impl Default for MavGeneratorStatusFlag"],["impl Default for CameraZoomType"],["impl Default for MavSysStatusSensorExtended"],["impl Default for DEBUG_VECT_DATA"],["impl Default for GIMBAL_MANAGER_STATUS_DATA"],["impl Default for MavOdidAuthType"],["impl Default for PLAY_TUNE_DATA"],["impl Default for V2_EXTENSION_DATA"],["impl Default for AHRS3_DATA"],["impl Default for MavGoto"],["impl Default for HIL_GPS_DATA"],["impl Default for CameraZoomType"],["impl Default for SET_ATTITUDE_TARGET_DATA"],["impl Default for PARAM_SET_DATA"],["impl Default for CameraTrackingTargetData"],["impl Default for GLOBAL_POSITION_INT_COV_DATA"],["impl Default for REQUEST_DATA_STREAM_DATA"],["impl Default for SCALED_IMU3_DATA"],["impl Default for HIL_RC_INPUTS_RAW_DATA"],["impl Default for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl Default for OsdParamConfigError"],["impl Default for ADSB_VEHICLE_DATA"],["impl Default for LOGGING_DATA_DATA"],["impl Default for MavResult"],["impl Default for HIGH_LATENCY_DATA"],["impl Default for CameraFeedbackFlags"],["impl Default for UavcanNodeMode"],["impl Default for FailureUnit"],["impl Default for MavOdidSpeedAcc"],["impl Default for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Default for MavFtpErr"],["impl Default for WifiConfigApResponse"],["impl Default for MavDataStream"],["impl Default for NavVtolLandOptions"],["impl Default for COMPONENT_INFORMATION_DATA"],["impl Default for WifiConfigApResponse"],["impl Default for SetFocusType"],["impl Default for VISION_POSITION_ESTIMATE_DATA"],["impl Default for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Default for SCALED_IMU_DATA"],["impl Default for MavOdidClassEu"],["impl Default for MavBatteryType"],["impl Default for CAMERA_SETTINGS_DATA"],["impl Default for MavlinkDataStreamType"],["impl Default for MavSysStatusSensorExtended"],["impl Default for MavType"],["impl Default for MESSAGE_INTERVAL_DATA"],["impl Default for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Default for PROTOCOL_VERSION_DATA"],["impl Default for VtolTransitionHeading"],["impl Default for EVENT_DATA"],["impl Default for UavionixAdsbOutCfgAircraftSize"],["impl Default for VtolTransitionHeading"],["impl Default for CANFD_FRAME_DATA"],["impl Default for HIL_SENSOR_DATA"],["impl Default for PlaneMode"],["impl Default for MavEventErrorReason"],["impl Default for V2_EXTENSION_DATA"],["impl Default for CellularNetworkFailedReason"],["impl Default for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Default for LandingTargetType"],["impl Default for PLAY_TUNE_DATA"],["impl Default for GripperActions"],["impl Default for AdsbFlags"],["impl Default for EscConnectionType"],["impl Default for COMMAND_CANCEL_DATA"],["impl Default for TERRAIN_CHECK_DATA"],["impl Default for GLOBAL_POSITION_INT_COV_DATA"],["impl Default for ParachuteAction"],["impl Default for MISSION_SET_CURRENT_DATA"],["impl Default for CellularNetworkRadioType"],["impl Default for RtkBaselineCoordinateSystem"],["impl Default for MavMissionResult"],["impl Default for GPS2_RTK_DATA"],["impl Default for TUNNEL_DATA"],["impl Default for CAMERA_IMAGE_CAPTURED_DATA"],["impl Default for GOPRO_SET_REQUEST_DATA"],["impl Default for DEBUG_VECT_DATA"],["impl Default for FailureType"],["impl Default for MISSION_REQUEST_INT_DATA"],["impl Default for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Default for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Default for REQUEST_DATA_STREAM_DATA"],["impl Default for MavDoRepositionFlags"],["impl Default for MISSION_REQUEST_LIST_DATA"],["impl Default for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Default for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Default for GoproVideoSettingsFlags"],["impl Default for UavionixAdsbRfHealth"],["impl Default for MavProtocolCapability"]], +"mavlink":[["impl Default for LOG_REQUEST_DATA_DATA"],["impl Default for MESSAGE_INTERVAL_DATA"],["impl Default for V2_EXTENSION_DATA"],["impl Default for MavOdidHeightRef"],["impl Default for LOG_REQUEST_END_DATA"],["impl Default for MISSION_COUNT_DATA"],["impl Default for LOG_ENTRY_DATA"],["impl Default for ICAROUS_HEARTBEAT_DATA"],["impl Default for CompMetadataType"],["impl Default for OSD_PARAM_CONFIG_REPLY_DATA"],["impl Default for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Default for SCALED_IMU3_DATA"],["impl Default for CanFilterOp"],["impl Default for CAMERA_STATUS_DATA"],["impl Default for PARAM_REQUEST_READ_DATA"],["impl Default for GoproProtuneWhiteBalance"],["impl Default for CellularConfigResponse"],["impl Default for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Default for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Default for RAW_IMU_DATA"],["impl Default for LOGGING_ACK_DATA"],["impl Default for StorageStatus"],["impl Default for RESPONSE_EVENT_ERROR_DATA"],["impl Default for COLLISION_DATA"],["impl Default for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Default for LOGGING_DATA_ACKED_DATA"],["impl Default for EscFailureFlags"],["impl Default for MISSION_ITEM_REACHED_DATA"],["impl Default for FLIGHT_INFORMATION_DATA"],["impl Default for WifiConfigApResponse"],["impl Default for DIGICAM_CONFIGURE_DATA"],["impl Default for UAVCAN_NODE_INFO_DATA"],["impl Default for MavArmAuthDeniedReason"],["impl Default for GPS_RTCM_DATA_DATA"],["impl Default for COLLISION_DATA"],["impl Default for VISION_SPEED_ESTIMATE_DATA"],["impl Default for CONTROL_SYSTEM_STATE_DATA"],["impl Default for EscFailureFlags"],["impl Default for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Default for REQUEST_DATA_STREAM_DATA"],["impl Default for MavModeFlagDecodePosition"],["impl Default for LOCAL_POSITION_NED_COV_DATA"],["impl Default for MISSION_SET_CURRENT_DATA"],["impl Default for ESC_INFO_DATA"],["impl Default for MavOdidAuthType"],["impl Default for GLOBAL_POSITION_INT_COV_DATA"],["impl Default for SerialControlDev"],["impl Default for GimbalDeviceCapFlags"],["impl Default for MavMissionResult"],["impl Default for WIFI_CONFIG_AP_DATA"],["impl Default for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Default for FirmwareVersionType"],["impl Default for HIGHRES_IMU_DATA"],["impl Default for MavProtocolCapability"],["impl Default for MavOdidClassificationType"],["impl Default for MavCmd"],["impl Default for MavParamType"],["impl Default for MavOdidClassEu"],["impl Default for TERRAIN_REPORT_DATA"],["impl Default for GimbalAxisCalibrationRequired"],["impl Default for ActuatorOutputFunction"],["impl Default for TUNNEL_DATA"],["impl Default for OBSTACLE_DISTANCE_DATA"],["impl Default for GPS2_RAW_DATA"],["impl Default for MavMissionType"],["impl Default for VIDEO_STREAM_STATUS_DATA"],["impl Default for AdsbFlags"],["impl Default for PrecisionLandMode"],["impl Default for StorageUsageFlag"],["impl Default for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Default for COMMAND_LONG_DATA"],["impl Default for AHRS2_DATA"],["impl Default for DEBUG_DATA"],["impl Default for FENCE_POINT_DATA"],["impl Default for RPM_DATA"],["impl Default for SAFETY_ALLOWED_AREA_DATA"],["impl Default for STORAGE_INFORMATION_DATA"],["impl Default for GIMBAL_MANAGER_STATUS_DATA"],["impl Default for MavAutopilot"],["impl Default for OPTICAL_FLOW_DATA"],["impl Default for PLAY_TUNE_DATA"],["impl Default for FailureType"],["impl Default for MANUAL_SETPOINT_DATA"],["impl Default for STATUSTEXT_DATA"],["impl Default for FILE_TRANSFER_PROTOCOL_DATA"],["impl Default for MavCollisionThreatLevel"],["impl Default for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Default for SYSTEM_TIME_DATA"],["impl Default for LOG_REQUEST_END_DATA"],["impl Default for TIMESYNC_DATA"],["impl Default for GpsFixType"],["impl Default for OPTICAL_FLOW_RAD_DATA"],["impl Default for HlFailureFlag"],["impl Default for GPS2_RAW_DATA"],["impl Default for MavRemoteLogDataBlockCommands"],["impl Default for CAMERA_CAPTURE_STATUS_DATA"],["impl Default for GPS_INPUT_DATA"],["impl Default for CameraZoomType"],["impl Default for SETUP_SIGNING_DATA"],["impl Default for WHEEL_DISTANCE_DATA"],["impl Default for SIMSTATE_DATA"],["impl Default for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Default for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Default for MISSION_ACK_DATA"],["impl Default for EscFailureFlags"],["impl Default for REQUEST_EVENT_DATA"],["impl Default for CameraZoomType"],["impl Default for PARAM_MAP_RC_DATA"],["impl Default for UavionixAdsbOutRfSelect"],["impl Default for MavMissionResult"],["impl Default for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Default for MISSION_SET_CURRENT_DATA"],["impl Default for CompMetadataType"],["impl Default for RAW_PRESSURE_DATA"],["impl Default for LOG_REQUEST_DATA_DATA"],["impl Default for VICON_POSITION_ESTIMATE_DATA"],["impl Default for MavCmd"],["impl Default for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Default for MavOdidHorAcc"],["impl Default for ODOMETRY_DATA"],["impl Default for MavDoRepositionFlags"],["impl Default for GoproProtuneColour"],["impl Default for MavResult"],["impl Default for StorageType"],["impl Default for CELLULAR_STATUS_DATA"],["impl Default for FLIGHT_INFORMATION_DATA"],["impl Default for GimbalManagerFlags"],["impl Default for PreflightStorageMissionAction"],["impl Default for SubMode"],["impl Default for AUTH_KEY_DATA"],["impl Default for MavModeFlag"],["impl Default for UtmFlightState"],["impl Default for RtkBaselineCoordinateSystem"],["impl Default for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Default for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Default for MavOdidClassEu"],["impl Default for HIL_GPS_DATA"],["impl Default for MavBatteryFault"],["impl Default for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Default for CANFD_FRAME_DATA"],["impl Default for ATTITUDE_QUATERNION_COV_DATA"],["impl Default for PARAM_EXT_REQUEST_LIST_DATA"],["impl Default for HIGH_LATENCY_DATA"],["impl Default for CAMERA_IMAGE_CAPTURED_DATA"],["impl Default for CameraFeedbackFlags"],["impl Default for PARAM_SET_DATA"],["impl Default for VISION_POSITION_ESTIMATE_DATA"],["impl Default for MavEstimatorType"],["impl Default for AdsbFlags"],["impl Default for GENERATOR_STATUS_DATA"],["impl Default for WifiConfigApMode"],["impl Default for TERRAIN_REPORT_DATA"],["impl Default for MotorTestOrder"],["impl Default for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Default for GLOBAL_POSITION_INT_COV_DATA"],["impl Default for DEBUG_DATA"],["impl Default for TERRAIN_DATA_DATA"],["impl Default for PARAM_EXT_VALUE_DATA"],["impl Default for ORBIT_EXECUTION_STATUS_DATA"],["impl Default for SMART_BATTERY_INFO_DATA"],["impl Default for V2_EXTENSION_DATA"],["impl Default for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Default for PLAY_TUNE_V2_DATA"],["impl Default for SET_MODE_DATA"],["impl Default for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Default for MavState"],["impl Default for MavDistanceSensor"],["impl Default for SetFocusType"],["impl Default for PositionTargetTypemask"],["impl Default for MANUAL_CONTROL_DATA"],["impl Default for GimbalManagerFlags"],["impl Default for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Default for RAW_IMU_DATA"],["impl Default for ATTITUDE_QUATERNION_DATA"],["impl Default for MavEstimatorType"],["impl Default for CompMetadataType"],["impl Default for MOUNT_ORIENTATION_DATA"],["impl Default for PLAY_TUNE_DATA"],["impl Default for PreflightStorageParameterAction"],["impl Default for ESC_STATUS_DATA"],["impl Default for MavBatteryMode"],["impl Default for SMART_BATTERY_INFO_DATA"],["impl Default for GIMBAL_MANAGER_STATUS_DATA"],["impl Default for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Default for HIL_CONTROLS_DATA"],["impl Default for SCALED_PRESSURE_DATA"],["impl Default for SYSTEM_TIME_DATA"],["impl Default for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Default for MavAutopilot"],["impl Default for MavOdidArmStatus"],["impl Default for StorageType"],["impl Default for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Default for ACTUATOR_CONTROL_TARGET_DATA"],["impl Default for ATT_POS_MOCAP_DATA"],["impl Default for GPS_STATUS_DATA"],["impl Default for MavProtocolCapability"],["impl Default for OPEN_DRONE_ID_LOCATION_DATA"],["impl Default for HWSTATUS_DATA"],["impl Default for SCALED_IMU2_DATA"],["impl Default for HIGH_LATENCY2_DATA"],["impl Default for PROTOCOL_VERSION_DATA"],["impl Default for AdsbFlags"],["impl Default for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Default for PARAM_EXT_ACK_DATA"],["impl Default for FailureUnit"],["impl Default for MavArmAuthDeniedReason"],["impl Default for PARAM_REQUEST_LIST_DATA"],["impl Default for FenceMitigate"],["impl Default for FOLLOW_TARGET_DATA"],["impl Default for NAMED_VALUE_FLOAT_DATA"],["impl Default for FirmwareVersionType"],["impl Default for VIBRATION_DATA"],["impl Default for BATTERY_STATUS_DATA"],["impl Default for MOUNT_ORIENTATION_DATA"],["impl Default for ATTITUDE_QUATERNION_COV_DATA"],["impl Default for MAVLinkV1MessageRaw"],["impl Default for TUNNEL_DATA"],["impl Default for RC_CHANNELS_RAW_DATA"],["impl Default for SerialControlFlag"],["impl Default for AisFlags"],["impl Default for LOG_REQUEST_LIST_DATA"],["impl Default for AP_ADC_DATA"],["impl Default for MESSAGE_INTERVAL_DATA"],["impl Default for GoproBurstRate"],["impl Default for RADIO_STATUS_DATA"],["impl Default for MotorTestOrder"],["impl Default for TERRAIN_REQUEST_DATA"],["impl Default for MavFtpErr"],["impl Default for MavSensorOrientation"],["impl Default for CellularStatusFlag"],["impl Default for PARAM_EXT_REQUEST_READ_DATA"],["impl Default for LOG_DATA_DATA"],["impl Default for ParamAck"],["impl Default for UavionixAdsbOutCfgGpsOffsetLat"],["impl Default for CHANGE_OPERATOR_CONTROL_DATA"],["impl Default for HIGH_LATENCY_DATA"],["impl Default for MotorTestThrottleType"],["impl Default for SCALED_PRESSURE3_DATA"],["impl Default for FirmwareVersionType"],["impl Default for FenceAction"],["impl Default for MavParamExtType"],["impl Default for NAMED_VALUE_FLOAT_DATA"],["impl Default for GoproFrameRate"],["impl Default for MavBatteryMode"],["impl Default for COMMAND_CANCEL_DATA"],["impl Default for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Default for UTM_GLOBAL_POSITION_DATA"],["impl Default for OBSTACLE_DISTANCE_DATA"],["impl Default for ATTITUDE_DATA"],["impl Default for SET_ATTITUDE_TARGET_DATA"],["impl Default for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Default for GPS_RTK_DATA"],["impl Default for HIL_SENSOR_DATA"],["impl Default for GoproCommand"],["impl Default for AUTH_KEY_DATA"],["impl Default for MavCollisionAction"],["impl Default for DEVICE_OP_WRITE_DATA"],["impl Default for MavModeGimbal"],["impl Default for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Default for HIL_SENSOR_DATA"],["impl Default for MavParamExtType"],["impl Default for COMMAND_ACK_DATA"],["impl Default for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Default for DATA32_DATA"],["impl Default for ALTITUDE_DATA"],["impl Default for REQUEST_EVENT_DATA"],["impl Default for AisType"],["impl Default for MavFtpOpcode"],["impl Default for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Default for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Default for LOCAL_POSITION_NED_COV_DATA"],["impl Default for MavOdidCategoryEu"],["impl Default for PARAM_EXT_VALUE_DATA"],["impl Default for ESC_STATUS_DATA"],["impl Default for MavLandedState"],["impl Default for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Default for CUBEPILOT_RAW_RC_DATA"],["impl Default for MavParamType"],["impl Default for MavOdidOperatorLocationType"],["impl Default for ENCAPSULATED_DATA_DATA"],["impl Default for CameraTrackingTargetData"],["impl Default for GimbalDeviceFlags"],["impl Default for GoproProtuneSharpness"],["impl Default for MavFrame"],["impl Default for STATUSTEXT_DATA"],["impl Default for VideoStreamStatusFlags"],["impl Default for MavOdidHeightRef"],["impl Default for SetFocusType"],["impl Default for GPS2_RTK_DATA"],["impl Default for MEMORY_VECT_DATA"],["impl Default for WIND_COV_DATA"],["impl Default for AdsbEmitterType"],["impl Default for SYS_STATUS_DATA"],["impl Default for RcType"],["impl Default for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Default for LOG_REQUEST_LIST_DATA"],["impl Default for VIBRATION_DATA"],["impl Default for MavDataStream"],["impl Default for RADIO_DATA"],["impl Default for EKF_STATUS_REPORT_DATA"],["impl Default for MAG_CAL_REPORT_DATA"],["impl Default for LOG_DATA_DATA"],["impl Default for GripperActions"],["impl Default for COMPASSMOT_STATUS_DATA"],["impl Default for RtkBaselineCoordinateSystem"],["impl Default for LOGGING_ACK_DATA"],["impl Default for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl Default for MotorTestThrottleType"],["impl Default for StorageStatus"],["impl Default for AisFlags"],["impl Default for CAMERA_FOV_STATUS_DATA"],["impl Default for LOG_ERASE_DATA"],["impl Default for CHANGE_OPERATOR_CONTROL_DATA"],["impl Default for MavDoRepositionFlags"],["impl Default for HIL_ACTUATOR_CONTROLS_DATA"],["impl Default for MavRoi"],["impl Default for MavBatteryType"],["impl Default for DATA96_DATA"],["impl Default for HIGHRES_IMU_DATA"],["impl Default for EscConnectionType"],["impl Default for MavlinkDataStreamType"],["impl Default for MagCalStatus"],["impl Default for OrbitYawBehaviour"],["impl Default for DIGICAM_CONTROL_DATA"],["impl Default for RESPONSE_EVENT_ERROR_DATA"],["impl Default for AUTOPILOT_VERSION_REQUEST_DATA"],["impl Default for DISTANCE_SENSOR_DATA"],["impl Default for MavType"],["impl Default for RESOURCE_REQUEST_DATA"],["impl Default for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Default for GENERATOR_STATUS_DATA"],["impl Default for UavionixAdsbEmergencyStatus"],["impl Default for AisNavStatus"],["impl Default for UavcanNodeMode"],["impl Default for GOPRO_GET_RESPONSE_DATA"],["impl Default for PROTOCOL_VERSION_DATA"],["impl Default for CAN_FILTER_MODIFY_DATA"],["impl Default for SCALED_PRESSURE3_DATA"],["impl Default for MANUAL_CONTROL_DATA"],["impl Default for ESC_INFO_DATA"],["impl Default for MavLandedState"],["impl Default for MavDoRepositionFlags"],["impl Default for OPTICAL_FLOW_DATA"],["impl Default for MISSION_REQUEST_DATA"],["impl Default for MavBatteryMode"],["impl Default for COMPONENT_METADATA_DATA"],["impl Default for SCALED_PRESSURE_DATA"],["impl Default for LOG_REQUEST_END_DATA"],["impl Default for ALTITUDE_DATA"],["impl Default for UavionixAdsbRfHealth"],["impl Default for TIMESYNC_DATA"],["impl Default for WifiConfigApResponse"],["impl Default for FenceBreach"],["impl Default for HilSensorUpdatedFlags"],["impl Default for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Default for OPEN_DRONE_ID_LOCATION_DATA"],["impl Default for UavionixAdsbOutDynamicGpsFix"],["impl Default for GOPRO_SET_REQUEST_DATA"],["impl Default for MavOdidTimeAcc"],["impl Default for GPS_RAW_INT_DATA"],["impl Default for FenceAction"],["impl Default for MISSION_ITEM_INT_DATA"],["impl Default for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Default for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Default for UTM_GLOBAL_POSITION_DATA"],["impl Default for StorageType"],["impl Default for ATTITUDE_DATA"],["impl Default for PARAM_EXT_ACK_DATA"],["impl Default for SCALED_PRESSURE_DATA"],["impl Default for MavEventErrorReason"],["impl Default for MavOdidHorAcc"],["impl Default for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Default for DEBUG_FLOAT_ARRAY_DATA"],["impl Default for MavOdidUaType"],["impl Default for VICON_POSITION_ESTIMATE_DATA"],["impl Default for AisType"],["impl Default for HIL_CONTROLS_DATA"],["impl Default for COMMAND_INT_DATA"],["impl Default for TERRAIN_CHECK_DATA"],["impl Default for SAFETY_ALLOWED_AREA_DATA"],["impl Default for CAMERA_INFORMATION_DATA"],["impl Default for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Default for IcarousTrackBandTypes"],["impl Default for AisNavStatus"],["impl Default for AdsbAltitudeType"],["impl Default for DATA64_DATA"],["impl Default for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Default for CameraCapFlags"],["impl Default for UavionixAdsbOutDynamicGpsFix"],["impl Default for MISSION_REQUEST_INT_DATA"],["impl Default for SAFETY_ALLOWED_AREA_DATA"],["impl Default for GpsInputIgnoreFlags"],["impl Default for GPS_GLOBAL_ORIGIN_DATA"],["impl Default for ATT_POS_MOCAP_DATA"],["impl Default for PARAM_EXT_SET_DATA"],["impl Default for VISION_SPEED_ESTIMATE_DATA"],["impl Default for LINK_NODE_STATUS_DATA"],["impl Default for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Default for WINCH_STATUS_DATA"],["impl Default for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Default for CONTROL_SYSTEM_STATE_DATA"],["impl Default for REMOTE_LOG_DATA_BLOCK_DATA"],["impl Default for UtmDataAvailFlags"],["impl Default for CAMERA_IMAGE_CAPTURED_DATA"],["impl Default for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Default for WINCH_STATUS_DATA"],["impl Default for MavType"],["impl Default for VISION_SPEED_ESTIMATE_DATA"],["impl Default for WHEEL_DISTANCE_DATA"],["impl Default for BUTTON_CHANGE_DATA"],["impl Default for ATTITUDE_TARGET_DATA"],["impl Default for MISSION_CURRENT_DATA"],["impl Default for DEBUG_FLOAT_ARRAY_DATA"],["impl Default for ODOMETRY_DATA"],["impl Default for AutotuneAxis"],["impl Default for MavModeFlagDecodePosition"],["impl Default for SerialControlDev"],["impl Default for MavOdidClassificationType"],["impl Default for GimbalManagerFlags"],["impl Default for MavFrame"],["impl Default for EstimatorStatusFlags"],["impl Default for MavCollisionAction"],["impl Default for GPS_INJECT_DATA_DATA"],["impl Default for ADSB_VEHICLE_DATA"],["impl Default for WINCH_STATUS_DATA"],["impl Default for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Default for MavMode"],["impl Default for CAMERA_SETTINGS_DATA"],["impl Default for GoproVideoSettingsFlags"],["impl Default for FENCE_STATUS_DATA"],["impl Default for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Default for MavCmdDoAuxFunctionSwitchLevel"],["impl Default for GPS_STATUS_DATA"],["impl Default for EFI_STATUS_DATA"],["impl Default for OPTICAL_FLOW_DATA"],["impl Default for GOPRO_SET_RESPONSE_DATA"],["impl Default for CAMERA_FOV_STATUS_DATA"],["impl Default for SET_HOME_POSITION_DATA"],["impl Default for MavCollisionThreatLevel"],["impl Default for LOCAL_POSITION_NED_DATA"],["impl Default for FenceBreach"],["impl Default for HIL_STATE_QUATERNION_DATA"],["impl Default for NAMED_VALUE_FLOAT_DATA"],["impl Default for MavOdidIdType"],["impl Default for MissionState"],["impl Default for MavOdidArmStatus"],["impl Default for MavEventErrorReason"],["impl Default for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Default for MavRoi"],["impl Default for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Default for RESOURCE_REQUEST_DATA"],["impl Default for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Default for MISSION_REQUEST_LIST_DATA"],["impl Default for MavOdidOperatorIdType"],["impl Default for MISSION_CLEAR_ALL_DATA"],["impl Default for UTM_GLOBAL_POSITION_DATA"],["impl Default for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Default for UavcanNodeMode"],["impl Default for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Default for STORAGE_INFORMATION_DATA"],["impl Default for SIM_STATE_DATA"],["impl Default for MavBatteryType"],["impl Default for ISBD_LINK_STATUS_DATA"],["impl Default for DeepstallStage"],["impl Default for GoproProtuneGain"],["impl Default for OSD_PARAM_CONFIG_DATA"],["impl Default for SERVO_OUTPUT_RAW_DATA"],["impl Default for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Default for MavCollisionSrc"],["impl Default for SENSOR_OFFSETS_DATA"],["impl Default for HIGH_LATENCY2_DATA"],["impl Default for MavRoi"],["impl Default for RESOURCE_REQUEST_DATA"],["impl Default for MavWinchStatusFlag"],["impl Default for MavProtocolCapability"],["impl Default for HEARTBEAT_DATA"],["impl Default for PARAM_VALUE_DATA"],["impl Default for CameraTrackingMode"],["impl Default for RALLY_POINT_DATA"],["impl Default for HIL_STATE_QUATERNION_DATA"],["impl Default for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl Default for GENERATOR_STATUS_DATA"],["impl Default for POSITION_TARGET_LOCAL_NED_DATA"],["impl Default for MavFtpErr"],["impl Default for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Default for MavCollisionAction"],["impl Default for MavOdidDescType"],["impl Default for REQUEST_EVENT_DATA"],["impl Default for PARAM_EXT_REQUEST_READ_DATA"],["impl Default for MagCalStatus"],["impl Default for VISION_POSITION_ESTIMATE_DATA"],["impl Default for CAMERA_SETTINGS_DATA"],["impl Default for CHANGE_OPERATOR_CONTROL_DATA"],["impl Default for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Default for OSD_PARAM_SHOW_CONFIG_DATA"],["impl Default for PLAY_TUNE_DATA"],["impl Default for MavBatteryType"],["impl Default for DEEPSTALL_DATA"],["impl Default for MavCmd"],["impl Default for DEBUG_DATA"],["impl Default for SERVO_OUTPUT_RAW_DATA"],["impl Default for ALTITUDE_DATA"],["impl Default for SET_HOME_POSITION_DATA"],["impl Default for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Default for RC_CHANNELS_OVERRIDE_DATA"],["impl Default for PARAM_SET_DATA"],["impl Default for AOA_SSA_DATA"],["impl Default for CAMERA_FOV_STATUS_DATA"],["impl Default for MavMode"],["impl Default for VtolTransitionHeading"],["impl Default for WIFI_CONFIG_AP_DATA"],["impl Default for GLOBAL_POSITION_INT_COV_DATA"],["impl Default for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Default for HOME_POSITION_DATA"],["impl Default for AIS_VESSEL_DATA"],["impl Default for RESPONSE_EVENT_ERROR_DATA"],["impl Default for CELLULAR_CONFIG_DATA"],["impl Default for EXTENDED_SYS_STATE_DATA"],["impl Default for PLAY_TUNE_V2_DATA"],["impl Default for MISSION_ITEM_DATA"],["impl Default for CAMERA_INFORMATION_DATA"],["impl Default for HIL_ACTUATOR_CONTROLS_DATA"],["impl Default for ESC_TELEMETRY_1_TO_4_DATA"],["impl Default for GimbalManagerCapFlags"],["impl Default for MOUNT_CONFIGURE_DATA"],["impl Default for ESTIMATOR_STATUS_DATA"],["impl Default for SUPPORTED_TUNES_DATA"],["impl Default for RC_CHANNELS_DATA"],["impl Default for HIL_GPS_DATA"],["impl Default for CAMERA_IMAGE_CAPTURED_DATA"],["impl Default for MavMountMode"],["impl Default for POWER_STATUS_DATA"],["impl Default for CameraTrackingStatusFlags"],["impl Default for MISSION_CLEAR_ALL_DATA"],["impl Default for BUTTON_CHANGE_DATA"],["impl Default for MISSION_ITEM_REACHED_DATA"],["impl Default for MavOdidIdType"],["impl Default for MavRemoteLogDataBlockStatuses"],["impl Default for LimitModule"],["impl Default for MavOdidCategoryEu"],["impl Default for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Default for EXTENDED_SYS_STATE_DATA"],["impl Default for BATTERY2_DATA"],["impl Default for MavTunnelPayloadType"],["impl Default for GoproCharging"],["impl Default for LANDING_TARGET_DATA"],["impl Default for MavPowerStatus"],["impl Default for MCU_STATUS_DATA"],["impl Default for UtmDataAvailFlags"],["impl Default for LOGGING_DATA_ACKED_DATA"],["impl Default for MAVLinkV2MessageRaw"],["impl Default for LED_CONTROL_DATA"],["impl Default for SYSTEM_TIME_DATA"],["impl Default for GPS2_RTK_DATA"],["impl Default for HOME_POSITION_DATA"],["impl Default for COMMAND_LONG_DATA"],["impl Default for EFI_STATUS_DATA"],["impl Default for DEBUG_VECT_DATA"],["impl Default for VideoStreamStatusFlags"],["impl Default for GimbalDeviceCapFlags"],["impl Default for MISSION_COUNT_DATA"],["impl Default for MavVtolState"],["impl Default for MESSAGE_INTERVAL_DATA"],["impl Default for ORBIT_EXECUTION_STATUS_DATA"],["impl Default for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Default for MISSION_ITEM_INT_DATA"],["impl Default for ESTIMATOR_STATUS_DATA"],["impl Default for LOGGING_DATA_DATA"],["impl Default for OPTICAL_FLOW_RAD_DATA"],["impl Default for HlFailureFlag"],["impl Default for FENCE_STATUS_DATA"],["impl Default for PID_TUNING_DATA"],["impl Default for POSITION_TARGET_LOCAL_NED_DATA"],["impl Default for MISSION_CURRENT_DATA"],["impl Default for CURRENT_EVENT_SEQUENCE_DATA"],["impl Default for GPS_RTK_DATA"],["impl Default for StorageStatus"],["impl Default for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Default for PositionTargetTypemask"],["impl Default for GPS2_RAW_DATA"],["impl Default for MavOdidDescType"],["impl Default for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Default for MavGoto"],["impl Default for SERIAL_CONTROL_DATA"],["impl Default for LOG_ERASE_DATA"],["impl Default for CellularNetworkRadioType"],["impl Default for OsdParamConfigType"],["impl Default for CellularConfigResponse"],["impl Default for CameraTrackingTargetData"],["impl Default for ATTITUDE_QUATERNION_DATA"],["impl Default for RcType"],["impl Default for CONTROL_SYSTEM_STATE_DATA"],["impl Default for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Default for UavcanNodeHealth"],["impl Default for CAN_FRAME_DATA"],["impl Default for PARAM_EXT_REQUEST_LIST_DATA"],["impl Default for CellularNetworkFailedReason"],["impl Default for EVENT_DATA"],["impl Default for WinchActions"],["impl Default for MISSION_SET_CURRENT_DATA"],["impl Default for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Default for TERRAIN_CHECK_DATA"],["impl Default for POWER_STATUS_DATA"],["impl Default for MAG_CAL_REPORT_DATA"],["impl Default for ESTIMATOR_STATUS_DATA"],["impl Default for SpeedType"],["impl Default for MavOdidOperatorIdType"],["impl Default for GIMBAL_REPORT_DATA"],["impl Default for SERIAL_CONTROL_DATA"],["impl Default for TUNNEL_DATA"],["impl Default for AUTOPILOT_VERSION_DATA"],["impl Default for MISSION_ITEM_REACHED_DATA"],["impl Default for MavOdidClassEu"],["impl Default for CameraMode"],["impl Default for ParachuteAction"],["impl Default for MissionState"],["impl Default for MAG_CAL_PROGRESS_DATA"],["impl Default for MavResult"],["impl Default for PARAM_MAP_RC_DATA"],["impl Default for ATTITUDE_QUATERNION_DATA"],["impl Default for ENCAPSULATED_DATA_DATA"],["impl Default for SIM_STATE_DATA"],["impl Default for GIMBAL_MANAGER_STATUS_DATA"],["impl Default for CellularNetworkRadioType"],["impl Default for MANUAL_SETPOINT_DATA"],["impl Default for MISSION_COUNT_DATA"],["impl Default for RC_CHANNELS_OVERRIDE_DATA"],["impl Default for MavFtpOpcode"],["impl Default for ATTITUDE_TARGET_DATA"],["impl Default for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Default for NAV_CONTROLLER_OUTPUT_DATA"],["impl Default for MOUNT_ORIENTATION_DATA"],["impl Default for VIBRATION_DATA"],["impl Default for RC_CHANNELS_RAW_DATA"],["impl Default for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Default for CameraTrackingStatusFlags"],["impl Default for SCALED_PRESSURE2_DATA"],["impl Default for MavSysStatusSensorExtended"],["impl Default for COMMAND_CANCEL_DATA"],["impl Default for HIGH_LATENCY2_DATA"],["impl Default for HIL_OPTICAL_FLOW_DATA"],["impl Default for FailureUnit"],["impl Default for PrecisionLandMode"],["impl Default for ONBOARD_COMPUTER_STATUS_DATA"],["impl Default for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Default for HIL_STATE_DATA"],["impl Default for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Default for MavOdidOperatorLocationType"],["impl Default for GPS_GLOBAL_ORIGIN_DATA"],["impl Default for CAN_FRAME_DATA"],["impl Default for MANUAL_SETPOINT_DATA"],["impl Default for COMPONENT_INFORMATION_DATA"],["impl Default for GPS_RAW_INT_DATA"],["impl Default for TERRAIN_REQUEST_DATA"],["impl Default for WifiConfigApMode"],["impl Default for MavOdidTimeAcc"],["impl Default for WIND_DATA"],["impl Default for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Default for CAMERA_CAPTURE_STATUS_DATA"],["impl Default for EkfStatusFlags"],["impl Default for LOCAL_POSITION_NED_DATA"],["impl Default for TuneFormat"],["impl Default for LANDING_TARGET_DATA"],["impl Default for UavionixAdsbOutCfgGpsOffsetLon"],["impl Default for MISSION_REQUEST_LIST_DATA"],["impl Default for FailureType"],["impl Default for LOGGING_ACK_DATA"],["impl Default for TERRAIN_REQUEST_DATA"],["impl Default for GPS_RTCM_DATA_DATA"],["impl Default for NAMED_VALUE_INT_DATA"],["impl Default for SIM_STATE_DATA"],["impl Default for SCALED_IMU3_DATA"],["impl Default for AisNavStatus"],["impl Default for SYS_STATUS_DATA"],["impl Default for EstimatorStatusFlags"],["impl Default for MavOdidStatus"],["impl Default for LOG_ERASE_DATA"],["impl Default for PidTuningAxis"],["impl Default for NAMED_VALUE_INT_DATA"],["impl Default for CELLULAR_CONFIG_DATA"],["impl Default for MotorTestOrder"],["impl Default for DEVICE_OP_READ_REPLY_DATA"],["impl Default for GPS_RAW_INT_DATA"],["impl Default for MavModeFlag"],["impl Default for VIDEO_STREAM_STATUS_DATA"],["impl Default for MavModeFlagDecodePosition"],["impl Default for HIL_ACTUATOR_CONTROLS_DATA"],["impl Default for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Default for RALLY_FETCH_POINT_DATA"],["impl Default for UavionixAdsbOutCfgGpsOffsetLat"],["impl Default for MavHeader"],["impl Default for CellularStatusFlag"],["impl Default for MavOdidHeightRef"],["impl Default for MavOdidAuthType"],["impl Default for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Default for AHRS3_DATA"],["impl Default for NAV_CONTROLLER_OUTPUT_DATA"],["impl Default for CameraTrackingMode"],["impl Default for MagCalStatus"],["impl Default for MavGeneratorStatusFlag"],["impl Default for WinchActions"],["impl Default for MavWinchStatusFlag"],["impl Default for GimbalDeviceErrorFlags"],["impl Default for MavVtolState"],["impl Default for HIL_OPTICAL_FLOW_DATA"],["impl Default for RC_CHANNELS_SCALED_DATA"],["impl Default for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Default for MavCollisionSrc"],["impl Default for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl Default for CameraCapFlags"],["impl Default for TuneFormat"],["impl Default for GimbalDeviceErrorFlags"],["impl Default for IcarousFmsState"],["impl Default for ICAROUS_HEARTBEAT_DATA"],["impl Default for GPS_STATUS_DATA"],["impl Default for MavState"],["impl Default for MISSION_ACK_DATA"],["impl Default for MavOdidAuthType"],["impl Default for PreflightStorageMissionAction"],["impl Default for GLOBAL_POSITION_INT_DATA"],["impl Default for MavSysStatusSensor"],["impl Default for ADSB_VEHICLE_DATA"],["impl Default for LOCAL_POSITION_NED_COV_DATA"],["impl Default for CAMERA_TRIGGER_DATA"],["impl Default for HighresImuUpdatedFlags"],["impl Default for AdsbEmitterType"],["impl Default for OrbitYawBehaviour"],["impl Default for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Default for RAW_RPM_DATA"],["impl Default for MavDataStream"],["impl Default for COMPONENT_METADATA_DATA"],["impl Default for PreflightStorageParameterAction"],["impl Default for PING_DATA"],["impl Default for UtmFlightState"],["impl Default for HIL_CONTROLS_DATA"],["impl Default for LOGGING_DATA_ACKED_DATA"],["impl Default for MavBatteryChargeState"],["impl Default for MavCmdAck"],["impl Default for SET_MAG_OFFSETS_DATA"],["impl Default for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl Default for GimbalDeviceFlags"],["impl Default for PARAM_REQUEST_READ_DATA"],["impl Default for SCALED_IMU2_DATA"],["impl Default for SCALED_IMU2_DATA"],["impl Default for MavBatteryFunction"],["impl Default for COMPONENT_METADATA_DATA"],["impl Default for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Default for PARAM_REQUEST_LIST_DATA"],["impl Default for WHEEL_DISTANCE_DATA"],["impl Default for HEARTBEAT_DATA"],["impl Default for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Default for MavEventErrorReason"],["impl Default for MavLandedState"],["impl Default for MavDataStream"],["impl Default for RADIO_STATUS_DATA"],["impl Default for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Default for MavOdidVerAcc"],["impl Default for GOPRO_HEARTBEAT_DATA"],["impl Default for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Default for UavionixAdsbOutDynamicState"],["impl Default for ActuatorOutputFunction"],["impl Default for VIDEO_STREAM_STATUS_DATA"],["impl Default for CELLULAR_STATUS_DATA"],["impl Default for MavSeverity"],["impl Default for MavDistanceSensor"],["impl Default for GoproRequestStatus"],["impl Default for VIDEO_STREAM_INFORMATION_DATA"],["impl Default for AisFlags"],["impl Default for CellularNetworkFailedReason"],["impl Default for MavGeneratorStatusFlag"],["impl Default for AIS_VESSEL_DATA"],["impl Default for PING_DATA"],["impl Default for MavOdidOperatorLocationType"],["impl Default for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Default for FILE_TRANSFER_PROTOCOL_DATA"],["impl Default for ACTUATOR_CONTROL_TARGET_DATA"],["impl Default for BATTERY_STATUS_DATA"],["impl Default for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Default for CAMERA_TRIGGER_DATA"],["impl Default for AttitudeTargetTypemask"],["impl Default for HlFailureFlag"],["impl Default for RAW_IMU_DATA"],["impl Default for TERRAIN_REPORT_DATA"],["impl Default for UavionixAdsbOutCfgAircraftSize"],["impl Default for FenceBreach"],["impl Default for GIMBAL_CONTROL_DATA"],["impl Default for GpsInputIgnoreFlags"],["impl Default for OBSTACLE_DISTANCE_DATA"],["impl Default for UAVCAN_NODE_STATUS_DATA"],["impl Default for PING_DATA"],["impl Default for IcarousFmsState"],["impl Default for MavComponent"],["impl Default for CanFilterOp"],["impl Default for CameraTrackingStatusFlags"],["impl Default for NavVtolLandOptions"],["impl Default for MOUNT_STATUS_DATA"],["impl Default for TERRAIN_DATA_DATA"],["impl Default for CameraMode"],["impl Default for CameraMode"],["impl Default for DEBUG_VECT_DATA"],["impl Default for MavGoto"],["impl Default for ISBD_LINK_STATUS_DATA"],["impl Default for MavCmdAck"],["impl Default for REQUEST_DATA_STREAM_DATA"],["impl Default for ParachuteAction"],["impl Default for MavSysStatusSensorExtended"],["impl Default for GimbalManagerCapFlags"],["impl Default for CAMERA_INFORMATION_DATA"],["impl Default for GPS_GLOBAL_ORIGIN_DATA"],["impl Default for IcarousTrackBandTypes"],["impl Default for ESC_TELEMETRY_9_TO_12_DATA"],["impl Default for MavOdidArmStatus"],["impl Default for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Default for GripperActions"],["impl Default for MavFtpErr"],["impl Default for SMART_BATTERY_INFO_DATA"],["impl Default for SERIAL_CONTROL_DATA"],["impl Default for MavCollisionThreatLevel"],["impl Default for MavSensorOrientation"],["impl Default for StorageUsageFlag"],["impl Default for MavOdidIdType"],["impl Default for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Default for ISBD_LINK_STATUS_DATA"],["impl Default for SCALED_IMU_DATA"],["impl Default for BUTTON_CHANGE_DATA"],["impl Default for PARAM_REQUEST_LIST_DATA"],["impl Default for EFI_STATUS_DATA"],["impl Default for COMMAND_INT_DATA"],["impl Default for MavlinkDataStreamType"],["impl Default for MavGoto"],["impl Default for MavSysStatusSensor"],["impl Default for GOPRO_GET_REQUEST_DATA"],["impl Default for HighresImuUpdatedFlags"],["impl Default for DATA_STREAM_DATA"],["impl Default for FenceMitigate"],["impl Default for UavionixAdsbOutCfgAircraftSize"],["impl Default for CopterMode"],["impl Default for COMMAND_ACK_DATA"],["impl Default for RANGEFINDER_DATA"],["impl Default for DEVICE_OP_WRITE_REPLY_DATA"],["impl Default for GoproFieldOfView"],["impl Default for LOGGING_DATA_DATA"],["impl Default for MISSION_REQUEST_DATA"],["impl Default for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Default for MISSION_CLEAR_ALL_DATA"],["impl Default for VISION_POSITION_ESTIMATE_DATA"],["impl Default for UAVCAN_NODE_INFO_DATA"],["impl Default for AdsbAltitudeType"],["impl Default for MavWinchStatusFlag"],["impl Default for RAW_PRESSURE_DATA"],["impl Default for MEMORY_VECT_DATA"],["impl Default for GPS_INJECT_DATA_DATA"],["impl Default for ATTITUDE_QUATERNION_COV_DATA"],["impl Default for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Default for OPEN_DRONE_ID_LOCATION_DATA"],["impl Default for MOUNT_CONTROL_DATA"],["impl Default for PlaneMode"],["impl Default for RAW_RPM_DATA"],["impl Default for CellularNetworkFailedReason"],["impl Default for COMMAND_CANCEL_DATA"],["impl Default for POSITION_TARGET_LOCAL_NED_DATA"],["impl Default for MavFrame"],["impl Default for VideoStreamType"],["impl Default for ActuatorOutputFunction"],["impl Default for MavMountMode"],["impl Default for HEARTBEAT_DATA"],["impl Default for MISSION_ITEM_INT_DATA"],["impl Default for VIDEO_STREAM_INFORMATION_DATA"],["impl Default for TERRAIN_CHECK_DATA"],["impl Default for VIDEO_STREAM_INFORMATION_DATA"],["impl Default for AccelcalVehiclePos"],["impl Default for GoproHeartbeatFlags"],["impl Default for HIL_STATE_DATA"],["impl Default for LANDING_TARGET_DATA"],["impl Default for RAW_RPM_DATA"],["impl Default for HilSensorUpdatedFlags"],["impl Default for STATUSTEXT_DATA"],["impl Default for CELLULAR_CONFIG_DATA"],["impl Default for RADIO_STATUS_DATA"],["impl Default for MAG_CAL_REPORT_DATA"],["impl Default for MavTunnelPayloadType"],["impl Default for PARAM_SET_DATA"],["impl Default for CameraCapFlags"],["impl Default for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl Default for MavPowerStatus"],["impl Default for COMMAND_ACK_DATA"],["impl Default for CanFilterOp"],["impl Default for PARAM_MAP_RC_DATA"],["impl Default for AHRS_DATA"],["impl Default for NavVtolLandOptions"],["impl Default for MISSION_REQUEST_INT_DATA"],["impl Default for CAMERA_CAPTURE_STATUS_DATA"],["impl Default for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Default for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Default for PARAM_EXT_ACK_DATA"],["impl Default for HIL_RC_INPUTS_RAW_DATA"],["impl Default for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Default for EscConnectionType"],["impl Default for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Default for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Default for DEBUG_FLOAT_ARRAY_DATA"],["impl Default for ACTUATOR_CONTROL_TARGET_DATA"],["impl Default for CellularNetworkRadioType"],["impl Default for CellularStatusFlag"],["impl Default for FailureUnit"],["impl Default for EVENT_DATA"],["impl Default for FailureType"],["impl Default for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Default for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Default for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Default for POWER_STATUS_DATA"],["impl Default for LOG_ENTRY_DATA"],["impl Default for MavMode"],["impl Default for UavionixAdsbRfHealth"],["impl Default for MavBatteryFunction"],["impl Default for FenceMitigate"],["impl Default for ODOMETRY_DATA"],["impl Default for PARAM_EXT_SET_DATA"],["impl Default for ESC_TELEMETRY_5_TO_8_DATA"],["impl Default for MavFtpOpcode"],["impl Default for RcType"],["impl Default for LandingTargetType"],["impl Default for GPS_RTCM_DATA_DATA"],["impl Default for UavcanNodeMode"],["impl Default for MISSION_CURRENT_DATA"],["impl Default for LandingTargetType"],["impl Default for GPS_RTK_DATA"],["impl Default for WIND_COV_DATA"],["impl Default for LOG_REQUEST_LIST_DATA"],["impl Default for MavBatteryChargeState"],["impl Default for DeviceOpBustype"],["impl Default for CANFD_FRAME_DATA"],["impl Default for UavionixAdsbOutRfSelect"],["impl Default for ESC_INFO_DATA"],["impl Default for VFR_HUD_DATA"],["impl Default for OPTICAL_FLOW_RAD_DATA"],["impl Default for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Default for MavOdidSpeedAcc"],["impl Default for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Default for AttitudeTargetTypemask"],["impl Default for DEVICE_OP_READ_DATA"],["impl Default for GpsFixType"],["impl Default for LOGGING_DATA_DATA"],["impl Default for GimbalAxisCalibrationStatus"],["impl Default for EstimatorStatusFlags"],["impl Default for GpsInputIgnoreFlags"],["impl Default for BATTERY_STATUS_DATA"],["impl Default for VISION_POSITION_DELTA_DATA"],["impl Default for MavArmAuthDeniedReason"],["impl Default for MavGeneratorStatusFlag"],["impl Default for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Default for MavVtolState"],["impl Default for ENCAPSULATED_DATA_DATA"],["impl Default for SCALED_PRESSURE2_DATA"],["impl Default for MavOdidUaType"],["impl Default for CameraTrackingTargetData"],["impl Default for SET_HOME_POSITION_DATA"],["impl Default for WifiConfigApResponse"],["impl Default for ORBIT_EXECUTION_STATUS_DATA"],["impl Default for NAMED_VALUE_INT_DATA"],["impl Default for DATA_STREAM_DATA"],["impl Default for MISSION_REQUEST_DATA"],["impl Default for HOME_POSITION_DATA"],["impl Default for UAVCAN_NODE_INFO_DATA"],["impl Default for MavParamType"],["impl Default for GimbalDeviceErrorFlags"],["impl Default for VtolTransitionHeading"],["impl Default for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Default for MavEventCurrentSequenceFlags"],["impl Default for MEMINFO_DATA"],["impl Default for MavBatteryChargeState"],["impl Default for GimbalDeviceCapFlags"],["impl Default for MavOdidStatus"],["impl Default for CAN_FILTER_MODIFY_DATA"],["impl Default for SCALED_PRESSURE3_DATA"],["impl Default for MavlinkDataStreamType"],["impl Default for LimitsState"],["impl Default for HIL_SENSOR_DATA"],["impl Default for LedControlPattern"],["impl Default for HIL_STATE_DATA"],["impl Default for AUTH_KEY_DATA"],["impl Default for NavVtolLandOptions"],["impl Default for GPS2_RTK_DATA"],["impl Default for UavcanNodeHealth"],["impl Default for MavOdidUaType"],["impl Default for SetFocusType"],["impl Default for MavOdidVerAcc"],["impl Default for MavBatteryFunction"],["impl Default for RC_CHANNELS_OVERRIDE_DATA"],["impl Default for LOCAL_POSITION_NED_DATA"],["impl Default for SET_ATTITUDE_TARGET_DATA"],["impl Default for DEBUG_VECT_DATA"],["impl Default for LINK_NODE_STATUS_DATA"],["impl Default for STORAGE_INFORMATION_DATA"],["impl Default for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Default for AIRSPEED_AUTOCAL_DATA"],["impl Default for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Default for VFR_HUD_DATA"],["impl Default for CAMERA_FEEDBACK_DATA"],["impl Default for UavionixAdsbOutDynamicState"],["impl Default for MavSensorOrientation"],["impl Default for CameraStatusTypes"],["impl Default for ONBOARD_COMPUTER_STATUS_DATA"],["impl Default for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Default for GimbalDeviceFlags"],["impl Default for FENCE_STATUS_DATA"],["impl Default for V2_EXTENSION_DATA"],["impl Default for MavOdidTimeAcc"],["impl Default for MavDistanceSensor"],["impl Default for UtmDataAvailFlags"],["impl Default for PARAM_EXT_SET_DATA"],["impl Default for GpsFixType"],["impl Default for PARAM_VALUE_DATA"],["impl Default for ATTITUDE_DATA"],["impl Default for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Default for AutotuneAxis"],["impl Default for MavSeverity"],["impl Default for MISSION_REQUEST_LIST_DATA"],["impl Default for SETUP_SIGNING_DATA"],["impl Default for MavOdidCategoryEu"],["impl Default for OBSTACLE_DISTANCE_3D_DATA"],["impl Default for OrbitYawBehaviour"],["impl Default for GoproResolution"],["impl Default for VideoStreamStatusFlags"],["impl Default for WifiConfigApMode"],["impl Default for StorageUsageFlag"],["impl Default for SCALED_IMU_DATA"],["impl Default for HIL_RC_INPUTS_RAW_DATA"],["impl Default for LIMITS_STATUS_DATA"],["impl Default for DISTANCE_SENSOR_DATA"],["impl Default for ParachuteAction"],["impl Default for DISTANCE_SENSOR_DATA"],["impl Default for GoproHeartbeatStatus"],["impl Default for VideoStreamType"],["impl Default for COMPONENT_INFORMATION_DATA"],["impl Default for MEMORY_VECT_DATA"],["impl Default for CameraTrackingMode"],["impl Default for PARAM_REQUEST_READ_DATA"],["impl Default for HERELINK_TELEM_DATA"],["impl Default for MavBatteryFault"],["impl Default for PARAM_EXT_REQUEST_READ_DATA"],["impl Default for MISSION_REQUEST_INT_DATA"],["impl Default for FenceAction"],["impl Default for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Default for UAVCAN_NODE_STATUS_DATA"],["impl Default for MavOdidOperatorIdType"],["impl Default for HYGROMETER_SENSOR_DATA"],["impl Default for MavCollisionSrc"],["impl Default for PreflightStorageMissionAction"],["impl Default for EscConnectionType"],["impl Default for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Default for TuneFormat"],["impl Default for PARAM_EXT_VALUE_DATA"],["impl Default for AisType"],["impl Default for GimbalManagerCapFlags"],["impl Default for VideoStreamType"],["impl Default for MotorTestThrottleType"],["impl Default for CellularConfigResponse"],["impl Default for CELLULAR_STATUS_DATA"],["impl Default for AdsbAltitudeType"],["impl Default for UavionixAdsbEmergencyStatus"],["impl Default for MavTunnelPayloadType"],["impl Default for FILE_TRANSFER_PROTOCOL_DATA"],["impl Default for RallyFlags"],["impl Default for MavComponent"],["impl Default for HIGHRES_IMU_DATA"],["impl Default for WIND_COV_DATA"],["impl Default for LOG_DATA_DATA"],["impl Default for COMMAND_INT_DATA"],["impl Default for VICON_POSITION_ESTIMATE_DATA"],["impl Default for PARAM_VALUE_DATA"],["impl Default for RtkBaselineCoordinateSystem"],["impl Default for HIGH_LATENCY_DATA"],["impl Default for ATTITUDE_TARGET_DATA"],["impl Default for MavOdidDescType"],["impl Default for AUTOPILOT_VERSION_DATA"],["impl Default for SerialControlFlag"],["impl Default for GPS_INPUT_DATA"],["impl Default for NAV_CONTROLLER_OUTPUT_DATA"],["impl Default for GLOBAL_POSITION_INT_DATA"],["impl Default for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Default for AdsbEmitterType"],["impl Default for MissionState"],["impl Default for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Default for HIL_GPS_DATA"],["impl Default for MavMissionResult"],["impl Default for HYGROMETER_SENSOR_DATA"],["impl Default for RC_CHANNELS_SCALED_DATA"],["impl Default for WinchActions"],["impl Default for FENCE_FETCH_POINT_DATA"],["impl Default for MavParamExtType"],["impl Default for ONBOARD_COMPUTER_STATUS_DATA"],["impl Default for SET_MODE_DATA"],["impl Default for LINK_NODE_STATUS_DATA"],["impl Default for RC_CHANNELS_DATA"],["impl Default for MISSION_ACK_DATA"],["impl Default for SET_ATTITUDE_TARGET_DATA"],["impl Default for HIL_OPTICAL_FLOW_DATA"],["impl Default for SCALED_IMU_DATA"],["impl Default for LOG_ENTRY_DATA"],["impl Default for PositionTargetTypemask"],["impl Default for RC_CHANNELS_DATA"],["impl Default for GPS_INJECT_DATA_DATA"],["impl Default for CANFD_FRAME_DATA"],["impl Default for TERRAIN_DATA_DATA"],["impl Default for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Default for GimbalAxis"],["impl Default for UavcanNodeHealth"],["impl Default for COMMAND_LONG_DATA"],["impl Default for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Default for FOLLOW_TARGET_DATA"],["impl Default for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Default for TIMESYNC_DATA"],["impl Default for MavOdidVerAcc"],["impl Default for MavResult"],["impl Default for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Default for WATER_DEPTH_DATA"],["impl Default for SERVO_OUTPUT_RAW_DATA"],["impl Default for SET_MODE_DATA"],["impl Default for GoproPhotoResolution"],["impl Default for GoproProtuneExposure"],["impl Default for DATA_STREAM_DATA"],["impl Default for ADAP_TUNING_DATA"],["impl Default for CameraZoomType"],["impl Default for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Default for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Default for MavType"],["impl Default for LOG_REQUEST_DATA_DATA"],["impl Default for CURRENT_EVENT_SEQUENCE_DATA"],["impl Default for MavState"],["impl Default for MavCmdAck"],["impl Default for UavionixAdsbOutCfgGpsOffsetLon"],["impl Default for RC_CHANNELS_RAW_DATA"],["impl Default for OsdParamConfigError"],["impl Default for MavMissionType"],["impl Default for GripperActions"],["impl Default for WIFI_CONFIG_AP_DATA"],["impl Default for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Default for PreflightStorageParameterAction"],["impl Default for FLIGHT_INFORMATION_DATA"],["impl Default for SCALED_IMU3_DATA"],["impl Default for HIL_RC_INPUTS_RAW_DATA"],["impl Default for UtmFlightState"],["impl Default for HYGROMETER_SENSOR_DATA"],["impl Default for TrackerMode"],["impl Default for CAN_FRAME_DATA"],["impl Default for AUTOPILOT_VERSION_DATA"],["impl Default for HeadingType"],["impl Default for REQUEST_DATA_STREAM_DATA"],["impl Default for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Default for MISSION_ITEM_DATA"],["impl Default for SETUP_SIGNING_DATA"],["impl Default for COMPONENT_INFORMATION_DATA"],["impl Default for ScriptingCmd"],["impl Default for CAMERA_SETTINGS_DATA"],["impl Default for SUPPORTED_TUNES_DATA"],["impl Default for MavMountMode"],["impl Default for SCALED_PRESSURE2_DATA"],["impl Default for PrecisionLandMode"],["impl Default for MavSeverity"],["impl Default for ActuatorConfiguration"],["impl Default for MavPowerStatus"],["impl Default for GPS_INPUT_DATA"],["impl Default for MavEventCurrentSequenceFlags"],["impl Default for MavOdidClassificationType"],["impl Default for MavOdidSpeedAcc"],["impl Default for MavModeFlag"],["impl Default for EVENT_DATA"],["impl Default for AttitudeTargetTypemask"],["impl Default for ActuatorConfiguration"],["impl Default for HIL_STATE_QUATERNION_DATA"],["impl Default for RAW_PRESSURE_DATA"],["impl Default for COLLISION_DATA"],["impl Default for MavBatteryFault"],["impl Default for LandingTargetType"],["impl Default for ESC_STATUS_DATA"],["impl Default for MavSysStatusSensorExtended"],["impl Default for MavComponent"],["impl Default for ParamAck"],["impl Default for CAN_FILTER_MODIFY_DATA"],["impl Default for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Default for CURRENT_EVENT_SEQUENCE_DATA"],["impl Default for MavMissionType"],["impl Default for ADSB_VEHICLE_DATA"],["impl Default for GoproModel"],["impl Default for SerialControlDev"],["impl Default for EXTENDED_SYS_STATE_DATA"],["impl Default for RC_CHANNELS_SCALED_DATA"],["impl Default for MavEstimatorType"],["impl Default for AutotuneAxis"],["impl Default for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Default for MavSysStatusSensor"],["impl Default for FOLLOW_TARGET_DATA"],["impl Default for GoproCaptureMode"],["impl Default for DATA16_DATA"],["impl Default for RoverMode"],["impl Default for MavOdidStatus"],["impl Default for MavOdidSpeedAcc"],["impl Default for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl Default for SUPPORTED_TUNES_DATA"],["impl Default for MANUAL_CONTROL_DATA"],["impl Default for MavEventCurrentSequenceFlags"],["impl Default for VFR_HUD_DATA"],["impl Default for VtolTransitionHeading"],["impl Default for ParamAck"],["impl Default for SerialControlFlag"],["impl Default for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Default for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Default for AIS_VESSEL_DATA"],["impl Default for UAVCAN_NODE_STATUS_DATA"],["impl Default for MISSION_ITEM_DATA"],["impl Default for ActuatorConfiguration"],["impl Default for SYS_STATUS_DATA"],["impl Default for ATT_POS_MOCAP_DATA"],["impl Default for CAMERA_TRIGGER_DATA"],["impl Default for PARAM_EXT_REQUEST_LIST_DATA"],["impl Default for HighresImuUpdatedFlags"],["impl Default for GLOBAL_POSITION_INT_DATA"],["impl Default for PLAY_TUNE_V2_DATA"],["impl Default for PROTOCOL_VERSION_DATA"],["impl Default for MavAutopilot"],["impl Default for HilSensorUpdatedFlags"],["impl Default for MavOdidHorAcc"]], "proc_macro2":[["impl Default for TokenStream"]], "serde":[["impl Default for IgnoredAny"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/fmt/trait.Binary.js b/trait.impl/core/fmt/trait.Binary.js index 128987a529..beacae12c4 100644 --- a/trait.impl/core/fmt/trait.Binary.js +++ b/trait.impl/core/fmt/trait.Binary.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mavlink":[["impl Binary for SerialControlFlag"],["impl Binary for MavSysStatusSensor"],["impl Binary for MavProtocolCapability"],["impl Binary for EscFailureFlags"],["impl Binary for GpsInputIgnoreFlags"],["impl Binary for MavEventCurrentSequenceFlags"],["impl Binary for HlFailureFlag"],["impl Binary for HighresImuUpdatedFlags"],["impl Binary for HighresImuUpdatedFlags"],["impl Binary for CameraCapFlags"],["impl Binary for AdsbFlags"],["impl Binary for MavProtocolCapability"],["impl Binary for UavionixAdsbRfHealth"],["impl Binary for GimbalDeviceCapFlags"],["impl Binary for TuneFormat"],["impl Binary for UtmDataAvailFlags"],["impl Binary for EkfStatusFlags"],["impl Binary for HilSensorUpdatedFlags"],["impl Binary for GimbalDeviceFlags"],["impl Binary for GimbalManagerCapFlags"],["impl Binary for PositionTargetTypemask"],["impl Binary for MavPowerStatus"],["impl Binary for LimitModule"],["impl Binary for HilSensorUpdatedFlags"],["impl Binary for GimbalDeviceFlags"],["impl Binary for MavModeFlag"],["impl Binary for GoproHeartbeatFlags"],["impl Binary for UavionixAdsbOutDynamicState"],["impl Binary for MavProtocolCapability"],["impl Binary for GimbalDeviceErrorFlags"],["impl Binary for AttitudeTargetTypemask"],["impl Binary for MavWinchStatusFlag"],["impl Binary for MavModeFlag"],["impl Binary for MavGeneratorStatusFlag"],["impl Binary for EstimatorStatusFlags"],["impl Binary for UtmDataAvailFlags"],["impl Binary for SerialControlFlag"],["impl Binary for UavionixAdsbRfHealth"],["impl Binary for HlFailureFlag"],["impl Binary for MavPowerStatus"],["impl Binary for HighresImuUpdatedFlags"],["impl Binary for GimbalDeviceErrorFlags"],["impl Binary for UtmDataAvailFlags"],["impl Binary for CameraCapFlags"],["impl Binary for AisFlags"],["impl Binary for MavGeneratorStatusFlag"],["impl Binary for AdsbFlags"],["impl Binary for CameraCapFlags"],["impl Binary for AisFlags"],["impl Binary for AisFlags"],["impl Binary for SerialControlFlag"],["impl Binary for PositionTargetTypemask"],["impl Binary for EstimatorStatusFlags"],["impl Binary for MavGeneratorStatusFlag"],["impl Binary for UavionixAdsbOutRfSelect"],["impl Binary for GimbalDeviceErrorFlags"],["impl Binary for TuneFormat"],["impl Binary for GpsInputIgnoreFlags"],["impl Binary for GimbalDeviceCapFlags"],["impl Binary for GimbalManagerCapFlags"],["impl Binary for EstimatorStatusFlags"],["impl Binary for TuneFormat"],["impl Binary for EscFailureFlags"],["impl Binary for GimbalDeviceCapFlags"],["impl Binary for AdsbFlags"],["impl Binary for UavionixAdsbOutDynamicState"],["impl Binary for GimbalDeviceFlags"],["impl Binary for EscFailureFlags"],["impl Binary for MavPowerStatus"],["impl Binary for GpsInputIgnoreFlags"],["impl Binary for MavSysStatusSensor"],["impl Binary for MavWinchStatusFlag"],["impl Binary for MavEventCurrentSequenceFlags"],["impl Binary for PositionTargetTypemask"],["impl Binary for UavionixAdsbOutRfSelect"],["impl Binary for RallyFlags"],["impl Binary for AttitudeTargetTypemask"],["impl Binary for GimbalManagerCapFlags"],["impl Binary for MavEventCurrentSequenceFlags"],["impl Binary for AttitudeTargetTypemask"],["impl Binary for MavModeFlag"],["impl Binary for HlFailureFlag"],["impl Binary for MavWinchStatusFlag"],["impl Binary for HilSensorUpdatedFlags"],["impl Binary for MavSysStatusSensor"]] +"mavlink":[["impl Binary for GpsInputIgnoreFlags"],["impl Binary for MavWinchStatusFlag"],["impl Binary for AdsbFlags"],["impl Binary for UtmDataAvailFlags"],["impl Binary for TuneFormat"],["impl Binary for AdsbFlags"],["impl Binary for HighresImuUpdatedFlags"],["impl Binary for AisFlags"],["impl Binary for AttitudeTargetTypemask"],["impl Binary for HighresImuUpdatedFlags"],["impl Binary for MavSysStatusSensor"],["impl Binary for EscFailureFlags"],["impl Binary for MavSysStatusSensor"],["impl Binary for MavProtocolCapability"],["impl Binary for MavPowerStatus"],["impl Binary for GoproHeartbeatFlags"],["impl Binary for MavEventCurrentSequenceFlags"],["impl Binary for UavionixAdsbOutRfSelect"],["impl Binary for GimbalDeviceFlags"],["impl Binary for GimbalManagerCapFlags"],["impl Binary for TuneFormat"],["impl Binary for GimbalManagerCapFlags"],["impl Binary for AisFlags"],["impl Binary for MavGeneratorStatusFlag"],["impl Binary for MavEventCurrentSequenceFlags"],["impl Binary for GimbalDeviceErrorFlags"],["impl Binary for GimbalDeviceCapFlags"],["impl Binary for EstimatorStatusFlags"],["impl Binary for GpsInputIgnoreFlags"],["impl Binary for MavProtocolCapability"],["impl Binary for CameraCapFlags"],["impl Binary for EscFailureFlags"],["impl Binary for EkfStatusFlags"],["impl Binary for UavionixAdsbRfHealth"],["impl Binary for GimbalDeviceCapFlags"],["impl Binary for HlFailureFlag"],["impl Binary for EscFailureFlags"],["impl Binary for GimbalDeviceFlags"],["impl Binary for PositionTargetTypemask"],["impl Binary for HilSensorUpdatedFlags"],["impl Binary for MavModeFlag"],["impl Binary for UtmDataAvailFlags"],["impl Binary for CameraCapFlags"],["impl Binary for HlFailureFlag"],["impl Binary for EstimatorStatusFlags"],["impl Binary for AisFlags"],["impl Binary for CameraCapFlags"],["impl Binary for HighresImuUpdatedFlags"],["impl Binary for MavGeneratorStatusFlag"],["impl Binary for MavProtocolCapability"],["impl Binary for LimitModule"],["impl Binary for AdsbFlags"],["impl Binary for TuneFormat"],["impl Binary for GpsInputIgnoreFlags"],["impl Binary for MavWinchStatusFlag"],["impl Binary for UavionixAdsbRfHealth"],["impl Binary for EstimatorStatusFlags"],["impl Binary for MavModeFlag"],["impl Binary for GimbalManagerCapFlags"],["impl Binary for HlFailureFlag"],["impl Binary for UavionixAdsbOutRfSelect"],["impl Binary for MavModeFlag"],["impl Binary for SerialControlFlag"],["impl Binary for HilSensorUpdatedFlags"],["impl Binary for PositionTargetTypemask"],["impl Binary for MavEventCurrentSequenceFlags"],["impl Binary for MavSysStatusSensor"],["impl Binary for PositionTargetTypemask"],["impl Binary for UavionixAdsbOutDynamicState"],["impl Binary for AttitudeTargetTypemask"],["impl Binary for SerialControlFlag"],["impl Binary for MavPowerStatus"],["impl Binary for MavWinchStatusFlag"],["impl Binary for GimbalDeviceCapFlags"],["impl Binary for GimbalDeviceErrorFlags"],["impl Binary for UavionixAdsbOutDynamicState"],["impl Binary for MavGeneratorStatusFlag"],["impl Binary for GimbalDeviceFlags"],["impl Binary for UtmDataAvailFlags"],["impl Binary for MavPowerStatus"],["impl Binary for RallyFlags"],["impl Binary for SerialControlFlag"],["impl Binary for HilSensorUpdatedFlags"],["impl Binary for GimbalDeviceErrorFlags"],["impl Binary for AttitudeTargetTypemask"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/fmt/trait.Debug.js b/trait.impl/core/fmt/trait.Debug.js index 1e136c2060..abbb07e74b 100644 --- a/trait.impl/core/fmt/trait.Debug.js +++ b/trait.impl/core/fmt/trait.Debug.js @@ -1,6 +1,6 @@ (function() {var implementors = { "byteorder":[["impl Debug for BigEndian"],["impl Debug for LittleEndian"]], -"mavlink":[["impl Debug for RADIO_DATA"],["impl Debug for DEVICE_OP_READ_REPLY_DATA"],["impl Debug for PlaneMode"],["impl Debug for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Debug for TERRAIN_REPORT_DATA"],["impl Debug for LOGGING_DATA_ACKED_DATA"],["impl Debug for AUTOPILOT_VERSION_REQUEST_DATA"],["impl Debug for TERRAIN_CHECK_DATA"],["impl Debug for NAMED_VALUE_INT_DATA"],["impl Debug for CameraCapFlags"],["impl Debug for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Debug for PreflightStorageMissionAction"],["impl Debug for SET_HOME_POSITION_DATA"],["impl Debug for LOG_REQUEST_LIST_DATA"],["impl Debug for MavComponent"],["impl Debug for AutotuneAxis"],["impl Debug for MavHeader"],["impl Debug for AdsbFlags"],["impl Debug for UavcanNodeHealth"],["impl Debug for WIND_COV_DATA"],["impl Debug for FENCE_FETCH_POINT_DATA"],["impl Debug for CellularConfigResponse"],["impl Debug for SERIAL_CONTROL_DATA"],["impl Debug for AutotuneAxis"],["impl Debug for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl Debug for STATUSTEXT_DATA"],["impl Debug for GPS2_RAW_DATA"],["impl Debug for MavArmAuthDeniedReason"],["impl Debug for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Debug for MavModeFlagDecodePosition"],["impl Debug for MavSysStatusSensor"],["impl Debug for MotorTestThrottleType"],["impl Debug for RallyFlags"],["impl Debug for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Debug for FENCE_STATUS_DATA"],["impl Debug for HIL_STATE_DATA"],["impl Debug for ActuatorOutputFunction"],["impl Debug for SET_HOME_POSITION_DATA"],["impl Debug for COMMAND_LONG_DATA"],["impl Debug for AIRSPEED_AUTOCAL_DATA"],["impl Debug for ESC_STATUS_DATA"],["impl Debug for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Debug for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Debug for CAMERA_TRIGGER_DATA"],["impl Debug for RAW_PRESSURE_DATA"],["impl Debug for HIL_RC_INPUTS_RAW_DATA"],["impl Debug for LOG_REQUEST_END_DATA"],["impl Debug for VIBRATION_DATA"],["impl Debug for HYGROMETER_SENSOR_DATA"],["impl Debug for PARAM_EXT_REQUEST_LIST_DATA"],["impl Debug for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Debug for MavCmdAck"],["impl Debug for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Debug for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Debug for MISSION_ACK_DATA"],["impl Debug for PARAM_EXT_VALUE_DATA"],["impl Debug for RcType"],["impl Debug for FenceAction"],["impl Debug for LOG_ENTRY_DATA"],["impl Debug for HOME_POSITION_DATA"],["impl Debug for ActuatorOutputFunction"],["impl Debug for SerialControlFlag"],["impl Debug for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Debug for POSITION_TARGET_LOCAL_NED_DATA"],["impl Debug for MavOdidStatus"],["impl Debug for PARAM_EXT_VALUE_DATA"],["impl Debug for OrbitYawBehaviour"],["impl Debug for OBSTACLE_DISTANCE_DATA"],["impl Debug for RADIO_STATUS_DATA"],["impl Debug for SCALED_PRESSURE_DATA"],["impl Debug for LOCAL_POSITION_NED_DATA"],["impl Debug for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Debug for UtmDataAvailFlags"],["impl Debug for HIL_ACTUATOR_CONTROLS_DATA"],["impl Debug for GPS_RTK_DATA"],["impl Debug for MavMessage"],["impl Debug for MANUAL_CONTROL_DATA"],["impl Debug for ACTUATOR_CONTROL_TARGET_DATA"],["impl Debug for MISSION_COUNT_DATA"],["impl Debug for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Debug for UavionixAdsbOutCfgGpsOffsetLat"],["impl Debug for LOG_DATA_DATA"],["impl Debug for FailureType"],["impl Debug for GPS_RAW_INT_DATA"],["impl Debug for HIL_STATE_QUATERNION_DATA"],["impl Debug for HYGROMETER_SENSOR_DATA"],["impl Debug for GoproProtuneSharpness"],["impl Debug for VIDEO_STREAM_STATUS_DATA"],["impl Debug for MavPowerStatus"],["impl Debug for OSD_PARAM_CONFIG_DATA"],["impl Debug for MavParamType"],["impl Debug for UtmDataAvailFlags"],["impl Debug for WifiConfigApResponse"],["impl Debug for MavMissionType"],["impl Debug for HIL_OPTICAL_FLOW_DATA"],["impl Debug for UavcanNodeHealth"],["impl Debug for ENCAPSULATED_DATA_DATA"],["impl Debug for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Debug for MavOdidSpeedAcc"],["impl Debug for MavMissionResult"],["impl Debug for UavionixAdsbOutCfgGpsOffsetLat"],["impl Debug for PositionTargetTypemask"],["impl Debug for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Debug for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Debug for MavBatteryChargeState"],["impl Debug for SCALED_IMU_DATA"],["impl Debug for MavEventErrorReason"],["impl Debug for MavSysStatusSensorExtended"],["impl Debug for CameraTrackingTargetData"],["impl Debug for CellularStatusFlag"],["impl Debug for MavOdidCategoryEu"],["impl Debug for AdsbEmitterType"],["impl Debug for GPS_RAW_INT_DATA"],["impl Debug for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Debug for COMPONENT_INFORMATION_DATA"],["impl Debug for GOPRO_GET_REQUEST_DATA"],["impl Debug for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Debug for AdsbEmitterType"],["impl Debug for CAMERA_SETTINGS_DATA"],["impl Debug for OrbitYawBehaviour"],["impl Debug for GPS_GLOBAL_ORIGIN_DATA"],["impl Debug for WinchActions"],["impl Debug for ATTITUDE_TARGET_DATA"],["impl Debug for SETUP_SIGNING_DATA"],["impl Debug for CELLULAR_CONFIG_DATA"],["impl Debug for LANDING_TARGET_DATA"],["impl Debug for CAMERA_FOV_STATUS_DATA"],["impl Debug for GoproRequestStatus"],["impl Debug for VIDEO_STREAM_STATUS_DATA"],["impl Debug for AIS_VESSEL_DATA"],["impl Debug for MavOdidSpeedAcc"],["impl Debug for MavMessage"],["impl Debug for SerialControlFlag"],["impl Debug for AisNavStatus"],["impl Debug for AUTOPILOT_VERSION_DATA"],["impl Debug for TuneFormat"],["impl Debug for NAMED_VALUE_FLOAT_DATA"],["impl Debug for CAMERA_TRIGGER_DATA"],["impl Debug for MAG_CAL_PROGRESS_DATA"],["impl Debug for RcType"],["impl Debug for NAV_CONTROLLER_OUTPUT_DATA"],["impl Debug for GimbalDeviceErrorFlags"],["impl Debug for MavResult"],["impl Debug for EVENT_DATA"],["impl Debug for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Debug for SCALED_IMU3_DATA"],["impl Debug for EstimatorStatusFlags"],["impl Debug for HOME_POSITION_DATA"],["impl Debug for FenceBreach"],["impl Debug for PrecisionLandMode"],["impl Debug for CellularNetworkFailedReason"],["impl Debug for AUTH_KEY_DATA"],["impl Debug for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Debug for GripperActions"],["impl Debug for MavResult"],["impl Debug for MavType"],["impl Debug for CAMERA_IMAGE_CAPTURED_DATA"],["impl Debug for MavLandedState"],["impl Debug for ESTIMATOR_STATUS_DATA"],["impl Debug for GPS_INPUT_DATA"],["impl Debug for ESC_TELEMETRY_9_TO_12_DATA"],["impl Debug for MavLandedState"],["impl Debug for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Debug for ATTITUDE_QUATERNION_COV_DATA"],["impl Debug for DATA_STREAM_DATA"],["impl Debug for GoproBurstRate"],["impl Debug for MavCollisionThreatLevel"],["impl Debug for PreflightStorageParameterAction"],["impl Debug for ATTITUDE_QUATERNION_DATA"],["impl Debug for MavAutopilot"],["impl Debug for MavEventErrorReason"],["impl Debug for PARAM_EXT_REQUEST_LIST_DATA"],["impl Debug for GimbalManagerCapFlags"],["impl Debug for MISSION_REQUEST_LIST_DATA"],["impl Debug for ATTITUDE_DATA"],["impl Debug for EkfStatusFlags"],["impl Debug for MavMessage"],["impl Debug for CURRENT_EVENT_SEQUENCE_DATA"],["impl Debug for PROTOCOL_VERSION_DATA"],["impl Debug for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Debug for UtmFlightState"],["impl Debug for SYSTEM_TIME_DATA"],["impl Debug for DIGICAM_CONFIGURE_DATA"],["impl Debug for MavBatteryChargeState"],["impl Debug for SetFocusType"],["impl Debug for GENERATOR_STATUS_DATA"],["impl Debug for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Debug for MavOdidVerAcc"],["impl Debug for HIL_SENSOR_DATA"],["impl Debug for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Debug for MavGoto"],["impl Debug for CameraMode"],["impl Debug for RcType"],["impl Debug for CameraTrackingTargetData"],["impl Debug for CAMERA_SETTINGS_DATA"],["impl Debug for GimbalManagerFlags"],["impl Debug for MavPowerStatus"],["impl Debug for MavRoi"],["impl Debug for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Debug for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Debug for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Debug for MavComponent"],["impl Debug for PARAM_MAP_RC_DATA"],["impl Debug for GPS_RTCM_DATA_DATA"],["impl Debug for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Debug for MavEstimatorType"],["impl Debug for MavDistanceSensor"],["impl Debug for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Debug for GripperActions"],["impl Debug for LOG_ERASE_DATA"],["impl Debug for VtolTransitionHeading"],["impl Debug for GoproHeartbeatFlags"],["impl Debug for TERRAIN_REPORT_DATA"],["impl Debug for COMMAND_ACK_DATA"],["impl Debug for GoproProtuneWhiteBalance"],["impl Debug for RAW_PRESSURE_DATA"],["impl Debug for HighresImuUpdatedFlags"],["impl Debug for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Debug for ESC_INFO_DATA"],["impl Debug for RADIO_STATUS_DATA"],["impl Debug for MavCollisionAction"],["impl Debug for CAMERA_INFORMATION_DATA"],["impl Debug for PID_TUNING_DATA"],["impl Debug for MavSeverity"],["impl Debug for MavPowerStatus"],["impl Debug for MavType"],["impl Debug for EFI_STATUS_DATA"],["impl Debug for COMPASSMOT_STATUS_DATA"],["impl Debug for FailureType"],["impl Debug for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Debug for UAVCAN_NODE_INFO_DATA"],["impl Debug for EstimatorStatusFlags"],["impl Debug for MISSION_ITEM_DATA"],["impl Debug for ParachuteAction"],["impl Debug for MavSeverity"],["impl Debug for MavOdidIdType"],["impl Debug for IcarousFmsState"],["impl Debug for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Debug for TERRAIN_DATA_DATA"],["impl Debug for ATTITUDE_QUATERNION_DATA"],["impl Debug for SUPPORTED_TUNES_DATA"],["impl Debug for OPEN_DRONE_ID_LOCATION_DATA"],["impl Debug for MavBatteryType"],["impl Debug for CAN_FILTER_MODIFY_DATA"],["impl Debug for AisFlags"],["impl Debug for MotorTestThrottleType"],["impl Debug for GLOBAL_POSITION_INT_DATA"],["impl Debug for SET_MAG_OFFSETS_DATA"],["impl Debug for OSD_PARAM_CONFIG_REPLY_DATA"],["impl Debug for HIGHRES_IMU_DATA"],["impl Debug for MavDataStream"],["impl Debug for StorageStatus"],["impl Debug for RC_CHANNELS_OVERRIDE_DATA"],["impl Debug for CELLULAR_CONFIG_DATA"],["impl Debug for FenceBreach"],["impl Debug for DATA32_DATA"],["impl Debug for VideoStreamType"],["impl Debug for RAW_IMU_DATA"],["impl Debug for StorageUsageFlag"],["impl Debug for MavMessage"],["impl Debug for CHANGE_OPERATOR_CONTROL_DATA"],["impl Debug for MavEstimatorType"],["impl Debug for FLIGHT_INFORMATION_DATA"],["impl Debug for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Debug for HIL_RC_INPUTS_RAW_DATA"],["impl Debug for SERIAL_CONTROL_DATA"],["impl Debug for MAVLinkV2MessageRaw"],["impl Debug for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl Debug for PLAY_TUNE_V2_DATA"],["impl Debug for GimbalDeviceFlags"],["impl Debug for CAMERA_CAPTURE_STATUS_DATA"],["impl Debug for GoproProtuneExposure"],["impl Debug for PLAY_TUNE_V2_DATA"],["impl Debug for MotorTestOrder"],["impl Debug for ALTITUDE_DATA"],["impl Debug for DEEPSTALL_DATA"],["impl Debug for ORBIT_EXECUTION_STATUS_DATA"],["impl Debug for GOPRO_GET_RESPONSE_DATA"],["impl Debug for HighresImuUpdatedFlags"],["impl Debug for MavOdidArmStatus"],["impl Debug for MagCalStatus"],["impl Debug for MavArmAuthDeniedReason"],["impl Debug for SCALED_PRESSURE3_DATA"],["impl Debug for MavSeverity"],["impl Debug for CameraTrackingStatusFlags"],["impl Debug for PARAM_EXT_ACK_DATA"],["impl Debug for LOCAL_POSITION_NED_DATA"],["impl Debug for MavProtocolCapability"],["impl Debug for MavSensorOrientation"],["impl Debug for COLLISION_DATA"],["impl Debug for AccelcalVehiclePos"],["impl Debug for COMPONENT_INFORMATION_DATA"],["impl Debug for StorageUsageFlag"],["impl Debug for TERRAIN_CHECK_DATA"],["impl Debug for HIL_GPS_DATA"],["impl Debug for CONTROL_SYSTEM_STATE_DATA"],["impl Debug for RC_CHANNELS_SCALED_DATA"],["impl Debug for MagCalStatus"],["impl Debug for ENCAPSULATED_DATA_DATA"],["impl Debug for MotorTestOrder"],["impl Debug for COLLISION_DATA"],["impl Debug for COMMAND_CANCEL_DATA"],["impl Debug for MavOdidClassEu"],["impl Debug for ODOMETRY_DATA"],["impl Debug for ParserError"],["impl Debug for ActuatorConfiguration"],["impl Debug for GimbalAxis"],["impl Debug for MavBatteryFault"],["impl Debug for DATA16_DATA"],["impl Debug for FirmwareVersionType"],["impl Debug for GimbalDeviceErrorFlags"],["impl Debug for MavOdidHorAcc"],["impl Debug for HIGH_LATENCY2_DATA"],["impl Debug for ParachuteAction"],["impl Debug for ATTITUDE_QUATERNION_COV_DATA"],["impl Debug for DIGICAM_CONTROL_DATA"],["impl Debug for MavCmd"],["impl Debug for MavRoi"],["impl Debug for ESC_STATUS_DATA"],["impl Debug for GoproFieldOfView"],["impl Debug for SCALED_PRESSURE3_DATA"],["impl Debug for GoproCharging"],["impl Debug for ESC_TELEMETRY_5_TO_8_DATA"],["impl Debug for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl Debug for WinchActions"],["impl Debug for GoproProtuneColour"],["impl Debug for MavlinkDataStreamType"],["impl Debug for NAMED_VALUE_INT_DATA"],["impl Debug for POSITION_TARGET_LOCAL_NED_DATA"],["impl Debug for HIL_CONTROLS_DATA"],["impl Debug for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Debug for EFI_STATUS_DATA"],["impl Debug for ISBD_LINK_STATUS_DATA"],["impl Debug for PARAM_VALUE_DATA"],["impl Debug for FLIGHT_INFORMATION_DATA"],["impl Debug for GimbalAxisCalibrationStatus"],["impl Debug for MavOdidHeightRef"],["impl Debug for ALTITUDE_DATA"],["impl Debug for LimitsState"],["impl Debug for PreflightStorageParameterAction"],["impl Debug for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Debug for ORBIT_EXECUTION_STATUS_DATA"],["impl Debug for MavOdidHorAcc"],["impl Debug for SET_MODE_DATA"],["impl Debug for MavDoRepositionFlags"],["impl Debug for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Debug for CHANGE_OPERATOR_CONTROL_DATA"],["impl Debug for StorageUsageFlag"],["impl Debug for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Debug for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Debug for UTM_GLOBAL_POSITION_DATA"],["impl Debug for ATTITUDE_QUATERNION_DATA"],["impl Debug for MavAutopilot"],["impl Debug for GLOBAL_POSITION_INT_COV_DATA"],["impl Debug for AdsbEmitterType"],["impl Debug for MOUNT_ORIENTATION_DATA"],["impl Debug for MOUNT_STATUS_DATA"],["impl Debug for MavFtpErr"],["impl Debug for DEVICE_OP_WRITE_REPLY_DATA"],["impl Debug for CellularNetworkRadioType"],["impl Debug for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Debug for MavEventCurrentSequenceFlags"],["impl Debug for DeviceOpBustype"],["impl Debug for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Debug for LED_CONTROL_DATA"],["impl Debug for CellularNetworkFailedReason"],["impl Debug for LOGGING_ACK_DATA"],["impl Debug for MavOdidHeightRef"],["impl Debug for MavType"],["impl Debug for GimbalManagerFlags"],["impl Debug for ATTITUDE_TARGET_DATA"],["impl Debug for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Debug for GimbalManagerCapFlags"],["impl Debug for GripperActions"],["impl Debug for LOG_REQUEST_LIST_DATA"],["impl Debug for ISBD_LINK_STATUS_DATA"],["impl Debug for MESSAGE_INTERVAL_DATA"],["impl Debug for HIGH_LATENCY2_DATA"],["impl Debug for EscFailureFlags"],["impl Debug for HEARTBEAT_DATA"],["impl Debug for WINCH_STATUS_DATA"],["impl Debug for PreflightStorageMissionAction"],["impl Debug for PidTuningAxis"],["impl Debug for RtkBaselineCoordinateSystem"],["impl Debug for WHEEL_DISTANCE_DATA"],["impl Debug for MavOdidCategoryEu"],["impl Debug for EstimatorStatusFlags"],["impl Debug for MavOdidSpeedAcc"],["impl Debug for MISSION_REQUEST_INT_DATA"],["impl Debug for HighresImuUpdatedFlags"],["impl Debug for MISSION_ACK_DATA"],["impl Debug for MOUNT_ORIENTATION_DATA"],["impl Debug for PARAM_EXT_SET_DATA"],["impl Debug for SCALED_PRESSURE3_DATA"],["impl Debug for MavModeGimbal"],["impl Debug for SMART_BATTERY_INFO_DATA"],["impl Debug for PLAY_TUNE_DATA"],["impl Debug for ParamAck"],["impl Debug for FenceAction"],["impl Debug for HilSensorUpdatedFlags"],["impl Debug for SET_ATTITUDE_TARGET_DATA"],["impl Debug for MavRoi"],["impl Debug for EXTENDED_SYS_STATE_DATA"],["impl Debug for MotorTestThrottleType"],["impl Debug for SpeedType"],["impl Debug for NavVtolLandOptions"],["impl Debug for CAN_FRAME_DATA"],["impl Debug for AttitudeTargetTypemask"],["impl Debug for MANUAL_SETPOINT_DATA"],["impl Debug for PARAM_REQUEST_LIST_DATA"],["impl Debug for CameraTrackingMode"],["impl Debug for PING_DATA"],["impl Debug for PreflightStorageMissionAction"],["impl Debug for CellularConfigResponse"],["impl Debug for CHANGE_OPERATOR_CONTROL_DATA"],["impl Debug for VideoStreamStatusFlags"],["impl Debug for CellularStatusFlag"],["impl Debug for MavArmAuthDeniedReason"],["impl Debug for MavFtpOpcode"],["impl Debug for DISTANCE_SENSOR_DATA"],["impl Debug for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Debug for AUTH_KEY_DATA"],["impl Debug for CameraCapFlags"],["impl Debug for GoproCaptureMode"],["impl Debug for MavDistanceSensor"],["impl Debug for MavBatteryFault"],["impl Debug for CUBEPILOT_RAW_RC_DATA"],["impl Debug for PLAY_TUNE_DATA"],["impl Debug for OPEN_DRONE_ID_LOCATION_DATA"],["impl Debug for MavOdidAuthType"],["impl Debug for GPS_RTK_DATA"],["impl Debug for MavOdidOperatorLocationType"],["impl Debug for MAVLinkV1MessageRaw"],["impl Debug for MESSAGE_INTERVAL_DATA"],["impl Debug for MavMode"],["impl Debug for MavState"],["impl Debug for MEMINFO_DATA"],["impl Debug for CAMERA_IMAGE_CAPTURED_DATA"],["impl Debug for MavParamType"],["impl Debug for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Debug for FOLLOW_TARGET_DATA"],["impl Debug for MANUAL_CONTROL_DATA"],["impl Debug for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Debug for ATTITUDE_QUATERNION_COV_DATA"],["impl Debug for BATTERY_STATUS_DATA"],["impl Debug for FOLLOW_TARGET_DATA"],["impl Debug for SET_HOME_POSITION_DATA"],["impl Debug for GimbalDeviceFlags"],["impl Debug for AUTOPILOT_VERSION_DATA"],["impl Debug for UavionixAdsbOutCfgAircraftSize"],["impl Debug for VIBRATION_DATA"],["impl Debug for RAW_IMU_DATA"],["impl Debug for DEBUG_VECT_DATA"],["impl Debug for UtmDataAvailFlags"],["impl Debug for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Debug for MavRemoteLogDataBlockStatuses"],["impl Debug for SERIAL_CONTROL_DATA"],["impl Debug for PreflightStorageParameterAction"],["impl Debug for VISION_POSITION_ESTIMATE_DATA"],["impl Debug for RALLY_POINT_DATA"],["impl Debug for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Debug for MISSION_ITEM_INT_DATA"],["impl Debug for HIL_STATE_QUATERNION_DATA"],["impl Debug for SCALED_IMU2_DATA"],["impl Debug for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Debug for EVENT_DATA"],["impl Debug for LINK_NODE_STATUS_DATA"],["impl Debug for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl Debug for WinchActions"],["impl Debug for SCALED_PRESSURE2_DATA"],["impl Debug for WifiConfigApMode"],["impl Debug for RESPONSE_EVENT_ERROR_DATA"],["impl Debug for HYGROMETER_SENSOR_DATA"],["impl Debug for MavOdidOperatorIdType"],["impl Debug for SCALED_IMU3_DATA"],["impl Debug for SCALED_PRESSURE_DATA"],["impl Debug for VISION_SPEED_ESTIMATE_DATA"],["impl Debug for UAVCAN_NODE_INFO_DATA"],["impl Debug for FailureUnit"],["impl Debug for TuneFormat"],["impl Debug for SETUP_SIGNING_DATA"],["impl Debug for DATA_STREAM_DATA"],["impl Debug for WIFI_CONFIG_AP_DATA"],["impl Debug for REQUEST_DATA_STREAM_DATA"],["impl Debug for MavModeFlagDecodePosition"],["impl Debug for ESTIMATOR_STATUS_DATA"],["impl Debug for ADSB_VEHICLE_DATA"],["impl Debug for GLOBAL_POSITION_INT_DATA"],["impl Debug for GimbalDeviceCapFlags"],["impl Debug for BUTTON_CHANGE_DATA"],["impl Debug for UavionixAdsbOutRfSelect"],["impl Debug for GpsFixType"],["impl Debug for STATUSTEXT_DATA"],["impl Debug for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Debug for IcarousTrackBandTypes"],["impl Debug for LOG_DATA_DATA"],["impl Debug for CameraMode"],["impl Debug for EFI_STATUS_DATA"],["impl Debug for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Debug for SET_MODE_DATA"],["impl Debug for LINK_NODE_STATUS_DATA"],["impl Debug for GIMBAL_MANAGER_STATUS_DATA"],["impl Debug for MavOdidDescType"],["impl Debug for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl Debug for STATUSTEXT_DATA"],["impl Debug for UavionixAdsbOutDynamicGpsFix"],["impl Debug for MavSysStatusSensorExtended"],["impl Debug for LOCAL_POSITION_NED_COV_DATA"],["impl Debug for CELLULAR_STATUS_DATA"],["impl Debug for AdsbFlags"],["impl Debug for SetFocusType"],["impl Debug for RC_CHANNELS_SCALED_DATA"],["impl Debug for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Debug for CANFD_FRAME_DATA"],["impl Debug for BATTERY2_DATA"],["impl Debug for CanFilterOp"],["impl Debug for UavcanNodeMode"],["impl Debug for PARAM_VALUE_DATA"],["impl Debug for RC_CHANNELS_DATA"],["impl Debug for EscConnectionType"],["impl Debug for UavcanNodeHealth"],["impl Debug for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Debug for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Debug for CAN_FILTER_MODIFY_DATA"],["impl Debug for MavlinkVersion"],["impl Debug for FENCE_STATUS_DATA"],["impl Debug for CompMetadataType"],["impl Debug for OsdParamConfigType"],["impl Debug for PLAY_TUNE_V2_DATA"],["impl Debug for MavDoRepositionFlags"],["impl Debug for MavOdidArmStatus"],["impl Debug for UavionixAdsbOutDynamicState"],["impl Debug for AUTH_KEY_DATA"],["impl Debug for MavRemoteLogDataBlockCommands"],["impl Debug for UavionixAdsbRfHealth"],["impl Debug for FenceMitigate"],["impl Debug for ATTITUDE_TARGET_DATA"],["impl Debug for MavOdidAuthType"],["impl Debug for ESC_INFO_DATA"],["impl Debug for GoproModel"],["impl Debug for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Debug for PROTOCOL_VERSION_DATA"],["impl Debug for FailureUnit"],["impl Debug for REQUEST_EVENT_DATA"],["impl Debug for LOCAL_POSITION_NED_DATA"],["impl Debug for MavParamType"],["impl Debug for MavFtpErr"],["impl Debug for MavSensorOrientation"],["impl Debug for HERELINK_TELEM_DATA"],["impl Debug for UtmFlightState"],["impl Debug for SERVO_OUTPUT_RAW_DATA"],["impl Debug for DEVICE_OP_WRITE_DATA"],["impl Debug for MISSION_REQUEST_LIST_DATA"],["impl Debug for UTM_GLOBAL_POSITION_DATA"],["impl Debug for MavMountMode"],["impl Debug for HWSTATUS_DATA"],["impl Debug for COMMAND_ACK_DATA"],["impl Debug for GPS_GLOBAL_ORIGIN_DATA"],["impl Debug for MISSION_SET_CURRENT_DATA"],["impl Debug for MavFrame"],["impl Debug for TERRAIN_REQUEST_DATA"],["impl Debug for TUNNEL_DATA"],["impl Debug for PARAM_EXT_VALUE_DATA"],["impl Debug for MavModeFlagDecodePosition"],["impl Debug for EscConnectionType"],["impl Debug for AUTOPILOT_VERSION_DATA"],["impl Debug for MISSION_COUNT_DATA"],["impl Debug for LOGGING_ACK_DATA"],["impl Debug for MavGeneratorStatusFlag"],["impl Debug for RC_CHANNELS_RAW_DATA"],["impl Debug for HIL_OPTICAL_FLOW_DATA"],["impl Debug for MavParamExtType"],["impl Debug for PARAM_REQUEST_READ_DATA"],["impl Debug for SCALED_IMU2_DATA"],["impl Debug for MavBatteryFunction"],["impl Debug for GPS_RTCM_DATA_DATA"],["impl Debug for AOA_SSA_DATA"],["impl Debug for LOGGING_DATA_DATA"],["impl Debug for VISION_POSITION_DELTA_DATA"],["impl Debug for MavEventCurrentSequenceFlags"],["impl Debug for CameraTrackingStatusFlags"],["impl Debug for FILE_TRANSFER_PROTOCOL_DATA"],["impl Debug for SET_MODE_DATA"],["impl Debug for UtmFlightState"],["impl Debug for RoverMode"],["impl Debug for AHRS_DATA"],["impl Debug for HIL_STATE_DATA"],["impl Debug for STORAGE_INFORMATION_DATA"],["impl Debug for MavCmdDoAuxFunctionSwitchLevel"],["impl Debug for VtolTransitionHeading"],["impl Debug for MavParamExtType"],["impl Debug for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Debug for CompMetadataType"],["impl Debug for MANUAL_SETPOINT_DATA"],["impl Debug for UavionixAdsbOutCfgGpsOffsetLon"],["impl Debug for SET_ATTITUDE_TARGET_DATA"],["impl Debug for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Debug for MavSysStatusSensorExtended"],["impl Debug for EscFailureFlags"],["impl Debug for StorageType"],["impl Debug for MavMissionType"],["impl Debug for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Debug for SETUP_SIGNING_DATA"],["impl Debug for MavFrame"],["impl Debug for GpsFixType"],["impl Debug for OPEN_DRONE_ID_LOCATION_DATA"],["impl Debug for CAN_FILTER_MODIFY_DATA"],["impl Debug for AttitudeTargetTypemask"],["impl Debug for PARAM_SET_DATA"],["impl Debug for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Debug for RC_CHANNELS_OVERRIDE_DATA"],["impl Debug for EKF_STATUS_REPORT_DATA"],["impl Debug for RC_CHANNELS_RAW_DATA"],["impl Debug for SMART_BATTERY_INFO_DATA"],["impl Debug for MavVtolState"],["impl Debug for MavlinkDataStreamType"],["impl Debug for CAMERA_FEEDBACK_DATA"],["impl Debug for ADAP_TUNING_DATA"],["impl Debug for FirmwareVersionType"],["impl Debug for MavOdidOperatorIdType"],["impl Debug for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Debug for FOLLOW_TARGET_DATA"],["impl Debug for VIDEO_STREAM_STATUS_DATA"],["impl Debug for MavTunnelPayloadType"],["impl Debug for MEMORY_VECT_DATA"],["impl Debug for HIL_CONTROLS_DATA"],["impl Debug for SAFETY_ALLOWED_AREA_DATA"],["impl Debug for TERRAIN_CHECK_DATA"],["impl Debug for CameraZoomType"],["impl Debug for SIM_STATE_DATA"],["impl Debug for UavionixAdsbRfHealth"],["impl Debug for ATT_POS_MOCAP_DATA"],["impl Debug for SERVO_OUTPUT_RAW_DATA"],["impl Debug for UavionixAdsbEmergencyStatus"],["impl Debug for MagCalStatus"],["impl Debug for MavOdidVerAcc"],["impl Debug for MavOdidDescType"],["impl Debug for AdsbAltitudeType"],["impl Debug for LANDING_TARGET_DATA"],["impl Debug for PARAM_EXT_ACK_DATA"],["impl Debug for UavionixAdsbEmergencyStatus"],["impl Debug for ADSB_VEHICLE_DATA"],["impl Debug for COMPONENT_METADATA_DATA"],["impl Debug for CellularNetworkRadioType"],["impl Debug for REQUEST_EVENT_DATA"],["impl Debug for MavMode"],["impl Debug for NavVtolLandOptions"],["impl Debug for MavAutopilot"],["impl Debug for RAW_RPM_DATA"],["impl Debug for MavOdidIdType"],["impl Debug for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Debug for WifiConfigApResponse"],["impl Debug for CAMERA_INFORMATION_DATA"],["impl Debug for SerialControlFlag"],["impl Debug for GoproFrameRate"],["impl Debug for AisFlags"],["impl Debug for NAV_CONTROLLER_OUTPUT_DATA"],["impl Debug for GIMBAL_MANAGER_STATUS_DATA"],["impl Debug for DEBUG_DATA"],["impl Debug for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Debug for MavGoto"],["impl Debug for LOGGING_DATA_ACKED_DATA"],["impl Debug for VISION_SPEED_ESTIMATE_DATA"],["impl Debug for AisType"],["impl Debug for ICAROUS_HEARTBEAT_DATA"],["impl Debug for MavMissionResult"],["impl Debug for MOUNT_CONTROL_DATA"],["impl Debug for MISSION_REQUEST_DATA"],["impl Debug for HIL_STATE_DATA"],["impl Debug for PARAM_EXT_REQUEST_LIST_DATA"],["impl Debug for SAFETY_ALLOWED_AREA_DATA"],["impl Debug for MavCollisionAction"],["impl Debug for MessageReadError"],["impl Debug for POWER_STATUS_DATA"],["impl Debug for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Debug for COMMAND_INT_DATA"],["impl Debug for OrbitYawBehaviour"],["impl Debug for ODOMETRY_DATA"],["impl Debug for RC_CHANNELS_SCALED_DATA"],["impl Debug for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Debug for LINK_NODE_STATUS_DATA"],["impl Debug for LimitModule"],["impl Debug for DEBUG_VECT_DATA"],["impl Debug for SET_ATTITUDE_TARGET_DATA"],["impl Debug for MavCmdAck"],["impl Debug for HIL_OPTICAL_FLOW_DATA"],["impl Debug for GoproResolution"],["impl Debug for LOG_REQUEST_DATA_DATA"],["impl Debug for MavSensorOrientation"],["impl Debug for TIMESYNC_DATA"],["impl Debug for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Debug for MavBatteryChargeState"],["impl Debug for MISSION_REQUEST_DATA"],["impl Debug for MavResult"],["impl Debug for COMPONENT_METADATA_DATA"],["impl Debug for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Debug for PARAM_REQUEST_READ_DATA"],["impl Debug for TuneFormat"],["impl Debug for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Debug for STORAGE_INFORMATION_DATA"],["impl Debug for VICON_POSITION_ESTIMATE_DATA"],["impl Debug for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Debug for MISSION_ITEM_DATA"],["impl Debug for PING_DATA"],["impl Debug for GENERATOR_STATUS_DATA"],["impl Debug for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Debug for FILE_TRANSFER_PROTOCOL_DATA"],["impl Debug for PARAM_EXT_REQUEST_READ_DATA"],["impl Debug for MavOdidIdType"],["impl Debug for MavTunnelPayloadType"],["impl Debug for CameraCapFlags"],["impl Debug for ATTITUDE_DATA"],["impl Debug for MEMORY_VECT_DATA"],["impl Debug for GoproProtuneGain"],["impl Debug for MISSION_ITEM_INT_DATA"],["impl Debug for LANDING_TARGET_DATA"],["impl Debug for MavProtocolCapability"],["impl Debug for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Debug for SERVO_OUTPUT_RAW_DATA"],["impl Debug for COMMAND_CANCEL_DATA"],["impl Debug for ESC_TELEMETRY_1_TO_4_DATA"],["impl Debug for DeepstallStage"],["impl Debug for MissionState"],["impl Debug for MavDoRepositionFlags"],["impl Debug for UavionixAdsbOutDynamicState"],["impl Debug for MavFtpOpcode"],["impl Debug for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Debug for LOG_REQUEST_DATA_DATA"],["impl Debug for BUTTON_CHANGE_DATA"],["impl Debug for LOG_ENTRY_DATA"],["impl Debug for GPS_INJECT_DATA_DATA"],["impl Debug for DISTANCE_SENSOR_DATA"],["impl Debug for CameraTrackingMode"],["impl Debug for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Debug for VISION_SPEED_ESTIMATE_DATA"],["impl Debug for MavGeneratorStatusFlag"],["impl Debug for MavDistanceSensor"],["impl Debug for OPTICAL_FLOW_RAD_DATA"],["impl Debug for AIS_VESSEL_DATA"],["impl Debug for CellularStatusFlag"],["impl Debug for MISSION_ITEM_DATA"],["impl Debug for CAMERA_IMAGE_CAPTURED_DATA"],["impl Debug for MavOdidClassificationType"],["impl Debug for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Debug for RtkBaselineCoordinateSystem"],["impl Debug for MavWinchStatusFlag"],["impl Debug for GLOBAL_POSITION_INT_DATA"],["impl Debug for StorageStatus"],["impl Debug for REMOTE_LOG_DATA_BLOCK_DATA"],["impl Debug for DEBUG_FLOAT_ARRAY_DATA"],["impl Debug for CAMERA_TRIGGER_DATA"],["impl Debug for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl<M: Debug + Message> Debug for MavFrame<M>"],["impl Debug for MavGeneratorStatusFlag"],["impl Debug for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Debug for GIMBAL_CONTROL_DATA"],["impl Debug for HIL_ACTUATOR_CONTROLS_DATA"],["impl Debug for SCALED_IMU3_DATA"],["impl Debug for HlFailureFlag"],["impl Debug for TIMESYNC_DATA"],["impl Debug for FLIGHT_INFORMATION_DATA"],["impl Debug for GENERATOR_STATUS_DATA"],["impl Debug for VIBRATION_DATA"],["impl Debug for MavOdidOperatorLocationType"],["impl Debug for AHRS3_DATA"],["impl Debug for CopterMode"],["impl Debug for StorageStatus"],["impl Debug for PARAM_EXT_SET_DATA"],["impl Debug for RAW_RPM_DATA"],["impl Debug for MavOdidOperatorLocationType"],["impl Debug for GpsInputIgnoreFlags"],["impl Debug for SYS_STATUS_DATA"],["impl Debug for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Debug for WINCH_STATUS_DATA"],["impl Debug for GimbalDeviceCapFlags"],["impl Debug for MavDataStream"],["impl Debug for TERRAIN_REQUEST_DATA"],["impl Debug for COMMAND_CANCEL_DATA"],["impl Debug for WifiConfigApMode"],["impl Debug for VFR_HUD_DATA"],["impl Debug for MavOdidUaType"],["impl Debug for WIFI_CONFIG_AP_DATA"],["impl Debug for SCALED_PRESSURE_DATA"],["impl Debug for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Debug for MavSysStatusSensor"],["impl Debug for LOG_REQUEST_DATA_DATA"],["impl Debug for WifiConfigApMode"],["impl Debug for MISSION_ITEM_REACHED_DATA"],["impl Debug for MISSION_REQUEST_INT_DATA"],["impl Debug for UavcanNodeMode"],["impl Debug for MAG_CAL_REPORT_DATA"],["impl Debug for PARAM_SET_DATA"],["impl Debug for ESTIMATOR_STATUS_DATA"],["impl Debug for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Debug for HEARTBEAT_DATA"],["impl Debug for UavionixAdsbOutCfgGpsOffsetLon"],["impl Debug for MavMountMode"],["impl Debug for MessageWriteError"],["impl Debug for HIL_GPS_DATA"],["impl Debug for CAMERA_INFORMATION_DATA"],["impl Debug for VIDEO_STREAM_INFORMATION_DATA"],["impl Debug for SUPPORTED_TUNES_DATA"],["impl Debug for MavOdidHeightRef"],["impl Debug for PositionTargetTypemask"],["impl Debug for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Debug for SUPPORTED_TUNES_DATA"],["impl Debug for GimbalDeviceErrorFlags"],["impl Debug for PARAM_REQUEST_LIST_DATA"],["impl Debug for GpsFixType"],["impl Debug for MavCollisionSrc"],["impl Debug for DEBUG_VECT_DATA"],["impl Debug for COMMAND_INT_DATA"],["impl Debug for WATER_DEPTH_DATA"],["impl Debug for OBSTACLE_DISTANCE_3D_DATA"],["impl Debug for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Debug for CanFilterOp"],["impl Debug for MavBatteryFunction"],["impl Debug for MavEstimatorType"],["impl Debug for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Debug for MCU_STATUS_DATA"],["impl Debug for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Debug for GimbalManagerCapFlags"],["impl Debug for GIMBAL_MANAGER_STATUS_DATA"],["impl Debug for MavBatteryMode"],["impl Debug for ATT_POS_MOCAP_DATA"],["impl Debug for UAVCAN_NODE_STATUS_DATA"],["impl Debug for V2_EXTENSION_DATA"],["impl Debug for MavCollisionThreatLevel"],["impl Debug for UavcanNodeMode"],["impl Debug for GPS_STATUS_DATA"],["impl Debug for MavSysStatusSensor"],["impl Debug for MavOdidClassificationType"],["impl Debug for HIL_STATE_QUATERNION_DATA"],["impl Debug for PLAY_TUNE_DATA"],["impl Debug for MavLandedState"],["impl Debug for RESOURCE_REQUEST_DATA"],["impl Debug for COMMAND_INT_DATA"],["impl Debug for CameraZoomType"],["impl Debug for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Debug for AisNavStatus"],["impl Debug for MISSION_CLEAR_ALL_DATA"],["impl Debug for LOG_ERASE_DATA"],["impl Debug for COMMAND_ACK_DATA"],["impl Debug for RPM_DATA"],["impl Debug for MavGoto"],["impl Debug for MISSION_ITEM_REACHED_DATA"],["impl Debug for AP_ADC_DATA"],["impl Debug for PrecisionLandMode"],["impl Debug for POWER_STATUS_DATA"],["impl Debug for PING_DATA"],["impl Debug for CameraMode"],["impl Debug for REQUEST_DATA_STREAM_DATA"],["impl Debug for CELLULAR_STATUS_DATA"],["impl Debug for GoproCommand"],["impl Debug for CAMERA_FOV_STATUS_DATA"],["impl Debug for ALTITUDE_DATA"],["impl Debug for COMPONENT_METADATA_DATA"],["impl Debug for ESC_STATUS_DATA"],["impl Debug for WIND_COV_DATA"],["impl Debug for AisType"],["impl Debug for LOG_ERASE_DATA"],["impl Debug for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Debug for FailureType"],["impl Debug for GIMBAL_REPORT_DATA"],["impl Debug for LOGGING_DATA_ACKED_DATA"],["impl Debug for CellularNetworkFailedReason"],["impl Debug for MavOdidCategoryEu"],["impl Debug for UavionixAdsbOutRfSelect"],["impl Debug for ONBOARD_COMPUTER_STATUS_DATA"],["impl Debug for MavMissionType"],["impl Debug for LOG_REQUEST_LIST_DATA"],["impl Debug for ICAROUS_HEARTBEAT_DATA"],["impl Debug for GPS_INJECT_DATA_DATA"],["impl Debug for ATTITUDE_DATA"],["impl Debug for MavModeFlag"],["impl Debug for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Debug for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Debug for NAMED_VALUE_FLOAT_DATA"],["impl Debug for RESPONSE_EVENT_ERROR_DATA"],["impl Debug for GPS2_RTK_DATA"],["impl Debug for BUTTON_CHANGE_DATA"],["impl Debug for MANUAL_CONTROL_DATA"],["impl Debug for CameraTrackingMode"],["impl Debug for GimbalDeviceFlags"],["impl Debug for ParamAck"],["impl Debug for TERRAIN_REPORT_DATA"],["impl Debug for NAV_CONTROLLER_OUTPUT_DATA"],["impl Debug for ActuatorOutputFunction"],["impl Debug for MavCmd"],["impl Debug for CameraFeedbackFlags"],["impl Debug for EscConnectionType"],["impl Debug for LandingTargetType"],["impl Debug for MavEventErrorReason"],["impl Debug for MavCollisionAction"],["impl Debug for PARAM_SET_DATA"],["impl Debug for MavOdidHorAcc"],["impl Debug for RADIO_STATUS_DATA"],["impl Debug for POSITION_TARGET_LOCAL_NED_DATA"],["impl Debug for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Debug for OBSTACLE_DISTANCE_DATA"],["impl Debug for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Debug for MavFtpErr"],["impl Debug for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Debug for CameraStatusTypes"],["impl Debug for SubMode"],["impl Debug for GoproHeartbeatStatus"],["impl Debug for VFR_HUD_DATA"],["impl Debug for UavionixAdsbOutCfgAircraftSize"],["impl Debug for TERRAIN_DATA_DATA"],["impl Debug for NavVtolLandOptions"],["impl Debug for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Debug for RAW_RPM_DATA"],["impl Debug for PARAM_MAP_RC_DATA"],["impl Debug for SerialControlDev"],["impl Debug for HIGH_LATENCY_DATA"],["impl Debug for PROTOCOL_VERSION_DATA"],["impl Debug for VIDEO_STREAM_INFORMATION_DATA"],["impl Debug for FirmwareVersionType"],["impl Debug for GPS_GLOBAL_ORIGIN_DATA"],["impl Debug for MavOdidArmStatus"],["impl Debug for ORBIT_EXECUTION_STATUS_DATA"],["impl Debug for MavVtolState"],["impl Debug for LOG_ENTRY_DATA"],["impl Debug for MISSION_CLEAR_ALL_DATA"],["impl Debug for VICON_POSITION_ESTIMATE_DATA"],["impl Debug for SCALED_IMU2_DATA"],["impl Debug for LedControlPattern"],["impl Debug for HIL_SENSOR_DATA"],["impl Debug for MISSION_SET_CURRENT_DATA"],["impl Debug for AdsbAltitudeType"],["impl Debug for IcarousTrackBandTypes"],["impl Debug for LOG_REQUEST_END_DATA"],["impl Debug for FenceAction"],["impl Debug for REQUEST_DATA_STREAM_DATA"],["impl Debug for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Debug for MavOdidTimeAcc"],["impl Debug for MavWinchStatusFlag"],["impl Debug for MissionState"],["impl Debug for MissionState"],["impl Debug for GimbalAxisCalibrationRequired"],["impl Debug for EXTENDED_SYS_STATE_DATA"],["impl Debug for SYS_STATUS_DATA"],["impl Debug for FILE_TRANSFER_PROTOCOL_DATA"],["impl Debug for PARAM_EXT_ACK_DATA"],["impl Debug for MavBatteryMode"],["impl Debug for COMMAND_LONG_DATA"],["impl Debug for AisNavStatus"],["impl Debug for MavParamExtType"],["impl Debug for OSD_PARAM_SHOW_CONFIG_DATA"],["impl Debug for VICON_POSITION_ESTIMATE_DATA"],["impl Debug for HIGH_LATENCY2_DATA"],["impl Debug for EXTENDED_SYS_STATE_DATA"],["impl Debug for GPS_RTK_DATA"],["impl Debug for CELLULAR_STATUS_DATA"],["impl Debug for OPTICAL_FLOW_RAD_DATA"],["impl Debug for MISSION_CLEAR_ALL_DATA"],["impl Debug for MavModeFlag"],["impl Debug for VISION_POSITION_ESTIMATE_DATA"],["impl Debug for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Debug for HIL_GPS_DATA"],["impl Debug for HOME_POSITION_DATA"],["impl Debug for MOUNT_CONFIGURE_DATA"],["impl Debug for MANUAL_SETPOINT_DATA"],["impl Debug for VideoStreamStatusFlags"],["impl Debug for MavOdidAuthType"],["impl Debug for TERRAIN_REQUEST_DATA"],["impl Debug for FENCE_POINT_DATA"],["impl Debug for DATA64_DATA"],["impl Debug for SCALED_PRESSURE2_DATA"],["impl Debug for HIGH_LATENCY_DATA"],["impl Debug for MavBatteryType"],["impl Debug for GPS_INPUT_DATA"],["impl Debug for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Debug for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Debug for GOPRO_SET_REQUEST_DATA"],["impl Debug for DATA96_DATA"],["impl Debug for ACTUATOR_CONTROL_TARGET_DATA"],["impl Debug for AHRS2_DATA"],["impl Debug for SCALED_PRESSURE2_DATA"],["impl Debug for AdsbAltitudeType"],["impl Debug for SAFETY_ALLOWED_AREA_DATA"],["impl Debug for ESC_INFO_DATA"],["impl Debug for REQUEST_EVENT_DATA"],["impl Debug for MISSION_CURRENT_DATA"],["impl Debug for WIND_COV_DATA"],["impl Debug for TrackerMode"],["impl Debug for MavOdidVerAcc"],["impl Debug for RAW_PRESSURE_DATA"],["impl Debug for MAG_CAL_REPORT_DATA"],["impl Debug for LOGGING_DATA_DATA"],["impl Debug for LOGGING_DATA_DATA"],["impl Debug for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Debug for HIGH_LATENCY_DATA"],["impl Debug for CANFD_FRAME_DATA"],["impl Debug for DEBUG_DATA"],["impl Debug for DISTANCE_SENSOR_DATA"],["impl Debug for SerialControlDev"],["impl Debug for CameraZoomType"],["impl Debug for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Debug for GimbalDeviceCapFlags"],["impl Debug for HlFailureFlag"],["impl Debug for GPS2_RAW_DATA"],["impl Debug for HIL_ACTUATOR_CONTROLS_DATA"],["impl Debug for ODOMETRY_DATA"],["impl Debug for GoproVideoSettingsFlags"],["impl Debug for POWER_STATUS_DATA"],["impl Debug for SIM_STATE_DATA"],["impl Debug for GOPRO_SET_RESPONSE_DATA"],["impl Debug for AisType"],["impl Debug for MavOdidUaType"],["impl Debug for MISSION_COUNT_DATA"],["impl Debug for COMPONENT_INFORMATION_DATA"],["impl Debug for VFR_HUD_DATA"],["impl Debug for MISSION_REQUEST_LIST_DATA"],["impl Debug for GoproPhotoResolution"],["impl Debug for VtolTransitionHeading"],["impl Debug for WIND_DATA"],["impl Debug for GPS_STATUS_DATA"],["impl Debug for MavCollisionSrc"],["impl Debug for PARAM_REQUEST_READ_DATA"],["impl Debug for MavFrame"],["impl Debug for CAMERA_CAPTURE_STATUS_DATA"],["impl Debug for MavOdidTimeAcc"],["impl Debug for CAMERA_STATUS_DATA"],["impl Debug for RESPONSE_EVENT_ERROR_DATA"],["impl Debug for CONTROL_SYSTEM_STATE_DATA"],["impl Debug for PARAM_EXT_SET_DATA"],["impl Debug for MavDataStream"],["impl Debug for HEARTBEAT_DATA"],["impl Debug for MISSION_REQUEST_INT_DATA"],["impl Debug for AisFlags"],["impl Debug for LOG_REQUEST_END_DATA"],["impl Debug for TUNNEL_DATA"],["impl Debug for PARAM_EXT_REQUEST_READ_DATA"],["impl Debug for COLLISION_DATA"],["impl Debug for TUNNEL_DATA"],["impl Debug for RtkBaselineCoordinateSystem"],["impl Debug for GpsInputIgnoreFlags"],["impl Debug for ONBOARD_COMPUTER_STATUS_DATA"],["impl Debug for MavModeFlag"],["impl Debug for ParamAck"],["impl Debug for MavOdidStatus"],["impl Debug for RALLY_FETCH_POINT_DATA"],["impl Debug for ONBOARD_COMPUTER_STATUS_DATA"],["impl Debug for ISBD_LINK_STATUS_DATA"],["impl Debug for EscFailureFlags"],["impl Debug for MotorTestOrder"],["impl Debug for RESOURCE_REQUEST_DATA"],["impl Debug for HeadingType"],["impl Debug for CameraTrackingTargetData"],["impl Debug for UTM_GLOBAL_POSITION_DATA"],["impl Debug for TERRAIN_DATA_DATA"],["impl Debug for PARAM_MAP_RC_DATA"],["impl Debug for WHEEL_DISTANCE_DATA"],["impl Debug for AIS_VESSEL_DATA"],["impl Debug for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Debug for GPS2_RTK_DATA"],["impl Debug for SIM_STATE_DATA"],["impl Debug for MavOdidClassificationType"],["impl Debug for LOCAL_POSITION_NED_COV_DATA"],["impl Debug for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Debug for ScriptingCmd"],["impl Debug for CameraTrackingStatusFlags"],["impl Debug for MEMORY_VECT_DATA"],["impl Debug for SYSTEM_TIME_DATA"],["impl Debug for MISSION_CURRENT_DATA"],["impl Debug for EVENT_DATA"],["impl Debug for MavTunnelPayloadType"],["impl Debug for MISSION_ITEM_INT_DATA"],["impl Debug for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl Debug for CAN_FRAME_DATA"],["impl Debug for GLOBAL_POSITION_INT_COV_DATA"],["impl Debug for LandingTargetType"],["impl Debug for V2_EXTENSION_DATA"],["impl Debug for FailureUnit"],["impl Debug for CellularNetworkRadioType"],["impl Debug for MavOdidClassEu"],["impl Debug for HilSensorUpdatedFlags"],["impl Debug for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Debug for MavComponent"],["impl Debug for HIL_CONTROLS_DATA"],["impl Debug for UAVCAN_NODE_INFO_DATA"],["impl Debug for ActuatorConfiguration"],["impl Debug for RC_CHANNELS_OVERRIDE_DATA"],["impl Debug for MavMode"],["impl Debug for StorageType"],["impl Debug for SetFocusType"],["impl Debug for MISSION_CURRENT_DATA"],["impl Debug for RC_CHANNELS_DATA"],["impl Debug for OsdParamConfigError"],["impl Debug for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Debug for VISION_POSITION_ESTIMATE_DATA"],["impl Debug for MavCollisionSrc"],["impl Debug for AdsbFlags"],["impl Debug for MOUNT_ORIENTATION_DATA"],["impl Debug for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Debug for GimbalManagerFlags"],["impl Debug for LOCAL_POSITION_NED_COV_DATA"],["impl Debug for DEVICE_OP_READ_DATA"],["impl Debug for MavProtocolCapability"],["impl Debug for DATA_STREAM_DATA"],["impl Debug for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Debug for GPS_INJECT_DATA_DATA"],["impl Debug for VideoStreamStatusFlags"],["impl Debug for MavBatteryFault"],["impl Debug for COMMAND_LONG_DATA"],["impl Debug for PARAM_VALUE_DATA"],["impl Debug for WINCH_STATUS_DATA"],["impl Debug for CURRENT_EVENT_SEQUENCE_DATA"],["impl Debug for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Debug for RC_CHANNELS_RAW_DATA"],["impl Debug for GLOBAL_POSITION_INT_COV_DATA"],["impl Debug for FenceMitigate"],["impl Debug for FenceMitigate"],["impl Debug for BATTERY_STATUS_DATA"],["impl Debug for MISSION_SET_CURRENT_DATA"],["impl Debug for GPS_RTCM_DATA_DATA"],["impl Debug for VIDEO_STREAM_INFORMATION_DATA"],["impl Debug for GpsInputIgnoreFlags"],["impl Debug for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Debug for NAMED_VALUE_INT_DATA"],["impl Debug for CANFD_FRAME_DATA"],["impl Debug for OPTICAL_FLOW_DATA"],["impl Debug for ACTUATOR_CONTROL_TARGET_DATA"],["impl Debug for PARAM_REQUEST_LIST_DATA"],["impl Debug for MavFtpOpcode"],["impl Debug for OPTICAL_FLOW_RAD_DATA"],["impl Debug for SCALED_IMU_DATA"],["impl Debug for RESOURCE_REQUEST_DATA"],["impl Debug for MavOdidStatus"],["impl Debug for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Debug for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Debug for MavCmdAck"],["impl Debug for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Debug for CompMetadataType"],["impl Debug for ENCAPSULATED_DATA_DATA"],["impl Debug for UavionixAdsbOutDynamicGpsFix"],["impl Debug for MESSAGE_INTERVAL_DATA"],["impl Debug for ParachuteAction"],["impl Debug for MavState"],["impl Debug for CAMERA_SETTINGS_DATA"],["impl Debug for LOGGING_ACK_DATA"],["impl Debug for SCALED_IMU_DATA"],["impl Debug for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Debug for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Debug for RC_CHANNELS_DATA"],["impl Debug for MavlinkDataStreamType"],["impl Debug for PrecisionLandMode"],["impl Debug for LOG_DATA_DATA"],["impl Debug for V2_EXTENSION_DATA"],["impl Debug for CAN_FRAME_DATA"],["impl Debug for SIMSTATE_DATA"],["impl Debug for MavEventCurrentSequenceFlags"],["impl Debug for LandingTargetType"],["impl Debug for GPS_RAW_INT_DATA"],["impl Debug for AttitudeTargetTypemask"],["impl Debug for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Debug for GPS2_RTK_DATA"],["impl Debug for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Debug for NAMED_VALUE_FLOAT_DATA"],["impl Debug for SYSTEM_TIME_DATA"],["impl Debug for AutotuneAxis"],["impl Debug for MavOdidOperatorIdType"],["impl Debug for MavBatteryFunction"],["impl Debug for OPTICAL_FLOW_DATA"],["impl Debug for MavOdidClassEu"],["impl Debug for FenceBreach"],["impl Debug for HIGHRES_IMU_DATA"],["impl Debug for CURRENT_EVENT_SEQUENCE_DATA"],["impl Debug for VideoStreamType"],["impl Debug for MavCollisionThreatLevel"],["impl Debug for GPS_STATUS_DATA"],["impl Debug for MAG_CAL_REPORT_DATA"],["impl Debug for TIMESYNC_DATA"],["impl Debug for MavOdidUaType"],["impl Debug for MavMissionResult"],["impl Debug for STORAGE_INFORMATION_DATA"],["impl Debug for OBSTACLE_DISTANCE_DATA"],["impl Debug for MavVtolState"],["impl Debug for MISSION_ACK_DATA"],["impl Debug for MavOdidTimeAcc"],["impl Debug for PARAM_EXT_REQUEST_READ_DATA"],["impl Debug for GOPRO_HEARTBEAT_DATA"],["impl Debug for DEBUG_DATA"],["impl Debug for HilSensorUpdatedFlags"],["impl Debug for ATT_POS_MOCAP_DATA"],["impl Debug for CELLULAR_CONFIG_DATA"],["impl Debug for MISSION_ITEM_REACHED_DATA"],["impl Debug for DEBUG_FLOAT_ARRAY_DATA"],["impl Debug for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Debug for CanFilterOp"],["impl Debug for LIMITS_STATUS_DATA"],["impl Debug for UAVCAN_NODE_STATUS_DATA"],["impl Debug for HIL_RC_INPUTS_RAW_DATA"],["impl Debug for CAMERA_CAPTURE_STATUS_DATA"],["impl Debug for PositionTargetTypemask"],["impl Debug for ADSB_VEHICLE_DATA"],["impl Debug for ActuatorConfiguration"],["impl Debug for WifiConfigApResponse"],["impl Debug for HlFailureFlag"],["impl Debug for MavState"],["impl Debug for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Debug for GPS_INPUT_DATA"],["impl Debug for BATTERY_STATUS_DATA"],["impl Debug for MavBatteryMode"],["impl Debug for DEBUG_FLOAT_ARRAY_DATA"],["impl Debug for SerialControlDev"],["impl Debug for IcarousFmsState"],["impl Debug for FENCE_STATUS_DATA"],["impl Debug for MavOdidDescType"],["impl Debug for HIL_SENSOR_DATA"],["impl Debug for CAMERA_FOV_STATUS_DATA"],["impl Debug for MavCmd"],["impl Debug for UAVCAN_NODE_STATUS_DATA"],["impl Debug for MISSION_REQUEST_DATA"],["impl Debug for RANGEFINDER_DATA"],["impl Debug for MavWinchStatusFlag"],["impl Debug for WIFI_CONFIG_AP_DATA"],["impl Debug for StorageType"],["impl Debug for SYS_STATUS_DATA"],["impl Debug for SENSOR_OFFSETS_DATA"],["impl Debug for SMART_BATTERY_INFO_DATA"],["impl Debug for RAW_IMU_DATA"],["impl Debug for GPS2_RAW_DATA"],["impl Debug for CellularConfigResponse"],["impl Debug for WHEEL_DISTANCE_DATA"],["impl Debug for MavBatteryType"],["impl Debug for MavMountMode"],["impl Debug for OPTICAL_FLOW_DATA"],["impl Debug for VideoStreamType"],["impl Debug for HIGHRES_IMU_DATA"],["impl Debug for CONTROL_SYSTEM_STATE_DATA"]], +"mavlink":[["impl Debug for ActuatorOutputFunction"],["impl Debug for STORAGE_INFORMATION_DATA"],["impl Debug for DEBUG_DATA"],["impl Debug for PARAM_SET_DATA"],["impl Debug for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Debug for DATA96_DATA"],["impl Debug for GPS2_RAW_DATA"],["impl Debug for COMPONENT_METADATA_DATA"],["impl Debug for MavMode"],["impl Debug for ALTITUDE_DATA"],["impl Debug for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Debug for AisType"],["impl Debug for RADIO_DATA"],["impl Debug for RcType"],["impl Debug for RC_CHANNELS_DATA"],["impl Debug for GimbalDeviceFlags"],["impl Debug for UavcanNodeHealth"],["impl Debug for MavHeader"],["impl Debug for GIMBAL_MANAGER_STATUS_DATA"],["impl Debug for TIMESYNC_DATA"],["impl Debug for SET_ATTITUDE_TARGET_DATA"],["impl Debug for MavDoRepositionFlags"],["impl Debug for AisNavStatus"],["impl Debug for BATTERY_STATUS_DATA"],["impl Debug for VICON_POSITION_ESTIMATE_DATA"],["impl Debug for SubMode"],["impl Debug for LINK_NODE_STATUS_DATA"],["impl Debug for CameraTrackingMode"],["impl Debug for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Debug for LandingTargetType"],["impl Debug for MavDoRepositionFlags"],["impl Debug for PreflightStorageMissionAction"],["impl Debug for CELLULAR_CONFIG_DATA"],["impl Debug for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Debug for PLAY_TUNE_DATA"],["impl Debug for TERRAIN_CHECK_DATA"],["impl Debug for MavCollisionSrc"],["impl Debug for SET_ATTITUDE_TARGET_DATA"],["impl Debug for RC_CHANNELS_RAW_DATA"],["impl Debug for COMMAND_LONG_DATA"],["impl Debug for GoproProtuneColour"],["impl Debug for LOGGING_DATA_ACKED_DATA"],["impl Debug for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Debug for GimbalDeviceFlags"],["impl Debug for MISSION_CLEAR_ALL_DATA"],["impl Debug for MavRoi"],["impl Debug for MavCmd"],["impl Debug for GPS2_RAW_DATA"],["impl Debug for MavRemoteLogDataBlockCommands"],["impl Debug for CUBEPILOT_RAW_RC_DATA"],["impl Debug for UTM_GLOBAL_POSITION_DATA"],["impl Debug for LED_CONTROL_DATA"],["impl Debug for COLLISION_DATA"],["impl Debug for MavCollisionThreatLevel"],["impl Debug for PING_DATA"],["impl Debug for PARAM_VALUE_DATA"],["impl Debug for GoproVideoSettingsFlags"],["impl Debug for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Debug for SCALED_IMU_DATA"],["impl Debug for RtkBaselineCoordinateSystem"],["impl Debug for MavOdidCategoryEu"],["impl Debug for MavOdidUaType"],["impl Debug for MISSION_REQUEST_INT_DATA"],["impl Debug for MavSysStatusSensor"],["impl Debug for MAG_CAL_PROGRESS_DATA"],["impl Debug for CanFilterOp"],["impl Debug for MISSION_ITEM_DATA"],["impl Debug for GPS_GLOBAL_ORIGIN_DATA"],["impl Debug for FENCE_FETCH_POINT_DATA"],["impl Debug for EVENT_DATA"],["impl Debug for MISSION_CURRENT_DATA"],["impl Debug for MavBatteryFunction"],["impl Debug for PING_DATA"],["impl Debug for GIMBAL_MANAGER_STATUS_DATA"],["impl Debug for COMMAND_CANCEL_DATA"],["impl Debug for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Debug for SERIAL_CONTROL_DATA"],["impl Debug for ScriptingCmd"],["impl Debug for CameraTrackingMode"],["impl Debug for PARAM_EXT_REQUEST_LIST_DATA"],["impl Debug for CAMERA_INFORMATION_DATA"],["impl Debug for MavMessage"],["impl Debug for SET_MODE_DATA"],["impl Debug for MavOdidHorAcc"],["impl Debug for CAMERA_IMAGE_CAPTURED_DATA"],["impl Debug for MavGeneratorStatusFlag"],["impl Debug for MavOdidClassEu"],["impl Debug for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Debug for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Debug for GripperActions"],["impl Debug for HighresImuUpdatedFlags"],["impl Debug for HIL_CONTROLS_DATA"],["impl Debug for MavMissionType"],["impl Debug for MagCalStatus"],["impl Debug for VIDEO_STREAM_STATUS_DATA"],["impl Debug for ATTITUDE_DATA"],["impl Debug for RC_CHANNELS_RAW_DATA"],["impl Debug for SCALED_IMU2_DATA"],["impl Debug for MavModeFlagDecodePosition"],["impl Debug for MISSION_REQUEST_DATA"],["impl Debug for MavBatteryFunction"],["impl Debug for CellularStatusFlag"],["impl Debug for OPTICAL_FLOW_DATA"],["impl Debug for PreflightStorageMissionAction"],["impl Debug for MavDistanceSensor"],["impl Debug for CELLULAR_CONFIG_DATA"],["impl Debug for OrbitYawBehaviour"],["impl Debug for LOGGING_DATA_ACKED_DATA"],["impl Debug for FailureUnit"],["impl Debug for CONTROL_SYSTEM_STATE_DATA"],["impl Debug for SCALED_PRESSURE_DATA"],["impl Debug for DIGICAM_CONFIGURE_DATA"],["impl Debug for CameraTrackingStatusFlags"],["impl Debug for MISSION_ACK_DATA"],["impl Debug for ISBD_LINK_STATUS_DATA"],["impl Debug for MavOdidOperatorLocationType"],["impl Debug for FenceBreach"],["impl Debug for EVENT_DATA"],["impl Debug for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Debug for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Debug for UavionixAdsbRfHealth"],["impl Debug for NavVtolLandOptions"],["impl Debug for ESC_STATUS_DATA"],["impl Debug for ESC_TELEMETRY_1_TO_4_DATA"],["impl Debug for MavBatteryChargeState"],["impl Debug for GoproCharging"],["impl Debug for MavOdidCategoryEu"],["impl Debug for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Debug for GimbalDeviceCapFlags"],["impl Debug for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Debug for CellularNetworkFailedReason"],["impl Debug for HIL_RC_INPUTS_RAW_DATA"],["impl Debug for HIL_GPS_DATA"],["impl Debug for MAG_CAL_REPORT_DATA"],["impl Debug for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Debug for DEBUG_VECT_DATA"],["impl Debug for MavFrame"],["impl Debug for AttitudeTargetTypemask"],["impl Debug for MavMessage"],["impl Debug for CameraTrackingStatusFlags"],["impl Debug for MavParamType"],["impl Debug for GimbalAxisCalibrationStatus"],["impl Debug for MavFrame"],["impl Debug for MISSION_ITEM_REACHED_DATA"],["impl Debug for MavCollisionAction"],["impl Debug for PositionTargetTypemask"],["impl Debug for HERELINK_TELEM_DATA"],["impl Debug for MavOdidOperatorIdType"],["impl Debug for LOGGING_DATA_DATA"],["impl Debug for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Debug for MavMissionResult"],["impl Debug for SET_MODE_DATA"],["impl Debug for GPS_INJECT_DATA_DATA"],["impl Debug for UavionixAdsbOutCfgGpsOffsetLat"],["impl Debug for MavCmdDoAuxFunctionSwitchLevel"],["impl Debug for GENERATOR_STATUS_DATA"],["impl Debug for CAMERA_SETTINGS_DATA"],["impl Debug for LANDING_TARGET_DATA"],["impl Debug for UavionixAdsbOutCfgGpsOffsetLon"],["impl Debug for MavBatteryType"],["impl Debug for MavBatteryFault"],["impl Debug for MavCollisionSrc"],["impl Debug for ATTITUDE_QUATERNION_COV_DATA"],["impl Debug for AHRS3_DATA"],["impl Debug for GoproRequestStatus"],["impl Debug for CameraTrackingStatusFlags"],["impl Debug for AIS_VESSEL_DATA"],["impl Debug for PositionTargetTypemask"],["impl Debug for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl Debug for COMMAND_CANCEL_DATA"],["impl Debug for LOG_REQUEST_END_DATA"],["impl Debug for FENCE_POINT_DATA"],["impl Debug for GpsInputIgnoreFlags"],["impl Debug for MavMode"],["impl Debug for HYGROMETER_SENSOR_DATA"],["impl Debug for ACTUATOR_CONTROL_TARGET_DATA"],["impl Debug for PARAM_SET_DATA"],["impl Debug for VideoStreamType"],["impl Debug for ESTIMATOR_STATUS_DATA"],["impl Debug for GLOBAL_POSITION_INT_DATA"],["impl Debug for RC_CHANNELS_DATA"],["impl Debug for MavMessage"],["impl Debug for VFR_HUD_DATA"],["impl Debug for WHEEL_DISTANCE_DATA"],["impl Debug for MavOdidUaType"],["impl Debug for MotorTestOrder"],["impl Debug for LOG_REQUEST_DATA_DATA"],["impl Debug for VIDEO_STREAM_INFORMATION_DATA"],["impl Debug for BATTERY2_DATA"],["impl Debug for EscConnectionType"],["impl Debug for VISION_POSITION_ESTIMATE_DATA"],["impl Debug for GoproCommand"],["impl Debug for STORAGE_INFORMATION_DATA"],["impl Debug for REQUEST_EVENT_DATA"],["impl Debug for DISTANCE_SENSOR_DATA"],["impl Debug for MavModeFlagDecodePosition"],["impl Debug for MotorTestThrottleType"],["impl Debug for FenceMitigate"],["impl Debug for MavOdidHeightRef"],["impl Debug for MavLandedState"],["impl Debug for VIDEO_STREAM_INFORMATION_DATA"],["impl Debug for FailureUnit"],["impl Debug for GimbalManagerCapFlags"],["impl Debug for MavPowerStatus"],["impl Debug for MISSION_SET_CURRENT_DATA"],["impl Debug for SYS_STATUS_DATA"],["impl Debug for TIMESYNC_DATA"],["impl Debug for IcarousFmsState"],["impl Debug for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Debug for CellularStatusFlag"],["impl Debug for AUTH_KEY_DATA"],["impl Debug for MISSION_CLEAR_ALL_DATA"],["impl Debug for MESSAGE_INTERVAL_DATA"],["impl Debug for VIBRATION_DATA"],["impl Debug for PlaneMode"],["impl Debug for CameraTrackingTargetData"],["impl Debug for V2_EXTENSION_DATA"],["impl Debug for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Debug for MavFtpOpcode"],["impl Debug for MISSION_CLEAR_ALL_DATA"],["impl Debug for MavDistanceSensor"],["impl Debug for MavOdidHeightRef"],["impl Debug for MISSION_ITEM_INT_DATA"],["impl Debug for PLAY_TUNE_V2_DATA"],["impl Debug for CELLULAR_CONFIG_DATA"],["impl Debug for SCALED_PRESSURE3_DATA"],["impl Debug for RALLY_FETCH_POINT_DATA"],["impl Debug for FirmwareVersionType"],["impl Debug for UTM_GLOBAL_POSITION_DATA"],["impl Debug for RALLY_POINT_DATA"],["impl Debug for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Debug for GPS2_RTK_DATA"],["impl Debug for PARAM_REQUEST_LIST_DATA"],["impl Debug for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Debug for SCALED_PRESSURE_DATA"],["impl Debug for GIMBAL_MANAGER_STATUS_DATA"],["impl Debug for DEBUG_FLOAT_ARRAY_DATA"],["impl Debug for RPM_DATA"],["impl Debug for MissionState"],["impl Debug for OsdParamConfigType"],["impl Debug for ESC_INFO_DATA"],["impl Debug for EstimatorStatusFlags"],["impl Debug for CameraMode"],["impl Debug for CAN_FILTER_MODIFY_DATA"],["impl Debug for CanFilterOp"],["impl Debug for ENCAPSULATED_DATA_DATA"],["impl Debug for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Debug for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Debug for UavionixAdsbOutDynamicState"],["impl Debug for LOG_REQUEST_DATA_DATA"],["impl Debug for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Debug for WIFI_CONFIG_AP_DATA"],["impl Debug for SCALED_IMU_DATA"],["impl Debug for MavMessage"],["impl Debug for HIGH_LATENCY_DATA"],["impl Debug for MotorTestOrder"],["impl Debug for SCALED_PRESSURE3_DATA"],["impl Debug for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Debug for StorageUsageFlag"],["impl Debug for HIL_ACTUATOR_CONTROLS_DATA"],["impl Debug for GoproPhotoResolution"],["impl Debug for HIL_STATE_DATA"],["impl Debug for MAVLinkV2MessageRaw"],["impl Debug for COMPONENT_INFORMATION_DATA"],["impl Debug for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Debug for AdsbFlags"],["impl Debug for ATTITUDE_QUATERNION_COV_DATA"],["impl Debug for DATA_STREAM_DATA"],["impl Debug for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl Debug for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Debug for GPS_RTCM_DATA_DATA"],["impl Debug for UavionixAdsbOutCfgAircraftSize"],["impl Debug for LINK_NODE_STATUS_DATA"],["impl Debug for VideoStreamType"],["impl Debug for ATTITUDE_QUATERNION_DATA"],["impl Debug for MavOdidClassificationType"],["impl Debug for PROTOCOL_VERSION_DATA"],["impl Debug for COMMAND_ACK_DATA"],["impl Debug for ATTITUDE_DATA"],["impl Debug for MavFtpOpcode"],["impl Debug for AUTH_KEY_DATA"],["impl Debug for SUPPORTED_TUNES_DATA"],["impl Debug for HYGROMETER_SENSOR_DATA"],["impl Debug for BATTERY_STATUS_DATA"],["impl Debug for MavType"],["impl Debug for COMPONENT_METADATA_DATA"],["impl Debug for LANDING_TARGET_DATA"],["impl Debug for HIL_CONTROLS_DATA"],["impl Debug for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl Debug for MavComponent"],["impl Debug for LOGGING_ACK_DATA"],["impl Debug for MavCollisionAction"],["impl Debug for ParserError"],["impl Debug for MavFtpOpcode"],["impl Debug for ESC_TELEMETRY_9_TO_12_DATA"],["impl Debug for MavOdidTimeAcc"],["impl Debug for GimbalManagerFlags"],["impl Debug for CANFD_FRAME_DATA"],["impl Debug for MavBatteryMode"],["impl Debug for MEMORY_VECT_DATA"],["impl Debug for SET_HOME_POSITION_DATA"],["impl Debug for MavSysStatusSensor"],["impl Debug for RtkBaselineCoordinateSystem"],["impl Debug for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Debug for MISSION_REQUEST_INT_DATA"],["impl Debug for PARAM_REQUEST_READ_DATA"],["impl Debug for COMMAND_INT_DATA"],["impl Debug for UavionixAdsbOutDynamicGpsFix"],["impl Debug for MavMountMode"],["impl Debug for HIL_STATE_QUATERNION_DATA"],["impl Debug for AisType"],["impl Debug for LOCAL_POSITION_NED_DATA"],["impl Debug for MavProtocolCapability"],["impl Debug for WINCH_STATUS_DATA"],["impl Debug for RC_CHANNELS_OVERRIDE_DATA"],["impl Debug for MavGoto"],["impl Debug for FenceBreach"],["impl Debug for HIGHRES_IMU_DATA"],["impl Debug for WIFI_CONFIG_AP_DATA"],["impl Debug for OPEN_DRONE_ID_LOCATION_DATA"],["impl Debug for MotorTestOrder"],["impl Debug for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Debug for AutotuneAxis"],["impl Debug for RESPONSE_EVENT_ERROR_DATA"],["impl Debug for MavEventCurrentSequenceFlags"],["impl Debug for VISION_POSITION_ESTIMATE_DATA"],["impl Debug for LOG_REQUEST_DATA_DATA"],["impl Debug for GoproProtuneWhiteBalance"],["impl Debug for WIND_COV_DATA"],["impl Debug for MavResult"],["impl Debug for GOPRO_HEARTBEAT_DATA"],["impl Debug for ADSB_VEHICLE_DATA"],["impl Debug for DEVICE_OP_READ_DATA"],["impl Debug for HIL_ACTUATOR_CONTROLS_DATA"],["impl Debug for WinchActions"],["impl Debug for PARAM_REQUEST_READ_DATA"],["impl Debug for MISSION_SET_CURRENT_DATA"],["impl Debug for MotorTestThrottleType"],["impl Debug for REQUEST_DATA_STREAM_DATA"],["impl Debug for SET_MODE_DATA"],["impl Debug for DIGICAM_CONTROL_DATA"],["impl Debug for HIL_SENSOR_DATA"],["impl Debug for MavMissionResult"],["impl Debug for AdsbAltitudeType"],["impl Debug for TERRAIN_DATA_DATA"],["impl Debug for VideoStreamStatusFlags"],["impl Debug for SetFocusType"],["impl Debug for DEBUG_DATA"],["impl Debug for DEBUG_FLOAT_ARRAY_DATA"],["impl Debug for PreflightStorageParameterAction"],["impl Debug for HighresImuUpdatedFlags"],["impl Debug for PARAM_EXT_REQUEST_READ_DATA"],["impl Debug for AdsbAltitudeType"],["impl Debug for MavWinchStatusFlag"],["impl Debug for FailureType"],["impl Debug for MavDoRepositionFlags"],["impl Debug for PARAM_EXT_ACK_DATA"],["impl Debug for GOPRO_SET_REQUEST_DATA"],["impl Debug for CELLULAR_STATUS_DATA"],["impl Debug for HEARTBEAT_DATA"],["impl Debug for CAN_FILTER_MODIFY_DATA"],["impl Debug for WATER_DEPTH_DATA"],["impl Debug for GpsFixType"],["impl Debug for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Debug for ALTITUDE_DATA"],["impl Debug for OrbitYawBehaviour"],["impl Debug for CameraTrackingTargetData"],["impl Debug for AdsbFlags"],["impl Debug for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Debug for UavionixAdsbOutDynamicGpsFix"],["impl Debug for FenceAction"],["impl Debug for MavResult"],["impl Debug for ATTITUDE_QUATERNION_DATA"],["impl Debug for FailureUnit"],["impl Debug for SERVO_OUTPUT_RAW_DATA"],["impl Debug for BUTTON_CHANGE_DATA"],["impl Debug for ACTUATOR_CONTROL_TARGET_DATA"],["impl Debug for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Debug for ESC_INFO_DATA"],["impl Debug for UavionixAdsbEmergencyStatus"],["impl Debug for GpsInputIgnoreFlags"],["impl Debug for DATA16_DATA"],["impl Debug for MavArmAuthDeniedReason"],["impl Debug for CAN_FRAME_DATA"],["impl Debug for ENCAPSULATED_DATA_DATA"],["impl Debug for MavBatteryType"],["impl Debug for WifiConfigApResponse"],["impl Debug for SETUP_SIGNING_DATA"],["impl Debug for AdsbEmitterType"],["impl Debug for PARAM_MAP_RC_DATA"],["impl Debug for FirmwareVersionType"],["impl Debug for RAW_PRESSURE_DATA"],["impl Debug for CameraZoomType"],["impl Debug for DeviceOpBustype"],["impl Debug for CAMERA_FOV_STATUS_DATA"],["impl Debug for MavOdidSpeedAcc"],["impl Debug for ActuatorConfiguration"],["impl Debug for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Debug for WifiConfigApMode"],["impl Debug for GOPRO_GET_REQUEST_DATA"],["impl Debug for MavBatteryFunction"],["impl Debug for LOG_ENTRY_DATA"],["impl Debug for ADSB_VEHICLE_DATA"],["impl Debug for MavSensorOrientation"],["impl Debug for StorageStatus"],["impl Debug for REQUEST_DATA_STREAM_DATA"],["impl Debug for FLIGHT_INFORMATION_DATA"],["impl Debug for GLOBAL_POSITION_INT_DATA"],["impl Debug for CHANGE_OPERATOR_CONTROL_DATA"],["impl Debug for MAVLinkV1MessageRaw"],["impl Debug for MavlinkDataStreamType"],["impl Debug for GPS_RAW_INT_DATA"],["impl Debug for GimbalManagerFlags"],["impl Debug for SIMSTATE_DATA"],["impl Debug for MavState"],["impl Debug for HEARTBEAT_DATA"],["impl Debug for StorageType"],["impl Debug for WinchActions"],["impl Debug for POSITION_TARGET_LOCAL_NED_DATA"],["impl Debug for DATA_STREAM_DATA"],["impl Debug for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Debug for VISION_SPEED_ESTIMATE_DATA"],["impl Debug for GPS2_RAW_DATA"],["impl Debug for GPS_GLOBAL_ORIGIN_DATA"],["impl Debug for SerialControlFlag"],["impl Debug for UAVCAN_NODE_INFO_DATA"],["impl Debug for EstimatorStatusFlags"],["impl Debug for SMART_BATTERY_INFO_DATA"],["impl Debug for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Debug for MavSysStatusSensorExtended"],["impl Debug for MavCollisionThreatLevel"],["impl Debug for HIGHRES_IMU_DATA"],["impl Debug for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Debug for WIFI_CONFIG_AP_DATA"],["impl Debug for MavMissionResult"],["impl Debug for VtolTransitionHeading"],["impl Debug for LOG_REQUEST_LIST_DATA"],["impl Debug for PreflightStorageParameterAction"],["impl Debug for CompMetadataType"],["impl Debug for UavionixAdsbEmergencyStatus"],["impl Debug for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Debug for CELLULAR_STATUS_DATA"],["impl Debug for SETUP_SIGNING_DATA"],["impl Debug for AIS_VESSEL_DATA"],["impl Debug for GPS_INPUT_DATA"],["impl Debug for ESTIMATOR_STATUS_DATA"],["impl Debug for CameraCapFlags"],["impl Debug for MavEstimatorType"],["impl Debug for LOGGING_DATA_ACKED_DATA"],["impl Debug for ICAROUS_HEARTBEAT_DATA"],["impl Debug for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Debug for GoproModel"],["impl Debug for OBSTACLE_DISTANCE_3D_DATA"],["impl Debug for DATA_STREAM_DATA"],["impl Debug for PARAM_EXT_REQUEST_READ_DATA"],["impl Debug for GimbalAxisCalibrationRequired"],["impl Debug for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Debug for OSD_PARAM_SHOW_CONFIG_DATA"],["impl Debug for MISSION_ITEM_DATA"],["impl Debug for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Debug for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Debug for GpsFixType"],["impl Debug for MISSION_REQUEST_INT_DATA"],["impl Debug for ParachuteAction"],["impl Debug for SENSOR_OFFSETS_DATA"],["impl Debug for ATTITUDE_QUATERNION_DATA"],["impl Debug for MavRoi"],["impl Debug for MISSION_ACK_DATA"],["impl Debug for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Debug for HilSensorUpdatedFlags"],["impl Debug for SerialControlDev"],["impl Debug for BUTTON_CHANGE_DATA"],["impl Debug for OPTICAL_FLOW_RAD_DATA"],["impl Debug for ALTITUDE_DATA"],["impl Debug for MavOdidIdType"],["impl Debug for CAMERA_CAPTURE_STATUS_DATA"],["impl Debug for FailureType"],["impl Debug for MavOdidAuthType"],["impl Debug for CAN_FILTER_MODIFY_DATA"],["impl Debug for UAVCAN_NODE_STATUS_DATA"],["impl Debug for HlFailureFlag"],["impl Debug for SCALED_PRESSURE_DATA"],["impl Debug for PLAY_TUNE_DATA"],["impl Debug for FILE_TRANSFER_PROTOCOL_DATA"],["impl Debug for MavFtpErr"],["impl Debug for PARAM_EXT_VALUE_DATA"],["impl Debug for LOGGING_ACK_DATA"],["impl Debug for MavArmAuthDeniedReason"],["impl Debug for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Debug for MavLandedState"],["impl Debug for RESOURCE_REQUEST_DATA"],["impl Debug for POSITION_TARGET_LOCAL_NED_DATA"],["impl Debug for UavcanNodeMode"],["impl Debug for SCALED_IMU3_DATA"],["impl Debug for RtkBaselineCoordinateSystem"],["impl Debug for ONBOARD_COMPUTER_STATUS_DATA"],["impl Debug for MavProtocolCapability"],["impl Debug for TERRAIN_REQUEST_DATA"],["impl Debug for PARAM_REQUEST_READ_DATA"],["impl Debug for VICON_POSITION_ESTIMATE_DATA"],["impl Debug for GoproProtuneExposure"],["impl Debug for MEMINFO_DATA"],["impl Debug for MavMode"],["impl Debug for MavOdidStatus"],["impl Debug for MEMORY_VECT_DATA"],["impl Debug for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Debug for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl Debug for FLIGHT_INFORMATION_DATA"],["impl Debug for AisFlags"],["impl Debug for TIMESYNC_DATA"],["impl Debug for ParamAck"],["impl Debug for GoproHeartbeatFlags"],["impl Debug for MavlinkVersion"],["impl Debug for UAVCAN_NODE_STATUS_DATA"],["impl Debug for MavBatteryChargeState"],["impl Debug for TrackerMode"],["impl Debug for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Debug for MavBatteryFault"],["impl Debug for MavOdidTimeAcc"],["impl Debug for LandingTargetType"],["impl Debug for DISTANCE_SENSOR_DATA"],["impl Debug for VideoStreamStatusFlags"],["impl Debug for GoproHeartbeatStatus"],["impl Debug for MavSensorOrientation"],["impl Debug for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Debug for GpsInputIgnoreFlags"],["impl Debug for ParachuteAction"],["impl Debug for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Debug for CompMetadataType"],["impl Debug for ONBOARD_COMPUTER_STATUS_DATA"],["impl Debug for CURRENT_EVENT_SEQUENCE_DATA"],["impl Debug for MavTunnelPayloadType"],["impl Debug for CameraMode"],["impl Debug for MANUAL_SETPOINT_DATA"],["impl Debug for AHRS2_DATA"],["impl Debug for MavVtolState"],["impl Debug for MavGoto"],["impl Debug for MavOdidHorAcc"],["impl Debug for ADAP_TUNING_DATA"],["impl Debug for UtmDataAvailFlags"],["impl Debug for GPS_STATUS_DATA"],["impl Debug for EKF_STATUS_REPORT_DATA"],["impl Debug for CHANGE_OPERATOR_CONTROL_DATA"],["impl Debug for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Debug for GENERATOR_STATUS_DATA"],["impl Debug for SERIAL_CONTROL_DATA"],["impl Debug for SYSTEM_TIME_DATA"],["impl Debug for SERIAL_CONTROL_DATA"],["impl Debug for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Debug for GPS_RTK_DATA"],["impl Debug for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Debug for UtmFlightState"],["impl Debug for StorageUsageFlag"],["impl Debug for MavOdidOperatorLocationType"],["impl Debug for VideoStreamType"],["impl Debug for GimbalManagerFlags"],["impl Debug for RAW_IMU_DATA"],["impl Debug for EFI_STATUS_DATA"],["impl Debug for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Debug for MavState"],["impl Debug for AisNavStatus"],["impl Debug for OSD_PARAM_CONFIG_DATA"],["impl Debug for VISION_POSITION_DELTA_DATA"],["impl Debug for CAMERA_INFORMATION_DATA"],["impl Debug for HlFailureFlag"],["impl Debug for RADIO_STATUS_DATA"],["impl Debug for HIL_STATE_DATA"],["impl Debug for TERRAIN_DATA_DATA"],["impl Debug for MavOdidClassificationType"],["impl Debug for SCALED_IMU2_DATA"],["impl Debug for MavSeverity"],["impl Debug for MavDataStream"],["impl Debug for VICON_POSITION_ESTIMATE_DATA"],["impl Debug for UavionixAdsbOutCfgAircraftSize"],["impl Debug for GPS_RTK_DATA"],["impl Debug for MISSION_ITEM_INT_DATA"],["impl Debug for ActuatorOutputFunction"],["impl Debug for COMPASSMOT_STATUS_DATA"],["impl Debug for SIM_STATE_DATA"],["impl Debug for GoproFieldOfView"],["impl Debug for TERRAIN_REQUEST_DATA"],["impl Debug for MavWinchStatusFlag"],["impl Debug for FenceMitigate"],["impl Debug for VISION_SPEED_ESTIMATE_DATA"],["impl Debug for ESC_STATUS_DATA"],["impl Debug for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Debug for HIL_STATE_DATA"],["impl Debug for MOUNT_ORIENTATION_DATA"],["impl Debug for TuneFormat"],["impl Debug for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Debug for LOG_ERASE_DATA"],["impl Debug for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Debug for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Debug for PROTOCOL_VERSION_DATA"],["impl Debug for CAMERA_IMAGE_CAPTURED_DATA"],["impl Debug for VIDEO_STREAM_STATUS_DATA"],["impl Debug for RallyFlags"],["impl Debug for SCALED_PRESSURE2_DATA"],["impl Debug for SET_HOME_POSITION_DATA"],["impl Debug for ActuatorConfiguration"],["impl Debug for EscConnectionType"],["impl Debug for ICAROUS_HEARTBEAT_DATA"],["impl Debug for UavcanNodeMode"],["impl Debug for VIDEO_STREAM_INFORMATION_DATA"],["impl Debug for NavVtolLandOptions"],["impl Debug for UtmDataAvailFlags"],["impl Debug for TUNNEL_DATA"],["impl Debug for MavEventErrorReason"],["impl Debug for COLLISION_DATA"],["impl Debug for EFI_STATUS_DATA"],["impl Debug for CameraCapFlags"],["impl Debug for LOG_ENTRY_DATA"],["impl Debug for SCALED_IMU_DATA"],["impl Debug for RoverMode"],["impl Debug for PID_TUNING_DATA"],["impl Debug for TERRAIN_REPORT_DATA"],["impl Debug for PARAM_REQUEST_LIST_DATA"],["impl Debug for MISSION_REQUEST_LIST_DATA"],["impl Debug for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Debug for MavOdidArmStatus"],["impl Debug for MavMountMode"],["impl Debug for MavBatteryType"],["impl Debug for RC_CHANNELS_SCALED_DATA"],["impl Debug for GimbalDeviceCapFlags"],["impl Debug for GpsFixType"],["impl Debug for SIM_STATE_DATA"],["impl Debug for GPS_STATUS_DATA"],["impl Debug for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Debug for MavEventErrorReason"],["impl Debug for GPS2_RTK_DATA"],["impl Debug for CellularConfigResponse"],["impl Debug for POWER_STATUS_DATA"],["impl Debug for MavSensorOrientation"],["impl Debug for FILE_TRANSFER_PROTOCOL_DATA"],["impl Debug for MavOdidClassificationType"],["impl Debug for HOME_POSITION_DATA"],["impl Debug for SAFETY_ALLOWED_AREA_DATA"],["impl Debug for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Debug for MEMORY_VECT_DATA"],["impl Debug for DEBUG_DATA"],["impl Debug for FENCE_STATUS_DATA"],["impl Debug for PARAM_MAP_RC_DATA"],["impl Debug for SET_MAG_OFFSETS_DATA"],["impl Debug for CanFilterOp"],["impl Debug for VtolTransitionHeading"],["impl Debug for LOGGING_ACK_DATA"],["impl Debug for CAMERA_INFORMATION_DATA"],["impl Debug for HeadingType"],["impl Debug for SCALED_PRESSURE2_DATA"],["impl Debug for MANUAL_CONTROL_DATA"],["impl Debug for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Debug for GoproFrameRate"],["impl Debug for EscFailureFlags"],["impl Debug for MessageReadError"],["impl Debug for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Debug for STORAGE_INFORMATION_DATA"],["impl Debug for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Debug for MavBatteryMode"],["impl Debug for MISSION_COUNT_DATA"],["impl Debug for VtolTransitionHeading"],["impl Debug for WINCH_STATUS_DATA"],["impl Debug for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Debug for MavCollisionAction"],["impl Debug for WifiConfigApMode"],["impl Debug for OsdParamConfigError"],["impl Debug for HIL_SENSOR_DATA"],["impl Debug for StorageStatus"],["impl Debug for MISSION_ITEM_DATA"],["impl Debug for GOPRO_GET_RESPONSE_DATA"],["impl Debug for V2_EXTENSION_DATA"],["impl Debug for SMART_BATTERY_INFO_DATA"],["impl Debug for GripperActions"],["impl Debug for GoproProtuneGain"],["impl Debug for SET_ATTITUDE_TARGET_DATA"],["impl Debug for TUNNEL_DATA"],["impl Debug for GPS_INJECT_DATA_DATA"],["impl Debug for MavCmd"],["impl Debug for MavSysStatusSensorExtended"],["impl Debug for CAN_FRAME_DATA"],["impl Debug for OPTICAL_FLOW_DATA"],["impl Debug for UavcanNodeHealth"],["impl Debug for MavCmdAck"],["impl Debug for HEARTBEAT_DATA"],["impl Debug for PositionTargetTypemask"],["impl Debug for UtmFlightState"],["impl Debug for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Debug for ISBD_LINK_STATUS_DATA"],["impl Debug for MavOdidVerAcc"],["impl Debug for SYSTEM_TIME_DATA"],["impl Debug for ESTIMATOR_STATUS_DATA"],["impl Debug for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Debug for OPTICAL_FLOW_DATA"],["impl Debug for CAMERA_FOV_STATUS_DATA"],["impl Debug for LOCAL_POSITION_NED_DATA"],["impl Debug for WIND_DATA"],["impl Debug for CHANGE_OPERATOR_CONTROL_DATA"],["impl Debug for CameraZoomType"],["impl Debug for GPS_GLOBAL_ORIGIN_DATA"],["impl Debug for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Debug for StorageType"],["impl Debug for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Debug for NAMED_VALUE_FLOAT_DATA"],["impl Debug for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Debug for MavOdidArmStatus"],["impl Debug for RC_CHANNELS_RAW_DATA"],["impl Debug for DEBUG_VECT_DATA"],["impl Debug for CAMERA_FEEDBACK_DATA"],["impl Debug for UavionixAdsbOutCfgGpsOffsetLon"],["impl Debug for EscConnectionType"],["impl Debug for MavType"],["impl Debug for RAW_RPM_DATA"],["impl Debug for PARAM_VALUE_DATA"],["impl Debug for AUTOPILOT_VERSION_REQUEST_DATA"],["impl Debug for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Debug for EFI_STATUS_DATA"],["impl Debug for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Debug for COMPONENT_INFORMATION_DATA"],["impl Debug for MavOdidDescType"],["impl Debug for BATTERY_STATUS_DATA"],["impl Debug for PidTuningAxis"],["impl Debug for ActuatorConfiguration"],["impl Debug for GimbalDeviceErrorFlags"],["impl Debug for UTM_GLOBAL_POSITION_DATA"],["impl Debug for MISSION_CURRENT_DATA"],["impl Debug for RADIO_STATUS_DATA"],["impl Debug for PARAM_EXT_VALUE_DATA"],["impl Debug for CAMERA_TRIGGER_DATA"],["impl Debug for MavOdidClassEu"],["impl Debug for ParamAck"],["impl Debug for MavEventCurrentSequenceFlags"],["impl Debug for MavBatteryFault"],["impl Debug for GripperActions"],["impl Debug for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Debug for CONTROL_SYSTEM_STATE_DATA"],["impl Debug for GLOBAL_POSITION_INT_COV_DATA"],["impl Debug for WINCH_STATUS_DATA"],["impl Debug for MOUNT_ORIENTATION_DATA"],["impl<M: Debug + Message> Debug for MavFrame<M>"],["impl Debug for WIND_COV_DATA"],["impl Debug for SAFETY_ALLOWED_AREA_DATA"],["impl Debug for RESPONSE_EVENT_ERROR_DATA"],["impl Debug for CAMERA_TRIGGER_DATA"],["impl Debug for GLOBAL_POSITION_INT_DATA"],["impl Debug for COMMAND_CANCEL_DATA"],["impl Debug for AutotuneAxis"],["impl Debug for GLOBAL_POSITION_INT_COV_DATA"],["impl Debug for TERRAIN_REPORT_DATA"],["impl Debug for SerialControlFlag"],["impl Debug for MavOdidIdType"],["impl Debug for HIL_RC_INPUTS_RAW_DATA"],["impl Debug for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Debug for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Debug for MavCmdAck"],["impl Debug for MavOdidArmStatus"],["impl Debug for LandingTargetType"],["impl Debug for MavParamType"],["impl Debug for POWER_STATUS_DATA"],["impl Debug for PLAY_TUNE_V2_DATA"],["impl Debug for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Debug for MavModeFlag"],["impl Debug for MavOdidAuthType"],["impl Debug for UavionixAdsbOutCfgGpsOffsetLat"],["impl Debug for MavLandedState"],["impl Debug for TERRAIN_CHECK_DATA"],["impl Debug for LOCAL_POSITION_NED_COV_DATA"],["impl Debug for MavFtpErr"],["impl Debug for MavAutopilot"],["impl Debug for DeepstallStage"],["impl Debug for TERRAIN_REPORT_DATA"],["impl Debug for UtmFlightState"],["impl Debug for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Debug for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Debug for STATUSTEXT_DATA"],["impl Debug for CellularNetworkFailedReason"],["impl Debug for CAMERA_FOV_STATUS_DATA"],["impl Debug for ENCAPSULATED_DATA_DATA"],["impl Debug for CellularNetworkRadioType"],["impl Debug for SYS_STATUS_DATA"],["impl Debug for PARAM_EXT_SET_DATA"],["impl Debug for RC_CHANNELS_DATA"],["impl Debug for PLAY_TUNE_DATA"],["impl Debug for ODOMETRY_DATA"],["impl Debug for DEEPSTALL_DATA"],["impl Debug for MessageWriteError"],["impl Debug for MANUAL_CONTROL_DATA"],["impl Debug for AIS_VESSEL_DATA"],["impl Debug for NAMED_VALUE_INT_DATA"],["impl Debug for AisNavStatus"],["impl Debug for MavOdidOperatorIdType"],["impl Debug for AIRSPEED_AUTOCAL_DATA"],["impl Debug for GoproProtuneSharpness"],["impl Debug for WifiConfigApResponse"],["impl Debug for AUTOPILOT_VERSION_DATA"],["impl Debug for MavOdidAuthType"],["impl Debug for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Debug for PARAM_EXT_REQUEST_READ_DATA"],["impl Debug for OrbitYawBehaviour"],["impl Debug for MISSION_REQUEST_DATA"],["impl Debug for COMPONENT_INFORMATION_DATA"],["impl Debug for LOG_ENTRY_DATA"],["impl Debug for HOME_POSITION_DATA"],["impl Debug for TuneFormat"],["impl Debug for GPS_RAW_INT_DATA"],["impl Debug for GoproBurstRate"],["impl Debug for MavBatteryChargeState"],["impl Debug for MavVtolState"],["impl Debug for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Debug for VIBRATION_DATA"],["impl Debug for GimbalDeviceCapFlags"],["impl Debug for FILE_TRANSFER_PROTOCOL_DATA"],["impl Debug for CameraStatusTypes"],["impl Debug for PING_DATA"],["impl Debug for MavParamExtType"],["impl Debug for GimbalManagerCapFlags"],["impl Debug for PARAM_EXT_VALUE_DATA"],["impl Debug for LOG_REQUEST_LIST_DATA"],["impl Debug for EVENT_DATA"],["impl Debug for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Debug for DEVICE_OP_WRITE_DATA"],["impl Debug for StorageUsageFlag"],["impl Debug for RESOURCE_REQUEST_DATA"],["impl Debug for OPEN_DRONE_ID_LOCATION_DATA"],["impl Debug for CompMetadataType"],["impl Debug for SAFETY_ALLOWED_AREA_DATA"],["impl Debug for HighresImuUpdatedFlags"],["impl Debug for MavModeFlagDecodePosition"],["impl Debug for COMMAND_LONG_DATA"],["impl Debug for MotorTestThrottleType"],["impl Debug for HYGROMETER_SENSOR_DATA"],["impl Debug for LOG_ERASE_DATA"],["impl Debug for SCALED_PRESSURE3_DATA"],["impl Debug for BUTTON_CHANGE_DATA"],["impl Debug for LimitModule"],["impl Debug for MISSION_REQUEST_LIST_DATA"],["impl Debug for MavParamExtType"],["impl Debug for COMPONENT_METADATA_DATA"],["impl Debug for LOGGING_DATA_DATA"],["impl Debug for HWSTATUS_DATA"],["impl Debug for CopterMode"],["impl Debug for PARAM_EXT_REQUEST_LIST_DATA"],["impl Debug for RC_CHANNELS_OVERRIDE_DATA"],["impl Debug for MavCollisionThreatLevel"],["impl Debug for MavEstimatorType"],["impl Debug for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Debug for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Debug for DATA64_DATA"],["impl Debug for UavionixAdsbOutDynamicState"],["impl Debug for PROTOCOL_VERSION_DATA"],["impl Debug for ATTITUDE_TARGET_DATA"],["impl Debug for PARAM_VALUE_DATA"],["impl Debug for EscFailureFlags"],["impl Debug for ATTITUDE_TARGET_DATA"],["impl Debug for HIGHRES_IMU_DATA"],["impl Debug for GENERATOR_STATUS_DATA"],["impl Debug for RcType"],["impl Debug for ATT_POS_MOCAP_DATA"],["impl Debug for AutotuneAxis"],["impl Debug for MavOdidOperatorLocationType"],["impl Debug for V2_EXTENSION_DATA"],["impl Debug for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Debug for SUPPORTED_TUNES_DATA"],["impl Debug for STATUSTEXT_DATA"],["impl Debug for WifiConfigApMode"],["impl Debug for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Debug for SpeedType"],["impl Debug for ParamAck"],["impl Debug for MagCalStatus"],["impl Debug for MavOdidVerAcc"],["impl Debug for MANUAL_SETPOINT_DATA"],["impl Debug for MavParamType"],["impl Debug for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Debug for HIL_STATE_QUATERNION_DATA"],["impl Debug for ORBIT_EXECUTION_STATUS_DATA"],["impl Debug for REQUEST_DATA_STREAM_DATA"],["impl Debug for GIMBAL_REPORT_DATA"],["impl Debug for HlFailureFlag"],["impl Debug for OPEN_DRONE_ID_LOCATION_DATA"],["impl Debug for HIL_CONTROLS_DATA"],["impl Debug for NavVtolLandOptions"],["impl Debug for CameraMode"],["impl Debug for MavResult"],["impl Debug for FenceMitigate"],["impl Debug for GoproCaptureMode"],["impl Debug for MavSeverity"],["impl Debug for AUTOPILOT_VERSION_DATA"],["impl Debug for NAMED_VALUE_INT_DATA"],["impl Debug for GPS_INPUT_DATA"],["impl Debug for MESSAGE_INTERVAL_DATA"],["impl Debug for MavSeverity"],["impl Debug for SERVO_OUTPUT_RAW_DATA"],["impl Debug for COMMAND_INT_DATA"],["impl Debug for AisFlags"],["impl Debug for GPS_RTCM_DATA_DATA"],["impl Debug for UAVCAN_NODE_INFO_DATA"],["impl Debug for StorageStatus"],["impl Debug for DEVICE_OP_WRITE_REPLY_DATA"],["impl Debug for CameraCapFlags"],["impl Debug for ORBIT_EXECUTION_STATUS_DATA"],["impl Debug for MISSION_ITEM_REACHED_DATA"],["impl Debug for RESPONSE_EVENT_ERROR_DATA"],["impl Debug for SCALED_PRESSURE2_DATA"],["impl Debug for LOG_DATA_DATA"],["impl Debug for SET_HOME_POSITION_DATA"],["impl Debug for ATTITUDE_QUATERNION_COV_DATA"],["impl Debug for ORBIT_EXECUTION_STATUS_DATA"],["impl Debug for OBSTACLE_DISTANCE_DATA"],["impl Debug for LOCAL_POSITION_NED_DATA"],["impl Debug for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Debug for TERRAIN_REQUEST_DATA"],["impl Debug for MavFtpErr"],["impl Debug for UavionixAdsbOutRfSelect"],["impl Debug for RC_CHANNELS_SCALED_DATA"],["impl Debug for VFR_HUD_DATA"],["impl Debug for IcarousFmsState"],["impl Debug for LIMITS_STATUS_DATA"],["impl Debug for CameraZoomType"],["impl Debug for GPS_RTK_DATA"],["impl Debug for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Debug for SerialControlFlag"],["impl Debug for MavArmAuthDeniedReason"],["impl Debug for AdsbEmitterType"],["impl Debug for HIGH_LATENCY_DATA"],["impl Debug for GPS_RTCM_DATA_DATA"],["impl Debug for FOLLOW_TARGET_DATA"],["impl Debug for MavOdidUaType"],["impl Debug for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Debug for MavEstimatorType"],["impl Debug for MavOdidDescType"],["impl Debug for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Debug for AttitudeTargetTypemask"],["impl Debug for HilSensorUpdatedFlags"],["impl Debug for AisFlags"],["impl Debug for AccelcalVehiclePos"],["impl Debug for MavOdidSpeedAcc"],["impl Debug for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Debug for MANUAL_SETPOINT_DATA"],["impl Debug for ATTITUDE_DATA"],["impl Debug for GimbalDeviceErrorFlags"],["impl Debug for EscFailureFlags"],["impl Debug for MavComponent"],["impl Debug for MISSION_ITEM_INT_DATA"],["impl Debug for GimbalAxis"],["impl Debug for FenceBreach"],["impl Debug for OPTICAL_FLOW_RAD_DATA"],["impl Debug for HIL_RC_INPUTS_RAW_DATA"],["impl Debug for SIM_STATE_DATA"],["impl Debug for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Debug for CellularNetworkRadioType"],["impl Debug for MavlinkDataStreamType"],["impl Debug for HIL_STATE_QUATERNION_DATA"],["impl Debug for MAG_CAL_REPORT_DATA"],["impl Debug for StorageType"],["impl Debug for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Debug for OBSTACLE_DISTANCE_DATA"],["impl Debug for MavBatteryMode"],["impl Debug for MavAutopilot"],["impl Debug for LOG_DATA_DATA"],["impl Debug for HIGH_LATENCY2_DATA"],["impl Debug for SetFocusType"],["impl Debug for EstimatorStatusFlags"],["impl Debug for HIL_OPTICAL_FLOW_DATA"],["impl Debug for MISSION_COUNT_DATA"],["impl Debug for SMART_BATTERY_INFO_DATA"],["impl Debug for AHRS_DATA"],["impl Debug for ESC_STATUS_DATA"],["impl Debug for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Debug for RC_CHANNELS_OVERRIDE_DATA"],["impl Debug for GPS_INPUT_DATA"],["impl Debug for UAVCAN_NODE_STATUS_DATA"],["impl Debug for PARAM_REQUEST_LIST_DATA"],["impl Debug for CAMERA_STATUS_DATA"],["impl Debug for MissionState"],["impl Debug for CAMERA_IMAGE_CAPTURED_DATA"],["impl Debug for COMMAND_INT_DATA"],["impl Debug for MavOdidStatus"],["impl Debug for FirmwareVersionType"],["impl Debug for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Debug for ODOMETRY_DATA"],["impl Debug for RANGEFINDER_DATA"],["impl Debug for CURRENT_EVENT_SEQUENCE_DATA"],["impl Debug for SCALED_IMU3_DATA"],["impl Debug for UavcanNodeMode"],["impl Debug for MavMissionType"],["impl Debug for NAMED_VALUE_FLOAT_DATA"],["impl Debug for RADIO_STATUS_DATA"],["impl Debug for SUPPORTED_TUNES_DATA"],["impl Debug for EXTENDED_SYS_STATE_DATA"],["impl Debug for LINK_NODE_STATUS_DATA"],["impl Debug for COMMAND_LONG_DATA"],["impl Debug for LOG_ERASE_DATA"],["impl Debug for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Debug for TERRAIN_DATA_DATA"],["impl Debug for MavEventErrorReason"],["impl Debug for MavState"],["impl Debug for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Debug for VideoStreamStatusFlags"],["impl Debug for MavOdidHorAcc"],["impl Debug for LOG_REQUEST_LIST_DATA"],["impl Debug for CameraTrackingMode"],["impl Debug for PreflightStorageParameterAction"],["impl Debug for MavPowerStatus"],["impl Debug for CONTROL_SYSTEM_STATE_DATA"],["impl Debug for FenceAction"],["impl Debug for SCALED_IMU2_DATA"],["impl Debug for MavAutopilot"],["impl Debug for MavCmd"],["impl Debug for MISSION_SET_CURRENT_DATA"],["impl Debug for CAMERA_SETTINGS_DATA"],["impl Debug for POWER_STATUS_DATA"],["impl Debug for AdsbEmitterType"],["impl Debug for LOG_DATA_DATA"],["impl Debug for AttitudeTargetTypemask"],["impl Debug for TUNNEL_DATA"],["impl Debug for MESSAGE_INTERVAL_DATA"],["impl Debug for MavOdidStatus"],["impl Debug for MISSION_CURRENT_DATA"],["impl Debug for CameraFeedbackFlags"],["impl Debug for GIMBAL_CONTROL_DATA"],["impl Debug for HOME_POSITION_DATA"],["impl Debug for PARAM_EXT_ACK_DATA"],["impl Debug for ATTITUDE_TARGET_DATA"],["impl Debug for LOCAL_POSITION_NED_COV_DATA"],["impl Debug for GLOBAL_POSITION_INT_COV_DATA"],["impl Debug for CAN_FRAME_DATA"],["impl Debug for HIL_GPS_DATA"],["impl Debug for ACTUATOR_CONTROL_TARGET_DATA"],["impl Debug for MavOdidOperatorIdType"],["impl Debug for SYS_STATUS_DATA"],["impl Debug for MavVtolState"],["impl Debug for MavFrame"],["impl Debug for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Debug for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Debug for LOG_REQUEST_END_DATA"],["impl Debug for MISSION_ACK_DATA"],["impl Debug for MISSION_COUNT_DATA"],["impl Debug for MavOdidClassEu"],["impl Debug for OSD_PARAM_CONFIG_REPLY_DATA"],["impl Debug for AdsbAltitudeType"],["impl Debug for MCU_STATUS_DATA"],["impl Debug for MISSION_REQUEST_DATA"],["impl Debug for REMOTE_LOG_DATA_BLOCK_DATA"],["impl Debug for UtmDataAvailFlags"],["impl Debug for ActuatorOutputFunction"],["impl Debug for GimbalManagerCapFlags"],["impl Debug for WHEEL_DISTANCE_DATA"],["impl Debug for MavCollisionSrc"],["impl Debug for DEBUG_VECT_DATA"],["impl Debug for ESC_INFO_DATA"],["impl Debug for NAV_CONTROLLER_OUTPUT_DATA"],["impl Debug for AP_ADC_DATA"],["impl Debug for CAMERA_CAPTURE_STATUS_DATA"],["impl Debug for UavionixAdsbOutRfSelect"],["impl Debug for FOLLOW_TARGET_DATA"],["impl Debug for MOUNT_CONTROL_DATA"],["impl Debug for MISSION_ITEM_REACHED_DATA"],["impl Debug for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Debug for MavSysStatusSensor"],["impl Debug for AdsbFlags"],["impl Debug for PARAM_EXT_SET_DATA"],["impl Debug for LimitsState"],["impl Debug for WHEEL_DISTANCE_DATA"],["impl Debug for CellularStatusFlag"],["impl Debug for VFR_HUD_DATA"],["impl Debug for MISSION_REQUEST_LIST_DATA"],["impl Debug for ADSB_VEHICLE_DATA"],["impl Debug for MavOdidHeightRef"],["impl Debug for LOG_REQUEST_END_DATA"],["impl Debug for AOA_SSA_DATA"],["impl Debug for PreflightStorageMissionAction"],["impl Debug for CAMERA_TRIGGER_DATA"],["impl Debug for MANUAL_CONTROL_DATA"],["impl Debug for MavOdidCategoryEu"],["impl Debug for MavMountMode"],["impl Debug for SCALED_IMU3_DATA"],["impl Debug for ODOMETRY_DATA"],["impl Debug for MissionState"],["impl Debug for FOLLOW_TARGET_DATA"],["impl Debug for MavOdidIdType"],["impl Debug for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Debug for MavTunnelPayloadType"],["impl Debug for WIND_COV_DATA"],["impl Debug for MavComponent"],["impl Debug for MavRemoteLogDataBlockStatuses"],["impl Debug for SerialControlDev"],["impl Debug for FENCE_STATUS_DATA"],["impl Debug for HIL_SENSOR_DATA"],["impl Debug for REQUEST_EVENT_DATA"],["impl Debug for RAW_RPM_DATA"],["impl Debug for IcarousTrackBandTypes"],["impl Debug for GPS_STATUS_DATA"],["impl Debug for CELLULAR_STATUS_DATA"],["impl Debug for MavOdidDescType"],["impl Debug for HIL_ACTUATOR_CONTROLS_DATA"],["impl Debug for SYSTEM_TIME_DATA"],["impl Debug for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Debug for VIDEO_STREAM_STATUS_DATA"],["impl Debug for RcType"],["impl Debug for TERRAIN_CHECK_DATA"],["impl Debug for MavDistanceSensor"],["impl Debug for GPS_RAW_INT_DATA"],["impl Debug for HIL_OPTICAL_FLOW_DATA"],["impl Debug for AUTH_KEY_DATA"],["impl Debug for MAG_CAL_REPORT_DATA"],["impl Debug for SERVO_OUTPUT_RAW_DATA"],["impl Debug for LOCAL_POSITION_NED_COV_DATA"],["impl Debug for PrecisionLandMode"],["impl Debug for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Debug for PARAM_MAP_RC_DATA"],["impl Debug for DEBUG_FLOAT_ARRAY_DATA"],["impl Debug for COMMAND_ACK_DATA"],["impl Debug for VIBRATION_DATA"],["impl Debug for EXTENDED_SYS_STATE_DATA"],["impl Debug for HIL_GPS_DATA"],["impl Debug for EXTENDED_SYS_STATE_DATA"],["impl Debug for RESOURCE_REQUEST_DATA"],["impl Debug for GPS_INJECT_DATA_DATA"],["impl Debug for DEVICE_OP_READ_REPLY_DATA"],["impl Debug for MavModeGimbal"],["impl Debug for HIL_OPTICAL_FLOW_DATA"],["impl Debug for NAMED_VALUE_FLOAT_DATA"],["impl Debug for MavGeneratorStatusFlag"],["impl Debug for PARAM_SET_DATA"],["impl Debug for RAW_IMU_DATA"],["impl Debug for NAV_CONTROLLER_OUTPUT_DATA"],["impl Debug for MavModeFlag"],["impl Debug for MavDataStream"],["impl Debug for CANFD_FRAME_DATA"],["impl Debug for PrecisionLandMode"],["impl Debug for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Debug for GimbalDeviceFlags"],["impl Debug for FENCE_STATUS_DATA"],["impl Debug for AisType"],["impl Debug for ParachuteAction"],["impl Debug for VISION_SPEED_ESTIMATE_DATA"],["impl Debug for HIGH_LATENCY2_DATA"],["impl Debug for COLLISION_DATA"],["impl Debug for PARAM_EXT_SET_DATA"],["impl Debug for ATT_POS_MOCAP_DATA"],["impl Debug for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Debug for PrecisionLandMode"],["impl Debug for REQUEST_EVENT_DATA"],["impl Debug for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Debug for CAMERA_CAPTURE_STATUS_DATA"],["impl Debug for GOPRO_SET_RESPONSE_DATA"],["impl Debug for MavType"],["impl Debug for CellularNetworkFailedReason"],["impl Debug for FLIGHT_INFORMATION_DATA"],["impl Debug for MavEventCurrentSequenceFlags"],["impl Debug for CellularNetworkRadioType"],["impl Debug for MavMissionType"],["impl Debug for ATT_POS_MOCAP_DATA"],["impl Debug for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Debug for RAW_PRESSURE_DATA"],["impl Debug for POSITION_TARGET_LOCAL_NED_DATA"],["impl Debug for COMMAND_ACK_DATA"],["impl Debug for MavDataStream"],["impl Debug for MavGeneratorStatusFlag"],["impl Debug for FailureType"],["impl Debug for MavOdidSpeedAcc"],["impl Debug for HIGH_LATENCY_DATA"],["impl Debug for NAV_CONTROLLER_OUTPUT_DATA"],["impl Debug for MavWinchStatusFlag"],["impl Debug for LOGGING_DATA_DATA"],["impl Debug for LANDING_TARGET_DATA"],["impl Debug for NAMED_VALUE_INT_DATA"],["impl Debug for HilSensorUpdatedFlags"],["impl Debug for PLAY_TUNE_V2_DATA"],["impl Debug for HIGH_LATENCY2_DATA"],["impl Debug for MavSysStatusSensorExtended"],["impl Debug for MOUNT_CONFIGURE_DATA"],["impl Debug for DISTANCE_SENSOR_DATA"],["impl Debug for CameraTrackingTargetData"],["impl Debug for RAW_IMU_DATA"],["impl Debug for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl Debug for UAVCAN_NODE_INFO_DATA"],["impl Debug for MavTunnelPayloadType"],["impl Debug for OBSTACLE_DISTANCE_DATA"],["impl Debug for MOUNT_STATUS_DATA"],["impl Debug for AUTOPILOT_VERSION_DATA"],["impl Debug for MOUNT_ORIENTATION_DATA"],["impl Debug for RC_CHANNELS_SCALED_DATA"],["impl Debug for MavlinkDataStreamType"],["impl Debug for MavOdidTimeAcc"],["impl Debug for ESC_TELEMETRY_5_TO_8_DATA"],["impl Debug for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Debug for UavcanNodeHealth"],["impl Debug for SETUP_SIGNING_DATA"],["impl Debug for VISION_POSITION_ESTIMATE_DATA"],["impl Debug for CAMERA_SETTINGS_DATA"],["impl Debug for CellularConfigResponse"],["impl Debug for MavOdidVerAcc"],["impl Debug for MavProtocolCapability"],["impl Debug for TuneFormat"],["impl Debug for MavGoto"],["impl Debug for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Debug for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Debug for ONBOARD_COMPUTER_STATUS_DATA"],["impl Debug for SetFocusType"],["impl Debug for GimbalDeviceErrorFlags"],["impl Debug for CANFD_FRAME_DATA"],["impl Debug for IcarousTrackBandTypes"],["impl Debug for DATA32_DATA"],["impl Debug for WifiConfigApResponse"],["impl Debug for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Debug for RAW_PRESSURE_DATA"],["impl Debug for MavModeFlag"],["impl Debug for GPS2_RTK_DATA"],["impl Debug for OPTICAL_FLOW_RAD_DATA"],["impl Debug for CellularConfigResponse"],["impl Debug for RAW_RPM_DATA"],["impl Debug for SerialControlDev"],["impl Debug for STATUSTEXT_DATA"],["impl Debug for MagCalStatus"],["impl Debug for CURRENT_EVENT_SEQUENCE_DATA"],["impl Debug for PARAM_EXT_ACK_DATA"],["impl Debug for PARAM_EXT_REQUEST_LIST_DATA"],["impl Debug for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Debug for WinchActions"],["impl Debug for LedControlPattern"],["impl Debug for EkfStatusFlags"],["impl Debug for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl Debug for MavRoi"],["impl Debug for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Debug for MavParamExtType"],["impl Debug for UavionixAdsbRfHealth"],["impl Debug for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Debug for GoproResolution"],["impl Debug for MavPowerStatus"],["impl Debug for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Debug for MavCmdAck"],["impl Debug for FenceAction"],["impl Debug for ISBD_LINK_STATUS_DATA"]], "num_traits":[["impl Debug for ParseFloatError"],["impl Debug for FloatErrorKind"]], "proc_macro2":[["impl Debug for Punct"],["impl Debug for Literal"],["impl Debug for IntoIter"],["impl Debug for LexError"],["impl Debug for TokenStream"],["impl Debug for TokenTree"],["impl Debug for Group"],["impl Debug for Ident"],["impl Debug for DelimSpan"],["impl Debug for Spacing"],["impl Debug for Span"],["impl Debug for Delimiter"]], "serde":[["impl<E> Debug for U32Deserializer<E>"],["impl<E> Debug for I128Deserializer<E>"],["impl<E> Debug for U128Deserializer<E>"],["impl<E> Debug for I16Deserializer<E>"],["impl<E> Debug for I64Deserializer<E>"],["impl<E> Debug for F32Deserializer<E>"],["impl<A: Debug> Debug for MapAccessDeserializer<A>"],["impl<I, E> Debug for SeqDeserializer<I, E>where\n I: Debug,"],["impl<A: Debug> Debug for EnumAccessDeserializer<A>"],["impl<E> Debug for U16Deserializer<E>"],["impl<E> Debug for UnitDeserializer<E>"],["impl<E> Debug for U8Deserializer<E>"],["impl<E> Debug for I32Deserializer<E>"],["impl<A: Debug> Debug for SeqAccessDeserializer<A>"],["impl<E> Debug for IsizeDeserializer<E>"],["impl<E> Debug for BoolDeserializer<E>"],["impl<'de, I, E> Debug for MapDeserializer<'de, I, E>where\n I: Iterator + Debug,\n I::Item: Pair,\n <I::Item as Pair>::Second: Debug,"],["impl<E> Debug for F64Deserializer<E>"],["impl<'a, E> Debug for CowStrDeserializer<'a, E>"],["impl<E> Debug for StringDeserializer<E>"],["impl<'de, E> Debug for BorrowedBytesDeserializer<'de, E>"],["impl<'de, E> Debug for BorrowedStrDeserializer<'de, E>"],["impl<E> Debug for U64Deserializer<E>"],["impl Debug for IgnoredAny"],["impl<'a, E> Debug for BytesDeserializer<'a, E>"],["impl<E> Debug for I8Deserializer<E>"],["impl<E> Debug for UsizeDeserializer<E>"],["impl<'a> Debug for Unexpected<'a>"],["impl<'a, E> Debug for StrDeserializer<'a, E>"],["impl<E> Debug for CharDeserializer<E>"],["impl Debug for Error"]], diff --git a/trait.impl/core/fmt/trait.LowerHex.js b/trait.impl/core/fmt/trait.LowerHex.js index 5532da4ef8..1c0b9149ff 100644 --- a/trait.impl/core/fmt/trait.LowerHex.js +++ b/trait.impl/core/fmt/trait.LowerHex.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mavlink":[["impl LowerHex for UavionixAdsbOutRfSelect"],["impl LowerHex for AttitudeTargetTypemask"],["impl LowerHex for EscFailureFlags"],["impl LowerHex for HilSensorUpdatedFlags"],["impl LowerHex for AttitudeTargetTypemask"],["impl LowerHex for HighresImuUpdatedFlags"],["impl LowerHex for PositionTargetTypemask"],["impl LowerHex for TuneFormat"],["impl LowerHex for GimbalDeviceCapFlags"],["impl LowerHex for MavModeFlag"],["impl LowerHex for GimbalManagerCapFlags"],["impl LowerHex for EscFailureFlags"],["impl LowerHex for RallyFlags"],["impl LowerHex for MavProtocolCapability"],["impl LowerHex for GimbalDeviceFlags"],["impl LowerHex for GpsInputIgnoreFlags"],["impl LowerHex for GoproHeartbeatFlags"],["impl LowerHex for GpsInputIgnoreFlags"],["impl LowerHex for GimbalDeviceFlags"],["impl LowerHex for GimbalDeviceErrorFlags"],["impl LowerHex for UtmDataAvailFlags"],["impl LowerHex for MavEventCurrentSequenceFlags"],["impl LowerHex for HighresImuUpdatedFlags"],["impl LowerHex for HlFailureFlag"],["impl LowerHex for EscFailureFlags"],["impl LowerHex for MavSysStatusSensor"],["impl LowerHex for EkfStatusFlags"],["impl LowerHex for GimbalDeviceErrorFlags"],["impl LowerHex for MavSysStatusSensor"],["impl LowerHex for MavModeFlag"],["impl LowerHex for GimbalDeviceCapFlags"],["impl LowerHex for UtmDataAvailFlags"],["impl LowerHex for UavionixAdsbOutDynamicState"],["impl LowerHex for HilSensorUpdatedFlags"],["impl LowerHex for AisFlags"],["impl LowerHex for LimitModule"],["impl LowerHex for MavEventCurrentSequenceFlags"],["impl LowerHex for MavGeneratorStatusFlag"],["impl LowerHex for MavModeFlag"],["impl LowerHex for MavPowerStatus"],["impl LowerHex for UavionixAdsbOutDynamicState"],["impl LowerHex for AdsbFlags"],["impl LowerHex for UavionixAdsbRfHealth"],["impl LowerHex for CameraCapFlags"],["impl LowerHex for MavPowerStatus"],["impl LowerHex for MavProtocolCapability"],["impl LowerHex for AttitudeTargetTypemask"],["impl LowerHex for EstimatorStatusFlags"],["impl LowerHex for HlFailureFlag"],["impl LowerHex for TuneFormat"],["impl LowerHex for CameraCapFlags"],["impl LowerHex for MavWinchStatusFlag"],["impl LowerHex for AdsbFlags"],["impl LowerHex for PositionTargetTypemask"],["impl LowerHex for EstimatorStatusFlags"],["impl LowerHex for MavGeneratorStatusFlag"],["impl LowerHex for MavPowerStatus"],["impl LowerHex for GimbalDeviceErrorFlags"],["impl LowerHex for AdsbFlags"],["impl LowerHex for MavWinchStatusFlag"],["impl LowerHex for AisFlags"],["impl LowerHex for EstimatorStatusFlags"],["impl LowerHex for SerialControlFlag"],["impl LowerHex for UavionixAdsbRfHealth"],["impl LowerHex for GimbalManagerCapFlags"],["impl LowerHex for MavEventCurrentSequenceFlags"],["impl LowerHex for PositionTargetTypemask"],["impl LowerHex for HilSensorUpdatedFlags"],["impl LowerHex for UavionixAdsbOutRfSelect"],["impl LowerHex for CameraCapFlags"],["impl LowerHex for MavProtocolCapability"],["impl LowerHex for UtmDataAvailFlags"],["impl LowerHex for TuneFormat"],["impl LowerHex for GpsInputIgnoreFlags"],["impl LowerHex for MavWinchStatusFlag"],["impl LowerHex for SerialControlFlag"],["impl LowerHex for AisFlags"],["impl LowerHex for MavSysStatusSensor"],["impl LowerHex for HighresImuUpdatedFlags"],["impl LowerHex for SerialControlFlag"],["impl LowerHex for MavGeneratorStatusFlag"],["impl LowerHex for HlFailureFlag"],["impl LowerHex for GimbalManagerCapFlags"],["impl LowerHex for GimbalDeviceFlags"],["impl LowerHex for GimbalDeviceCapFlags"]] +"mavlink":[["impl LowerHex for AttitudeTargetTypemask"],["impl LowerHex for CameraCapFlags"],["impl LowerHex for AisFlags"],["impl LowerHex for MavGeneratorStatusFlag"],["impl LowerHex for HilSensorUpdatedFlags"],["impl LowerHex for EscFailureFlags"],["impl LowerHex for GimbalDeviceFlags"],["impl LowerHex for MavEventCurrentSequenceFlags"],["impl LowerHex for GimbalDeviceCapFlags"],["impl LowerHex for MavModeFlag"],["impl LowerHex for TuneFormat"],["impl LowerHex for AdsbFlags"],["impl LowerHex for SerialControlFlag"],["impl LowerHex for MavGeneratorStatusFlag"],["impl LowerHex for GpsInputIgnoreFlags"],["impl LowerHex for HlFailureFlag"],["impl LowerHex for AttitudeTargetTypemask"],["impl LowerHex for MavSysStatusSensor"],["impl LowerHex for MavPowerStatus"],["impl LowerHex for UavionixAdsbRfHealth"],["impl LowerHex for MavWinchStatusFlag"],["impl LowerHex for MavGeneratorStatusFlag"],["impl LowerHex for SerialControlFlag"],["impl LowerHex for LimitModule"],["impl LowerHex for PositionTargetTypemask"],["impl LowerHex for EscFailureFlags"],["impl LowerHex for MavSysStatusSensor"],["impl LowerHex for HighresImuUpdatedFlags"],["impl LowerHex for UtmDataAvailFlags"],["impl LowerHex for HighresImuUpdatedFlags"],["impl LowerHex for EstimatorStatusFlags"],["impl LowerHex for MavSysStatusSensor"],["impl LowerHex for MavProtocolCapability"],["impl LowerHex for HlFailureFlag"],["impl LowerHex for HilSensorUpdatedFlags"],["impl LowerHex for PositionTargetTypemask"],["impl LowerHex for HlFailureFlag"],["impl LowerHex for GimbalDeviceErrorFlags"],["impl LowerHex for GimbalDeviceFlags"],["impl LowerHex for MavProtocolCapability"],["impl LowerHex for UavionixAdsbOutDynamicState"],["impl LowerHex for GimbalManagerCapFlags"],["impl LowerHex for AisFlags"],["impl LowerHex for GimbalDeviceErrorFlags"],["impl LowerHex for UavionixAdsbOutRfSelect"],["impl LowerHex for TuneFormat"],["impl LowerHex for MavWinchStatusFlag"],["impl LowerHex for RallyFlags"],["impl LowerHex for MavPowerStatus"],["impl LowerHex for GimbalDeviceCapFlags"],["impl LowerHex for PositionTargetTypemask"],["impl LowerHex for UavionixAdsbOutRfSelect"],["impl LowerHex for GoproHeartbeatFlags"],["impl LowerHex for UtmDataAvailFlags"],["impl LowerHex for GimbalManagerCapFlags"],["impl LowerHex for CameraCapFlags"],["impl LowerHex for MavProtocolCapability"],["impl LowerHex for EscFailureFlags"],["impl LowerHex for GimbalDeviceFlags"],["impl LowerHex for MavPowerStatus"],["impl LowerHex for AisFlags"],["impl LowerHex for MavEventCurrentSequenceFlags"],["impl LowerHex for SerialControlFlag"],["impl LowerHex for GimbalDeviceErrorFlags"],["impl LowerHex for MavWinchStatusFlag"],["impl LowerHex for GpsInputIgnoreFlags"],["impl LowerHex for GimbalManagerCapFlags"],["impl LowerHex for UavionixAdsbOutDynamicState"],["impl LowerHex for UtmDataAvailFlags"],["impl LowerHex for CameraCapFlags"],["impl LowerHex for MavModeFlag"],["impl LowerHex for AdsbFlags"],["impl LowerHex for TuneFormat"],["impl LowerHex for EkfStatusFlags"],["impl LowerHex for MavEventCurrentSequenceFlags"],["impl LowerHex for UavionixAdsbRfHealth"],["impl LowerHex for GimbalDeviceCapFlags"],["impl LowerHex for EstimatorStatusFlags"],["impl LowerHex for EstimatorStatusFlags"],["impl LowerHex for AttitudeTargetTypemask"],["impl LowerHex for GpsInputIgnoreFlags"],["impl LowerHex for HighresImuUpdatedFlags"],["impl LowerHex for HilSensorUpdatedFlags"],["impl LowerHex for MavModeFlag"],["impl LowerHex for AdsbFlags"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/fmt/trait.Octal.js b/trait.impl/core/fmt/trait.Octal.js index d90b6dd1c1..61171ba928 100644 --- a/trait.impl/core/fmt/trait.Octal.js +++ b/trait.impl/core/fmt/trait.Octal.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mavlink":[["impl Octal for EscFailureFlags"],["impl Octal for TuneFormat"],["impl Octal for MavEventCurrentSequenceFlags"],["impl Octal for HilSensorUpdatedFlags"],["impl Octal for UtmDataAvailFlags"],["impl Octal for AdsbFlags"],["impl Octal for GimbalDeviceErrorFlags"],["impl Octal for GimbalDeviceFlags"],["impl Octal for CameraCapFlags"],["impl Octal for MavEventCurrentSequenceFlags"],["impl Octal for MavWinchStatusFlag"],["impl Octal for TuneFormat"],["impl Octal for HighresImuUpdatedFlags"],["impl Octal for MavSysStatusSensor"],["impl Octal for GimbalManagerCapFlags"],["impl Octal for HilSensorUpdatedFlags"],["impl Octal for AisFlags"],["impl Octal for PositionTargetTypemask"],["impl Octal for MavModeFlag"],["impl Octal for EstimatorStatusFlags"],["impl Octal for AisFlags"],["impl Octal for HighresImuUpdatedFlags"],["impl Octal for GimbalDeviceFlags"],["impl Octal for AttitudeTargetTypemask"],["impl Octal for EstimatorStatusFlags"],["impl Octal for UavionixAdsbOutRfSelect"],["impl Octal for MavProtocolCapability"],["impl Octal for GpsInputIgnoreFlags"],["impl Octal for GpsInputIgnoreFlags"],["impl Octal for MavModeFlag"],["impl Octal for EscFailureFlags"],["impl Octal for MavGeneratorStatusFlag"],["impl Octal for HighresImuUpdatedFlags"],["impl Octal for MavSysStatusSensor"],["impl Octal for AisFlags"],["impl Octal for HlFailureFlag"],["impl Octal for LimitModule"],["impl Octal for CameraCapFlags"],["impl Octal for GimbalDeviceCapFlags"],["impl Octal for UtmDataAvailFlags"],["impl Octal for MavGeneratorStatusFlag"],["impl Octal for MavWinchStatusFlag"],["impl Octal for AttitudeTargetTypemask"],["impl Octal for CameraCapFlags"],["impl Octal for TuneFormat"],["impl Octal for RallyFlags"],["impl Octal for GimbalDeviceErrorFlags"],["impl Octal for MavPowerStatus"],["impl Octal for PositionTargetTypemask"],["impl Octal for GimbalDeviceCapFlags"],["impl Octal for SerialControlFlag"],["impl Octal for UavionixAdsbOutDynamicState"],["impl Octal for AttitudeTargetTypemask"],["impl Octal for MavGeneratorStatusFlag"],["impl Octal for GimbalManagerCapFlags"],["impl Octal for HlFailureFlag"],["impl Octal for MavPowerStatus"],["impl Octal for GpsInputIgnoreFlags"],["impl Octal for UavionixAdsbOutDynamicState"],["impl Octal for HilSensorUpdatedFlags"],["impl Octal for GimbalManagerCapFlags"],["impl Octal for UavionixAdsbOutRfSelect"],["impl Octal for MavWinchStatusFlag"],["impl Octal for EkfStatusFlags"],["impl Octal for SerialControlFlag"],["impl Octal for GoproHeartbeatFlags"],["impl Octal for GimbalDeviceCapFlags"],["impl Octal for GimbalDeviceErrorFlags"],["impl Octal for MavProtocolCapability"],["impl Octal for MavPowerStatus"],["impl Octal for AdsbFlags"],["impl Octal for PositionTargetTypemask"],["impl Octal for MavEventCurrentSequenceFlags"],["impl Octal for EscFailureFlags"],["impl Octal for SerialControlFlag"],["impl Octal for MavSysStatusSensor"],["impl Octal for GimbalDeviceFlags"],["impl Octal for MavProtocolCapability"],["impl Octal for EstimatorStatusFlags"],["impl Octal for HlFailureFlag"],["impl Octal for AdsbFlags"],["impl Octal for UavionixAdsbRfHealth"],["impl Octal for UtmDataAvailFlags"],["impl Octal for UavionixAdsbRfHealth"],["impl Octal for MavModeFlag"]] +"mavlink":[["impl Octal for MavGeneratorStatusFlag"],["impl Octal for MavSysStatusSensor"],["impl Octal for UavionixAdsbRfHealth"],["impl Octal for GimbalDeviceErrorFlags"],["impl Octal for GimbalDeviceFlags"],["impl Octal for UtmDataAvailFlags"],["impl Octal for AdsbFlags"],["impl Octal for SerialControlFlag"],["impl Octal for CameraCapFlags"],["impl Octal for MavEventCurrentSequenceFlags"],["impl Octal for HighresImuUpdatedFlags"],["impl Octal for UavionixAdsbOutDynamicState"],["impl Octal for RallyFlags"],["impl Octal for MavModeFlag"],["impl Octal for EstimatorStatusFlags"],["impl Octal for HlFailureFlag"],["impl Octal for UavionixAdsbOutRfSelect"],["impl Octal for HighresImuUpdatedFlags"],["impl Octal for MavModeFlag"],["impl Octal for TuneFormat"],["impl Octal for AisFlags"],["impl Octal for PositionTargetTypemask"],["impl Octal for GimbalDeviceCapFlags"],["impl Octal for HlFailureFlag"],["impl Octal for HilSensorUpdatedFlags"],["impl Octal for AttitudeTargetTypemask"],["impl Octal for HighresImuUpdatedFlags"],["impl Octal for EscFailureFlags"],["impl Octal for MavPowerStatus"],["impl Octal for MavProtocolCapability"],["impl Octal for UtmDataAvailFlags"],["impl Octal for UtmDataAvailFlags"],["impl Octal for LimitModule"],["impl Octal for MavGeneratorStatusFlag"],["impl Octal for MavSysStatusSensor"],["impl Octal for SerialControlFlag"],["impl Octal for EstimatorStatusFlags"],["impl Octal for PositionTargetTypemask"],["impl Octal for CameraCapFlags"],["impl Octal for TuneFormat"],["impl Octal for MavPowerStatus"],["impl Octal for MavModeFlag"],["impl Octal for MavWinchStatusFlag"],["impl Octal for MavGeneratorStatusFlag"],["impl Octal for SerialControlFlag"],["impl Octal for MavWinchStatusFlag"],["impl Octal for MavPowerStatus"],["impl Octal for EscFailureFlags"],["impl Octal for GpsInputIgnoreFlags"],["impl Octal for TuneFormat"],["impl Octal for GimbalDeviceFlags"],["impl Octal for GimbalDeviceErrorFlags"],["impl Octal for GpsInputIgnoreFlags"],["impl Octal for GimbalDeviceCapFlags"],["impl Octal for EkfStatusFlags"],["impl Octal for MavWinchStatusFlag"],["impl Octal for HilSensorUpdatedFlags"],["impl Octal for MavProtocolCapability"],["impl Octal for HlFailureFlag"],["impl Octal for MavEventCurrentSequenceFlags"],["impl Octal for GoproHeartbeatFlags"],["impl Octal for GimbalDeviceFlags"],["impl Octal for UavionixAdsbOutDynamicState"],["impl Octal for AttitudeTargetTypemask"],["impl Octal for GpsInputIgnoreFlags"],["impl Octal for GimbalManagerCapFlags"],["impl Octal for GimbalManagerCapFlags"],["impl Octal for GimbalManagerCapFlags"],["impl Octal for AdsbFlags"],["impl Octal for PositionTargetTypemask"],["impl Octal for CameraCapFlags"],["impl Octal for MavEventCurrentSequenceFlags"],["impl Octal for GimbalDeviceErrorFlags"],["impl Octal for UavionixAdsbRfHealth"],["impl Octal for EstimatorStatusFlags"],["impl Octal for AdsbFlags"],["impl Octal for UavionixAdsbOutRfSelect"],["impl Octal for EscFailureFlags"],["impl Octal for AttitudeTargetTypemask"],["impl Octal for MavProtocolCapability"],["impl Octal for GimbalDeviceCapFlags"],["impl Octal for HilSensorUpdatedFlags"],["impl Octal for AisFlags"],["impl Octal for MavSysStatusSensor"],["impl Octal for AisFlags"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/fmt/trait.UpperHex.js b/trait.impl/core/fmt/trait.UpperHex.js index ba72bd6e5a..5a0c9a45b4 100644 --- a/trait.impl/core/fmt/trait.UpperHex.js +++ b/trait.impl/core/fmt/trait.UpperHex.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mavlink":[["impl UpperHex for UavionixAdsbOutDynamicState"],["impl UpperHex for MavProtocolCapability"],["impl UpperHex for MavGeneratorStatusFlag"],["impl UpperHex for UavionixAdsbOutRfSelect"],["impl UpperHex for MavEventCurrentSequenceFlags"],["impl UpperHex for TuneFormat"],["impl UpperHex for UtmDataAvailFlags"],["impl UpperHex for GimbalDeviceFlags"],["impl UpperHex for PositionTargetTypemask"],["impl UpperHex for MavWinchStatusFlag"],["impl UpperHex for GimbalDeviceErrorFlags"],["impl UpperHex for EscFailureFlags"],["impl UpperHex for MavPowerStatus"],["impl UpperHex for GpsInputIgnoreFlags"],["impl UpperHex for MavSysStatusSensor"],["impl UpperHex for UtmDataAvailFlags"],["impl UpperHex for UtmDataAvailFlags"],["impl UpperHex for MavWinchStatusFlag"],["impl UpperHex for UavionixAdsbRfHealth"],["impl UpperHex for GimbalManagerCapFlags"],["impl UpperHex for MavSysStatusSensor"],["impl UpperHex for MavPowerStatus"],["impl UpperHex for GoproHeartbeatFlags"],["impl UpperHex for EscFailureFlags"],["impl UpperHex for GimbalDeviceFlags"],["impl UpperHex for EkfStatusFlags"],["impl UpperHex for AttitudeTargetTypemask"],["impl UpperHex for EstimatorStatusFlags"],["impl UpperHex for MavProtocolCapability"],["impl UpperHex for SerialControlFlag"],["impl UpperHex for CameraCapFlags"],["impl UpperHex for MavPowerStatus"],["impl UpperHex for UavionixAdsbRfHealth"],["impl UpperHex for GimbalManagerCapFlags"],["impl UpperHex for EstimatorStatusFlags"],["impl UpperHex for HighresImuUpdatedFlags"],["impl UpperHex for TuneFormat"],["impl UpperHex for AttitudeTargetTypemask"],["impl UpperHex for LimitModule"],["impl UpperHex for MavSysStatusSensor"],["impl UpperHex for GimbalDeviceFlags"],["impl UpperHex for MavModeFlag"],["impl UpperHex for SerialControlFlag"],["impl UpperHex for AdsbFlags"],["impl UpperHex for SerialControlFlag"],["impl UpperHex for GimbalDeviceCapFlags"],["impl UpperHex for PositionTargetTypemask"],["impl UpperHex for GimbalDeviceErrorFlags"],["impl UpperHex for CameraCapFlags"],["impl UpperHex for MavWinchStatusFlag"],["impl UpperHex for RallyFlags"],["impl UpperHex for AdsbFlags"],["impl UpperHex for GpsInputIgnoreFlags"],["impl UpperHex for HlFailureFlag"],["impl UpperHex for HighresImuUpdatedFlags"],["impl UpperHex for UavionixAdsbOutDynamicState"],["impl UpperHex for HilSensorUpdatedFlags"],["impl UpperHex for MavGeneratorStatusFlag"],["impl UpperHex for MavModeFlag"],["impl UpperHex for TuneFormat"],["impl UpperHex for MavEventCurrentSequenceFlags"],["impl UpperHex for HlFailureFlag"],["impl UpperHex for AdsbFlags"],["impl UpperHex for GpsInputIgnoreFlags"],["impl UpperHex for MavProtocolCapability"],["impl UpperHex for AttitudeTargetTypemask"],["impl UpperHex for GimbalDeviceCapFlags"],["impl UpperHex for HlFailureFlag"],["impl UpperHex for GimbalDeviceCapFlags"],["impl UpperHex for GimbalDeviceErrorFlags"],["impl UpperHex for MavGeneratorStatusFlag"],["impl UpperHex for MavEventCurrentSequenceFlags"],["impl UpperHex for AisFlags"],["impl UpperHex for EscFailureFlags"],["impl UpperHex for HighresImuUpdatedFlags"],["impl UpperHex for HilSensorUpdatedFlags"],["impl UpperHex for MavModeFlag"],["impl UpperHex for EstimatorStatusFlags"],["impl UpperHex for PositionTargetTypemask"],["impl UpperHex for HilSensorUpdatedFlags"],["impl UpperHex for UavionixAdsbOutRfSelect"],["impl UpperHex for AisFlags"],["impl UpperHex for GimbalManagerCapFlags"],["impl UpperHex for AisFlags"],["impl UpperHex for CameraCapFlags"]] +"mavlink":[["impl UpperHex for SerialControlFlag"],["impl UpperHex for CameraCapFlags"],["impl UpperHex for PositionTargetTypemask"],["impl UpperHex for MavWinchStatusFlag"],["impl UpperHex for UavionixAdsbRfHealth"],["impl UpperHex for SerialControlFlag"],["impl UpperHex for GimbalDeviceErrorFlags"],["impl UpperHex for UavionixAdsbOutDynamicState"],["impl UpperHex for AttitudeTargetTypemask"],["impl UpperHex for HighresImuUpdatedFlags"],["impl UpperHex for LimitModule"],["impl UpperHex for MavModeFlag"],["impl UpperHex for GimbalManagerCapFlags"],["impl UpperHex for MavEventCurrentSequenceFlags"],["impl UpperHex for EkfStatusFlags"],["impl UpperHex for GimbalManagerCapFlags"],["impl UpperHex for GimbalDeviceCapFlags"],["impl UpperHex for MavEventCurrentSequenceFlags"],["impl UpperHex for GpsInputIgnoreFlags"],["impl UpperHex for MavGeneratorStatusFlag"],["impl UpperHex for AdsbFlags"],["impl UpperHex for TuneFormat"],["impl UpperHex for EscFailureFlags"],["impl UpperHex for MavSysStatusSensor"],["impl UpperHex for EscFailureFlags"],["impl UpperHex for MavSysStatusSensor"],["impl UpperHex for MavPowerStatus"],["impl UpperHex for EstimatorStatusFlags"],["impl UpperHex for UtmDataAvailFlags"],["impl UpperHex for MavPowerStatus"],["impl UpperHex for GimbalDeviceFlags"],["impl UpperHex for AdsbFlags"],["impl UpperHex for MavModeFlag"],["impl UpperHex for UtmDataAvailFlags"],["impl UpperHex for GimbalDeviceCapFlags"],["impl UpperHex for GimbalDeviceErrorFlags"],["impl UpperHex for HighresImuUpdatedFlags"],["impl UpperHex for GimbalDeviceCapFlags"],["impl UpperHex for UtmDataAvailFlags"],["impl UpperHex for HlFailureFlag"],["impl UpperHex for MavWinchStatusFlag"],["impl UpperHex for PositionTargetTypemask"],["impl UpperHex for TuneFormat"],["impl UpperHex for UavionixAdsbOutRfSelect"],["impl UpperHex for AttitudeTargetTypemask"],["impl UpperHex for HighresImuUpdatedFlags"],["impl UpperHex for AdsbFlags"],["impl UpperHex for AisFlags"],["impl UpperHex for GimbalManagerCapFlags"],["impl UpperHex for HilSensorUpdatedFlags"],["impl UpperHex for AttitudeTargetTypemask"],["impl UpperHex for AisFlags"],["impl UpperHex for EstimatorStatusFlags"],["impl UpperHex for MavProtocolCapability"],["impl UpperHex for EscFailureFlags"],["impl UpperHex for UavionixAdsbRfHealth"],["impl UpperHex for MavWinchStatusFlag"],["impl UpperHex for GpsInputIgnoreFlags"],["impl UpperHex for MavProtocolCapability"],["impl UpperHex for MavPowerStatus"],["impl UpperHex for CameraCapFlags"],["impl UpperHex for RallyFlags"],["impl UpperHex for MavProtocolCapability"],["impl UpperHex for HilSensorUpdatedFlags"],["impl UpperHex for GimbalDeviceFlags"],["impl UpperHex for MavSysStatusSensor"],["impl UpperHex for GpsInputIgnoreFlags"],["impl UpperHex for PositionTargetTypemask"],["impl UpperHex for TuneFormat"],["impl UpperHex for GimbalDeviceErrorFlags"],["impl UpperHex for HilSensorUpdatedFlags"],["impl UpperHex for MavGeneratorStatusFlag"],["impl UpperHex for HlFailureFlag"],["impl UpperHex for GoproHeartbeatFlags"],["impl UpperHex for AisFlags"],["impl UpperHex for GimbalDeviceFlags"],["impl UpperHex for HlFailureFlag"],["impl UpperHex for UavionixAdsbOutDynamicState"],["impl UpperHex for UavionixAdsbOutRfSelect"],["impl UpperHex for MavEventCurrentSequenceFlags"],["impl UpperHex for MavModeFlag"],["impl UpperHex for MavGeneratorStatusFlag"],["impl UpperHex for EstimatorStatusFlags"],["impl UpperHex for SerialControlFlag"],["impl UpperHex for CameraCapFlags"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/hash/trait.Hash.js b/trait.impl/core/hash/trait.Hash.js index b070ee05fc..05fe8d7be8 100644 --- a/trait.impl/core/hash/trait.Hash.js +++ b/trait.impl/core/hash/trait.Hash.js @@ -1,5 +1,5 @@ (function() {var implementors = { "byteorder":[["impl Hash for LittleEndian"],["impl Hash for BigEndian"]], -"mavlink":[["impl Hash for EkfStatusFlags"],["impl Hash for GpsInputIgnoreFlags"],["impl Hash for UavionixAdsbRfHealth"],["impl Hash for AdsbFlags"],["impl Hash for CameraCapFlags"],["impl Hash for MavModeFlag"],["impl Hash for EscFailureFlags"],["impl Hash for AisFlags"],["impl Hash for GimbalDeviceErrorFlags"],["impl Hash for GimbalManagerCapFlags"],["impl Hash for UavionixAdsbRfHealth"],["impl Hash for MavPowerStatus"],["impl Hash for HilSensorUpdatedFlags"],["impl Hash for UavionixAdsbOutDynamicState"],["impl Hash for MavWinchStatusFlag"],["impl Hash for GimbalDeviceErrorFlags"],["impl Hash for MavModeFlag"],["impl Hash for MavModeFlag"],["impl Hash for GimbalDeviceCapFlags"],["impl Hash for HighresImuUpdatedFlags"],["impl Hash for UtmDataAvailFlags"],["impl Hash for UtmDataAvailFlags"],["impl Hash for MavWinchStatusFlag"],["impl Hash for MavGeneratorStatusFlag"],["impl Hash for MavEventCurrentSequenceFlags"],["impl Hash for AdsbFlags"],["impl Hash for PositionTargetTypemask"],["impl Hash for MavProtocolCapability"],["impl Hash for RallyFlags"],["impl Hash for PositionTargetTypemask"],["impl Hash for LimitModule"],["impl Hash for CameraCapFlags"],["impl Hash for GimbalDeviceFlags"],["impl Hash for MavProtocolCapability"],["impl Hash for TuneFormat"],["impl Hash for GimbalDeviceFlags"],["impl Hash for GimbalDeviceCapFlags"],["impl Hash for EstimatorStatusFlags"],["impl Hash for TuneFormat"],["impl Hash for GimbalDeviceFlags"],["impl Hash for CameraCapFlags"],["impl Hash for AttitudeTargetTypemask"],["impl Hash for HighresImuUpdatedFlags"],["impl Hash for MavPowerStatus"],["impl Hash for GpsInputIgnoreFlags"],["impl Hash for UavionixAdsbOutDynamicState"],["impl Hash for GimbalDeviceCapFlags"],["impl Hash for UavionixAdsbOutRfSelect"],["impl Hash for GpsInputIgnoreFlags"],["impl Hash for AisFlags"],["impl Hash for MavGeneratorStatusFlag"],["impl Hash for HilSensorUpdatedFlags"],["impl Hash for EscFailureFlags"],["impl Hash for SerialControlFlag"],["impl Hash for AisFlags"],["impl Hash for MavEventCurrentSequenceFlags"],["impl Hash for AdsbFlags"],["impl Hash for HlFailureFlag"],["impl Hash for MavSysStatusSensor"],["impl Hash for HilSensorUpdatedFlags"],["impl Hash for TuneFormat"],["impl Hash for HlFailureFlag"],["impl Hash for HighresImuUpdatedFlags"],["impl Hash for PositionTargetTypemask"],["impl Hash for AttitudeTargetTypemask"],["impl Hash for MavGeneratorStatusFlag"],["impl Hash for AttitudeTargetTypemask"],["impl Hash for EstimatorStatusFlags"],["impl Hash for GimbalDeviceErrorFlags"],["impl Hash for SerialControlFlag"],["impl Hash for EscFailureFlags"],["impl Hash for GoproHeartbeatFlags"],["impl Hash for MavWinchStatusFlag"],["impl Hash for MavEventCurrentSequenceFlags"],["impl Hash for EstimatorStatusFlags"],["impl Hash for GimbalManagerCapFlags"],["impl Hash for MavPowerStatus"],["impl Hash for GimbalManagerCapFlags"],["impl Hash for MavProtocolCapability"],["impl Hash for UtmDataAvailFlags"],["impl Hash for SerialControlFlag"],["impl Hash for MavSysStatusSensor"],["impl Hash for HlFailureFlag"],["impl Hash for UavionixAdsbOutRfSelect"],["impl Hash for MavSysStatusSensor"]], +"mavlink":[["impl Hash for MavSysStatusSensor"],["impl Hash for HilSensorUpdatedFlags"],["impl Hash for MavEventCurrentSequenceFlags"],["impl Hash for GimbalDeviceFlags"],["impl Hash for MavProtocolCapability"],["impl Hash for PositionTargetTypemask"],["impl Hash for AdsbFlags"],["impl Hash for PositionTargetTypemask"],["impl Hash for UavionixAdsbRfHealth"],["impl Hash for MavEventCurrentSequenceFlags"],["impl Hash for UavionixAdsbOutDynamicState"],["impl Hash for GoproHeartbeatFlags"],["impl Hash for MavSysStatusSensor"],["impl Hash for MavGeneratorStatusFlag"],["impl Hash for CameraCapFlags"],["impl Hash for HilSensorUpdatedFlags"],["impl Hash for CameraCapFlags"],["impl Hash for GimbalDeviceCapFlags"],["impl Hash for AttitudeTargetTypemask"],["impl Hash for GimbalDeviceErrorFlags"],["impl Hash for MavProtocolCapability"],["impl Hash for MavEventCurrentSequenceFlags"],["impl Hash for MavWinchStatusFlag"],["impl Hash for UavionixAdsbRfHealth"],["impl Hash for MavGeneratorStatusFlag"],["impl Hash for AisFlags"],["impl Hash for SerialControlFlag"],["impl Hash for MavModeFlag"],["impl Hash for AdsbFlags"],["impl Hash for TuneFormat"],["impl Hash for MavWinchStatusFlag"],["impl Hash for EscFailureFlags"],["impl Hash for HlFailureFlag"],["impl Hash for MavGeneratorStatusFlag"],["impl Hash for HighresImuUpdatedFlags"],["impl Hash for EscFailureFlags"],["impl Hash for HilSensorUpdatedFlags"],["impl Hash for AisFlags"],["impl Hash for HighresImuUpdatedFlags"],["impl Hash for MavSysStatusSensor"],["impl Hash for CameraCapFlags"],["impl Hash for MavWinchStatusFlag"],["impl Hash for EstimatorStatusFlags"],["impl Hash for MavModeFlag"],["impl Hash for EkfStatusFlags"],["impl Hash for GimbalManagerCapFlags"],["impl Hash for LimitModule"],["impl Hash for GpsInputIgnoreFlags"],["impl Hash for MavPowerStatus"],["impl Hash for GimbalManagerCapFlags"],["impl Hash for UtmDataAvailFlags"],["impl Hash for GpsInputIgnoreFlags"],["impl Hash for UavionixAdsbOutRfSelect"],["impl Hash for TuneFormat"],["impl Hash for RallyFlags"],["impl Hash for AttitudeTargetTypemask"],["impl Hash for HlFailureFlag"],["impl Hash for UavionixAdsbOutDynamicState"],["impl Hash for EstimatorStatusFlags"],["impl Hash for AdsbFlags"],["impl Hash for EstimatorStatusFlags"],["impl Hash for GimbalManagerCapFlags"],["impl Hash for HlFailureFlag"],["impl Hash for GimbalDeviceCapFlags"],["impl Hash for GimbalDeviceFlags"],["impl Hash for UtmDataAvailFlags"],["impl Hash for UavionixAdsbOutRfSelect"],["impl Hash for GimbalDeviceFlags"],["impl Hash for SerialControlFlag"],["impl Hash for MavPowerStatus"],["impl Hash for EscFailureFlags"],["impl Hash for AttitudeTargetTypemask"],["impl Hash for SerialControlFlag"],["impl Hash for GpsInputIgnoreFlags"],["impl Hash for TuneFormat"],["impl Hash for MavProtocolCapability"],["impl Hash for PositionTargetTypemask"],["impl Hash for MavModeFlag"],["impl Hash for AisFlags"],["impl Hash for GimbalDeviceErrorFlags"],["impl Hash for GimbalDeviceCapFlags"],["impl Hash for GimbalDeviceErrorFlags"],["impl Hash for HighresImuUpdatedFlags"],["impl Hash for UtmDataAvailFlags"],["impl Hash for MavPowerStatus"]], "proc_macro2":[["impl Hash for Ident"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/iter/traits/collect/trait.Extend.js b/trait.impl/core/iter/traits/collect/trait.Extend.js index 2d909fbf25..fbc4f91071 100644 --- a/trait.impl/core/iter/traits/collect/trait.Extend.js +++ b/trait.impl/core/iter/traits/collect/trait.Extend.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"mavlink":[["impl Extend<HlFailureFlag> for HlFailureFlag"],["impl Extend<TuneFormat> for TuneFormat"],["impl Extend<GimbalManagerCapFlags> for GimbalManagerCapFlags"],["impl Extend<UavionixAdsbOutRfSelect> for UavionixAdsbOutRfSelect"],["impl Extend<GimbalDeviceCapFlags> for GimbalDeviceCapFlags"],["impl Extend<GpsInputIgnoreFlags> for GpsInputIgnoreFlags"],["impl Extend<SerialControlFlag> for SerialControlFlag"],["impl Extend<EscFailureFlags> for EscFailureFlags"],["impl Extend<GoproHeartbeatFlags> for GoproHeartbeatFlags"],["impl Extend<MavProtocolCapability> for MavProtocolCapability"],["impl Extend<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags"],["impl Extend<AdsbFlags> for AdsbFlags"],["impl Extend<HlFailureFlag> for HlFailureFlag"],["impl Extend<MavGeneratorStatusFlag> for MavGeneratorStatusFlag"],["impl Extend<CameraCapFlags> for CameraCapFlags"],["impl Extend<MavPowerStatus> for MavPowerStatus"],["impl Extend<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags"],["impl Extend<MavModeFlag> for MavModeFlag"],["impl Extend<TuneFormat> for TuneFormat"],["impl Extend<MavPowerStatus> for MavPowerStatus"],["impl Extend<AisFlags> for AisFlags"],["impl Extend<UavionixAdsbOutRfSelect> for UavionixAdsbOutRfSelect"],["impl Extend<TuneFormat> for TuneFormat"],["impl Extend<AdsbFlags> for AdsbFlags"],["impl Extend<MavWinchStatusFlag> for MavWinchStatusFlag"],["impl Extend<AttitudeTargetTypemask> for AttitudeTargetTypemask"],["impl Extend<GimbalDeviceFlags> for GimbalDeviceFlags"],["impl Extend<MavModeFlag> for MavModeFlag"],["impl Extend<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags"],["impl Extend<UavionixAdsbOutDynamicState> for UavionixAdsbOutDynamicState"],["impl Extend<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags"],["impl Extend<UtmDataAvailFlags> for UtmDataAvailFlags"],["impl Extend<LimitModule> for LimitModule"],["impl Extend<UavionixAdsbRfHealth> for UavionixAdsbRfHealth"],["impl Extend<SerialControlFlag> for SerialControlFlag"],["impl Extend<HilSensorUpdatedFlags> for HilSensorUpdatedFlags"],["impl Extend<UavionixAdsbOutDynamicState> for UavionixAdsbOutDynamicState"],["impl Extend<MavWinchStatusFlag> for MavWinchStatusFlag"],["impl Extend<HilSensorUpdatedFlags> for HilSensorUpdatedFlags"],["impl Extend<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags"],["impl Extend<EkfStatusFlags> for EkfStatusFlags"],["impl Extend<GimbalManagerCapFlags> for GimbalManagerCapFlags"],["impl Extend<GpsInputIgnoreFlags> for GpsInputIgnoreFlags"],["impl Extend<HlFailureFlag> for HlFailureFlag"],["impl Extend<AisFlags> for AisFlags"],["impl Extend<PositionTargetTypemask> for PositionTargetTypemask"],["impl Extend<AttitudeTargetTypemask> for AttitudeTargetTypemask"],["impl Extend<GimbalDeviceCapFlags> for GimbalDeviceCapFlags"],["impl Extend<PositionTargetTypemask> for PositionTargetTypemask"],["impl Extend<GimbalDeviceFlags> for GimbalDeviceFlags"],["impl Extend<MavModeFlag> for MavModeFlag"],["impl Extend<HighresImuUpdatedFlags> for HighresImuUpdatedFlags"],["impl Extend<GimbalDeviceFlags> for GimbalDeviceFlags"],["impl Extend<CameraCapFlags> for CameraCapFlags"],["impl Extend<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags"],["impl Extend<EscFailureFlags> for EscFailureFlags"],["impl Extend<GimbalManagerCapFlags> for GimbalManagerCapFlags"],["impl Extend<MavPowerStatus> for MavPowerStatus"],["impl Extend<AdsbFlags> for AdsbFlags"],["impl Extend<MavSysStatusSensor> for MavSysStatusSensor"],["impl Extend<MavWinchStatusFlag> for MavWinchStatusFlag"],["impl Extend<AisFlags> for AisFlags"],["impl Extend<MavGeneratorStatusFlag> for MavGeneratorStatusFlag"],["impl Extend<GpsInputIgnoreFlags> for GpsInputIgnoreFlags"],["impl Extend<MavSysStatusSensor> for MavSysStatusSensor"],["impl Extend<EstimatorStatusFlags> for EstimatorStatusFlags"],["impl Extend<UtmDataAvailFlags> for UtmDataAvailFlags"],["impl Extend<HighresImuUpdatedFlags> for HighresImuUpdatedFlags"],["impl Extend<EscFailureFlags> for EscFailureFlags"],["impl Extend<EstimatorStatusFlags> for EstimatorStatusFlags"],["impl Extend<GimbalDeviceCapFlags> for GimbalDeviceCapFlags"],["impl Extend<SerialControlFlag> for SerialControlFlag"],["impl Extend<HilSensorUpdatedFlags> for HilSensorUpdatedFlags"],["impl Extend<MavProtocolCapability> for MavProtocolCapability"],["impl Extend<MavGeneratorStatusFlag> for MavGeneratorStatusFlag"],["impl Extend<UavionixAdsbRfHealth> for UavionixAdsbRfHealth"],["impl Extend<HighresImuUpdatedFlags> for HighresImuUpdatedFlags"],["impl Extend<CameraCapFlags> for CameraCapFlags"],["impl Extend<UtmDataAvailFlags> for UtmDataAvailFlags"],["impl Extend<AttitudeTargetTypemask> for AttitudeTargetTypemask"],["impl Extend<MavSysStatusSensor> for MavSysStatusSensor"],["impl Extend<EstimatorStatusFlags> for EstimatorStatusFlags"],["impl Extend<RallyFlags> for RallyFlags"],["impl Extend<PositionTargetTypemask> for PositionTargetTypemask"],["impl Extend<MavProtocolCapability> for MavProtocolCapability"]], +"mavlink":[["impl Extend<MavProtocolCapability> for MavProtocolCapability"],["impl Extend<MavSysStatusSensor> for MavSysStatusSensor"],["impl Extend<HighresImuUpdatedFlags> for HighresImuUpdatedFlags"],["impl Extend<MavSysStatusSensor> for MavSysStatusSensor"],["impl Extend<UtmDataAvailFlags> for UtmDataAvailFlags"],["impl Extend<AttitudeTargetTypemask> for AttitudeTargetTypemask"],["impl Extend<MavGeneratorStatusFlag> for MavGeneratorStatusFlag"],["impl Extend<UtmDataAvailFlags> for UtmDataAvailFlags"],["impl Extend<SerialControlFlag> for SerialControlFlag"],["impl Extend<MavWinchStatusFlag> for MavWinchStatusFlag"],["impl Extend<TuneFormat> for TuneFormat"],["impl Extend<MavPowerStatus> for MavPowerStatus"],["impl Extend<MavModeFlag> for MavModeFlag"],["impl Extend<UavionixAdsbRfHealth> for UavionixAdsbRfHealth"],["impl Extend<TuneFormat> for TuneFormat"],["impl Extend<GimbalDeviceFlags> for GimbalDeviceFlags"],["impl Extend<CameraCapFlags> for CameraCapFlags"],["impl Extend<UavionixAdsbOutRfSelect> for UavionixAdsbOutRfSelect"],["impl Extend<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags"],["impl Extend<EscFailureFlags> for EscFailureFlags"],["impl Extend<MavPowerStatus> for MavPowerStatus"],["impl Extend<EstimatorStatusFlags> for EstimatorStatusFlags"],["impl Extend<MavGeneratorStatusFlag> for MavGeneratorStatusFlag"],["impl Extend<UtmDataAvailFlags> for UtmDataAvailFlags"],["impl Extend<SerialControlFlag> for SerialControlFlag"],["impl Extend<AttitudeTargetTypemask> for AttitudeTargetTypemask"],["impl Extend<AisFlags> for AisFlags"],["impl Extend<RallyFlags> for RallyFlags"],["impl Extend<GimbalDeviceCapFlags> for GimbalDeviceCapFlags"],["impl Extend<PositionTargetTypemask> for PositionTargetTypemask"],["impl Extend<EscFailureFlags> for EscFailureFlags"],["impl Extend<GimbalDeviceFlags> for GimbalDeviceFlags"],["impl Extend<HighresImuUpdatedFlags> for HighresImuUpdatedFlags"],["impl Extend<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags"],["impl Extend<GimbalDeviceFlags> for GimbalDeviceFlags"],["impl Extend<GoproHeartbeatFlags> for GoproHeartbeatFlags"],["impl Extend<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags"],["impl Extend<MavWinchStatusFlag> for MavWinchStatusFlag"],["impl Extend<CameraCapFlags> for CameraCapFlags"],["impl Extend<MavModeFlag> for MavModeFlag"],["impl Extend<UavionixAdsbOutDynamicState> for UavionixAdsbOutDynamicState"],["impl Extend<AdsbFlags> for AdsbFlags"],["impl Extend<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags"],["impl Extend<MavSysStatusSensor> for MavSysStatusSensor"],["impl Extend<HilSensorUpdatedFlags> for HilSensorUpdatedFlags"],["impl Extend<HlFailureFlag> for HlFailureFlag"],["impl Extend<MavProtocolCapability> for MavProtocolCapability"],["impl Extend<HighresImuUpdatedFlags> for HighresImuUpdatedFlags"],["impl Extend<MavGeneratorStatusFlag> for MavGeneratorStatusFlag"],["impl Extend<PositionTargetTypemask> for PositionTargetTypemask"],["impl Extend<GimbalDeviceCapFlags> for GimbalDeviceCapFlags"],["impl Extend<GimbalManagerCapFlags> for GimbalManagerCapFlags"],["impl Extend<HilSensorUpdatedFlags> for HilSensorUpdatedFlags"],["impl Extend<GimbalDeviceCapFlags> for GimbalDeviceCapFlags"],["impl Extend<AdsbFlags> for AdsbFlags"],["impl Extend<GimbalManagerCapFlags> for GimbalManagerCapFlags"],["impl Extend<TuneFormat> for TuneFormat"],["impl Extend<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags"],["impl Extend<GpsInputIgnoreFlags> for GpsInputIgnoreFlags"],["impl Extend<AdsbFlags> for AdsbFlags"],["impl Extend<AisFlags> for AisFlags"],["impl Extend<GimbalManagerCapFlags> for GimbalManagerCapFlags"],["impl Extend<AttitudeTargetTypemask> for AttitudeTargetTypemask"],["impl Extend<SerialControlFlag> for SerialControlFlag"],["impl Extend<EscFailureFlags> for EscFailureFlags"],["impl Extend<HlFailureFlag> for HlFailureFlag"],["impl Extend<UavionixAdsbOutRfSelect> for UavionixAdsbOutRfSelect"],["impl Extend<EkfStatusFlags> for EkfStatusFlags"],["impl Extend<MavModeFlag> for MavModeFlag"],["impl Extend<MavProtocolCapability> for MavProtocolCapability"],["impl Extend<PositionTargetTypemask> for PositionTargetTypemask"],["impl Extend<EstimatorStatusFlags> for EstimatorStatusFlags"],["impl Extend<UavionixAdsbOutDynamicState> for UavionixAdsbOutDynamicState"],["impl Extend<CameraCapFlags> for CameraCapFlags"],["impl Extend<EstimatorStatusFlags> for EstimatorStatusFlags"],["impl Extend<GpsInputIgnoreFlags> for GpsInputIgnoreFlags"],["impl Extend<AisFlags> for AisFlags"],["impl Extend<HlFailureFlag> for HlFailureFlag"],["impl Extend<HilSensorUpdatedFlags> for HilSensorUpdatedFlags"],["impl Extend<UavionixAdsbRfHealth> for UavionixAdsbRfHealth"],["impl Extend<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags"],["impl Extend<LimitModule> for LimitModule"],["impl Extend<MavPowerStatus> for MavPowerStatus"],["impl Extend<MavWinchStatusFlag> for MavWinchStatusFlag"],["impl Extend<GpsInputIgnoreFlags> for GpsInputIgnoreFlags"]], "proc_macro2":[["impl Extend<TokenStream> for TokenStream"],["impl Extend<TokenTree> for TokenStream"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/iter/traits/collect/trait.FromIterator.js b/trait.impl/core/iter/traits/collect/trait.FromIterator.js index 31af9d863e..0c7f2e4a89 100644 --- a/trait.impl/core/iter/traits/collect/trait.FromIterator.js +++ b/trait.impl/core/iter/traits/collect/trait.FromIterator.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"mavlink":[["impl FromIterator<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags"],["impl FromIterator<MavPowerStatus> for MavPowerStatus"],["impl FromIterator<GpsInputIgnoreFlags> for GpsInputIgnoreFlags"],["impl FromIterator<EstimatorStatusFlags> for EstimatorStatusFlags"],["impl FromIterator<CameraCapFlags> for CameraCapFlags"],["impl FromIterator<HilSensorUpdatedFlags> for HilSensorUpdatedFlags"],["impl FromIterator<PositionTargetTypemask> for PositionTargetTypemask"],["impl FromIterator<CameraCapFlags> for CameraCapFlags"],["impl FromIterator<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags"],["impl FromIterator<UtmDataAvailFlags> for UtmDataAvailFlags"],["impl FromIterator<HilSensorUpdatedFlags> for HilSensorUpdatedFlags"],["impl FromIterator<UavionixAdsbRfHealth> for UavionixAdsbRfHealth"],["impl FromIterator<GimbalDeviceCapFlags> for GimbalDeviceCapFlags"],["impl FromIterator<AisFlags> for AisFlags"],["impl FromIterator<MavGeneratorStatusFlag> for MavGeneratorStatusFlag"],["impl FromIterator<MavPowerStatus> for MavPowerStatus"],["impl FromIterator<AttitudeTargetTypemask> for AttitudeTargetTypemask"],["impl FromIterator<MavModeFlag> for MavModeFlag"],["impl FromIterator<UavionixAdsbOutDynamicState> for UavionixAdsbOutDynamicState"],["impl FromIterator<MavSysStatusSensor> for MavSysStatusSensor"],["impl FromIterator<MavProtocolCapability> for MavProtocolCapability"],["impl FromIterator<SerialControlFlag> for SerialControlFlag"],["impl FromIterator<MavProtocolCapability> for MavProtocolCapability"],["impl FromIterator<AdsbFlags> for AdsbFlags"],["impl FromIterator<MavWinchStatusFlag> for MavWinchStatusFlag"],["impl FromIterator<MavModeFlag> for MavModeFlag"],["impl FromIterator<UavionixAdsbRfHealth> for UavionixAdsbRfHealth"],["impl FromIterator<GoproHeartbeatFlags> for GoproHeartbeatFlags"],["impl FromIterator<EstimatorStatusFlags> for EstimatorStatusFlags"],["impl FromIterator<MavSysStatusSensor> for MavSysStatusSensor"],["impl FromIterator<PositionTargetTypemask> for PositionTargetTypemask"],["impl FromIterator<HighresImuUpdatedFlags> for HighresImuUpdatedFlags"],["impl FromIterator<AttitudeTargetTypemask> for AttitudeTargetTypemask"],["impl FromIterator<MavWinchStatusFlag> for MavWinchStatusFlag"],["impl FromIterator<GimbalDeviceFlags> for GimbalDeviceFlags"],["impl FromIterator<EkfStatusFlags> for EkfStatusFlags"],["impl FromIterator<EscFailureFlags> for EscFailureFlags"],["impl FromIterator<MavGeneratorStatusFlag> for MavGeneratorStatusFlag"],["impl FromIterator<UavionixAdsbOutDynamicState> for UavionixAdsbOutDynamicState"],["impl FromIterator<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags"],["impl FromIterator<EstimatorStatusFlags> for EstimatorStatusFlags"],["impl FromIterator<EscFailureFlags> for EscFailureFlags"],["impl FromIterator<HilSensorUpdatedFlags> for HilSensorUpdatedFlags"],["impl FromIterator<AdsbFlags> for AdsbFlags"],["impl FromIterator<MavPowerStatus> for MavPowerStatus"],["impl FromIterator<GimbalDeviceCapFlags> for GimbalDeviceCapFlags"],["impl FromIterator<GimbalDeviceFlags> for GimbalDeviceFlags"],["impl FromIterator<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags"],["impl FromIterator<GimbalManagerCapFlags> for GimbalManagerCapFlags"],["impl FromIterator<MavSysStatusSensor> for MavSysStatusSensor"],["impl FromIterator<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags"],["impl FromIterator<AisFlags> for AisFlags"],["impl FromIterator<HlFailureFlag> for HlFailureFlag"],["impl FromIterator<AttitudeTargetTypemask> for AttitudeTargetTypemask"],["impl FromIterator<CameraCapFlags> for CameraCapFlags"],["impl FromIterator<SerialControlFlag> for SerialControlFlag"],["impl FromIterator<MavModeFlag> for MavModeFlag"],["impl FromIterator<EscFailureFlags> for EscFailureFlags"],["impl FromIterator<MavProtocolCapability> for MavProtocolCapability"],["impl FromIterator<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags"],["impl FromIterator<RallyFlags> for RallyFlags"],["impl FromIterator<AisFlags> for AisFlags"],["impl FromIterator<GimbalDeviceCapFlags> for GimbalDeviceCapFlags"],["impl FromIterator<LimitModule> for LimitModule"],["impl FromIterator<TuneFormat> for TuneFormat"],["impl FromIterator<UavionixAdsbOutRfSelect> for UavionixAdsbOutRfSelect"],["impl FromIterator<HighresImuUpdatedFlags> for HighresImuUpdatedFlags"],["impl FromIterator<AdsbFlags> for AdsbFlags"],["impl FromIterator<HlFailureFlag> for HlFailureFlag"],["impl FromIterator<HlFailureFlag> for HlFailureFlag"],["impl FromIterator<UavionixAdsbOutRfSelect> for UavionixAdsbOutRfSelect"],["impl FromIterator<UtmDataAvailFlags> for UtmDataAvailFlags"],["impl FromIterator<MavGeneratorStatusFlag> for MavGeneratorStatusFlag"],["impl FromIterator<SerialControlFlag> for SerialControlFlag"],["impl FromIterator<GimbalDeviceFlags> for GimbalDeviceFlags"],["impl FromIterator<PositionTargetTypemask> for PositionTargetTypemask"],["impl FromIterator<GimbalManagerCapFlags> for GimbalManagerCapFlags"],["impl FromIterator<UtmDataAvailFlags> for UtmDataAvailFlags"],["impl FromIterator<HighresImuUpdatedFlags> for HighresImuUpdatedFlags"],["impl FromIterator<GpsInputIgnoreFlags> for GpsInputIgnoreFlags"],["impl FromIterator<TuneFormat> for TuneFormat"],["impl FromIterator<GimbalManagerCapFlags> for GimbalManagerCapFlags"],["impl FromIterator<MavWinchStatusFlag> for MavWinchStatusFlag"],["impl FromIterator<GpsInputIgnoreFlags> for GpsInputIgnoreFlags"],["impl FromIterator<TuneFormat> for TuneFormat"]], +"mavlink":[["impl FromIterator<GimbalManagerCapFlags> for GimbalManagerCapFlags"],["impl FromIterator<UtmDataAvailFlags> for UtmDataAvailFlags"],["impl FromIterator<GimbalDeviceCapFlags> for GimbalDeviceCapFlags"],["impl FromIterator<CameraCapFlags> for CameraCapFlags"],["impl FromIterator<PositionTargetTypemask> for PositionTargetTypemask"],["impl FromIterator<HighresImuUpdatedFlags> for HighresImuUpdatedFlags"],["impl FromIterator<TuneFormat> for TuneFormat"],["impl FromIterator<UavionixAdsbRfHealth> for UavionixAdsbRfHealth"],["impl FromIterator<PositionTargetTypemask> for PositionTargetTypemask"],["impl FromIterator<AttitudeTargetTypemask> for AttitudeTargetTypemask"],["impl FromIterator<MavSysStatusSensor> for MavSysStatusSensor"],["impl FromIterator<CameraCapFlags> for CameraCapFlags"],["impl FromIterator<MavProtocolCapability> for MavProtocolCapability"],["impl FromIterator<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags"],["impl FromIterator<HilSensorUpdatedFlags> for HilSensorUpdatedFlags"],["impl FromIterator<LimitModule> for LimitModule"],["impl FromIterator<EstimatorStatusFlags> for EstimatorStatusFlags"],["impl FromIterator<MavGeneratorStatusFlag> for MavGeneratorStatusFlag"],["impl FromIterator<EscFailureFlags> for EscFailureFlags"],["impl FromIterator<AttitudeTargetTypemask> for AttitudeTargetTypemask"],["impl FromIterator<PositionTargetTypemask> for PositionTargetTypemask"],["impl FromIterator<AdsbFlags> for AdsbFlags"],["impl FromIterator<UavionixAdsbOutDynamicState> for UavionixAdsbOutDynamicState"],["impl FromIterator<MavGeneratorStatusFlag> for MavGeneratorStatusFlag"],["impl FromIterator<EscFailureFlags> for EscFailureFlags"],["impl FromIterator<SerialControlFlag> for SerialControlFlag"],["impl FromIterator<EkfStatusFlags> for EkfStatusFlags"],["impl FromIterator<AisFlags> for AisFlags"],["impl FromIterator<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags"],["impl FromIterator<GoproHeartbeatFlags> for GoproHeartbeatFlags"],["impl FromIterator<UavionixAdsbOutRfSelect> for UavionixAdsbOutRfSelect"],["impl FromIterator<MavPowerStatus> for MavPowerStatus"],["impl FromIterator<HilSensorUpdatedFlags> for HilSensorUpdatedFlags"],["impl FromIterator<GpsInputIgnoreFlags> for GpsInputIgnoreFlags"],["impl FromIterator<HlFailureFlag> for HlFailureFlag"],["impl FromIterator<AisFlags> for AisFlags"],["impl FromIterator<MavModeFlag> for MavModeFlag"],["impl FromIterator<GimbalDeviceFlags> for GimbalDeviceFlags"],["impl FromIterator<MavPowerStatus> for MavPowerStatus"],["impl FromIterator<UtmDataAvailFlags> for UtmDataAvailFlags"],["impl FromIterator<MavWinchStatusFlag> for MavWinchStatusFlag"],["impl FromIterator<HighresImuUpdatedFlags> for HighresImuUpdatedFlags"],["impl FromIterator<HlFailureFlag> for HlFailureFlag"],["impl FromIterator<MavGeneratorStatusFlag> for MavGeneratorStatusFlag"],["impl FromIterator<HighresImuUpdatedFlags> for HighresImuUpdatedFlags"],["impl FromIterator<TuneFormat> for TuneFormat"],["impl FromIterator<MavSysStatusSensor> for MavSysStatusSensor"],["impl FromIterator<UtmDataAvailFlags> for UtmDataAvailFlags"],["impl FromIterator<MavProtocolCapability> for MavProtocolCapability"],["impl FromIterator<AdsbFlags> for AdsbFlags"],["impl FromIterator<GimbalDeviceCapFlags> for GimbalDeviceCapFlags"],["impl FromIterator<CameraCapFlags> for CameraCapFlags"],["impl FromIterator<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags"],["impl FromIterator<EstimatorStatusFlags> for EstimatorStatusFlags"],["impl FromIterator<MavProtocolCapability> for MavProtocolCapability"],["impl FromIterator<SerialControlFlag> for SerialControlFlag"],["impl FromIterator<HlFailureFlag> for HlFailureFlag"],["impl FromIterator<GpsInputIgnoreFlags> for GpsInputIgnoreFlags"],["impl FromIterator<MavPowerStatus> for MavPowerStatus"],["impl FromIterator<GimbalDeviceCapFlags> for GimbalDeviceCapFlags"],["impl FromIterator<MavEventCurrentSequenceFlags> for MavEventCurrentSequenceFlags"],["impl FromIterator<UavionixAdsbOutRfSelect> for UavionixAdsbOutRfSelect"],["impl FromIterator<GimbalManagerCapFlags> for GimbalManagerCapFlags"],["impl FromIterator<EstimatorStatusFlags> for EstimatorStatusFlags"],["impl FromIterator<UavionixAdsbOutDynamicState> for UavionixAdsbOutDynamicState"],["impl FromIterator<RallyFlags> for RallyFlags"],["impl FromIterator<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags"],["impl FromIterator<AisFlags> for AisFlags"],["impl FromIterator<EscFailureFlags> for EscFailureFlags"],["impl FromIterator<HilSensorUpdatedFlags> for HilSensorUpdatedFlags"],["impl FromIterator<AdsbFlags> for AdsbFlags"],["impl FromIterator<MavSysStatusSensor> for MavSysStatusSensor"],["impl FromIterator<GpsInputIgnoreFlags> for GpsInputIgnoreFlags"],["impl FromIterator<GimbalManagerCapFlags> for GimbalManagerCapFlags"],["impl FromIterator<TuneFormat> for TuneFormat"],["impl FromIterator<GimbalDeviceFlags> for GimbalDeviceFlags"],["impl FromIterator<MavModeFlag> for MavModeFlag"],["impl FromIterator<SerialControlFlag> for SerialControlFlag"],["impl FromIterator<AttitudeTargetTypemask> for AttitudeTargetTypemask"],["impl FromIterator<GimbalDeviceFlags> for GimbalDeviceFlags"],["impl FromIterator<MavWinchStatusFlag> for MavWinchStatusFlag"],["impl FromIterator<GimbalDeviceErrorFlags> for GimbalDeviceErrorFlags"],["impl FromIterator<UavionixAdsbRfHealth> for UavionixAdsbRfHealth"],["impl FromIterator<MavModeFlag> for MavModeFlag"],["impl FromIterator<MavWinchStatusFlag> for MavWinchStatusFlag"]], "proc_macro2":[["impl FromIterator<TokenTree> for TokenStream"],["impl FromIterator<TokenStream> for TokenStream"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Copy.js b/trait.impl/core/marker/trait.Copy.js index c1673ea574..49abcc5350 100644 --- a/trait.impl/core/marker/trait.Copy.js +++ b/trait.impl/core/marker/trait.Copy.js @@ -1,7 +1,7 @@ (function() {var implementors = { "byteorder":[["impl Copy for BigEndian"],["impl Copy for LittleEndian"]], "libc":[["impl Copy for ff_rumble_effect"],["impl Copy for sysinfo"],["impl Copy for if_nameindex"],["impl Copy for ipc_perm"],["impl Copy for mallinfo2"],["impl Copy for uinput_ff_upload"],["impl Copy for utmpx"],["impl Copy for epoll_event"],["impl Copy for spwd"],["impl Copy for sched_param"],["impl Copy for signalfd_siginfo"],["impl Copy for sockaddr_in6"],["impl Copy for xdp_ring_offset_v1"],["impl Copy for input_absinfo"],["impl Copy for sockaddr_alg"],["impl Copy for user"],["impl Copy for pthread_rwlockattr_t"],["impl Copy for clone_args"],["impl Copy for sctp_authinfo"],["impl Copy for sigval"],["impl Copy for ff_ramp_effect"],["impl Copy for lconv"],["impl Copy for passwd"],["impl Copy for sock_extended_err"],["impl Copy for __c_anonymous_ptrace_syscall_info_seccomp"],["impl Copy for seccomp_notif_sizes"],["impl Copy for uinput_setup"],["impl Copy for glob64_t"],["impl Copy for regmatch_t"],["impl Copy for max_align_t"],["impl Copy for __c_anonymous_ptrace_syscall_info_data"],["impl Copy for statx_timestamp"],["impl Copy for in_pktinfo"],["impl Copy for file_clone_range"],["impl Copy for shmid_ds"],["impl Copy for fsid_t"],["impl Copy for rusage"],["impl Copy for dqblk"],["impl Copy for canxl_frame"],["impl Copy for sctp_sndinfo"],["impl Copy for dirent"],["impl Copy for cmsghdr"],["impl Copy for sock_filter"],["impl Copy for ntptimeval"],["impl Copy for input_id"],["impl Copy for mallinfo"],["impl Copy for stack_t"],["impl Copy for nl_mmap_req"],["impl Copy for tms"],["impl Copy for Dl_info"],["impl Copy for Elf64_Shdr"],["impl Copy for pthread_barrier_t"],["impl Copy for winsize"],["impl Copy for sigset_t"],["impl Copy for Elf32_Chdr"],["impl Copy for timeval"],["impl Copy for in6_pktinfo"],["impl Copy for seminfo"],["impl Copy for tls12_crypto_info_chacha20_poly1305"],["impl Copy for statvfs64"],["impl Copy for sockaddr_vm"],["impl Copy for mntent"],["impl Copy for arpreq_old"],["impl Copy for ipv6_mreq"],["impl Copy for mmsghdr"],["impl Copy for statfs64"],["impl Copy for aiocb"],["impl Copy for ff_effect"],["impl Copy for sockaddr_nl"],["impl Copy for can_frame"],["impl Copy for __c_anonymous_sockaddr_can_can_addr"],["impl Copy for ptrace_rseq_configuration"],["impl Copy for mcontext_t"],["impl Copy for Elf32_Sym"],["impl Copy for pthread_barrierattr_t"],["impl Copy for __c_anonymous_sockaddr_can_tp"],["impl Copy for xdp_options"],["impl Copy for group"],["impl Copy for pthread_cond_t"],["impl Copy for Elf64_Sym"],["impl Copy for statvfs"],["impl Copy for xdp_desc"],["impl Copy for servent"],["impl Copy for utimbuf"],["impl Copy for open_how"],["impl Copy for input_event"],["impl Copy for sctp_sndrcvinfo"],["impl Copy for posix_spawn_file_actions_t"],["impl Copy for input_mask"],["impl Copy for flock64"],["impl Copy for __c_anonymous_ifru_map"],["impl Copy for __timeval"],["impl Copy for inotify_event"],["impl Copy for tls12_crypto_info_aes_gcm_128"],["impl Copy for packet_mreq"],["impl Copy for __c_anonymous_sockaddr_can_j1939"],["impl Copy for termios"],["impl Copy for __exit_status"],["impl Copy for ff_constant_effect"],["impl Copy for sembuf"],["impl Copy for timespec"],["impl Copy for __c_anonymous_ptrace_syscall_info_entry"],["impl Copy for pollfd"],["impl Copy for ifconf"],["impl Copy for sockaddr_can"],["impl Copy for tls_crypto_info"],["impl Copy for sem_t"],["impl Copy for glob_t"],["impl Copy for ip_mreq_source"],["impl Copy for Elf64_Phdr"],["impl Copy for Elf64_Ehdr"],["impl Copy for siginfo_t"],["impl Copy for xdp_statistics"],["impl Copy for cpu_set_t"],["impl Copy for uinput_abs_setup"],["impl Copy for nlmsghdr"],["impl Copy for timex"],["impl Copy for itimerval"],["impl Copy for sockaddr_xdp"],["impl Copy for msghdr"],["impl Copy for arphdr"],["impl Copy for termios2"],["impl Copy for nl_mmap_hdr"],["impl Copy for uinput_user_dev"],["impl Copy for ucontext_t"],["impl Copy for tm"],["impl Copy for __c_anonymous_ifc_ifcu"],["impl Copy for j1939_filter"],["impl Copy for nlattr"],["impl Copy for nl_pktinfo"],["impl Copy for arpd_request"],["impl Copy for xdp_umem_reg"],["impl Copy for itimerspec"],["impl Copy for dl_phdr_info"],["impl Copy for xdp_mmap_offsets"],["impl Copy for fanotify_response"],["impl Copy for pthread_attr_t"],["impl Copy for Elf32_Phdr"],["impl Copy for _libc_fpstate"],["impl Copy for af_alg_iv"],["impl Copy for dirent64"],["impl Copy for tls12_crypto_info_aes_gcm_256"],["impl Copy for hostent"],["impl Copy for sockaddr_storage"],["impl Copy for sockaddr_in"],["impl Copy for Elf64_Chdr"],["impl Copy for rlimit64"],["impl Copy for sockaddr"],["impl Copy for in_addr"],["impl Copy for utsname"],["impl Copy for _libc_fpxreg"],["impl Copy for in6_ifreq"],["impl Copy for __c_anonymous_ptrace_syscall_info_exit"],["impl Copy for sigaction"],["impl Copy for statfs"],["impl Copy for protoent"],["impl Copy for xdp_umem_reg_v1"],["impl Copy for fd_set"],["impl Copy for addrinfo"],["impl Copy for flock"],["impl Copy for linger"],["impl Copy for sock_txtime"],["impl Copy for sctp_nxtinfo"],["impl Copy for canfd_frame"],["impl Copy for xdp_ring_offset"],["impl Copy for regex_t"],["impl Copy for nlmsgerr"],["impl Copy for uinput_ff_erase"],["impl Copy for can_filter"],["impl Copy for rlimit"],["impl Copy for genlmsghdr"],["impl Copy for ff_trigger"],["impl Copy for arpreq"],["impl Copy for sctp_prinfo"],["impl Copy for Elf32_Ehdr"],["impl Copy for msqid_ds"],["impl Copy for ff_replay"],["impl Copy for xdp_mmap_offsets_v1"],["impl Copy for hwtstamp_config"],["impl Copy for msginfo"],["impl Copy for fanotify_event_metadata"],["impl Copy for sctp_rcvinfo"],["impl Copy for sockaddr_un"],["impl Copy for ifaddrs"],["impl Copy for user_fpregs_struct"],["impl Copy for sockaddr_ll"],["impl Copy for ip_mreq"],["impl Copy for in6_addr"],["impl Copy for ff_periodic_effect"],["impl Copy for in6_rtmsg"],["impl Copy for xdp_statistics_v1"],["impl Copy for option"],["impl Copy for pthread_mutex_t"],["impl Copy for Elf32_Shdr"],["impl Copy for ip_mreqn"],["impl Copy for seccomp_data"],["impl Copy for mq_attr"],["impl Copy for pthread_condattr_t"],["impl Copy for stat64"],["impl Copy for pthread_mutexattr_t"],["impl Copy for sigevent"],["impl Copy for iovec"],["impl Copy for posix_spawnattr_t"],["impl Copy for _libc_xmmreg"],["impl Copy for statx"],["impl Copy for rtentry"],["impl Copy for __c_anonymous_ifr_ifru"],["impl Copy for user_regs_struct"],["impl Copy for ff_condition_effect"],["impl Copy for pthread_rwlock_t"],["impl Copy for ptrace_syscall_info"],["impl Copy for ptrace_peeksiginfo_args"],["impl Copy for stat"],["impl Copy for input_keymap_entry"],["impl Copy for ucred"],["impl Copy for ifreq"],["impl Copy for ff_envelope"],["impl Copy for sctp_initmsg"],["impl Copy for semid_ds"],["impl Copy for sock_fprog"]], -"mavlink":[["impl Copy for MavVtolState"],["impl Copy for TuneFormat"],["impl Copy for MavWinchStatusFlag"],["impl Copy for GoproBurstRate"],["impl Copy for SetFocusType"],["impl Copy for MavCmdAck"],["impl Copy for AisNavStatus"],["impl Copy for MavHeader"],["impl Copy for MavMissionResult"],["impl Copy for MavFrame"],["impl Copy for StorageStatus"],["impl Copy for PreflightStorageParameterAction"],["impl Copy for MavEstimatorType"],["impl Copy for HlFailureFlag"],["impl Copy for MavParamType"],["impl Copy for TuneFormat"],["impl Copy for ActuatorOutputFunction"],["impl Copy for DeepstallStage"],["impl Copy for MavOdidCategoryEu"],["impl Copy for CanFilterOp"],["impl Copy for MavOdidVerAcc"],["impl Copy for GoproProtuneExposure"],["impl Copy for MavFtpOpcode"],["impl Copy for MavOdidIdType"],["impl Copy for HighresImuUpdatedFlags"],["impl Copy for MavSysStatusSensor"],["impl Copy for GoproRequestStatus"],["impl Copy for IcarousFmsState"],["impl Copy for CellularNetworkRadioType"],["impl Copy for ActuatorConfiguration"],["impl Copy for AdsbEmitterType"],["impl Copy for CellularNetworkRadioType"],["impl Copy for MavOdidStatus"],["impl Copy for AttitudeTargetTypemask"],["impl Copy for MavOdidDescType"],["impl Copy for MavFtpErr"],["impl Copy for WinchActions"],["impl Copy for MavState"],["impl Copy for EscConnectionType"],["impl Copy for MavCmd"],["impl Copy for MavOdidHorAcc"],["impl Copy for MavCmdAck"],["impl Copy for CellularNetworkFailedReason"],["impl Copy for MavGeneratorStatusFlag"],["impl Copy for MavFtpOpcode"],["impl Copy for MavTunnelPayloadType"],["impl Copy for MavOdidUaType"],["impl Copy for AccelcalVehiclePos"],["impl Copy for UavcanNodeMode"],["impl Copy for FailureUnit"],["impl Copy for MavRoi"],["impl Copy for HighresImuUpdatedFlags"],["impl Copy for EscConnectionType"],["impl Copy for MavOdidClassificationType"],["impl Copy for MavWinchStatusFlag"],["impl Copy for MavLandedState"],["impl Copy for MAVLinkV2MessageRaw"],["impl Copy for MavFrame"],["impl Copy for MavOdidHeightRef"],["impl Copy for SerialControlDev"],["impl Copy for ActuatorOutputFunction"],["impl Copy for MavMountMode"],["impl Copy for MavDistanceSensor"],["impl Copy for MavProtocolCapability"],["impl Copy for MavDistanceSensor"],["impl Copy for HlFailureFlag"],["impl Copy for LandingTargetType"],["impl Copy for LedControlPattern"],["impl Copy for AisNavStatus"],["impl Copy for GimbalDeviceErrorFlags"],["impl Copy for GimbalDeviceCapFlags"],["impl Copy for GimbalManagerFlags"],["impl Copy for LimitsState"],["impl Copy for MagCalStatus"],["impl Copy for AdsbFlags"],["impl Copy for MavPowerStatus"],["impl Copy for PrecisionLandMode"],["impl Copy for RtkBaselineCoordinateSystem"],["impl Copy for CellularNetworkRadioType"],["impl Copy for OrbitYawBehaviour"],["impl Copy for ParamAck"],["impl Copy for GoproPhotoResolution"],["impl Copy for MavAutopilot"],["impl Copy for StorageStatus"],["impl Copy for SetFocusType"],["impl Copy for AutotuneAxis"],["impl Copy for AdsbEmitterType"],["impl Copy for MavWinchStatusFlag"],["impl Copy for PrecisionLandMode"],["impl Copy for MavOdidOperatorLocationType"],["impl Copy for UavionixAdsbOutRfSelect"],["impl Copy for LandingTargetType"],["impl Copy for MavModeFlagDecodePosition"],["impl Copy for MavModeFlag"],["impl Copy for SpeedType"],["impl Copy for GimbalManagerCapFlags"],["impl Copy for MavTunnelPayloadType"],["impl Copy for UavcanNodeHealth"],["impl Copy for EscFailureFlags"],["impl Copy for GimbalAxisCalibrationStatus"],["impl Copy for SerialControlDev"],["impl Copy for MavBatteryMode"],["impl Copy for MavOdidOperatorIdType"],["impl Copy for CameraTrackingStatusFlags"],["impl Copy for MavOdidCategoryEu"],["impl Copy for MavModeFlag"],["impl Copy for GimbalDeviceFlags"],["impl Copy for MavOdidTimeAcc"],["impl Copy for CanFilterOp"],["impl Copy for MavVtolState"],["impl Copy for CellularNetworkFailedReason"],["impl Copy for WifiConfigApMode"],["impl Copy for MavMode"],["impl Copy for SerialControlFlag"],["impl Copy for FirmwareVersionType"],["impl Copy for StorageUsageFlag"],["impl Copy for AdsbEmitterType"],["impl Copy for GpsFixType"],["impl Copy for MavType"],["impl Copy for UavionixAdsbEmergencyStatus"],["impl Copy for MotorTestThrottleType"],["impl Copy for MavArmAuthDeniedReason"],["impl Copy for HeadingType"],["impl Copy for ScriptingCmd"],["impl Copy for PositionTargetTypemask"],["impl Copy for MavFtpOpcode"],["impl Copy for WifiConfigApMode"],["impl Copy for GpsInputIgnoreFlags"],["impl Copy for MavOdidTimeAcc"],["impl Copy for LimitModule"],["impl Copy for UavionixAdsbOutCfgGpsOffsetLon"],["impl Copy for AutotuneAxis"],["impl Copy for MavOdidClassificationType"],["impl Copy for MavMissionType"],["impl Copy for GoproFieldOfView"],["impl Copy for MavOdidArmStatus"],["impl Copy for FailureType"],["impl Copy for MavCmdAck"],["impl Copy for CameraTrackingStatusFlags"],["impl Copy for MagCalStatus"],["impl Copy for MavType"],["impl Copy for VideoStreamType"],["impl Copy for GoproResolution"],["impl Copy for MavOdidDescType"],["impl Copy for MavModeGimbal"],["impl Copy for GripperActions"],["impl Copy for GoproCharging"],["impl Copy for WifiConfigApResponse"],["impl Copy for MavGoto"],["impl Copy for MavModeFlag"],["impl Copy for MavEstimatorType"],["impl Copy for MotorTestThrottleType"],["impl Copy for MavCmd"],["impl Copy for AisType"],["impl Copy for MavBatteryFunction"],["impl Copy for StorageUsageFlag"],["impl Copy for GoproCaptureMode"],["impl Copy for FenceAction"],["impl Copy for MavOdidClassificationType"],["impl Copy for MavOdidOperatorLocationType"],["impl Copy for MavlinkDataStreamType"],["impl Copy for MavOdidHeightRef"],["impl Copy for MAVLinkV1MessageRaw"],["impl Copy for MavMissionType"],["impl Copy for UavionixAdsbOutDynamicState"],["impl Copy for MavModeFlagDecodePosition"],["impl Copy for EstimatorStatusFlags"],["impl Copy for WinchActions"],["impl Copy for MavSysStatusSensorExtended"],["impl Copy for UavionixAdsbOutDynamicGpsFix"],["impl Copy for UtmDataAvailFlags"],["impl Copy for CameraTrackingMode"],["impl Copy for MavOdidOperatorIdType"],["impl Copy for AisNavStatus"],["impl Copy for MavRemoteLogDataBlockStatuses"],["impl Copy for MavOdidVerAcc"],["impl Copy for GoproModel"],["impl Copy for MavComponent"],["impl Copy for MavDistanceSensor"],["impl Copy for ActuatorConfiguration"],["impl Copy for EscFailureFlags"],["impl Copy for MavVtolState"],["impl Copy for MavArmAuthDeniedReason"],["impl Copy for VideoStreamStatusFlags"],["impl Copy for GpsInputIgnoreFlags"],["impl Copy for GripperActions"],["impl Copy for AisFlags"],["impl Copy for MavBatteryFault"],["impl Copy for MavPowerStatus"],["impl Copy for EkfStatusFlags"],["impl Copy for GoproProtuneColour"],["impl Copy for FenceAction"],["impl Copy for MavCollisionThreatLevel"],["impl Copy for GpsFixType"],["impl Copy for MavBatteryFault"],["impl Copy for MavBatteryChargeState"],["impl Copy for GoproVideoSettingsFlags"],["impl Copy for VtolTransitionHeading"],["impl Copy for UavionixAdsbOutRfSelect"],["impl Copy for MavGoto"],["impl Copy for MotorTestOrder"],["impl Copy for MavEventErrorReason"],["impl Copy for MavEventCurrentSequenceFlags"],["impl Copy for MavArmAuthDeniedReason"],["impl Copy for StorageUsageFlag"],["impl Copy for AdsbFlags"],["impl Copy for IcarousTrackBandTypes"],["impl Copy for MavCmd"],["impl Copy for MavMountMode"],["impl Copy for MavMissionType"],["impl Copy for MavParamExtType"],["impl Copy for FenceAction"],["impl Copy for MavCollisionAction"],["impl Copy for IcarousFmsState"],["impl Copy for CopterMode"],["impl Copy for RtkBaselineCoordinateSystem"],["impl Copy for UavionixAdsbOutDynamicGpsFix"],["impl Copy for FailureType"],["impl Copy for MavOdidOperatorLocationType"],["impl Copy for MavMode"],["impl Copy for MavCmdDoAuxFunctionSwitchLevel"],["impl Copy for MavMode"],["impl Copy for MavBatteryFunction"],["impl Copy for UavionixAdsbRfHealth"],["impl Copy for MavOdidDescType"],["impl Copy for MagCalStatus"],["impl Copy for GimbalAxisCalibrationRequired"],["impl Copy for EstimatorStatusFlags"],["impl Copy for CameraTrackingStatusFlags"],["impl Copy for EscFailureFlags"],["impl Copy for MavOdidArmStatus"],["impl Copy for OsdParamConfigError"],["impl Copy for MavResult"],["impl Copy for UavionixAdsbOutCfgGpsOffsetLat"],["impl Copy for GimbalDeviceCapFlags"],["impl Copy for WinchActions"],["impl Copy for IcarousTrackBandTypes"],["impl Copy for MavDataStream"],["impl Copy for CameraCapFlags"],["impl Copy for MavAutopilot"],["impl Copy for AdsbFlags"],["impl Copy for UtmDataAvailFlags"],["impl Copy for MavBatteryChargeState"],["impl Copy for LandingTargetType"],["impl Copy for GimbalManagerFlags"],["impl Copy for MavOdidStatus"],["impl Copy for SerialControlFlag"],["impl Copy for CompMetadataType"],["impl Copy for AutotuneAxis"],["impl Copy for FailureUnit"],["impl Copy for NavVtolLandOptions"],["impl Copy for MavOdidClassEu"],["impl Copy for GimbalDeviceFlags"],["impl Copy for GoproProtuneGain"],["impl Copy for MavGoto"],["impl Copy for StorageType"],["impl Copy for AdsbAltitudeType"],["impl Copy for MavMissionResult"],["impl Copy for MavSysStatusSensor"],["impl Copy for MavOdidOperatorIdType"],["impl Copy for RoverMode"],["impl Copy for ParachuteAction"],["impl Copy for MavRoi"],["impl Copy for UavcanNodeHealth"],["impl Copy for StorageType"],["impl Copy for CellularStatusFlag"],["impl Copy for CellularStatusFlag"],["impl Copy for OrbitYawBehaviour"],["impl Copy for PidTuningAxis"],["impl Copy for MavBatteryType"],["impl Copy for MissionState"],["impl Copy for AisType"],["impl Copy for MavEstimatorType"],["impl Copy for PreflightStorageMissionAction"],["impl Copy for MavFrame"],["impl Copy for MavResult"],["impl Copy for MavGeneratorStatusFlag"],["impl Copy for GoproCommand"],["impl Copy for MavOdidStatus"],["impl Copy for SubMode"],["impl Copy for GpsInputIgnoreFlags"],["impl Copy for RcType"],["impl Copy for CameraMode"],["impl Copy for CameraCapFlags"],["impl Copy for DeviceOpBustype"],["impl Copy for MavSeverity"],["impl Copy for VideoStreamStatusFlags"],["impl Copy for RallyFlags"],["impl Copy for MavModeFlagDecodePosition"],["impl Copy for MavSensorOrientation"],["impl Copy for MavDoRepositionFlags"],["impl Copy for CellularConfigResponse"],["impl Copy for WifiConfigApResponse"],["impl Copy for UtmFlightState"],["impl Copy for MavDoRepositionFlags"],["impl Copy for HilSensorUpdatedFlags"],["impl Copy for MavOdidVerAcc"],["impl Copy for MavEventCurrentSequenceFlags"],["impl Copy for TuneFormat"],["impl Copy for GimbalManagerCapFlags"],["impl Copy for MavOdidUaType"],["impl Copy for FenceBreach"],["impl Copy for UavcanNodeHealth"],["impl Copy for EstimatorStatusFlags"],["impl Copy for GimbalManagerCapFlags"],["impl Copy for CameraTrackingTargetData"],["impl Copy for MavCollisionSrc"],["impl Copy for GimbalManagerFlags"],["impl Copy for UavionixAdsbRfHealth"],["impl Copy for PreflightStorageMissionAction"],["impl Copy for MavDataStream"],["impl Copy for UtmFlightState"],["impl Copy for UavionixAdsbOutCfgGpsOffsetLon"],["impl Copy for MavParamExtType"],["impl Copy for HlFailureFlag"],["impl Copy for UtmFlightState"],["impl Copy for RtkBaselineCoordinateSystem"],["impl Copy for MavEventErrorReason"],["impl Copy for MavSysStatusSensorExtended"],["impl Copy for CompMetadataType"],["impl Copy for MavOdidClassEu"],["impl Copy for GoproHeartbeatStatus"],["impl Copy for OsdParamConfigType"],["impl Copy for NavVtolLandOptions"],["impl Copy for MavSysStatusSensorExtended"],["impl Copy for CameraTrackingMode"],["impl Copy for CameraCapFlags"],["impl Copy for GimbalDeviceErrorFlags"],["impl Copy for FailureType"],["impl Copy for SetFocusType"],["impl Copy for MavOdidAuthType"],["impl Copy for MavOdidSpeedAcc"],["impl Copy for ParamAck"],["impl Copy for CameraZoomType"],["impl Copy for PrecisionLandMode"],["impl Copy for SerialControlDev"],["impl Copy for PositionTargetTypemask"],["impl Copy for MavTunnelPayloadType"],["impl Copy for FirmwareVersionType"],["impl Copy for MavCollisionSrc"],["impl Copy for CellularConfigResponse"],["impl Copy for CompMetadataType"],["impl Copy for GoproProtuneWhiteBalance"],["impl Copy for FenceBreach"],["impl Copy for MavlinkDataStreamType"],["impl Copy for PreflightStorageParameterAction"],["impl Copy for GimbalDeviceFlags"],["impl Copy for MavParamType"],["impl Copy for VideoStreamType"],["impl Copy for MavFtpErr"],["impl Copy for MavDoRepositionFlags"],["impl Copy for MavComponent"],["impl Copy for FirmwareVersionType"],["impl Copy for PreflightStorageParameterAction"],["impl Copy for AdsbAltitudeType"],["impl Copy for MotorTestOrder"],["impl Copy for MavProtocolCapability"],["impl Copy for CameraTrackingTargetData"],["impl Copy for MavLandedState"],["impl Copy for UavionixAdsbOutCfgAircraftSize"],["impl Copy for MavRemoteLogDataBlockCommands"],["impl Copy for MavSensorOrientation"],["impl Copy for MavBatteryMode"],["impl Copy for UavcanNodeMode"],["impl Copy for ActuatorOutputFunction"],["impl Copy for MavGeneratorStatusFlag"],["impl Copy for FailureUnit"],["impl Copy for VideoStreamType"],["impl Copy for GimbalDeviceErrorFlags"],["impl Copy for FenceMitigate"],["impl Copy for MavOdidArmStatus"],["impl Copy for EscConnectionType"],["impl Copy for MavOdidHorAcc"],["impl Copy for MavResult"],["impl Copy for UtmDataAvailFlags"],["impl Copy for GimbalAxis"],["impl Copy for CellularConfigResponse"],["impl Copy for MavAutopilot"],["impl Copy for AisFlags"],["impl Copy for GpsFixType"],["impl Copy for MavOdidHorAcc"],["impl Copy for VtolTransitionHeading"],["impl Copy for MavlinkDataStreamType"],["impl Copy for MavState"],["impl Copy for MavEventErrorReason"],["impl Copy for MavType"],["impl Copy for MavDataStream"],["impl Copy for ActuatorConfiguration"],["impl Copy for UavionixAdsbOutCfgAircraftSize"],["impl Copy for MavCollisionThreatLevel"],["impl Copy for MavCollisionAction"],["impl Copy for StorageType"],["impl Copy for MavOdidIdType"],["impl Copy for MavEventCurrentSequenceFlags"],["impl Copy for MavOdidUaType"],["impl Copy for MavOdidSpeedAcc"],["impl Copy for MavMountMode"],["impl Copy for HighresImuUpdatedFlags"],["impl Copy for FenceMitigate"],["impl Copy for MavlinkVersion"],["impl Copy for UavionixAdsbOutCfgGpsOffsetLat"],["impl Copy for MavCollisionThreatLevel"],["impl Copy for UavcanNodeMode"],["impl Copy for HilSensorUpdatedFlags"],["impl Copy for GimbalDeviceCapFlags"],["impl Copy for CameraTrackingMode"],["impl Copy for ParachuteAction"],["impl Copy for AttitudeTargetTypemask"],["impl Copy for MavBatteryChargeState"],["impl Copy for CameraZoomType"],["impl Copy for CameraTrackingTargetData"],["impl Copy for MissionState"],["impl Copy for GoproHeartbeatFlags"],["impl Copy for MavPowerStatus"],["impl Copy for AisFlags"],["impl Copy for WifiConfigApResponse"],["impl Copy for RcType"],["impl Copy for UavionixAdsbEmergencyStatus"],["impl Copy for PlaneMode"],["impl Copy for MavOdidHeightRef"],["impl Copy for MotorTestOrder"],["impl Copy for MavSeverity"],["impl Copy for MissionState"],["impl Copy for MavBatteryType"],["impl Copy for MavParamType"],["impl Copy for MavOdidCategoryEu"],["impl Copy for AttitudeTargetTypemask"],["impl Copy for MavBatteryMode"],["impl Copy for MavLandedState"],["impl Copy for MavOdidAuthType"],["impl Copy for VtolTransitionHeading"],["impl Copy for MavSysStatusSensor"],["impl Copy for MavCollisionAction"],["impl Copy for MavOdidAuthType"],["impl Copy for MavRoi"],["impl Copy for VideoStreamStatusFlags"],["impl Copy for MavOdidIdType"],["impl Copy for MavSeverity"],["impl Copy for GoproProtuneSharpness"],["impl Copy for CameraStatusTypes"],["impl Copy for CanFilterOp"],["impl Copy for RcType"],["impl Copy for AisType"],["impl Copy for CameraFeedbackFlags"],["impl Copy for MavBatteryType"],["impl Copy for NavVtolLandOptions"],["impl Copy for MavBatteryFault"],["impl Copy for TrackerMode"],["impl Copy for HilSensorUpdatedFlags"],["impl Copy for MavOdidClassEu"],["impl Copy for WifiConfigApMode"],["impl Copy for OrbitYawBehaviour"],["impl Copy for MavBatteryFunction"],["impl Copy for MavState"],["impl Copy for MavOdidTimeAcc"],["impl Copy for CellularNetworkFailedReason"],["impl Copy for SerialControlFlag"],["impl Copy for MavCollisionSrc"],["impl Copy for MavComponent"],["impl Copy for MavProtocolCapability"],["impl Copy for FenceMitigate"],["impl Copy for UavionixAdsbOutDynamicState"],["impl Copy for MavParamExtType"],["impl Copy for MavMissionResult"],["impl Copy for CameraMode"],["impl Copy for GripperActions"],["impl Copy for MotorTestThrottleType"],["impl Copy for MavSensorOrientation"],["impl Copy for PreflightStorageMissionAction"],["impl Copy for StorageStatus"],["impl Copy for ParachuteAction"],["impl Copy for MavFtpErr"],["impl Copy for CameraZoomType"],["impl Copy for FenceBreach"],["impl Copy for GoproFrameRate"],["impl Copy for ParamAck"],["impl Copy for AdsbAltitudeType"],["impl Copy for PositionTargetTypemask"],["impl Copy for MavOdidSpeedAcc"],["impl Copy for CellularStatusFlag"],["impl Copy for CameraMode"]], +"mavlink":[["impl Copy for FenceAction"],["impl Copy for GoproBurstRate"],["impl Copy for GimbalManagerFlags"],["impl Copy for MavSensorOrientation"],["impl Copy for EstimatorStatusFlags"],["impl Copy for SerialControlFlag"],["impl Copy for CameraMode"],["impl Copy for SerialControlDev"],["impl Copy for EscConnectionType"],["impl Copy for GimbalAxisCalibrationStatus"],["impl Copy for MavHeader"],["impl Copy for MavBatteryChargeState"],["impl Copy for MavAutopilot"],["impl Copy for MavProtocolCapability"],["impl Copy for MavOdidStatus"],["impl Copy for CameraTrackingStatusFlags"],["impl Copy for MavBatteryChargeState"],["impl Copy for GoproProtuneWhiteBalance"],["impl Copy for EscConnectionType"],["impl Copy for MavFrame"],["impl Copy for MavGeneratorStatusFlag"],["impl Copy for CellularNetworkFailedReason"],["impl Copy for MavFtpOpcode"],["impl Copy for GimbalDeviceCapFlags"],["impl Copy for MavLandedState"],["impl Copy for MavOdidDescType"],["impl Copy for AccelcalVehiclePos"],["impl Copy for CellularStatusFlag"],["impl Copy for MavModeFlagDecodePosition"],["impl Copy for GoproCharging"],["impl Copy for MotorTestOrder"],["impl Copy for MavResult"],["impl Copy for FenceAction"],["impl Copy for MavEventErrorReason"],["impl Copy for MavOdidOperatorIdType"],["impl Copy for HighresImuUpdatedFlags"],["impl Copy for MavBatteryType"],["impl Copy for StorageStatus"],["impl Copy for GoproModel"],["impl Copy for AisNavStatus"],["impl Copy for AttitudeTargetTypemask"],["impl Copy for CanFilterOp"],["impl Copy for MavCollisionThreatLevel"],["impl Copy for DeviceOpBustype"],["impl Copy for FenceMitigate"],["impl Copy for MavState"],["impl Copy for StorageUsageFlag"],["impl Copy for MavlinkDataStreamType"],["impl Copy for PreflightStorageMissionAction"],["impl Copy for CellularNetworkRadioType"],["impl Copy for MAVLinkV2MessageRaw"],["impl Copy for MavSeverity"],["impl Copy for PreflightStorageParameterAction"],["impl Copy for MavAutopilot"],["impl Copy for MavDataStream"],["impl Copy for ActuatorOutputFunction"],["impl Copy for GimbalDeviceCapFlags"],["impl Copy for MavParamExtType"],["impl Copy for GimbalManagerCapFlags"],["impl Copy for MavOdidUaType"],["impl Copy for MavOdidHeightRef"],["impl Copy for FailureType"],["impl Copy for MavOdidClassEu"],["impl Copy for ActuatorConfiguration"],["impl Copy for CellularNetworkFailedReason"],["impl Copy for MavRoi"],["impl Copy for MavOdidCategoryEu"],["impl Copy for MotorTestThrottleType"],["impl Copy for VtolTransitionHeading"],["impl Copy for UavionixAdsbOutDynamicState"],["impl Copy for VideoStreamStatusFlags"],["impl Copy for SetFocusType"],["impl Copy for GimbalDeviceFlags"],["impl Copy for MavPowerStatus"],["impl Copy for RcType"],["impl Copy for StorageType"],["impl Copy for CellularNetworkRadioType"],["impl Copy for AdsbAltitudeType"],["impl Copy for MavSysStatusSensor"],["impl Copy for GpsInputIgnoreFlags"],["impl Copy for GimbalDeviceErrorFlags"],["impl Copy for MavLandedState"],["impl Copy for UavionixAdsbOutCfgGpsOffsetLat"],["impl Copy for ScriptingCmd"],["impl Copy for ParamAck"],["impl Copy for RallyFlags"],["impl Copy for MotorTestThrottleType"],["impl Copy for MavEstimatorType"],["impl Copy for GoproFieldOfView"],["impl Copy for MavOdidTimeAcc"],["impl Copy for NavVtolLandOptions"],["impl Copy for MavComponent"],["impl Copy for ActuatorConfiguration"],["impl Copy for MavWinchStatusFlag"],["impl Copy for GoproVideoSettingsFlags"],["impl Copy for WifiConfigApResponse"],["impl Copy for MavCollisionAction"],["impl Copy for PreflightStorageMissionAction"],["impl Copy for OrbitYawBehaviour"],["impl Copy for StorageUsageFlag"],["impl Copy for MavState"],["impl Copy for TuneFormat"],["impl Copy for MavOdidArmStatus"],["impl Copy for LedControlPattern"],["impl Copy for HlFailureFlag"],["impl Copy for MavMode"],["impl Copy for UavionixAdsbOutCfgGpsOffsetLat"],["impl Copy for PreflightStorageParameterAction"],["impl Copy for GoproCaptureMode"],["impl Copy for GripperActions"],["impl Copy for MavSysStatusSensorExtended"],["impl Copy for MavParamExtType"],["impl Copy for UtmFlightState"],["impl Copy for MavOdidTimeAcc"],["impl Copy for GoproProtuneColour"],["impl Copy for FailureType"],["impl Copy for MavBatteryMode"],["impl Copy for MavResult"],["impl Copy for WifiConfigApResponse"],["impl Copy for MavOdidUaType"],["impl Copy for MavOdidAuthType"],["impl Copy for FailureType"],["impl Copy for UavionixAdsbRfHealth"],["impl Copy for GimbalDeviceErrorFlags"],["impl Copy for MavRemoteLogDataBlockCommands"],["impl Copy for MavBatteryType"],["impl Copy for MavOdidVerAcc"],["impl Copy for MagCalStatus"],["impl Copy for MavCmd"],["impl Copy for MavCollisionSrc"],["impl Copy for MavOdidVerAcc"],["impl Copy for LimitsState"],["impl Copy for FailureUnit"],["impl Copy for CellularConfigResponse"],["impl Copy for UavionixAdsbEmergencyStatus"],["impl Copy for MavBatteryFault"],["impl Copy for UavionixAdsbEmergencyStatus"],["impl Copy for MavEventCurrentSequenceFlags"],["impl Copy for AisFlags"],["impl Copy for EscFailureFlags"],["impl Copy for MavOdidStatus"],["impl Copy for MavParamType"],["impl Copy for MavVtolState"],["impl Copy for AdsbAltitudeType"],["impl Copy for MavOdidHorAcc"],["impl Copy for MotorTestOrder"],["impl Copy for MavOdidSpeedAcc"],["impl Copy for MavTunnelPayloadType"],["impl Copy for UavionixAdsbOutCfgAircraftSize"],["impl Copy for MavTunnelPayloadType"],["impl Copy for AisFlags"],["impl Copy for HeadingType"],["impl Copy for WifiConfigApResponse"],["impl Copy for MavOdidClassificationType"],["impl Copy for MavDoRepositionFlags"],["impl Copy for AdsbEmitterType"],["impl Copy for CameraStatusTypes"],["impl Copy for MavOdidAuthType"],["impl Copy for MavOdidClassificationType"],["impl Copy for MavDataStream"],["impl Copy for MavParamType"],["impl Copy for AisType"],["impl Copy for MavModeFlag"],["impl Copy for MavOdidUaType"],["impl Copy for AutotuneAxis"],["impl Copy for MAVLinkV1MessageRaw"],["impl Copy for MavDistanceSensor"],["impl Copy for GripperActions"],["impl Copy for GpsInputIgnoreFlags"],["impl Copy for MavEventCurrentSequenceFlags"],["impl Copy for AisNavStatus"],["impl Copy for UavcanNodeMode"],["impl Copy for CameraTrackingMode"],["impl Copy for MotorTestThrottleType"],["impl Copy for CompMetadataType"],["impl Copy for MavDataStream"],["impl Copy for CompMetadataType"],["impl Copy for MavEventErrorReason"],["impl Copy for CameraTrackingTargetData"],["impl Copy for RtkBaselineCoordinateSystem"],["impl Copy for UavcanNodeMode"],["impl Copy for MavEstimatorType"],["impl Copy for MavCmd"],["impl Copy for TrackerMode"],["impl Copy for GpsFixType"],["impl Copy for VtolTransitionHeading"],["impl Copy for LandingTargetType"],["impl Copy for GimbalAxisCalibrationRequired"],["impl Copy for EstimatorStatusFlags"],["impl Copy for MavBatteryFunction"],["impl Copy for HilSensorUpdatedFlags"],["impl Copy for CameraTrackingTargetData"],["impl Copy for StorageStatus"],["impl Copy for MavCollisionSrc"],["impl Copy for GpsInputIgnoreFlags"],["impl Copy for MavBatteryFunction"],["impl Copy for PreflightStorageMissionAction"],["impl Copy for MavMountMode"],["impl Copy for CameraMode"],["impl Copy for GoproRequestStatus"],["impl Copy for PositionTargetTypemask"],["impl Copy for VideoStreamType"],["impl Copy for CellularStatusFlag"],["impl Copy for AdsbEmitterType"],["impl Copy for FirmwareVersionType"],["impl Copy for CameraTrackingStatusFlags"],["impl Copy for MagCalStatus"],["impl Copy for MavAutopilot"],["impl Copy for MavBatteryFunction"],["impl Copy for MavGeneratorStatusFlag"],["impl Copy for WinchActions"],["impl Copy for MavOdidIdType"],["impl Copy for FailureUnit"],["impl Copy for MavlinkDataStreamType"],["impl Copy for IcarousTrackBandTypes"],["impl Copy for EscFailureFlags"],["impl Copy for ParamAck"],["impl Copy for LandingTargetType"],["impl Copy for MavBatteryFault"],["impl Copy for MavOdidAuthType"],["impl Copy for MavEventErrorReason"],["impl Copy for CameraTrackingMode"],["impl Copy for MissionState"],["impl Copy for SpeedType"],["impl Copy for MavOdidClassificationType"],["impl Copy for MavOdidTimeAcc"],["impl Copy for UtmDataAvailFlags"],["impl Copy for WinchActions"],["impl Copy for UavionixAdsbRfHealth"],["impl Copy for UavionixAdsbOutDynamicGpsFix"],["impl Copy for IcarousFmsState"],["impl Copy for GpsFixType"],["impl Copy for MavFrame"],["impl Copy for MavDoRepositionFlags"],["impl Copy for MavSensorOrientation"],["impl Copy for LandingTargetType"],["impl Copy for CellularNetworkRadioType"],["impl Copy for MavResult"],["impl Copy for GoproResolution"],["impl Copy for AdsbFlags"],["impl Copy for GimbalManagerFlags"],["impl Copy for HighresImuUpdatedFlags"],["impl Copy for FenceBreach"],["impl Copy for EstimatorStatusFlags"],["impl Copy for AdsbFlags"],["impl Copy for MavBatteryMode"],["impl Copy for MavRemoteLogDataBlockStatuses"],["impl Copy for ParachuteAction"],["impl Copy for MavCmdAck"],["impl Copy for MavOdidVerAcc"],["impl Copy for MavVtolState"],["impl Copy for HlFailureFlag"],["impl Copy for UavionixAdsbOutRfSelect"],["impl Copy for EkfStatusFlags"],["impl Copy for RtkBaselineCoordinateSystem"],["impl Copy for CanFilterOp"],["impl Copy for MavOdidDescType"],["impl Copy for MavModeFlagDecodePosition"],["impl Copy for GoproPhotoResolution"],["impl Copy for MavArmAuthDeniedReason"],["impl Copy for MotorTestOrder"],["impl Copy for UavionixAdsbOutDynamicGpsFix"],["impl Copy for AutotuneAxis"],["impl Copy for GoproProtuneSharpness"],["impl Copy for TuneFormat"],["impl Copy for MavSysStatusSensor"],["impl Copy for FenceBreach"],["impl Copy for MavGoto"],["impl Copy for CameraZoomType"],["impl Copy for MavSysStatusSensorExtended"],["impl Copy for MavlinkDataStreamType"],["impl Copy for GoproHeartbeatStatus"],["impl Copy for TuneFormat"],["impl Copy for MavMode"],["impl Copy for GimbalAxis"],["impl Copy for CameraCapFlags"],["impl Copy for MagCalStatus"],["impl Copy for MavOdidOperatorLocationType"],["impl Copy for MavOdidHeightRef"],["impl Copy for GimbalDeviceErrorFlags"],["impl Copy for LimitModule"],["impl Copy for MavMountMode"],["impl Copy for HilSensorUpdatedFlags"],["impl Copy for AisNavStatus"],["impl Copy for MavRoi"],["impl Copy for ParamAck"],["impl Copy for MavFrame"],["impl Copy for MavCmdDoAuxFunctionSwitchLevel"],["impl Copy for MavFtpErr"],["impl Copy for OsdParamConfigError"],["impl Copy for MavOdidStatus"],["impl Copy for DeepstallStage"],["impl Copy for HlFailureFlag"],["impl Copy for MavOdidSpeedAcc"],["impl Copy for MavEstimatorType"],["impl Copy for PrecisionLandMode"],["impl Copy for IcarousTrackBandTypes"],["impl Copy for CameraCapFlags"],["impl Copy for MavType"],["impl Copy for CameraCapFlags"],["impl Copy for MavDistanceSensor"],["impl Copy for MavMissionType"],["impl Copy for MavCmdAck"],["impl Copy for MavParamExtType"],["impl Copy for MavType"],["impl Copy for StorageType"],["impl Copy for UavcanNodeHealth"],["impl Copy for OrbitYawBehaviour"],["impl Copy for RcType"],["impl Copy for AdsbFlags"],["impl Copy for MavModeGimbal"],["impl Copy for MavBatteryChargeState"],["impl Copy for SerialControlFlag"],["impl Copy for PidTuningAxis"],["impl Copy for GripperActions"],["impl Copy for MavOdidOperatorLocationType"],["impl Copy for MavRoi"],["impl Copy for VideoStreamType"],["impl Copy for PreflightStorageParameterAction"],["impl Copy for ParachuteAction"],["impl Copy for MavOdidHorAcc"],["impl Copy for UavionixAdsbOutCfgAircraftSize"],["impl Copy for CellularNetworkFailedReason"],["impl Copy for MavCollisionAction"],["impl Copy for UtmDataAvailFlags"],["impl Copy for UavionixAdsbOutDynamicState"],["impl Copy for MavSensorOrientation"],["impl Copy for MavBatteryMode"],["impl Copy for MavOdidIdType"],["impl Copy for MavOdidOperatorLocationType"],["impl Copy for FenceAction"],["impl Copy for OsdParamConfigType"],["impl Copy for MavMissionType"],["impl Copy for SerialControlFlag"],["impl Copy for MavSeverity"],["impl Copy for GimbalManagerFlags"],["impl Copy for MavOdidHeightRef"],["impl Copy for MavWinchStatusFlag"],["impl Copy for MavOdidCategoryEu"],["impl Copy for PrecisionLandMode"],["impl Copy for RoverMode"],["impl Copy for GimbalDeviceFlags"],["impl Copy for PrecisionLandMode"],["impl Copy for SerialControlDev"],["impl Copy for MavEventCurrentSequenceFlags"],["impl Copy for RcType"],["impl Copy for CameraFeedbackFlags"],["impl Copy for MavVtolState"],["impl Copy for NavVtolLandOptions"],["impl Copy for AttitudeTargetTypemask"],["impl Copy for FenceMitigate"],["impl Copy for PlaneMode"],["impl Copy for MavOdidCategoryEu"],["impl Copy for SetFocusType"],["impl Copy for ParachuteAction"],["impl Copy for AisType"],["impl Copy for MavPowerStatus"],["impl Copy for MavProtocolCapability"],["impl Copy for CompMetadataType"],["impl Copy for MavLandedState"],["impl Copy for NavVtolLandOptions"],["impl Copy for GimbalManagerCapFlags"],["impl Copy for CameraZoomType"],["impl Copy for VideoStreamType"],["impl Copy for GoproFrameRate"],["impl Copy for MavOdidIdType"],["impl Copy for GimbalDeviceCapFlags"],["impl Copy for MavOdidSpeedAcc"],["impl Copy for MavOdidOperatorIdType"],["impl Copy for MavMissionResult"],["impl Copy for MavMissionType"],["impl Copy for MavBatteryType"],["impl Copy for MavMissionResult"],["impl Copy for MavState"],["impl Copy for WinchActions"],["impl Copy for MavComponent"],["impl Copy for EscConnectionType"],["impl Copy for StorageStatus"],["impl Copy for SubMode"],["impl Copy for GoproProtuneExposure"],["impl Copy for VideoStreamStatusFlags"],["impl Copy for CameraMode"],["impl Copy for AttitudeTargetTypemask"],["impl Copy for MavlinkVersion"],["impl Copy for AisFlags"],["impl Copy for CellularConfigResponse"],["impl Copy for CameraZoomType"],["impl Copy for IcarousFmsState"],["impl Copy for MavFtpOpcode"],["impl Copy for MavModeFlagDecodePosition"],["impl Copy for MavOdidClassEu"],["impl Copy for MissionState"],["impl Copy for MavOdidClassEu"],["impl Copy for CellularStatusFlag"],["impl Copy for MavComponent"],["impl Copy for MavDistanceSensor"],["impl Copy for ActuatorOutputFunction"],["impl Copy for ActuatorConfiguration"],["impl Copy for MavSysStatusSensorExtended"],["impl Copy for UavionixAdsbOutRfSelect"],["impl Copy for MavCollisionSrc"],["impl Copy for GoproProtuneGain"],["impl Copy for MavSysStatusSensor"],["impl Copy for FirmwareVersionType"],["impl Copy for MavGeneratorStatusFlag"],["impl Copy for MavCollisionAction"],["impl Copy for CameraTrackingMode"],["impl Copy for CellularConfigResponse"],["impl Copy for MavArmAuthDeniedReason"],["impl Copy for SetFocusType"],["impl Copy for MavGoto"],["impl Copy for VtolTransitionHeading"],["impl Copy for PositionTargetTypemask"],["impl Copy for AdsbAltitudeType"],["impl Copy for MavOdidArmStatus"],["impl Copy for GoproCommand"],["impl Copy for UtmDataAvailFlags"],["impl Copy for AdsbEmitterType"],["impl Copy for MavType"],["impl Copy for FenceBreach"],["impl Copy for UavcanNodeHealth"],["impl Copy for MavDoRepositionFlags"],["impl Copy for UtmFlightState"],["impl Copy for AisType"],["impl Copy for GimbalDeviceFlags"],["impl Copy for GpsFixType"],["impl Copy for MavCollisionThreatLevel"],["impl Copy for MavModeFlag"],["impl Copy for MavMissionResult"],["impl Copy for MavCollisionThreatLevel"],["impl Copy for WifiConfigApMode"],["impl Copy for FirmwareVersionType"],["impl Copy for MavOdidDescType"],["impl Copy for MavOdidArmStatus"],["impl Copy for OrbitYawBehaviour"],["impl Copy for ActuatorOutputFunction"],["impl Copy for MavBatteryFault"],["impl Copy for HighresImuUpdatedFlags"],["impl Copy for HilSensorUpdatedFlags"],["impl Copy for MavCmdAck"],["impl Copy for GoproHeartbeatFlags"],["impl Copy for MavFtpErr"],["impl Copy for CanFilterOp"],["impl Copy for WifiConfigApMode"],["impl Copy for CameraTrackingTargetData"],["impl Copy for MavCmd"],["impl Copy for UavionixAdsbOutCfgGpsOffsetLon"],["impl Copy for MavTunnelPayloadType"],["impl Copy for RtkBaselineCoordinateSystem"],["impl Copy for StorageUsageFlag"],["impl Copy for FailureUnit"],["impl Copy for VideoStreamStatusFlags"],["impl Copy for MavOdidHorAcc"],["impl Copy for MavSeverity"],["impl Copy for EscFailureFlags"],["impl Copy for SerialControlDev"],["impl Copy for MavProtocolCapability"],["impl Copy for MavMode"],["impl Copy for CopterMode"],["impl Copy for PositionTargetTypemask"],["impl Copy for MavWinchStatusFlag"],["impl Copy for FenceMitigate"],["impl Copy for MavPowerStatus"],["impl Copy for MavFtpOpcode"],["impl Copy for UavcanNodeHealth"],["impl Copy for MavModeFlag"],["impl Copy for UavionixAdsbOutCfgGpsOffsetLon"],["impl Copy for StorageType"],["impl Copy for UtmFlightState"],["impl Copy for MavOdidOperatorIdType"],["impl Copy for CameraTrackingStatusFlags"],["impl Copy for MavFtpErr"],["impl Copy for GimbalManagerCapFlags"],["impl Copy for AutotuneAxis"],["impl Copy for MavArmAuthDeniedReason"],["impl Copy for MavParamType"],["impl Copy for MissionState"],["impl Copy for MavMountMode"],["impl Copy for UavcanNodeMode"],["impl Copy for MavGoto"],["impl Copy for WifiConfigApMode"]], "proc_macro2":[["impl Copy for Span"],["impl Copy for Spacing"],["impl Copy for Delimiter"],["impl Copy for DelimSpan"]], "serde":[["impl<E> Copy for CharDeserializer<E>"],["impl<'a, E> Copy for BytesDeserializer<'a, E>"],["impl<E> Copy for F32Deserializer<E>"],["impl<'de, E> Copy for BorrowedBytesDeserializer<'de, E>"],["impl<'a> Copy for Unexpected<'a>"],["impl<E> Copy for U64Deserializer<E>"],["impl<E> Copy for I128Deserializer<E>"],["impl<E> Copy for I16Deserializer<E>"],["impl<E> Copy for I32Deserializer<E>"],["impl<E> Copy for UnitDeserializer<E>"],["impl<E> Copy for U32Deserializer<E>"],["impl<'de, E> Copy for BorrowedStrDeserializer<'de, E>"],["impl<E> Copy for UsizeDeserializer<E>"],["impl<E> Copy for U128Deserializer<E>"],["impl<E> Copy for I8Deserializer<E>"],["impl<E> Copy for I64Deserializer<E>"],["impl Copy for IgnoredAny"],["impl<E> Copy for U8Deserializer<E>"],["impl<E> Copy for F64Deserializer<E>"],["impl<'de, E> Copy for StrDeserializer<'de, E>"],["impl<E> Copy for U16Deserializer<E>"],["impl<E> Copy for BoolDeserializer<E>"],["impl<E> Copy for IsizeDeserializer<E>"]], "serial_core":[["impl Copy for BaudRate"],["impl Copy for PortSettings"],["impl Copy for StopBits"],["impl Copy for ErrorKind"],["impl Copy for CharSize"],["impl Copy for Parity"],["impl Copy for FlowControl"]], diff --git a/trait.impl/core/marker/trait.Freeze.js b/trait.impl/core/marker/trait.Freeze.js index 5e8041b133..d6e8b168d4 100644 --- a/trait.impl/core/marker/trait.Freeze.js +++ b/trait.impl/core/marker/trait.Freeze.js @@ -2,7 +2,7 @@ "byteorder":[["impl Freeze for BigEndian",1,["byteorder::BigEndian"]],["impl Freeze for LittleEndian",1,["byteorder::LittleEndian"]]], "crc_any":[["impl Freeze for CRCu16",1,["crc_any::crc_u16::CRCu16"]],["impl Freeze for CRCu32",1,["crc_any::crc_u32::CRCu32"]],["impl Freeze for CRCu64",1,["crc_any::crc_u64::CRCu64"]],["impl Freeze for CRCu8",1,["crc_any::crc_u8::CRCu8"]],["impl Freeze for CRC",1,["crc_any::CRC"]]], "libc":[["impl Freeze for statvfs",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::not_x32::statvfs"]],["impl Freeze for max_align_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::align::max_align_t"]],["impl Freeze for clone_args",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::align::clone_args"]],["impl Freeze for sigaction",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::sigaction"]],["impl Freeze for statfs",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statfs"]],["impl Freeze for flock",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::flock"]],["impl Freeze for flock64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::flock64"]],["impl Freeze for siginfo_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::siginfo_t"]],["impl Freeze for stack_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stack_t"]],["impl Freeze for stat",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stat"]],["impl Freeze for stat64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stat64"]],["impl Freeze for statfs64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statfs64"]],["impl Freeze for statvfs64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statvfs64"]],["impl Freeze for pthread_attr_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::pthread_attr_t"]],["impl Freeze for _libc_fpxreg",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_fpxreg"]],["impl Freeze for _libc_xmmreg",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_xmmreg"]],["impl Freeze for _libc_fpstate",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_fpstate"]],["impl Freeze for user_regs_struct",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user_regs_struct"]],["impl Freeze for user",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user"]],["impl Freeze for mcontext_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::mcontext_t"]],["impl Freeze for ipc_perm",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ipc_perm"]],["impl Freeze for shmid_ds",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::shmid_ds"]],["impl Freeze for seccomp_notif_sizes",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::seccomp_notif_sizes"]],["impl Freeze for ptrace_rseq_configuration",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ptrace_rseq_configuration"]],["impl Freeze for user_fpregs_struct",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user_fpregs_struct"]],["impl Freeze for ucontext_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ucontext_t"]],["impl Freeze for sigset_t",1,["libc::unix::linux_like::linux::gnu::b64::sigset_t"]],["impl Freeze for sysinfo",1,["libc::unix::linux_like::linux::gnu::b64::sysinfo"]],["impl Freeze for msqid_ds",1,["libc::unix::linux_like::linux::gnu::b64::msqid_ds"]],["impl Freeze for semid_ds",1,["libc::unix::linux_like::linux::gnu::b64::semid_ds"]],["impl Freeze for sem_t",1,["libc::unix::linux_like::linux::gnu::align::sem_t"]],["impl Freeze for statx",1,["libc::unix::linux_like::linux::gnu::statx"]],["impl Freeze for statx_timestamp",1,["libc::unix::linux_like::linux::gnu::statx_timestamp"]],["impl Freeze for aiocb",1,["libc::unix::linux_like::linux::gnu::aiocb"]],["impl Freeze for __exit_status",1,["libc::unix::linux_like::linux::gnu::__exit_status"]],["impl Freeze for __timeval",1,["libc::unix::linux_like::linux::gnu::__timeval"]],["impl Freeze for glob64_t",1,["libc::unix::linux_like::linux::gnu::glob64_t"]],["impl Freeze for msghdr",1,["libc::unix::linux_like::linux::gnu::msghdr"]],["impl Freeze for cmsghdr",1,["libc::unix::linux_like::linux::gnu::cmsghdr"]],["impl Freeze for termios",1,["libc::unix::linux_like::linux::gnu::termios"]],["impl Freeze for mallinfo",1,["libc::unix::linux_like::linux::gnu::mallinfo"]],["impl Freeze for mallinfo2",1,["libc::unix::linux_like::linux::gnu::mallinfo2"]],["impl Freeze for nl_pktinfo",1,["libc::unix::linux_like::linux::gnu::nl_pktinfo"]],["impl Freeze for nl_mmap_req",1,["libc::unix::linux_like::linux::gnu::nl_mmap_req"]],["impl Freeze for nl_mmap_hdr",1,["libc::unix::linux_like::linux::gnu::nl_mmap_hdr"]],["impl Freeze for rtentry",1,["libc::unix::linux_like::linux::gnu::rtentry"]],["impl Freeze for timex",1,["libc::unix::linux_like::linux::gnu::timex"]],["impl Freeze for ntptimeval",1,["libc::unix::linux_like::linux::gnu::ntptimeval"]],["impl Freeze for regex_t",1,["libc::unix::linux_like::linux::gnu::regex_t"]],["impl Freeze for Elf64_Chdr",1,["libc::unix::linux_like::linux::gnu::Elf64_Chdr"]],["impl Freeze for Elf32_Chdr",1,["libc::unix::linux_like::linux::gnu::Elf32_Chdr"]],["impl Freeze for seminfo",1,["libc::unix::linux_like::linux::gnu::seminfo"]],["impl Freeze for ptrace_peeksiginfo_args",1,["libc::unix::linux_like::linux::gnu::ptrace_peeksiginfo_args"]],["impl Freeze for __c_anonymous_ptrace_syscall_info_entry",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_entry"]],["impl Freeze for __c_anonymous_ptrace_syscall_info_exit",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_exit"]],["impl Freeze for __c_anonymous_ptrace_syscall_info_seccomp",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_seccomp"]],["impl Freeze for ptrace_syscall_info",1,["libc::unix::linux_like::linux::gnu::ptrace_syscall_info"]],["impl Freeze for sockaddr_xdp",1,["libc::unix::linux_like::linux::gnu::sockaddr_xdp"]],["impl Freeze for xdp_ring_offset",1,["libc::unix::linux_like::linux::gnu::xdp_ring_offset"]],["impl Freeze for xdp_mmap_offsets",1,["libc::unix::linux_like::linux::gnu::xdp_mmap_offsets"]],["impl Freeze for xdp_ring_offset_v1",1,["libc::unix::linux_like::linux::gnu::xdp_ring_offset_v1"]],["impl Freeze for xdp_mmap_offsets_v1",1,["libc::unix::linux_like::linux::gnu::xdp_mmap_offsets_v1"]],["impl Freeze for xdp_umem_reg",1,["libc::unix::linux_like::linux::gnu::xdp_umem_reg"]],["impl Freeze for xdp_umem_reg_v1",1,["libc::unix::linux_like::linux::gnu::xdp_umem_reg_v1"]],["impl Freeze for xdp_statistics",1,["libc::unix::linux_like::linux::gnu::xdp_statistics"]],["impl Freeze for xdp_statistics_v1",1,["libc::unix::linux_like::linux::gnu::xdp_statistics_v1"]],["impl Freeze for xdp_options",1,["libc::unix::linux_like::linux::gnu::xdp_options"]],["impl Freeze for xdp_desc",1,["libc::unix::linux_like::linux::gnu::xdp_desc"]],["impl Freeze for __c_anonymous_ptrace_syscall_info_data",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_data"]],["impl Freeze for utmpx",1,["libc::unix::linux_like::linux::gnu::utmpx"]],["impl Freeze for termios2",1,["libc::unix::linux_like::linux::arch::generic::termios2"]],["impl Freeze for open_how",1,["libc::unix::linux_like::linux::non_exhaustive::open_how"]],["impl Freeze for fpos64_t",1,["libc::unix::linux_like::linux::fpos64_t"]],["impl Freeze for glob_t",1,["libc::unix::linux_like::linux::glob_t"]],["impl Freeze for passwd",1,["libc::unix::linux_like::linux::passwd"]],["impl Freeze for spwd",1,["libc::unix::linux_like::linux::spwd"]],["impl Freeze for dqblk",1,["libc::unix::linux_like::linux::dqblk"]],["impl Freeze for signalfd_siginfo",1,["libc::unix::linux_like::linux::signalfd_siginfo"]],["impl Freeze for itimerspec",1,["libc::unix::linux_like::linux::itimerspec"]],["impl Freeze for fsid_t",1,["libc::unix::linux_like::linux::fsid_t"]],["impl Freeze for packet_mreq",1,["libc::unix::linux_like::linux::packet_mreq"]],["impl Freeze for cpu_set_t",1,["libc::unix::linux_like::linux::cpu_set_t"]],["impl Freeze for if_nameindex",1,["libc::unix::linux_like::linux::if_nameindex"]],["impl Freeze for msginfo",1,["libc::unix::linux_like::linux::msginfo"]],["impl Freeze for sembuf",1,["libc::unix::linux_like::linux::sembuf"]],["impl Freeze for input_event",1,["libc::unix::linux_like::linux::input_event"]],["impl Freeze for input_id",1,["libc::unix::linux_like::linux::input_id"]],["impl Freeze for input_absinfo",1,["libc::unix::linux_like::linux::input_absinfo"]],["impl Freeze for input_keymap_entry",1,["libc::unix::linux_like::linux::input_keymap_entry"]],["impl Freeze for input_mask",1,["libc::unix::linux_like::linux::input_mask"]],["impl Freeze for ff_replay",1,["libc::unix::linux_like::linux::ff_replay"]],["impl Freeze for ff_trigger",1,["libc::unix::linux_like::linux::ff_trigger"]],["impl Freeze for ff_envelope",1,["libc::unix::linux_like::linux::ff_envelope"]],["impl Freeze for ff_constant_effect",1,["libc::unix::linux_like::linux::ff_constant_effect"]],["impl Freeze for ff_ramp_effect",1,["libc::unix::linux_like::linux::ff_ramp_effect"]],["impl Freeze for ff_condition_effect",1,["libc::unix::linux_like::linux::ff_condition_effect"]],["impl Freeze for ff_periodic_effect",1,["libc::unix::linux_like::linux::ff_periodic_effect"]],["impl Freeze for ff_rumble_effect",1,["libc::unix::linux_like::linux::ff_rumble_effect"]],["impl Freeze for ff_effect",1,["libc::unix::linux_like::linux::ff_effect"]],["impl Freeze for uinput_ff_upload",1,["libc::unix::linux_like::linux::uinput_ff_upload"]],["impl Freeze for uinput_ff_erase",1,["libc::unix::linux_like::linux::uinput_ff_erase"]],["impl Freeze for uinput_abs_setup",1,["libc::unix::linux_like::linux::uinput_abs_setup"]],["impl Freeze for dl_phdr_info",1,["libc::unix::linux_like::linux::dl_phdr_info"]],["impl Freeze for Elf32_Ehdr",1,["libc::unix::linux_like::linux::Elf32_Ehdr"]],["impl Freeze for Elf64_Ehdr",1,["libc::unix::linux_like::linux::Elf64_Ehdr"]],["impl Freeze for Elf32_Sym",1,["libc::unix::linux_like::linux::Elf32_Sym"]],["impl Freeze for Elf64_Sym",1,["libc::unix::linux_like::linux::Elf64_Sym"]],["impl Freeze for Elf32_Phdr",1,["libc::unix::linux_like::linux::Elf32_Phdr"]],["impl Freeze for Elf64_Phdr",1,["libc::unix::linux_like::linux::Elf64_Phdr"]],["impl Freeze for Elf32_Shdr",1,["libc::unix::linux_like::linux::Elf32_Shdr"]],["impl Freeze for Elf64_Shdr",1,["libc::unix::linux_like::linux::Elf64_Shdr"]],["impl Freeze for ucred",1,["libc::unix::linux_like::linux::ucred"]],["impl Freeze for mntent",1,["libc::unix::linux_like::linux::mntent"]],["impl Freeze for posix_spawn_file_actions_t",1,["libc::unix::linux_like::linux::posix_spawn_file_actions_t"]],["impl Freeze for posix_spawnattr_t",1,["libc::unix::linux_like::linux::posix_spawnattr_t"]],["impl Freeze for genlmsghdr",1,["libc::unix::linux_like::linux::genlmsghdr"]],["impl Freeze for in6_pktinfo",1,["libc::unix::linux_like::linux::in6_pktinfo"]],["impl Freeze for arpd_request",1,["libc::unix::linux_like::linux::arpd_request"]],["impl Freeze for inotify_event",1,["libc::unix::linux_like::linux::inotify_event"]],["impl Freeze for fanotify_response",1,["libc::unix::linux_like::linux::fanotify_response"]],["impl Freeze for sockaddr_vm",1,["libc::unix::linux_like::linux::sockaddr_vm"]],["impl Freeze for regmatch_t",1,["libc::unix::linux_like::linux::regmatch_t"]],["impl Freeze for sock_extended_err",1,["libc::unix::linux_like::linux::sock_extended_err"]],["impl Freeze for __c_anonymous_sockaddr_can_tp",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_tp"]],["impl Freeze for __c_anonymous_sockaddr_can_j1939",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_j1939"]],["impl Freeze for can_filter",1,["libc::unix::linux_like::linux::can_filter"]],["impl Freeze for j1939_filter",1,["libc::unix::linux_like::linux::j1939_filter"]],["impl Freeze for sock_filter",1,["libc::unix::linux_like::linux::sock_filter"]],["impl Freeze for sock_fprog",1,["libc::unix::linux_like::linux::sock_fprog"]],["impl Freeze for seccomp_data",1,["libc::unix::linux_like::linux::seccomp_data"]],["impl Freeze for nlmsghdr",1,["libc::unix::linux_like::linux::nlmsghdr"]],["impl Freeze for nlmsgerr",1,["libc::unix::linux_like::linux::nlmsgerr"]],["impl Freeze for nlattr",1,["libc::unix::linux_like::linux::nlattr"]],["impl Freeze for file_clone_range",1,["libc::unix::linux_like::linux::file_clone_range"]],["impl Freeze for __c_anonymous_ifru_map",1,["libc::unix::linux_like::linux::__c_anonymous_ifru_map"]],["impl Freeze for in6_ifreq",1,["libc::unix::linux_like::linux::in6_ifreq"]],["impl Freeze for option",1,["libc::unix::linux_like::linux::option"]],["impl Freeze for sctp_initmsg",1,["libc::unix::linux_like::linux::sctp_initmsg"]],["impl Freeze for sctp_sndrcvinfo",1,["libc::unix::linux_like::linux::sctp_sndrcvinfo"]],["impl Freeze for sctp_sndinfo",1,["libc::unix::linux_like::linux::sctp_sndinfo"]],["impl Freeze for sctp_rcvinfo",1,["libc::unix::linux_like::linux::sctp_rcvinfo"]],["impl Freeze for sctp_nxtinfo",1,["libc::unix::linux_like::linux::sctp_nxtinfo"]],["impl Freeze for sctp_prinfo",1,["libc::unix::linux_like::linux::sctp_prinfo"]],["impl Freeze for sctp_authinfo",1,["libc::unix::linux_like::linux::sctp_authinfo"]],["impl Freeze for rlimit64",1,["libc::unix::linux_like::linux::rlimit64"]],["impl Freeze for tls_crypto_info",1,["libc::unix::linux_like::linux::tls_crypto_info"]],["impl Freeze for tls12_crypto_info_aes_gcm_128",1,["libc::unix::linux_like::linux::tls12_crypto_info_aes_gcm_128"]],["impl Freeze for tls12_crypto_info_aes_gcm_256",1,["libc::unix::linux_like::linux::tls12_crypto_info_aes_gcm_256"]],["impl Freeze for tls12_crypto_info_chacha20_poly1305",1,["libc::unix::linux_like::linux::tls12_crypto_info_chacha20_poly1305"]],["impl Freeze for sockaddr_nl",1,["libc::unix::linux_like::linux::sockaddr_nl"]],["impl Freeze for dirent",1,["libc::unix::linux_like::linux::dirent"]],["impl Freeze for sockaddr_alg",1,["libc::unix::linux_like::linux::sockaddr_alg"]],["impl Freeze for uinput_setup",1,["libc::unix::linux_like::linux::uinput_setup"]],["impl Freeze for uinput_user_dev",1,["libc::unix::linux_like::linux::uinput_user_dev"]],["impl Freeze for af_alg_iv",1,["libc::unix::linux_like::linux::af_alg_iv"]],["impl Freeze for mq_attr",1,["libc::unix::linux_like::linux::mq_attr"]],["impl Freeze for __c_anonymous_ifr_ifru",1,["libc::unix::linux_like::linux::__c_anonymous_ifr_ifru"]],["impl Freeze for ifreq",1,["libc::unix::linux_like::linux::ifreq"]],["impl Freeze for __c_anonymous_ifc_ifcu",1,["libc::unix::linux_like::linux::__c_anonymous_ifc_ifcu"]],["impl Freeze for ifconf",1,["libc::unix::linux_like::linux::ifconf"]],["impl Freeze for hwtstamp_config",1,["libc::unix::linux_like::linux::hwtstamp_config"]],["impl Freeze for dirent64",1,["libc::unix::linux_like::linux::dirent64"]],["impl Freeze for sock_txtime",1,["libc::unix::linux_like::linux::sock_txtime"]],["impl Freeze for __c_anonymous_sockaddr_can_can_addr",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_can_addr"]],["impl Freeze for sockaddr_can",1,["libc::unix::linux_like::linux::sockaddr_can"]],["impl Freeze for pthread_mutexattr_t",1,["libc::unix::linux_like::linux::pthread_mutexattr_t"]],["impl Freeze for pthread_rwlockattr_t",1,["libc::unix::linux_like::linux::pthread_rwlockattr_t"]],["impl Freeze for pthread_condattr_t",1,["libc::unix::linux_like::linux::pthread_condattr_t"]],["impl Freeze for pthread_barrierattr_t",1,["libc::unix::linux_like::linux::pthread_barrierattr_t"]],["impl Freeze for fanotify_event_metadata",1,["libc::unix::linux_like::linux::fanotify_event_metadata"]],["impl Freeze for pthread_cond_t",1,["libc::unix::linux_like::linux::pthread_cond_t"]],["impl Freeze for pthread_mutex_t",1,["libc::unix::linux_like::linux::pthread_mutex_t"]],["impl Freeze for pthread_rwlock_t",1,["libc::unix::linux_like::linux::pthread_rwlock_t"]],["impl Freeze for pthread_barrier_t",1,["libc::unix::linux_like::linux::pthread_barrier_t"]],["impl Freeze for can_frame",1,["libc::unix::linux_like::linux::can_frame"]],["impl Freeze for canfd_frame",1,["libc::unix::linux_like::linux::canfd_frame"]],["impl Freeze for canxl_frame",1,["libc::unix::linux_like::linux::canxl_frame"]],["impl Freeze for timezone",1,["libc::unix::linux_like::timezone"]],["impl Freeze for in_addr",1,["libc::unix::linux_like::in_addr"]],["impl Freeze for ip_mreq",1,["libc::unix::linux_like::ip_mreq"]],["impl Freeze for ip_mreqn",1,["libc::unix::linux_like::ip_mreqn"]],["impl Freeze for ip_mreq_source",1,["libc::unix::linux_like::ip_mreq_source"]],["impl Freeze for sockaddr",1,["libc::unix::linux_like::sockaddr"]],["impl Freeze for sockaddr_in",1,["libc::unix::linux_like::sockaddr_in"]],["impl Freeze for sockaddr_in6",1,["libc::unix::linux_like::sockaddr_in6"]],["impl Freeze for addrinfo",1,["libc::unix::linux_like::addrinfo"]],["impl Freeze for sockaddr_ll",1,["libc::unix::linux_like::sockaddr_ll"]],["impl Freeze for fd_set",1,["libc::unix::linux_like::fd_set"]],["impl Freeze for tm",1,["libc::unix::linux_like::tm"]],["impl Freeze for sched_param",1,["libc::unix::linux_like::sched_param"]],["impl Freeze for Dl_info",1,["libc::unix::linux_like::Dl_info"]],["impl Freeze for lconv",1,["libc::unix::linux_like::lconv"]],["impl Freeze for in_pktinfo",1,["libc::unix::linux_like::in_pktinfo"]],["impl Freeze for ifaddrs",1,["libc::unix::linux_like::ifaddrs"]],["impl Freeze for in6_rtmsg",1,["libc::unix::linux_like::in6_rtmsg"]],["impl Freeze for arpreq",1,["libc::unix::linux_like::arpreq"]],["impl Freeze for arpreq_old",1,["libc::unix::linux_like::arpreq_old"]],["impl Freeze for arphdr",1,["libc::unix::linux_like::arphdr"]],["impl Freeze for mmsghdr",1,["libc::unix::linux_like::mmsghdr"]],["impl Freeze for epoll_event",1,["libc::unix::linux_like::epoll_event"]],["impl Freeze for sockaddr_un",1,["libc::unix::linux_like::sockaddr_un"]],["impl Freeze for sockaddr_storage",1,["libc::unix::linux_like::sockaddr_storage"]],["impl Freeze for utsname",1,["libc::unix::linux_like::utsname"]],["impl Freeze for sigevent",1,["libc::unix::linux_like::sigevent"]],["impl Freeze for in6_addr",1,["libc::unix::align::in6_addr"]],["impl Freeze for DIR",1,["libc::unix::DIR"]],["impl Freeze for group",1,["libc::unix::group"]],["impl Freeze for utimbuf",1,["libc::unix::utimbuf"]],["impl Freeze for timeval",1,["libc::unix::timeval"]],["impl Freeze for timespec",1,["libc::unix::timespec"]],["impl Freeze for rlimit",1,["libc::unix::rlimit"]],["impl Freeze for rusage",1,["libc::unix::rusage"]],["impl Freeze for ipv6_mreq",1,["libc::unix::ipv6_mreq"]],["impl Freeze for hostent",1,["libc::unix::hostent"]],["impl Freeze for iovec",1,["libc::unix::iovec"]],["impl Freeze for pollfd",1,["libc::unix::pollfd"]],["impl Freeze for winsize",1,["libc::unix::winsize"]],["impl Freeze for linger",1,["libc::unix::linger"]],["impl Freeze for sigval",1,["libc::unix::sigval"]],["impl Freeze for itimerval",1,["libc::unix::itimerval"]],["impl Freeze for tms",1,["libc::unix::tms"]],["impl Freeze for servent",1,["libc::unix::servent"]],["impl Freeze for protoent",1,["libc::unix::protoent"]],["impl Freeze for FILE",1,["libc::unix::FILE"]],["impl Freeze for fpos_t",1,["libc::unix::fpos_t"]]], -"mavlink":[["impl Freeze for IcarousFmsState",1,["mavlink::icarous::IcarousFmsState"]],["impl Freeze for IcarousTrackBandTypes",1,["mavlink::icarous::IcarousTrackBandTypes"]],["impl Freeze for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::icarous::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Freeze for ICAROUS_HEARTBEAT_DATA",1,["mavlink::icarous::ICAROUS_HEARTBEAT_DATA"]],["impl Freeze for MavMessage",1,["mavlink::icarous::MavMessage"]],["impl Freeze for WinchActions",1,["mavlink::ardupilotmega::WinchActions"]],["impl Freeze for AisNavStatus",1,["mavlink::ardupilotmega::AisNavStatus"]],["impl Freeze for IcarousFmsState",1,["mavlink::ardupilotmega::IcarousFmsState"]],["impl Freeze for SetFocusType",1,["mavlink::ardupilotmega::SetFocusType"]],["impl Freeze for MavOdidIdType",1,["mavlink::ardupilotmega::MavOdidIdType"]],["impl Freeze for NavVtolLandOptions",1,["mavlink::ardupilotmega::NavVtolLandOptions"]],["impl Freeze for VtolTransitionHeading",1,["mavlink::ardupilotmega::VtolTransitionHeading"]],["impl Freeze for GoproResolution",1,["mavlink::ardupilotmega::GoproResolution"]],["impl Freeze for CameraFeedbackFlags",1,["mavlink::ardupilotmega::CameraFeedbackFlags"]],["impl Freeze for PrecisionLandMode",1,["mavlink::ardupilotmega::PrecisionLandMode"]],["impl Freeze for UavcanNodeHealth",1,["mavlink::ardupilotmega::UavcanNodeHealth"]],["impl Freeze for GoproProtuneSharpness",1,["mavlink::ardupilotmega::GoproProtuneSharpness"]],["impl Freeze for CellularStatusFlag",1,["mavlink::ardupilotmega::CellularStatusFlag"]],["impl Freeze for MavComponent",1,["mavlink::ardupilotmega::MavComponent"]],["impl Freeze for GoproFrameRate",1,["mavlink::ardupilotmega::GoproFrameRate"]],["impl Freeze for GoproBurstRate",1,["mavlink::ardupilotmega::GoproBurstRate"]],["impl Freeze for FailureUnit",1,["mavlink::ardupilotmega::FailureUnit"]],["impl Freeze for MavPowerStatus",1,["mavlink::ardupilotmega::MavPowerStatus"]],["impl Freeze for MavOdidDescType",1,["mavlink::ardupilotmega::MavOdidDescType"]],["impl Freeze for UavionixAdsbEmergencyStatus",1,["mavlink::ardupilotmega::UavionixAdsbEmergencyStatus"]],["impl Freeze for MavType",1,["mavlink::ardupilotmega::MavType"]],["impl Freeze for MavFrame",1,["mavlink::ardupilotmega::MavFrame"]],["impl Freeze for MavModeFlagDecodePosition",1,["mavlink::ardupilotmega::MavModeFlagDecodePosition"]],["impl Freeze for MavDataStream",1,["mavlink::ardupilotmega::MavDataStream"]],["impl Freeze for MavDoRepositionFlags",1,["mavlink::ardupilotmega::MavDoRepositionFlags"]],["impl Freeze for MavEstimatorType",1,["mavlink::ardupilotmega::MavEstimatorType"]],["impl Freeze for MavBatteryType",1,["mavlink::ardupilotmega::MavBatteryType"]],["impl Freeze for HlFailureFlag",1,["mavlink::ardupilotmega::HlFailureFlag"]],["impl Freeze for GimbalManagerFlags",1,["mavlink::ardupilotmega::GimbalManagerFlags"]],["impl Freeze for LedControlPattern",1,["mavlink::ardupilotmega::LedControlPattern"]],["impl Freeze for PreflightStorageParameterAction",1,["mavlink::ardupilotmega::PreflightStorageParameterAction"]],["impl Freeze for TuneFormat",1,["mavlink::ardupilotmega::TuneFormat"]],["impl Freeze for MavOdidOperatorLocationType",1,["mavlink::ardupilotmega::MavOdidOperatorLocationType"]],["impl Freeze for PlaneMode",1,["mavlink::ardupilotmega::PlaneMode"]],["impl Freeze for ParamAck",1,["mavlink::ardupilotmega::ParamAck"]],["impl Freeze for AutotuneAxis",1,["mavlink::ardupilotmega::AutotuneAxis"]],["impl Freeze for MagCalStatus",1,["mavlink::ardupilotmega::MagCalStatus"]],["impl Freeze for AisFlags",1,["mavlink::ardupilotmega::AisFlags"]],["impl Freeze for MavEventErrorReason",1,["mavlink::ardupilotmega::MavEventErrorReason"]],["impl Freeze for StorageType",1,["mavlink::ardupilotmega::StorageType"]],["impl Freeze for CopterMode",1,["mavlink::ardupilotmega::CopterMode"]],["impl Freeze for CameraStatusTypes",1,["mavlink::ardupilotmega::CameraStatusTypes"]],["impl Freeze for MavRoi",1,["mavlink::ardupilotmega::MavRoi"]],["impl Freeze for ActuatorOutputFunction",1,["mavlink::ardupilotmega::ActuatorOutputFunction"]],["impl Freeze for MavMissionType",1,["mavlink::ardupilotmega::MavMissionType"]],["impl Freeze for CanFilterOp",1,["mavlink::ardupilotmega::CanFilterOp"]],["impl Freeze for PositionTargetTypemask",1,["mavlink::ardupilotmega::PositionTargetTypemask"]],["impl Freeze for GimbalDeviceFlags",1,["mavlink::ardupilotmega::GimbalDeviceFlags"]],["impl Freeze for MavState",1,["mavlink::ardupilotmega::MavState"]],["impl Freeze for MavBatteryMode",1,["mavlink::ardupilotmega::MavBatteryMode"]],["impl Freeze for MavOdidSpeedAcc",1,["mavlink::ardupilotmega::MavOdidSpeedAcc"]],["impl Freeze for UavionixAdsbOutDynamicState",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicState"]],["impl Freeze for GimbalAxisCalibrationStatus",1,["mavlink::ardupilotmega::GimbalAxisCalibrationStatus"]],["impl Freeze for GoproRequestStatus",1,["mavlink::ardupilotmega::GoproRequestStatus"]],["impl Freeze for MavCmdDoAuxFunctionSwitchLevel",1,["mavlink::ardupilotmega::MavCmdDoAuxFunctionSwitchLevel"]],["impl Freeze for DeviceOpBustype",1,["mavlink::ardupilotmega::DeviceOpBustype"]],["impl Freeze for HilSensorUpdatedFlags",1,["mavlink::ardupilotmega::HilSensorUpdatedFlags"]],["impl Freeze for ParachuteAction",1,["mavlink::ardupilotmega::ParachuteAction"]],["impl Freeze for MavCollisionSrc",1,["mavlink::ardupilotmega::MavCollisionSrc"]],["impl Freeze for WifiConfigApResponse",1,["mavlink::ardupilotmega::WifiConfigApResponse"]],["impl Freeze for PreflightStorageMissionAction",1,["mavlink::ardupilotmega::PreflightStorageMissionAction"]],["impl Freeze for UtmFlightState",1,["mavlink::ardupilotmega::UtmFlightState"]],["impl Freeze for AdsbEmitterType",1,["mavlink::ardupilotmega::AdsbEmitterType"]],["impl Freeze for SerialControlDev",1,["mavlink::ardupilotmega::SerialControlDev"]],["impl Freeze for MavModeFlag",1,["mavlink::ardupilotmega::MavModeFlag"]],["impl Freeze for CameraTrackingTargetData",1,["mavlink::ardupilotmega::CameraTrackingTargetData"]],["impl Freeze for OrbitYawBehaviour",1,["mavlink::ardupilotmega::OrbitYawBehaviour"]],["impl Freeze for FenceAction",1,["mavlink::ardupilotmega::FenceAction"]],["impl Freeze for CellularNetworkRadioType",1,["mavlink::ardupilotmega::CellularNetworkRadioType"]],["impl Freeze for MavLandedState",1,["mavlink::ardupilotmega::MavLandedState"]],["impl Freeze for MavBatteryChargeState",1,["mavlink::ardupilotmega::MavBatteryChargeState"]],["impl Freeze for MavModeGimbal",1,["mavlink::ardupilotmega::MavModeGimbal"]],["impl Freeze for MavCollisionAction",1,["mavlink::ardupilotmega::MavCollisionAction"]],["impl Freeze for UavionixAdsbOutRfSelect",1,["mavlink::ardupilotmega::UavionixAdsbOutRfSelect"]],["impl Freeze for MavParamType",1,["mavlink::ardupilotmega::MavParamType"]],["impl Freeze for MavOdidClassEu",1,["mavlink::ardupilotmega::MavOdidClassEu"]],["impl Freeze for MavOdidStatus",1,["mavlink::ardupilotmega::MavOdidStatus"]],["impl Freeze for GoproPhotoResolution",1,["mavlink::ardupilotmega::GoproPhotoResolution"]],["impl Freeze for MavMissionResult",1,["mavlink::ardupilotmega::MavMissionResult"]],["impl Freeze for GimbalManagerCapFlags",1,["mavlink::ardupilotmega::GimbalManagerCapFlags"]],["impl Freeze for SerialControlFlag",1,["mavlink::ardupilotmega::SerialControlFlag"]],["impl Freeze for VideoStreamStatusFlags",1,["mavlink::ardupilotmega::VideoStreamStatusFlags"]],["impl Freeze for GripperActions",1,["mavlink::ardupilotmega::GripperActions"]],["impl Freeze for CameraZoomType",1,["mavlink::ardupilotmega::CameraZoomType"]],["impl Freeze for MavFtpOpcode",1,["mavlink::ardupilotmega::MavFtpOpcode"]],["impl Freeze for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Freeze for AdsbAltitudeType",1,["mavlink::ardupilotmega::AdsbAltitudeType"]],["impl Freeze for AccelcalVehiclePos",1,["mavlink::ardupilotmega::AccelcalVehiclePos"]],["impl Freeze for MavGoto",1,["mavlink::ardupilotmega::MavGoto"]],["impl Freeze for GimbalAxisCalibrationRequired",1,["mavlink::ardupilotmega::GimbalAxisCalibrationRequired"]],["impl Freeze for RoverMode",1,["mavlink::ardupilotmega::RoverMode"]],["impl Freeze for UavionixAdsbOutCfgAircraftSize",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgAircraftSize"]],["impl Freeze for CameraTrackingMode",1,["mavlink::ardupilotmega::CameraTrackingMode"]],["impl Freeze for CellularConfigResponse",1,["mavlink::ardupilotmega::CellularConfigResponse"]],["impl Freeze for MavOdidCategoryEu",1,["mavlink::ardupilotmega::MavOdidCategoryEu"]],["impl Freeze for EscFailureFlags",1,["mavlink::ardupilotmega::EscFailureFlags"]],["impl Freeze for MavCmd",1,["mavlink::ardupilotmega::MavCmd"]],["impl Freeze for MavProtocolCapability",1,["mavlink::ardupilotmega::MavProtocolCapability"]],["impl Freeze for ActuatorConfiguration",1,["mavlink::ardupilotmega::ActuatorConfiguration"]],["impl Freeze for MavSensorOrientation",1,["mavlink::ardupilotmega::MavSensorOrientation"]],["impl Freeze for MavCmdAck",1,["mavlink::ardupilotmega::MavCmdAck"]],["impl Freeze for MavVtolState",1,["mavlink::ardupilotmega::MavVtolState"]],["impl Freeze for GoproCommand",1,["mavlink::ardupilotmega::GoproCommand"]],["impl Freeze for LimitModule",1,["mavlink::ardupilotmega::LimitModule"]],["impl Freeze for FailureType",1,["mavlink::ardupilotmega::FailureType"]],["impl Freeze for FenceBreach",1,["mavlink::ardupilotmega::FenceBreach"]],["impl Freeze for MavResult",1,["mavlink::ardupilotmega::MavResult"]],["impl Freeze for MavArmAuthDeniedReason",1,["mavlink::ardupilotmega::MavArmAuthDeniedReason"]],["impl Freeze for MissionState",1,["mavlink::ardupilotmega::MissionState"]],["impl Freeze for RallyFlags",1,["mavlink::ardupilotmega::RallyFlags"]],["impl Freeze for GoproHeartbeatFlags",1,["mavlink::ardupilotmega::GoproHeartbeatFlags"]],["impl Freeze for MavBatteryFunction",1,["mavlink::ardupilotmega::MavBatteryFunction"]],["impl Freeze for MavlinkDataStreamType",1,["mavlink::ardupilotmega::MavlinkDataStreamType"]],["impl Freeze for AttitudeTargetTypemask",1,["mavlink::ardupilotmega::AttitudeTargetTypemask"]],["impl Freeze for AisType",1,["mavlink::ardupilotmega::AisType"]],["impl Freeze for LimitsState",1,["mavlink::ardupilotmega::LimitsState"]],["impl Freeze for MavMode",1,["mavlink::ardupilotmega::MavMode"]],["impl Freeze for MavOdidClassificationType",1,["mavlink::ardupilotmega::MavOdidClassificationType"]],["impl Freeze for FenceMitigate",1,["mavlink::ardupilotmega::FenceMitigate"]],["impl Freeze for MavOdidOperatorIdType",1,["mavlink::ardupilotmega::MavOdidOperatorIdType"]],["impl Freeze for GoproCaptureMode",1,["mavlink::ardupilotmega::GoproCaptureMode"]],["impl Freeze for CompMetadataType",1,["mavlink::ardupilotmega::CompMetadataType"]],["impl Freeze for GoproHeartbeatStatus",1,["mavlink::ardupilotmega::GoproHeartbeatStatus"]],["impl Freeze for CameraCapFlags",1,["mavlink::ardupilotmega::CameraCapFlags"]],["impl Freeze for GoproProtuneExposure",1,["mavlink::ardupilotmega::GoproProtuneExposure"]],["impl Freeze for MavRemoteLogDataBlockCommands",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockCommands"]],["impl Freeze for MavRemoteLogDataBlockStatuses",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockStatuses"]],["impl Freeze for DeepstallStage",1,["mavlink::ardupilotmega::DeepstallStage"]],["impl Freeze for OsdParamConfigError",1,["mavlink::ardupilotmega::OsdParamConfigError"]],["impl Freeze for MavAutopilot",1,["mavlink::ardupilotmega::MavAutopilot"]],["impl Freeze for MavCollisionThreatLevel",1,["mavlink::ardupilotmega::MavCollisionThreatLevel"]],["impl Freeze for MavDistanceSensor",1,["mavlink::ardupilotmega::MavDistanceSensor"]],["impl Freeze for FirmwareVersionType",1,["mavlink::ardupilotmega::FirmwareVersionType"]],["impl Freeze for MavWinchStatusFlag",1,["mavlink::ardupilotmega::MavWinchStatusFlag"]],["impl Freeze for UtmDataAvailFlags",1,["mavlink::ardupilotmega::UtmDataAvailFlags"]],["impl Freeze for MavOdidHorAcc",1,["mavlink::ardupilotmega::MavOdidHorAcc"]],["impl Freeze for MavOdidTimeAcc",1,["mavlink::ardupilotmega::MavOdidTimeAcc"]],["impl Freeze for MavGeneratorStatusFlag",1,["mavlink::ardupilotmega::MavGeneratorStatusFlag"]],["impl Freeze for MavOdidUaType",1,["mavlink::ardupilotmega::MavOdidUaType"]],["impl Freeze for StorageUsageFlag",1,["mavlink::ardupilotmega::StorageUsageFlag"]],["impl Freeze for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Freeze for StorageStatus",1,["mavlink::ardupilotmega::StorageStatus"]],["impl Freeze for EkfStatusFlags",1,["mavlink::ardupilotmega::EkfStatusFlags"]],["impl Freeze for HighresImuUpdatedFlags",1,["mavlink::ardupilotmega::HighresImuUpdatedFlags"]],["impl Freeze for IcarousTrackBandTypes",1,["mavlink::ardupilotmega::IcarousTrackBandTypes"]],["impl Freeze for CameraMode",1,["mavlink::ardupilotmega::CameraMode"]],["impl Freeze for PidTuningAxis",1,["mavlink::ardupilotmega::PidTuningAxis"]],["impl Freeze for RcType",1,["mavlink::ardupilotmega::RcType"]],["impl Freeze for GpsInputIgnoreFlags",1,["mavlink::ardupilotmega::GpsInputIgnoreFlags"]],["impl Freeze for RtkBaselineCoordinateSystem",1,["mavlink::ardupilotmega::RtkBaselineCoordinateSystem"]],["impl Freeze for EscConnectionType",1,["mavlink::ardupilotmega::EscConnectionType"]],["impl Freeze for CameraTrackingStatusFlags",1,["mavlink::ardupilotmega::CameraTrackingStatusFlags"]],["impl Freeze for MavBatteryFault",1,["mavlink::ardupilotmega::MavBatteryFault"]],["impl Freeze for GimbalDeviceErrorFlags",1,["mavlink::ardupilotmega::GimbalDeviceErrorFlags"]],["impl Freeze for WifiConfigApMode",1,["mavlink::ardupilotmega::WifiConfigApMode"]],["impl Freeze for MavMountMode",1,["mavlink::ardupilotmega::MavMountMode"]],["impl Freeze for MavSysStatusSensor",1,["mavlink::ardupilotmega::MavSysStatusSensor"]],["impl Freeze for MavSeverity",1,["mavlink::ardupilotmega::MavSeverity"]],["impl Freeze for GoproCharging",1,["mavlink::ardupilotmega::GoproCharging"]],["impl Freeze for MavSysStatusSensorExtended",1,["mavlink::ardupilotmega::MavSysStatusSensorExtended"]],["impl Freeze for SubMode",1,["mavlink::ardupilotmega::SubMode"]],["impl Freeze for MavTunnelPayloadType",1,["mavlink::ardupilotmega::MavTunnelPayloadType"]],["impl Freeze for MavParamExtType",1,["mavlink::ardupilotmega::MavParamExtType"]],["impl Freeze for GpsFixType",1,["mavlink::ardupilotmega::GpsFixType"]],["impl Freeze for AdsbFlags",1,["mavlink::ardupilotmega::AdsbFlags"]],["impl Freeze for GoproFieldOfView",1,["mavlink::ardupilotmega::GoproFieldOfView"]],["impl Freeze for TrackerMode",1,["mavlink::ardupilotmega::TrackerMode"]],["impl Freeze for GimbalDeviceCapFlags",1,["mavlink::ardupilotmega::GimbalDeviceCapFlags"]],["impl Freeze for UavcanNodeMode",1,["mavlink::ardupilotmega::UavcanNodeMode"]],["impl Freeze for EstimatorStatusFlags",1,["mavlink::ardupilotmega::EstimatorStatusFlags"]],["impl Freeze for MavOdidVerAcc",1,["mavlink::ardupilotmega::MavOdidVerAcc"]],["impl Freeze for GimbalAxis",1,["mavlink::ardupilotmega::GimbalAxis"]],["impl Freeze for LandingTargetType",1,["mavlink::ardupilotmega::LandingTargetType"]],["impl Freeze for MavEventCurrentSequenceFlags",1,["mavlink::ardupilotmega::MavEventCurrentSequenceFlags"]],["impl Freeze for MotorTestOrder",1,["mavlink::ardupilotmega::MotorTestOrder"]],["impl Freeze for VideoStreamType",1,["mavlink::ardupilotmega::VideoStreamType"]],["impl Freeze for GoproProtuneGain",1,["mavlink::ardupilotmega::GoproProtuneGain"]],["impl Freeze for MavFtpErr",1,["mavlink::ardupilotmega::MavFtpErr"]],["impl Freeze for MotorTestThrottleType",1,["mavlink::ardupilotmega::MotorTestThrottleType"]],["impl Freeze for UavionixAdsbOutDynamicGpsFix",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicGpsFix"]],["impl Freeze for GoproVideoSettingsFlags",1,["mavlink::ardupilotmega::GoproVideoSettingsFlags"]],["impl Freeze for MavOdidArmStatus",1,["mavlink::ardupilotmega::MavOdidArmStatus"]],["impl Freeze for HeadingType",1,["mavlink::ardupilotmega::HeadingType"]],["impl Freeze for GoproModel",1,["mavlink::ardupilotmega::GoproModel"]],["impl Freeze for MavOdidAuthType",1,["mavlink::ardupilotmega::MavOdidAuthType"]],["impl Freeze for GoproProtuneWhiteBalance",1,["mavlink::ardupilotmega::GoproProtuneWhiteBalance"]],["impl Freeze for UavionixAdsbRfHealth",1,["mavlink::ardupilotmega::UavionixAdsbRfHealth"]],["impl Freeze for SpeedType",1,["mavlink::ardupilotmega::SpeedType"]],["impl Freeze for OsdParamConfigType",1,["mavlink::ardupilotmega::OsdParamConfigType"]],["impl Freeze for MavOdidHeightRef",1,["mavlink::ardupilotmega::MavOdidHeightRef"]],["impl Freeze for GoproProtuneColour",1,["mavlink::ardupilotmega::GoproProtuneColour"]],["impl Freeze for CellularNetworkFailedReason",1,["mavlink::ardupilotmega::CellularNetworkFailedReason"]],["impl Freeze for ScriptingCmd",1,["mavlink::ardupilotmega::ScriptingCmd"]],["impl Freeze for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Freeze for COMPONENT_INFORMATION_DATA",1,["mavlink::ardupilotmega::COMPONENT_INFORMATION_DATA"]],["impl Freeze for OSD_PARAM_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_DATA"]],["impl Freeze for MISSION_ITEM_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_DATA"]],["impl Freeze for RADIO_STATUS_DATA",1,["mavlink::ardupilotmega::RADIO_STATUS_DATA"]],["impl Freeze for FLIGHT_INFORMATION_DATA",1,["mavlink::ardupilotmega::FLIGHT_INFORMATION_DATA"]],["impl Freeze for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::ardupilotmega::HIL_RC_INPUTS_RAW_DATA"]],["impl Freeze for VIBRATION_DATA",1,["mavlink::ardupilotmega::VIBRATION_DATA"]],["impl Freeze for BATTERY_STATUS_DATA",1,["mavlink::ardupilotmega::BATTERY_STATUS_DATA"]],["impl Freeze for WIND_COV_DATA",1,["mavlink::ardupilotmega::WIND_COV_DATA"]],["impl Freeze for CAMERA_INFORMATION_DATA",1,["mavlink::ardupilotmega::CAMERA_INFORMATION_DATA"]],["impl Freeze for RAW_IMU_DATA",1,["mavlink::ardupilotmega::RAW_IMU_DATA"]],["impl Freeze for GPS_RTK_DATA",1,["mavlink::ardupilotmega::GPS_RTK_DATA"]],["impl Freeze for RAW_RPM_DATA",1,["mavlink::ardupilotmega::RAW_RPM_DATA"]],["impl Freeze for TERRAIN_CHECK_DATA",1,["mavlink::ardupilotmega::TERRAIN_CHECK_DATA"]],["impl Freeze for REQUEST_EVENT_DATA",1,["mavlink::ardupilotmega::REQUEST_EVENT_DATA"]],["impl Freeze for REQUEST_DATA_STREAM_DATA",1,["mavlink::ardupilotmega::REQUEST_DATA_STREAM_DATA"]],["impl Freeze for HWSTATUS_DATA",1,["mavlink::ardupilotmega::HWSTATUS_DATA"]],["impl Freeze for FOLLOW_TARGET_DATA",1,["mavlink::ardupilotmega::FOLLOW_TARGET_DATA"]],["impl Freeze for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_COV_DATA"]],["impl Freeze for UAVCAN_NODE_INFO_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_INFO_DATA"]],["impl Freeze for AOA_SSA_DATA",1,["mavlink::ardupilotmega::AOA_SSA_DATA"]],["impl Freeze for ISBD_LINK_STATUS_DATA",1,["mavlink::ardupilotmega::ISBD_LINK_STATUS_DATA"]],["impl Freeze for LED_CONTROL_DATA",1,["mavlink::ardupilotmega::LED_CONTROL_DATA"]],["impl Freeze for WIFI_CONFIG_AP_DATA",1,["mavlink::ardupilotmega::WIFI_CONFIG_AP_DATA"]],["impl Freeze for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Freeze for EKF_STATUS_REPORT_DATA",1,["mavlink::ardupilotmega::EKF_STATUS_REPORT_DATA"]],["impl Freeze for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Freeze for GIMBAL_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_REPORT_DATA"]],["impl Freeze for SYS_STATUS_DATA",1,["mavlink::ardupilotmega::SYS_STATUS_DATA"]],["impl Freeze for MAG_CAL_PROGRESS_DATA",1,["mavlink::ardupilotmega::MAG_CAL_PROGRESS_DATA"]],["impl Freeze for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::ardupilotmega::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Freeze for PID_TUNING_DATA",1,["mavlink::ardupilotmega::PID_TUNING_DATA"]],["impl Freeze for HIL_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_CONTROLS_DATA"]],["impl Freeze for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Freeze for CAN_FRAME_DATA",1,["mavlink::ardupilotmega::CAN_FRAME_DATA"]],["impl Freeze for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Freeze for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_COV_DATA"]],["impl Freeze for SET_MAG_OFFSETS_DATA",1,["mavlink::ardupilotmega::SET_MAG_OFFSETS_DATA"]],["impl Freeze for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_SPEED_ESTIMATE_DATA"]],["impl Freeze for MOUNT_CONTROL_DATA",1,["mavlink::ardupilotmega::MOUNT_CONTROL_DATA"]],["impl Freeze for DEEPSTALL_DATA",1,["mavlink::ardupilotmega::DEEPSTALL_DATA"]],["impl Freeze for PARAM_EXT_ACK_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_ACK_DATA"]],["impl Freeze for COLLISION_DATA",1,["mavlink::ardupilotmega::COLLISION_DATA"]],["impl Freeze for GIMBAL_TORQUE_CMD_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_TORQUE_CMD_REPORT_DATA"]],["impl Freeze for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::GPS_GLOBAL_ORIGIN_DATA"]],["impl Freeze for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Freeze for EFI_STATUS_DATA",1,["mavlink::ardupilotmega::EFI_STATUS_DATA"]],["impl Freeze for HIL_STATE_DATA",1,["mavlink::ardupilotmega::HIL_STATE_DATA"]],["impl Freeze for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::ardupilotmega::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Freeze for MCU_STATUS_DATA",1,["mavlink::ardupilotmega::MCU_STATUS_DATA"]],["impl Freeze for PARAM_MAP_RC_DATA",1,["mavlink::ardupilotmega::PARAM_MAP_RC_DATA"]],["impl Freeze for HEARTBEAT_DATA",1,["mavlink::ardupilotmega::HEARTBEAT_DATA"]],["impl Freeze for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Freeze for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::ardupilotmega::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Freeze for ODOMETRY_DATA",1,["mavlink::ardupilotmega::ODOMETRY_DATA"]],["impl Freeze for DISTANCE_SENSOR_DATA",1,["mavlink::ardupilotmega::DISTANCE_SENSOR_DATA"]],["impl Freeze for OSD_PARAM_SHOW_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_REPLY_DATA"]],["impl Freeze for GOPRO_SET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_REQUEST_DATA"]],["impl Freeze for ESC_INFO_DATA",1,["mavlink::ardupilotmega::ESC_INFO_DATA"]],["impl Freeze for MANUAL_SETPOINT_DATA",1,["mavlink::ardupilotmega::MANUAL_SETPOINT_DATA"]],["impl Freeze for LOG_DATA_DATA",1,["mavlink::ardupilotmega::LOG_DATA_DATA"]],["impl Freeze for CAMERA_FEEDBACK_DATA",1,["mavlink::ardupilotmega::CAMERA_FEEDBACK_DATA"]],["impl Freeze for FENCE_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_POINT_DATA"]],["impl Freeze for SUPPORTED_TUNES_DATA",1,["mavlink::ardupilotmega::SUPPORTED_TUNES_DATA"]],["impl Freeze for LOGGING_ACK_DATA",1,["mavlink::ardupilotmega::LOGGING_ACK_DATA"]],["impl Freeze for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_ESTIMATE_DATA"]],["impl Freeze for AHRS_DATA",1,["mavlink::ardupilotmega::AHRS_DATA"]],["impl Freeze for MESSAGE_INTERVAL_DATA",1,["mavlink::ardupilotmega::MESSAGE_INTERVAL_DATA"]],["impl Freeze for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_OVERRIDE_DATA"]],["impl Freeze for LOG_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_LIST_DATA"]],["impl Freeze for RESOURCE_REQUEST_DATA",1,["mavlink::ardupilotmega::RESOURCE_REQUEST_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Freeze for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::ardupilotmega::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Freeze for LOCAL_POSITION_NED_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_DATA"]],["impl Freeze for DIGICAM_CONFIGURE_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONFIGURE_DATA"]],["impl Freeze for ESC_TELEMETRY_9_TO_12_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_9_TO_12_DATA"]],["impl Freeze for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Freeze for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Freeze for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_ALLOWED_AREA_DATA"]],["impl Freeze for COMMAND_INT_DATA",1,["mavlink::ardupilotmega::COMMAND_INT_DATA"]],["impl Freeze for GOPRO_GET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_REQUEST_DATA"]],["impl Freeze for CAN_FILTER_MODIFY_DATA",1,["mavlink::ardupilotmega::CAN_FILTER_MODIFY_DATA"]],["impl Freeze for STATUSTEXT_DATA",1,["mavlink::ardupilotmega::STATUSTEXT_DATA"]],["impl Freeze for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::ardupilotmega::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Freeze for MISSION_ITEM_INT_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_INT_DATA"]],["impl Freeze for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"]],["impl Freeze for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Freeze for MISSION_REQUEST_INT_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_INT_DATA"]],["impl Freeze for STORAGE_INFORMATION_DATA",1,["mavlink::ardupilotmega::STORAGE_INFORMATION_DATA"]],["impl Freeze for UTM_GLOBAL_POSITION_DATA",1,["mavlink::ardupilotmega::UTM_GLOBAL_POSITION_DATA"]],["impl Freeze for MEMINFO_DATA",1,["mavlink::ardupilotmega::MEMINFO_DATA"]],["impl Freeze for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Freeze for GPS2_RAW_DATA",1,["mavlink::ardupilotmega::GPS2_RAW_DATA"]],["impl Freeze for RALLY_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_POINT_DATA"]],["impl Freeze for AP_ADC_DATA",1,["mavlink::ardupilotmega::AP_ADC_DATA"]],["impl Freeze for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Freeze for LOGGING_DATA_ACKED_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_ACKED_DATA"]],["impl Freeze for RC_CHANNELS_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_DATA"]],["impl Freeze for NAMED_VALUE_INT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_INT_DATA"]],["impl Freeze for LINK_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::LINK_NODE_STATUS_DATA"]],["impl Freeze for NAMED_VALUE_FLOAT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_FLOAT_DATA"]],["impl Freeze for SERVO_OUTPUT_RAW_DATA",1,["mavlink::ardupilotmega::SERVO_OUTPUT_RAW_DATA"]],["impl Freeze for CELLULAR_STATUS_DATA",1,["mavlink::ardupilotmega::CELLULAR_STATUS_DATA"]],["impl Freeze for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Freeze for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::ardupilotmega::DEBUG_FLOAT_ARRAY_DATA"]],["impl Freeze for POWER_STATUS_DATA",1,["mavlink::ardupilotmega::POWER_STATUS_DATA"]],["impl Freeze for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Freeze for BUTTON_CHANGE_DATA",1,["mavlink::ardupilotmega::BUTTON_CHANGE_DATA"]],["impl Freeze for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::ardupilotmega::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Freeze for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_READ_DATA"]],["impl Freeze for MOUNT_STATUS_DATA",1,["mavlink::ardupilotmega::MOUNT_STATUS_DATA"]],["impl Freeze for MISSION_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_CURRENT_DATA"]],["impl Freeze for DEBUG_VECT_DATA",1,["mavlink::ardupilotmega::DEBUG_VECT_DATA"]],["impl Freeze for CAMERA_FOV_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_FOV_STATUS_DATA"]],["impl Freeze for SCALED_PRESSURE3_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE3_DATA"]],["impl Freeze for MISSION_ITEM_REACHED_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_REACHED_DATA"]],["impl Freeze for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Freeze for PARAM_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_VALUE_DATA"]],["impl Freeze for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VICON_POSITION_ESTIMATE_DATA"]],["impl Freeze for TIMESYNC_DATA",1,["mavlink::ardupilotmega::TIMESYNC_DATA"]],["impl Freeze for MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::MANUAL_CONTROL_DATA"]],["impl Freeze for MEMORY_VECT_DATA",1,["mavlink::ardupilotmega::MEMORY_VECT_DATA"]],["impl Freeze for OBSTACLE_DISTANCE_3D_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_3D_DATA"]],["impl Freeze for COMPONENT_METADATA_DATA",1,["mavlink::ardupilotmega::COMPONENT_METADATA_DATA"]],["impl Freeze for CAMERA_SETTINGS_DATA",1,["mavlink::ardupilotmega::CAMERA_SETTINGS_DATA"]],["impl Freeze for MAG_CAL_REPORT_DATA",1,["mavlink::ardupilotmega::MAG_CAL_REPORT_DATA"]],["impl Freeze for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Freeze for ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::ATTITUDE_TARGET_DATA"]],["impl Freeze for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Freeze for WINCH_STATUS_DATA",1,["mavlink::ardupilotmega::WINCH_STATUS_DATA"]],["impl Freeze for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Freeze for ICAROUS_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::ICAROUS_HEARTBEAT_DATA"]],["impl Freeze for GOPRO_GET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_RESPONSE_DATA"]],["impl Freeze for GPS_RAW_INT_DATA",1,["mavlink::ardupilotmega::GPS_RAW_INT_DATA"]],["impl Freeze for PING_DATA",1,["mavlink::ardupilotmega::PING_DATA"]],["impl Freeze for ATTITUDE_QUATERNION_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_DATA"]],["impl Freeze for ESC_TELEMETRY_1_TO_4_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_1_TO_4_DATA"]],["impl Freeze for HERELINK_VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::HERELINK_VIDEO_STREAM_INFORMATION_DATA"]],["impl Freeze for COMMAND_LONG_DATA",1,["mavlink::ardupilotmega::COMMAND_LONG_DATA"]],["impl Freeze for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Freeze for SCALED_IMU2_DATA",1,["mavlink::ardupilotmega::SCALED_IMU2_DATA"]],["impl Freeze for AHRS2_DATA",1,["mavlink::ardupilotmega::AHRS2_DATA"]],["impl Freeze for ATT_POS_MOCAP_DATA",1,["mavlink::ardupilotmega::ATT_POS_MOCAP_DATA"]],["impl Freeze for OPTICAL_FLOW_RAD_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_RAD_DATA"]],["impl Freeze for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::ardupilotmega::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Freeze for MISSION_ACK_DATA",1,["mavlink::ardupilotmega::MISSION_ACK_DATA"]],["impl Freeze for PARAM_SET_DATA",1,["mavlink::ardupilotmega::PARAM_SET_DATA"]],["impl Freeze for DEBUG_DATA",1,["mavlink::ardupilotmega::DEBUG_DATA"]],["impl Freeze for AUTH_KEY_DATA",1,["mavlink::ardupilotmega::AUTH_KEY_DATA"]],["impl Freeze for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Freeze for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::ardupilotmega::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Freeze for MISSION_COUNT_DATA",1,["mavlink::ardupilotmega::MISSION_COUNT_DATA"]],["impl Freeze for ADSB_VEHICLE_DATA",1,["mavlink::ardupilotmega::ADSB_VEHICLE_DATA"]],["impl Freeze for ENCAPSULATED_DATA_DATA",1,["mavlink::ardupilotmega::ENCAPSULATED_DATA_DATA"]],["impl Freeze for SCALED_PRESSURE_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE_DATA"]],["impl Freeze for MOUNT_CONFIGURE_DATA",1,["mavlink::ardupilotmega::MOUNT_CONFIGURE_DATA"]],["impl Freeze for OSD_PARAM_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_REPLY_DATA"]],["impl Freeze for SETUP_SIGNING_DATA",1,["mavlink::ardupilotmega::SETUP_SIGNING_DATA"]],["impl Freeze for DATA32_DATA",1,["mavlink::ardupilotmega::DATA32_DATA"]],["impl Freeze for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Freeze for TUNNEL_DATA",1,["mavlink::ardupilotmega::TUNNEL_DATA"]],["impl Freeze for DATA96_DATA",1,["mavlink::ardupilotmega::DATA96_DATA"]],["impl Freeze for ESTIMATOR_STATUS_DATA",1,["mavlink::ardupilotmega::ESTIMATOR_STATUS_DATA"]],["impl Freeze for ALTITUDE_DATA",1,["mavlink::ardupilotmega::ALTITUDE_DATA"]],["impl Freeze for GPS_RTCM_DATA_DATA",1,["mavlink::ardupilotmega::GPS_RTCM_DATA_DATA"]],["impl Freeze for SCALED_IMU3_DATA",1,["mavlink::ardupilotmega::SCALED_IMU3_DATA"]],["impl Freeze for AUTOPILOT_VERSION_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_DATA"]],["impl Freeze for SET_HOME_POSITION_DATA",1,["mavlink::ardupilotmega::SET_HOME_POSITION_DATA"]],["impl Freeze for GIMBAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_CONTROL_DATA"]],["impl Freeze for GOPRO_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::GOPRO_HEARTBEAT_DATA"]],["impl Freeze for HIL_STATE_QUATERNION_DATA",1,["mavlink::ardupilotmega::HIL_STATE_QUATERNION_DATA"]],["impl Freeze for TERRAIN_REPORT_DATA",1,["mavlink::ardupilotmega::TERRAIN_REPORT_DATA"]],["impl Freeze for WIND_DATA",1,["mavlink::ardupilotmega::WIND_DATA"]],["impl Freeze for RAW_PRESSURE_DATA",1,["mavlink::ardupilotmega::RAW_PRESSURE_DATA"]],["impl Freeze for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Freeze for CUBEPILOT_FIRMWARE_UPDATE_START_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_START_DATA"]],["impl Freeze for GENERATOR_STATUS_DATA",1,["mavlink::ardupilotmega::GENERATOR_STATUS_DATA"]],["impl Freeze for RADIO_DATA",1,["mavlink::ardupilotmega::RADIO_DATA"]],["impl Freeze for DEVICE_OP_READ_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_DATA"]],["impl Freeze for AIS_VESSEL_DATA",1,["mavlink::ardupilotmega::AIS_VESSEL_DATA"]],["impl Freeze for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Freeze for PARAM_EXT_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_VALUE_DATA"]],["impl Freeze for UAVCAN_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_STATUS_DATA"]],["impl Freeze for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Freeze for WATER_DEPTH_DATA",1,["mavlink::ardupilotmega::WATER_DEPTH_DATA"]],["impl Freeze for SIM_STATE_DATA",1,["mavlink::ardupilotmega::SIM_STATE_DATA"]],["impl Freeze for TERRAIN_REQUEST_DATA",1,["mavlink::ardupilotmega::TERRAIN_REQUEST_DATA"]],["impl Freeze for PARAM_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_READ_DATA"]],["impl Freeze for GLOBAL_POSITION_INT_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_DATA"]],["impl Freeze for PLAY_TUNE_V2_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_V2_DATA"]],["impl Freeze for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Freeze for SYSTEM_TIME_DATA",1,["mavlink::ardupilotmega::SYSTEM_TIME_DATA"]],["impl Freeze for GPS2_RTK_DATA",1,["mavlink::ardupilotmega::GPS2_RTK_DATA"]],["impl Freeze for HIGH_LATENCY2_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY2_DATA"]],["impl Freeze for MOUNT_ORIENTATION_DATA",1,["mavlink::ardupilotmega::MOUNT_ORIENTATION_DATA"]],["impl Freeze for RC_CHANNELS_RAW_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_RAW_DATA"]],["impl Freeze for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_STATUS_DATA"]],["impl Freeze for SENSOR_OFFSETS_DATA",1,["mavlink::ardupilotmega::SENSOR_OFFSETS_DATA"]],["impl Freeze for FENCE_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_FETCH_POINT_DATA"]],["impl Freeze for LIMITS_STATUS_DATA",1,["mavlink::ardupilotmega::LIMITS_STATUS_DATA"]],["impl Freeze for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Freeze for DATA64_DATA",1,["mavlink::ardupilotmega::DATA64_DATA"]],["impl Freeze for HOME_POSITION_DATA",1,["mavlink::ardupilotmega::HOME_POSITION_DATA"]],["impl Freeze for LOG_REQUEST_DATA_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_DATA_DATA"]],["impl Freeze for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Freeze for AUTOPILOT_VERSION_REQUEST_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_REQUEST_DATA"]],["impl Freeze for ATTITUDE_DATA",1,["mavlink::ardupilotmega::ATTITUDE_DATA"]],["impl Freeze for REMOTE_LOG_BLOCK_STATUS_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_BLOCK_STATUS_DATA"]],["impl Freeze for ADAP_TUNING_DATA",1,["mavlink::ardupilotmega::ADAP_TUNING_DATA"]],["impl Freeze for PARAM_EXT_SET_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_SET_DATA"]],["impl Freeze for HIL_OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::HIL_OPTICAL_FLOW_DATA"]],["impl Freeze for RC_CHANNELS_SCALED_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_SCALED_DATA"]],["impl Freeze for EXTENDED_SYS_STATE_DATA",1,["mavlink::ardupilotmega::EXTENDED_SYS_STATE_DATA"]],["impl Freeze for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Freeze for LOG_REQUEST_END_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_END_DATA"]],["impl Freeze for OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_DATA"]],["impl Freeze for COMMAND_ACK_DATA",1,["mavlink::ardupilotmega::COMMAND_ACK_DATA"]],["impl Freeze for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Freeze for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Freeze for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Freeze for MISSION_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_LIST_DATA"]],["impl Freeze for PARAM_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_LIST_DATA"]],["impl Freeze for MISSION_SET_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_SET_CURRENT_DATA"]],["impl Freeze for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::ardupilotmega::CONTROL_SYSTEM_STATE_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Freeze for SMART_BATTERY_INFO_DATA",1,["mavlink::ardupilotmega::SMART_BATTERY_INFO_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Freeze for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_COV_DATA"]],["impl Freeze for VIDEO_STREAM_STATUS_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_STATUS_DATA"]],["impl Freeze for SET_MODE_DATA",1,["mavlink::ardupilotmega::SET_MODE_DATA"]],["impl Freeze for HERELINK_TELEM_DATA",1,["mavlink::ardupilotmega::HERELINK_TELEM_DATA"]],["impl Freeze for GPS_INJECT_DATA_DATA",1,["mavlink::ardupilotmega::GPS_INJECT_DATA_DATA"]],["impl Freeze for VFR_HUD_DATA",1,["mavlink::ardupilotmega::VFR_HUD_DATA"]],["impl Freeze for HIGH_LATENCY_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY_DATA"]],["impl Freeze for DIGICAM_CONTROL_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONTROL_DATA"]],["impl Freeze for WHEEL_DISTANCE_DATA",1,["mavlink::ardupilotmega::WHEEL_DISTANCE_DATA"]],["impl Freeze for COMMAND_CANCEL_DATA",1,["mavlink::ardupilotmega::COMMAND_CANCEL_DATA"]],["impl Freeze for SIMSTATE_DATA",1,["mavlink::ardupilotmega::SIMSTATE_DATA"]],["impl Freeze for DATA16_DATA",1,["mavlink::ardupilotmega::DATA16_DATA"]],["impl Freeze for MISSION_CLEAR_ALL_DATA",1,["mavlink::ardupilotmega::MISSION_CLEAR_ALL_DATA"]],["impl Freeze for REMOTE_LOG_DATA_BLOCK_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_DATA_BLOCK_DATA"]],["impl Freeze for RPM_DATA",1,["mavlink::ardupilotmega::RPM_DATA"]],["impl Freeze for VISION_POSITION_DELTA_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_DELTA_DATA"]],["impl Freeze for AHRS3_DATA",1,["mavlink::ardupilotmega::AHRS3_DATA"]],["impl Freeze for OSD_PARAM_SHOW_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_DATA"]],["impl Freeze for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Freeze for SET_ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ATTITUDE_TARGET_DATA"]],["impl Freeze for GOPRO_SET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_RESPONSE_DATA"]],["impl Freeze for SCALED_PRESSURE2_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE2_DATA"]],["impl Freeze for HIL_SENSOR_DATA",1,["mavlink::ardupilotmega::HIL_SENSOR_DATA"]],["impl Freeze for CANFD_FRAME_DATA",1,["mavlink::ardupilotmega::CANFD_FRAME_DATA"]],["impl Freeze for DATA_STREAM_DATA",1,["mavlink::ardupilotmega::DATA_STREAM_DATA"]],["impl Freeze for HIGHRES_IMU_DATA",1,["mavlink::ardupilotmega::HIGHRES_IMU_DATA"]],["impl Freeze for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Freeze for MISSION_REQUEST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_DATA"]],["impl Freeze for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_INFORMATION_DATA"]],["impl Freeze for SCALED_IMU_DATA",1,["mavlink::ardupilotmega::SCALED_IMU_DATA"]],["impl Freeze for DEVICE_OP_WRITE_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_DATA"]],["impl Freeze for HYGROMETER_SENSOR_DATA",1,["mavlink::ardupilotmega::HYGROMETER_SENSOR_DATA"]],["impl Freeze for CUBEPILOT_RAW_RC_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_RAW_RC_DATA"]],["impl Freeze for GPS_STATUS_DATA",1,["mavlink::ardupilotmega::GPS_STATUS_DATA"]],["impl Freeze for DEVICE_OP_WRITE_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_REPLY_DATA"]],["impl Freeze for CAMERA_TRIGGER_DATA",1,["mavlink::ardupilotmega::CAMERA_TRIGGER_DATA"]],["impl Freeze for SERIAL_CONTROL_DATA",1,["mavlink::ardupilotmega::SERIAL_CONTROL_DATA"]],["impl Freeze for OBSTACLE_DISTANCE_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_DATA"]],["impl Freeze for FENCE_STATUS_DATA",1,["mavlink::ardupilotmega::FENCE_STATUS_DATA"]],["impl Freeze for ESC_STATUS_DATA",1,["mavlink::ardupilotmega::ESC_STATUS_DATA"]],["impl Freeze for LANDING_TARGET_DATA",1,["mavlink::ardupilotmega::LANDING_TARGET_DATA"]],["impl Freeze for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Freeze for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_CAPTURE_STATUS_DATA"]],["impl Freeze for BATTERY2_DATA",1,["mavlink::ardupilotmega::BATTERY2_DATA"]],["impl Freeze for TERRAIN_DATA_DATA",1,["mavlink::ardupilotmega::TERRAIN_DATA_DATA"]],["impl Freeze for GPS_INPUT_DATA",1,["mavlink::ardupilotmega::GPS_INPUT_DATA"]],["impl Freeze for AIRSPEED_AUTOCAL_DATA",1,["mavlink::ardupilotmega::AIRSPEED_AUTOCAL_DATA"]],["impl Freeze for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::ardupilotmega::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Freeze for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Freeze for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Freeze for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::ardupilotmega::RESPONSE_EVENT_ERROR_DATA"]],["impl Freeze for LOG_ENTRY_DATA",1,["mavlink::ardupilotmega::LOG_ENTRY_DATA"]],["impl Freeze for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Freeze for LOG_ERASE_DATA",1,["mavlink::ardupilotmega::LOG_ERASE_DATA"]],["impl Freeze for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::ardupilotmega::ORBIT_EXECUTION_STATUS_DATA"]],["impl Freeze for COMPASSMOT_STATUS_DATA",1,["mavlink::ardupilotmega::COMPASSMOT_STATUS_DATA"]],["impl Freeze for HIL_GPS_DATA",1,["mavlink::ardupilotmega::HIL_GPS_DATA"]],["impl Freeze for LOGGING_DATA_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_DATA"]],["impl Freeze for PLAY_TUNE_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_DATA"]],["impl Freeze for PROTOCOL_VERSION_DATA",1,["mavlink::ardupilotmega::PROTOCOL_VERSION_DATA"]],["impl Freeze for CELLULAR_CONFIG_DATA",1,["mavlink::ardupilotmega::CELLULAR_CONFIG_DATA"]],["impl Freeze for DEVICE_OP_READ_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_REPLY_DATA"]],["impl Freeze for EVENT_DATA",1,["mavlink::ardupilotmega::EVENT_DATA"]],["impl Freeze for V2_EXTENSION_DATA",1,["mavlink::ardupilotmega::V2_EXTENSION_DATA"]],["impl Freeze for RALLY_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_FETCH_POINT_DATA"]],["impl Freeze for CAMERA_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_STATUS_DATA"]],["impl Freeze for RANGEFINDER_DATA",1,["mavlink::ardupilotmega::RANGEFINDER_DATA"]],["impl Freeze for ESC_TELEMETRY_5_TO_8_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_5_TO_8_DATA"]],["impl Freeze for MavMessage",1,["mavlink::ardupilotmega::MavMessage"]],["impl Freeze for MavType",1,["mavlink::uavionix::MavType"]],["impl Freeze for CameraMode",1,["mavlink::uavionix::CameraMode"]],["impl Freeze for CellularNetworkFailedReason",1,["mavlink::uavionix::CellularNetworkFailedReason"]],["impl Freeze for WifiConfigApMode",1,["mavlink::uavionix::WifiConfigApMode"]],["impl Freeze for WifiConfigApResponse",1,["mavlink::uavionix::WifiConfigApResponse"]],["impl Freeze for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Freeze for CellularNetworkRadioType",1,["mavlink::uavionix::CellularNetworkRadioType"]],["impl Freeze for AttitudeTargetTypemask",1,["mavlink::uavionix::AttitudeTargetTypemask"]],["impl Freeze for UavionixAdsbOutDynamicGpsFix",1,["mavlink::uavionix::UavionixAdsbOutDynamicGpsFix"]],["impl Freeze for MavBatteryFunction",1,["mavlink::uavionix::MavBatteryFunction"]],["impl Freeze for MavCollisionThreatLevel",1,["mavlink::uavionix::MavCollisionThreatLevel"]],["impl Freeze for MavModeFlagDecodePosition",1,["mavlink::uavionix::MavModeFlagDecodePosition"]],["impl Freeze for MavCollisionSrc",1,["mavlink::uavionix::MavCollisionSrc"]],["impl Freeze for PreflightStorageParameterAction",1,["mavlink::uavionix::PreflightStorageParameterAction"]],["impl Freeze for MavSysStatusSensorExtended",1,["mavlink::uavionix::MavSysStatusSensorExtended"]],["impl Freeze for MavCollisionAction",1,["mavlink::uavionix::MavCollisionAction"]],["impl Freeze for CameraCapFlags",1,["mavlink::uavionix::CameraCapFlags"]],["impl Freeze for MavBatteryChargeState",1,["mavlink::uavionix::MavBatteryChargeState"]],["impl Freeze for MavEventErrorReason",1,["mavlink::uavionix::MavEventErrorReason"]],["impl Freeze for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Freeze for MavOdidHorAcc",1,["mavlink::uavionix::MavOdidHorAcc"]],["impl Freeze for GimbalManagerFlags",1,["mavlink::uavionix::GimbalManagerFlags"]],["impl Freeze for MavGoto",1,["mavlink::uavionix::MavGoto"]],["impl Freeze for MavBatteryType",1,["mavlink::uavionix::MavBatteryType"]],["impl Freeze for MavDataStream",1,["mavlink::uavionix::MavDataStream"]],["impl Freeze for MavlinkDataStreamType",1,["mavlink::uavionix::MavlinkDataStreamType"]],["impl Freeze for MavOdidOperatorLocationType",1,["mavlink::uavionix::MavOdidOperatorLocationType"]],["impl Freeze for MavAutopilot",1,["mavlink::uavionix::MavAutopilot"]],["impl Freeze for MavOdidAuthType",1,["mavlink::uavionix::MavOdidAuthType"]],["impl Freeze for UavionixAdsbOutDynamicState",1,["mavlink::uavionix::UavionixAdsbOutDynamicState"]],["impl Freeze for MavOdidIdType",1,["mavlink::uavionix::MavOdidIdType"]],["impl Freeze for StorageUsageFlag",1,["mavlink::uavionix::StorageUsageFlag"]],["impl Freeze for FenceMitigate",1,["mavlink::uavionix::FenceMitigate"]],["impl Freeze for MavFrame",1,["mavlink::uavionix::MavFrame"]],["impl Freeze for MavMode",1,["mavlink::uavionix::MavMode"]],["impl Freeze for MavOdidUaType",1,["mavlink::uavionix::MavOdidUaType"]],["impl Freeze for MavParamExtType",1,["mavlink::uavionix::MavParamExtType"]],["impl Freeze for StorageStatus",1,["mavlink::uavionix::StorageStatus"]],["impl Freeze for AisType",1,["mavlink::uavionix::AisType"]],["impl Freeze for FenceAction",1,["mavlink::uavionix::FenceAction"]],["impl Freeze for CameraTrackingTargetData",1,["mavlink::uavionix::CameraTrackingTargetData"]],["impl Freeze for MavCmdAck",1,["mavlink::uavionix::MavCmdAck"]],["impl Freeze for MavModeFlag",1,["mavlink::uavionix::MavModeFlag"]],["impl Freeze for MavVtolState",1,["mavlink::uavionix::MavVtolState"]],["impl Freeze for VtolTransitionHeading",1,["mavlink::uavionix::VtolTransitionHeading"]],["impl Freeze for EstimatorStatusFlags",1,["mavlink::uavionix::EstimatorStatusFlags"]],["impl Freeze for UavionixAdsbOutRfSelect",1,["mavlink::uavionix::UavionixAdsbOutRfSelect"]],["impl Freeze for PrecisionLandMode",1,["mavlink::uavionix::PrecisionLandMode"]],["impl Freeze for MavEstimatorType",1,["mavlink::uavionix::MavEstimatorType"]],["impl Freeze for MavBatteryFault",1,["mavlink::uavionix::MavBatteryFault"]],["impl Freeze for HilSensorUpdatedFlags",1,["mavlink::uavionix::HilSensorUpdatedFlags"]],["impl Freeze for UavionixAdsbEmergencyStatus",1,["mavlink::uavionix::UavionixAdsbEmergencyStatus"]],["impl Freeze for GimbalDeviceCapFlags",1,["mavlink::uavionix::GimbalDeviceCapFlags"]],["impl Freeze for MavArmAuthDeniedReason",1,["mavlink::uavionix::MavArmAuthDeniedReason"]],["impl Freeze for MavComponent",1,["mavlink::uavionix::MavComponent"]],["impl Freeze for MavSysStatusSensor",1,["mavlink::uavionix::MavSysStatusSensor"]],["impl Freeze for MagCalStatus",1,["mavlink::uavionix::MagCalStatus"]],["impl Freeze for MavState",1,["mavlink::uavionix::MavState"]],["impl Freeze for MavOdidArmStatus",1,["mavlink::uavionix::MavOdidArmStatus"]],["impl Freeze for OrbitYawBehaviour",1,["mavlink::uavionix::OrbitYawBehaviour"]],["impl Freeze for MavProtocolCapability",1,["mavlink::uavionix::MavProtocolCapability"]],["impl Freeze for EscConnectionType",1,["mavlink::uavionix::EscConnectionType"]],["impl Freeze for MotorTestOrder",1,["mavlink::uavionix::MotorTestOrder"]],["impl Freeze for GpsInputIgnoreFlags",1,["mavlink::uavionix::GpsInputIgnoreFlags"]],["impl Freeze for AdsbEmitterType",1,["mavlink::uavionix::AdsbEmitterType"]],["impl Freeze for ActuatorConfiguration",1,["mavlink::uavionix::ActuatorConfiguration"]],["impl Freeze for HlFailureFlag",1,["mavlink::uavionix::HlFailureFlag"]],["impl Freeze for MavOdidDescType",1,["mavlink::uavionix::MavOdidDescType"]],["impl Freeze for MavOdidOperatorIdType",1,["mavlink::uavionix::MavOdidOperatorIdType"]],["impl Freeze for CanFilterOp",1,["mavlink::uavionix::CanFilterOp"]],["impl Freeze for VideoStreamStatusFlags",1,["mavlink::uavionix::VideoStreamStatusFlags"]],["impl Freeze for MavOdidHeightRef",1,["mavlink::uavionix::MavOdidHeightRef"]],["impl Freeze for MavDoRepositionFlags",1,["mavlink::uavionix::MavDoRepositionFlags"]],["impl Freeze for TuneFormat",1,["mavlink::uavionix::TuneFormat"]],["impl Freeze for MavOdidCategoryEu",1,["mavlink::uavionix::MavOdidCategoryEu"]],["impl Freeze for MotorTestThrottleType",1,["mavlink::uavionix::MotorTestThrottleType"]],["impl Freeze for LandingTargetType",1,["mavlink::uavionix::LandingTargetType"]],["impl Freeze for FirmwareVersionType",1,["mavlink::uavionix::FirmwareVersionType"]],["impl Freeze for CellularConfigResponse",1,["mavlink::uavionix::CellularConfigResponse"]],["impl Freeze for AdsbFlags",1,["mavlink::uavionix::AdsbFlags"]],["impl Freeze for MavDistanceSensor",1,["mavlink::uavionix::MavDistanceSensor"]],["impl Freeze for PreflightStorageMissionAction",1,["mavlink::uavionix::PreflightStorageMissionAction"]],["impl Freeze for CellularStatusFlag",1,["mavlink::uavionix::CellularStatusFlag"]],["impl Freeze for UtmFlightState",1,["mavlink::uavionix::UtmFlightState"]],["impl Freeze for MavOdidClassEu",1,["mavlink::uavionix::MavOdidClassEu"]],["impl Freeze for AdsbAltitudeType",1,["mavlink::uavionix::AdsbAltitudeType"]],["impl Freeze for FenceBreach",1,["mavlink::uavionix::FenceBreach"]],["impl Freeze for UavcanNodeHealth",1,["mavlink::uavionix::UavcanNodeHealth"]],["impl Freeze for GpsFixType",1,["mavlink::uavionix::GpsFixType"]],["impl Freeze for GimbalManagerCapFlags",1,["mavlink::uavionix::GimbalManagerCapFlags"]],["impl Freeze for MavWinchStatusFlag",1,["mavlink::uavionix::MavWinchStatusFlag"]],["impl Freeze for MissionState",1,["mavlink::uavionix::MissionState"]],["impl Freeze for CompMetadataType",1,["mavlink::uavionix::CompMetadataType"]],["impl Freeze for MavOdidTimeAcc",1,["mavlink::uavionix::MavOdidTimeAcc"]],["impl Freeze for UavionixAdsbOutCfgAircraftSize",1,["mavlink::uavionix::UavionixAdsbOutCfgAircraftSize"]],["impl Freeze for SerialControlDev",1,["mavlink::uavionix::SerialControlDev"]],["impl Freeze for ParamAck",1,["mavlink::uavionix::ParamAck"]],["impl Freeze for AisFlags",1,["mavlink::uavionix::AisFlags"]],["impl Freeze for RtkBaselineCoordinateSystem",1,["mavlink::uavionix::RtkBaselineCoordinateSystem"]],["impl Freeze for MavResult",1,["mavlink::uavionix::MavResult"]],["impl Freeze for GimbalDeviceFlags",1,["mavlink::uavionix::GimbalDeviceFlags"]],["impl Freeze for MavOdidVerAcc",1,["mavlink::uavionix::MavOdidVerAcc"]],["impl Freeze for NavVtolLandOptions",1,["mavlink::uavionix::NavVtolLandOptions"]],["impl Freeze for EscFailureFlags",1,["mavlink::uavionix::EscFailureFlags"]],["impl Freeze for MavMissionResult",1,["mavlink::uavionix::MavMissionResult"]],["impl Freeze for FailureType",1,["mavlink::uavionix::FailureType"]],["impl Freeze for MavEventCurrentSequenceFlags",1,["mavlink::uavionix::MavEventCurrentSequenceFlags"]],["impl Freeze for MavRoi",1,["mavlink::uavionix::MavRoi"]],["impl Freeze for MavOdidSpeedAcc",1,["mavlink::uavionix::MavOdidSpeedAcc"]],["impl Freeze for MavParamType",1,["mavlink::uavionix::MavParamType"]],["impl Freeze for FailureUnit",1,["mavlink::uavionix::FailureUnit"]],["impl Freeze for MavLandedState",1,["mavlink::uavionix::MavLandedState"]],["impl Freeze for CameraZoomType",1,["mavlink::uavionix::CameraZoomType"]],["impl Freeze for GripperActions",1,["mavlink::uavionix::GripperActions"]],["impl Freeze for MavBatteryMode",1,["mavlink::uavionix::MavBatteryMode"]],["impl Freeze for RcType",1,["mavlink::uavionix::RcType"]],["impl Freeze for HighresImuUpdatedFlags",1,["mavlink::uavionix::HighresImuUpdatedFlags"]],["impl Freeze for CameraTrackingMode",1,["mavlink::uavionix::CameraTrackingMode"]],["impl Freeze for UavcanNodeMode",1,["mavlink::uavionix::UavcanNodeMode"]],["impl Freeze for GimbalDeviceErrorFlags",1,["mavlink::uavionix::GimbalDeviceErrorFlags"]],["impl Freeze for PositionTargetTypemask",1,["mavlink::uavionix::PositionTargetTypemask"]],["impl Freeze for MavPowerStatus",1,["mavlink::uavionix::MavPowerStatus"]],["impl Freeze for MavMountMode",1,["mavlink::uavionix::MavMountMode"]],["impl Freeze for MavTunnelPayloadType",1,["mavlink::uavionix::MavTunnelPayloadType"]],["impl Freeze for ParachuteAction",1,["mavlink::uavionix::ParachuteAction"]],["impl Freeze for MavGeneratorStatusFlag",1,["mavlink::uavionix::MavGeneratorStatusFlag"]],["impl Freeze for MavOdidStatus",1,["mavlink::uavionix::MavOdidStatus"]],["impl Freeze for VideoStreamType",1,["mavlink::uavionix::VideoStreamType"]],["impl Freeze for ActuatorOutputFunction",1,["mavlink::uavionix::ActuatorOutputFunction"]],["impl Freeze for WinchActions",1,["mavlink::uavionix::WinchActions"]],["impl Freeze for SetFocusType",1,["mavlink::uavionix::SetFocusType"]],["impl Freeze for SerialControlFlag",1,["mavlink::uavionix::SerialControlFlag"]],["impl Freeze for AutotuneAxis",1,["mavlink::uavionix::AutotuneAxis"]],["impl Freeze for MavOdidClassificationType",1,["mavlink::uavionix::MavOdidClassificationType"]],["impl Freeze for AisNavStatus",1,["mavlink::uavionix::AisNavStatus"]],["impl Freeze for CameraTrackingStatusFlags",1,["mavlink::uavionix::CameraTrackingStatusFlags"]],["impl Freeze for UtmDataAvailFlags",1,["mavlink::uavionix::UtmDataAvailFlags"]],["impl Freeze for StorageType",1,["mavlink::uavionix::StorageType"]],["impl Freeze for MavSensorOrientation",1,["mavlink::uavionix::MavSensorOrientation"]],["impl Freeze for MavMissionType",1,["mavlink::uavionix::MavMissionType"]],["impl Freeze for MavFtpOpcode",1,["mavlink::uavionix::MavFtpOpcode"]],["impl Freeze for UavionixAdsbRfHealth",1,["mavlink::uavionix::UavionixAdsbRfHealth"]],["impl Freeze for MavCmd",1,["mavlink::uavionix::MavCmd"]],["impl Freeze for MavFtpErr",1,["mavlink::uavionix::MavFtpErr"]],["impl Freeze for MavSeverity",1,["mavlink::uavionix::MavSeverity"]],["impl Freeze for POWER_STATUS_DATA",1,["mavlink::uavionix::POWER_STATUS_DATA"]],["impl Freeze for GPS_RTCM_DATA_DATA",1,["mavlink::uavionix::GPS_RTCM_DATA_DATA"]],["impl Freeze for WIND_COV_DATA",1,["mavlink::uavionix::WIND_COV_DATA"]],["impl Freeze for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::uavionix::HIL_RC_INPUTS_RAW_DATA"]],["impl Freeze for ENCAPSULATED_DATA_DATA",1,["mavlink::uavionix::ENCAPSULATED_DATA_DATA"]],["impl Freeze for LOG_REQUEST_END_DATA",1,["mavlink::uavionix::LOG_REQUEST_END_DATA"]],["impl Freeze for MISSION_SET_CURRENT_DATA",1,["mavlink::uavionix::MISSION_SET_CURRENT_DATA"]],["impl Freeze for COMPONENT_METADATA_DATA",1,["mavlink::uavionix::COMPONENT_METADATA_DATA"]],["impl Freeze for FLIGHT_INFORMATION_DATA",1,["mavlink::uavionix::FLIGHT_INFORMATION_DATA"]],["impl Freeze for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Freeze for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Freeze for LANDING_TARGET_DATA",1,["mavlink::uavionix::LANDING_TARGET_DATA"]],["impl Freeze for COMMAND_INT_DATA",1,["mavlink::uavionix::COMMAND_INT_DATA"]],["impl Freeze for ATT_POS_MOCAP_DATA",1,["mavlink::uavionix::ATT_POS_MOCAP_DATA"]],["impl Freeze for ALTITUDE_DATA",1,["mavlink::uavionix::ALTITUDE_DATA"]],["impl Freeze for FOLLOW_TARGET_DATA",1,["mavlink::uavionix::FOLLOW_TARGET_DATA"]],["impl Freeze for SIM_STATE_DATA",1,["mavlink::uavionix::SIM_STATE_DATA"]],["impl Freeze for MAG_CAL_REPORT_DATA",1,["mavlink::uavionix::MAG_CAL_REPORT_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Freeze for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::uavionix::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Freeze for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::uavionix::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Freeze for COMPONENT_INFORMATION_DATA",1,["mavlink::uavionix::COMPONENT_INFORMATION_DATA"]],["impl Freeze for GPS2_RAW_DATA",1,["mavlink::uavionix::GPS2_RAW_DATA"]],["impl Freeze for BUTTON_CHANGE_DATA",1,["mavlink::uavionix::BUTTON_CHANGE_DATA"]],["impl Freeze for UAVCAN_NODE_INFO_DATA",1,["mavlink::uavionix::UAVCAN_NODE_INFO_DATA"]],["impl Freeze for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Freeze for COLLISION_DATA",1,["mavlink::uavionix::COLLISION_DATA"]],["impl Freeze for RAW_RPM_DATA",1,["mavlink::uavionix::RAW_RPM_DATA"]],["impl Freeze for SERIAL_CONTROL_DATA",1,["mavlink::uavionix::SERIAL_CONTROL_DATA"]],["impl Freeze for CAMERA_TRIGGER_DATA",1,["mavlink::uavionix::CAMERA_TRIGGER_DATA"]],["impl Freeze for SET_HOME_POSITION_DATA",1,["mavlink::uavionix::SET_HOME_POSITION_DATA"]],["impl Freeze for CAMERA_FOV_STATUS_DATA",1,["mavlink::uavionix::CAMERA_FOV_STATUS_DATA"]],["impl Freeze for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Freeze for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::uavionix::VIDEO_STREAM_INFORMATION_DATA"]],["impl Freeze for LINK_NODE_STATUS_DATA",1,["mavlink::uavionix::LINK_NODE_STATUS_DATA"]],["impl Freeze for HIL_STATE_DATA",1,["mavlink::uavionix::HIL_STATE_DATA"]],["impl Freeze for PARAM_SET_DATA",1,["mavlink::uavionix::PARAM_SET_DATA"]],["impl Freeze for SCALED_IMU_DATA",1,["mavlink::uavionix::SCALED_IMU_DATA"]],["impl Freeze for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::uavionix::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Freeze for TERRAIN_REQUEST_DATA",1,["mavlink::uavionix::TERRAIN_REQUEST_DATA"]],["impl Freeze for SCALED_PRESSURE_DATA",1,["mavlink::uavionix::SCALED_PRESSURE_DATA"]],["impl Freeze for GENERATOR_STATUS_DATA",1,["mavlink::uavionix::GENERATOR_STATUS_DATA"]],["impl Freeze for HIL_GPS_DATA",1,["mavlink::uavionix::HIL_GPS_DATA"]],["impl Freeze for LOG_ERASE_DATA",1,["mavlink::uavionix::LOG_ERASE_DATA"]],["impl Freeze for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::uavionix::RC_CHANNELS_OVERRIDE_DATA"]],["impl Freeze for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Freeze for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Freeze for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Freeze for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Freeze for SUPPORTED_TUNES_DATA",1,["mavlink::uavionix::SUPPORTED_TUNES_DATA"]],["impl Freeze for VIDEO_STREAM_STATUS_DATA",1,["mavlink::uavionix::VIDEO_STREAM_STATUS_DATA"]],["impl Freeze for HYGROMETER_SENSOR_DATA",1,["mavlink::uavionix::HYGROMETER_SENSOR_DATA"]],["impl Freeze for SCALED_PRESSURE3_DATA",1,["mavlink::uavionix::SCALED_PRESSURE3_DATA"]],["impl Freeze for OBSTACLE_DISTANCE_DATA",1,["mavlink::uavionix::OBSTACLE_DISTANCE_DATA"]],["impl Freeze for REQUEST_DATA_STREAM_DATA",1,["mavlink::uavionix::REQUEST_DATA_STREAM_DATA"]],["impl Freeze for DISTANCE_SENSOR_DATA",1,["mavlink::uavionix::DISTANCE_SENSOR_DATA"]],["impl Freeze for LOG_REQUEST_LIST_DATA",1,["mavlink::uavionix::LOG_REQUEST_LIST_DATA"]],["impl Freeze for RC_CHANNELS_DATA",1,["mavlink::uavionix::RC_CHANNELS_DATA"]],["impl Freeze for CAN_FILTER_MODIFY_DATA",1,["mavlink::uavionix::CAN_FILTER_MODIFY_DATA"]],["impl Freeze for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_ALLOWED_AREA_DATA"]],["impl Freeze for ATTITUDE_DATA",1,["mavlink::uavionix::ATTITUDE_DATA"]],["impl Freeze for SERVO_OUTPUT_RAW_DATA",1,["mavlink::uavionix::SERVO_OUTPUT_RAW_DATA"]],["impl Freeze for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_CAPTURE_STATUS_DATA"]],["impl Freeze for VFR_HUD_DATA",1,["mavlink::uavionix::VFR_HUD_DATA"]],["impl Freeze for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::uavionix::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Freeze for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Freeze for EVENT_DATA",1,["mavlink::uavionix::EVENT_DATA"]],["impl Freeze for CAMERA_INFORMATION_DATA",1,["mavlink::uavionix::CAMERA_INFORMATION_DATA"]],["impl Freeze for PARAM_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_REQUEST_LIST_DATA"]],["impl Freeze for WHEEL_DISTANCE_DATA",1,["mavlink::uavionix::WHEEL_DISTANCE_DATA"]],["impl Freeze for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Freeze for UAVCAN_NODE_STATUS_DATA",1,["mavlink::uavionix::UAVCAN_NODE_STATUS_DATA"]],["impl Freeze for PARAM_EXT_SET_DATA",1,["mavlink::uavionix::PARAM_EXT_SET_DATA"]],["impl Freeze for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Freeze for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Freeze for SMART_BATTERY_INFO_DATA",1,["mavlink::uavionix::SMART_BATTERY_INFO_DATA"]],["impl Freeze for OPTICAL_FLOW_RAD_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_RAD_DATA"]],["impl Freeze for HIL_OPTICAL_FLOW_DATA",1,["mavlink::uavionix::HIL_OPTICAL_FLOW_DATA"]],["impl Freeze for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_COV_DATA"]],["impl Freeze for BATTERY_STATUS_DATA",1,["mavlink::uavionix::BATTERY_STATUS_DATA"]],["impl Freeze for GLOBAL_POSITION_INT_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_DATA"]],["impl Freeze for MOUNT_ORIENTATION_DATA",1,["mavlink::uavionix::MOUNT_ORIENTATION_DATA"]],["impl Freeze for MISSION_ITEM_DATA",1,["mavlink::uavionix::MISSION_ITEM_DATA"]],["impl Freeze for GPS_RTK_DATA",1,["mavlink::uavionix::GPS_RTK_DATA"]],["impl Freeze for HIGHRES_IMU_DATA",1,["mavlink::uavionix::HIGHRES_IMU_DATA"]],["impl Freeze for RESOURCE_REQUEST_DATA",1,["mavlink::uavionix::RESOURCE_REQUEST_DATA"]],["impl Freeze for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::uavionix::CONTROL_SYSTEM_STATE_DATA"]],["impl Freeze for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Freeze for PARAM_EXT_VALUE_DATA",1,["mavlink::uavionix::PARAM_EXT_VALUE_DATA"]],["impl Freeze for RAW_IMU_DATA",1,["mavlink::uavionix::RAW_IMU_DATA"]],["impl Freeze for TUNNEL_DATA",1,["mavlink::uavionix::TUNNEL_DATA"]],["impl Freeze for GPS2_RTK_DATA",1,["mavlink::uavionix::GPS2_RTK_DATA"]],["impl Freeze for EFI_STATUS_DATA",1,["mavlink::uavionix::EFI_STATUS_DATA"]],["impl Freeze for ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::ATTITUDE_TARGET_DATA"]],["impl Freeze for GPS_INJECT_DATA_DATA",1,["mavlink::uavionix::GPS_INJECT_DATA_DATA"]],["impl Freeze for CELLULAR_CONFIG_DATA",1,["mavlink::uavionix::CELLULAR_CONFIG_DATA"]],["impl Freeze for EXTENDED_SYS_STATE_DATA",1,["mavlink::uavionix::EXTENDED_SYS_STATE_DATA"]],["impl Freeze for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::uavionix::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Freeze for SETUP_SIGNING_DATA",1,["mavlink::uavionix::SETUP_SIGNING_DATA"]],["impl Freeze for PARAM_MAP_RC_DATA",1,["mavlink::uavionix::PARAM_MAP_RC_DATA"]],["impl Freeze for HIGH_LATENCY2_DATA",1,["mavlink::uavionix::HIGH_LATENCY2_DATA"]],["impl Freeze for SCALED_IMU2_DATA",1,["mavlink::uavionix::SCALED_IMU2_DATA"]],["impl Freeze for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Freeze for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Freeze for VIBRATION_DATA",1,["mavlink::uavionix::VIBRATION_DATA"]],["impl Freeze for HIL_SENSOR_DATA",1,["mavlink::uavionix::HIL_SENSOR_DATA"]],["impl Freeze for WINCH_STATUS_DATA",1,["mavlink::uavionix::WINCH_STATUS_DATA"]],["impl Freeze for SET_MODE_DATA",1,["mavlink::uavionix::SET_MODE_DATA"]],["impl Freeze for RAW_PRESSURE_DATA",1,["mavlink::uavionix::RAW_PRESSURE_DATA"]],["impl Freeze for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::uavionix::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Freeze for LOG_DATA_DATA",1,["mavlink::uavionix::LOG_DATA_DATA"]],["impl Freeze for TIMESYNC_DATA",1,["mavlink::uavionix::TIMESYNC_DATA"]],["impl Freeze for RC_CHANNELS_RAW_DATA",1,["mavlink::uavionix::RC_CHANNELS_RAW_DATA"]],["impl Freeze for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Freeze for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Freeze for PARAM_VALUE_DATA",1,["mavlink::uavionix::PARAM_VALUE_DATA"]],["impl Freeze for HIL_CONTROLS_DATA",1,["mavlink::uavionix::HIL_CONTROLS_DATA"]],["impl Freeze for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Freeze for ADSB_VEHICLE_DATA",1,["mavlink::uavionix::ADSB_VEHICLE_DATA"]],["impl Freeze for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Freeze for UTM_GLOBAL_POSITION_DATA",1,["mavlink::uavionix::UTM_GLOBAL_POSITION_DATA"]],["impl Freeze for COMMAND_ACK_DATA",1,["mavlink::uavionix::COMMAND_ACK_DATA"]],["impl Freeze for ISBD_LINK_STATUS_DATA",1,["mavlink::uavionix::ISBD_LINK_STATUS_DATA"]],["impl Freeze for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Freeze for AUTOPILOT_VERSION_DATA",1,["mavlink::uavionix::AUTOPILOT_VERSION_DATA"]],["impl Freeze for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::uavionix::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Freeze for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::uavionix::DEBUG_FLOAT_ARRAY_DATA"]],["impl Freeze for PLAY_TUNE_V2_DATA",1,["mavlink::uavionix::PLAY_TUNE_V2_DATA"]],["impl Freeze for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Freeze for REQUEST_EVENT_DATA",1,["mavlink::uavionix::REQUEST_EVENT_DATA"]],["impl Freeze for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Freeze for NAMED_VALUE_INT_DATA",1,["mavlink::uavionix::NAMED_VALUE_INT_DATA"]],["impl Freeze for MISSION_REQUEST_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_LIST_DATA"]],["impl Freeze for LOG_REQUEST_DATA_DATA",1,["mavlink::uavionix::LOG_REQUEST_DATA_DATA"]],["impl Freeze for MESSAGE_INTERVAL_DATA",1,["mavlink::uavionix::MESSAGE_INTERVAL_DATA"]],["impl Freeze for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_POSITION_ESTIMATE_DATA"]],["impl Freeze for LOG_ENTRY_DATA",1,["mavlink::uavionix::LOG_ENTRY_DATA"]],["impl Freeze for AIS_VESSEL_DATA",1,["mavlink::uavionix::AIS_VESSEL_DATA"]],["impl Freeze for MISSION_ACK_DATA",1,["mavlink::uavionix::MISSION_ACK_DATA"]],["impl Freeze for RADIO_STATUS_DATA",1,["mavlink::uavionix::RADIO_STATUS_DATA"]],["impl Freeze for CELLULAR_STATUS_DATA",1,["mavlink::uavionix::CELLULAR_STATUS_DATA"]],["impl Freeze for DATA_STREAM_DATA",1,["mavlink::uavionix::DATA_STREAM_DATA"]],["impl Freeze for DEBUG_VECT_DATA",1,["mavlink::uavionix::DEBUG_VECT_DATA"]],["impl Freeze for MISSION_CURRENT_DATA",1,["mavlink::uavionix::MISSION_CURRENT_DATA"]],["impl Freeze for PROTOCOL_VERSION_DATA",1,["mavlink::uavionix::PROTOCOL_VERSION_DATA"]],["impl Freeze for GPS_INPUT_DATA",1,["mavlink::uavionix::GPS_INPUT_DATA"]],["impl Freeze for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::uavionix::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Freeze for MISSION_ITEM_INT_DATA",1,["mavlink::uavionix::MISSION_ITEM_INT_DATA"]],["impl Freeze for GPS_STATUS_DATA",1,["mavlink::uavionix::GPS_STATUS_DATA"]],["impl Freeze for MANUAL_SETPOINT_DATA",1,["mavlink::uavionix::MANUAL_SETPOINT_DATA"]],["impl Freeze for FENCE_STATUS_DATA",1,["mavlink::uavionix::FENCE_STATUS_DATA"]],["impl Freeze for HOME_POSITION_DATA",1,["mavlink::uavionix::HOME_POSITION_DATA"]],["impl Freeze for ESC_INFO_DATA",1,["mavlink::uavionix::ESC_INFO_DATA"]],["impl Freeze for COMMAND_CANCEL_DATA",1,["mavlink::uavionix::COMMAND_CANCEL_DATA"]],["impl Freeze for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_READ_DATA"]],["impl Freeze for PLAY_TUNE_DATA",1,["mavlink::uavionix::PLAY_TUNE_DATA"]],["impl Freeze for MISSION_REQUEST_INT_DATA",1,["mavlink::uavionix::MISSION_REQUEST_INT_DATA"]],["impl Freeze for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_COV_DATA"]],["impl Freeze for MISSION_ITEM_REACHED_DATA",1,["mavlink::uavionix::MISSION_ITEM_REACHED_DATA"]],["impl Freeze for PARAM_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_REQUEST_READ_DATA"]],["impl Freeze for TERRAIN_DATA_DATA",1,["mavlink::uavionix::TERRAIN_DATA_DATA"]],["impl Freeze for GPS_RAW_INT_DATA",1,["mavlink::uavionix::GPS_RAW_INT_DATA"]],["impl Freeze for STORAGE_INFORMATION_DATA",1,["mavlink::uavionix::STORAGE_INFORMATION_DATA"]],["impl Freeze for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::uavionix::RESPONSE_EVENT_ERROR_DATA"]],["impl Freeze for MANUAL_CONTROL_DATA",1,["mavlink::uavionix::MANUAL_CONTROL_DATA"]],["impl Freeze for NAMED_VALUE_FLOAT_DATA",1,["mavlink::uavionix::NAMED_VALUE_FLOAT_DATA"]],["impl Freeze for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_STATUS_DATA"]],["impl Freeze for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Freeze for LOGGING_DATA_DATA",1,["mavlink::uavionix::LOGGING_DATA_DATA"]],["impl Freeze for STATUSTEXT_DATA",1,["mavlink::uavionix::STATUSTEXT_DATA"]],["impl Freeze for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Freeze for ESTIMATOR_STATUS_DATA",1,["mavlink::uavionix::ESTIMATOR_STATUS_DATA"]],["impl Freeze for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::uavionix::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Freeze for PARAM_EXT_ACK_DATA",1,["mavlink::uavionix::PARAM_EXT_ACK_DATA"]],["impl Freeze for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Freeze for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Freeze for CAN_FRAME_DATA",1,["mavlink::uavionix::CAN_FRAME_DATA"]],["impl Freeze for COMMAND_LONG_DATA",1,["mavlink::uavionix::COMMAND_LONG_DATA"]],["impl Freeze for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Freeze for HEARTBEAT_DATA",1,["mavlink::uavionix::HEARTBEAT_DATA"]],["impl Freeze for ATTITUDE_QUATERNION_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_DATA"]],["impl Freeze for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VICON_POSITION_ESTIMATE_DATA"]],["impl Freeze for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::uavionix::ORBIT_EXECUTION_STATUS_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Freeze for SCALED_PRESSURE2_DATA",1,["mavlink::uavionix::SCALED_PRESSURE2_DATA"]],["impl Freeze for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Freeze for ODOMETRY_DATA",1,["mavlink::uavionix::ODOMETRY_DATA"]],["impl Freeze for CAMERA_SETTINGS_DATA",1,["mavlink::uavionix::CAMERA_SETTINGS_DATA"]],["impl Freeze for MISSION_CLEAR_ALL_DATA",1,["mavlink::uavionix::MISSION_CLEAR_ALL_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Freeze for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_SPEED_ESTIMATE_DATA"]],["impl Freeze for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Freeze for TERRAIN_REPORT_DATA",1,["mavlink::uavionix::TERRAIN_REPORT_DATA"]],["impl Freeze for LOCAL_POSITION_NED_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_DATA"]],["impl Freeze for DEBUG_DATA",1,["mavlink::uavionix::DEBUG_DATA"]],["impl Freeze for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Freeze for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::GPS_GLOBAL_ORIGIN_DATA"]],["impl Freeze for MISSION_COUNT_DATA",1,["mavlink::uavionix::MISSION_COUNT_DATA"]],["impl Freeze for HIGH_LATENCY_DATA",1,["mavlink::uavionix::HIGH_LATENCY_DATA"]],["impl Freeze for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Freeze for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::uavionix::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Freeze for MEMORY_VECT_DATA",1,["mavlink::uavionix::MEMORY_VECT_DATA"]],["impl Freeze for MISSION_REQUEST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_DATA"]],["impl Freeze for V2_EXTENSION_DATA",1,["mavlink::uavionix::V2_EXTENSION_DATA"]],["impl Freeze for ESC_STATUS_DATA",1,["mavlink::uavionix::ESC_STATUS_DATA"]],["impl Freeze for LOGGING_DATA_ACKED_DATA",1,["mavlink::uavionix::LOGGING_DATA_ACKED_DATA"]],["impl Freeze for CANFD_FRAME_DATA",1,["mavlink::uavionix::CANFD_FRAME_DATA"]],["impl Freeze for SCALED_IMU3_DATA",1,["mavlink::uavionix::SCALED_IMU3_DATA"]],["impl Freeze for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_COV_DATA"]],["impl Freeze for HIL_STATE_QUATERNION_DATA",1,["mavlink::uavionix::HIL_STATE_QUATERNION_DATA"]],["impl Freeze for AUTH_KEY_DATA",1,["mavlink::uavionix::AUTH_KEY_DATA"]],["impl Freeze for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Freeze for LOGGING_ACK_DATA",1,["mavlink::uavionix::LOGGING_ACK_DATA"]],["impl Freeze for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Freeze for SYSTEM_TIME_DATA",1,["mavlink::uavionix::SYSTEM_TIME_DATA"]],["impl Freeze for SET_ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::SET_ATTITUDE_TARGET_DATA"]],["impl Freeze for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Freeze for TERRAIN_CHECK_DATA",1,["mavlink::uavionix::TERRAIN_CHECK_DATA"]],["impl Freeze for SYS_STATUS_DATA",1,["mavlink::uavionix::SYS_STATUS_DATA"]],["impl Freeze for WIFI_CONFIG_AP_DATA",1,["mavlink::uavionix::WIFI_CONFIG_AP_DATA"]],["impl Freeze for PING_DATA",1,["mavlink::uavionix::PING_DATA"]],["impl Freeze for RC_CHANNELS_SCALED_DATA",1,["mavlink::uavionix::RC_CHANNELS_SCALED_DATA"]],["impl Freeze for OPTICAL_FLOW_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_DATA"]],["impl Freeze for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Freeze for MavMessage",1,["mavlink::uavionix::MavMessage"]],["impl Freeze for WifiConfigApResponse",1,["mavlink::common::WifiConfigApResponse"]],["impl Freeze for FirmwareVersionType",1,["mavlink::common::FirmwareVersionType"]],["impl Freeze for MavAutopilot",1,["mavlink::common::MavAutopilot"]],["impl Freeze for FailureUnit",1,["mavlink::common::FailureUnit"]],["impl Freeze for MavOdidClassEu",1,["mavlink::common::MavOdidClassEu"]],["impl Freeze for CellularNetworkFailedReason",1,["mavlink::common::CellularNetworkFailedReason"]],["impl Freeze for CellularNetworkRadioType",1,["mavlink::common::CellularNetworkRadioType"]],["impl Freeze for MavOdidIdType",1,["mavlink::common::MavOdidIdType"]],["impl Freeze for MavModeFlag",1,["mavlink::common::MavModeFlag"]],["impl Freeze for MavOdidArmStatus",1,["mavlink::common::MavOdidArmStatus"]],["impl Freeze for NavVtolLandOptions",1,["mavlink::common::NavVtolLandOptions"]],["impl Freeze for GripperActions",1,["mavlink::common::GripperActions"]],["impl Freeze for MavWinchStatusFlag",1,["mavlink::common::MavWinchStatusFlag"]],["impl Freeze for ParachuteAction",1,["mavlink::common::ParachuteAction"]],["impl Freeze for CompMetadataType",1,["mavlink::common::CompMetadataType"]],["impl Freeze for AdsbEmitterType",1,["mavlink::common::AdsbEmitterType"]],["impl Freeze for MavMode",1,["mavlink::common::MavMode"]],["impl Freeze for MavOdidClassificationType",1,["mavlink::common::MavOdidClassificationType"]],["impl Freeze for MavDistanceSensor",1,["mavlink::common::MavDistanceSensor"]],["impl Freeze for PositionTargetTypemask",1,["mavlink::common::PositionTargetTypemask"]],["impl Freeze for MavCmdAck",1,["mavlink::common::MavCmdAck"]],["impl Freeze for UavcanNodeMode",1,["mavlink::common::UavcanNodeMode"]],["impl Freeze for AdsbAltitudeType",1,["mavlink::common::AdsbAltitudeType"]],["impl Freeze for GpsFixType",1,["mavlink::common::GpsFixType"]],["impl Freeze for ParamAck",1,["mavlink::common::ParamAck"]],["impl Freeze for MavComponent",1,["mavlink::common::MavComponent"]],["impl Freeze for AisNavStatus",1,["mavlink::common::AisNavStatus"]],["impl Freeze for MagCalStatus",1,["mavlink::common::MagCalStatus"]],["impl Freeze for CameraZoomType",1,["mavlink::common::CameraZoomType"]],["impl Freeze for MavOdidCategoryEu",1,["mavlink::common::MavOdidCategoryEu"]],["impl Freeze for MavBatteryFunction",1,["mavlink::common::MavBatteryFunction"]],["impl Freeze for WifiConfigApMode",1,["mavlink::common::WifiConfigApMode"]],["impl Freeze for MavRoi",1,["mavlink::common::MavRoi"]],["impl Freeze for AisFlags",1,["mavlink::common::AisFlags"]],["impl Freeze for AisType",1,["mavlink::common::AisType"]],["impl Freeze for MavOdidDescType",1,["mavlink::common::MavOdidDescType"]],["impl Freeze for CanFilterOp",1,["mavlink::common::CanFilterOp"]],["impl Freeze for MavFtpOpcode",1,["mavlink::common::MavFtpOpcode"]],["impl Freeze for MavVtolState",1,["mavlink::common::MavVtolState"]],["impl Freeze for MavState",1,["mavlink::common::MavState"]],["impl Freeze for FenceBreach",1,["mavlink::common::FenceBreach"]],["impl Freeze for SerialControlFlag",1,["mavlink::common::SerialControlFlag"]],["impl Freeze for TuneFormat",1,["mavlink::common::TuneFormat"]],["impl Freeze for MavSeverity",1,["mavlink::common::MavSeverity"]],["impl Freeze for MavlinkDataStreamType",1,["mavlink::common::MavlinkDataStreamType"]],["impl Freeze for AdsbFlags",1,["mavlink::common::AdsbFlags"]],["impl Freeze for MavMountMode",1,["mavlink::common::MavMountMode"]],["impl Freeze for FenceMitigate",1,["mavlink::common::FenceMitigate"]],["impl Freeze for MavGeneratorStatusFlag",1,["mavlink::common::MavGeneratorStatusFlag"]],["impl Freeze for MavBatteryChargeState",1,["mavlink::common::MavBatteryChargeState"]],["impl Freeze for MavFtpErr",1,["mavlink::common::MavFtpErr"]],["impl Freeze for CellularConfigResponse",1,["mavlink::common::CellularConfigResponse"]],["impl Freeze for MavOdidOperatorIdType",1,["mavlink::common::MavOdidOperatorIdType"]],["impl Freeze for MavOdidSpeedAcc",1,["mavlink::common::MavOdidSpeedAcc"]],["impl Freeze for LandingTargetType",1,["mavlink::common::LandingTargetType"]],["impl Freeze for MavCollisionThreatLevel",1,["mavlink::common::MavCollisionThreatLevel"]],["impl Freeze for MavTunnelPayloadType",1,["mavlink::common::MavTunnelPayloadType"]],["impl Freeze for MavEventErrorReason",1,["mavlink::common::MavEventErrorReason"]],["impl Freeze for MavOdidVerAcc",1,["mavlink::common::MavOdidVerAcc"]],["impl Freeze for MotorTestThrottleType",1,["mavlink::common::MotorTestThrottleType"]],["impl Freeze for OrbitYawBehaviour",1,["mavlink::common::OrbitYawBehaviour"]],["impl Freeze for ActuatorConfiguration",1,["mavlink::common::ActuatorConfiguration"]],["impl Freeze for MavEstimatorType",1,["mavlink::common::MavEstimatorType"]],["impl Freeze for EstimatorStatusFlags",1,["mavlink::common::EstimatorStatusFlags"]],["impl Freeze for FailureType",1,["mavlink::common::FailureType"]],["impl Freeze for PreflightStorageParameterAction",1,["mavlink::common::PreflightStorageParameterAction"]],["impl Freeze for MavParamType",1,["mavlink::common::MavParamType"]],["impl Freeze for MavModeFlagDecodePosition",1,["mavlink::common::MavModeFlagDecodePosition"]],["impl Freeze for StorageUsageFlag",1,["mavlink::common::StorageUsageFlag"]],["impl Freeze for MavEventCurrentSequenceFlags",1,["mavlink::common::MavEventCurrentSequenceFlags"]],["impl Freeze for MavGoto",1,["mavlink::common::MavGoto"]],["impl Freeze for GimbalDeviceCapFlags",1,["mavlink::common::GimbalDeviceCapFlags"]],["impl Freeze for VtolTransitionHeading",1,["mavlink::common::VtolTransitionHeading"]],["impl Freeze for GimbalDeviceFlags",1,["mavlink::common::GimbalDeviceFlags"]],["impl Freeze for SerialControlDev",1,["mavlink::common::SerialControlDev"]],["impl Freeze for MavSysStatusSensor",1,["mavlink::common::MavSysStatusSensor"]],["impl Freeze for MavDataStream",1,["mavlink::common::MavDataStream"]],["impl Freeze for MavCollisionSrc",1,["mavlink::common::MavCollisionSrc"]],["impl Freeze for VideoStreamStatusFlags",1,["mavlink::common::VideoStreamStatusFlags"]],["impl Freeze for CameraTrackingStatusFlags",1,["mavlink::common::CameraTrackingStatusFlags"]],["impl Freeze for RcType",1,["mavlink::common::RcType"]],["impl Freeze for AttitudeTargetTypemask",1,["mavlink::common::AttitudeTargetTypemask"]],["impl Freeze for MavOdidAuthType",1,["mavlink::common::MavOdidAuthType"]],["impl Freeze for GimbalDeviceErrorFlags",1,["mavlink::common::GimbalDeviceErrorFlags"]],["impl Freeze for GimbalManagerFlags",1,["mavlink::common::GimbalManagerFlags"]],["impl Freeze for ActuatorOutputFunction",1,["mavlink::common::ActuatorOutputFunction"]],["impl Freeze for MavProtocolCapability",1,["mavlink::common::MavProtocolCapability"]],["impl Freeze for MavCmd",1,["mavlink::common::MavCmd"]],["impl Freeze for MavBatteryType",1,["mavlink::common::MavBatteryType"]],["impl Freeze for WinchActions",1,["mavlink::common::WinchActions"]],["impl Freeze for MavOdidUaType",1,["mavlink::common::MavOdidUaType"]],["impl Freeze for MavOdidStatus",1,["mavlink::common::MavOdidStatus"]],["impl Freeze for HlFailureFlag",1,["mavlink::common::HlFailureFlag"]],["impl Freeze for UtmDataAvailFlags",1,["mavlink::common::UtmDataAvailFlags"]],["impl Freeze for RtkBaselineCoordinateSystem",1,["mavlink::common::RtkBaselineCoordinateSystem"]],["impl Freeze for PreflightStorageMissionAction",1,["mavlink::common::PreflightStorageMissionAction"]],["impl Freeze for StorageType",1,["mavlink::common::StorageType"]],["impl Freeze for MavCollisionAction",1,["mavlink::common::MavCollisionAction"]],["impl Freeze for MavFrame",1,["mavlink::common::MavFrame"]],["impl Freeze for CameraCapFlags",1,["mavlink::common::CameraCapFlags"]],["impl Freeze for CameraTrackingTargetData",1,["mavlink::common::CameraTrackingTargetData"]],["impl Freeze for CameraMode",1,["mavlink::common::CameraMode"]],["impl Freeze for EscConnectionType",1,["mavlink::common::EscConnectionType"]],["impl Freeze for UavcanNodeHealth",1,["mavlink::common::UavcanNodeHealth"]],["impl Freeze for MavParamExtType",1,["mavlink::common::MavParamExtType"]],["impl Freeze for MavOdidHorAcc",1,["mavlink::common::MavOdidHorAcc"]],["impl Freeze for GimbalManagerCapFlags",1,["mavlink::common::GimbalManagerCapFlags"]],["impl Freeze for MavMissionResult",1,["mavlink::common::MavMissionResult"]],["impl Freeze for CellularStatusFlag",1,["mavlink::common::CellularStatusFlag"]],["impl Freeze for MavPowerStatus",1,["mavlink::common::MavPowerStatus"]],["impl Freeze for CameraTrackingMode",1,["mavlink::common::CameraTrackingMode"]],["impl Freeze for GpsInputIgnoreFlags",1,["mavlink::common::GpsInputIgnoreFlags"]],["impl Freeze for VideoStreamType",1,["mavlink::common::VideoStreamType"]],["impl Freeze for FenceAction",1,["mavlink::common::FenceAction"]],["impl Freeze for PrecisionLandMode",1,["mavlink::common::PrecisionLandMode"]],["impl Freeze for MavSensorOrientation",1,["mavlink::common::MavSensorOrientation"]],["impl Freeze for MavMissionType",1,["mavlink::common::MavMissionType"]],["impl Freeze for MavType",1,["mavlink::common::MavType"]],["impl Freeze for MavOdidOperatorLocationType",1,["mavlink::common::MavOdidOperatorLocationType"]],["impl Freeze for MavResult",1,["mavlink::common::MavResult"]],["impl Freeze for MissionState",1,["mavlink::common::MissionState"]],["impl Freeze for StorageStatus",1,["mavlink::common::StorageStatus"]],["impl Freeze for MavArmAuthDeniedReason",1,["mavlink::common::MavArmAuthDeniedReason"]],["impl Freeze for AutotuneAxis",1,["mavlink::common::AutotuneAxis"]],["impl Freeze for HighresImuUpdatedFlags",1,["mavlink::common::HighresImuUpdatedFlags"]],["impl Freeze for UtmFlightState",1,["mavlink::common::UtmFlightState"]],["impl Freeze for MavDoRepositionFlags",1,["mavlink::common::MavDoRepositionFlags"]],["impl Freeze for MavOdidTimeAcc",1,["mavlink::common::MavOdidTimeAcc"]],["impl Freeze for MavBatteryMode",1,["mavlink::common::MavBatteryMode"]],["impl Freeze for MavSysStatusSensorExtended",1,["mavlink::common::MavSysStatusSensorExtended"]],["impl Freeze for MavLandedState",1,["mavlink::common::MavLandedState"]],["impl Freeze for MavBatteryFault",1,["mavlink::common::MavBatteryFault"]],["impl Freeze for SetFocusType",1,["mavlink::common::SetFocusType"]],["impl Freeze for MavOdidHeightRef",1,["mavlink::common::MavOdidHeightRef"]],["impl Freeze for HilSensorUpdatedFlags",1,["mavlink::common::HilSensorUpdatedFlags"]],["impl Freeze for MotorTestOrder",1,["mavlink::common::MotorTestOrder"]],["impl Freeze for EscFailureFlags",1,["mavlink::common::EscFailureFlags"]],["impl Freeze for MISSION_CLEAR_ALL_DATA",1,["mavlink::common::MISSION_CLEAR_ALL_DATA"]],["impl Freeze for COMMAND_INT_DATA",1,["mavlink::common::COMMAND_INT_DATA"]],["impl Freeze for COLLISION_DATA",1,["mavlink::common::COLLISION_DATA"]],["impl Freeze for RC_CHANNELS_RAW_DATA",1,["mavlink::common::RC_CHANNELS_RAW_DATA"]],["impl Freeze for OPTICAL_FLOW_RAD_DATA",1,["mavlink::common::OPTICAL_FLOW_RAD_DATA"]],["impl Freeze for LOGGING_ACK_DATA",1,["mavlink::common::LOGGING_ACK_DATA"]],["impl Freeze for WIFI_CONFIG_AP_DATA",1,["mavlink::common::WIFI_CONFIG_AP_DATA"]],["impl Freeze for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Freeze for MANUAL_CONTROL_DATA",1,["mavlink::common::MANUAL_CONTROL_DATA"]],["impl Freeze for SMART_BATTERY_INFO_DATA",1,["mavlink::common::SMART_BATTERY_INFO_DATA"]],["impl Freeze for COMMAND_CANCEL_DATA",1,["mavlink::common::COMMAND_CANCEL_DATA"]],["impl Freeze for LOG_ENTRY_DATA",1,["mavlink::common::LOG_ENTRY_DATA"]],["impl Freeze for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Freeze for SCALED_PRESSURE2_DATA",1,["mavlink::common::SCALED_PRESSURE2_DATA"]],["impl Freeze for CAMERA_TRIGGER_DATA",1,["mavlink::common::CAMERA_TRIGGER_DATA"]],["impl Freeze for SET_HOME_POSITION_DATA",1,["mavlink::common::SET_HOME_POSITION_DATA"]],["impl Freeze for RAW_IMU_DATA",1,["mavlink::common::RAW_IMU_DATA"]],["impl Freeze for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Freeze for COMPONENT_METADATA_DATA",1,["mavlink::common::COMPONENT_METADATA_DATA"]],["impl Freeze for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::common::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Freeze for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Freeze for MISSION_CURRENT_DATA",1,["mavlink::common::MISSION_CURRENT_DATA"]],["impl Freeze for LOG_REQUEST_END_DATA",1,["mavlink::common::LOG_REQUEST_END_DATA"]],["impl Freeze for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::common::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Freeze for BATTERY_STATUS_DATA",1,["mavlink::common::BATTERY_STATUS_DATA"]],["impl Freeze for LANDING_TARGET_DATA",1,["mavlink::common::LANDING_TARGET_DATA"]],["impl Freeze for MESSAGE_INTERVAL_DATA",1,["mavlink::common::MESSAGE_INTERVAL_DATA"]],["impl Freeze for WHEEL_DISTANCE_DATA",1,["mavlink::common::WHEEL_DISTANCE_DATA"]],["impl Freeze for MISSION_COUNT_DATA",1,["mavlink::common::MISSION_COUNT_DATA"]],["impl Freeze for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::common::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Freeze for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Freeze for HIL_STATE_DATA",1,["mavlink::common::HIL_STATE_DATA"]],["impl Freeze for HIL_SENSOR_DATA",1,["mavlink::common::HIL_SENSOR_DATA"]],["impl Freeze for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_READ_DATA"]],["impl Freeze for SCALED_PRESSURE_DATA",1,["mavlink::common::SCALED_PRESSURE_DATA"]],["impl Freeze for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Freeze for ENCAPSULATED_DATA_DATA",1,["mavlink::common::ENCAPSULATED_DATA_DATA"]],["impl Freeze for COMPONENT_INFORMATION_DATA",1,["mavlink::common::COMPONENT_INFORMATION_DATA"]],["impl Freeze for VIDEO_STREAM_STATUS_DATA",1,["mavlink::common::VIDEO_STREAM_STATUS_DATA"]],["impl Freeze for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::common::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Freeze for HIL_GPS_DATA",1,["mavlink::common::HIL_GPS_DATA"]],["impl Freeze for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_COV_DATA"]],["impl Freeze for TERRAIN_REPORT_DATA",1,["mavlink::common::TERRAIN_REPORT_DATA"]],["impl Freeze for AIS_VESSEL_DATA",1,["mavlink::common::AIS_VESSEL_DATA"]],["impl Freeze for ODOMETRY_DATA",1,["mavlink::common::ODOMETRY_DATA"]],["impl Freeze for SUPPORTED_TUNES_DATA",1,["mavlink::common::SUPPORTED_TUNES_DATA"]],["impl Freeze for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::common::CONTROL_SYSTEM_STATE_DATA"]],["impl Freeze for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Freeze for ATT_POS_MOCAP_DATA",1,["mavlink::common::ATT_POS_MOCAP_DATA"]],["impl Freeze for LOGGING_DATA_DATA",1,["mavlink::common::LOGGING_DATA_DATA"]],["impl Freeze for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::common::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Freeze for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Freeze for SETUP_SIGNING_DATA",1,["mavlink::common::SETUP_SIGNING_DATA"]],["impl Freeze for PARAM_EXT_ACK_DATA",1,["mavlink::common::PARAM_EXT_ACK_DATA"]],["impl Freeze for RADIO_STATUS_DATA",1,["mavlink::common::RADIO_STATUS_DATA"]],["impl Freeze for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::common::RESPONSE_EVENT_ERROR_DATA"]],["impl Freeze for SIM_STATE_DATA",1,["mavlink::common::SIM_STATE_DATA"]],["impl Freeze for FENCE_STATUS_DATA",1,["mavlink::common::FENCE_STATUS_DATA"]],["impl Freeze for RESOURCE_REQUEST_DATA",1,["mavlink::common::RESOURCE_REQUEST_DATA"]],["impl Freeze for TERRAIN_DATA_DATA",1,["mavlink::common::TERRAIN_DATA_DATA"]],["impl Freeze for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::common::VICON_POSITION_ESTIMATE_DATA"]],["impl Freeze for EXTENDED_SYS_STATE_DATA",1,["mavlink::common::EXTENDED_SYS_STATE_DATA"]],["impl Freeze for HEARTBEAT_DATA",1,["mavlink::common::HEARTBEAT_DATA"]],["impl Freeze for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::common::VIDEO_STREAM_INFORMATION_DATA"]],["impl Freeze for MISSION_REQUEST_INT_DATA",1,["mavlink::common::MISSION_REQUEST_INT_DATA"]],["impl Freeze for CAN_FILTER_MODIFY_DATA",1,["mavlink::common::CAN_FILTER_MODIFY_DATA"]],["impl Freeze for MISSION_ITEM_INT_DATA",1,["mavlink::common::MISSION_ITEM_INT_DATA"]],["impl Freeze for HIGHRES_IMU_DATA",1,["mavlink::common::HIGHRES_IMU_DATA"]],["impl Freeze for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Freeze for DEBUG_DATA",1,["mavlink::common::DEBUG_DATA"]],["impl Freeze for CAMERA_SETTINGS_DATA",1,["mavlink::common::CAMERA_SETTINGS_DATA"]],["impl Freeze for MISSION_REQUEST_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_LIST_DATA"]],["impl Freeze for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Freeze for SCALED_IMU_DATA",1,["mavlink::common::SCALED_IMU_DATA"]],["impl Freeze for WIND_COV_DATA",1,["mavlink::common::WIND_COV_DATA"]],["impl Freeze for MISSION_REQUEST_DATA",1,["mavlink::common::MISSION_REQUEST_DATA"]],["impl Freeze for SERIAL_CONTROL_DATA",1,["mavlink::common::SERIAL_CONTROL_DATA"]],["impl Freeze for PARAM_REQUEST_READ_DATA",1,["mavlink::common::PARAM_REQUEST_READ_DATA"]],["impl Freeze for GPS2_RTK_DATA",1,["mavlink::common::GPS2_RTK_DATA"]],["impl Freeze for COMMAND_ACK_DATA",1,["mavlink::common::COMMAND_ACK_DATA"]],["impl Freeze for POWER_STATUS_DATA",1,["mavlink::common::POWER_STATUS_DATA"]],["impl Freeze for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::common::GIMBAL_MANAGER_STATUS_DATA"]],["impl Freeze for GLOBAL_POSITION_INT_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_DATA"]],["impl Freeze for PARAM_SET_DATA",1,["mavlink::common::PARAM_SET_DATA"]],["impl Freeze for OPTICAL_FLOW_DATA",1,["mavlink::common::OPTICAL_FLOW_DATA"]],["impl Freeze for RC_CHANNELS_SCALED_DATA",1,["mavlink::common::RC_CHANNELS_SCALED_DATA"]],["impl Freeze for GPS_INJECT_DATA_DATA",1,["mavlink::common::GPS_INJECT_DATA_DATA"]],["impl Freeze for PARAM_VALUE_DATA",1,["mavlink::common::PARAM_VALUE_DATA"]],["impl Freeze for RC_CHANNELS_DATA",1,["mavlink::common::RC_CHANNELS_DATA"]],["impl Freeze for ESTIMATOR_STATUS_DATA",1,["mavlink::common::ESTIMATOR_STATUS_DATA"]],["impl Freeze for TIMESYNC_DATA",1,["mavlink::common::TIMESYNC_DATA"]],["impl Freeze for SCALED_PRESSURE3_DATA",1,["mavlink::common::SCALED_PRESSURE3_DATA"]],["impl Freeze for DATA_STREAM_DATA",1,["mavlink::common::DATA_STREAM_DATA"]],["impl Freeze for HOME_POSITION_DATA",1,["mavlink::common::HOME_POSITION_DATA"]],["impl Freeze for MEMORY_VECT_DATA",1,["mavlink::common::MEMORY_VECT_DATA"]],["impl Freeze for NAMED_VALUE_FLOAT_DATA",1,["mavlink::common::NAMED_VALUE_FLOAT_DATA"]],["impl Freeze for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::common::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Freeze for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Freeze for STATUSTEXT_DATA",1,["mavlink::common::STATUSTEXT_DATA"]],["impl Freeze for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Freeze for UAVCAN_NODE_STATUS_DATA",1,["mavlink::common::UAVCAN_NODE_STATUS_DATA"]],["impl Freeze for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::GPS_GLOBAL_ORIGIN_DATA"]],["impl Freeze for EFI_STATUS_DATA",1,["mavlink::common::EFI_STATUS_DATA"]],["impl Freeze for ATTITUDE_QUATERNION_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_DATA"]],["impl Freeze for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::common::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Freeze for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Freeze for CELLULAR_STATUS_DATA",1,["mavlink::common::CELLULAR_STATUS_DATA"]],["impl Freeze for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::common::ORBIT_EXECUTION_STATUS_DATA"]],["impl Freeze for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::common::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Freeze for RAW_PRESSURE_DATA",1,["mavlink::common::RAW_PRESSURE_DATA"]],["impl Freeze for WINCH_STATUS_DATA",1,["mavlink::common::WINCH_STATUS_DATA"]],["impl Freeze for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Freeze for ATTITUDE_TARGET_DATA",1,["mavlink::common::ATTITUDE_TARGET_DATA"]],["impl Freeze for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::common::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Freeze for ISBD_LINK_STATUS_DATA",1,["mavlink::common::ISBD_LINK_STATUS_DATA"]],["impl Freeze for TUNNEL_DATA",1,["mavlink::common::TUNNEL_DATA"]],["impl Freeze for OBSTACLE_DISTANCE_DATA",1,["mavlink::common::OBSTACLE_DISTANCE_DATA"]],["impl Freeze for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_ALLOWED_AREA_DATA"]],["impl Freeze for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::common::DEBUG_FLOAT_ARRAY_DATA"]],["impl Freeze for SERVO_OUTPUT_RAW_DATA",1,["mavlink::common::SERVO_OUTPUT_RAW_DATA"]],["impl Freeze for DISTANCE_SENSOR_DATA",1,["mavlink::common::DISTANCE_SENSOR_DATA"]],["impl Freeze for PARAM_MAP_RC_DATA",1,["mavlink::common::PARAM_MAP_RC_DATA"]],["impl Freeze for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Freeze for GENERATOR_STATUS_DATA",1,["mavlink::common::GENERATOR_STATUS_DATA"]],["impl Freeze for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Freeze for CAN_FRAME_DATA",1,["mavlink::common::CAN_FRAME_DATA"]],["impl Freeze for SCALED_IMU2_DATA",1,["mavlink::common::SCALED_IMU2_DATA"]],["impl Freeze for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Freeze for COMMAND_LONG_DATA",1,["mavlink::common::COMMAND_LONG_DATA"]],["impl Freeze for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::common::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Freeze for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Freeze for HIL_CONTROLS_DATA",1,["mavlink::common::HIL_CONTROLS_DATA"]],["impl Freeze for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Freeze for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_COV_DATA"]],["impl Freeze for REQUEST_DATA_STREAM_DATA",1,["mavlink::common::REQUEST_DATA_STREAM_DATA"]],["impl Freeze for LOG_ERASE_DATA",1,["mavlink::common::LOG_ERASE_DATA"]],["impl Freeze for GPS_RTCM_DATA_DATA",1,["mavlink::common::GPS_RTCM_DATA_DATA"]],["impl Freeze for MOUNT_ORIENTATION_DATA",1,["mavlink::common::MOUNT_ORIENTATION_DATA"]],["impl Freeze for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Freeze for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::common::HIL_RC_INPUTS_RAW_DATA"]],["impl Freeze for MISSION_ITEM_REACHED_DATA",1,["mavlink::common::MISSION_ITEM_REACHED_DATA"]],["impl Freeze for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::common::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Freeze for SET_MODE_DATA",1,["mavlink::common::SET_MODE_DATA"]],["impl Freeze for LOG_REQUEST_LIST_DATA",1,["mavlink::common::LOG_REQUEST_LIST_DATA"]],["impl Freeze for HIGH_LATENCY2_DATA",1,["mavlink::common::HIGH_LATENCY2_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Freeze for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Freeze for SYSTEM_TIME_DATA",1,["mavlink::common::SYSTEM_TIME_DATA"]],["impl Freeze for MISSION_ITEM_DATA",1,["mavlink::common::MISSION_ITEM_DATA"]],["impl Freeze for STORAGE_INFORMATION_DATA",1,["mavlink::common::STORAGE_INFORMATION_DATA"]],["impl Freeze for GPS_RAW_INT_DATA",1,["mavlink::common::GPS_RAW_INT_DATA"]],["impl Freeze for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::common::LOCAL_POSITION_NED_COV_DATA"]],["impl Freeze for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::common::RC_CHANNELS_OVERRIDE_DATA"]],["impl Freeze for PROTOCOL_VERSION_DATA",1,["mavlink::common::PROTOCOL_VERSION_DATA"]],["impl Freeze for PARAM_EXT_VALUE_DATA",1,["mavlink::common::PARAM_EXT_VALUE_DATA"]],["impl Freeze for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::common::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Freeze for PARAM_EXT_SET_DATA",1,["mavlink::common::PARAM_EXT_SET_DATA"]],["impl Freeze for ESC_INFO_DATA",1,["mavlink::common::ESC_INFO_DATA"]],["impl Freeze for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Freeze for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::common::VISION_SPEED_ESTIMATE_DATA"]],["impl Freeze for LOGGING_DATA_ACKED_DATA",1,["mavlink::common::LOGGING_DATA_ACKED_DATA"]],["impl Freeze for ESC_STATUS_DATA",1,["mavlink::common::ESC_STATUS_DATA"]],["impl Freeze for PARAM_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_REQUEST_LIST_DATA"]],["impl Freeze for CAMERA_INFORMATION_DATA",1,["mavlink::common::CAMERA_INFORMATION_DATA"]],["impl Freeze for ATTITUDE_DATA",1,["mavlink::common::ATTITUDE_DATA"]],["impl Freeze for CELLULAR_CONFIG_DATA",1,["mavlink::common::CELLULAR_CONFIG_DATA"]],["impl Freeze for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Freeze for ALTITUDE_DATA",1,["mavlink::common::ALTITUDE_DATA"]],["impl Freeze for GPS2_RAW_DATA",1,["mavlink::common::GPS2_RAW_DATA"]],["impl Freeze for FOLLOW_TARGET_DATA",1,["mavlink::common::FOLLOW_TARGET_DATA"]],["impl Freeze for LINK_NODE_STATUS_DATA",1,["mavlink::common::LINK_NODE_STATUS_DATA"]],["impl Freeze for GPS_INPUT_DATA",1,["mavlink::common::GPS_INPUT_DATA"]],["impl Freeze for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::common::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Freeze for GPS_RTK_DATA",1,["mavlink::common::GPS_RTK_DATA"]],["impl Freeze for TERRAIN_CHECK_DATA",1,["mavlink::common::TERRAIN_CHECK_DATA"]],["impl Freeze for MANUAL_SETPOINT_DATA",1,["mavlink::common::MANUAL_SETPOINT_DATA"]],["impl Freeze for SCALED_IMU3_DATA",1,["mavlink::common::SCALED_IMU3_DATA"]],["impl Freeze for MAG_CAL_REPORT_DATA",1,["mavlink::common::MAG_CAL_REPORT_DATA"]],["impl Freeze for ADSB_VEHICLE_DATA",1,["mavlink::common::ADSB_VEHICLE_DATA"]],["impl Freeze for DEBUG_VECT_DATA",1,["mavlink::common::DEBUG_VECT_DATA"]],["impl Freeze for VIBRATION_DATA",1,["mavlink::common::VIBRATION_DATA"]],["impl Freeze for PLAY_TUNE_DATA",1,["mavlink::common::PLAY_TUNE_DATA"]],["impl Freeze for CAMERA_FOV_STATUS_DATA",1,["mavlink::common::CAMERA_FOV_STATUS_DATA"]],["impl Freeze for HIL_STATE_QUATERNION_DATA",1,["mavlink::common::HIL_STATE_QUATERNION_DATA"]],["impl Freeze for RAW_RPM_DATA",1,["mavlink::common::RAW_RPM_DATA"]],["impl Freeze for SYS_STATUS_DATA",1,["mavlink::common::SYS_STATUS_DATA"]],["impl Freeze for MISSION_ACK_DATA",1,["mavlink::common::MISSION_ACK_DATA"]],["impl Freeze for LOG_REQUEST_DATA_DATA",1,["mavlink::common::LOG_REQUEST_DATA_DATA"]],["impl Freeze for UTM_GLOBAL_POSITION_DATA",1,["mavlink::common::UTM_GLOBAL_POSITION_DATA"]],["impl Freeze for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Freeze for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::common::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Freeze for HIL_OPTICAL_FLOW_DATA",1,["mavlink::common::HIL_OPTICAL_FLOW_DATA"]],["impl Freeze for LOG_DATA_DATA",1,["mavlink::common::LOG_DATA_DATA"]],["impl Freeze for BUTTON_CHANGE_DATA",1,["mavlink::common::BUTTON_CHANGE_DATA"]],["impl Freeze for V2_EXTENSION_DATA",1,["mavlink::common::V2_EXTENSION_DATA"]],["impl Freeze for FLIGHT_INFORMATION_DATA",1,["mavlink::common::FLIGHT_INFORMATION_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Freeze for EVENT_DATA",1,["mavlink::common::EVENT_DATA"]],["impl Freeze for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Freeze for AUTH_KEY_DATA",1,["mavlink::common::AUTH_KEY_DATA"]],["impl Freeze for HYGROMETER_SENSOR_DATA",1,["mavlink::common::HYGROMETER_SENSOR_DATA"]],["impl Freeze for GPS_STATUS_DATA",1,["mavlink::common::GPS_STATUS_DATA"]],["impl Freeze for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::common::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Freeze for NAMED_VALUE_INT_DATA",1,["mavlink::common::NAMED_VALUE_INT_DATA"]],["impl Freeze for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::common::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Freeze for PLAY_TUNE_V2_DATA",1,["mavlink::common::PLAY_TUNE_V2_DATA"]],["impl Freeze for SET_ATTITUDE_TARGET_DATA",1,["mavlink::common::SET_ATTITUDE_TARGET_DATA"]],["impl Freeze for CANFD_FRAME_DATA",1,["mavlink::common::CANFD_FRAME_DATA"]],["impl Freeze for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::common::CAMERA_CAPTURE_STATUS_DATA"]],["impl Freeze for REQUEST_EVENT_DATA",1,["mavlink::common::REQUEST_EVENT_DATA"]],["impl Freeze for VFR_HUD_DATA",1,["mavlink::common::VFR_HUD_DATA"]],["impl Freeze for LOCAL_POSITION_NED_DATA",1,["mavlink::common::LOCAL_POSITION_NED_DATA"]],["impl Freeze for AUTOPILOT_VERSION_DATA",1,["mavlink::common::AUTOPILOT_VERSION_DATA"]],["impl Freeze for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::VISION_POSITION_ESTIMATE_DATA"]],["impl Freeze for UAVCAN_NODE_INFO_DATA",1,["mavlink::common::UAVCAN_NODE_INFO_DATA"]],["impl Freeze for TERRAIN_REQUEST_DATA",1,["mavlink::common::TERRAIN_REQUEST_DATA"]],["impl Freeze for PING_DATA",1,["mavlink::common::PING_DATA"]],["impl Freeze for MISSION_SET_CURRENT_DATA",1,["mavlink::common::MISSION_SET_CURRENT_DATA"]],["impl Freeze for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Freeze for HIGH_LATENCY_DATA",1,["mavlink::common::HIGH_LATENCY_DATA"]],["impl Freeze for MavMessage",1,["mavlink::common::MavMessage"]],["impl<'a> Freeze for Bytes<'a>",1,["mavlink::bytes::Bytes"]],["impl<'a> Freeze for BytesMut<'a>",1,["mavlink::bytes_mut::BytesMut"]],["impl Freeze for ParserError",1,["mavlink::error::ParserError"]],["impl Freeze for MessageReadError",1,["mavlink::error::MessageReadError"]],["impl Freeze for MessageWriteError",1,["mavlink::error::MessageWriteError"]],["impl Freeze for MavHeader",1,["mavlink::MavHeader"]],["impl Freeze for MavlinkVersion",1,["mavlink::MavlinkVersion"]],["impl<M> Freeze for MavFrame<M>where\n M: Freeze,",1,["mavlink::MavFrame"]],["impl Freeze for MAVLinkV1MessageRaw",1,["mavlink::MAVLinkV1MessageRaw"]],["impl Freeze for MAVLinkV2MessageRaw",1,["mavlink::MAVLinkV2MessageRaw"]]], +"mavlink":[["impl Freeze for IcarousTrackBandTypes",1,["mavlink::icarous::IcarousTrackBandTypes"]],["impl Freeze for IcarousFmsState",1,["mavlink::icarous::IcarousFmsState"]],["impl Freeze for ICAROUS_HEARTBEAT_DATA",1,["mavlink::icarous::ICAROUS_HEARTBEAT_DATA"]],["impl Freeze for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::icarous::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Freeze for MavMessage",1,["mavlink::icarous::MavMessage"]],["impl Freeze for GoproCharging",1,["mavlink::ardupilotmega::GoproCharging"]],["impl Freeze for GimbalAxisCalibrationStatus",1,["mavlink::ardupilotmega::GimbalAxisCalibrationStatus"]],["impl Freeze for EkfStatusFlags",1,["mavlink::ardupilotmega::EkfStatusFlags"]],["impl Freeze for GoproHeartbeatStatus",1,["mavlink::ardupilotmega::GoproHeartbeatStatus"]],["impl Freeze for PlaneMode",1,["mavlink::ardupilotmega::PlaneMode"]],["impl Freeze for CopterMode",1,["mavlink::ardupilotmega::CopterMode"]],["impl Freeze for SerialControlDev",1,["mavlink::ardupilotmega::SerialControlDev"]],["impl Freeze for FenceAction",1,["mavlink::ardupilotmega::FenceAction"]],["impl Freeze for PrecisionLandMode",1,["mavlink::ardupilotmega::PrecisionLandMode"]],["impl Freeze for SerialControlFlag",1,["mavlink::ardupilotmega::SerialControlFlag"]],["impl Freeze for CameraStatusTypes",1,["mavlink::ardupilotmega::CameraStatusTypes"]],["impl Freeze for MavModeFlagDecodePosition",1,["mavlink::ardupilotmega::MavModeFlagDecodePosition"]],["impl Freeze for GoproBurstRate",1,["mavlink::ardupilotmega::GoproBurstRate"]],["impl Freeze for MavLandedState",1,["mavlink::ardupilotmega::MavLandedState"]],["impl Freeze for CanFilterOp",1,["mavlink::ardupilotmega::CanFilterOp"]],["impl Freeze for MavOdidDescType",1,["mavlink::ardupilotmega::MavOdidDescType"]],["impl Freeze for ActuatorConfiguration",1,["mavlink::ardupilotmega::ActuatorConfiguration"]],["impl Freeze for FirmwareVersionType",1,["mavlink::ardupilotmega::FirmwareVersionType"]],["impl Freeze for RallyFlags",1,["mavlink::ardupilotmega::RallyFlags"]],["impl Freeze for GoproFrameRate",1,["mavlink::ardupilotmega::GoproFrameRate"]],["impl Freeze for EstimatorStatusFlags",1,["mavlink::ardupilotmega::EstimatorStatusFlags"]],["impl Freeze for EscConnectionType",1,["mavlink::ardupilotmega::EscConnectionType"]],["impl Freeze for MavMode",1,["mavlink::ardupilotmega::MavMode"]],["impl Freeze for MavOdidSpeedAcc",1,["mavlink::ardupilotmega::MavOdidSpeedAcc"]],["impl Freeze for HighresImuUpdatedFlags",1,["mavlink::ardupilotmega::HighresImuUpdatedFlags"]],["impl Freeze for FenceBreach",1,["mavlink::ardupilotmega::FenceBreach"]],["impl Freeze for MissionState",1,["mavlink::ardupilotmega::MissionState"]],["impl Freeze for MotorTestOrder",1,["mavlink::ardupilotmega::MotorTestOrder"]],["impl Freeze for MavEventErrorReason",1,["mavlink::ardupilotmega::MavEventErrorReason"]],["impl Freeze for TuneFormat",1,["mavlink::ardupilotmega::TuneFormat"]],["impl Freeze for RcType",1,["mavlink::ardupilotmega::RcType"]],["impl Freeze for MavFtpOpcode",1,["mavlink::ardupilotmega::MavFtpOpcode"]],["impl Freeze for GimbalDeviceFlags",1,["mavlink::ardupilotmega::GimbalDeviceFlags"]],["impl Freeze for MavEstimatorType",1,["mavlink::ardupilotmega::MavEstimatorType"]],["impl Freeze for UavcanNodeHealth",1,["mavlink::ardupilotmega::UavcanNodeHealth"]],["impl Freeze for UavionixAdsbOutRfSelect",1,["mavlink::ardupilotmega::UavionixAdsbOutRfSelect"]],["impl Freeze for MavGoto",1,["mavlink::ardupilotmega::MavGoto"]],["impl Freeze for MavGeneratorStatusFlag",1,["mavlink::ardupilotmega::MavGeneratorStatusFlag"]],["impl Freeze for SpeedType",1,["mavlink::ardupilotmega::SpeedType"]],["impl Freeze for GoproPhotoResolution",1,["mavlink::ardupilotmega::GoproPhotoResolution"]],["impl Freeze for MavBatteryFault",1,["mavlink::ardupilotmega::MavBatteryFault"]],["impl Freeze for MavCmdDoAuxFunctionSwitchLevel",1,["mavlink::ardupilotmega::MavCmdDoAuxFunctionSwitchLevel"]],["impl Freeze for MavSysStatusSensor",1,["mavlink::ardupilotmega::MavSysStatusSensor"]],["impl Freeze for WinchActions",1,["mavlink::ardupilotmega::WinchActions"]],["impl Freeze for MavFrame",1,["mavlink::ardupilotmega::MavFrame"]],["impl Freeze for CellularStatusFlag",1,["mavlink::ardupilotmega::CellularStatusFlag"]],["impl Freeze for CameraTrackingStatusFlags",1,["mavlink::ardupilotmega::CameraTrackingStatusFlags"]],["impl Freeze for MavOdidStatus",1,["mavlink::ardupilotmega::MavOdidStatus"]],["impl Freeze for AisNavStatus",1,["mavlink::ardupilotmega::AisNavStatus"]],["impl Freeze for MavWinchStatusFlag",1,["mavlink::ardupilotmega::MavWinchStatusFlag"]],["impl Freeze for MavOdidClassEu",1,["mavlink::ardupilotmega::MavOdidClassEu"]],["impl Freeze for MavModeGimbal",1,["mavlink::ardupilotmega::MavModeGimbal"]],["impl Freeze for CellularNetworkFailedReason",1,["mavlink::ardupilotmega::CellularNetworkFailedReason"]],["impl Freeze for GoproProtuneSharpness",1,["mavlink::ardupilotmega::GoproProtuneSharpness"]],["impl Freeze for GoproCommand",1,["mavlink::ardupilotmega::GoproCommand"]],["impl Freeze for GoproProtuneColour",1,["mavlink::ardupilotmega::GoproProtuneColour"]],["impl Freeze for GoproProtuneExposure",1,["mavlink::ardupilotmega::GoproProtuneExposure"]],["impl Freeze for PidTuningAxis",1,["mavlink::ardupilotmega::PidTuningAxis"]],["impl Freeze for PreflightStorageParameterAction",1,["mavlink::ardupilotmega::PreflightStorageParameterAction"]],["impl Freeze for AttitudeTargetTypemask",1,["mavlink::ardupilotmega::AttitudeTargetTypemask"]],["impl Freeze for UavionixAdsbEmergencyStatus",1,["mavlink::ardupilotmega::UavionixAdsbEmergencyStatus"]],["impl Freeze for LandingTargetType",1,["mavlink::ardupilotmega::LandingTargetType"]],["impl Freeze for MavCmd",1,["mavlink::ardupilotmega::MavCmd"]],["impl Freeze for GimbalManagerCapFlags",1,["mavlink::ardupilotmega::GimbalManagerCapFlags"]],["impl Freeze for MavOdidOperatorIdType",1,["mavlink::ardupilotmega::MavOdidOperatorIdType"]],["impl Freeze for HeadingType",1,["mavlink::ardupilotmega::HeadingType"]],["impl Freeze for CameraFeedbackFlags",1,["mavlink::ardupilotmega::CameraFeedbackFlags"]],["impl Freeze for MavDistanceSensor",1,["mavlink::ardupilotmega::MavDistanceSensor"]],["impl Freeze for UavionixAdsbOutCfgAircraftSize",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgAircraftSize"]],["impl Freeze for UavionixAdsbRfHealth",1,["mavlink::ardupilotmega::UavionixAdsbRfHealth"]],["impl Freeze for CellularNetworkRadioType",1,["mavlink::ardupilotmega::CellularNetworkRadioType"]],["impl Freeze for MavEventCurrentSequenceFlags",1,["mavlink::ardupilotmega::MavEventCurrentSequenceFlags"]],["impl Freeze for MavSysStatusSensorExtended",1,["mavlink::ardupilotmega::MavSysStatusSensorExtended"]],["impl Freeze for MavOdidHorAcc",1,["mavlink::ardupilotmega::MavOdidHorAcc"]],["impl Freeze for MagCalStatus",1,["mavlink::ardupilotmega::MagCalStatus"]],["impl Freeze for CameraZoomType",1,["mavlink::ardupilotmega::CameraZoomType"]],["impl Freeze for AdsbEmitterType",1,["mavlink::ardupilotmega::AdsbEmitterType"]],["impl Freeze for HlFailureFlag",1,["mavlink::ardupilotmega::HlFailureFlag"]],["impl Freeze for MavOdidCategoryEu",1,["mavlink::ardupilotmega::MavOdidCategoryEu"]],["impl Freeze for GimbalAxis",1,["mavlink::ardupilotmega::GimbalAxis"]],["impl Freeze for SubMode",1,["mavlink::ardupilotmega::SubMode"]],["impl Freeze for MavModeFlag",1,["mavlink::ardupilotmega::MavModeFlag"]],["impl Freeze for RoverMode",1,["mavlink::ardupilotmega::RoverMode"]],["impl Freeze for TrackerMode",1,["mavlink::ardupilotmega::TrackerMode"]],["impl Freeze for PreflightStorageMissionAction",1,["mavlink::ardupilotmega::PreflightStorageMissionAction"]],["impl Freeze for MavSensorOrientation",1,["mavlink::ardupilotmega::MavSensorOrientation"]],["impl Freeze for GoproProtuneWhiteBalance",1,["mavlink::ardupilotmega::GoproProtuneWhiteBalance"]],["impl Freeze for MotorTestThrottleType",1,["mavlink::ardupilotmega::MotorTestThrottleType"]],["impl Freeze for SetFocusType",1,["mavlink::ardupilotmega::SetFocusType"]],["impl Freeze for AdsbAltitudeType",1,["mavlink::ardupilotmega::AdsbAltitudeType"]],["impl Freeze for FailureUnit",1,["mavlink::ardupilotmega::FailureUnit"]],["impl Freeze for GoproModel",1,["mavlink::ardupilotmega::GoproModel"]],["impl Freeze for MavFtpErr",1,["mavlink::ardupilotmega::MavFtpErr"]],["impl Freeze for MavlinkDataStreamType",1,["mavlink::ardupilotmega::MavlinkDataStreamType"]],["impl Freeze for GpsFixType",1,["mavlink::ardupilotmega::GpsFixType"]],["impl Freeze for DeepstallStage",1,["mavlink::ardupilotmega::DeepstallStage"]],["impl Freeze for MavOdidVerAcc",1,["mavlink::ardupilotmega::MavOdidVerAcc"]],["impl Freeze for VideoStreamStatusFlags",1,["mavlink::ardupilotmega::VideoStreamStatusFlags"]],["impl Freeze for LedControlPattern",1,["mavlink::ardupilotmega::LedControlPattern"]],["impl Freeze for StorageUsageFlag",1,["mavlink::ardupilotmega::StorageUsageFlag"]],["impl Freeze for GpsInputIgnoreFlags",1,["mavlink::ardupilotmega::GpsInputIgnoreFlags"]],["impl Freeze for MavParamType",1,["mavlink::ardupilotmega::MavParamType"]],["impl Freeze for CameraMode",1,["mavlink::ardupilotmega::CameraMode"]],["impl Freeze for DeviceOpBustype",1,["mavlink::ardupilotmega::DeviceOpBustype"]],["impl Freeze for CameraTrackingTargetData",1,["mavlink::ardupilotmega::CameraTrackingTargetData"]],["impl Freeze for MavBatteryMode",1,["mavlink::ardupilotmega::MavBatteryMode"]],["impl Freeze for GoproProtuneGain",1,["mavlink::ardupilotmega::GoproProtuneGain"]],["impl Freeze for AdsbFlags",1,["mavlink::ardupilotmega::AdsbFlags"]],["impl Freeze for MavType",1,["mavlink::ardupilotmega::MavType"]],["impl Freeze for LimitModule",1,["mavlink::ardupilotmega::LimitModule"]],["impl Freeze for GoproRequestStatus",1,["mavlink::ardupilotmega::GoproRequestStatus"]],["impl Freeze for MavRemoteLogDataBlockStatuses",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockStatuses"]],["impl Freeze for MavParamExtType",1,["mavlink::ardupilotmega::MavParamExtType"]],["impl Freeze for GimbalDeviceCapFlags",1,["mavlink::ardupilotmega::GimbalDeviceCapFlags"]],["impl Freeze for StorageType",1,["mavlink::ardupilotmega::StorageType"]],["impl Freeze for MavBatteryFunction",1,["mavlink::ardupilotmega::MavBatteryFunction"]],["impl Freeze for RtkBaselineCoordinateSystem",1,["mavlink::ardupilotmega::RtkBaselineCoordinateSystem"]],["impl Freeze for UtmFlightState",1,["mavlink::ardupilotmega::UtmFlightState"]],["impl Freeze for GimbalManagerFlags",1,["mavlink::ardupilotmega::GimbalManagerFlags"]],["impl Freeze for MavResult",1,["mavlink::ardupilotmega::MavResult"]],["impl Freeze for GripperActions",1,["mavlink::ardupilotmega::GripperActions"]],["impl Freeze for EscFailureFlags",1,["mavlink::ardupilotmega::EscFailureFlags"]],["impl Freeze for CellularConfigResponse",1,["mavlink::ardupilotmega::CellularConfigResponse"]],["impl Freeze for IcarousTrackBandTypes",1,["mavlink::ardupilotmega::IcarousTrackBandTypes"]],["impl Freeze for OrbitYawBehaviour",1,["mavlink::ardupilotmega::OrbitYawBehaviour"]],["impl Freeze for AccelcalVehiclePos",1,["mavlink::ardupilotmega::AccelcalVehiclePos"]],["impl Freeze for IcarousFmsState",1,["mavlink::ardupilotmega::IcarousFmsState"]],["impl Freeze for GoproVideoSettingsFlags",1,["mavlink::ardupilotmega::GoproVideoSettingsFlags"]],["impl Freeze for ScriptingCmd",1,["mavlink::ardupilotmega::ScriptingCmd"]],["impl Freeze for MavCollisionAction",1,["mavlink::ardupilotmega::MavCollisionAction"]],["impl Freeze for MavDoRepositionFlags",1,["mavlink::ardupilotmega::MavDoRepositionFlags"]],["impl Freeze for ParachuteAction",1,["mavlink::ardupilotmega::ParachuteAction"]],["impl Freeze for MavOdidIdType",1,["mavlink::ardupilotmega::MavOdidIdType"]],["impl Freeze for MavOdidOperatorLocationType",1,["mavlink::ardupilotmega::MavOdidOperatorLocationType"]],["impl Freeze for GoproResolution",1,["mavlink::ardupilotmega::GoproResolution"]],["impl Freeze for VtolTransitionHeading",1,["mavlink::ardupilotmega::VtolTransitionHeading"]],["impl Freeze for MavRoi",1,["mavlink::ardupilotmega::MavRoi"]],["impl Freeze for OsdParamConfigError",1,["mavlink::ardupilotmega::OsdParamConfigError"]],["impl Freeze for CameraCapFlags",1,["mavlink::ardupilotmega::CameraCapFlags"]],["impl Freeze for GimbalDeviceErrorFlags",1,["mavlink::ardupilotmega::GimbalDeviceErrorFlags"]],["impl Freeze for MavState",1,["mavlink::ardupilotmega::MavState"]],["impl Freeze for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Freeze for PositionTargetTypemask",1,["mavlink::ardupilotmega::PositionTargetTypemask"]],["impl Freeze for MavDataStream",1,["mavlink::ardupilotmega::MavDataStream"]],["impl Freeze for UavionixAdsbOutDynamicGpsFix",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicGpsFix"]],["impl Freeze for ActuatorOutputFunction",1,["mavlink::ardupilotmega::ActuatorOutputFunction"]],["impl Freeze for MavSeverity",1,["mavlink::ardupilotmega::MavSeverity"]],["impl Freeze for MavOdidUaType",1,["mavlink::ardupilotmega::MavOdidUaType"]],["impl Freeze for GimbalAxisCalibrationRequired",1,["mavlink::ardupilotmega::GimbalAxisCalibrationRequired"]],["impl Freeze for ParamAck",1,["mavlink::ardupilotmega::ParamAck"]],["impl Freeze for VideoStreamType",1,["mavlink::ardupilotmega::VideoStreamType"]],["impl Freeze for MavOdidClassificationType",1,["mavlink::ardupilotmega::MavOdidClassificationType"]],["impl Freeze for StorageStatus",1,["mavlink::ardupilotmega::StorageStatus"]],["impl Freeze for MavArmAuthDeniedReason",1,["mavlink::ardupilotmega::MavArmAuthDeniedReason"]],["impl Freeze for MavTunnelPayloadType",1,["mavlink::ardupilotmega::MavTunnelPayloadType"]],["impl Freeze for MavMissionType",1,["mavlink::ardupilotmega::MavMissionType"]],["impl Freeze for AisType",1,["mavlink::ardupilotmega::AisType"]],["impl Freeze for MavVtolState",1,["mavlink::ardupilotmega::MavVtolState"]],["impl Freeze for HilSensorUpdatedFlags",1,["mavlink::ardupilotmega::HilSensorUpdatedFlags"]],["impl Freeze for MavComponent",1,["mavlink::ardupilotmega::MavComponent"]],["impl Freeze for MavProtocolCapability",1,["mavlink::ardupilotmega::MavProtocolCapability"]],["impl Freeze for MavOdidHeightRef",1,["mavlink::ardupilotmega::MavOdidHeightRef"]],["impl Freeze for FenceMitigate",1,["mavlink::ardupilotmega::FenceMitigate"]],["impl Freeze for MavOdidAuthType",1,["mavlink::ardupilotmega::MavOdidAuthType"]],["impl Freeze for MavMissionResult",1,["mavlink::ardupilotmega::MavMissionResult"]],["impl Freeze for FailureType",1,["mavlink::ardupilotmega::FailureType"]],["impl Freeze for AisFlags",1,["mavlink::ardupilotmega::AisFlags"]],["impl Freeze for MavOdidArmStatus",1,["mavlink::ardupilotmega::MavOdidArmStatus"]],["impl Freeze for OsdParamConfigType",1,["mavlink::ardupilotmega::OsdParamConfigType"]],["impl Freeze for WifiConfigApMode",1,["mavlink::ardupilotmega::WifiConfigApMode"]],["impl Freeze for NavVtolLandOptions",1,["mavlink::ardupilotmega::NavVtolLandOptions"]],["impl Freeze for GoproHeartbeatFlags",1,["mavlink::ardupilotmega::GoproHeartbeatFlags"]],["impl Freeze for GoproCaptureMode",1,["mavlink::ardupilotmega::GoproCaptureMode"]],["impl Freeze for MavRemoteLogDataBlockCommands",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockCommands"]],["impl Freeze for MavCollisionThreatLevel",1,["mavlink::ardupilotmega::MavCollisionThreatLevel"]],["impl Freeze for UtmDataAvailFlags",1,["mavlink::ardupilotmega::UtmDataAvailFlags"]],["impl Freeze for GoproFieldOfView",1,["mavlink::ardupilotmega::GoproFieldOfView"]],["impl Freeze for MavPowerStatus",1,["mavlink::ardupilotmega::MavPowerStatus"]],["impl Freeze for MavBatteryType",1,["mavlink::ardupilotmega::MavBatteryType"]],["impl Freeze for UavcanNodeMode",1,["mavlink::ardupilotmega::UavcanNodeMode"]],["impl Freeze for MavAutopilot",1,["mavlink::ardupilotmega::MavAutopilot"]],["impl Freeze for MavOdidTimeAcc",1,["mavlink::ardupilotmega::MavOdidTimeAcc"]],["impl Freeze for MavCollisionSrc",1,["mavlink::ardupilotmega::MavCollisionSrc"]],["impl Freeze for CompMetadataType",1,["mavlink::ardupilotmega::CompMetadataType"]],["impl Freeze for UavionixAdsbOutDynamicState",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicState"]],["impl Freeze for CameraTrackingMode",1,["mavlink::ardupilotmega::CameraTrackingMode"]],["impl Freeze for MavCmdAck",1,["mavlink::ardupilotmega::MavCmdAck"]],["impl Freeze for WifiConfigApResponse",1,["mavlink::ardupilotmega::WifiConfigApResponse"]],["impl Freeze for MavBatteryChargeState",1,["mavlink::ardupilotmega::MavBatteryChargeState"]],["impl Freeze for AutotuneAxis",1,["mavlink::ardupilotmega::AutotuneAxis"]],["impl Freeze for MavMountMode",1,["mavlink::ardupilotmega::MavMountMode"]],["impl Freeze for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Freeze for LimitsState",1,["mavlink::ardupilotmega::LimitsState"]],["impl Freeze for LOG_REQUEST_DATA_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_DATA_DATA"]],["impl Freeze for AUTH_KEY_DATA",1,["mavlink::ardupilotmega::AUTH_KEY_DATA"]],["impl Freeze for MISSION_REQUEST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_DATA"]],["impl Freeze for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Freeze for CELLULAR_CONFIG_DATA",1,["mavlink::ardupilotmega::CELLULAR_CONFIG_DATA"]],["impl Freeze for SCALED_PRESSURE3_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE3_DATA"]],["impl Freeze for CUBEPILOT_RAW_RC_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_RAW_RC_DATA"]],["impl Freeze for LED_CONTROL_DATA",1,["mavlink::ardupilotmega::LED_CONTROL_DATA"]],["impl Freeze for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::GPS_GLOBAL_ORIGIN_DATA"]],["impl Freeze for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_STATUS_DATA"]],["impl Freeze for AIS_VESSEL_DATA",1,["mavlink::ardupilotmega::AIS_VESSEL_DATA"]],["impl Freeze for SCALED_IMU_DATA",1,["mavlink::ardupilotmega::SCALED_IMU_DATA"]],["impl Freeze for CAMERA_INFORMATION_DATA",1,["mavlink::ardupilotmega::CAMERA_INFORMATION_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Freeze for SUPPORTED_TUNES_DATA",1,["mavlink::ardupilotmega::SUPPORTED_TUNES_DATA"]],["impl Freeze for RANGEFINDER_DATA",1,["mavlink::ardupilotmega::RANGEFINDER_DATA"]],["impl Freeze for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Freeze for GENERATOR_STATUS_DATA",1,["mavlink::ardupilotmega::GENERATOR_STATUS_DATA"]],["impl Freeze for COLLISION_DATA",1,["mavlink::ardupilotmega::COLLISION_DATA"]],["impl Freeze for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Freeze for MISSION_REQUEST_INT_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_INT_DATA"]],["impl Freeze for TERRAIN_DATA_DATA",1,["mavlink::ardupilotmega::TERRAIN_DATA_DATA"]],["impl Freeze for REMOTE_LOG_DATA_BLOCK_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_DATA_BLOCK_DATA"]],["impl Freeze for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::ardupilotmega::DEBUG_FLOAT_ARRAY_DATA"]],["impl Freeze for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Freeze for OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_DATA"]],["impl Freeze for VIDEO_STREAM_STATUS_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_STATUS_DATA"]],["impl Freeze for SCALED_PRESSURE_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE_DATA"]],["impl Freeze for HIGHRES_IMU_DATA",1,["mavlink::ardupilotmega::HIGHRES_IMU_DATA"]],["impl Freeze for GPS_RTCM_DATA_DATA",1,["mavlink::ardupilotmega::GPS_RTCM_DATA_DATA"]],["impl Freeze for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Freeze for WIND_DATA",1,["mavlink::ardupilotmega::WIND_DATA"]],["impl Freeze for RALLY_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_FETCH_POINT_DATA"]],["impl Freeze for FOLLOW_TARGET_DATA",1,["mavlink::ardupilotmega::FOLLOW_TARGET_DATA"]],["impl Freeze for GOPRO_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::GOPRO_HEARTBEAT_DATA"]],["impl Freeze for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_CAPTURE_STATUS_DATA"]],["impl Freeze for MESSAGE_INTERVAL_DATA",1,["mavlink::ardupilotmega::MESSAGE_INTERVAL_DATA"]],["impl Freeze for MEMORY_VECT_DATA",1,["mavlink::ardupilotmega::MEMORY_VECT_DATA"]],["impl Freeze for ENCAPSULATED_DATA_DATA",1,["mavlink::ardupilotmega::ENCAPSULATED_DATA_DATA"]],["impl Freeze for PARAM_MAP_RC_DATA",1,["mavlink::ardupilotmega::PARAM_MAP_RC_DATA"]],["impl Freeze for LOGGING_ACK_DATA",1,["mavlink::ardupilotmega::LOGGING_ACK_DATA"]],["impl Freeze for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Freeze for PROTOCOL_VERSION_DATA",1,["mavlink::ardupilotmega::PROTOCOL_VERSION_DATA"]],["impl Freeze for ATTITUDE_DATA",1,["mavlink::ardupilotmega::ATTITUDE_DATA"]],["impl Freeze for AOA_SSA_DATA",1,["mavlink::ardupilotmega::AOA_SSA_DATA"]],["impl Freeze for ESC_TELEMETRY_1_TO_4_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_1_TO_4_DATA"]],["impl Freeze for LOGGING_DATA_ACKED_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_ACKED_DATA"]],["impl Freeze for PLAY_TUNE_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_DATA"]],["impl Freeze for SIM_STATE_DATA",1,["mavlink::ardupilotmega::SIM_STATE_DATA"]],["impl Freeze for MANUAL_SETPOINT_DATA",1,["mavlink::ardupilotmega::MANUAL_SETPOINT_DATA"]],["impl Freeze for VIBRATION_DATA",1,["mavlink::ardupilotmega::VIBRATION_DATA"]],["impl Freeze for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::ardupilotmega::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Freeze for DEEPSTALL_DATA",1,["mavlink::ardupilotmega::DEEPSTALL_DATA"]],["impl Freeze for MAG_CAL_REPORT_DATA",1,["mavlink::ardupilotmega::MAG_CAL_REPORT_DATA"]],["impl Freeze for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::ardupilotmega::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Freeze for SCALED_IMU2_DATA",1,["mavlink::ardupilotmega::SCALED_IMU2_DATA"]],["impl Freeze for GOPRO_GET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_REQUEST_DATA"]],["impl Freeze for COMMAND_INT_DATA",1,["mavlink::ardupilotmega::COMMAND_INT_DATA"]],["impl Freeze for UAVCAN_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_STATUS_DATA"]],["impl Freeze for ODOMETRY_DATA",1,["mavlink::ardupilotmega::ODOMETRY_DATA"]],["impl Freeze for HIGH_LATENCY2_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY2_DATA"]],["impl Freeze for REQUEST_EVENT_DATA",1,["mavlink::ardupilotmega::REQUEST_EVENT_DATA"]],["impl Freeze for ICAROUS_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::ICAROUS_HEARTBEAT_DATA"]],["impl Freeze for MISSION_COUNT_DATA",1,["mavlink::ardupilotmega::MISSION_COUNT_DATA"]],["impl Freeze for AIRSPEED_AUTOCAL_DATA",1,["mavlink::ardupilotmega::AIRSPEED_AUTOCAL_DATA"]],["impl Freeze for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_READ_DATA"]],["impl Freeze for CELLULAR_STATUS_DATA",1,["mavlink::ardupilotmega::CELLULAR_STATUS_DATA"]],["impl Freeze for COMPASSMOT_STATUS_DATA",1,["mavlink::ardupilotmega::COMPASSMOT_STATUS_DATA"]],["impl Freeze for GPS_RAW_INT_DATA",1,["mavlink::ardupilotmega::GPS_RAW_INT_DATA"]],["impl Freeze for WIND_COV_DATA",1,["mavlink::ardupilotmega::WIND_COV_DATA"]],["impl Freeze for V2_EXTENSION_DATA",1,["mavlink::ardupilotmega::V2_EXTENSION_DATA"]],["impl Freeze for WHEEL_DISTANCE_DATA",1,["mavlink::ardupilotmega::WHEEL_DISTANCE_DATA"]],["impl Freeze for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Freeze for OSD_PARAM_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_REPLY_DATA"]],["impl Freeze for AHRS2_DATA",1,["mavlink::ardupilotmega::AHRS2_DATA"]],["impl Freeze for BATTERY2_DATA",1,["mavlink::ardupilotmega::BATTERY2_DATA"]],["impl Freeze for LOG_REQUEST_END_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_END_DATA"]],["impl Freeze for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::ardupilotmega::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Freeze for LOCAL_POSITION_NED_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_DATA"]],["impl Freeze for PID_TUNING_DATA",1,["mavlink::ardupilotmega::PID_TUNING_DATA"]],["impl Freeze for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Freeze for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::ardupilotmega::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Freeze for ESC_INFO_DATA",1,["mavlink::ardupilotmega::ESC_INFO_DATA"]],["impl Freeze for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Freeze for CAMERA_TRIGGER_DATA",1,["mavlink::ardupilotmega::CAMERA_TRIGGER_DATA"]],["impl Freeze for GPS_INPUT_DATA",1,["mavlink::ardupilotmega::GPS_INPUT_DATA"]],["impl Freeze for BATTERY_STATUS_DATA",1,["mavlink::ardupilotmega::BATTERY_STATUS_DATA"]],["impl Freeze for FENCE_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_FETCH_POINT_DATA"]],["impl Freeze for SYS_STATUS_DATA",1,["mavlink::ardupilotmega::SYS_STATUS_DATA"]],["impl Freeze for ISBD_LINK_STATUS_DATA",1,["mavlink::ardupilotmega::ISBD_LINK_STATUS_DATA"]],["impl Freeze for DEBUG_VECT_DATA",1,["mavlink::ardupilotmega::DEBUG_VECT_DATA"]],["impl Freeze for SIMSTATE_DATA",1,["mavlink::ardupilotmega::SIMSTATE_DATA"]],["impl Freeze for FENCE_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_POINT_DATA"]],["impl Freeze for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"]],["impl Freeze for SETUP_SIGNING_DATA",1,["mavlink::ardupilotmega::SETUP_SIGNING_DATA"]],["impl Freeze for COMPONENT_METADATA_DATA",1,["mavlink::ardupilotmega::COMPONENT_METADATA_DATA"]],["impl Freeze for CAMERA_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_STATUS_DATA"]],["impl Freeze for DATA96_DATA",1,["mavlink::ardupilotmega::DATA96_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Freeze for ALTITUDE_DATA",1,["mavlink::ardupilotmega::ALTITUDE_DATA"]],["impl Freeze for OBSTACLE_DISTANCE_3D_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_3D_DATA"]],["impl Freeze for HERELINK_TELEM_DATA",1,["mavlink::ardupilotmega::HERELINK_TELEM_DATA"]],["impl Freeze for GPS_STATUS_DATA",1,["mavlink::ardupilotmega::GPS_STATUS_DATA"]],["impl Freeze for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_OVERRIDE_DATA"]],["impl Freeze for RPM_DATA",1,["mavlink::ardupilotmega::RPM_DATA"]],["impl Freeze for CANFD_FRAME_DATA",1,["mavlink::ardupilotmega::CANFD_FRAME_DATA"]],["impl Freeze for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Freeze for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Freeze for AUTOPILOT_VERSION_REQUEST_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_REQUEST_DATA"]],["impl Freeze for LOGGING_DATA_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_DATA"]],["impl Freeze for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Freeze for DIGICAM_CONTROL_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONTROL_DATA"]],["impl Freeze for FENCE_STATUS_DATA",1,["mavlink::ardupilotmega::FENCE_STATUS_DATA"]],["impl Freeze for MISSION_ITEM_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_DATA"]],["impl Freeze for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Freeze for ATTITUDE_QUATERNION_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_DATA"]],["impl Freeze for AUTOPILOT_VERSION_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_DATA"]],["impl Freeze for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Freeze for HIL_OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::HIL_OPTICAL_FLOW_DATA"]],["impl Freeze for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::ardupilotmega::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Freeze for PLAY_TUNE_V2_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_V2_DATA"]],["impl Freeze for GIMBAL_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_REPORT_DATA"]],["impl Freeze for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Freeze for HOME_POSITION_DATA",1,["mavlink::ardupilotmega::HOME_POSITION_DATA"]],["impl Freeze for DATA64_DATA",1,["mavlink::ardupilotmega::DATA64_DATA"]],["impl Freeze for ESC_STATUS_DATA",1,["mavlink::ardupilotmega::ESC_STATUS_DATA"]],["impl Freeze for PARAM_EXT_SET_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_SET_DATA"]],["impl Freeze for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_SPEED_ESTIMATE_DATA"]],["impl Freeze for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Freeze for DISTANCE_SENSOR_DATA",1,["mavlink::ardupilotmega::DISTANCE_SENSOR_DATA"]],["impl Freeze for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Freeze for ATT_POS_MOCAP_DATA",1,["mavlink::ardupilotmega::ATT_POS_MOCAP_DATA"]],["impl Freeze for SET_MAG_OFFSETS_DATA",1,["mavlink::ardupilotmega::SET_MAG_OFFSETS_DATA"]],["impl Freeze for LINK_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::LINK_NODE_STATUS_DATA"]],["impl Freeze for MISSION_ACK_DATA",1,["mavlink::ardupilotmega::MISSION_ACK_DATA"]],["impl Freeze for HWSTATUS_DATA",1,["mavlink::ardupilotmega::HWSTATUS_DATA"]],["impl Freeze for PARAM_SET_DATA",1,["mavlink::ardupilotmega::PARAM_SET_DATA"]],["impl Freeze for CAMERA_FEEDBACK_DATA",1,["mavlink::ardupilotmega::CAMERA_FEEDBACK_DATA"]],["impl Freeze for COMPONENT_INFORMATION_DATA",1,["mavlink::ardupilotmega::COMPONENT_INFORMATION_DATA"]],["impl Freeze for SET_ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ATTITUDE_TARGET_DATA"]],["impl Freeze for OSD_PARAM_SHOW_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_REPLY_DATA"]],["impl Freeze for RADIO_STATUS_DATA",1,["mavlink::ardupilotmega::RADIO_STATUS_DATA"]],["impl Freeze for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::ardupilotmega::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Freeze for MISSION_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_LIST_DATA"]],["impl Freeze for UTM_GLOBAL_POSITION_DATA",1,["mavlink::ardupilotmega::UTM_GLOBAL_POSITION_DATA"]],["impl Freeze for HIL_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_CONTROLS_DATA"]],["impl Freeze for SERVO_OUTPUT_RAW_DATA",1,["mavlink::ardupilotmega::SERVO_OUTPUT_RAW_DATA"]],["impl Freeze for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Freeze for UAVCAN_NODE_INFO_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_INFO_DATA"]],["impl Freeze for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_COV_DATA"]],["impl Freeze for STATUSTEXT_DATA",1,["mavlink::ardupilotmega::STATUSTEXT_DATA"]],["impl Freeze for GOPRO_SET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_REQUEST_DATA"]],["impl Freeze for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Freeze for OPTICAL_FLOW_RAD_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_RAD_DATA"]],["impl Freeze for LANDING_TARGET_DATA",1,["mavlink::ardupilotmega::LANDING_TARGET_DATA"]],["impl Freeze for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Freeze for LOG_DATA_DATA",1,["mavlink::ardupilotmega::LOG_DATA_DATA"]],["impl Freeze for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Freeze for SENSOR_OFFSETS_DATA",1,["mavlink::ardupilotmega::SENSOR_OFFSETS_DATA"]],["impl Freeze for WIFI_CONFIG_AP_DATA",1,["mavlink::ardupilotmega::WIFI_CONFIG_AP_DATA"]],["impl Freeze for DEVICE_OP_READ_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_DATA"]],["impl Freeze for GPS_RTK_DATA",1,["mavlink::ardupilotmega::GPS_RTK_DATA"]],["impl Freeze for PARAM_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_LIST_DATA"]],["impl Freeze for HERELINK_VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::HERELINK_VIDEO_STREAM_INFORMATION_DATA"]],["impl Freeze for REMOTE_LOG_BLOCK_STATUS_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_BLOCK_STATUS_DATA"]],["impl Freeze for COMMAND_ACK_DATA",1,["mavlink::ardupilotmega::COMMAND_ACK_DATA"]],["impl Freeze for CAMERA_SETTINGS_DATA",1,["mavlink::ardupilotmega::CAMERA_SETTINGS_DATA"]],["impl Freeze for RAW_IMU_DATA",1,["mavlink::ardupilotmega::RAW_IMU_DATA"]],["impl Freeze for RADIO_DATA",1,["mavlink::ardupilotmega::RADIO_DATA"]],["impl Freeze for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_ALLOWED_AREA_DATA"]],["impl Freeze for CUBEPILOT_FIRMWARE_UPDATE_START_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_START_DATA"]],["impl Freeze for DEVICE_OP_WRITE_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_DATA"]],["impl Freeze for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Freeze for GIMBAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_CONTROL_DATA"]],["impl Freeze for MISSION_CLEAR_ALL_DATA",1,["mavlink::ardupilotmega::MISSION_CLEAR_ALL_DATA"]],["impl Freeze for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::ardupilotmega::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Freeze for RESOURCE_REQUEST_DATA",1,["mavlink::ardupilotmega::RESOURCE_REQUEST_DATA"]],["impl Freeze for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_COV_DATA"]],["impl Freeze for STORAGE_INFORMATION_DATA",1,["mavlink::ardupilotmega::STORAGE_INFORMATION_DATA"]],["impl Freeze for SYSTEM_TIME_DATA",1,["mavlink::ardupilotmega::SYSTEM_TIME_DATA"]],["impl Freeze for MISSION_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_CURRENT_DATA"]],["impl Freeze for LOG_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_LIST_DATA"]],["impl Freeze for MAG_CAL_PROGRESS_DATA",1,["mavlink::ardupilotmega::MAG_CAL_PROGRESS_DATA"]],["impl Freeze for GPS2_RTK_DATA",1,["mavlink::ardupilotmega::GPS2_RTK_DATA"]],["impl Freeze for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Freeze for LOG_ENTRY_DATA",1,["mavlink::ardupilotmega::LOG_ENTRY_DATA"]],["impl Freeze for MISSION_ITEM_REACHED_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_REACHED_DATA"]],["impl Freeze for TERRAIN_CHECK_DATA",1,["mavlink::ardupilotmega::TERRAIN_CHECK_DATA"]],["impl Freeze for HEARTBEAT_DATA",1,["mavlink::ardupilotmega::HEARTBEAT_DATA"]],["impl Freeze for CAN_FILTER_MODIFY_DATA",1,["mavlink::ardupilotmega::CAN_FILTER_MODIFY_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Freeze for FLIGHT_INFORMATION_DATA",1,["mavlink::ardupilotmega::FLIGHT_INFORMATION_DATA"]],["impl Freeze for VFR_HUD_DATA",1,["mavlink::ardupilotmega::VFR_HUD_DATA"]],["impl Freeze for MOUNT_CONTROL_DATA",1,["mavlink::ardupilotmega::MOUNT_CONTROL_DATA"]],["impl Freeze for WATER_DEPTH_DATA",1,["mavlink::ardupilotmega::WATER_DEPTH_DATA"]],["impl Freeze for SET_MODE_DATA",1,["mavlink::ardupilotmega::SET_MODE_DATA"]],["impl Freeze for OSD_PARAM_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_DATA"]],["impl Freeze for PING_DATA",1,["mavlink::ardupilotmega::PING_DATA"]],["impl Freeze for PARAM_EXT_ACK_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_ACK_DATA"]],["impl Freeze for TIMESYNC_DATA",1,["mavlink::ardupilotmega::TIMESYNC_DATA"]],["impl Freeze for ESC_TELEMETRY_5_TO_8_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_5_TO_8_DATA"]],["impl Freeze for RAW_PRESSURE_DATA",1,["mavlink::ardupilotmega::RAW_PRESSURE_DATA"]],["impl Freeze for SMART_BATTERY_INFO_DATA",1,["mavlink::ardupilotmega::SMART_BATTERY_INFO_DATA"]],["impl Freeze for OBSTACLE_DISTANCE_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_DATA"]],["impl Freeze for CAMERA_FOV_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_FOV_STATUS_DATA"]],["impl Freeze for ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::ATTITUDE_TARGET_DATA"]],["impl Freeze for GPS2_RAW_DATA",1,["mavlink::ardupilotmega::GPS2_RAW_DATA"]],["impl Freeze for RC_CHANNELS_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_DATA"]],["impl Freeze for DATA_STREAM_DATA",1,["mavlink::ardupilotmega::DATA_STREAM_DATA"]],["impl Freeze for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_INFORMATION_DATA"]],["impl Freeze for HIL_GPS_DATA",1,["mavlink::ardupilotmega::HIL_GPS_DATA"]],["impl Freeze for VISION_POSITION_DELTA_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_DELTA_DATA"]],["impl Freeze for TERRAIN_REQUEST_DATA",1,["mavlink::ardupilotmega::TERRAIN_REQUEST_DATA"]],["impl Freeze for HIGH_LATENCY_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY_DATA"]],["impl Freeze for TUNNEL_DATA",1,["mavlink::ardupilotmega::TUNNEL_DATA"]],["impl Freeze for LIMITS_STATUS_DATA",1,["mavlink::ardupilotmega::LIMITS_STATUS_DATA"]],["impl Freeze for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Freeze for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Freeze for RC_CHANNELS_SCALED_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_SCALED_DATA"]],["impl Freeze for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Freeze for MOUNT_ORIENTATION_DATA",1,["mavlink::ardupilotmega::MOUNT_ORIENTATION_DATA"]],["impl Freeze for GLOBAL_POSITION_INT_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_DATA"]],["impl Freeze for DEVICE_OP_READ_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_REPLY_DATA"]],["impl Freeze for SERIAL_CONTROL_DATA",1,["mavlink::ardupilotmega::SERIAL_CONTROL_DATA"]],["impl Freeze for CAN_FRAME_DATA",1,["mavlink::ardupilotmega::CAN_FRAME_DATA"]],["impl Freeze for AHRS3_DATA",1,["mavlink::ardupilotmega::AHRS3_DATA"]],["impl Freeze for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Freeze for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Freeze for SCALED_IMU3_DATA",1,["mavlink::ardupilotmega::SCALED_IMU3_DATA"]],["impl Freeze for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Freeze for MISSION_ITEM_INT_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_INT_DATA"]],["impl Freeze for ADAP_TUNING_DATA",1,["mavlink::ardupilotmega::ADAP_TUNING_DATA"]],["impl Freeze for EFI_STATUS_DATA",1,["mavlink::ardupilotmega::EFI_STATUS_DATA"]],["impl Freeze for TERRAIN_REPORT_DATA",1,["mavlink::ardupilotmega::TERRAIN_REPORT_DATA"]],["impl Freeze for SCALED_PRESSURE2_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE2_DATA"]],["impl Freeze for SET_HOME_POSITION_DATA",1,["mavlink::ardupilotmega::SET_HOME_POSITION_DATA"]],["impl Freeze for AP_ADC_DATA",1,["mavlink::ardupilotmega::AP_ADC_DATA"]],["impl Freeze for GIMBAL_TORQUE_CMD_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_TORQUE_CMD_REPORT_DATA"]],["impl Freeze for GOPRO_SET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_RESPONSE_DATA"]],["impl Freeze for ESC_TELEMETRY_9_TO_12_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_9_TO_12_DATA"]],["impl Freeze for HYGROMETER_SENSOR_DATA",1,["mavlink::ardupilotmega::HYGROMETER_SENSOR_DATA"]],["impl Freeze for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::ardupilotmega::CONTROL_SYSTEM_STATE_DATA"]],["impl Freeze for BUTTON_CHANGE_DATA",1,["mavlink::ardupilotmega::BUTTON_CHANGE_DATA"]],["impl Freeze for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VICON_POSITION_ESTIMATE_DATA"]],["impl Freeze for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::ardupilotmega::HIL_RC_INPUTS_RAW_DATA"]],["impl Freeze for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Freeze for HIL_STATE_DATA",1,["mavlink::ardupilotmega::HIL_STATE_DATA"]],["impl Freeze for GOPRO_GET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_RESPONSE_DATA"]],["impl Freeze for POWER_STATUS_DATA",1,["mavlink::ardupilotmega::POWER_STATUS_DATA"]],["impl Freeze for AHRS_DATA",1,["mavlink::ardupilotmega::AHRS_DATA"]],["impl Freeze for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Freeze for LOG_ERASE_DATA",1,["mavlink::ardupilotmega::LOG_ERASE_DATA"]],["impl Freeze for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Freeze for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::ardupilotmega::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Freeze for ADSB_VEHICLE_DATA",1,["mavlink::ardupilotmega::ADSB_VEHICLE_DATA"]],["impl Freeze for GPS_INJECT_DATA_DATA",1,["mavlink::ardupilotmega::GPS_INJECT_DATA_DATA"]],["impl Freeze for NAMED_VALUE_INT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_INT_DATA"]],["impl Freeze for DIGICAM_CONFIGURE_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONFIGURE_DATA"]],["impl Freeze for EKF_STATUS_REPORT_DATA",1,["mavlink::ardupilotmega::EKF_STATUS_REPORT_DATA"]],["impl Freeze for OSD_PARAM_SHOW_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_DATA"]],["impl Freeze for REQUEST_DATA_STREAM_DATA",1,["mavlink::ardupilotmega::REQUEST_DATA_STREAM_DATA"]],["impl Freeze for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Freeze for HIL_SENSOR_DATA",1,["mavlink::ardupilotmega::HIL_SENSOR_DATA"]],["impl Freeze for WINCH_STATUS_DATA",1,["mavlink::ardupilotmega::WINCH_STATUS_DATA"]],["impl Freeze for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Freeze for MOUNT_CONFIGURE_DATA",1,["mavlink::ardupilotmega::MOUNT_CONFIGURE_DATA"]],["impl Freeze for DATA32_DATA",1,["mavlink::ardupilotmega::DATA32_DATA"]],["impl Freeze for COMMAND_LONG_DATA",1,["mavlink::ardupilotmega::COMMAND_LONG_DATA"]],["impl Freeze for NAMED_VALUE_FLOAT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_FLOAT_DATA"]],["impl Freeze for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Freeze for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_ESTIMATE_DATA"]],["impl Freeze for MEMINFO_DATA",1,["mavlink::ardupilotmega::MEMINFO_DATA"]],["impl Freeze for DEVICE_OP_WRITE_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_REPLY_DATA"]],["impl Freeze for COMMAND_CANCEL_DATA",1,["mavlink::ardupilotmega::COMMAND_CANCEL_DATA"]],["impl Freeze for RC_CHANNELS_RAW_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_RAW_DATA"]],["impl Freeze for PARAM_EXT_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_VALUE_DATA"]],["impl Freeze for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::ardupilotmega::RESPONSE_EVENT_ERROR_DATA"]],["impl Freeze for MISSION_SET_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_SET_CURRENT_DATA"]],["impl Freeze for HIL_STATE_QUATERNION_DATA",1,["mavlink::ardupilotmega::HIL_STATE_QUATERNION_DATA"]],["impl Freeze for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Freeze for ESTIMATOR_STATUS_DATA",1,["mavlink::ardupilotmega::ESTIMATOR_STATUS_DATA"]],["impl Freeze for PARAM_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_VALUE_DATA"]],["impl Freeze for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::ardupilotmega::ORBIT_EXECUTION_STATUS_DATA"]],["impl Freeze for RALLY_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_POINT_DATA"]],["impl Freeze for MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::MANUAL_CONTROL_DATA"]],["impl Freeze for EXTENDED_SYS_STATE_DATA",1,["mavlink::ardupilotmega::EXTENDED_SYS_STATE_DATA"]],["impl Freeze for DATA16_DATA",1,["mavlink::ardupilotmega::DATA16_DATA"]],["impl Freeze for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::ardupilotmega::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Freeze for MOUNT_STATUS_DATA",1,["mavlink::ardupilotmega::MOUNT_STATUS_DATA"]],["impl Freeze for DEBUG_DATA",1,["mavlink::ardupilotmega::DEBUG_DATA"]],["impl Freeze for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Freeze for EVENT_DATA",1,["mavlink::ardupilotmega::EVENT_DATA"]],["impl Freeze for MCU_STATUS_DATA",1,["mavlink::ardupilotmega::MCU_STATUS_DATA"]],["impl Freeze for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_COV_DATA"]],["impl Freeze for RAW_RPM_DATA",1,["mavlink::ardupilotmega::RAW_RPM_DATA"]],["impl Freeze for PARAM_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_READ_DATA"]],["impl Freeze for MavMessage",1,["mavlink::ardupilotmega::MavMessage"]],["impl Freeze for FailureType",1,["mavlink::uavionix::FailureType"]],["impl Freeze for MavOdidHeightRef",1,["mavlink::uavionix::MavOdidHeightRef"]],["impl Freeze for PreflightStorageParameterAction",1,["mavlink::uavionix::PreflightStorageParameterAction"]],["impl Freeze for MavFtpErr",1,["mavlink::uavionix::MavFtpErr"]],["impl Freeze for EscFailureFlags",1,["mavlink::uavionix::EscFailureFlags"]],["impl Freeze for AdsbFlags",1,["mavlink::uavionix::AdsbFlags"]],["impl Freeze for VtolTransitionHeading",1,["mavlink::uavionix::VtolTransitionHeading"]],["impl Freeze for MavAutopilot",1,["mavlink::uavionix::MavAutopilot"]],["impl Freeze for VideoStreamType",1,["mavlink::uavionix::VideoStreamType"]],["impl Freeze for GimbalDeviceErrorFlags",1,["mavlink::uavionix::GimbalDeviceErrorFlags"]],["impl Freeze for CameraZoomType",1,["mavlink::uavionix::CameraZoomType"]],["impl Freeze for MavMissionResult",1,["mavlink::uavionix::MavMissionResult"]],["impl Freeze for MavOdidHorAcc",1,["mavlink::uavionix::MavOdidHorAcc"]],["impl Freeze for MavMode",1,["mavlink::uavionix::MavMode"]],["impl Freeze for SetFocusType",1,["mavlink::uavionix::SetFocusType"]],["impl Freeze for CellularNetworkRadioType",1,["mavlink::uavionix::CellularNetworkRadioType"]],["impl Freeze for UavionixAdsbEmergencyStatus",1,["mavlink::uavionix::UavionixAdsbEmergencyStatus"]],["impl Freeze for ParamAck",1,["mavlink::uavionix::ParamAck"]],["impl Freeze for AutotuneAxis",1,["mavlink::uavionix::AutotuneAxis"]],["impl Freeze for UavcanNodeMode",1,["mavlink::uavionix::UavcanNodeMode"]],["impl Freeze for MavCollisionAction",1,["mavlink::uavionix::MavCollisionAction"]],["impl Freeze for SerialControlDev",1,["mavlink::uavionix::SerialControlDev"]],["impl Freeze for HlFailureFlag",1,["mavlink::uavionix::HlFailureFlag"]],["impl Freeze for LandingTargetType",1,["mavlink::uavionix::LandingTargetType"]],["impl Freeze for MavRoi",1,["mavlink::uavionix::MavRoi"]],["impl Freeze for PositionTargetTypemask",1,["mavlink::uavionix::PositionTargetTypemask"]],["impl Freeze for MissionState",1,["mavlink::uavionix::MissionState"]],["impl Freeze for CameraTrackingMode",1,["mavlink::uavionix::CameraTrackingMode"]],["impl Freeze for CellularConfigResponse",1,["mavlink::uavionix::CellularConfigResponse"]],["impl Freeze for MavBatteryMode",1,["mavlink::uavionix::MavBatteryMode"]],["impl Freeze for MavOdidCategoryEu",1,["mavlink::uavionix::MavOdidCategoryEu"]],["impl Freeze for MavEstimatorType",1,["mavlink::uavionix::MavEstimatorType"]],["impl Freeze for UtmFlightState",1,["mavlink::uavionix::UtmFlightState"]],["impl Freeze for UtmDataAvailFlags",1,["mavlink::uavionix::UtmDataAvailFlags"]],["impl Freeze for AisFlags",1,["mavlink::uavionix::AisFlags"]],["impl Freeze for ActuatorOutputFunction",1,["mavlink::uavionix::ActuatorOutputFunction"]],["impl Freeze for MavSensorOrientation",1,["mavlink::uavionix::MavSensorOrientation"]],["impl Freeze for MavOdidClassEu",1,["mavlink::uavionix::MavOdidClassEu"]],["impl Freeze for MavOdidClassificationType",1,["mavlink::uavionix::MavOdidClassificationType"]],["impl Freeze for CanFilterOp",1,["mavlink::uavionix::CanFilterOp"]],["impl Freeze for RcType",1,["mavlink::uavionix::RcType"]],["impl Freeze for GimbalManagerFlags",1,["mavlink::uavionix::GimbalManagerFlags"]],["impl Freeze for CameraCapFlags",1,["mavlink::uavionix::CameraCapFlags"]],["impl Freeze for MavSysStatusSensor",1,["mavlink::uavionix::MavSysStatusSensor"]],["impl Freeze for MavMissionType",1,["mavlink::uavionix::MavMissionType"]],["impl Freeze for MavOdidOperatorLocationType",1,["mavlink::uavionix::MavOdidOperatorLocationType"]],["impl Freeze for VideoStreamStatusFlags",1,["mavlink::uavionix::VideoStreamStatusFlags"]],["impl Freeze for MavCmdAck",1,["mavlink::uavionix::MavCmdAck"]],["impl Freeze for StorageType",1,["mavlink::uavionix::StorageType"]],["impl Freeze for UavionixAdsbOutDynamicState",1,["mavlink::uavionix::UavionixAdsbOutDynamicState"]],["impl Freeze for CellularStatusFlag",1,["mavlink::uavionix::CellularStatusFlag"]],["impl Freeze for RtkBaselineCoordinateSystem",1,["mavlink::uavionix::RtkBaselineCoordinateSystem"]],["impl Freeze for MavParamExtType",1,["mavlink::uavionix::MavParamExtType"]],["impl Freeze for FailureUnit",1,["mavlink::uavionix::FailureUnit"]],["impl Freeze for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Freeze for MavLandedState",1,["mavlink::uavionix::MavLandedState"]],["impl Freeze for MavModeFlag",1,["mavlink::uavionix::MavModeFlag"]],["impl Freeze for WinchActions",1,["mavlink::uavionix::WinchActions"]],["impl Freeze for UavcanNodeHealth",1,["mavlink::uavionix::UavcanNodeHealth"]],["impl Freeze for AisType",1,["mavlink::uavionix::AisType"]],["impl Freeze for MavParamType",1,["mavlink::uavionix::MavParamType"]],["impl Freeze for MavOdidUaType",1,["mavlink::uavionix::MavOdidUaType"]],["impl Freeze for MavComponent",1,["mavlink::uavionix::MavComponent"]],["impl Freeze for GripperActions",1,["mavlink::uavionix::GripperActions"]],["impl Freeze for NavVtolLandOptions",1,["mavlink::uavionix::NavVtolLandOptions"]],["impl Freeze for MavFtpOpcode",1,["mavlink::uavionix::MavFtpOpcode"]],["impl Freeze for MavProtocolCapability",1,["mavlink::uavionix::MavProtocolCapability"]],["impl Freeze for WifiConfigApResponse",1,["mavlink::uavionix::WifiConfigApResponse"]],["impl Freeze for MavDataStream",1,["mavlink::uavionix::MavDataStream"]],["impl Freeze for MavBatteryChargeState",1,["mavlink::uavionix::MavBatteryChargeState"]],["impl Freeze for WifiConfigApMode",1,["mavlink::uavionix::WifiConfigApMode"]],["impl Freeze for AdsbAltitudeType",1,["mavlink::uavionix::AdsbAltitudeType"]],["impl Freeze for GimbalManagerCapFlags",1,["mavlink::uavionix::GimbalManagerCapFlags"]],["impl Freeze for MavCollisionSrc",1,["mavlink::uavionix::MavCollisionSrc"]],["impl Freeze for CameraTrackingStatusFlags",1,["mavlink::uavionix::CameraTrackingStatusFlags"]],["impl Freeze for MavDoRepositionFlags",1,["mavlink::uavionix::MavDoRepositionFlags"]],["impl Freeze for CellularNetworkFailedReason",1,["mavlink::uavionix::CellularNetworkFailedReason"]],["impl Freeze for MavOdidTimeAcc",1,["mavlink::uavionix::MavOdidTimeAcc"]],["impl Freeze for MavOdidSpeedAcc",1,["mavlink::uavionix::MavOdidSpeedAcc"]],["impl Freeze for MavOdidStatus",1,["mavlink::uavionix::MavOdidStatus"]],["impl Freeze for MagCalStatus",1,["mavlink::uavionix::MagCalStatus"]],["impl Freeze for MavType",1,["mavlink::uavionix::MavType"]],["impl Freeze for FenceBreach",1,["mavlink::uavionix::FenceBreach"]],["impl Freeze for AisNavStatus",1,["mavlink::uavionix::AisNavStatus"]],["impl Freeze for MavBatteryFault",1,["mavlink::uavionix::MavBatteryFault"]],["impl Freeze for MavOdidArmStatus",1,["mavlink::uavionix::MavOdidArmStatus"]],["impl Freeze for GimbalDeviceCapFlags",1,["mavlink::uavionix::GimbalDeviceCapFlags"]],["impl Freeze for PreflightStorageMissionAction",1,["mavlink::uavionix::PreflightStorageMissionAction"]],["impl Freeze for HighresImuUpdatedFlags",1,["mavlink::uavionix::HighresImuUpdatedFlags"]],["impl Freeze for CameraMode",1,["mavlink::uavionix::CameraMode"]],["impl Freeze for SerialControlFlag",1,["mavlink::uavionix::SerialControlFlag"]],["impl Freeze for AdsbEmitterType",1,["mavlink::uavionix::AdsbEmitterType"]],["impl Freeze for PrecisionLandMode",1,["mavlink::uavionix::PrecisionLandMode"]],["impl Freeze for CameraTrackingTargetData",1,["mavlink::uavionix::CameraTrackingTargetData"]],["impl Freeze for StorageStatus",1,["mavlink::uavionix::StorageStatus"]],["impl Freeze for MavState",1,["mavlink::uavionix::MavState"]],["impl Freeze for MavArmAuthDeniedReason",1,["mavlink::uavionix::MavArmAuthDeniedReason"]],["impl Freeze for EstimatorStatusFlags",1,["mavlink::uavionix::EstimatorStatusFlags"]],["impl Freeze for OrbitYawBehaviour",1,["mavlink::uavionix::OrbitYawBehaviour"]],["impl Freeze for MavSysStatusSensorExtended",1,["mavlink::uavionix::MavSysStatusSensorExtended"]],["impl Freeze for MavSeverity",1,["mavlink::uavionix::MavSeverity"]],["impl Freeze for MavCmd",1,["mavlink::uavionix::MavCmd"]],["impl Freeze for MavMountMode",1,["mavlink::uavionix::MavMountMode"]],["impl Freeze for MavOdidOperatorIdType",1,["mavlink::uavionix::MavOdidOperatorIdType"]],["impl Freeze for MavOdidIdType",1,["mavlink::uavionix::MavOdidIdType"]],["impl Freeze for ActuatorConfiguration",1,["mavlink::uavionix::ActuatorConfiguration"]],["impl Freeze for MavEventErrorReason",1,["mavlink::uavionix::MavEventErrorReason"]],["impl Freeze for StorageUsageFlag",1,["mavlink::uavionix::StorageUsageFlag"]],["impl Freeze for MavPowerStatus",1,["mavlink::uavionix::MavPowerStatus"]],["impl Freeze for CompMetadataType",1,["mavlink::uavionix::CompMetadataType"]],["impl Freeze for MavCollisionThreatLevel",1,["mavlink::uavionix::MavCollisionThreatLevel"]],["impl Freeze for MavOdidAuthType",1,["mavlink::uavionix::MavOdidAuthType"]],["impl Freeze for MavOdidDescType",1,["mavlink::uavionix::MavOdidDescType"]],["impl Freeze for ParachuteAction",1,["mavlink::uavionix::ParachuteAction"]],["impl Freeze for AttitudeTargetTypemask",1,["mavlink::uavionix::AttitudeTargetTypemask"]],["impl Freeze for FenceMitigate",1,["mavlink::uavionix::FenceMitigate"]],["impl Freeze for UavionixAdsbOutRfSelect",1,["mavlink::uavionix::UavionixAdsbOutRfSelect"]],["impl Freeze for MavFrame",1,["mavlink::uavionix::MavFrame"]],["impl Freeze for MotorTestOrder",1,["mavlink::uavionix::MotorTestOrder"]],["impl Freeze for MavResult",1,["mavlink::uavionix::MavResult"]],["impl Freeze for MavGoto",1,["mavlink::uavionix::MavGoto"]],["impl Freeze for TuneFormat",1,["mavlink::uavionix::TuneFormat"]],["impl Freeze for MavlinkDataStreamType",1,["mavlink::uavionix::MavlinkDataStreamType"]],["impl Freeze for FenceAction",1,["mavlink::uavionix::FenceAction"]],["impl Freeze for MavEventCurrentSequenceFlags",1,["mavlink::uavionix::MavEventCurrentSequenceFlags"]],["impl Freeze for MavWinchStatusFlag",1,["mavlink::uavionix::MavWinchStatusFlag"]],["impl Freeze for GpsInputIgnoreFlags",1,["mavlink::uavionix::GpsInputIgnoreFlags"]],["impl Freeze for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Freeze for MavGeneratorStatusFlag",1,["mavlink::uavionix::MavGeneratorStatusFlag"]],["impl Freeze for UavionixAdsbOutDynamicGpsFix",1,["mavlink::uavionix::UavionixAdsbOutDynamicGpsFix"]],["impl Freeze for EscConnectionType",1,["mavlink::uavionix::EscConnectionType"]],["impl Freeze for MavDistanceSensor",1,["mavlink::uavionix::MavDistanceSensor"]],["impl Freeze for MavModeFlagDecodePosition",1,["mavlink::uavionix::MavModeFlagDecodePosition"]],["impl Freeze for GimbalDeviceFlags",1,["mavlink::uavionix::GimbalDeviceFlags"]],["impl Freeze for MotorTestThrottleType",1,["mavlink::uavionix::MotorTestThrottleType"]],["impl Freeze for UavionixAdsbOutCfgAircraftSize",1,["mavlink::uavionix::UavionixAdsbOutCfgAircraftSize"]],["impl Freeze for MavOdidVerAcc",1,["mavlink::uavionix::MavOdidVerAcc"]],["impl Freeze for MavBatteryType",1,["mavlink::uavionix::MavBatteryType"]],["impl Freeze for MavBatteryFunction",1,["mavlink::uavionix::MavBatteryFunction"]],["impl Freeze for GpsFixType",1,["mavlink::uavionix::GpsFixType"]],["impl Freeze for MavTunnelPayloadType",1,["mavlink::uavionix::MavTunnelPayloadType"]],["impl Freeze for HilSensorUpdatedFlags",1,["mavlink::uavionix::HilSensorUpdatedFlags"]],["impl Freeze for UavionixAdsbRfHealth",1,["mavlink::uavionix::UavionixAdsbRfHealth"]],["impl Freeze for MavVtolState",1,["mavlink::uavionix::MavVtolState"]],["impl Freeze for FirmwareVersionType",1,["mavlink::uavionix::FirmwareVersionType"]],["impl Freeze for MISSION_SET_CURRENT_DATA",1,["mavlink::uavionix::MISSION_SET_CURRENT_DATA"]],["impl Freeze for AUTH_KEY_DATA",1,["mavlink::uavionix::AUTH_KEY_DATA"]],["impl Freeze for ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::ATTITUDE_TARGET_DATA"]],["impl Freeze for SETUP_SIGNING_DATA",1,["mavlink::uavionix::SETUP_SIGNING_DATA"]],["impl Freeze for CELLULAR_CONFIG_DATA",1,["mavlink::uavionix::CELLULAR_CONFIG_DATA"]],["impl Freeze for UTM_GLOBAL_POSITION_DATA",1,["mavlink::uavionix::UTM_GLOBAL_POSITION_DATA"]],["impl Freeze for VFR_HUD_DATA",1,["mavlink::uavionix::VFR_HUD_DATA"]],["impl Freeze for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Freeze for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Freeze for ODOMETRY_DATA",1,["mavlink::uavionix::ODOMETRY_DATA"]],["impl Freeze for SERIAL_CONTROL_DATA",1,["mavlink::uavionix::SERIAL_CONTROL_DATA"]],["impl Freeze for RC_CHANNELS_SCALED_DATA",1,["mavlink::uavionix::RC_CHANNELS_SCALED_DATA"]],["impl Freeze for COMPONENT_INFORMATION_DATA",1,["mavlink::uavionix::COMPONENT_INFORMATION_DATA"]],["impl Freeze for PARAM_EXT_VALUE_DATA",1,["mavlink::uavionix::PARAM_EXT_VALUE_DATA"]],["impl Freeze for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Freeze for UAVCAN_NODE_INFO_DATA",1,["mavlink::uavionix::UAVCAN_NODE_INFO_DATA"]],["impl Freeze for CAMERA_SETTINGS_DATA",1,["mavlink::uavionix::CAMERA_SETTINGS_DATA"]],["impl Freeze for RADIO_STATUS_DATA",1,["mavlink::uavionix::RADIO_STATUS_DATA"]],["impl Freeze for GPS_RAW_INT_DATA",1,["mavlink::uavionix::GPS_RAW_INT_DATA"]],["impl Freeze for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::uavionix::CONTROL_SYSTEM_STATE_DATA"]],["impl Freeze for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Freeze for TUNNEL_DATA",1,["mavlink::uavionix::TUNNEL_DATA"]],["impl Freeze for LOG_REQUEST_LIST_DATA",1,["mavlink::uavionix::LOG_REQUEST_LIST_DATA"]],["impl Freeze for REQUEST_DATA_STREAM_DATA",1,["mavlink::uavionix::REQUEST_DATA_STREAM_DATA"]],["impl Freeze for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Freeze for CANFD_FRAME_DATA",1,["mavlink::uavionix::CANFD_FRAME_DATA"]],["impl Freeze for HIL_CONTROLS_DATA",1,["mavlink::uavionix::HIL_CONTROLS_DATA"]],["impl Freeze for POWER_STATUS_DATA",1,["mavlink::uavionix::POWER_STATUS_DATA"]],["impl Freeze for HIL_STATE_DATA",1,["mavlink::uavionix::HIL_STATE_DATA"]],["impl Freeze for LOGGING_DATA_DATA",1,["mavlink::uavionix::LOGGING_DATA_DATA"]],["impl Freeze for SMART_BATTERY_INFO_DATA",1,["mavlink::uavionix::SMART_BATTERY_INFO_DATA"]],["impl Freeze for RAW_PRESSURE_DATA",1,["mavlink::uavionix::RAW_PRESSURE_DATA"]],["impl Freeze for PARAM_EXT_SET_DATA",1,["mavlink::uavionix::PARAM_EXT_SET_DATA"]],["impl Freeze for VIBRATION_DATA",1,["mavlink::uavionix::VIBRATION_DATA"]],["impl Freeze for LOGGING_ACK_DATA",1,["mavlink::uavionix::LOGGING_ACK_DATA"]],["impl Freeze for SCALED_PRESSURE2_DATA",1,["mavlink::uavionix::SCALED_PRESSURE2_DATA"]],["impl Freeze for AUTOPILOT_VERSION_DATA",1,["mavlink::uavionix::AUTOPILOT_VERSION_DATA"]],["impl Freeze for NAMED_VALUE_FLOAT_DATA",1,["mavlink::uavionix::NAMED_VALUE_FLOAT_DATA"]],["impl Freeze for GPS_RTK_DATA",1,["mavlink::uavionix::GPS_RTK_DATA"]],["impl Freeze for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Freeze for COMMAND_CANCEL_DATA",1,["mavlink::uavionix::COMMAND_CANCEL_DATA"]],["impl Freeze for CAMERA_FOV_STATUS_DATA",1,["mavlink::uavionix::CAMERA_FOV_STATUS_DATA"]],["impl Freeze for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Freeze for LOG_ERASE_DATA",1,["mavlink::uavionix::LOG_ERASE_DATA"]],["impl Freeze for LOG_REQUEST_DATA_DATA",1,["mavlink::uavionix::LOG_REQUEST_DATA_DATA"]],["impl Freeze for LINK_NODE_STATUS_DATA",1,["mavlink::uavionix::LINK_NODE_STATUS_DATA"]],["impl Freeze for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Freeze for STORAGE_INFORMATION_DATA",1,["mavlink::uavionix::STORAGE_INFORMATION_DATA"]],["impl Freeze for LOGGING_DATA_ACKED_DATA",1,["mavlink::uavionix::LOGGING_DATA_ACKED_DATA"]],["impl Freeze for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::uavionix::DEBUG_FLOAT_ARRAY_DATA"]],["impl Freeze for SCALED_IMU2_DATA",1,["mavlink::uavionix::SCALED_IMU2_DATA"]],["impl Freeze for COLLISION_DATA",1,["mavlink::uavionix::COLLISION_DATA"]],["impl Freeze for MISSION_REQUEST_INT_DATA",1,["mavlink::uavionix::MISSION_REQUEST_INT_DATA"]],["impl Freeze for SERVO_OUTPUT_RAW_DATA",1,["mavlink::uavionix::SERVO_OUTPUT_RAW_DATA"]],["impl Freeze for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Freeze for TERRAIN_DATA_DATA",1,["mavlink::uavionix::TERRAIN_DATA_DATA"]],["impl Freeze for RC_CHANNELS_DATA",1,["mavlink::uavionix::RC_CHANNELS_DATA"]],["impl Freeze for HIL_SENSOR_DATA",1,["mavlink::uavionix::HIL_SENSOR_DATA"]],["impl Freeze for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Freeze for STATUSTEXT_DATA",1,["mavlink::uavionix::STATUSTEXT_DATA"]],["impl Freeze for RC_CHANNELS_RAW_DATA",1,["mavlink::uavionix::RC_CHANNELS_RAW_DATA"]],["impl Freeze for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_COV_DATA"]],["impl Freeze for MESSAGE_INTERVAL_DATA",1,["mavlink::uavionix::MESSAGE_INTERVAL_DATA"]],["impl Freeze for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_ALLOWED_AREA_DATA"]],["impl Freeze for EXTENDED_SYS_STATE_DATA",1,["mavlink::uavionix::EXTENDED_SYS_STATE_DATA"]],["impl Freeze for GPS_INJECT_DATA_DATA",1,["mavlink::uavionix::GPS_INJECT_DATA_DATA"]],["impl Freeze for HOME_POSITION_DATA",1,["mavlink::uavionix::HOME_POSITION_DATA"]],["impl Freeze for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_READ_DATA"]],["impl Freeze for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Freeze for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Freeze for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Freeze for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Freeze for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::uavionix::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Freeze for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::uavionix::RC_CHANNELS_OVERRIDE_DATA"]],["impl Freeze for SET_HOME_POSITION_DATA",1,["mavlink::uavionix::SET_HOME_POSITION_DATA"]],["impl Freeze for HIL_OPTICAL_FLOW_DATA",1,["mavlink::uavionix::HIL_OPTICAL_FLOW_DATA"]],["impl Freeze for V2_EXTENSION_DATA",1,["mavlink::uavionix::V2_EXTENSION_DATA"]],["impl Freeze for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::uavionix::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Freeze for PARAM_MAP_RC_DATA",1,["mavlink::uavionix::PARAM_MAP_RC_DATA"]],["impl Freeze for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::uavionix::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Freeze for BUTTON_CHANGE_DATA",1,["mavlink::uavionix::BUTTON_CHANGE_DATA"]],["impl Freeze for PARAM_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_REQUEST_LIST_DATA"]],["impl Freeze for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Freeze for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Freeze for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Freeze for BATTERY_STATUS_DATA",1,["mavlink::uavionix::BATTERY_STATUS_DATA"]],["impl Freeze for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Freeze for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Freeze for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Freeze for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::uavionix::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Freeze for HIGHRES_IMU_DATA",1,["mavlink::uavionix::HIGHRES_IMU_DATA"]],["impl Freeze for PARAM_EXT_ACK_DATA",1,["mavlink::uavionix::PARAM_EXT_ACK_DATA"]],["impl Freeze for TERRAIN_CHECK_DATA",1,["mavlink::uavionix::TERRAIN_CHECK_DATA"]],["impl Freeze for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::uavionix::HIL_RC_INPUTS_RAW_DATA"]],["impl Freeze for MISSION_ITEM_INT_DATA",1,["mavlink::uavionix::MISSION_ITEM_INT_DATA"]],["impl Freeze for ATT_POS_MOCAP_DATA",1,["mavlink::uavionix::ATT_POS_MOCAP_DATA"]],["impl Freeze for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Freeze for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::uavionix::RESPONSE_EVENT_ERROR_DATA"]],["impl Freeze for ATTITUDE_DATA",1,["mavlink::uavionix::ATTITUDE_DATA"]],["impl Freeze for TERRAIN_REQUEST_DATA",1,["mavlink::uavionix::TERRAIN_REQUEST_DATA"]],["impl Freeze for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::uavionix::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Freeze for LOCAL_POSITION_NED_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_DATA"]],["impl Freeze for TERRAIN_REPORT_DATA",1,["mavlink::uavionix::TERRAIN_REPORT_DATA"]],["impl Freeze for REQUEST_EVENT_DATA",1,["mavlink::uavionix::REQUEST_EVENT_DATA"]],["impl Freeze for ALTITUDE_DATA",1,["mavlink::uavionix::ALTITUDE_DATA"]],["impl Freeze for WIND_COV_DATA",1,["mavlink::uavionix::WIND_COV_DATA"]],["impl Freeze for GPS2_RAW_DATA",1,["mavlink::uavionix::GPS2_RAW_DATA"]],["impl Freeze for SYS_STATUS_DATA",1,["mavlink::uavionix::SYS_STATUS_DATA"]],["impl Freeze for SCALED_PRESSURE_DATA",1,["mavlink::uavionix::SCALED_PRESSURE_DATA"]],["impl Freeze for SET_ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::SET_ATTITUDE_TARGET_DATA"]],["impl Freeze for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_COV_DATA"]],["impl Freeze for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::uavionix::ORBIT_EXECUTION_STATUS_DATA"]],["impl Freeze for PARAM_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_REQUEST_READ_DATA"]],["impl Freeze for MEMORY_VECT_DATA",1,["mavlink::uavionix::MEMORY_VECT_DATA"]],["impl Freeze for SCALED_IMU_DATA",1,["mavlink::uavionix::SCALED_IMU_DATA"]],["impl Freeze for VIDEO_STREAM_STATUS_DATA",1,["mavlink::uavionix::VIDEO_STREAM_STATUS_DATA"]],["impl Freeze for GPS_STATUS_DATA",1,["mavlink::uavionix::GPS_STATUS_DATA"]],["impl Freeze for PING_DATA",1,["mavlink::uavionix::PING_DATA"]],["impl Freeze for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::uavionix::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Freeze for SCALED_PRESSURE3_DATA",1,["mavlink::uavionix::SCALED_PRESSURE3_DATA"]],["impl Freeze for WIFI_CONFIG_AP_DATA",1,["mavlink::uavionix::WIFI_CONFIG_AP_DATA"]],["impl Freeze for RAW_RPM_DATA",1,["mavlink::uavionix::RAW_RPM_DATA"]],["impl Freeze for MISSION_ITEM_REACHED_DATA",1,["mavlink::uavionix::MISSION_ITEM_REACHED_DATA"]],["impl Freeze for TIMESYNC_DATA",1,["mavlink::uavionix::TIMESYNC_DATA"]],["impl Freeze for MOUNT_ORIENTATION_DATA",1,["mavlink::uavionix::MOUNT_ORIENTATION_DATA"]],["impl Freeze for DATA_STREAM_DATA",1,["mavlink::uavionix::DATA_STREAM_DATA"]],["impl Freeze for ISBD_LINK_STATUS_DATA",1,["mavlink::uavionix::ISBD_LINK_STATUS_DATA"]],["impl Freeze for GPS2_RTK_DATA",1,["mavlink::uavionix::GPS2_RTK_DATA"]],["impl Freeze for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Freeze for HIL_GPS_DATA",1,["mavlink::uavionix::HIL_GPS_DATA"]],["impl Freeze for MISSION_CURRENT_DATA",1,["mavlink::uavionix::MISSION_CURRENT_DATA"]],["impl Freeze for PARAM_VALUE_DATA",1,["mavlink::uavionix::PARAM_VALUE_DATA"]],["impl Freeze for FENCE_STATUS_DATA",1,["mavlink::uavionix::FENCE_STATUS_DATA"]],["impl Freeze for HIL_STATE_QUATERNION_DATA",1,["mavlink::uavionix::HIL_STATE_QUATERNION_DATA"]],["impl Freeze for OBSTACLE_DISTANCE_DATA",1,["mavlink::uavionix::OBSTACLE_DISTANCE_DATA"]],["impl Freeze for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_CAPTURE_STATUS_DATA"]],["impl Freeze for DISTANCE_SENSOR_DATA",1,["mavlink::uavionix::DISTANCE_SENSOR_DATA"]],["impl Freeze for NAMED_VALUE_INT_DATA",1,["mavlink::uavionix::NAMED_VALUE_INT_DATA"]],["impl Freeze for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::uavionix::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Freeze for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Freeze for MISSION_REQUEST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_DATA"]],["impl Freeze for MISSION_REQUEST_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_LIST_DATA"]],["impl Freeze for LOG_DATA_DATA",1,["mavlink::uavionix::LOG_DATA_DATA"]],["impl Freeze for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Freeze for PROTOCOL_VERSION_DATA",1,["mavlink::uavionix::PROTOCOL_VERSION_DATA"]],["impl Freeze for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Freeze for LANDING_TARGET_DATA",1,["mavlink::uavionix::LANDING_TARGET_DATA"]],["impl Freeze for ESC_STATUS_DATA",1,["mavlink::uavionix::ESC_STATUS_DATA"]],["impl Freeze for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Freeze for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::GPS_GLOBAL_ORIGIN_DATA"]],["impl Freeze for PLAY_TUNE_V2_DATA",1,["mavlink::uavionix::PLAY_TUNE_V2_DATA"]],["impl Freeze for DEBUG_VECT_DATA",1,["mavlink::uavionix::DEBUG_VECT_DATA"]],["impl Freeze for LOG_REQUEST_END_DATA",1,["mavlink::uavionix::LOG_REQUEST_END_DATA"]],["impl Freeze for RESOURCE_REQUEST_DATA",1,["mavlink::uavionix::RESOURCE_REQUEST_DATA"]],["impl Freeze for ATTITUDE_QUATERNION_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_DATA"]],["impl Freeze for HYGROMETER_SENSOR_DATA",1,["mavlink::uavionix::HYGROMETER_SENSOR_DATA"]],["impl Freeze for ENCAPSULATED_DATA_DATA",1,["mavlink::uavionix::ENCAPSULATED_DATA_DATA"]],["impl Freeze for CAMERA_INFORMATION_DATA",1,["mavlink::uavionix::CAMERA_INFORMATION_DATA"]],["impl Freeze for ESC_INFO_DATA",1,["mavlink::uavionix::ESC_INFO_DATA"]],["impl Freeze for FLIGHT_INFORMATION_DATA",1,["mavlink::uavionix::FLIGHT_INFORMATION_DATA"]],["impl Freeze for HIGH_LATENCY2_DATA",1,["mavlink::uavionix::HIGH_LATENCY2_DATA"]],["impl Freeze for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_COV_DATA"]],["impl Freeze for SET_MODE_DATA",1,["mavlink::uavionix::SET_MODE_DATA"]],["impl Freeze for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Freeze for PARAM_SET_DATA",1,["mavlink::uavionix::PARAM_SET_DATA"]],["impl Freeze for SUPPORTED_TUNES_DATA",1,["mavlink::uavionix::SUPPORTED_TUNES_DATA"]],["impl Freeze for CAN_FILTER_MODIFY_DATA",1,["mavlink::uavionix::CAN_FILTER_MODIFY_DATA"]],["impl Freeze for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_POSITION_ESTIMATE_DATA"]],["impl Freeze for PLAY_TUNE_DATA",1,["mavlink::uavionix::PLAY_TUNE_DATA"]],["impl Freeze for HEARTBEAT_DATA",1,["mavlink::uavionix::HEARTBEAT_DATA"]],["impl Freeze for SIM_STATE_DATA",1,["mavlink::uavionix::SIM_STATE_DATA"]],["impl Freeze for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::uavionix::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Freeze for AIS_VESSEL_DATA",1,["mavlink::uavionix::AIS_VESSEL_DATA"]],["impl Freeze for CAMERA_TRIGGER_DATA",1,["mavlink::uavionix::CAMERA_TRIGGER_DATA"]],["impl Freeze for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Freeze for LOG_ENTRY_DATA",1,["mavlink::uavionix::LOG_ENTRY_DATA"]],["impl Freeze for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Freeze for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_STATUS_DATA"]],["impl Freeze for MANUAL_SETPOINT_DATA",1,["mavlink::uavionix::MANUAL_SETPOINT_DATA"]],["impl Freeze for GPS_RTCM_DATA_DATA",1,["mavlink::uavionix::GPS_RTCM_DATA_DATA"]],["impl Freeze for RAW_IMU_DATA",1,["mavlink::uavionix::RAW_IMU_DATA"]],["impl Freeze for COMMAND_INT_DATA",1,["mavlink::uavionix::COMMAND_INT_DATA"]],["impl Freeze for DEBUG_DATA",1,["mavlink::uavionix::DEBUG_DATA"]],["impl Freeze for MISSION_COUNT_DATA",1,["mavlink::uavionix::MISSION_COUNT_DATA"]],["impl Freeze for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_SPEED_ESTIMATE_DATA"]],["impl Freeze for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Freeze for GPS_INPUT_DATA",1,["mavlink::uavionix::GPS_INPUT_DATA"]],["impl Freeze for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Freeze for UAVCAN_NODE_STATUS_DATA",1,["mavlink::uavionix::UAVCAN_NODE_STATUS_DATA"]],["impl Freeze for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Freeze for COMMAND_ACK_DATA",1,["mavlink::uavionix::COMMAND_ACK_DATA"]],["impl Freeze for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Freeze for CELLULAR_STATUS_DATA",1,["mavlink::uavionix::CELLULAR_STATUS_DATA"]],["impl Freeze for SYSTEM_TIME_DATA",1,["mavlink::uavionix::SYSTEM_TIME_DATA"]],["impl Freeze for EFI_STATUS_DATA",1,["mavlink::uavionix::EFI_STATUS_DATA"]],["impl Freeze for COMMAND_LONG_DATA",1,["mavlink::uavionix::COMMAND_LONG_DATA"]],["impl Freeze for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Freeze for MAG_CAL_REPORT_DATA",1,["mavlink::uavionix::MAG_CAL_REPORT_DATA"]],["impl Freeze for WHEEL_DISTANCE_DATA",1,["mavlink::uavionix::WHEEL_DISTANCE_DATA"]],["impl Freeze for OPTICAL_FLOW_RAD_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_RAD_DATA"]],["impl Freeze for SCALED_IMU3_DATA",1,["mavlink::uavionix::SCALED_IMU3_DATA"]],["impl Freeze for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Freeze for GENERATOR_STATUS_DATA",1,["mavlink::uavionix::GENERATOR_STATUS_DATA"]],["impl Freeze for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VICON_POSITION_ESTIMATE_DATA"]],["impl Freeze for MISSION_ITEM_DATA",1,["mavlink::uavionix::MISSION_ITEM_DATA"]],["impl Freeze for MANUAL_CONTROL_DATA",1,["mavlink::uavionix::MANUAL_CONTROL_DATA"]],["impl Freeze for ESTIMATOR_STATUS_DATA",1,["mavlink::uavionix::ESTIMATOR_STATUS_DATA"]],["impl Freeze for ADSB_VEHICLE_DATA",1,["mavlink::uavionix::ADSB_VEHICLE_DATA"]],["impl Freeze for GLOBAL_POSITION_INT_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_DATA"]],["impl Freeze for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::uavionix::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Freeze for MISSION_CLEAR_ALL_DATA",1,["mavlink::uavionix::MISSION_CLEAR_ALL_DATA"]],["impl Freeze for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::uavionix::VIDEO_STREAM_INFORMATION_DATA"]],["impl Freeze for CAN_FRAME_DATA",1,["mavlink::uavionix::CAN_FRAME_DATA"]],["impl Freeze for EVENT_DATA",1,["mavlink::uavionix::EVENT_DATA"]],["impl Freeze for COMPONENT_METADATA_DATA",1,["mavlink::uavionix::COMPONENT_METADATA_DATA"]],["impl Freeze for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::uavionix::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Freeze for MISSION_ACK_DATA",1,["mavlink::uavionix::MISSION_ACK_DATA"]],["impl Freeze for OPTICAL_FLOW_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_DATA"]],["impl Freeze for WINCH_STATUS_DATA",1,["mavlink::uavionix::WINCH_STATUS_DATA"]],["impl Freeze for HIGH_LATENCY_DATA",1,["mavlink::uavionix::HIGH_LATENCY_DATA"]],["impl Freeze for FOLLOW_TARGET_DATA",1,["mavlink::uavionix::FOLLOW_TARGET_DATA"]],["impl Freeze for MavMessage",1,["mavlink::uavionix::MavMessage"]],["impl Freeze for MavOdidClassificationType",1,["mavlink::common::MavOdidClassificationType"]],["impl Freeze for NavVtolLandOptions",1,["mavlink::common::NavVtolLandOptions"]],["impl Freeze for MotorTestThrottleType",1,["mavlink::common::MotorTestThrottleType"]],["impl Freeze for ParachuteAction",1,["mavlink::common::ParachuteAction"]],["impl Freeze for HlFailureFlag",1,["mavlink::common::HlFailureFlag"]],["impl Freeze for MavSysStatusSensor",1,["mavlink::common::MavSysStatusSensor"]],["impl Freeze for MavLandedState",1,["mavlink::common::MavLandedState"]],["impl Freeze for FailureType",1,["mavlink::common::FailureType"]],["impl Freeze for MavOdidAuthType",1,["mavlink::common::MavOdidAuthType"]],["impl Freeze for RcType",1,["mavlink::common::RcType"]],["impl Freeze for MavModeFlag",1,["mavlink::common::MavModeFlag"]],["impl Freeze for EscFailureFlags",1,["mavlink::common::EscFailureFlags"]],["impl Freeze for MavAutopilot",1,["mavlink::common::MavAutopilot"]],["impl Freeze for WifiConfigApResponse",1,["mavlink::common::WifiConfigApResponse"]],["impl Freeze for CameraTrackingStatusFlags",1,["mavlink::common::CameraTrackingStatusFlags"]],["impl Freeze for FailureUnit",1,["mavlink::common::FailureUnit"]],["impl Freeze for MavCmd",1,["mavlink::common::MavCmd"]],["impl Freeze for UtmDataAvailFlags",1,["mavlink::common::UtmDataAvailFlags"]],["impl Freeze for MavBatteryMode",1,["mavlink::common::MavBatteryMode"]],["impl Freeze for StorageUsageFlag",1,["mavlink::common::StorageUsageFlag"]],["impl Freeze for MavDoRepositionFlags",1,["mavlink::common::MavDoRepositionFlags"]],["impl Freeze for MavSeverity",1,["mavlink::common::MavSeverity"]],["impl Freeze for MavOdidArmStatus",1,["mavlink::common::MavOdidArmStatus"]],["impl Freeze for MavDataStream",1,["mavlink::common::MavDataStream"]],["impl Freeze for MavFtpErr",1,["mavlink::common::MavFtpErr"]],["impl Freeze for WinchActions",1,["mavlink::common::WinchActions"]],["impl Freeze for CameraTrackingTargetData",1,["mavlink::common::CameraTrackingTargetData"]],["impl Freeze for MavFrame",1,["mavlink::common::MavFrame"]],["impl Freeze for MavMissionType",1,["mavlink::common::MavMissionType"]],["impl Freeze for MavOdidOperatorIdType",1,["mavlink::common::MavOdidOperatorIdType"]],["impl Freeze for AdsbFlags",1,["mavlink::common::AdsbFlags"]],["impl Freeze for AdsbEmitterType",1,["mavlink::common::AdsbEmitterType"]],["impl Freeze for OrbitYawBehaviour",1,["mavlink::common::OrbitYawBehaviour"]],["impl Freeze for WifiConfigApMode",1,["mavlink::common::WifiConfigApMode"]],["impl Freeze for PositionTargetTypemask",1,["mavlink::common::PositionTargetTypemask"]],["impl Freeze for StorageStatus",1,["mavlink::common::StorageStatus"]],["impl Freeze for AttitudeTargetTypemask",1,["mavlink::common::AttitudeTargetTypemask"]],["impl Freeze for MavVtolState",1,["mavlink::common::MavVtolState"]],["impl Freeze for MavProtocolCapability",1,["mavlink::common::MavProtocolCapability"]],["impl Freeze for GimbalManagerCapFlags",1,["mavlink::common::GimbalManagerCapFlags"]],["impl Freeze for GimbalManagerFlags",1,["mavlink::common::GimbalManagerFlags"]],["impl Freeze for StorageType",1,["mavlink::common::StorageType"]],["impl Freeze for MotorTestOrder",1,["mavlink::common::MotorTestOrder"]],["impl Freeze for CellularNetworkFailedReason",1,["mavlink::common::CellularNetworkFailedReason"]],["impl Freeze for MavSysStatusSensorExtended",1,["mavlink::common::MavSysStatusSensorExtended"]],["impl Freeze for MavState",1,["mavlink::common::MavState"]],["impl Freeze for ActuatorOutputFunction",1,["mavlink::common::ActuatorOutputFunction"]],["impl Freeze for MavOdidDescType",1,["mavlink::common::MavOdidDescType"]],["impl Freeze for MavGeneratorStatusFlag",1,["mavlink::common::MavGeneratorStatusFlag"]],["impl Freeze for HilSensorUpdatedFlags",1,["mavlink::common::HilSensorUpdatedFlags"]],["impl Freeze for MavEventCurrentSequenceFlags",1,["mavlink::common::MavEventCurrentSequenceFlags"]],["impl Freeze for MavComponent",1,["mavlink::common::MavComponent"]],["impl Freeze for AdsbAltitudeType",1,["mavlink::common::AdsbAltitudeType"]],["impl Freeze for VideoStreamType",1,["mavlink::common::VideoStreamType"]],["impl Freeze for AisFlags",1,["mavlink::common::AisFlags"]],["impl Freeze for MavGoto",1,["mavlink::common::MavGoto"]],["impl Freeze for SerialControlDev",1,["mavlink::common::SerialControlDev"]],["impl Freeze for MavWinchStatusFlag",1,["mavlink::common::MavWinchStatusFlag"]],["impl Freeze for FenceMitigate",1,["mavlink::common::FenceMitigate"]],["impl Freeze for MavEstimatorType",1,["mavlink::common::MavEstimatorType"]],["impl Freeze for MavBatteryChargeState",1,["mavlink::common::MavBatteryChargeState"]],["impl Freeze for GpsFixType",1,["mavlink::common::GpsFixType"]],["impl Freeze for VideoStreamStatusFlags",1,["mavlink::common::VideoStreamStatusFlags"]],["impl Freeze for MavCollisionSrc",1,["mavlink::common::MavCollisionSrc"]],["impl Freeze for GimbalDeviceErrorFlags",1,["mavlink::common::GimbalDeviceErrorFlags"]],["impl Freeze for MavSensorOrientation",1,["mavlink::common::MavSensorOrientation"]],["impl Freeze for EstimatorStatusFlags",1,["mavlink::common::EstimatorStatusFlags"]],["impl Freeze for CameraZoomType",1,["mavlink::common::CameraZoomType"]],["impl Freeze for MavFtpOpcode",1,["mavlink::common::MavFtpOpcode"]],["impl Freeze for MavCmdAck",1,["mavlink::common::MavCmdAck"]],["impl Freeze for UtmFlightState",1,["mavlink::common::UtmFlightState"]],["impl Freeze for MissionState",1,["mavlink::common::MissionState"]],["impl Freeze for MavArmAuthDeniedReason",1,["mavlink::common::MavArmAuthDeniedReason"]],["impl Freeze for MavOdidUaType",1,["mavlink::common::MavOdidUaType"]],["impl Freeze for MavOdidStatus",1,["mavlink::common::MavOdidStatus"]],["impl Freeze for FenceAction",1,["mavlink::common::FenceAction"]],["impl Freeze for MavDistanceSensor",1,["mavlink::common::MavDistanceSensor"]],["impl Freeze for MavMode",1,["mavlink::common::MavMode"]],["impl Freeze for MavOdidVerAcc",1,["mavlink::common::MavOdidVerAcc"]],["impl Freeze for HighresImuUpdatedFlags",1,["mavlink::common::HighresImuUpdatedFlags"]],["impl Freeze for MagCalStatus",1,["mavlink::common::MagCalStatus"]],["impl Freeze for MavModeFlagDecodePosition",1,["mavlink::common::MavModeFlagDecodePosition"]],["impl Freeze for PreflightStorageParameterAction",1,["mavlink::common::PreflightStorageParameterAction"]],["impl Freeze for EscConnectionType",1,["mavlink::common::EscConnectionType"]],["impl Freeze for MavParamType",1,["mavlink::common::MavParamType"]],["impl Freeze for UavcanNodeHealth",1,["mavlink::common::UavcanNodeHealth"]],["impl Freeze for MavOdidHorAcc",1,["mavlink::common::MavOdidHorAcc"]],["impl Freeze for AisNavStatus",1,["mavlink::common::AisNavStatus"]],["impl Freeze for MavOdidClassEu",1,["mavlink::common::MavOdidClassEu"]],["impl Freeze for GimbalDeviceFlags",1,["mavlink::common::GimbalDeviceFlags"]],["impl Freeze for VtolTransitionHeading",1,["mavlink::common::VtolTransitionHeading"]],["impl Freeze for MavTunnelPayloadType",1,["mavlink::common::MavTunnelPayloadType"]],["impl Freeze for AutotuneAxis",1,["mavlink::common::AutotuneAxis"]],["impl Freeze for MavOdidTimeAcc",1,["mavlink::common::MavOdidTimeAcc"]],["impl Freeze for CameraTrackingMode",1,["mavlink::common::CameraTrackingMode"]],["impl Freeze for CellularConfigResponse",1,["mavlink::common::CellularConfigResponse"]],["impl Freeze for GpsInputIgnoreFlags",1,["mavlink::common::GpsInputIgnoreFlags"]],["impl Freeze for PreflightStorageMissionAction",1,["mavlink::common::PreflightStorageMissionAction"]],["impl Freeze for SetFocusType",1,["mavlink::common::SetFocusType"]],["impl Freeze for MavOdidIdType",1,["mavlink::common::MavOdidIdType"]],["impl Freeze for MavPowerStatus",1,["mavlink::common::MavPowerStatus"]],["impl Freeze for MavOdidOperatorLocationType",1,["mavlink::common::MavOdidOperatorLocationType"]],["impl Freeze for MavOdidSpeedAcc",1,["mavlink::common::MavOdidSpeedAcc"]],["impl Freeze for FenceBreach",1,["mavlink::common::FenceBreach"]],["impl Freeze for AisType",1,["mavlink::common::AisType"]],["impl Freeze for CellularStatusFlag",1,["mavlink::common::CellularStatusFlag"]],["impl Freeze for MavBatteryFunction",1,["mavlink::common::MavBatteryFunction"]],["impl Freeze for SerialControlFlag",1,["mavlink::common::SerialControlFlag"]],["impl Freeze for CameraMode",1,["mavlink::common::CameraMode"]],["impl Freeze for GimbalDeviceCapFlags",1,["mavlink::common::GimbalDeviceCapFlags"]],["impl Freeze for MavParamExtType",1,["mavlink::common::MavParamExtType"]],["impl Freeze for MavEventErrorReason",1,["mavlink::common::MavEventErrorReason"]],["impl Freeze for MavBatteryType",1,["mavlink::common::MavBatteryType"]],["impl Freeze for TuneFormat",1,["mavlink::common::TuneFormat"]],["impl Freeze for MavlinkDataStreamType",1,["mavlink::common::MavlinkDataStreamType"]],["impl Freeze for UavcanNodeMode",1,["mavlink::common::UavcanNodeMode"]],["impl Freeze for MavType",1,["mavlink::common::MavType"]],["impl Freeze for ParamAck",1,["mavlink::common::ParamAck"]],["impl Freeze for MavOdidHeightRef",1,["mavlink::common::MavOdidHeightRef"]],["impl Freeze for MavMountMode",1,["mavlink::common::MavMountMode"]],["impl Freeze for MavCollisionThreatLevel",1,["mavlink::common::MavCollisionThreatLevel"]],["impl Freeze for CellularNetworkRadioType",1,["mavlink::common::CellularNetworkRadioType"]],["impl Freeze for MavBatteryFault",1,["mavlink::common::MavBatteryFault"]],["impl Freeze for MavCollisionAction",1,["mavlink::common::MavCollisionAction"]],["impl Freeze for MavMissionResult",1,["mavlink::common::MavMissionResult"]],["impl Freeze for CanFilterOp",1,["mavlink::common::CanFilterOp"]],["impl Freeze for MavRoi",1,["mavlink::common::MavRoi"]],["impl Freeze for MavResult",1,["mavlink::common::MavResult"]],["impl Freeze for FirmwareVersionType",1,["mavlink::common::FirmwareVersionType"]],["impl Freeze for GripperActions",1,["mavlink::common::GripperActions"]],["impl Freeze for RtkBaselineCoordinateSystem",1,["mavlink::common::RtkBaselineCoordinateSystem"]],["impl Freeze for LandingTargetType",1,["mavlink::common::LandingTargetType"]],["impl Freeze for ActuatorConfiguration",1,["mavlink::common::ActuatorConfiguration"]],["impl Freeze for MavOdidCategoryEu",1,["mavlink::common::MavOdidCategoryEu"]],["impl Freeze for PrecisionLandMode",1,["mavlink::common::PrecisionLandMode"]],["impl Freeze for CameraCapFlags",1,["mavlink::common::CameraCapFlags"]],["impl Freeze for CompMetadataType",1,["mavlink::common::CompMetadataType"]],["impl Freeze for LOCAL_POSITION_NED_DATA",1,["mavlink::common::LOCAL_POSITION_NED_DATA"]],["impl Freeze for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_ALLOWED_AREA_DATA"]],["impl Freeze for MISSION_ACK_DATA",1,["mavlink::common::MISSION_ACK_DATA"]],["impl Freeze for SCALED_PRESSURE2_DATA",1,["mavlink::common::SCALED_PRESSURE2_DATA"]],["impl Freeze for SIM_STATE_DATA",1,["mavlink::common::SIM_STATE_DATA"]],["impl Freeze for HIGH_LATENCY2_DATA",1,["mavlink::common::HIGH_LATENCY2_DATA"]],["impl Freeze for STATUSTEXT_DATA",1,["mavlink::common::STATUSTEXT_DATA"]],["impl Freeze for ESTIMATOR_STATUS_DATA",1,["mavlink::common::ESTIMATOR_STATUS_DATA"]],["impl Freeze for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Freeze for ESC_INFO_DATA",1,["mavlink::common::ESC_INFO_DATA"]],["impl Freeze for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::common::LOCAL_POSITION_NED_COV_DATA"]],["impl Freeze for MISSION_ITEM_DATA",1,["mavlink::common::MISSION_ITEM_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Freeze for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_READ_DATA"]],["impl Freeze for MISSION_CLEAR_ALL_DATA",1,["mavlink::common::MISSION_CLEAR_ALL_DATA"]],["impl Freeze for TERRAIN_CHECK_DATA",1,["mavlink::common::TERRAIN_CHECK_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Freeze for PARAM_EXT_SET_DATA",1,["mavlink::common::PARAM_EXT_SET_DATA"]],["impl Freeze for CAN_FRAME_DATA",1,["mavlink::common::CAN_FRAME_DATA"]],["impl Freeze for COMPONENT_INFORMATION_DATA",1,["mavlink::common::COMPONENT_INFORMATION_DATA"]],["impl Freeze for GPS_INJECT_DATA_DATA",1,["mavlink::common::GPS_INJECT_DATA_DATA"]],["impl Freeze for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::common::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Freeze for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::common::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Freeze for FOLLOW_TARGET_DATA",1,["mavlink::common::FOLLOW_TARGET_DATA"]],["impl Freeze for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::common::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Freeze for HIL_GPS_DATA",1,["mavlink::common::HIL_GPS_DATA"]],["impl Freeze for CAN_FILTER_MODIFY_DATA",1,["mavlink::common::CAN_FILTER_MODIFY_DATA"]],["impl Freeze for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Freeze for LOG_DATA_DATA",1,["mavlink::common::LOG_DATA_DATA"]],["impl Freeze for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::common::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Freeze for HIGH_LATENCY_DATA",1,["mavlink::common::HIGH_LATENCY_DATA"]],["impl Freeze for PLAY_TUNE_DATA",1,["mavlink::common::PLAY_TUNE_DATA"]],["impl Freeze for RC_CHANNELS_SCALED_DATA",1,["mavlink::common::RC_CHANNELS_SCALED_DATA"]],["impl Freeze for RAW_IMU_DATA",1,["mavlink::common::RAW_IMU_DATA"]],["impl Freeze for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Freeze for MOUNT_ORIENTATION_DATA",1,["mavlink::common::MOUNT_ORIENTATION_DATA"]],["impl Freeze for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Freeze for EVENT_DATA",1,["mavlink::common::EVENT_DATA"]],["impl Freeze for EFI_STATUS_DATA",1,["mavlink::common::EFI_STATUS_DATA"]],["impl Freeze for REQUEST_EVENT_DATA",1,["mavlink::common::REQUEST_EVENT_DATA"]],["impl Freeze for HYGROMETER_SENSOR_DATA",1,["mavlink::common::HYGROMETER_SENSOR_DATA"]],["impl Freeze for REQUEST_DATA_STREAM_DATA",1,["mavlink::common::REQUEST_DATA_STREAM_DATA"]],["impl Freeze for V2_EXTENSION_DATA",1,["mavlink::common::V2_EXTENSION_DATA"]],["impl Freeze for DEBUG_VECT_DATA",1,["mavlink::common::DEBUG_VECT_DATA"]],["impl Freeze for LOGGING_ACK_DATA",1,["mavlink::common::LOGGING_ACK_DATA"]],["impl Freeze for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Freeze for ISBD_LINK_STATUS_DATA",1,["mavlink::common::ISBD_LINK_STATUS_DATA"]],["impl Freeze for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::common::CONTROL_SYSTEM_STATE_DATA"]],["impl Freeze for OBSTACLE_DISTANCE_DATA",1,["mavlink::common::OBSTACLE_DISTANCE_DATA"]],["impl Freeze for SCALED_IMU2_DATA",1,["mavlink::common::SCALED_IMU2_DATA"]],["impl Freeze for PARAM_VALUE_DATA",1,["mavlink::common::PARAM_VALUE_DATA"]],["impl Freeze for SERVO_OUTPUT_RAW_DATA",1,["mavlink::common::SERVO_OUTPUT_RAW_DATA"]],["impl Freeze for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Freeze for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Freeze for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::common::GIMBAL_MANAGER_STATUS_DATA"]],["impl Freeze for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::common::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Freeze for PARAM_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_REQUEST_LIST_DATA"]],["impl Freeze for UAVCAN_NODE_STATUS_DATA",1,["mavlink::common::UAVCAN_NODE_STATUS_DATA"]],["impl Freeze for PARAM_SET_DATA",1,["mavlink::common::PARAM_SET_DATA"]],["impl Freeze for SCALED_PRESSURE_DATA",1,["mavlink::common::SCALED_PRESSURE_DATA"]],["impl Freeze for SYSTEM_TIME_DATA",1,["mavlink::common::SYSTEM_TIME_DATA"]],["impl Freeze for ENCAPSULATED_DATA_DATA",1,["mavlink::common::ENCAPSULATED_DATA_DATA"]],["impl Freeze for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Freeze for SET_HOME_POSITION_DATA",1,["mavlink::common::SET_HOME_POSITION_DATA"]],["impl Freeze for SYS_STATUS_DATA",1,["mavlink::common::SYS_STATUS_DATA"]],["impl Freeze for TIMESYNC_DATA",1,["mavlink::common::TIMESYNC_DATA"]],["impl Freeze for LOG_REQUEST_END_DATA",1,["mavlink::common::LOG_REQUEST_END_DATA"]],["impl Freeze for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Freeze for AUTOPILOT_VERSION_DATA",1,["mavlink::common::AUTOPILOT_VERSION_DATA"]],["impl Freeze for MEMORY_VECT_DATA",1,["mavlink::common::MEMORY_VECT_DATA"]],["impl Freeze for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::common::VIDEO_STREAM_INFORMATION_DATA"]],["impl Freeze for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Freeze for GPS_INPUT_DATA",1,["mavlink::common::GPS_INPUT_DATA"]],["impl Freeze for COLLISION_DATA",1,["mavlink::common::COLLISION_DATA"]],["impl Freeze for SCALED_IMU3_DATA",1,["mavlink::common::SCALED_IMU3_DATA"]],["impl Freeze for CAMERA_INFORMATION_DATA",1,["mavlink::common::CAMERA_INFORMATION_DATA"]],["impl Freeze for SET_ATTITUDE_TARGET_DATA",1,["mavlink::common::SET_ATTITUDE_TARGET_DATA"]],["impl Freeze for PARAM_EXT_ACK_DATA",1,["mavlink::common::PARAM_EXT_ACK_DATA"]],["impl Freeze for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::common::ORBIT_EXECUTION_STATUS_DATA"]],["impl Freeze for SERIAL_CONTROL_DATA",1,["mavlink::common::SERIAL_CONTROL_DATA"]],["impl Freeze for LOGGING_DATA_DATA",1,["mavlink::common::LOGGING_DATA_DATA"]],["impl Freeze for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Freeze for ALTITUDE_DATA",1,["mavlink::common::ALTITUDE_DATA"]],["impl Freeze for RC_CHANNELS_DATA",1,["mavlink::common::RC_CHANNELS_DATA"]],["impl Freeze for RESOURCE_REQUEST_DATA",1,["mavlink::common::RESOURCE_REQUEST_DATA"]],["impl Freeze for COMPONENT_METADATA_DATA",1,["mavlink::common::COMPONENT_METADATA_DATA"]],["impl Freeze for SUPPORTED_TUNES_DATA",1,["mavlink::common::SUPPORTED_TUNES_DATA"]],["impl Freeze for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Freeze for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Freeze for BUTTON_CHANGE_DATA",1,["mavlink::common::BUTTON_CHANGE_DATA"]],["impl Freeze for GLOBAL_POSITION_INT_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_DATA"]],["impl Freeze for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::common::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Freeze for ATTITUDE_QUATERNION_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_DATA"]],["impl Freeze for LANDING_TARGET_DATA",1,["mavlink::common::LANDING_TARGET_DATA"]],["impl Freeze for LOG_ENTRY_DATA",1,["mavlink::common::LOG_ENTRY_DATA"]],["impl Freeze for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Freeze for SET_MODE_DATA",1,["mavlink::common::SET_MODE_DATA"]],["impl Freeze for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::common::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Freeze for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::common::VICON_POSITION_ESTIMATE_DATA"]],["impl Freeze for DEBUG_DATA",1,["mavlink::common::DEBUG_DATA"]],["impl Freeze for COMMAND_INT_DATA",1,["mavlink::common::COMMAND_INT_DATA"]],["impl Freeze for LOG_REQUEST_LIST_DATA",1,["mavlink::common::LOG_REQUEST_LIST_DATA"]],["impl Freeze for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_COV_DATA"]],["impl Freeze for UTM_GLOBAL_POSITION_DATA",1,["mavlink::common::UTM_GLOBAL_POSITION_DATA"]],["impl Freeze for MISSION_SET_CURRENT_DATA",1,["mavlink::common::MISSION_SET_CURRENT_DATA"]],["impl Freeze for AIS_VESSEL_DATA",1,["mavlink::common::AIS_VESSEL_DATA"]],["impl Freeze for ATT_POS_MOCAP_DATA",1,["mavlink::common::ATT_POS_MOCAP_DATA"]],["impl Freeze for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::common::HIL_RC_INPUTS_RAW_DATA"]],["impl Freeze for LOG_REQUEST_DATA_DATA",1,["mavlink::common::LOG_REQUEST_DATA_DATA"]],["impl Freeze for TUNNEL_DATA",1,["mavlink::common::TUNNEL_DATA"]],["impl Freeze for NAMED_VALUE_FLOAT_DATA",1,["mavlink::common::NAMED_VALUE_FLOAT_DATA"]],["impl Freeze for AUTH_KEY_DATA",1,["mavlink::common::AUTH_KEY_DATA"]],["impl Freeze for TERRAIN_DATA_DATA",1,["mavlink::common::TERRAIN_DATA_DATA"]],["impl Freeze for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Freeze for CELLULAR_CONFIG_DATA",1,["mavlink::common::CELLULAR_CONFIG_DATA"]],["impl Freeze for HEARTBEAT_DATA",1,["mavlink::common::HEARTBEAT_DATA"]],["impl Freeze for MISSION_COUNT_DATA",1,["mavlink::common::MISSION_COUNT_DATA"]],["impl Freeze for PING_DATA",1,["mavlink::common::PING_DATA"]],["impl Freeze for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Freeze for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_COV_DATA"]],["impl Freeze for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::common::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Freeze for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Freeze for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::common::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Freeze for PLAY_TUNE_V2_DATA",1,["mavlink::common::PLAY_TUNE_V2_DATA"]],["impl Freeze for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::VISION_POSITION_ESTIMATE_DATA"]],["impl Freeze for STORAGE_INFORMATION_DATA",1,["mavlink::common::STORAGE_INFORMATION_DATA"]],["impl Freeze for SETUP_SIGNING_DATA",1,["mavlink::common::SETUP_SIGNING_DATA"]],["impl Freeze for LOGGING_DATA_ACKED_DATA",1,["mavlink::common::LOGGING_DATA_ACKED_DATA"]],["impl Freeze for LOG_ERASE_DATA",1,["mavlink::common::LOG_ERASE_DATA"]],["impl Freeze for GPS_RAW_INT_DATA",1,["mavlink::common::GPS_RAW_INT_DATA"]],["impl Freeze for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::common::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Freeze for MISSION_ITEM_INT_DATA",1,["mavlink::common::MISSION_ITEM_INT_DATA"]],["impl Freeze for WINCH_STATUS_DATA",1,["mavlink::common::WINCH_STATUS_DATA"]],["impl Freeze for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::common::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Freeze for GPS2_RAW_DATA",1,["mavlink::common::GPS2_RAW_DATA"]],["impl Freeze for GPS_RTK_DATA",1,["mavlink::common::GPS_RTK_DATA"]],["impl Freeze for VIBRATION_DATA",1,["mavlink::common::VIBRATION_DATA"]],["impl Freeze for HIL_STATE_DATA",1,["mavlink::common::HIL_STATE_DATA"]],["impl Freeze for GPS_STATUS_DATA",1,["mavlink::common::GPS_STATUS_DATA"]],["impl Freeze for SCALED_IMU_DATA",1,["mavlink::common::SCALED_IMU_DATA"]],["impl Freeze for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::common::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Freeze for MISSION_REQUEST_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_LIST_DATA"]],["impl Freeze for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Freeze for PARAM_EXT_VALUE_DATA",1,["mavlink::common::PARAM_EXT_VALUE_DATA"]],["impl Freeze for CELLULAR_STATUS_DATA",1,["mavlink::common::CELLULAR_STATUS_DATA"]],["impl Freeze for CANFD_FRAME_DATA",1,["mavlink::common::CANFD_FRAME_DATA"]],["impl Freeze for GPS_RTCM_DATA_DATA",1,["mavlink::common::GPS_RTCM_DATA_DATA"]],["impl Freeze for MANUAL_CONTROL_DATA",1,["mavlink::common::MANUAL_CONTROL_DATA"]],["impl Freeze for COMMAND_ACK_DATA",1,["mavlink::common::COMMAND_ACK_DATA"]],["impl Freeze for RADIO_STATUS_DATA",1,["mavlink::common::RADIO_STATUS_DATA"]],["impl Freeze for TERRAIN_REQUEST_DATA",1,["mavlink::common::TERRAIN_REQUEST_DATA"]],["impl Freeze for VIDEO_STREAM_STATUS_DATA",1,["mavlink::common::VIDEO_STREAM_STATUS_DATA"]],["impl Freeze for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::common::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Freeze for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::common::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Freeze for WHEEL_DISTANCE_DATA",1,["mavlink::common::WHEEL_DISTANCE_DATA"]],["impl Freeze for MISSION_CURRENT_DATA",1,["mavlink::common::MISSION_CURRENT_DATA"]],["impl Freeze for VFR_HUD_DATA",1,["mavlink::common::VFR_HUD_DATA"]],["impl Freeze for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Freeze for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Freeze for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::common::VISION_SPEED_ESTIMATE_DATA"]],["impl Freeze for BATTERY_STATUS_DATA",1,["mavlink::common::BATTERY_STATUS_DATA"]],["impl Freeze for FENCE_STATUS_DATA",1,["mavlink::common::FENCE_STATUS_DATA"]],["impl Freeze for PROTOCOL_VERSION_DATA",1,["mavlink::common::PROTOCOL_VERSION_DATA"]],["impl Freeze for RAW_PRESSURE_DATA",1,["mavlink::common::RAW_PRESSURE_DATA"]],["impl Freeze for SCALED_PRESSURE3_DATA",1,["mavlink::common::SCALED_PRESSURE3_DATA"]],["impl Freeze for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::GPS_GLOBAL_ORIGIN_DATA"]],["impl Freeze for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Freeze for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Freeze for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::common::RESPONSE_EVENT_ERROR_DATA"]],["impl Freeze for LINK_NODE_STATUS_DATA",1,["mavlink::common::LINK_NODE_STATUS_DATA"]],["impl Freeze for DATA_STREAM_DATA",1,["mavlink::common::DATA_STREAM_DATA"]],["impl Freeze for HIL_SENSOR_DATA",1,["mavlink::common::HIL_SENSOR_DATA"]],["impl Freeze for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::common::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Freeze for WIND_COV_DATA",1,["mavlink::common::WIND_COV_DATA"]],["impl Freeze for OPTICAL_FLOW_RAD_DATA",1,["mavlink::common::OPTICAL_FLOW_RAD_DATA"]],["impl Freeze for TERRAIN_REPORT_DATA",1,["mavlink::common::TERRAIN_REPORT_DATA"]],["impl Freeze for PARAM_MAP_RC_DATA",1,["mavlink::common::PARAM_MAP_RC_DATA"]],["impl Freeze for CAMERA_TRIGGER_DATA",1,["mavlink::common::CAMERA_TRIGGER_DATA"]],["impl Freeze for NAMED_VALUE_INT_DATA",1,["mavlink::common::NAMED_VALUE_INT_DATA"]],["impl Freeze for CAMERA_SETTINGS_DATA",1,["mavlink::common::CAMERA_SETTINGS_DATA"]],["impl Freeze for WIFI_CONFIG_AP_DATA",1,["mavlink::common::WIFI_CONFIG_AP_DATA"]],["impl Freeze for HIGHRES_IMU_DATA",1,["mavlink::common::HIGHRES_IMU_DATA"]],["impl Freeze for FLIGHT_INFORMATION_DATA",1,["mavlink::common::FLIGHT_INFORMATION_DATA"]],["impl Freeze for MAG_CAL_REPORT_DATA",1,["mavlink::common::MAG_CAL_REPORT_DATA"]],["impl Freeze for ATTITUDE_DATA",1,["mavlink::common::ATTITUDE_DATA"]],["impl Freeze for MISSION_ITEM_REACHED_DATA",1,["mavlink::common::MISSION_ITEM_REACHED_DATA"]],["impl Freeze for POWER_STATUS_DATA",1,["mavlink::common::POWER_STATUS_DATA"]],["impl Freeze for MISSION_REQUEST_INT_DATA",1,["mavlink::common::MISSION_REQUEST_INT_DATA"]],["impl Freeze for SMART_BATTERY_INFO_DATA",1,["mavlink::common::SMART_BATTERY_INFO_DATA"]],["impl Freeze for PARAM_REQUEST_READ_DATA",1,["mavlink::common::PARAM_REQUEST_READ_DATA"]],["impl Freeze for COMMAND_LONG_DATA",1,["mavlink::common::COMMAND_LONG_DATA"]],["impl Freeze for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Freeze for OPTICAL_FLOW_DATA",1,["mavlink::common::OPTICAL_FLOW_DATA"]],["impl Freeze for HIL_CONTROLS_DATA",1,["mavlink::common::HIL_CONTROLS_DATA"]],["impl Freeze for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::common::CAMERA_CAPTURE_STATUS_DATA"]],["impl Freeze for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Freeze for COMMAND_CANCEL_DATA",1,["mavlink::common::COMMAND_CANCEL_DATA"]],["impl Freeze for ODOMETRY_DATA",1,["mavlink::common::ODOMETRY_DATA"]],["impl Freeze for ADSB_VEHICLE_DATA",1,["mavlink::common::ADSB_VEHICLE_DATA"]],["impl Freeze for MESSAGE_INTERVAL_DATA",1,["mavlink::common::MESSAGE_INTERVAL_DATA"]],["impl Freeze for DISTANCE_SENSOR_DATA",1,["mavlink::common::DISTANCE_SENSOR_DATA"]],["impl Freeze for RC_CHANNELS_RAW_DATA",1,["mavlink::common::RC_CHANNELS_RAW_DATA"]],["impl Freeze for HOME_POSITION_DATA",1,["mavlink::common::HOME_POSITION_DATA"]],["impl Freeze for MISSION_REQUEST_DATA",1,["mavlink::common::MISSION_REQUEST_DATA"]],["impl Freeze for HIL_STATE_QUATERNION_DATA",1,["mavlink::common::HIL_STATE_QUATERNION_DATA"]],["impl Freeze for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::common::RC_CHANNELS_OVERRIDE_DATA"]],["impl Freeze for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Freeze for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::common::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Freeze for EXTENDED_SYS_STATE_DATA",1,["mavlink::common::EXTENDED_SYS_STATE_DATA"]],["impl Freeze for ATTITUDE_TARGET_DATA",1,["mavlink::common::ATTITUDE_TARGET_DATA"]],["impl Freeze for MANUAL_SETPOINT_DATA",1,["mavlink::common::MANUAL_SETPOINT_DATA"]],["impl Freeze for UAVCAN_NODE_INFO_DATA",1,["mavlink::common::UAVCAN_NODE_INFO_DATA"]],["impl Freeze for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Freeze for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Freeze for RAW_RPM_DATA",1,["mavlink::common::RAW_RPM_DATA"]],["impl Freeze for GPS2_RTK_DATA",1,["mavlink::common::GPS2_RTK_DATA"]],["impl Freeze for HIL_OPTICAL_FLOW_DATA",1,["mavlink::common::HIL_OPTICAL_FLOW_DATA"]],["impl Freeze for CAMERA_FOV_STATUS_DATA",1,["mavlink::common::CAMERA_FOV_STATUS_DATA"]],["impl Freeze for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::common::DEBUG_FLOAT_ARRAY_DATA"]],["impl Freeze for GENERATOR_STATUS_DATA",1,["mavlink::common::GENERATOR_STATUS_DATA"]],["impl Freeze for ESC_STATUS_DATA",1,["mavlink::common::ESC_STATUS_DATA"]],["impl Freeze for MavMessage",1,["mavlink::common::MavMessage"]],["impl<'a> Freeze for Bytes<'a>",1,["mavlink::bytes::Bytes"]],["impl<'a> Freeze for BytesMut<'a>",1,["mavlink::bytes_mut::BytesMut"]],["impl Freeze for ParserError",1,["mavlink::error::ParserError"]],["impl Freeze for MessageReadError",1,["mavlink::error::MessageReadError"]],["impl Freeze for MessageWriteError",1,["mavlink::error::MessageWriteError"]],["impl Freeze for MavHeader",1,["mavlink::MavHeader"]],["impl Freeze for MavlinkVersion",1,["mavlink::MavlinkVersion"]],["impl<M> Freeze for MavFrame<M>where\n M: Freeze,",1,["mavlink::MavFrame"]],["impl Freeze for MAVLinkV1MessageRaw",1,["mavlink::MAVLinkV1MessageRaw"]],["impl Freeze for MAVLinkV2MessageRaw",1,["mavlink::MAVLinkV2MessageRaw"]]], "num_traits":[["impl Freeze for FloatErrorKind",1,["num_traits::FloatErrorKind"]],["impl Freeze for ParseFloatError",1,["num_traits::ParseFloatError"]]], "proc_macro2":[["impl Freeze for DelimSpan",1,["proc_macro2::extra::DelimSpan"]],["impl Freeze for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl Freeze for TokenStream",1,["proc_macro2::TokenStream"]],["impl Freeze for LexError",1,["proc_macro2::LexError"]],["impl Freeze for Span",1,["proc_macro2::Span"]],["impl Freeze for TokenTree",1,["proc_macro2::TokenTree"]],["impl Freeze for Group",1,["proc_macro2::Group"]],["impl Freeze for Delimiter",1,["proc_macro2::Delimiter"]],["impl Freeze for Punct",1,["proc_macro2::Punct"]],["impl Freeze for Spacing",1,["proc_macro2::Spacing"]],["impl Freeze for Ident",1,["proc_macro2::Ident"]],["impl Freeze for Literal",1,["proc_macro2::Literal"]]], "serde":[["impl Freeze for Error",1,["serde::de::value::Error"]],["impl<E> Freeze for UnitDeserializer<E>",1,["serde::de::value::UnitDeserializer"]],["impl<E> Freeze for BoolDeserializer<E>",1,["serde::de::value::BoolDeserializer"]],["impl<E> Freeze for I8Deserializer<E>",1,["serde::de::value::I8Deserializer"]],["impl<E> Freeze for I16Deserializer<E>",1,["serde::de::value::I16Deserializer"]],["impl<E> Freeze for I32Deserializer<E>",1,["serde::de::value::I32Deserializer"]],["impl<E> Freeze for I64Deserializer<E>",1,["serde::de::value::I64Deserializer"]],["impl<E> Freeze for I128Deserializer<E>",1,["serde::de::value::I128Deserializer"]],["impl<E> Freeze for IsizeDeserializer<E>",1,["serde::de::value::IsizeDeserializer"]],["impl<E> Freeze for U8Deserializer<E>",1,["serde::de::value::U8Deserializer"]],["impl<E> Freeze for U16Deserializer<E>",1,["serde::de::value::U16Deserializer"]],["impl<E> Freeze for U64Deserializer<E>",1,["serde::de::value::U64Deserializer"]],["impl<E> Freeze for U128Deserializer<E>",1,["serde::de::value::U128Deserializer"]],["impl<E> Freeze for UsizeDeserializer<E>",1,["serde::de::value::UsizeDeserializer"]],["impl<E> Freeze for F32Deserializer<E>",1,["serde::de::value::F32Deserializer"]],["impl<E> Freeze for F64Deserializer<E>",1,["serde::de::value::F64Deserializer"]],["impl<E> Freeze for CharDeserializer<E>",1,["serde::de::value::CharDeserializer"]],["impl<E> Freeze for U32Deserializer<E>",1,["serde::de::value::U32Deserializer"]],["impl<'a, E> Freeze for StrDeserializer<'a, E>",1,["serde::de::value::StrDeserializer"]],["impl<'de, E> Freeze for BorrowedStrDeserializer<'de, E>",1,["serde::de::value::BorrowedStrDeserializer"]],["impl<E> Freeze for StringDeserializer<E>",1,["serde::de::value::StringDeserializer"]],["impl<'a, E> Freeze for CowStrDeserializer<'a, E>",1,["serde::de::value::CowStrDeserializer"]],["impl<'a, E> Freeze for BytesDeserializer<'a, E>",1,["serde::de::value::BytesDeserializer"]],["impl<'de, E> Freeze for BorrowedBytesDeserializer<'de, E>",1,["serde::de::value::BorrowedBytesDeserializer"]],["impl<I, E> Freeze for SeqDeserializer<I, E>where\n I: Freeze,",1,["serde::de::value::SeqDeserializer"]],["impl<A> Freeze for SeqAccessDeserializer<A>where\n A: Freeze,",1,["serde::de::value::SeqAccessDeserializer"]],["impl<'de, I, E> Freeze for MapDeserializer<'de, I, E>where\n I: Freeze,\n <<I as Iterator>::Item as Pair>::Second: Freeze,",1,["serde::de::value::MapDeserializer"]],["impl<A> Freeze for MapAccessDeserializer<A>where\n A: Freeze,",1,["serde::de::value::MapAccessDeserializer"]],["impl<A> Freeze for EnumAccessDeserializer<A>where\n A: Freeze,",1,["serde::de::value::EnumAccessDeserializer"]],["impl Freeze for IgnoredAny",1,["serde::de::ignored_any::IgnoredAny"]],["impl<'a> Freeze for Unexpected<'a>",1,["serde::de::Unexpected"]],["impl<Ok, Error> Freeze for Impossible<Ok, Error>",1,["serde::ser::impossible::Impossible"]]], diff --git a/trait.impl/core/marker/trait.Send.js b/trait.impl/core/marker/trait.Send.js index 705b536db3..0c1f472063 100644 --- a/trait.impl/core/marker/trait.Send.js +++ b/trait.impl/core/marker/trait.Send.js @@ -2,7 +2,7 @@ "byteorder":[["impl Send for BigEndian",1,["byteorder::BigEndian"]],["impl Send for LittleEndian",1,["byteorder::LittleEndian"]]], "crc_any":[["impl Send for CRCu16",1,["crc_any::crc_u16::CRCu16"]],["impl Send for CRCu32",1,["crc_any::crc_u32::CRCu32"]],["impl Send for CRCu64",1,["crc_any::crc_u64::CRCu64"]],["impl Send for CRCu8",1,["crc_any::crc_u8::CRCu8"]],["impl Send for CRC",1,["crc_any::CRC"]]], "libc":[["impl Send for statvfs",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::not_x32::statvfs"]],["impl Send for max_align_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::align::max_align_t"]],["impl Send for clone_args",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::align::clone_args"]],["impl Send for sigaction",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::sigaction"]],["impl Send for statfs",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statfs"]],["impl Send for flock",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::flock"]],["impl Send for flock64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::flock64"]],["impl Send for siginfo_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::siginfo_t"]],["impl !Send for stack_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stack_t"]],["impl Send for stat",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stat"]],["impl Send for stat64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stat64"]],["impl Send for statfs64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statfs64"]],["impl Send for statvfs64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statvfs64"]],["impl Send for pthread_attr_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::pthread_attr_t"]],["impl Send for _libc_fpxreg",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_fpxreg"]],["impl Send for _libc_xmmreg",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_xmmreg"]],["impl Send for _libc_fpstate",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_fpstate"]],["impl Send for user_regs_struct",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user_regs_struct"]],["impl !Send for user",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user"]],["impl !Send for mcontext_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::mcontext_t"]],["impl Send for ipc_perm",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ipc_perm"]],["impl Send for shmid_ds",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::shmid_ds"]],["impl Send for seccomp_notif_sizes",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::seccomp_notif_sizes"]],["impl Send for ptrace_rseq_configuration",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ptrace_rseq_configuration"]],["impl Send for user_fpregs_struct",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user_fpregs_struct"]],["impl !Send for ucontext_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ucontext_t"]],["impl Send for sigset_t",1,["libc::unix::linux_like::linux::gnu::b64::sigset_t"]],["impl Send for sysinfo",1,["libc::unix::linux_like::linux::gnu::b64::sysinfo"]],["impl Send for msqid_ds",1,["libc::unix::linux_like::linux::gnu::b64::msqid_ds"]],["impl Send for semid_ds",1,["libc::unix::linux_like::linux::gnu::b64::semid_ds"]],["impl Send for sem_t",1,["libc::unix::linux_like::linux::gnu::align::sem_t"]],["impl Send for statx",1,["libc::unix::linux_like::linux::gnu::statx"]],["impl Send for statx_timestamp",1,["libc::unix::linux_like::linux::gnu::statx_timestamp"]],["impl !Send for aiocb",1,["libc::unix::linux_like::linux::gnu::aiocb"]],["impl Send for __exit_status",1,["libc::unix::linux_like::linux::gnu::__exit_status"]],["impl Send for __timeval",1,["libc::unix::linux_like::linux::gnu::__timeval"]],["impl !Send for glob64_t",1,["libc::unix::linux_like::linux::gnu::glob64_t"]],["impl !Send for msghdr",1,["libc::unix::linux_like::linux::gnu::msghdr"]],["impl Send for cmsghdr",1,["libc::unix::linux_like::linux::gnu::cmsghdr"]],["impl Send for termios",1,["libc::unix::linux_like::linux::gnu::termios"]],["impl Send for mallinfo",1,["libc::unix::linux_like::linux::gnu::mallinfo"]],["impl Send for mallinfo2",1,["libc::unix::linux_like::linux::gnu::mallinfo2"]],["impl Send for nl_pktinfo",1,["libc::unix::linux_like::linux::gnu::nl_pktinfo"]],["impl Send for nl_mmap_req",1,["libc::unix::linux_like::linux::gnu::nl_mmap_req"]],["impl Send for nl_mmap_hdr",1,["libc::unix::linux_like::linux::gnu::nl_mmap_hdr"]],["impl !Send for rtentry",1,["libc::unix::linux_like::linux::gnu::rtentry"]],["impl Send for timex",1,["libc::unix::linux_like::linux::gnu::timex"]],["impl Send for ntptimeval",1,["libc::unix::linux_like::linux::gnu::ntptimeval"]],["impl !Send for regex_t",1,["libc::unix::linux_like::linux::gnu::regex_t"]],["impl Send for Elf64_Chdr",1,["libc::unix::linux_like::linux::gnu::Elf64_Chdr"]],["impl Send for Elf32_Chdr",1,["libc::unix::linux_like::linux::gnu::Elf32_Chdr"]],["impl Send for seminfo",1,["libc::unix::linux_like::linux::gnu::seminfo"]],["impl Send for ptrace_peeksiginfo_args",1,["libc::unix::linux_like::linux::gnu::ptrace_peeksiginfo_args"]],["impl Send for __c_anonymous_ptrace_syscall_info_entry",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_entry"]],["impl Send for __c_anonymous_ptrace_syscall_info_exit",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_exit"]],["impl Send for __c_anonymous_ptrace_syscall_info_seccomp",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_seccomp"]],["impl Send for ptrace_syscall_info",1,["libc::unix::linux_like::linux::gnu::ptrace_syscall_info"]],["impl Send for sockaddr_xdp",1,["libc::unix::linux_like::linux::gnu::sockaddr_xdp"]],["impl Send for xdp_ring_offset",1,["libc::unix::linux_like::linux::gnu::xdp_ring_offset"]],["impl Send for xdp_mmap_offsets",1,["libc::unix::linux_like::linux::gnu::xdp_mmap_offsets"]],["impl Send for xdp_ring_offset_v1",1,["libc::unix::linux_like::linux::gnu::xdp_ring_offset_v1"]],["impl Send for xdp_mmap_offsets_v1",1,["libc::unix::linux_like::linux::gnu::xdp_mmap_offsets_v1"]],["impl Send for xdp_umem_reg",1,["libc::unix::linux_like::linux::gnu::xdp_umem_reg"]],["impl Send for xdp_umem_reg_v1",1,["libc::unix::linux_like::linux::gnu::xdp_umem_reg_v1"]],["impl Send for xdp_statistics",1,["libc::unix::linux_like::linux::gnu::xdp_statistics"]],["impl Send for xdp_statistics_v1",1,["libc::unix::linux_like::linux::gnu::xdp_statistics_v1"]],["impl Send for xdp_options",1,["libc::unix::linux_like::linux::gnu::xdp_options"]],["impl Send for xdp_desc",1,["libc::unix::linux_like::linux::gnu::xdp_desc"]],["impl Send for __c_anonymous_ptrace_syscall_info_data",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_data"]],["impl Send for utmpx",1,["libc::unix::linux_like::linux::gnu::utmpx"]],["impl Send for termios2",1,["libc::unix::linux_like::linux::arch::generic::termios2"]],["impl Send for open_how",1,["libc::unix::linux_like::linux::non_exhaustive::open_how"]],["impl Send for fpos64_t",1,["libc::unix::linux_like::linux::fpos64_t"]],["impl !Send for glob_t",1,["libc::unix::linux_like::linux::glob_t"]],["impl !Send for passwd",1,["libc::unix::linux_like::linux::passwd"]],["impl !Send for spwd",1,["libc::unix::linux_like::linux::spwd"]],["impl Send for dqblk",1,["libc::unix::linux_like::linux::dqblk"]],["impl Send for signalfd_siginfo",1,["libc::unix::linux_like::linux::signalfd_siginfo"]],["impl Send for itimerspec",1,["libc::unix::linux_like::linux::itimerspec"]],["impl Send for fsid_t",1,["libc::unix::linux_like::linux::fsid_t"]],["impl Send for packet_mreq",1,["libc::unix::linux_like::linux::packet_mreq"]],["impl Send for cpu_set_t",1,["libc::unix::linux_like::linux::cpu_set_t"]],["impl !Send for if_nameindex",1,["libc::unix::linux_like::linux::if_nameindex"]],["impl Send for msginfo",1,["libc::unix::linux_like::linux::msginfo"]],["impl Send for sembuf",1,["libc::unix::linux_like::linux::sembuf"]],["impl Send for input_event",1,["libc::unix::linux_like::linux::input_event"]],["impl Send for input_id",1,["libc::unix::linux_like::linux::input_id"]],["impl Send for input_absinfo",1,["libc::unix::linux_like::linux::input_absinfo"]],["impl Send for input_keymap_entry",1,["libc::unix::linux_like::linux::input_keymap_entry"]],["impl Send for input_mask",1,["libc::unix::linux_like::linux::input_mask"]],["impl Send for ff_replay",1,["libc::unix::linux_like::linux::ff_replay"]],["impl Send for ff_trigger",1,["libc::unix::linux_like::linux::ff_trigger"]],["impl Send for ff_envelope",1,["libc::unix::linux_like::linux::ff_envelope"]],["impl Send for ff_constant_effect",1,["libc::unix::linux_like::linux::ff_constant_effect"]],["impl Send for ff_ramp_effect",1,["libc::unix::linux_like::linux::ff_ramp_effect"]],["impl Send for ff_condition_effect",1,["libc::unix::linux_like::linux::ff_condition_effect"]],["impl !Send for ff_periodic_effect",1,["libc::unix::linux_like::linux::ff_periodic_effect"]],["impl Send for ff_rumble_effect",1,["libc::unix::linux_like::linux::ff_rumble_effect"]],["impl Send for ff_effect",1,["libc::unix::linux_like::linux::ff_effect"]],["impl Send for uinput_ff_upload",1,["libc::unix::linux_like::linux::uinput_ff_upload"]],["impl Send for uinput_ff_erase",1,["libc::unix::linux_like::linux::uinput_ff_erase"]],["impl Send for uinput_abs_setup",1,["libc::unix::linux_like::linux::uinput_abs_setup"]],["impl !Send for dl_phdr_info",1,["libc::unix::linux_like::linux::dl_phdr_info"]],["impl Send for Elf32_Ehdr",1,["libc::unix::linux_like::linux::Elf32_Ehdr"]],["impl Send for Elf64_Ehdr",1,["libc::unix::linux_like::linux::Elf64_Ehdr"]],["impl Send for Elf32_Sym",1,["libc::unix::linux_like::linux::Elf32_Sym"]],["impl Send for Elf64_Sym",1,["libc::unix::linux_like::linux::Elf64_Sym"]],["impl Send for Elf32_Phdr",1,["libc::unix::linux_like::linux::Elf32_Phdr"]],["impl Send for Elf64_Phdr",1,["libc::unix::linux_like::linux::Elf64_Phdr"]],["impl Send for Elf32_Shdr",1,["libc::unix::linux_like::linux::Elf32_Shdr"]],["impl Send for Elf64_Shdr",1,["libc::unix::linux_like::linux::Elf64_Shdr"]],["impl Send for ucred",1,["libc::unix::linux_like::linux::ucred"]],["impl !Send for mntent",1,["libc::unix::linux_like::linux::mntent"]],["impl !Send for posix_spawn_file_actions_t",1,["libc::unix::linux_like::linux::posix_spawn_file_actions_t"]],["impl Send for posix_spawnattr_t",1,["libc::unix::linux_like::linux::posix_spawnattr_t"]],["impl Send for genlmsghdr",1,["libc::unix::linux_like::linux::genlmsghdr"]],["impl Send for in6_pktinfo",1,["libc::unix::linux_like::linux::in6_pktinfo"]],["impl Send for arpd_request",1,["libc::unix::linux_like::linux::arpd_request"]],["impl Send for inotify_event",1,["libc::unix::linux_like::linux::inotify_event"]],["impl Send for fanotify_response",1,["libc::unix::linux_like::linux::fanotify_response"]],["impl Send for sockaddr_vm",1,["libc::unix::linux_like::linux::sockaddr_vm"]],["impl Send for regmatch_t",1,["libc::unix::linux_like::linux::regmatch_t"]],["impl Send for sock_extended_err",1,["libc::unix::linux_like::linux::sock_extended_err"]],["impl Send for __c_anonymous_sockaddr_can_tp",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_tp"]],["impl Send for __c_anonymous_sockaddr_can_j1939",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_j1939"]],["impl Send for can_filter",1,["libc::unix::linux_like::linux::can_filter"]],["impl Send for j1939_filter",1,["libc::unix::linux_like::linux::j1939_filter"]],["impl Send for sock_filter",1,["libc::unix::linux_like::linux::sock_filter"]],["impl !Send for sock_fprog",1,["libc::unix::linux_like::linux::sock_fprog"]],["impl Send for seccomp_data",1,["libc::unix::linux_like::linux::seccomp_data"]],["impl Send for nlmsghdr",1,["libc::unix::linux_like::linux::nlmsghdr"]],["impl Send for nlmsgerr",1,["libc::unix::linux_like::linux::nlmsgerr"]],["impl Send for nlattr",1,["libc::unix::linux_like::linux::nlattr"]],["impl Send for file_clone_range",1,["libc::unix::linux_like::linux::file_clone_range"]],["impl Send for __c_anonymous_ifru_map",1,["libc::unix::linux_like::linux::__c_anonymous_ifru_map"]],["impl Send for in6_ifreq",1,["libc::unix::linux_like::linux::in6_ifreq"]],["impl !Send for option",1,["libc::unix::linux_like::linux::option"]],["impl Send for sctp_initmsg",1,["libc::unix::linux_like::linux::sctp_initmsg"]],["impl Send for sctp_sndrcvinfo",1,["libc::unix::linux_like::linux::sctp_sndrcvinfo"]],["impl Send for sctp_sndinfo",1,["libc::unix::linux_like::linux::sctp_sndinfo"]],["impl Send for sctp_rcvinfo",1,["libc::unix::linux_like::linux::sctp_rcvinfo"]],["impl Send for sctp_nxtinfo",1,["libc::unix::linux_like::linux::sctp_nxtinfo"]],["impl Send for sctp_prinfo",1,["libc::unix::linux_like::linux::sctp_prinfo"]],["impl Send for sctp_authinfo",1,["libc::unix::linux_like::linux::sctp_authinfo"]],["impl Send for rlimit64",1,["libc::unix::linux_like::linux::rlimit64"]],["impl Send for tls_crypto_info",1,["libc::unix::linux_like::linux::tls_crypto_info"]],["impl Send for tls12_crypto_info_aes_gcm_128",1,["libc::unix::linux_like::linux::tls12_crypto_info_aes_gcm_128"]],["impl Send for tls12_crypto_info_aes_gcm_256",1,["libc::unix::linux_like::linux::tls12_crypto_info_aes_gcm_256"]],["impl Send for tls12_crypto_info_chacha20_poly1305",1,["libc::unix::linux_like::linux::tls12_crypto_info_chacha20_poly1305"]],["impl Send for sockaddr_nl",1,["libc::unix::linux_like::linux::sockaddr_nl"]],["impl Send for dirent",1,["libc::unix::linux_like::linux::dirent"]],["impl Send for sockaddr_alg",1,["libc::unix::linux_like::linux::sockaddr_alg"]],["impl Send for uinput_setup",1,["libc::unix::linux_like::linux::uinput_setup"]],["impl Send for uinput_user_dev",1,["libc::unix::linux_like::linux::uinput_user_dev"]],["impl Send for af_alg_iv",1,["libc::unix::linux_like::linux::af_alg_iv"]],["impl Send for mq_attr",1,["libc::unix::linux_like::linux::mq_attr"]],["impl !Send for __c_anonymous_ifr_ifru",1,["libc::unix::linux_like::linux::__c_anonymous_ifr_ifru"]],["impl !Send for ifreq",1,["libc::unix::linux_like::linux::ifreq"]],["impl !Send for __c_anonymous_ifc_ifcu",1,["libc::unix::linux_like::linux::__c_anonymous_ifc_ifcu"]],["impl !Send for ifconf",1,["libc::unix::linux_like::linux::ifconf"]],["impl Send for hwtstamp_config",1,["libc::unix::linux_like::linux::hwtstamp_config"]],["impl Send for dirent64",1,["libc::unix::linux_like::linux::dirent64"]],["impl Send for sock_txtime",1,["libc::unix::linux_like::linux::sock_txtime"]],["impl Send for __c_anonymous_sockaddr_can_can_addr",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_can_addr"]],["impl Send for sockaddr_can",1,["libc::unix::linux_like::linux::sockaddr_can"]],["impl Send for pthread_mutexattr_t",1,["libc::unix::linux_like::linux::pthread_mutexattr_t"]],["impl Send for pthread_rwlockattr_t",1,["libc::unix::linux_like::linux::pthread_rwlockattr_t"]],["impl Send for pthread_condattr_t",1,["libc::unix::linux_like::linux::pthread_condattr_t"]],["impl Send for pthread_barrierattr_t",1,["libc::unix::linux_like::linux::pthread_barrierattr_t"]],["impl Send for fanotify_event_metadata",1,["libc::unix::linux_like::linux::fanotify_event_metadata"]],["impl Send for pthread_cond_t",1,["libc::unix::linux_like::linux::pthread_cond_t"]],["impl Send for pthread_mutex_t",1,["libc::unix::linux_like::linux::pthread_mutex_t"]],["impl Send for pthread_rwlock_t",1,["libc::unix::linux_like::linux::pthread_rwlock_t"]],["impl Send for pthread_barrier_t",1,["libc::unix::linux_like::linux::pthread_barrier_t"]],["impl Send for can_frame",1,["libc::unix::linux_like::linux::can_frame"]],["impl Send for canfd_frame",1,["libc::unix::linux_like::linux::canfd_frame"]],["impl Send for canxl_frame",1,["libc::unix::linux_like::linux::canxl_frame"]],["impl Send for timezone",1,["libc::unix::linux_like::timezone"]],["impl Send for in_addr",1,["libc::unix::linux_like::in_addr"]],["impl Send for ip_mreq",1,["libc::unix::linux_like::ip_mreq"]],["impl Send for ip_mreqn",1,["libc::unix::linux_like::ip_mreqn"]],["impl Send for ip_mreq_source",1,["libc::unix::linux_like::ip_mreq_source"]],["impl Send for sockaddr",1,["libc::unix::linux_like::sockaddr"]],["impl Send for sockaddr_in",1,["libc::unix::linux_like::sockaddr_in"]],["impl Send for sockaddr_in6",1,["libc::unix::linux_like::sockaddr_in6"]],["impl !Send for addrinfo",1,["libc::unix::linux_like::addrinfo"]],["impl Send for sockaddr_ll",1,["libc::unix::linux_like::sockaddr_ll"]],["impl Send for fd_set",1,["libc::unix::linux_like::fd_set"]],["impl !Send for tm",1,["libc::unix::linux_like::tm"]],["impl Send for sched_param",1,["libc::unix::linux_like::sched_param"]],["impl !Send for Dl_info",1,["libc::unix::linux_like::Dl_info"]],["impl !Send for lconv",1,["libc::unix::linux_like::lconv"]],["impl Send for in_pktinfo",1,["libc::unix::linux_like::in_pktinfo"]],["impl !Send for ifaddrs",1,["libc::unix::linux_like::ifaddrs"]],["impl Send for in6_rtmsg",1,["libc::unix::linux_like::in6_rtmsg"]],["impl Send for arpreq",1,["libc::unix::linux_like::arpreq"]],["impl Send for arpreq_old",1,["libc::unix::linux_like::arpreq_old"]],["impl Send for arphdr",1,["libc::unix::linux_like::arphdr"]],["impl !Send for mmsghdr",1,["libc::unix::linux_like::mmsghdr"]],["impl Send for epoll_event",1,["libc::unix::linux_like::epoll_event"]],["impl Send for sockaddr_un",1,["libc::unix::linux_like::sockaddr_un"]],["impl Send for sockaddr_storage",1,["libc::unix::linux_like::sockaddr_storage"]],["impl Send for utsname",1,["libc::unix::linux_like::utsname"]],["impl !Send for sigevent",1,["libc::unix::linux_like::sigevent"]],["impl Send for in6_addr",1,["libc::unix::align::in6_addr"]],["impl Send for DIR",1,["libc::unix::DIR"]],["impl !Send for group",1,["libc::unix::group"]],["impl Send for utimbuf",1,["libc::unix::utimbuf"]],["impl Send for timeval",1,["libc::unix::timeval"]],["impl Send for timespec",1,["libc::unix::timespec"]],["impl Send for rlimit",1,["libc::unix::rlimit"]],["impl Send for rusage",1,["libc::unix::rusage"]],["impl Send for ipv6_mreq",1,["libc::unix::ipv6_mreq"]],["impl !Send for hostent",1,["libc::unix::hostent"]],["impl !Send for iovec",1,["libc::unix::iovec"]],["impl Send for pollfd",1,["libc::unix::pollfd"]],["impl Send for winsize",1,["libc::unix::winsize"]],["impl Send for linger",1,["libc::unix::linger"]],["impl !Send for sigval",1,["libc::unix::sigval"]],["impl Send for itimerval",1,["libc::unix::itimerval"]],["impl Send for tms",1,["libc::unix::tms"]],["impl !Send for servent",1,["libc::unix::servent"]],["impl !Send for protoent",1,["libc::unix::protoent"]],["impl Send for FILE",1,["libc::unix::FILE"]],["impl Send for fpos_t",1,["libc::unix::fpos_t"]]], -"mavlink":[["impl Send for IcarousFmsState",1,["mavlink::icarous::IcarousFmsState"]],["impl Send for IcarousTrackBandTypes",1,["mavlink::icarous::IcarousTrackBandTypes"]],["impl Send for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::icarous::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Send for ICAROUS_HEARTBEAT_DATA",1,["mavlink::icarous::ICAROUS_HEARTBEAT_DATA"]],["impl Send for MavMessage",1,["mavlink::icarous::MavMessage"]],["impl Send for WinchActions",1,["mavlink::ardupilotmega::WinchActions"]],["impl Send for AisNavStatus",1,["mavlink::ardupilotmega::AisNavStatus"]],["impl Send for IcarousFmsState",1,["mavlink::ardupilotmega::IcarousFmsState"]],["impl Send for SetFocusType",1,["mavlink::ardupilotmega::SetFocusType"]],["impl Send for MavOdidIdType",1,["mavlink::ardupilotmega::MavOdidIdType"]],["impl Send for NavVtolLandOptions",1,["mavlink::ardupilotmega::NavVtolLandOptions"]],["impl Send for VtolTransitionHeading",1,["mavlink::ardupilotmega::VtolTransitionHeading"]],["impl Send for GoproResolution",1,["mavlink::ardupilotmega::GoproResolution"]],["impl Send for CameraFeedbackFlags",1,["mavlink::ardupilotmega::CameraFeedbackFlags"]],["impl Send for PrecisionLandMode",1,["mavlink::ardupilotmega::PrecisionLandMode"]],["impl Send for UavcanNodeHealth",1,["mavlink::ardupilotmega::UavcanNodeHealth"]],["impl Send for GoproProtuneSharpness",1,["mavlink::ardupilotmega::GoproProtuneSharpness"]],["impl Send for CellularStatusFlag",1,["mavlink::ardupilotmega::CellularStatusFlag"]],["impl Send for MavComponent",1,["mavlink::ardupilotmega::MavComponent"]],["impl Send for GoproFrameRate",1,["mavlink::ardupilotmega::GoproFrameRate"]],["impl Send for GoproBurstRate",1,["mavlink::ardupilotmega::GoproBurstRate"]],["impl Send for FailureUnit",1,["mavlink::ardupilotmega::FailureUnit"]],["impl Send for MavPowerStatus",1,["mavlink::ardupilotmega::MavPowerStatus"]],["impl Send for MavOdidDescType",1,["mavlink::ardupilotmega::MavOdidDescType"]],["impl Send for UavionixAdsbEmergencyStatus",1,["mavlink::ardupilotmega::UavionixAdsbEmergencyStatus"]],["impl Send for MavType",1,["mavlink::ardupilotmega::MavType"]],["impl Send for MavFrame",1,["mavlink::ardupilotmega::MavFrame"]],["impl Send for MavModeFlagDecodePosition",1,["mavlink::ardupilotmega::MavModeFlagDecodePosition"]],["impl Send for MavDataStream",1,["mavlink::ardupilotmega::MavDataStream"]],["impl Send for MavDoRepositionFlags",1,["mavlink::ardupilotmega::MavDoRepositionFlags"]],["impl Send for MavEstimatorType",1,["mavlink::ardupilotmega::MavEstimatorType"]],["impl Send for MavBatteryType",1,["mavlink::ardupilotmega::MavBatteryType"]],["impl Send for HlFailureFlag",1,["mavlink::ardupilotmega::HlFailureFlag"]],["impl Send for GimbalManagerFlags",1,["mavlink::ardupilotmega::GimbalManagerFlags"]],["impl Send for LedControlPattern",1,["mavlink::ardupilotmega::LedControlPattern"]],["impl Send for PreflightStorageParameterAction",1,["mavlink::ardupilotmega::PreflightStorageParameterAction"]],["impl Send for TuneFormat",1,["mavlink::ardupilotmega::TuneFormat"]],["impl Send for MavOdidOperatorLocationType",1,["mavlink::ardupilotmega::MavOdidOperatorLocationType"]],["impl Send for PlaneMode",1,["mavlink::ardupilotmega::PlaneMode"]],["impl Send for ParamAck",1,["mavlink::ardupilotmega::ParamAck"]],["impl Send for AutotuneAxis",1,["mavlink::ardupilotmega::AutotuneAxis"]],["impl Send for MagCalStatus",1,["mavlink::ardupilotmega::MagCalStatus"]],["impl Send for AisFlags",1,["mavlink::ardupilotmega::AisFlags"]],["impl Send for MavEventErrorReason",1,["mavlink::ardupilotmega::MavEventErrorReason"]],["impl Send for StorageType",1,["mavlink::ardupilotmega::StorageType"]],["impl Send for CopterMode",1,["mavlink::ardupilotmega::CopterMode"]],["impl Send for CameraStatusTypes",1,["mavlink::ardupilotmega::CameraStatusTypes"]],["impl Send for MavRoi",1,["mavlink::ardupilotmega::MavRoi"]],["impl Send for ActuatorOutputFunction",1,["mavlink::ardupilotmega::ActuatorOutputFunction"]],["impl Send for MavMissionType",1,["mavlink::ardupilotmega::MavMissionType"]],["impl Send for CanFilterOp",1,["mavlink::ardupilotmega::CanFilterOp"]],["impl Send for PositionTargetTypemask",1,["mavlink::ardupilotmega::PositionTargetTypemask"]],["impl Send for GimbalDeviceFlags",1,["mavlink::ardupilotmega::GimbalDeviceFlags"]],["impl Send for MavState",1,["mavlink::ardupilotmega::MavState"]],["impl Send for MavBatteryMode",1,["mavlink::ardupilotmega::MavBatteryMode"]],["impl Send for MavOdidSpeedAcc",1,["mavlink::ardupilotmega::MavOdidSpeedAcc"]],["impl Send for UavionixAdsbOutDynamicState",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicState"]],["impl Send for GimbalAxisCalibrationStatus",1,["mavlink::ardupilotmega::GimbalAxisCalibrationStatus"]],["impl Send for GoproRequestStatus",1,["mavlink::ardupilotmega::GoproRequestStatus"]],["impl Send for MavCmdDoAuxFunctionSwitchLevel",1,["mavlink::ardupilotmega::MavCmdDoAuxFunctionSwitchLevel"]],["impl Send for DeviceOpBustype",1,["mavlink::ardupilotmega::DeviceOpBustype"]],["impl Send for HilSensorUpdatedFlags",1,["mavlink::ardupilotmega::HilSensorUpdatedFlags"]],["impl Send for ParachuteAction",1,["mavlink::ardupilotmega::ParachuteAction"]],["impl Send for MavCollisionSrc",1,["mavlink::ardupilotmega::MavCollisionSrc"]],["impl Send for WifiConfigApResponse",1,["mavlink::ardupilotmega::WifiConfigApResponse"]],["impl Send for PreflightStorageMissionAction",1,["mavlink::ardupilotmega::PreflightStorageMissionAction"]],["impl Send for UtmFlightState",1,["mavlink::ardupilotmega::UtmFlightState"]],["impl Send for AdsbEmitterType",1,["mavlink::ardupilotmega::AdsbEmitterType"]],["impl Send for SerialControlDev",1,["mavlink::ardupilotmega::SerialControlDev"]],["impl Send for MavModeFlag",1,["mavlink::ardupilotmega::MavModeFlag"]],["impl Send for CameraTrackingTargetData",1,["mavlink::ardupilotmega::CameraTrackingTargetData"]],["impl Send for OrbitYawBehaviour",1,["mavlink::ardupilotmega::OrbitYawBehaviour"]],["impl Send for FenceAction",1,["mavlink::ardupilotmega::FenceAction"]],["impl Send for CellularNetworkRadioType",1,["mavlink::ardupilotmega::CellularNetworkRadioType"]],["impl Send for MavLandedState",1,["mavlink::ardupilotmega::MavLandedState"]],["impl Send for MavBatteryChargeState",1,["mavlink::ardupilotmega::MavBatteryChargeState"]],["impl Send for MavModeGimbal",1,["mavlink::ardupilotmega::MavModeGimbal"]],["impl Send for MavCollisionAction",1,["mavlink::ardupilotmega::MavCollisionAction"]],["impl Send for UavionixAdsbOutRfSelect",1,["mavlink::ardupilotmega::UavionixAdsbOutRfSelect"]],["impl Send for MavParamType",1,["mavlink::ardupilotmega::MavParamType"]],["impl Send for MavOdidClassEu",1,["mavlink::ardupilotmega::MavOdidClassEu"]],["impl Send for MavOdidStatus",1,["mavlink::ardupilotmega::MavOdidStatus"]],["impl Send for GoproPhotoResolution",1,["mavlink::ardupilotmega::GoproPhotoResolution"]],["impl Send for MavMissionResult",1,["mavlink::ardupilotmega::MavMissionResult"]],["impl Send for GimbalManagerCapFlags",1,["mavlink::ardupilotmega::GimbalManagerCapFlags"]],["impl Send for SerialControlFlag",1,["mavlink::ardupilotmega::SerialControlFlag"]],["impl Send for VideoStreamStatusFlags",1,["mavlink::ardupilotmega::VideoStreamStatusFlags"]],["impl Send for GripperActions",1,["mavlink::ardupilotmega::GripperActions"]],["impl Send for CameraZoomType",1,["mavlink::ardupilotmega::CameraZoomType"]],["impl Send for MavFtpOpcode",1,["mavlink::ardupilotmega::MavFtpOpcode"]],["impl Send for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Send for AdsbAltitudeType",1,["mavlink::ardupilotmega::AdsbAltitudeType"]],["impl Send for AccelcalVehiclePos",1,["mavlink::ardupilotmega::AccelcalVehiclePos"]],["impl Send for MavGoto",1,["mavlink::ardupilotmega::MavGoto"]],["impl Send for GimbalAxisCalibrationRequired",1,["mavlink::ardupilotmega::GimbalAxisCalibrationRequired"]],["impl Send for RoverMode",1,["mavlink::ardupilotmega::RoverMode"]],["impl Send for UavionixAdsbOutCfgAircraftSize",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgAircraftSize"]],["impl Send for CameraTrackingMode",1,["mavlink::ardupilotmega::CameraTrackingMode"]],["impl Send for CellularConfigResponse",1,["mavlink::ardupilotmega::CellularConfigResponse"]],["impl Send for MavOdidCategoryEu",1,["mavlink::ardupilotmega::MavOdidCategoryEu"]],["impl Send for EscFailureFlags",1,["mavlink::ardupilotmega::EscFailureFlags"]],["impl Send for MavCmd",1,["mavlink::ardupilotmega::MavCmd"]],["impl Send for MavProtocolCapability",1,["mavlink::ardupilotmega::MavProtocolCapability"]],["impl Send for ActuatorConfiguration",1,["mavlink::ardupilotmega::ActuatorConfiguration"]],["impl Send for MavSensorOrientation",1,["mavlink::ardupilotmega::MavSensorOrientation"]],["impl Send for MavCmdAck",1,["mavlink::ardupilotmega::MavCmdAck"]],["impl Send for MavVtolState",1,["mavlink::ardupilotmega::MavVtolState"]],["impl Send for GoproCommand",1,["mavlink::ardupilotmega::GoproCommand"]],["impl Send for LimitModule",1,["mavlink::ardupilotmega::LimitModule"]],["impl Send for FailureType",1,["mavlink::ardupilotmega::FailureType"]],["impl Send for FenceBreach",1,["mavlink::ardupilotmega::FenceBreach"]],["impl Send for MavResult",1,["mavlink::ardupilotmega::MavResult"]],["impl Send for MavArmAuthDeniedReason",1,["mavlink::ardupilotmega::MavArmAuthDeniedReason"]],["impl Send for MissionState",1,["mavlink::ardupilotmega::MissionState"]],["impl Send for RallyFlags",1,["mavlink::ardupilotmega::RallyFlags"]],["impl Send for GoproHeartbeatFlags",1,["mavlink::ardupilotmega::GoproHeartbeatFlags"]],["impl Send for MavBatteryFunction",1,["mavlink::ardupilotmega::MavBatteryFunction"]],["impl Send for MavlinkDataStreamType",1,["mavlink::ardupilotmega::MavlinkDataStreamType"]],["impl Send for AttitudeTargetTypemask",1,["mavlink::ardupilotmega::AttitudeTargetTypemask"]],["impl Send for AisType",1,["mavlink::ardupilotmega::AisType"]],["impl Send for LimitsState",1,["mavlink::ardupilotmega::LimitsState"]],["impl Send for MavMode",1,["mavlink::ardupilotmega::MavMode"]],["impl Send for MavOdidClassificationType",1,["mavlink::ardupilotmega::MavOdidClassificationType"]],["impl Send for FenceMitigate",1,["mavlink::ardupilotmega::FenceMitigate"]],["impl Send for MavOdidOperatorIdType",1,["mavlink::ardupilotmega::MavOdidOperatorIdType"]],["impl Send for GoproCaptureMode",1,["mavlink::ardupilotmega::GoproCaptureMode"]],["impl Send for CompMetadataType",1,["mavlink::ardupilotmega::CompMetadataType"]],["impl Send for GoproHeartbeatStatus",1,["mavlink::ardupilotmega::GoproHeartbeatStatus"]],["impl Send for CameraCapFlags",1,["mavlink::ardupilotmega::CameraCapFlags"]],["impl Send for GoproProtuneExposure",1,["mavlink::ardupilotmega::GoproProtuneExposure"]],["impl Send for MavRemoteLogDataBlockCommands",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockCommands"]],["impl Send for MavRemoteLogDataBlockStatuses",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockStatuses"]],["impl Send for DeepstallStage",1,["mavlink::ardupilotmega::DeepstallStage"]],["impl Send for OsdParamConfigError",1,["mavlink::ardupilotmega::OsdParamConfigError"]],["impl Send for MavAutopilot",1,["mavlink::ardupilotmega::MavAutopilot"]],["impl Send for MavCollisionThreatLevel",1,["mavlink::ardupilotmega::MavCollisionThreatLevel"]],["impl Send for MavDistanceSensor",1,["mavlink::ardupilotmega::MavDistanceSensor"]],["impl Send for FirmwareVersionType",1,["mavlink::ardupilotmega::FirmwareVersionType"]],["impl Send for MavWinchStatusFlag",1,["mavlink::ardupilotmega::MavWinchStatusFlag"]],["impl Send for UtmDataAvailFlags",1,["mavlink::ardupilotmega::UtmDataAvailFlags"]],["impl Send for MavOdidHorAcc",1,["mavlink::ardupilotmega::MavOdidHorAcc"]],["impl Send for MavOdidTimeAcc",1,["mavlink::ardupilotmega::MavOdidTimeAcc"]],["impl Send for MavGeneratorStatusFlag",1,["mavlink::ardupilotmega::MavGeneratorStatusFlag"]],["impl Send for MavOdidUaType",1,["mavlink::ardupilotmega::MavOdidUaType"]],["impl Send for StorageUsageFlag",1,["mavlink::ardupilotmega::StorageUsageFlag"]],["impl Send for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Send for StorageStatus",1,["mavlink::ardupilotmega::StorageStatus"]],["impl Send for EkfStatusFlags",1,["mavlink::ardupilotmega::EkfStatusFlags"]],["impl Send for HighresImuUpdatedFlags",1,["mavlink::ardupilotmega::HighresImuUpdatedFlags"]],["impl Send for IcarousTrackBandTypes",1,["mavlink::ardupilotmega::IcarousTrackBandTypes"]],["impl Send for CameraMode",1,["mavlink::ardupilotmega::CameraMode"]],["impl Send for PidTuningAxis",1,["mavlink::ardupilotmega::PidTuningAxis"]],["impl Send for RcType",1,["mavlink::ardupilotmega::RcType"]],["impl Send for GpsInputIgnoreFlags",1,["mavlink::ardupilotmega::GpsInputIgnoreFlags"]],["impl Send for RtkBaselineCoordinateSystem",1,["mavlink::ardupilotmega::RtkBaselineCoordinateSystem"]],["impl Send for EscConnectionType",1,["mavlink::ardupilotmega::EscConnectionType"]],["impl Send for CameraTrackingStatusFlags",1,["mavlink::ardupilotmega::CameraTrackingStatusFlags"]],["impl Send for MavBatteryFault",1,["mavlink::ardupilotmega::MavBatteryFault"]],["impl Send for GimbalDeviceErrorFlags",1,["mavlink::ardupilotmega::GimbalDeviceErrorFlags"]],["impl Send for WifiConfigApMode",1,["mavlink::ardupilotmega::WifiConfigApMode"]],["impl Send for MavMountMode",1,["mavlink::ardupilotmega::MavMountMode"]],["impl Send for MavSysStatusSensor",1,["mavlink::ardupilotmega::MavSysStatusSensor"]],["impl Send for MavSeverity",1,["mavlink::ardupilotmega::MavSeverity"]],["impl Send for GoproCharging",1,["mavlink::ardupilotmega::GoproCharging"]],["impl Send for MavSysStatusSensorExtended",1,["mavlink::ardupilotmega::MavSysStatusSensorExtended"]],["impl Send for SubMode",1,["mavlink::ardupilotmega::SubMode"]],["impl Send for MavTunnelPayloadType",1,["mavlink::ardupilotmega::MavTunnelPayloadType"]],["impl Send for MavParamExtType",1,["mavlink::ardupilotmega::MavParamExtType"]],["impl Send for GpsFixType",1,["mavlink::ardupilotmega::GpsFixType"]],["impl Send for AdsbFlags",1,["mavlink::ardupilotmega::AdsbFlags"]],["impl Send for GoproFieldOfView",1,["mavlink::ardupilotmega::GoproFieldOfView"]],["impl Send for TrackerMode",1,["mavlink::ardupilotmega::TrackerMode"]],["impl Send for GimbalDeviceCapFlags",1,["mavlink::ardupilotmega::GimbalDeviceCapFlags"]],["impl Send for UavcanNodeMode",1,["mavlink::ardupilotmega::UavcanNodeMode"]],["impl Send for EstimatorStatusFlags",1,["mavlink::ardupilotmega::EstimatorStatusFlags"]],["impl Send for MavOdidVerAcc",1,["mavlink::ardupilotmega::MavOdidVerAcc"]],["impl Send for GimbalAxis",1,["mavlink::ardupilotmega::GimbalAxis"]],["impl Send for LandingTargetType",1,["mavlink::ardupilotmega::LandingTargetType"]],["impl Send for MavEventCurrentSequenceFlags",1,["mavlink::ardupilotmega::MavEventCurrentSequenceFlags"]],["impl Send for MotorTestOrder",1,["mavlink::ardupilotmega::MotorTestOrder"]],["impl Send for VideoStreamType",1,["mavlink::ardupilotmega::VideoStreamType"]],["impl Send for GoproProtuneGain",1,["mavlink::ardupilotmega::GoproProtuneGain"]],["impl Send for MavFtpErr",1,["mavlink::ardupilotmega::MavFtpErr"]],["impl Send for MotorTestThrottleType",1,["mavlink::ardupilotmega::MotorTestThrottleType"]],["impl Send for UavionixAdsbOutDynamicGpsFix",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicGpsFix"]],["impl Send for GoproVideoSettingsFlags",1,["mavlink::ardupilotmega::GoproVideoSettingsFlags"]],["impl Send for MavOdidArmStatus",1,["mavlink::ardupilotmega::MavOdidArmStatus"]],["impl Send for HeadingType",1,["mavlink::ardupilotmega::HeadingType"]],["impl Send for GoproModel",1,["mavlink::ardupilotmega::GoproModel"]],["impl Send for MavOdidAuthType",1,["mavlink::ardupilotmega::MavOdidAuthType"]],["impl Send for GoproProtuneWhiteBalance",1,["mavlink::ardupilotmega::GoproProtuneWhiteBalance"]],["impl Send for UavionixAdsbRfHealth",1,["mavlink::ardupilotmega::UavionixAdsbRfHealth"]],["impl Send for SpeedType",1,["mavlink::ardupilotmega::SpeedType"]],["impl Send for OsdParamConfigType",1,["mavlink::ardupilotmega::OsdParamConfigType"]],["impl Send for MavOdidHeightRef",1,["mavlink::ardupilotmega::MavOdidHeightRef"]],["impl Send for GoproProtuneColour",1,["mavlink::ardupilotmega::GoproProtuneColour"]],["impl Send for CellularNetworkFailedReason",1,["mavlink::ardupilotmega::CellularNetworkFailedReason"]],["impl Send for ScriptingCmd",1,["mavlink::ardupilotmega::ScriptingCmd"]],["impl Send for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Send for COMPONENT_INFORMATION_DATA",1,["mavlink::ardupilotmega::COMPONENT_INFORMATION_DATA"]],["impl Send for OSD_PARAM_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_DATA"]],["impl Send for MISSION_ITEM_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_DATA"]],["impl Send for RADIO_STATUS_DATA",1,["mavlink::ardupilotmega::RADIO_STATUS_DATA"]],["impl Send for FLIGHT_INFORMATION_DATA",1,["mavlink::ardupilotmega::FLIGHT_INFORMATION_DATA"]],["impl Send for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::ardupilotmega::HIL_RC_INPUTS_RAW_DATA"]],["impl Send for VIBRATION_DATA",1,["mavlink::ardupilotmega::VIBRATION_DATA"]],["impl Send for BATTERY_STATUS_DATA",1,["mavlink::ardupilotmega::BATTERY_STATUS_DATA"]],["impl Send for WIND_COV_DATA",1,["mavlink::ardupilotmega::WIND_COV_DATA"]],["impl Send for CAMERA_INFORMATION_DATA",1,["mavlink::ardupilotmega::CAMERA_INFORMATION_DATA"]],["impl Send for RAW_IMU_DATA",1,["mavlink::ardupilotmega::RAW_IMU_DATA"]],["impl Send for GPS_RTK_DATA",1,["mavlink::ardupilotmega::GPS_RTK_DATA"]],["impl Send for RAW_RPM_DATA",1,["mavlink::ardupilotmega::RAW_RPM_DATA"]],["impl Send for TERRAIN_CHECK_DATA",1,["mavlink::ardupilotmega::TERRAIN_CHECK_DATA"]],["impl Send for REQUEST_EVENT_DATA",1,["mavlink::ardupilotmega::REQUEST_EVENT_DATA"]],["impl Send for REQUEST_DATA_STREAM_DATA",1,["mavlink::ardupilotmega::REQUEST_DATA_STREAM_DATA"]],["impl Send for HWSTATUS_DATA",1,["mavlink::ardupilotmega::HWSTATUS_DATA"]],["impl Send for FOLLOW_TARGET_DATA",1,["mavlink::ardupilotmega::FOLLOW_TARGET_DATA"]],["impl Send for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_COV_DATA"]],["impl Send for UAVCAN_NODE_INFO_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_INFO_DATA"]],["impl Send for AOA_SSA_DATA",1,["mavlink::ardupilotmega::AOA_SSA_DATA"]],["impl Send for ISBD_LINK_STATUS_DATA",1,["mavlink::ardupilotmega::ISBD_LINK_STATUS_DATA"]],["impl Send for LED_CONTROL_DATA",1,["mavlink::ardupilotmega::LED_CONTROL_DATA"]],["impl Send for WIFI_CONFIG_AP_DATA",1,["mavlink::ardupilotmega::WIFI_CONFIG_AP_DATA"]],["impl Send for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Send for EKF_STATUS_REPORT_DATA",1,["mavlink::ardupilotmega::EKF_STATUS_REPORT_DATA"]],["impl Send for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Send for GIMBAL_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_REPORT_DATA"]],["impl Send for SYS_STATUS_DATA",1,["mavlink::ardupilotmega::SYS_STATUS_DATA"]],["impl Send for MAG_CAL_PROGRESS_DATA",1,["mavlink::ardupilotmega::MAG_CAL_PROGRESS_DATA"]],["impl Send for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::ardupilotmega::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Send for PID_TUNING_DATA",1,["mavlink::ardupilotmega::PID_TUNING_DATA"]],["impl Send for HIL_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_CONTROLS_DATA"]],["impl Send for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Send for CAN_FRAME_DATA",1,["mavlink::ardupilotmega::CAN_FRAME_DATA"]],["impl Send for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Send for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_COV_DATA"]],["impl Send for SET_MAG_OFFSETS_DATA",1,["mavlink::ardupilotmega::SET_MAG_OFFSETS_DATA"]],["impl Send for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_SPEED_ESTIMATE_DATA"]],["impl Send for MOUNT_CONTROL_DATA",1,["mavlink::ardupilotmega::MOUNT_CONTROL_DATA"]],["impl Send for DEEPSTALL_DATA",1,["mavlink::ardupilotmega::DEEPSTALL_DATA"]],["impl Send for PARAM_EXT_ACK_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_ACK_DATA"]],["impl Send for COLLISION_DATA",1,["mavlink::ardupilotmega::COLLISION_DATA"]],["impl Send for GIMBAL_TORQUE_CMD_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_TORQUE_CMD_REPORT_DATA"]],["impl Send for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::GPS_GLOBAL_ORIGIN_DATA"]],["impl Send for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Send for EFI_STATUS_DATA",1,["mavlink::ardupilotmega::EFI_STATUS_DATA"]],["impl Send for HIL_STATE_DATA",1,["mavlink::ardupilotmega::HIL_STATE_DATA"]],["impl Send for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::ardupilotmega::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Send for MCU_STATUS_DATA",1,["mavlink::ardupilotmega::MCU_STATUS_DATA"]],["impl Send for PARAM_MAP_RC_DATA",1,["mavlink::ardupilotmega::PARAM_MAP_RC_DATA"]],["impl Send for HEARTBEAT_DATA",1,["mavlink::ardupilotmega::HEARTBEAT_DATA"]],["impl Send for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Send for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::ardupilotmega::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Send for ODOMETRY_DATA",1,["mavlink::ardupilotmega::ODOMETRY_DATA"]],["impl Send for DISTANCE_SENSOR_DATA",1,["mavlink::ardupilotmega::DISTANCE_SENSOR_DATA"]],["impl Send for OSD_PARAM_SHOW_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_REPLY_DATA"]],["impl Send for GOPRO_SET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_REQUEST_DATA"]],["impl Send for ESC_INFO_DATA",1,["mavlink::ardupilotmega::ESC_INFO_DATA"]],["impl Send for MANUAL_SETPOINT_DATA",1,["mavlink::ardupilotmega::MANUAL_SETPOINT_DATA"]],["impl Send for LOG_DATA_DATA",1,["mavlink::ardupilotmega::LOG_DATA_DATA"]],["impl Send for CAMERA_FEEDBACK_DATA",1,["mavlink::ardupilotmega::CAMERA_FEEDBACK_DATA"]],["impl Send for FENCE_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_POINT_DATA"]],["impl Send for SUPPORTED_TUNES_DATA",1,["mavlink::ardupilotmega::SUPPORTED_TUNES_DATA"]],["impl Send for LOGGING_ACK_DATA",1,["mavlink::ardupilotmega::LOGGING_ACK_DATA"]],["impl Send for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_ESTIMATE_DATA"]],["impl Send for AHRS_DATA",1,["mavlink::ardupilotmega::AHRS_DATA"]],["impl Send for MESSAGE_INTERVAL_DATA",1,["mavlink::ardupilotmega::MESSAGE_INTERVAL_DATA"]],["impl Send for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_OVERRIDE_DATA"]],["impl Send for LOG_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_LIST_DATA"]],["impl Send for RESOURCE_REQUEST_DATA",1,["mavlink::ardupilotmega::RESOURCE_REQUEST_DATA"]],["impl Send for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Send for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::ardupilotmega::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Send for LOCAL_POSITION_NED_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_DATA"]],["impl Send for DIGICAM_CONFIGURE_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONFIGURE_DATA"]],["impl Send for ESC_TELEMETRY_9_TO_12_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_9_TO_12_DATA"]],["impl Send for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Send for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Send for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_ALLOWED_AREA_DATA"]],["impl Send for COMMAND_INT_DATA",1,["mavlink::ardupilotmega::COMMAND_INT_DATA"]],["impl Send for GOPRO_GET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_REQUEST_DATA"]],["impl Send for CAN_FILTER_MODIFY_DATA",1,["mavlink::ardupilotmega::CAN_FILTER_MODIFY_DATA"]],["impl Send for STATUSTEXT_DATA",1,["mavlink::ardupilotmega::STATUSTEXT_DATA"]],["impl Send for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::ardupilotmega::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Send for MISSION_ITEM_INT_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_INT_DATA"]],["impl Send for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"]],["impl Send for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Send for MISSION_REQUEST_INT_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_INT_DATA"]],["impl Send for STORAGE_INFORMATION_DATA",1,["mavlink::ardupilotmega::STORAGE_INFORMATION_DATA"]],["impl Send for UTM_GLOBAL_POSITION_DATA",1,["mavlink::ardupilotmega::UTM_GLOBAL_POSITION_DATA"]],["impl Send for MEMINFO_DATA",1,["mavlink::ardupilotmega::MEMINFO_DATA"]],["impl Send for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Send for GPS2_RAW_DATA",1,["mavlink::ardupilotmega::GPS2_RAW_DATA"]],["impl Send for RALLY_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_POINT_DATA"]],["impl Send for AP_ADC_DATA",1,["mavlink::ardupilotmega::AP_ADC_DATA"]],["impl Send for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Send for LOGGING_DATA_ACKED_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_ACKED_DATA"]],["impl Send for RC_CHANNELS_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_DATA"]],["impl Send for NAMED_VALUE_INT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_INT_DATA"]],["impl Send for LINK_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::LINK_NODE_STATUS_DATA"]],["impl Send for NAMED_VALUE_FLOAT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_FLOAT_DATA"]],["impl Send for SERVO_OUTPUT_RAW_DATA",1,["mavlink::ardupilotmega::SERVO_OUTPUT_RAW_DATA"]],["impl Send for CELLULAR_STATUS_DATA",1,["mavlink::ardupilotmega::CELLULAR_STATUS_DATA"]],["impl Send for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Send for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::ardupilotmega::DEBUG_FLOAT_ARRAY_DATA"]],["impl Send for POWER_STATUS_DATA",1,["mavlink::ardupilotmega::POWER_STATUS_DATA"]],["impl Send for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Send for BUTTON_CHANGE_DATA",1,["mavlink::ardupilotmega::BUTTON_CHANGE_DATA"]],["impl Send for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::ardupilotmega::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Send for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_READ_DATA"]],["impl Send for MOUNT_STATUS_DATA",1,["mavlink::ardupilotmega::MOUNT_STATUS_DATA"]],["impl Send for MISSION_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_CURRENT_DATA"]],["impl Send for DEBUG_VECT_DATA",1,["mavlink::ardupilotmega::DEBUG_VECT_DATA"]],["impl Send for CAMERA_FOV_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_FOV_STATUS_DATA"]],["impl Send for SCALED_PRESSURE3_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE3_DATA"]],["impl Send for MISSION_ITEM_REACHED_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_REACHED_DATA"]],["impl Send for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Send for PARAM_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_VALUE_DATA"]],["impl Send for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VICON_POSITION_ESTIMATE_DATA"]],["impl Send for TIMESYNC_DATA",1,["mavlink::ardupilotmega::TIMESYNC_DATA"]],["impl Send for MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::MANUAL_CONTROL_DATA"]],["impl Send for MEMORY_VECT_DATA",1,["mavlink::ardupilotmega::MEMORY_VECT_DATA"]],["impl Send for OBSTACLE_DISTANCE_3D_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_3D_DATA"]],["impl Send for COMPONENT_METADATA_DATA",1,["mavlink::ardupilotmega::COMPONENT_METADATA_DATA"]],["impl Send for CAMERA_SETTINGS_DATA",1,["mavlink::ardupilotmega::CAMERA_SETTINGS_DATA"]],["impl Send for MAG_CAL_REPORT_DATA",1,["mavlink::ardupilotmega::MAG_CAL_REPORT_DATA"]],["impl Send for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Send for ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::ATTITUDE_TARGET_DATA"]],["impl Send for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Send for WINCH_STATUS_DATA",1,["mavlink::ardupilotmega::WINCH_STATUS_DATA"]],["impl Send for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Send for ICAROUS_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::ICAROUS_HEARTBEAT_DATA"]],["impl Send for GOPRO_GET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_RESPONSE_DATA"]],["impl Send for GPS_RAW_INT_DATA",1,["mavlink::ardupilotmega::GPS_RAW_INT_DATA"]],["impl Send for PING_DATA",1,["mavlink::ardupilotmega::PING_DATA"]],["impl Send for ATTITUDE_QUATERNION_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_DATA"]],["impl Send for ESC_TELEMETRY_1_TO_4_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_1_TO_4_DATA"]],["impl Send for HERELINK_VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::HERELINK_VIDEO_STREAM_INFORMATION_DATA"]],["impl Send for COMMAND_LONG_DATA",1,["mavlink::ardupilotmega::COMMAND_LONG_DATA"]],["impl Send for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Send for SCALED_IMU2_DATA",1,["mavlink::ardupilotmega::SCALED_IMU2_DATA"]],["impl Send for AHRS2_DATA",1,["mavlink::ardupilotmega::AHRS2_DATA"]],["impl Send for ATT_POS_MOCAP_DATA",1,["mavlink::ardupilotmega::ATT_POS_MOCAP_DATA"]],["impl Send for OPTICAL_FLOW_RAD_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_RAD_DATA"]],["impl Send for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::ardupilotmega::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Send for MISSION_ACK_DATA",1,["mavlink::ardupilotmega::MISSION_ACK_DATA"]],["impl Send for PARAM_SET_DATA",1,["mavlink::ardupilotmega::PARAM_SET_DATA"]],["impl Send for DEBUG_DATA",1,["mavlink::ardupilotmega::DEBUG_DATA"]],["impl Send for AUTH_KEY_DATA",1,["mavlink::ardupilotmega::AUTH_KEY_DATA"]],["impl Send for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Send for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::ardupilotmega::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Send for MISSION_COUNT_DATA",1,["mavlink::ardupilotmega::MISSION_COUNT_DATA"]],["impl Send for ADSB_VEHICLE_DATA",1,["mavlink::ardupilotmega::ADSB_VEHICLE_DATA"]],["impl Send for ENCAPSULATED_DATA_DATA",1,["mavlink::ardupilotmega::ENCAPSULATED_DATA_DATA"]],["impl Send for SCALED_PRESSURE_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE_DATA"]],["impl Send for MOUNT_CONFIGURE_DATA",1,["mavlink::ardupilotmega::MOUNT_CONFIGURE_DATA"]],["impl Send for OSD_PARAM_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_REPLY_DATA"]],["impl Send for SETUP_SIGNING_DATA",1,["mavlink::ardupilotmega::SETUP_SIGNING_DATA"]],["impl Send for DATA32_DATA",1,["mavlink::ardupilotmega::DATA32_DATA"]],["impl Send for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Send for TUNNEL_DATA",1,["mavlink::ardupilotmega::TUNNEL_DATA"]],["impl Send for DATA96_DATA",1,["mavlink::ardupilotmega::DATA96_DATA"]],["impl Send for ESTIMATOR_STATUS_DATA",1,["mavlink::ardupilotmega::ESTIMATOR_STATUS_DATA"]],["impl Send for ALTITUDE_DATA",1,["mavlink::ardupilotmega::ALTITUDE_DATA"]],["impl Send for GPS_RTCM_DATA_DATA",1,["mavlink::ardupilotmega::GPS_RTCM_DATA_DATA"]],["impl Send for SCALED_IMU3_DATA",1,["mavlink::ardupilotmega::SCALED_IMU3_DATA"]],["impl Send for AUTOPILOT_VERSION_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_DATA"]],["impl Send for SET_HOME_POSITION_DATA",1,["mavlink::ardupilotmega::SET_HOME_POSITION_DATA"]],["impl Send for GIMBAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_CONTROL_DATA"]],["impl Send for GOPRO_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::GOPRO_HEARTBEAT_DATA"]],["impl Send for HIL_STATE_QUATERNION_DATA",1,["mavlink::ardupilotmega::HIL_STATE_QUATERNION_DATA"]],["impl Send for TERRAIN_REPORT_DATA",1,["mavlink::ardupilotmega::TERRAIN_REPORT_DATA"]],["impl Send for WIND_DATA",1,["mavlink::ardupilotmega::WIND_DATA"]],["impl Send for RAW_PRESSURE_DATA",1,["mavlink::ardupilotmega::RAW_PRESSURE_DATA"]],["impl Send for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Send for CUBEPILOT_FIRMWARE_UPDATE_START_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_START_DATA"]],["impl Send for GENERATOR_STATUS_DATA",1,["mavlink::ardupilotmega::GENERATOR_STATUS_DATA"]],["impl Send for RADIO_DATA",1,["mavlink::ardupilotmega::RADIO_DATA"]],["impl Send for DEVICE_OP_READ_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_DATA"]],["impl Send for AIS_VESSEL_DATA",1,["mavlink::ardupilotmega::AIS_VESSEL_DATA"]],["impl Send for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Send for PARAM_EXT_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_VALUE_DATA"]],["impl Send for UAVCAN_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_STATUS_DATA"]],["impl Send for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Send for WATER_DEPTH_DATA",1,["mavlink::ardupilotmega::WATER_DEPTH_DATA"]],["impl Send for SIM_STATE_DATA",1,["mavlink::ardupilotmega::SIM_STATE_DATA"]],["impl Send for TERRAIN_REQUEST_DATA",1,["mavlink::ardupilotmega::TERRAIN_REQUEST_DATA"]],["impl Send for PARAM_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_READ_DATA"]],["impl Send for GLOBAL_POSITION_INT_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_DATA"]],["impl Send for PLAY_TUNE_V2_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_V2_DATA"]],["impl Send for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Send for SYSTEM_TIME_DATA",1,["mavlink::ardupilotmega::SYSTEM_TIME_DATA"]],["impl Send for GPS2_RTK_DATA",1,["mavlink::ardupilotmega::GPS2_RTK_DATA"]],["impl Send for HIGH_LATENCY2_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY2_DATA"]],["impl Send for MOUNT_ORIENTATION_DATA",1,["mavlink::ardupilotmega::MOUNT_ORIENTATION_DATA"]],["impl Send for RC_CHANNELS_RAW_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_RAW_DATA"]],["impl Send for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_STATUS_DATA"]],["impl Send for SENSOR_OFFSETS_DATA",1,["mavlink::ardupilotmega::SENSOR_OFFSETS_DATA"]],["impl Send for FENCE_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_FETCH_POINT_DATA"]],["impl Send for LIMITS_STATUS_DATA",1,["mavlink::ardupilotmega::LIMITS_STATUS_DATA"]],["impl Send for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Send for DATA64_DATA",1,["mavlink::ardupilotmega::DATA64_DATA"]],["impl Send for HOME_POSITION_DATA",1,["mavlink::ardupilotmega::HOME_POSITION_DATA"]],["impl Send for LOG_REQUEST_DATA_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_DATA_DATA"]],["impl Send for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Send for AUTOPILOT_VERSION_REQUEST_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_REQUEST_DATA"]],["impl Send for ATTITUDE_DATA",1,["mavlink::ardupilotmega::ATTITUDE_DATA"]],["impl Send for REMOTE_LOG_BLOCK_STATUS_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_BLOCK_STATUS_DATA"]],["impl Send for ADAP_TUNING_DATA",1,["mavlink::ardupilotmega::ADAP_TUNING_DATA"]],["impl Send for PARAM_EXT_SET_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_SET_DATA"]],["impl Send for HIL_OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::HIL_OPTICAL_FLOW_DATA"]],["impl Send for RC_CHANNELS_SCALED_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_SCALED_DATA"]],["impl Send for EXTENDED_SYS_STATE_DATA",1,["mavlink::ardupilotmega::EXTENDED_SYS_STATE_DATA"]],["impl Send for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Send for LOG_REQUEST_END_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_END_DATA"]],["impl Send for OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_DATA"]],["impl Send for COMMAND_ACK_DATA",1,["mavlink::ardupilotmega::COMMAND_ACK_DATA"]],["impl Send for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Send for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Send for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Send for MISSION_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_LIST_DATA"]],["impl Send for PARAM_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_LIST_DATA"]],["impl Send for MISSION_SET_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_SET_CURRENT_DATA"]],["impl Send for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::ardupilotmega::CONTROL_SYSTEM_STATE_DATA"]],["impl Send for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Send for SMART_BATTERY_INFO_DATA",1,["mavlink::ardupilotmega::SMART_BATTERY_INFO_DATA"]],["impl Send for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Send for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_COV_DATA"]],["impl Send for VIDEO_STREAM_STATUS_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_STATUS_DATA"]],["impl Send for SET_MODE_DATA",1,["mavlink::ardupilotmega::SET_MODE_DATA"]],["impl Send for HERELINK_TELEM_DATA",1,["mavlink::ardupilotmega::HERELINK_TELEM_DATA"]],["impl Send for GPS_INJECT_DATA_DATA",1,["mavlink::ardupilotmega::GPS_INJECT_DATA_DATA"]],["impl Send for VFR_HUD_DATA",1,["mavlink::ardupilotmega::VFR_HUD_DATA"]],["impl Send for HIGH_LATENCY_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY_DATA"]],["impl Send for DIGICAM_CONTROL_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONTROL_DATA"]],["impl Send for WHEEL_DISTANCE_DATA",1,["mavlink::ardupilotmega::WHEEL_DISTANCE_DATA"]],["impl Send for COMMAND_CANCEL_DATA",1,["mavlink::ardupilotmega::COMMAND_CANCEL_DATA"]],["impl Send for SIMSTATE_DATA",1,["mavlink::ardupilotmega::SIMSTATE_DATA"]],["impl Send for DATA16_DATA",1,["mavlink::ardupilotmega::DATA16_DATA"]],["impl Send for MISSION_CLEAR_ALL_DATA",1,["mavlink::ardupilotmega::MISSION_CLEAR_ALL_DATA"]],["impl Send for REMOTE_LOG_DATA_BLOCK_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_DATA_BLOCK_DATA"]],["impl Send for RPM_DATA",1,["mavlink::ardupilotmega::RPM_DATA"]],["impl Send for VISION_POSITION_DELTA_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_DELTA_DATA"]],["impl Send for AHRS3_DATA",1,["mavlink::ardupilotmega::AHRS3_DATA"]],["impl Send for OSD_PARAM_SHOW_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_DATA"]],["impl Send for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Send for SET_ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ATTITUDE_TARGET_DATA"]],["impl Send for GOPRO_SET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_RESPONSE_DATA"]],["impl Send for SCALED_PRESSURE2_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE2_DATA"]],["impl Send for HIL_SENSOR_DATA",1,["mavlink::ardupilotmega::HIL_SENSOR_DATA"]],["impl Send for CANFD_FRAME_DATA",1,["mavlink::ardupilotmega::CANFD_FRAME_DATA"]],["impl Send for DATA_STREAM_DATA",1,["mavlink::ardupilotmega::DATA_STREAM_DATA"]],["impl Send for HIGHRES_IMU_DATA",1,["mavlink::ardupilotmega::HIGHRES_IMU_DATA"]],["impl Send for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Send for MISSION_REQUEST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_DATA"]],["impl Send for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_INFORMATION_DATA"]],["impl Send for SCALED_IMU_DATA",1,["mavlink::ardupilotmega::SCALED_IMU_DATA"]],["impl Send for DEVICE_OP_WRITE_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_DATA"]],["impl Send for HYGROMETER_SENSOR_DATA",1,["mavlink::ardupilotmega::HYGROMETER_SENSOR_DATA"]],["impl Send for CUBEPILOT_RAW_RC_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_RAW_RC_DATA"]],["impl Send for GPS_STATUS_DATA",1,["mavlink::ardupilotmega::GPS_STATUS_DATA"]],["impl Send for DEVICE_OP_WRITE_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_REPLY_DATA"]],["impl Send for CAMERA_TRIGGER_DATA",1,["mavlink::ardupilotmega::CAMERA_TRIGGER_DATA"]],["impl Send for SERIAL_CONTROL_DATA",1,["mavlink::ardupilotmega::SERIAL_CONTROL_DATA"]],["impl Send for OBSTACLE_DISTANCE_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_DATA"]],["impl Send for FENCE_STATUS_DATA",1,["mavlink::ardupilotmega::FENCE_STATUS_DATA"]],["impl Send for ESC_STATUS_DATA",1,["mavlink::ardupilotmega::ESC_STATUS_DATA"]],["impl Send for LANDING_TARGET_DATA",1,["mavlink::ardupilotmega::LANDING_TARGET_DATA"]],["impl Send for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Send for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_CAPTURE_STATUS_DATA"]],["impl Send for BATTERY2_DATA",1,["mavlink::ardupilotmega::BATTERY2_DATA"]],["impl Send for TERRAIN_DATA_DATA",1,["mavlink::ardupilotmega::TERRAIN_DATA_DATA"]],["impl Send for GPS_INPUT_DATA",1,["mavlink::ardupilotmega::GPS_INPUT_DATA"]],["impl Send for AIRSPEED_AUTOCAL_DATA",1,["mavlink::ardupilotmega::AIRSPEED_AUTOCAL_DATA"]],["impl Send for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::ardupilotmega::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Send for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Send for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Send for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::ardupilotmega::RESPONSE_EVENT_ERROR_DATA"]],["impl Send for LOG_ENTRY_DATA",1,["mavlink::ardupilotmega::LOG_ENTRY_DATA"]],["impl Send for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Send for LOG_ERASE_DATA",1,["mavlink::ardupilotmega::LOG_ERASE_DATA"]],["impl Send for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::ardupilotmega::ORBIT_EXECUTION_STATUS_DATA"]],["impl Send for COMPASSMOT_STATUS_DATA",1,["mavlink::ardupilotmega::COMPASSMOT_STATUS_DATA"]],["impl Send for HIL_GPS_DATA",1,["mavlink::ardupilotmega::HIL_GPS_DATA"]],["impl Send for LOGGING_DATA_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_DATA"]],["impl Send for PLAY_TUNE_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_DATA"]],["impl Send for PROTOCOL_VERSION_DATA",1,["mavlink::ardupilotmega::PROTOCOL_VERSION_DATA"]],["impl Send for CELLULAR_CONFIG_DATA",1,["mavlink::ardupilotmega::CELLULAR_CONFIG_DATA"]],["impl Send for DEVICE_OP_READ_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_REPLY_DATA"]],["impl Send for EVENT_DATA",1,["mavlink::ardupilotmega::EVENT_DATA"]],["impl Send for V2_EXTENSION_DATA",1,["mavlink::ardupilotmega::V2_EXTENSION_DATA"]],["impl Send for RALLY_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_FETCH_POINT_DATA"]],["impl Send for CAMERA_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_STATUS_DATA"]],["impl Send for RANGEFINDER_DATA",1,["mavlink::ardupilotmega::RANGEFINDER_DATA"]],["impl Send for ESC_TELEMETRY_5_TO_8_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_5_TO_8_DATA"]],["impl Send for MavMessage",1,["mavlink::ardupilotmega::MavMessage"]],["impl Send for MavType",1,["mavlink::uavionix::MavType"]],["impl Send for CameraMode",1,["mavlink::uavionix::CameraMode"]],["impl Send for CellularNetworkFailedReason",1,["mavlink::uavionix::CellularNetworkFailedReason"]],["impl Send for WifiConfigApMode",1,["mavlink::uavionix::WifiConfigApMode"]],["impl Send for WifiConfigApResponse",1,["mavlink::uavionix::WifiConfigApResponse"]],["impl Send for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Send for CellularNetworkRadioType",1,["mavlink::uavionix::CellularNetworkRadioType"]],["impl Send for AttitudeTargetTypemask",1,["mavlink::uavionix::AttitudeTargetTypemask"]],["impl Send for UavionixAdsbOutDynamicGpsFix",1,["mavlink::uavionix::UavionixAdsbOutDynamicGpsFix"]],["impl Send for MavBatteryFunction",1,["mavlink::uavionix::MavBatteryFunction"]],["impl Send for MavCollisionThreatLevel",1,["mavlink::uavionix::MavCollisionThreatLevel"]],["impl Send for MavModeFlagDecodePosition",1,["mavlink::uavionix::MavModeFlagDecodePosition"]],["impl Send for MavCollisionSrc",1,["mavlink::uavionix::MavCollisionSrc"]],["impl Send for PreflightStorageParameterAction",1,["mavlink::uavionix::PreflightStorageParameterAction"]],["impl Send for MavSysStatusSensorExtended",1,["mavlink::uavionix::MavSysStatusSensorExtended"]],["impl Send for MavCollisionAction",1,["mavlink::uavionix::MavCollisionAction"]],["impl Send for CameraCapFlags",1,["mavlink::uavionix::CameraCapFlags"]],["impl Send for MavBatteryChargeState",1,["mavlink::uavionix::MavBatteryChargeState"]],["impl Send for MavEventErrorReason",1,["mavlink::uavionix::MavEventErrorReason"]],["impl Send for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Send for MavOdidHorAcc",1,["mavlink::uavionix::MavOdidHorAcc"]],["impl Send for GimbalManagerFlags",1,["mavlink::uavionix::GimbalManagerFlags"]],["impl Send for MavGoto",1,["mavlink::uavionix::MavGoto"]],["impl Send for MavBatteryType",1,["mavlink::uavionix::MavBatteryType"]],["impl Send for MavDataStream",1,["mavlink::uavionix::MavDataStream"]],["impl Send for MavlinkDataStreamType",1,["mavlink::uavionix::MavlinkDataStreamType"]],["impl Send for MavOdidOperatorLocationType",1,["mavlink::uavionix::MavOdidOperatorLocationType"]],["impl Send for MavAutopilot",1,["mavlink::uavionix::MavAutopilot"]],["impl Send for MavOdidAuthType",1,["mavlink::uavionix::MavOdidAuthType"]],["impl Send for UavionixAdsbOutDynamicState",1,["mavlink::uavionix::UavionixAdsbOutDynamicState"]],["impl Send for MavOdidIdType",1,["mavlink::uavionix::MavOdidIdType"]],["impl Send for StorageUsageFlag",1,["mavlink::uavionix::StorageUsageFlag"]],["impl Send for FenceMitigate",1,["mavlink::uavionix::FenceMitigate"]],["impl Send for MavFrame",1,["mavlink::uavionix::MavFrame"]],["impl Send for MavMode",1,["mavlink::uavionix::MavMode"]],["impl Send for MavOdidUaType",1,["mavlink::uavionix::MavOdidUaType"]],["impl Send for MavParamExtType",1,["mavlink::uavionix::MavParamExtType"]],["impl Send for StorageStatus",1,["mavlink::uavionix::StorageStatus"]],["impl Send for AisType",1,["mavlink::uavionix::AisType"]],["impl Send for FenceAction",1,["mavlink::uavionix::FenceAction"]],["impl Send for CameraTrackingTargetData",1,["mavlink::uavionix::CameraTrackingTargetData"]],["impl Send for MavCmdAck",1,["mavlink::uavionix::MavCmdAck"]],["impl Send for MavModeFlag",1,["mavlink::uavionix::MavModeFlag"]],["impl Send for MavVtolState",1,["mavlink::uavionix::MavVtolState"]],["impl Send for VtolTransitionHeading",1,["mavlink::uavionix::VtolTransitionHeading"]],["impl Send for EstimatorStatusFlags",1,["mavlink::uavionix::EstimatorStatusFlags"]],["impl Send for UavionixAdsbOutRfSelect",1,["mavlink::uavionix::UavionixAdsbOutRfSelect"]],["impl Send for PrecisionLandMode",1,["mavlink::uavionix::PrecisionLandMode"]],["impl Send for MavEstimatorType",1,["mavlink::uavionix::MavEstimatorType"]],["impl Send for MavBatteryFault",1,["mavlink::uavionix::MavBatteryFault"]],["impl Send for HilSensorUpdatedFlags",1,["mavlink::uavionix::HilSensorUpdatedFlags"]],["impl Send for UavionixAdsbEmergencyStatus",1,["mavlink::uavionix::UavionixAdsbEmergencyStatus"]],["impl Send for GimbalDeviceCapFlags",1,["mavlink::uavionix::GimbalDeviceCapFlags"]],["impl Send for MavArmAuthDeniedReason",1,["mavlink::uavionix::MavArmAuthDeniedReason"]],["impl Send for MavComponent",1,["mavlink::uavionix::MavComponent"]],["impl Send for MavSysStatusSensor",1,["mavlink::uavionix::MavSysStatusSensor"]],["impl Send for MagCalStatus",1,["mavlink::uavionix::MagCalStatus"]],["impl Send for MavState",1,["mavlink::uavionix::MavState"]],["impl Send for MavOdidArmStatus",1,["mavlink::uavionix::MavOdidArmStatus"]],["impl Send for OrbitYawBehaviour",1,["mavlink::uavionix::OrbitYawBehaviour"]],["impl Send for MavProtocolCapability",1,["mavlink::uavionix::MavProtocolCapability"]],["impl Send for EscConnectionType",1,["mavlink::uavionix::EscConnectionType"]],["impl Send for MotorTestOrder",1,["mavlink::uavionix::MotorTestOrder"]],["impl Send for GpsInputIgnoreFlags",1,["mavlink::uavionix::GpsInputIgnoreFlags"]],["impl Send for AdsbEmitterType",1,["mavlink::uavionix::AdsbEmitterType"]],["impl Send for ActuatorConfiguration",1,["mavlink::uavionix::ActuatorConfiguration"]],["impl Send for HlFailureFlag",1,["mavlink::uavionix::HlFailureFlag"]],["impl Send for MavOdidDescType",1,["mavlink::uavionix::MavOdidDescType"]],["impl Send for MavOdidOperatorIdType",1,["mavlink::uavionix::MavOdidOperatorIdType"]],["impl Send for CanFilterOp",1,["mavlink::uavionix::CanFilterOp"]],["impl Send for VideoStreamStatusFlags",1,["mavlink::uavionix::VideoStreamStatusFlags"]],["impl Send for MavOdidHeightRef",1,["mavlink::uavionix::MavOdidHeightRef"]],["impl Send for MavDoRepositionFlags",1,["mavlink::uavionix::MavDoRepositionFlags"]],["impl Send for TuneFormat",1,["mavlink::uavionix::TuneFormat"]],["impl Send for MavOdidCategoryEu",1,["mavlink::uavionix::MavOdidCategoryEu"]],["impl Send for MotorTestThrottleType",1,["mavlink::uavionix::MotorTestThrottleType"]],["impl Send for LandingTargetType",1,["mavlink::uavionix::LandingTargetType"]],["impl Send for FirmwareVersionType",1,["mavlink::uavionix::FirmwareVersionType"]],["impl Send for CellularConfigResponse",1,["mavlink::uavionix::CellularConfigResponse"]],["impl Send for AdsbFlags",1,["mavlink::uavionix::AdsbFlags"]],["impl Send for MavDistanceSensor",1,["mavlink::uavionix::MavDistanceSensor"]],["impl Send for PreflightStorageMissionAction",1,["mavlink::uavionix::PreflightStorageMissionAction"]],["impl Send for CellularStatusFlag",1,["mavlink::uavionix::CellularStatusFlag"]],["impl Send for UtmFlightState",1,["mavlink::uavionix::UtmFlightState"]],["impl Send for MavOdidClassEu",1,["mavlink::uavionix::MavOdidClassEu"]],["impl Send for AdsbAltitudeType",1,["mavlink::uavionix::AdsbAltitudeType"]],["impl Send for FenceBreach",1,["mavlink::uavionix::FenceBreach"]],["impl Send for UavcanNodeHealth",1,["mavlink::uavionix::UavcanNodeHealth"]],["impl Send for GpsFixType",1,["mavlink::uavionix::GpsFixType"]],["impl Send for GimbalManagerCapFlags",1,["mavlink::uavionix::GimbalManagerCapFlags"]],["impl Send for MavWinchStatusFlag",1,["mavlink::uavionix::MavWinchStatusFlag"]],["impl Send for MissionState",1,["mavlink::uavionix::MissionState"]],["impl Send for CompMetadataType",1,["mavlink::uavionix::CompMetadataType"]],["impl Send for MavOdidTimeAcc",1,["mavlink::uavionix::MavOdidTimeAcc"]],["impl Send for UavionixAdsbOutCfgAircraftSize",1,["mavlink::uavionix::UavionixAdsbOutCfgAircraftSize"]],["impl Send for SerialControlDev",1,["mavlink::uavionix::SerialControlDev"]],["impl Send for ParamAck",1,["mavlink::uavionix::ParamAck"]],["impl Send for AisFlags",1,["mavlink::uavionix::AisFlags"]],["impl Send for RtkBaselineCoordinateSystem",1,["mavlink::uavionix::RtkBaselineCoordinateSystem"]],["impl Send for MavResult",1,["mavlink::uavionix::MavResult"]],["impl Send for GimbalDeviceFlags",1,["mavlink::uavionix::GimbalDeviceFlags"]],["impl Send for MavOdidVerAcc",1,["mavlink::uavionix::MavOdidVerAcc"]],["impl Send for NavVtolLandOptions",1,["mavlink::uavionix::NavVtolLandOptions"]],["impl Send for EscFailureFlags",1,["mavlink::uavionix::EscFailureFlags"]],["impl Send for MavMissionResult",1,["mavlink::uavionix::MavMissionResult"]],["impl Send for FailureType",1,["mavlink::uavionix::FailureType"]],["impl Send for MavEventCurrentSequenceFlags",1,["mavlink::uavionix::MavEventCurrentSequenceFlags"]],["impl Send for MavRoi",1,["mavlink::uavionix::MavRoi"]],["impl Send for MavOdidSpeedAcc",1,["mavlink::uavionix::MavOdidSpeedAcc"]],["impl Send for MavParamType",1,["mavlink::uavionix::MavParamType"]],["impl Send for FailureUnit",1,["mavlink::uavionix::FailureUnit"]],["impl Send for MavLandedState",1,["mavlink::uavionix::MavLandedState"]],["impl Send for CameraZoomType",1,["mavlink::uavionix::CameraZoomType"]],["impl Send for GripperActions",1,["mavlink::uavionix::GripperActions"]],["impl Send for MavBatteryMode",1,["mavlink::uavionix::MavBatteryMode"]],["impl Send for RcType",1,["mavlink::uavionix::RcType"]],["impl Send for HighresImuUpdatedFlags",1,["mavlink::uavionix::HighresImuUpdatedFlags"]],["impl Send for CameraTrackingMode",1,["mavlink::uavionix::CameraTrackingMode"]],["impl Send for UavcanNodeMode",1,["mavlink::uavionix::UavcanNodeMode"]],["impl Send for GimbalDeviceErrorFlags",1,["mavlink::uavionix::GimbalDeviceErrorFlags"]],["impl Send for PositionTargetTypemask",1,["mavlink::uavionix::PositionTargetTypemask"]],["impl Send for MavPowerStatus",1,["mavlink::uavionix::MavPowerStatus"]],["impl Send for MavMountMode",1,["mavlink::uavionix::MavMountMode"]],["impl Send for MavTunnelPayloadType",1,["mavlink::uavionix::MavTunnelPayloadType"]],["impl Send for ParachuteAction",1,["mavlink::uavionix::ParachuteAction"]],["impl Send for MavGeneratorStatusFlag",1,["mavlink::uavionix::MavGeneratorStatusFlag"]],["impl Send for MavOdidStatus",1,["mavlink::uavionix::MavOdidStatus"]],["impl Send for VideoStreamType",1,["mavlink::uavionix::VideoStreamType"]],["impl Send for ActuatorOutputFunction",1,["mavlink::uavionix::ActuatorOutputFunction"]],["impl Send for WinchActions",1,["mavlink::uavionix::WinchActions"]],["impl Send for SetFocusType",1,["mavlink::uavionix::SetFocusType"]],["impl Send for SerialControlFlag",1,["mavlink::uavionix::SerialControlFlag"]],["impl Send for AutotuneAxis",1,["mavlink::uavionix::AutotuneAxis"]],["impl Send for MavOdidClassificationType",1,["mavlink::uavionix::MavOdidClassificationType"]],["impl Send for AisNavStatus",1,["mavlink::uavionix::AisNavStatus"]],["impl Send for CameraTrackingStatusFlags",1,["mavlink::uavionix::CameraTrackingStatusFlags"]],["impl Send for UtmDataAvailFlags",1,["mavlink::uavionix::UtmDataAvailFlags"]],["impl Send for StorageType",1,["mavlink::uavionix::StorageType"]],["impl Send for MavSensorOrientation",1,["mavlink::uavionix::MavSensorOrientation"]],["impl Send for MavMissionType",1,["mavlink::uavionix::MavMissionType"]],["impl Send for MavFtpOpcode",1,["mavlink::uavionix::MavFtpOpcode"]],["impl Send for UavionixAdsbRfHealth",1,["mavlink::uavionix::UavionixAdsbRfHealth"]],["impl Send for MavCmd",1,["mavlink::uavionix::MavCmd"]],["impl Send for MavFtpErr",1,["mavlink::uavionix::MavFtpErr"]],["impl Send for MavSeverity",1,["mavlink::uavionix::MavSeverity"]],["impl Send for POWER_STATUS_DATA",1,["mavlink::uavionix::POWER_STATUS_DATA"]],["impl Send for GPS_RTCM_DATA_DATA",1,["mavlink::uavionix::GPS_RTCM_DATA_DATA"]],["impl Send for WIND_COV_DATA",1,["mavlink::uavionix::WIND_COV_DATA"]],["impl Send for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::uavionix::HIL_RC_INPUTS_RAW_DATA"]],["impl Send for ENCAPSULATED_DATA_DATA",1,["mavlink::uavionix::ENCAPSULATED_DATA_DATA"]],["impl Send for LOG_REQUEST_END_DATA",1,["mavlink::uavionix::LOG_REQUEST_END_DATA"]],["impl Send for MISSION_SET_CURRENT_DATA",1,["mavlink::uavionix::MISSION_SET_CURRENT_DATA"]],["impl Send for COMPONENT_METADATA_DATA",1,["mavlink::uavionix::COMPONENT_METADATA_DATA"]],["impl Send for FLIGHT_INFORMATION_DATA",1,["mavlink::uavionix::FLIGHT_INFORMATION_DATA"]],["impl Send for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Send for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Send for LANDING_TARGET_DATA",1,["mavlink::uavionix::LANDING_TARGET_DATA"]],["impl Send for COMMAND_INT_DATA",1,["mavlink::uavionix::COMMAND_INT_DATA"]],["impl Send for ATT_POS_MOCAP_DATA",1,["mavlink::uavionix::ATT_POS_MOCAP_DATA"]],["impl Send for ALTITUDE_DATA",1,["mavlink::uavionix::ALTITUDE_DATA"]],["impl Send for FOLLOW_TARGET_DATA",1,["mavlink::uavionix::FOLLOW_TARGET_DATA"]],["impl Send for SIM_STATE_DATA",1,["mavlink::uavionix::SIM_STATE_DATA"]],["impl Send for MAG_CAL_REPORT_DATA",1,["mavlink::uavionix::MAG_CAL_REPORT_DATA"]],["impl Send for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Send for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::uavionix::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Send for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::uavionix::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Send for COMPONENT_INFORMATION_DATA",1,["mavlink::uavionix::COMPONENT_INFORMATION_DATA"]],["impl Send for GPS2_RAW_DATA",1,["mavlink::uavionix::GPS2_RAW_DATA"]],["impl Send for BUTTON_CHANGE_DATA",1,["mavlink::uavionix::BUTTON_CHANGE_DATA"]],["impl Send for UAVCAN_NODE_INFO_DATA",1,["mavlink::uavionix::UAVCAN_NODE_INFO_DATA"]],["impl Send for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Send for COLLISION_DATA",1,["mavlink::uavionix::COLLISION_DATA"]],["impl Send for RAW_RPM_DATA",1,["mavlink::uavionix::RAW_RPM_DATA"]],["impl Send for SERIAL_CONTROL_DATA",1,["mavlink::uavionix::SERIAL_CONTROL_DATA"]],["impl Send for CAMERA_TRIGGER_DATA",1,["mavlink::uavionix::CAMERA_TRIGGER_DATA"]],["impl Send for SET_HOME_POSITION_DATA",1,["mavlink::uavionix::SET_HOME_POSITION_DATA"]],["impl Send for CAMERA_FOV_STATUS_DATA",1,["mavlink::uavionix::CAMERA_FOV_STATUS_DATA"]],["impl Send for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Send for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::uavionix::VIDEO_STREAM_INFORMATION_DATA"]],["impl Send for LINK_NODE_STATUS_DATA",1,["mavlink::uavionix::LINK_NODE_STATUS_DATA"]],["impl Send for HIL_STATE_DATA",1,["mavlink::uavionix::HIL_STATE_DATA"]],["impl Send for PARAM_SET_DATA",1,["mavlink::uavionix::PARAM_SET_DATA"]],["impl Send for SCALED_IMU_DATA",1,["mavlink::uavionix::SCALED_IMU_DATA"]],["impl Send for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::uavionix::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Send for TERRAIN_REQUEST_DATA",1,["mavlink::uavionix::TERRAIN_REQUEST_DATA"]],["impl Send for SCALED_PRESSURE_DATA",1,["mavlink::uavionix::SCALED_PRESSURE_DATA"]],["impl Send for GENERATOR_STATUS_DATA",1,["mavlink::uavionix::GENERATOR_STATUS_DATA"]],["impl Send for HIL_GPS_DATA",1,["mavlink::uavionix::HIL_GPS_DATA"]],["impl Send for LOG_ERASE_DATA",1,["mavlink::uavionix::LOG_ERASE_DATA"]],["impl Send for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::uavionix::RC_CHANNELS_OVERRIDE_DATA"]],["impl Send for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Send for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Send for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Send for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Send for SUPPORTED_TUNES_DATA",1,["mavlink::uavionix::SUPPORTED_TUNES_DATA"]],["impl Send for VIDEO_STREAM_STATUS_DATA",1,["mavlink::uavionix::VIDEO_STREAM_STATUS_DATA"]],["impl Send for HYGROMETER_SENSOR_DATA",1,["mavlink::uavionix::HYGROMETER_SENSOR_DATA"]],["impl Send for SCALED_PRESSURE3_DATA",1,["mavlink::uavionix::SCALED_PRESSURE3_DATA"]],["impl Send for OBSTACLE_DISTANCE_DATA",1,["mavlink::uavionix::OBSTACLE_DISTANCE_DATA"]],["impl Send for REQUEST_DATA_STREAM_DATA",1,["mavlink::uavionix::REQUEST_DATA_STREAM_DATA"]],["impl Send for DISTANCE_SENSOR_DATA",1,["mavlink::uavionix::DISTANCE_SENSOR_DATA"]],["impl Send for LOG_REQUEST_LIST_DATA",1,["mavlink::uavionix::LOG_REQUEST_LIST_DATA"]],["impl Send for RC_CHANNELS_DATA",1,["mavlink::uavionix::RC_CHANNELS_DATA"]],["impl Send for CAN_FILTER_MODIFY_DATA",1,["mavlink::uavionix::CAN_FILTER_MODIFY_DATA"]],["impl Send for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_ALLOWED_AREA_DATA"]],["impl Send for ATTITUDE_DATA",1,["mavlink::uavionix::ATTITUDE_DATA"]],["impl Send for SERVO_OUTPUT_RAW_DATA",1,["mavlink::uavionix::SERVO_OUTPUT_RAW_DATA"]],["impl Send for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_CAPTURE_STATUS_DATA"]],["impl Send for VFR_HUD_DATA",1,["mavlink::uavionix::VFR_HUD_DATA"]],["impl Send for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::uavionix::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Send for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Send for EVENT_DATA",1,["mavlink::uavionix::EVENT_DATA"]],["impl Send for CAMERA_INFORMATION_DATA",1,["mavlink::uavionix::CAMERA_INFORMATION_DATA"]],["impl Send for PARAM_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_REQUEST_LIST_DATA"]],["impl Send for WHEEL_DISTANCE_DATA",1,["mavlink::uavionix::WHEEL_DISTANCE_DATA"]],["impl Send for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Send for UAVCAN_NODE_STATUS_DATA",1,["mavlink::uavionix::UAVCAN_NODE_STATUS_DATA"]],["impl Send for PARAM_EXT_SET_DATA",1,["mavlink::uavionix::PARAM_EXT_SET_DATA"]],["impl Send for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Send for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Send for SMART_BATTERY_INFO_DATA",1,["mavlink::uavionix::SMART_BATTERY_INFO_DATA"]],["impl Send for OPTICAL_FLOW_RAD_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_RAD_DATA"]],["impl Send for HIL_OPTICAL_FLOW_DATA",1,["mavlink::uavionix::HIL_OPTICAL_FLOW_DATA"]],["impl Send for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_COV_DATA"]],["impl Send for BATTERY_STATUS_DATA",1,["mavlink::uavionix::BATTERY_STATUS_DATA"]],["impl Send for GLOBAL_POSITION_INT_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_DATA"]],["impl Send for MOUNT_ORIENTATION_DATA",1,["mavlink::uavionix::MOUNT_ORIENTATION_DATA"]],["impl Send for MISSION_ITEM_DATA",1,["mavlink::uavionix::MISSION_ITEM_DATA"]],["impl Send for GPS_RTK_DATA",1,["mavlink::uavionix::GPS_RTK_DATA"]],["impl Send for HIGHRES_IMU_DATA",1,["mavlink::uavionix::HIGHRES_IMU_DATA"]],["impl Send for RESOURCE_REQUEST_DATA",1,["mavlink::uavionix::RESOURCE_REQUEST_DATA"]],["impl Send for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::uavionix::CONTROL_SYSTEM_STATE_DATA"]],["impl Send for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Send for PARAM_EXT_VALUE_DATA",1,["mavlink::uavionix::PARAM_EXT_VALUE_DATA"]],["impl Send for RAW_IMU_DATA",1,["mavlink::uavionix::RAW_IMU_DATA"]],["impl Send for TUNNEL_DATA",1,["mavlink::uavionix::TUNNEL_DATA"]],["impl Send for GPS2_RTK_DATA",1,["mavlink::uavionix::GPS2_RTK_DATA"]],["impl Send for EFI_STATUS_DATA",1,["mavlink::uavionix::EFI_STATUS_DATA"]],["impl Send for ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::ATTITUDE_TARGET_DATA"]],["impl Send for GPS_INJECT_DATA_DATA",1,["mavlink::uavionix::GPS_INJECT_DATA_DATA"]],["impl Send for CELLULAR_CONFIG_DATA",1,["mavlink::uavionix::CELLULAR_CONFIG_DATA"]],["impl Send for EXTENDED_SYS_STATE_DATA",1,["mavlink::uavionix::EXTENDED_SYS_STATE_DATA"]],["impl Send for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::uavionix::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Send for SETUP_SIGNING_DATA",1,["mavlink::uavionix::SETUP_SIGNING_DATA"]],["impl Send for PARAM_MAP_RC_DATA",1,["mavlink::uavionix::PARAM_MAP_RC_DATA"]],["impl Send for HIGH_LATENCY2_DATA",1,["mavlink::uavionix::HIGH_LATENCY2_DATA"]],["impl Send for SCALED_IMU2_DATA",1,["mavlink::uavionix::SCALED_IMU2_DATA"]],["impl Send for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Send for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Send for VIBRATION_DATA",1,["mavlink::uavionix::VIBRATION_DATA"]],["impl Send for HIL_SENSOR_DATA",1,["mavlink::uavionix::HIL_SENSOR_DATA"]],["impl Send for WINCH_STATUS_DATA",1,["mavlink::uavionix::WINCH_STATUS_DATA"]],["impl Send for SET_MODE_DATA",1,["mavlink::uavionix::SET_MODE_DATA"]],["impl Send for RAW_PRESSURE_DATA",1,["mavlink::uavionix::RAW_PRESSURE_DATA"]],["impl Send for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::uavionix::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Send for LOG_DATA_DATA",1,["mavlink::uavionix::LOG_DATA_DATA"]],["impl Send for TIMESYNC_DATA",1,["mavlink::uavionix::TIMESYNC_DATA"]],["impl Send for RC_CHANNELS_RAW_DATA",1,["mavlink::uavionix::RC_CHANNELS_RAW_DATA"]],["impl Send for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Send for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Send for PARAM_VALUE_DATA",1,["mavlink::uavionix::PARAM_VALUE_DATA"]],["impl Send for HIL_CONTROLS_DATA",1,["mavlink::uavionix::HIL_CONTROLS_DATA"]],["impl Send for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Send for ADSB_VEHICLE_DATA",1,["mavlink::uavionix::ADSB_VEHICLE_DATA"]],["impl Send for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Send for UTM_GLOBAL_POSITION_DATA",1,["mavlink::uavionix::UTM_GLOBAL_POSITION_DATA"]],["impl Send for COMMAND_ACK_DATA",1,["mavlink::uavionix::COMMAND_ACK_DATA"]],["impl Send for ISBD_LINK_STATUS_DATA",1,["mavlink::uavionix::ISBD_LINK_STATUS_DATA"]],["impl Send for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Send for AUTOPILOT_VERSION_DATA",1,["mavlink::uavionix::AUTOPILOT_VERSION_DATA"]],["impl Send for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::uavionix::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Send for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::uavionix::DEBUG_FLOAT_ARRAY_DATA"]],["impl Send for PLAY_TUNE_V2_DATA",1,["mavlink::uavionix::PLAY_TUNE_V2_DATA"]],["impl Send for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Send for REQUEST_EVENT_DATA",1,["mavlink::uavionix::REQUEST_EVENT_DATA"]],["impl Send for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Send for NAMED_VALUE_INT_DATA",1,["mavlink::uavionix::NAMED_VALUE_INT_DATA"]],["impl Send for MISSION_REQUEST_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_LIST_DATA"]],["impl Send for LOG_REQUEST_DATA_DATA",1,["mavlink::uavionix::LOG_REQUEST_DATA_DATA"]],["impl Send for MESSAGE_INTERVAL_DATA",1,["mavlink::uavionix::MESSAGE_INTERVAL_DATA"]],["impl Send for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_POSITION_ESTIMATE_DATA"]],["impl Send for LOG_ENTRY_DATA",1,["mavlink::uavionix::LOG_ENTRY_DATA"]],["impl Send for AIS_VESSEL_DATA",1,["mavlink::uavionix::AIS_VESSEL_DATA"]],["impl Send for MISSION_ACK_DATA",1,["mavlink::uavionix::MISSION_ACK_DATA"]],["impl Send for RADIO_STATUS_DATA",1,["mavlink::uavionix::RADIO_STATUS_DATA"]],["impl Send for CELLULAR_STATUS_DATA",1,["mavlink::uavionix::CELLULAR_STATUS_DATA"]],["impl Send for DATA_STREAM_DATA",1,["mavlink::uavionix::DATA_STREAM_DATA"]],["impl Send for DEBUG_VECT_DATA",1,["mavlink::uavionix::DEBUG_VECT_DATA"]],["impl Send for MISSION_CURRENT_DATA",1,["mavlink::uavionix::MISSION_CURRENT_DATA"]],["impl Send for PROTOCOL_VERSION_DATA",1,["mavlink::uavionix::PROTOCOL_VERSION_DATA"]],["impl Send for GPS_INPUT_DATA",1,["mavlink::uavionix::GPS_INPUT_DATA"]],["impl Send for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::uavionix::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Send for MISSION_ITEM_INT_DATA",1,["mavlink::uavionix::MISSION_ITEM_INT_DATA"]],["impl Send for GPS_STATUS_DATA",1,["mavlink::uavionix::GPS_STATUS_DATA"]],["impl Send for MANUAL_SETPOINT_DATA",1,["mavlink::uavionix::MANUAL_SETPOINT_DATA"]],["impl Send for FENCE_STATUS_DATA",1,["mavlink::uavionix::FENCE_STATUS_DATA"]],["impl Send for HOME_POSITION_DATA",1,["mavlink::uavionix::HOME_POSITION_DATA"]],["impl Send for ESC_INFO_DATA",1,["mavlink::uavionix::ESC_INFO_DATA"]],["impl Send for COMMAND_CANCEL_DATA",1,["mavlink::uavionix::COMMAND_CANCEL_DATA"]],["impl Send for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_READ_DATA"]],["impl Send for PLAY_TUNE_DATA",1,["mavlink::uavionix::PLAY_TUNE_DATA"]],["impl Send for MISSION_REQUEST_INT_DATA",1,["mavlink::uavionix::MISSION_REQUEST_INT_DATA"]],["impl Send for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_COV_DATA"]],["impl Send for MISSION_ITEM_REACHED_DATA",1,["mavlink::uavionix::MISSION_ITEM_REACHED_DATA"]],["impl Send for PARAM_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_REQUEST_READ_DATA"]],["impl Send for TERRAIN_DATA_DATA",1,["mavlink::uavionix::TERRAIN_DATA_DATA"]],["impl Send for GPS_RAW_INT_DATA",1,["mavlink::uavionix::GPS_RAW_INT_DATA"]],["impl Send for STORAGE_INFORMATION_DATA",1,["mavlink::uavionix::STORAGE_INFORMATION_DATA"]],["impl Send for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::uavionix::RESPONSE_EVENT_ERROR_DATA"]],["impl Send for MANUAL_CONTROL_DATA",1,["mavlink::uavionix::MANUAL_CONTROL_DATA"]],["impl Send for NAMED_VALUE_FLOAT_DATA",1,["mavlink::uavionix::NAMED_VALUE_FLOAT_DATA"]],["impl Send for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_STATUS_DATA"]],["impl Send for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Send for LOGGING_DATA_DATA",1,["mavlink::uavionix::LOGGING_DATA_DATA"]],["impl Send for STATUSTEXT_DATA",1,["mavlink::uavionix::STATUSTEXT_DATA"]],["impl Send for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Send for ESTIMATOR_STATUS_DATA",1,["mavlink::uavionix::ESTIMATOR_STATUS_DATA"]],["impl Send for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::uavionix::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Send for PARAM_EXT_ACK_DATA",1,["mavlink::uavionix::PARAM_EXT_ACK_DATA"]],["impl Send for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Send for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Send for CAN_FRAME_DATA",1,["mavlink::uavionix::CAN_FRAME_DATA"]],["impl Send for COMMAND_LONG_DATA",1,["mavlink::uavionix::COMMAND_LONG_DATA"]],["impl Send for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Send for HEARTBEAT_DATA",1,["mavlink::uavionix::HEARTBEAT_DATA"]],["impl Send for ATTITUDE_QUATERNION_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_DATA"]],["impl Send for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VICON_POSITION_ESTIMATE_DATA"]],["impl Send for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::uavionix::ORBIT_EXECUTION_STATUS_DATA"]],["impl Send for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Send for SCALED_PRESSURE2_DATA",1,["mavlink::uavionix::SCALED_PRESSURE2_DATA"]],["impl Send for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Send for ODOMETRY_DATA",1,["mavlink::uavionix::ODOMETRY_DATA"]],["impl Send for CAMERA_SETTINGS_DATA",1,["mavlink::uavionix::CAMERA_SETTINGS_DATA"]],["impl Send for MISSION_CLEAR_ALL_DATA",1,["mavlink::uavionix::MISSION_CLEAR_ALL_DATA"]],["impl Send for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Send for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_SPEED_ESTIMATE_DATA"]],["impl Send for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Send for TERRAIN_REPORT_DATA",1,["mavlink::uavionix::TERRAIN_REPORT_DATA"]],["impl Send for LOCAL_POSITION_NED_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_DATA"]],["impl Send for DEBUG_DATA",1,["mavlink::uavionix::DEBUG_DATA"]],["impl Send for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Send for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::GPS_GLOBAL_ORIGIN_DATA"]],["impl Send for MISSION_COUNT_DATA",1,["mavlink::uavionix::MISSION_COUNT_DATA"]],["impl Send for HIGH_LATENCY_DATA",1,["mavlink::uavionix::HIGH_LATENCY_DATA"]],["impl Send for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Send for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::uavionix::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Send for MEMORY_VECT_DATA",1,["mavlink::uavionix::MEMORY_VECT_DATA"]],["impl Send for MISSION_REQUEST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_DATA"]],["impl Send for V2_EXTENSION_DATA",1,["mavlink::uavionix::V2_EXTENSION_DATA"]],["impl Send for ESC_STATUS_DATA",1,["mavlink::uavionix::ESC_STATUS_DATA"]],["impl Send for LOGGING_DATA_ACKED_DATA",1,["mavlink::uavionix::LOGGING_DATA_ACKED_DATA"]],["impl Send for CANFD_FRAME_DATA",1,["mavlink::uavionix::CANFD_FRAME_DATA"]],["impl Send for SCALED_IMU3_DATA",1,["mavlink::uavionix::SCALED_IMU3_DATA"]],["impl Send for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_COV_DATA"]],["impl Send for HIL_STATE_QUATERNION_DATA",1,["mavlink::uavionix::HIL_STATE_QUATERNION_DATA"]],["impl Send for AUTH_KEY_DATA",1,["mavlink::uavionix::AUTH_KEY_DATA"]],["impl Send for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Send for LOGGING_ACK_DATA",1,["mavlink::uavionix::LOGGING_ACK_DATA"]],["impl Send for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Send for SYSTEM_TIME_DATA",1,["mavlink::uavionix::SYSTEM_TIME_DATA"]],["impl Send for SET_ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::SET_ATTITUDE_TARGET_DATA"]],["impl Send for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Send for TERRAIN_CHECK_DATA",1,["mavlink::uavionix::TERRAIN_CHECK_DATA"]],["impl Send for SYS_STATUS_DATA",1,["mavlink::uavionix::SYS_STATUS_DATA"]],["impl Send for WIFI_CONFIG_AP_DATA",1,["mavlink::uavionix::WIFI_CONFIG_AP_DATA"]],["impl Send for PING_DATA",1,["mavlink::uavionix::PING_DATA"]],["impl Send for RC_CHANNELS_SCALED_DATA",1,["mavlink::uavionix::RC_CHANNELS_SCALED_DATA"]],["impl Send for OPTICAL_FLOW_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_DATA"]],["impl Send for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Send for MavMessage",1,["mavlink::uavionix::MavMessage"]],["impl Send for WifiConfigApResponse",1,["mavlink::common::WifiConfigApResponse"]],["impl Send for FirmwareVersionType",1,["mavlink::common::FirmwareVersionType"]],["impl Send for MavAutopilot",1,["mavlink::common::MavAutopilot"]],["impl Send for FailureUnit",1,["mavlink::common::FailureUnit"]],["impl Send for MavOdidClassEu",1,["mavlink::common::MavOdidClassEu"]],["impl Send for CellularNetworkFailedReason",1,["mavlink::common::CellularNetworkFailedReason"]],["impl Send for CellularNetworkRadioType",1,["mavlink::common::CellularNetworkRadioType"]],["impl Send for MavOdidIdType",1,["mavlink::common::MavOdidIdType"]],["impl Send for MavModeFlag",1,["mavlink::common::MavModeFlag"]],["impl Send for MavOdidArmStatus",1,["mavlink::common::MavOdidArmStatus"]],["impl Send for NavVtolLandOptions",1,["mavlink::common::NavVtolLandOptions"]],["impl Send for GripperActions",1,["mavlink::common::GripperActions"]],["impl Send for MavWinchStatusFlag",1,["mavlink::common::MavWinchStatusFlag"]],["impl Send for ParachuteAction",1,["mavlink::common::ParachuteAction"]],["impl Send for CompMetadataType",1,["mavlink::common::CompMetadataType"]],["impl Send for AdsbEmitterType",1,["mavlink::common::AdsbEmitterType"]],["impl Send for MavMode",1,["mavlink::common::MavMode"]],["impl Send for MavOdidClassificationType",1,["mavlink::common::MavOdidClassificationType"]],["impl Send for MavDistanceSensor",1,["mavlink::common::MavDistanceSensor"]],["impl Send for PositionTargetTypemask",1,["mavlink::common::PositionTargetTypemask"]],["impl Send for MavCmdAck",1,["mavlink::common::MavCmdAck"]],["impl Send for UavcanNodeMode",1,["mavlink::common::UavcanNodeMode"]],["impl Send for AdsbAltitudeType",1,["mavlink::common::AdsbAltitudeType"]],["impl Send for GpsFixType",1,["mavlink::common::GpsFixType"]],["impl Send for ParamAck",1,["mavlink::common::ParamAck"]],["impl Send for MavComponent",1,["mavlink::common::MavComponent"]],["impl Send for AisNavStatus",1,["mavlink::common::AisNavStatus"]],["impl Send for MagCalStatus",1,["mavlink::common::MagCalStatus"]],["impl Send for CameraZoomType",1,["mavlink::common::CameraZoomType"]],["impl Send for MavOdidCategoryEu",1,["mavlink::common::MavOdidCategoryEu"]],["impl Send for MavBatteryFunction",1,["mavlink::common::MavBatteryFunction"]],["impl Send for WifiConfigApMode",1,["mavlink::common::WifiConfigApMode"]],["impl Send for MavRoi",1,["mavlink::common::MavRoi"]],["impl Send for AisFlags",1,["mavlink::common::AisFlags"]],["impl Send for AisType",1,["mavlink::common::AisType"]],["impl Send for MavOdidDescType",1,["mavlink::common::MavOdidDescType"]],["impl Send for CanFilterOp",1,["mavlink::common::CanFilterOp"]],["impl Send for MavFtpOpcode",1,["mavlink::common::MavFtpOpcode"]],["impl Send for MavVtolState",1,["mavlink::common::MavVtolState"]],["impl Send for MavState",1,["mavlink::common::MavState"]],["impl Send for FenceBreach",1,["mavlink::common::FenceBreach"]],["impl Send for SerialControlFlag",1,["mavlink::common::SerialControlFlag"]],["impl Send for TuneFormat",1,["mavlink::common::TuneFormat"]],["impl Send for MavSeverity",1,["mavlink::common::MavSeverity"]],["impl Send for MavlinkDataStreamType",1,["mavlink::common::MavlinkDataStreamType"]],["impl Send for AdsbFlags",1,["mavlink::common::AdsbFlags"]],["impl Send for MavMountMode",1,["mavlink::common::MavMountMode"]],["impl Send for FenceMitigate",1,["mavlink::common::FenceMitigate"]],["impl Send for MavGeneratorStatusFlag",1,["mavlink::common::MavGeneratorStatusFlag"]],["impl Send for MavBatteryChargeState",1,["mavlink::common::MavBatteryChargeState"]],["impl Send for MavFtpErr",1,["mavlink::common::MavFtpErr"]],["impl Send for CellularConfigResponse",1,["mavlink::common::CellularConfigResponse"]],["impl Send for MavOdidOperatorIdType",1,["mavlink::common::MavOdidOperatorIdType"]],["impl Send for MavOdidSpeedAcc",1,["mavlink::common::MavOdidSpeedAcc"]],["impl Send for LandingTargetType",1,["mavlink::common::LandingTargetType"]],["impl Send for MavCollisionThreatLevel",1,["mavlink::common::MavCollisionThreatLevel"]],["impl Send for MavTunnelPayloadType",1,["mavlink::common::MavTunnelPayloadType"]],["impl Send for MavEventErrorReason",1,["mavlink::common::MavEventErrorReason"]],["impl Send for MavOdidVerAcc",1,["mavlink::common::MavOdidVerAcc"]],["impl Send for MotorTestThrottleType",1,["mavlink::common::MotorTestThrottleType"]],["impl Send for OrbitYawBehaviour",1,["mavlink::common::OrbitYawBehaviour"]],["impl Send for ActuatorConfiguration",1,["mavlink::common::ActuatorConfiguration"]],["impl Send for MavEstimatorType",1,["mavlink::common::MavEstimatorType"]],["impl Send for EstimatorStatusFlags",1,["mavlink::common::EstimatorStatusFlags"]],["impl Send for FailureType",1,["mavlink::common::FailureType"]],["impl Send for PreflightStorageParameterAction",1,["mavlink::common::PreflightStorageParameterAction"]],["impl Send for MavParamType",1,["mavlink::common::MavParamType"]],["impl Send for MavModeFlagDecodePosition",1,["mavlink::common::MavModeFlagDecodePosition"]],["impl Send for StorageUsageFlag",1,["mavlink::common::StorageUsageFlag"]],["impl Send for MavEventCurrentSequenceFlags",1,["mavlink::common::MavEventCurrentSequenceFlags"]],["impl Send for MavGoto",1,["mavlink::common::MavGoto"]],["impl Send for GimbalDeviceCapFlags",1,["mavlink::common::GimbalDeviceCapFlags"]],["impl Send for VtolTransitionHeading",1,["mavlink::common::VtolTransitionHeading"]],["impl Send for GimbalDeviceFlags",1,["mavlink::common::GimbalDeviceFlags"]],["impl Send for SerialControlDev",1,["mavlink::common::SerialControlDev"]],["impl Send for MavSysStatusSensor",1,["mavlink::common::MavSysStatusSensor"]],["impl Send for MavDataStream",1,["mavlink::common::MavDataStream"]],["impl Send for MavCollisionSrc",1,["mavlink::common::MavCollisionSrc"]],["impl Send for VideoStreamStatusFlags",1,["mavlink::common::VideoStreamStatusFlags"]],["impl Send for CameraTrackingStatusFlags",1,["mavlink::common::CameraTrackingStatusFlags"]],["impl Send for RcType",1,["mavlink::common::RcType"]],["impl Send for AttitudeTargetTypemask",1,["mavlink::common::AttitudeTargetTypemask"]],["impl Send for MavOdidAuthType",1,["mavlink::common::MavOdidAuthType"]],["impl Send for GimbalDeviceErrorFlags",1,["mavlink::common::GimbalDeviceErrorFlags"]],["impl Send for GimbalManagerFlags",1,["mavlink::common::GimbalManagerFlags"]],["impl Send for ActuatorOutputFunction",1,["mavlink::common::ActuatorOutputFunction"]],["impl Send for MavProtocolCapability",1,["mavlink::common::MavProtocolCapability"]],["impl Send for MavCmd",1,["mavlink::common::MavCmd"]],["impl Send for MavBatteryType",1,["mavlink::common::MavBatteryType"]],["impl Send for WinchActions",1,["mavlink::common::WinchActions"]],["impl Send for MavOdidUaType",1,["mavlink::common::MavOdidUaType"]],["impl Send for MavOdidStatus",1,["mavlink::common::MavOdidStatus"]],["impl Send for HlFailureFlag",1,["mavlink::common::HlFailureFlag"]],["impl Send for UtmDataAvailFlags",1,["mavlink::common::UtmDataAvailFlags"]],["impl Send for RtkBaselineCoordinateSystem",1,["mavlink::common::RtkBaselineCoordinateSystem"]],["impl Send for PreflightStorageMissionAction",1,["mavlink::common::PreflightStorageMissionAction"]],["impl Send for StorageType",1,["mavlink::common::StorageType"]],["impl Send for MavCollisionAction",1,["mavlink::common::MavCollisionAction"]],["impl Send for MavFrame",1,["mavlink::common::MavFrame"]],["impl Send for CameraCapFlags",1,["mavlink::common::CameraCapFlags"]],["impl Send for CameraTrackingTargetData",1,["mavlink::common::CameraTrackingTargetData"]],["impl Send for CameraMode",1,["mavlink::common::CameraMode"]],["impl Send for EscConnectionType",1,["mavlink::common::EscConnectionType"]],["impl Send for UavcanNodeHealth",1,["mavlink::common::UavcanNodeHealth"]],["impl Send for MavParamExtType",1,["mavlink::common::MavParamExtType"]],["impl Send for MavOdidHorAcc",1,["mavlink::common::MavOdidHorAcc"]],["impl Send for GimbalManagerCapFlags",1,["mavlink::common::GimbalManagerCapFlags"]],["impl Send for MavMissionResult",1,["mavlink::common::MavMissionResult"]],["impl Send for CellularStatusFlag",1,["mavlink::common::CellularStatusFlag"]],["impl Send for MavPowerStatus",1,["mavlink::common::MavPowerStatus"]],["impl Send for CameraTrackingMode",1,["mavlink::common::CameraTrackingMode"]],["impl Send for GpsInputIgnoreFlags",1,["mavlink::common::GpsInputIgnoreFlags"]],["impl Send for VideoStreamType",1,["mavlink::common::VideoStreamType"]],["impl Send for FenceAction",1,["mavlink::common::FenceAction"]],["impl Send for PrecisionLandMode",1,["mavlink::common::PrecisionLandMode"]],["impl Send for MavSensorOrientation",1,["mavlink::common::MavSensorOrientation"]],["impl Send for MavMissionType",1,["mavlink::common::MavMissionType"]],["impl Send for MavType",1,["mavlink::common::MavType"]],["impl Send for MavOdidOperatorLocationType",1,["mavlink::common::MavOdidOperatorLocationType"]],["impl Send for MavResult",1,["mavlink::common::MavResult"]],["impl Send for MissionState",1,["mavlink::common::MissionState"]],["impl Send for StorageStatus",1,["mavlink::common::StorageStatus"]],["impl Send for MavArmAuthDeniedReason",1,["mavlink::common::MavArmAuthDeniedReason"]],["impl Send for AutotuneAxis",1,["mavlink::common::AutotuneAxis"]],["impl Send for HighresImuUpdatedFlags",1,["mavlink::common::HighresImuUpdatedFlags"]],["impl Send for UtmFlightState",1,["mavlink::common::UtmFlightState"]],["impl Send for MavDoRepositionFlags",1,["mavlink::common::MavDoRepositionFlags"]],["impl Send for MavOdidTimeAcc",1,["mavlink::common::MavOdidTimeAcc"]],["impl Send for MavBatteryMode",1,["mavlink::common::MavBatteryMode"]],["impl Send for MavSysStatusSensorExtended",1,["mavlink::common::MavSysStatusSensorExtended"]],["impl Send for MavLandedState",1,["mavlink::common::MavLandedState"]],["impl Send for MavBatteryFault",1,["mavlink::common::MavBatteryFault"]],["impl Send for SetFocusType",1,["mavlink::common::SetFocusType"]],["impl Send for MavOdidHeightRef",1,["mavlink::common::MavOdidHeightRef"]],["impl Send for HilSensorUpdatedFlags",1,["mavlink::common::HilSensorUpdatedFlags"]],["impl Send for MotorTestOrder",1,["mavlink::common::MotorTestOrder"]],["impl Send for EscFailureFlags",1,["mavlink::common::EscFailureFlags"]],["impl Send for MISSION_CLEAR_ALL_DATA",1,["mavlink::common::MISSION_CLEAR_ALL_DATA"]],["impl Send for COMMAND_INT_DATA",1,["mavlink::common::COMMAND_INT_DATA"]],["impl Send for COLLISION_DATA",1,["mavlink::common::COLLISION_DATA"]],["impl Send for RC_CHANNELS_RAW_DATA",1,["mavlink::common::RC_CHANNELS_RAW_DATA"]],["impl Send for OPTICAL_FLOW_RAD_DATA",1,["mavlink::common::OPTICAL_FLOW_RAD_DATA"]],["impl Send for LOGGING_ACK_DATA",1,["mavlink::common::LOGGING_ACK_DATA"]],["impl Send for WIFI_CONFIG_AP_DATA",1,["mavlink::common::WIFI_CONFIG_AP_DATA"]],["impl Send for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Send for MANUAL_CONTROL_DATA",1,["mavlink::common::MANUAL_CONTROL_DATA"]],["impl Send for SMART_BATTERY_INFO_DATA",1,["mavlink::common::SMART_BATTERY_INFO_DATA"]],["impl Send for COMMAND_CANCEL_DATA",1,["mavlink::common::COMMAND_CANCEL_DATA"]],["impl Send for LOG_ENTRY_DATA",1,["mavlink::common::LOG_ENTRY_DATA"]],["impl Send for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Send for SCALED_PRESSURE2_DATA",1,["mavlink::common::SCALED_PRESSURE2_DATA"]],["impl Send for CAMERA_TRIGGER_DATA",1,["mavlink::common::CAMERA_TRIGGER_DATA"]],["impl Send for SET_HOME_POSITION_DATA",1,["mavlink::common::SET_HOME_POSITION_DATA"]],["impl Send for RAW_IMU_DATA",1,["mavlink::common::RAW_IMU_DATA"]],["impl Send for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Send for COMPONENT_METADATA_DATA",1,["mavlink::common::COMPONENT_METADATA_DATA"]],["impl Send for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::common::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Send for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Send for MISSION_CURRENT_DATA",1,["mavlink::common::MISSION_CURRENT_DATA"]],["impl Send for LOG_REQUEST_END_DATA",1,["mavlink::common::LOG_REQUEST_END_DATA"]],["impl Send for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::common::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Send for BATTERY_STATUS_DATA",1,["mavlink::common::BATTERY_STATUS_DATA"]],["impl Send for LANDING_TARGET_DATA",1,["mavlink::common::LANDING_TARGET_DATA"]],["impl Send for MESSAGE_INTERVAL_DATA",1,["mavlink::common::MESSAGE_INTERVAL_DATA"]],["impl Send for WHEEL_DISTANCE_DATA",1,["mavlink::common::WHEEL_DISTANCE_DATA"]],["impl Send for MISSION_COUNT_DATA",1,["mavlink::common::MISSION_COUNT_DATA"]],["impl Send for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::common::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Send for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Send for HIL_STATE_DATA",1,["mavlink::common::HIL_STATE_DATA"]],["impl Send for HIL_SENSOR_DATA",1,["mavlink::common::HIL_SENSOR_DATA"]],["impl Send for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_READ_DATA"]],["impl Send for SCALED_PRESSURE_DATA",1,["mavlink::common::SCALED_PRESSURE_DATA"]],["impl Send for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Send for ENCAPSULATED_DATA_DATA",1,["mavlink::common::ENCAPSULATED_DATA_DATA"]],["impl Send for COMPONENT_INFORMATION_DATA",1,["mavlink::common::COMPONENT_INFORMATION_DATA"]],["impl Send for VIDEO_STREAM_STATUS_DATA",1,["mavlink::common::VIDEO_STREAM_STATUS_DATA"]],["impl Send for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::common::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Send for HIL_GPS_DATA",1,["mavlink::common::HIL_GPS_DATA"]],["impl Send for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_COV_DATA"]],["impl Send for TERRAIN_REPORT_DATA",1,["mavlink::common::TERRAIN_REPORT_DATA"]],["impl Send for AIS_VESSEL_DATA",1,["mavlink::common::AIS_VESSEL_DATA"]],["impl Send for ODOMETRY_DATA",1,["mavlink::common::ODOMETRY_DATA"]],["impl Send for SUPPORTED_TUNES_DATA",1,["mavlink::common::SUPPORTED_TUNES_DATA"]],["impl Send for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::common::CONTROL_SYSTEM_STATE_DATA"]],["impl Send for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Send for ATT_POS_MOCAP_DATA",1,["mavlink::common::ATT_POS_MOCAP_DATA"]],["impl Send for LOGGING_DATA_DATA",1,["mavlink::common::LOGGING_DATA_DATA"]],["impl Send for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::common::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Send for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Send for SETUP_SIGNING_DATA",1,["mavlink::common::SETUP_SIGNING_DATA"]],["impl Send for PARAM_EXT_ACK_DATA",1,["mavlink::common::PARAM_EXT_ACK_DATA"]],["impl Send for RADIO_STATUS_DATA",1,["mavlink::common::RADIO_STATUS_DATA"]],["impl Send for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::common::RESPONSE_EVENT_ERROR_DATA"]],["impl Send for SIM_STATE_DATA",1,["mavlink::common::SIM_STATE_DATA"]],["impl Send for FENCE_STATUS_DATA",1,["mavlink::common::FENCE_STATUS_DATA"]],["impl Send for RESOURCE_REQUEST_DATA",1,["mavlink::common::RESOURCE_REQUEST_DATA"]],["impl Send for TERRAIN_DATA_DATA",1,["mavlink::common::TERRAIN_DATA_DATA"]],["impl Send for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::common::VICON_POSITION_ESTIMATE_DATA"]],["impl Send for EXTENDED_SYS_STATE_DATA",1,["mavlink::common::EXTENDED_SYS_STATE_DATA"]],["impl Send for HEARTBEAT_DATA",1,["mavlink::common::HEARTBEAT_DATA"]],["impl Send for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::common::VIDEO_STREAM_INFORMATION_DATA"]],["impl Send for MISSION_REQUEST_INT_DATA",1,["mavlink::common::MISSION_REQUEST_INT_DATA"]],["impl Send for CAN_FILTER_MODIFY_DATA",1,["mavlink::common::CAN_FILTER_MODIFY_DATA"]],["impl Send for MISSION_ITEM_INT_DATA",1,["mavlink::common::MISSION_ITEM_INT_DATA"]],["impl Send for HIGHRES_IMU_DATA",1,["mavlink::common::HIGHRES_IMU_DATA"]],["impl Send for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Send for DEBUG_DATA",1,["mavlink::common::DEBUG_DATA"]],["impl Send for CAMERA_SETTINGS_DATA",1,["mavlink::common::CAMERA_SETTINGS_DATA"]],["impl Send for MISSION_REQUEST_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_LIST_DATA"]],["impl Send for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Send for SCALED_IMU_DATA",1,["mavlink::common::SCALED_IMU_DATA"]],["impl Send for WIND_COV_DATA",1,["mavlink::common::WIND_COV_DATA"]],["impl Send for MISSION_REQUEST_DATA",1,["mavlink::common::MISSION_REQUEST_DATA"]],["impl Send for SERIAL_CONTROL_DATA",1,["mavlink::common::SERIAL_CONTROL_DATA"]],["impl Send for PARAM_REQUEST_READ_DATA",1,["mavlink::common::PARAM_REQUEST_READ_DATA"]],["impl Send for GPS2_RTK_DATA",1,["mavlink::common::GPS2_RTK_DATA"]],["impl Send for COMMAND_ACK_DATA",1,["mavlink::common::COMMAND_ACK_DATA"]],["impl Send for POWER_STATUS_DATA",1,["mavlink::common::POWER_STATUS_DATA"]],["impl Send for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::common::GIMBAL_MANAGER_STATUS_DATA"]],["impl Send for GLOBAL_POSITION_INT_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_DATA"]],["impl Send for PARAM_SET_DATA",1,["mavlink::common::PARAM_SET_DATA"]],["impl Send for OPTICAL_FLOW_DATA",1,["mavlink::common::OPTICAL_FLOW_DATA"]],["impl Send for RC_CHANNELS_SCALED_DATA",1,["mavlink::common::RC_CHANNELS_SCALED_DATA"]],["impl Send for GPS_INJECT_DATA_DATA",1,["mavlink::common::GPS_INJECT_DATA_DATA"]],["impl Send for PARAM_VALUE_DATA",1,["mavlink::common::PARAM_VALUE_DATA"]],["impl Send for RC_CHANNELS_DATA",1,["mavlink::common::RC_CHANNELS_DATA"]],["impl Send for ESTIMATOR_STATUS_DATA",1,["mavlink::common::ESTIMATOR_STATUS_DATA"]],["impl Send for TIMESYNC_DATA",1,["mavlink::common::TIMESYNC_DATA"]],["impl Send for SCALED_PRESSURE3_DATA",1,["mavlink::common::SCALED_PRESSURE3_DATA"]],["impl Send for DATA_STREAM_DATA",1,["mavlink::common::DATA_STREAM_DATA"]],["impl Send for HOME_POSITION_DATA",1,["mavlink::common::HOME_POSITION_DATA"]],["impl Send for MEMORY_VECT_DATA",1,["mavlink::common::MEMORY_VECT_DATA"]],["impl Send for NAMED_VALUE_FLOAT_DATA",1,["mavlink::common::NAMED_VALUE_FLOAT_DATA"]],["impl Send for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::common::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Send for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Send for STATUSTEXT_DATA",1,["mavlink::common::STATUSTEXT_DATA"]],["impl Send for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Send for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Send for UAVCAN_NODE_STATUS_DATA",1,["mavlink::common::UAVCAN_NODE_STATUS_DATA"]],["impl Send for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::GPS_GLOBAL_ORIGIN_DATA"]],["impl Send for EFI_STATUS_DATA",1,["mavlink::common::EFI_STATUS_DATA"]],["impl Send for ATTITUDE_QUATERNION_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_DATA"]],["impl Send for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::common::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Send for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Send for CELLULAR_STATUS_DATA",1,["mavlink::common::CELLULAR_STATUS_DATA"]],["impl Send for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::common::ORBIT_EXECUTION_STATUS_DATA"]],["impl Send for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::common::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Send for RAW_PRESSURE_DATA",1,["mavlink::common::RAW_PRESSURE_DATA"]],["impl Send for WINCH_STATUS_DATA",1,["mavlink::common::WINCH_STATUS_DATA"]],["impl Send for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Send for ATTITUDE_TARGET_DATA",1,["mavlink::common::ATTITUDE_TARGET_DATA"]],["impl Send for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::common::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Send for ISBD_LINK_STATUS_DATA",1,["mavlink::common::ISBD_LINK_STATUS_DATA"]],["impl Send for TUNNEL_DATA",1,["mavlink::common::TUNNEL_DATA"]],["impl Send for OBSTACLE_DISTANCE_DATA",1,["mavlink::common::OBSTACLE_DISTANCE_DATA"]],["impl Send for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_ALLOWED_AREA_DATA"]],["impl Send for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::common::DEBUG_FLOAT_ARRAY_DATA"]],["impl Send for SERVO_OUTPUT_RAW_DATA",1,["mavlink::common::SERVO_OUTPUT_RAW_DATA"]],["impl Send for DISTANCE_SENSOR_DATA",1,["mavlink::common::DISTANCE_SENSOR_DATA"]],["impl Send for PARAM_MAP_RC_DATA",1,["mavlink::common::PARAM_MAP_RC_DATA"]],["impl Send for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Send for GENERATOR_STATUS_DATA",1,["mavlink::common::GENERATOR_STATUS_DATA"]],["impl Send for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Send for CAN_FRAME_DATA",1,["mavlink::common::CAN_FRAME_DATA"]],["impl Send for SCALED_IMU2_DATA",1,["mavlink::common::SCALED_IMU2_DATA"]],["impl Send for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Send for COMMAND_LONG_DATA",1,["mavlink::common::COMMAND_LONG_DATA"]],["impl Send for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::common::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Send for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Send for HIL_CONTROLS_DATA",1,["mavlink::common::HIL_CONTROLS_DATA"]],["impl Send for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Send for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_COV_DATA"]],["impl Send for REQUEST_DATA_STREAM_DATA",1,["mavlink::common::REQUEST_DATA_STREAM_DATA"]],["impl Send for LOG_ERASE_DATA",1,["mavlink::common::LOG_ERASE_DATA"]],["impl Send for GPS_RTCM_DATA_DATA",1,["mavlink::common::GPS_RTCM_DATA_DATA"]],["impl Send for MOUNT_ORIENTATION_DATA",1,["mavlink::common::MOUNT_ORIENTATION_DATA"]],["impl Send for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Send for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::common::HIL_RC_INPUTS_RAW_DATA"]],["impl Send for MISSION_ITEM_REACHED_DATA",1,["mavlink::common::MISSION_ITEM_REACHED_DATA"]],["impl Send for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::common::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Send for SET_MODE_DATA",1,["mavlink::common::SET_MODE_DATA"]],["impl Send for LOG_REQUEST_LIST_DATA",1,["mavlink::common::LOG_REQUEST_LIST_DATA"]],["impl Send for HIGH_LATENCY2_DATA",1,["mavlink::common::HIGH_LATENCY2_DATA"]],["impl Send for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Send for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Send for SYSTEM_TIME_DATA",1,["mavlink::common::SYSTEM_TIME_DATA"]],["impl Send for MISSION_ITEM_DATA",1,["mavlink::common::MISSION_ITEM_DATA"]],["impl Send for STORAGE_INFORMATION_DATA",1,["mavlink::common::STORAGE_INFORMATION_DATA"]],["impl Send for GPS_RAW_INT_DATA",1,["mavlink::common::GPS_RAW_INT_DATA"]],["impl Send for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::common::LOCAL_POSITION_NED_COV_DATA"]],["impl Send for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::common::RC_CHANNELS_OVERRIDE_DATA"]],["impl Send for PROTOCOL_VERSION_DATA",1,["mavlink::common::PROTOCOL_VERSION_DATA"]],["impl Send for PARAM_EXT_VALUE_DATA",1,["mavlink::common::PARAM_EXT_VALUE_DATA"]],["impl Send for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::common::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Send for PARAM_EXT_SET_DATA",1,["mavlink::common::PARAM_EXT_SET_DATA"]],["impl Send for ESC_INFO_DATA",1,["mavlink::common::ESC_INFO_DATA"]],["impl Send for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Send for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::common::VISION_SPEED_ESTIMATE_DATA"]],["impl Send for LOGGING_DATA_ACKED_DATA",1,["mavlink::common::LOGGING_DATA_ACKED_DATA"]],["impl Send for ESC_STATUS_DATA",1,["mavlink::common::ESC_STATUS_DATA"]],["impl Send for PARAM_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_REQUEST_LIST_DATA"]],["impl Send for CAMERA_INFORMATION_DATA",1,["mavlink::common::CAMERA_INFORMATION_DATA"]],["impl Send for ATTITUDE_DATA",1,["mavlink::common::ATTITUDE_DATA"]],["impl Send for CELLULAR_CONFIG_DATA",1,["mavlink::common::CELLULAR_CONFIG_DATA"]],["impl Send for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Send for ALTITUDE_DATA",1,["mavlink::common::ALTITUDE_DATA"]],["impl Send for GPS2_RAW_DATA",1,["mavlink::common::GPS2_RAW_DATA"]],["impl Send for FOLLOW_TARGET_DATA",1,["mavlink::common::FOLLOW_TARGET_DATA"]],["impl Send for LINK_NODE_STATUS_DATA",1,["mavlink::common::LINK_NODE_STATUS_DATA"]],["impl Send for GPS_INPUT_DATA",1,["mavlink::common::GPS_INPUT_DATA"]],["impl Send for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::common::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Send for GPS_RTK_DATA",1,["mavlink::common::GPS_RTK_DATA"]],["impl Send for TERRAIN_CHECK_DATA",1,["mavlink::common::TERRAIN_CHECK_DATA"]],["impl Send for MANUAL_SETPOINT_DATA",1,["mavlink::common::MANUAL_SETPOINT_DATA"]],["impl Send for SCALED_IMU3_DATA",1,["mavlink::common::SCALED_IMU3_DATA"]],["impl Send for MAG_CAL_REPORT_DATA",1,["mavlink::common::MAG_CAL_REPORT_DATA"]],["impl Send for ADSB_VEHICLE_DATA",1,["mavlink::common::ADSB_VEHICLE_DATA"]],["impl Send for DEBUG_VECT_DATA",1,["mavlink::common::DEBUG_VECT_DATA"]],["impl Send for VIBRATION_DATA",1,["mavlink::common::VIBRATION_DATA"]],["impl Send for PLAY_TUNE_DATA",1,["mavlink::common::PLAY_TUNE_DATA"]],["impl Send for CAMERA_FOV_STATUS_DATA",1,["mavlink::common::CAMERA_FOV_STATUS_DATA"]],["impl Send for HIL_STATE_QUATERNION_DATA",1,["mavlink::common::HIL_STATE_QUATERNION_DATA"]],["impl Send for RAW_RPM_DATA",1,["mavlink::common::RAW_RPM_DATA"]],["impl Send for SYS_STATUS_DATA",1,["mavlink::common::SYS_STATUS_DATA"]],["impl Send for MISSION_ACK_DATA",1,["mavlink::common::MISSION_ACK_DATA"]],["impl Send for LOG_REQUEST_DATA_DATA",1,["mavlink::common::LOG_REQUEST_DATA_DATA"]],["impl Send for UTM_GLOBAL_POSITION_DATA",1,["mavlink::common::UTM_GLOBAL_POSITION_DATA"]],["impl Send for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Send for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::common::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Send for HIL_OPTICAL_FLOW_DATA",1,["mavlink::common::HIL_OPTICAL_FLOW_DATA"]],["impl Send for LOG_DATA_DATA",1,["mavlink::common::LOG_DATA_DATA"]],["impl Send for BUTTON_CHANGE_DATA",1,["mavlink::common::BUTTON_CHANGE_DATA"]],["impl Send for V2_EXTENSION_DATA",1,["mavlink::common::V2_EXTENSION_DATA"]],["impl Send for FLIGHT_INFORMATION_DATA",1,["mavlink::common::FLIGHT_INFORMATION_DATA"]],["impl Send for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Send for EVENT_DATA",1,["mavlink::common::EVENT_DATA"]],["impl Send for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Send for AUTH_KEY_DATA",1,["mavlink::common::AUTH_KEY_DATA"]],["impl Send for HYGROMETER_SENSOR_DATA",1,["mavlink::common::HYGROMETER_SENSOR_DATA"]],["impl Send for GPS_STATUS_DATA",1,["mavlink::common::GPS_STATUS_DATA"]],["impl Send for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::common::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Send for NAMED_VALUE_INT_DATA",1,["mavlink::common::NAMED_VALUE_INT_DATA"]],["impl Send for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::common::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Send for PLAY_TUNE_V2_DATA",1,["mavlink::common::PLAY_TUNE_V2_DATA"]],["impl Send for SET_ATTITUDE_TARGET_DATA",1,["mavlink::common::SET_ATTITUDE_TARGET_DATA"]],["impl Send for CANFD_FRAME_DATA",1,["mavlink::common::CANFD_FRAME_DATA"]],["impl Send for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::common::CAMERA_CAPTURE_STATUS_DATA"]],["impl Send for REQUEST_EVENT_DATA",1,["mavlink::common::REQUEST_EVENT_DATA"]],["impl Send for VFR_HUD_DATA",1,["mavlink::common::VFR_HUD_DATA"]],["impl Send for LOCAL_POSITION_NED_DATA",1,["mavlink::common::LOCAL_POSITION_NED_DATA"]],["impl Send for AUTOPILOT_VERSION_DATA",1,["mavlink::common::AUTOPILOT_VERSION_DATA"]],["impl Send for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::VISION_POSITION_ESTIMATE_DATA"]],["impl Send for UAVCAN_NODE_INFO_DATA",1,["mavlink::common::UAVCAN_NODE_INFO_DATA"]],["impl Send for TERRAIN_REQUEST_DATA",1,["mavlink::common::TERRAIN_REQUEST_DATA"]],["impl Send for PING_DATA",1,["mavlink::common::PING_DATA"]],["impl Send for MISSION_SET_CURRENT_DATA",1,["mavlink::common::MISSION_SET_CURRENT_DATA"]],["impl Send for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Send for HIGH_LATENCY_DATA",1,["mavlink::common::HIGH_LATENCY_DATA"]],["impl Send for MavMessage",1,["mavlink::common::MavMessage"]],["impl<'a> Send for Bytes<'a>",1,["mavlink::bytes::Bytes"]],["impl<'a> Send for BytesMut<'a>",1,["mavlink::bytes_mut::BytesMut"]],["impl Send for ParserError",1,["mavlink::error::ParserError"]],["impl Send for MessageReadError",1,["mavlink::error::MessageReadError"]],["impl Send for MessageWriteError",1,["mavlink::error::MessageWriteError"]],["impl Send for MavHeader",1,["mavlink::MavHeader"]],["impl Send for MavlinkVersion",1,["mavlink::MavlinkVersion"]],["impl<M> Send for MavFrame<M>where\n M: Send,",1,["mavlink::MavFrame"]],["impl Send for MAVLinkV1MessageRaw",1,["mavlink::MAVLinkV1MessageRaw"]],["impl Send for MAVLinkV2MessageRaw",1,["mavlink::MAVLinkV2MessageRaw"]]], +"mavlink":[["impl Send for IcarousTrackBandTypes",1,["mavlink::icarous::IcarousTrackBandTypes"]],["impl Send for IcarousFmsState",1,["mavlink::icarous::IcarousFmsState"]],["impl Send for ICAROUS_HEARTBEAT_DATA",1,["mavlink::icarous::ICAROUS_HEARTBEAT_DATA"]],["impl Send for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::icarous::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Send for MavMessage",1,["mavlink::icarous::MavMessage"]],["impl Send for GoproCharging",1,["mavlink::ardupilotmega::GoproCharging"]],["impl Send for GimbalAxisCalibrationStatus",1,["mavlink::ardupilotmega::GimbalAxisCalibrationStatus"]],["impl Send for EkfStatusFlags",1,["mavlink::ardupilotmega::EkfStatusFlags"]],["impl Send for GoproHeartbeatStatus",1,["mavlink::ardupilotmega::GoproHeartbeatStatus"]],["impl Send for PlaneMode",1,["mavlink::ardupilotmega::PlaneMode"]],["impl Send for CopterMode",1,["mavlink::ardupilotmega::CopterMode"]],["impl Send for SerialControlDev",1,["mavlink::ardupilotmega::SerialControlDev"]],["impl Send for FenceAction",1,["mavlink::ardupilotmega::FenceAction"]],["impl Send for PrecisionLandMode",1,["mavlink::ardupilotmega::PrecisionLandMode"]],["impl Send for SerialControlFlag",1,["mavlink::ardupilotmega::SerialControlFlag"]],["impl Send for CameraStatusTypes",1,["mavlink::ardupilotmega::CameraStatusTypes"]],["impl Send for MavModeFlagDecodePosition",1,["mavlink::ardupilotmega::MavModeFlagDecodePosition"]],["impl Send for GoproBurstRate",1,["mavlink::ardupilotmega::GoproBurstRate"]],["impl Send for MavLandedState",1,["mavlink::ardupilotmega::MavLandedState"]],["impl Send for CanFilterOp",1,["mavlink::ardupilotmega::CanFilterOp"]],["impl Send for MavOdidDescType",1,["mavlink::ardupilotmega::MavOdidDescType"]],["impl Send for ActuatorConfiguration",1,["mavlink::ardupilotmega::ActuatorConfiguration"]],["impl Send for FirmwareVersionType",1,["mavlink::ardupilotmega::FirmwareVersionType"]],["impl Send for RallyFlags",1,["mavlink::ardupilotmega::RallyFlags"]],["impl Send for GoproFrameRate",1,["mavlink::ardupilotmega::GoproFrameRate"]],["impl Send for EstimatorStatusFlags",1,["mavlink::ardupilotmega::EstimatorStatusFlags"]],["impl Send for EscConnectionType",1,["mavlink::ardupilotmega::EscConnectionType"]],["impl Send for MavMode",1,["mavlink::ardupilotmega::MavMode"]],["impl Send for MavOdidSpeedAcc",1,["mavlink::ardupilotmega::MavOdidSpeedAcc"]],["impl Send for HighresImuUpdatedFlags",1,["mavlink::ardupilotmega::HighresImuUpdatedFlags"]],["impl Send for FenceBreach",1,["mavlink::ardupilotmega::FenceBreach"]],["impl Send for MissionState",1,["mavlink::ardupilotmega::MissionState"]],["impl Send for MotorTestOrder",1,["mavlink::ardupilotmega::MotorTestOrder"]],["impl Send for MavEventErrorReason",1,["mavlink::ardupilotmega::MavEventErrorReason"]],["impl Send for TuneFormat",1,["mavlink::ardupilotmega::TuneFormat"]],["impl Send for RcType",1,["mavlink::ardupilotmega::RcType"]],["impl Send for MavFtpOpcode",1,["mavlink::ardupilotmega::MavFtpOpcode"]],["impl Send for GimbalDeviceFlags",1,["mavlink::ardupilotmega::GimbalDeviceFlags"]],["impl Send for MavEstimatorType",1,["mavlink::ardupilotmega::MavEstimatorType"]],["impl Send for UavcanNodeHealth",1,["mavlink::ardupilotmega::UavcanNodeHealth"]],["impl Send for UavionixAdsbOutRfSelect",1,["mavlink::ardupilotmega::UavionixAdsbOutRfSelect"]],["impl Send for MavGoto",1,["mavlink::ardupilotmega::MavGoto"]],["impl Send for MavGeneratorStatusFlag",1,["mavlink::ardupilotmega::MavGeneratorStatusFlag"]],["impl Send for SpeedType",1,["mavlink::ardupilotmega::SpeedType"]],["impl Send for GoproPhotoResolution",1,["mavlink::ardupilotmega::GoproPhotoResolution"]],["impl Send for MavBatteryFault",1,["mavlink::ardupilotmega::MavBatteryFault"]],["impl Send for MavCmdDoAuxFunctionSwitchLevel",1,["mavlink::ardupilotmega::MavCmdDoAuxFunctionSwitchLevel"]],["impl Send for MavSysStatusSensor",1,["mavlink::ardupilotmega::MavSysStatusSensor"]],["impl Send for WinchActions",1,["mavlink::ardupilotmega::WinchActions"]],["impl Send for MavFrame",1,["mavlink::ardupilotmega::MavFrame"]],["impl Send for CellularStatusFlag",1,["mavlink::ardupilotmega::CellularStatusFlag"]],["impl Send for CameraTrackingStatusFlags",1,["mavlink::ardupilotmega::CameraTrackingStatusFlags"]],["impl Send for MavOdidStatus",1,["mavlink::ardupilotmega::MavOdidStatus"]],["impl Send for AisNavStatus",1,["mavlink::ardupilotmega::AisNavStatus"]],["impl Send for MavWinchStatusFlag",1,["mavlink::ardupilotmega::MavWinchStatusFlag"]],["impl Send for MavOdidClassEu",1,["mavlink::ardupilotmega::MavOdidClassEu"]],["impl Send for MavModeGimbal",1,["mavlink::ardupilotmega::MavModeGimbal"]],["impl Send for CellularNetworkFailedReason",1,["mavlink::ardupilotmega::CellularNetworkFailedReason"]],["impl Send for GoproProtuneSharpness",1,["mavlink::ardupilotmega::GoproProtuneSharpness"]],["impl Send for GoproCommand",1,["mavlink::ardupilotmega::GoproCommand"]],["impl Send for GoproProtuneColour",1,["mavlink::ardupilotmega::GoproProtuneColour"]],["impl Send for GoproProtuneExposure",1,["mavlink::ardupilotmega::GoproProtuneExposure"]],["impl Send for PidTuningAxis",1,["mavlink::ardupilotmega::PidTuningAxis"]],["impl Send for PreflightStorageParameterAction",1,["mavlink::ardupilotmega::PreflightStorageParameterAction"]],["impl Send for AttitudeTargetTypemask",1,["mavlink::ardupilotmega::AttitudeTargetTypemask"]],["impl Send for UavionixAdsbEmergencyStatus",1,["mavlink::ardupilotmega::UavionixAdsbEmergencyStatus"]],["impl Send for LandingTargetType",1,["mavlink::ardupilotmega::LandingTargetType"]],["impl Send for MavCmd",1,["mavlink::ardupilotmega::MavCmd"]],["impl Send for GimbalManagerCapFlags",1,["mavlink::ardupilotmega::GimbalManagerCapFlags"]],["impl Send for MavOdidOperatorIdType",1,["mavlink::ardupilotmega::MavOdidOperatorIdType"]],["impl Send for HeadingType",1,["mavlink::ardupilotmega::HeadingType"]],["impl Send for CameraFeedbackFlags",1,["mavlink::ardupilotmega::CameraFeedbackFlags"]],["impl Send for MavDistanceSensor",1,["mavlink::ardupilotmega::MavDistanceSensor"]],["impl Send for UavionixAdsbOutCfgAircraftSize",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgAircraftSize"]],["impl Send for UavionixAdsbRfHealth",1,["mavlink::ardupilotmega::UavionixAdsbRfHealth"]],["impl Send for CellularNetworkRadioType",1,["mavlink::ardupilotmega::CellularNetworkRadioType"]],["impl Send for MavEventCurrentSequenceFlags",1,["mavlink::ardupilotmega::MavEventCurrentSequenceFlags"]],["impl Send for MavSysStatusSensorExtended",1,["mavlink::ardupilotmega::MavSysStatusSensorExtended"]],["impl Send for MavOdidHorAcc",1,["mavlink::ardupilotmega::MavOdidHorAcc"]],["impl Send for MagCalStatus",1,["mavlink::ardupilotmega::MagCalStatus"]],["impl Send for CameraZoomType",1,["mavlink::ardupilotmega::CameraZoomType"]],["impl Send for AdsbEmitterType",1,["mavlink::ardupilotmega::AdsbEmitterType"]],["impl Send for HlFailureFlag",1,["mavlink::ardupilotmega::HlFailureFlag"]],["impl Send for MavOdidCategoryEu",1,["mavlink::ardupilotmega::MavOdidCategoryEu"]],["impl Send for GimbalAxis",1,["mavlink::ardupilotmega::GimbalAxis"]],["impl Send for SubMode",1,["mavlink::ardupilotmega::SubMode"]],["impl Send for MavModeFlag",1,["mavlink::ardupilotmega::MavModeFlag"]],["impl Send for RoverMode",1,["mavlink::ardupilotmega::RoverMode"]],["impl Send for TrackerMode",1,["mavlink::ardupilotmega::TrackerMode"]],["impl Send for PreflightStorageMissionAction",1,["mavlink::ardupilotmega::PreflightStorageMissionAction"]],["impl Send for MavSensorOrientation",1,["mavlink::ardupilotmega::MavSensorOrientation"]],["impl Send for GoproProtuneWhiteBalance",1,["mavlink::ardupilotmega::GoproProtuneWhiteBalance"]],["impl Send for MotorTestThrottleType",1,["mavlink::ardupilotmega::MotorTestThrottleType"]],["impl Send for SetFocusType",1,["mavlink::ardupilotmega::SetFocusType"]],["impl Send for AdsbAltitudeType",1,["mavlink::ardupilotmega::AdsbAltitudeType"]],["impl Send for FailureUnit",1,["mavlink::ardupilotmega::FailureUnit"]],["impl Send for GoproModel",1,["mavlink::ardupilotmega::GoproModel"]],["impl Send for MavFtpErr",1,["mavlink::ardupilotmega::MavFtpErr"]],["impl Send for MavlinkDataStreamType",1,["mavlink::ardupilotmega::MavlinkDataStreamType"]],["impl Send for GpsFixType",1,["mavlink::ardupilotmega::GpsFixType"]],["impl Send for DeepstallStage",1,["mavlink::ardupilotmega::DeepstallStage"]],["impl Send for MavOdidVerAcc",1,["mavlink::ardupilotmega::MavOdidVerAcc"]],["impl Send for VideoStreamStatusFlags",1,["mavlink::ardupilotmega::VideoStreamStatusFlags"]],["impl Send for LedControlPattern",1,["mavlink::ardupilotmega::LedControlPattern"]],["impl Send for StorageUsageFlag",1,["mavlink::ardupilotmega::StorageUsageFlag"]],["impl Send for GpsInputIgnoreFlags",1,["mavlink::ardupilotmega::GpsInputIgnoreFlags"]],["impl Send for MavParamType",1,["mavlink::ardupilotmega::MavParamType"]],["impl Send for CameraMode",1,["mavlink::ardupilotmega::CameraMode"]],["impl Send for DeviceOpBustype",1,["mavlink::ardupilotmega::DeviceOpBustype"]],["impl Send for CameraTrackingTargetData",1,["mavlink::ardupilotmega::CameraTrackingTargetData"]],["impl Send for MavBatteryMode",1,["mavlink::ardupilotmega::MavBatteryMode"]],["impl Send for GoproProtuneGain",1,["mavlink::ardupilotmega::GoproProtuneGain"]],["impl Send for AdsbFlags",1,["mavlink::ardupilotmega::AdsbFlags"]],["impl Send for MavType",1,["mavlink::ardupilotmega::MavType"]],["impl Send for LimitModule",1,["mavlink::ardupilotmega::LimitModule"]],["impl Send for GoproRequestStatus",1,["mavlink::ardupilotmega::GoproRequestStatus"]],["impl Send for MavRemoteLogDataBlockStatuses",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockStatuses"]],["impl Send for MavParamExtType",1,["mavlink::ardupilotmega::MavParamExtType"]],["impl Send for GimbalDeviceCapFlags",1,["mavlink::ardupilotmega::GimbalDeviceCapFlags"]],["impl Send for StorageType",1,["mavlink::ardupilotmega::StorageType"]],["impl Send for MavBatteryFunction",1,["mavlink::ardupilotmega::MavBatteryFunction"]],["impl Send for RtkBaselineCoordinateSystem",1,["mavlink::ardupilotmega::RtkBaselineCoordinateSystem"]],["impl Send for UtmFlightState",1,["mavlink::ardupilotmega::UtmFlightState"]],["impl Send for GimbalManagerFlags",1,["mavlink::ardupilotmega::GimbalManagerFlags"]],["impl Send for MavResult",1,["mavlink::ardupilotmega::MavResult"]],["impl Send for GripperActions",1,["mavlink::ardupilotmega::GripperActions"]],["impl Send for EscFailureFlags",1,["mavlink::ardupilotmega::EscFailureFlags"]],["impl Send for CellularConfigResponse",1,["mavlink::ardupilotmega::CellularConfigResponse"]],["impl Send for IcarousTrackBandTypes",1,["mavlink::ardupilotmega::IcarousTrackBandTypes"]],["impl Send for OrbitYawBehaviour",1,["mavlink::ardupilotmega::OrbitYawBehaviour"]],["impl Send for AccelcalVehiclePos",1,["mavlink::ardupilotmega::AccelcalVehiclePos"]],["impl Send for IcarousFmsState",1,["mavlink::ardupilotmega::IcarousFmsState"]],["impl Send for GoproVideoSettingsFlags",1,["mavlink::ardupilotmega::GoproVideoSettingsFlags"]],["impl Send for ScriptingCmd",1,["mavlink::ardupilotmega::ScriptingCmd"]],["impl Send for MavCollisionAction",1,["mavlink::ardupilotmega::MavCollisionAction"]],["impl Send for MavDoRepositionFlags",1,["mavlink::ardupilotmega::MavDoRepositionFlags"]],["impl Send for ParachuteAction",1,["mavlink::ardupilotmega::ParachuteAction"]],["impl Send for MavOdidIdType",1,["mavlink::ardupilotmega::MavOdidIdType"]],["impl Send for MavOdidOperatorLocationType",1,["mavlink::ardupilotmega::MavOdidOperatorLocationType"]],["impl Send for GoproResolution",1,["mavlink::ardupilotmega::GoproResolution"]],["impl Send for VtolTransitionHeading",1,["mavlink::ardupilotmega::VtolTransitionHeading"]],["impl Send for MavRoi",1,["mavlink::ardupilotmega::MavRoi"]],["impl Send for OsdParamConfigError",1,["mavlink::ardupilotmega::OsdParamConfigError"]],["impl Send for CameraCapFlags",1,["mavlink::ardupilotmega::CameraCapFlags"]],["impl Send for GimbalDeviceErrorFlags",1,["mavlink::ardupilotmega::GimbalDeviceErrorFlags"]],["impl Send for MavState",1,["mavlink::ardupilotmega::MavState"]],["impl Send for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Send for PositionTargetTypemask",1,["mavlink::ardupilotmega::PositionTargetTypemask"]],["impl Send for MavDataStream",1,["mavlink::ardupilotmega::MavDataStream"]],["impl Send for UavionixAdsbOutDynamicGpsFix",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicGpsFix"]],["impl Send for ActuatorOutputFunction",1,["mavlink::ardupilotmega::ActuatorOutputFunction"]],["impl Send for MavSeverity",1,["mavlink::ardupilotmega::MavSeverity"]],["impl Send for MavOdidUaType",1,["mavlink::ardupilotmega::MavOdidUaType"]],["impl Send for GimbalAxisCalibrationRequired",1,["mavlink::ardupilotmega::GimbalAxisCalibrationRequired"]],["impl Send for ParamAck",1,["mavlink::ardupilotmega::ParamAck"]],["impl Send for VideoStreamType",1,["mavlink::ardupilotmega::VideoStreamType"]],["impl Send for MavOdidClassificationType",1,["mavlink::ardupilotmega::MavOdidClassificationType"]],["impl Send for StorageStatus",1,["mavlink::ardupilotmega::StorageStatus"]],["impl Send for MavArmAuthDeniedReason",1,["mavlink::ardupilotmega::MavArmAuthDeniedReason"]],["impl Send for MavTunnelPayloadType",1,["mavlink::ardupilotmega::MavTunnelPayloadType"]],["impl Send for MavMissionType",1,["mavlink::ardupilotmega::MavMissionType"]],["impl Send for AisType",1,["mavlink::ardupilotmega::AisType"]],["impl Send for MavVtolState",1,["mavlink::ardupilotmega::MavVtolState"]],["impl Send for HilSensorUpdatedFlags",1,["mavlink::ardupilotmega::HilSensorUpdatedFlags"]],["impl Send for MavComponent",1,["mavlink::ardupilotmega::MavComponent"]],["impl Send for MavProtocolCapability",1,["mavlink::ardupilotmega::MavProtocolCapability"]],["impl Send for MavOdidHeightRef",1,["mavlink::ardupilotmega::MavOdidHeightRef"]],["impl Send for FenceMitigate",1,["mavlink::ardupilotmega::FenceMitigate"]],["impl Send for MavOdidAuthType",1,["mavlink::ardupilotmega::MavOdidAuthType"]],["impl Send for MavMissionResult",1,["mavlink::ardupilotmega::MavMissionResult"]],["impl Send for FailureType",1,["mavlink::ardupilotmega::FailureType"]],["impl Send for AisFlags",1,["mavlink::ardupilotmega::AisFlags"]],["impl Send for MavOdidArmStatus",1,["mavlink::ardupilotmega::MavOdidArmStatus"]],["impl Send for OsdParamConfigType",1,["mavlink::ardupilotmega::OsdParamConfigType"]],["impl Send for WifiConfigApMode",1,["mavlink::ardupilotmega::WifiConfigApMode"]],["impl Send for NavVtolLandOptions",1,["mavlink::ardupilotmega::NavVtolLandOptions"]],["impl Send for GoproHeartbeatFlags",1,["mavlink::ardupilotmega::GoproHeartbeatFlags"]],["impl Send for GoproCaptureMode",1,["mavlink::ardupilotmega::GoproCaptureMode"]],["impl Send for MavRemoteLogDataBlockCommands",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockCommands"]],["impl Send for MavCollisionThreatLevel",1,["mavlink::ardupilotmega::MavCollisionThreatLevel"]],["impl Send for UtmDataAvailFlags",1,["mavlink::ardupilotmega::UtmDataAvailFlags"]],["impl Send for GoproFieldOfView",1,["mavlink::ardupilotmega::GoproFieldOfView"]],["impl Send for MavPowerStatus",1,["mavlink::ardupilotmega::MavPowerStatus"]],["impl Send for MavBatteryType",1,["mavlink::ardupilotmega::MavBatteryType"]],["impl Send for UavcanNodeMode",1,["mavlink::ardupilotmega::UavcanNodeMode"]],["impl Send for MavAutopilot",1,["mavlink::ardupilotmega::MavAutopilot"]],["impl Send for MavOdidTimeAcc",1,["mavlink::ardupilotmega::MavOdidTimeAcc"]],["impl Send for MavCollisionSrc",1,["mavlink::ardupilotmega::MavCollisionSrc"]],["impl Send for CompMetadataType",1,["mavlink::ardupilotmega::CompMetadataType"]],["impl Send for UavionixAdsbOutDynamicState",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicState"]],["impl Send for CameraTrackingMode",1,["mavlink::ardupilotmega::CameraTrackingMode"]],["impl Send for MavCmdAck",1,["mavlink::ardupilotmega::MavCmdAck"]],["impl Send for WifiConfigApResponse",1,["mavlink::ardupilotmega::WifiConfigApResponse"]],["impl Send for MavBatteryChargeState",1,["mavlink::ardupilotmega::MavBatteryChargeState"]],["impl Send for AutotuneAxis",1,["mavlink::ardupilotmega::AutotuneAxis"]],["impl Send for MavMountMode",1,["mavlink::ardupilotmega::MavMountMode"]],["impl Send for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Send for LimitsState",1,["mavlink::ardupilotmega::LimitsState"]],["impl Send for LOG_REQUEST_DATA_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_DATA_DATA"]],["impl Send for AUTH_KEY_DATA",1,["mavlink::ardupilotmega::AUTH_KEY_DATA"]],["impl Send for MISSION_REQUEST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_DATA"]],["impl Send for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Send for CELLULAR_CONFIG_DATA",1,["mavlink::ardupilotmega::CELLULAR_CONFIG_DATA"]],["impl Send for SCALED_PRESSURE3_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE3_DATA"]],["impl Send for CUBEPILOT_RAW_RC_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_RAW_RC_DATA"]],["impl Send for LED_CONTROL_DATA",1,["mavlink::ardupilotmega::LED_CONTROL_DATA"]],["impl Send for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::GPS_GLOBAL_ORIGIN_DATA"]],["impl Send for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_STATUS_DATA"]],["impl Send for AIS_VESSEL_DATA",1,["mavlink::ardupilotmega::AIS_VESSEL_DATA"]],["impl Send for SCALED_IMU_DATA",1,["mavlink::ardupilotmega::SCALED_IMU_DATA"]],["impl Send for CAMERA_INFORMATION_DATA",1,["mavlink::ardupilotmega::CAMERA_INFORMATION_DATA"]],["impl Send for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Send for SUPPORTED_TUNES_DATA",1,["mavlink::ardupilotmega::SUPPORTED_TUNES_DATA"]],["impl Send for RANGEFINDER_DATA",1,["mavlink::ardupilotmega::RANGEFINDER_DATA"]],["impl Send for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Send for GENERATOR_STATUS_DATA",1,["mavlink::ardupilotmega::GENERATOR_STATUS_DATA"]],["impl Send for COLLISION_DATA",1,["mavlink::ardupilotmega::COLLISION_DATA"]],["impl Send for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Send for MISSION_REQUEST_INT_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_INT_DATA"]],["impl Send for TERRAIN_DATA_DATA",1,["mavlink::ardupilotmega::TERRAIN_DATA_DATA"]],["impl Send for REMOTE_LOG_DATA_BLOCK_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_DATA_BLOCK_DATA"]],["impl Send for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::ardupilotmega::DEBUG_FLOAT_ARRAY_DATA"]],["impl Send for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Send for OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_DATA"]],["impl Send for VIDEO_STREAM_STATUS_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_STATUS_DATA"]],["impl Send for SCALED_PRESSURE_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE_DATA"]],["impl Send for HIGHRES_IMU_DATA",1,["mavlink::ardupilotmega::HIGHRES_IMU_DATA"]],["impl Send for GPS_RTCM_DATA_DATA",1,["mavlink::ardupilotmega::GPS_RTCM_DATA_DATA"]],["impl Send for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Send for WIND_DATA",1,["mavlink::ardupilotmega::WIND_DATA"]],["impl Send for RALLY_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_FETCH_POINT_DATA"]],["impl Send for FOLLOW_TARGET_DATA",1,["mavlink::ardupilotmega::FOLLOW_TARGET_DATA"]],["impl Send for GOPRO_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::GOPRO_HEARTBEAT_DATA"]],["impl Send for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_CAPTURE_STATUS_DATA"]],["impl Send for MESSAGE_INTERVAL_DATA",1,["mavlink::ardupilotmega::MESSAGE_INTERVAL_DATA"]],["impl Send for MEMORY_VECT_DATA",1,["mavlink::ardupilotmega::MEMORY_VECT_DATA"]],["impl Send for ENCAPSULATED_DATA_DATA",1,["mavlink::ardupilotmega::ENCAPSULATED_DATA_DATA"]],["impl Send for PARAM_MAP_RC_DATA",1,["mavlink::ardupilotmega::PARAM_MAP_RC_DATA"]],["impl Send for LOGGING_ACK_DATA",1,["mavlink::ardupilotmega::LOGGING_ACK_DATA"]],["impl Send for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Send for PROTOCOL_VERSION_DATA",1,["mavlink::ardupilotmega::PROTOCOL_VERSION_DATA"]],["impl Send for ATTITUDE_DATA",1,["mavlink::ardupilotmega::ATTITUDE_DATA"]],["impl Send for AOA_SSA_DATA",1,["mavlink::ardupilotmega::AOA_SSA_DATA"]],["impl Send for ESC_TELEMETRY_1_TO_4_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_1_TO_4_DATA"]],["impl Send for LOGGING_DATA_ACKED_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_ACKED_DATA"]],["impl Send for PLAY_TUNE_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_DATA"]],["impl Send for SIM_STATE_DATA",1,["mavlink::ardupilotmega::SIM_STATE_DATA"]],["impl Send for MANUAL_SETPOINT_DATA",1,["mavlink::ardupilotmega::MANUAL_SETPOINT_DATA"]],["impl Send for VIBRATION_DATA",1,["mavlink::ardupilotmega::VIBRATION_DATA"]],["impl Send for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::ardupilotmega::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Send for DEEPSTALL_DATA",1,["mavlink::ardupilotmega::DEEPSTALL_DATA"]],["impl Send for MAG_CAL_REPORT_DATA",1,["mavlink::ardupilotmega::MAG_CAL_REPORT_DATA"]],["impl Send for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::ardupilotmega::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Send for SCALED_IMU2_DATA",1,["mavlink::ardupilotmega::SCALED_IMU2_DATA"]],["impl Send for GOPRO_GET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_REQUEST_DATA"]],["impl Send for COMMAND_INT_DATA",1,["mavlink::ardupilotmega::COMMAND_INT_DATA"]],["impl Send for UAVCAN_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_STATUS_DATA"]],["impl Send for ODOMETRY_DATA",1,["mavlink::ardupilotmega::ODOMETRY_DATA"]],["impl Send for HIGH_LATENCY2_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY2_DATA"]],["impl Send for REQUEST_EVENT_DATA",1,["mavlink::ardupilotmega::REQUEST_EVENT_DATA"]],["impl Send for ICAROUS_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::ICAROUS_HEARTBEAT_DATA"]],["impl Send for MISSION_COUNT_DATA",1,["mavlink::ardupilotmega::MISSION_COUNT_DATA"]],["impl Send for AIRSPEED_AUTOCAL_DATA",1,["mavlink::ardupilotmega::AIRSPEED_AUTOCAL_DATA"]],["impl Send for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_READ_DATA"]],["impl Send for CELLULAR_STATUS_DATA",1,["mavlink::ardupilotmega::CELLULAR_STATUS_DATA"]],["impl Send for COMPASSMOT_STATUS_DATA",1,["mavlink::ardupilotmega::COMPASSMOT_STATUS_DATA"]],["impl Send for GPS_RAW_INT_DATA",1,["mavlink::ardupilotmega::GPS_RAW_INT_DATA"]],["impl Send for WIND_COV_DATA",1,["mavlink::ardupilotmega::WIND_COV_DATA"]],["impl Send for V2_EXTENSION_DATA",1,["mavlink::ardupilotmega::V2_EXTENSION_DATA"]],["impl Send for WHEEL_DISTANCE_DATA",1,["mavlink::ardupilotmega::WHEEL_DISTANCE_DATA"]],["impl Send for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Send for OSD_PARAM_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_REPLY_DATA"]],["impl Send for AHRS2_DATA",1,["mavlink::ardupilotmega::AHRS2_DATA"]],["impl Send for BATTERY2_DATA",1,["mavlink::ardupilotmega::BATTERY2_DATA"]],["impl Send for LOG_REQUEST_END_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_END_DATA"]],["impl Send for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::ardupilotmega::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Send for LOCAL_POSITION_NED_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_DATA"]],["impl Send for PID_TUNING_DATA",1,["mavlink::ardupilotmega::PID_TUNING_DATA"]],["impl Send for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Send for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::ardupilotmega::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Send for ESC_INFO_DATA",1,["mavlink::ardupilotmega::ESC_INFO_DATA"]],["impl Send for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Send for CAMERA_TRIGGER_DATA",1,["mavlink::ardupilotmega::CAMERA_TRIGGER_DATA"]],["impl Send for GPS_INPUT_DATA",1,["mavlink::ardupilotmega::GPS_INPUT_DATA"]],["impl Send for BATTERY_STATUS_DATA",1,["mavlink::ardupilotmega::BATTERY_STATUS_DATA"]],["impl Send for FENCE_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_FETCH_POINT_DATA"]],["impl Send for SYS_STATUS_DATA",1,["mavlink::ardupilotmega::SYS_STATUS_DATA"]],["impl Send for ISBD_LINK_STATUS_DATA",1,["mavlink::ardupilotmega::ISBD_LINK_STATUS_DATA"]],["impl Send for DEBUG_VECT_DATA",1,["mavlink::ardupilotmega::DEBUG_VECT_DATA"]],["impl Send for SIMSTATE_DATA",1,["mavlink::ardupilotmega::SIMSTATE_DATA"]],["impl Send for FENCE_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_POINT_DATA"]],["impl Send for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"]],["impl Send for SETUP_SIGNING_DATA",1,["mavlink::ardupilotmega::SETUP_SIGNING_DATA"]],["impl Send for COMPONENT_METADATA_DATA",1,["mavlink::ardupilotmega::COMPONENT_METADATA_DATA"]],["impl Send for CAMERA_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_STATUS_DATA"]],["impl Send for DATA96_DATA",1,["mavlink::ardupilotmega::DATA96_DATA"]],["impl Send for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Send for ALTITUDE_DATA",1,["mavlink::ardupilotmega::ALTITUDE_DATA"]],["impl Send for OBSTACLE_DISTANCE_3D_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_3D_DATA"]],["impl Send for HERELINK_TELEM_DATA",1,["mavlink::ardupilotmega::HERELINK_TELEM_DATA"]],["impl Send for GPS_STATUS_DATA",1,["mavlink::ardupilotmega::GPS_STATUS_DATA"]],["impl Send for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_OVERRIDE_DATA"]],["impl Send for RPM_DATA",1,["mavlink::ardupilotmega::RPM_DATA"]],["impl Send for CANFD_FRAME_DATA",1,["mavlink::ardupilotmega::CANFD_FRAME_DATA"]],["impl Send for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Send for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Send for AUTOPILOT_VERSION_REQUEST_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_REQUEST_DATA"]],["impl Send for LOGGING_DATA_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_DATA"]],["impl Send for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Send for DIGICAM_CONTROL_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONTROL_DATA"]],["impl Send for FENCE_STATUS_DATA",1,["mavlink::ardupilotmega::FENCE_STATUS_DATA"]],["impl Send for MISSION_ITEM_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_DATA"]],["impl Send for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Send for ATTITUDE_QUATERNION_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_DATA"]],["impl Send for AUTOPILOT_VERSION_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_DATA"]],["impl Send for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Send for HIL_OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::HIL_OPTICAL_FLOW_DATA"]],["impl Send for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::ardupilotmega::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Send for PLAY_TUNE_V2_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_V2_DATA"]],["impl Send for GIMBAL_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_REPORT_DATA"]],["impl Send for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Send for HOME_POSITION_DATA",1,["mavlink::ardupilotmega::HOME_POSITION_DATA"]],["impl Send for DATA64_DATA",1,["mavlink::ardupilotmega::DATA64_DATA"]],["impl Send for ESC_STATUS_DATA",1,["mavlink::ardupilotmega::ESC_STATUS_DATA"]],["impl Send for PARAM_EXT_SET_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_SET_DATA"]],["impl Send for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_SPEED_ESTIMATE_DATA"]],["impl Send for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Send for DISTANCE_SENSOR_DATA",1,["mavlink::ardupilotmega::DISTANCE_SENSOR_DATA"]],["impl Send for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Send for ATT_POS_MOCAP_DATA",1,["mavlink::ardupilotmega::ATT_POS_MOCAP_DATA"]],["impl Send for SET_MAG_OFFSETS_DATA",1,["mavlink::ardupilotmega::SET_MAG_OFFSETS_DATA"]],["impl Send for LINK_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::LINK_NODE_STATUS_DATA"]],["impl Send for MISSION_ACK_DATA",1,["mavlink::ardupilotmega::MISSION_ACK_DATA"]],["impl Send for HWSTATUS_DATA",1,["mavlink::ardupilotmega::HWSTATUS_DATA"]],["impl Send for PARAM_SET_DATA",1,["mavlink::ardupilotmega::PARAM_SET_DATA"]],["impl Send for CAMERA_FEEDBACK_DATA",1,["mavlink::ardupilotmega::CAMERA_FEEDBACK_DATA"]],["impl Send for COMPONENT_INFORMATION_DATA",1,["mavlink::ardupilotmega::COMPONENT_INFORMATION_DATA"]],["impl Send for SET_ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ATTITUDE_TARGET_DATA"]],["impl Send for OSD_PARAM_SHOW_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_REPLY_DATA"]],["impl Send for RADIO_STATUS_DATA",1,["mavlink::ardupilotmega::RADIO_STATUS_DATA"]],["impl Send for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::ardupilotmega::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Send for MISSION_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_LIST_DATA"]],["impl Send for UTM_GLOBAL_POSITION_DATA",1,["mavlink::ardupilotmega::UTM_GLOBAL_POSITION_DATA"]],["impl Send for HIL_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_CONTROLS_DATA"]],["impl Send for SERVO_OUTPUT_RAW_DATA",1,["mavlink::ardupilotmega::SERVO_OUTPUT_RAW_DATA"]],["impl Send for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Send for UAVCAN_NODE_INFO_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_INFO_DATA"]],["impl Send for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_COV_DATA"]],["impl Send for STATUSTEXT_DATA",1,["mavlink::ardupilotmega::STATUSTEXT_DATA"]],["impl Send for GOPRO_SET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_REQUEST_DATA"]],["impl Send for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Send for OPTICAL_FLOW_RAD_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_RAD_DATA"]],["impl Send for LANDING_TARGET_DATA",1,["mavlink::ardupilotmega::LANDING_TARGET_DATA"]],["impl Send for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Send for LOG_DATA_DATA",1,["mavlink::ardupilotmega::LOG_DATA_DATA"]],["impl Send for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Send for SENSOR_OFFSETS_DATA",1,["mavlink::ardupilotmega::SENSOR_OFFSETS_DATA"]],["impl Send for WIFI_CONFIG_AP_DATA",1,["mavlink::ardupilotmega::WIFI_CONFIG_AP_DATA"]],["impl Send for DEVICE_OP_READ_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_DATA"]],["impl Send for GPS_RTK_DATA",1,["mavlink::ardupilotmega::GPS_RTK_DATA"]],["impl Send for PARAM_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_LIST_DATA"]],["impl Send for HERELINK_VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::HERELINK_VIDEO_STREAM_INFORMATION_DATA"]],["impl Send for REMOTE_LOG_BLOCK_STATUS_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_BLOCK_STATUS_DATA"]],["impl Send for COMMAND_ACK_DATA",1,["mavlink::ardupilotmega::COMMAND_ACK_DATA"]],["impl Send for CAMERA_SETTINGS_DATA",1,["mavlink::ardupilotmega::CAMERA_SETTINGS_DATA"]],["impl Send for RAW_IMU_DATA",1,["mavlink::ardupilotmega::RAW_IMU_DATA"]],["impl Send for RADIO_DATA",1,["mavlink::ardupilotmega::RADIO_DATA"]],["impl Send for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_ALLOWED_AREA_DATA"]],["impl Send for CUBEPILOT_FIRMWARE_UPDATE_START_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_START_DATA"]],["impl Send for DEVICE_OP_WRITE_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_DATA"]],["impl Send for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Send for GIMBAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_CONTROL_DATA"]],["impl Send for MISSION_CLEAR_ALL_DATA",1,["mavlink::ardupilotmega::MISSION_CLEAR_ALL_DATA"]],["impl Send for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::ardupilotmega::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Send for RESOURCE_REQUEST_DATA",1,["mavlink::ardupilotmega::RESOURCE_REQUEST_DATA"]],["impl Send for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_COV_DATA"]],["impl Send for STORAGE_INFORMATION_DATA",1,["mavlink::ardupilotmega::STORAGE_INFORMATION_DATA"]],["impl Send for SYSTEM_TIME_DATA",1,["mavlink::ardupilotmega::SYSTEM_TIME_DATA"]],["impl Send for MISSION_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_CURRENT_DATA"]],["impl Send for LOG_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_LIST_DATA"]],["impl Send for MAG_CAL_PROGRESS_DATA",1,["mavlink::ardupilotmega::MAG_CAL_PROGRESS_DATA"]],["impl Send for GPS2_RTK_DATA",1,["mavlink::ardupilotmega::GPS2_RTK_DATA"]],["impl Send for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Send for LOG_ENTRY_DATA",1,["mavlink::ardupilotmega::LOG_ENTRY_DATA"]],["impl Send for MISSION_ITEM_REACHED_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_REACHED_DATA"]],["impl Send for TERRAIN_CHECK_DATA",1,["mavlink::ardupilotmega::TERRAIN_CHECK_DATA"]],["impl Send for HEARTBEAT_DATA",1,["mavlink::ardupilotmega::HEARTBEAT_DATA"]],["impl Send for CAN_FILTER_MODIFY_DATA",1,["mavlink::ardupilotmega::CAN_FILTER_MODIFY_DATA"]],["impl Send for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Send for FLIGHT_INFORMATION_DATA",1,["mavlink::ardupilotmega::FLIGHT_INFORMATION_DATA"]],["impl Send for VFR_HUD_DATA",1,["mavlink::ardupilotmega::VFR_HUD_DATA"]],["impl Send for MOUNT_CONTROL_DATA",1,["mavlink::ardupilotmega::MOUNT_CONTROL_DATA"]],["impl Send for WATER_DEPTH_DATA",1,["mavlink::ardupilotmega::WATER_DEPTH_DATA"]],["impl Send for SET_MODE_DATA",1,["mavlink::ardupilotmega::SET_MODE_DATA"]],["impl Send for OSD_PARAM_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_DATA"]],["impl Send for PING_DATA",1,["mavlink::ardupilotmega::PING_DATA"]],["impl Send for PARAM_EXT_ACK_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_ACK_DATA"]],["impl Send for TIMESYNC_DATA",1,["mavlink::ardupilotmega::TIMESYNC_DATA"]],["impl Send for ESC_TELEMETRY_5_TO_8_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_5_TO_8_DATA"]],["impl Send for RAW_PRESSURE_DATA",1,["mavlink::ardupilotmega::RAW_PRESSURE_DATA"]],["impl Send for SMART_BATTERY_INFO_DATA",1,["mavlink::ardupilotmega::SMART_BATTERY_INFO_DATA"]],["impl Send for OBSTACLE_DISTANCE_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_DATA"]],["impl Send for CAMERA_FOV_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_FOV_STATUS_DATA"]],["impl Send for ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::ATTITUDE_TARGET_DATA"]],["impl Send for GPS2_RAW_DATA",1,["mavlink::ardupilotmega::GPS2_RAW_DATA"]],["impl Send for RC_CHANNELS_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_DATA"]],["impl Send for DATA_STREAM_DATA",1,["mavlink::ardupilotmega::DATA_STREAM_DATA"]],["impl Send for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_INFORMATION_DATA"]],["impl Send for HIL_GPS_DATA",1,["mavlink::ardupilotmega::HIL_GPS_DATA"]],["impl Send for VISION_POSITION_DELTA_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_DELTA_DATA"]],["impl Send for TERRAIN_REQUEST_DATA",1,["mavlink::ardupilotmega::TERRAIN_REQUEST_DATA"]],["impl Send for HIGH_LATENCY_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY_DATA"]],["impl Send for TUNNEL_DATA",1,["mavlink::ardupilotmega::TUNNEL_DATA"]],["impl Send for LIMITS_STATUS_DATA",1,["mavlink::ardupilotmega::LIMITS_STATUS_DATA"]],["impl Send for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Send for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Send for RC_CHANNELS_SCALED_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_SCALED_DATA"]],["impl Send for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Send for MOUNT_ORIENTATION_DATA",1,["mavlink::ardupilotmega::MOUNT_ORIENTATION_DATA"]],["impl Send for GLOBAL_POSITION_INT_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_DATA"]],["impl Send for DEVICE_OP_READ_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_REPLY_DATA"]],["impl Send for SERIAL_CONTROL_DATA",1,["mavlink::ardupilotmega::SERIAL_CONTROL_DATA"]],["impl Send for CAN_FRAME_DATA",1,["mavlink::ardupilotmega::CAN_FRAME_DATA"]],["impl Send for AHRS3_DATA",1,["mavlink::ardupilotmega::AHRS3_DATA"]],["impl Send for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Send for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Send for SCALED_IMU3_DATA",1,["mavlink::ardupilotmega::SCALED_IMU3_DATA"]],["impl Send for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Send for MISSION_ITEM_INT_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_INT_DATA"]],["impl Send for ADAP_TUNING_DATA",1,["mavlink::ardupilotmega::ADAP_TUNING_DATA"]],["impl Send for EFI_STATUS_DATA",1,["mavlink::ardupilotmega::EFI_STATUS_DATA"]],["impl Send for TERRAIN_REPORT_DATA",1,["mavlink::ardupilotmega::TERRAIN_REPORT_DATA"]],["impl Send for SCALED_PRESSURE2_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE2_DATA"]],["impl Send for SET_HOME_POSITION_DATA",1,["mavlink::ardupilotmega::SET_HOME_POSITION_DATA"]],["impl Send for AP_ADC_DATA",1,["mavlink::ardupilotmega::AP_ADC_DATA"]],["impl Send for GIMBAL_TORQUE_CMD_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_TORQUE_CMD_REPORT_DATA"]],["impl Send for GOPRO_SET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_RESPONSE_DATA"]],["impl Send for ESC_TELEMETRY_9_TO_12_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_9_TO_12_DATA"]],["impl Send for HYGROMETER_SENSOR_DATA",1,["mavlink::ardupilotmega::HYGROMETER_SENSOR_DATA"]],["impl Send for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::ardupilotmega::CONTROL_SYSTEM_STATE_DATA"]],["impl Send for BUTTON_CHANGE_DATA",1,["mavlink::ardupilotmega::BUTTON_CHANGE_DATA"]],["impl Send for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VICON_POSITION_ESTIMATE_DATA"]],["impl Send for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::ardupilotmega::HIL_RC_INPUTS_RAW_DATA"]],["impl Send for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Send for HIL_STATE_DATA",1,["mavlink::ardupilotmega::HIL_STATE_DATA"]],["impl Send for GOPRO_GET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_RESPONSE_DATA"]],["impl Send for POWER_STATUS_DATA",1,["mavlink::ardupilotmega::POWER_STATUS_DATA"]],["impl Send for AHRS_DATA",1,["mavlink::ardupilotmega::AHRS_DATA"]],["impl Send for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Send for LOG_ERASE_DATA",1,["mavlink::ardupilotmega::LOG_ERASE_DATA"]],["impl Send for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Send for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::ardupilotmega::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Send for ADSB_VEHICLE_DATA",1,["mavlink::ardupilotmega::ADSB_VEHICLE_DATA"]],["impl Send for GPS_INJECT_DATA_DATA",1,["mavlink::ardupilotmega::GPS_INJECT_DATA_DATA"]],["impl Send for NAMED_VALUE_INT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_INT_DATA"]],["impl Send for DIGICAM_CONFIGURE_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONFIGURE_DATA"]],["impl Send for EKF_STATUS_REPORT_DATA",1,["mavlink::ardupilotmega::EKF_STATUS_REPORT_DATA"]],["impl Send for OSD_PARAM_SHOW_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_DATA"]],["impl Send for REQUEST_DATA_STREAM_DATA",1,["mavlink::ardupilotmega::REQUEST_DATA_STREAM_DATA"]],["impl Send for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Send for HIL_SENSOR_DATA",1,["mavlink::ardupilotmega::HIL_SENSOR_DATA"]],["impl Send for WINCH_STATUS_DATA",1,["mavlink::ardupilotmega::WINCH_STATUS_DATA"]],["impl Send for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Send for MOUNT_CONFIGURE_DATA",1,["mavlink::ardupilotmega::MOUNT_CONFIGURE_DATA"]],["impl Send for DATA32_DATA",1,["mavlink::ardupilotmega::DATA32_DATA"]],["impl Send for COMMAND_LONG_DATA",1,["mavlink::ardupilotmega::COMMAND_LONG_DATA"]],["impl Send for NAMED_VALUE_FLOAT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_FLOAT_DATA"]],["impl Send for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Send for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_ESTIMATE_DATA"]],["impl Send for MEMINFO_DATA",1,["mavlink::ardupilotmega::MEMINFO_DATA"]],["impl Send for DEVICE_OP_WRITE_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_REPLY_DATA"]],["impl Send for COMMAND_CANCEL_DATA",1,["mavlink::ardupilotmega::COMMAND_CANCEL_DATA"]],["impl Send for RC_CHANNELS_RAW_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_RAW_DATA"]],["impl Send for PARAM_EXT_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_VALUE_DATA"]],["impl Send for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::ardupilotmega::RESPONSE_EVENT_ERROR_DATA"]],["impl Send for MISSION_SET_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_SET_CURRENT_DATA"]],["impl Send for HIL_STATE_QUATERNION_DATA",1,["mavlink::ardupilotmega::HIL_STATE_QUATERNION_DATA"]],["impl Send for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Send for ESTIMATOR_STATUS_DATA",1,["mavlink::ardupilotmega::ESTIMATOR_STATUS_DATA"]],["impl Send for PARAM_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_VALUE_DATA"]],["impl Send for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::ardupilotmega::ORBIT_EXECUTION_STATUS_DATA"]],["impl Send for RALLY_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_POINT_DATA"]],["impl Send for MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::MANUAL_CONTROL_DATA"]],["impl Send for EXTENDED_SYS_STATE_DATA",1,["mavlink::ardupilotmega::EXTENDED_SYS_STATE_DATA"]],["impl Send for DATA16_DATA",1,["mavlink::ardupilotmega::DATA16_DATA"]],["impl Send for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::ardupilotmega::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Send for MOUNT_STATUS_DATA",1,["mavlink::ardupilotmega::MOUNT_STATUS_DATA"]],["impl Send for DEBUG_DATA",1,["mavlink::ardupilotmega::DEBUG_DATA"]],["impl Send for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Send for EVENT_DATA",1,["mavlink::ardupilotmega::EVENT_DATA"]],["impl Send for MCU_STATUS_DATA",1,["mavlink::ardupilotmega::MCU_STATUS_DATA"]],["impl Send for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_COV_DATA"]],["impl Send for RAW_RPM_DATA",1,["mavlink::ardupilotmega::RAW_RPM_DATA"]],["impl Send for PARAM_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_READ_DATA"]],["impl Send for MavMessage",1,["mavlink::ardupilotmega::MavMessage"]],["impl Send for FailureType",1,["mavlink::uavionix::FailureType"]],["impl Send for MavOdidHeightRef",1,["mavlink::uavionix::MavOdidHeightRef"]],["impl Send for PreflightStorageParameterAction",1,["mavlink::uavionix::PreflightStorageParameterAction"]],["impl Send for MavFtpErr",1,["mavlink::uavionix::MavFtpErr"]],["impl Send for EscFailureFlags",1,["mavlink::uavionix::EscFailureFlags"]],["impl Send for AdsbFlags",1,["mavlink::uavionix::AdsbFlags"]],["impl Send for VtolTransitionHeading",1,["mavlink::uavionix::VtolTransitionHeading"]],["impl Send for MavAutopilot",1,["mavlink::uavionix::MavAutopilot"]],["impl Send for VideoStreamType",1,["mavlink::uavionix::VideoStreamType"]],["impl Send for GimbalDeviceErrorFlags",1,["mavlink::uavionix::GimbalDeviceErrorFlags"]],["impl Send for CameraZoomType",1,["mavlink::uavionix::CameraZoomType"]],["impl Send for MavMissionResult",1,["mavlink::uavionix::MavMissionResult"]],["impl Send for MavOdidHorAcc",1,["mavlink::uavionix::MavOdidHorAcc"]],["impl Send for MavMode",1,["mavlink::uavionix::MavMode"]],["impl Send for SetFocusType",1,["mavlink::uavionix::SetFocusType"]],["impl Send for CellularNetworkRadioType",1,["mavlink::uavionix::CellularNetworkRadioType"]],["impl Send for UavionixAdsbEmergencyStatus",1,["mavlink::uavionix::UavionixAdsbEmergencyStatus"]],["impl Send for ParamAck",1,["mavlink::uavionix::ParamAck"]],["impl Send for AutotuneAxis",1,["mavlink::uavionix::AutotuneAxis"]],["impl Send for UavcanNodeMode",1,["mavlink::uavionix::UavcanNodeMode"]],["impl Send for MavCollisionAction",1,["mavlink::uavionix::MavCollisionAction"]],["impl Send for SerialControlDev",1,["mavlink::uavionix::SerialControlDev"]],["impl Send for HlFailureFlag",1,["mavlink::uavionix::HlFailureFlag"]],["impl Send for LandingTargetType",1,["mavlink::uavionix::LandingTargetType"]],["impl Send for MavRoi",1,["mavlink::uavionix::MavRoi"]],["impl Send for PositionTargetTypemask",1,["mavlink::uavionix::PositionTargetTypemask"]],["impl Send for MissionState",1,["mavlink::uavionix::MissionState"]],["impl Send for CameraTrackingMode",1,["mavlink::uavionix::CameraTrackingMode"]],["impl Send for CellularConfigResponse",1,["mavlink::uavionix::CellularConfigResponse"]],["impl Send for MavBatteryMode",1,["mavlink::uavionix::MavBatteryMode"]],["impl Send for MavOdidCategoryEu",1,["mavlink::uavionix::MavOdidCategoryEu"]],["impl Send for MavEstimatorType",1,["mavlink::uavionix::MavEstimatorType"]],["impl Send for UtmFlightState",1,["mavlink::uavionix::UtmFlightState"]],["impl Send for UtmDataAvailFlags",1,["mavlink::uavionix::UtmDataAvailFlags"]],["impl Send for AisFlags",1,["mavlink::uavionix::AisFlags"]],["impl Send for ActuatorOutputFunction",1,["mavlink::uavionix::ActuatorOutputFunction"]],["impl Send for MavSensorOrientation",1,["mavlink::uavionix::MavSensorOrientation"]],["impl Send for MavOdidClassEu",1,["mavlink::uavionix::MavOdidClassEu"]],["impl Send for MavOdidClassificationType",1,["mavlink::uavionix::MavOdidClassificationType"]],["impl Send for CanFilterOp",1,["mavlink::uavionix::CanFilterOp"]],["impl Send for RcType",1,["mavlink::uavionix::RcType"]],["impl Send for GimbalManagerFlags",1,["mavlink::uavionix::GimbalManagerFlags"]],["impl Send for CameraCapFlags",1,["mavlink::uavionix::CameraCapFlags"]],["impl Send for MavSysStatusSensor",1,["mavlink::uavionix::MavSysStatusSensor"]],["impl Send for MavMissionType",1,["mavlink::uavionix::MavMissionType"]],["impl Send for MavOdidOperatorLocationType",1,["mavlink::uavionix::MavOdidOperatorLocationType"]],["impl Send for VideoStreamStatusFlags",1,["mavlink::uavionix::VideoStreamStatusFlags"]],["impl Send for MavCmdAck",1,["mavlink::uavionix::MavCmdAck"]],["impl Send for StorageType",1,["mavlink::uavionix::StorageType"]],["impl Send for UavionixAdsbOutDynamicState",1,["mavlink::uavionix::UavionixAdsbOutDynamicState"]],["impl Send for CellularStatusFlag",1,["mavlink::uavionix::CellularStatusFlag"]],["impl Send for RtkBaselineCoordinateSystem",1,["mavlink::uavionix::RtkBaselineCoordinateSystem"]],["impl Send for MavParamExtType",1,["mavlink::uavionix::MavParamExtType"]],["impl Send for FailureUnit",1,["mavlink::uavionix::FailureUnit"]],["impl Send for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Send for MavLandedState",1,["mavlink::uavionix::MavLandedState"]],["impl Send for MavModeFlag",1,["mavlink::uavionix::MavModeFlag"]],["impl Send for WinchActions",1,["mavlink::uavionix::WinchActions"]],["impl Send for UavcanNodeHealth",1,["mavlink::uavionix::UavcanNodeHealth"]],["impl Send for AisType",1,["mavlink::uavionix::AisType"]],["impl Send for MavParamType",1,["mavlink::uavionix::MavParamType"]],["impl Send for MavOdidUaType",1,["mavlink::uavionix::MavOdidUaType"]],["impl Send for MavComponent",1,["mavlink::uavionix::MavComponent"]],["impl Send for GripperActions",1,["mavlink::uavionix::GripperActions"]],["impl Send for NavVtolLandOptions",1,["mavlink::uavionix::NavVtolLandOptions"]],["impl Send for MavFtpOpcode",1,["mavlink::uavionix::MavFtpOpcode"]],["impl Send for MavProtocolCapability",1,["mavlink::uavionix::MavProtocolCapability"]],["impl Send for WifiConfigApResponse",1,["mavlink::uavionix::WifiConfigApResponse"]],["impl Send for MavDataStream",1,["mavlink::uavionix::MavDataStream"]],["impl Send for MavBatteryChargeState",1,["mavlink::uavionix::MavBatteryChargeState"]],["impl Send for WifiConfigApMode",1,["mavlink::uavionix::WifiConfigApMode"]],["impl Send for AdsbAltitudeType",1,["mavlink::uavionix::AdsbAltitudeType"]],["impl Send for GimbalManagerCapFlags",1,["mavlink::uavionix::GimbalManagerCapFlags"]],["impl Send for MavCollisionSrc",1,["mavlink::uavionix::MavCollisionSrc"]],["impl Send for CameraTrackingStatusFlags",1,["mavlink::uavionix::CameraTrackingStatusFlags"]],["impl Send for MavDoRepositionFlags",1,["mavlink::uavionix::MavDoRepositionFlags"]],["impl Send for CellularNetworkFailedReason",1,["mavlink::uavionix::CellularNetworkFailedReason"]],["impl Send for MavOdidTimeAcc",1,["mavlink::uavionix::MavOdidTimeAcc"]],["impl Send for MavOdidSpeedAcc",1,["mavlink::uavionix::MavOdidSpeedAcc"]],["impl Send for MavOdidStatus",1,["mavlink::uavionix::MavOdidStatus"]],["impl Send for MagCalStatus",1,["mavlink::uavionix::MagCalStatus"]],["impl Send for MavType",1,["mavlink::uavionix::MavType"]],["impl Send for FenceBreach",1,["mavlink::uavionix::FenceBreach"]],["impl Send for AisNavStatus",1,["mavlink::uavionix::AisNavStatus"]],["impl Send for MavBatteryFault",1,["mavlink::uavionix::MavBatteryFault"]],["impl Send for MavOdidArmStatus",1,["mavlink::uavionix::MavOdidArmStatus"]],["impl Send for GimbalDeviceCapFlags",1,["mavlink::uavionix::GimbalDeviceCapFlags"]],["impl Send for PreflightStorageMissionAction",1,["mavlink::uavionix::PreflightStorageMissionAction"]],["impl Send for HighresImuUpdatedFlags",1,["mavlink::uavionix::HighresImuUpdatedFlags"]],["impl Send for CameraMode",1,["mavlink::uavionix::CameraMode"]],["impl Send for SerialControlFlag",1,["mavlink::uavionix::SerialControlFlag"]],["impl Send for AdsbEmitterType",1,["mavlink::uavionix::AdsbEmitterType"]],["impl Send for PrecisionLandMode",1,["mavlink::uavionix::PrecisionLandMode"]],["impl Send for CameraTrackingTargetData",1,["mavlink::uavionix::CameraTrackingTargetData"]],["impl Send for StorageStatus",1,["mavlink::uavionix::StorageStatus"]],["impl Send for MavState",1,["mavlink::uavionix::MavState"]],["impl Send for MavArmAuthDeniedReason",1,["mavlink::uavionix::MavArmAuthDeniedReason"]],["impl Send for EstimatorStatusFlags",1,["mavlink::uavionix::EstimatorStatusFlags"]],["impl Send for OrbitYawBehaviour",1,["mavlink::uavionix::OrbitYawBehaviour"]],["impl Send for MavSysStatusSensorExtended",1,["mavlink::uavionix::MavSysStatusSensorExtended"]],["impl Send for MavSeverity",1,["mavlink::uavionix::MavSeverity"]],["impl Send for MavCmd",1,["mavlink::uavionix::MavCmd"]],["impl Send for MavMountMode",1,["mavlink::uavionix::MavMountMode"]],["impl Send for MavOdidOperatorIdType",1,["mavlink::uavionix::MavOdidOperatorIdType"]],["impl Send for MavOdidIdType",1,["mavlink::uavionix::MavOdidIdType"]],["impl Send for ActuatorConfiguration",1,["mavlink::uavionix::ActuatorConfiguration"]],["impl Send for MavEventErrorReason",1,["mavlink::uavionix::MavEventErrorReason"]],["impl Send for StorageUsageFlag",1,["mavlink::uavionix::StorageUsageFlag"]],["impl Send for MavPowerStatus",1,["mavlink::uavionix::MavPowerStatus"]],["impl Send for CompMetadataType",1,["mavlink::uavionix::CompMetadataType"]],["impl Send for MavCollisionThreatLevel",1,["mavlink::uavionix::MavCollisionThreatLevel"]],["impl Send for MavOdidAuthType",1,["mavlink::uavionix::MavOdidAuthType"]],["impl Send for MavOdidDescType",1,["mavlink::uavionix::MavOdidDescType"]],["impl Send for ParachuteAction",1,["mavlink::uavionix::ParachuteAction"]],["impl Send for AttitudeTargetTypemask",1,["mavlink::uavionix::AttitudeTargetTypemask"]],["impl Send for FenceMitigate",1,["mavlink::uavionix::FenceMitigate"]],["impl Send for UavionixAdsbOutRfSelect",1,["mavlink::uavionix::UavionixAdsbOutRfSelect"]],["impl Send for MavFrame",1,["mavlink::uavionix::MavFrame"]],["impl Send for MotorTestOrder",1,["mavlink::uavionix::MotorTestOrder"]],["impl Send for MavResult",1,["mavlink::uavionix::MavResult"]],["impl Send for MavGoto",1,["mavlink::uavionix::MavGoto"]],["impl Send for TuneFormat",1,["mavlink::uavionix::TuneFormat"]],["impl Send for MavlinkDataStreamType",1,["mavlink::uavionix::MavlinkDataStreamType"]],["impl Send for FenceAction",1,["mavlink::uavionix::FenceAction"]],["impl Send for MavEventCurrentSequenceFlags",1,["mavlink::uavionix::MavEventCurrentSequenceFlags"]],["impl Send for MavWinchStatusFlag",1,["mavlink::uavionix::MavWinchStatusFlag"]],["impl Send for GpsInputIgnoreFlags",1,["mavlink::uavionix::GpsInputIgnoreFlags"]],["impl Send for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Send for MavGeneratorStatusFlag",1,["mavlink::uavionix::MavGeneratorStatusFlag"]],["impl Send for UavionixAdsbOutDynamicGpsFix",1,["mavlink::uavionix::UavionixAdsbOutDynamicGpsFix"]],["impl Send for EscConnectionType",1,["mavlink::uavionix::EscConnectionType"]],["impl Send for MavDistanceSensor",1,["mavlink::uavionix::MavDistanceSensor"]],["impl Send for MavModeFlagDecodePosition",1,["mavlink::uavionix::MavModeFlagDecodePosition"]],["impl Send for GimbalDeviceFlags",1,["mavlink::uavionix::GimbalDeviceFlags"]],["impl Send for MotorTestThrottleType",1,["mavlink::uavionix::MotorTestThrottleType"]],["impl Send for UavionixAdsbOutCfgAircraftSize",1,["mavlink::uavionix::UavionixAdsbOutCfgAircraftSize"]],["impl Send for MavOdidVerAcc",1,["mavlink::uavionix::MavOdidVerAcc"]],["impl Send for MavBatteryType",1,["mavlink::uavionix::MavBatteryType"]],["impl Send for MavBatteryFunction",1,["mavlink::uavionix::MavBatteryFunction"]],["impl Send for GpsFixType",1,["mavlink::uavionix::GpsFixType"]],["impl Send for MavTunnelPayloadType",1,["mavlink::uavionix::MavTunnelPayloadType"]],["impl Send for HilSensorUpdatedFlags",1,["mavlink::uavionix::HilSensorUpdatedFlags"]],["impl Send for UavionixAdsbRfHealth",1,["mavlink::uavionix::UavionixAdsbRfHealth"]],["impl Send for MavVtolState",1,["mavlink::uavionix::MavVtolState"]],["impl Send for FirmwareVersionType",1,["mavlink::uavionix::FirmwareVersionType"]],["impl Send for MISSION_SET_CURRENT_DATA",1,["mavlink::uavionix::MISSION_SET_CURRENT_DATA"]],["impl Send for AUTH_KEY_DATA",1,["mavlink::uavionix::AUTH_KEY_DATA"]],["impl Send for ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::ATTITUDE_TARGET_DATA"]],["impl Send for SETUP_SIGNING_DATA",1,["mavlink::uavionix::SETUP_SIGNING_DATA"]],["impl Send for CELLULAR_CONFIG_DATA",1,["mavlink::uavionix::CELLULAR_CONFIG_DATA"]],["impl Send for UTM_GLOBAL_POSITION_DATA",1,["mavlink::uavionix::UTM_GLOBAL_POSITION_DATA"]],["impl Send for VFR_HUD_DATA",1,["mavlink::uavionix::VFR_HUD_DATA"]],["impl Send for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Send for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Send for ODOMETRY_DATA",1,["mavlink::uavionix::ODOMETRY_DATA"]],["impl Send for SERIAL_CONTROL_DATA",1,["mavlink::uavionix::SERIAL_CONTROL_DATA"]],["impl Send for RC_CHANNELS_SCALED_DATA",1,["mavlink::uavionix::RC_CHANNELS_SCALED_DATA"]],["impl Send for COMPONENT_INFORMATION_DATA",1,["mavlink::uavionix::COMPONENT_INFORMATION_DATA"]],["impl Send for PARAM_EXT_VALUE_DATA",1,["mavlink::uavionix::PARAM_EXT_VALUE_DATA"]],["impl Send for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Send for UAVCAN_NODE_INFO_DATA",1,["mavlink::uavionix::UAVCAN_NODE_INFO_DATA"]],["impl Send for CAMERA_SETTINGS_DATA",1,["mavlink::uavionix::CAMERA_SETTINGS_DATA"]],["impl Send for RADIO_STATUS_DATA",1,["mavlink::uavionix::RADIO_STATUS_DATA"]],["impl Send for GPS_RAW_INT_DATA",1,["mavlink::uavionix::GPS_RAW_INT_DATA"]],["impl Send for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::uavionix::CONTROL_SYSTEM_STATE_DATA"]],["impl Send for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Send for TUNNEL_DATA",1,["mavlink::uavionix::TUNNEL_DATA"]],["impl Send for LOG_REQUEST_LIST_DATA",1,["mavlink::uavionix::LOG_REQUEST_LIST_DATA"]],["impl Send for REQUEST_DATA_STREAM_DATA",1,["mavlink::uavionix::REQUEST_DATA_STREAM_DATA"]],["impl Send for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Send for CANFD_FRAME_DATA",1,["mavlink::uavionix::CANFD_FRAME_DATA"]],["impl Send for HIL_CONTROLS_DATA",1,["mavlink::uavionix::HIL_CONTROLS_DATA"]],["impl Send for POWER_STATUS_DATA",1,["mavlink::uavionix::POWER_STATUS_DATA"]],["impl Send for HIL_STATE_DATA",1,["mavlink::uavionix::HIL_STATE_DATA"]],["impl Send for LOGGING_DATA_DATA",1,["mavlink::uavionix::LOGGING_DATA_DATA"]],["impl Send for SMART_BATTERY_INFO_DATA",1,["mavlink::uavionix::SMART_BATTERY_INFO_DATA"]],["impl Send for RAW_PRESSURE_DATA",1,["mavlink::uavionix::RAW_PRESSURE_DATA"]],["impl Send for PARAM_EXT_SET_DATA",1,["mavlink::uavionix::PARAM_EXT_SET_DATA"]],["impl Send for VIBRATION_DATA",1,["mavlink::uavionix::VIBRATION_DATA"]],["impl Send for LOGGING_ACK_DATA",1,["mavlink::uavionix::LOGGING_ACK_DATA"]],["impl Send for SCALED_PRESSURE2_DATA",1,["mavlink::uavionix::SCALED_PRESSURE2_DATA"]],["impl Send for AUTOPILOT_VERSION_DATA",1,["mavlink::uavionix::AUTOPILOT_VERSION_DATA"]],["impl Send for NAMED_VALUE_FLOAT_DATA",1,["mavlink::uavionix::NAMED_VALUE_FLOAT_DATA"]],["impl Send for GPS_RTK_DATA",1,["mavlink::uavionix::GPS_RTK_DATA"]],["impl Send for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Send for COMMAND_CANCEL_DATA",1,["mavlink::uavionix::COMMAND_CANCEL_DATA"]],["impl Send for CAMERA_FOV_STATUS_DATA",1,["mavlink::uavionix::CAMERA_FOV_STATUS_DATA"]],["impl Send for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Send for LOG_ERASE_DATA",1,["mavlink::uavionix::LOG_ERASE_DATA"]],["impl Send for LOG_REQUEST_DATA_DATA",1,["mavlink::uavionix::LOG_REQUEST_DATA_DATA"]],["impl Send for LINK_NODE_STATUS_DATA",1,["mavlink::uavionix::LINK_NODE_STATUS_DATA"]],["impl Send for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Send for STORAGE_INFORMATION_DATA",1,["mavlink::uavionix::STORAGE_INFORMATION_DATA"]],["impl Send for LOGGING_DATA_ACKED_DATA",1,["mavlink::uavionix::LOGGING_DATA_ACKED_DATA"]],["impl Send for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::uavionix::DEBUG_FLOAT_ARRAY_DATA"]],["impl Send for SCALED_IMU2_DATA",1,["mavlink::uavionix::SCALED_IMU2_DATA"]],["impl Send for COLLISION_DATA",1,["mavlink::uavionix::COLLISION_DATA"]],["impl Send for MISSION_REQUEST_INT_DATA",1,["mavlink::uavionix::MISSION_REQUEST_INT_DATA"]],["impl Send for SERVO_OUTPUT_RAW_DATA",1,["mavlink::uavionix::SERVO_OUTPUT_RAW_DATA"]],["impl Send for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Send for TERRAIN_DATA_DATA",1,["mavlink::uavionix::TERRAIN_DATA_DATA"]],["impl Send for RC_CHANNELS_DATA",1,["mavlink::uavionix::RC_CHANNELS_DATA"]],["impl Send for HIL_SENSOR_DATA",1,["mavlink::uavionix::HIL_SENSOR_DATA"]],["impl Send for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Send for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Send for STATUSTEXT_DATA",1,["mavlink::uavionix::STATUSTEXT_DATA"]],["impl Send for RC_CHANNELS_RAW_DATA",1,["mavlink::uavionix::RC_CHANNELS_RAW_DATA"]],["impl Send for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_COV_DATA"]],["impl Send for MESSAGE_INTERVAL_DATA",1,["mavlink::uavionix::MESSAGE_INTERVAL_DATA"]],["impl Send for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_ALLOWED_AREA_DATA"]],["impl Send for EXTENDED_SYS_STATE_DATA",1,["mavlink::uavionix::EXTENDED_SYS_STATE_DATA"]],["impl Send for GPS_INJECT_DATA_DATA",1,["mavlink::uavionix::GPS_INJECT_DATA_DATA"]],["impl Send for HOME_POSITION_DATA",1,["mavlink::uavionix::HOME_POSITION_DATA"]],["impl Send for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_READ_DATA"]],["impl Send for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Send for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Send for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Send for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Send for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::uavionix::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Send for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::uavionix::RC_CHANNELS_OVERRIDE_DATA"]],["impl Send for SET_HOME_POSITION_DATA",1,["mavlink::uavionix::SET_HOME_POSITION_DATA"]],["impl Send for HIL_OPTICAL_FLOW_DATA",1,["mavlink::uavionix::HIL_OPTICAL_FLOW_DATA"]],["impl Send for V2_EXTENSION_DATA",1,["mavlink::uavionix::V2_EXTENSION_DATA"]],["impl Send for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::uavionix::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Send for PARAM_MAP_RC_DATA",1,["mavlink::uavionix::PARAM_MAP_RC_DATA"]],["impl Send for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::uavionix::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Send for BUTTON_CHANGE_DATA",1,["mavlink::uavionix::BUTTON_CHANGE_DATA"]],["impl Send for PARAM_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_REQUEST_LIST_DATA"]],["impl Send for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Send for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Send for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Send for BATTERY_STATUS_DATA",1,["mavlink::uavionix::BATTERY_STATUS_DATA"]],["impl Send for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Send for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Send for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Send for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Send for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::uavionix::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Send for HIGHRES_IMU_DATA",1,["mavlink::uavionix::HIGHRES_IMU_DATA"]],["impl Send for PARAM_EXT_ACK_DATA",1,["mavlink::uavionix::PARAM_EXT_ACK_DATA"]],["impl Send for TERRAIN_CHECK_DATA",1,["mavlink::uavionix::TERRAIN_CHECK_DATA"]],["impl Send for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::uavionix::HIL_RC_INPUTS_RAW_DATA"]],["impl Send for MISSION_ITEM_INT_DATA",1,["mavlink::uavionix::MISSION_ITEM_INT_DATA"]],["impl Send for ATT_POS_MOCAP_DATA",1,["mavlink::uavionix::ATT_POS_MOCAP_DATA"]],["impl Send for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Send for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::uavionix::RESPONSE_EVENT_ERROR_DATA"]],["impl Send for ATTITUDE_DATA",1,["mavlink::uavionix::ATTITUDE_DATA"]],["impl Send for TERRAIN_REQUEST_DATA",1,["mavlink::uavionix::TERRAIN_REQUEST_DATA"]],["impl Send for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::uavionix::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Send for LOCAL_POSITION_NED_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_DATA"]],["impl Send for TERRAIN_REPORT_DATA",1,["mavlink::uavionix::TERRAIN_REPORT_DATA"]],["impl Send for REQUEST_EVENT_DATA",1,["mavlink::uavionix::REQUEST_EVENT_DATA"]],["impl Send for ALTITUDE_DATA",1,["mavlink::uavionix::ALTITUDE_DATA"]],["impl Send for WIND_COV_DATA",1,["mavlink::uavionix::WIND_COV_DATA"]],["impl Send for GPS2_RAW_DATA",1,["mavlink::uavionix::GPS2_RAW_DATA"]],["impl Send for SYS_STATUS_DATA",1,["mavlink::uavionix::SYS_STATUS_DATA"]],["impl Send for SCALED_PRESSURE_DATA",1,["mavlink::uavionix::SCALED_PRESSURE_DATA"]],["impl Send for SET_ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::SET_ATTITUDE_TARGET_DATA"]],["impl Send for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_COV_DATA"]],["impl Send for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::uavionix::ORBIT_EXECUTION_STATUS_DATA"]],["impl Send for PARAM_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_REQUEST_READ_DATA"]],["impl Send for MEMORY_VECT_DATA",1,["mavlink::uavionix::MEMORY_VECT_DATA"]],["impl Send for SCALED_IMU_DATA",1,["mavlink::uavionix::SCALED_IMU_DATA"]],["impl Send for VIDEO_STREAM_STATUS_DATA",1,["mavlink::uavionix::VIDEO_STREAM_STATUS_DATA"]],["impl Send for GPS_STATUS_DATA",1,["mavlink::uavionix::GPS_STATUS_DATA"]],["impl Send for PING_DATA",1,["mavlink::uavionix::PING_DATA"]],["impl Send for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::uavionix::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Send for SCALED_PRESSURE3_DATA",1,["mavlink::uavionix::SCALED_PRESSURE3_DATA"]],["impl Send for WIFI_CONFIG_AP_DATA",1,["mavlink::uavionix::WIFI_CONFIG_AP_DATA"]],["impl Send for RAW_RPM_DATA",1,["mavlink::uavionix::RAW_RPM_DATA"]],["impl Send for MISSION_ITEM_REACHED_DATA",1,["mavlink::uavionix::MISSION_ITEM_REACHED_DATA"]],["impl Send for TIMESYNC_DATA",1,["mavlink::uavionix::TIMESYNC_DATA"]],["impl Send for MOUNT_ORIENTATION_DATA",1,["mavlink::uavionix::MOUNT_ORIENTATION_DATA"]],["impl Send for DATA_STREAM_DATA",1,["mavlink::uavionix::DATA_STREAM_DATA"]],["impl Send for ISBD_LINK_STATUS_DATA",1,["mavlink::uavionix::ISBD_LINK_STATUS_DATA"]],["impl Send for GPS2_RTK_DATA",1,["mavlink::uavionix::GPS2_RTK_DATA"]],["impl Send for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Send for HIL_GPS_DATA",1,["mavlink::uavionix::HIL_GPS_DATA"]],["impl Send for MISSION_CURRENT_DATA",1,["mavlink::uavionix::MISSION_CURRENT_DATA"]],["impl Send for PARAM_VALUE_DATA",1,["mavlink::uavionix::PARAM_VALUE_DATA"]],["impl Send for FENCE_STATUS_DATA",1,["mavlink::uavionix::FENCE_STATUS_DATA"]],["impl Send for HIL_STATE_QUATERNION_DATA",1,["mavlink::uavionix::HIL_STATE_QUATERNION_DATA"]],["impl Send for OBSTACLE_DISTANCE_DATA",1,["mavlink::uavionix::OBSTACLE_DISTANCE_DATA"]],["impl Send for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_CAPTURE_STATUS_DATA"]],["impl Send for DISTANCE_SENSOR_DATA",1,["mavlink::uavionix::DISTANCE_SENSOR_DATA"]],["impl Send for NAMED_VALUE_INT_DATA",1,["mavlink::uavionix::NAMED_VALUE_INT_DATA"]],["impl Send for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::uavionix::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Send for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Send for MISSION_REQUEST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_DATA"]],["impl Send for MISSION_REQUEST_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_LIST_DATA"]],["impl Send for LOG_DATA_DATA",1,["mavlink::uavionix::LOG_DATA_DATA"]],["impl Send for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Send for PROTOCOL_VERSION_DATA",1,["mavlink::uavionix::PROTOCOL_VERSION_DATA"]],["impl Send for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Send for LANDING_TARGET_DATA",1,["mavlink::uavionix::LANDING_TARGET_DATA"]],["impl Send for ESC_STATUS_DATA",1,["mavlink::uavionix::ESC_STATUS_DATA"]],["impl Send for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Send for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::GPS_GLOBAL_ORIGIN_DATA"]],["impl Send for PLAY_TUNE_V2_DATA",1,["mavlink::uavionix::PLAY_TUNE_V2_DATA"]],["impl Send for DEBUG_VECT_DATA",1,["mavlink::uavionix::DEBUG_VECT_DATA"]],["impl Send for LOG_REQUEST_END_DATA",1,["mavlink::uavionix::LOG_REQUEST_END_DATA"]],["impl Send for RESOURCE_REQUEST_DATA",1,["mavlink::uavionix::RESOURCE_REQUEST_DATA"]],["impl Send for ATTITUDE_QUATERNION_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_DATA"]],["impl Send for HYGROMETER_SENSOR_DATA",1,["mavlink::uavionix::HYGROMETER_SENSOR_DATA"]],["impl Send for ENCAPSULATED_DATA_DATA",1,["mavlink::uavionix::ENCAPSULATED_DATA_DATA"]],["impl Send for CAMERA_INFORMATION_DATA",1,["mavlink::uavionix::CAMERA_INFORMATION_DATA"]],["impl Send for ESC_INFO_DATA",1,["mavlink::uavionix::ESC_INFO_DATA"]],["impl Send for FLIGHT_INFORMATION_DATA",1,["mavlink::uavionix::FLIGHT_INFORMATION_DATA"]],["impl Send for HIGH_LATENCY2_DATA",1,["mavlink::uavionix::HIGH_LATENCY2_DATA"]],["impl Send for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_COV_DATA"]],["impl Send for SET_MODE_DATA",1,["mavlink::uavionix::SET_MODE_DATA"]],["impl Send for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Send for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Send for PARAM_SET_DATA",1,["mavlink::uavionix::PARAM_SET_DATA"]],["impl Send for SUPPORTED_TUNES_DATA",1,["mavlink::uavionix::SUPPORTED_TUNES_DATA"]],["impl Send for CAN_FILTER_MODIFY_DATA",1,["mavlink::uavionix::CAN_FILTER_MODIFY_DATA"]],["impl Send for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_POSITION_ESTIMATE_DATA"]],["impl Send for PLAY_TUNE_DATA",1,["mavlink::uavionix::PLAY_TUNE_DATA"]],["impl Send for HEARTBEAT_DATA",1,["mavlink::uavionix::HEARTBEAT_DATA"]],["impl Send for SIM_STATE_DATA",1,["mavlink::uavionix::SIM_STATE_DATA"]],["impl Send for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::uavionix::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Send for AIS_VESSEL_DATA",1,["mavlink::uavionix::AIS_VESSEL_DATA"]],["impl Send for CAMERA_TRIGGER_DATA",1,["mavlink::uavionix::CAMERA_TRIGGER_DATA"]],["impl Send for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Send for LOG_ENTRY_DATA",1,["mavlink::uavionix::LOG_ENTRY_DATA"]],["impl Send for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Send for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_STATUS_DATA"]],["impl Send for MANUAL_SETPOINT_DATA",1,["mavlink::uavionix::MANUAL_SETPOINT_DATA"]],["impl Send for GPS_RTCM_DATA_DATA",1,["mavlink::uavionix::GPS_RTCM_DATA_DATA"]],["impl Send for RAW_IMU_DATA",1,["mavlink::uavionix::RAW_IMU_DATA"]],["impl Send for COMMAND_INT_DATA",1,["mavlink::uavionix::COMMAND_INT_DATA"]],["impl Send for DEBUG_DATA",1,["mavlink::uavionix::DEBUG_DATA"]],["impl Send for MISSION_COUNT_DATA",1,["mavlink::uavionix::MISSION_COUNT_DATA"]],["impl Send for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_SPEED_ESTIMATE_DATA"]],["impl Send for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Send for GPS_INPUT_DATA",1,["mavlink::uavionix::GPS_INPUT_DATA"]],["impl Send for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Send for UAVCAN_NODE_STATUS_DATA",1,["mavlink::uavionix::UAVCAN_NODE_STATUS_DATA"]],["impl Send for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Send for COMMAND_ACK_DATA",1,["mavlink::uavionix::COMMAND_ACK_DATA"]],["impl Send for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Send for CELLULAR_STATUS_DATA",1,["mavlink::uavionix::CELLULAR_STATUS_DATA"]],["impl Send for SYSTEM_TIME_DATA",1,["mavlink::uavionix::SYSTEM_TIME_DATA"]],["impl Send for EFI_STATUS_DATA",1,["mavlink::uavionix::EFI_STATUS_DATA"]],["impl Send for COMMAND_LONG_DATA",1,["mavlink::uavionix::COMMAND_LONG_DATA"]],["impl Send for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Send for MAG_CAL_REPORT_DATA",1,["mavlink::uavionix::MAG_CAL_REPORT_DATA"]],["impl Send for WHEEL_DISTANCE_DATA",1,["mavlink::uavionix::WHEEL_DISTANCE_DATA"]],["impl Send for OPTICAL_FLOW_RAD_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_RAD_DATA"]],["impl Send for SCALED_IMU3_DATA",1,["mavlink::uavionix::SCALED_IMU3_DATA"]],["impl Send for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Send for GENERATOR_STATUS_DATA",1,["mavlink::uavionix::GENERATOR_STATUS_DATA"]],["impl Send for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VICON_POSITION_ESTIMATE_DATA"]],["impl Send for MISSION_ITEM_DATA",1,["mavlink::uavionix::MISSION_ITEM_DATA"]],["impl Send for MANUAL_CONTROL_DATA",1,["mavlink::uavionix::MANUAL_CONTROL_DATA"]],["impl Send for ESTIMATOR_STATUS_DATA",1,["mavlink::uavionix::ESTIMATOR_STATUS_DATA"]],["impl Send for ADSB_VEHICLE_DATA",1,["mavlink::uavionix::ADSB_VEHICLE_DATA"]],["impl Send for GLOBAL_POSITION_INT_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_DATA"]],["impl Send for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::uavionix::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Send for MISSION_CLEAR_ALL_DATA",1,["mavlink::uavionix::MISSION_CLEAR_ALL_DATA"]],["impl Send for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::uavionix::VIDEO_STREAM_INFORMATION_DATA"]],["impl Send for CAN_FRAME_DATA",1,["mavlink::uavionix::CAN_FRAME_DATA"]],["impl Send for EVENT_DATA",1,["mavlink::uavionix::EVENT_DATA"]],["impl Send for COMPONENT_METADATA_DATA",1,["mavlink::uavionix::COMPONENT_METADATA_DATA"]],["impl Send for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::uavionix::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Send for MISSION_ACK_DATA",1,["mavlink::uavionix::MISSION_ACK_DATA"]],["impl Send for OPTICAL_FLOW_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_DATA"]],["impl Send for WINCH_STATUS_DATA",1,["mavlink::uavionix::WINCH_STATUS_DATA"]],["impl Send for HIGH_LATENCY_DATA",1,["mavlink::uavionix::HIGH_LATENCY_DATA"]],["impl Send for FOLLOW_TARGET_DATA",1,["mavlink::uavionix::FOLLOW_TARGET_DATA"]],["impl Send for MavMessage",1,["mavlink::uavionix::MavMessage"]],["impl Send for MavOdidClassificationType",1,["mavlink::common::MavOdidClassificationType"]],["impl Send for NavVtolLandOptions",1,["mavlink::common::NavVtolLandOptions"]],["impl Send for MotorTestThrottleType",1,["mavlink::common::MotorTestThrottleType"]],["impl Send for ParachuteAction",1,["mavlink::common::ParachuteAction"]],["impl Send for HlFailureFlag",1,["mavlink::common::HlFailureFlag"]],["impl Send for MavSysStatusSensor",1,["mavlink::common::MavSysStatusSensor"]],["impl Send for MavLandedState",1,["mavlink::common::MavLandedState"]],["impl Send for FailureType",1,["mavlink::common::FailureType"]],["impl Send for MavOdidAuthType",1,["mavlink::common::MavOdidAuthType"]],["impl Send for RcType",1,["mavlink::common::RcType"]],["impl Send for MavModeFlag",1,["mavlink::common::MavModeFlag"]],["impl Send for EscFailureFlags",1,["mavlink::common::EscFailureFlags"]],["impl Send for MavAutopilot",1,["mavlink::common::MavAutopilot"]],["impl Send for WifiConfigApResponse",1,["mavlink::common::WifiConfigApResponse"]],["impl Send for CameraTrackingStatusFlags",1,["mavlink::common::CameraTrackingStatusFlags"]],["impl Send for FailureUnit",1,["mavlink::common::FailureUnit"]],["impl Send for MavCmd",1,["mavlink::common::MavCmd"]],["impl Send for UtmDataAvailFlags",1,["mavlink::common::UtmDataAvailFlags"]],["impl Send for MavBatteryMode",1,["mavlink::common::MavBatteryMode"]],["impl Send for StorageUsageFlag",1,["mavlink::common::StorageUsageFlag"]],["impl Send for MavDoRepositionFlags",1,["mavlink::common::MavDoRepositionFlags"]],["impl Send for MavSeverity",1,["mavlink::common::MavSeverity"]],["impl Send for MavOdidArmStatus",1,["mavlink::common::MavOdidArmStatus"]],["impl Send for MavDataStream",1,["mavlink::common::MavDataStream"]],["impl Send for MavFtpErr",1,["mavlink::common::MavFtpErr"]],["impl Send for WinchActions",1,["mavlink::common::WinchActions"]],["impl Send for CameraTrackingTargetData",1,["mavlink::common::CameraTrackingTargetData"]],["impl Send for MavFrame",1,["mavlink::common::MavFrame"]],["impl Send for MavMissionType",1,["mavlink::common::MavMissionType"]],["impl Send for MavOdidOperatorIdType",1,["mavlink::common::MavOdidOperatorIdType"]],["impl Send for AdsbFlags",1,["mavlink::common::AdsbFlags"]],["impl Send for AdsbEmitterType",1,["mavlink::common::AdsbEmitterType"]],["impl Send for OrbitYawBehaviour",1,["mavlink::common::OrbitYawBehaviour"]],["impl Send for WifiConfigApMode",1,["mavlink::common::WifiConfigApMode"]],["impl Send for PositionTargetTypemask",1,["mavlink::common::PositionTargetTypemask"]],["impl Send for StorageStatus",1,["mavlink::common::StorageStatus"]],["impl Send for AttitudeTargetTypemask",1,["mavlink::common::AttitudeTargetTypemask"]],["impl Send for MavVtolState",1,["mavlink::common::MavVtolState"]],["impl Send for MavProtocolCapability",1,["mavlink::common::MavProtocolCapability"]],["impl Send for GimbalManagerCapFlags",1,["mavlink::common::GimbalManagerCapFlags"]],["impl Send for GimbalManagerFlags",1,["mavlink::common::GimbalManagerFlags"]],["impl Send for StorageType",1,["mavlink::common::StorageType"]],["impl Send for MotorTestOrder",1,["mavlink::common::MotorTestOrder"]],["impl Send for CellularNetworkFailedReason",1,["mavlink::common::CellularNetworkFailedReason"]],["impl Send for MavSysStatusSensorExtended",1,["mavlink::common::MavSysStatusSensorExtended"]],["impl Send for MavState",1,["mavlink::common::MavState"]],["impl Send for ActuatorOutputFunction",1,["mavlink::common::ActuatorOutputFunction"]],["impl Send for MavOdidDescType",1,["mavlink::common::MavOdidDescType"]],["impl Send for MavGeneratorStatusFlag",1,["mavlink::common::MavGeneratorStatusFlag"]],["impl Send for HilSensorUpdatedFlags",1,["mavlink::common::HilSensorUpdatedFlags"]],["impl Send for MavEventCurrentSequenceFlags",1,["mavlink::common::MavEventCurrentSequenceFlags"]],["impl Send for MavComponent",1,["mavlink::common::MavComponent"]],["impl Send for AdsbAltitudeType",1,["mavlink::common::AdsbAltitudeType"]],["impl Send for VideoStreamType",1,["mavlink::common::VideoStreamType"]],["impl Send for AisFlags",1,["mavlink::common::AisFlags"]],["impl Send for MavGoto",1,["mavlink::common::MavGoto"]],["impl Send for SerialControlDev",1,["mavlink::common::SerialControlDev"]],["impl Send for MavWinchStatusFlag",1,["mavlink::common::MavWinchStatusFlag"]],["impl Send for FenceMitigate",1,["mavlink::common::FenceMitigate"]],["impl Send for MavEstimatorType",1,["mavlink::common::MavEstimatorType"]],["impl Send for MavBatteryChargeState",1,["mavlink::common::MavBatteryChargeState"]],["impl Send for GpsFixType",1,["mavlink::common::GpsFixType"]],["impl Send for VideoStreamStatusFlags",1,["mavlink::common::VideoStreamStatusFlags"]],["impl Send for MavCollisionSrc",1,["mavlink::common::MavCollisionSrc"]],["impl Send for GimbalDeviceErrorFlags",1,["mavlink::common::GimbalDeviceErrorFlags"]],["impl Send for MavSensorOrientation",1,["mavlink::common::MavSensorOrientation"]],["impl Send for EstimatorStatusFlags",1,["mavlink::common::EstimatorStatusFlags"]],["impl Send for CameraZoomType",1,["mavlink::common::CameraZoomType"]],["impl Send for MavFtpOpcode",1,["mavlink::common::MavFtpOpcode"]],["impl Send for MavCmdAck",1,["mavlink::common::MavCmdAck"]],["impl Send for UtmFlightState",1,["mavlink::common::UtmFlightState"]],["impl Send for MissionState",1,["mavlink::common::MissionState"]],["impl Send for MavArmAuthDeniedReason",1,["mavlink::common::MavArmAuthDeniedReason"]],["impl Send for MavOdidUaType",1,["mavlink::common::MavOdidUaType"]],["impl Send for MavOdidStatus",1,["mavlink::common::MavOdidStatus"]],["impl Send for FenceAction",1,["mavlink::common::FenceAction"]],["impl Send for MavDistanceSensor",1,["mavlink::common::MavDistanceSensor"]],["impl Send for MavMode",1,["mavlink::common::MavMode"]],["impl Send for MavOdidVerAcc",1,["mavlink::common::MavOdidVerAcc"]],["impl Send for HighresImuUpdatedFlags",1,["mavlink::common::HighresImuUpdatedFlags"]],["impl Send for MagCalStatus",1,["mavlink::common::MagCalStatus"]],["impl Send for MavModeFlagDecodePosition",1,["mavlink::common::MavModeFlagDecodePosition"]],["impl Send for PreflightStorageParameterAction",1,["mavlink::common::PreflightStorageParameterAction"]],["impl Send for EscConnectionType",1,["mavlink::common::EscConnectionType"]],["impl Send for MavParamType",1,["mavlink::common::MavParamType"]],["impl Send for UavcanNodeHealth",1,["mavlink::common::UavcanNodeHealth"]],["impl Send for MavOdidHorAcc",1,["mavlink::common::MavOdidHorAcc"]],["impl Send for AisNavStatus",1,["mavlink::common::AisNavStatus"]],["impl Send for MavOdidClassEu",1,["mavlink::common::MavOdidClassEu"]],["impl Send for GimbalDeviceFlags",1,["mavlink::common::GimbalDeviceFlags"]],["impl Send for VtolTransitionHeading",1,["mavlink::common::VtolTransitionHeading"]],["impl Send for MavTunnelPayloadType",1,["mavlink::common::MavTunnelPayloadType"]],["impl Send for AutotuneAxis",1,["mavlink::common::AutotuneAxis"]],["impl Send for MavOdidTimeAcc",1,["mavlink::common::MavOdidTimeAcc"]],["impl Send for CameraTrackingMode",1,["mavlink::common::CameraTrackingMode"]],["impl Send for CellularConfigResponse",1,["mavlink::common::CellularConfigResponse"]],["impl Send for GpsInputIgnoreFlags",1,["mavlink::common::GpsInputIgnoreFlags"]],["impl Send for PreflightStorageMissionAction",1,["mavlink::common::PreflightStorageMissionAction"]],["impl Send for SetFocusType",1,["mavlink::common::SetFocusType"]],["impl Send for MavOdidIdType",1,["mavlink::common::MavOdidIdType"]],["impl Send for MavPowerStatus",1,["mavlink::common::MavPowerStatus"]],["impl Send for MavOdidOperatorLocationType",1,["mavlink::common::MavOdidOperatorLocationType"]],["impl Send for MavOdidSpeedAcc",1,["mavlink::common::MavOdidSpeedAcc"]],["impl Send for FenceBreach",1,["mavlink::common::FenceBreach"]],["impl Send for AisType",1,["mavlink::common::AisType"]],["impl Send for CellularStatusFlag",1,["mavlink::common::CellularStatusFlag"]],["impl Send for MavBatteryFunction",1,["mavlink::common::MavBatteryFunction"]],["impl Send for SerialControlFlag",1,["mavlink::common::SerialControlFlag"]],["impl Send for CameraMode",1,["mavlink::common::CameraMode"]],["impl Send for GimbalDeviceCapFlags",1,["mavlink::common::GimbalDeviceCapFlags"]],["impl Send for MavParamExtType",1,["mavlink::common::MavParamExtType"]],["impl Send for MavEventErrorReason",1,["mavlink::common::MavEventErrorReason"]],["impl Send for MavBatteryType",1,["mavlink::common::MavBatteryType"]],["impl Send for TuneFormat",1,["mavlink::common::TuneFormat"]],["impl Send for MavlinkDataStreamType",1,["mavlink::common::MavlinkDataStreamType"]],["impl Send for UavcanNodeMode",1,["mavlink::common::UavcanNodeMode"]],["impl Send for MavType",1,["mavlink::common::MavType"]],["impl Send for ParamAck",1,["mavlink::common::ParamAck"]],["impl Send for MavOdidHeightRef",1,["mavlink::common::MavOdidHeightRef"]],["impl Send for MavMountMode",1,["mavlink::common::MavMountMode"]],["impl Send for MavCollisionThreatLevel",1,["mavlink::common::MavCollisionThreatLevel"]],["impl Send for CellularNetworkRadioType",1,["mavlink::common::CellularNetworkRadioType"]],["impl Send for MavBatteryFault",1,["mavlink::common::MavBatteryFault"]],["impl Send for MavCollisionAction",1,["mavlink::common::MavCollisionAction"]],["impl Send for MavMissionResult",1,["mavlink::common::MavMissionResult"]],["impl Send for CanFilterOp",1,["mavlink::common::CanFilterOp"]],["impl Send for MavRoi",1,["mavlink::common::MavRoi"]],["impl Send for MavResult",1,["mavlink::common::MavResult"]],["impl Send for FirmwareVersionType",1,["mavlink::common::FirmwareVersionType"]],["impl Send for GripperActions",1,["mavlink::common::GripperActions"]],["impl Send for RtkBaselineCoordinateSystem",1,["mavlink::common::RtkBaselineCoordinateSystem"]],["impl Send for LandingTargetType",1,["mavlink::common::LandingTargetType"]],["impl Send for ActuatorConfiguration",1,["mavlink::common::ActuatorConfiguration"]],["impl Send for MavOdidCategoryEu",1,["mavlink::common::MavOdidCategoryEu"]],["impl Send for PrecisionLandMode",1,["mavlink::common::PrecisionLandMode"]],["impl Send for CameraCapFlags",1,["mavlink::common::CameraCapFlags"]],["impl Send for CompMetadataType",1,["mavlink::common::CompMetadataType"]],["impl Send for LOCAL_POSITION_NED_DATA",1,["mavlink::common::LOCAL_POSITION_NED_DATA"]],["impl Send for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_ALLOWED_AREA_DATA"]],["impl Send for MISSION_ACK_DATA",1,["mavlink::common::MISSION_ACK_DATA"]],["impl Send for SCALED_PRESSURE2_DATA",1,["mavlink::common::SCALED_PRESSURE2_DATA"]],["impl Send for SIM_STATE_DATA",1,["mavlink::common::SIM_STATE_DATA"]],["impl Send for HIGH_LATENCY2_DATA",1,["mavlink::common::HIGH_LATENCY2_DATA"]],["impl Send for STATUSTEXT_DATA",1,["mavlink::common::STATUSTEXT_DATA"]],["impl Send for ESTIMATOR_STATUS_DATA",1,["mavlink::common::ESTIMATOR_STATUS_DATA"]],["impl Send for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Send for ESC_INFO_DATA",1,["mavlink::common::ESC_INFO_DATA"]],["impl Send for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::common::LOCAL_POSITION_NED_COV_DATA"]],["impl Send for MISSION_ITEM_DATA",1,["mavlink::common::MISSION_ITEM_DATA"]],["impl Send for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Send for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_READ_DATA"]],["impl Send for MISSION_CLEAR_ALL_DATA",1,["mavlink::common::MISSION_CLEAR_ALL_DATA"]],["impl Send for TERRAIN_CHECK_DATA",1,["mavlink::common::TERRAIN_CHECK_DATA"]],["impl Send for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Send for PARAM_EXT_SET_DATA",1,["mavlink::common::PARAM_EXT_SET_DATA"]],["impl Send for CAN_FRAME_DATA",1,["mavlink::common::CAN_FRAME_DATA"]],["impl Send for COMPONENT_INFORMATION_DATA",1,["mavlink::common::COMPONENT_INFORMATION_DATA"]],["impl Send for GPS_INJECT_DATA_DATA",1,["mavlink::common::GPS_INJECT_DATA_DATA"]],["impl Send for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::common::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Send for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::common::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Send for FOLLOW_TARGET_DATA",1,["mavlink::common::FOLLOW_TARGET_DATA"]],["impl Send for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::common::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Send for HIL_GPS_DATA",1,["mavlink::common::HIL_GPS_DATA"]],["impl Send for CAN_FILTER_MODIFY_DATA",1,["mavlink::common::CAN_FILTER_MODIFY_DATA"]],["impl Send for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Send for LOG_DATA_DATA",1,["mavlink::common::LOG_DATA_DATA"]],["impl Send for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::common::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Send for HIGH_LATENCY_DATA",1,["mavlink::common::HIGH_LATENCY_DATA"]],["impl Send for PLAY_TUNE_DATA",1,["mavlink::common::PLAY_TUNE_DATA"]],["impl Send for RC_CHANNELS_SCALED_DATA",1,["mavlink::common::RC_CHANNELS_SCALED_DATA"]],["impl Send for RAW_IMU_DATA",1,["mavlink::common::RAW_IMU_DATA"]],["impl Send for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Send for MOUNT_ORIENTATION_DATA",1,["mavlink::common::MOUNT_ORIENTATION_DATA"]],["impl Send for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Send for EVENT_DATA",1,["mavlink::common::EVENT_DATA"]],["impl Send for EFI_STATUS_DATA",1,["mavlink::common::EFI_STATUS_DATA"]],["impl Send for REQUEST_EVENT_DATA",1,["mavlink::common::REQUEST_EVENT_DATA"]],["impl Send for HYGROMETER_SENSOR_DATA",1,["mavlink::common::HYGROMETER_SENSOR_DATA"]],["impl Send for REQUEST_DATA_STREAM_DATA",1,["mavlink::common::REQUEST_DATA_STREAM_DATA"]],["impl Send for V2_EXTENSION_DATA",1,["mavlink::common::V2_EXTENSION_DATA"]],["impl Send for DEBUG_VECT_DATA",1,["mavlink::common::DEBUG_VECT_DATA"]],["impl Send for LOGGING_ACK_DATA",1,["mavlink::common::LOGGING_ACK_DATA"]],["impl Send for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Send for ISBD_LINK_STATUS_DATA",1,["mavlink::common::ISBD_LINK_STATUS_DATA"]],["impl Send for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::common::CONTROL_SYSTEM_STATE_DATA"]],["impl Send for OBSTACLE_DISTANCE_DATA",1,["mavlink::common::OBSTACLE_DISTANCE_DATA"]],["impl Send for SCALED_IMU2_DATA",1,["mavlink::common::SCALED_IMU2_DATA"]],["impl Send for PARAM_VALUE_DATA",1,["mavlink::common::PARAM_VALUE_DATA"]],["impl Send for SERVO_OUTPUT_RAW_DATA",1,["mavlink::common::SERVO_OUTPUT_RAW_DATA"]],["impl Send for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Send for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Send for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::common::GIMBAL_MANAGER_STATUS_DATA"]],["impl Send for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::common::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Send for PARAM_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_REQUEST_LIST_DATA"]],["impl Send for UAVCAN_NODE_STATUS_DATA",1,["mavlink::common::UAVCAN_NODE_STATUS_DATA"]],["impl Send for PARAM_SET_DATA",1,["mavlink::common::PARAM_SET_DATA"]],["impl Send for SCALED_PRESSURE_DATA",1,["mavlink::common::SCALED_PRESSURE_DATA"]],["impl Send for SYSTEM_TIME_DATA",1,["mavlink::common::SYSTEM_TIME_DATA"]],["impl Send for ENCAPSULATED_DATA_DATA",1,["mavlink::common::ENCAPSULATED_DATA_DATA"]],["impl Send for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Send for SET_HOME_POSITION_DATA",1,["mavlink::common::SET_HOME_POSITION_DATA"]],["impl Send for SYS_STATUS_DATA",1,["mavlink::common::SYS_STATUS_DATA"]],["impl Send for TIMESYNC_DATA",1,["mavlink::common::TIMESYNC_DATA"]],["impl Send for LOG_REQUEST_END_DATA",1,["mavlink::common::LOG_REQUEST_END_DATA"]],["impl Send for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Send for AUTOPILOT_VERSION_DATA",1,["mavlink::common::AUTOPILOT_VERSION_DATA"]],["impl Send for MEMORY_VECT_DATA",1,["mavlink::common::MEMORY_VECT_DATA"]],["impl Send for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::common::VIDEO_STREAM_INFORMATION_DATA"]],["impl Send for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Send for GPS_INPUT_DATA",1,["mavlink::common::GPS_INPUT_DATA"]],["impl Send for COLLISION_DATA",1,["mavlink::common::COLLISION_DATA"]],["impl Send for SCALED_IMU3_DATA",1,["mavlink::common::SCALED_IMU3_DATA"]],["impl Send for CAMERA_INFORMATION_DATA",1,["mavlink::common::CAMERA_INFORMATION_DATA"]],["impl Send for SET_ATTITUDE_TARGET_DATA",1,["mavlink::common::SET_ATTITUDE_TARGET_DATA"]],["impl Send for PARAM_EXT_ACK_DATA",1,["mavlink::common::PARAM_EXT_ACK_DATA"]],["impl Send for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::common::ORBIT_EXECUTION_STATUS_DATA"]],["impl Send for SERIAL_CONTROL_DATA",1,["mavlink::common::SERIAL_CONTROL_DATA"]],["impl Send for LOGGING_DATA_DATA",1,["mavlink::common::LOGGING_DATA_DATA"]],["impl Send for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Send for ALTITUDE_DATA",1,["mavlink::common::ALTITUDE_DATA"]],["impl Send for RC_CHANNELS_DATA",1,["mavlink::common::RC_CHANNELS_DATA"]],["impl Send for RESOURCE_REQUEST_DATA",1,["mavlink::common::RESOURCE_REQUEST_DATA"]],["impl Send for COMPONENT_METADATA_DATA",1,["mavlink::common::COMPONENT_METADATA_DATA"]],["impl Send for SUPPORTED_TUNES_DATA",1,["mavlink::common::SUPPORTED_TUNES_DATA"]],["impl Send for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Send for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Send for BUTTON_CHANGE_DATA",1,["mavlink::common::BUTTON_CHANGE_DATA"]],["impl Send for GLOBAL_POSITION_INT_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_DATA"]],["impl Send for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::common::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Send for ATTITUDE_QUATERNION_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_DATA"]],["impl Send for LANDING_TARGET_DATA",1,["mavlink::common::LANDING_TARGET_DATA"]],["impl Send for LOG_ENTRY_DATA",1,["mavlink::common::LOG_ENTRY_DATA"]],["impl Send for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Send for SET_MODE_DATA",1,["mavlink::common::SET_MODE_DATA"]],["impl Send for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::common::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Send for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::common::VICON_POSITION_ESTIMATE_DATA"]],["impl Send for DEBUG_DATA",1,["mavlink::common::DEBUG_DATA"]],["impl Send for COMMAND_INT_DATA",1,["mavlink::common::COMMAND_INT_DATA"]],["impl Send for LOG_REQUEST_LIST_DATA",1,["mavlink::common::LOG_REQUEST_LIST_DATA"]],["impl Send for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_COV_DATA"]],["impl Send for UTM_GLOBAL_POSITION_DATA",1,["mavlink::common::UTM_GLOBAL_POSITION_DATA"]],["impl Send for MISSION_SET_CURRENT_DATA",1,["mavlink::common::MISSION_SET_CURRENT_DATA"]],["impl Send for AIS_VESSEL_DATA",1,["mavlink::common::AIS_VESSEL_DATA"]],["impl Send for ATT_POS_MOCAP_DATA",1,["mavlink::common::ATT_POS_MOCAP_DATA"]],["impl Send for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::common::HIL_RC_INPUTS_RAW_DATA"]],["impl Send for LOG_REQUEST_DATA_DATA",1,["mavlink::common::LOG_REQUEST_DATA_DATA"]],["impl Send for TUNNEL_DATA",1,["mavlink::common::TUNNEL_DATA"]],["impl Send for NAMED_VALUE_FLOAT_DATA",1,["mavlink::common::NAMED_VALUE_FLOAT_DATA"]],["impl Send for AUTH_KEY_DATA",1,["mavlink::common::AUTH_KEY_DATA"]],["impl Send for TERRAIN_DATA_DATA",1,["mavlink::common::TERRAIN_DATA_DATA"]],["impl Send for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Send for CELLULAR_CONFIG_DATA",1,["mavlink::common::CELLULAR_CONFIG_DATA"]],["impl Send for HEARTBEAT_DATA",1,["mavlink::common::HEARTBEAT_DATA"]],["impl Send for MISSION_COUNT_DATA",1,["mavlink::common::MISSION_COUNT_DATA"]],["impl Send for PING_DATA",1,["mavlink::common::PING_DATA"]],["impl Send for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Send for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_COV_DATA"]],["impl Send for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::common::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Send for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Send for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::common::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Send for PLAY_TUNE_V2_DATA",1,["mavlink::common::PLAY_TUNE_V2_DATA"]],["impl Send for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::VISION_POSITION_ESTIMATE_DATA"]],["impl Send for STORAGE_INFORMATION_DATA",1,["mavlink::common::STORAGE_INFORMATION_DATA"]],["impl Send for SETUP_SIGNING_DATA",1,["mavlink::common::SETUP_SIGNING_DATA"]],["impl Send for LOGGING_DATA_ACKED_DATA",1,["mavlink::common::LOGGING_DATA_ACKED_DATA"]],["impl Send for LOG_ERASE_DATA",1,["mavlink::common::LOG_ERASE_DATA"]],["impl Send for GPS_RAW_INT_DATA",1,["mavlink::common::GPS_RAW_INT_DATA"]],["impl Send for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::common::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Send for MISSION_ITEM_INT_DATA",1,["mavlink::common::MISSION_ITEM_INT_DATA"]],["impl Send for WINCH_STATUS_DATA",1,["mavlink::common::WINCH_STATUS_DATA"]],["impl Send for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::common::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Send for GPS2_RAW_DATA",1,["mavlink::common::GPS2_RAW_DATA"]],["impl Send for GPS_RTK_DATA",1,["mavlink::common::GPS_RTK_DATA"]],["impl Send for VIBRATION_DATA",1,["mavlink::common::VIBRATION_DATA"]],["impl Send for HIL_STATE_DATA",1,["mavlink::common::HIL_STATE_DATA"]],["impl Send for GPS_STATUS_DATA",1,["mavlink::common::GPS_STATUS_DATA"]],["impl Send for SCALED_IMU_DATA",1,["mavlink::common::SCALED_IMU_DATA"]],["impl Send for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::common::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Send for MISSION_REQUEST_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_LIST_DATA"]],["impl Send for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Send for PARAM_EXT_VALUE_DATA",1,["mavlink::common::PARAM_EXT_VALUE_DATA"]],["impl Send for CELLULAR_STATUS_DATA",1,["mavlink::common::CELLULAR_STATUS_DATA"]],["impl Send for CANFD_FRAME_DATA",1,["mavlink::common::CANFD_FRAME_DATA"]],["impl Send for GPS_RTCM_DATA_DATA",1,["mavlink::common::GPS_RTCM_DATA_DATA"]],["impl Send for MANUAL_CONTROL_DATA",1,["mavlink::common::MANUAL_CONTROL_DATA"]],["impl Send for COMMAND_ACK_DATA",1,["mavlink::common::COMMAND_ACK_DATA"]],["impl Send for RADIO_STATUS_DATA",1,["mavlink::common::RADIO_STATUS_DATA"]],["impl Send for TERRAIN_REQUEST_DATA",1,["mavlink::common::TERRAIN_REQUEST_DATA"]],["impl Send for VIDEO_STREAM_STATUS_DATA",1,["mavlink::common::VIDEO_STREAM_STATUS_DATA"]],["impl Send for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::common::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Send for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::common::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Send for WHEEL_DISTANCE_DATA",1,["mavlink::common::WHEEL_DISTANCE_DATA"]],["impl Send for MISSION_CURRENT_DATA",1,["mavlink::common::MISSION_CURRENT_DATA"]],["impl Send for VFR_HUD_DATA",1,["mavlink::common::VFR_HUD_DATA"]],["impl Send for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Send for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Send for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::common::VISION_SPEED_ESTIMATE_DATA"]],["impl Send for BATTERY_STATUS_DATA",1,["mavlink::common::BATTERY_STATUS_DATA"]],["impl Send for FENCE_STATUS_DATA",1,["mavlink::common::FENCE_STATUS_DATA"]],["impl Send for PROTOCOL_VERSION_DATA",1,["mavlink::common::PROTOCOL_VERSION_DATA"]],["impl Send for RAW_PRESSURE_DATA",1,["mavlink::common::RAW_PRESSURE_DATA"]],["impl Send for SCALED_PRESSURE3_DATA",1,["mavlink::common::SCALED_PRESSURE3_DATA"]],["impl Send for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::GPS_GLOBAL_ORIGIN_DATA"]],["impl Send for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Send for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Send for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::common::RESPONSE_EVENT_ERROR_DATA"]],["impl Send for LINK_NODE_STATUS_DATA",1,["mavlink::common::LINK_NODE_STATUS_DATA"]],["impl Send for DATA_STREAM_DATA",1,["mavlink::common::DATA_STREAM_DATA"]],["impl Send for HIL_SENSOR_DATA",1,["mavlink::common::HIL_SENSOR_DATA"]],["impl Send for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::common::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Send for WIND_COV_DATA",1,["mavlink::common::WIND_COV_DATA"]],["impl Send for OPTICAL_FLOW_RAD_DATA",1,["mavlink::common::OPTICAL_FLOW_RAD_DATA"]],["impl Send for TERRAIN_REPORT_DATA",1,["mavlink::common::TERRAIN_REPORT_DATA"]],["impl Send for PARAM_MAP_RC_DATA",1,["mavlink::common::PARAM_MAP_RC_DATA"]],["impl Send for CAMERA_TRIGGER_DATA",1,["mavlink::common::CAMERA_TRIGGER_DATA"]],["impl Send for NAMED_VALUE_INT_DATA",1,["mavlink::common::NAMED_VALUE_INT_DATA"]],["impl Send for CAMERA_SETTINGS_DATA",1,["mavlink::common::CAMERA_SETTINGS_DATA"]],["impl Send for WIFI_CONFIG_AP_DATA",1,["mavlink::common::WIFI_CONFIG_AP_DATA"]],["impl Send for HIGHRES_IMU_DATA",1,["mavlink::common::HIGHRES_IMU_DATA"]],["impl Send for FLIGHT_INFORMATION_DATA",1,["mavlink::common::FLIGHT_INFORMATION_DATA"]],["impl Send for MAG_CAL_REPORT_DATA",1,["mavlink::common::MAG_CAL_REPORT_DATA"]],["impl Send for ATTITUDE_DATA",1,["mavlink::common::ATTITUDE_DATA"]],["impl Send for MISSION_ITEM_REACHED_DATA",1,["mavlink::common::MISSION_ITEM_REACHED_DATA"]],["impl Send for POWER_STATUS_DATA",1,["mavlink::common::POWER_STATUS_DATA"]],["impl Send for MISSION_REQUEST_INT_DATA",1,["mavlink::common::MISSION_REQUEST_INT_DATA"]],["impl Send for SMART_BATTERY_INFO_DATA",1,["mavlink::common::SMART_BATTERY_INFO_DATA"]],["impl Send for PARAM_REQUEST_READ_DATA",1,["mavlink::common::PARAM_REQUEST_READ_DATA"]],["impl Send for COMMAND_LONG_DATA",1,["mavlink::common::COMMAND_LONG_DATA"]],["impl Send for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Send for OPTICAL_FLOW_DATA",1,["mavlink::common::OPTICAL_FLOW_DATA"]],["impl Send for HIL_CONTROLS_DATA",1,["mavlink::common::HIL_CONTROLS_DATA"]],["impl Send for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::common::CAMERA_CAPTURE_STATUS_DATA"]],["impl Send for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Send for COMMAND_CANCEL_DATA",1,["mavlink::common::COMMAND_CANCEL_DATA"]],["impl Send for ODOMETRY_DATA",1,["mavlink::common::ODOMETRY_DATA"]],["impl Send for ADSB_VEHICLE_DATA",1,["mavlink::common::ADSB_VEHICLE_DATA"]],["impl Send for MESSAGE_INTERVAL_DATA",1,["mavlink::common::MESSAGE_INTERVAL_DATA"]],["impl Send for DISTANCE_SENSOR_DATA",1,["mavlink::common::DISTANCE_SENSOR_DATA"]],["impl Send for RC_CHANNELS_RAW_DATA",1,["mavlink::common::RC_CHANNELS_RAW_DATA"]],["impl Send for HOME_POSITION_DATA",1,["mavlink::common::HOME_POSITION_DATA"]],["impl Send for MISSION_REQUEST_DATA",1,["mavlink::common::MISSION_REQUEST_DATA"]],["impl Send for HIL_STATE_QUATERNION_DATA",1,["mavlink::common::HIL_STATE_QUATERNION_DATA"]],["impl Send for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::common::RC_CHANNELS_OVERRIDE_DATA"]],["impl Send for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Send for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::common::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Send for EXTENDED_SYS_STATE_DATA",1,["mavlink::common::EXTENDED_SYS_STATE_DATA"]],["impl Send for ATTITUDE_TARGET_DATA",1,["mavlink::common::ATTITUDE_TARGET_DATA"]],["impl Send for MANUAL_SETPOINT_DATA",1,["mavlink::common::MANUAL_SETPOINT_DATA"]],["impl Send for UAVCAN_NODE_INFO_DATA",1,["mavlink::common::UAVCAN_NODE_INFO_DATA"]],["impl Send for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Send for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Send for RAW_RPM_DATA",1,["mavlink::common::RAW_RPM_DATA"]],["impl Send for GPS2_RTK_DATA",1,["mavlink::common::GPS2_RTK_DATA"]],["impl Send for HIL_OPTICAL_FLOW_DATA",1,["mavlink::common::HIL_OPTICAL_FLOW_DATA"]],["impl Send for CAMERA_FOV_STATUS_DATA",1,["mavlink::common::CAMERA_FOV_STATUS_DATA"]],["impl Send for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::common::DEBUG_FLOAT_ARRAY_DATA"]],["impl Send for GENERATOR_STATUS_DATA",1,["mavlink::common::GENERATOR_STATUS_DATA"]],["impl Send for ESC_STATUS_DATA",1,["mavlink::common::ESC_STATUS_DATA"]],["impl Send for MavMessage",1,["mavlink::common::MavMessage"]],["impl<'a> Send for Bytes<'a>",1,["mavlink::bytes::Bytes"]],["impl<'a> Send for BytesMut<'a>",1,["mavlink::bytes_mut::BytesMut"]],["impl Send for ParserError",1,["mavlink::error::ParserError"]],["impl Send for MessageReadError",1,["mavlink::error::MessageReadError"]],["impl Send for MessageWriteError",1,["mavlink::error::MessageWriteError"]],["impl Send for MavHeader",1,["mavlink::MavHeader"]],["impl Send for MavlinkVersion",1,["mavlink::MavlinkVersion"]],["impl<M> Send for MavFrame<M>where\n M: Send,",1,["mavlink::MavFrame"]],["impl Send for MAVLinkV1MessageRaw",1,["mavlink::MAVLinkV1MessageRaw"]],["impl Send for MAVLinkV2MessageRaw",1,["mavlink::MAVLinkV2MessageRaw"]]], "num_traits":[["impl Send for FloatErrorKind",1,["num_traits::FloatErrorKind"]],["impl Send for ParseFloatError",1,["num_traits::ParseFloatError"]]], "proc_macro2":[["impl !Send for DelimSpan",1,["proc_macro2::extra::DelimSpan"]],["impl !Send for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl !Send for TokenStream",1,["proc_macro2::TokenStream"]],["impl !Send for LexError",1,["proc_macro2::LexError"]],["impl !Send for Span",1,["proc_macro2::Span"]],["impl !Send for TokenTree",1,["proc_macro2::TokenTree"]],["impl !Send for Group",1,["proc_macro2::Group"]],["impl Send for Delimiter",1,["proc_macro2::Delimiter"]],["impl !Send for Punct",1,["proc_macro2::Punct"]],["impl Send for Spacing",1,["proc_macro2::Spacing"]],["impl !Send for Ident",1,["proc_macro2::Ident"]],["impl !Send for Literal",1,["proc_macro2::Literal"]]], "serde":[["impl Send for Error",1,["serde::de::value::Error"]],["impl<E> Send for UnitDeserializer<E>where\n E: Send,",1,["serde::de::value::UnitDeserializer"]],["impl<E> Send for BoolDeserializer<E>where\n E: Send,",1,["serde::de::value::BoolDeserializer"]],["impl<E> Send for I8Deserializer<E>where\n E: Send,",1,["serde::de::value::I8Deserializer"]],["impl<E> Send for I16Deserializer<E>where\n E: Send,",1,["serde::de::value::I16Deserializer"]],["impl<E> Send for I32Deserializer<E>where\n E: Send,",1,["serde::de::value::I32Deserializer"]],["impl<E> Send for I64Deserializer<E>where\n E: Send,",1,["serde::de::value::I64Deserializer"]],["impl<E> Send for I128Deserializer<E>where\n E: Send,",1,["serde::de::value::I128Deserializer"]],["impl<E> Send for IsizeDeserializer<E>where\n E: Send,",1,["serde::de::value::IsizeDeserializer"]],["impl<E> Send for U8Deserializer<E>where\n E: Send,",1,["serde::de::value::U8Deserializer"]],["impl<E> Send for U16Deserializer<E>where\n E: Send,",1,["serde::de::value::U16Deserializer"]],["impl<E> Send for U64Deserializer<E>where\n E: Send,",1,["serde::de::value::U64Deserializer"]],["impl<E> Send for U128Deserializer<E>where\n E: Send,",1,["serde::de::value::U128Deserializer"]],["impl<E> Send for UsizeDeserializer<E>where\n E: Send,",1,["serde::de::value::UsizeDeserializer"]],["impl<E> Send for F32Deserializer<E>where\n E: Send,",1,["serde::de::value::F32Deserializer"]],["impl<E> Send for F64Deserializer<E>where\n E: Send,",1,["serde::de::value::F64Deserializer"]],["impl<E> Send for CharDeserializer<E>where\n E: Send,",1,["serde::de::value::CharDeserializer"]],["impl<E> Send for U32Deserializer<E>where\n E: Send,",1,["serde::de::value::U32Deserializer"]],["impl<'a, E> Send for StrDeserializer<'a, E>where\n E: Send,",1,["serde::de::value::StrDeserializer"]],["impl<'de, E> Send for BorrowedStrDeserializer<'de, E>where\n E: Send,",1,["serde::de::value::BorrowedStrDeserializer"]],["impl<E> Send for StringDeserializer<E>where\n E: Send,",1,["serde::de::value::StringDeserializer"]],["impl<'a, E> Send for CowStrDeserializer<'a, E>where\n E: Send,",1,["serde::de::value::CowStrDeserializer"]],["impl<'a, E> Send for BytesDeserializer<'a, E>where\n E: Send,",1,["serde::de::value::BytesDeserializer"]],["impl<'de, E> Send for BorrowedBytesDeserializer<'de, E>where\n E: Send,",1,["serde::de::value::BorrowedBytesDeserializer"]],["impl<I, E> Send for SeqDeserializer<I, E>where\n E: Send,\n I: Send,",1,["serde::de::value::SeqDeserializer"]],["impl<A> Send for SeqAccessDeserializer<A>where\n A: Send,",1,["serde::de::value::SeqAccessDeserializer"]],["impl<'de, I, E> Send for MapDeserializer<'de, I, E>where\n E: Send,\n I: Send,\n <<I as Iterator>::Item as Pair>::Second: Send,",1,["serde::de::value::MapDeserializer"]],["impl<A> Send for MapAccessDeserializer<A>where\n A: Send,",1,["serde::de::value::MapAccessDeserializer"]],["impl<A> Send for EnumAccessDeserializer<A>where\n A: Send,",1,["serde::de::value::EnumAccessDeserializer"]],["impl Send for IgnoredAny",1,["serde::de::ignored_any::IgnoredAny"]],["impl<'a> Send for Unexpected<'a>",1,["serde::de::Unexpected"]],["impl<Ok, Error> Send for Impossible<Ok, Error>where\n Error: Send,\n Ok: Send,",1,["serde::ser::impossible::Impossible"]]], diff --git a/trait.impl/core/marker/trait.StructuralEq.js b/trait.impl/core/marker/trait.StructuralEq.js index 1f9dc96253..c56196de4a 100644 --- a/trait.impl/core/marker/trait.StructuralEq.js +++ b/trait.impl/core/marker/trait.StructuralEq.js @@ -1,6 +1,6 @@ (function() {var implementors = { "byteorder":[["impl StructuralEq for BigEndian"],["impl StructuralEq for LittleEndian"]], -"mavlink":[["impl StructuralEq for GpsInputIgnoreFlags"],["impl StructuralEq for UtmDataAvailFlags"],["impl StructuralEq for GimbalDeviceFlags"],["impl StructuralEq for MavModeFlag"],["impl StructuralEq for MavWinchStatusFlag"],["impl StructuralEq for GimbalDeviceErrorFlags"],["impl StructuralEq for EscFailureFlags"],["impl StructuralEq for TuneFormat"],["impl StructuralEq for UavionixAdsbOutDynamicState"],["impl StructuralEq for HlFailureFlag"],["impl StructuralEq for TuneFormat"],["impl StructuralEq for UavionixAdsbRfHealth"],["impl StructuralEq for UavionixAdsbOutDynamicState"],["impl StructuralEq for MavProtocolCapability"],["impl StructuralEq for MavSysStatusSensor"],["impl StructuralEq for AdsbFlags"],["impl StructuralEq for AdsbFlags"],["impl StructuralEq for MavPowerStatus"],["impl StructuralEq for AttitudeTargetTypemask"],["impl StructuralEq for AisFlags"],["impl StructuralEq for MavHeader"],["impl StructuralEq for UtmDataAvailFlags"],["impl StructuralEq for MavEventCurrentSequenceFlags"],["impl StructuralEq for GimbalDeviceCapFlags"],["impl StructuralEq for PositionTargetTypemask"],["impl StructuralEq for MAVLinkV2MessageRaw"],["impl StructuralEq for UavionixAdsbOutRfSelect"],["impl StructuralEq for MavProtocolCapability"],["impl StructuralEq for HlFailureFlag"],["impl StructuralEq for EstimatorStatusFlags"],["impl StructuralEq for MavPowerStatus"],["impl StructuralEq for GimbalManagerCapFlags"],["impl StructuralEq for CameraCapFlags"],["impl StructuralEq for HlFailureFlag"],["impl StructuralEq for EstimatorStatusFlags"],["impl StructuralEq for MavlinkVersion"],["impl StructuralEq for GimbalDeviceCapFlags"],["impl StructuralEq for AisFlags"],["impl StructuralEq for LimitModule"],["impl StructuralEq for RallyFlags"],["impl StructuralEq for AttitudeTargetTypemask"],["impl StructuralEq for MavModeFlag"],["impl StructuralEq for MavProtocolCapability"],["impl StructuralEq for AisFlags"],["impl StructuralEq for GimbalManagerCapFlags"],["impl StructuralEq for HilSensorUpdatedFlags"],["impl StructuralEq for EscFailureFlags"],["impl StructuralEq for EscFailureFlags"],["impl StructuralEq for HighresImuUpdatedFlags"],["impl StructuralEq for UavionixAdsbOutRfSelect"],["impl StructuralEq for MavGeneratorStatusFlag"],["impl StructuralEq for GpsInputIgnoreFlags"],["impl StructuralEq for GpsInputIgnoreFlags"],["impl StructuralEq for AdsbFlags"],["impl StructuralEq for TuneFormat"],["impl StructuralEq for HighresImuUpdatedFlags"],["impl StructuralEq for PositionTargetTypemask"],["impl StructuralEq for GimbalManagerCapFlags"],["impl StructuralEq for MavWinchStatusFlag"],["impl StructuralEq for MavWinchStatusFlag"],["impl StructuralEq for PositionTargetTypemask"],["impl StructuralEq for MavEventCurrentSequenceFlags"],["impl StructuralEq for GimbalDeviceErrorFlags"],["impl StructuralEq for GimbalDeviceFlags"],["impl StructuralEq for UtmDataAvailFlags"],["impl StructuralEq for SerialControlFlag"],["impl StructuralEq for GimbalDeviceCapFlags"],["impl StructuralEq for MavSysStatusSensor"],["impl StructuralEq for GoproHeartbeatFlags"],["impl StructuralEq for MavGeneratorStatusFlag"],["impl StructuralEq for GimbalDeviceFlags"],["impl StructuralEq for SerialControlFlag"],["impl StructuralEq for HilSensorUpdatedFlags"],["impl StructuralEq for SerialControlFlag"],["impl StructuralEq for CameraCapFlags"],["impl StructuralEq for CameraCapFlags"],["impl StructuralEq for HilSensorUpdatedFlags"],["impl StructuralEq for GimbalDeviceErrorFlags"],["impl StructuralEq for EstimatorStatusFlags"],["impl StructuralEq for MavSysStatusSensor"],["impl StructuralEq for MavModeFlag"],["impl StructuralEq for HighresImuUpdatedFlags"],["impl StructuralEq for MAVLinkV1MessageRaw"],["impl StructuralEq for MavGeneratorStatusFlag"],["impl StructuralEq for MavEventCurrentSequenceFlags"],["impl StructuralEq for AttitudeTargetTypemask"],["impl StructuralEq for MavPowerStatus"],["impl StructuralEq for UavionixAdsbRfHealth"],["impl StructuralEq for EkfStatusFlags"]], +"mavlink":[["impl StructuralEq for AdsbFlags"],["impl StructuralEq for PositionTargetTypemask"],["impl StructuralEq for TuneFormat"],["impl StructuralEq for SerialControlFlag"],["impl StructuralEq for MavWinchStatusFlag"],["impl StructuralEq for CameraCapFlags"],["impl StructuralEq for AdsbFlags"],["impl StructuralEq for MavPowerStatus"],["impl StructuralEq for HighresImuUpdatedFlags"],["impl StructuralEq for MavProtocolCapability"],["impl StructuralEq for PositionTargetTypemask"],["impl StructuralEq for MavGeneratorStatusFlag"],["impl StructuralEq for GpsInputIgnoreFlags"],["impl StructuralEq for UavionixAdsbRfHealth"],["impl StructuralEq for HlFailureFlag"],["impl StructuralEq for MavHeader"],["impl StructuralEq for AisFlags"],["impl StructuralEq for TuneFormat"],["impl StructuralEq for MAVLinkV2MessageRaw"],["impl StructuralEq for EscFailureFlags"],["impl StructuralEq for MavModeFlag"],["impl StructuralEq for EstimatorStatusFlags"],["impl StructuralEq for GimbalDeviceFlags"],["impl StructuralEq for MavEventCurrentSequenceFlags"],["impl StructuralEq for MavProtocolCapability"],["impl StructuralEq for AttitudeTargetTypemask"],["impl StructuralEq for GoproHeartbeatFlags"],["impl StructuralEq for MavSysStatusSensor"],["impl StructuralEq for GimbalDeviceErrorFlags"],["impl StructuralEq for LimitModule"],["impl StructuralEq for HighresImuUpdatedFlags"],["impl StructuralEq for UavionixAdsbOutDynamicState"],["impl StructuralEq for MavlinkVersion"],["impl StructuralEq for UtmDataAvailFlags"],["impl StructuralEq for UavionixAdsbOutDynamicState"],["impl StructuralEq for EstimatorStatusFlags"],["impl StructuralEq for GimbalDeviceCapFlags"],["impl StructuralEq for MavGeneratorStatusFlag"],["impl StructuralEq for GimbalManagerCapFlags"],["impl StructuralEq for AttitudeTargetTypemask"],["impl StructuralEq for UavionixAdsbOutRfSelect"],["impl StructuralEq for MavModeFlag"],["impl StructuralEq for MavModeFlag"],["impl StructuralEq for GpsInputIgnoreFlags"],["impl StructuralEq for MavWinchStatusFlag"],["impl StructuralEq for GimbalManagerCapFlags"],["impl StructuralEq for EstimatorStatusFlags"],["impl StructuralEq for MavWinchStatusFlag"],["impl StructuralEq for MavSysStatusSensor"],["impl StructuralEq for GimbalDeviceFlags"],["impl StructuralEq for MavPowerStatus"],["impl StructuralEq for AisFlags"],["impl StructuralEq for GimbalDeviceCapFlags"],["impl StructuralEq for AisFlags"],["impl StructuralEq for GimbalDeviceFlags"],["impl StructuralEq for EscFailureFlags"],["impl StructuralEq for UavionixAdsbOutRfSelect"],["impl StructuralEq for SerialControlFlag"],["impl StructuralEq for GpsInputIgnoreFlags"],["impl StructuralEq for TuneFormat"],["impl StructuralEq for UtmDataAvailFlags"],["impl StructuralEq for UtmDataAvailFlags"],["impl StructuralEq for PositionTargetTypemask"],["impl StructuralEq for EscFailureFlags"],["impl StructuralEq for HilSensorUpdatedFlags"],["impl StructuralEq for SerialControlFlag"],["impl StructuralEq for MavPowerStatus"],["impl StructuralEq for HlFailureFlag"],["impl StructuralEq for HilSensorUpdatedFlags"],["impl StructuralEq for AttitudeTargetTypemask"],["impl StructuralEq for MavProtocolCapability"],["impl StructuralEq for UavionixAdsbRfHealth"],["impl StructuralEq for GimbalDeviceCapFlags"],["impl StructuralEq for MavEventCurrentSequenceFlags"],["impl StructuralEq for GimbalDeviceErrorFlags"],["impl StructuralEq for MavSysStatusSensor"],["impl StructuralEq for MavEventCurrentSequenceFlags"],["impl StructuralEq for GimbalDeviceErrorFlags"],["impl StructuralEq for HilSensorUpdatedFlags"],["impl StructuralEq for RallyFlags"],["impl StructuralEq for CameraCapFlags"],["impl StructuralEq for MAVLinkV1MessageRaw"],["impl StructuralEq for HighresImuUpdatedFlags"],["impl StructuralEq for HlFailureFlag"],["impl StructuralEq for EkfStatusFlags"],["impl StructuralEq for GimbalManagerCapFlags"],["impl StructuralEq for CameraCapFlags"],["impl StructuralEq for AdsbFlags"],["impl StructuralEq for MavGeneratorStatusFlag"]], "proc_macro2":[["impl StructuralEq for Spacing"],["impl StructuralEq for Delimiter"]], "serial_core":[["impl StructuralEq for Parity"],["impl StructuralEq for ErrorKind"],["impl StructuralEq for CharSize"],["impl StructuralEq for PortSettings"],["impl StructuralEq for StopBits"],["impl StructuralEq for FlowControl"],["impl StructuralEq for BaudRate"]], "termios":[["impl StructuralEq for Termios"],["impl StructuralEq for termios"]] diff --git a/trait.impl/core/marker/trait.StructuralPartialEq.js b/trait.impl/core/marker/trait.StructuralPartialEq.js index edb569c81d..de6e2e36f0 100644 --- a/trait.impl/core/marker/trait.StructuralPartialEq.js +++ b/trait.impl/core/marker/trait.StructuralPartialEq.js @@ -1,6 +1,6 @@ (function() {var implementors = { "byteorder":[["impl StructuralPartialEq for BigEndian"],["impl StructuralPartialEq for LittleEndian"]], -"mavlink":[["impl StructuralPartialEq for MavCollisionThreatLevel"],["impl StructuralPartialEq for MavDataStream"],["impl StructuralPartialEq for MavBatteryFault"],["impl StructuralPartialEq for LANDING_TARGET_DATA"],["impl StructuralPartialEq for HIL_STATE_QUATERNION_DATA"],["impl StructuralPartialEq for RESOURCE_REQUEST_DATA"],["impl StructuralPartialEq for CameraCapFlags"],["impl StructuralPartialEq for HilSensorUpdatedFlags"],["impl StructuralPartialEq for OPEN_DRONE_ID_LOCATION_DATA"],["impl StructuralPartialEq for GPS_RTK_DATA"],["impl StructuralPartialEq for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl StructuralPartialEq for MavOdidOperatorLocationType"],["impl StructuralPartialEq for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl StructuralPartialEq for MavFtpOpcode"],["impl StructuralPartialEq for POSITION_TARGET_LOCAL_NED_DATA"],["impl StructuralPartialEq for EstimatorStatusFlags"],["impl StructuralPartialEq for MavComponent"],["impl StructuralPartialEq for GimbalManagerCapFlags"],["impl StructuralPartialEq for MavMessage"],["impl StructuralPartialEq for GimbalDeviceCapFlags"],["impl StructuralPartialEq for ParamAck"],["impl StructuralPartialEq for MavMountMode"],["impl StructuralPartialEq for DEBUG_FLOAT_ARRAY_DATA"],["impl StructuralPartialEq for MavRoi"],["impl StructuralPartialEq for CAMERA_INFORMATION_DATA"],["impl StructuralPartialEq for SCALED_PRESSURE3_DATA"],["impl StructuralPartialEq for CAN_FRAME_DATA"],["impl StructuralPartialEq for GOPRO_GET_RESPONSE_DATA"],["impl StructuralPartialEq for MavOdidCategoryEu"],["impl StructuralPartialEq for AdsbFlags"],["impl StructuralPartialEq for SERVO_OUTPUT_RAW_DATA"],["impl StructuralPartialEq for PARAM_EXT_VALUE_DATA"],["impl StructuralPartialEq for CURRENT_EVENT_SEQUENCE_DATA"],["impl StructuralPartialEq for WIND_DATA"],["impl StructuralPartialEq for RAW_PRESSURE_DATA"],["impl StructuralPartialEq for PreflightStorageMissionAction"],["impl StructuralPartialEq for GoproProtuneWhiteBalance"],["impl StructuralPartialEq for MANUAL_CONTROL_DATA"],["impl StructuralPartialEq for MAVLinkV1MessageRaw"],["impl StructuralPartialEq for VIDEO_STREAM_INFORMATION_DATA"],["impl StructuralPartialEq for HIL_CONTROLS_DATA"],["impl StructuralPartialEq for GPS_GLOBAL_ORIGIN_DATA"],["impl StructuralPartialEq for SAFETY_SET_ALLOWED_AREA_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl StructuralPartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl StructuralPartialEq for CameraTrackingStatusFlags"],["impl StructuralPartialEq for ALTITUDE_DATA"],["impl StructuralPartialEq for MavCmdDoAuxFunctionSwitchLevel"],["impl StructuralPartialEq for MavOdidHeightRef"],["impl StructuralPartialEq for MOUNT_ORIENTATION_DATA"],["impl StructuralPartialEq for MavlinkVersion"],["impl StructuralPartialEq for MotorTestThrottleType"],["impl StructuralPartialEq for MavOdidIdType"],["impl StructuralPartialEq for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl StructuralPartialEq for SCALED_PRESSURE_DATA"],["impl StructuralPartialEq for MavOdidOperatorLocationType"],["impl StructuralPartialEq for FENCE_STATUS_DATA"],["impl StructuralPartialEq for AdsbEmitterType"],["impl StructuralPartialEq for ParamAck"],["impl StructuralPartialEq for GpsFixType"],["impl StructuralPartialEq for EstimatorStatusFlags"],["impl StructuralPartialEq for OPEN_DRONE_ID_SYSTEM_DATA"],["impl StructuralPartialEq for MavSysStatusSensor"],["impl StructuralPartialEq for MavSensorOrientation"],["impl StructuralPartialEq for ActuatorOutputFunction"],["impl StructuralPartialEq for PLAY_TUNE_V2_DATA"],["impl StructuralPartialEq for EXTENDED_SYS_STATE_DATA"],["impl StructuralPartialEq for RALLY_POINT_DATA"],["impl StructuralPartialEq for RC_CHANNELS_DATA"],["impl StructuralPartialEq for ICAROUS_HEARTBEAT_DATA"],["impl StructuralPartialEq for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl StructuralPartialEq for OPTICAL_FLOW_RAD_DATA"],["impl StructuralPartialEq for TERRAIN_CHECK_DATA"],["impl StructuralPartialEq for HighresImuUpdatedFlags"],["impl StructuralPartialEq for EXTENDED_SYS_STATE_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_LOCATION_DATA"],["impl StructuralPartialEq for ATTITUDE_QUATERNION_COV_DATA"],["impl StructuralPartialEq for COMPONENT_INFORMATION_DATA"],["impl StructuralPartialEq for ActuatorConfiguration"],["impl StructuralPartialEq for MavResult"],["impl StructuralPartialEq for MANUAL_SETPOINT_DATA"],["impl StructuralPartialEq for GPS_STATUS_DATA"],["impl StructuralPartialEq for ATTITUDE_TARGET_DATA"],["impl StructuralPartialEq for GOPRO_HEARTBEAT_DATA"],["impl StructuralPartialEq for MavFtpErr"],["impl StructuralPartialEq for PARAM_REQUEST_READ_DATA"],["impl StructuralPartialEq for GPS_RAW_INT_DATA"],["impl StructuralPartialEq for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl StructuralPartialEq for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl StructuralPartialEq for PositionTargetTypemask"],["impl StructuralPartialEq for MavBatteryFault"],["impl StructuralPartialEq for GimbalDeviceFlags"],["impl StructuralPartialEq for PARAM_REQUEST_LIST_DATA"],["impl StructuralPartialEq for PARAM_VALUE_DATA"],["impl StructuralPartialEq for FLIGHT_INFORMATION_DATA"],["impl StructuralPartialEq for PARAM_EXT_REQUEST_LIST_DATA"],["impl StructuralPartialEq for ACTUATOR_CONTROL_TARGET_DATA"],["impl StructuralPartialEq for HIL_STATE_DATA"],["impl StructuralPartialEq for SYSTEM_TIME_DATA"],["impl StructuralPartialEq for OSD_PARAM_CONFIG_DATA"],["impl StructuralPartialEq for WinchActions"],["impl StructuralPartialEq for SERIAL_CONTROL_DATA"],["impl StructuralPartialEq for FOLLOW_TARGET_DATA"],["impl StructuralPartialEq for CameraCapFlags"],["impl StructuralPartialEq for MEMORY_VECT_DATA"],["impl StructuralPartialEq for GoproPhotoResolution"],["impl StructuralPartialEq for MavSysStatusSensorExtended"],["impl StructuralPartialEq for PlaneMode"],["impl StructuralPartialEq for PrecisionLandMode"],["impl StructuralPartialEq for PING_DATA"],["impl StructuralPartialEq for GPS2_RAW_DATA"],["impl StructuralPartialEq for RAW_RPM_DATA"],["impl StructuralPartialEq for WifiConfigApResponse"],["impl StructuralPartialEq for SerialControlFlag"],["impl StructuralPartialEq for MISSION_CURRENT_DATA"],["impl StructuralPartialEq for UavionixAdsbOutDynamicState"],["impl StructuralPartialEq for TERRAIN_REPORT_DATA"],["impl StructuralPartialEq for HIGHRES_IMU_DATA"],["impl StructuralPartialEq for RC_CHANNELS_OVERRIDE_DATA"],["impl StructuralPartialEq for MESSAGE_INTERVAL_DATA"],["impl StructuralPartialEq for SCALED_IMU2_DATA"],["impl StructuralPartialEq for RcType"],["impl StructuralPartialEq for MavOdidIdType"],["impl StructuralPartialEq for DEBUG_VECT_DATA"],["impl StructuralPartialEq for COMPONENT_INFORMATION_DATA"],["impl StructuralPartialEq for MavWinchStatusFlag"],["impl StructuralPartialEq for ISBD_LINK_STATUS_DATA"],["impl StructuralPartialEq for COMMAND_CANCEL_DATA"],["impl StructuralPartialEq for DEVICE_OP_WRITE_REPLY_DATA"],["impl StructuralPartialEq for AisNavStatus"],["impl StructuralPartialEq for EVENT_DATA"],["impl StructuralPartialEq for TERRAIN_REQUEST_DATA"],["impl StructuralPartialEq for MavEventErrorReason"],["impl StructuralPartialEq for FENCE_FETCH_POINT_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_LIST_DATA"],["impl StructuralPartialEq for COMMAND_LONG_DATA"],["impl StructuralPartialEq for ATTITUDE_QUATERNION_COV_DATA"],["impl StructuralPartialEq for CAN_FILTER_MODIFY_DATA"],["impl StructuralPartialEq for COMMAND_LONG_DATA"],["impl StructuralPartialEq for FENCE_STATUS_DATA"],["impl StructuralPartialEq for GripperActions"],["impl StructuralPartialEq for MavCmd"],["impl StructuralPartialEq for GPS2_RAW_DATA"],["impl StructuralPartialEq for GIMBAL_DEVICE_INFORMATION_DATA"],["impl StructuralPartialEq for VideoStreamType"],["impl StructuralPartialEq for MavOdidOperatorIdType"],["impl StructuralPartialEq for BATTERY2_DATA"],["impl StructuralPartialEq for PARAM_MAP_RC_DATA"],["impl StructuralPartialEq for POSITION_TARGET_LOCAL_NED_DATA"],["impl StructuralPartialEq for MISSION_CURRENT_DATA"],["impl StructuralPartialEq for DISTANCE_SENSOR_DATA"],["impl StructuralPartialEq for CellularNetworkRadioType"],["impl StructuralPartialEq for MavComponent"],["impl StructuralPartialEq for UAVCAN_NODE_INFO_DATA"],["impl StructuralPartialEq for CameraMode"],["impl StructuralPartialEq for SCALED_PRESSURE_DATA"],["impl StructuralPartialEq for GpsFixType"],["impl StructuralPartialEq for COMMAND_ACK_DATA"],["impl StructuralPartialEq for CELLULAR_CONFIG_DATA"],["impl StructuralPartialEq for VideoStreamType"],["impl StructuralPartialEq for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl StructuralPartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl StructuralPartialEq for MavlinkDataStreamType"],["impl StructuralPartialEq for LOCAL_POSITION_NED_DATA"],["impl StructuralPartialEq for MavFtpOpcode"],["impl StructuralPartialEq for AUTH_KEY_DATA"],["impl StructuralPartialEq for MAG_CAL_REPORT_DATA"],["impl StructuralPartialEq for MavOdidOperatorIdType"],["impl StructuralPartialEq for CHANGE_OPERATOR_CONTROL_DATA"],["impl StructuralPartialEq for RC_CHANNELS_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl StructuralPartialEq for TERRAIN_CHECK_DATA"],["impl StructuralPartialEq for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl StructuralPartialEq for NAMED_VALUE_INT_DATA"],["impl StructuralPartialEq for CellularNetworkFailedReason"],["impl StructuralPartialEq for MavVtolState"],["impl StructuralPartialEq for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl StructuralPartialEq for V2_EXTENSION_DATA"],["impl StructuralPartialEq for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl StructuralPartialEq for OBSTACLE_DISTANCE_DATA"],["impl StructuralPartialEq for HIGHRES_IMU_DATA"],["impl StructuralPartialEq for WHEEL_DISTANCE_DATA"],["impl StructuralPartialEq for VIDEO_STREAM_STATUS_DATA"],["impl StructuralPartialEq for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl StructuralPartialEq for UavcanNodeHealth"],["impl StructuralPartialEq for GIMBAL_MANAGER_INFORMATION_DATA"],["impl StructuralPartialEq for GPS2_RAW_DATA"],["impl StructuralPartialEq for MavResult"],["impl StructuralPartialEq for MagCalStatus"],["impl StructuralPartialEq for BATTERY_STATUS_DATA"],["impl StructuralPartialEq for MotorTestThrottleType"],["impl StructuralPartialEq for AdsbAltitudeType"],["impl StructuralPartialEq for GoproCommand"],["impl StructuralPartialEq for RESPONSE_EVENT_ERROR_DATA"],["impl StructuralPartialEq for MavPowerStatus"],["impl StructuralPartialEq for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl StructuralPartialEq for GimbalManagerCapFlags"],["impl StructuralPartialEq for MavOdidStatus"],["impl StructuralPartialEq for MavAutopilot"],["impl StructuralPartialEq for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl StructuralPartialEq for ACTUATOR_OUTPUT_STATUS_DATA"],["impl StructuralPartialEq for EVENT_DATA"],["impl StructuralPartialEq for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl StructuralPartialEq for COMMAND_INT_DATA"],["impl StructuralPartialEq for OBSTACLE_DISTANCE_DATA"],["impl StructuralPartialEq for MANUAL_CONTROL_DATA"],["impl StructuralPartialEq for TrackerMode"],["impl StructuralPartialEq for HYGROMETER_SENSOR_DATA"],["impl StructuralPartialEq for MavFtpOpcode"],["impl StructuralPartialEq for TERRAIN_DATA_DATA"],["impl StructuralPartialEq for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl StructuralPartialEq for MavCollisionSrc"],["impl StructuralPartialEq for AdsbFlags"],["impl StructuralPartialEq for RC_CHANNELS_RAW_DATA"],["impl StructuralPartialEq for EscConnectionType"],["impl StructuralPartialEq for MavOdidOperatorIdType"],["impl StructuralPartialEq for EscConnectionType"],["impl StructuralPartialEq for HIL_ACTUATOR_CONTROLS_DATA"],["impl StructuralPartialEq for PARAM_EXT_SET_DATA"],["impl StructuralPartialEq for UtmFlightState"],["impl StructuralPartialEq for EscFailureFlags"],["impl StructuralPartialEq for MESSAGE_INTERVAL_DATA"],["impl StructuralPartialEq for ActuatorOutputFunction"],["impl StructuralPartialEq for LOG_REQUEST_END_DATA"],["impl StructuralPartialEq for MavOdidSpeedAcc"],["impl StructuralPartialEq for GoproProtuneColour"],["impl StructuralPartialEq for AIRSPEED_AUTOCAL_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_STATUS_DATA"],["impl StructuralPartialEq for RC_CHANNELS_OVERRIDE_DATA"],["impl StructuralPartialEq for MavBatteryFunction"],["impl StructuralPartialEq for PARAM_MAP_RC_DATA"],["impl StructuralPartialEq for POWER_STATUS_DATA"],["impl StructuralPartialEq for MavPowerStatus"],["impl StructuralPartialEq for NavVtolLandOptions"],["impl StructuralPartialEq for AHRS_DATA"],["impl StructuralPartialEq for ORBIT_EXECUTION_STATUS_DATA"],["impl StructuralPartialEq for PARAM_REQUEST_LIST_DATA"],["impl StructuralPartialEq for ESTIMATOR_STATUS_DATA"],["impl StructuralPartialEq for WHEEL_DISTANCE_DATA"],["impl StructuralPartialEq for UtmDataAvailFlags"],["impl StructuralPartialEq for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl StructuralPartialEq for STATUSTEXT_DATA"],["impl StructuralPartialEq for AutotuneAxis"],["impl StructuralPartialEq for MavOdidAuthType"],["impl StructuralPartialEq for WinchActions"],["impl StructuralPartialEq for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl StructuralPartialEq for AHRS2_DATA"],["impl StructuralPartialEq for RESPONSE_EVENT_ERROR_DATA"],["impl StructuralPartialEq for UavionixAdsbOutCfgAircraftSize"],["impl StructuralPartialEq for ESC_INFO_DATA"],["impl StructuralPartialEq for DEVICE_OP_WRITE_DATA"],["impl StructuralPartialEq for RC_CHANNELS_DATA"],["impl StructuralPartialEq for COLLISION_DATA"],["impl StructuralPartialEq for CellularConfigResponse"],["impl StructuralPartialEq for MISSION_COUNT_DATA"],["impl StructuralPartialEq for RALLY_FETCH_POINT_DATA"],["impl StructuralPartialEq for AttitudeTargetTypemask"],["impl StructuralPartialEq for MISSION_COUNT_DATA"],["impl StructuralPartialEq for MavSysStatusSensor"],["impl StructuralPartialEq for LOG_ENTRY_DATA"],["impl StructuralPartialEq for POWER_STATUS_DATA"],["impl StructuralPartialEq for MavEventErrorReason"],["impl StructuralPartialEq for MavSensorOrientation"],["impl StructuralPartialEq for OPEN_DRONE_ID_SYSTEM_DATA"],["impl StructuralPartialEq for HIL_ACTUATOR_CONTROLS_DATA"],["impl StructuralPartialEq for HIL_CONTROLS_DATA"],["impl StructuralPartialEq for ONBOARD_COMPUTER_STATUS_DATA"],["impl StructuralPartialEq for ATTITUDE_QUATERNION_DATA"],["impl StructuralPartialEq for HighresImuUpdatedFlags"],["impl StructuralPartialEq for TUNNEL_DATA"],["impl StructuralPartialEq for MavEventCurrentSequenceFlags"],["impl StructuralPartialEq for ALTITUDE_DATA"],["impl StructuralPartialEq for MavEstimatorType"],["impl StructuralPartialEq for MavMessage"],["impl StructuralPartialEq for SCALED_IMU_DATA"],["impl StructuralPartialEq for LOGGING_DATA_ACKED_DATA"],["impl StructuralPartialEq for VFR_HUD_DATA"],["impl StructuralPartialEq for MavCollisionThreatLevel"],["impl StructuralPartialEq for SETUP_SIGNING_DATA"],["impl StructuralPartialEq for CameraMode"],["impl StructuralPartialEq for RESOURCE_REQUEST_DATA"],["impl StructuralPartialEq for SMART_BATTERY_INFO_DATA"],["impl StructuralPartialEq for FailureType"],["impl StructuralPartialEq for TIMESYNC_DATA"],["impl StructuralPartialEq for POSITION_TARGET_GLOBAL_INT_DATA"],["impl StructuralPartialEq for MavMode"],["impl StructuralPartialEq for CONTROL_SYSTEM_STATE_DATA"],["impl StructuralPartialEq for LandingTargetType"],["impl StructuralPartialEq for CONTROL_SYSTEM_STATE_DATA"],["impl StructuralPartialEq for GpsInputIgnoreFlags"],["impl StructuralPartialEq for MotorTestOrder"],["impl StructuralPartialEq for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl StructuralPartialEq for MISSION_CLEAR_ALL_DATA"],["impl StructuralPartialEq for CAMERA_IMAGE_CAPTURED_DATA"],["impl StructuralPartialEq for ESC_TELEMETRY_5_TO_8_DATA"],["impl StructuralPartialEq for CopterMode"],["impl StructuralPartialEq for AdsbFlags"],["impl StructuralPartialEq for UtmFlightState"],["impl StructuralPartialEq for UavionixAdsbOutRfSelect"],["impl StructuralPartialEq for GimbalManagerCapFlags"],["impl StructuralPartialEq for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl StructuralPartialEq for AdsbEmitterType"],["impl StructuralPartialEq for HEARTBEAT_DATA"],["impl StructuralPartialEq for HIL_GPS_DATA"],["impl StructuralPartialEq for MavDistanceSensor"],["impl StructuralPartialEq for ENCAPSULATED_DATA_DATA"],["impl StructuralPartialEq for RC_CHANNELS_OVERRIDE_DATA"],["impl StructuralPartialEq for CAMERA_IMAGE_CAPTURED_DATA"],["impl StructuralPartialEq for PARAM_VALUE_DATA"],["impl StructuralPartialEq for MISSION_COUNT_DATA"],["impl StructuralPartialEq for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl StructuralPartialEq for RAW_PRESSURE_DATA"],["impl StructuralPartialEq for VIDEO_STREAM_INFORMATION_DATA"],["impl StructuralPartialEq for MavPowerStatus"],["impl StructuralPartialEq for EFI_STATUS_DATA"],["impl StructuralPartialEq for ODOMETRY_DATA"],["impl StructuralPartialEq for RC_CHANNELS_SCALED_DATA"],["impl StructuralPartialEq for MISSION_ITEM_INT_DATA"],["impl StructuralPartialEq for MagCalStatus"],["impl StructuralPartialEq for ATTITUDE_QUATERNION_DATA"],["impl StructuralPartialEq for PidTuningAxis"],["impl StructuralPartialEq for PROTOCOL_VERSION_DATA"],["impl StructuralPartialEq for TERRAIN_DATA_DATA"],["impl StructuralPartialEq for ParamAck"],["impl StructuralPartialEq for GLOBAL_POSITION_INT_COV_DATA"],["impl StructuralPartialEq for GPS_STATUS_DATA"],["impl StructuralPartialEq for WifiConfigApResponse"],["impl StructuralPartialEq for StorageUsageFlag"],["impl StructuralPartialEq for RtkBaselineCoordinateSystem"],["impl StructuralPartialEq for MISSION_ITEM_DATA"],["impl StructuralPartialEq for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl StructuralPartialEq for SYS_STATUS_DATA"],["impl StructuralPartialEq for AIS_VESSEL_DATA"],["impl StructuralPartialEq for MCU_STATUS_DATA"],["impl StructuralPartialEq for HIGH_LATENCY_DATA"],["impl StructuralPartialEq for OBSTACLE_DISTANCE_3D_DATA"],["impl StructuralPartialEq for GPS2_RTK_DATA"],["impl StructuralPartialEq for GoproProtuneSharpness"],["impl StructuralPartialEq for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl StructuralPartialEq for MavFrame"],["impl StructuralPartialEq for MavOdidClassEu"],["impl StructuralPartialEq for MavLandedState"],["impl StructuralPartialEq for HIL_STATE_DATA"],["impl StructuralPartialEq for FLIGHT_INFORMATION_DATA"],["impl StructuralPartialEq for RtkBaselineCoordinateSystem"],["impl StructuralPartialEq for ATT_POS_MOCAP_DATA"],["impl StructuralPartialEq for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl StructuralPartialEq for VIDEO_STREAM_STATUS_DATA"],["impl StructuralPartialEq for GPS_INPUT_DATA"],["impl StructuralPartialEq for TERRAIN_DATA_DATA"],["impl StructuralPartialEq for NavVtolLandOptions"],["impl StructuralPartialEq for LimitModule"],["impl StructuralPartialEq for GENERATOR_STATUS_DATA"],["impl StructuralPartialEq for MavResult"],["impl StructuralPartialEq for MavOdidHorAcc"],["impl StructuralPartialEq for GLOBAL_POSITION_INT_COV_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl StructuralPartialEq for MOUNT_ORIENTATION_DATA"],["impl StructuralPartialEq for HlFailureFlag"],["impl StructuralPartialEq for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for RESOURCE_REQUEST_DATA"],["impl StructuralPartialEq for STATUSTEXT_DATA"],["impl StructuralPartialEq for STORAGE_INFORMATION_DATA"],["impl StructuralPartialEq for VISION_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for ORBIT_EXECUTION_STATUS_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl StructuralPartialEq for REQUEST_DATA_STREAM_DATA"],["impl StructuralPartialEq for MavLandedState"],["impl StructuralPartialEq for MavBatteryChargeState"],["impl StructuralPartialEq for AdsbAltitudeType"],["impl StructuralPartialEq for CAMERA_TRIGGER_DATA"],["impl StructuralPartialEq for CELLULAR_STATUS_DATA"],["impl StructuralPartialEq for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl StructuralPartialEq for MavMessage"],["impl StructuralPartialEq for UavionixAdsbOutDynamicGpsFix"],["impl StructuralPartialEq for MavMissionType"],["impl StructuralPartialEq for POSITION_TARGET_LOCAL_NED_DATA"],["impl StructuralPartialEq for GENERATOR_STATUS_DATA"],["impl StructuralPartialEq for MavBatteryType"],["impl StructuralPartialEq for MavMissionResult"],["impl StructuralPartialEq for SubMode"],["impl StructuralPartialEq for UavionixAdsbRfHealth"],["impl StructuralPartialEq for MavVtolState"],["impl StructuralPartialEq for UavcanNodeMode"],["impl StructuralPartialEq for CellularStatusFlag"],["impl StructuralPartialEq for WIND_COV_DATA"],["impl StructuralPartialEq for BATTERY_STATUS_DATA"],["impl StructuralPartialEq for VideoStreamType"],["impl StructuralPartialEq for FailureUnit"],["impl StructuralPartialEq for MavLandedState"],["impl StructuralPartialEq for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl StructuralPartialEq for SYSTEM_TIME_DATA"],["impl StructuralPartialEq for LOGGING_DATA_ACKED_DATA"],["impl StructuralPartialEq for CAMERA_FEEDBACK_DATA"],["impl StructuralPartialEq for GPS2_RTK_DATA"],["impl StructuralPartialEq for WIND_COV_DATA"],["impl StructuralPartialEq for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl StructuralPartialEq for WIFI_CONFIG_AP_DATA"],["impl StructuralPartialEq for SET_HOME_POSITION_DATA"],["impl StructuralPartialEq for ICAROUS_HEARTBEAT_DATA"],["impl StructuralPartialEq for GimbalManagerFlags"],["impl StructuralPartialEq for CHANGE_OPERATOR_CONTROL_DATA"],["impl StructuralPartialEq for SetFocusType"],["impl StructuralPartialEq for ESC_STATUS_DATA"],["impl StructuralPartialEq for ATTITUDE_TARGET_DATA"],["impl StructuralPartialEq for CELLULAR_CONFIG_DATA"],["impl StructuralPartialEq for LOGGING_DATA_DATA"],["impl StructuralPartialEq for BUTTON_CHANGE_DATA"],["impl StructuralPartialEq for CellularNetworkFailedReason"],["impl StructuralPartialEq for GoproProtuneExposure"],["impl StructuralPartialEq for LOCAL_POSITION_NED_DATA"],["impl StructuralPartialEq for GPS_RAW_INT_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_LIST_DATA"],["impl StructuralPartialEq for GPS_RTCM_DATA_DATA"],["impl StructuralPartialEq for CAMERA_TRIGGER_DATA"],["impl StructuralPartialEq for OsdParamConfigType"],["impl StructuralPartialEq for MavMissionResult"],["impl StructuralPartialEq for MavBatteryChargeState"],["impl StructuralPartialEq for MANUAL_CONTROL_DATA"],["impl StructuralPartialEq for MavParamType"],["impl StructuralPartialEq for SIM_STATE_DATA"],["impl StructuralPartialEq for CAMERA_INFORMATION_DATA"],["impl StructuralPartialEq for MavOdidHeightRef"],["impl StructuralPartialEq for CellularNetworkRadioType"],["impl StructuralPartialEq for CompMetadataType"],["impl StructuralPartialEq for RANGEFINDER_DATA"],["impl StructuralPartialEq for VICON_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for IcarousTrackBandTypes"],["impl StructuralPartialEq for DeepstallStage"],["impl StructuralPartialEq for MavSysStatusSensorExtended"],["impl StructuralPartialEq for MavOdidTimeAcc"],["impl StructuralPartialEq for MavFrame"],["impl StructuralPartialEq for SERVO_OUTPUT_RAW_DATA"],["impl StructuralPartialEq for ENCAPSULATED_DATA_DATA"],["impl StructuralPartialEq for CAMERA_FOV_STATUS_DATA"],["impl StructuralPartialEq for MavDistanceSensor"],["impl StructuralPartialEq for MavOdidClassEu"],["impl StructuralPartialEq for CANFD_FRAME_DATA"],["impl StructuralPartialEq for MavCmdAck"],["impl StructuralPartialEq for EscFailureFlags"],["impl StructuralPartialEq for CameraTrackingMode"],["impl StructuralPartialEq for UavionixAdsbEmergencyStatus"],["impl StructuralPartialEq for SENSOR_OFFSETS_DATA"],["impl StructuralPartialEq for SAFETY_ALLOWED_AREA_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_INT_DATA"],["impl StructuralPartialEq for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl StructuralPartialEq for SpeedType"],["impl StructuralPartialEq for FenceAction"],["impl StructuralPartialEq for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl StructuralPartialEq for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl StructuralPartialEq for HIGH_LATENCY2_DATA"],["impl StructuralPartialEq for SetFocusType"],["impl StructuralPartialEq for HERELINK_TELEM_DATA"],["impl StructuralPartialEq for SIMSTATE_DATA"],["impl StructuralPartialEq for LOGGING_DATA_DATA"],["impl StructuralPartialEq for UavionixAdsbOutDynamicGpsFix"],["impl StructuralPartialEq for MavState"],["impl StructuralPartialEq for CAMERA_STATUS_DATA"],["impl StructuralPartialEq for HlFailureFlag"],["impl StructuralPartialEq for FirmwareVersionType"],["impl StructuralPartialEq for LOG_REQUEST_DATA_DATA"],["impl StructuralPartialEq for UAVCAN_NODE_INFO_DATA"],["impl StructuralPartialEq for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl StructuralPartialEq for GpsInputIgnoreFlags"],["impl StructuralPartialEq for MISSION_CLEAR_ALL_DATA"],["impl StructuralPartialEq for FOLLOW_TARGET_DATA"],["impl StructuralPartialEq for CameraTrackingMode"],["impl StructuralPartialEq for SMART_BATTERY_INFO_DATA"],["impl StructuralPartialEq for LOG_REQUEST_LIST_DATA"],["impl StructuralPartialEq for SET_ATTITUDE_TARGET_DATA"],["impl StructuralPartialEq for GimbalDeviceFlags"],["impl StructuralPartialEq for SET_MODE_DATA"],["impl StructuralPartialEq for SCALED_IMU_DATA"],["impl StructuralPartialEq for MavGoto"],["impl StructuralPartialEq for UavcanNodeHealth"],["impl StructuralPartialEq for GPS2_RTK_DATA"],["impl StructuralPartialEq for MavOdidIdType"],["impl StructuralPartialEq for HOME_POSITION_DATA"],["impl StructuralPartialEq for TuneFormat"],["impl StructuralPartialEq for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl StructuralPartialEq for MEMINFO_DATA"],["impl StructuralPartialEq for MavOdidOperatorLocationType"],["impl StructuralPartialEq for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl StructuralPartialEq for AUTOPILOT_VERSION_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl StructuralPartialEq for AUTH_KEY_DATA"],["impl StructuralPartialEq for RPM_DATA"],["impl StructuralPartialEq for LOG_ENTRY_DATA"],["impl StructuralPartialEq for CAMERA_SETTINGS_DATA"],["impl StructuralPartialEq for DEBUG_FLOAT_ARRAY_DATA"],["impl StructuralPartialEq for PARAM_SET_DATA"],["impl StructuralPartialEq for GimbalAxisCalibrationRequired"],["impl StructuralPartialEq for HWSTATUS_DATA"],["impl StructuralPartialEq for FenceBreach"],["impl StructuralPartialEq for MavRemoteLogDataBlockCommands"],["impl StructuralPartialEq for MISSION_ITEM_REACHED_DATA"],["impl StructuralPartialEq for HlFailureFlag"],["impl StructuralPartialEq for PLAY_TUNE_DATA"],["impl StructuralPartialEq for MISSION_ITEM_INT_DATA"],["impl StructuralPartialEq for ActuatorOutputFunction"],["impl StructuralPartialEq for CameraTrackingTargetData"],["impl StructuralPartialEq for MavTunnelPayloadType"],["impl StructuralPartialEq for MissionState"],["impl StructuralPartialEq for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for LOG_REQUEST_DATA_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl StructuralPartialEq for SCALED_PRESSURE2_DATA"],["impl StructuralPartialEq for LOGGING_ACK_DATA"],["impl StructuralPartialEq for HIGH_LATENCY2_DATA"],["impl StructuralPartialEq for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl StructuralPartialEq for GPS_INPUT_DATA"],["impl StructuralPartialEq for OSD_PARAM_SHOW_CONFIG_DATA"],["impl StructuralPartialEq for RADIO_STATUS_DATA"],["impl StructuralPartialEq for VFR_HUD_DATA"],["impl StructuralPartialEq for SAFETY_SET_ALLOWED_AREA_DATA"],["impl StructuralPartialEq for SCALED_PRESSURE3_DATA"],["impl StructuralPartialEq for RC_CHANNELS_SCALED_DATA"],["impl StructuralPartialEq for UavionixAdsbOutCfgAircraftSize"],["impl StructuralPartialEq for GPS_RTCM_DATA_DATA"],["impl StructuralPartialEq for SUPPORTED_TUNES_DATA"],["impl StructuralPartialEq for MavOdidVerAcc"],["impl StructuralPartialEq for LINK_NODE_STATUS_DATA"],["impl StructuralPartialEq for RADIO_DATA"],["impl StructuralPartialEq for UavcanNodeMode"],["impl StructuralPartialEq for MavBatteryMode"],["impl StructuralPartialEq for MavOdidVerAcc"],["impl StructuralPartialEq for GIMBAL_MANAGER_INFORMATION_DATA"],["impl StructuralPartialEq for ENCAPSULATED_DATA_DATA"],["impl StructuralPartialEq for GOPRO_GET_REQUEST_DATA"],["impl StructuralPartialEq for DATA16_DATA"],["impl StructuralPartialEq for RAW_IMU_DATA"],["impl StructuralPartialEq for CANFD_FRAME_DATA"],["impl StructuralPartialEq for StorageUsageFlag"],["impl StructuralPartialEq for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl StructuralPartialEq for GimbalDeviceFlags"],["impl StructuralPartialEq for CAMERA_INFORMATION_DATA"],["impl StructuralPartialEq for MavParamExtType"],["impl StructuralPartialEq for UtmDataAvailFlags"],["impl StructuralPartialEq for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl StructuralPartialEq for SET_ATTITUDE_TARGET_DATA"],["impl StructuralPartialEq for CameraTrackingStatusFlags"],["impl StructuralPartialEq for AHRS3_DATA"],["impl StructuralPartialEq for MavCollisionSrc"],["impl StructuralPartialEq for TIMESYNC_DATA"],["impl StructuralPartialEq for COMPONENT_METADATA_DATA"],["impl StructuralPartialEq for UavcanNodeMode"],["impl StructuralPartialEq for SAFETY_ALLOWED_AREA_DATA"],["impl StructuralPartialEq for CAN_FRAME_DATA"],["impl StructuralPartialEq for GLOBAL_POSITION_INT_COV_DATA"],["impl StructuralPartialEq for TERRAIN_REPORT_DATA"],["impl StructuralPartialEq for COMMAND_CANCEL_DATA"],["impl StructuralPartialEq for CAMERA_IMAGE_CAPTURED_DATA"],["impl StructuralPartialEq for REMOTE_LOG_DATA_BLOCK_DATA"],["impl StructuralPartialEq for UTM_GLOBAL_POSITION_DATA"],["impl StructuralPartialEq for PARAM_EXT_REQUEST_LIST_DATA"],["impl StructuralPartialEq for ATT_POS_MOCAP_DATA"],["impl StructuralPartialEq for MISSION_ITEM_INT_DATA"],["impl StructuralPartialEq for ESC_STATUS_DATA"],["impl StructuralPartialEq for FirmwareVersionType"],["impl StructuralPartialEq for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl StructuralPartialEq for DEBUG_DATA"],["impl StructuralPartialEq for UAVCAN_NODE_STATUS_DATA"],["impl StructuralPartialEq for CameraFeedbackFlags"],["impl StructuralPartialEq for TERRAIN_REQUEST_DATA"],["impl StructuralPartialEq for MavCmdAck"],["impl StructuralPartialEq for GPS_INJECT_DATA_DATA"],["impl StructuralPartialEq for MissionState"],["impl StructuralPartialEq for CELLULAR_STATUS_DATA"],["impl StructuralPartialEq for VtolTransitionHeading"],["impl StructuralPartialEq for SerialControlFlag"],["impl StructuralPartialEq for COMPONENT_METADATA_DATA"],["impl StructuralPartialEq for MavBatteryChargeState"],["impl StructuralPartialEq for SYS_STATUS_DATA"],["impl StructuralPartialEq for LANDING_TARGET_DATA"],["impl StructuralPartialEq for VISION_SPEED_ESTIMATE_DATA"],["impl StructuralPartialEq for CameraMode"],["impl StructuralPartialEq for LandingTargetType"],["impl StructuralPartialEq for CAMERA_FOV_STATUS_DATA"],["impl StructuralPartialEq for SerialControlDev"],["impl StructuralPartialEq for SetFocusType"],["impl StructuralPartialEq for HIL_GPS_DATA"],["impl StructuralPartialEq for CAN_FILTER_MODIFY_DATA"],["impl StructuralPartialEq for MISSION_ITEM_REACHED_DATA"],["impl StructuralPartialEq for TuneFormat"],["impl StructuralPartialEq for EVENT_DATA"],["impl StructuralPartialEq for HOME_POSITION_DATA"],["impl StructuralPartialEq for MavBatteryFunction"],["impl StructuralPartialEq for MavRoi"],["impl StructuralPartialEq for LOG_REQUEST_LIST_DATA"],["impl StructuralPartialEq for MavBatteryFault"],["impl StructuralPartialEq for GoproVideoSettingsFlags"],["impl StructuralPartialEq for PARAM_EXT_REQUEST_READ_DATA"],["impl StructuralPartialEq for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl StructuralPartialEq for MavOdidClassificationType"],["impl StructuralPartialEq for ActuatorConfiguration"],["impl StructuralPartialEq for ADAP_TUNING_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl StructuralPartialEq for MavAutopilot"],["impl StructuralPartialEq for HIL_STATE_QUATERNION_DATA"],["impl StructuralPartialEq for PreflightStorageMissionAction"],["impl StructuralPartialEq for MavMissionResult"],["impl StructuralPartialEq for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl StructuralPartialEq for GpsFixType"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl StructuralPartialEq for PARAM_EXT_ACK_DATA"],["impl StructuralPartialEq for CameraStatusTypes"],["impl StructuralPartialEq for MISSION_REQUEST_DATA"],["impl StructuralPartialEq for MISSION_SET_CURRENT_DATA"],["impl StructuralPartialEq for REQUEST_DATA_STREAM_DATA"],["impl StructuralPartialEq for COMMAND_INT_DATA"],["impl StructuralPartialEq for VISION_SPEED_ESTIMATE_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_INFORMATION_DATA"],["impl StructuralPartialEq for MavOdidClassificationType"],["impl StructuralPartialEq for NAMED_VALUE_FLOAT_DATA"],["impl StructuralPartialEq for REQUEST_DATA_STREAM_DATA"],["impl StructuralPartialEq for WIFI_CONFIG_AP_DATA"],["impl StructuralPartialEq for UavionixAdsbOutRfSelect"],["impl StructuralPartialEq for ATTITUDE_QUATERNION_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl StructuralPartialEq for GOPRO_SET_RESPONSE_DATA"],["impl StructuralPartialEq for EscConnectionType"],["impl StructuralPartialEq for ACTUATOR_OUTPUT_STATUS_DATA"],["impl StructuralPartialEq for LedControlPattern"],["impl StructuralPartialEq for GPS_GLOBAL_ORIGIN_DATA"],["impl StructuralPartialEq for MotorTestOrder"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl StructuralPartialEq for V2_EXTENSION_DATA"],["impl StructuralPartialEq for ADSB_VEHICLE_DATA"],["impl StructuralPartialEq for PARAM_EXT_ACK_DATA"],["impl StructuralPartialEq for GIMBAL_REPORT_DATA"],["impl StructuralPartialEq for UavionixAdsbRfHealth"],["impl StructuralPartialEq for RAW_IMU_DATA"],["impl StructuralPartialEq for MavOdidArmStatus"],["impl StructuralPartialEq for GPS_INPUT_DATA"],["impl StructuralPartialEq for LOG_DATA_DATA"],["impl StructuralPartialEq for MavMountMode"],["impl StructuralPartialEq for ESC_INFO_DATA"],["impl StructuralPartialEq for WIND_COV_DATA"],["impl StructuralPartialEq for VtolTransitionHeading"],["impl StructuralPartialEq for LOCAL_POSITION_NED_COV_DATA"],["impl StructuralPartialEq for MavMode"],["impl StructuralPartialEq for HIL_CONTROLS_DATA"],["impl StructuralPartialEq for MavType"],["impl StructuralPartialEq for CAMERA_SETTINGS_DATA"],["impl StructuralPartialEq for MavType"],["impl StructuralPartialEq for MISSION_REQUEST_DATA"],["impl StructuralPartialEq for GoproFrameRate"],["impl StructuralPartialEq for LOGGING_ACK_DATA"],["impl StructuralPartialEq for FenceAction"],["impl StructuralPartialEq for NAV_CONTROLLER_OUTPUT_DATA"],["impl StructuralPartialEq for PARAM_MAP_RC_DATA"],["impl StructuralPartialEq for AIS_VESSEL_DATA"],["impl StructuralPartialEq for ISBD_LINK_STATUS_DATA"],["impl StructuralPartialEq for MavCollisionAction"],["impl StructuralPartialEq for WifiConfigApMode"],["impl StructuralPartialEq for MavOdidVerAcc"],["impl StructuralPartialEq for MavOdidUaType"],["impl StructuralPartialEq for GimbalDeviceErrorFlags"],["impl StructuralPartialEq for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl StructuralPartialEq for POSITION_TARGET_GLOBAL_INT_DATA"],["impl StructuralPartialEq for MavType"],["impl StructuralPartialEq for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl StructuralPartialEq for MavOdidSpeedAcc"],["impl StructuralPartialEq for AOA_SSA_DATA"],["impl StructuralPartialEq for MavOdidAuthType"],["impl StructuralPartialEq for BUTTON_CHANGE_DATA"],["impl StructuralPartialEq for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl StructuralPartialEq for MavBatteryFunction"],["impl StructuralPartialEq for PING_DATA"],["impl StructuralPartialEq for PROTOCOL_VERSION_DATA"],["impl StructuralPartialEq for NAMED_VALUE_FLOAT_DATA"],["impl StructuralPartialEq for VICON_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for MissionState"],["impl StructuralPartialEq for CAMERA_CAPTURE_STATUS_DATA"],["impl StructuralPartialEq for NAMED_VALUE_FLOAT_DATA"],["impl StructuralPartialEq for CameraCapFlags"],["impl StructuralPartialEq for MavOdidArmStatus"],["impl StructuralPartialEq for OPTICAL_FLOW_RAD_DATA"],["impl StructuralPartialEq for POWER_STATUS_DATA"],["impl StructuralPartialEq for HIL_ACTUATOR_CONTROLS_DATA"],["impl StructuralPartialEq for LOGGING_DATA_DATA"],["impl StructuralPartialEq for REQUEST_EVENT_DATA"],["impl StructuralPartialEq for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl StructuralPartialEq for HilSensorUpdatedFlags"],["impl StructuralPartialEq for EKF_STATUS_REPORT_DATA"],["impl StructuralPartialEq for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl StructuralPartialEq for MavEventCurrentSequenceFlags"],["impl StructuralPartialEq for MavlinkDataStreamType"],["impl StructuralPartialEq for RcType"],["impl StructuralPartialEq for DIGICAM_CONFIGURE_DATA"],["impl StructuralPartialEq for DEEPSTALL_DATA"],["impl StructuralPartialEq for MEMORY_VECT_DATA"],["impl StructuralPartialEq for SAFETY_SET_ALLOWED_AREA_DATA"],["impl StructuralPartialEq for MavOdidClassificationType"],["impl StructuralPartialEq for LOCAL_POSITION_NED_COV_DATA"],["impl StructuralPartialEq for AisType"],["impl StructuralPartialEq for RAW_RPM_DATA"],["impl StructuralPartialEq for MavDoRepositionFlags"],["impl StructuralPartialEq for CAN_FRAME_DATA"],["impl StructuralPartialEq for MavDoRepositionFlags"],["impl StructuralPartialEq for DISTANCE_SENSOR_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_LOCATION_DATA"],["impl StructuralPartialEq for DATA_STREAM_DATA"],["impl StructuralPartialEq for SCALED_PRESSURE_DATA"],["impl StructuralPartialEq for ADSB_VEHICLE_DATA"],["impl StructuralPartialEq for HIL_RC_INPUTS_RAW_DATA"],["impl StructuralPartialEq for MavOdidArmStatus"],["impl StructuralPartialEq for MavCollisionAction"],["impl StructuralPartialEq for VtolTransitionHeading"],["impl StructuralPartialEq for MavArmAuthDeniedReason"],["impl StructuralPartialEq for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl StructuralPartialEq for DATA32_DATA"],["impl StructuralPartialEq for LOCAL_POSITION_NED_DATA"],["impl StructuralPartialEq for PARAM_EXT_REQUEST_READ_DATA"],["impl StructuralPartialEq for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl StructuralPartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl StructuralPartialEq for COLLISION_DATA"],["impl StructuralPartialEq for AccelcalVehiclePos"],["impl StructuralPartialEq for GIMBAL_DEVICE_INFORMATION_DATA"],["impl StructuralPartialEq for FenceMitigate"],["impl StructuralPartialEq for MavRemoteLogDataBlockStatuses"],["impl StructuralPartialEq for RAW_IMU_DATA"],["impl StructuralPartialEq for AdsbAltitudeType"],["impl StructuralPartialEq for WifiConfigApMode"],["impl StructuralPartialEq for PrecisionLandMode"],["impl StructuralPartialEq for ISBD_LINK_STATUS_DATA"],["impl StructuralPartialEq for VIBRATION_DATA"],["impl StructuralPartialEq for UtmDataAvailFlags"],["impl StructuralPartialEq for GimbalDeviceCapFlags"],["impl StructuralPartialEq for CellularNetworkRadioType"],["impl StructuralPartialEq for SMART_BATTERY_INFO_DATA"],["impl StructuralPartialEq for OBSTACLE_DISTANCE_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_INT_DATA"],["impl StructuralPartialEq for OPTICAL_FLOW_DATA"],["impl StructuralPartialEq for MavFtpErr"],["impl StructuralPartialEq for SCALED_IMU_DATA"],["impl StructuralPartialEq for COMPASSMOT_STATUS_DATA"],["impl StructuralPartialEq for HYGROMETER_SENSOR_DATA"],["impl StructuralPartialEq for MavGeneratorStatusFlag"],["impl StructuralPartialEq for SCALED_PRESSURE2_DATA"],["impl StructuralPartialEq for VIDEO_STREAM_INFORMATION_DATA"],["impl StructuralPartialEq for CellularConfigResponse"],["impl StructuralPartialEq for HIGH_LATENCY_DATA"],["impl StructuralPartialEq for PreflightStorageParameterAction"],["impl StructuralPartialEq for PARAM_VALUE_DATA"],["impl StructuralPartialEq for SCALED_IMU2_DATA"],["impl StructuralPartialEq for LOG_ERASE_DATA"],["impl StructuralPartialEq for LOGGING_DATA_ACKED_DATA"],["impl StructuralPartialEq for FILE_TRANSFER_PROTOCOL_DATA"],["impl StructuralPartialEq for VISION_SPEED_ESTIMATE_DATA"],["impl StructuralPartialEq for GIMBAL_CONTROL_DATA"],["impl StructuralPartialEq for MavMountMode"],["impl StructuralPartialEq for STATUSTEXT_DATA"],["impl StructuralPartialEq for MavModeGimbal"],["impl StructuralPartialEq for OrbitYawBehaviour"],["impl StructuralPartialEq for MavSysStatusSensor"],["impl StructuralPartialEq for DEVICE_OP_READ_DATA"],["impl StructuralPartialEq for ACTUATOR_CONTROL_TARGET_DATA"],["impl StructuralPartialEq for GimbalAxis"],["impl StructuralPartialEq for UTM_GLOBAL_POSITION_DATA"],["impl StructuralPartialEq for UavionixAdsbOutCfgGpsOffsetLat"],["impl StructuralPartialEq for ATTITUDE_DATA"],["impl StructuralPartialEq for FLIGHT_INFORMATION_DATA"],["impl StructuralPartialEq for MavAutopilot"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl StructuralPartialEq for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl StructuralPartialEq for FILE_TRANSFER_PROTOCOL_DATA"],["impl StructuralPartialEq for MISSION_ACK_DATA"],["impl StructuralPartialEq for TUNNEL_DATA"],["impl StructuralPartialEq for GPS_RTK_DATA"],["impl StructuralPartialEq for MavFrame"],["impl StructuralPartialEq for WifiConfigApMode"],["impl StructuralPartialEq for OrbitYawBehaviour"],["impl StructuralPartialEq for PARAM_EXT_REQUEST_LIST_DATA"],["impl StructuralPartialEq for GpsInputIgnoreFlags"],["impl StructuralPartialEq for VFR_HUD_DATA"],["impl StructuralPartialEq for HEARTBEAT_DATA"],["impl StructuralPartialEq for MavWinchStatusFlag"],["impl StructuralPartialEq for SIM_STATE_DATA"],["impl StructuralPartialEq for PARAM_EXT_SET_DATA"],["impl StructuralPartialEq for VIBRATION_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl StructuralPartialEq for OPTICAL_FLOW_DATA"],["impl StructuralPartialEq for PLAY_TUNE_V2_DATA"],["impl StructuralPartialEq for ParachuteAction"],["impl StructuralPartialEq for VISION_POSITION_DELTA_DATA"],["impl StructuralPartialEq for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl StructuralPartialEq for CanFilterOp"],["impl StructuralPartialEq for HIL_OPTICAL_FLOW_DATA"],["impl StructuralPartialEq for PARAM_REQUEST_READ_DATA"],["impl StructuralPartialEq for SYS_STATUS_DATA"],["impl StructuralPartialEq for FailureType"],["impl StructuralPartialEq for MavOdidDescType"],["impl StructuralPartialEq for ESC_STATUS_DATA"],["impl StructuralPartialEq for IcarousFmsState"],["impl StructuralPartialEq for STORAGE_INFORMATION_DATA"],["impl StructuralPartialEq for UavionixAdsbOutCfgGpsOffsetLon"],["impl StructuralPartialEq for GLOBAL_POSITION_INT_DATA"],["impl StructuralPartialEq for SYSTEM_TIME_DATA"],["impl StructuralPartialEq for UavionixAdsbOutCfgGpsOffsetLat"],["impl StructuralPartialEq for LandingTargetType"],["impl StructuralPartialEq for PARAM_SET_DATA"],["impl StructuralPartialEq for MavDoRepositionFlags"],["impl StructuralPartialEq for RC_CHANNELS_RAW_DATA"],["impl StructuralPartialEq for MavState"],["impl StructuralPartialEq for ATTITUDE_DATA"],["impl StructuralPartialEq for MavOdidHorAcc"],["impl StructuralPartialEq for WHEEL_DISTANCE_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl StructuralPartialEq for AisFlags"],["impl StructuralPartialEq for ParachuteAction"],["impl StructuralPartialEq for MISSION_ACK_DATA"],["impl StructuralPartialEq for TUNNEL_DATA"],["impl StructuralPartialEq for DEBUG_VECT_DATA"],["impl StructuralPartialEq for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl StructuralPartialEq for TIME_ESTIMATE_TO_TARGET_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl StructuralPartialEq for ParachuteAction"],["impl StructuralPartialEq for MavDistanceSensor"],["impl StructuralPartialEq for REQUEST_EVENT_DATA"],["impl StructuralPartialEq for GPS_INJECT_DATA_DATA"],["impl StructuralPartialEq for FILE_TRANSFER_PROTOCOL_DATA"],["impl StructuralPartialEq for HIL_STATE_QUATERNION_DATA"],["impl StructuralPartialEq for EFI_STATUS_DATA"],["impl StructuralPartialEq for NAMED_VALUE_INT_DATA"],["impl StructuralPartialEq for GimbalDeviceErrorFlags"],["impl StructuralPartialEq for ESTIMATOR_STATUS_DATA"],["impl StructuralPartialEq for CUBEPILOT_RAW_RC_DATA"],["impl StructuralPartialEq for CAMERA_CAPTURE_STATUS_DATA"],["impl StructuralPartialEq for VICON_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl StructuralPartialEq for MavEventCurrentSequenceFlags"],["impl StructuralPartialEq for MavGeneratorStatusFlag"],["impl StructuralPartialEq for DEBUG_FLOAT_ARRAY_DATA"],["impl StructuralPartialEq for MavFtpErr"],["impl StructuralPartialEq for AisNavStatus"],["impl StructuralPartialEq for VideoStreamStatusFlags"],["impl StructuralPartialEq for CameraZoomType"],["impl StructuralPartialEq for PARAM_SET_DATA"],["impl StructuralPartialEq for PreflightStorageMissionAction"],["impl StructuralPartialEq for MISSION_CURRENT_DATA"],["impl StructuralPartialEq for MISSION_ITEM_REACHED_DATA"],["impl StructuralPartialEq for MavOdidUaType"],["impl StructuralPartialEq for AisFlags"],["impl StructuralPartialEq for MISSION_REQUEST_INT_DATA"],["impl StructuralPartialEq for MavCmd"],["impl StructuralPartialEq for SERIAL_CONTROL_DATA"],["impl StructuralPartialEq for MavWinchStatusFlag"],["impl StructuralPartialEq for MavModeFlag"],["impl StructuralPartialEq for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl StructuralPartialEq for StorageType"],["impl StructuralPartialEq for TIMESYNC_DATA"],["impl StructuralPartialEq for NAMED_VALUE_INT_DATA"],["impl StructuralPartialEq for GoproCharging"],["impl StructuralPartialEq for GimbalDeviceCapFlags"],["impl StructuralPartialEq for GoproResolution"],["impl StructuralPartialEq for OPTICAL_FLOW_RAD_DATA"],["impl StructuralPartialEq for PreflightStorageParameterAction"],["impl StructuralPartialEq for SerialControlFlag"],["impl StructuralPartialEq for ORBIT_EXECUTION_STATUS_DATA"],["impl StructuralPartialEq for GPS_STATUS_DATA"],["impl StructuralPartialEq for LED_CONTROL_DATA"],["impl StructuralPartialEq for LINK_NODE_STATUS_DATA"],["impl StructuralPartialEq for MavModeFlag"],["impl StructuralPartialEq for UtmFlightState"],["impl StructuralPartialEq for PARAM_EXT_VALUE_DATA"],["impl StructuralPartialEq for FailureUnit"],["impl StructuralPartialEq for LANDING_TARGET_DATA"],["impl StructuralPartialEq for AutotuneAxis"],["impl StructuralPartialEq for MavCmdAck"],["impl StructuralPartialEq for DEBUG_DATA"],["impl StructuralPartialEq for COMMAND_ACK_DATA"],["impl StructuralPartialEq for DISTANCE_SENSOR_DATA"],["impl StructuralPartialEq for WATER_DEPTH_DATA"],["impl StructuralPartialEq for LOG_ERASE_DATA"],["impl StructuralPartialEq for AUTOPILOT_VERSION_DATA"],["impl StructuralPartialEq for PID_TUNING_DATA"],["impl StructuralPartialEq for MavArmAuthDeniedReason"],["impl StructuralPartialEq for LOG_REQUEST_END_DATA"],["impl StructuralPartialEq for HilSensorUpdatedFlags"],["impl StructuralPartialEq for ADSB_VEHICLE_DATA"],["impl StructuralPartialEq for StorageStatus"],["impl StructuralPartialEq for MavModeFlagDecodePosition"],["impl StructuralPartialEq for PositionTargetTypemask"],["impl StructuralPartialEq for MavOdidHeightRef"],["impl StructuralPartialEq for ESC_INFO_DATA"],["impl StructuralPartialEq for CompMetadataType"],["impl StructuralPartialEq for ALTITUDE_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_SELF_ID_DATA"],["impl StructuralPartialEq for SERIAL_CONTROL_DATA"],["impl StructuralPartialEq for MavModeFlagDecodePosition"],["impl StructuralPartialEq for COMMAND_CANCEL_DATA"],["impl StructuralPartialEq for REQUEST_EVENT_DATA"],["impl StructuralPartialEq for ESC_TELEMETRY_1_TO_4_DATA"],["impl StructuralPartialEq for MotorTestOrder"],["impl StructuralPartialEq for FenceMitigate"],["impl StructuralPartialEq for MavOdidCategoryEu"],["impl StructuralPartialEq for SCALED_IMU3_DATA"],["impl StructuralPartialEq for RcType"],["impl StructuralPartialEq for OsdParamConfigError"],["impl StructuralPartialEq for MavSeverity"],["impl StructuralPartialEq for SETUP_SIGNING_DATA"],["impl StructuralPartialEq for HIL_SENSOR_DATA"],["impl StructuralPartialEq for MISSION_CLEAR_ALL_DATA"],["impl StructuralPartialEq for SET_ATTITUDE_TARGET_DATA"],["impl StructuralPartialEq for MavGoto"],["impl StructuralPartialEq for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl StructuralPartialEq for TERRAIN_REPORT_DATA"],["impl StructuralPartialEq for PARAM_REQUEST_READ_DATA"],["impl StructuralPartialEq for PARAM_EXT_REQUEST_READ_DATA"],["impl StructuralPartialEq for DATA_STREAM_DATA"],["impl StructuralPartialEq for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl StructuralPartialEq for ATT_POS_MOCAP_DATA"],["impl StructuralPartialEq for StorageStatus"],["impl StructuralPartialEq for AUTOPILOT_VERSION_REQUEST_DATA"],["impl StructuralPartialEq for DATA64_DATA"],["impl StructuralPartialEq for MOUNT_STATUS_DATA"],["impl StructuralPartialEq for HIGHRES_IMU_DATA"],["impl StructuralPartialEq for CanFilterOp"],["impl StructuralPartialEq for SET_HOME_POSITION_DATA"],["impl StructuralPartialEq for ATTITUDE_TARGET_DATA"],["impl StructuralPartialEq for TIME_ESTIMATE_TO_TARGET_DATA"],["impl StructuralPartialEq for PositionTargetTypemask"],["impl StructuralPartialEq for AisType"],["impl StructuralPartialEq for MavTunnelPayloadType"],["impl StructuralPartialEq for MavParamType"],["impl StructuralPartialEq for PING_DATA"],["impl StructuralPartialEq for MavGoto"],["impl StructuralPartialEq for SETUP_SIGNING_DATA"],["impl StructuralPartialEq for RADIO_STATUS_DATA"],["impl StructuralPartialEq for RC_CHANNELS_RAW_DATA"],["impl StructuralPartialEq for UavionixAdsbEmergencyStatus"],["impl StructuralPartialEq for GLOBAL_POSITION_INT_DATA"],["impl StructuralPartialEq for UavionixAdsbOutDynamicState"],["impl StructuralPartialEq for UAVCAN_NODE_STATUS_DATA"],["impl StructuralPartialEq for MAG_CAL_PROGRESS_DATA"],["impl StructuralPartialEq for OPTICAL_FLOW_DATA"],["impl StructuralPartialEq for MavHeader"],["impl StructuralPartialEq for StorageUsageFlag"],["impl StructuralPartialEq for CONTROL_SYSTEM_STATE_DATA"],["impl StructuralPartialEq for CameraTrackingTargetData"],["impl StructuralPartialEq for MavOdidDescType"],["impl StructuralPartialEq for COMMAND_LONG_DATA"],["impl StructuralPartialEq for CellularNetworkFailedReason"],["impl StructuralPartialEq for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl StructuralPartialEq for ScriptingCmd"],["impl StructuralPartialEq for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl StructuralPartialEq for DeviceOpBustype"],["impl StructuralPartialEq for MavSysStatusSensorExtended"],["impl StructuralPartialEq for CanFilterOp"],["impl StructuralPartialEq for SCALED_IMU3_DATA"],["impl StructuralPartialEq for IcarousFmsState"],["impl StructuralPartialEq for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl StructuralPartialEq for GOPRO_SET_REQUEST_DATA"],["impl StructuralPartialEq for SUPPORTED_TUNES_DATA"],["impl StructuralPartialEq for MavBatteryMode"],["impl StructuralPartialEq for MESSAGE_INTERVAL_DATA"],["impl StructuralPartialEq for GENERATOR_STATUS_DATA"],["impl StructuralPartialEq for GoproHeartbeatFlags"],["impl StructuralPartialEq for FailureType"],["impl StructuralPartialEq for MISSION_SET_CURRENT_DATA"],["impl StructuralPartialEq for GPS_INJECT_DATA_DATA"],["impl StructuralPartialEq for COMPONENT_METADATA_DATA"],["impl StructuralPartialEq for MavOdidTimeAcc"],["impl StructuralPartialEq for MavEstimatorType"],["impl StructuralPartialEq for SET_HOME_POSITION_DATA"],["impl StructuralPartialEq for GPS_RTK_DATA"],["impl StructuralPartialEq for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for PROTOCOL_VERSION_DATA"],["impl StructuralPartialEq for HIL_RC_INPUTS_RAW_DATA"],["impl StructuralPartialEq for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl StructuralPartialEq for PLAY_TUNE_V2_DATA"],["impl StructuralPartialEq for PARAM_EXT_SET_DATA"],["impl StructuralPartialEq for SCALED_IMU3_DATA"],["impl StructuralPartialEq for CAMERA_CAPTURE_STATUS_DATA"],["impl StructuralPartialEq for MavSeverity"],["impl StructuralPartialEq for EXTENDED_SYS_STATE_DATA"],["impl StructuralPartialEq for COMMAND_ACK_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_STATUS_DATA"],["impl StructuralPartialEq for MavOdidDescType"],["impl StructuralPartialEq for MavMissionType"],["impl StructuralPartialEq for EkfStatusFlags"],["impl StructuralPartialEq for MavDataStream"],["impl StructuralPartialEq for EscFailureFlags"],["impl StructuralPartialEq for MavlinkDataStreamType"],["impl StructuralPartialEq for COMMAND_INT_DATA"],["impl StructuralPartialEq for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl StructuralPartialEq for CellularStatusFlag"],["impl StructuralPartialEq for UAVCAN_NODE_INFO_DATA"],["impl StructuralPartialEq for MAVLinkV2MessageRaw"],["impl StructuralPartialEq for VideoStreamStatusFlags"],["impl StructuralPartialEq for MavParamType"],["impl StructuralPartialEq for MavModeFlagDecodePosition"],["impl StructuralPartialEq for SET_MODE_DATA"],["impl StructuralPartialEq for GoproBurstRate"],["impl StructuralPartialEq for SERVO_OUTPUT_RAW_DATA"],["impl StructuralPartialEq for NAV_CONTROLLER_OUTPUT_DATA"],["impl StructuralPartialEq for SET_MAG_OFFSETS_DATA"],["impl StructuralPartialEq for MavMissionType"],["impl StructuralPartialEq for HOME_POSITION_DATA"],["impl StructuralPartialEq for MavParamExtType"],["impl StructuralPartialEq for GPS_RTCM_DATA_DATA"],["impl StructuralPartialEq for POSITION_TARGET_GLOBAL_INT_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl StructuralPartialEq for SerialControlDev"],["impl StructuralPartialEq for ESC_TELEMETRY_9_TO_12_DATA"],["impl StructuralPartialEq for AdsbEmitterType"],["impl StructuralPartialEq for GIMBAL_MANAGER_STATUS_DATA"],["impl StructuralPartialEq for MavRoi"],["impl StructuralPartialEq for CameraZoomType"],["impl StructuralPartialEq for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_LIST_DATA"],["impl StructuralPartialEq for UavcanNodeHealth"],["impl StructuralPartialEq for DATA96_DATA"],["impl StructuralPartialEq for MavParamExtType"],["impl StructuralPartialEq for LimitsState"],["impl StructuralPartialEq for MavOdidStatus"],["impl StructuralPartialEq for ONBOARD_COMPUTER_STATUS_DATA"],["impl StructuralPartialEq for HIL_SENSOR_DATA"],["impl StructuralPartialEq for GimbalManagerFlags"],["impl StructuralPartialEq for COLLISION_DATA"],["impl StructuralPartialEq for AIS_VESSEL_DATA"],["impl StructuralPartialEq for MavOdidHorAcc"],["impl StructuralPartialEq for HIGH_LATENCY2_DATA"],["impl StructuralPartialEq for HIL_RC_INPUTS_RAW_DATA"],["impl StructuralPartialEq for DEBUG_VECT_DATA"],["impl StructuralPartialEq for V2_EXTENSION_DATA"],["impl StructuralPartialEq for UavionixAdsbOutCfgGpsOffsetLon"],["impl StructuralPartialEq for FenceBreach"],["impl StructuralPartialEq for MOUNT_CONTROL_DATA"],["impl StructuralPartialEq for MavBatteryType"],["impl StructuralPartialEq for RAW_PRESSURE_DATA"],["impl StructuralPartialEq for CAMERA_SETTINGS_DATA"],["impl StructuralPartialEq for TuneFormat"],["impl StructuralPartialEq for OPEN_DRONE_ID_SELF_ID_DATA"],["impl StructuralPartialEq for SIM_STATE_DATA"],["impl StructuralPartialEq for CELLULAR_CONFIG_DATA"],["impl StructuralPartialEq for AisType"],["impl StructuralPartialEq for MOUNT_ORIENTATION_DATA"],["impl StructuralPartialEq for ODOMETRY_DATA"],["impl StructuralPartialEq for SCALED_IMU2_DATA"],["impl StructuralPartialEq for HIGH_LATENCY_DATA"],["impl StructuralPartialEq for LINK_NODE_STATUS_DATA"],["impl StructuralPartialEq for MavDataStream"],["impl StructuralPartialEq for MOUNT_CONFIGURE_DATA"],["impl StructuralPartialEq for AttitudeTargetTypemask"],["impl StructuralPartialEq for BUTTON_CHANGE_DATA"],["impl StructuralPartialEq for GimbalManagerFlags"],["impl StructuralPartialEq for MavVtolState"],["impl StructuralPartialEq for MISSION_ACK_DATA"],["impl StructuralPartialEq for ESTIMATOR_STATUS_DATA"],["impl StructuralPartialEq for GPS_GLOBAL_ORIGIN_DATA"],["impl StructuralPartialEq for DATA_STREAM_DATA"],["impl StructuralPartialEq for ACTUATOR_OUTPUT_STATUS_DATA"],["impl StructuralPartialEq for MAG_CAL_REPORT_DATA"],["impl StructuralPartialEq for UAVCAN_NODE_STATUS_DATA"],["impl StructuralPartialEq for GoproFieldOfView"],["impl StructuralPartialEq for LOGGING_ACK_DATA"],["impl StructuralPartialEq for MavGeneratorStatusFlag"],["impl StructuralPartialEq for FENCE_STATUS_DATA"],["impl StructuralPartialEq for WIFI_CONFIG_AP_DATA"],["impl StructuralPartialEq for CellularConfigResponse"],["impl StructuralPartialEq for RC_CHANNELS_SCALED_DATA"],["impl StructuralPartialEq for WINCH_STATUS_DATA"],["impl StructuralPartialEq for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl StructuralPartialEq for MavModeFlag"],["impl StructuralPartialEq for IcarousTrackBandTypes"],["impl StructuralPartialEq for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl StructuralPartialEq for PLAY_TUNE_DATA"],["impl StructuralPartialEq for MavSeverity"],["impl StructuralPartialEq for MavState"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl StructuralPartialEq for FirmwareVersionType"],["impl StructuralPartialEq for OrbitYawBehaviour"],["impl StructuralPartialEq for MANUAL_SETPOINT_DATA"],["impl StructuralPartialEq for TERRAIN_CHECK_DATA"],["impl StructuralPartialEq for SUPPORTED_TUNES_DATA"],["impl StructuralPartialEq for CellularStatusFlag"],["impl StructuralPartialEq for MavOdidClassEu"],["impl StructuralPartialEq for FenceAction"],["impl StructuralPartialEq for MavOdidUaType"],["impl StructuralPartialEq for UTM_GLOBAL_POSITION_DATA"],["impl StructuralPartialEq for LOG_REQUEST_LIST_DATA"],["impl StructuralPartialEq for ACTUATOR_CONTROL_TARGET_DATA"],["impl StructuralPartialEq for HIL_GPS_DATA"],["impl StructuralPartialEq for SerialControlDev"],["impl StructuralPartialEq for AisNavStatus"],["impl StructuralPartialEq for RtkBaselineCoordinateSystem"],["impl StructuralPartialEq for PARAM_EXT_ACK_DATA"],["impl StructuralPartialEq for CURRENT_EVENT_SEQUENCE_DATA"],["impl StructuralPartialEq for ONBOARD_COMPUTER_STATUS_DATA"],["impl StructuralPartialEq for MavMessage"],["impl StructuralPartialEq for CAN_FILTER_MODIFY_DATA"],["impl StructuralPartialEq for MavProtocolCapability"],["impl StructuralPartialEq for GoproCaptureMode"],["impl StructuralPartialEq for GripperActions"],["impl StructuralPartialEq for MavCollisionAction"],["impl StructuralPartialEq for WINCH_STATUS_DATA"],["impl StructuralPartialEq for STORAGE_INFORMATION_DATA"],["impl StructuralPartialEq for WifiConfigApResponse"],["impl StructuralPartialEq for MavBatteryType"],["impl StructuralPartialEq for ICAROUS_KINEMATIC_BANDS_DATA"],["impl StructuralPartialEq for CANFD_FRAME_DATA"],["impl StructuralPartialEq for MavComponent"],["impl StructuralPartialEq for MavOdidAuthType"],["impl StructuralPartialEq for MavTunnelPayloadType"],["impl StructuralPartialEq for COMPONENT_INFORMATION_DATA"],["impl StructuralPartialEq for AisFlags"],["impl StructuralPartialEq for MavSensorOrientation"],["impl StructuralPartialEq for GPS_RAW_INT_DATA"],["impl StructuralPartialEq for LOG_ENTRY_DATA"],["impl StructuralPartialEq for PARAM_EXT_VALUE_DATA"],["impl StructuralPartialEq for StorageType"],["impl StructuralPartialEq for MavBatteryMode"],["impl StructuralPartialEq for HeadingType"],["impl StructuralPartialEq for VIBRATION_DATA"],["impl StructuralPartialEq for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl StructuralPartialEq for HYGROMETER_SENSOR_DATA"],["impl StructuralPartialEq for SET_MODE_DATA"],["impl StructuralPartialEq for CameraTrackingMode"],["impl StructuralPartialEq for RESPONSE_EVENT_ERROR_DATA"],["impl StructuralPartialEq for LOG_DATA_DATA"],["impl StructuralPartialEq for DEVICE_OP_READ_REPLY_DATA"],["impl StructuralPartialEq for TERRAIN_REQUEST_DATA"],["impl StructuralPartialEq for VIDEO_STREAM_STATUS_DATA"],["impl StructuralPartialEq for CameraTrackingTargetData"],["impl StructuralPartialEq for DEBUG_DATA"],["impl StructuralPartialEq for WinchActions"],["impl StructuralPartialEq for RADIO_STATUS_DATA"],["impl StructuralPartialEq for CameraZoomType"],["impl StructuralPartialEq for MagCalStatus"],["impl StructuralPartialEq for EstimatorStatusFlags"],["impl StructuralPartialEq for VISION_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for CAMERA_FOV_STATUS_DATA"],["impl StructuralPartialEq for GoproHeartbeatStatus"],["impl StructuralPartialEq for StorageType"],["impl StructuralPartialEq for PreflightStorageParameterAction"],["impl StructuralPartialEq for BATTERY_STATUS_DATA"],["impl StructuralPartialEq for PrecisionLandMode"],["impl StructuralPartialEq for FenceMitigate"],["impl StructuralPartialEq for MAG_CAL_REPORT_DATA"],["impl StructuralPartialEq for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl StructuralPartialEq for LOCAL_POSITION_NED_COV_DATA"],["impl StructuralPartialEq for AttitudeTargetTypemask"],["impl StructuralPartialEq for CHANGE_OPERATOR_CONTROL_DATA"],["impl StructuralPartialEq for MavOdidStatus"],["impl StructuralPartialEq for GLOBAL_POSITION_INT_DATA"],["impl StructuralPartialEq for VISION_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for SCALED_PRESSURE3_DATA"],["impl StructuralPartialEq for MavMode"],["impl StructuralPartialEq for AUTH_KEY_DATA"],["impl StructuralPartialEq for ATTITUDE_DATA"],["impl StructuralPartialEq for MavCollisionSrc"],["impl StructuralPartialEq for PARAM_REQUEST_LIST_DATA"],["impl StructuralPartialEq for CameraTrackingStatusFlags"],["impl StructuralPartialEq for LOG_REQUEST_END_DATA"],["impl StructuralPartialEq for NAV_CONTROLLER_OUTPUT_DATA"],["impl StructuralPartialEq for GIMBAL_DEVICE_INFORMATION_DATA"],["impl StructuralPartialEq for CURRENT_EVENT_SEQUENCE_DATA"],["impl StructuralPartialEq for LOG_REQUEST_DATA_DATA"],["impl StructuralPartialEq for DIGICAM_CONTROL_DATA"],["impl StructuralPartialEq for MISSION_ITEM_DATA"],["impl StructuralPartialEq for HIL_SENSOR_DATA"],["impl StructuralPartialEq for MANUAL_SETPOINT_DATA"],["impl StructuralPartialEq for RAW_RPM_DATA"],["impl StructuralPartialEq for GripperActions"],["impl StructuralPartialEq for TIME_ESTIMATE_TO_TARGET_DATA"],["impl StructuralPartialEq for MavEventErrorReason"],["impl StructuralPartialEq for GoproRequestStatus"],["impl StructuralPartialEq for SCALED_PRESSURE2_DATA"],["impl StructuralPartialEq for MavOdidTimeAcc"],["impl StructuralPartialEq for MavCmd"],["impl StructuralPartialEq for CELLULAR_STATUS_DATA"],["impl StructuralPartialEq for SAFETY_ALLOWED_AREA_DATA"],["impl StructuralPartialEq for MavOdidSpeedAcc"],["impl StructuralPartialEq for ATTITUDE_QUATERNION_COV_DATA"],["impl StructuralPartialEq for HEARTBEAT_DATA"],["impl StructuralPartialEq for MavOdidCategoryEu"],["impl StructuralPartialEq for ODOMETRY_DATA"],["impl StructuralPartialEq for GoproModel"],["impl StructuralPartialEq for MISSION_SET_CURRENT_DATA"],["impl StructuralPartialEq for MavEstimatorType"],["impl StructuralPartialEq for MISSION_ITEM_DATA"],["impl StructuralPartialEq for MavProtocolCapability"],["impl StructuralPartialEq for FOLLOW_TARGET_DATA"],["impl StructuralPartialEq for FailureUnit"],["impl StructuralPartialEq for AutotuneAxis"],["impl StructuralPartialEq for HIL_STATE_DATA"],["impl StructuralPartialEq for GimbalAxisCalibrationStatus"],["impl StructuralPartialEq for MavCollisionThreatLevel"],["impl StructuralPartialEq for LOG_ERASE_DATA"],["impl StructuralPartialEq for LOG_DATA_DATA"],["impl StructuralPartialEq for FenceBreach"],["impl StructuralPartialEq for MEMORY_VECT_DATA"],["impl StructuralPartialEq for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl StructuralPartialEq for ActuatorConfiguration"],["impl StructuralPartialEq for GoproProtuneGain"],["impl StructuralPartialEq for OPEN_DRONE_ID_SELF_ID_DATA"],["impl StructuralPartialEq for HighresImuUpdatedFlags"],["impl StructuralPartialEq for EFI_STATUS_DATA"],["impl StructuralPartialEq for PLAY_TUNE_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_DATA"],["impl StructuralPartialEq for RallyFlags"],["impl StructuralPartialEq for MotorTestThrottleType"],["impl StructuralPartialEq for StorageStatus"],["impl StructuralPartialEq for HIL_OPTICAL_FLOW_DATA"],["impl StructuralPartialEq for OSD_PARAM_CONFIG_REPLY_DATA"],["impl StructuralPartialEq for LIMITS_STATUS_DATA"],["impl StructuralPartialEq for HIL_OPTICAL_FLOW_DATA"],["impl StructuralPartialEq for RoverMode"],["impl StructuralPartialEq for FENCE_POINT_DATA"],["impl StructuralPartialEq for MavArmAuthDeniedReason"],["impl StructuralPartialEq for AUTOPILOT_VERSION_DATA"],["impl StructuralPartialEq for NavVtolLandOptions"],["impl StructuralPartialEq for CAMERA_TRIGGER_DATA"],["impl StructuralPartialEq for CompMetadataType"],["impl StructuralPartialEq for OPEN_DRONE_ID_SYSTEM_DATA"],["impl StructuralPartialEq for AP_ADC_DATA"],["impl StructuralPartialEq for VideoStreamStatusFlags"],["impl StructuralPartialEq for WINCH_STATUS_DATA"],["impl StructuralPartialEq for MavProtocolCapability"],["impl StructuralPartialEq for GimbalDeviceErrorFlags"],["impl StructuralPartialEq for ICAROUS_KINEMATIC_BANDS_DATA"]], +"mavlink":[["impl StructuralPartialEq for GripperActions"],["impl StructuralPartialEq for UavionixAdsbOutDynamicState"],["impl StructuralPartialEq for HIL_GPS_DATA"],["impl StructuralPartialEq for ESTIMATOR_STATUS_DATA"],["impl StructuralPartialEq for PARAM_SET_DATA"],["impl StructuralPartialEq for MavModeFlagDecodePosition"],["impl StructuralPartialEq for FailureUnit"],["impl StructuralPartialEq for MavBatteryFunction"],["impl StructuralPartialEq for LOG_ERASE_DATA"],["impl StructuralPartialEq for CAMERA_INFORMATION_DATA"],["impl StructuralPartialEq for MavParamExtType"],["impl StructuralPartialEq for GimbalDeviceCapFlags"],["impl StructuralPartialEq for HIL_STATE_DATA"],["impl StructuralPartialEq for MAG_CAL_REPORT_DATA"],["impl StructuralPartialEq for IcarousFmsState"],["impl StructuralPartialEq for RtkBaselineCoordinateSystem"],["impl StructuralPartialEq for LOCAL_POSITION_NED_DATA"],["impl StructuralPartialEq for UavcanNodeHealth"],["impl StructuralPartialEq for MavOdidClassEu"],["impl StructuralPartialEq for MavMessage"],["impl StructuralPartialEq for MOUNT_ORIENTATION_DATA"],["impl StructuralPartialEq for VtolTransitionHeading"],["impl StructuralPartialEq for MavTunnelPayloadType"],["impl StructuralPartialEq for MavMissionResult"],["impl StructuralPartialEq for AIS_VESSEL_DATA"],["impl StructuralPartialEq for GIMBAL_DEVICE_INFORMATION_DATA"],["impl StructuralPartialEq for SETUP_SIGNING_DATA"],["impl StructuralPartialEq for LINK_NODE_STATUS_DATA"],["impl StructuralPartialEq for GPS_STATUS_DATA"],["impl StructuralPartialEq for MISSION_CURRENT_DATA"],["impl StructuralPartialEq for MAG_CAL_REPORT_DATA"],["impl StructuralPartialEq for TrackerMode"],["impl StructuralPartialEq for GIMBAL_CONTROL_DATA"],["impl StructuralPartialEq for MavVtolState"],["impl StructuralPartialEq for GPS2_RAW_DATA"],["impl StructuralPartialEq for GIMBAL_REPORT_DATA"],["impl StructuralPartialEq for MAVLinkV1MessageRaw"],["impl StructuralPartialEq for SET_HOME_POSITION_DATA"],["impl StructuralPartialEq for WINCH_STATUS_DATA"],["impl StructuralPartialEq for ATTITUDE_QUATERNION_COV_DATA"],["impl StructuralPartialEq for STATUSTEXT_DATA"],["impl StructuralPartialEq for MISSION_SET_CURRENT_DATA"],["impl StructuralPartialEq for LOG_REQUEST_DATA_DATA"],["impl StructuralPartialEq for MavOdidClassificationType"],["impl StructuralPartialEq for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl StructuralPartialEq for GPS_STATUS_DATA"],["impl StructuralPartialEq for MavlinkVersion"],["impl StructuralPartialEq for LOCAL_POSITION_NED_DATA"],["impl StructuralPartialEq for SAFETY_SET_ALLOWED_AREA_DATA"],["impl StructuralPartialEq for MavAutopilot"],["impl StructuralPartialEq for UAVCAN_NODE_STATUS_DATA"],["impl StructuralPartialEq for NavVtolLandOptions"],["impl StructuralPartialEq for MavResult"],["impl StructuralPartialEq for MavArmAuthDeniedReason"],["impl StructuralPartialEq for MavBatteryFunction"],["impl StructuralPartialEq for CONTROL_SYSTEM_STATE_DATA"],["impl StructuralPartialEq for MavCollisionAction"],["impl StructuralPartialEq for MavDataStream"],["impl StructuralPartialEq for MavBatteryFault"],["impl StructuralPartialEq for RtkBaselineCoordinateSystem"],["impl StructuralPartialEq for MavOdidTimeAcc"],["impl StructuralPartialEq for CameraTrackingMode"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl StructuralPartialEq for ENCAPSULATED_DATA_DATA"],["impl StructuralPartialEq for SETUP_SIGNING_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl StructuralPartialEq for SetFocusType"],["impl StructuralPartialEq for ICAROUS_KINEMATIC_BANDS_DATA"],["impl StructuralPartialEq for ATT_POS_MOCAP_DATA"],["impl StructuralPartialEq for MavMissionResult"],["impl StructuralPartialEq for SERVO_OUTPUT_RAW_DATA"],["impl StructuralPartialEq for GoproModel"],["impl StructuralPartialEq for SIM_STATE_DATA"],["impl StructuralPartialEq for LandingTargetType"],["impl StructuralPartialEq for SUPPORTED_TUNES_DATA"],["impl StructuralPartialEq for GimbalDeviceCapFlags"],["impl StructuralPartialEq for MISSION_ITEM_INT_DATA"],["impl StructuralPartialEq for AutotuneAxis"],["impl StructuralPartialEq for RPM_DATA"],["impl StructuralPartialEq for GPS2_RAW_DATA"],["impl StructuralPartialEq for EVENT_DATA"],["impl StructuralPartialEq for MavOdidOperatorIdType"],["impl StructuralPartialEq for MavFtpOpcode"],["impl StructuralPartialEq for MavFtpOpcode"],["impl StructuralPartialEq for MavSysStatusSensorExtended"],["impl StructuralPartialEq for PARAM_MAP_RC_DATA"],["impl StructuralPartialEq for LANDING_TARGET_DATA"],["impl StructuralPartialEq for MotorTestOrder"],["impl StructuralPartialEq for AisFlags"],["impl StructuralPartialEq for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl StructuralPartialEq for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl StructuralPartialEq for CameraMode"],["impl StructuralPartialEq for HEARTBEAT_DATA"],["impl StructuralPartialEq for VIDEO_STREAM_STATUS_DATA"],["impl StructuralPartialEq for AdsbEmitterType"],["impl StructuralPartialEq for STORAGE_INFORMATION_DATA"],["impl StructuralPartialEq for WIND_COV_DATA"],["impl StructuralPartialEq for StorageStatus"],["impl StructuralPartialEq for SetFocusType"],["impl StructuralPartialEq for PARAM_EXT_REQUEST_READ_DATA"],["impl StructuralPartialEq for AutotuneAxis"],["impl StructuralPartialEq for OPEN_DRONE_ID_LOCATION_DATA"],["impl StructuralPartialEq for COMMAND_CANCEL_DATA"],["impl StructuralPartialEq for ESTIMATOR_STATUS_DATA"],["impl StructuralPartialEq for GPS_INJECT_DATA_DATA"],["impl StructuralPartialEq for SIM_STATE_DATA"],["impl StructuralPartialEq for MotorTestOrder"],["impl StructuralPartialEq for COMMAND_ACK_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_DATA"],["impl StructuralPartialEq for HIL_STATE_DATA"],["impl StructuralPartialEq for UAVCAN_NODE_INFO_DATA"],["impl StructuralPartialEq for SAFETY_SET_ALLOWED_AREA_DATA"],["impl StructuralPartialEq for HWSTATUS_DATA"],["impl StructuralPartialEq for GpsFixType"],["impl StructuralPartialEq for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl StructuralPartialEq for MavOdidClassificationType"],["impl StructuralPartialEq for MISSION_REQUEST_LIST_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_SELF_ID_DATA"],["impl StructuralPartialEq for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl StructuralPartialEq for WIND_COV_DATA"],["impl StructuralPartialEq for GPS_RAW_INT_DATA"],["impl StructuralPartialEq for RADIO_STATUS_DATA"],["impl StructuralPartialEq for CopterMode"],["impl StructuralPartialEq for VideoStreamStatusFlags"],["impl StructuralPartialEq for MISSION_REQUEST_DATA"],["impl StructuralPartialEq for FenceAction"],["impl StructuralPartialEq for MavBatteryFault"],["impl StructuralPartialEq for AUTH_KEY_DATA"],["impl StructuralPartialEq for WIFI_CONFIG_AP_DATA"],["impl StructuralPartialEq for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl StructuralPartialEq for HIL_SENSOR_DATA"],["impl StructuralPartialEq for MotorTestThrottleType"],["impl StructuralPartialEq for GPS_INJECT_DATA_DATA"],["impl StructuralPartialEq for MavOdidClassEu"],["impl StructuralPartialEq for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl StructuralPartialEq for TIMESYNC_DATA"],["impl StructuralPartialEq for CHANGE_OPERATOR_CONTROL_DATA"],["impl StructuralPartialEq for GPS_RAW_INT_DATA"],["impl StructuralPartialEq for GimbalDeviceFlags"],["impl StructuralPartialEq for MEMORY_VECT_DATA"],["impl StructuralPartialEq for ESC_INFO_DATA"],["impl StructuralPartialEq for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl StructuralPartialEq for DATA32_DATA"],["impl StructuralPartialEq for LINK_NODE_STATUS_DATA"],["impl StructuralPartialEq for REQUEST_EVENT_DATA"],["impl StructuralPartialEq for MEMINFO_DATA"],["impl StructuralPartialEq for RESPONSE_EVENT_ERROR_DATA"],["impl StructuralPartialEq for GPS_INPUT_DATA"],["impl StructuralPartialEq for CURRENT_EVENT_SEQUENCE_DATA"],["impl StructuralPartialEq for TERRAIN_DATA_DATA"],["impl StructuralPartialEq for PreflightStorageMissionAction"],["impl StructuralPartialEq for MavMode"],["impl StructuralPartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl StructuralPartialEq for COMMAND_CANCEL_DATA"],["impl StructuralPartialEq for SERIAL_CONTROL_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl StructuralPartialEq for MavlinkDataStreamType"],["impl StructuralPartialEq for TIMESYNC_DATA"],["impl StructuralPartialEq for MavType"],["impl StructuralPartialEq for VIDEO_STREAM_STATUS_DATA"],["impl StructuralPartialEq for ActuatorConfiguration"],["impl StructuralPartialEq for AHRS2_DATA"],["impl StructuralPartialEq for DISTANCE_SENSOR_DATA"],["impl StructuralPartialEq for MavSensorOrientation"],["impl StructuralPartialEq for PARAM_EXT_SET_DATA"],["impl StructuralPartialEq for HIGH_LATENCY_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl StructuralPartialEq for COMMAND_INT_DATA"],["impl StructuralPartialEq for TERRAIN_REPORT_DATA"],["impl StructuralPartialEq for AOA_SSA_DATA"],["impl StructuralPartialEq for HIL_GPS_DATA"],["impl StructuralPartialEq for UavionixAdsbOutCfgGpsOffsetLon"],["impl StructuralPartialEq for EscConnectionType"],["impl StructuralPartialEq for TUNNEL_DATA"],["impl StructuralPartialEq for MavOdidUaType"],["impl StructuralPartialEq for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl StructuralPartialEq for RcType"],["impl StructuralPartialEq for ISBD_LINK_STATUS_DATA"],["impl StructuralPartialEq for PING_DATA"],["impl StructuralPartialEq for WinchActions"],["impl StructuralPartialEq for NAV_CONTROLLER_OUTPUT_DATA"],["impl StructuralPartialEq for AP_ADC_DATA"],["impl StructuralPartialEq for SCALED_IMU2_DATA"],["impl StructuralPartialEq for POSITION_TARGET_GLOBAL_INT_DATA"],["impl StructuralPartialEq for PreflightStorageMissionAction"],["impl StructuralPartialEq for ORBIT_EXECUTION_STATUS_DATA"],["impl StructuralPartialEq for LOG_REQUEST_LIST_DATA"],["impl StructuralPartialEq for ONBOARD_COMPUTER_STATUS_DATA"],["impl StructuralPartialEq for MavMissionResult"],["impl StructuralPartialEq for MavDoRepositionFlags"],["impl StructuralPartialEq for MavState"],["impl StructuralPartialEq for MavEventErrorReason"],["impl StructuralPartialEq for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl StructuralPartialEq for UAVCAN_NODE_STATUS_DATA"],["impl StructuralPartialEq for GimbalManagerCapFlags"],["impl StructuralPartialEq for MotorTestThrottleType"],["impl StructuralPartialEq for FILE_TRANSFER_PROTOCOL_DATA"],["impl StructuralPartialEq for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl StructuralPartialEq for ADSB_VEHICLE_DATA"],["impl StructuralPartialEq for GpsInputIgnoreFlags"],["impl StructuralPartialEq for MavOdidIdType"],["impl StructuralPartialEq for DATA_STREAM_DATA"],["impl StructuralPartialEq for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl StructuralPartialEq for SERVO_OUTPUT_RAW_DATA"],["impl StructuralPartialEq for SET_MODE_DATA"],["impl StructuralPartialEq for OSD_PARAM_SHOW_CONFIG_DATA"],["impl StructuralPartialEq for MavEventCurrentSequenceFlags"],["impl StructuralPartialEq for MavVtolState"],["impl StructuralPartialEq for ESC_INFO_DATA"],["impl StructuralPartialEq for ONBOARD_COMPUTER_STATUS_DATA"],["impl StructuralPartialEq for GimbalDeviceErrorFlags"],["impl StructuralPartialEq for LOCAL_POSITION_NED_COV_DATA"],["impl StructuralPartialEq for EkfStatusFlags"],["impl StructuralPartialEq for MavOdidVerAcc"],["impl StructuralPartialEq for MavDataStream"],["impl StructuralPartialEq for MavFrame"],["impl StructuralPartialEq for MissionState"],["impl StructuralPartialEq for VideoStreamType"],["impl StructuralPartialEq for MavEventCurrentSequenceFlags"],["impl StructuralPartialEq for RESPONSE_EVENT_ERROR_DATA"],["impl StructuralPartialEq for HIL_GPS_DATA"],["impl StructuralPartialEq for CameraCapFlags"],["impl StructuralPartialEq for CellularStatusFlag"],["impl StructuralPartialEq for CAN_FILTER_MODIFY_DATA"],["impl StructuralPartialEq for LIMITS_STATUS_DATA"],["impl StructuralPartialEq for MotorTestOrder"],["impl StructuralPartialEq for MavMountMode"],["impl StructuralPartialEq for RC_CHANNELS_RAW_DATA"],["impl StructuralPartialEq for PING_DATA"],["impl StructuralPartialEq for CAMERA_IMAGE_CAPTURED_DATA"],["impl StructuralPartialEq for GimbalDeviceErrorFlags"],["impl StructuralPartialEq for ACTUATOR_OUTPUT_STATUS_DATA"],["impl StructuralPartialEq for MISSION_SET_CURRENT_DATA"],["impl StructuralPartialEq for ActuatorOutputFunction"],["impl StructuralPartialEq for COMPASSMOT_STATUS_DATA"],["impl StructuralPartialEq for GoproCaptureMode"],["impl StructuralPartialEq for LOG_REQUEST_DATA_DATA"],["impl StructuralPartialEq for RAW_PRESSURE_DATA"],["impl StructuralPartialEq for PLAY_TUNE_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl StructuralPartialEq for MavMissionType"],["impl StructuralPartialEq for FLIGHT_INFORMATION_DATA"],["impl StructuralPartialEq for FenceBreach"],["impl StructuralPartialEq for CAN_FILTER_MODIFY_DATA"],["impl StructuralPartialEq for CellularConfigResponse"],["impl StructuralPartialEq for UavionixAdsbOutDynamicGpsFix"],["impl StructuralPartialEq for EXTENDED_SYS_STATE_DATA"],["impl StructuralPartialEq for CAMERA_IMAGE_CAPTURED_DATA"],["impl StructuralPartialEq for CameraTrackingTargetData"],["impl StructuralPartialEq for HIL_STATE_QUATERNION_DATA"],["impl StructuralPartialEq for ActuatorConfiguration"],["impl StructuralPartialEq for StorageStatus"],["impl StructuralPartialEq for ParamAck"],["impl StructuralPartialEq for POSITION_TARGET_GLOBAL_INT_DATA"],["impl StructuralPartialEq for MavEstimatorType"],["impl StructuralPartialEq for EKF_STATUS_REPORT_DATA"],["impl StructuralPartialEq for HIL_SENSOR_DATA"],["impl StructuralPartialEq for ATTITUDE_DATA"],["impl StructuralPartialEq for AisNavStatus"],["impl StructuralPartialEq for EFI_STATUS_DATA"],["impl StructuralPartialEq for MCU_STATUS_DATA"],["impl StructuralPartialEq for GpsInputIgnoreFlags"],["impl StructuralPartialEq for LOG_DATA_DATA"],["impl StructuralPartialEq for MISSION_ITEM_DATA"],["impl StructuralPartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl StructuralPartialEq for MavRemoteLogDataBlockStatuses"],["impl StructuralPartialEq for VISION_SPEED_ESTIMATE_DATA"],["impl StructuralPartialEq for PARAM_EXT_REQUEST_LIST_DATA"],["impl StructuralPartialEq for FOLLOW_TARGET_DATA"],["impl StructuralPartialEq for OSD_PARAM_CONFIG_REPLY_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_STATUS_DATA"],["impl StructuralPartialEq for GPS_RTK_DATA"],["impl StructuralPartialEq for RESPONSE_EVENT_ERROR_DATA"],["impl StructuralPartialEq for MavMessage"],["impl StructuralPartialEq for NAMED_VALUE_FLOAT_DATA"],["impl StructuralPartialEq for CameraTrackingTargetData"],["impl StructuralPartialEq for GENERATOR_STATUS_DATA"],["impl StructuralPartialEq for TERRAIN_REPORT_DATA"],["impl StructuralPartialEq for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl StructuralPartialEq for WHEEL_DISTANCE_DATA"],["impl StructuralPartialEq for ESC_INFO_DATA"],["impl StructuralPartialEq for PLAY_TUNE_V2_DATA"],["impl StructuralPartialEq for MISSION_ITEM_INT_DATA"],["impl StructuralPartialEq for CAN_FRAME_DATA"],["impl StructuralPartialEq for MavCollisionAction"],["impl StructuralPartialEq for MotorTestThrottleType"],["impl StructuralPartialEq for MavDataStream"],["impl StructuralPartialEq for CellularNetworkFailedReason"],["impl StructuralPartialEq for BATTERY_STATUS_DATA"],["impl StructuralPartialEq for MOUNT_ORIENTATION_DATA"],["impl StructuralPartialEq for HYGROMETER_SENSOR_DATA"],["impl StructuralPartialEq for CameraZoomType"],["impl StructuralPartialEq for AIS_VESSEL_DATA"],["impl StructuralPartialEq for PARAM_REQUEST_READ_DATA"],["impl StructuralPartialEq for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl StructuralPartialEq for MANUAL_CONTROL_DATA"],["impl StructuralPartialEq for CELLULAR_CONFIG_DATA"],["impl StructuralPartialEq for LOG_REQUEST_DATA_DATA"],["impl StructuralPartialEq for PARAM_EXT_VALUE_DATA"],["impl StructuralPartialEq for MEMORY_VECT_DATA"],["impl StructuralPartialEq for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl StructuralPartialEq for PLAY_TUNE_V2_DATA"],["impl StructuralPartialEq for NAMED_VALUE_FLOAT_DATA"],["impl StructuralPartialEq for NAMED_VALUE_INT_DATA"],["impl StructuralPartialEq for HIGHRES_IMU_DATA"],["impl StructuralPartialEq for ScriptingCmd"],["impl StructuralPartialEq for MavRoi"],["impl StructuralPartialEq for MISSION_COUNT_DATA"],["impl StructuralPartialEq for WINCH_STATUS_DATA"],["impl StructuralPartialEq for GPS_INPUT_DATA"],["impl StructuralPartialEq for PARAM_SET_DATA"],["impl StructuralPartialEq for TuneFormat"],["impl StructuralPartialEq for LOG_DATA_DATA"],["impl StructuralPartialEq for CellularNetworkRadioType"],["impl StructuralPartialEq for PreflightStorageMissionAction"],["impl StructuralPartialEq for SCALED_PRESSURE_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl StructuralPartialEq for HOME_POSITION_DATA"],["impl StructuralPartialEq for UtmDataAvailFlags"],["impl StructuralPartialEq for ParamAck"],["impl StructuralPartialEq for RADIO_STATUS_DATA"],["impl StructuralPartialEq for DEVICE_OP_READ_DATA"],["impl StructuralPartialEq for POWER_STATUS_DATA"],["impl StructuralPartialEq for CAMERA_CAPTURE_STATUS_DATA"],["impl StructuralPartialEq for VIBRATION_DATA"],["impl StructuralPartialEq for COMMAND_LONG_DATA"],["impl StructuralPartialEq for HOME_POSITION_DATA"],["impl StructuralPartialEq for ACTUATOR_OUTPUT_STATUS_DATA"],["impl StructuralPartialEq for MavBatteryFunction"],["impl StructuralPartialEq for DEBUG_DATA"],["impl StructuralPartialEq for TuneFormat"],["impl StructuralPartialEq for SCALED_PRESSURE2_DATA"],["impl StructuralPartialEq for SCALED_PRESSURE3_DATA"],["impl StructuralPartialEq for OrbitYawBehaviour"],["impl StructuralPartialEq for MISSION_REQUEST_LIST_DATA"],["impl StructuralPartialEq for SetFocusType"],["impl StructuralPartialEq for FenceMitigate"],["impl StructuralPartialEq for HIL_ACTUATOR_CONTROLS_DATA"],["impl StructuralPartialEq for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl StructuralPartialEq for COMMAND_CANCEL_DATA"],["impl StructuralPartialEq for DEVICE_OP_WRITE_REPLY_DATA"],["impl StructuralPartialEq for GimbalManagerCapFlags"],["impl StructuralPartialEq for ActuatorOutputFunction"],["impl StructuralPartialEq for DeepstallStage"],["impl StructuralPartialEq for GLOBAL_POSITION_INT_COV_DATA"],["impl StructuralPartialEq for GoproFieldOfView"],["impl StructuralPartialEq for REQUEST_DATA_STREAM_DATA"],["impl StructuralPartialEq for GoproProtuneSharpness"],["impl StructuralPartialEq for PARAM_REQUEST_READ_DATA"],["impl StructuralPartialEq for BUTTON_CHANGE_DATA"],["impl StructuralPartialEq for WinchActions"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_LOCATION_DATA"],["impl StructuralPartialEq for VICON_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for ISBD_LINK_STATUS_DATA"],["impl StructuralPartialEq for CELLULAR_STATUS_DATA"],["impl StructuralPartialEq for ORBIT_EXECUTION_STATUS_DATA"],["impl StructuralPartialEq for ParamAck"],["impl StructuralPartialEq for OPEN_DRONE_ID_SELF_ID_DATA"],["impl StructuralPartialEq for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for GoproHeartbeatStatus"],["impl StructuralPartialEq for MavLandedState"],["impl StructuralPartialEq for MISSION_CLEAR_ALL_DATA"],["impl StructuralPartialEq for HIL_RC_INPUTS_RAW_DATA"],["impl StructuralPartialEq for PositionTargetTypemask"],["impl StructuralPartialEq for STORAGE_INFORMATION_DATA"],["impl StructuralPartialEq for MavMessage"],["impl StructuralPartialEq for MavOdidClassificationType"],["impl StructuralPartialEq for SpeedType"],["impl StructuralPartialEq for EVENT_DATA"],["impl StructuralPartialEq for MavResult"],["impl StructuralPartialEq for VISION_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for FirmwareVersionType"],["impl StructuralPartialEq for MavOdidStatus"],["impl StructuralPartialEq for AdsbFlags"],["impl StructuralPartialEq for GIMBAL_MANAGER_STATUS_DATA"],["impl StructuralPartialEq for GPS_GLOBAL_ORIGIN_DATA"],["impl StructuralPartialEq for ParachuteAction"],["impl StructuralPartialEq for SERIAL_CONTROL_DATA"],["impl StructuralPartialEq for VIDEO_STREAM_INFORMATION_DATA"],["impl StructuralPartialEq for FENCE_STATUS_DATA"],["impl StructuralPartialEq for ICAROUS_HEARTBEAT_DATA"],["impl StructuralPartialEq for MOUNT_CONTROL_DATA"],["impl StructuralPartialEq for ATTITUDE_TARGET_DATA"],["impl StructuralPartialEq for TIME_ESTIMATE_TO_TARGET_DATA"],["impl StructuralPartialEq for MISSION_ACK_DATA"],["impl StructuralPartialEq for UavionixAdsbRfHealth"],["impl StructuralPartialEq for TERRAIN_CHECK_DATA"],["impl StructuralPartialEq for SET_MAG_OFFSETS_DATA"],["impl StructuralPartialEq for MavOdidCategoryEu"],["impl StructuralPartialEq for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl StructuralPartialEq for PARAM_EXT_ACK_DATA"],["impl StructuralPartialEq for MavParamExtType"],["impl StructuralPartialEq for MOUNT_STATUS_DATA"],["impl StructuralPartialEq for VtolTransitionHeading"],["impl StructuralPartialEq for SCALED_IMU2_DATA"],["impl StructuralPartialEq for AUTOPILOT_VERSION_REQUEST_DATA"],["impl StructuralPartialEq for PreflightStorageParameterAction"],["impl StructuralPartialEq for COMMAND_ACK_DATA"],["impl StructuralPartialEq for DeviceOpBustype"],["impl StructuralPartialEq for MISSION_ACK_DATA"],["impl StructuralPartialEq for GLOBAL_POSITION_INT_DATA"],["impl StructuralPartialEq for COMMAND_ACK_DATA"],["impl StructuralPartialEq for WINCH_STATUS_DATA"],["impl StructuralPartialEq for MavBatteryChargeState"],["impl StructuralPartialEq for GoproCommand"],["impl StructuralPartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl StructuralPartialEq for PARAM_REQUEST_LIST_DATA"],["impl StructuralPartialEq for HOME_POSITION_DATA"],["impl StructuralPartialEq for AdsbAltitudeType"],["impl StructuralPartialEq for RAW_RPM_DATA"],["impl StructuralPartialEq for MANUAL_SETPOINT_DATA"],["impl StructuralPartialEq for MavModeFlagDecodePosition"],["impl StructuralPartialEq for GoproProtuneColour"],["impl StructuralPartialEq for MavDistanceSensor"],["impl StructuralPartialEq for ACTUATOR_OUTPUT_STATUS_DATA"],["impl StructuralPartialEq for FailureUnit"],["impl StructuralPartialEq for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl StructuralPartialEq for RAW_PRESSURE_DATA"],["impl StructuralPartialEq for EXTENDED_SYS_STATE_DATA"],["impl StructuralPartialEq for HlFailureFlag"],["impl StructuralPartialEq for CellularStatusFlag"],["impl StructuralPartialEq for MavWinchStatusFlag"],["impl StructuralPartialEq for PARAM_EXT_ACK_DATA"],["impl StructuralPartialEq for HighresImuUpdatedFlags"],["impl StructuralPartialEq for MavBatteryMode"],["impl StructuralPartialEq for OPEN_DRONE_ID_SYSTEM_DATA"],["impl StructuralPartialEq for SYS_STATUS_DATA"],["impl StructuralPartialEq for GimbalManagerFlags"],["impl StructuralPartialEq for COMPONENT_INFORMATION_DATA"],["impl StructuralPartialEq for MavSensorOrientation"],["impl StructuralPartialEq for HilSensorUpdatedFlags"],["impl StructuralPartialEq for WifiConfigApResponse"],["impl StructuralPartialEq for MavCmd"],["impl StructuralPartialEq for MavArmAuthDeniedReason"],["impl StructuralPartialEq for MavRemoteLogDataBlockCommands"],["impl StructuralPartialEq for RAW_RPM_DATA"],["impl StructuralPartialEq for DISTANCE_SENSOR_DATA"],["impl StructuralPartialEq for WATER_DEPTH_DATA"],["impl StructuralPartialEq for EscConnectionType"],["impl StructuralPartialEq for ADAP_TUNING_DATA"],["impl StructuralPartialEq for GOPRO_SET_RESPONSE_DATA"],["impl StructuralPartialEq for StorageUsageFlag"],["impl StructuralPartialEq for EXTENDED_SYS_STATE_DATA"],["impl StructuralPartialEq for TuneFormat"],["impl StructuralPartialEq for UavionixAdsbOutCfgGpsOffsetLat"],["impl StructuralPartialEq for UavcanNodeMode"],["impl StructuralPartialEq for LOCAL_POSITION_NED_COV_DATA"],["impl StructuralPartialEq for MavProtocolCapability"],["impl StructuralPartialEq for NavVtolLandOptions"],["impl StructuralPartialEq for CAMERA_FOV_STATUS_DATA"],["impl StructuralPartialEq for GPS2_RTK_DATA"],["impl StructuralPartialEq for VISION_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for MavMissionType"],["impl StructuralPartialEq for SerialControlDev"],["impl StructuralPartialEq for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl StructuralPartialEq for DATA_STREAM_DATA"],["impl StructuralPartialEq for PARAM_EXT_REQUEST_LIST_DATA"],["impl StructuralPartialEq for V2_EXTENSION_DATA"],["impl StructuralPartialEq for CAN_FRAME_DATA"],["impl StructuralPartialEq for EstimatorStatusFlags"],["impl StructuralPartialEq for MISSION_ITEM_INT_DATA"],["impl StructuralPartialEq for DIGICAM_CONFIGURE_DATA"],["impl StructuralPartialEq for ORBIT_EXECUTION_STATUS_DATA"],["impl StructuralPartialEq for OBSTACLE_DISTANCE_DATA"],["impl StructuralPartialEq for GOPRO_HEARTBEAT_DATA"],["impl StructuralPartialEq for SIMSTATE_DATA"],["impl StructuralPartialEq for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl StructuralPartialEq for MavEstimatorType"],["impl StructuralPartialEq for RAW_IMU_DATA"],["impl StructuralPartialEq for LandingTargetType"],["impl StructuralPartialEq for RC_CHANNELS_OVERRIDE_DATA"],["impl StructuralPartialEq for ATTITUDE_QUATERNION_COV_DATA"],["impl StructuralPartialEq for BUTTON_CHANGE_DATA"],["impl StructuralPartialEq for MavParamType"],["impl StructuralPartialEq for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl StructuralPartialEq for ESC_STATUS_DATA"],["impl StructuralPartialEq for CANFD_FRAME_DATA"],["impl StructuralPartialEq for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl StructuralPartialEq for GENERATOR_STATUS_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_LIST_DATA"],["impl StructuralPartialEq for MavlinkDataStreamType"],["impl StructuralPartialEq for FenceBreach"],["impl StructuralPartialEq for CanFilterOp"],["impl StructuralPartialEq for RESOURCE_REQUEST_DATA"],["impl StructuralPartialEq for LOG_REQUEST_END_DATA"],["impl StructuralPartialEq for MavEstimatorType"],["impl StructuralPartialEq for AdsbEmitterType"],["impl StructuralPartialEq for CANFD_FRAME_DATA"],["impl StructuralPartialEq for PARAM_VALUE_DATA"],["impl StructuralPartialEq for SCALED_IMU_DATA"],["impl StructuralPartialEq for AHRS_DATA"],["impl StructuralPartialEq for PARAM_EXT_REQUEST_READ_DATA"],["impl StructuralPartialEq for ATTITUDE_DATA"],["impl StructuralPartialEq for OPTICAL_FLOW_DATA"],["impl StructuralPartialEq for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl StructuralPartialEq for MavEventErrorReason"],["impl StructuralPartialEq for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl StructuralPartialEq for LimitModule"],["impl StructuralPartialEq for MavlinkDataStreamType"],["impl StructuralPartialEq for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl StructuralPartialEq for WifiConfigApMode"],["impl StructuralPartialEq for NAMED_VALUE_INT_DATA"],["impl StructuralPartialEq for MESSAGE_INTERVAL_DATA"],["impl StructuralPartialEq for PARAM_EXT_SET_DATA"],["impl StructuralPartialEq for ATTITUDE_QUATERNION_DATA"],["impl StructuralPartialEq for TERRAIN_REQUEST_DATA"],["impl StructuralPartialEq for HIL_STATE_DATA"],["impl StructuralPartialEq for DEBUG_FLOAT_ARRAY_DATA"],["impl StructuralPartialEq for LOGGING_ACK_DATA"],["impl StructuralPartialEq for STORAGE_INFORMATION_DATA"],["impl StructuralPartialEq for MavProtocolCapability"],["impl StructuralPartialEq for COMPONENT_INFORMATION_DATA"],["impl StructuralPartialEq for LANDING_TARGET_DATA"],["impl StructuralPartialEq for ICAROUS_KINEMATIC_BANDS_DATA"],["impl StructuralPartialEq for ESC_TELEMETRY_9_TO_12_DATA"],["impl StructuralPartialEq for SAFETY_SET_ALLOWED_AREA_DATA"],["impl StructuralPartialEq for CameraZoomType"],["impl StructuralPartialEq for MavDistanceSensor"],["impl StructuralPartialEq for StorageUsageFlag"],["impl StructuralPartialEq for VICON_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for MOUNT_ORIENTATION_DATA"],["impl StructuralPartialEq for PARAM_VALUE_DATA"],["impl StructuralPartialEq for SCALED_PRESSURE3_DATA"],["impl StructuralPartialEq for MavBatteryFault"],["impl StructuralPartialEq for MISSION_CLEAR_ALL_DATA"],["impl StructuralPartialEq for HighresImuUpdatedFlags"],["impl StructuralPartialEq for GOPRO_GET_RESPONSE_DATA"],["impl StructuralPartialEq for CameraTrackingStatusFlags"],["impl StructuralPartialEq for UavionixAdsbOutCfgAircraftSize"],["impl StructuralPartialEq for HIL_RC_INPUTS_RAW_DATA"],["impl StructuralPartialEq for SET_ATTITUDE_TARGET_DATA"],["impl StructuralPartialEq for MavOdidVerAcc"],["impl StructuralPartialEq for UtmDataAvailFlags"],["impl StructuralPartialEq for CAN_FRAME_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl StructuralPartialEq for MavRoi"],["impl StructuralPartialEq for CAMERA_CAPTURE_STATUS_DATA"],["impl StructuralPartialEq for MissionState"],["impl StructuralPartialEq for MANUAL_CONTROL_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_LOCATION_DATA"],["impl StructuralPartialEq for MavAutopilot"],["impl StructuralPartialEq for DEBUG_VECT_DATA"],["impl StructuralPartialEq for HEARTBEAT_DATA"],["impl StructuralPartialEq for CONTROL_SYSTEM_STATE_DATA"],["impl StructuralPartialEq for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl StructuralPartialEq for WinchActions"],["impl StructuralPartialEq for PING_DATA"],["impl StructuralPartialEq for PARAM_EXT_VALUE_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl StructuralPartialEq for PROTOCOL_VERSION_DATA"],["impl StructuralPartialEq for MavOdidTimeAcc"],["impl StructuralPartialEq for POSITION_TARGET_LOCAL_NED_DATA"],["impl StructuralPartialEq for UAVCAN_NODE_INFO_DATA"],["impl StructuralPartialEq for StorageUsageFlag"],["impl StructuralPartialEq for GPS2_RTK_DATA"],["impl StructuralPartialEq for TERRAIN_CHECK_DATA"],["impl StructuralPartialEq for EFI_STATUS_DATA"],["impl StructuralPartialEq for MavCollisionThreatLevel"],["impl StructuralPartialEq for RC_CHANNELS_OVERRIDE_DATA"],["impl StructuralPartialEq for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl StructuralPartialEq for GripperActions"],["impl StructuralPartialEq for LedControlPattern"],["impl StructuralPartialEq for CURRENT_EVENT_SEQUENCE_DATA"],["impl StructuralPartialEq for RC_CHANNELS_SCALED_DATA"],["impl StructuralPartialEq for PARAM_MAP_RC_DATA"],["impl StructuralPartialEq for MavOdidHeightRef"],["impl StructuralPartialEq for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl StructuralPartialEq for AdsbFlags"],["impl StructuralPartialEq for HYGROMETER_SENSOR_DATA"],["impl StructuralPartialEq for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl StructuralPartialEq for ENCAPSULATED_DATA_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl StructuralPartialEq for GPS_GLOBAL_ORIGIN_DATA"],["impl StructuralPartialEq for RC_CHANNELS_DATA"],["impl StructuralPartialEq for MavAutopilot"],["impl StructuralPartialEq for SerialControlFlag"],["impl StructuralPartialEq for RAW_IMU_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl StructuralPartialEq for StorageType"],["impl StructuralPartialEq for MavOdidIdType"],["impl StructuralPartialEq for VIDEO_STREAM_INFORMATION_DATA"],["impl StructuralPartialEq for DEBUG_DATA"],["impl StructuralPartialEq for ATTITUDE_DATA"],["impl StructuralPartialEq for MavModeFlag"],["impl StructuralPartialEq for AUTOPILOT_VERSION_DATA"],["impl StructuralPartialEq for MavOdidAuthType"],["impl StructuralPartialEq for ODOMETRY_DATA"],["impl StructuralPartialEq for GimbalAxis"],["impl StructuralPartialEq for SIM_STATE_DATA"],["impl StructuralPartialEq for OPTICAL_FLOW_RAD_DATA"],["impl StructuralPartialEq for DEBUG_FLOAT_ARRAY_DATA"],["impl StructuralPartialEq for GPS_RTK_DATA"],["impl StructuralPartialEq for SAFETY_ALLOWED_AREA_DATA"],["impl StructuralPartialEq for POSITION_TARGET_GLOBAL_INT_DATA"],["impl StructuralPartialEq for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl StructuralPartialEq for GripperActions"],["impl StructuralPartialEq for MavOdidArmStatus"],["impl StructuralPartialEq for MavArmAuthDeniedReason"],["impl StructuralPartialEq for POSITION_TARGET_LOCAL_NED_DATA"],["impl StructuralPartialEq for PARAM_EXT_REQUEST_LIST_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl StructuralPartialEq for GimbalDeviceErrorFlags"],["impl StructuralPartialEq for MISSION_SET_CURRENT_DATA"],["impl StructuralPartialEq for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl StructuralPartialEq for MavWinchStatusFlag"],["impl StructuralPartialEq for POWER_STATUS_DATA"],["impl StructuralPartialEq for UavcanNodeMode"],["impl StructuralPartialEq for MANUAL_SETPOINT_DATA"],["impl StructuralPartialEq for ESC_TELEMETRY_1_TO_4_DATA"],["impl StructuralPartialEq for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl StructuralPartialEq for SCALED_IMU3_DATA"],["impl StructuralPartialEq for OPTICAL_FLOW_RAD_DATA"],["impl StructuralPartialEq for PROTOCOL_VERSION_DATA"],["impl StructuralPartialEq for HIGHRES_IMU_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl StructuralPartialEq for OrbitYawBehaviour"],["impl StructuralPartialEq for MavOdidTimeAcc"],["impl StructuralPartialEq for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl StructuralPartialEq for SCALED_PRESSURE_DATA"],["impl StructuralPartialEq for PLAY_TUNE_V2_DATA"],["impl StructuralPartialEq for SCALED_IMU3_DATA"],["impl StructuralPartialEq for SCALED_IMU3_DATA"],["impl StructuralPartialEq for SCALED_IMU_DATA"],["impl StructuralPartialEq for VIDEO_STREAM_INFORMATION_DATA"],["impl StructuralPartialEq for FailureType"],["impl StructuralPartialEq for CAMERA_INFORMATION_DATA"],["impl StructuralPartialEq for HIGH_LATENCY2_DATA"],["impl StructuralPartialEq for GoproHeartbeatFlags"],["impl StructuralPartialEq for CellularConfigResponse"],["impl StructuralPartialEq for SAFETY_ALLOWED_AREA_DATA"],["impl StructuralPartialEq for CameraMode"],["impl StructuralPartialEq for NAV_CONTROLLER_OUTPUT_DATA"],["impl StructuralPartialEq for DEBUG_VECT_DATA"],["impl StructuralPartialEq for HEARTBEAT_DATA"],["impl StructuralPartialEq for AttitudeTargetTypemask"],["impl StructuralPartialEq for MavComponent"],["impl StructuralPartialEq for FenceAction"],["impl StructuralPartialEq for UavionixAdsbOutDynamicGpsFix"],["impl StructuralPartialEq for MavBatteryType"],["impl StructuralPartialEq for LOGGING_DATA_ACKED_DATA"],["impl StructuralPartialEq for MavSysStatusSensorExtended"],["impl StructuralPartialEq for FILE_TRANSFER_PROTOCOL_DATA"],["impl StructuralPartialEq for SYS_STATUS_DATA"],["impl StructuralPartialEq for MavOdidHorAcc"],["impl StructuralPartialEq for HilSensorUpdatedFlags"],["impl StructuralPartialEq for MavGeneratorStatusFlag"],["impl StructuralPartialEq for TERRAIN_DATA_DATA"],["impl StructuralPartialEq for MavCollisionThreatLevel"],["impl StructuralPartialEq for MavFtpErr"],["impl StructuralPartialEq for REQUEST_DATA_STREAM_DATA"],["impl StructuralPartialEq for MESSAGE_INTERVAL_DATA"],["impl StructuralPartialEq for CAMERA_FOV_STATUS_DATA"],["impl StructuralPartialEq for CURRENT_EVENT_SEQUENCE_DATA"],["impl StructuralPartialEq for UavcanNodeHealth"],["impl StructuralPartialEq for GpsInputIgnoreFlags"],["impl StructuralPartialEq for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl StructuralPartialEq for SYSTEM_TIME_DATA"],["impl StructuralPartialEq for VISION_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for HERELINK_TELEM_DATA"],["impl StructuralPartialEq for PrecisionLandMode"],["impl StructuralPartialEq for UavionixAdsbOutRfSelect"],["impl StructuralPartialEq for MavParamExtType"],["impl StructuralPartialEq for PreflightStorageParameterAction"],["impl StructuralPartialEq for HIL_OPTICAL_FLOW_DATA"],["impl StructuralPartialEq for CompMetadataType"],["impl StructuralPartialEq for LOGGING_DATA_DATA"],["impl StructuralPartialEq for CONTROL_SYSTEM_STATE_DATA"],["impl StructuralPartialEq for MavCmd"],["impl StructuralPartialEq for SUPPORTED_TUNES_DATA"],["impl StructuralPartialEq for RANGEFINDER_DATA"],["impl StructuralPartialEq for FILE_TRANSFER_PROTOCOL_DATA"],["impl StructuralPartialEq for MavOdidHorAcc"],["impl StructuralPartialEq for AisNavStatus"],["impl StructuralPartialEq for VIDEO_STREAM_STATUS_DATA"],["impl StructuralPartialEq for MavDoRepositionFlags"],["impl StructuralPartialEq for RC_CHANNELS_SCALED_DATA"],["impl StructuralPartialEq for WifiConfigApMode"],["impl StructuralPartialEq for BATTERY2_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl StructuralPartialEq for LOG_ENTRY_DATA"],["impl StructuralPartialEq for ODOMETRY_DATA"],["impl StructuralPartialEq for UavionixAdsbEmergencyStatus"],["impl StructuralPartialEq for TIME_ESTIMATE_TO_TARGET_DATA"],["impl StructuralPartialEq for MavComponent"],["impl StructuralPartialEq for MavFtpErr"],["impl StructuralPartialEq for POWER_STATUS_DATA"],["impl StructuralPartialEq for CAMERA_TRIGGER_DATA"],["impl StructuralPartialEq for MavOdidAuthType"],["impl StructuralPartialEq for GoproProtuneGain"],["impl StructuralPartialEq for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl StructuralPartialEq for GLOBAL_POSITION_INT_DATA"],["impl StructuralPartialEq for EscConnectionType"],["impl StructuralPartialEq for ATTITUDE_QUATERNION_DATA"],["impl StructuralPartialEq for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl StructuralPartialEq for CAMERA_SETTINGS_DATA"],["impl StructuralPartialEq for MavOdidOperatorLocationType"],["impl StructuralPartialEq for CameraZoomType"],["impl StructuralPartialEq for CUBEPILOT_RAW_RC_DATA"],["impl StructuralPartialEq for MavTunnelPayloadType"],["impl StructuralPartialEq for MavProtocolCapability"],["impl StructuralPartialEq for CameraTrackingMode"],["impl StructuralPartialEq for AIS_VESSEL_DATA"],["impl StructuralPartialEq for MavOdidArmStatus"],["impl StructuralPartialEq for WIFI_CONFIG_AP_DATA"],["impl StructuralPartialEq for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl StructuralPartialEq for LOG_REQUEST_END_DATA"],["impl StructuralPartialEq for FENCE_FETCH_POINT_DATA"],["impl StructuralPartialEq for MavModeFlag"],["impl StructuralPartialEq for VISION_SPEED_ESTIMATE_DATA"],["impl StructuralPartialEq for MavCollisionAction"],["impl StructuralPartialEq for MISSION_ACK_DATA"],["impl StructuralPartialEq for ATT_POS_MOCAP_DATA"],["impl StructuralPartialEq for MavCmd"],["impl StructuralPartialEq for MavSeverity"],["impl StructuralPartialEq for SCALED_IMU_DATA"],["impl StructuralPartialEq for ParachuteAction"],["impl StructuralPartialEq for GimbalAxisCalibrationRequired"],["impl StructuralPartialEq for MavFtpErr"],["impl StructuralPartialEq for AttitudeTargetTypemask"],["impl StructuralPartialEq for REMOTE_LOG_DATA_BLOCK_DATA"],["impl StructuralPartialEq for LED_CONTROL_DATA"],["impl StructuralPartialEq for MavOdidUaType"],["impl StructuralPartialEq for UavionixAdsbOutCfgGpsOffsetLat"],["impl StructuralPartialEq for CameraMode"],["impl StructuralPartialEq for CanFilterOp"],["impl StructuralPartialEq for UavionixAdsbOutCfgAircraftSize"],["impl StructuralPartialEq for SET_HOME_POSITION_DATA"],["impl StructuralPartialEq for MOUNT_CONFIGURE_DATA"],["impl StructuralPartialEq for ATTITUDE_QUATERNION_DATA"],["impl StructuralPartialEq for RESOURCE_REQUEST_DATA"],["impl StructuralPartialEq for COLLISION_DATA"],["impl StructuralPartialEq for RALLY_POINT_DATA"],["impl StructuralPartialEq for COLLISION_DATA"],["impl StructuralPartialEq for MavCollisionSrc"],["impl StructuralPartialEq for PARAM_EXT_REQUEST_READ_DATA"],["impl StructuralPartialEq for VIBRATION_DATA"],["impl StructuralPartialEq for ESC_STATUS_DATA"],["impl StructuralPartialEq for HIL_OPTICAL_FLOW_DATA"],["impl StructuralPartialEq for LOGGING_DATA_ACKED_DATA"],["impl StructuralPartialEq for LOG_ERASE_DATA"],["impl StructuralPartialEq for DATA96_DATA"],["impl StructuralPartialEq for FOLLOW_TARGET_DATA"],["impl StructuralPartialEq for BATTERY_STATUS_DATA"],["impl StructuralPartialEq for SAFETY_ALLOWED_AREA_DATA"],["impl StructuralPartialEq for POSITION_TARGET_LOCAL_NED_DATA"],["impl StructuralPartialEq for SYSTEM_TIME_DATA"],["impl StructuralPartialEq for CAMERA_STATUS_DATA"],["impl StructuralPartialEq for LandingTargetType"],["impl StructuralPartialEq for CameraTrackingMode"],["impl StructuralPartialEq for DEBUG_VECT_DATA"],["impl StructuralPartialEq for GPS_GLOBAL_ORIGIN_DATA"],["impl StructuralPartialEq for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl StructuralPartialEq for GPS_INPUT_DATA"],["impl StructuralPartialEq for ActuatorConfiguration"],["impl StructuralPartialEq for CELLULAR_STATUS_DATA"],["impl StructuralPartialEq for WIND_DATA"],["impl StructuralPartialEq for DISTANCE_SENSOR_DATA"],["impl StructuralPartialEq for GimbalDeviceCapFlags"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl StructuralPartialEq for OPTICAL_FLOW_RAD_DATA"],["impl StructuralPartialEq for MANUAL_CONTROL_DATA"],["impl StructuralPartialEq for MavFrame"],["impl StructuralPartialEq for UAVCAN_NODE_INFO_DATA"],["impl StructuralPartialEq for ACTUATOR_CONTROL_TARGET_DATA"],["impl StructuralPartialEq for SerialControlFlag"],["impl StructuralPartialEq for UtmDataAvailFlags"],["impl StructuralPartialEq for UtmFlightState"],["impl StructuralPartialEq for MavDistanceSensor"],["impl StructuralPartialEq for MISSION_ITEM_REACHED_DATA"],["impl StructuralPartialEq for ACTUATOR_CONTROL_TARGET_DATA"],["impl StructuralPartialEq for TERRAIN_REPORT_DATA"],["impl StructuralPartialEq for GPS_RAW_INT_DATA"],["impl StructuralPartialEq for HIGH_LATENCY_DATA"],["impl StructuralPartialEq for MavOdidCategoryEu"],["impl StructuralPartialEq for DATA_STREAM_DATA"],["impl StructuralPartialEq for MavTunnelPayloadType"],["impl StructuralPartialEq for VICON_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for LOG_ENTRY_DATA"],["impl StructuralPartialEq for NavVtolLandOptions"],["impl StructuralPartialEq for HlFailureFlag"],["impl StructuralPartialEq for MavSeverity"],["impl StructuralPartialEq for V2_EXTENSION_DATA"],["impl StructuralPartialEq for CAMERA_INFORMATION_DATA"],["impl StructuralPartialEq for GPS_RTCM_DATA_DATA"],["impl StructuralPartialEq for FenceMitigate"],["impl StructuralPartialEq for COMMAND_LONG_DATA"],["impl StructuralPartialEq for IcarousTrackBandTypes"],["impl StructuralPartialEq for HIGH_LATENCY2_DATA"],["impl StructuralPartialEq for CellularConfigResponse"],["impl StructuralPartialEq for MavComponent"],["impl StructuralPartialEq for MavOdidOperatorLocationType"],["impl StructuralPartialEq for MavLandedState"],["impl StructuralPartialEq for CAN_FILTER_MODIFY_DATA"],["impl StructuralPartialEq for RcType"],["impl StructuralPartialEq for AisType"],["impl StructuralPartialEq for VFR_HUD_DATA"],["impl StructuralPartialEq for RC_CHANNELS_DATA"],["impl StructuralPartialEq for SCALED_PRESSURE2_DATA"],["impl StructuralPartialEq for MavResult"],["impl StructuralPartialEq for STATUSTEXT_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_SELF_ID_DATA"],["impl StructuralPartialEq for MavOdidHorAcc"],["impl StructuralPartialEq for MagCalStatus"],["impl StructuralPartialEq for TERRAIN_DATA_DATA"],["impl StructuralPartialEq for EstimatorStatusFlags"],["impl StructuralPartialEq for SubMode"],["impl StructuralPartialEq for GoproResolution"],["impl StructuralPartialEq for SERVO_OUTPUT_RAW_DATA"],["impl StructuralPartialEq for MISSION_COUNT_DATA"],["impl StructuralPartialEq for AisType"],["impl StructuralPartialEq for WIFI_CONFIG_AP_DATA"],["impl StructuralPartialEq for FailureType"],["impl StructuralPartialEq for BATTERY_STATUS_DATA"],["impl StructuralPartialEq for MavBatteryMode"],["impl StructuralPartialEq for PROTOCOL_VERSION_DATA"],["impl StructuralPartialEq for MavOdidOperatorLocationType"],["impl StructuralPartialEq for RAW_IMU_DATA"],["impl StructuralPartialEq for MavPowerStatus"],["impl StructuralPartialEq for MavBatteryType"],["impl StructuralPartialEq for MANUAL_SETPOINT_DATA"],["impl StructuralPartialEq for SUPPORTED_TUNES_DATA"],["impl StructuralPartialEq for GPS_RTK_DATA"],["impl StructuralPartialEq for DEVICE_OP_WRITE_DATA"],["impl StructuralPartialEq for UTM_GLOBAL_POSITION_DATA"],["impl StructuralPartialEq for HIL_STATE_QUATERNION_DATA"],["impl StructuralPartialEq for BUTTON_CHANGE_DATA"],["impl StructuralPartialEq for AdsbAltitudeType"],["impl StructuralPartialEq for REQUEST_DATA_STREAM_DATA"],["impl StructuralPartialEq for ATTITUDE_QUATERNION_COV_DATA"],["impl StructuralPartialEq for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl StructuralPartialEq for CanFilterOp"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl StructuralPartialEq for UavionixAdsbRfHealth"],["impl StructuralPartialEq for GLOBAL_POSITION_INT_COV_DATA"],["impl StructuralPartialEq for FirmwareVersionType"],["impl StructuralPartialEq for MavVtolState"],["impl StructuralPartialEq for AUTOPILOT_VERSION_DATA"],["impl StructuralPartialEq for FENCE_STATUS_DATA"],["impl StructuralPartialEq for AUTOPILOT_VERSION_DATA"],["impl StructuralPartialEq for MavModeFlagDecodePosition"],["impl StructuralPartialEq for AisNavStatus"],["impl StructuralPartialEq for SYS_STATUS_DATA"],["impl StructuralPartialEq for SET_ATTITUDE_TARGET_DATA"],["impl StructuralPartialEq for AdsbEmitterType"],["impl StructuralPartialEq for AccelcalVehiclePos"],["impl StructuralPartialEq for LINK_NODE_STATUS_DATA"],["impl StructuralPartialEq for PositionTargetTypemask"],["impl StructuralPartialEq for GLOBAL_POSITION_INT_DATA"],["impl StructuralPartialEq for ALTITUDE_DATA"],["impl StructuralPartialEq for UTM_GLOBAL_POSITION_DATA"],["impl StructuralPartialEq for FailureUnit"],["impl StructuralPartialEq for CellularStatusFlag"],["impl StructuralPartialEq for MavOdidAuthType"],["impl StructuralPartialEq for GPS_RTCM_DATA_DATA"],["impl StructuralPartialEq for UavcanNodeMode"],["impl StructuralPartialEq for FenceAction"],["impl StructuralPartialEq for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl StructuralPartialEq for DEBUG_FLOAT_ARRAY_DATA"],["impl StructuralPartialEq for HIL_SENSOR_DATA"],["impl StructuralPartialEq for SerialControlDev"],["impl StructuralPartialEq for GoproProtuneExposure"],["impl StructuralPartialEq for MAG_CAL_PROGRESS_DATA"],["impl StructuralPartialEq for StorageType"],["impl StructuralPartialEq for MavCmdDoAuxFunctionSwitchLevel"],["impl StructuralPartialEq for MavOdidStatus"],["impl StructuralPartialEq for NAMED_VALUE_FLOAT_DATA"],["impl StructuralPartialEq for CellularNetworkFailedReason"],["impl StructuralPartialEq for MEMORY_VECT_DATA"],["impl StructuralPartialEq for CameraTrackingStatusFlags"],["impl StructuralPartialEq for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl StructuralPartialEq for GOPRO_GET_REQUEST_DATA"],["impl StructuralPartialEq for LOG_ENTRY_DATA"],["impl StructuralPartialEq for PARAM_VALUE_DATA"],["impl StructuralPartialEq for MavSysStatusSensor"],["impl StructuralPartialEq for MavOdidClassEu"],["impl StructuralPartialEq for VideoStreamStatusFlags"],["impl StructuralPartialEq for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for RALLY_FETCH_POINT_DATA"],["impl StructuralPartialEq for MavCollisionSrc"],["impl StructuralPartialEq for MavMode"],["impl StructuralPartialEq for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl StructuralPartialEq for MavFrame"],["impl StructuralPartialEq for GPS_STATUS_DATA"],["impl StructuralPartialEq for GpsFixType"],["impl StructuralPartialEq for AutotuneAxis"],["impl StructuralPartialEq for AisFlags"],["impl StructuralPartialEq for CompMetadataType"],["impl StructuralPartialEq for ODOMETRY_DATA"],["impl StructuralPartialEq for PrecisionLandMode"],["impl StructuralPartialEq for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl StructuralPartialEq for COMMAND_LONG_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_INFORMATION_DATA"],["impl StructuralPartialEq for LOCAL_POSITION_NED_COV_DATA"],["impl StructuralPartialEq for GPS2_RTK_DATA"],["impl StructuralPartialEq for MavOdidOperatorIdType"],["impl StructuralPartialEq for CAMERA_FEEDBACK_DATA"],["impl StructuralPartialEq for CameraTrackingStatusFlags"],["impl StructuralPartialEq for CAMERA_TRIGGER_DATA"],["impl StructuralPartialEq for MavEventErrorReason"],["impl StructuralPartialEq for SENSOR_OFFSETS_DATA"],["impl StructuralPartialEq for MavModeFlag"],["impl StructuralPartialEq for PidTuningAxis"],["impl StructuralPartialEq for REQUEST_EVENT_DATA"],["impl StructuralPartialEq for MavOdidSpeedAcc"],["impl StructuralPartialEq for LOCAL_POSITION_NED_DATA"],["impl StructuralPartialEq for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl StructuralPartialEq for UtmFlightState"],["impl StructuralPartialEq for AisType"],["impl StructuralPartialEq for RESOURCE_REQUEST_DATA"],["impl StructuralPartialEq for V2_EXTENSION_DATA"],["impl StructuralPartialEq for PARAM_EXT_ACK_DATA"],["impl StructuralPartialEq for CHANGE_OPERATOR_CONTROL_DATA"],["impl StructuralPartialEq for GIMBAL_DEVICE_INFORMATION_DATA"],["impl StructuralPartialEq for GENERATOR_STATUS_DATA"],["impl StructuralPartialEq for OBSTACLE_DISTANCE_DATA"],["impl StructuralPartialEq for MavGeneratorStatusFlag"],["impl StructuralPartialEq for GPS2_RAW_DATA"],["impl StructuralPartialEq for SMART_BATTERY_INFO_DATA"],["impl StructuralPartialEq for DIGICAM_CONTROL_DATA"],["impl StructuralPartialEq for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl StructuralPartialEq for VideoStreamStatusFlags"],["impl StructuralPartialEq for IcarousTrackBandTypes"],["impl StructuralPartialEq for GimbalDeviceFlags"],["impl StructuralPartialEq for RADIO_DATA"],["impl StructuralPartialEq for MavSysStatusSensor"],["impl StructuralPartialEq for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl StructuralPartialEq for MavOdidStatus"],["impl StructuralPartialEq for AdsbAltitudeType"],["impl StructuralPartialEq for TUNNEL_DATA"],["impl StructuralPartialEq for MavOdidHeightRef"],["impl StructuralPartialEq for MavOdidCategoryEu"],["impl StructuralPartialEq for OPTICAL_FLOW_DATA"],["impl StructuralPartialEq for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_STATUS_DATA"],["impl StructuralPartialEq for OSD_PARAM_CONFIG_DATA"],["impl StructuralPartialEq for GimbalDeviceFlags"],["impl StructuralPartialEq for ALTITUDE_DATA"],["impl StructuralPartialEq for CellularNetworkRadioType"],["impl StructuralPartialEq for MavType"],["impl StructuralPartialEq for LOG_REQUEST_LIST_DATA"],["impl StructuralPartialEq for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl StructuralPartialEq for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl StructuralPartialEq for MavHeader"],["impl StructuralPartialEq for GoproPhotoResolution"],["impl StructuralPartialEq for ISBD_LINK_STATUS_DATA"],["impl StructuralPartialEq for SET_ATTITUDE_TARGET_DATA"],["impl StructuralPartialEq for SCALED_PRESSURE_DATA"],["impl StructuralPartialEq for LimitsState"],["impl StructuralPartialEq for LOG_REQUEST_LIST_DATA"],["impl StructuralPartialEq for RtkBaselineCoordinateSystem"],["impl StructuralPartialEq for PARAM_EXT_SET_DATA"],["impl StructuralPartialEq for MavSysStatusSensor"],["impl StructuralPartialEq for MavBatteryChargeState"],["impl StructuralPartialEq for MISSION_ITEM_DATA"],["impl StructuralPartialEq for MavLandedState"],["impl StructuralPartialEq for MavRoi"],["impl StructuralPartialEq for ESTIMATOR_STATUS_DATA"],["impl StructuralPartialEq for AttitudeTargetTypemask"],["impl StructuralPartialEq for MavEventCurrentSequenceFlags"],["impl StructuralPartialEq for UavionixAdsbOutCfgGpsOffsetLon"],["impl StructuralPartialEq for PlaneMode"],["impl StructuralPartialEq for VideoStreamType"],["impl StructuralPartialEq for UAVCAN_NODE_STATUS_DATA"],["impl StructuralPartialEq for AIRSPEED_AUTOCAL_DATA"],["impl StructuralPartialEq for FENCE_STATUS_DATA"],["impl StructuralPartialEq for CAMERA_FOV_STATUS_DATA"],["impl StructuralPartialEq for SERIAL_CONTROL_DATA"],["impl StructuralPartialEq for TERRAIN_CHECK_DATA"],["impl StructuralPartialEq for DATA64_DATA"],["impl StructuralPartialEq for CameraTrackingTargetData"],["impl StructuralPartialEq for UavcanNodeHealth"],["impl StructuralPartialEq for SMART_BATTERY_INFO_DATA"],["impl StructuralPartialEq for CHANGE_OPERATOR_CONTROL_DATA"],["impl StructuralPartialEq for SerialControlDev"],["impl StructuralPartialEq for FENCE_POINT_DATA"],["impl StructuralPartialEq for WHEEL_DISTANCE_DATA"],["impl StructuralPartialEq for SETUP_SIGNING_DATA"],["impl StructuralPartialEq for LOGGING_DATA_ACKED_DATA"],["impl StructuralPartialEq for UtmFlightState"],["impl StructuralPartialEq for MavFtpOpcode"],["impl StructuralPartialEq for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl StructuralPartialEq for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl StructuralPartialEq for CAMERA_SETTINGS_DATA"],["impl StructuralPartialEq for PreflightStorageParameterAction"],["impl StructuralPartialEq for ATTITUDE_TARGET_DATA"],["impl StructuralPartialEq for MavState"],["impl StructuralPartialEq for HIGH_LATENCY_DATA"],["impl StructuralPartialEq for SCALED_PRESSURE3_DATA"],["impl StructuralPartialEq for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl StructuralPartialEq for WifiConfigApResponse"],["impl StructuralPartialEq for GimbalManagerFlags"],["impl StructuralPartialEq for PrecisionLandMode"],["impl StructuralPartialEq for COMPONENT_INFORMATION_DATA"],["impl StructuralPartialEq for MavOdidUaType"],["impl StructuralPartialEq for PARAM_SET_DATA"],["impl StructuralPartialEq for MESSAGE_INTERVAL_DATA"],["impl StructuralPartialEq for MagCalStatus"],["impl StructuralPartialEq for MISSION_REQUEST_INT_DATA"],["impl StructuralPartialEq for MAVLinkV2MessageRaw"],["impl StructuralPartialEq for GoproBurstRate"],["impl StructuralPartialEq for PARAM_EXT_VALUE_DATA"],["impl StructuralPartialEq for MavCollisionThreatLevel"],["impl StructuralPartialEq for RC_CHANNELS_RAW_DATA"],["impl StructuralPartialEq for SET_MODE_DATA"],["impl StructuralPartialEq for ENCAPSULATED_DATA_DATA"],["impl StructuralPartialEq for WifiConfigApResponse"],["impl StructuralPartialEq for LANDING_TARGET_DATA"],["impl StructuralPartialEq for FenceMitigate"],["impl StructuralPartialEq for AUTH_KEY_DATA"],["impl StructuralPartialEq for RAW_PRESSURE_DATA"],["impl StructuralPartialEq for MavOdidDescType"],["impl StructuralPartialEq for AHRS3_DATA"],["impl StructuralPartialEq for MavGoto"],["impl StructuralPartialEq for LOG_REQUEST_END_DATA"],["impl StructuralPartialEq for RallyFlags"],["impl StructuralPartialEq for MavWinchStatusFlag"],["impl StructuralPartialEq for EscFailureFlags"],["impl StructuralPartialEq for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl StructuralPartialEq for CELLULAR_CONFIG_DATA"],["impl StructuralPartialEq for MISSION_CURRENT_DATA"],["impl StructuralPartialEq for PARAM_REQUEST_LIST_DATA"],["impl StructuralPartialEq for ATT_POS_MOCAP_DATA"],["impl StructuralPartialEq for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl StructuralPartialEq for CameraStatusTypes"],["impl StructuralPartialEq for HIL_CONTROLS_DATA"],["impl StructuralPartialEq for MISSION_CURRENT_DATA"],["impl StructuralPartialEq for CANFD_FRAME_DATA"],["impl StructuralPartialEq for MavCmdAck"],["impl StructuralPartialEq for HIL_ACTUATOR_CONTROLS_DATA"],["impl StructuralPartialEq for MISSION_ITEM_DATA"],["impl StructuralPartialEq for EVENT_DATA"],["impl StructuralPartialEq for LOGGING_ACK_DATA"],["impl StructuralPartialEq for MavDoRepositionFlags"],["impl StructuralPartialEq for MISSION_CLEAR_ALL_DATA"],["impl StructuralPartialEq for GoproVideoSettingsFlags"],["impl StructuralPartialEq for VISION_SPEED_ESTIMATE_DATA"],["impl StructuralPartialEq for MavMountMode"],["impl StructuralPartialEq for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl StructuralPartialEq for CAMERA_SETTINGS_DATA"],["impl StructuralPartialEq for VideoStreamType"],["impl StructuralPartialEq for HIL_RC_INPUTS_RAW_DATA"],["impl StructuralPartialEq for HeadingType"],["impl StructuralPartialEq for SET_MODE_DATA"],["impl StructuralPartialEq for CameraCapFlags"],["impl StructuralPartialEq for LOGGING_ACK_DATA"],["impl StructuralPartialEq for TERRAIN_REQUEST_DATA"],["impl StructuralPartialEq for SCALED_PRESSURE2_DATA"],["impl StructuralPartialEq for OBSTACLE_DISTANCE_3D_DATA"],["impl StructuralPartialEq for LOG_DATA_DATA"],["impl StructuralPartialEq for CameraCapFlags"],["impl StructuralPartialEq for CAMERA_CAPTURE_STATUS_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_INT_DATA"],["impl StructuralPartialEq for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl StructuralPartialEq for SYSTEM_TIME_DATA"],["impl StructuralPartialEq for ACTUATOR_CONTROL_TARGET_DATA"],["impl StructuralPartialEq for RC_CHANNELS_OVERRIDE_DATA"],["impl StructuralPartialEq for RADIO_STATUS_DATA"],["impl StructuralPartialEq for RcType"],["impl StructuralPartialEq for FenceBreach"],["impl StructuralPartialEq for EscFailureFlags"],["impl StructuralPartialEq for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl StructuralPartialEq for MavBatteryChargeState"],["impl StructuralPartialEq for SerialControlFlag"],["impl StructuralPartialEq for PositionTargetTypemask"],["impl StructuralPartialEq for MagCalStatus"],["impl StructuralPartialEq for MavGoto"],["impl StructuralPartialEq for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl StructuralPartialEq for GimbalManagerFlags"],["impl StructuralPartialEq for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl StructuralPartialEq for STATUSTEXT_DATA"],["impl StructuralPartialEq for MavOdidSpeedAcc"],["impl StructuralPartialEq for COMPONENT_METADATA_DATA"],["impl StructuralPartialEq for AUTH_KEY_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_SYSTEM_DATA"],["impl StructuralPartialEq for MavOdidSpeedAcc"],["impl StructuralPartialEq for MavSeverity"],["impl StructuralPartialEq for EstimatorStatusFlags"],["impl StructuralPartialEq for MavGoto"],["impl StructuralPartialEq for IcarousFmsState"],["impl StructuralPartialEq for GIMBAL_MANAGER_INFORMATION_DATA"],["impl StructuralPartialEq for HighresImuUpdatedFlags"],["impl StructuralPartialEq for DATA16_DATA"],["impl StructuralPartialEq for FirmwareVersionType"],["impl StructuralPartialEq for ParachuteAction"],["impl StructuralPartialEq for GPS_RTCM_DATA_DATA"],["impl StructuralPartialEq for HIGH_LATENCY2_DATA"],["impl StructuralPartialEq for COMPONENT_METADATA_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl StructuralPartialEq for PARAM_REQUEST_READ_DATA"],["impl StructuralPartialEq for CELLULAR_STATUS_DATA"],["impl StructuralPartialEq for CAMERA_IMAGE_CAPTURED_DATA"],["impl StructuralPartialEq for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl StructuralPartialEq for MavState"],["impl StructuralPartialEq for GimbalAxisCalibrationStatus"],["impl StructuralPartialEq for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl StructuralPartialEq for VFR_HUD_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_DATA"],["impl StructuralPartialEq for MavMessage"],["impl StructuralPartialEq for TIMESYNC_DATA"],["impl StructuralPartialEq for CellularNetworkRadioType"],["impl StructuralPartialEq for OsdParamConfigType"],["impl StructuralPartialEq for AdsbFlags"],["impl StructuralPartialEq for GIMBAL_DEVICE_INFORMATION_DATA"],["impl StructuralPartialEq for MavPowerStatus"],["impl StructuralPartialEq for TERRAIN_REQUEST_DATA"],["impl StructuralPartialEq for MavSensorOrientation"],["impl StructuralPartialEq for GOPRO_SET_REQUEST_DATA"],["impl StructuralPartialEq for LOG_ERASE_DATA"],["impl StructuralPartialEq for HilSensorUpdatedFlags"],["impl StructuralPartialEq for AisFlags"],["impl StructuralPartialEq for MavOdidVerAcc"],["impl StructuralPartialEq for TUNNEL_DATA"],["impl StructuralPartialEq for FLIGHT_INFORMATION_DATA"],["impl StructuralPartialEq for OBSTACLE_DISTANCE_DATA"],["impl StructuralPartialEq for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl StructuralPartialEq for MavCollisionSrc"],["impl StructuralPartialEq for HIGHRES_IMU_DATA"],["impl StructuralPartialEq for ATTITUDE_TARGET_DATA"],["impl StructuralPartialEq for RC_CHANNELS_RAW_DATA"],["impl StructuralPartialEq for WIND_COV_DATA"],["impl StructuralPartialEq for UavionixAdsbEmergencyStatus"],["impl StructuralPartialEq for GLOBAL_POSITION_INT_COV_DATA"],["impl StructuralPartialEq for HIL_CONTROLS_DATA"],["impl StructuralPartialEq for DEBUG_DATA"],["impl StructuralPartialEq for CellularNetworkFailedReason"],["impl StructuralPartialEq for HIL_OPTICAL_FLOW_DATA"],["impl StructuralPartialEq for EFI_STATUS_DATA"],["impl StructuralPartialEq for UavionixAdsbOutRfSelect"],["impl StructuralPartialEq for MavMountMode"],["impl StructuralPartialEq for MavOdidHeightRef"],["impl StructuralPartialEq for MavParamType"],["impl StructuralPartialEq for MavSysStatusSensorExtended"],["impl StructuralPartialEq for MavOdidArmStatus"],["impl StructuralPartialEq for MavMissionType"],["impl StructuralPartialEq for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl StructuralPartialEq for MavOdidDescType"],["impl StructuralPartialEq for GoproCharging"],["impl StructuralPartialEq for CELLULAR_CONFIG_DATA"],["impl StructuralPartialEq for RAW_RPM_DATA"],["impl StructuralPartialEq for MAG_CAL_REPORT_DATA"],["impl StructuralPartialEq for HlFailureFlag"],["impl StructuralPartialEq for StorageStatus"],["impl StructuralPartialEq for PARAM_MAP_RC_DATA"],["impl StructuralPartialEq for StorageType"],["impl StructuralPartialEq for GoproFrameRate"],["impl StructuralPartialEq for NAMED_VALUE_INT_DATA"],["impl StructuralPartialEq for GoproRequestStatus"],["impl StructuralPartialEq for COMMAND_INT_DATA"],["impl StructuralPartialEq for HIL_ACTUATOR_CONTROLS_DATA"],["impl StructuralPartialEq for OsdParamConfigError"],["impl StructuralPartialEq for ADSB_VEHICLE_DATA"],["impl StructuralPartialEq for TIME_ESTIMATE_TO_TARGET_DATA"],["impl StructuralPartialEq for HIL_STATE_QUATERNION_DATA"],["impl StructuralPartialEq for MISSION_REQUEST_INT_DATA"],["impl StructuralPartialEq for ADSB_VEHICLE_DATA"],["impl StructuralPartialEq for RC_CHANNELS_DATA"],["impl StructuralPartialEq for MavType"],["impl StructuralPartialEq for GpsFixType"],["impl StructuralPartialEq for DEVICE_OP_READ_REPLY_DATA"],["impl StructuralPartialEq for UTM_GLOBAL_POSITION_DATA"],["impl StructuralPartialEq for UavionixAdsbOutDynamicState"],["impl StructuralPartialEq for HIL_CONTROLS_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_SYSTEM_DATA"],["impl StructuralPartialEq for LOGGING_DATA_DATA"],["impl StructuralPartialEq for SMART_BATTERY_INFO_DATA"],["impl StructuralPartialEq for SET_HOME_POSITION_DATA"],["impl StructuralPartialEq for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl StructuralPartialEq for FailureType"],["impl StructuralPartialEq for RC_CHANNELS_SCALED_DATA"],["impl StructuralPartialEq for ESC_STATUS_DATA"],["impl StructuralPartialEq for MISSION_ITEM_REACHED_DATA"],["impl StructuralPartialEq for CAMERA_TRIGGER_DATA"],["impl StructuralPartialEq for MavBatteryMode"],["impl StructuralPartialEq for COMMAND_INT_DATA"],["impl StructuralPartialEq for VtolTransitionHeading"],["impl StructuralPartialEq for ONBOARD_COMPUTER_STATUS_DATA"],["impl StructuralPartialEq for CameraFeedbackFlags"],["impl StructuralPartialEq for PID_TUNING_DATA"],["impl StructuralPartialEq for HYGROMETER_SENSOR_DATA"],["impl StructuralPartialEq for DEEPSTALL_DATA"],["impl StructuralPartialEq for MavOdidDescType"],["impl StructuralPartialEq for SCALED_IMU2_DATA"],["impl StructuralPartialEq for CompMetadataType"],["impl StructuralPartialEq for VFR_HUD_DATA"],["impl StructuralPartialEq for MavPowerStatus"],["impl StructuralPartialEq for PARAM_REQUEST_LIST_DATA"],["impl StructuralPartialEq for COLLISION_DATA"],["impl StructuralPartialEq for PLAY_TUNE_DATA"],["impl StructuralPartialEq for EscFailureFlags"],["impl StructuralPartialEq for VIBRATION_DATA"],["impl StructuralPartialEq for MavCmdAck"],["impl StructuralPartialEq for REQUEST_EVENT_DATA"],["impl StructuralPartialEq for MavCmdAck"],["impl StructuralPartialEq for WHEEL_DISTANCE_DATA"],["impl StructuralPartialEq for GoproProtuneWhiteBalance"],["impl StructuralPartialEq for ActuatorOutputFunction"],["impl StructuralPartialEq for GIMBAL_MANAGER_INFORMATION_DATA"],["impl StructuralPartialEq for MavGeneratorStatusFlag"],["impl StructuralPartialEq for FOLLOW_TARGET_DATA"],["impl StructuralPartialEq for MavModeGimbal"],["impl StructuralPartialEq for MavOdidOperatorIdType"],["impl StructuralPartialEq for PLAY_TUNE_DATA"],["impl StructuralPartialEq for FLIGHT_INFORMATION_DATA"],["impl StructuralPartialEq for GPS_INJECT_DATA_DATA"],["impl StructuralPartialEq for MavParamType"],["impl StructuralPartialEq for MavBatteryType"],["impl StructuralPartialEq for VISION_POSITION_DELTA_DATA"],["impl StructuralPartialEq for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl StructuralPartialEq for ESC_TELEMETRY_5_TO_8_DATA"],["impl StructuralPartialEq for OrbitYawBehaviour"],["impl StructuralPartialEq for OPTICAL_FLOW_DATA"],["impl StructuralPartialEq for MavMode"],["impl StructuralPartialEq for MissionState"],["impl StructuralPartialEq for RoverMode"],["impl StructuralPartialEq for GimbalManagerCapFlags"],["impl StructuralPartialEq for MISSION_COUNT_DATA"],["impl StructuralPartialEq for MISSION_ITEM_REACHED_DATA"],["impl StructuralPartialEq for LOGGING_DATA_DATA"],["impl StructuralPartialEq for NAV_CONTROLLER_OUTPUT_DATA"],["impl StructuralPartialEq for COMPONENT_METADATA_DATA"],["impl StructuralPartialEq for WifiConfigApMode"],["impl StructuralPartialEq for ALTITUDE_DATA"],["impl StructuralPartialEq for MavOdidIdType"],["impl StructuralPartialEq for ICAROUS_HEARTBEAT_DATA"]], "proc_macro2":[["impl StructuralPartialEq for Spacing"],["impl StructuralPartialEq for Delimiter"]], "serde":[["impl<'a> StructuralPartialEq for Unexpected<'a>"],["impl StructuralPartialEq for IgnoredAny"],["impl StructuralPartialEq for Error"]], "serial_core":[["impl StructuralPartialEq for BaudRate"],["impl StructuralPartialEq for ErrorKind"],["impl StructuralPartialEq for FlowControl"],["impl StructuralPartialEq for StopBits"],["impl StructuralPartialEq for Parity"],["impl StructuralPartialEq for PortSettings"],["impl StructuralPartialEq for CharSize"]], diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js index e00d4ddaa1..60ba8aaee9 100644 --- a/trait.impl/core/marker/trait.Sync.js +++ b/trait.impl/core/marker/trait.Sync.js @@ -2,7 +2,7 @@ "byteorder":[["impl Sync for BigEndian",1,["byteorder::BigEndian"]],["impl Sync for LittleEndian",1,["byteorder::LittleEndian"]]], "crc_any":[["impl Sync for CRCu16",1,["crc_any::crc_u16::CRCu16"]],["impl Sync for CRCu32",1,["crc_any::crc_u32::CRCu32"]],["impl Sync for CRCu64",1,["crc_any::crc_u64::CRCu64"]],["impl Sync for CRCu8",1,["crc_any::crc_u8::CRCu8"]],["impl Sync for CRC",1,["crc_any::CRC"]]], "libc":[["impl Sync for statvfs",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::not_x32::statvfs"]],["impl Sync for max_align_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::align::max_align_t"]],["impl Sync for clone_args",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::align::clone_args"]],["impl Sync for sigaction",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::sigaction"]],["impl Sync for statfs",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statfs"]],["impl Sync for flock",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::flock"]],["impl Sync for flock64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::flock64"]],["impl Sync for siginfo_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::siginfo_t"]],["impl !Sync for stack_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stack_t"]],["impl Sync for stat",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stat"]],["impl Sync for stat64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stat64"]],["impl Sync for statfs64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statfs64"]],["impl Sync for statvfs64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statvfs64"]],["impl Sync for pthread_attr_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::pthread_attr_t"]],["impl Sync for _libc_fpxreg",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_fpxreg"]],["impl Sync for _libc_xmmreg",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_xmmreg"]],["impl Sync for _libc_fpstate",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_fpstate"]],["impl Sync for user_regs_struct",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user_regs_struct"]],["impl !Sync for user",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user"]],["impl !Sync for mcontext_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::mcontext_t"]],["impl Sync for ipc_perm",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ipc_perm"]],["impl Sync for shmid_ds",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::shmid_ds"]],["impl Sync for seccomp_notif_sizes",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::seccomp_notif_sizes"]],["impl Sync for ptrace_rseq_configuration",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ptrace_rseq_configuration"]],["impl Sync for user_fpregs_struct",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user_fpregs_struct"]],["impl !Sync for ucontext_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ucontext_t"]],["impl Sync for sigset_t",1,["libc::unix::linux_like::linux::gnu::b64::sigset_t"]],["impl Sync for sysinfo",1,["libc::unix::linux_like::linux::gnu::b64::sysinfo"]],["impl Sync for msqid_ds",1,["libc::unix::linux_like::linux::gnu::b64::msqid_ds"]],["impl Sync for semid_ds",1,["libc::unix::linux_like::linux::gnu::b64::semid_ds"]],["impl Sync for sem_t",1,["libc::unix::linux_like::linux::gnu::align::sem_t"]],["impl Sync for statx",1,["libc::unix::linux_like::linux::gnu::statx"]],["impl Sync for statx_timestamp",1,["libc::unix::linux_like::linux::gnu::statx_timestamp"]],["impl !Sync for aiocb",1,["libc::unix::linux_like::linux::gnu::aiocb"]],["impl Sync for __exit_status",1,["libc::unix::linux_like::linux::gnu::__exit_status"]],["impl Sync for __timeval",1,["libc::unix::linux_like::linux::gnu::__timeval"]],["impl !Sync for glob64_t",1,["libc::unix::linux_like::linux::gnu::glob64_t"]],["impl !Sync for msghdr",1,["libc::unix::linux_like::linux::gnu::msghdr"]],["impl Sync for cmsghdr",1,["libc::unix::linux_like::linux::gnu::cmsghdr"]],["impl Sync for termios",1,["libc::unix::linux_like::linux::gnu::termios"]],["impl Sync for mallinfo",1,["libc::unix::linux_like::linux::gnu::mallinfo"]],["impl Sync for mallinfo2",1,["libc::unix::linux_like::linux::gnu::mallinfo2"]],["impl Sync for nl_pktinfo",1,["libc::unix::linux_like::linux::gnu::nl_pktinfo"]],["impl Sync for nl_mmap_req",1,["libc::unix::linux_like::linux::gnu::nl_mmap_req"]],["impl Sync for nl_mmap_hdr",1,["libc::unix::linux_like::linux::gnu::nl_mmap_hdr"]],["impl !Sync for rtentry",1,["libc::unix::linux_like::linux::gnu::rtentry"]],["impl Sync for timex",1,["libc::unix::linux_like::linux::gnu::timex"]],["impl Sync for ntptimeval",1,["libc::unix::linux_like::linux::gnu::ntptimeval"]],["impl !Sync for regex_t",1,["libc::unix::linux_like::linux::gnu::regex_t"]],["impl Sync for Elf64_Chdr",1,["libc::unix::linux_like::linux::gnu::Elf64_Chdr"]],["impl Sync for Elf32_Chdr",1,["libc::unix::linux_like::linux::gnu::Elf32_Chdr"]],["impl Sync for seminfo",1,["libc::unix::linux_like::linux::gnu::seminfo"]],["impl Sync for ptrace_peeksiginfo_args",1,["libc::unix::linux_like::linux::gnu::ptrace_peeksiginfo_args"]],["impl Sync for __c_anonymous_ptrace_syscall_info_entry",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_entry"]],["impl Sync for __c_anonymous_ptrace_syscall_info_exit",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_exit"]],["impl Sync for __c_anonymous_ptrace_syscall_info_seccomp",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_seccomp"]],["impl Sync for ptrace_syscall_info",1,["libc::unix::linux_like::linux::gnu::ptrace_syscall_info"]],["impl Sync for sockaddr_xdp",1,["libc::unix::linux_like::linux::gnu::sockaddr_xdp"]],["impl Sync for xdp_ring_offset",1,["libc::unix::linux_like::linux::gnu::xdp_ring_offset"]],["impl Sync for xdp_mmap_offsets",1,["libc::unix::linux_like::linux::gnu::xdp_mmap_offsets"]],["impl Sync for xdp_ring_offset_v1",1,["libc::unix::linux_like::linux::gnu::xdp_ring_offset_v1"]],["impl Sync for xdp_mmap_offsets_v1",1,["libc::unix::linux_like::linux::gnu::xdp_mmap_offsets_v1"]],["impl Sync for xdp_umem_reg",1,["libc::unix::linux_like::linux::gnu::xdp_umem_reg"]],["impl Sync for xdp_umem_reg_v1",1,["libc::unix::linux_like::linux::gnu::xdp_umem_reg_v1"]],["impl Sync for xdp_statistics",1,["libc::unix::linux_like::linux::gnu::xdp_statistics"]],["impl Sync for xdp_statistics_v1",1,["libc::unix::linux_like::linux::gnu::xdp_statistics_v1"]],["impl Sync for xdp_options",1,["libc::unix::linux_like::linux::gnu::xdp_options"]],["impl Sync for xdp_desc",1,["libc::unix::linux_like::linux::gnu::xdp_desc"]],["impl Sync for __c_anonymous_ptrace_syscall_info_data",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_data"]],["impl Sync for utmpx",1,["libc::unix::linux_like::linux::gnu::utmpx"]],["impl Sync for termios2",1,["libc::unix::linux_like::linux::arch::generic::termios2"]],["impl Sync for open_how",1,["libc::unix::linux_like::linux::non_exhaustive::open_how"]],["impl Sync for fpos64_t",1,["libc::unix::linux_like::linux::fpos64_t"]],["impl !Sync for glob_t",1,["libc::unix::linux_like::linux::glob_t"]],["impl !Sync for passwd",1,["libc::unix::linux_like::linux::passwd"]],["impl !Sync for spwd",1,["libc::unix::linux_like::linux::spwd"]],["impl Sync for dqblk",1,["libc::unix::linux_like::linux::dqblk"]],["impl Sync for signalfd_siginfo",1,["libc::unix::linux_like::linux::signalfd_siginfo"]],["impl Sync for itimerspec",1,["libc::unix::linux_like::linux::itimerspec"]],["impl Sync for fsid_t",1,["libc::unix::linux_like::linux::fsid_t"]],["impl Sync for packet_mreq",1,["libc::unix::linux_like::linux::packet_mreq"]],["impl Sync for cpu_set_t",1,["libc::unix::linux_like::linux::cpu_set_t"]],["impl !Sync for if_nameindex",1,["libc::unix::linux_like::linux::if_nameindex"]],["impl Sync for msginfo",1,["libc::unix::linux_like::linux::msginfo"]],["impl Sync for sembuf",1,["libc::unix::linux_like::linux::sembuf"]],["impl Sync for input_event",1,["libc::unix::linux_like::linux::input_event"]],["impl Sync for input_id",1,["libc::unix::linux_like::linux::input_id"]],["impl Sync for input_absinfo",1,["libc::unix::linux_like::linux::input_absinfo"]],["impl Sync for input_keymap_entry",1,["libc::unix::linux_like::linux::input_keymap_entry"]],["impl Sync for input_mask",1,["libc::unix::linux_like::linux::input_mask"]],["impl Sync for ff_replay",1,["libc::unix::linux_like::linux::ff_replay"]],["impl Sync for ff_trigger",1,["libc::unix::linux_like::linux::ff_trigger"]],["impl Sync for ff_envelope",1,["libc::unix::linux_like::linux::ff_envelope"]],["impl Sync for ff_constant_effect",1,["libc::unix::linux_like::linux::ff_constant_effect"]],["impl Sync for ff_ramp_effect",1,["libc::unix::linux_like::linux::ff_ramp_effect"]],["impl Sync for ff_condition_effect",1,["libc::unix::linux_like::linux::ff_condition_effect"]],["impl !Sync for ff_periodic_effect",1,["libc::unix::linux_like::linux::ff_periodic_effect"]],["impl Sync for ff_rumble_effect",1,["libc::unix::linux_like::linux::ff_rumble_effect"]],["impl Sync for ff_effect",1,["libc::unix::linux_like::linux::ff_effect"]],["impl Sync for uinput_ff_upload",1,["libc::unix::linux_like::linux::uinput_ff_upload"]],["impl Sync for uinput_ff_erase",1,["libc::unix::linux_like::linux::uinput_ff_erase"]],["impl Sync for uinput_abs_setup",1,["libc::unix::linux_like::linux::uinput_abs_setup"]],["impl !Sync for dl_phdr_info",1,["libc::unix::linux_like::linux::dl_phdr_info"]],["impl Sync for Elf32_Ehdr",1,["libc::unix::linux_like::linux::Elf32_Ehdr"]],["impl Sync for Elf64_Ehdr",1,["libc::unix::linux_like::linux::Elf64_Ehdr"]],["impl Sync for Elf32_Sym",1,["libc::unix::linux_like::linux::Elf32_Sym"]],["impl Sync for Elf64_Sym",1,["libc::unix::linux_like::linux::Elf64_Sym"]],["impl Sync for Elf32_Phdr",1,["libc::unix::linux_like::linux::Elf32_Phdr"]],["impl Sync for Elf64_Phdr",1,["libc::unix::linux_like::linux::Elf64_Phdr"]],["impl Sync for Elf32_Shdr",1,["libc::unix::linux_like::linux::Elf32_Shdr"]],["impl Sync for Elf64_Shdr",1,["libc::unix::linux_like::linux::Elf64_Shdr"]],["impl Sync for ucred",1,["libc::unix::linux_like::linux::ucred"]],["impl !Sync for mntent",1,["libc::unix::linux_like::linux::mntent"]],["impl !Sync for posix_spawn_file_actions_t",1,["libc::unix::linux_like::linux::posix_spawn_file_actions_t"]],["impl Sync for posix_spawnattr_t",1,["libc::unix::linux_like::linux::posix_spawnattr_t"]],["impl Sync for genlmsghdr",1,["libc::unix::linux_like::linux::genlmsghdr"]],["impl Sync for in6_pktinfo",1,["libc::unix::linux_like::linux::in6_pktinfo"]],["impl Sync for arpd_request",1,["libc::unix::linux_like::linux::arpd_request"]],["impl Sync for inotify_event",1,["libc::unix::linux_like::linux::inotify_event"]],["impl Sync for fanotify_response",1,["libc::unix::linux_like::linux::fanotify_response"]],["impl Sync for sockaddr_vm",1,["libc::unix::linux_like::linux::sockaddr_vm"]],["impl Sync for regmatch_t",1,["libc::unix::linux_like::linux::regmatch_t"]],["impl Sync for sock_extended_err",1,["libc::unix::linux_like::linux::sock_extended_err"]],["impl Sync for __c_anonymous_sockaddr_can_tp",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_tp"]],["impl Sync for __c_anonymous_sockaddr_can_j1939",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_j1939"]],["impl Sync for can_filter",1,["libc::unix::linux_like::linux::can_filter"]],["impl Sync for j1939_filter",1,["libc::unix::linux_like::linux::j1939_filter"]],["impl Sync for sock_filter",1,["libc::unix::linux_like::linux::sock_filter"]],["impl !Sync for sock_fprog",1,["libc::unix::linux_like::linux::sock_fprog"]],["impl Sync for seccomp_data",1,["libc::unix::linux_like::linux::seccomp_data"]],["impl Sync for nlmsghdr",1,["libc::unix::linux_like::linux::nlmsghdr"]],["impl Sync for nlmsgerr",1,["libc::unix::linux_like::linux::nlmsgerr"]],["impl Sync for nlattr",1,["libc::unix::linux_like::linux::nlattr"]],["impl Sync for file_clone_range",1,["libc::unix::linux_like::linux::file_clone_range"]],["impl Sync for __c_anonymous_ifru_map",1,["libc::unix::linux_like::linux::__c_anonymous_ifru_map"]],["impl Sync for in6_ifreq",1,["libc::unix::linux_like::linux::in6_ifreq"]],["impl !Sync for option",1,["libc::unix::linux_like::linux::option"]],["impl Sync for sctp_initmsg",1,["libc::unix::linux_like::linux::sctp_initmsg"]],["impl Sync for sctp_sndrcvinfo",1,["libc::unix::linux_like::linux::sctp_sndrcvinfo"]],["impl Sync for sctp_sndinfo",1,["libc::unix::linux_like::linux::sctp_sndinfo"]],["impl Sync for sctp_rcvinfo",1,["libc::unix::linux_like::linux::sctp_rcvinfo"]],["impl Sync for sctp_nxtinfo",1,["libc::unix::linux_like::linux::sctp_nxtinfo"]],["impl Sync for sctp_prinfo",1,["libc::unix::linux_like::linux::sctp_prinfo"]],["impl Sync for sctp_authinfo",1,["libc::unix::linux_like::linux::sctp_authinfo"]],["impl Sync for rlimit64",1,["libc::unix::linux_like::linux::rlimit64"]],["impl Sync for tls_crypto_info",1,["libc::unix::linux_like::linux::tls_crypto_info"]],["impl Sync for tls12_crypto_info_aes_gcm_128",1,["libc::unix::linux_like::linux::tls12_crypto_info_aes_gcm_128"]],["impl Sync for tls12_crypto_info_aes_gcm_256",1,["libc::unix::linux_like::linux::tls12_crypto_info_aes_gcm_256"]],["impl Sync for tls12_crypto_info_chacha20_poly1305",1,["libc::unix::linux_like::linux::tls12_crypto_info_chacha20_poly1305"]],["impl Sync for sockaddr_nl",1,["libc::unix::linux_like::linux::sockaddr_nl"]],["impl Sync for dirent",1,["libc::unix::linux_like::linux::dirent"]],["impl Sync for sockaddr_alg",1,["libc::unix::linux_like::linux::sockaddr_alg"]],["impl Sync for uinput_setup",1,["libc::unix::linux_like::linux::uinput_setup"]],["impl Sync for uinput_user_dev",1,["libc::unix::linux_like::linux::uinput_user_dev"]],["impl Sync for af_alg_iv",1,["libc::unix::linux_like::linux::af_alg_iv"]],["impl Sync for mq_attr",1,["libc::unix::linux_like::linux::mq_attr"]],["impl !Sync for __c_anonymous_ifr_ifru",1,["libc::unix::linux_like::linux::__c_anonymous_ifr_ifru"]],["impl !Sync for ifreq",1,["libc::unix::linux_like::linux::ifreq"]],["impl !Sync for __c_anonymous_ifc_ifcu",1,["libc::unix::linux_like::linux::__c_anonymous_ifc_ifcu"]],["impl !Sync for ifconf",1,["libc::unix::linux_like::linux::ifconf"]],["impl Sync for hwtstamp_config",1,["libc::unix::linux_like::linux::hwtstamp_config"]],["impl Sync for dirent64",1,["libc::unix::linux_like::linux::dirent64"]],["impl Sync for sock_txtime",1,["libc::unix::linux_like::linux::sock_txtime"]],["impl Sync for __c_anonymous_sockaddr_can_can_addr",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_can_addr"]],["impl Sync for sockaddr_can",1,["libc::unix::linux_like::linux::sockaddr_can"]],["impl Sync for pthread_mutexattr_t",1,["libc::unix::linux_like::linux::pthread_mutexattr_t"]],["impl Sync for pthread_rwlockattr_t",1,["libc::unix::linux_like::linux::pthread_rwlockattr_t"]],["impl Sync for pthread_condattr_t",1,["libc::unix::linux_like::linux::pthread_condattr_t"]],["impl Sync for pthread_barrierattr_t",1,["libc::unix::linux_like::linux::pthread_barrierattr_t"]],["impl Sync for fanotify_event_metadata",1,["libc::unix::linux_like::linux::fanotify_event_metadata"]],["impl Sync for pthread_cond_t",1,["libc::unix::linux_like::linux::pthread_cond_t"]],["impl Sync for pthread_mutex_t",1,["libc::unix::linux_like::linux::pthread_mutex_t"]],["impl Sync for pthread_rwlock_t",1,["libc::unix::linux_like::linux::pthread_rwlock_t"]],["impl Sync for pthread_barrier_t",1,["libc::unix::linux_like::linux::pthread_barrier_t"]],["impl Sync for can_frame",1,["libc::unix::linux_like::linux::can_frame"]],["impl Sync for canfd_frame",1,["libc::unix::linux_like::linux::canfd_frame"]],["impl Sync for canxl_frame",1,["libc::unix::linux_like::linux::canxl_frame"]],["impl Sync for timezone",1,["libc::unix::linux_like::timezone"]],["impl Sync for in_addr",1,["libc::unix::linux_like::in_addr"]],["impl Sync for ip_mreq",1,["libc::unix::linux_like::ip_mreq"]],["impl Sync for ip_mreqn",1,["libc::unix::linux_like::ip_mreqn"]],["impl Sync for ip_mreq_source",1,["libc::unix::linux_like::ip_mreq_source"]],["impl Sync for sockaddr",1,["libc::unix::linux_like::sockaddr"]],["impl Sync for sockaddr_in",1,["libc::unix::linux_like::sockaddr_in"]],["impl Sync for sockaddr_in6",1,["libc::unix::linux_like::sockaddr_in6"]],["impl !Sync for addrinfo",1,["libc::unix::linux_like::addrinfo"]],["impl Sync for sockaddr_ll",1,["libc::unix::linux_like::sockaddr_ll"]],["impl Sync for fd_set",1,["libc::unix::linux_like::fd_set"]],["impl !Sync for tm",1,["libc::unix::linux_like::tm"]],["impl Sync for sched_param",1,["libc::unix::linux_like::sched_param"]],["impl !Sync for Dl_info",1,["libc::unix::linux_like::Dl_info"]],["impl !Sync for lconv",1,["libc::unix::linux_like::lconv"]],["impl Sync for in_pktinfo",1,["libc::unix::linux_like::in_pktinfo"]],["impl !Sync for ifaddrs",1,["libc::unix::linux_like::ifaddrs"]],["impl Sync for in6_rtmsg",1,["libc::unix::linux_like::in6_rtmsg"]],["impl Sync for arpreq",1,["libc::unix::linux_like::arpreq"]],["impl Sync for arpreq_old",1,["libc::unix::linux_like::arpreq_old"]],["impl Sync for arphdr",1,["libc::unix::linux_like::arphdr"]],["impl !Sync for mmsghdr",1,["libc::unix::linux_like::mmsghdr"]],["impl Sync for epoll_event",1,["libc::unix::linux_like::epoll_event"]],["impl Sync for sockaddr_un",1,["libc::unix::linux_like::sockaddr_un"]],["impl Sync for sockaddr_storage",1,["libc::unix::linux_like::sockaddr_storage"]],["impl Sync for utsname",1,["libc::unix::linux_like::utsname"]],["impl !Sync for sigevent",1,["libc::unix::linux_like::sigevent"]],["impl Sync for in6_addr",1,["libc::unix::align::in6_addr"]],["impl Sync for DIR",1,["libc::unix::DIR"]],["impl !Sync for group",1,["libc::unix::group"]],["impl Sync for utimbuf",1,["libc::unix::utimbuf"]],["impl Sync for timeval",1,["libc::unix::timeval"]],["impl Sync for timespec",1,["libc::unix::timespec"]],["impl Sync for rlimit",1,["libc::unix::rlimit"]],["impl Sync for rusage",1,["libc::unix::rusage"]],["impl Sync for ipv6_mreq",1,["libc::unix::ipv6_mreq"]],["impl !Sync for hostent",1,["libc::unix::hostent"]],["impl !Sync for iovec",1,["libc::unix::iovec"]],["impl Sync for pollfd",1,["libc::unix::pollfd"]],["impl Sync for winsize",1,["libc::unix::winsize"]],["impl Sync for linger",1,["libc::unix::linger"]],["impl !Sync for sigval",1,["libc::unix::sigval"]],["impl Sync for itimerval",1,["libc::unix::itimerval"]],["impl Sync for tms",1,["libc::unix::tms"]],["impl !Sync for servent",1,["libc::unix::servent"]],["impl !Sync for protoent",1,["libc::unix::protoent"]],["impl Sync for FILE",1,["libc::unix::FILE"]],["impl Sync for fpos_t",1,["libc::unix::fpos_t"]]], -"mavlink":[["impl Sync for IcarousFmsState",1,["mavlink::icarous::IcarousFmsState"]],["impl Sync for IcarousTrackBandTypes",1,["mavlink::icarous::IcarousTrackBandTypes"]],["impl Sync for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::icarous::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Sync for ICAROUS_HEARTBEAT_DATA",1,["mavlink::icarous::ICAROUS_HEARTBEAT_DATA"]],["impl Sync for MavMessage",1,["mavlink::icarous::MavMessage"]],["impl Sync for WinchActions",1,["mavlink::ardupilotmega::WinchActions"]],["impl Sync for AisNavStatus",1,["mavlink::ardupilotmega::AisNavStatus"]],["impl Sync for IcarousFmsState",1,["mavlink::ardupilotmega::IcarousFmsState"]],["impl Sync for SetFocusType",1,["mavlink::ardupilotmega::SetFocusType"]],["impl Sync for MavOdidIdType",1,["mavlink::ardupilotmega::MavOdidIdType"]],["impl Sync for NavVtolLandOptions",1,["mavlink::ardupilotmega::NavVtolLandOptions"]],["impl Sync for VtolTransitionHeading",1,["mavlink::ardupilotmega::VtolTransitionHeading"]],["impl Sync for GoproResolution",1,["mavlink::ardupilotmega::GoproResolution"]],["impl Sync for CameraFeedbackFlags",1,["mavlink::ardupilotmega::CameraFeedbackFlags"]],["impl Sync for PrecisionLandMode",1,["mavlink::ardupilotmega::PrecisionLandMode"]],["impl Sync for UavcanNodeHealth",1,["mavlink::ardupilotmega::UavcanNodeHealth"]],["impl Sync for GoproProtuneSharpness",1,["mavlink::ardupilotmega::GoproProtuneSharpness"]],["impl Sync for CellularStatusFlag",1,["mavlink::ardupilotmega::CellularStatusFlag"]],["impl Sync for MavComponent",1,["mavlink::ardupilotmega::MavComponent"]],["impl Sync for GoproFrameRate",1,["mavlink::ardupilotmega::GoproFrameRate"]],["impl Sync for GoproBurstRate",1,["mavlink::ardupilotmega::GoproBurstRate"]],["impl Sync for FailureUnit",1,["mavlink::ardupilotmega::FailureUnit"]],["impl Sync for MavPowerStatus",1,["mavlink::ardupilotmega::MavPowerStatus"]],["impl Sync for MavOdidDescType",1,["mavlink::ardupilotmega::MavOdidDescType"]],["impl Sync for UavionixAdsbEmergencyStatus",1,["mavlink::ardupilotmega::UavionixAdsbEmergencyStatus"]],["impl Sync for MavType",1,["mavlink::ardupilotmega::MavType"]],["impl Sync for MavFrame",1,["mavlink::ardupilotmega::MavFrame"]],["impl Sync for MavModeFlagDecodePosition",1,["mavlink::ardupilotmega::MavModeFlagDecodePosition"]],["impl Sync for MavDataStream",1,["mavlink::ardupilotmega::MavDataStream"]],["impl Sync for MavDoRepositionFlags",1,["mavlink::ardupilotmega::MavDoRepositionFlags"]],["impl Sync for MavEstimatorType",1,["mavlink::ardupilotmega::MavEstimatorType"]],["impl Sync for MavBatteryType",1,["mavlink::ardupilotmega::MavBatteryType"]],["impl Sync for HlFailureFlag",1,["mavlink::ardupilotmega::HlFailureFlag"]],["impl Sync for GimbalManagerFlags",1,["mavlink::ardupilotmega::GimbalManagerFlags"]],["impl Sync for LedControlPattern",1,["mavlink::ardupilotmega::LedControlPattern"]],["impl Sync for PreflightStorageParameterAction",1,["mavlink::ardupilotmega::PreflightStorageParameterAction"]],["impl Sync for TuneFormat",1,["mavlink::ardupilotmega::TuneFormat"]],["impl Sync for MavOdidOperatorLocationType",1,["mavlink::ardupilotmega::MavOdidOperatorLocationType"]],["impl Sync for PlaneMode",1,["mavlink::ardupilotmega::PlaneMode"]],["impl Sync for ParamAck",1,["mavlink::ardupilotmega::ParamAck"]],["impl Sync for AutotuneAxis",1,["mavlink::ardupilotmega::AutotuneAxis"]],["impl Sync for MagCalStatus",1,["mavlink::ardupilotmega::MagCalStatus"]],["impl Sync for AisFlags",1,["mavlink::ardupilotmega::AisFlags"]],["impl Sync for MavEventErrorReason",1,["mavlink::ardupilotmega::MavEventErrorReason"]],["impl Sync for StorageType",1,["mavlink::ardupilotmega::StorageType"]],["impl Sync for CopterMode",1,["mavlink::ardupilotmega::CopterMode"]],["impl Sync for CameraStatusTypes",1,["mavlink::ardupilotmega::CameraStatusTypes"]],["impl Sync for MavRoi",1,["mavlink::ardupilotmega::MavRoi"]],["impl Sync for ActuatorOutputFunction",1,["mavlink::ardupilotmega::ActuatorOutputFunction"]],["impl Sync for MavMissionType",1,["mavlink::ardupilotmega::MavMissionType"]],["impl Sync for CanFilterOp",1,["mavlink::ardupilotmega::CanFilterOp"]],["impl Sync for PositionTargetTypemask",1,["mavlink::ardupilotmega::PositionTargetTypemask"]],["impl Sync for GimbalDeviceFlags",1,["mavlink::ardupilotmega::GimbalDeviceFlags"]],["impl Sync for MavState",1,["mavlink::ardupilotmega::MavState"]],["impl Sync for MavBatteryMode",1,["mavlink::ardupilotmega::MavBatteryMode"]],["impl Sync for MavOdidSpeedAcc",1,["mavlink::ardupilotmega::MavOdidSpeedAcc"]],["impl Sync for UavionixAdsbOutDynamicState",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicState"]],["impl Sync for GimbalAxisCalibrationStatus",1,["mavlink::ardupilotmega::GimbalAxisCalibrationStatus"]],["impl Sync for GoproRequestStatus",1,["mavlink::ardupilotmega::GoproRequestStatus"]],["impl Sync for MavCmdDoAuxFunctionSwitchLevel",1,["mavlink::ardupilotmega::MavCmdDoAuxFunctionSwitchLevel"]],["impl Sync for DeviceOpBustype",1,["mavlink::ardupilotmega::DeviceOpBustype"]],["impl Sync for HilSensorUpdatedFlags",1,["mavlink::ardupilotmega::HilSensorUpdatedFlags"]],["impl Sync for ParachuteAction",1,["mavlink::ardupilotmega::ParachuteAction"]],["impl Sync for MavCollisionSrc",1,["mavlink::ardupilotmega::MavCollisionSrc"]],["impl Sync for WifiConfigApResponse",1,["mavlink::ardupilotmega::WifiConfigApResponse"]],["impl Sync for PreflightStorageMissionAction",1,["mavlink::ardupilotmega::PreflightStorageMissionAction"]],["impl Sync for UtmFlightState",1,["mavlink::ardupilotmega::UtmFlightState"]],["impl Sync for AdsbEmitterType",1,["mavlink::ardupilotmega::AdsbEmitterType"]],["impl Sync for SerialControlDev",1,["mavlink::ardupilotmega::SerialControlDev"]],["impl Sync for MavModeFlag",1,["mavlink::ardupilotmega::MavModeFlag"]],["impl Sync for CameraTrackingTargetData",1,["mavlink::ardupilotmega::CameraTrackingTargetData"]],["impl Sync for OrbitYawBehaviour",1,["mavlink::ardupilotmega::OrbitYawBehaviour"]],["impl Sync for FenceAction",1,["mavlink::ardupilotmega::FenceAction"]],["impl Sync for CellularNetworkRadioType",1,["mavlink::ardupilotmega::CellularNetworkRadioType"]],["impl Sync for MavLandedState",1,["mavlink::ardupilotmega::MavLandedState"]],["impl Sync for MavBatteryChargeState",1,["mavlink::ardupilotmega::MavBatteryChargeState"]],["impl Sync for MavModeGimbal",1,["mavlink::ardupilotmega::MavModeGimbal"]],["impl Sync for MavCollisionAction",1,["mavlink::ardupilotmega::MavCollisionAction"]],["impl Sync for UavionixAdsbOutRfSelect",1,["mavlink::ardupilotmega::UavionixAdsbOutRfSelect"]],["impl Sync for MavParamType",1,["mavlink::ardupilotmega::MavParamType"]],["impl Sync for MavOdidClassEu",1,["mavlink::ardupilotmega::MavOdidClassEu"]],["impl Sync for MavOdidStatus",1,["mavlink::ardupilotmega::MavOdidStatus"]],["impl Sync for GoproPhotoResolution",1,["mavlink::ardupilotmega::GoproPhotoResolution"]],["impl Sync for MavMissionResult",1,["mavlink::ardupilotmega::MavMissionResult"]],["impl Sync for GimbalManagerCapFlags",1,["mavlink::ardupilotmega::GimbalManagerCapFlags"]],["impl Sync for SerialControlFlag",1,["mavlink::ardupilotmega::SerialControlFlag"]],["impl Sync for VideoStreamStatusFlags",1,["mavlink::ardupilotmega::VideoStreamStatusFlags"]],["impl Sync for GripperActions",1,["mavlink::ardupilotmega::GripperActions"]],["impl Sync for CameraZoomType",1,["mavlink::ardupilotmega::CameraZoomType"]],["impl Sync for MavFtpOpcode",1,["mavlink::ardupilotmega::MavFtpOpcode"]],["impl Sync for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Sync for AdsbAltitudeType",1,["mavlink::ardupilotmega::AdsbAltitudeType"]],["impl Sync for AccelcalVehiclePos",1,["mavlink::ardupilotmega::AccelcalVehiclePos"]],["impl Sync for MavGoto",1,["mavlink::ardupilotmega::MavGoto"]],["impl Sync for GimbalAxisCalibrationRequired",1,["mavlink::ardupilotmega::GimbalAxisCalibrationRequired"]],["impl Sync for RoverMode",1,["mavlink::ardupilotmega::RoverMode"]],["impl Sync for UavionixAdsbOutCfgAircraftSize",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgAircraftSize"]],["impl Sync for CameraTrackingMode",1,["mavlink::ardupilotmega::CameraTrackingMode"]],["impl Sync for CellularConfigResponse",1,["mavlink::ardupilotmega::CellularConfigResponse"]],["impl Sync for MavOdidCategoryEu",1,["mavlink::ardupilotmega::MavOdidCategoryEu"]],["impl Sync for EscFailureFlags",1,["mavlink::ardupilotmega::EscFailureFlags"]],["impl Sync for MavCmd",1,["mavlink::ardupilotmega::MavCmd"]],["impl Sync for MavProtocolCapability",1,["mavlink::ardupilotmega::MavProtocolCapability"]],["impl Sync for ActuatorConfiguration",1,["mavlink::ardupilotmega::ActuatorConfiguration"]],["impl Sync for MavSensorOrientation",1,["mavlink::ardupilotmega::MavSensorOrientation"]],["impl Sync for MavCmdAck",1,["mavlink::ardupilotmega::MavCmdAck"]],["impl Sync for MavVtolState",1,["mavlink::ardupilotmega::MavVtolState"]],["impl Sync for GoproCommand",1,["mavlink::ardupilotmega::GoproCommand"]],["impl Sync for LimitModule",1,["mavlink::ardupilotmega::LimitModule"]],["impl Sync for FailureType",1,["mavlink::ardupilotmega::FailureType"]],["impl Sync for FenceBreach",1,["mavlink::ardupilotmega::FenceBreach"]],["impl Sync for MavResult",1,["mavlink::ardupilotmega::MavResult"]],["impl Sync for MavArmAuthDeniedReason",1,["mavlink::ardupilotmega::MavArmAuthDeniedReason"]],["impl Sync for MissionState",1,["mavlink::ardupilotmega::MissionState"]],["impl Sync for RallyFlags",1,["mavlink::ardupilotmega::RallyFlags"]],["impl Sync for GoproHeartbeatFlags",1,["mavlink::ardupilotmega::GoproHeartbeatFlags"]],["impl Sync for MavBatteryFunction",1,["mavlink::ardupilotmega::MavBatteryFunction"]],["impl Sync for MavlinkDataStreamType",1,["mavlink::ardupilotmega::MavlinkDataStreamType"]],["impl Sync for AttitudeTargetTypemask",1,["mavlink::ardupilotmega::AttitudeTargetTypemask"]],["impl Sync for AisType",1,["mavlink::ardupilotmega::AisType"]],["impl Sync for LimitsState",1,["mavlink::ardupilotmega::LimitsState"]],["impl Sync for MavMode",1,["mavlink::ardupilotmega::MavMode"]],["impl Sync for MavOdidClassificationType",1,["mavlink::ardupilotmega::MavOdidClassificationType"]],["impl Sync for FenceMitigate",1,["mavlink::ardupilotmega::FenceMitigate"]],["impl Sync for MavOdidOperatorIdType",1,["mavlink::ardupilotmega::MavOdidOperatorIdType"]],["impl Sync for GoproCaptureMode",1,["mavlink::ardupilotmega::GoproCaptureMode"]],["impl Sync for CompMetadataType",1,["mavlink::ardupilotmega::CompMetadataType"]],["impl Sync for GoproHeartbeatStatus",1,["mavlink::ardupilotmega::GoproHeartbeatStatus"]],["impl Sync for CameraCapFlags",1,["mavlink::ardupilotmega::CameraCapFlags"]],["impl Sync for GoproProtuneExposure",1,["mavlink::ardupilotmega::GoproProtuneExposure"]],["impl Sync for MavRemoteLogDataBlockCommands",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockCommands"]],["impl Sync for MavRemoteLogDataBlockStatuses",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockStatuses"]],["impl Sync for DeepstallStage",1,["mavlink::ardupilotmega::DeepstallStage"]],["impl Sync for OsdParamConfigError",1,["mavlink::ardupilotmega::OsdParamConfigError"]],["impl Sync for MavAutopilot",1,["mavlink::ardupilotmega::MavAutopilot"]],["impl Sync for MavCollisionThreatLevel",1,["mavlink::ardupilotmega::MavCollisionThreatLevel"]],["impl Sync for MavDistanceSensor",1,["mavlink::ardupilotmega::MavDistanceSensor"]],["impl Sync for FirmwareVersionType",1,["mavlink::ardupilotmega::FirmwareVersionType"]],["impl Sync for MavWinchStatusFlag",1,["mavlink::ardupilotmega::MavWinchStatusFlag"]],["impl Sync for UtmDataAvailFlags",1,["mavlink::ardupilotmega::UtmDataAvailFlags"]],["impl Sync for MavOdidHorAcc",1,["mavlink::ardupilotmega::MavOdidHorAcc"]],["impl Sync for MavOdidTimeAcc",1,["mavlink::ardupilotmega::MavOdidTimeAcc"]],["impl Sync for MavGeneratorStatusFlag",1,["mavlink::ardupilotmega::MavGeneratorStatusFlag"]],["impl Sync for MavOdidUaType",1,["mavlink::ardupilotmega::MavOdidUaType"]],["impl Sync for StorageUsageFlag",1,["mavlink::ardupilotmega::StorageUsageFlag"]],["impl Sync for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Sync for StorageStatus",1,["mavlink::ardupilotmega::StorageStatus"]],["impl Sync for EkfStatusFlags",1,["mavlink::ardupilotmega::EkfStatusFlags"]],["impl Sync for HighresImuUpdatedFlags",1,["mavlink::ardupilotmega::HighresImuUpdatedFlags"]],["impl Sync for IcarousTrackBandTypes",1,["mavlink::ardupilotmega::IcarousTrackBandTypes"]],["impl Sync for CameraMode",1,["mavlink::ardupilotmega::CameraMode"]],["impl Sync for PidTuningAxis",1,["mavlink::ardupilotmega::PidTuningAxis"]],["impl Sync for RcType",1,["mavlink::ardupilotmega::RcType"]],["impl Sync for GpsInputIgnoreFlags",1,["mavlink::ardupilotmega::GpsInputIgnoreFlags"]],["impl Sync for RtkBaselineCoordinateSystem",1,["mavlink::ardupilotmega::RtkBaselineCoordinateSystem"]],["impl Sync for EscConnectionType",1,["mavlink::ardupilotmega::EscConnectionType"]],["impl Sync for CameraTrackingStatusFlags",1,["mavlink::ardupilotmega::CameraTrackingStatusFlags"]],["impl Sync for MavBatteryFault",1,["mavlink::ardupilotmega::MavBatteryFault"]],["impl Sync for GimbalDeviceErrorFlags",1,["mavlink::ardupilotmega::GimbalDeviceErrorFlags"]],["impl Sync for WifiConfigApMode",1,["mavlink::ardupilotmega::WifiConfigApMode"]],["impl Sync for MavMountMode",1,["mavlink::ardupilotmega::MavMountMode"]],["impl Sync for MavSysStatusSensor",1,["mavlink::ardupilotmega::MavSysStatusSensor"]],["impl Sync for MavSeverity",1,["mavlink::ardupilotmega::MavSeverity"]],["impl Sync for GoproCharging",1,["mavlink::ardupilotmega::GoproCharging"]],["impl Sync for MavSysStatusSensorExtended",1,["mavlink::ardupilotmega::MavSysStatusSensorExtended"]],["impl Sync for SubMode",1,["mavlink::ardupilotmega::SubMode"]],["impl Sync for MavTunnelPayloadType",1,["mavlink::ardupilotmega::MavTunnelPayloadType"]],["impl Sync for MavParamExtType",1,["mavlink::ardupilotmega::MavParamExtType"]],["impl Sync for GpsFixType",1,["mavlink::ardupilotmega::GpsFixType"]],["impl Sync for AdsbFlags",1,["mavlink::ardupilotmega::AdsbFlags"]],["impl Sync for GoproFieldOfView",1,["mavlink::ardupilotmega::GoproFieldOfView"]],["impl Sync for TrackerMode",1,["mavlink::ardupilotmega::TrackerMode"]],["impl Sync for GimbalDeviceCapFlags",1,["mavlink::ardupilotmega::GimbalDeviceCapFlags"]],["impl Sync for UavcanNodeMode",1,["mavlink::ardupilotmega::UavcanNodeMode"]],["impl Sync for EstimatorStatusFlags",1,["mavlink::ardupilotmega::EstimatorStatusFlags"]],["impl Sync for MavOdidVerAcc",1,["mavlink::ardupilotmega::MavOdidVerAcc"]],["impl Sync for GimbalAxis",1,["mavlink::ardupilotmega::GimbalAxis"]],["impl Sync for LandingTargetType",1,["mavlink::ardupilotmega::LandingTargetType"]],["impl Sync for MavEventCurrentSequenceFlags",1,["mavlink::ardupilotmega::MavEventCurrentSequenceFlags"]],["impl Sync for MotorTestOrder",1,["mavlink::ardupilotmega::MotorTestOrder"]],["impl Sync for VideoStreamType",1,["mavlink::ardupilotmega::VideoStreamType"]],["impl Sync for GoproProtuneGain",1,["mavlink::ardupilotmega::GoproProtuneGain"]],["impl Sync for MavFtpErr",1,["mavlink::ardupilotmega::MavFtpErr"]],["impl Sync for MotorTestThrottleType",1,["mavlink::ardupilotmega::MotorTestThrottleType"]],["impl Sync for UavionixAdsbOutDynamicGpsFix",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicGpsFix"]],["impl Sync for GoproVideoSettingsFlags",1,["mavlink::ardupilotmega::GoproVideoSettingsFlags"]],["impl Sync for MavOdidArmStatus",1,["mavlink::ardupilotmega::MavOdidArmStatus"]],["impl Sync for HeadingType",1,["mavlink::ardupilotmega::HeadingType"]],["impl Sync for GoproModel",1,["mavlink::ardupilotmega::GoproModel"]],["impl Sync for MavOdidAuthType",1,["mavlink::ardupilotmega::MavOdidAuthType"]],["impl Sync for GoproProtuneWhiteBalance",1,["mavlink::ardupilotmega::GoproProtuneWhiteBalance"]],["impl Sync for UavionixAdsbRfHealth",1,["mavlink::ardupilotmega::UavionixAdsbRfHealth"]],["impl Sync for SpeedType",1,["mavlink::ardupilotmega::SpeedType"]],["impl Sync for OsdParamConfigType",1,["mavlink::ardupilotmega::OsdParamConfigType"]],["impl Sync for MavOdidHeightRef",1,["mavlink::ardupilotmega::MavOdidHeightRef"]],["impl Sync for GoproProtuneColour",1,["mavlink::ardupilotmega::GoproProtuneColour"]],["impl Sync for CellularNetworkFailedReason",1,["mavlink::ardupilotmega::CellularNetworkFailedReason"]],["impl Sync for ScriptingCmd",1,["mavlink::ardupilotmega::ScriptingCmd"]],["impl Sync for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Sync for COMPONENT_INFORMATION_DATA",1,["mavlink::ardupilotmega::COMPONENT_INFORMATION_DATA"]],["impl Sync for OSD_PARAM_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_DATA"]],["impl Sync for MISSION_ITEM_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_DATA"]],["impl Sync for RADIO_STATUS_DATA",1,["mavlink::ardupilotmega::RADIO_STATUS_DATA"]],["impl Sync for FLIGHT_INFORMATION_DATA",1,["mavlink::ardupilotmega::FLIGHT_INFORMATION_DATA"]],["impl Sync for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::ardupilotmega::HIL_RC_INPUTS_RAW_DATA"]],["impl Sync for VIBRATION_DATA",1,["mavlink::ardupilotmega::VIBRATION_DATA"]],["impl Sync for BATTERY_STATUS_DATA",1,["mavlink::ardupilotmega::BATTERY_STATUS_DATA"]],["impl Sync for WIND_COV_DATA",1,["mavlink::ardupilotmega::WIND_COV_DATA"]],["impl Sync for CAMERA_INFORMATION_DATA",1,["mavlink::ardupilotmega::CAMERA_INFORMATION_DATA"]],["impl Sync for RAW_IMU_DATA",1,["mavlink::ardupilotmega::RAW_IMU_DATA"]],["impl Sync for GPS_RTK_DATA",1,["mavlink::ardupilotmega::GPS_RTK_DATA"]],["impl Sync for RAW_RPM_DATA",1,["mavlink::ardupilotmega::RAW_RPM_DATA"]],["impl Sync for TERRAIN_CHECK_DATA",1,["mavlink::ardupilotmega::TERRAIN_CHECK_DATA"]],["impl Sync for REQUEST_EVENT_DATA",1,["mavlink::ardupilotmega::REQUEST_EVENT_DATA"]],["impl Sync for REQUEST_DATA_STREAM_DATA",1,["mavlink::ardupilotmega::REQUEST_DATA_STREAM_DATA"]],["impl Sync for HWSTATUS_DATA",1,["mavlink::ardupilotmega::HWSTATUS_DATA"]],["impl Sync for FOLLOW_TARGET_DATA",1,["mavlink::ardupilotmega::FOLLOW_TARGET_DATA"]],["impl Sync for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_COV_DATA"]],["impl Sync for UAVCAN_NODE_INFO_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_INFO_DATA"]],["impl Sync for AOA_SSA_DATA",1,["mavlink::ardupilotmega::AOA_SSA_DATA"]],["impl Sync for ISBD_LINK_STATUS_DATA",1,["mavlink::ardupilotmega::ISBD_LINK_STATUS_DATA"]],["impl Sync for LED_CONTROL_DATA",1,["mavlink::ardupilotmega::LED_CONTROL_DATA"]],["impl Sync for WIFI_CONFIG_AP_DATA",1,["mavlink::ardupilotmega::WIFI_CONFIG_AP_DATA"]],["impl Sync for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Sync for EKF_STATUS_REPORT_DATA",1,["mavlink::ardupilotmega::EKF_STATUS_REPORT_DATA"]],["impl Sync for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Sync for GIMBAL_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_REPORT_DATA"]],["impl Sync for SYS_STATUS_DATA",1,["mavlink::ardupilotmega::SYS_STATUS_DATA"]],["impl Sync for MAG_CAL_PROGRESS_DATA",1,["mavlink::ardupilotmega::MAG_CAL_PROGRESS_DATA"]],["impl Sync for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::ardupilotmega::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Sync for PID_TUNING_DATA",1,["mavlink::ardupilotmega::PID_TUNING_DATA"]],["impl Sync for HIL_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_CONTROLS_DATA"]],["impl Sync for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Sync for CAN_FRAME_DATA",1,["mavlink::ardupilotmega::CAN_FRAME_DATA"]],["impl Sync for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Sync for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_COV_DATA"]],["impl Sync for SET_MAG_OFFSETS_DATA",1,["mavlink::ardupilotmega::SET_MAG_OFFSETS_DATA"]],["impl Sync for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_SPEED_ESTIMATE_DATA"]],["impl Sync for MOUNT_CONTROL_DATA",1,["mavlink::ardupilotmega::MOUNT_CONTROL_DATA"]],["impl Sync for DEEPSTALL_DATA",1,["mavlink::ardupilotmega::DEEPSTALL_DATA"]],["impl Sync for PARAM_EXT_ACK_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_ACK_DATA"]],["impl Sync for COLLISION_DATA",1,["mavlink::ardupilotmega::COLLISION_DATA"]],["impl Sync for GIMBAL_TORQUE_CMD_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_TORQUE_CMD_REPORT_DATA"]],["impl Sync for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::GPS_GLOBAL_ORIGIN_DATA"]],["impl Sync for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Sync for EFI_STATUS_DATA",1,["mavlink::ardupilotmega::EFI_STATUS_DATA"]],["impl Sync for HIL_STATE_DATA",1,["mavlink::ardupilotmega::HIL_STATE_DATA"]],["impl Sync for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::ardupilotmega::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Sync for MCU_STATUS_DATA",1,["mavlink::ardupilotmega::MCU_STATUS_DATA"]],["impl Sync for PARAM_MAP_RC_DATA",1,["mavlink::ardupilotmega::PARAM_MAP_RC_DATA"]],["impl Sync for HEARTBEAT_DATA",1,["mavlink::ardupilotmega::HEARTBEAT_DATA"]],["impl Sync for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Sync for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::ardupilotmega::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Sync for ODOMETRY_DATA",1,["mavlink::ardupilotmega::ODOMETRY_DATA"]],["impl Sync for DISTANCE_SENSOR_DATA",1,["mavlink::ardupilotmega::DISTANCE_SENSOR_DATA"]],["impl Sync for OSD_PARAM_SHOW_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_REPLY_DATA"]],["impl Sync for GOPRO_SET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_REQUEST_DATA"]],["impl Sync for ESC_INFO_DATA",1,["mavlink::ardupilotmega::ESC_INFO_DATA"]],["impl Sync for MANUAL_SETPOINT_DATA",1,["mavlink::ardupilotmega::MANUAL_SETPOINT_DATA"]],["impl Sync for LOG_DATA_DATA",1,["mavlink::ardupilotmega::LOG_DATA_DATA"]],["impl Sync for CAMERA_FEEDBACK_DATA",1,["mavlink::ardupilotmega::CAMERA_FEEDBACK_DATA"]],["impl Sync for FENCE_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_POINT_DATA"]],["impl Sync for SUPPORTED_TUNES_DATA",1,["mavlink::ardupilotmega::SUPPORTED_TUNES_DATA"]],["impl Sync for LOGGING_ACK_DATA",1,["mavlink::ardupilotmega::LOGGING_ACK_DATA"]],["impl Sync for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_ESTIMATE_DATA"]],["impl Sync for AHRS_DATA",1,["mavlink::ardupilotmega::AHRS_DATA"]],["impl Sync for MESSAGE_INTERVAL_DATA",1,["mavlink::ardupilotmega::MESSAGE_INTERVAL_DATA"]],["impl Sync for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_OVERRIDE_DATA"]],["impl Sync for LOG_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_LIST_DATA"]],["impl Sync for RESOURCE_REQUEST_DATA",1,["mavlink::ardupilotmega::RESOURCE_REQUEST_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Sync for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::ardupilotmega::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Sync for LOCAL_POSITION_NED_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_DATA"]],["impl Sync for DIGICAM_CONFIGURE_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONFIGURE_DATA"]],["impl Sync for ESC_TELEMETRY_9_TO_12_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_9_TO_12_DATA"]],["impl Sync for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Sync for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Sync for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_ALLOWED_AREA_DATA"]],["impl Sync for COMMAND_INT_DATA",1,["mavlink::ardupilotmega::COMMAND_INT_DATA"]],["impl Sync for GOPRO_GET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_REQUEST_DATA"]],["impl Sync for CAN_FILTER_MODIFY_DATA",1,["mavlink::ardupilotmega::CAN_FILTER_MODIFY_DATA"]],["impl Sync for STATUSTEXT_DATA",1,["mavlink::ardupilotmega::STATUSTEXT_DATA"]],["impl Sync for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::ardupilotmega::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Sync for MISSION_ITEM_INT_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_INT_DATA"]],["impl Sync for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"]],["impl Sync for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Sync for MISSION_REQUEST_INT_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_INT_DATA"]],["impl Sync for STORAGE_INFORMATION_DATA",1,["mavlink::ardupilotmega::STORAGE_INFORMATION_DATA"]],["impl Sync for UTM_GLOBAL_POSITION_DATA",1,["mavlink::ardupilotmega::UTM_GLOBAL_POSITION_DATA"]],["impl Sync for MEMINFO_DATA",1,["mavlink::ardupilotmega::MEMINFO_DATA"]],["impl Sync for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Sync for GPS2_RAW_DATA",1,["mavlink::ardupilotmega::GPS2_RAW_DATA"]],["impl Sync for RALLY_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_POINT_DATA"]],["impl Sync for AP_ADC_DATA",1,["mavlink::ardupilotmega::AP_ADC_DATA"]],["impl Sync for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Sync for LOGGING_DATA_ACKED_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_ACKED_DATA"]],["impl Sync for RC_CHANNELS_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_DATA"]],["impl Sync for NAMED_VALUE_INT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_INT_DATA"]],["impl Sync for LINK_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::LINK_NODE_STATUS_DATA"]],["impl Sync for NAMED_VALUE_FLOAT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_FLOAT_DATA"]],["impl Sync for SERVO_OUTPUT_RAW_DATA",1,["mavlink::ardupilotmega::SERVO_OUTPUT_RAW_DATA"]],["impl Sync for CELLULAR_STATUS_DATA",1,["mavlink::ardupilotmega::CELLULAR_STATUS_DATA"]],["impl Sync for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Sync for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::ardupilotmega::DEBUG_FLOAT_ARRAY_DATA"]],["impl Sync for POWER_STATUS_DATA",1,["mavlink::ardupilotmega::POWER_STATUS_DATA"]],["impl Sync for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Sync for BUTTON_CHANGE_DATA",1,["mavlink::ardupilotmega::BUTTON_CHANGE_DATA"]],["impl Sync for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::ardupilotmega::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Sync for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_READ_DATA"]],["impl Sync for MOUNT_STATUS_DATA",1,["mavlink::ardupilotmega::MOUNT_STATUS_DATA"]],["impl Sync for MISSION_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_CURRENT_DATA"]],["impl Sync for DEBUG_VECT_DATA",1,["mavlink::ardupilotmega::DEBUG_VECT_DATA"]],["impl Sync for CAMERA_FOV_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_FOV_STATUS_DATA"]],["impl Sync for SCALED_PRESSURE3_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE3_DATA"]],["impl Sync for MISSION_ITEM_REACHED_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_REACHED_DATA"]],["impl Sync for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Sync for PARAM_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_VALUE_DATA"]],["impl Sync for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VICON_POSITION_ESTIMATE_DATA"]],["impl Sync for TIMESYNC_DATA",1,["mavlink::ardupilotmega::TIMESYNC_DATA"]],["impl Sync for MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::MANUAL_CONTROL_DATA"]],["impl Sync for MEMORY_VECT_DATA",1,["mavlink::ardupilotmega::MEMORY_VECT_DATA"]],["impl Sync for OBSTACLE_DISTANCE_3D_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_3D_DATA"]],["impl Sync for COMPONENT_METADATA_DATA",1,["mavlink::ardupilotmega::COMPONENT_METADATA_DATA"]],["impl Sync for CAMERA_SETTINGS_DATA",1,["mavlink::ardupilotmega::CAMERA_SETTINGS_DATA"]],["impl Sync for MAG_CAL_REPORT_DATA",1,["mavlink::ardupilotmega::MAG_CAL_REPORT_DATA"]],["impl Sync for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Sync for ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::ATTITUDE_TARGET_DATA"]],["impl Sync for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Sync for WINCH_STATUS_DATA",1,["mavlink::ardupilotmega::WINCH_STATUS_DATA"]],["impl Sync for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Sync for ICAROUS_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::ICAROUS_HEARTBEAT_DATA"]],["impl Sync for GOPRO_GET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_RESPONSE_DATA"]],["impl Sync for GPS_RAW_INT_DATA",1,["mavlink::ardupilotmega::GPS_RAW_INT_DATA"]],["impl Sync for PING_DATA",1,["mavlink::ardupilotmega::PING_DATA"]],["impl Sync for ATTITUDE_QUATERNION_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_DATA"]],["impl Sync for ESC_TELEMETRY_1_TO_4_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_1_TO_4_DATA"]],["impl Sync for HERELINK_VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::HERELINK_VIDEO_STREAM_INFORMATION_DATA"]],["impl Sync for COMMAND_LONG_DATA",1,["mavlink::ardupilotmega::COMMAND_LONG_DATA"]],["impl Sync for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Sync for SCALED_IMU2_DATA",1,["mavlink::ardupilotmega::SCALED_IMU2_DATA"]],["impl Sync for AHRS2_DATA",1,["mavlink::ardupilotmega::AHRS2_DATA"]],["impl Sync for ATT_POS_MOCAP_DATA",1,["mavlink::ardupilotmega::ATT_POS_MOCAP_DATA"]],["impl Sync for OPTICAL_FLOW_RAD_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_RAD_DATA"]],["impl Sync for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::ardupilotmega::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Sync for MISSION_ACK_DATA",1,["mavlink::ardupilotmega::MISSION_ACK_DATA"]],["impl Sync for PARAM_SET_DATA",1,["mavlink::ardupilotmega::PARAM_SET_DATA"]],["impl Sync for DEBUG_DATA",1,["mavlink::ardupilotmega::DEBUG_DATA"]],["impl Sync for AUTH_KEY_DATA",1,["mavlink::ardupilotmega::AUTH_KEY_DATA"]],["impl Sync for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Sync for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::ardupilotmega::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Sync for MISSION_COUNT_DATA",1,["mavlink::ardupilotmega::MISSION_COUNT_DATA"]],["impl Sync for ADSB_VEHICLE_DATA",1,["mavlink::ardupilotmega::ADSB_VEHICLE_DATA"]],["impl Sync for ENCAPSULATED_DATA_DATA",1,["mavlink::ardupilotmega::ENCAPSULATED_DATA_DATA"]],["impl Sync for SCALED_PRESSURE_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE_DATA"]],["impl Sync for MOUNT_CONFIGURE_DATA",1,["mavlink::ardupilotmega::MOUNT_CONFIGURE_DATA"]],["impl Sync for OSD_PARAM_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_REPLY_DATA"]],["impl Sync for SETUP_SIGNING_DATA",1,["mavlink::ardupilotmega::SETUP_SIGNING_DATA"]],["impl Sync for DATA32_DATA",1,["mavlink::ardupilotmega::DATA32_DATA"]],["impl Sync for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Sync for TUNNEL_DATA",1,["mavlink::ardupilotmega::TUNNEL_DATA"]],["impl Sync for DATA96_DATA",1,["mavlink::ardupilotmega::DATA96_DATA"]],["impl Sync for ESTIMATOR_STATUS_DATA",1,["mavlink::ardupilotmega::ESTIMATOR_STATUS_DATA"]],["impl Sync for ALTITUDE_DATA",1,["mavlink::ardupilotmega::ALTITUDE_DATA"]],["impl Sync for GPS_RTCM_DATA_DATA",1,["mavlink::ardupilotmega::GPS_RTCM_DATA_DATA"]],["impl Sync for SCALED_IMU3_DATA",1,["mavlink::ardupilotmega::SCALED_IMU3_DATA"]],["impl Sync for AUTOPILOT_VERSION_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_DATA"]],["impl Sync for SET_HOME_POSITION_DATA",1,["mavlink::ardupilotmega::SET_HOME_POSITION_DATA"]],["impl Sync for GIMBAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_CONTROL_DATA"]],["impl Sync for GOPRO_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::GOPRO_HEARTBEAT_DATA"]],["impl Sync for HIL_STATE_QUATERNION_DATA",1,["mavlink::ardupilotmega::HIL_STATE_QUATERNION_DATA"]],["impl Sync for TERRAIN_REPORT_DATA",1,["mavlink::ardupilotmega::TERRAIN_REPORT_DATA"]],["impl Sync for WIND_DATA",1,["mavlink::ardupilotmega::WIND_DATA"]],["impl Sync for RAW_PRESSURE_DATA",1,["mavlink::ardupilotmega::RAW_PRESSURE_DATA"]],["impl Sync for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Sync for CUBEPILOT_FIRMWARE_UPDATE_START_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_START_DATA"]],["impl Sync for GENERATOR_STATUS_DATA",1,["mavlink::ardupilotmega::GENERATOR_STATUS_DATA"]],["impl Sync for RADIO_DATA",1,["mavlink::ardupilotmega::RADIO_DATA"]],["impl Sync for DEVICE_OP_READ_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_DATA"]],["impl Sync for AIS_VESSEL_DATA",1,["mavlink::ardupilotmega::AIS_VESSEL_DATA"]],["impl Sync for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Sync for PARAM_EXT_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_VALUE_DATA"]],["impl Sync for UAVCAN_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_STATUS_DATA"]],["impl Sync for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Sync for WATER_DEPTH_DATA",1,["mavlink::ardupilotmega::WATER_DEPTH_DATA"]],["impl Sync for SIM_STATE_DATA",1,["mavlink::ardupilotmega::SIM_STATE_DATA"]],["impl Sync for TERRAIN_REQUEST_DATA",1,["mavlink::ardupilotmega::TERRAIN_REQUEST_DATA"]],["impl Sync for PARAM_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_READ_DATA"]],["impl Sync for GLOBAL_POSITION_INT_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_DATA"]],["impl Sync for PLAY_TUNE_V2_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_V2_DATA"]],["impl Sync for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Sync for SYSTEM_TIME_DATA",1,["mavlink::ardupilotmega::SYSTEM_TIME_DATA"]],["impl Sync for GPS2_RTK_DATA",1,["mavlink::ardupilotmega::GPS2_RTK_DATA"]],["impl Sync for HIGH_LATENCY2_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY2_DATA"]],["impl Sync for MOUNT_ORIENTATION_DATA",1,["mavlink::ardupilotmega::MOUNT_ORIENTATION_DATA"]],["impl Sync for RC_CHANNELS_RAW_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_RAW_DATA"]],["impl Sync for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_STATUS_DATA"]],["impl Sync for SENSOR_OFFSETS_DATA",1,["mavlink::ardupilotmega::SENSOR_OFFSETS_DATA"]],["impl Sync for FENCE_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_FETCH_POINT_DATA"]],["impl Sync for LIMITS_STATUS_DATA",1,["mavlink::ardupilotmega::LIMITS_STATUS_DATA"]],["impl Sync for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Sync for DATA64_DATA",1,["mavlink::ardupilotmega::DATA64_DATA"]],["impl Sync for HOME_POSITION_DATA",1,["mavlink::ardupilotmega::HOME_POSITION_DATA"]],["impl Sync for LOG_REQUEST_DATA_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_DATA_DATA"]],["impl Sync for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Sync for AUTOPILOT_VERSION_REQUEST_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_REQUEST_DATA"]],["impl Sync for ATTITUDE_DATA",1,["mavlink::ardupilotmega::ATTITUDE_DATA"]],["impl Sync for REMOTE_LOG_BLOCK_STATUS_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_BLOCK_STATUS_DATA"]],["impl Sync for ADAP_TUNING_DATA",1,["mavlink::ardupilotmega::ADAP_TUNING_DATA"]],["impl Sync for PARAM_EXT_SET_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_SET_DATA"]],["impl Sync for HIL_OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::HIL_OPTICAL_FLOW_DATA"]],["impl Sync for RC_CHANNELS_SCALED_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_SCALED_DATA"]],["impl Sync for EXTENDED_SYS_STATE_DATA",1,["mavlink::ardupilotmega::EXTENDED_SYS_STATE_DATA"]],["impl Sync for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Sync for LOG_REQUEST_END_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_END_DATA"]],["impl Sync for OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_DATA"]],["impl Sync for COMMAND_ACK_DATA",1,["mavlink::ardupilotmega::COMMAND_ACK_DATA"]],["impl Sync for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Sync for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Sync for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Sync for MISSION_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_LIST_DATA"]],["impl Sync for PARAM_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_LIST_DATA"]],["impl Sync for MISSION_SET_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_SET_CURRENT_DATA"]],["impl Sync for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::ardupilotmega::CONTROL_SYSTEM_STATE_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Sync for SMART_BATTERY_INFO_DATA",1,["mavlink::ardupilotmega::SMART_BATTERY_INFO_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Sync for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_COV_DATA"]],["impl Sync for VIDEO_STREAM_STATUS_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_STATUS_DATA"]],["impl Sync for SET_MODE_DATA",1,["mavlink::ardupilotmega::SET_MODE_DATA"]],["impl Sync for HERELINK_TELEM_DATA",1,["mavlink::ardupilotmega::HERELINK_TELEM_DATA"]],["impl Sync for GPS_INJECT_DATA_DATA",1,["mavlink::ardupilotmega::GPS_INJECT_DATA_DATA"]],["impl Sync for VFR_HUD_DATA",1,["mavlink::ardupilotmega::VFR_HUD_DATA"]],["impl Sync for HIGH_LATENCY_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY_DATA"]],["impl Sync for DIGICAM_CONTROL_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONTROL_DATA"]],["impl Sync for WHEEL_DISTANCE_DATA",1,["mavlink::ardupilotmega::WHEEL_DISTANCE_DATA"]],["impl Sync for COMMAND_CANCEL_DATA",1,["mavlink::ardupilotmega::COMMAND_CANCEL_DATA"]],["impl Sync for SIMSTATE_DATA",1,["mavlink::ardupilotmega::SIMSTATE_DATA"]],["impl Sync for DATA16_DATA",1,["mavlink::ardupilotmega::DATA16_DATA"]],["impl Sync for MISSION_CLEAR_ALL_DATA",1,["mavlink::ardupilotmega::MISSION_CLEAR_ALL_DATA"]],["impl Sync for REMOTE_LOG_DATA_BLOCK_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_DATA_BLOCK_DATA"]],["impl Sync for RPM_DATA",1,["mavlink::ardupilotmega::RPM_DATA"]],["impl Sync for VISION_POSITION_DELTA_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_DELTA_DATA"]],["impl Sync for AHRS3_DATA",1,["mavlink::ardupilotmega::AHRS3_DATA"]],["impl Sync for OSD_PARAM_SHOW_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_DATA"]],["impl Sync for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Sync for SET_ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ATTITUDE_TARGET_DATA"]],["impl Sync for GOPRO_SET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_RESPONSE_DATA"]],["impl Sync for SCALED_PRESSURE2_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE2_DATA"]],["impl Sync for HIL_SENSOR_DATA",1,["mavlink::ardupilotmega::HIL_SENSOR_DATA"]],["impl Sync for CANFD_FRAME_DATA",1,["mavlink::ardupilotmega::CANFD_FRAME_DATA"]],["impl Sync for DATA_STREAM_DATA",1,["mavlink::ardupilotmega::DATA_STREAM_DATA"]],["impl Sync for HIGHRES_IMU_DATA",1,["mavlink::ardupilotmega::HIGHRES_IMU_DATA"]],["impl Sync for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Sync for MISSION_REQUEST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_DATA"]],["impl Sync for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_INFORMATION_DATA"]],["impl Sync for SCALED_IMU_DATA",1,["mavlink::ardupilotmega::SCALED_IMU_DATA"]],["impl Sync for DEVICE_OP_WRITE_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_DATA"]],["impl Sync for HYGROMETER_SENSOR_DATA",1,["mavlink::ardupilotmega::HYGROMETER_SENSOR_DATA"]],["impl Sync for CUBEPILOT_RAW_RC_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_RAW_RC_DATA"]],["impl Sync for GPS_STATUS_DATA",1,["mavlink::ardupilotmega::GPS_STATUS_DATA"]],["impl Sync for DEVICE_OP_WRITE_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_REPLY_DATA"]],["impl Sync for CAMERA_TRIGGER_DATA",1,["mavlink::ardupilotmega::CAMERA_TRIGGER_DATA"]],["impl Sync for SERIAL_CONTROL_DATA",1,["mavlink::ardupilotmega::SERIAL_CONTROL_DATA"]],["impl Sync for OBSTACLE_DISTANCE_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_DATA"]],["impl Sync for FENCE_STATUS_DATA",1,["mavlink::ardupilotmega::FENCE_STATUS_DATA"]],["impl Sync for ESC_STATUS_DATA",1,["mavlink::ardupilotmega::ESC_STATUS_DATA"]],["impl Sync for LANDING_TARGET_DATA",1,["mavlink::ardupilotmega::LANDING_TARGET_DATA"]],["impl Sync for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Sync for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_CAPTURE_STATUS_DATA"]],["impl Sync for BATTERY2_DATA",1,["mavlink::ardupilotmega::BATTERY2_DATA"]],["impl Sync for TERRAIN_DATA_DATA",1,["mavlink::ardupilotmega::TERRAIN_DATA_DATA"]],["impl Sync for GPS_INPUT_DATA",1,["mavlink::ardupilotmega::GPS_INPUT_DATA"]],["impl Sync for AIRSPEED_AUTOCAL_DATA",1,["mavlink::ardupilotmega::AIRSPEED_AUTOCAL_DATA"]],["impl Sync for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::ardupilotmega::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Sync for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Sync for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Sync for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::ardupilotmega::RESPONSE_EVENT_ERROR_DATA"]],["impl Sync for LOG_ENTRY_DATA",1,["mavlink::ardupilotmega::LOG_ENTRY_DATA"]],["impl Sync for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Sync for LOG_ERASE_DATA",1,["mavlink::ardupilotmega::LOG_ERASE_DATA"]],["impl Sync for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::ardupilotmega::ORBIT_EXECUTION_STATUS_DATA"]],["impl Sync for COMPASSMOT_STATUS_DATA",1,["mavlink::ardupilotmega::COMPASSMOT_STATUS_DATA"]],["impl Sync for HIL_GPS_DATA",1,["mavlink::ardupilotmega::HIL_GPS_DATA"]],["impl Sync for LOGGING_DATA_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_DATA"]],["impl Sync for PLAY_TUNE_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_DATA"]],["impl Sync for PROTOCOL_VERSION_DATA",1,["mavlink::ardupilotmega::PROTOCOL_VERSION_DATA"]],["impl Sync for CELLULAR_CONFIG_DATA",1,["mavlink::ardupilotmega::CELLULAR_CONFIG_DATA"]],["impl Sync for DEVICE_OP_READ_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_REPLY_DATA"]],["impl Sync for EVENT_DATA",1,["mavlink::ardupilotmega::EVENT_DATA"]],["impl Sync for V2_EXTENSION_DATA",1,["mavlink::ardupilotmega::V2_EXTENSION_DATA"]],["impl Sync for RALLY_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_FETCH_POINT_DATA"]],["impl Sync for CAMERA_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_STATUS_DATA"]],["impl Sync for RANGEFINDER_DATA",1,["mavlink::ardupilotmega::RANGEFINDER_DATA"]],["impl Sync for ESC_TELEMETRY_5_TO_8_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_5_TO_8_DATA"]],["impl Sync for MavMessage",1,["mavlink::ardupilotmega::MavMessage"]],["impl Sync for MavType",1,["mavlink::uavionix::MavType"]],["impl Sync for CameraMode",1,["mavlink::uavionix::CameraMode"]],["impl Sync for CellularNetworkFailedReason",1,["mavlink::uavionix::CellularNetworkFailedReason"]],["impl Sync for WifiConfigApMode",1,["mavlink::uavionix::WifiConfigApMode"]],["impl Sync for WifiConfigApResponse",1,["mavlink::uavionix::WifiConfigApResponse"]],["impl Sync for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Sync for CellularNetworkRadioType",1,["mavlink::uavionix::CellularNetworkRadioType"]],["impl Sync for AttitudeTargetTypemask",1,["mavlink::uavionix::AttitudeTargetTypemask"]],["impl Sync for UavionixAdsbOutDynamicGpsFix",1,["mavlink::uavionix::UavionixAdsbOutDynamicGpsFix"]],["impl Sync for MavBatteryFunction",1,["mavlink::uavionix::MavBatteryFunction"]],["impl Sync for MavCollisionThreatLevel",1,["mavlink::uavionix::MavCollisionThreatLevel"]],["impl Sync for MavModeFlagDecodePosition",1,["mavlink::uavionix::MavModeFlagDecodePosition"]],["impl Sync for MavCollisionSrc",1,["mavlink::uavionix::MavCollisionSrc"]],["impl Sync for PreflightStorageParameterAction",1,["mavlink::uavionix::PreflightStorageParameterAction"]],["impl Sync for MavSysStatusSensorExtended",1,["mavlink::uavionix::MavSysStatusSensorExtended"]],["impl Sync for MavCollisionAction",1,["mavlink::uavionix::MavCollisionAction"]],["impl Sync for CameraCapFlags",1,["mavlink::uavionix::CameraCapFlags"]],["impl Sync for MavBatteryChargeState",1,["mavlink::uavionix::MavBatteryChargeState"]],["impl Sync for MavEventErrorReason",1,["mavlink::uavionix::MavEventErrorReason"]],["impl Sync for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Sync for MavOdidHorAcc",1,["mavlink::uavionix::MavOdidHorAcc"]],["impl Sync for GimbalManagerFlags",1,["mavlink::uavionix::GimbalManagerFlags"]],["impl Sync for MavGoto",1,["mavlink::uavionix::MavGoto"]],["impl Sync for MavBatteryType",1,["mavlink::uavionix::MavBatteryType"]],["impl Sync for MavDataStream",1,["mavlink::uavionix::MavDataStream"]],["impl Sync for MavlinkDataStreamType",1,["mavlink::uavionix::MavlinkDataStreamType"]],["impl Sync for MavOdidOperatorLocationType",1,["mavlink::uavionix::MavOdidOperatorLocationType"]],["impl Sync for MavAutopilot",1,["mavlink::uavionix::MavAutopilot"]],["impl Sync for MavOdidAuthType",1,["mavlink::uavionix::MavOdidAuthType"]],["impl Sync for UavionixAdsbOutDynamicState",1,["mavlink::uavionix::UavionixAdsbOutDynamicState"]],["impl Sync for MavOdidIdType",1,["mavlink::uavionix::MavOdidIdType"]],["impl Sync for StorageUsageFlag",1,["mavlink::uavionix::StorageUsageFlag"]],["impl Sync for FenceMitigate",1,["mavlink::uavionix::FenceMitigate"]],["impl Sync for MavFrame",1,["mavlink::uavionix::MavFrame"]],["impl Sync for MavMode",1,["mavlink::uavionix::MavMode"]],["impl Sync for MavOdidUaType",1,["mavlink::uavionix::MavOdidUaType"]],["impl Sync for MavParamExtType",1,["mavlink::uavionix::MavParamExtType"]],["impl Sync for StorageStatus",1,["mavlink::uavionix::StorageStatus"]],["impl Sync for AisType",1,["mavlink::uavionix::AisType"]],["impl Sync for FenceAction",1,["mavlink::uavionix::FenceAction"]],["impl Sync for CameraTrackingTargetData",1,["mavlink::uavionix::CameraTrackingTargetData"]],["impl Sync for MavCmdAck",1,["mavlink::uavionix::MavCmdAck"]],["impl Sync for MavModeFlag",1,["mavlink::uavionix::MavModeFlag"]],["impl Sync for MavVtolState",1,["mavlink::uavionix::MavVtolState"]],["impl Sync for VtolTransitionHeading",1,["mavlink::uavionix::VtolTransitionHeading"]],["impl Sync for EstimatorStatusFlags",1,["mavlink::uavionix::EstimatorStatusFlags"]],["impl Sync for UavionixAdsbOutRfSelect",1,["mavlink::uavionix::UavionixAdsbOutRfSelect"]],["impl Sync for PrecisionLandMode",1,["mavlink::uavionix::PrecisionLandMode"]],["impl Sync for MavEstimatorType",1,["mavlink::uavionix::MavEstimatorType"]],["impl Sync for MavBatteryFault",1,["mavlink::uavionix::MavBatteryFault"]],["impl Sync for HilSensorUpdatedFlags",1,["mavlink::uavionix::HilSensorUpdatedFlags"]],["impl Sync for UavionixAdsbEmergencyStatus",1,["mavlink::uavionix::UavionixAdsbEmergencyStatus"]],["impl Sync for GimbalDeviceCapFlags",1,["mavlink::uavionix::GimbalDeviceCapFlags"]],["impl Sync for MavArmAuthDeniedReason",1,["mavlink::uavionix::MavArmAuthDeniedReason"]],["impl Sync for MavComponent",1,["mavlink::uavionix::MavComponent"]],["impl Sync for MavSysStatusSensor",1,["mavlink::uavionix::MavSysStatusSensor"]],["impl Sync for MagCalStatus",1,["mavlink::uavionix::MagCalStatus"]],["impl Sync for MavState",1,["mavlink::uavionix::MavState"]],["impl Sync for MavOdidArmStatus",1,["mavlink::uavionix::MavOdidArmStatus"]],["impl Sync for OrbitYawBehaviour",1,["mavlink::uavionix::OrbitYawBehaviour"]],["impl Sync for MavProtocolCapability",1,["mavlink::uavionix::MavProtocolCapability"]],["impl Sync for EscConnectionType",1,["mavlink::uavionix::EscConnectionType"]],["impl Sync for MotorTestOrder",1,["mavlink::uavionix::MotorTestOrder"]],["impl Sync for GpsInputIgnoreFlags",1,["mavlink::uavionix::GpsInputIgnoreFlags"]],["impl Sync for AdsbEmitterType",1,["mavlink::uavionix::AdsbEmitterType"]],["impl Sync for ActuatorConfiguration",1,["mavlink::uavionix::ActuatorConfiguration"]],["impl Sync for HlFailureFlag",1,["mavlink::uavionix::HlFailureFlag"]],["impl Sync for MavOdidDescType",1,["mavlink::uavionix::MavOdidDescType"]],["impl Sync for MavOdidOperatorIdType",1,["mavlink::uavionix::MavOdidOperatorIdType"]],["impl Sync for CanFilterOp",1,["mavlink::uavionix::CanFilterOp"]],["impl Sync for VideoStreamStatusFlags",1,["mavlink::uavionix::VideoStreamStatusFlags"]],["impl Sync for MavOdidHeightRef",1,["mavlink::uavionix::MavOdidHeightRef"]],["impl Sync for MavDoRepositionFlags",1,["mavlink::uavionix::MavDoRepositionFlags"]],["impl Sync for TuneFormat",1,["mavlink::uavionix::TuneFormat"]],["impl Sync for MavOdidCategoryEu",1,["mavlink::uavionix::MavOdidCategoryEu"]],["impl Sync for MotorTestThrottleType",1,["mavlink::uavionix::MotorTestThrottleType"]],["impl Sync for LandingTargetType",1,["mavlink::uavionix::LandingTargetType"]],["impl Sync for FirmwareVersionType",1,["mavlink::uavionix::FirmwareVersionType"]],["impl Sync for CellularConfigResponse",1,["mavlink::uavionix::CellularConfigResponse"]],["impl Sync for AdsbFlags",1,["mavlink::uavionix::AdsbFlags"]],["impl Sync for MavDistanceSensor",1,["mavlink::uavionix::MavDistanceSensor"]],["impl Sync for PreflightStorageMissionAction",1,["mavlink::uavionix::PreflightStorageMissionAction"]],["impl Sync for CellularStatusFlag",1,["mavlink::uavionix::CellularStatusFlag"]],["impl Sync for UtmFlightState",1,["mavlink::uavionix::UtmFlightState"]],["impl Sync for MavOdidClassEu",1,["mavlink::uavionix::MavOdidClassEu"]],["impl Sync for AdsbAltitudeType",1,["mavlink::uavionix::AdsbAltitudeType"]],["impl Sync for FenceBreach",1,["mavlink::uavionix::FenceBreach"]],["impl Sync for UavcanNodeHealth",1,["mavlink::uavionix::UavcanNodeHealth"]],["impl Sync for GpsFixType",1,["mavlink::uavionix::GpsFixType"]],["impl Sync for GimbalManagerCapFlags",1,["mavlink::uavionix::GimbalManagerCapFlags"]],["impl Sync for MavWinchStatusFlag",1,["mavlink::uavionix::MavWinchStatusFlag"]],["impl Sync for MissionState",1,["mavlink::uavionix::MissionState"]],["impl Sync for CompMetadataType",1,["mavlink::uavionix::CompMetadataType"]],["impl Sync for MavOdidTimeAcc",1,["mavlink::uavionix::MavOdidTimeAcc"]],["impl Sync for UavionixAdsbOutCfgAircraftSize",1,["mavlink::uavionix::UavionixAdsbOutCfgAircraftSize"]],["impl Sync for SerialControlDev",1,["mavlink::uavionix::SerialControlDev"]],["impl Sync for ParamAck",1,["mavlink::uavionix::ParamAck"]],["impl Sync for AisFlags",1,["mavlink::uavionix::AisFlags"]],["impl Sync for RtkBaselineCoordinateSystem",1,["mavlink::uavionix::RtkBaselineCoordinateSystem"]],["impl Sync for MavResult",1,["mavlink::uavionix::MavResult"]],["impl Sync for GimbalDeviceFlags",1,["mavlink::uavionix::GimbalDeviceFlags"]],["impl Sync for MavOdidVerAcc",1,["mavlink::uavionix::MavOdidVerAcc"]],["impl Sync for NavVtolLandOptions",1,["mavlink::uavionix::NavVtolLandOptions"]],["impl Sync for EscFailureFlags",1,["mavlink::uavionix::EscFailureFlags"]],["impl Sync for MavMissionResult",1,["mavlink::uavionix::MavMissionResult"]],["impl Sync for FailureType",1,["mavlink::uavionix::FailureType"]],["impl Sync for MavEventCurrentSequenceFlags",1,["mavlink::uavionix::MavEventCurrentSequenceFlags"]],["impl Sync for MavRoi",1,["mavlink::uavionix::MavRoi"]],["impl Sync for MavOdidSpeedAcc",1,["mavlink::uavionix::MavOdidSpeedAcc"]],["impl Sync for MavParamType",1,["mavlink::uavionix::MavParamType"]],["impl Sync for FailureUnit",1,["mavlink::uavionix::FailureUnit"]],["impl Sync for MavLandedState",1,["mavlink::uavionix::MavLandedState"]],["impl Sync for CameraZoomType",1,["mavlink::uavionix::CameraZoomType"]],["impl Sync for GripperActions",1,["mavlink::uavionix::GripperActions"]],["impl Sync for MavBatteryMode",1,["mavlink::uavionix::MavBatteryMode"]],["impl Sync for RcType",1,["mavlink::uavionix::RcType"]],["impl Sync for HighresImuUpdatedFlags",1,["mavlink::uavionix::HighresImuUpdatedFlags"]],["impl Sync for CameraTrackingMode",1,["mavlink::uavionix::CameraTrackingMode"]],["impl Sync for UavcanNodeMode",1,["mavlink::uavionix::UavcanNodeMode"]],["impl Sync for GimbalDeviceErrorFlags",1,["mavlink::uavionix::GimbalDeviceErrorFlags"]],["impl Sync for PositionTargetTypemask",1,["mavlink::uavionix::PositionTargetTypemask"]],["impl Sync for MavPowerStatus",1,["mavlink::uavionix::MavPowerStatus"]],["impl Sync for MavMountMode",1,["mavlink::uavionix::MavMountMode"]],["impl Sync for MavTunnelPayloadType",1,["mavlink::uavionix::MavTunnelPayloadType"]],["impl Sync for ParachuteAction",1,["mavlink::uavionix::ParachuteAction"]],["impl Sync for MavGeneratorStatusFlag",1,["mavlink::uavionix::MavGeneratorStatusFlag"]],["impl Sync for MavOdidStatus",1,["mavlink::uavionix::MavOdidStatus"]],["impl Sync for VideoStreamType",1,["mavlink::uavionix::VideoStreamType"]],["impl Sync for ActuatorOutputFunction",1,["mavlink::uavionix::ActuatorOutputFunction"]],["impl Sync for WinchActions",1,["mavlink::uavionix::WinchActions"]],["impl Sync for SetFocusType",1,["mavlink::uavionix::SetFocusType"]],["impl Sync for SerialControlFlag",1,["mavlink::uavionix::SerialControlFlag"]],["impl Sync for AutotuneAxis",1,["mavlink::uavionix::AutotuneAxis"]],["impl Sync for MavOdidClassificationType",1,["mavlink::uavionix::MavOdidClassificationType"]],["impl Sync for AisNavStatus",1,["mavlink::uavionix::AisNavStatus"]],["impl Sync for CameraTrackingStatusFlags",1,["mavlink::uavionix::CameraTrackingStatusFlags"]],["impl Sync for UtmDataAvailFlags",1,["mavlink::uavionix::UtmDataAvailFlags"]],["impl Sync for StorageType",1,["mavlink::uavionix::StorageType"]],["impl Sync for MavSensorOrientation",1,["mavlink::uavionix::MavSensorOrientation"]],["impl Sync for MavMissionType",1,["mavlink::uavionix::MavMissionType"]],["impl Sync for MavFtpOpcode",1,["mavlink::uavionix::MavFtpOpcode"]],["impl Sync for UavionixAdsbRfHealth",1,["mavlink::uavionix::UavionixAdsbRfHealth"]],["impl Sync for MavCmd",1,["mavlink::uavionix::MavCmd"]],["impl Sync for MavFtpErr",1,["mavlink::uavionix::MavFtpErr"]],["impl Sync for MavSeverity",1,["mavlink::uavionix::MavSeverity"]],["impl Sync for POWER_STATUS_DATA",1,["mavlink::uavionix::POWER_STATUS_DATA"]],["impl Sync for GPS_RTCM_DATA_DATA",1,["mavlink::uavionix::GPS_RTCM_DATA_DATA"]],["impl Sync for WIND_COV_DATA",1,["mavlink::uavionix::WIND_COV_DATA"]],["impl Sync for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::uavionix::HIL_RC_INPUTS_RAW_DATA"]],["impl Sync for ENCAPSULATED_DATA_DATA",1,["mavlink::uavionix::ENCAPSULATED_DATA_DATA"]],["impl Sync for LOG_REQUEST_END_DATA",1,["mavlink::uavionix::LOG_REQUEST_END_DATA"]],["impl Sync for MISSION_SET_CURRENT_DATA",1,["mavlink::uavionix::MISSION_SET_CURRENT_DATA"]],["impl Sync for COMPONENT_METADATA_DATA",1,["mavlink::uavionix::COMPONENT_METADATA_DATA"]],["impl Sync for FLIGHT_INFORMATION_DATA",1,["mavlink::uavionix::FLIGHT_INFORMATION_DATA"]],["impl Sync for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Sync for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Sync for LANDING_TARGET_DATA",1,["mavlink::uavionix::LANDING_TARGET_DATA"]],["impl Sync for COMMAND_INT_DATA",1,["mavlink::uavionix::COMMAND_INT_DATA"]],["impl Sync for ATT_POS_MOCAP_DATA",1,["mavlink::uavionix::ATT_POS_MOCAP_DATA"]],["impl Sync for ALTITUDE_DATA",1,["mavlink::uavionix::ALTITUDE_DATA"]],["impl Sync for FOLLOW_TARGET_DATA",1,["mavlink::uavionix::FOLLOW_TARGET_DATA"]],["impl Sync for SIM_STATE_DATA",1,["mavlink::uavionix::SIM_STATE_DATA"]],["impl Sync for MAG_CAL_REPORT_DATA",1,["mavlink::uavionix::MAG_CAL_REPORT_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Sync for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::uavionix::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Sync for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::uavionix::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Sync for COMPONENT_INFORMATION_DATA",1,["mavlink::uavionix::COMPONENT_INFORMATION_DATA"]],["impl Sync for GPS2_RAW_DATA",1,["mavlink::uavionix::GPS2_RAW_DATA"]],["impl Sync for BUTTON_CHANGE_DATA",1,["mavlink::uavionix::BUTTON_CHANGE_DATA"]],["impl Sync for UAVCAN_NODE_INFO_DATA",1,["mavlink::uavionix::UAVCAN_NODE_INFO_DATA"]],["impl Sync for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Sync for COLLISION_DATA",1,["mavlink::uavionix::COLLISION_DATA"]],["impl Sync for RAW_RPM_DATA",1,["mavlink::uavionix::RAW_RPM_DATA"]],["impl Sync for SERIAL_CONTROL_DATA",1,["mavlink::uavionix::SERIAL_CONTROL_DATA"]],["impl Sync for CAMERA_TRIGGER_DATA",1,["mavlink::uavionix::CAMERA_TRIGGER_DATA"]],["impl Sync for SET_HOME_POSITION_DATA",1,["mavlink::uavionix::SET_HOME_POSITION_DATA"]],["impl Sync for CAMERA_FOV_STATUS_DATA",1,["mavlink::uavionix::CAMERA_FOV_STATUS_DATA"]],["impl Sync for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Sync for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::uavionix::VIDEO_STREAM_INFORMATION_DATA"]],["impl Sync for LINK_NODE_STATUS_DATA",1,["mavlink::uavionix::LINK_NODE_STATUS_DATA"]],["impl Sync for HIL_STATE_DATA",1,["mavlink::uavionix::HIL_STATE_DATA"]],["impl Sync for PARAM_SET_DATA",1,["mavlink::uavionix::PARAM_SET_DATA"]],["impl Sync for SCALED_IMU_DATA",1,["mavlink::uavionix::SCALED_IMU_DATA"]],["impl Sync for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::uavionix::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Sync for TERRAIN_REQUEST_DATA",1,["mavlink::uavionix::TERRAIN_REQUEST_DATA"]],["impl Sync for SCALED_PRESSURE_DATA",1,["mavlink::uavionix::SCALED_PRESSURE_DATA"]],["impl Sync for GENERATOR_STATUS_DATA",1,["mavlink::uavionix::GENERATOR_STATUS_DATA"]],["impl Sync for HIL_GPS_DATA",1,["mavlink::uavionix::HIL_GPS_DATA"]],["impl Sync for LOG_ERASE_DATA",1,["mavlink::uavionix::LOG_ERASE_DATA"]],["impl Sync for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::uavionix::RC_CHANNELS_OVERRIDE_DATA"]],["impl Sync for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Sync for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Sync for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Sync for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Sync for SUPPORTED_TUNES_DATA",1,["mavlink::uavionix::SUPPORTED_TUNES_DATA"]],["impl Sync for VIDEO_STREAM_STATUS_DATA",1,["mavlink::uavionix::VIDEO_STREAM_STATUS_DATA"]],["impl Sync for HYGROMETER_SENSOR_DATA",1,["mavlink::uavionix::HYGROMETER_SENSOR_DATA"]],["impl Sync for SCALED_PRESSURE3_DATA",1,["mavlink::uavionix::SCALED_PRESSURE3_DATA"]],["impl Sync for OBSTACLE_DISTANCE_DATA",1,["mavlink::uavionix::OBSTACLE_DISTANCE_DATA"]],["impl Sync for REQUEST_DATA_STREAM_DATA",1,["mavlink::uavionix::REQUEST_DATA_STREAM_DATA"]],["impl Sync for DISTANCE_SENSOR_DATA",1,["mavlink::uavionix::DISTANCE_SENSOR_DATA"]],["impl Sync for LOG_REQUEST_LIST_DATA",1,["mavlink::uavionix::LOG_REQUEST_LIST_DATA"]],["impl Sync for RC_CHANNELS_DATA",1,["mavlink::uavionix::RC_CHANNELS_DATA"]],["impl Sync for CAN_FILTER_MODIFY_DATA",1,["mavlink::uavionix::CAN_FILTER_MODIFY_DATA"]],["impl Sync for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_ALLOWED_AREA_DATA"]],["impl Sync for ATTITUDE_DATA",1,["mavlink::uavionix::ATTITUDE_DATA"]],["impl Sync for SERVO_OUTPUT_RAW_DATA",1,["mavlink::uavionix::SERVO_OUTPUT_RAW_DATA"]],["impl Sync for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_CAPTURE_STATUS_DATA"]],["impl Sync for VFR_HUD_DATA",1,["mavlink::uavionix::VFR_HUD_DATA"]],["impl Sync for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::uavionix::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Sync for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Sync for EVENT_DATA",1,["mavlink::uavionix::EVENT_DATA"]],["impl Sync for CAMERA_INFORMATION_DATA",1,["mavlink::uavionix::CAMERA_INFORMATION_DATA"]],["impl Sync for PARAM_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_REQUEST_LIST_DATA"]],["impl Sync for WHEEL_DISTANCE_DATA",1,["mavlink::uavionix::WHEEL_DISTANCE_DATA"]],["impl Sync for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Sync for UAVCAN_NODE_STATUS_DATA",1,["mavlink::uavionix::UAVCAN_NODE_STATUS_DATA"]],["impl Sync for PARAM_EXT_SET_DATA",1,["mavlink::uavionix::PARAM_EXT_SET_DATA"]],["impl Sync for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Sync for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Sync for SMART_BATTERY_INFO_DATA",1,["mavlink::uavionix::SMART_BATTERY_INFO_DATA"]],["impl Sync for OPTICAL_FLOW_RAD_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_RAD_DATA"]],["impl Sync for HIL_OPTICAL_FLOW_DATA",1,["mavlink::uavionix::HIL_OPTICAL_FLOW_DATA"]],["impl Sync for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_COV_DATA"]],["impl Sync for BATTERY_STATUS_DATA",1,["mavlink::uavionix::BATTERY_STATUS_DATA"]],["impl Sync for GLOBAL_POSITION_INT_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_DATA"]],["impl Sync for MOUNT_ORIENTATION_DATA",1,["mavlink::uavionix::MOUNT_ORIENTATION_DATA"]],["impl Sync for MISSION_ITEM_DATA",1,["mavlink::uavionix::MISSION_ITEM_DATA"]],["impl Sync for GPS_RTK_DATA",1,["mavlink::uavionix::GPS_RTK_DATA"]],["impl Sync for HIGHRES_IMU_DATA",1,["mavlink::uavionix::HIGHRES_IMU_DATA"]],["impl Sync for RESOURCE_REQUEST_DATA",1,["mavlink::uavionix::RESOURCE_REQUEST_DATA"]],["impl Sync for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::uavionix::CONTROL_SYSTEM_STATE_DATA"]],["impl Sync for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Sync for PARAM_EXT_VALUE_DATA",1,["mavlink::uavionix::PARAM_EXT_VALUE_DATA"]],["impl Sync for RAW_IMU_DATA",1,["mavlink::uavionix::RAW_IMU_DATA"]],["impl Sync for TUNNEL_DATA",1,["mavlink::uavionix::TUNNEL_DATA"]],["impl Sync for GPS2_RTK_DATA",1,["mavlink::uavionix::GPS2_RTK_DATA"]],["impl Sync for EFI_STATUS_DATA",1,["mavlink::uavionix::EFI_STATUS_DATA"]],["impl Sync for ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::ATTITUDE_TARGET_DATA"]],["impl Sync for GPS_INJECT_DATA_DATA",1,["mavlink::uavionix::GPS_INJECT_DATA_DATA"]],["impl Sync for CELLULAR_CONFIG_DATA",1,["mavlink::uavionix::CELLULAR_CONFIG_DATA"]],["impl Sync for EXTENDED_SYS_STATE_DATA",1,["mavlink::uavionix::EXTENDED_SYS_STATE_DATA"]],["impl Sync for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::uavionix::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Sync for SETUP_SIGNING_DATA",1,["mavlink::uavionix::SETUP_SIGNING_DATA"]],["impl Sync for PARAM_MAP_RC_DATA",1,["mavlink::uavionix::PARAM_MAP_RC_DATA"]],["impl Sync for HIGH_LATENCY2_DATA",1,["mavlink::uavionix::HIGH_LATENCY2_DATA"]],["impl Sync for SCALED_IMU2_DATA",1,["mavlink::uavionix::SCALED_IMU2_DATA"]],["impl Sync for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Sync for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Sync for VIBRATION_DATA",1,["mavlink::uavionix::VIBRATION_DATA"]],["impl Sync for HIL_SENSOR_DATA",1,["mavlink::uavionix::HIL_SENSOR_DATA"]],["impl Sync for WINCH_STATUS_DATA",1,["mavlink::uavionix::WINCH_STATUS_DATA"]],["impl Sync for SET_MODE_DATA",1,["mavlink::uavionix::SET_MODE_DATA"]],["impl Sync for RAW_PRESSURE_DATA",1,["mavlink::uavionix::RAW_PRESSURE_DATA"]],["impl Sync for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::uavionix::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Sync for LOG_DATA_DATA",1,["mavlink::uavionix::LOG_DATA_DATA"]],["impl Sync for TIMESYNC_DATA",1,["mavlink::uavionix::TIMESYNC_DATA"]],["impl Sync for RC_CHANNELS_RAW_DATA",1,["mavlink::uavionix::RC_CHANNELS_RAW_DATA"]],["impl Sync for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Sync for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Sync for PARAM_VALUE_DATA",1,["mavlink::uavionix::PARAM_VALUE_DATA"]],["impl Sync for HIL_CONTROLS_DATA",1,["mavlink::uavionix::HIL_CONTROLS_DATA"]],["impl Sync for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Sync for ADSB_VEHICLE_DATA",1,["mavlink::uavionix::ADSB_VEHICLE_DATA"]],["impl Sync for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Sync for UTM_GLOBAL_POSITION_DATA",1,["mavlink::uavionix::UTM_GLOBAL_POSITION_DATA"]],["impl Sync for COMMAND_ACK_DATA",1,["mavlink::uavionix::COMMAND_ACK_DATA"]],["impl Sync for ISBD_LINK_STATUS_DATA",1,["mavlink::uavionix::ISBD_LINK_STATUS_DATA"]],["impl Sync for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Sync for AUTOPILOT_VERSION_DATA",1,["mavlink::uavionix::AUTOPILOT_VERSION_DATA"]],["impl Sync for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::uavionix::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Sync for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::uavionix::DEBUG_FLOAT_ARRAY_DATA"]],["impl Sync for PLAY_TUNE_V2_DATA",1,["mavlink::uavionix::PLAY_TUNE_V2_DATA"]],["impl Sync for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Sync for REQUEST_EVENT_DATA",1,["mavlink::uavionix::REQUEST_EVENT_DATA"]],["impl Sync for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Sync for NAMED_VALUE_INT_DATA",1,["mavlink::uavionix::NAMED_VALUE_INT_DATA"]],["impl Sync for MISSION_REQUEST_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_LIST_DATA"]],["impl Sync for LOG_REQUEST_DATA_DATA",1,["mavlink::uavionix::LOG_REQUEST_DATA_DATA"]],["impl Sync for MESSAGE_INTERVAL_DATA",1,["mavlink::uavionix::MESSAGE_INTERVAL_DATA"]],["impl Sync for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_POSITION_ESTIMATE_DATA"]],["impl Sync for LOG_ENTRY_DATA",1,["mavlink::uavionix::LOG_ENTRY_DATA"]],["impl Sync for AIS_VESSEL_DATA",1,["mavlink::uavionix::AIS_VESSEL_DATA"]],["impl Sync for MISSION_ACK_DATA",1,["mavlink::uavionix::MISSION_ACK_DATA"]],["impl Sync for RADIO_STATUS_DATA",1,["mavlink::uavionix::RADIO_STATUS_DATA"]],["impl Sync for CELLULAR_STATUS_DATA",1,["mavlink::uavionix::CELLULAR_STATUS_DATA"]],["impl Sync for DATA_STREAM_DATA",1,["mavlink::uavionix::DATA_STREAM_DATA"]],["impl Sync for DEBUG_VECT_DATA",1,["mavlink::uavionix::DEBUG_VECT_DATA"]],["impl Sync for MISSION_CURRENT_DATA",1,["mavlink::uavionix::MISSION_CURRENT_DATA"]],["impl Sync for PROTOCOL_VERSION_DATA",1,["mavlink::uavionix::PROTOCOL_VERSION_DATA"]],["impl Sync for GPS_INPUT_DATA",1,["mavlink::uavionix::GPS_INPUT_DATA"]],["impl Sync for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::uavionix::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Sync for MISSION_ITEM_INT_DATA",1,["mavlink::uavionix::MISSION_ITEM_INT_DATA"]],["impl Sync for GPS_STATUS_DATA",1,["mavlink::uavionix::GPS_STATUS_DATA"]],["impl Sync for MANUAL_SETPOINT_DATA",1,["mavlink::uavionix::MANUAL_SETPOINT_DATA"]],["impl Sync for FENCE_STATUS_DATA",1,["mavlink::uavionix::FENCE_STATUS_DATA"]],["impl Sync for HOME_POSITION_DATA",1,["mavlink::uavionix::HOME_POSITION_DATA"]],["impl Sync for ESC_INFO_DATA",1,["mavlink::uavionix::ESC_INFO_DATA"]],["impl Sync for COMMAND_CANCEL_DATA",1,["mavlink::uavionix::COMMAND_CANCEL_DATA"]],["impl Sync for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_READ_DATA"]],["impl Sync for PLAY_TUNE_DATA",1,["mavlink::uavionix::PLAY_TUNE_DATA"]],["impl Sync for MISSION_REQUEST_INT_DATA",1,["mavlink::uavionix::MISSION_REQUEST_INT_DATA"]],["impl Sync for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_COV_DATA"]],["impl Sync for MISSION_ITEM_REACHED_DATA",1,["mavlink::uavionix::MISSION_ITEM_REACHED_DATA"]],["impl Sync for PARAM_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_REQUEST_READ_DATA"]],["impl Sync for TERRAIN_DATA_DATA",1,["mavlink::uavionix::TERRAIN_DATA_DATA"]],["impl Sync for GPS_RAW_INT_DATA",1,["mavlink::uavionix::GPS_RAW_INT_DATA"]],["impl Sync for STORAGE_INFORMATION_DATA",1,["mavlink::uavionix::STORAGE_INFORMATION_DATA"]],["impl Sync for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::uavionix::RESPONSE_EVENT_ERROR_DATA"]],["impl Sync for MANUAL_CONTROL_DATA",1,["mavlink::uavionix::MANUAL_CONTROL_DATA"]],["impl Sync for NAMED_VALUE_FLOAT_DATA",1,["mavlink::uavionix::NAMED_VALUE_FLOAT_DATA"]],["impl Sync for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_STATUS_DATA"]],["impl Sync for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Sync for LOGGING_DATA_DATA",1,["mavlink::uavionix::LOGGING_DATA_DATA"]],["impl Sync for STATUSTEXT_DATA",1,["mavlink::uavionix::STATUSTEXT_DATA"]],["impl Sync for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Sync for ESTIMATOR_STATUS_DATA",1,["mavlink::uavionix::ESTIMATOR_STATUS_DATA"]],["impl Sync for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::uavionix::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Sync for PARAM_EXT_ACK_DATA",1,["mavlink::uavionix::PARAM_EXT_ACK_DATA"]],["impl Sync for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Sync for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Sync for CAN_FRAME_DATA",1,["mavlink::uavionix::CAN_FRAME_DATA"]],["impl Sync for COMMAND_LONG_DATA",1,["mavlink::uavionix::COMMAND_LONG_DATA"]],["impl Sync for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Sync for HEARTBEAT_DATA",1,["mavlink::uavionix::HEARTBEAT_DATA"]],["impl Sync for ATTITUDE_QUATERNION_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_DATA"]],["impl Sync for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VICON_POSITION_ESTIMATE_DATA"]],["impl Sync for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::uavionix::ORBIT_EXECUTION_STATUS_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Sync for SCALED_PRESSURE2_DATA",1,["mavlink::uavionix::SCALED_PRESSURE2_DATA"]],["impl Sync for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Sync for ODOMETRY_DATA",1,["mavlink::uavionix::ODOMETRY_DATA"]],["impl Sync for CAMERA_SETTINGS_DATA",1,["mavlink::uavionix::CAMERA_SETTINGS_DATA"]],["impl Sync for MISSION_CLEAR_ALL_DATA",1,["mavlink::uavionix::MISSION_CLEAR_ALL_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Sync for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_SPEED_ESTIMATE_DATA"]],["impl Sync for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Sync for TERRAIN_REPORT_DATA",1,["mavlink::uavionix::TERRAIN_REPORT_DATA"]],["impl Sync for LOCAL_POSITION_NED_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_DATA"]],["impl Sync for DEBUG_DATA",1,["mavlink::uavionix::DEBUG_DATA"]],["impl Sync for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Sync for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::GPS_GLOBAL_ORIGIN_DATA"]],["impl Sync for MISSION_COUNT_DATA",1,["mavlink::uavionix::MISSION_COUNT_DATA"]],["impl Sync for HIGH_LATENCY_DATA",1,["mavlink::uavionix::HIGH_LATENCY_DATA"]],["impl Sync for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Sync for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::uavionix::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Sync for MEMORY_VECT_DATA",1,["mavlink::uavionix::MEMORY_VECT_DATA"]],["impl Sync for MISSION_REQUEST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_DATA"]],["impl Sync for V2_EXTENSION_DATA",1,["mavlink::uavionix::V2_EXTENSION_DATA"]],["impl Sync for ESC_STATUS_DATA",1,["mavlink::uavionix::ESC_STATUS_DATA"]],["impl Sync for LOGGING_DATA_ACKED_DATA",1,["mavlink::uavionix::LOGGING_DATA_ACKED_DATA"]],["impl Sync for CANFD_FRAME_DATA",1,["mavlink::uavionix::CANFD_FRAME_DATA"]],["impl Sync for SCALED_IMU3_DATA",1,["mavlink::uavionix::SCALED_IMU3_DATA"]],["impl Sync for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_COV_DATA"]],["impl Sync for HIL_STATE_QUATERNION_DATA",1,["mavlink::uavionix::HIL_STATE_QUATERNION_DATA"]],["impl Sync for AUTH_KEY_DATA",1,["mavlink::uavionix::AUTH_KEY_DATA"]],["impl Sync for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Sync for LOGGING_ACK_DATA",1,["mavlink::uavionix::LOGGING_ACK_DATA"]],["impl Sync for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Sync for SYSTEM_TIME_DATA",1,["mavlink::uavionix::SYSTEM_TIME_DATA"]],["impl Sync for SET_ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::SET_ATTITUDE_TARGET_DATA"]],["impl Sync for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Sync for TERRAIN_CHECK_DATA",1,["mavlink::uavionix::TERRAIN_CHECK_DATA"]],["impl Sync for SYS_STATUS_DATA",1,["mavlink::uavionix::SYS_STATUS_DATA"]],["impl Sync for WIFI_CONFIG_AP_DATA",1,["mavlink::uavionix::WIFI_CONFIG_AP_DATA"]],["impl Sync for PING_DATA",1,["mavlink::uavionix::PING_DATA"]],["impl Sync for RC_CHANNELS_SCALED_DATA",1,["mavlink::uavionix::RC_CHANNELS_SCALED_DATA"]],["impl Sync for OPTICAL_FLOW_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_DATA"]],["impl Sync for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Sync for MavMessage",1,["mavlink::uavionix::MavMessage"]],["impl Sync for WifiConfigApResponse",1,["mavlink::common::WifiConfigApResponse"]],["impl Sync for FirmwareVersionType",1,["mavlink::common::FirmwareVersionType"]],["impl Sync for MavAutopilot",1,["mavlink::common::MavAutopilot"]],["impl Sync for FailureUnit",1,["mavlink::common::FailureUnit"]],["impl Sync for MavOdidClassEu",1,["mavlink::common::MavOdidClassEu"]],["impl Sync for CellularNetworkFailedReason",1,["mavlink::common::CellularNetworkFailedReason"]],["impl Sync for CellularNetworkRadioType",1,["mavlink::common::CellularNetworkRadioType"]],["impl Sync for MavOdidIdType",1,["mavlink::common::MavOdidIdType"]],["impl Sync for MavModeFlag",1,["mavlink::common::MavModeFlag"]],["impl Sync for MavOdidArmStatus",1,["mavlink::common::MavOdidArmStatus"]],["impl Sync for NavVtolLandOptions",1,["mavlink::common::NavVtolLandOptions"]],["impl Sync for GripperActions",1,["mavlink::common::GripperActions"]],["impl Sync for MavWinchStatusFlag",1,["mavlink::common::MavWinchStatusFlag"]],["impl Sync for ParachuteAction",1,["mavlink::common::ParachuteAction"]],["impl Sync for CompMetadataType",1,["mavlink::common::CompMetadataType"]],["impl Sync for AdsbEmitterType",1,["mavlink::common::AdsbEmitterType"]],["impl Sync for MavMode",1,["mavlink::common::MavMode"]],["impl Sync for MavOdidClassificationType",1,["mavlink::common::MavOdidClassificationType"]],["impl Sync for MavDistanceSensor",1,["mavlink::common::MavDistanceSensor"]],["impl Sync for PositionTargetTypemask",1,["mavlink::common::PositionTargetTypemask"]],["impl Sync for MavCmdAck",1,["mavlink::common::MavCmdAck"]],["impl Sync for UavcanNodeMode",1,["mavlink::common::UavcanNodeMode"]],["impl Sync for AdsbAltitudeType",1,["mavlink::common::AdsbAltitudeType"]],["impl Sync for GpsFixType",1,["mavlink::common::GpsFixType"]],["impl Sync for ParamAck",1,["mavlink::common::ParamAck"]],["impl Sync for MavComponent",1,["mavlink::common::MavComponent"]],["impl Sync for AisNavStatus",1,["mavlink::common::AisNavStatus"]],["impl Sync for MagCalStatus",1,["mavlink::common::MagCalStatus"]],["impl Sync for CameraZoomType",1,["mavlink::common::CameraZoomType"]],["impl Sync for MavOdidCategoryEu",1,["mavlink::common::MavOdidCategoryEu"]],["impl Sync for MavBatteryFunction",1,["mavlink::common::MavBatteryFunction"]],["impl Sync for WifiConfigApMode",1,["mavlink::common::WifiConfigApMode"]],["impl Sync for MavRoi",1,["mavlink::common::MavRoi"]],["impl Sync for AisFlags",1,["mavlink::common::AisFlags"]],["impl Sync for AisType",1,["mavlink::common::AisType"]],["impl Sync for MavOdidDescType",1,["mavlink::common::MavOdidDescType"]],["impl Sync for CanFilterOp",1,["mavlink::common::CanFilterOp"]],["impl Sync for MavFtpOpcode",1,["mavlink::common::MavFtpOpcode"]],["impl Sync for MavVtolState",1,["mavlink::common::MavVtolState"]],["impl Sync for MavState",1,["mavlink::common::MavState"]],["impl Sync for FenceBreach",1,["mavlink::common::FenceBreach"]],["impl Sync for SerialControlFlag",1,["mavlink::common::SerialControlFlag"]],["impl Sync for TuneFormat",1,["mavlink::common::TuneFormat"]],["impl Sync for MavSeverity",1,["mavlink::common::MavSeverity"]],["impl Sync for MavlinkDataStreamType",1,["mavlink::common::MavlinkDataStreamType"]],["impl Sync for AdsbFlags",1,["mavlink::common::AdsbFlags"]],["impl Sync for MavMountMode",1,["mavlink::common::MavMountMode"]],["impl Sync for FenceMitigate",1,["mavlink::common::FenceMitigate"]],["impl Sync for MavGeneratorStatusFlag",1,["mavlink::common::MavGeneratorStatusFlag"]],["impl Sync for MavBatteryChargeState",1,["mavlink::common::MavBatteryChargeState"]],["impl Sync for MavFtpErr",1,["mavlink::common::MavFtpErr"]],["impl Sync for CellularConfigResponse",1,["mavlink::common::CellularConfigResponse"]],["impl Sync for MavOdidOperatorIdType",1,["mavlink::common::MavOdidOperatorIdType"]],["impl Sync for MavOdidSpeedAcc",1,["mavlink::common::MavOdidSpeedAcc"]],["impl Sync for LandingTargetType",1,["mavlink::common::LandingTargetType"]],["impl Sync for MavCollisionThreatLevel",1,["mavlink::common::MavCollisionThreatLevel"]],["impl Sync for MavTunnelPayloadType",1,["mavlink::common::MavTunnelPayloadType"]],["impl Sync for MavEventErrorReason",1,["mavlink::common::MavEventErrorReason"]],["impl Sync for MavOdidVerAcc",1,["mavlink::common::MavOdidVerAcc"]],["impl Sync for MotorTestThrottleType",1,["mavlink::common::MotorTestThrottleType"]],["impl Sync for OrbitYawBehaviour",1,["mavlink::common::OrbitYawBehaviour"]],["impl Sync for ActuatorConfiguration",1,["mavlink::common::ActuatorConfiguration"]],["impl Sync for MavEstimatorType",1,["mavlink::common::MavEstimatorType"]],["impl Sync for EstimatorStatusFlags",1,["mavlink::common::EstimatorStatusFlags"]],["impl Sync for FailureType",1,["mavlink::common::FailureType"]],["impl Sync for PreflightStorageParameterAction",1,["mavlink::common::PreflightStorageParameterAction"]],["impl Sync for MavParamType",1,["mavlink::common::MavParamType"]],["impl Sync for MavModeFlagDecodePosition",1,["mavlink::common::MavModeFlagDecodePosition"]],["impl Sync for StorageUsageFlag",1,["mavlink::common::StorageUsageFlag"]],["impl Sync for MavEventCurrentSequenceFlags",1,["mavlink::common::MavEventCurrentSequenceFlags"]],["impl Sync for MavGoto",1,["mavlink::common::MavGoto"]],["impl Sync for GimbalDeviceCapFlags",1,["mavlink::common::GimbalDeviceCapFlags"]],["impl Sync for VtolTransitionHeading",1,["mavlink::common::VtolTransitionHeading"]],["impl Sync for GimbalDeviceFlags",1,["mavlink::common::GimbalDeviceFlags"]],["impl Sync for SerialControlDev",1,["mavlink::common::SerialControlDev"]],["impl Sync for MavSysStatusSensor",1,["mavlink::common::MavSysStatusSensor"]],["impl Sync for MavDataStream",1,["mavlink::common::MavDataStream"]],["impl Sync for MavCollisionSrc",1,["mavlink::common::MavCollisionSrc"]],["impl Sync for VideoStreamStatusFlags",1,["mavlink::common::VideoStreamStatusFlags"]],["impl Sync for CameraTrackingStatusFlags",1,["mavlink::common::CameraTrackingStatusFlags"]],["impl Sync for RcType",1,["mavlink::common::RcType"]],["impl Sync for AttitudeTargetTypemask",1,["mavlink::common::AttitudeTargetTypemask"]],["impl Sync for MavOdidAuthType",1,["mavlink::common::MavOdidAuthType"]],["impl Sync for GimbalDeviceErrorFlags",1,["mavlink::common::GimbalDeviceErrorFlags"]],["impl Sync for GimbalManagerFlags",1,["mavlink::common::GimbalManagerFlags"]],["impl Sync for ActuatorOutputFunction",1,["mavlink::common::ActuatorOutputFunction"]],["impl Sync for MavProtocolCapability",1,["mavlink::common::MavProtocolCapability"]],["impl Sync for MavCmd",1,["mavlink::common::MavCmd"]],["impl Sync for MavBatteryType",1,["mavlink::common::MavBatteryType"]],["impl Sync for WinchActions",1,["mavlink::common::WinchActions"]],["impl Sync for MavOdidUaType",1,["mavlink::common::MavOdidUaType"]],["impl Sync for MavOdidStatus",1,["mavlink::common::MavOdidStatus"]],["impl Sync for HlFailureFlag",1,["mavlink::common::HlFailureFlag"]],["impl Sync for UtmDataAvailFlags",1,["mavlink::common::UtmDataAvailFlags"]],["impl Sync for RtkBaselineCoordinateSystem",1,["mavlink::common::RtkBaselineCoordinateSystem"]],["impl Sync for PreflightStorageMissionAction",1,["mavlink::common::PreflightStorageMissionAction"]],["impl Sync for StorageType",1,["mavlink::common::StorageType"]],["impl Sync for MavCollisionAction",1,["mavlink::common::MavCollisionAction"]],["impl Sync for MavFrame",1,["mavlink::common::MavFrame"]],["impl Sync for CameraCapFlags",1,["mavlink::common::CameraCapFlags"]],["impl Sync for CameraTrackingTargetData",1,["mavlink::common::CameraTrackingTargetData"]],["impl Sync for CameraMode",1,["mavlink::common::CameraMode"]],["impl Sync for EscConnectionType",1,["mavlink::common::EscConnectionType"]],["impl Sync for UavcanNodeHealth",1,["mavlink::common::UavcanNodeHealth"]],["impl Sync for MavParamExtType",1,["mavlink::common::MavParamExtType"]],["impl Sync for MavOdidHorAcc",1,["mavlink::common::MavOdidHorAcc"]],["impl Sync for GimbalManagerCapFlags",1,["mavlink::common::GimbalManagerCapFlags"]],["impl Sync for MavMissionResult",1,["mavlink::common::MavMissionResult"]],["impl Sync for CellularStatusFlag",1,["mavlink::common::CellularStatusFlag"]],["impl Sync for MavPowerStatus",1,["mavlink::common::MavPowerStatus"]],["impl Sync for CameraTrackingMode",1,["mavlink::common::CameraTrackingMode"]],["impl Sync for GpsInputIgnoreFlags",1,["mavlink::common::GpsInputIgnoreFlags"]],["impl Sync for VideoStreamType",1,["mavlink::common::VideoStreamType"]],["impl Sync for FenceAction",1,["mavlink::common::FenceAction"]],["impl Sync for PrecisionLandMode",1,["mavlink::common::PrecisionLandMode"]],["impl Sync for MavSensorOrientation",1,["mavlink::common::MavSensorOrientation"]],["impl Sync for MavMissionType",1,["mavlink::common::MavMissionType"]],["impl Sync for MavType",1,["mavlink::common::MavType"]],["impl Sync for MavOdidOperatorLocationType",1,["mavlink::common::MavOdidOperatorLocationType"]],["impl Sync for MavResult",1,["mavlink::common::MavResult"]],["impl Sync for MissionState",1,["mavlink::common::MissionState"]],["impl Sync for StorageStatus",1,["mavlink::common::StorageStatus"]],["impl Sync for MavArmAuthDeniedReason",1,["mavlink::common::MavArmAuthDeniedReason"]],["impl Sync for AutotuneAxis",1,["mavlink::common::AutotuneAxis"]],["impl Sync for HighresImuUpdatedFlags",1,["mavlink::common::HighresImuUpdatedFlags"]],["impl Sync for UtmFlightState",1,["mavlink::common::UtmFlightState"]],["impl Sync for MavDoRepositionFlags",1,["mavlink::common::MavDoRepositionFlags"]],["impl Sync for MavOdidTimeAcc",1,["mavlink::common::MavOdidTimeAcc"]],["impl Sync for MavBatteryMode",1,["mavlink::common::MavBatteryMode"]],["impl Sync for MavSysStatusSensorExtended",1,["mavlink::common::MavSysStatusSensorExtended"]],["impl Sync for MavLandedState",1,["mavlink::common::MavLandedState"]],["impl Sync for MavBatteryFault",1,["mavlink::common::MavBatteryFault"]],["impl Sync for SetFocusType",1,["mavlink::common::SetFocusType"]],["impl Sync for MavOdidHeightRef",1,["mavlink::common::MavOdidHeightRef"]],["impl Sync for HilSensorUpdatedFlags",1,["mavlink::common::HilSensorUpdatedFlags"]],["impl Sync for MotorTestOrder",1,["mavlink::common::MotorTestOrder"]],["impl Sync for EscFailureFlags",1,["mavlink::common::EscFailureFlags"]],["impl Sync for MISSION_CLEAR_ALL_DATA",1,["mavlink::common::MISSION_CLEAR_ALL_DATA"]],["impl Sync for COMMAND_INT_DATA",1,["mavlink::common::COMMAND_INT_DATA"]],["impl Sync for COLLISION_DATA",1,["mavlink::common::COLLISION_DATA"]],["impl Sync for RC_CHANNELS_RAW_DATA",1,["mavlink::common::RC_CHANNELS_RAW_DATA"]],["impl Sync for OPTICAL_FLOW_RAD_DATA",1,["mavlink::common::OPTICAL_FLOW_RAD_DATA"]],["impl Sync for LOGGING_ACK_DATA",1,["mavlink::common::LOGGING_ACK_DATA"]],["impl Sync for WIFI_CONFIG_AP_DATA",1,["mavlink::common::WIFI_CONFIG_AP_DATA"]],["impl Sync for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Sync for MANUAL_CONTROL_DATA",1,["mavlink::common::MANUAL_CONTROL_DATA"]],["impl Sync for SMART_BATTERY_INFO_DATA",1,["mavlink::common::SMART_BATTERY_INFO_DATA"]],["impl Sync for COMMAND_CANCEL_DATA",1,["mavlink::common::COMMAND_CANCEL_DATA"]],["impl Sync for LOG_ENTRY_DATA",1,["mavlink::common::LOG_ENTRY_DATA"]],["impl Sync for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Sync for SCALED_PRESSURE2_DATA",1,["mavlink::common::SCALED_PRESSURE2_DATA"]],["impl Sync for CAMERA_TRIGGER_DATA",1,["mavlink::common::CAMERA_TRIGGER_DATA"]],["impl Sync for SET_HOME_POSITION_DATA",1,["mavlink::common::SET_HOME_POSITION_DATA"]],["impl Sync for RAW_IMU_DATA",1,["mavlink::common::RAW_IMU_DATA"]],["impl Sync for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Sync for COMPONENT_METADATA_DATA",1,["mavlink::common::COMPONENT_METADATA_DATA"]],["impl Sync for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::common::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Sync for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Sync for MISSION_CURRENT_DATA",1,["mavlink::common::MISSION_CURRENT_DATA"]],["impl Sync for LOG_REQUEST_END_DATA",1,["mavlink::common::LOG_REQUEST_END_DATA"]],["impl Sync for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::common::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Sync for BATTERY_STATUS_DATA",1,["mavlink::common::BATTERY_STATUS_DATA"]],["impl Sync for LANDING_TARGET_DATA",1,["mavlink::common::LANDING_TARGET_DATA"]],["impl Sync for MESSAGE_INTERVAL_DATA",1,["mavlink::common::MESSAGE_INTERVAL_DATA"]],["impl Sync for WHEEL_DISTANCE_DATA",1,["mavlink::common::WHEEL_DISTANCE_DATA"]],["impl Sync for MISSION_COUNT_DATA",1,["mavlink::common::MISSION_COUNT_DATA"]],["impl Sync for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::common::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Sync for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Sync for HIL_STATE_DATA",1,["mavlink::common::HIL_STATE_DATA"]],["impl Sync for HIL_SENSOR_DATA",1,["mavlink::common::HIL_SENSOR_DATA"]],["impl Sync for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_READ_DATA"]],["impl Sync for SCALED_PRESSURE_DATA",1,["mavlink::common::SCALED_PRESSURE_DATA"]],["impl Sync for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Sync for ENCAPSULATED_DATA_DATA",1,["mavlink::common::ENCAPSULATED_DATA_DATA"]],["impl Sync for COMPONENT_INFORMATION_DATA",1,["mavlink::common::COMPONENT_INFORMATION_DATA"]],["impl Sync for VIDEO_STREAM_STATUS_DATA",1,["mavlink::common::VIDEO_STREAM_STATUS_DATA"]],["impl Sync for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::common::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Sync for HIL_GPS_DATA",1,["mavlink::common::HIL_GPS_DATA"]],["impl Sync for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_COV_DATA"]],["impl Sync for TERRAIN_REPORT_DATA",1,["mavlink::common::TERRAIN_REPORT_DATA"]],["impl Sync for AIS_VESSEL_DATA",1,["mavlink::common::AIS_VESSEL_DATA"]],["impl Sync for ODOMETRY_DATA",1,["mavlink::common::ODOMETRY_DATA"]],["impl Sync for SUPPORTED_TUNES_DATA",1,["mavlink::common::SUPPORTED_TUNES_DATA"]],["impl Sync for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::common::CONTROL_SYSTEM_STATE_DATA"]],["impl Sync for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Sync for ATT_POS_MOCAP_DATA",1,["mavlink::common::ATT_POS_MOCAP_DATA"]],["impl Sync for LOGGING_DATA_DATA",1,["mavlink::common::LOGGING_DATA_DATA"]],["impl Sync for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::common::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Sync for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Sync for SETUP_SIGNING_DATA",1,["mavlink::common::SETUP_SIGNING_DATA"]],["impl Sync for PARAM_EXT_ACK_DATA",1,["mavlink::common::PARAM_EXT_ACK_DATA"]],["impl Sync for RADIO_STATUS_DATA",1,["mavlink::common::RADIO_STATUS_DATA"]],["impl Sync for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::common::RESPONSE_EVENT_ERROR_DATA"]],["impl Sync for SIM_STATE_DATA",1,["mavlink::common::SIM_STATE_DATA"]],["impl Sync for FENCE_STATUS_DATA",1,["mavlink::common::FENCE_STATUS_DATA"]],["impl Sync for RESOURCE_REQUEST_DATA",1,["mavlink::common::RESOURCE_REQUEST_DATA"]],["impl Sync for TERRAIN_DATA_DATA",1,["mavlink::common::TERRAIN_DATA_DATA"]],["impl Sync for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::common::VICON_POSITION_ESTIMATE_DATA"]],["impl Sync for EXTENDED_SYS_STATE_DATA",1,["mavlink::common::EXTENDED_SYS_STATE_DATA"]],["impl Sync for HEARTBEAT_DATA",1,["mavlink::common::HEARTBEAT_DATA"]],["impl Sync for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::common::VIDEO_STREAM_INFORMATION_DATA"]],["impl Sync for MISSION_REQUEST_INT_DATA",1,["mavlink::common::MISSION_REQUEST_INT_DATA"]],["impl Sync for CAN_FILTER_MODIFY_DATA",1,["mavlink::common::CAN_FILTER_MODIFY_DATA"]],["impl Sync for MISSION_ITEM_INT_DATA",1,["mavlink::common::MISSION_ITEM_INT_DATA"]],["impl Sync for HIGHRES_IMU_DATA",1,["mavlink::common::HIGHRES_IMU_DATA"]],["impl Sync for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Sync for DEBUG_DATA",1,["mavlink::common::DEBUG_DATA"]],["impl Sync for CAMERA_SETTINGS_DATA",1,["mavlink::common::CAMERA_SETTINGS_DATA"]],["impl Sync for MISSION_REQUEST_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_LIST_DATA"]],["impl Sync for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Sync for SCALED_IMU_DATA",1,["mavlink::common::SCALED_IMU_DATA"]],["impl Sync for WIND_COV_DATA",1,["mavlink::common::WIND_COV_DATA"]],["impl Sync for MISSION_REQUEST_DATA",1,["mavlink::common::MISSION_REQUEST_DATA"]],["impl Sync for SERIAL_CONTROL_DATA",1,["mavlink::common::SERIAL_CONTROL_DATA"]],["impl Sync for PARAM_REQUEST_READ_DATA",1,["mavlink::common::PARAM_REQUEST_READ_DATA"]],["impl Sync for GPS2_RTK_DATA",1,["mavlink::common::GPS2_RTK_DATA"]],["impl Sync for COMMAND_ACK_DATA",1,["mavlink::common::COMMAND_ACK_DATA"]],["impl Sync for POWER_STATUS_DATA",1,["mavlink::common::POWER_STATUS_DATA"]],["impl Sync for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::common::GIMBAL_MANAGER_STATUS_DATA"]],["impl Sync for GLOBAL_POSITION_INT_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_DATA"]],["impl Sync for PARAM_SET_DATA",1,["mavlink::common::PARAM_SET_DATA"]],["impl Sync for OPTICAL_FLOW_DATA",1,["mavlink::common::OPTICAL_FLOW_DATA"]],["impl Sync for RC_CHANNELS_SCALED_DATA",1,["mavlink::common::RC_CHANNELS_SCALED_DATA"]],["impl Sync for GPS_INJECT_DATA_DATA",1,["mavlink::common::GPS_INJECT_DATA_DATA"]],["impl Sync for PARAM_VALUE_DATA",1,["mavlink::common::PARAM_VALUE_DATA"]],["impl Sync for RC_CHANNELS_DATA",1,["mavlink::common::RC_CHANNELS_DATA"]],["impl Sync for ESTIMATOR_STATUS_DATA",1,["mavlink::common::ESTIMATOR_STATUS_DATA"]],["impl Sync for TIMESYNC_DATA",1,["mavlink::common::TIMESYNC_DATA"]],["impl Sync for SCALED_PRESSURE3_DATA",1,["mavlink::common::SCALED_PRESSURE3_DATA"]],["impl Sync for DATA_STREAM_DATA",1,["mavlink::common::DATA_STREAM_DATA"]],["impl Sync for HOME_POSITION_DATA",1,["mavlink::common::HOME_POSITION_DATA"]],["impl Sync for MEMORY_VECT_DATA",1,["mavlink::common::MEMORY_VECT_DATA"]],["impl Sync for NAMED_VALUE_FLOAT_DATA",1,["mavlink::common::NAMED_VALUE_FLOAT_DATA"]],["impl Sync for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::common::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Sync for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Sync for STATUSTEXT_DATA",1,["mavlink::common::STATUSTEXT_DATA"]],["impl Sync for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Sync for UAVCAN_NODE_STATUS_DATA",1,["mavlink::common::UAVCAN_NODE_STATUS_DATA"]],["impl Sync for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::GPS_GLOBAL_ORIGIN_DATA"]],["impl Sync for EFI_STATUS_DATA",1,["mavlink::common::EFI_STATUS_DATA"]],["impl Sync for ATTITUDE_QUATERNION_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_DATA"]],["impl Sync for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::common::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Sync for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Sync for CELLULAR_STATUS_DATA",1,["mavlink::common::CELLULAR_STATUS_DATA"]],["impl Sync for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::common::ORBIT_EXECUTION_STATUS_DATA"]],["impl Sync for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::common::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Sync for RAW_PRESSURE_DATA",1,["mavlink::common::RAW_PRESSURE_DATA"]],["impl Sync for WINCH_STATUS_DATA",1,["mavlink::common::WINCH_STATUS_DATA"]],["impl Sync for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Sync for ATTITUDE_TARGET_DATA",1,["mavlink::common::ATTITUDE_TARGET_DATA"]],["impl Sync for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::common::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Sync for ISBD_LINK_STATUS_DATA",1,["mavlink::common::ISBD_LINK_STATUS_DATA"]],["impl Sync for TUNNEL_DATA",1,["mavlink::common::TUNNEL_DATA"]],["impl Sync for OBSTACLE_DISTANCE_DATA",1,["mavlink::common::OBSTACLE_DISTANCE_DATA"]],["impl Sync for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_ALLOWED_AREA_DATA"]],["impl Sync for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::common::DEBUG_FLOAT_ARRAY_DATA"]],["impl Sync for SERVO_OUTPUT_RAW_DATA",1,["mavlink::common::SERVO_OUTPUT_RAW_DATA"]],["impl Sync for DISTANCE_SENSOR_DATA",1,["mavlink::common::DISTANCE_SENSOR_DATA"]],["impl Sync for PARAM_MAP_RC_DATA",1,["mavlink::common::PARAM_MAP_RC_DATA"]],["impl Sync for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Sync for GENERATOR_STATUS_DATA",1,["mavlink::common::GENERATOR_STATUS_DATA"]],["impl Sync for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Sync for CAN_FRAME_DATA",1,["mavlink::common::CAN_FRAME_DATA"]],["impl Sync for SCALED_IMU2_DATA",1,["mavlink::common::SCALED_IMU2_DATA"]],["impl Sync for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Sync for COMMAND_LONG_DATA",1,["mavlink::common::COMMAND_LONG_DATA"]],["impl Sync for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::common::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Sync for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Sync for HIL_CONTROLS_DATA",1,["mavlink::common::HIL_CONTROLS_DATA"]],["impl Sync for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Sync for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_COV_DATA"]],["impl Sync for REQUEST_DATA_STREAM_DATA",1,["mavlink::common::REQUEST_DATA_STREAM_DATA"]],["impl Sync for LOG_ERASE_DATA",1,["mavlink::common::LOG_ERASE_DATA"]],["impl Sync for GPS_RTCM_DATA_DATA",1,["mavlink::common::GPS_RTCM_DATA_DATA"]],["impl Sync for MOUNT_ORIENTATION_DATA",1,["mavlink::common::MOUNT_ORIENTATION_DATA"]],["impl Sync for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Sync for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::common::HIL_RC_INPUTS_RAW_DATA"]],["impl Sync for MISSION_ITEM_REACHED_DATA",1,["mavlink::common::MISSION_ITEM_REACHED_DATA"]],["impl Sync for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::common::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Sync for SET_MODE_DATA",1,["mavlink::common::SET_MODE_DATA"]],["impl Sync for LOG_REQUEST_LIST_DATA",1,["mavlink::common::LOG_REQUEST_LIST_DATA"]],["impl Sync for HIGH_LATENCY2_DATA",1,["mavlink::common::HIGH_LATENCY2_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Sync for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Sync for SYSTEM_TIME_DATA",1,["mavlink::common::SYSTEM_TIME_DATA"]],["impl Sync for MISSION_ITEM_DATA",1,["mavlink::common::MISSION_ITEM_DATA"]],["impl Sync for STORAGE_INFORMATION_DATA",1,["mavlink::common::STORAGE_INFORMATION_DATA"]],["impl Sync for GPS_RAW_INT_DATA",1,["mavlink::common::GPS_RAW_INT_DATA"]],["impl Sync for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::common::LOCAL_POSITION_NED_COV_DATA"]],["impl Sync for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::common::RC_CHANNELS_OVERRIDE_DATA"]],["impl Sync for PROTOCOL_VERSION_DATA",1,["mavlink::common::PROTOCOL_VERSION_DATA"]],["impl Sync for PARAM_EXT_VALUE_DATA",1,["mavlink::common::PARAM_EXT_VALUE_DATA"]],["impl Sync for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::common::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Sync for PARAM_EXT_SET_DATA",1,["mavlink::common::PARAM_EXT_SET_DATA"]],["impl Sync for ESC_INFO_DATA",1,["mavlink::common::ESC_INFO_DATA"]],["impl Sync for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Sync for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::common::VISION_SPEED_ESTIMATE_DATA"]],["impl Sync for LOGGING_DATA_ACKED_DATA",1,["mavlink::common::LOGGING_DATA_ACKED_DATA"]],["impl Sync for ESC_STATUS_DATA",1,["mavlink::common::ESC_STATUS_DATA"]],["impl Sync for PARAM_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_REQUEST_LIST_DATA"]],["impl Sync for CAMERA_INFORMATION_DATA",1,["mavlink::common::CAMERA_INFORMATION_DATA"]],["impl Sync for ATTITUDE_DATA",1,["mavlink::common::ATTITUDE_DATA"]],["impl Sync for CELLULAR_CONFIG_DATA",1,["mavlink::common::CELLULAR_CONFIG_DATA"]],["impl Sync for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Sync for ALTITUDE_DATA",1,["mavlink::common::ALTITUDE_DATA"]],["impl Sync for GPS2_RAW_DATA",1,["mavlink::common::GPS2_RAW_DATA"]],["impl Sync for FOLLOW_TARGET_DATA",1,["mavlink::common::FOLLOW_TARGET_DATA"]],["impl Sync for LINK_NODE_STATUS_DATA",1,["mavlink::common::LINK_NODE_STATUS_DATA"]],["impl Sync for GPS_INPUT_DATA",1,["mavlink::common::GPS_INPUT_DATA"]],["impl Sync for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::common::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Sync for GPS_RTK_DATA",1,["mavlink::common::GPS_RTK_DATA"]],["impl Sync for TERRAIN_CHECK_DATA",1,["mavlink::common::TERRAIN_CHECK_DATA"]],["impl Sync for MANUAL_SETPOINT_DATA",1,["mavlink::common::MANUAL_SETPOINT_DATA"]],["impl Sync for SCALED_IMU3_DATA",1,["mavlink::common::SCALED_IMU3_DATA"]],["impl Sync for MAG_CAL_REPORT_DATA",1,["mavlink::common::MAG_CAL_REPORT_DATA"]],["impl Sync for ADSB_VEHICLE_DATA",1,["mavlink::common::ADSB_VEHICLE_DATA"]],["impl Sync for DEBUG_VECT_DATA",1,["mavlink::common::DEBUG_VECT_DATA"]],["impl Sync for VIBRATION_DATA",1,["mavlink::common::VIBRATION_DATA"]],["impl Sync for PLAY_TUNE_DATA",1,["mavlink::common::PLAY_TUNE_DATA"]],["impl Sync for CAMERA_FOV_STATUS_DATA",1,["mavlink::common::CAMERA_FOV_STATUS_DATA"]],["impl Sync for HIL_STATE_QUATERNION_DATA",1,["mavlink::common::HIL_STATE_QUATERNION_DATA"]],["impl Sync for RAW_RPM_DATA",1,["mavlink::common::RAW_RPM_DATA"]],["impl Sync for SYS_STATUS_DATA",1,["mavlink::common::SYS_STATUS_DATA"]],["impl Sync for MISSION_ACK_DATA",1,["mavlink::common::MISSION_ACK_DATA"]],["impl Sync for LOG_REQUEST_DATA_DATA",1,["mavlink::common::LOG_REQUEST_DATA_DATA"]],["impl Sync for UTM_GLOBAL_POSITION_DATA",1,["mavlink::common::UTM_GLOBAL_POSITION_DATA"]],["impl Sync for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Sync for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::common::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Sync for HIL_OPTICAL_FLOW_DATA",1,["mavlink::common::HIL_OPTICAL_FLOW_DATA"]],["impl Sync for LOG_DATA_DATA",1,["mavlink::common::LOG_DATA_DATA"]],["impl Sync for BUTTON_CHANGE_DATA",1,["mavlink::common::BUTTON_CHANGE_DATA"]],["impl Sync for V2_EXTENSION_DATA",1,["mavlink::common::V2_EXTENSION_DATA"]],["impl Sync for FLIGHT_INFORMATION_DATA",1,["mavlink::common::FLIGHT_INFORMATION_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Sync for EVENT_DATA",1,["mavlink::common::EVENT_DATA"]],["impl Sync for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Sync for AUTH_KEY_DATA",1,["mavlink::common::AUTH_KEY_DATA"]],["impl Sync for HYGROMETER_SENSOR_DATA",1,["mavlink::common::HYGROMETER_SENSOR_DATA"]],["impl Sync for GPS_STATUS_DATA",1,["mavlink::common::GPS_STATUS_DATA"]],["impl Sync for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::common::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Sync for NAMED_VALUE_INT_DATA",1,["mavlink::common::NAMED_VALUE_INT_DATA"]],["impl Sync for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::common::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Sync for PLAY_TUNE_V2_DATA",1,["mavlink::common::PLAY_TUNE_V2_DATA"]],["impl Sync for SET_ATTITUDE_TARGET_DATA",1,["mavlink::common::SET_ATTITUDE_TARGET_DATA"]],["impl Sync for CANFD_FRAME_DATA",1,["mavlink::common::CANFD_FRAME_DATA"]],["impl Sync for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::common::CAMERA_CAPTURE_STATUS_DATA"]],["impl Sync for REQUEST_EVENT_DATA",1,["mavlink::common::REQUEST_EVENT_DATA"]],["impl Sync for VFR_HUD_DATA",1,["mavlink::common::VFR_HUD_DATA"]],["impl Sync for LOCAL_POSITION_NED_DATA",1,["mavlink::common::LOCAL_POSITION_NED_DATA"]],["impl Sync for AUTOPILOT_VERSION_DATA",1,["mavlink::common::AUTOPILOT_VERSION_DATA"]],["impl Sync for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::VISION_POSITION_ESTIMATE_DATA"]],["impl Sync for UAVCAN_NODE_INFO_DATA",1,["mavlink::common::UAVCAN_NODE_INFO_DATA"]],["impl Sync for TERRAIN_REQUEST_DATA",1,["mavlink::common::TERRAIN_REQUEST_DATA"]],["impl Sync for PING_DATA",1,["mavlink::common::PING_DATA"]],["impl Sync for MISSION_SET_CURRENT_DATA",1,["mavlink::common::MISSION_SET_CURRENT_DATA"]],["impl Sync for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Sync for HIGH_LATENCY_DATA",1,["mavlink::common::HIGH_LATENCY_DATA"]],["impl Sync for MavMessage",1,["mavlink::common::MavMessage"]],["impl<'a> Sync for Bytes<'a>",1,["mavlink::bytes::Bytes"]],["impl<'a> Sync for BytesMut<'a>",1,["mavlink::bytes_mut::BytesMut"]],["impl Sync for ParserError",1,["mavlink::error::ParserError"]],["impl Sync for MessageReadError",1,["mavlink::error::MessageReadError"]],["impl Sync for MessageWriteError",1,["mavlink::error::MessageWriteError"]],["impl Sync for MavHeader",1,["mavlink::MavHeader"]],["impl Sync for MavlinkVersion",1,["mavlink::MavlinkVersion"]],["impl<M> Sync for MavFrame<M>where\n M: Sync,",1,["mavlink::MavFrame"]],["impl Sync for MAVLinkV1MessageRaw",1,["mavlink::MAVLinkV1MessageRaw"]],["impl Sync for MAVLinkV2MessageRaw",1,["mavlink::MAVLinkV2MessageRaw"]]], +"mavlink":[["impl Sync for IcarousTrackBandTypes",1,["mavlink::icarous::IcarousTrackBandTypes"]],["impl Sync for IcarousFmsState",1,["mavlink::icarous::IcarousFmsState"]],["impl Sync for ICAROUS_HEARTBEAT_DATA",1,["mavlink::icarous::ICAROUS_HEARTBEAT_DATA"]],["impl Sync for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::icarous::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Sync for MavMessage",1,["mavlink::icarous::MavMessage"]],["impl Sync for GoproCharging",1,["mavlink::ardupilotmega::GoproCharging"]],["impl Sync for GimbalAxisCalibrationStatus",1,["mavlink::ardupilotmega::GimbalAxisCalibrationStatus"]],["impl Sync for EkfStatusFlags",1,["mavlink::ardupilotmega::EkfStatusFlags"]],["impl Sync for GoproHeartbeatStatus",1,["mavlink::ardupilotmega::GoproHeartbeatStatus"]],["impl Sync for PlaneMode",1,["mavlink::ardupilotmega::PlaneMode"]],["impl Sync for CopterMode",1,["mavlink::ardupilotmega::CopterMode"]],["impl Sync for SerialControlDev",1,["mavlink::ardupilotmega::SerialControlDev"]],["impl Sync for FenceAction",1,["mavlink::ardupilotmega::FenceAction"]],["impl Sync for PrecisionLandMode",1,["mavlink::ardupilotmega::PrecisionLandMode"]],["impl Sync for SerialControlFlag",1,["mavlink::ardupilotmega::SerialControlFlag"]],["impl Sync for CameraStatusTypes",1,["mavlink::ardupilotmega::CameraStatusTypes"]],["impl Sync for MavModeFlagDecodePosition",1,["mavlink::ardupilotmega::MavModeFlagDecodePosition"]],["impl Sync for GoproBurstRate",1,["mavlink::ardupilotmega::GoproBurstRate"]],["impl Sync for MavLandedState",1,["mavlink::ardupilotmega::MavLandedState"]],["impl Sync for CanFilterOp",1,["mavlink::ardupilotmega::CanFilterOp"]],["impl Sync for MavOdidDescType",1,["mavlink::ardupilotmega::MavOdidDescType"]],["impl Sync for ActuatorConfiguration",1,["mavlink::ardupilotmega::ActuatorConfiguration"]],["impl Sync for FirmwareVersionType",1,["mavlink::ardupilotmega::FirmwareVersionType"]],["impl Sync for RallyFlags",1,["mavlink::ardupilotmega::RallyFlags"]],["impl Sync for GoproFrameRate",1,["mavlink::ardupilotmega::GoproFrameRate"]],["impl Sync for EstimatorStatusFlags",1,["mavlink::ardupilotmega::EstimatorStatusFlags"]],["impl Sync for EscConnectionType",1,["mavlink::ardupilotmega::EscConnectionType"]],["impl Sync for MavMode",1,["mavlink::ardupilotmega::MavMode"]],["impl Sync for MavOdidSpeedAcc",1,["mavlink::ardupilotmega::MavOdidSpeedAcc"]],["impl Sync for HighresImuUpdatedFlags",1,["mavlink::ardupilotmega::HighresImuUpdatedFlags"]],["impl Sync for FenceBreach",1,["mavlink::ardupilotmega::FenceBreach"]],["impl Sync for MissionState",1,["mavlink::ardupilotmega::MissionState"]],["impl Sync for MotorTestOrder",1,["mavlink::ardupilotmega::MotorTestOrder"]],["impl Sync for MavEventErrorReason",1,["mavlink::ardupilotmega::MavEventErrorReason"]],["impl Sync for TuneFormat",1,["mavlink::ardupilotmega::TuneFormat"]],["impl Sync for RcType",1,["mavlink::ardupilotmega::RcType"]],["impl Sync for MavFtpOpcode",1,["mavlink::ardupilotmega::MavFtpOpcode"]],["impl Sync for GimbalDeviceFlags",1,["mavlink::ardupilotmega::GimbalDeviceFlags"]],["impl Sync for MavEstimatorType",1,["mavlink::ardupilotmega::MavEstimatorType"]],["impl Sync for UavcanNodeHealth",1,["mavlink::ardupilotmega::UavcanNodeHealth"]],["impl Sync for UavionixAdsbOutRfSelect",1,["mavlink::ardupilotmega::UavionixAdsbOutRfSelect"]],["impl Sync for MavGoto",1,["mavlink::ardupilotmega::MavGoto"]],["impl Sync for MavGeneratorStatusFlag",1,["mavlink::ardupilotmega::MavGeneratorStatusFlag"]],["impl Sync for SpeedType",1,["mavlink::ardupilotmega::SpeedType"]],["impl Sync for GoproPhotoResolution",1,["mavlink::ardupilotmega::GoproPhotoResolution"]],["impl Sync for MavBatteryFault",1,["mavlink::ardupilotmega::MavBatteryFault"]],["impl Sync for MavCmdDoAuxFunctionSwitchLevel",1,["mavlink::ardupilotmega::MavCmdDoAuxFunctionSwitchLevel"]],["impl Sync for MavSysStatusSensor",1,["mavlink::ardupilotmega::MavSysStatusSensor"]],["impl Sync for WinchActions",1,["mavlink::ardupilotmega::WinchActions"]],["impl Sync for MavFrame",1,["mavlink::ardupilotmega::MavFrame"]],["impl Sync for CellularStatusFlag",1,["mavlink::ardupilotmega::CellularStatusFlag"]],["impl Sync for CameraTrackingStatusFlags",1,["mavlink::ardupilotmega::CameraTrackingStatusFlags"]],["impl Sync for MavOdidStatus",1,["mavlink::ardupilotmega::MavOdidStatus"]],["impl Sync for AisNavStatus",1,["mavlink::ardupilotmega::AisNavStatus"]],["impl Sync for MavWinchStatusFlag",1,["mavlink::ardupilotmega::MavWinchStatusFlag"]],["impl Sync for MavOdidClassEu",1,["mavlink::ardupilotmega::MavOdidClassEu"]],["impl Sync for MavModeGimbal",1,["mavlink::ardupilotmega::MavModeGimbal"]],["impl Sync for CellularNetworkFailedReason",1,["mavlink::ardupilotmega::CellularNetworkFailedReason"]],["impl Sync for GoproProtuneSharpness",1,["mavlink::ardupilotmega::GoproProtuneSharpness"]],["impl Sync for GoproCommand",1,["mavlink::ardupilotmega::GoproCommand"]],["impl Sync for GoproProtuneColour",1,["mavlink::ardupilotmega::GoproProtuneColour"]],["impl Sync for GoproProtuneExposure",1,["mavlink::ardupilotmega::GoproProtuneExposure"]],["impl Sync for PidTuningAxis",1,["mavlink::ardupilotmega::PidTuningAxis"]],["impl Sync for PreflightStorageParameterAction",1,["mavlink::ardupilotmega::PreflightStorageParameterAction"]],["impl Sync for AttitudeTargetTypemask",1,["mavlink::ardupilotmega::AttitudeTargetTypemask"]],["impl Sync for UavionixAdsbEmergencyStatus",1,["mavlink::ardupilotmega::UavionixAdsbEmergencyStatus"]],["impl Sync for LandingTargetType",1,["mavlink::ardupilotmega::LandingTargetType"]],["impl Sync for MavCmd",1,["mavlink::ardupilotmega::MavCmd"]],["impl Sync for GimbalManagerCapFlags",1,["mavlink::ardupilotmega::GimbalManagerCapFlags"]],["impl Sync for MavOdidOperatorIdType",1,["mavlink::ardupilotmega::MavOdidOperatorIdType"]],["impl Sync for HeadingType",1,["mavlink::ardupilotmega::HeadingType"]],["impl Sync for CameraFeedbackFlags",1,["mavlink::ardupilotmega::CameraFeedbackFlags"]],["impl Sync for MavDistanceSensor",1,["mavlink::ardupilotmega::MavDistanceSensor"]],["impl Sync for UavionixAdsbOutCfgAircraftSize",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgAircraftSize"]],["impl Sync for UavionixAdsbRfHealth",1,["mavlink::ardupilotmega::UavionixAdsbRfHealth"]],["impl Sync for CellularNetworkRadioType",1,["mavlink::ardupilotmega::CellularNetworkRadioType"]],["impl Sync for MavEventCurrentSequenceFlags",1,["mavlink::ardupilotmega::MavEventCurrentSequenceFlags"]],["impl Sync for MavSysStatusSensorExtended",1,["mavlink::ardupilotmega::MavSysStatusSensorExtended"]],["impl Sync for MavOdidHorAcc",1,["mavlink::ardupilotmega::MavOdidHorAcc"]],["impl Sync for MagCalStatus",1,["mavlink::ardupilotmega::MagCalStatus"]],["impl Sync for CameraZoomType",1,["mavlink::ardupilotmega::CameraZoomType"]],["impl Sync for AdsbEmitterType",1,["mavlink::ardupilotmega::AdsbEmitterType"]],["impl Sync for HlFailureFlag",1,["mavlink::ardupilotmega::HlFailureFlag"]],["impl Sync for MavOdidCategoryEu",1,["mavlink::ardupilotmega::MavOdidCategoryEu"]],["impl Sync for GimbalAxis",1,["mavlink::ardupilotmega::GimbalAxis"]],["impl Sync for SubMode",1,["mavlink::ardupilotmega::SubMode"]],["impl Sync for MavModeFlag",1,["mavlink::ardupilotmega::MavModeFlag"]],["impl Sync for RoverMode",1,["mavlink::ardupilotmega::RoverMode"]],["impl Sync for TrackerMode",1,["mavlink::ardupilotmega::TrackerMode"]],["impl Sync for PreflightStorageMissionAction",1,["mavlink::ardupilotmega::PreflightStorageMissionAction"]],["impl Sync for MavSensorOrientation",1,["mavlink::ardupilotmega::MavSensorOrientation"]],["impl Sync for GoproProtuneWhiteBalance",1,["mavlink::ardupilotmega::GoproProtuneWhiteBalance"]],["impl Sync for MotorTestThrottleType",1,["mavlink::ardupilotmega::MotorTestThrottleType"]],["impl Sync for SetFocusType",1,["mavlink::ardupilotmega::SetFocusType"]],["impl Sync for AdsbAltitudeType",1,["mavlink::ardupilotmega::AdsbAltitudeType"]],["impl Sync for FailureUnit",1,["mavlink::ardupilotmega::FailureUnit"]],["impl Sync for GoproModel",1,["mavlink::ardupilotmega::GoproModel"]],["impl Sync for MavFtpErr",1,["mavlink::ardupilotmega::MavFtpErr"]],["impl Sync for MavlinkDataStreamType",1,["mavlink::ardupilotmega::MavlinkDataStreamType"]],["impl Sync for GpsFixType",1,["mavlink::ardupilotmega::GpsFixType"]],["impl Sync for DeepstallStage",1,["mavlink::ardupilotmega::DeepstallStage"]],["impl Sync for MavOdidVerAcc",1,["mavlink::ardupilotmega::MavOdidVerAcc"]],["impl Sync for VideoStreamStatusFlags",1,["mavlink::ardupilotmega::VideoStreamStatusFlags"]],["impl Sync for LedControlPattern",1,["mavlink::ardupilotmega::LedControlPattern"]],["impl Sync for StorageUsageFlag",1,["mavlink::ardupilotmega::StorageUsageFlag"]],["impl Sync for GpsInputIgnoreFlags",1,["mavlink::ardupilotmega::GpsInputIgnoreFlags"]],["impl Sync for MavParamType",1,["mavlink::ardupilotmega::MavParamType"]],["impl Sync for CameraMode",1,["mavlink::ardupilotmega::CameraMode"]],["impl Sync for DeviceOpBustype",1,["mavlink::ardupilotmega::DeviceOpBustype"]],["impl Sync for CameraTrackingTargetData",1,["mavlink::ardupilotmega::CameraTrackingTargetData"]],["impl Sync for MavBatteryMode",1,["mavlink::ardupilotmega::MavBatteryMode"]],["impl Sync for GoproProtuneGain",1,["mavlink::ardupilotmega::GoproProtuneGain"]],["impl Sync for AdsbFlags",1,["mavlink::ardupilotmega::AdsbFlags"]],["impl Sync for MavType",1,["mavlink::ardupilotmega::MavType"]],["impl Sync for LimitModule",1,["mavlink::ardupilotmega::LimitModule"]],["impl Sync for GoproRequestStatus",1,["mavlink::ardupilotmega::GoproRequestStatus"]],["impl Sync for MavRemoteLogDataBlockStatuses",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockStatuses"]],["impl Sync for MavParamExtType",1,["mavlink::ardupilotmega::MavParamExtType"]],["impl Sync for GimbalDeviceCapFlags",1,["mavlink::ardupilotmega::GimbalDeviceCapFlags"]],["impl Sync for StorageType",1,["mavlink::ardupilotmega::StorageType"]],["impl Sync for MavBatteryFunction",1,["mavlink::ardupilotmega::MavBatteryFunction"]],["impl Sync for RtkBaselineCoordinateSystem",1,["mavlink::ardupilotmega::RtkBaselineCoordinateSystem"]],["impl Sync for UtmFlightState",1,["mavlink::ardupilotmega::UtmFlightState"]],["impl Sync for GimbalManagerFlags",1,["mavlink::ardupilotmega::GimbalManagerFlags"]],["impl Sync for MavResult",1,["mavlink::ardupilotmega::MavResult"]],["impl Sync for GripperActions",1,["mavlink::ardupilotmega::GripperActions"]],["impl Sync for EscFailureFlags",1,["mavlink::ardupilotmega::EscFailureFlags"]],["impl Sync for CellularConfigResponse",1,["mavlink::ardupilotmega::CellularConfigResponse"]],["impl Sync for IcarousTrackBandTypes",1,["mavlink::ardupilotmega::IcarousTrackBandTypes"]],["impl Sync for OrbitYawBehaviour",1,["mavlink::ardupilotmega::OrbitYawBehaviour"]],["impl Sync for AccelcalVehiclePos",1,["mavlink::ardupilotmega::AccelcalVehiclePos"]],["impl Sync for IcarousFmsState",1,["mavlink::ardupilotmega::IcarousFmsState"]],["impl Sync for GoproVideoSettingsFlags",1,["mavlink::ardupilotmega::GoproVideoSettingsFlags"]],["impl Sync for ScriptingCmd",1,["mavlink::ardupilotmega::ScriptingCmd"]],["impl Sync for MavCollisionAction",1,["mavlink::ardupilotmega::MavCollisionAction"]],["impl Sync for MavDoRepositionFlags",1,["mavlink::ardupilotmega::MavDoRepositionFlags"]],["impl Sync for ParachuteAction",1,["mavlink::ardupilotmega::ParachuteAction"]],["impl Sync for MavOdidIdType",1,["mavlink::ardupilotmega::MavOdidIdType"]],["impl Sync for MavOdidOperatorLocationType",1,["mavlink::ardupilotmega::MavOdidOperatorLocationType"]],["impl Sync for GoproResolution",1,["mavlink::ardupilotmega::GoproResolution"]],["impl Sync for VtolTransitionHeading",1,["mavlink::ardupilotmega::VtolTransitionHeading"]],["impl Sync for MavRoi",1,["mavlink::ardupilotmega::MavRoi"]],["impl Sync for OsdParamConfigError",1,["mavlink::ardupilotmega::OsdParamConfigError"]],["impl Sync for CameraCapFlags",1,["mavlink::ardupilotmega::CameraCapFlags"]],["impl Sync for GimbalDeviceErrorFlags",1,["mavlink::ardupilotmega::GimbalDeviceErrorFlags"]],["impl Sync for MavState",1,["mavlink::ardupilotmega::MavState"]],["impl Sync for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Sync for PositionTargetTypemask",1,["mavlink::ardupilotmega::PositionTargetTypemask"]],["impl Sync for MavDataStream",1,["mavlink::ardupilotmega::MavDataStream"]],["impl Sync for UavionixAdsbOutDynamicGpsFix",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicGpsFix"]],["impl Sync for ActuatorOutputFunction",1,["mavlink::ardupilotmega::ActuatorOutputFunction"]],["impl Sync for MavSeverity",1,["mavlink::ardupilotmega::MavSeverity"]],["impl Sync for MavOdidUaType",1,["mavlink::ardupilotmega::MavOdidUaType"]],["impl Sync for GimbalAxisCalibrationRequired",1,["mavlink::ardupilotmega::GimbalAxisCalibrationRequired"]],["impl Sync for ParamAck",1,["mavlink::ardupilotmega::ParamAck"]],["impl Sync for VideoStreamType",1,["mavlink::ardupilotmega::VideoStreamType"]],["impl Sync for MavOdidClassificationType",1,["mavlink::ardupilotmega::MavOdidClassificationType"]],["impl Sync for StorageStatus",1,["mavlink::ardupilotmega::StorageStatus"]],["impl Sync for MavArmAuthDeniedReason",1,["mavlink::ardupilotmega::MavArmAuthDeniedReason"]],["impl Sync for MavTunnelPayloadType",1,["mavlink::ardupilotmega::MavTunnelPayloadType"]],["impl Sync for MavMissionType",1,["mavlink::ardupilotmega::MavMissionType"]],["impl Sync for AisType",1,["mavlink::ardupilotmega::AisType"]],["impl Sync for MavVtolState",1,["mavlink::ardupilotmega::MavVtolState"]],["impl Sync for HilSensorUpdatedFlags",1,["mavlink::ardupilotmega::HilSensorUpdatedFlags"]],["impl Sync for MavComponent",1,["mavlink::ardupilotmega::MavComponent"]],["impl Sync for MavProtocolCapability",1,["mavlink::ardupilotmega::MavProtocolCapability"]],["impl Sync for MavOdidHeightRef",1,["mavlink::ardupilotmega::MavOdidHeightRef"]],["impl Sync for FenceMitigate",1,["mavlink::ardupilotmega::FenceMitigate"]],["impl Sync for MavOdidAuthType",1,["mavlink::ardupilotmega::MavOdidAuthType"]],["impl Sync for MavMissionResult",1,["mavlink::ardupilotmega::MavMissionResult"]],["impl Sync for FailureType",1,["mavlink::ardupilotmega::FailureType"]],["impl Sync for AisFlags",1,["mavlink::ardupilotmega::AisFlags"]],["impl Sync for MavOdidArmStatus",1,["mavlink::ardupilotmega::MavOdidArmStatus"]],["impl Sync for OsdParamConfigType",1,["mavlink::ardupilotmega::OsdParamConfigType"]],["impl Sync for WifiConfigApMode",1,["mavlink::ardupilotmega::WifiConfigApMode"]],["impl Sync for NavVtolLandOptions",1,["mavlink::ardupilotmega::NavVtolLandOptions"]],["impl Sync for GoproHeartbeatFlags",1,["mavlink::ardupilotmega::GoproHeartbeatFlags"]],["impl Sync for GoproCaptureMode",1,["mavlink::ardupilotmega::GoproCaptureMode"]],["impl Sync for MavRemoteLogDataBlockCommands",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockCommands"]],["impl Sync for MavCollisionThreatLevel",1,["mavlink::ardupilotmega::MavCollisionThreatLevel"]],["impl Sync for UtmDataAvailFlags",1,["mavlink::ardupilotmega::UtmDataAvailFlags"]],["impl Sync for GoproFieldOfView",1,["mavlink::ardupilotmega::GoproFieldOfView"]],["impl Sync for MavPowerStatus",1,["mavlink::ardupilotmega::MavPowerStatus"]],["impl Sync for MavBatteryType",1,["mavlink::ardupilotmega::MavBatteryType"]],["impl Sync for UavcanNodeMode",1,["mavlink::ardupilotmega::UavcanNodeMode"]],["impl Sync for MavAutopilot",1,["mavlink::ardupilotmega::MavAutopilot"]],["impl Sync for MavOdidTimeAcc",1,["mavlink::ardupilotmega::MavOdidTimeAcc"]],["impl Sync for MavCollisionSrc",1,["mavlink::ardupilotmega::MavCollisionSrc"]],["impl Sync for CompMetadataType",1,["mavlink::ardupilotmega::CompMetadataType"]],["impl Sync for UavionixAdsbOutDynamicState",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicState"]],["impl Sync for CameraTrackingMode",1,["mavlink::ardupilotmega::CameraTrackingMode"]],["impl Sync for MavCmdAck",1,["mavlink::ardupilotmega::MavCmdAck"]],["impl Sync for WifiConfigApResponse",1,["mavlink::ardupilotmega::WifiConfigApResponse"]],["impl Sync for MavBatteryChargeState",1,["mavlink::ardupilotmega::MavBatteryChargeState"]],["impl Sync for AutotuneAxis",1,["mavlink::ardupilotmega::AutotuneAxis"]],["impl Sync for MavMountMode",1,["mavlink::ardupilotmega::MavMountMode"]],["impl Sync for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Sync for LimitsState",1,["mavlink::ardupilotmega::LimitsState"]],["impl Sync for LOG_REQUEST_DATA_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_DATA_DATA"]],["impl Sync for AUTH_KEY_DATA",1,["mavlink::ardupilotmega::AUTH_KEY_DATA"]],["impl Sync for MISSION_REQUEST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_DATA"]],["impl Sync for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Sync for CELLULAR_CONFIG_DATA",1,["mavlink::ardupilotmega::CELLULAR_CONFIG_DATA"]],["impl Sync for SCALED_PRESSURE3_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE3_DATA"]],["impl Sync for CUBEPILOT_RAW_RC_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_RAW_RC_DATA"]],["impl Sync for LED_CONTROL_DATA",1,["mavlink::ardupilotmega::LED_CONTROL_DATA"]],["impl Sync for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::GPS_GLOBAL_ORIGIN_DATA"]],["impl Sync for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_STATUS_DATA"]],["impl Sync for AIS_VESSEL_DATA",1,["mavlink::ardupilotmega::AIS_VESSEL_DATA"]],["impl Sync for SCALED_IMU_DATA",1,["mavlink::ardupilotmega::SCALED_IMU_DATA"]],["impl Sync for CAMERA_INFORMATION_DATA",1,["mavlink::ardupilotmega::CAMERA_INFORMATION_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Sync for SUPPORTED_TUNES_DATA",1,["mavlink::ardupilotmega::SUPPORTED_TUNES_DATA"]],["impl Sync for RANGEFINDER_DATA",1,["mavlink::ardupilotmega::RANGEFINDER_DATA"]],["impl Sync for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Sync for GENERATOR_STATUS_DATA",1,["mavlink::ardupilotmega::GENERATOR_STATUS_DATA"]],["impl Sync for COLLISION_DATA",1,["mavlink::ardupilotmega::COLLISION_DATA"]],["impl Sync for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Sync for MISSION_REQUEST_INT_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_INT_DATA"]],["impl Sync for TERRAIN_DATA_DATA",1,["mavlink::ardupilotmega::TERRAIN_DATA_DATA"]],["impl Sync for REMOTE_LOG_DATA_BLOCK_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_DATA_BLOCK_DATA"]],["impl Sync for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::ardupilotmega::DEBUG_FLOAT_ARRAY_DATA"]],["impl Sync for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Sync for OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_DATA"]],["impl Sync for VIDEO_STREAM_STATUS_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_STATUS_DATA"]],["impl Sync for SCALED_PRESSURE_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE_DATA"]],["impl Sync for HIGHRES_IMU_DATA",1,["mavlink::ardupilotmega::HIGHRES_IMU_DATA"]],["impl Sync for GPS_RTCM_DATA_DATA",1,["mavlink::ardupilotmega::GPS_RTCM_DATA_DATA"]],["impl Sync for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Sync for WIND_DATA",1,["mavlink::ardupilotmega::WIND_DATA"]],["impl Sync for RALLY_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_FETCH_POINT_DATA"]],["impl Sync for FOLLOW_TARGET_DATA",1,["mavlink::ardupilotmega::FOLLOW_TARGET_DATA"]],["impl Sync for GOPRO_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::GOPRO_HEARTBEAT_DATA"]],["impl Sync for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_CAPTURE_STATUS_DATA"]],["impl Sync for MESSAGE_INTERVAL_DATA",1,["mavlink::ardupilotmega::MESSAGE_INTERVAL_DATA"]],["impl Sync for MEMORY_VECT_DATA",1,["mavlink::ardupilotmega::MEMORY_VECT_DATA"]],["impl Sync for ENCAPSULATED_DATA_DATA",1,["mavlink::ardupilotmega::ENCAPSULATED_DATA_DATA"]],["impl Sync for PARAM_MAP_RC_DATA",1,["mavlink::ardupilotmega::PARAM_MAP_RC_DATA"]],["impl Sync for LOGGING_ACK_DATA",1,["mavlink::ardupilotmega::LOGGING_ACK_DATA"]],["impl Sync for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Sync for PROTOCOL_VERSION_DATA",1,["mavlink::ardupilotmega::PROTOCOL_VERSION_DATA"]],["impl Sync for ATTITUDE_DATA",1,["mavlink::ardupilotmega::ATTITUDE_DATA"]],["impl Sync for AOA_SSA_DATA",1,["mavlink::ardupilotmega::AOA_SSA_DATA"]],["impl Sync for ESC_TELEMETRY_1_TO_4_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_1_TO_4_DATA"]],["impl Sync for LOGGING_DATA_ACKED_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_ACKED_DATA"]],["impl Sync for PLAY_TUNE_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_DATA"]],["impl Sync for SIM_STATE_DATA",1,["mavlink::ardupilotmega::SIM_STATE_DATA"]],["impl Sync for MANUAL_SETPOINT_DATA",1,["mavlink::ardupilotmega::MANUAL_SETPOINT_DATA"]],["impl Sync for VIBRATION_DATA",1,["mavlink::ardupilotmega::VIBRATION_DATA"]],["impl Sync for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::ardupilotmega::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Sync for DEEPSTALL_DATA",1,["mavlink::ardupilotmega::DEEPSTALL_DATA"]],["impl Sync for MAG_CAL_REPORT_DATA",1,["mavlink::ardupilotmega::MAG_CAL_REPORT_DATA"]],["impl Sync for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::ardupilotmega::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Sync for SCALED_IMU2_DATA",1,["mavlink::ardupilotmega::SCALED_IMU2_DATA"]],["impl Sync for GOPRO_GET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_REQUEST_DATA"]],["impl Sync for COMMAND_INT_DATA",1,["mavlink::ardupilotmega::COMMAND_INT_DATA"]],["impl Sync for UAVCAN_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_STATUS_DATA"]],["impl Sync for ODOMETRY_DATA",1,["mavlink::ardupilotmega::ODOMETRY_DATA"]],["impl Sync for HIGH_LATENCY2_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY2_DATA"]],["impl Sync for REQUEST_EVENT_DATA",1,["mavlink::ardupilotmega::REQUEST_EVENT_DATA"]],["impl Sync for ICAROUS_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::ICAROUS_HEARTBEAT_DATA"]],["impl Sync for MISSION_COUNT_DATA",1,["mavlink::ardupilotmega::MISSION_COUNT_DATA"]],["impl Sync for AIRSPEED_AUTOCAL_DATA",1,["mavlink::ardupilotmega::AIRSPEED_AUTOCAL_DATA"]],["impl Sync for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_READ_DATA"]],["impl Sync for CELLULAR_STATUS_DATA",1,["mavlink::ardupilotmega::CELLULAR_STATUS_DATA"]],["impl Sync for COMPASSMOT_STATUS_DATA",1,["mavlink::ardupilotmega::COMPASSMOT_STATUS_DATA"]],["impl Sync for GPS_RAW_INT_DATA",1,["mavlink::ardupilotmega::GPS_RAW_INT_DATA"]],["impl Sync for WIND_COV_DATA",1,["mavlink::ardupilotmega::WIND_COV_DATA"]],["impl Sync for V2_EXTENSION_DATA",1,["mavlink::ardupilotmega::V2_EXTENSION_DATA"]],["impl Sync for WHEEL_DISTANCE_DATA",1,["mavlink::ardupilotmega::WHEEL_DISTANCE_DATA"]],["impl Sync for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Sync for OSD_PARAM_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_REPLY_DATA"]],["impl Sync for AHRS2_DATA",1,["mavlink::ardupilotmega::AHRS2_DATA"]],["impl Sync for BATTERY2_DATA",1,["mavlink::ardupilotmega::BATTERY2_DATA"]],["impl Sync for LOG_REQUEST_END_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_END_DATA"]],["impl Sync for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::ardupilotmega::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Sync for LOCAL_POSITION_NED_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_DATA"]],["impl Sync for PID_TUNING_DATA",1,["mavlink::ardupilotmega::PID_TUNING_DATA"]],["impl Sync for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Sync for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::ardupilotmega::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Sync for ESC_INFO_DATA",1,["mavlink::ardupilotmega::ESC_INFO_DATA"]],["impl Sync for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Sync for CAMERA_TRIGGER_DATA",1,["mavlink::ardupilotmega::CAMERA_TRIGGER_DATA"]],["impl Sync for GPS_INPUT_DATA",1,["mavlink::ardupilotmega::GPS_INPUT_DATA"]],["impl Sync for BATTERY_STATUS_DATA",1,["mavlink::ardupilotmega::BATTERY_STATUS_DATA"]],["impl Sync for FENCE_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_FETCH_POINT_DATA"]],["impl Sync for SYS_STATUS_DATA",1,["mavlink::ardupilotmega::SYS_STATUS_DATA"]],["impl Sync for ISBD_LINK_STATUS_DATA",1,["mavlink::ardupilotmega::ISBD_LINK_STATUS_DATA"]],["impl Sync for DEBUG_VECT_DATA",1,["mavlink::ardupilotmega::DEBUG_VECT_DATA"]],["impl Sync for SIMSTATE_DATA",1,["mavlink::ardupilotmega::SIMSTATE_DATA"]],["impl Sync for FENCE_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_POINT_DATA"]],["impl Sync for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"]],["impl Sync for SETUP_SIGNING_DATA",1,["mavlink::ardupilotmega::SETUP_SIGNING_DATA"]],["impl Sync for COMPONENT_METADATA_DATA",1,["mavlink::ardupilotmega::COMPONENT_METADATA_DATA"]],["impl Sync for CAMERA_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_STATUS_DATA"]],["impl Sync for DATA96_DATA",1,["mavlink::ardupilotmega::DATA96_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Sync for ALTITUDE_DATA",1,["mavlink::ardupilotmega::ALTITUDE_DATA"]],["impl Sync for OBSTACLE_DISTANCE_3D_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_3D_DATA"]],["impl Sync for HERELINK_TELEM_DATA",1,["mavlink::ardupilotmega::HERELINK_TELEM_DATA"]],["impl Sync for GPS_STATUS_DATA",1,["mavlink::ardupilotmega::GPS_STATUS_DATA"]],["impl Sync for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_OVERRIDE_DATA"]],["impl Sync for RPM_DATA",1,["mavlink::ardupilotmega::RPM_DATA"]],["impl Sync for CANFD_FRAME_DATA",1,["mavlink::ardupilotmega::CANFD_FRAME_DATA"]],["impl Sync for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Sync for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Sync for AUTOPILOT_VERSION_REQUEST_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_REQUEST_DATA"]],["impl Sync for LOGGING_DATA_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_DATA"]],["impl Sync for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Sync for DIGICAM_CONTROL_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONTROL_DATA"]],["impl Sync for FENCE_STATUS_DATA",1,["mavlink::ardupilotmega::FENCE_STATUS_DATA"]],["impl Sync for MISSION_ITEM_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_DATA"]],["impl Sync for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Sync for ATTITUDE_QUATERNION_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_DATA"]],["impl Sync for AUTOPILOT_VERSION_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_DATA"]],["impl Sync for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Sync for HIL_OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::HIL_OPTICAL_FLOW_DATA"]],["impl Sync for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::ardupilotmega::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Sync for PLAY_TUNE_V2_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_V2_DATA"]],["impl Sync for GIMBAL_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_REPORT_DATA"]],["impl Sync for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Sync for HOME_POSITION_DATA",1,["mavlink::ardupilotmega::HOME_POSITION_DATA"]],["impl Sync for DATA64_DATA",1,["mavlink::ardupilotmega::DATA64_DATA"]],["impl Sync for ESC_STATUS_DATA",1,["mavlink::ardupilotmega::ESC_STATUS_DATA"]],["impl Sync for PARAM_EXT_SET_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_SET_DATA"]],["impl Sync for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_SPEED_ESTIMATE_DATA"]],["impl Sync for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Sync for DISTANCE_SENSOR_DATA",1,["mavlink::ardupilotmega::DISTANCE_SENSOR_DATA"]],["impl Sync for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Sync for ATT_POS_MOCAP_DATA",1,["mavlink::ardupilotmega::ATT_POS_MOCAP_DATA"]],["impl Sync for SET_MAG_OFFSETS_DATA",1,["mavlink::ardupilotmega::SET_MAG_OFFSETS_DATA"]],["impl Sync for LINK_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::LINK_NODE_STATUS_DATA"]],["impl Sync for MISSION_ACK_DATA",1,["mavlink::ardupilotmega::MISSION_ACK_DATA"]],["impl Sync for HWSTATUS_DATA",1,["mavlink::ardupilotmega::HWSTATUS_DATA"]],["impl Sync for PARAM_SET_DATA",1,["mavlink::ardupilotmega::PARAM_SET_DATA"]],["impl Sync for CAMERA_FEEDBACK_DATA",1,["mavlink::ardupilotmega::CAMERA_FEEDBACK_DATA"]],["impl Sync for COMPONENT_INFORMATION_DATA",1,["mavlink::ardupilotmega::COMPONENT_INFORMATION_DATA"]],["impl Sync for SET_ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ATTITUDE_TARGET_DATA"]],["impl Sync for OSD_PARAM_SHOW_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_REPLY_DATA"]],["impl Sync for RADIO_STATUS_DATA",1,["mavlink::ardupilotmega::RADIO_STATUS_DATA"]],["impl Sync for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::ardupilotmega::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Sync for MISSION_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_LIST_DATA"]],["impl Sync for UTM_GLOBAL_POSITION_DATA",1,["mavlink::ardupilotmega::UTM_GLOBAL_POSITION_DATA"]],["impl Sync for HIL_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_CONTROLS_DATA"]],["impl Sync for SERVO_OUTPUT_RAW_DATA",1,["mavlink::ardupilotmega::SERVO_OUTPUT_RAW_DATA"]],["impl Sync for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Sync for UAVCAN_NODE_INFO_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_INFO_DATA"]],["impl Sync for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_COV_DATA"]],["impl Sync for STATUSTEXT_DATA",1,["mavlink::ardupilotmega::STATUSTEXT_DATA"]],["impl Sync for GOPRO_SET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_REQUEST_DATA"]],["impl Sync for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Sync for OPTICAL_FLOW_RAD_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_RAD_DATA"]],["impl Sync for LANDING_TARGET_DATA",1,["mavlink::ardupilotmega::LANDING_TARGET_DATA"]],["impl Sync for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Sync for LOG_DATA_DATA",1,["mavlink::ardupilotmega::LOG_DATA_DATA"]],["impl Sync for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Sync for SENSOR_OFFSETS_DATA",1,["mavlink::ardupilotmega::SENSOR_OFFSETS_DATA"]],["impl Sync for WIFI_CONFIG_AP_DATA",1,["mavlink::ardupilotmega::WIFI_CONFIG_AP_DATA"]],["impl Sync for DEVICE_OP_READ_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_DATA"]],["impl Sync for GPS_RTK_DATA",1,["mavlink::ardupilotmega::GPS_RTK_DATA"]],["impl Sync for PARAM_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_LIST_DATA"]],["impl Sync for HERELINK_VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::HERELINK_VIDEO_STREAM_INFORMATION_DATA"]],["impl Sync for REMOTE_LOG_BLOCK_STATUS_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_BLOCK_STATUS_DATA"]],["impl Sync for COMMAND_ACK_DATA",1,["mavlink::ardupilotmega::COMMAND_ACK_DATA"]],["impl Sync for CAMERA_SETTINGS_DATA",1,["mavlink::ardupilotmega::CAMERA_SETTINGS_DATA"]],["impl Sync for RAW_IMU_DATA",1,["mavlink::ardupilotmega::RAW_IMU_DATA"]],["impl Sync for RADIO_DATA",1,["mavlink::ardupilotmega::RADIO_DATA"]],["impl Sync for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_ALLOWED_AREA_DATA"]],["impl Sync for CUBEPILOT_FIRMWARE_UPDATE_START_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_START_DATA"]],["impl Sync for DEVICE_OP_WRITE_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_DATA"]],["impl Sync for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Sync for GIMBAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_CONTROL_DATA"]],["impl Sync for MISSION_CLEAR_ALL_DATA",1,["mavlink::ardupilotmega::MISSION_CLEAR_ALL_DATA"]],["impl Sync for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::ardupilotmega::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Sync for RESOURCE_REQUEST_DATA",1,["mavlink::ardupilotmega::RESOURCE_REQUEST_DATA"]],["impl Sync for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_COV_DATA"]],["impl Sync for STORAGE_INFORMATION_DATA",1,["mavlink::ardupilotmega::STORAGE_INFORMATION_DATA"]],["impl Sync for SYSTEM_TIME_DATA",1,["mavlink::ardupilotmega::SYSTEM_TIME_DATA"]],["impl Sync for MISSION_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_CURRENT_DATA"]],["impl Sync for LOG_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_LIST_DATA"]],["impl Sync for MAG_CAL_PROGRESS_DATA",1,["mavlink::ardupilotmega::MAG_CAL_PROGRESS_DATA"]],["impl Sync for GPS2_RTK_DATA",1,["mavlink::ardupilotmega::GPS2_RTK_DATA"]],["impl Sync for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Sync for LOG_ENTRY_DATA",1,["mavlink::ardupilotmega::LOG_ENTRY_DATA"]],["impl Sync for MISSION_ITEM_REACHED_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_REACHED_DATA"]],["impl Sync for TERRAIN_CHECK_DATA",1,["mavlink::ardupilotmega::TERRAIN_CHECK_DATA"]],["impl Sync for HEARTBEAT_DATA",1,["mavlink::ardupilotmega::HEARTBEAT_DATA"]],["impl Sync for CAN_FILTER_MODIFY_DATA",1,["mavlink::ardupilotmega::CAN_FILTER_MODIFY_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Sync for FLIGHT_INFORMATION_DATA",1,["mavlink::ardupilotmega::FLIGHT_INFORMATION_DATA"]],["impl Sync for VFR_HUD_DATA",1,["mavlink::ardupilotmega::VFR_HUD_DATA"]],["impl Sync for MOUNT_CONTROL_DATA",1,["mavlink::ardupilotmega::MOUNT_CONTROL_DATA"]],["impl Sync for WATER_DEPTH_DATA",1,["mavlink::ardupilotmega::WATER_DEPTH_DATA"]],["impl Sync for SET_MODE_DATA",1,["mavlink::ardupilotmega::SET_MODE_DATA"]],["impl Sync for OSD_PARAM_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_DATA"]],["impl Sync for PING_DATA",1,["mavlink::ardupilotmega::PING_DATA"]],["impl Sync for PARAM_EXT_ACK_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_ACK_DATA"]],["impl Sync for TIMESYNC_DATA",1,["mavlink::ardupilotmega::TIMESYNC_DATA"]],["impl Sync for ESC_TELEMETRY_5_TO_8_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_5_TO_8_DATA"]],["impl Sync for RAW_PRESSURE_DATA",1,["mavlink::ardupilotmega::RAW_PRESSURE_DATA"]],["impl Sync for SMART_BATTERY_INFO_DATA",1,["mavlink::ardupilotmega::SMART_BATTERY_INFO_DATA"]],["impl Sync for OBSTACLE_DISTANCE_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_DATA"]],["impl Sync for CAMERA_FOV_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_FOV_STATUS_DATA"]],["impl Sync for ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::ATTITUDE_TARGET_DATA"]],["impl Sync for GPS2_RAW_DATA",1,["mavlink::ardupilotmega::GPS2_RAW_DATA"]],["impl Sync for RC_CHANNELS_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_DATA"]],["impl Sync for DATA_STREAM_DATA",1,["mavlink::ardupilotmega::DATA_STREAM_DATA"]],["impl Sync for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_INFORMATION_DATA"]],["impl Sync for HIL_GPS_DATA",1,["mavlink::ardupilotmega::HIL_GPS_DATA"]],["impl Sync for VISION_POSITION_DELTA_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_DELTA_DATA"]],["impl Sync for TERRAIN_REQUEST_DATA",1,["mavlink::ardupilotmega::TERRAIN_REQUEST_DATA"]],["impl Sync for HIGH_LATENCY_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY_DATA"]],["impl Sync for TUNNEL_DATA",1,["mavlink::ardupilotmega::TUNNEL_DATA"]],["impl Sync for LIMITS_STATUS_DATA",1,["mavlink::ardupilotmega::LIMITS_STATUS_DATA"]],["impl Sync for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Sync for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Sync for RC_CHANNELS_SCALED_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_SCALED_DATA"]],["impl Sync for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Sync for MOUNT_ORIENTATION_DATA",1,["mavlink::ardupilotmega::MOUNT_ORIENTATION_DATA"]],["impl Sync for GLOBAL_POSITION_INT_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_DATA"]],["impl Sync for DEVICE_OP_READ_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_REPLY_DATA"]],["impl Sync for SERIAL_CONTROL_DATA",1,["mavlink::ardupilotmega::SERIAL_CONTROL_DATA"]],["impl Sync for CAN_FRAME_DATA",1,["mavlink::ardupilotmega::CAN_FRAME_DATA"]],["impl Sync for AHRS3_DATA",1,["mavlink::ardupilotmega::AHRS3_DATA"]],["impl Sync for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Sync for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Sync for SCALED_IMU3_DATA",1,["mavlink::ardupilotmega::SCALED_IMU3_DATA"]],["impl Sync for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Sync for MISSION_ITEM_INT_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_INT_DATA"]],["impl Sync for ADAP_TUNING_DATA",1,["mavlink::ardupilotmega::ADAP_TUNING_DATA"]],["impl Sync for EFI_STATUS_DATA",1,["mavlink::ardupilotmega::EFI_STATUS_DATA"]],["impl Sync for TERRAIN_REPORT_DATA",1,["mavlink::ardupilotmega::TERRAIN_REPORT_DATA"]],["impl Sync for SCALED_PRESSURE2_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE2_DATA"]],["impl Sync for SET_HOME_POSITION_DATA",1,["mavlink::ardupilotmega::SET_HOME_POSITION_DATA"]],["impl Sync for AP_ADC_DATA",1,["mavlink::ardupilotmega::AP_ADC_DATA"]],["impl Sync for GIMBAL_TORQUE_CMD_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_TORQUE_CMD_REPORT_DATA"]],["impl Sync for GOPRO_SET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_RESPONSE_DATA"]],["impl Sync for ESC_TELEMETRY_9_TO_12_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_9_TO_12_DATA"]],["impl Sync for HYGROMETER_SENSOR_DATA",1,["mavlink::ardupilotmega::HYGROMETER_SENSOR_DATA"]],["impl Sync for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::ardupilotmega::CONTROL_SYSTEM_STATE_DATA"]],["impl Sync for BUTTON_CHANGE_DATA",1,["mavlink::ardupilotmega::BUTTON_CHANGE_DATA"]],["impl Sync for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VICON_POSITION_ESTIMATE_DATA"]],["impl Sync for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::ardupilotmega::HIL_RC_INPUTS_RAW_DATA"]],["impl Sync for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Sync for HIL_STATE_DATA",1,["mavlink::ardupilotmega::HIL_STATE_DATA"]],["impl Sync for GOPRO_GET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_RESPONSE_DATA"]],["impl Sync for POWER_STATUS_DATA",1,["mavlink::ardupilotmega::POWER_STATUS_DATA"]],["impl Sync for AHRS_DATA",1,["mavlink::ardupilotmega::AHRS_DATA"]],["impl Sync for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Sync for LOG_ERASE_DATA",1,["mavlink::ardupilotmega::LOG_ERASE_DATA"]],["impl Sync for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Sync for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::ardupilotmega::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Sync for ADSB_VEHICLE_DATA",1,["mavlink::ardupilotmega::ADSB_VEHICLE_DATA"]],["impl Sync for GPS_INJECT_DATA_DATA",1,["mavlink::ardupilotmega::GPS_INJECT_DATA_DATA"]],["impl Sync for NAMED_VALUE_INT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_INT_DATA"]],["impl Sync for DIGICAM_CONFIGURE_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONFIGURE_DATA"]],["impl Sync for EKF_STATUS_REPORT_DATA",1,["mavlink::ardupilotmega::EKF_STATUS_REPORT_DATA"]],["impl Sync for OSD_PARAM_SHOW_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_DATA"]],["impl Sync for REQUEST_DATA_STREAM_DATA",1,["mavlink::ardupilotmega::REQUEST_DATA_STREAM_DATA"]],["impl Sync for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Sync for HIL_SENSOR_DATA",1,["mavlink::ardupilotmega::HIL_SENSOR_DATA"]],["impl Sync for WINCH_STATUS_DATA",1,["mavlink::ardupilotmega::WINCH_STATUS_DATA"]],["impl Sync for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Sync for MOUNT_CONFIGURE_DATA",1,["mavlink::ardupilotmega::MOUNT_CONFIGURE_DATA"]],["impl Sync for DATA32_DATA",1,["mavlink::ardupilotmega::DATA32_DATA"]],["impl Sync for COMMAND_LONG_DATA",1,["mavlink::ardupilotmega::COMMAND_LONG_DATA"]],["impl Sync for NAMED_VALUE_FLOAT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_FLOAT_DATA"]],["impl Sync for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Sync for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_ESTIMATE_DATA"]],["impl Sync for MEMINFO_DATA",1,["mavlink::ardupilotmega::MEMINFO_DATA"]],["impl Sync for DEVICE_OP_WRITE_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_REPLY_DATA"]],["impl Sync for COMMAND_CANCEL_DATA",1,["mavlink::ardupilotmega::COMMAND_CANCEL_DATA"]],["impl Sync for RC_CHANNELS_RAW_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_RAW_DATA"]],["impl Sync for PARAM_EXT_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_VALUE_DATA"]],["impl Sync for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::ardupilotmega::RESPONSE_EVENT_ERROR_DATA"]],["impl Sync for MISSION_SET_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_SET_CURRENT_DATA"]],["impl Sync for HIL_STATE_QUATERNION_DATA",1,["mavlink::ardupilotmega::HIL_STATE_QUATERNION_DATA"]],["impl Sync for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Sync for ESTIMATOR_STATUS_DATA",1,["mavlink::ardupilotmega::ESTIMATOR_STATUS_DATA"]],["impl Sync for PARAM_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_VALUE_DATA"]],["impl Sync for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::ardupilotmega::ORBIT_EXECUTION_STATUS_DATA"]],["impl Sync for RALLY_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_POINT_DATA"]],["impl Sync for MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::MANUAL_CONTROL_DATA"]],["impl Sync for EXTENDED_SYS_STATE_DATA",1,["mavlink::ardupilotmega::EXTENDED_SYS_STATE_DATA"]],["impl Sync for DATA16_DATA",1,["mavlink::ardupilotmega::DATA16_DATA"]],["impl Sync for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::ardupilotmega::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Sync for MOUNT_STATUS_DATA",1,["mavlink::ardupilotmega::MOUNT_STATUS_DATA"]],["impl Sync for DEBUG_DATA",1,["mavlink::ardupilotmega::DEBUG_DATA"]],["impl Sync for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Sync for EVENT_DATA",1,["mavlink::ardupilotmega::EVENT_DATA"]],["impl Sync for MCU_STATUS_DATA",1,["mavlink::ardupilotmega::MCU_STATUS_DATA"]],["impl Sync for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_COV_DATA"]],["impl Sync for RAW_RPM_DATA",1,["mavlink::ardupilotmega::RAW_RPM_DATA"]],["impl Sync for PARAM_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_READ_DATA"]],["impl Sync for MavMessage",1,["mavlink::ardupilotmega::MavMessage"]],["impl Sync for FailureType",1,["mavlink::uavionix::FailureType"]],["impl Sync for MavOdidHeightRef",1,["mavlink::uavionix::MavOdidHeightRef"]],["impl Sync for PreflightStorageParameterAction",1,["mavlink::uavionix::PreflightStorageParameterAction"]],["impl Sync for MavFtpErr",1,["mavlink::uavionix::MavFtpErr"]],["impl Sync for EscFailureFlags",1,["mavlink::uavionix::EscFailureFlags"]],["impl Sync for AdsbFlags",1,["mavlink::uavionix::AdsbFlags"]],["impl Sync for VtolTransitionHeading",1,["mavlink::uavionix::VtolTransitionHeading"]],["impl Sync for MavAutopilot",1,["mavlink::uavionix::MavAutopilot"]],["impl Sync for VideoStreamType",1,["mavlink::uavionix::VideoStreamType"]],["impl Sync for GimbalDeviceErrorFlags",1,["mavlink::uavionix::GimbalDeviceErrorFlags"]],["impl Sync for CameraZoomType",1,["mavlink::uavionix::CameraZoomType"]],["impl Sync for MavMissionResult",1,["mavlink::uavionix::MavMissionResult"]],["impl Sync for MavOdidHorAcc",1,["mavlink::uavionix::MavOdidHorAcc"]],["impl Sync for MavMode",1,["mavlink::uavionix::MavMode"]],["impl Sync for SetFocusType",1,["mavlink::uavionix::SetFocusType"]],["impl Sync for CellularNetworkRadioType",1,["mavlink::uavionix::CellularNetworkRadioType"]],["impl Sync for UavionixAdsbEmergencyStatus",1,["mavlink::uavionix::UavionixAdsbEmergencyStatus"]],["impl Sync for ParamAck",1,["mavlink::uavionix::ParamAck"]],["impl Sync for AutotuneAxis",1,["mavlink::uavionix::AutotuneAxis"]],["impl Sync for UavcanNodeMode",1,["mavlink::uavionix::UavcanNodeMode"]],["impl Sync for MavCollisionAction",1,["mavlink::uavionix::MavCollisionAction"]],["impl Sync for SerialControlDev",1,["mavlink::uavionix::SerialControlDev"]],["impl Sync for HlFailureFlag",1,["mavlink::uavionix::HlFailureFlag"]],["impl Sync for LandingTargetType",1,["mavlink::uavionix::LandingTargetType"]],["impl Sync for MavRoi",1,["mavlink::uavionix::MavRoi"]],["impl Sync for PositionTargetTypemask",1,["mavlink::uavionix::PositionTargetTypemask"]],["impl Sync for MissionState",1,["mavlink::uavionix::MissionState"]],["impl Sync for CameraTrackingMode",1,["mavlink::uavionix::CameraTrackingMode"]],["impl Sync for CellularConfigResponse",1,["mavlink::uavionix::CellularConfigResponse"]],["impl Sync for MavBatteryMode",1,["mavlink::uavionix::MavBatteryMode"]],["impl Sync for MavOdidCategoryEu",1,["mavlink::uavionix::MavOdidCategoryEu"]],["impl Sync for MavEstimatorType",1,["mavlink::uavionix::MavEstimatorType"]],["impl Sync for UtmFlightState",1,["mavlink::uavionix::UtmFlightState"]],["impl Sync for UtmDataAvailFlags",1,["mavlink::uavionix::UtmDataAvailFlags"]],["impl Sync for AisFlags",1,["mavlink::uavionix::AisFlags"]],["impl Sync for ActuatorOutputFunction",1,["mavlink::uavionix::ActuatorOutputFunction"]],["impl Sync for MavSensorOrientation",1,["mavlink::uavionix::MavSensorOrientation"]],["impl Sync for MavOdidClassEu",1,["mavlink::uavionix::MavOdidClassEu"]],["impl Sync for MavOdidClassificationType",1,["mavlink::uavionix::MavOdidClassificationType"]],["impl Sync for CanFilterOp",1,["mavlink::uavionix::CanFilterOp"]],["impl Sync for RcType",1,["mavlink::uavionix::RcType"]],["impl Sync for GimbalManagerFlags",1,["mavlink::uavionix::GimbalManagerFlags"]],["impl Sync for CameraCapFlags",1,["mavlink::uavionix::CameraCapFlags"]],["impl Sync for MavSysStatusSensor",1,["mavlink::uavionix::MavSysStatusSensor"]],["impl Sync for MavMissionType",1,["mavlink::uavionix::MavMissionType"]],["impl Sync for MavOdidOperatorLocationType",1,["mavlink::uavionix::MavOdidOperatorLocationType"]],["impl Sync for VideoStreamStatusFlags",1,["mavlink::uavionix::VideoStreamStatusFlags"]],["impl Sync for MavCmdAck",1,["mavlink::uavionix::MavCmdAck"]],["impl Sync for StorageType",1,["mavlink::uavionix::StorageType"]],["impl Sync for UavionixAdsbOutDynamicState",1,["mavlink::uavionix::UavionixAdsbOutDynamicState"]],["impl Sync for CellularStatusFlag",1,["mavlink::uavionix::CellularStatusFlag"]],["impl Sync for RtkBaselineCoordinateSystem",1,["mavlink::uavionix::RtkBaselineCoordinateSystem"]],["impl Sync for MavParamExtType",1,["mavlink::uavionix::MavParamExtType"]],["impl Sync for FailureUnit",1,["mavlink::uavionix::FailureUnit"]],["impl Sync for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Sync for MavLandedState",1,["mavlink::uavionix::MavLandedState"]],["impl Sync for MavModeFlag",1,["mavlink::uavionix::MavModeFlag"]],["impl Sync for WinchActions",1,["mavlink::uavionix::WinchActions"]],["impl Sync for UavcanNodeHealth",1,["mavlink::uavionix::UavcanNodeHealth"]],["impl Sync for AisType",1,["mavlink::uavionix::AisType"]],["impl Sync for MavParamType",1,["mavlink::uavionix::MavParamType"]],["impl Sync for MavOdidUaType",1,["mavlink::uavionix::MavOdidUaType"]],["impl Sync for MavComponent",1,["mavlink::uavionix::MavComponent"]],["impl Sync for GripperActions",1,["mavlink::uavionix::GripperActions"]],["impl Sync for NavVtolLandOptions",1,["mavlink::uavionix::NavVtolLandOptions"]],["impl Sync for MavFtpOpcode",1,["mavlink::uavionix::MavFtpOpcode"]],["impl Sync for MavProtocolCapability",1,["mavlink::uavionix::MavProtocolCapability"]],["impl Sync for WifiConfigApResponse",1,["mavlink::uavionix::WifiConfigApResponse"]],["impl Sync for MavDataStream",1,["mavlink::uavionix::MavDataStream"]],["impl Sync for MavBatteryChargeState",1,["mavlink::uavionix::MavBatteryChargeState"]],["impl Sync for WifiConfigApMode",1,["mavlink::uavionix::WifiConfigApMode"]],["impl Sync for AdsbAltitudeType",1,["mavlink::uavionix::AdsbAltitudeType"]],["impl Sync for GimbalManagerCapFlags",1,["mavlink::uavionix::GimbalManagerCapFlags"]],["impl Sync for MavCollisionSrc",1,["mavlink::uavionix::MavCollisionSrc"]],["impl Sync for CameraTrackingStatusFlags",1,["mavlink::uavionix::CameraTrackingStatusFlags"]],["impl Sync for MavDoRepositionFlags",1,["mavlink::uavionix::MavDoRepositionFlags"]],["impl Sync for CellularNetworkFailedReason",1,["mavlink::uavionix::CellularNetworkFailedReason"]],["impl Sync for MavOdidTimeAcc",1,["mavlink::uavionix::MavOdidTimeAcc"]],["impl Sync for MavOdidSpeedAcc",1,["mavlink::uavionix::MavOdidSpeedAcc"]],["impl Sync for MavOdidStatus",1,["mavlink::uavionix::MavOdidStatus"]],["impl Sync for MagCalStatus",1,["mavlink::uavionix::MagCalStatus"]],["impl Sync for MavType",1,["mavlink::uavionix::MavType"]],["impl Sync for FenceBreach",1,["mavlink::uavionix::FenceBreach"]],["impl Sync for AisNavStatus",1,["mavlink::uavionix::AisNavStatus"]],["impl Sync for MavBatteryFault",1,["mavlink::uavionix::MavBatteryFault"]],["impl Sync for MavOdidArmStatus",1,["mavlink::uavionix::MavOdidArmStatus"]],["impl Sync for GimbalDeviceCapFlags",1,["mavlink::uavionix::GimbalDeviceCapFlags"]],["impl Sync for PreflightStorageMissionAction",1,["mavlink::uavionix::PreflightStorageMissionAction"]],["impl Sync for HighresImuUpdatedFlags",1,["mavlink::uavionix::HighresImuUpdatedFlags"]],["impl Sync for CameraMode",1,["mavlink::uavionix::CameraMode"]],["impl Sync for SerialControlFlag",1,["mavlink::uavionix::SerialControlFlag"]],["impl Sync for AdsbEmitterType",1,["mavlink::uavionix::AdsbEmitterType"]],["impl Sync for PrecisionLandMode",1,["mavlink::uavionix::PrecisionLandMode"]],["impl Sync for CameraTrackingTargetData",1,["mavlink::uavionix::CameraTrackingTargetData"]],["impl Sync for StorageStatus",1,["mavlink::uavionix::StorageStatus"]],["impl Sync for MavState",1,["mavlink::uavionix::MavState"]],["impl Sync for MavArmAuthDeniedReason",1,["mavlink::uavionix::MavArmAuthDeniedReason"]],["impl Sync for EstimatorStatusFlags",1,["mavlink::uavionix::EstimatorStatusFlags"]],["impl Sync for OrbitYawBehaviour",1,["mavlink::uavionix::OrbitYawBehaviour"]],["impl Sync for MavSysStatusSensorExtended",1,["mavlink::uavionix::MavSysStatusSensorExtended"]],["impl Sync for MavSeverity",1,["mavlink::uavionix::MavSeverity"]],["impl Sync for MavCmd",1,["mavlink::uavionix::MavCmd"]],["impl Sync for MavMountMode",1,["mavlink::uavionix::MavMountMode"]],["impl Sync for MavOdidOperatorIdType",1,["mavlink::uavionix::MavOdidOperatorIdType"]],["impl Sync for MavOdidIdType",1,["mavlink::uavionix::MavOdidIdType"]],["impl Sync for ActuatorConfiguration",1,["mavlink::uavionix::ActuatorConfiguration"]],["impl Sync for MavEventErrorReason",1,["mavlink::uavionix::MavEventErrorReason"]],["impl Sync for StorageUsageFlag",1,["mavlink::uavionix::StorageUsageFlag"]],["impl Sync for MavPowerStatus",1,["mavlink::uavionix::MavPowerStatus"]],["impl Sync for CompMetadataType",1,["mavlink::uavionix::CompMetadataType"]],["impl Sync for MavCollisionThreatLevel",1,["mavlink::uavionix::MavCollisionThreatLevel"]],["impl Sync for MavOdidAuthType",1,["mavlink::uavionix::MavOdidAuthType"]],["impl Sync for MavOdidDescType",1,["mavlink::uavionix::MavOdidDescType"]],["impl Sync for ParachuteAction",1,["mavlink::uavionix::ParachuteAction"]],["impl Sync for AttitudeTargetTypemask",1,["mavlink::uavionix::AttitudeTargetTypemask"]],["impl Sync for FenceMitigate",1,["mavlink::uavionix::FenceMitigate"]],["impl Sync for UavionixAdsbOutRfSelect",1,["mavlink::uavionix::UavionixAdsbOutRfSelect"]],["impl Sync for MavFrame",1,["mavlink::uavionix::MavFrame"]],["impl Sync for MotorTestOrder",1,["mavlink::uavionix::MotorTestOrder"]],["impl Sync for MavResult",1,["mavlink::uavionix::MavResult"]],["impl Sync for MavGoto",1,["mavlink::uavionix::MavGoto"]],["impl Sync for TuneFormat",1,["mavlink::uavionix::TuneFormat"]],["impl Sync for MavlinkDataStreamType",1,["mavlink::uavionix::MavlinkDataStreamType"]],["impl Sync for FenceAction",1,["mavlink::uavionix::FenceAction"]],["impl Sync for MavEventCurrentSequenceFlags",1,["mavlink::uavionix::MavEventCurrentSequenceFlags"]],["impl Sync for MavWinchStatusFlag",1,["mavlink::uavionix::MavWinchStatusFlag"]],["impl Sync for GpsInputIgnoreFlags",1,["mavlink::uavionix::GpsInputIgnoreFlags"]],["impl Sync for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Sync for MavGeneratorStatusFlag",1,["mavlink::uavionix::MavGeneratorStatusFlag"]],["impl Sync for UavionixAdsbOutDynamicGpsFix",1,["mavlink::uavionix::UavionixAdsbOutDynamicGpsFix"]],["impl Sync for EscConnectionType",1,["mavlink::uavionix::EscConnectionType"]],["impl Sync for MavDistanceSensor",1,["mavlink::uavionix::MavDistanceSensor"]],["impl Sync for MavModeFlagDecodePosition",1,["mavlink::uavionix::MavModeFlagDecodePosition"]],["impl Sync for GimbalDeviceFlags",1,["mavlink::uavionix::GimbalDeviceFlags"]],["impl Sync for MotorTestThrottleType",1,["mavlink::uavionix::MotorTestThrottleType"]],["impl Sync for UavionixAdsbOutCfgAircraftSize",1,["mavlink::uavionix::UavionixAdsbOutCfgAircraftSize"]],["impl Sync for MavOdidVerAcc",1,["mavlink::uavionix::MavOdidVerAcc"]],["impl Sync for MavBatteryType",1,["mavlink::uavionix::MavBatteryType"]],["impl Sync for MavBatteryFunction",1,["mavlink::uavionix::MavBatteryFunction"]],["impl Sync for GpsFixType",1,["mavlink::uavionix::GpsFixType"]],["impl Sync for MavTunnelPayloadType",1,["mavlink::uavionix::MavTunnelPayloadType"]],["impl Sync for HilSensorUpdatedFlags",1,["mavlink::uavionix::HilSensorUpdatedFlags"]],["impl Sync for UavionixAdsbRfHealth",1,["mavlink::uavionix::UavionixAdsbRfHealth"]],["impl Sync for MavVtolState",1,["mavlink::uavionix::MavVtolState"]],["impl Sync for FirmwareVersionType",1,["mavlink::uavionix::FirmwareVersionType"]],["impl Sync for MISSION_SET_CURRENT_DATA",1,["mavlink::uavionix::MISSION_SET_CURRENT_DATA"]],["impl Sync for AUTH_KEY_DATA",1,["mavlink::uavionix::AUTH_KEY_DATA"]],["impl Sync for ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::ATTITUDE_TARGET_DATA"]],["impl Sync for SETUP_SIGNING_DATA",1,["mavlink::uavionix::SETUP_SIGNING_DATA"]],["impl Sync for CELLULAR_CONFIG_DATA",1,["mavlink::uavionix::CELLULAR_CONFIG_DATA"]],["impl Sync for UTM_GLOBAL_POSITION_DATA",1,["mavlink::uavionix::UTM_GLOBAL_POSITION_DATA"]],["impl Sync for VFR_HUD_DATA",1,["mavlink::uavionix::VFR_HUD_DATA"]],["impl Sync for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Sync for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Sync for ODOMETRY_DATA",1,["mavlink::uavionix::ODOMETRY_DATA"]],["impl Sync for SERIAL_CONTROL_DATA",1,["mavlink::uavionix::SERIAL_CONTROL_DATA"]],["impl Sync for RC_CHANNELS_SCALED_DATA",1,["mavlink::uavionix::RC_CHANNELS_SCALED_DATA"]],["impl Sync for COMPONENT_INFORMATION_DATA",1,["mavlink::uavionix::COMPONENT_INFORMATION_DATA"]],["impl Sync for PARAM_EXT_VALUE_DATA",1,["mavlink::uavionix::PARAM_EXT_VALUE_DATA"]],["impl Sync for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Sync for UAVCAN_NODE_INFO_DATA",1,["mavlink::uavionix::UAVCAN_NODE_INFO_DATA"]],["impl Sync for CAMERA_SETTINGS_DATA",1,["mavlink::uavionix::CAMERA_SETTINGS_DATA"]],["impl Sync for RADIO_STATUS_DATA",1,["mavlink::uavionix::RADIO_STATUS_DATA"]],["impl Sync for GPS_RAW_INT_DATA",1,["mavlink::uavionix::GPS_RAW_INT_DATA"]],["impl Sync for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::uavionix::CONTROL_SYSTEM_STATE_DATA"]],["impl Sync for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Sync for TUNNEL_DATA",1,["mavlink::uavionix::TUNNEL_DATA"]],["impl Sync for LOG_REQUEST_LIST_DATA",1,["mavlink::uavionix::LOG_REQUEST_LIST_DATA"]],["impl Sync for REQUEST_DATA_STREAM_DATA",1,["mavlink::uavionix::REQUEST_DATA_STREAM_DATA"]],["impl Sync for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Sync for CANFD_FRAME_DATA",1,["mavlink::uavionix::CANFD_FRAME_DATA"]],["impl Sync for HIL_CONTROLS_DATA",1,["mavlink::uavionix::HIL_CONTROLS_DATA"]],["impl Sync for POWER_STATUS_DATA",1,["mavlink::uavionix::POWER_STATUS_DATA"]],["impl Sync for HIL_STATE_DATA",1,["mavlink::uavionix::HIL_STATE_DATA"]],["impl Sync for LOGGING_DATA_DATA",1,["mavlink::uavionix::LOGGING_DATA_DATA"]],["impl Sync for SMART_BATTERY_INFO_DATA",1,["mavlink::uavionix::SMART_BATTERY_INFO_DATA"]],["impl Sync for RAW_PRESSURE_DATA",1,["mavlink::uavionix::RAW_PRESSURE_DATA"]],["impl Sync for PARAM_EXT_SET_DATA",1,["mavlink::uavionix::PARAM_EXT_SET_DATA"]],["impl Sync for VIBRATION_DATA",1,["mavlink::uavionix::VIBRATION_DATA"]],["impl Sync for LOGGING_ACK_DATA",1,["mavlink::uavionix::LOGGING_ACK_DATA"]],["impl Sync for SCALED_PRESSURE2_DATA",1,["mavlink::uavionix::SCALED_PRESSURE2_DATA"]],["impl Sync for AUTOPILOT_VERSION_DATA",1,["mavlink::uavionix::AUTOPILOT_VERSION_DATA"]],["impl Sync for NAMED_VALUE_FLOAT_DATA",1,["mavlink::uavionix::NAMED_VALUE_FLOAT_DATA"]],["impl Sync for GPS_RTK_DATA",1,["mavlink::uavionix::GPS_RTK_DATA"]],["impl Sync for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Sync for COMMAND_CANCEL_DATA",1,["mavlink::uavionix::COMMAND_CANCEL_DATA"]],["impl Sync for CAMERA_FOV_STATUS_DATA",1,["mavlink::uavionix::CAMERA_FOV_STATUS_DATA"]],["impl Sync for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Sync for LOG_ERASE_DATA",1,["mavlink::uavionix::LOG_ERASE_DATA"]],["impl Sync for LOG_REQUEST_DATA_DATA",1,["mavlink::uavionix::LOG_REQUEST_DATA_DATA"]],["impl Sync for LINK_NODE_STATUS_DATA",1,["mavlink::uavionix::LINK_NODE_STATUS_DATA"]],["impl Sync for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Sync for STORAGE_INFORMATION_DATA",1,["mavlink::uavionix::STORAGE_INFORMATION_DATA"]],["impl Sync for LOGGING_DATA_ACKED_DATA",1,["mavlink::uavionix::LOGGING_DATA_ACKED_DATA"]],["impl Sync for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::uavionix::DEBUG_FLOAT_ARRAY_DATA"]],["impl Sync for SCALED_IMU2_DATA",1,["mavlink::uavionix::SCALED_IMU2_DATA"]],["impl Sync for COLLISION_DATA",1,["mavlink::uavionix::COLLISION_DATA"]],["impl Sync for MISSION_REQUEST_INT_DATA",1,["mavlink::uavionix::MISSION_REQUEST_INT_DATA"]],["impl Sync for SERVO_OUTPUT_RAW_DATA",1,["mavlink::uavionix::SERVO_OUTPUT_RAW_DATA"]],["impl Sync for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Sync for TERRAIN_DATA_DATA",1,["mavlink::uavionix::TERRAIN_DATA_DATA"]],["impl Sync for RC_CHANNELS_DATA",1,["mavlink::uavionix::RC_CHANNELS_DATA"]],["impl Sync for HIL_SENSOR_DATA",1,["mavlink::uavionix::HIL_SENSOR_DATA"]],["impl Sync for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Sync for STATUSTEXT_DATA",1,["mavlink::uavionix::STATUSTEXT_DATA"]],["impl Sync for RC_CHANNELS_RAW_DATA",1,["mavlink::uavionix::RC_CHANNELS_RAW_DATA"]],["impl Sync for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_COV_DATA"]],["impl Sync for MESSAGE_INTERVAL_DATA",1,["mavlink::uavionix::MESSAGE_INTERVAL_DATA"]],["impl Sync for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_ALLOWED_AREA_DATA"]],["impl Sync for EXTENDED_SYS_STATE_DATA",1,["mavlink::uavionix::EXTENDED_SYS_STATE_DATA"]],["impl Sync for GPS_INJECT_DATA_DATA",1,["mavlink::uavionix::GPS_INJECT_DATA_DATA"]],["impl Sync for HOME_POSITION_DATA",1,["mavlink::uavionix::HOME_POSITION_DATA"]],["impl Sync for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_READ_DATA"]],["impl Sync for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Sync for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Sync for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Sync for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Sync for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::uavionix::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Sync for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::uavionix::RC_CHANNELS_OVERRIDE_DATA"]],["impl Sync for SET_HOME_POSITION_DATA",1,["mavlink::uavionix::SET_HOME_POSITION_DATA"]],["impl Sync for HIL_OPTICAL_FLOW_DATA",1,["mavlink::uavionix::HIL_OPTICAL_FLOW_DATA"]],["impl Sync for V2_EXTENSION_DATA",1,["mavlink::uavionix::V2_EXTENSION_DATA"]],["impl Sync for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::uavionix::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Sync for PARAM_MAP_RC_DATA",1,["mavlink::uavionix::PARAM_MAP_RC_DATA"]],["impl Sync for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::uavionix::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Sync for BUTTON_CHANGE_DATA",1,["mavlink::uavionix::BUTTON_CHANGE_DATA"]],["impl Sync for PARAM_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_REQUEST_LIST_DATA"]],["impl Sync for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Sync for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Sync for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Sync for BATTERY_STATUS_DATA",1,["mavlink::uavionix::BATTERY_STATUS_DATA"]],["impl Sync for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Sync for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Sync for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Sync for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::uavionix::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Sync for HIGHRES_IMU_DATA",1,["mavlink::uavionix::HIGHRES_IMU_DATA"]],["impl Sync for PARAM_EXT_ACK_DATA",1,["mavlink::uavionix::PARAM_EXT_ACK_DATA"]],["impl Sync for TERRAIN_CHECK_DATA",1,["mavlink::uavionix::TERRAIN_CHECK_DATA"]],["impl Sync for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::uavionix::HIL_RC_INPUTS_RAW_DATA"]],["impl Sync for MISSION_ITEM_INT_DATA",1,["mavlink::uavionix::MISSION_ITEM_INT_DATA"]],["impl Sync for ATT_POS_MOCAP_DATA",1,["mavlink::uavionix::ATT_POS_MOCAP_DATA"]],["impl Sync for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Sync for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::uavionix::RESPONSE_EVENT_ERROR_DATA"]],["impl Sync for ATTITUDE_DATA",1,["mavlink::uavionix::ATTITUDE_DATA"]],["impl Sync for TERRAIN_REQUEST_DATA",1,["mavlink::uavionix::TERRAIN_REQUEST_DATA"]],["impl Sync for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::uavionix::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Sync for LOCAL_POSITION_NED_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_DATA"]],["impl Sync for TERRAIN_REPORT_DATA",1,["mavlink::uavionix::TERRAIN_REPORT_DATA"]],["impl Sync for REQUEST_EVENT_DATA",1,["mavlink::uavionix::REQUEST_EVENT_DATA"]],["impl Sync for ALTITUDE_DATA",1,["mavlink::uavionix::ALTITUDE_DATA"]],["impl Sync for WIND_COV_DATA",1,["mavlink::uavionix::WIND_COV_DATA"]],["impl Sync for GPS2_RAW_DATA",1,["mavlink::uavionix::GPS2_RAW_DATA"]],["impl Sync for SYS_STATUS_DATA",1,["mavlink::uavionix::SYS_STATUS_DATA"]],["impl Sync for SCALED_PRESSURE_DATA",1,["mavlink::uavionix::SCALED_PRESSURE_DATA"]],["impl Sync for SET_ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::SET_ATTITUDE_TARGET_DATA"]],["impl Sync for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_COV_DATA"]],["impl Sync for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::uavionix::ORBIT_EXECUTION_STATUS_DATA"]],["impl Sync for PARAM_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_REQUEST_READ_DATA"]],["impl Sync for MEMORY_VECT_DATA",1,["mavlink::uavionix::MEMORY_VECT_DATA"]],["impl Sync for SCALED_IMU_DATA",1,["mavlink::uavionix::SCALED_IMU_DATA"]],["impl Sync for VIDEO_STREAM_STATUS_DATA",1,["mavlink::uavionix::VIDEO_STREAM_STATUS_DATA"]],["impl Sync for GPS_STATUS_DATA",1,["mavlink::uavionix::GPS_STATUS_DATA"]],["impl Sync for PING_DATA",1,["mavlink::uavionix::PING_DATA"]],["impl Sync for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::uavionix::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Sync for SCALED_PRESSURE3_DATA",1,["mavlink::uavionix::SCALED_PRESSURE3_DATA"]],["impl Sync for WIFI_CONFIG_AP_DATA",1,["mavlink::uavionix::WIFI_CONFIG_AP_DATA"]],["impl Sync for RAW_RPM_DATA",1,["mavlink::uavionix::RAW_RPM_DATA"]],["impl Sync for MISSION_ITEM_REACHED_DATA",1,["mavlink::uavionix::MISSION_ITEM_REACHED_DATA"]],["impl Sync for TIMESYNC_DATA",1,["mavlink::uavionix::TIMESYNC_DATA"]],["impl Sync for MOUNT_ORIENTATION_DATA",1,["mavlink::uavionix::MOUNT_ORIENTATION_DATA"]],["impl Sync for DATA_STREAM_DATA",1,["mavlink::uavionix::DATA_STREAM_DATA"]],["impl Sync for ISBD_LINK_STATUS_DATA",1,["mavlink::uavionix::ISBD_LINK_STATUS_DATA"]],["impl Sync for GPS2_RTK_DATA",1,["mavlink::uavionix::GPS2_RTK_DATA"]],["impl Sync for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Sync for HIL_GPS_DATA",1,["mavlink::uavionix::HIL_GPS_DATA"]],["impl Sync for MISSION_CURRENT_DATA",1,["mavlink::uavionix::MISSION_CURRENT_DATA"]],["impl Sync for PARAM_VALUE_DATA",1,["mavlink::uavionix::PARAM_VALUE_DATA"]],["impl Sync for FENCE_STATUS_DATA",1,["mavlink::uavionix::FENCE_STATUS_DATA"]],["impl Sync for HIL_STATE_QUATERNION_DATA",1,["mavlink::uavionix::HIL_STATE_QUATERNION_DATA"]],["impl Sync for OBSTACLE_DISTANCE_DATA",1,["mavlink::uavionix::OBSTACLE_DISTANCE_DATA"]],["impl Sync for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_CAPTURE_STATUS_DATA"]],["impl Sync for DISTANCE_SENSOR_DATA",1,["mavlink::uavionix::DISTANCE_SENSOR_DATA"]],["impl Sync for NAMED_VALUE_INT_DATA",1,["mavlink::uavionix::NAMED_VALUE_INT_DATA"]],["impl Sync for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::uavionix::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Sync for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Sync for MISSION_REQUEST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_DATA"]],["impl Sync for MISSION_REQUEST_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_LIST_DATA"]],["impl Sync for LOG_DATA_DATA",1,["mavlink::uavionix::LOG_DATA_DATA"]],["impl Sync for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Sync for PROTOCOL_VERSION_DATA",1,["mavlink::uavionix::PROTOCOL_VERSION_DATA"]],["impl Sync for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Sync for LANDING_TARGET_DATA",1,["mavlink::uavionix::LANDING_TARGET_DATA"]],["impl Sync for ESC_STATUS_DATA",1,["mavlink::uavionix::ESC_STATUS_DATA"]],["impl Sync for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Sync for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::GPS_GLOBAL_ORIGIN_DATA"]],["impl Sync for PLAY_TUNE_V2_DATA",1,["mavlink::uavionix::PLAY_TUNE_V2_DATA"]],["impl Sync for DEBUG_VECT_DATA",1,["mavlink::uavionix::DEBUG_VECT_DATA"]],["impl Sync for LOG_REQUEST_END_DATA",1,["mavlink::uavionix::LOG_REQUEST_END_DATA"]],["impl Sync for RESOURCE_REQUEST_DATA",1,["mavlink::uavionix::RESOURCE_REQUEST_DATA"]],["impl Sync for ATTITUDE_QUATERNION_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_DATA"]],["impl Sync for HYGROMETER_SENSOR_DATA",1,["mavlink::uavionix::HYGROMETER_SENSOR_DATA"]],["impl Sync for ENCAPSULATED_DATA_DATA",1,["mavlink::uavionix::ENCAPSULATED_DATA_DATA"]],["impl Sync for CAMERA_INFORMATION_DATA",1,["mavlink::uavionix::CAMERA_INFORMATION_DATA"]],["impl Sync for ESC_INFO_DATA",1,["mavlink::uavionix::ESC_INFO_DATA"]],["impl Sync for FLIGHT_INFORMATION_DATA",1,["mavlink::uavionix::FLIGHT_INFORMATION_DATA"]],["impl Sync for HIGH_LATENCY2_DATA",1,["mavlink::uavionix::HIGH_LATENCY2_DATA"]],["impl Sync for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_COV_DATA"]],["impl Sync for SET_MODE_DATA",1,["mavlink::uavionix::SET_MODE_DATA"]],["impl Sync for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Sync for PARAM_SET_DATA",1,["mavlink::uavionix::PARAM_SET_DATA"]],["impl Sync for SUPPORTED_TUNES_DATA",1,["mavlink::uavionix::SUPPORTED_TUNES_DATA"]],["impl Sync for CAN_FILTER_MODIFY_DATA",1,["mavlink::uavionix::CAN_FILTER_MODIFY_DATA"]],["impl Sync for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_POSITION_ESTIMATE_DATA"]],["impl Sync for PLAY_TUNE_DATA",1,["mavlink::uavionix::PLAY_TUNE_DATA"]],["impl Sync for HEARTBEAT_DATA",1,["mavlink::uavionix::HEARTBEAT_DATA"]],["impl Sync for SIM_STATE_DATA",1,["mavlink::uavionix::SIM_STATE_DATA"]],["impl Sync for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::uavionix::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Sync for AIS_VESSEL_DATA",1,["mavlink::uavionix::AIS_VESSEL_DATA"]],["impl Sync for CAMERA_TRIGGER_DATA",1,["mavlink::uavionix::CAMERA_TRIGGER_DATA"]],["impl Sync for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Sync for LOG_ENTRY_DATA",1,["mavlink::uavionix::LOG_ENTRY_DATA"]],["impl Sync for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Sync for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_STATUS_DATA"]],["impl Sync for MANUAL_SETPOINT_DATA",1,["mavlink::uavionix::MANUAL_SETPOINT_DATA"]],["impl Sync for GPS_RTCM_DATA_DATA",1,["mavlink::uavionix::GPS_RTCM_DATA_DATA"]],["impl Sync for RAW_IMU_DATA",1,["mavlink::uavionix::RAW_IMU_DATA"]],["impl Sync for COMMAND_INT_DATA",1,["mavlink::uavionix::COMMAND_INT_DATA"]],["impl Sync for DEBUG_DATA",1,["mavlink::uavionix::DEBUG_DATA"]],["impl Sync for MISSION_COUNT_DATA",1,["mavlink::uavionix::MISSION_COUNT_DATA"]],["impl Sync for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_SPEED_ESTIMATE_DATA"]],["impl Sync for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Sync for GPS_INPUT_DATA",1,["mavlink::uavionix::GPS_INPUT_DATA"]],["impl Sync for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Sync for UAVCAN_NODE_STATUS_DATA",1,["mavlink::uavionix::UAVCAN_NODE_STATUS_DATA"]],["impl Sync for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Sync for COMMAND_ACK_DATA",1,["mavlink::uavionix::COMMAND_ACK_DATA"]],["impl Sync for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Sync for CELLULAR_STATUS_DATA",1,["mavlink::uavionix::CELLULAR_STATUS_DATA"]],["impl Sync for SYSTEM_TIME_DATA",1,["mavlink::uavionix::SYSTEM_TIME_DATA"]],["impl Sync for EFI_STATUS_DATA",1,["mavlink::uavionix::EFI_STATUS_DATA"]],["impl Sync for COMMAND_LONG_DATA",1,["mavlink::uavionix::COMMAND_LONG_DATA"]],["impl Sync for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Sync for MAG_CAL_REPORT_DATA",1,["mavlink::uavionix::MAG_CAL_REPORT_DATA"]],["impl Sync for WHEEL_DISTANCE_DATA",1,["mavlink::uavionix::WHEEL_DISTANCE_DATA"]],["impl Sync for OPTICAL_FLOW_RAD_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_RAD_DATA"]],["impl Sync for SCALED_IMU3_DATA",1,["mavlink::uavionix::SCALED_IMU3_DATA"]],["impl Sync for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Sync for GENERATOR_STATUS_DATA",1,["mavlink::uavionix::GENERATOR_STATUS_DATA"]],["impl Sync for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VICON_POSITION_ESTIMATE_DATA"]],["impl Sync for MISSION_ITEM_DATA",1,["mavlink::uavionix::MISSION_ITEM_DATA"]],["impl Sync for MANUAL_CONTROL_DATA",1,["mavlink::uavionix::MANUAL_CONTROL_DATA"]],["impl Sync for ESTIMATOR_STATUS_DATA",1,["mavlink::uavionix::ESTIMATOR_STATUS_DATA"]],["impl Sync for ADSB_VEHICLE_DATA",1,["mavlink::uavionix::ADSB_VEHICLE_DATA"]],["impl Sync for GLOBAL_POSITION_INT_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_DATA"]],["impl Sync for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::uavionix::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Sync for MISSION_CLEAR_ALL_DATA",1,["mavlink::uavionix::MISSION_CLEAR_ALL_DATA"]],["impl Sync for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::uavionix::VIDEO_STREAM_INFORMATION_DATA"]],["impl Sync for CAN_FRAME_DATA",1,["mavlink::uavionix::CAN_FRAME_DATA"]],["impl Sync for EVENT_DATA",1,["mavlink::uavionix::EVENT_DATA"]],["impl Sync for COMPONENT_METADATA_DATA",1,["mavlink::uavionix::COMPONENT_METADATA_DATA"]],["impl Sync for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::uavionix::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Sync for MISSION_ACK_DATA",1,["mavlink::uavionix::MISSION_ACK_DATA"]],["impl Sync for OPTICAL_FLOW_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_DATA"]],["impl Sync for WINCH_STATUS_DATA",1,["mavlink::uavionix::WINCH_STATUS_DATA"]],["impl Sync for HIGH_LATENCY_DATA",1,["mavlink::uavionix::HIGH_LATENCY_DATA"]],["impl Sync for FOLLOW_TARGET_DATA",1,["mavlink::uavionix::FOLLOW_TARGET_DATA"]],["impl Sync for MavMessage",1,["mavlink::uavionix::MavMessage"]],["impl Sync for MavOdidClassificationType",1,["mavlink::common::MavOdidClassificationType"]],["impl Sync for NavVtolLandOptions",1,["mavlink::common::NavVtolLandOptions"]],["impl Sync for MotorTestThrottleType",1,["mavlink::common::MotorTestThrottleType"]],["impl Sync for ParachuteAction",1,["mavlink::common::ParachuteAction"]],["impl Sync for HlFailureFlag",1,["mavlink::common::HlFailureFlag"]],["impl Sync for MavSysStatusSensor",1,["mavlink::common::MavSysStatusSensor"]],["impl Sync for MavLandedState",1,["mavlink::common::MavLandedState"]],["impl Sync for FailureType",1,["mavlink::common::FailureType"]],["impl Sync for MavOdidAuthType",1,["mavlink::common::MavOdidAuthType"]],["impl Sync for RcType",1,["mavlink::common::RcType"]],["impl Sync for MavModeFlag",1,["mavlink::common::MavModeFlag"]],["impl Sync for EscFailureFlags",1,["mavlink::common::EscFailureFlags"]],["impl Sync for MavAutopilot",1,["mavlink::common::MavAutopilot"]],["impl Sync for WifiConfigApResponse",1,["mavlink::common::WifiConfigApResponse"]],["impl Sync for CameraTrackingStatusFlags",1,["mavlink::common::CameraTrackingStatusFlags"]],["impl Sync for FailureUnit",1,["mavlink::common::FailureUnit"]],["impl Sync for MavCmd",1,["mavlink::common::MavCmd"]],["impl Sync for UtmDataAvailFlags",1,["mavlink::common::UtmDataAvailFlags"]],["impl Sync for MavBatteryMode",1,["mavlink::common::MavBatteryMode"]],["impl Sync for StorageUsageFlag",1,["mavlink::common::StorageUsageFlag"]],["impl Sync for MavDoRepositionFlags",1,["mavlink::common::MavDoRepositionFlags"]],["impl Sync for MavSeverity",1,["mavlink::common::MavSeverity"]],["impl Sync for MavOdidArmStatus",1,["mavlink::common::MavOdidArmStatus"]],["impl Sync for MavDataStream",1,["mavlink::common::MavDataStream"]],["impl Sync for MavFtpErr",1,["mavlink::common::MavFtpErr"]],["impl Sync for WinchActions",1,["mavlink::common::WinchActions"]],["impl Sync for CameraTrackingTargetData",1,["mavlink::common::CameraTrackingTargetData"]],["impl Sync for MavFrame",1,["mavlink::common::MavFrame"]],["impl Sync for MavMissionType",1,["mavlink::common::MavMissionType"]],["impl Sync for MavOdidOperatorIdType",1,["mavlink::common::MavOdidOperatorIdType"]],["impl Sync for AdsbFlags",1,["mavlink::common::AdsbFlags"]],["impl Sync for AdsbEmitterType",1,["mavlink::common::AdsbEmitterType"]],["impl Sync for OrbitYawBehaviour",1,["mavlink::common::OrbitYawBehaviour"]],["impl Sync for WifiConfigApMode",1,["mavlink::common::WifiConfigApMode"]],["impl Sync for PositionTargetTypemask",1,["mavlink::common::PositionTargetTypemask"]],["impl Sync for StorageStatus",1,["mavlink::common::StorageStatus"]],["impl Sync for AttitudeTargetTypemask",1,["mavlink::common::AttitudeTargetTypemask"]],["impl Sync for MavVtolState",1,["mavlink::common::MavVtolState"]],["impl Sync for MavProtocolCapability",1,["mavlink::common::MavProtocolCapability"]],["impl Sync for GimbalManagerCapFlags",1,["mavlink::common::GimbalManagerCapFlags"]],["impl Sync for GimbalManagerFlags",1,["mavlink::common::GimbalManagerFlags"]],["impl Sync for StorageType",1,["mavlink::common::StorageType"]],["impl Sync for MotorTestOrder",1,["mavlink::common::MotorTestOrder"]],["impl Sync for CellularNetworkFailedReason",1,["mavlink::common::CellularNetworkFailedReason"]],["impl Sync for MavSysStatusSensorExtended",1,["mavlink::common::MavSysStatusSensorExtended"]],["impl Sync for MavState",1,["mavlink::common::MavState"]],["impl Sync for ActuatorOutputFunction",1,["mavlink::common::ActuatorOutputFunction"]],["impl Sync for MavOdidDescType",1,["mavlink::common::MavOdidDescType"]],["impl Sync for MavGeneratorStatusFlag",1,["mavlink::common::MavGeneratorStatusFlag"]],["impl Sync for HilSensorUpdatedFlags",1,["mavlink::common::HilSensorUpdatedFlags"]],["impl Sync for MavEventCurrentSequenceFlags",1,["mavlink::common::MavEventCurrentSequenceFlags"]],["impl Sync for MavComponent",1,["mavlink::common::MavComponent"]],["impl Sync for AdsbAltitudeType",1,["mavlink::common::AdsbAltitudeType"]],["impl Sync for VideoStreamType",1,["mavlink::common::VideoStreamType"]],["impl Sync for AisFlags",1,["mavlink::common::AisFlags"]],["impl Sync for MavGoto",1,["mavlink::common::MavGoto"]],["impl Sync for SerialControlDev",1,["mavlink::common::SerialControlDev"]],["impl Sync for MavWinchStatusFlag",1,["mavlink::common::MavWinchStatusFlag"]],["impl Sync for FenceMitigate",1,["mavlink::common::FenceMitigate"]],["impl Sync for MavEstimatorType",1,["mavlink::common::MavEstimatorType"]],["impl Sync for MavBatteryChargeState",1,["mavlink::common::MavBatteryChargeState"]],["impl Sync for GpsFixType",1,["mavlink::common::GpsFixType"]],["impl Sync for VideoStreamStatusFlags",1,["mavlink::common::VideoStreamStatusFlags"]],["impl Sync for MavCollisionSrc",1,["mavlink::common::MavCollisionSrc"]],["impl Sync for GimbalDeviceErrorFlags",1,["mavlink::common::GimbalDeviceErrorFlags"]],["impl Sync for MavSensorOrientation",1,["mavlink::common::MavSensorOrientation"]],["impl Sync for EstimatorStatusFlags",1,["mavlink::common::EstimatorStatusFlags"]],["impl Sync for CameraZoomType",1,["mavlink::common::CameraZoomType"]],["impl Sync for MavFtpOpcode",1,["mavlink::common::MavFtpOpcode"]],["impl Sync for MavCmdAck",1,["mavlink::common::MavCmdAck"]],["impl Sync for UtmFlightState",1,["mavlink::common::UtmFlightState"]],["impl Sync for MissionState",1,["mavlink::common::MissionState"]],["impl Sync for MavArmAuthDeniedReason",1,["mavlink::common::MavArmAuthDeniedReason"]],["impl Sync for MavOdidUaType",1,["mavlink::common::MavOdidUaType"]],["impl Sync for MavOdidStatus",1,["mavlink::common::MavOdidStatus"]],["impl Sync for FenceAction",1,["mavlink::common::FenceAction"]],["impl Sync for MavDistanceSensor",1,["mavlink::common::MavDistanceSensor"]],["impl Sync for MavMode",1,["mavlink::common::MavMode"]],["impl Sync for MavOdidVerAcc",1,["mavlink::common::MavOdidVerAcc"]],["impl Sync for HighresImuUpdatedFlags",1,["mavlink::common::HighresImuUpdatedFlags"]],["impl Sync for MagCalStatus",1,["mavlink::common::MagCalStatus"]],["impl Sync for MavModeFlagDecodePosition",1,["mavlink::common::MavModeFlagDecodePosition"]],["impl Sync for PreflightStorageParameterAction",1,["mavlink::common::PreflightStorageParameterAction"]],["impl Sync for EscConnectionType",1,["mavlink::common::EscConnectionType"]],["impl Sync for MavParamType",1,["mavlink::common::MavParamType"]],["impl Sync for UavcanNodeHealth",1,["mavlink::common::UavcanNodeHealth"]],["impl Sync for MavOdidHorAcc",1,["mavlink::common::MavOdidHorAcc"]],["impl Sync for AisNavStatus",1,["mavlink::common::AisNavStatus"]],["impl Sync for MavOdidClassEu",1,["mavlink::common::MavOdidClassEu"]],["impl Sync for GimbalDeviceFlags",1,["mavlink::common::GimbalDeviceFlags"]],["impl Sync for VtolTransitionHeading",1,["mavlink::common::VtolTransitionHeading"]],["impl Sync for MavTunnelPayloadType",1,["mavlink::common::MavTunnelPayloadType"]],["impl Sync for AutotuneAxis",1,["mavlink::common::AutotuneAxis"]],["impl Sync for MavOdidTimeAcc",1,["mavlink::common::MavOdidTimeAcc"]],["impl Sync for CameraTrackingMode",1,["mavlink::common::CameraTrackingMode"]],["impl Sync for CellularConfigResponse",1,["mavlink::common::CellularConfigResponse"]],["impl Sync for GpsInputIgnoreFlags",1,["mavlink::common::GpsInputIgnoreFlags"]],["impl Sync for PreflightStorageMissionAction",1,["mavlink::common::PreflightStorageMissionAction"]],["impl Sync for SetFocusType",1,["mavlink::common::SetFocusType"]],["impl Sync for MavOdidIdType",1,["mavlink::common::MavOdidIdType"]],["impl Sync for MavPowerStatus",1,["mavlink::common::MavPowerStatus"]],["impl Sync for MavOdidOperatorLocationType",1,["mavlink::common::MavOdidOperatorLocationType"]],["impl Sync for MavOdidSpeedAcc",1,["mavlink::common::MavOdidSpeedAcc"]],["impl Sync for FenceBreach",1,["mavlink::common::FenceBreach"]],["impl Sync for AisType",1,["mavlink::common::AisType"]],["impl Sync for CellularStatusFlag",1,["mavlink::common::CellularStatusFlag"]],["impl Sync for MavBatteryFunction",1,["mavlink::common::MavBatteryFunction"]],["impl Sync for SerialControlFlag",1,["mavlink::common::SerialControlFlag"]],["impl Sync for CameraMode",1,["mavlink::common::CameraMode"]],["impl Sync for GimbalDeviceCapFlags",1,["mavlink::common::GimbalDeviceCapFlags"]],["impl Sync for MavParamExtType",1,["mavlink::common::MavParamExtType"]],["impl Sync for MavEventErrorReason",1,["mavlink::common::MavEventErrorReason"]],["impl Sync for MavBatteryType",1,["mavlink::common::MavBatteryType"]],["impl Sync for TuneFormat",1,["mavlink::common::TuneFormat"]],["impl Sync for MavlinkDataStreamType",1,["mavlink::common::MavlinkDataStreamType"]],["impl Sync for UavcanNodeMode",1,["mavlink::common::UavcanNodeMode"]],["impl Sync for MavType",1,["mavlink::common::MavType"]],["impl Sync for ParamAck",1,["mavlink::common::ParamAck"]],["impl Sync for MavOdidHeightRef",1,["mavlink::common::MavOdidHeightRef"]],["impl Sync for MavMountMode",1,["mavlink::common::MavMountMode"]],["impl Sync for MavCollisionThreatLevel",1,["mavlink::common::MavCollisionThreatLevel"]],["impl Sync for CellularNetworkRadioType",1,["mavlink::common::CellularNetworkRadioType"]],["impl Sync for MavBatteryFault",1,["mavlink::common::MavBatteryFault"]],["impl Sync for MavCollisionAction",1,["mavlink::common::MavCollisionAction"]],["impl Sync for MavMissionResult",1,["mavlink::common::MavMissionResult"]],["impl Sync for CanFilterOp",1,["mavlink::common::CanFilterOp"]],["impl Sync for MavRoi",1,["mavlink::common::MavRoi"]],["impl Sync for MavResult",1,["mavlink::common::MavResult"]],["impl Sync for FirmwareVersionType",1,["mavlink::common::FirmwareVersionType"]],["impl Sync for GripperActions",1,["mavlink::common::GripperActions"]],["impl Sync for RtkBaselineCoordinateSystem",1,["mavlink::common::RtkBaselineCoordinateSystem"]],["impl Sync for LandingTargetType",1,["mavlink::common::LandingTargetType"]],["impl Sync for ActuatorConfiguration",1,["mavlink::common::ActuatorConfiguration"]],["impl Sync for MavOdidCategoryEu",1,["mavlink::common::MavOdidCategoryEu"]],["impl Sync for PrecisionLandMode",1,["mavlink::common::PrecisionLandMode"]],["impl Sync for CameraCapFlags",1,["mavlink::common::CameraCapFlags"]],["impl Sync for CompMetadataType",1,["mavlink::common::CompMetadataType"]],["impl Sync for LOCAL_POSITION_NED_DATA",1,["mavlink::common::LOCAL_POSITION_NED_DATA"]],["impl Sync for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_ALLOWED_AREA_DATA"]],["impl Sync for MISSION_ACK_DATA",1,["mavlink::common::MISSION_ACK_DATA"]],["impl Sync for SCALED_PRESSURE2_DATA",1,["mavlink::common::SCALED_PRESSURE2_DATA"]],["impl Sync for SIM_STATE_DATA",1,["mavlink::common::SIM_STATE_DATA"]],["impl Sync for HIGH_LATENCY2_DATA",1,["mavlink::common::HIGH_LATENCY2_DATA"]],["impl Sync for STATUSTEXT_DATA",1,["mavlink::common::STATUSTEXT_DATA"]],["impl Sync for ESTIMATOR_STATUS_DATA",1,["mavlink::common::ESTIMATOR_STATUS_DATA"]],["impl Sync for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Sync for ESC_INFO_DATA",1,["mavlink::common::ESC_INFO_DATA"]],["impl Sync for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::common::LOCAL_POSITION_NED_COV_DATA"]],["impl Sync for MISSION_ITEM_DATA",1,["mavlink::common::MISSION_ITEM_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Sync for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_READ_DATA"]],["impl Sync for MISSION_CLEAR_ALL_DATA",1,["mavlink::common::MISSION_CLEAR_ALL_DATA"]],["impl Sync for TERRAIN_CHECK_DATA",1,["mavlink::common::TERRAIN_CHECK_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Sync for PARAM_EXT_SET_DATA",1,["mavlink::common::PARAM_EXT_SET_DATA"]],["impl Sync for CAN_FRAME_DATA",1,["mavlink::common::CAN_FRAME_DATA"]],["impl Sync for COMPONENT_INFORMATION_DATA",1,["mavlink::common::COMPONENT_INFORMATION_DATA"]],["impl Sync for GPS_INJECT_DATA_DATA",1,["mavlink::common::GPS_INJECT_DATA_DATA"]],["impl Sync for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::common::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Sync for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::common::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Sync for FOLLOW_TARGET_DATA",1,["mavlink::common::FOLLOW_TARGET_DATA"]],["impl Sync for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::common::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Sync for HIL_GPS_DATA",1,["mavlink::common::HIL_GPS_DATA"]],["impl Sync for CAN_FILTER_MODIFY_DATA",1,["mavlink::common::CAN_FILTER_MODIFY_DATA"]],["impl Sync for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Sync for LOG_DATA_DATA",1,["mavlink::common::LOG_DATA_DATA"]],["impl Sync for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::common::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Sync for HIGH_LATENCY_DATA",1,["mavlink::common::HIGH_LATENCY_DATA"]],["impl Sync for PLAY_TUNE_DATA",1,["mavlink::common::PLAY_TUNE_DATA"]],["impl Sync for RC_CHANNELS_SCALED_DATA",1,["mavlink::common::RC_CHANNELS_SCALED_DATA"]],["impl Sync for RAW_IMU_DATA",1,["mavlink::common::RAW_IMU_DATA"]],["impl Sync for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Sync for MOUNT_ORIENTATION_DATA",1,["mavlink::common::MOUNT_ORIENTATION_DATA"]],["impl Sync for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Sync for EVENT_DATA",1,["mavlink::common::EVENT_DATA"]],["impl Sync for EFI_STATUS_DATA",1,["mavlink::common::EFI_STATUS_DATA"]],["impl Sync for REQUEST_EVENT_DATA",1,["mavlink::common::REQUEST_EVENT_DATA"]],["impl Sync for HYGROMETER_SENSOR_DATA",1,["mavlink::common::HYGROMETER_SENSOR_DATA"]],["impl Sync for REQUEST_DATA_STREAM_DATA",1,["mavlink::common::REQUEST_DATA_STREAM_DATA"]],["impl Sync for V2_EXTENSION_DATA",1,["mavlink::common::V2_EXTENSION_DATA"]],["impl Sync for DEBUG_VECT_DATA",1,["mavlink::common::DEBUG_VECT_DATA"]],["impl Sync for LOGGING_ACK_DATA",1,["mavlink::common::LOGGING_ACK_DATA"]],["impl Sync for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Sync for ISBD_LINK_STATUS_DATA",1,["mavlink::common::ISBD_LINK_STATUS_DATA"]],["impl Sync for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::common::CONTROL_SYSTEM_STATE_DATA"]],["impl Sync for OBSTACLE_DISTANCE_DATA",1,["mavlink::common::OBSTACLE_DISTANCE_DATA"]],["impl Sync for SCALED_IMU2_DATA",1,["mavlink::common::SCALED_IMU2_DATA"]],["impl Sync for PARAM_VALUE_DATA",1,["mavlink::common::PARAM_VALUE_DATA"]],["impl Sync for SERVO_OUTPUT_RAW_DATA",1,["mavlink::common::SERVO_OUTPUT_RAW_DATA"]],["impl Sync for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Sync for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Sync for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::common::GIMBAL_MANAGER_STATUS_DATA"]],["impl Sync for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::common::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Sync for PARAM_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_REQUEST_LIST_DATA"]],["impl Sync for UAVCAN_NODE_STATUS_DATA",1,["mavlink::common::UAVCAN_NODE_STATUS_DATA"]],["impl Sync for PARAM_SET_DATA",1,["mavlink::common::PARAM_SET_DATA"]],["impl Sync for SCALED_PRESSURE_DATA",1,["mavlink::common::SCALED_PRESSURE_DATA"]],["impl Sync for SYSTEM_TIME_DATA",1,["mavlink::common::SYSTEM_TIME_DATA"]],["impl Sync for ENCAPSULATED_DATA_DATA",1,["mavlink::common::ENCAPSULATED_DATA_DATA"]],["impl Sync for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Sync for SET_HOME_POSITION_DATA",1,["mavlink::common::SET_HOME_POSITION_DATA"]],["impl Sync for SYS_STATUS_DATA",1,["mavlink::common::SYS_STATUS_DATA"]],["impl Sync for TIMESYNC_DATA",1,["mavlink::common::TIMESYNC_DATA"]],["impl Sync for LOG_REQUEST_END_DATA",1,["mavlink::common::LOG_REQUEST_END_DATA"]],["impl Sync for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Sync for AUTOPILOT_VERSION_DATA",1,["mavlink::common::AUTOPILOT_VERSION_DATA"]],["impl Sync for MEMORY_VECT_DATA",1,["mavlink::common::MEMORY_VECT_DATA"]],["impl Sync for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::common::VIDEO_STREAM_INFORMATION_DATA"]],["impl Sync for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Sync for GPS_INPUT_DATA",1,["mavlink::common::GPS_INPUT_DATA"]],["impl Sync for COLLISION_DATA",1,["mavlink::common::COLLISION_DATA"]],["impl Sync for SCALED_IMU3_DATA",1,["mavlink::common::SCALED_IMU3_DATA"]],["impl Sync for CAMERA_INFORMATION_DATA",1,["mavlink::common::CAMERA_INFORMATION_DATA"]],["impl Sync for SET_ATTITUDE_TARGET_DATA",1,["mavlink::common::SET_ATTITUDE_TARGET_DATA"]],["impl Sync for PARAM_EXT_ACK_DATA",1,["mavlink::common::PARAM_EXT_ACK_DATA"]],["impl Sync for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::common::ORBIT_EXECUTION_STATUS_DATA"]],["impl Sync for SERIAL_CONTROL_DATA",1,["mavlink::common::SERIAL_CONTROL_DATA"]],["impl Sync for LOGGING_DATA_DATA",1,["mavlink::common::LOGGING_DATA_DATA"]],["impl Sync for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Sync for ALTITUDE_DATA",1,["mavlink::common::ALTITUDE_DATA"]],["impl Sync for RC_CHANNELS_DATA",1,["mavlink::common::RC_CHANNELS_DATA"]],["impl Sync for RESOURCE_REQUEST_DATA",1,["mavlink::common::RESOURCE_REQUEST_DATA"]],["impl Sync for COMPONENT_METADATA_DATA",1,["mavlink::common::COMPONENT_METADATA_DATA"]],["impl Sync for SUPPORTED_TUNES_DATA",1,["mavlink::common::SUPPORTED_TUNES_DATA"]],["impl Sync for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Sync for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Sync for BUTTON_CHANGE_DATA",1,["mavlink::common::BUTTON_CHANGE_DATA"]],["impl Sync for GLOBAL_POSITION_INT_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_DATA"]],["impl Sync for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::common::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Sync for ATTITUDE_QUATERNION_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_DATA"]],["impl Sync for LANDING_TARGET_DATA",1,["mavlink::common::LANDING_TARGET_DATA"]],["impl Sync for LOG_ENTRY_DATA",1,["mavlink::common::LOG_ENTRY_DATA"]],["impl Sync for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Sync for SET_MODE_DATA",1,["mavlink::common::SET_MODE_DATA"]],["impl Sync for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::common::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Sync for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::common::VICON_POSITION_ESTIMATE_DATA"]],["impl Sync for DEBUG_DATA",1,["mavlink::common::DEBUG_DATA"]],["impl Sync for COMMAND_INT_DATA",1,["mavlink::common::COMMAND_INT_DATA"]],["impl Sync for LOG_REQUEST_LIST_DATA",1,["mavlink::common::LOG_REQUEST_LIST_DATA"]],["impl Sync for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_COV_DATA"]],["impl Sync for UTM_GLOBAL_POSITION_DATA",1,["mavlink::common::UTM_GLOBAL_POSITION_DATA"]],["impl Sync for MISSION_SET_CURRENT_DATA",1,["mavlink::common::MISSION_SET_CURRENT_DATA"]],["impl Sync for AIS_VESSEL_DATA",1,["mavlink::common::AIS_VESSEL_DATA"]],["impl Sync for ATT_POS_MOCAP_DATA",1,["mavlink::common::ATT_POS_MOCAP_DATA"]],["impl Sync for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::common::HIL_RC_INPUTS_RAW_DATA"]],["impl Sync for LOG_REQUEST_DATA_DATA",1,["mavlink::common::LOG_REQUEST_DATA_DATA"]],["impl Sync for TUNNEL_DATA",1,["mavlink::common::TUNNEL_DATA"]],["impl Sync for NAMED_VALUE_FLOAT_DATA",1,["mavlink::common::NAMED_VALUE_FLOAT_DATA"]],["impl Sync for AUTH_KEY_DATA",1,["mavlink::common::AUTH_KEY_DATA"]],["impl Sync for TERRAIN_DATA_DATA",1,["mavlink::common::TERRAIN_DATA_DATA"]],["impl Sync for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Sync for CELLULAR_CONFIG_DATA",1,["mavlink::common::CELLULAR_CONFIG_DATA"]],["impl Sync for HEARTBEAT_DATA",1,["mavlink::common::HEARTBEAT_DATA"]],["impl Sync for MISSION_COUNT_DATA",1,["mavlink::common::MISSION_COUNT_DATA"]],["impl Sync for PING_DATA",1,["mavlink::common::PING_DATA"]],["impl Sync for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Sync for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_COV_DATA"]],["impl Sync for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::common::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Sync for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Sync for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::common::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Sync for PLAY_TUNE_V2_DATA",1,["mavlink::common::PLAY_TUNE_V2_DATA"]],["impl Sync for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::VISION_POSITION_ESTIMATE_DATA"]],["impl Sync for STORAGE_INFORMATION_DATA",1,["mavlink::common::STORAGE_INFORMATION_DATA"]],["impl Sync for SETUP_SIGNING_DATA",1,["mavlink::common::SETUP_SIGNING_DATA"]],["impl Sync for LOGGING_DATA_ACKED_DATA",1,["mavlink::common::LOGGING_DATA_ACKED_DATA"]],["impl Sync for LOG_ERASE_DATA",1,["mavlink::common::LOG_ERASE_DATA"]],["impl Sync for GPS_RAW_INT_DATA",1,["mavlink::common::GPS_RAW_INT_DATA"]],["impl Sync for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::common::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Sync for MISSION_ITEM_INT_DATA",1,["mavlink::common::MISSION_ITEM_INT_DATA"]],["impl Sync for WINCH_STATUS_DATA",1,["mavlink::common::WINCH_STATUS_DATA"]],["impl Sync for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::common::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Sync for GPS2_RAW_DATA",1,["mavlink::common::GPS2_RAW_DATA"]],["impl Sync for GPS_RTK_DATA",1,["mavlink::common::GPS_RTK_DATA"]],["impl Sync for VIBRATION_DATA",1,["mavlink::common::VIBRATION_DATA"]],["impl Sync for HIL_STATE_DATA",1,["mavlink::common::HIL_STATE_DATA"]],["impl Sync for GPS_STATUS_DATA",1,["mavlink::common::GPS_STATUS_DATA"]],["impl Sync for SCALED_IMU_DATA",1,["mavlink::common::SCALED_IMU_DATA"]],["impl Sync for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::common::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Sync for MISSION_REQUEST_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_LIST_DATA"]],["impl Sync for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Sync for PARAM_EXT_VALUE_DATA",1,["mavlink::common::PARAM_EXT_VALUE_DATA"]],["impl Sync for CELLULAR_STATUS_DATA",1,["mavlink::common::CELLULAR_STATUS_DATA"]],["impl Sync for CANFD_FRAME_DATA",1,["mavlink::common::CANFD_FRAME_DATA"]],["impl Sync for GPS_RTCM_DATA_DATA",1,["mavlink::common::GPS_RTCM_DATA_DATA"]],["impl Sync for MANUAL_CONTROL_DATA",1,["mavlink::common::MANUAL_CONTROL_DATA"]],["impl Sync for COMMAND_ACK_DATA",1,["mavlink::common::COMMAND_ACK_DATA"]],["impl Sync for RADIO_STATUS_DATA",1,["mavlink::common::RADIO_STATUS_DATA"]],["impl Sync for TERRAIN_REQUEST_DATA",1,["mavlink::common::TERRAIN_REQUEST_DATA"]],["impl Sync for VIDEO_STREAM_STATUS_DATA",1,["mavlink::common::VIDEO_STREAM_STATUS_DATA"]],["impl Sync for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::common::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Sync for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::common::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Sync for WHEEL_DISTANCE_DATA",1,["mavlink::common::WHEEL_DISTANCE_DATA"]],["impl Sync for MISSION_CURRENT_DATA",1,["mavlink::common::MISSION_CURRENT_DATA"]],["impl Sync for VFR_HUD_DATA",1,["mavlink::common::VFR_HUD_DATA"]],["impl Sync for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Sync for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Sync for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::common::VISION_SPEED_ESTIMATE_DATA"]],["impl Sync for BATTERY_STATUS_DATA",1,["mavlink::common::BATTERY_STATUS_DATA"]],["impl Sync for FENCE_STATUS_DATA",1,["mavlink::common::FENCE_STATUS_DATA"]],["impl Sync for PROTOCOL_VERSION_DATA",1,["mavlink::common::PROTOCOL_VERSION_DATA"]],["impl Sync for RAW_PRESSURE_DATA",1,["mavlink::common::RAW_PRESSURE_DATA"]],["impl Sync for SCALED_PRESSURE3_DATA",1,["mavlink::common::SCALED_PRESSURE3_DATA"]],["impl Sync for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::GPS_GLOBAL_ORIGIN_DATA"]],["impl Sync for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Sync for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Sync for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::common::RESPONSE_EVENT_ERROR_DATA"]],["impl Sync for LINK_NODE_STATUS_DATA",1,["mavlink::common::LINK_NODE_STATUS_DATA"]],["impl Sync for DATA_STREAM_DATA",1,["mavlink::common::DATA_STREAM_DATA"]],["impl Sync for HIL_SENSOR_DATA",1,["mavlink::common::HIL_SENSOR_DATA"]],["impl Sync for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::common::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Sync for WIND_COV_DATA",1,["mavlink::common::WIND_COV_DATA"]],["impl Sync for OPTICAL_FLOW_RAD_DATA",1,["mavlink::common::OPTICAL_FLOW_RAD_DATA"]],["impl Sync for TERRAIN_REPORT_DATA",1,["mavlink::common::TERRAIN_REPORT_DATA"]],["impl Sync for PARAM_MAP_RC_DATA",1,["mavlink::common::PARAM_MAP_RC_DATA"]],["impl Sync for CAMERA_TRIGGER_DATA",1,["mavlink::common::CAMERA_TRIGGER_DATA"]],["impl Sync for NAMED_VALUE_INT_DATA",1,["mavlink::common::NAMED_VALUE_INT_DATA"]],["impl Sync for CAMERA_SETTINGS_DATA",1,["mavlink::common::CAMERA_SETTINGS_DATA"]],["impl Sync for WIFI_CONFIG_AP_DATA",1,["mavlink::common::WIFI_CONFIG_AP_DATA"]],["impl Sync for HIGHRES_IMU_DATA",1,["mavlink::common::HIGHRES_IMU_DATA"]],["impl Sync for FLIGHT_INFORMATION_DATA",1,["mavlink::common::FLIGHT_INFORMATION_DATA"]],["impl Sync for MAG_CAL_REPORT_DATA",1,["mavlink::common::MAG_CAL_REPORT_DATA"]],["impl Sync for ATTITUDE_DATA",1,["mavlink::common::ATTITUDE_DATA"]],["impl Sync for MISSION_ITEM_REACHED_DATA",1,["mavlink::common::MISSION_ITEM_REACHED_DATA"]],["impl Sync for POWER_STATUS_DATA",1,["mavlink::common::POWER_STATUS_DATA"]],["impl Sync for MISSION_REQUEST_INT_DATA",1,["mavlink::common::MISSION_REQUEST_INT_DATA"]],["impl Sync for SMART_BATTERY_INFO_DATA",1,["mavlink::common::SMART_BATTERY_INFO_DATA"]],["impl Sync for PARAM_REQUEST_READ_DATA",1,["mavlink::common::PARAM_REQUEST_READ_DATA"]],["impl Sync for COMMAND_LONG_DATA",1,["mavlink::common::COMMAND_LONG_DATA"]],["impl Sync for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Sync for OPTICAL_FLOW_DATA",1,["mavlink::common::OPTICAL_FLOW_DATA"]],["impl Sync for HIL_CONTROLS_DATA",1,["mavlink::common::HIL_CONTROLS_DATA"]],["impl Sync for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::common::CAMERA_CAPTURE_STATUS_DATA"]],["impl Sync for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Sync for COMMAND_CANCEL_DATA",1,["mavlink::common::COMMAND_CANCEL_DATA"]],["impl Sync for ODOMETRY_DATA",1,["mavlink::common::ODOMETRY_DATA"]],["impl Sync for ADSB_VEHICLE_DATA",1,["mavlink::common::ADSB_VEHICLE_DATA"]],["impl Sync for MESSAGE_INTERVAL_DATA",1,["mavlink::common::MESSAGE_INTERVAL_DATA"]],["impl Sync for DISTANCE_SENSOR_DATA",1,["mavlink::common::DISTANCE_SENSOR_DATA"]],["impl Sync for RC_CHANNELS_RAW_DATA",1,["mavlink::common::RC_CHANNELS_RAW_DATA"]],["impl Sync for HOME_POSITION_DATA",1,["mavlink::common::HOME_POSITION_DATA"]],["impl Sync for MISSION_REQUEST_DATA",1,["mavlink::common::MISSION_REQUEST_DATA"]],["impl Sync for HIL_STATE_QUATERNION_DATA",1,["mavlink::common::HIL_STATE_QUATERNION_DATA"]],["impl Sync for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::common::RC_CHANNELS_OVERRIDE_DATA"]],["impl Sync for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Sync for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::common::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Sync for EXTENDED_SYS_STATE_DATA",1,["mavlink::common::EXTENDED_SYS_STATE_DATA"]],["impl Sync for ATTITUDE_TARGET_DATA",1,["mavlink::common::ATTITUDE_TARGET_DATA"]],["impl Sync for MANUAL_SETPOINT_DATA",1,["mavlink::common::MANUAL_SETPOINT_DATA"]],["impl Sync for UAVCAN_NODE_INFO_DATA",1,["mavlink::common::UAVCAN_NODE_INFO_DATA"]],["impl Sync for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Sync for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Sync for RAW_RPM_DATA",1,["mavlink::common::RAW_RPM_DATA"]],["impl Sync for GPS2_RTK_DATA",1,["mavlink::common::GPS2_RTK_DATA"]],["impl Sync for HIL_OPTICAL_FLOW_DATA",1,["mavlink::common::HIL_OPTICAL_FLOW_DATA"]],["impl Sync for CAMERA_FOV_STATUS_DATA",1,["mavlink::common::CAMERA_FOV_STATUS_DATA"]],["impl Sync for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::common::DEBUG_FLOAT_ARRAY_DATA"]],["impl Sync for GENERATOR_STATUS_DATA",1,["mavlink::common::GENERATOR_STATUS_DATA"]],["impl Sync for ESC_STATUS_DATA",1,["mavlink::common::ESC_STATUS_DATA"]],["impl Sync for MavMessage",1,["mavlink::common::MavMessage"]],["impl<'a> Sync for Bytes<'a>",1,["mavlink::bytes::Bytes"]],["impl<'a> Sync for BytesMut<'a>",1,["mavlink::bytes_mut::BytesMut"]],["impl Sync for ParserError",1,["mavlink::error::ParserError"]],["impl Sync for MessageReadError",1,["mavlink::error::MessageReadError"]],["impl Sync for MessageWriteError",1,["mavlink::error::MessageWriteError"]],["impl Sync for MavHeader",1,["mavlink::MavHeader"]],["impl Sync for MavlinkVersion",1,["mavlink::MavlinkVersion"]],["impl<M> Sync for MavFrame<M>where\n M: Sync,",1,["mavlink::MavFrame"]],["impl Sync for MAVLinkV1MessageRaw",1,["mavlink::MAVLinkV1MessageRaw"]],["impl Sync for MAVLinkV2MessageRaw",1,["mavlink::MAVLinkV2MessageRaw"]]], "num_traits":[["impl Sync for FloatErrorKind",1,["num_traits::FloatErrorKind"]],["impl Sync for ParseFloatError",1,["num_traits::ParseFloatError"]]], "proc_macro2":[["impl !Sync for DelimSpan",1,["proc_macro2::extra::DelimSpan"]],["impl !Sync for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl !Sync for TokenStream",1,["proc_macro2::TokenStream"]],["impl !Sync for LexError",1,["proc_macro2::LexError"]],["impl !Sync for Span",1,["proc_macro2::Span"]],["impl !Sync for TokenTree",1,["proc_macro2::TokenTree"]],["impl !Sync for Group",1,["proc_macro2::Group"]],["impl Sync for Delimiter",1,["proc_macro2::Delimiter"]],["impl !Sync for Punct",1,["proc_macro2::Punct"]],["impl Sync for Spacing",1,["proc_macro2::Spacing"]],["impl !Sync for Ident",1,["proc_macro2::Ident"]],["impl !Sync for Literal",1,["proc_macro2::Literal"]]], "serde":[["impl Sync for Error",1,["serde::de::value::Error"]],["impl<E> Sync for UnitDeserializer<E>where\n E: Sync,",1,["serde::de::value::UnitDeserializer"]],["impl<E> Sync for BoolDeserializer<E>where\n E: Sync,",1,["serde::de::value::BoolDeserializer"]],["impl<E> Sync for I8Deserializer<E>where\n E: Sync,",1,["serde::de::value::I8Deserializer"]],["impl<E> Sync for I16Deserializer<E>where\n E: Sync,",1,["serde::de::value::I16Deserializer"]],["impl<E> Sync for I32Deserializer<E>where\n E: Sync,",1,["serde::de::value::I32Deserializer"]],["impl<E> Sync for I64Deserializer<E>where\n E: Sync,",1,["serde::de::value::I64Deserializer"]],["impl<E> Sync for I128Deserializer<E>where\n E: Sync,",1,["serde::de::value::I128Deserializer"]],["impl<E> Sync for IsizeDeserializer<E>where\n E: Sync,",1,["serde::de::value::IsizeDeserializer"]],["impl<E> Sync for U8Deserializer<E>where\n E: Sync,",1,["serde::de::value::U8Deserializer"]],["impl<E> Sync for U16Deserializer<E>where\n E: Sync,",1,["serde::de::value::U16Deserializer"]],["impl<E> Sync for U64Deserializer<E>where\n E: Sync,",1,["serde::de::value::U64Deserializer"]],["impl<E> Sync for U128Deserializer<E>where\n E: Sync,",1,["serde::de::value::U128Deserializer"]],["impl<E> Sync for UsizeDeserializer<E>where\n E: Sync,",1,["serde::de::value::UsizeDeserializer"]],["impl<E> Sync for F32Deserializer<E>where\n E: Sync,",1,["serde::de::value::F32Deserializer"]],["impl<E> Sync for F64Deserializer<E>where\n E: Sync,",1,["serde::de::value::F64Deserializer"]],["impl<E> Sync for CharDeserializer<E>where\n E: Sync,",1,["serde::de::value::CharDeserializer"]],["impl<E> Sync for U32Deserializer<E>where\n E: Sync,",1,["serde::de::value::U32Deserializer"]],["impl<'a, E> Sync for StrDeserializer<'a, E>where\n E: Sync,",1,["serde::de::value::StrDeserializer"]],["impl<'de, E> Sync for BorrowedStrDeserializer<'de, E>where\n E: Sync,",1,["serde::de::value::BorrowedStrDeserializer"]],["impl<E> Sync for StringDeserializer<E>where\n E: Sync,",1,["serde::de::value::StringDeserializer"]],["impl<'a, E> Sync for CowStrDeserializer<'a, E>where\n E: Sync,",1,["serde::de::value::CowStrDeserializer"]],["impl<'a, E> Sync for BytesDeserializer<'a, E>where\n E: Sync,",1,["serde::de::value::BytesDeserializer"]],["impl<'de, E> Sync for BorrowedBytesDeserializer<'de, E>where\n E: Sync,",1,["serde::de::value::BorrowedBytesDeserializer"]],["impl<I, E> Sync for SeqDeserializer<I, E>where\n E: Sync,\n I: Sync,",1,["serde::de::value::SeqDeserializer"]],["impl<A> Sync for SeqAccessDeserializer<A>where\n A: Sync,",1,["serde::de::value::SeqAccessDeserializer"]],["impl<'de, I, E> Sync for MapDeserializer<'de, I, E>where\n E: Sync,\n I: Sync,\n <<I as Iterator>::Item as Pair>::Second: Sync,",1,["serde::de::value::MapDeserializer"]],["impl<A> Sync for MapAccessDeserializer<A>where\n A: Sync,",1,["serde::de::value::MapAccessDeserializer"]],["impl<A> Sync for EnumAccessDeserializer<A>where\n A: Sync,",1,["serde::de::value::EnumAccessDeserializer"]],["impl Sync for IgnoredAny",1,["serde::de::ignored_any::IgnoredAny"]],["impl<'a> Sync for Unexpected<'a>",1,["serde::de::Unexpected"]],["impl<Ok, Error> Sync for Impossible<Ok, Error>where\n Error: Sync,\n Ok: Sync,",1,["serde::ser::impossible::Impossible"]]], diff --git a/trait.impl/core/marker/trait.Unpin.js b/trait.impl/core/marker/trait.Unpin.js index 9b0c1d1616..cacf77146b 100644 --- a/trait.impl/core/marker/trait.Unpin.js +++ b/trait.impl/core/marker/trait.Unpin.js @@ -2,7 +2,7 @@ "byteorder":[["impl Unpin for BigEndian",1,["byteorder::BigEndian"]],["impl Unpin for LittleEndian",1,["byteorder::LittleEndian"]]], "crc_any":[["impl Unpin for CRCu16",1,["crc_any::crc_u16::CRCu16"]],["impl Unpin for CRCu32",1,["crc_any::crc_u32::CRCu32"]],["impl Unpin for CRCu64",1,["crc_any::crc_u64::CRCu64"]],["impl Unpin for CRCu8",1,["crc_any::crc_u8::CRCu8"]],["impl Unpin for CRC",1,["crc_any::CRC"]]], "libc":[["impl Unpin for statvfs",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::not_x32::statvfs"]],["impl Unpin for max_align_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::align::max_align_t"]],["impl Unpin for clone_args",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::align::clone_args"]],["impl Unpin for sigaction",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::sigaction"]],["impl Unpin for statfs",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statfs"]],["impl Unpin for flock",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::flock"]],["impl Unpin for flock64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::flock64"]],["impl Unpin for siginfo_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::siginfo_t"]],["impl Unpin for stack_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stack_t"]],["impl Unpin for stat",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stat"]],["impl Unpin for stat64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stat64"]],["impl Unpin for statfs64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statfs64"]],["impl Unpin for statvfs64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statvfs64"]],["impl Unpin for pthread_attr_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::pthread_attr_t"]],["impl Unpin for _libc_fpxreg",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_fpxreg"]],["impl Unpin for _libc_xmmreg",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_xmmreg"]],["impl Unpin for _libc_fpstate",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_fpstate"]],["impl Unpin for user_regs_struct",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user_regs_struct"]],["impl Unpin for user",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user"]],["impl Unpin for mcontext_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::mcontext_t"]],["impl Unpin for ipc_perm",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ipc_perm"]],["impl Unpin for shmid_ds",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::shmid_ds"]],["impl Unpin for seccomp_notif_sizes",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::seccomp_notif_sizes"]],["impl Unpin for ptrace_rseq_configuration",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ptrace_rseq_configuration"]],["impl Unpin for user_fpregs_struct",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user_fpregs_struct"]],["impl Unpin for ucontext_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ucontext_t"]],["impl Unpin for sigset_t",1,["libc::unix::linux_like::linux::gnu::b64::sigset_t"]],["impl Unpin for sysinfo",1,["libc::unix::linux_like::linux::gnu::b64::sysinfo"]],["impl Unpin for msqid_ds",1,["libc::unix::linux_like::linux::gnu::b64::msqid_ds"]],["impl Unpin for semid_ds",1,["libc::unix::linux_like::linux::gnu::b64::semid_ds"]],["impl Unpin for sem_t",1,["libc::unix::linux_like::linux::gnu::align::sem_t"]],["impl Unpin for statx",1,["libc::unix::linux_like::linux::gnu::statx"]],["impl Unpin for statx_timestamp",1,["libc::unix::linux_like::linux::gnu::statx_timestamp"]],["impl Unpin for aiocb",1,["libc::unix::linux_like::linux::gnu::aiocb"]],["impl Unpin for __exit_status",1,["libc::unix::linux_like::linux::gnu::__exit_status"]],["impl Unpin for __timeval",1,["libc::unix::linux_like::linux::gnu::__timeval"]],["impl Unpin for glob64_t",1,["libc::unix::linux_like::linux::gnu::glob64_t"]],["impl Unpin for msghdr",1,["libc::unix::linux_like::linux::gnu::msghdr"]],["impl Unpin for cmsghdr",1,["libc::unix::linux_like::linux::gnu::cmsghdr"]],["impl Unpin for termios",1,["libc::unix::linux_like::linux::gnu::termios"]],["impl Unpin for mallinfo",1,["libc::unix::linux_like::linux::gnu::mallinfo"]],["impl Unpin for mallinfo2",1,["libc::unix::linux_like::linux::gnu::mallinfo2"]],["impl Unpin for nl_pktinfo",1,["libc::unix::linux_like::linux::gnu::nl_pktinfo"]],["impl Unpin for nl_mmap_req",1,["libc::unix::linux_like::linux::gnu::nl_mmap_req"]],["impl Unpin for nl_mmap_hdr",1,["libc::unix::linux_like::linux::gnu::nl_mmap_hdr"]],["impl Unpin for rtentry",1,["libc::unix::linux_like::linux::gnu::rtentry"]],["impl Unpin for timex",1,["libc::unix::linux_like::linux::gnu::timex"]],["impl Unpin for ntptimeval",1,["libc::unix::linux_like::linux::gnu::ntptimeval"]],["impl Unpin for regex_t",1,["libc::unix::linux_like::linux::gnu::regex_t"]],["impl Unpin for Elf64_Chdr",1,["libc::unix::linux_like::linux::gnu::Elf64_Chdr"]],["impl Unpin for Elf32_Chdr",1,["libc::unix::linux_like::linux::gnu::Elf32_Chdr"]],["impl Unpin for seminfo",1,["libc::unix::linux_like::linux::gnu::seminfo"]],["impl Unpin for ptrace_peeksiginfo_args",1,["libc::unix::linux_like::linux::gnu::ptrace_peeksiginfo_args"]],["impl Unpin for __c_anonymous_ptrace_syscall_info_entry",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_entry"]],["impl Unpin for __c_anonymous_ptrace_syscall_info_exit",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_exit"]],["impl Unpin for __c_anonymous_ptrace_syscall_info_seccomp",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_seccomp"]],["impl Unpin for ptrace_syscall_info",1,["libc::unix::linux_like::linux::gnu::ptrace_syscall_info"]],["impl Unpin for sockaddr_xdp",1,["libc::unix::linux_like::linux::gnu::sockaddr_xdp"]],["impl Unpin for xdp_ring_offset",1,["libc::unix::linux_like::linux::gnu::xdp_ring_offset"]],["impl Unpin for xdp_mmap_offsets",1,["libc::unix::linux_like::linux::gnu::xdp_mmap_offsets"]],["impl Unpin for xdp_ring_offset_v1",1,["libc::unix::linux_like::linux::gnu::xdp_ring_offset_v1"]],["impl Unpin for xdp_mmap_offsets_v1",1,["libc::unix::linux_like::linux::gnu::xdp_mmap_offsets_v1"]],["impl Unpin for xdp_umem_reg",1,["libc::unix::linux_like::linux::gnu::xdp_umem_reg"]],["impl Unpin for xdp_umem_reg_v1",1,["libc::unix::linux_like::linux::gnu::xdp_umem_reg_v1"]],["impl Unpin for xdp_statistics",1,["libc::unix::linux_like::linux::gnu::xdp_statistics"]],["impl Unpin for xdp_statistics_v1",1,["libc::unix::linux_like::linux::gnu::xdp_statistics_v1"]],["impl Unpin for xdp_options",1,["libc::unix::linux_like::linux::gnu::xdp_options"]],["impl Unpin for xdp_desc",1,["libc::unix::linux_like::linux::gnu::xdp_desc"]],["impl Unpin for __c_anonymous_ptrace_syscall_info_data",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_data"]],["impl Unpin for utmpx",1,["libc::unix::linux_like::linux::gnu::utmpx"]],["impl Unpin for termios2",1,["libc::unix::linux_like::linux::arch::generic::termios2"]],["impl Unpin for open_how",1,["libc::unix::linux_like::linux::non_exhaustive::open_how"]],["impl Unpin for fpos64_t",1,["libc::unix::linux_like::linux::fpos64_t"]],["impl Unpin for glob_t",1,["libc::unix::linux_like::linux::glob_t"]],["impl Unpin for passwd",1,["libc::unix::linux_like::linux::passwd"]],["impl Unpin for spwd",1,["libc::unix::linux_like::linux::spwd"]],["impl Unpin for dqblk",1,["libc::unix::linux_like::linux::dqblk"]],["impl Unpin for signalfd_siginfo",1,["libc::unix::linux_like::linux::signalfd_siginfo"]],["impl Unpin for itimerspec",1,["libc::unix::linux_like::linux::itimerspec"]],["impl Unpin for fsid_t",1,["libc::unix::linux_like::linux::fsid_t"]],["impl Unpin for packet_mreq",1,["libc::unix::linux_like::linux::packet_mreq"]],["impl Unpin for cpu_set_t",1,["libc::unix::linux_like::linux::cpu_set_t"]],["impl Unpin for if_nameindex",1,["libc::unix::linux_like::linux::if_nameindex"]],["impl Unpin for msginfo",1,["libc::unix::linux_like::linux::msginfo"]],["impl Unpin for sembuf",1,["libc::unix::linux_like::linux::sembuf"]],["impl Unpin for input_event",1,["libc::unix::linux_like::linux::input_event"]],["impl Unpin for input_id",1,["libc::unix::linux_like::linux::input_id"]],["impl Unpin for input_absinfo",1,["libc::unix::linux_like::linux::input_absinfo"]],["impl Unpin for input_keymap_entry",1,["libc::unix::linux_like::linux::input_keymap_entry"]],["impl Unpin for input_mask",1,["libc::unix::linux_like::linux::input_mask"]],["impl Unpin for ff_replay",1,["libc::unix::linux_like::linux::ff_replay"]],["impl Unpin for ff_trigger",1,["libc::unix::linux_like::linux::ff_trigger"]],["impl Unpin for ff_envelope",1,["libc::unix::linux_like::linux::ff_envelope"]],["impl Unpin for ff_constant_effect",1,["libc::unix::linux_like::linux::ff_constant_effect"]],["impl Unpin for ff_ramp_effect",1,["libc::unix::linux_like::linux::ff_ramp_effect"]],["impl Unpin for ff_condition_effect",1,["libc::unix::linux_like::linux::ff_condition_effect"]],["impl Unpin for ff_periodic_effect",1,["libc::unix::linux_like::linux::ff_periodic_effect"]],["impl Unpin for ff_rumble_effect",1,["libc::unix::linux_like::linux::ff_rumble_effect"]],["impl Unpin for ff_effect",1,["libc::unix::linux_like::linux::ff_effect"]],["impl Unpin for uinput_ff_upload",1,["libc::unix::linux_like::linux::uinput_ff_upload"]],["impl Unpin for uinput_ff_erase",1,["libc::unix::linux_like::linux::uinput_ff_erase"]],["impl Unpin for uinput_abs_setup",1,["libc::unix::linux_like::linux::uinput_abs_setup"]],["impl Unpin for dl_phdr_info",1,["libc::unix::linux_like::linux::dl_phdr_info"]],["impl Unpin for Elf32_Ehdr",1,["libc::unix::linux_like::linux::Elf32_Ehdr"]],["impl Unpin for Elf64_Ehdr",1,["libc::unix::linux_like::linux::Elf64_Ehdr"]],["impl Unpin for Elf32_Sym",1,["libc::unix::linux_like::linux::Elf32_Sym"]],["impl Unpin for Elf64_Sym",1,["libc::unix::linux_like::linux::Elf64_Sym"]],["impl Unpin for Elf32_Phdr",1,["libc::unix::linux_like::linux::Elf32_Phdr"]],["impl Unpin for Elf64_Phdr",1,["libc::unix::linux_like::linux::Elf64_Phdr"]],["impl Unpin for Elf32_Shdr",1,["libc::unix::linux_like::linux::Elf32_Shdr"]],["impl Unpin for Elf64_Shdr",1,["libc::unix::linux_like::linux::Elf64_Shdr"]],["impl Unpin for ucred",1,["libc::unix::linux_like::linux::ucred"]],["impl Unpin for mntent",1,["libc::unix::linux_like::linux::mntent"]],["impl Unpin for posix_spawn_file_actions_t",1,["libc::unix::linux_like::linux::posix_spawn_file_actions_t"]],["impl Unpin for posix_spawnattr_t",1,["libc::unix::linux_like::linux::posix_spawnattr_t"]],["impl Unpin for genlmsghdr",1,["libc::unix::linux_like::linux::genlmsghdr"]],["impl Unpin for in6_pktinfo",1,["libc::unix::linux_like::linux::in6_pktinfo"]],["impl Unpin for arpd_request",1,["libc::unix::linux_like::linux::arpd_request"]],["impl Unpin for inotify_event",1,["libc::unix::linux_like::linux::inotify_event"]],["impl Unpin for fanotify_response",1,["libc::unix::linux_like::linux::fanotify_response"]],["impl Unpin for sockaddr_vm",1,["libc::unix::linux_like::linux::sockaddr_vm"]],["impl Unpin for regmatch_t",1,["libc::unix::linux_like::linux::regmatch_t"]],["impl Unpin for sock_extended_err",1,["libc::unix::linux_like::linux::sock_extended_err"]],["impl Unpin for __c_anonymous_sockaddr_can_tp",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_tp"]],["impl Unpin for __c_anonymous_sockaddr_can_j1939",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_j1939"]],["impl Unpin for can_filter",1,["libc::unix::linux_like::linux::can_filter"]],["impl Unpin for j1939_filter",1,["libc::unix::linux_like::linux::j1939_filter"]],["impl Unpin for sock_filter",1,["libc::unix::linux_like::linux::sock_filter"]],["impl Unpin for sock_fprog",1,["libc::unix::linux_like::linux::sock_fprog"]],["impl Unpin for seccomp_data",1,["libc::unix::linux_like::linux::seccomp_data"]],["impl Unpin for nlmsghdr",1,["libc::unix::linux_like::linux::nlmsghdr"]],["impl Unpin for nlmsgerr",1,["libc::unix::linux_like::linux::nlmsgerr"]],["impl Unpin for nlattr",1,["libc::unix::linux_like::linux::nlattr"]],["impl Unpin for file_clone_range",1,["libc::unix::linux_like::linux::file_clone_range"]],["impl Unpin for __c_anonymous_ifru_map",1,["libc::unix::linux_like::linux::__c_anonymous_ifru_map"]],["impl Unpin for in6_ifreq",1,["libc::unix::linux_like::linux::in6_ifreq"]],["impl Unpin for option",1,["libc::unix::linux_like::linux::option"]],["impl Unpin for sctp_initmsg",1,["libc::unix::linux_like::linux::sctp_initmsg"]],["impl Unpin for sctp_sndrcvinfo",1,["libc::unix::linux_like::linux::sctp_sndrcvinfo"]],["impl Unpin for sctp_sndinfo",1,["libc::unix::linux_like::linux::sctp_sndinfo"]],["impl Unpin for sctp_rcvinfo",1,["libc::unix::linux_like::linux::sctp_rcvinfo"]],["impl Unpin for sctp_nxtinfo",1,["libc::unix::linux_like::linux::sctp_nxtinfo"]],["impl Unpin for sctp_prinfo",1,["libc::unix::linux_like::linux::sctp_prinfo"]],["impl Unpin for sctp_authinfo",1,["libc::unix::linux_like::linux::sctp_authinfo"]],["impl Unpin for rlimit64",1,["libc::unix::linux_like::linux::rlimit64"]],["impl Unpin for tls_crypto_info",1,["libc::unix::linux_like::linux::tls_crypto_info"]],["impl Unpin for tls12_crypto_info_aes_gcm_128",1,["libc::unix::linux_like::linux::tls12_crypto_info_aes_gcm_128"]],["impl Unpin for tls12_crypto_info_aes_gcm_256",1,["libc::unix::linux_like::linux::tls12_crypto_info_aes_gcm_256"]],["impl Unpin for tls12_crypto_info_chacha20_poly1305",1,["libc::unix::linux_like::linux::tls12_crypto_info_chacha20_poly1305"]],["impl Unpin for sockaddr_nl",1,["libc::unix::linux_like::linux::sockaddr_nl"]],["impl Unpin for dirent",1,["libc::unix::linux_like::linux::dirent"]],["impl Unpin for sockaddr_alg",1,["libc::unix::linux_like::linux::sockaddr_alg"]],["impl Unpin for uinput_setup",1,["libc::unix::linux_like::linux::uinput_setup"]],["impl Unpin for uinput_user_dev",1,["libc::unix::linux_like::linux::uinput_user_dev"]],["impl Unpin for af_alg_iv",1,["libc::unix::linux_like::linux::af_alg_iv"]],["impl Unpin for mq_attr",1,["libc::unix::linux_like::linux::mq_attr"]],["impl Unpin for __c_anonymous_ifr_ifru",1,["libc::unix::linux_like::linux::__c_anonymous_ifr_ifru"]],["impl Unpin for ifreq",1,["libc::unix::linux_like::linux::ifreq"]],["impl Unpin for __c_anonymous_ifc_ifcu",1,["libc::unix::linux_like::linux::__c_anonymous_ifc_ifcu"]],["impl Unpin for ifconf",1,["libc::unix::linux_like::linux::ifconf"]],["impl Unpin for hwtstamp_config",1,["libc::unix::linux_like::linux::hwtstamp_config"]],["impl Unpin for dirent64",1,["libc::unix::linux_like::linux::dirent64"]],["impl Unpin for sock_txtime",1,["libc::unix::linux_like::linux::sock_txtime"]],["impl Unpin for __c_anonymous_sockaddr_can_can_addr",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_can_addr"]],["impl Unpin for sockaddr_can",1,["libc::unix::linux_like::linux::sockaddr_can"]],["impl Unpin for pthread_mutexattr_t",1,["libc::unix::linux_like::linux::pthread_mutexattr_t"]],["impl Unpin for pthread_rwlockattr_t",1,["libc::unix::linux_like::linux::pthread_rwlockattr_t"]],["impl Unpin for pthread_condattr_t",1,["libc::unix::linux_like::linux::pthread_condattr_t"]],["impl Unpin for pthread_barrierattr_t",1,["libc::unix::linux_like::linux::pthread_barrierattr_t"]],["impl Unpin for fanotify_event_metadata",1,["libc::unix::linux_like::linux::fanotify_event_metadata"]],["impl Unpin for pthread_cond_t",1,["libc::unix::linux_like::linux::pthread_cond_t"]],["impl Unpin for pthread_mutex_t",1,["libc::unix::linux_like::linux::pthread_mutex_t"]],["impl Unpin for pthread_rwlock_t",1,["libc::unix::linux_like::linux::pthread_rwlock_t"]],["impl Unpin for pthread_barrier_t",1,["libc::unix::linux_like::linux::pthread_barrier_t"]],["impl Unpin for can_frame",1,["libc::unix::linux_like::linux::can_frame"]],["impl Unpin for canfd_frame",1,["libc::unix::linux_like::linux::canfd_frame"]],["impl Unpin for canxl_frame",1,["libc::unix::linux_like::linux::canxl_frame"]],["impl Unpin for timezone",1,["libc::unix::linux_like::timezone"]],["impl Unpin for in_addr",1,["libc::unix::linux_like::in_addr"]],["impl Unpin for ip_mreq",1,["libc::unix::linux_like::ip_mreq"]],["impl Unpin for ip_mreqn",1,["libc::unix::linux_like::ip_mreqn"]],["impl Unpin for ip_mreq_source",1,["libc::unix::linux_like::ip_mreq_source"]],["impl Unpin for sockaddr",1,["libc::unix::linux_like::sockaddr"]],["impl Unpin for sockaddr_in",1,["libc::unix::linux_like::sockaddr_in"]],["impl Unpin for sockaddr_in6",1,["libc::unix::linux_like::sockaddr_in6"]],["impl Unpin for addrinfo",1,["libc::unix::linux_like::addrinfo"]],["impl Unpin for sockaddr_ll",1,["libc::unix::linux_like::sockaddr_ll"]],["impl Unpin for fd_set",1,["libc::unix::linux_like::fd_set"]],["impl Unpin for tm",1,["libc::unix::linux_like::tm"]],["impl Unpin for sched_param",1,["libc::unix::linux_like::sched_param"]],["impl Unpin for Dl_info",1,["libc::unix::linux_like::Dl_info"]],["impl Unpin for lconv",1,["libc::unix::linux_like::lconv"]],["impl Unpin for in_pktinfo",1,["libc::unix::linux_like::in_pktinfo"]],["impl Unpin for ifaddrs",1,["libc::unix::linux_like::ifaddrs"]],["impl Unpin for in6_rtmsg",1,["libc::unix::linux_like::in6_rtmsg"]],["impl Unpin for arpreq",1,["libc::unix::linux_like::arpreq"]],["impl Unpin for arpreq_old",1,["libc::unix::linux_like::arpreq_old"]],["impl Unpin for arphdr",1,["libc::unix::linux_like::arphdr"]],["impl Unpin for mmsghdr",1,["libc::unix::linux_like::mmsghdr"]],["impl Unpin for epoll_event",1,["libc::unix::linux_like::epoll_event"]],["impl Unpin for sockaddr_un",1,["libc::unix::linux_like::sockaddr_un"]],["impl Unpin for sockaddr_storage",1,["libc::unix::linux_like::sockaddr_storage"]],["impl Unpin for utsname",1,["libc::unix::linux_like::utsname"]],["impl Unpin for sigevent",1,["libc::unix::linux_like::sigevent"]],["impl Unpin for in6_addr",1,["libc::unix::align::in6_addr"]],["impl Unpin for DIR",1,["libc::unix::DIR"]],["impl Unpin for group",1,["libc::unix::group"]],["impl Unpin for utimbuf",1,["libc::unix::utimbuf"]],["impl Unpin for timeval",1,["libc::unix::timeval"]],["impl Unpin for timespec",1,["libc::unix::timespec"]],["impl Unpin for rlimit",1,["libc::unix::rlimit"]],["impl Unpin for rusage",1,["libc::unix::rusage"]],["impl Unpin for ipv6_mreq",1,["libc::unix::ipv6_mreq"]],["impl Unpin for hostent",1,["libc::unix::hostent"]],["impl Unpin for iovec",1,["libc::unix::iovec"]],["impl Unpin for pollfd",1,["libc::unix::pollfd"]],["impl Unpin for winsize",1,["libc::unix::winsize"]],["impl Unpin for linger",1,["libc::unix::linger"]],["impl Unpin for sigval",1,["libc::unix::sigval"]],["impl Unpin for itimerval",1,["libc::unix::itimerval"]],["impl Unpin for tms",1,["libc::unix::tms"]],["impl Unpin for servent",1,["libc::unix::servent"]],["impl Unpin for protoent",1,["libc::unix::protoent"]],["impl Unpin for FILE",1,["libc::unix::FILE"]],["impl Unpin for fpos_t",1,["libc::unix::fpos_t"]]], -"mavlink":[["impl Unpin for IcarousFmsState",1,["mavlink::icarous::IcarousFmsState"]],["impl Unpin for IcarousTrackBandTypes",1,["mavlink::icarous::IcarousTrackBandTypes"]],["impl Unpin for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::icarous::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Unpin for ICAROUS_HEARTBEAT_DATA",1,["mavlink::icarous::ICAROUS_HEARTBEAT_DATA"]],["impl Unpin for MavMessage",1,["mavlink::icarous::MavMessage"]],["impl Unpin for WinchActions",1,["mavlink::ardupilotmega::WinchActions"]],["impl Unpin for AisNavStatus",1,["mavlink::ardupilotmega::AisNavStatus"]],["impl Unpin for IcarousFmsState",1,["mavlink::ardupilotmega::IcarousFmsState"]],["impl Unpin for SetFocusType",1,["mavlink::ardupilotmega::SetFocusType"]],["impl Unpin for MavOdidIdType",1,["mavlink::ardupilotmega::MavOdidIdType"]],["impl Unpin for NavVtolLandOptions",1,["mavlink::ardupilotmega::NavVtolLandOptions"]],["impl Unpin for VtolTransitionHeading",1,["mavlink::ardupilotmega::VtolTransitionHeading"]],["impl Unpin for GoproResolution",1,["mavlink::ardupilotmega::GoproResolution"]],["impl Unpin for CameraFeedbackFlags",1,["mavlink::ardupilotmega::CameraFeedbackFlags"]],["impl Unpin for PrecisionLandMode",1,["mavlink::ardupilotmega::PrecisionLandMode"]],["impl Unpin for UavcanNodeHealth",1,["mavlink::ardupilotmega::UavcanNodeHealth"]],["impl Unpin for GoproProtuneSharpness",1,["mavlink::ardupilotmega::GoproProtuneSharpness"]],["impl Unpin for CellularStatusFlag",1,["mavlink::ardupilotmega::CellularStatusFlag"]],["impl Unpin for MavComponent",1,["mavlink::ardupilotmega::MavComponent"]],["impl Unpin for GoproFrameRate",1,["mavlink::ardupilotmega::GoproFrameRate"]],["impl Unpin for GoproBurstRate",1,["mavlink::ardupilotmega::GoproBurstRate"]],["impl Unpin for FailureUnit",1,["mavlink::ardupilotmega::FailureUnit"]],["impl Unpin for MavPowerStatus",1,["mavlink::ardupilotmega::MavPowerStatus"]],["impl Unpin for MavOdidDescType",1,["mavlink::ardupilotmega::MavOdidDescType"]],["impl Unpin for UavionixAdsbEmergencyStatus",1,["mavlink::ardupilotmega::UavionixAdsbEmergencyStatus"]],["impl Unpin for MavType",1,["mavlink::ardupilotmega::MavType"]],["impl Unpin for MavFrame",1,["mavlink::ardupilotmega::MavFrame"]],["impl Unpin for MavModeFlagDecodePosition",1,["mavlink::ardupilotmega::MavModeFlagDecodePosition"]],["impl Unpin for MavDataStream",1,["mavlink::ardupilotmega::MavDataStream"]],["impl Unpin for MavDoRepositionFlags",1,["mavlink::ardupilotmega::MavDoRepositionFlags"]],["impl Unpin for MavEstimatorType",1,["mavlink::ardupilotmega::MavEstimatorType"]],["impl Unpin for MavBatteryType",1,["mavlink::ardupilotmega::MavBatteryType"]],["impl Unpin for HlFailureFlag",1,["mavlink::ardupilotmega::HlFailureFlag"]],["impl Unpin for GimbalManagerFlags",1,["mavlink::ardupilotmega::GimbalManagerFlags"]],["impl Unpin for LedControlPattern",1,["mavlink::ardupilotmega::LedControlPattern"]],["impl Unpin for PreflightStorageParameterAction",1,["mavlink::ardupilotmega::PreflightStorageParameterAction"]],["impl Unpin for TuneFormat",1,["mavlink::ardupilotmega::TuneFormat"]],["impl Unpin for MavOdidOperatorLocationType",1,["mavlink::ardupilotmega::MavOdidOperatorLocationType"]],["impl Unpin for PlaneMode",1,["mavlink::ardupilotmega::PlaneMode"]],["impl Unpin for ParamAck",1,["mavlink::ardupilotmega::ParamAck"]],["impl Unpin for AutotuneAxis",1,["mavlink::ardupilotmega::AutotuneAxis"]],["impl Unpin for MagCalStatus",1,["mavlink::ardupilotmega::MagCalStatus"]],["impl Unpin for AisFlags",1,["mavlink::ardupilotmega::AisFlags"]],["impl Unpin for MavEventErrorReason",1,["mavlink::ardupilotmega::MavEventErrorReason"]],["impl Unpin for StorageType",1,["mavlink::ardupilotmega::StorageType"]],["impl Unpin for CopterMode",1,["mavlink::ardupilotmega::CopterMode"]],["impl Unpin for CameraStatusTypes",1,["mavlink::ardupilotmega::CameraStatusTypes"]],["impl Unpin for MavRoi",1,["mavlink::ardupilotmega::MavRoi"]],["impl Unpin for ActuatorOutputFunction",1,["mavlink::ardupilotmega::ActuatorOutputFunction"]],["impl Unpin for MavMissionType",1,["mavlink::ardupilotmega::MavMissionType"]],["impl Unpin for CanFilterOp",1,["mavlink::ardupilotmega::CanFilterOp"]],["impl Unpin for PositionTargetTypemask",1,["mavlink::ardupilotmega::PositionTargetTypemask"]],["impl Unpin for GimbalDeviceFlags",1,["mavlink::ardupilotmega::GimbalDeviceFlags"]],["impl Unpin for MavState",1,["mavlink::ardupilotmega::MavState"]],["impl Unpin for MavBatteryMode",1,["mavlink::ardupilotmega::MavBatteryMode"]],["impl Unpin for MavOdidSpeedAcc",1,["mavlink::ardupilotmega::MavOdidSpeedAcc"]],["impl Unpin for UavionixAdsbOutDynamicState",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicState"]],["impl Unpin for GimbalAxisCalibrationStatus",1,["mavlink::ardupilotmega::GimbalAxisCalibrationStatus"]],["impl Unpin for GoproRequestStatus",1,["mavlink::ardupilotmega::GoproRequestStatus"]],["impl Unpin for MavCmdDoAuxFunctionSwitchLevel",1,["mavlink::ardupilotmega::MavCmdDoAuxFunctionSwitchLevel"]],["impl Unpin for DeviceOpBustype",1,["mavlink::ardupilotmega::DeviceOpBustype"]],["impl Unpin for HilSensorUpdatedFlags",1,["mavlink::ardupilotmega::HilSensorUpdatedFlags"]],["impl Unpin for ParachuteAction",1,["mavlink::ardupilotmega::ParachuteAction"]],["impl Unpin for MavCollisionSrc",1,["mavlink::ardupilotmega::MavCollisionSrc"]],["impl Unpin for WifiConfigApResponse",1,["mavlink::ardupilotmega::WifiConfigApResponse"]],["impl Unpin for PreflightStorageMissionAction",1,["mavlink::ardupilotmega::PreflightStorageMissionAction"]],["impl Unpin for UtmFlightState",1,["mavlink::ardupilotmega::UtmFlightState"]],["impl Unpin for AdsbEmitterType",1,["mavlink::ardupilotmega::AdsbEmitterType"]],["impl Unpin for SerialControlDev",1,["mavlink::ardupilotmega::SerialControlDev"]],["impl Unpin for MavModeFlag",1,["mavlink::ardupilotmega::MavModeFlag"]],["impl Unpin for CameraTrackingTargetData",1,["mavlink::ardupilotmega::CameraTrackingTargetData"]],["impl Unpin for OrbitYawBehaviour",1,["mavlink::ardupilotmega::OrbitYawBehaviour"]],["impl Unpin for FenceAction",1,["mavlink::ardupilotmega::FenceAction"]],["impl Unpin for CellularNetworkRadioType",1,["mavlink::ardupilotmega::CellularNetworkRadioType"]],["impl Unpin for MavLandedState",1,["mavlink::ardupilotmega::MavLandedState"]],["impl Unpin for MavBatteryChargeState",1,["mavlink::ardupilotmega::MavBatteryChargeState"]],["impl Unpin for MavModeGimbal",1,["mavlink::ardupilotmega::MavModeGimbal"]],["impl Unpin for MavCollisionAction",1,["mavlink::ardupilotmega::MavCollisionAction"]],["impl Unpin for UavionixAdsbOutRfSelect",1,["mavlink::ardupilotmega::UavionixAdsbOutRfSelect"]],["impl Unpin for MavParamType",1,["mavlink::ardupilotmega::MavParamType"]],["impl Unpin for MavOdidClassEu",1,["mavlink::ardupilotmega::MavOdidClassEu"]],["impl Unpin for MavOdidStatus",1,["mavlink::ardupilotmega::MavOdidStatus"]],["impl Unpin for GoproPhotoResolution",1,["mavlink::ardupilotmega::GoproPhotoResolution"]],["impl Unpin for MavMissionResult",1,["mavlink::ardupilotmega::MavMissionResult"]],["impl Unpin for GimbalManagerCapFlags",1,["mavlink::ardupilotmega::GimbalManagerCapFlags"]],["impl Unpin for SerialControlFlag",1,["mavlink::ardupilotmega::SerialControlFlag"]],["impl Unpin for VideoStreamStatusFlags",1,["mavlink::ardupilotmega::VideoStreamStatusFlags"]],["impl Unpin for GripperActions",1,["mavlink::ardupilotmega::GripperActions"]],["impl Unpin for CameraZoomType",1,["mavlink::ardupilotmega::CameraZoomType"]],["impl Unpin for MavFtpOpcode",1,["mavlink::ardupilotmega::MavFtpOpcode"]],["impl Unpin for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Unpin for AdsbAltitudeType",1,["mavlink::ardupilotmega::AdsbAltitudeType"]],["impl Unpin for AccelcalVehiclePos",1,["mavlink::ardupilotmega::AccelcalVehiclePos"]],["impl Unpin for MavGoto",1,["mavlink::ardupilotmega::MavGoto"]],["impl Unpin for GimbalAxisCalibrationRequired",1,["mavlink::ardupilotmega::GimbalAxisCalibrationRequired"]],["impl Unpin for RoverMode",1,["mavlink::ardupilotmega::RoverMode"]],["impl Unpin for UavionixAdsbOutCfgAircraftSize",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgAircraftSize"]],["impl Unpin for CameraTrackingMode",1,["mavlink::ardupilotmega::CameraTrackingMode"]],["impl Unpin for CellularConfigResponse",1,["mavlink::ardupilotmega::CellularConfigResponse"]],["impl Unpin for MavOdidCategoryEu",1,["mavlink::ardupilotmega::MavOdidCategoryEu"]],["impl Unpin for EscFailureFlags",1,["mavlink::ardupilotmega::EscFailureFlags"]],["impl Unpin for MavCmd",1,["mavlink::ardupilotmega::MavCmd"]],["impl Unpin for MavProtocolCapability",1,["mavlink::ardupilotmega::MavProtocolCapability"]],["impl Unpin for ActuatorConfiguration",1,["mavlink::ardupilotmega::ActuatorConfiguration"]],["impl Unpin for MavSensorOrientation",1,["mavlink::ardupilotmega::MavSensorOrientation"]],["impl Unpin for MavCmdAck",1,["mavlink::ardupilotmega::MavCmdAck"]],["impl Unpin for MavVtolState",1,["mavlink::ardupilotmega::MavVtolState"]],["impl Unpin for GoproCommand",1,["mavlink::ardupilotmega::GoproCommand"]],["impl Unpin for LimitModule",1,["mavlink::ardupilotmega::LimitModule"]],["impl Unpin for FailureType",1,["mavlink::ardupilotmega::FailureType"]],["impl Unpin for FenceBreach",1,["mavlink::ardupilotmega::FenceBreach"]],["impl Unpin for MavResult",1,["mavlink::ardupilotmega::MavResult"]],["impl Unpin for MavArmAuthDeniedReason",1,["mavlink::ardupilotmega::MavArmAuthDeniedReason"]],["impl Unpin for MissionState",1,["mavlink::ardupilotmega::MissionState"]],["impl Unpin for RallyFlags",1,["mavlink::ardupilotmega::RallyFlags"]],["impl Unpin for GoproHeartbeatFlags",1,["mavlink::ardupilotmega::GoproHeartbeatFlags"]],["impl Unpin for MavBatteryFunction",1,["mavlink::ardupilotmega::MavBatteryFunction"]],["impl Unpin for MavlinkDataStreamType",1,["mavlink::ardupilotmega::MavlinkDataStreamType"]],["impl Unpin for AttitudeTargetTypemask",1,["mavlink::ardupilotmega::AttitudeTargetTypemask"]],["impl Unpin for AisType",1,["mavlink::ardupilotmega::AisType"]],["impl Unpin for LimitsState",1,["mavlink::ardupilotmega::LimitsState"]],["impl Unpin for MavMode",1,["mavlink::ardupilotmega::MavMode"]],["impl Unpin for MavOdidClassificationType",1,["mavlink::ardupilotmega::MavOdidClassificationType"]],["impl Unpin for FenceMitigate",1,["mavlink::ardupilotmega::FenceMitigate"]],["impl Unpin for MavOdidOperatorIdType",1,["mavlink::ardupilotmega::MavOdidOperatorIdType"]],["impl Unpin for GoproCaptureMode",1,["mavlink::ardupilotmega::GoproCaptureMode"]],["impl Unpin for CompMetadataType",1,["mavlink::ardupilotmega::CompMetadataType"]],["impl Unpin for GoproHeartbeatStatus",1,["mavlink::ardupilotmega::GoproHeartbeatStatus"]],["impl Unpin for CameraCapFlags",1,["mavlink::ardupilotmega::CameraCapFlags"]],["impl Unpin for GoproProtuneExposure",1,["mavlink::ardupilotmega::GoproProtuneExposure"]],["impl Unpin for MavRemoteLogDataBlockCommands",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockCommands"]],["impl Unpin for MavRemoteLogDataBlockStatuses",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockStatuses"]],["impl Unpin for DeepstallStage",1,["mavlink::ardupilotmega::DeepstallStage"]],["impl Unpin for OsdParamConfigError",1,["mavlink::ardupilotmega::OsdParamConfigError"]],["impl Unpin for MavAutopilot",1,["mavlink::ardupilotmega::MavAutopilot"]],["impl Unpin for MavCollisionThreatLevel",1,["mavlink::ardupilotmega::MavCollisionThreatLevel"]],["impl Unpin for MavDistanceSensor",1,["mavlink::ardupilotmega::MavDistanceSensor"]],["impl Unpin for FirmwareVersionType",1,["mavlink::ardupilotmega::FirmwareVersionType"]],["impl Unpin for MavWinchStatusFlag",1,["mavlink::ardupilotmega::MavWinchStatusFlag"]],["impl Unpin for UtmDataAvailFlags",1,["mavlink::ardupilotmega::UtmDataAvailFlags"]],["impl Unpin for MavOdidHorAcc",1,["mavlink::ardupilotmega::MavOdidHorAcc"]],["impl Unpin for MavOdidTimeAcc",1,["mavlink::ardupilotmega::MavOdidTimeAcc"]],["impl Unpin for MavGeneratorStatusFlag",1,["mavlink::ardupilotmega::MavGeneratorStatusFlag"]],["impl Unpin for MavOdidUaType",1,["mavlink::ardupilotmega::MavOdidUaType"]],["impl Unpin for StorageUsageFlag",1,["mavlink::ardupilotmega::StorageUsageFlag"]],["impl Unpin for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Unpin for StorageStatus",1,["mavlink::ardupilotmega::StorageStatus"]],["impl Unpin for EkfStatusFlags",1,["mavlink::ardupilotmega::EkfStatusFlags"]],["impl Unpin for HighresImuUpdatedFlags",1,["mavlink::ardupilotmega::HighresImuUpdatedFlags"]],["impl Unpin for IcarousTrackBandTypes",1,["mavlink::ardupilotmega::IcarousTrackBandTypes"]],["impl Unpin for CameraMode",1,["mavlink::ardupilotmega::CameraMode"]],["impl Unpin for PidTuningAxis",1,["mavlink::ardupilotmega::PidTuningAxis"]],["impl Unpin for RcType",1,["mavlink::ardupilotmega::RcType"]],["impl Unpin for GpsInputIgnoreFlags",1,["mavlink::ardupilotmega::GpsInputIgnoreFlags"]],["impl Unpin for RtkBaselineCoordinateSystem",1,["mavlink::ardupilotmega::RtkBaselineCoordinateSystem"]],["impl Unpin for EscConnectionType",1,["mavlink::ardupilotmega::EscConnectionType"]],["impl Unpin for CameraTrackingStatusFlags",1,["mavlink::ardupilotmega::CameraTrackingStatusFlags"]],["impl Unpin for MavBatteryFault",1,["mavlink::ardupilotmega::MavBatteryFault"]],["impl Unpin for GimbalDeviceErrorFlags",1,["mavlink::ardupilotmega::GimbalDeviceErrorFlags"]],["impl Unpin for WifiConfigApMode",1,["mavlink::ardupilotmega::WifiConfigApMode"]],["impl Unpin for MavMountMode",1,["mavlink::ardupilotmega::MavMountMode"]],["impl Unpin for MavSysStatusSensor",1,["mavlink::ardupilotmega::MavSysStatusSensor"]],["impl Unpin for MavSeverity",1,["mavlink::ardupilotmega::MavSeverity"]],["impl Unpin for GoproCharging",1,["mavlink::ardupilotmega::GoproCharging"]],["impl Unpin for MavSysStatusSensorExtended",1,["mavlink::ardupilotmega::MavSysStatusSensorExtended"]],["impl Unpin for SubMode",1,["mavlink::ardupilotmega::SubMode"]],["impl Unpin for MavTunnelPayloadType",1,["mavlink::ardupilotmega::MavTunnelPayloadType"]],["impl Unpin for MavParamExtType",1,["mavlink::ardupilotmega::MavParamExtType"]],["impl Unpin for GpsFixType",1,["mavlink::ardupilotmega::GpsFixType"]],["impl Unpin for AdsbFlags",1,["mavlink::ardupilotmega::AdsbFlags"]],["impl Unpin for GoproFieldOfView",1,["mavlink::ardupilotmega::GoproFieldOfView"]],["impl Unpin for TrackerMode",1,["mavlink::ardupilotmega::TrackerMode"]],["impl Unpin for GimbalDeviceCapFlags",1,["mavlink::ardupilotmega::GimbalDeviceCapFlags"]],["impl Unpin for UavcanNodeMode",1,["mavlink::ardupilotmega::UavcanNodeMode"]],["impl Unpin for EstimatorStatusFlags",1,["mavlink::ardupilotmega::EstimatorStatusFlags"]],["impl Unpin for MavOdidVerAcc",1,["mavlink::ardupilotmega::MavOdidVerAcc"]],["impl Unpin for GimbalAxis",1,["mavlink::ardupilotmega::GimbalAxis"]],["impl Unpin for LandingTargetType",1,["mavlink::ardupilotmega::LandingTargetType"]],["impl Unpin for MavEventCurrentSequenceFlags",1,["mavlink::ardupilotmega::MavEventCurrentSequenceFlags"]],["impl Unpin for MotorTestOrder",1,["mavlink::ardupilotmega::MotorTestOrder"]],["impl Unpin for VideoStreamType",1,["mavlink::ardupilotmega::VideoStreamType"]],["impl Unpin for GoproProtuneGain",1,["mavlink::ardupilotmega::GoproProtuneGain"]],["impl Unpin for MavFtpErr",1,["mavlink::ardupilotmega::MavFtpErr"]],["impl Unpin for MotorTestThrottleType",1,["mavlink::ardupilotmega::MotorTestThrottleType"]],["impl Unpin for UavionixAdsbOutDynamicGpsFix",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicGpsFix"]],["impl Unpin for GoproVideoSettingsFlags",1,["mavlink::ardupilotmega::GoproVideoSettingsFlags"]],["impl Unpin for MavOdidArmStatus",1,["mavlink::ardupilotmega::MavOdidArmStatus"]],["impl Unpin for HeadingType",1,["mavlink::ardupilotmega::HeadingType"]],["impl Unpin for GoproModel",1,["mavlink::ardupilotmega::GoproModel"]],["impl Unpin for MavOdidAuthType",1,["mavlink::ardupilotmega::MavOdidAuthType"]],["impl Unpin for GoproProtuneWhiteBalance",1,["mavlink::ardupilotmega::GoproProtuneWhiteBalance"]],["impl Unpin for UavionixAdsbRfHealth",1,["mavlink::ardupilotmega::UavionixAdsbRfHealth"]],["impl Unpin for SpeedType",1,["mavlink::ardupilotmega::SpeedType"]],["impl Unpin for OsdParamConfigType",1,["mavlink::ardupilotmega::OsdParamConfigType"]],["impl Unpin for MavOdidHeightRef",1,["mavlink::ardupilotmega::MavOdidHeightRef"]],["impl Unpin for GoproProtuneColour",1,["mavlink::ardupilotmega::GoproProtuneColour"]],["impl Unpin for CellularNetworkFailedReason",1,["mavlink::ardupilotmega::CellularNetworkFailedReason"]],["impl Unpin for ScriptingCmd",1,["mavlink::ardupilotmega::ScriptingCmd"]],["impl Unpin for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Unpin for COMPONENT_INFORMATION_DATA",1,["mavlink::ardupilotmega::COMPONENT_INFORMATION_DATA"]],["impl Unpin for OSD_PARAM_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_DATA"]],["impl Unpin for MISSION_ITEM_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_DATA"]],["impl Unpin for RADIO_STATUS_DATA",1,["mavlink::ardupilotmega::RADIO_STATUS_DATA"]],["impl Unpin for FLIGHT_INFORMATION_DATA",1,["mavlink::ardupilotmega::FLIGHT_INFORMATION_DATA"]],["impl Unpin for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::ardupilotmega::HIL_RC_INPUTS_RAW_DATA"]],["impl Unpin for VIBRATION_DATA",1,["mavlink::ardupilotmega::VIBRATION_DATA"]],["impl Unpin for BATTERY_STATUS_DATA",1,["mavlink::ardupilotmega::BATTERY_STATUS_DATA"]],["impl Unpin for WIND_COV_DATA",1,["mavlink::ardupilotmega::WIND_COV_DATA"]],["impl Unpin for CAMERA_INFORMATION_DATA",1,["mavlink::ardupilotmega::CAMERA_INFORMATION_DATA"]],["impl Unpin for RAW_IMU_DATA",1,["mavlink::ardupilotmega::RAW_IMU_DATA"]],["impl Unpin for GPS_RTK_DATA",1,["mavlink::ardupilotmega::GPS_RTK_DATA"]],["impl Unpin for RAW_RPM_DATA",1,["mavlink::ardupilotmega::RAW_RPM_DATA"]],["impl Unpin for TERRAIN_CHECK_DATA",1,["mavlink::ardupilotmega::TERRAIN_CHECK_DATA"]],["impl Unpin for REQUEST_EVENT_DATA",1,["mavlink::ardupilotmega::REQUEST_EVENT_DATA"]],["impl Unpin for REQUEST_DATA_STREAM_DATA",1,["mavlink::ardupilotmega::REQUEST_DATA_STREAM_DATA"]],["impl Unpin for HWSTATUS_DATA",1,["mavlink::ardupilotmega::HWSTATUS_DATA"]],["impl Unpin for FOLLOW_TARGET_DATA",1,["mavlink::ardupilotmega::FOLLOW_TARGET_DATA"]],["impl Unpin for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_COV_DATA"]],["impl Unpin for UAVCAN_NODE_INFO_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_INFO_DATA"]],["impl Unpin for AOA_SSA_DATA",1,["mavlink::ardupilotmega::AOA_SSA_DATA"]],["impl Unpin for ISBD_LINK_STATUS_DATA",1,["mavlink::ardupilotmega::ISBD_LINK_STATUS_DATA"]],["impl Unpin for LED_CONTROL_DATA",1,["mavlink::ardupilotmega::LED_CONTROL_DATA"]],["impl Unpin for WIFI_CONFIG_AP_DATA",1,["mavlink::ardupilotmega::WIFI_CONFIG_AP_DATA"]],["impl Unpin for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Unpin for EKF_STATUS_REPORT_DATA",1,["mavlink::ardupilotmega::EKF_STATUS_REPORT_DATA"]],["impl Unpin for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Unpin for GIMBAL_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_REPORT_DATA"]],["impl Unpin for SYS_STATUS_DATA",1,["mavlink::ardupilotmega::SYS_STATUS_DATA"]],["impl Unpin for MAG_CAL_PROGRESS_DATA",1,["mavlink::ardupilotmega::MAG_CAL_PROGRESS_DATA"]],["impl Unpin for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::ardupilotmega::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Unpin for PID_TUNING_DATA",1,["mavlink::ardupilotmega::PID_TUNING_DATA"]],["impl Unpin for HIL_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_CONTROLS_DATA"]],["impl Unpin for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Unpin for CAN_FRAME_DATA",1,["mavlink::ardupilotmega::CAN_FRAME_DATA"]],["impl Unpin for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Unpin for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_COV_DATA"]],["impl Unpin for SET_MAG_OFFSETS_DATA",1,["mavlink::ardupilotmega::SET_MAG_OFFSETS_DATA"]],["impl Unpin for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_SPEED_ESTIMATE_DATA"]],["impl Unpin for MOUNT_CONTROL_DATA",1,["mavlink::ardupilotmega::MOUNT_CONTROL_DATA"]],["impl Unpin for DEEPSTALL_DATA",1,["mavlink::ardupilotmega::DEEPSTALL_DATA"]],["impl Unpin for PARAM_EXT_ACK_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_ACK_DATA"]],["impl Unpin for COLLISION_DATA",1,["mavlink::ardupilotmega::COLLISION_DATA"]],["impl Unpin for GIMBAL_TORQUE_CMD_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_TORQUE_CMD_REPORT_DATA"]],["impl Unpin for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::GPS_GLOBAL_ORIGIN_DATA"]],["impl Unpin for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Unpin for EFI_STATUS_DATA",1,["mavlink::ardupilotmega::EFI_STATUS_DATA"]],["impl Unpin for HIL_STATE_DATA",1,["mavlink::ardupilotmega::HIL_STATE_DATA"]],["impl Unpin for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::ardupilotmega::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Unpin for MCU_STATUS_DATA",1,["mavlink::ardupilotmega::MCU_STATUS_DATA"]],["impl Unpin for PARAM_MAP_RC_DATA",1,["mavlink::ardupilotmega::PARAM_MAP_RC_DATA"]],["impl Unpin for HEARTBEAT_DATA",1,["mavlink::ardupilotmega::HEARTBEAT_DATA"]],["impl Unpin for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Unpin for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::ardupilotmega::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Unpin for ODOMETRY_DATA",1,["mavlink::ardupilotmega::ODOMETRY_DATA"]],["impl Unpin for DISTANCE_SENSOR_DATA",1,["mavlink::ardupilotmega::DISTANCE_SENSOR_DATA"]],["impl Unpin for OSD_PARAM_SHOW_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_REPLY_DATA"]],["impl Unpin for GOPRO_SET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_REQUEST_DATA"]],["impl Unpin for ESC_INFO_DATA",1,["mavlink::ardupilotmega::ESC_INFO_DATA"]],["impl Unpin for MANUAL_SETPOINT_DATA",1,["mavlink::ardupilotmega::MANUAL_SETPOINT_DATA"]],["impl Unpin for LOG_DATA_DATA",1,["mavlink::ardupilotmega::LOG_DATA_DATA"]],["impl Unpin for CAMERA_FEEDBACK_DATA",1,["mavlink::ardupilotmega::CAMERA_FEEDBACK_DATA"]],["impl Unpin for FENCE_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_POINT_DATA"]],["impl Unpin for SUPPORTED_TUNES_DATA",1,["mavlink::ardupilotmega::SUPPORTED_TUNES_DATA"]],["impl Unpin for LOGGING_ACK_DATA",1,["mavlink::ardupilotmega::LOGGING_ACK_DATA"]],["impl Unpin for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_ESTIMATE_DATA"]],["impl Unpin for AHRS_DATA",1,["mavlink::ardupilotmega::AHRS_DATA"]],["impl Unpin for MESSAGE_INTERVAL_DATA",1,["mavlink::ardupilotmega::MESSAGE_INTERVAL_DATA"]],["impl Unpin for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_OVERRIDE_DATA"]],["impl Unpin for LOG_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_LIST_DATA"]],["impl Unpin for RESOURCE_REQUEST_DATA",1,["mavlink::ardupilotmega::RESOURCE_REQUEST_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Unpin for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::ardupilotmega::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Unpin for LOCAL_POSITION_NED_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_DATA"]],["impl Unpin for DIGICAM_CONFIGURE_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONFIGURE_DATA"]],["impl Unpin for ESC_TELEMETRY_9_TO_12_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_9_TO_12_DATA"]],["impl Unpin for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Unpin for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Unpin for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_ALLOWED_AREA_DATA"]],["impl Unpin for COMMAND_INT_DATA",1,["mavlink::ardupilotmega::COMMAND_INT_DATA"]],["impl Unpin for GOPRO_GET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_REQUEST_DATA"]],["impl Unpin for CAN_FILTER_MODIFY_DATA",1,["mavlink::ardupilotmega::CAN_FILTER_MODIFY_DATA"]],["impl Unpin for STATUSTEXT_DATA",1,["mavlink::ardupilotmega::STATUSTEXT_DATA"]],["impl Unpin for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::ardupilotmega::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Unpin for MISSION_ITEM_INT_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_INT_DATA"]],["impl Unpin for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"]],["impl Unpin for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Unpin for MISSION_REQUEST_INT_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_INT_DATA"]],["impl Unpin for STORAGE_INFORMATION_DATA",1,["mavlink::ardupilotmega::STORAGE_INFORMATION_DATA"]],["impl Unpin for UTM_GLOBAL_POSITION_DATA",1,["mavlink::ardupilotmega::UTM_GLOBAL_POSITION_DATA"]],["impl Unpin for MEMINFO_DATA",1,["mavlink::ardupilotmega::MEMINFO_DATA"]],["impl Unpin for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Unpin for GPS2_RAW_DATA",1,["mavlink::ardupilotmega::GPS2_RAW_DATA"]],["impl Unpin for RALLY_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_POINT_DATA"]],["impl Unpin for AP_ADC_DATA",1,["mavlink::ardupilotmega::AP_ADC_DATA"]],["impl Unpin for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Unpin for LOGGING_DATA_ACKED_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_ACKED_DATA"]],["impl Unpin for RC_CHANNELS_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_DATA"]],["impl Unpin for NAMED_VALUE_INT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_INT_DATA"]],["impl Unpin for LINK_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::LINK_NODE_STATUS_DATA"]],["impl Unpin for NAMED_VALUE_FLOAT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_FLOAT_DATA"]],["impl Unpin for SERVO_OUTPUT_RAW_DATA",1,["mavlink::ardupilotmega::SERVO_OUTPUT_RAW_DATA"]],["impl Unpin for CELLULAR_STATUS_DATA",1,["mavlink::ardupilotmega::CELLULAR_STATUS_DATA"]],["impl Unpin for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Unpin for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::ardupilotmega::DEBUG_FLOAT_ARRAY_DATA"]],["impl Unpin for POWER_STATUS_DATA",1,["mavlink::ardupilotmega::POWER_STATUS_DATA"]],["impl Unpin for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Unpin for BUTTON_CHANGE_DATA",1,["mavlink::ardupilotmega::BUTTON_CHANGE_DATA"]],["impl Unpin for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::ardupilotmega::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Unpin for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_READ_DATA"]],["impl Unpin for MOUNT_STATUS_DATA",1,["mavlink::ardupilotmega::MOUNT_STATUS_DATA"]],["impl Unpin for MISSION_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_CURRENT_DATA"]],["impl Unpin for DEBUG_VECT_DATA",1,["mavlink::ardupilotmega::DEBUG_VECT_DATA"]],["impl Unpin for CAMERA_FOV_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_FOV_STATUS_DATA"]],["impl Unpin for SCALED_PRESSURE3_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE3_DATA"]],["impl Unpin for MISSION_ITEM_REACHED_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_REACHED_DATA"]],["impl Unpin for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Unpin for PARAM_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_VALUE_DATA"]],["impl Unpin for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VICON_POSITION_ESTIMATE_DATA"]],["impl Unpin for TIMESYNC_DATA",1,["mavlink::ardupilotmega::TIMESYNC_DATA"]],["impl Unpin for MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::MANUAL_CONTROL_DATA"]],["impl Unpin for MEMORY_VECT_DATA",1,["mavlink::ardupilotmega::MEMORY_VECT_DATA"]],["impl Unpin for OBSTACLE_DISTANCE_3D_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_3D_DATA"]],["impl Unpin for COMPONENT_METADATA_DATA",1,["mavlink::ardupilotmega::COMPONENT_METADATA_DATA"]],["impl Unpin for CAMERA_SETTINGS_DATA",1,["mavlink::ardupilotmega::CAMERA_SETTINGS_DATA"]],["impl Unpin for MAG_CAL_REPORT_DATA",1,["mavlink::ardupilotmega::MAG_CAL_REPORT_DATA"]],["impl Unpin for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Unpin for ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::ATTITUDE_TARGET_DATA"]],["impl Unpin for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Unpin for WINCH_STATUS_DATA",1,["mavlink::ardupilotmega::WINCH_STATUS_DATA"]],["impl Unpin for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Unpin for ICAROUS_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::ICAROUS_HEARTBEAT_DATA"]],["impl Unpin for GOPRO_GET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_RESPONSE_DATA"]],["impl Unpin for GPS_RAW_INT_DATA",1,["mavlink::ardupilotmega::GPS_RAW_INT_DATA"]],["impl Unpin for PING_DATA",1,["mavlink::ardupilotmega::PING_DATA"]],["impl Unpin for ATTITUDE_QUATERNION_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_DATA"]],["impl Unpin for ESC_TELEMETRY_1_TO_4_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_1_TO_4_DATA"]],["impl Unpin for HERELINK_VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::HERELINK_VIDEO_STREAM_INFORMATION_DATA"]],["impl Unpin for COMMAND_LONG_DATA",1,["mavlink::ardupilotmega::COMMAND_LONG_DATA"]],["impl Unpin for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Unpin for SCALED_IMU2_DATA",1,["mavlink::ardupilotmega::SCALED_IMU2_DATA"]],["impl Unpin for AHRS2_DATA",1,["mavlink::ardupilotmega::AHRS2_DATA"]],["impl Unpin for ATT_POS_MOCAP_DATA",1,["mavlink::ardupilotmega::ATT_POS_MOCAP_DATA"]],["impl Unpin for OPTICAL_FLOW_RAD_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_RAD_DATA"]],["impl Unpin for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::ardupilotmega::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Unpin for MISSION_ACK_DATA",1,["mavlink::ardupilotmega::MISSION_ACK_DATA"]],["impl Unpin for PARAM_SET_DATA",1,["mavlink::ardupilotmega::PARAM_SET_DATA"]],["impl Unpin for DEBUG_DATA",1,["mavlink::ardupilotmega::DEBUG_DATA"]],["impl Unpin for AUTH_KEY_DATA",1,["mavlink::ardupilotmega::AUTH_KEY_DATA"]],["impl Unpin for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Unpin for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::ardupilotmega::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Unpin for MISSION_COUNT_DATA",1,["mavlink::ardupilotmega::MISSION_COUNT_DATA"]],["impl Unpin for ADSB_VEHICLE_DATA",1,["mavlink::ardupilotmega::ADSB_VEHICLE_DATA"]],["impl Unpin for ENCAPSULATED_DATA_DATA",1,["mavlink::ardupilotmega::ENCAPSULATED_DATA_DATA"]],["impl Unpin for SCALED_PRESSURE_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE_DATA"]],["impl Unpin for MOUNT_CONFIGURE_DATA",1,["mavlink::ardupilotmega::MOUNT_CONFIGURE_DATA"]],["impl Unpin for OSD_PARAM_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_REPLY_DATA"]],["impl Unpin for SETUP_SIGNING_DATA",1,["mavlink::ardupilotmega::SETUP_SIGNING_DATA"]],["impl Unpin for DATA32_DATA",1,["mavlink::ardupilotmega::DATA32_DATA"]],["impl Unpin for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Unpin for TUNNEL_DATA",1,["mavlink::ardupilotmega::TUNNEL_DATA"]],["impl Unpin for DATA96_DATA",1,["mavlink::ardupilotmega::DATA96_DATA"]],["impl Unpin for ESTIMATOR_STATUS_DATA",1,["mavlink::ardupilotmega::ESTIMATOR_STATUS_DATA"]],["impl Unpin for ALTITUDE_DATA",1,["mavlink::ardupilotmega::ALTITUDE_DATA"]],["impl Unpin for GPS_RTCM_DATA_DATA",1,["mavlink::ardupilotmega::GPS_RTCM_DATA_DATA"]],["impl Unpin for SCALED_IMU3_DATA",1,["mavlink::ardupilotmega::SCALED_IMU3_DATA"]],["impl Unpin for AUTOPILOT_VERSION_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_DATA"]],["impl Unpin for SET_HOME_POSITION_DATA",1,["mavlink::ardupilotmega::SET_HOME_POSITION_DATA"]],["impl Unpin for GIMBAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_CONTROL_DATA"]],["impl Unpin for GOPRO_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::GOPRO_HEARTBEAT_DATA"]],["impl Unpin for HIL_STATE_QUATERNION_DATA",1,["mavlink::ardupilotmega::HIL_STATE_QUATERNION_DATA"]],["impl Unpin for TERRAIN_REPORT_DATA",1,["mavlink::ardupilotmega::TERRAIN_REPORT_DATA"]],["impl Unpin for WIND_DATA",1,["mavlink::ardupilotmega::WIND_DATA"]],["impl Unpin for RAW_PRESSURE_DATA",1,["mavlink::ardupilotmega::RAW_PRESSURE_DATA"]],["impl Unpin for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Unpin for CUBEPILOT_FIRMWARE_UPDATE_START_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_START_DATA"]],["impl Unpin for GENERATOR_STATUS_DATA",1,["mavlink::ardupilotmega::GENERATOR_STATUS_DATA"]],["impl Unpin for RADIO_DATA",1,["mavlink::ardupilotmega::RADIO_DATA"]],["impl Unpin for DEVICE_OP_READ_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_DATA"]],["impl Unpin for AIS_VESSEL_DATA",1,["mavlink::ardupilotmega::AIS_VESSEL_DATA"]],["impl Unpin for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Unpin for PARAM_EXT_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_VALUE_DATA"]],["impl Unpin for UAVCAN_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_STATUS_DATA"]],["impl Unpin for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Unpin for WATER_DEPTH_DATA",1,["mavlink::ardupilotmega::WATER_DEPTH_DATA"]],["impl Unpin for SIM_STATE_DATA",1,["mavlink::ardupilotmega::SIM_STATE_DATA"]],["impl Unpin for TERRAIN_REQUEST_DATA",1,["mavlink::ardupilotmega::TERRAIN_REQUEST_DATA"]],["impl Unpin for PARAM_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_READ_DATA"]],["impl Unpin for GLOBAL_POSITION_INT_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_DATA"]],["impl Unpin for PLAY_TUNE_V2_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_V2_DATA"]],["impl Unpin for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Unpin for SYSTEM_TIME_DATA",1,["mavlink::ardupilotmega::SYSTEM_TIME_DATA"]],["impl Unpin for GPS2_RTK_DATA",1,["mavlink::ardupilotmega::GPS2_RTK_DATA"]],["impl Unpin for HIGH_LATENCY2_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY2_DATA"]],["impl Unpin for MOUNT_ORIENTATION_DATA",1,["mavlink::ardupilotmega::MOUNT_ORIENTATION_DATA"]],["impl Unpin for RC_CHANNELS_RAW_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_RAW_DATA"]],["impl Unpin for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_STATUS_DATA"]],["impl Unpin for SENSOR_OFFSETS_DATA",1,["mavlink::ardupilotmega::SENSOR_OFFSETS_DATA"]],["impl Unpin for FENCE_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_FETCH_POINT_DATA"]],["impl Unpin for LIMITS_STATUS_DATA",1,["mavlink::ardupilotmega::LIMITS_STATUS_DATA"]],["impl Unpin for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Unpin for DATA64_DATA",1,["mavlink::ardupilotmega::DATA64_DATA"]],["impl Unpin for HOME_POSITION_DATA",1,["mavlink::ardupilotmega::HOME_POSITION_DATA"]],["impl Unpin for LOG_REQUEST_DATA_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_DATA_DATA"]],["impl Unpin for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Unpin for AUTOPILOT_VERSION_REQUEST_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_REQUEST_DATA"]],["impl Unpin for ATTITUDE_DATA",1,["mavlink::ardupilotmega::ATTITUDE_DATA"]],["impl Unpin for REMOTE_LOG_BLOCK_STATUS_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_BLOCK_STATUS_DATA"]],["impl Unpin for ADAP_TUNING_DATA",1,["mavlink::ardupilotmega::ADAP_TUNING_DATA"]],["impl Unpin for PARAM_EXT_SET_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_SET_DATA"]],["impl Unpin for HIL_OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::HIL_OPTICAL_FLOW_DATA"]],["impl Unpin for RC_CHANNELS_SCALED_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_SCALED_DATA"]],["impl Unpin for EXTENDED_SYS_STATE_DATA",1,["mavlink::ardupilotmega::EXTENDED_SYS_STATE_DATA"]],["impl Unpin for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Unpin for LOG_REQUEST_END_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_END_DATA"]],["impl Unpin for OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_DATA"]],["impl Unpin for COMMAND_ACK_DATA",1,["mavlink::ardupilotmega::COMMAND_ACK_DATA"]],["impl Unpin for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Unpin for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Unpin for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Unpin for MISSION_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_LIST_DATA"]],["impl Unpin for PARAM_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_LIST_DATA"]],["impl Unpin for MISSION_SET_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_SET_CURRENT_DATA"]],["impl Unpin for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::ardupilotmega::CONTROL_SYSTEM_STATE_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Unpin for SMART_BATTERY_INFO_DATA",1,["mavlink::ardupilotmega::SMART_BATTERY_INFO_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Unpin for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_COV_DATA"]],["impl Unpin for VIDEO_STREAM_STATUS_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_STATUS_DATA"]],["impl Unpin for SET_MODE_DATA",1,["mavlink::ardupilotmega::SET_MODE_DATA"]],["impl Unpin for HERELINK_TELEM_DATA",1,["mavlink::ardupilotmega::HERELINK_TELEM_DATA"]],["impl Unpin for GPS_INJECT_DATA_DATA",1,["mavlink::ardupilotmega::GPS_INJECT_DATA_DATA"]],["impl Unpin for VFR_HUD_DATA",1,["mavlink::ardupilotmega::VFR_HUD_DATA"]],["impl Unpin for HIGH_LATENCY_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY_DATA"]],["impl Unpin for DIGICAM_CONTROL_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONTROL_DATA"]],["impl Unpin for WHEEL_DISTANCE_DATA",1,["mavlink::ardupilotmega::WHEEL_DISTANCE_DATA"]],["impl Unpin for COMMAND_CANCEL_DATA",1,["mavlink::ardupilotmega::COMMAND_CANCEL_DATA"]],["impl Unpin for SIMSTATE_DATA",1,["mavlink::ardupilotmega::SIMSTATE_DATA"]],["impl Unpin for DATA16_DATA",1,["mavlink::ardupilotmega::DATA16_DATA"]],["impl Unpin for MISSION_CLEAR_ALL_DATA",1,["mavlink::ardupilotmega::MISSION_CLEAR_ALL_DATA"]],["impl Unpin for REMOTE_LOG_DATA_BLOCK_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_DATA_BLOCK_DATA"]],["impl Unpin for RPM_DATA",1,["mavlink::ardupilotmega::RPM_DATA"]],["impl Unpin for VISION_POSITION_DELTA_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_DELTA_DATA"]],["impl Unpin for AHRS3_DATA",1,["mavlink::ardupilotmega::AHRS3_DATA"]],["impl Unpin for OSD_PARAM_SHOW_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_DATA"]],["impl Unpin for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Unpin for SET_ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ATTITUDE_TARGET_DATA"]],["impl Unpin for GOPRO_SET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_RESPONSE_DATA"]],["impl Unpin for SCALED_PRESSURE2_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE2_DATA"]],["impl Unpin for HIL_SENSOR_DATA",1,["mavlink::ardupilotmega::HIL_SENSOR_DATA"]],["impl Unpin for CANFD_FRAME_DATA",1,["mavlink::ardupilotmega::CANFD_FRAME_DATA"]],["impl Unpin for DATA_STREAM_DATA",1,["mavlink::ardupilotmega::DATA_STREAM_DATA"]],["impl Unpin for HIGHRES_IMU_DATA",1,["mavlink::ardupilotmega::HIGHRES_IMU_DATA"]],["impl Unpin for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Unpin for MISSION_REQUEST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_DATA"]],["impl Unpin for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_INFORMATION_DATA"]],["impl Unpin for SCALED_IMU_DATA",1,["mavlink::ardupilotmega::SCALED_IMU_DATA"]],["impl Unpin for DEVICE_OP_WRITE_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_DATA"]],["impl Unpin for HYGROMETER_SENSOR_DATA",1,["mavlink::ardupilotmega::HYGROMETER_SENSOR_DATA"]],["impl Unpin for CUBEPILOT_RAW_RC_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_RAW_RC_DATA"]],["impl Unpin for GPS_STATUS_DATA",1,["mavlink::ardupilotmega::GPS_STATUS_DATA"]],["impl Unpin for DEVICE_OP_WRITE_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_REPLY_DATA"]],["impl Unpin for CAMERA_TRIGGER_DATA",1,["mavlink::ardupilotmega::CAMERA_TRIGGER_DATA"]],["impl Unpin for SERIAL_CONTROL_DATA",1,["mavlink::ardupilotmega::SERIAL_CONTROL_DATA"]],["impl Unpin for OBSTACLE_DISTANCE_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_DATA"]],["impl Unpin for FENCE_STATUS_DATA",1,["mavlink::ardupilotmega::FENCE_STATUS_DATA"]],["impl Unpin for ESC_STATUS_DATA",1,["mavlink::ardupilotmega::ESC_STATUS_DATA"]],["impl Unpin for LANDING_TARGET_DATA",1,["mavlink::ardupilotmega::LANDING_TARGET_DATA"]],["impl Unpin for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Unpin for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_CAPTURE_STATUS_DATA"]],["impl Unpin for BATTERY2_DATA",1,["mavlink::ardupilotmega::BATTERY2_DATA"]],["impl Unpin for TERRAIN_DATA_DATA",1,["mavlink::ardupilotmega::TERRAIN_DATA_DATA"]],["impl Unpin for GPS_INPUT_DATA",1,["mavlink::ardupilotmega::GPS_INPUT_DATA"]],["impl Unpin for AIRSPEED_AUTOCAL_DATA",1,["mavlink::ardupilotmega::AIRSPEED_AUTOCAL_DATA"]],["impl Unpin for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::ardupilotmega::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Unpin for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Unpin for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Unpin for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::ardupilotmega::RESPONSE_EVENT_ERROR_DATA"]],["impl Unpin for LOG_ENTRY_DATA",1,["mavlink::ardupilotmega::LOG_ENTRY_DATA"]],["impl Unpin for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Unpin for LOG_ERASE_DATA",1,["mavlink::ardupilotmega::LOG_ERASE_DATA"]],["impl Unpin for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::ardupilotmega::ORBIT_EXECUTION_STATUS_DATA"]],["impl Unpin for COMPASSMOT_STATUS_DATA",1,["mavlink::ardupilotmega::COMPASSMOT_STATUS_DATA"]],["impl Unpin for HIL_GPS_DATA",1,["mavlink::ardupilotmega::HIL_GPS_DATA"]],["impl Unpin for LOGGING_DATA_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_DATA"]],["impl Unpin for PLAY_TUNE_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_DATA"]],["impl Unpin for PROTOCOL_VERSION_DATA",1,["mavlink::ardupilotmega::PROTOCOL_VERSION_DATA"]],["impl Unpin for CELLULAR_CONFIG_DATA",1,["mavlink::ardupilotmega::CELLULAR_CONFIG_DATA"]],["impl Unpin for DEVICE_OP_READ_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_REPLY_DATA"]],["impl Unpin for EVENT_DATA",1,["mavlink::ardupilotmega::EVENT_DATA"]],["impl Unpin for V2_EXTENSION_DATA",1,["mavlink::ardupilotmega::V2_EXTENSION_DATA"]],["impl Unpin for RALLY_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_FETCH_POINT_DATA"]],["impl Unpin for CAMERA_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_STATUS_DATA"]],["impl Unpin for RANGEFINDER_DATA",1,["mavlink::ardupilotmega::RANGEFINDER_DATA"]],["impl Unpin for ESC_TELEMETRY_5_TO_8_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_5_TO_8_DATA"]],["impl Unpin for MavMessage",1,["mavlink::ardupilotmega::MavMessage"]],["impl Unpin for MavType",1,["mavlink::uavionix::MavType"]],["impl Unpin for CameraMode",1,["mavlink::uavionix::CameraMode"]],["impl Unpin for CellularNetworkFailedReason",1,["mavlink::uavionix::CellularNetworkFailedReason"]],["impl Unpin for WifiConfigApMode",1,["mavlink::uavionix::WifiConfigApMode"]],["impl Unpin for WifiConfigApResponse",1,["mavlink::uavionix::WifiConfigApResponse"]],["impl Unpin for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Unpin for CellularNetworkRadioType",1,["mavlink::uavionix::CellularNetworkRadioType"]],["impl Unpin for AttitudeTargetTypemask",1,["mavlink::uavionix::AttitudeTargetTypemask"]],["impl Unpin for UavionixAdsbOutDynamicGpsFix",1,["mavlink::uavionix::UavionixAdsbOutDynamicGpsFix"]],["impl Unpin for MavBatteryFunction",1,["mavlink::uavionix::MavBatteryFunction"]],["impl Unpin for MavCollisionThreatLevel",1,["mavlink::uavionix::MavCollisionThreatLevel"]],["impl Unpin for MavModeFlagDecodePosition",1,["mavlink::uavionix::MavModeFlagDecodePosition"]],["impl Unpin for MavCollisionSrc",1,["mavlink::uavionix::MavCollisionSrc"]],["impl Unpin for PreflightStorageParameterAction",1,["mavlink::uavionix::PreflightStorageParameterAction"]],["impl Unpin for MavSysStatusSensorExtended",1,["mavlink::uavionix::MavSysStatusSensorExtended"]],["impl Unpin for MavCollisionAction",1,["mavlink::uavionix::MavCollisionAction"]],["impl Unpin for CameraCapFlags",1,["mavlink::uavionix::CameraCapFlags"]],["impl Unpin for MavBatteryChargeState",1,["mavlink::uavionix::MavBatteryChargeState"]],["impl Unpin for MavEventErrorReason",1,["mavlink::uavionix::MavEventErrorReason"]],["impl Unpin for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Unpin for MavOdidHorAcc",1,["mavlink::uavionix::MavOdidHorAcc"]],["impl Unpin for GimbalManagerFlags",1,["mavlink::uavionix::GimbalManagerFlags"]],["impl Unpin for MavGoto",1,["mavlink::uavionix::MavGoto"]],["impl Unpin for MavBatteryType",1,["mavlink::uavionix::MavBatteryType"]],["impl Unpin for MavDataStream",1,["mavlink::uavionix::MavDataStream"]],["impl Unpin for MavlinkDataStreamType",1,["mavlink::uavionix::MavlinkDataStreamType"]],["impl Unpin for MavOdidOperatorLocationType",1,["mavlink::uavionix::MavOdidOperatorLocationType"]],["impl Unpin for MavAutopilot",1,["mavlink::uavionix::MavAutopilot"]],["impl Unpin for MavOdidAuthType",1,["mavlink::uavionix::MavOdidAuthType"]],["impl Unpin for UavionixAdsbOutDynamicState",1,["mavlink::uavionix::UavionixAdsbOutDynamicState"]],["impl Unpin for MavOdidIdType",1,["mavlink::uavionix::MavOdidIdType"]],["impl Unpin for StorageUsageFlag",1,["mavlink::uavionix::StorageUsageFlag"]],["impl Unpin for FenceMitigate",1,["mavlink::uavionix::FenceMitigate"]],["impl Unpin for MavFrame",1,["mavlink::uavionix::MavFrame"]],["impl Unpin for MavMode",1,["mavlink::uavionix::MavMode"]],["impl Unpin for MavOdidUaType",1,["mavlink::uavionix::MavOdidUaType"]],["impl Unpin for MavParamExtType",1,["mavlink::uavionix::MavParamExtType"]],["impl Unpin for StorageStatus",1,["mavlink::uavionix::StorageStatus"]],["impl Unpin for AisType",1,["mavlink::uavionix::AisType"]],["impl Unpin for FenceAction",1,["mavlink::uavionix::FenceAction"]],["impl Unpin for CameraTrackingTargetData",1,["mavlink::uavionix::CameraTrackingTargetData"]],["impl Unpin for MavCmdAck",1,["mavlink::uavionix::MavCmdAck"]],["impl Unpin for MavModeFlag",1,["mavlink::uavionix::MavModeFlag"]],["impl Unpin for MavVtolState",1,["mavlink::uavionix::MavVtolState"]],["impl Unpin for VtolTransitionHeading",1,["mavlink::uavionix::VtolTransitionHeading"]],["impl Unpin for EstimatorStatusFlags",1,["mavlink::uavionix::EstimatorStatusFlags"]],["impl Unpin for UavionixAdsbOutRfSelect",1,["mavlink::uavionix::UavionixAdsbOutRfSelect"]],["impl Unpin for PrecisionLandMode",1,["mavlink::uavionix::PrecisionLandMode"]],["impl Unpin for MavEstimatorType",1,["mavlink::uavionix::MavEstimatorType"]],["impl Unpin for MavBatteryFault",1,["mavlink::uavionix::MavBatteryFault"]],["impl Unpin for HilSensorUpdatedFlags",1,["mavlink::uavionix::HilSensorUpdatedFlags"]],["impl Unpin for UavionixAdsbEmergencyStatus",1,["mavlink::uavionix::UavionixAdsbEmergencyStatus"]],["impl Unpin for GimbalDeviceCapFlags",1,["mavlink::uavionix::GimbalDeviceCapFlags"]],["impl Unpin for MavArmAuthDeniedReason",1,["mavlink::uavionix::MavArmAuthDeniedReason"]],["impl Unpin for MavComponent",1,["mavlink::uavionix::MavComponent"]],["impl Unpin for MavSysStatusSensor",1,["mavlink::uavionix::MavSysStatusSensor"]],["impl Unpin for MagCalStatus",1,["mavlink::uavionix::MagCalStatus"]],["impl Unpin for MavState",1,["mavlink::uavionix::MavState"]],["impl Unpin for MavOdidArmStatus",1,["mavlink::uavionix::MavOdidArmStatus"]],["impl Unpin for OrbitYawBehaviour",1,["mavlink::uavionix::OrbitYawBehaviour"]],["impl Unpin for MavProtocolCapability",1,["mavlink::uavionix::MavProtocolCapability"]],["impl Unpin for EscConnectionType",1,["mavlink::uavionix::EscConnectionType"]],["impl Unpin for MotorTestOrder",1,["mavlink::uavionix::MotorTestOrder"]],["impl Unpin for GpsInputIgnoreFlags",1,["mavlink::uavionix::GpsInputIgnoreFlags"]],["impl Unpin for AdsbEmitterType",1,["mavlink::uavionix::AdsbEmitterType"]],["impl Unpin for ActuatorConfiguration",1,["mavlink::uavionix::ActuatorConfiguration"]],["impl Unpin for HlFailureFlag",1,["mavlink::uavionix::HlFailureFlag"]],["impl Unpin for MavOdidDescType",1,["mavlink::uavionix::MavOdidDescType"]],["impl Unpin for MavOdidOperatorIdType",1,["mavlink::uavionix::MavOdidOperatorIdType"]],["impl Unpin for CanFilterOp",1,["mavlink::uavionix::CanFilterOp"]],["impl Unpin for VideoStreamStatusFlags",1,["mavlink::uavionix::VideoStreamStatusFlags"]],["impl Unpin for MavOdidHeightRef",1,["mavlink::uavionix::MavOdidHeightRef"]],["impl Unpin for MavDoRepositionFlags",1,["mavlink::uavionix::MavDoRepositionFlags"]],["impl Unpin for TuneFormat",1,["mavlink::uavionix::TuneFormat"]],["impl Unpin for MavOdidCategoryEu",1,["mavlink::uavionix::MavOdidCategoryEu"]],["impl Unpin for MotorTestThrottleType",1,["mavlink::uavionix::MotorTestThrottleType"]],["impl Unpin for LandingTargetType",1,["mavlink::uavionix::LandingTargetType"]],["impl Unpin for FirmwareVersionType",1,["mavlink::uavionix::FirmwareVersionType"]],["impl Unpin for CellularConfigResponse",1,["mavlink::uavionix::CellularConfigResponse"]],["impl Unpin for AdsbFlags",1,["mavlink::uavionix::AdsbFlags"]],["impl Unpin for MavDistanceSensor",1,["mavlink::uavionix::MavDistanceSensor"]],["impl Unpin for PreflightStorageMissionAction",1,["mavlink::uavionix::PreflightStorageMissionAction"]],["impl Unpin for CellularStatusFlag",1,["mavlink::uavionix::CellularStatusFlag"]],["impl Unpin for UtmFlightState",1,["mavlink::uavionix::UtmFlightState"]],["impl Unpin for MavOdidClassEu",1,["mavlink::uavionix::MavOdidClassEu"]],["impl Unpin for AdsbAltitudeType",1,["mavlink::uavionix::AdsbAltitudeType"]],["impl Unpin for FenceBreach",1,["mavlink::uavionix::FenceBreach"]],["impl Unpin for UavcanNodeHealth",1,["mavlink::uavionix::UavcanNodeHealth"]],["impl Unpin for GpsFixType",1,["mavlink::uavionix::GpsFixType"]],["impl Unpin for GimbalManagerCapFlags",1,["mavlink::uavionix::GimbalManagerCapFlags"]],["impl Unpin for MavWinchStatusFlag",1,["mavlink::uavionix::MavWinchStatusFlag"]],["impl Unpin for MissionState",1,["mavlink::uavionix::MissionState"]],["impl Unpin for CompMetadataType",1,["mavlink::uavionix::CompMetadataType"]],["impl Unpin for MavOdidTimeAcc",1,["mavlink::uavionix::MavOdidTimeAcc"]],["impl Unpin for UavionixAdsbOutCfgAircraftSize",1,["mavlink::uavionix::UavionixAdsbOutCfgAircraftSize"]],["impl Unpin for SerialControlDev",1,["mavlink::uavionix::SerialControlDev"]],["impl Unpin for ParamAck",1,["mavlink::uavionix::ParamAck"]],["impl Unpin for AisFlags",1,["mavlink::uavionix::AisFlags"]],["impl Unpin for RtkBaselineCoordinateSystem",1,["mavlink::uavionix::RtkBaselineCoordinateSystem"]],["impl Unpin for MavResult",1,["mavlink::uavionix::MavResult"]],["impl Unpin for GimbalDeviceFlags",1,["mavlink::uavionix::GimbalDeviceFlags"]],["impl Unpin for MavOdidVerAcc",1,["mavlink::uavionix::MavOdidVerAcc"]],["impl Unpin for NavVtolLandOptions",1,["mavlink::uavionix::NavVtolLandOptions"]],["impl Unpin for EscFailureFlags",1,["mavlink::uavionix::EscFailureFlags"]],["impl Unpin for MavMissionResult",1,["mavlink::uavionix::MavMissionResult"]],["impl Unpin for FailureType",1,["mavlink::uavionix::FailureType"]],["impl Unpin for MavEventCurrentSequenceFlags",1,["mavlink::uavionix::MavEventCurrentSequenceFlags"]],["impl Unpin for MavRoi",1,["mavlink::uavionix::MavRoi"]],["impl Unpin for MavOdidSpeedAcc",1,["mavlink::uavionix::MavOdidSpeedAcc"]],["impl Unpin for MavParamType",1,["mavlink::uavionix::MavParamType"]],["impl Unpin for FailureUnit",1,["mavlink::uavionix::FailureUnit"]],["impl Unpin for MavLandedState",1,["mavlink::uavionix::MavLandedState"]],["impl Unpin for CameraZoomType",1,["mavlink::uavionix::CameraZoomType"]],["impl Unpin for GripperActions",1,["mavlink::uavionix::GripperActions"]],["impl Unpin for MavBatteryMode",1,["mavlink::uavionix::MavBatteryMode"]],["impl Unpin for RcType",1,["mavlink::uavionix::RcType"]],["impl Unpin for HighresImuUpdatedFlags",1,["mavlink::uavionix::HighresImuUpdatedFlags"]],["impl Unpin for CameraTrackingMode",1,["mavlink::uavionix::CameraTrackingMode"]],["impl Unpin for UavcanNodeMode",1,["mavlink::uavionix::UavcanNodeMode"]],["impl Unpin for GimbalDeviceErrorFlags",1,["mavlink::uavionix::GimbalDeviceErrorFlags"]],["impl Unpin for PositionTargetTypemask",1,["mavlink::uavionix::PositionTargetTypemask"]],["impl Unpin for MavPowerStatus",1,["mavlink::uavionix::MavPowerStatus"]],["impl Unpin for MavMountMode",1,["mavlink::uavionix::MavMountMode"]],["impl Unpin for MavTunnelPayloadType",1,["mavlink::uavionix::MavTunnelPayloadType"]],["impl Unpin for ParachuteAction",1,["mavlink::uavionix::ParachuteAction"]],["impl Unpin for MavGeneratorStatusFlag",1,["mavlink::uavionix::MavGeneratorStatusFlag"]],["impl Unpin for MavOdidStatus",1,["mavlink::uavionix::MavOdidStatus"]],["impl Unpin for VideoStreamType",1,["mavlink::uavionix::VideoStreamType"]],["impl Unpin for ActuatorOutputFunction",1,["mavlink::uavionix::ActuatorOutputFunction"]],["impl Unpin for WinchActions",1,["mavlink::uavionix::WinchActions"]],["impl Unpin for SetFocusType",1,["mavlink::uavionix::SetFocusType"]],["impl Unpin for SerialControlFlag",1,["mavlink::uavionix::SerialControlFlag"]],["impl Unpin for AutotuneAxis",1,["mavlink::uavionix::AutotuneAxis"]],["impl Unpin for MavOdidClassificationType",1,["mavlink::uavionix::MavOdidClassificationType"]],["impl Unpin for AisNavStatus",1,["mavlink::uavionix::AisNavStatus"]],["impl Unpin for CameraTrackingStatusFlags",1,["mavlink::uavionix::CameraTrackingStatusFlags"]],["impl Unpin for UtmDataAvailFlags",1,["mavlink::uavionix::UtmDataAvailFlags"]],["impl Unpin for StorageType",1,["mavlink::uavionix::StorageType"]],["impl Unpin for MavSensorOrientation",1,["mavlink::uavionix::MavSensorOrientation"]],["impl Unpin for MavMissionType",1,["mavlink::uavionix::MavMissionType"]],["impl Unpin for MavFtpOpcode",1,["mavlink::uavionix::MavFtpOpcode"]],["impl Unpin for UavionixAdsbRfHealth",1,["mavlink::uavionix::UavionixAdsbRfHealth"]],["impl Unpin for MavCmd",1,["mavlink::uavionix::MavCmd"]],["impl Unpin for MavFtpErr",1,["mavlink::uavionix::MavFtpErr"]],["impl Unpin for MavSeverity",1,["mavlink::uavionix::MavSeverity"]],["impl Unpin for POWER_STATUS_DATA",1,["mavlink::uavionix::POWER_STATUS_DATA"]],["impl Unpin for GPS_RTCM_DATA_DATA",1,["mavlink::uavionix::GPS_RTCM_DATA_DATA"]],["impl Unpin for WIND_COV_DATA",1,["mavlink::uavionix::WIND_COV_DATA"]],["impl Unpin for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::uavionix::HIL_RC_INPUTS_RAW_DATA"]],["impl Unpin for ENCAPSULATED_DATA_DATA",1,["mavlink::uavionix::ENCAPSULATED_DATA_DATA"]],["impl Unpin for LOG_REQUEST_END_DATA",1,["mavlink::uavionix::LOG_REQUEST_END_DATA"]],["impl Unpin for MISSION_SET_CURRENT_DATA",1,["mavlink::uavionix::MISSION_SET_CURRENT_DATA"]],["impl Unpin for COMPONENT_METADATA_DATA",1,["mavlink::uavionix::COMPONENT_METADATA_DATA"]],["impl Unpin for FLIGHT_INFORMATION_DATA",1,["mavlink::uavionix::FLIGHT_INFORMATION_DATA"]],["impl Unpin for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Unpin for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Unpin for LANDING_TARGET_DATA",1,["mavlink::uavionix::LANDING_TARGET_DATA"]],["impl Unpin for COMMAND_INT_DATA",1,["mavlink::uavionix::COMMAND_INT_DATA"]],["impl Unpin for ATT_POS_MOCAP_DATA",1,["mavlink::uavionix::ATT_POS_MOCAP_DATA"]],["impl Unpin for ALTITUDE_DATA",1,["mavlink::uavionix::ALTITUDE_DATA"]],["impl Unpin for FOLLOW_TARGET_DATA",1,["mavlink::uavionix::FOLLOW_TARGET_DATA"]],["impl Unpin for SIM_STATE_DATA",1,["mavlink::uavionix::SIM_STATE_DATA"]],["impl Unpin for MAG_CAL_REPORT_DATA",1,["mavlink::uavionix::MAG_CAL_REPORT_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Unpin for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::uavionix::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Unpin for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::uavionix::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Unpin for COMPONENT_INFORMATION_DATA",1,["mavlink::uavionix::COMPONENT_INFORMATION_DATA"]],["impl Unpin for GPS2_RAW_DATA",1,["mavlink::uavionix::GPS2_RAW_DATA"]],["impl Unpin for BUTTON_CHANGE_DATA",1,["mavlink::uavionix::BUTTON_CHANGE_DATA"]],["impl Unpin for UAVCAN_NODE_INFO_DATA",1,["mavlink::uavionix::UAVCAN_NODE_INFO_DATA"]],["impl Unpin for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Unpin for COLLISION_DATA",1,["mavlink::uavionix::COLLISION_DATA"]],["impl Unpin for RAW_RPM_DATA",1,["mavlink::uavionix::RAW_RPM_DATA"]],["impl Unpin for SERIAL_CONTROL_DATA",1,["mavlink::uavionix::SERIAL_CONTROL_DATA"]],["impl Unpin for CAMERA_TRIGGER_DATA",1,["mavlink::uavionix::CAMERA_TRIGGER_DATA"]],["impl Unpin for SET_HOME_POSITION_DATA",1,["mavlink::uavionix::SET_HOME_POSITION_DATA"]],["impl Unpin for CAMERA_FOV_STATUS_DATA",1,["mavlink::uavionix::CAMERA_FOV_STATUS_DATA"]],["impl Unpin for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Unpin for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::uavionix::VIDEO_STREAM_INFORMATION_DATA"]],["impl Unpin for LINK_NODE_STATUS_DATA",1,["mavlink::uavionix::LINK_NODE_STATUS_DATA"]],["impl Unpin for HIL_STATE_DATA",1,["mavlink::uavionix::HIL_STATE_DATA"]],["impl Unpin for PARAM_SET_DATA",1,["mavlink::uavionix::PARAM_SET_DATA"]],["impl Unpin for SCALED_IMU_DATA",1,["mavlink::uavionix::SCALED_IMU_DATA"]],["impl Unpin for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::uavionix::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Unpin for TERRAIN_REQUEST_DATA",1,["mavlink::uavionix::TERRAIN_REQUEST_DATA"]],["impl Unpin for SCALED_PRESSURE_DATA",1,["mavlink::uavionix::SCALED_PRESSURE_DATA"]],["impl Unpin for GENERATOR_STATUS_DATA",1,["mavlink::uavionix::GENERATOR_STATUS_DATA"]],["impl Unpin for HIL_GPS_DATA",1,["mavlink::uavionix::HIL_GPS_DATA"]],["impl Unpin for LOG_ERASE_DATA",1,["mavlink::uavionix::LOG_ERASE_DATA"]],["impl Unpin for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::uavionix::RC_CHANNELS_OVERRIDE_DATA"]],["impl Unpin for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Unpin for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Unpin for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Unpin for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Unpin for SUPPORTED_TUNES_DATA",1,["mavlink::uavionix::SUPPORTED_TUNES_DATA"]],["impl Unpin for VIDEO_STREAM_STATUS_DATA",1,["mavlink::uavionix::VIDEO_STREAM_STATUS_DATA"]],["impl Unpin for HYGROMETER_SENSOR_DATA",1,["mavlink::uavionix::HYGROMETER_SENSOR_DATA"]],["impl Unpin for SCALED_PRESSURE3_DATA",1,["mavlink::uavionix::SCALED_PRESSURE3_DATA"]],["impl Unpin for OBSTACLE_DISTANCE_DATA",1,["mavlink::uavionix::OBSTACLE_DISTANCE_DATA"]],["impl Unpin for REQUEST_DATA_STREAM_DATA",1,["mavlink::uavionix::REQUEST_DATA_STREAM_DATA"]],["impl Unpin for DISTANCE_SENSOR_DATA",1,["mavlink::uavionix::DISTANCE_SENSOR_DATA"]],["impl Unpin for LOG_REQUEST_LIST_DATA",1,["mavlink::uavionix::LOG_REQUEST_LIST_DATA"]],["impl Unpin for RC_CHANNELS_DATA",1,["mavlink::uavionix::RC_CHANNELS_DATA"]],["impl Unpin for CAN_FILTER_MODIFY_DATA",1,["mavlink::uavionix::CAN_FILTER_MODIFY_DATA"]],["impl Unpin for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_ALLOWED_AREA_DATA"]],["impl Unpin for ATTITUDE_DATA",1,["mavlink::uavionix::ATTITUDE_DATA"]],["impl Unpin for SERVO_OUTPUT_RAW_DATA",1,["mavlink::uavionix::SERVO_OUTPUT_RAW_DATA"]],["impl Unpin for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_CAPTURE_STATUS_DATA"]],["impl Unpin for VFR_HUD_DATA",1,["mavlink::uavionix::VFR_HUD_DATA"]],["impl Unpin for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::uavionix::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Unpin for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Unpin for EVENT_DATA",1,["mavlink::uavionix::EVENT_DATA"]],["impl Unpin for CAMERA_INFORMATION_DATA",1,["mavlink::uavionix::CAMERA_INFORMATION_DATA"]],["impl Unpin for PARAM_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_REQUEST_LIST_DATA"]],["impl Unpin for WHEEL_DISTANCE_DATA",1,["mavlink::uavionix::WHEEL_DISTANCE_DATA"]],["impl Unpin for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Unpin for UAVCAN_NODE_STATUS_DATA",1,["mavlink::uavionix::UAVCAN_NODE_STATUS_DATA"]],["impl Unpin for PARAM_EXT_SET_DATA",1,["mavlink::uavionix::PARAM_EXT_SET_DATA"]],["impl Unpin for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Unpin for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Unpin for SMART_BATTERY_INFO_DATA",1,["mavlink::uavionix::SMART_BATTERY_INFO_DATA"]],["impl Unpin for OPTICAL_FLOW_RAD_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_RAD_DATA"]],["impl Unpin for HIL_OPTICAL_FLOW_DATA",1,["mavlink::uavionix::HIL_OPTICAL_FLOW_DATA"]],["impl Unpin for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_COV_DATA"]],["impl Unpin for BATTERY_STATUS_DATA",1,["mavlink::uavionix::BATTERY_STATUS_DATA"]],["impl Unpin for GLOBAL_POSITION_INT_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_DATA"]],["impl Unpin for MOUNT_ORIENTATION_DATA",1,["mavlink::uavionix::MOUNT_ORIENTATION_DATA"]],["impl Unpin for MISSION_ITEM_DATA",1,["mavlink::uavionix::MISSION_ITEM_DATA"]],["impl Unpin for GPS_RTK_DATA",1,["mavlink::uavionix::GPS_RTK_DATA"]],["impl Unpin for HIGHRES_IMU_DATA",1,["mavlink::uavionix::HIGHRES_IMU_DATA"]],["impl Unpin for RESOURCE_REQUEST_DATA",1,["mavlink::uavionix::RESOURCE_REQUEST_DATA"]],["impl Unpin for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::uavionix::CONTROL_SYSTEM_STATE_DATA"]],["impl Unpin for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Unpin for PARAM_EXT_VALUE_DATA",1,["mavlink::uavionix::PARAM_EXT_VALUE_DATA"]],["impl Unpin for RAW_IMU_DATA",1,["mavlink::uavionix::RAW_IMU_DATA"]],["impl Unpin for TUNNEL_DATA",1,["mavlink::uavionix::TUNNEL_DATA"]],["impl Unpin for GPS2_RTK_DATA",1,["mavlink::uavionix::GPS2_RTK_DATA"]],["impl Unpin for EFI_STATUS_DATA",1,["mavlink::uavionix::EFI_STATUS_DATA"]],["impl Unpin for ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::ATTITUDE_TARGET_DATA"]],["impl Unpin for GPS_INJECT_DATA_DATA",1,["mavlink::uavionix::GPS_INJECT_DATA_DATA"]],["impl Unpin for CELLULAR_CONFIG_DATA",1,["mavlink::uavionix::CELLULAR_CONFIG_DATA"]],["impl Unpin for EXTENDED_SYS_STATE_DATA",1,["mavlink::uavionix::EXTENDED_SYS_STATE_DATA"]],["impl Unpin for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::uavionix::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Unpin for SETUP_SIGNING_DATA",1,["mavlink::uavionix::SETUP_SIGNING_DATA"]],["impl Unpin for PARAM_MAP_RC_DATA",1,["mavlink::uavionix::PARAM_MAP_RC_DATA"]],["impl Unpin for HIGH_LATENCY2_DATA",1,["mavlink::uavionix::HIGH_LATENCY2_DATA"]],["impl Unpin for SCALED_IMU2_DATA",1,["mavlink::uavionix::SCALED_IMU2_DATA"]],["impl Unpin for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Unpin for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Unpin for VIBRATION_DATA",1,["mavlink::uavionix::VIBRATION_DATA"]],["impl Unpin for HIL_SENSOR_DATA",1,["mavlink::uavionix::HIL_SENSOR_DATA"]],["impl Unpin for WINCH_STATUS_DATA",1,["mavlink::uavionix::WINCH_STATUS_DATA"]],["impl Unpin for SET_MODE_DATA",1,["mavlink::uavionix::SET_MODE_DATA"]],["impl Unpin for RAW_PRESSURE_DATA",1,["mavlink::uavionix::RAW_PRESSURE_DATA"]],["impl Unpin for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::uavionix::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Unpin for LOG_DATA_DATA",1,["mavlink::uavionix::LOG_DATA_DATA"]],["impl Unpin for TIMESYNC_DATA",1,["mavlink::uavionix::TIMESYNC_DATA"]],["impl Unpin for RC_CHANNELS_RAW_DATA",1,["mavlink::uavionix::RC_CHANNELS_RAW_DATA"]],["impl Unpin for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Unpin for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Unpin for PARAM_VALUE_DATA",1,["mavlink::uavionix::PARAM_VALUE_DATA"]],["impl Unpin for HIL_CONTROLS_DATA",1,["mavlink::uavionix::HIL_CONTROLS_DATA"]],["impl Unpin for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Unpin for ADSB_VEHICLE_DATA",1,["mavlink::uavionix::ADSB_VEHICLE_DATA"]],["impl Unpin for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Unpin for UTM_GLOBAL_POSITION_DATA",1,["mavlink::uavionix::UTM_GLOBAL_POSITION_DATA"]],["impl Unpin for COMMAND_ACK_DATA",1,["mavlink::uavionix::COMMAND_ACK_DATA"]],["impl Unpin for ISBD_LINK_STATUS_DATA",1,["mavlink::uavionix::ISBD_LINK_STATUS_DATA"]],["impl Unpin for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Unpin for AUTOPILOT_VERSION_DATA",1,["mavlink::uavionix::AUTOPILOT_VERSION_DATA"]],["impl Unpin for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::uavionix::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Unpin for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::uavionix::DEBUG_FLOAT_ARRAY_DATA"]],["impl Unpin for PLAY_TUNE_V2_DATA",1,["mavlink::uavionix::PLAY_TUNE_V2_DATA"]],["impl Unpin for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Unpin for REQUEST_EVENT_DATA",1,["mavlink::uavionix::REQUEST_EVENT_DATA"]],["impl Unpin for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Unpin for NAMED_VALUE_INT_DATA",1,["mavlink::uavionix::NAMED_VALUE_INT_DATA"]],["impl Unpin for MISSION_REQUEST_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_LIST_DATA"]],["impl Unpin for LOG_REQUEST_DATA_DATA",1,["mavlink::uavionix::LOG_REQUEST_DATA_DATA"]],["impl Unpin for MESSAGE_INTERVAL_DATA",1,["mavlink::uavionix::MESSAGE_INTERVAL_DATA"]],["impl Unpin for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_POSITION_ESTIMATE_DATA"]],["impl Unpin for LOG_ENTRY_DATA",1,["mavlink::uavionix::LOG_ENTRY_DATA"]],["impl Unpin for AIS_VESSEL_DATA",1,["mavlink::uavionix::AIS_VESSEL_DATA"]],["impl Unpin for MISSION_ACK_DATA",1,["mavlink::uavionix::MISSION_ACK_DATA"]],["impl Unpin for RADIO_STATUS_DATA",1,["mavlink::uavionix::RADIO_STATUS_DATA"]],["impl Unpin for CELLULAR_STATUS_DATA",1,["mavlink::uavionix::CELLULAR_STATUS_DATA"]],["impl Unpin for DATA_STREAM_DATA",1,["mavlink::uavionix::DATA_STREAM_DATA"]],["impl Unpin for DEBUG_VECT_DATA",1,["mavlink::uavionix::DEBUG_VECT_DATA"]],["impl Unpin for MISSION_CURRENT_DATA",1,["mavlink::uavionix::MISSION_CURRENT_DATA"]],["impl Unpin for PROTOCOL_VERSION_DATA",1,["mavlink::uavionix::PROTOCOL_VERSION_DATA"]],["impl Unpin for GPS_INPUT_DATA",1,["mavlink::uavionix::GPS_INPUT_DATA"]],["impl Unpin for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::uavionix::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Unpin for MISSION_ITEM_INT_DATA",1,["mavlink::uavionix::MISSION_ITEM_INT_DATA"]],["impl Unpin for GPS_STATUS_DATA",1,["mavlink::uavionix::GPS_STATUS_DATA"]],["impl Unpin for MANUAL_SETPOINT_DATA",1,["mavlink::uavionix::MANUAL_SETPOINT_DATA"]],["impl Unpin for FENCE_STATUS_DATA",1,["mavlink::uavionix::FENCE_STATUS_DATA"]],["impl Unpin for HOME_POSITION_DATA",1,["mavlink::uavionix::HOME_POSITION_DATA"]],["impl Unpin for ESC_INFO_DATA",1,["mavlink::uavionix::ESC_INFO_DATA"]],["impl Unpin for COMMAND_CANCEL_DATA",1,["mavlink::uavionix::COMMAND_CANCEL_DATA"]],["impl Unpin for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_READ_DATA"]],["impl Unpin for PLAY_TUNE_DATA",1,["mavlink::uavionix::PLAY_TUNE_DATA"]],["impl Unpin for MISSION_REQUEST_INT_DATA",1,["mavlink::uavionix::MISSION_REQUEST_INT_DATA"]],["impl Unpin for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_COV_DATA"]],["impl Unpin for MISSION_ITEM_REACHED_DATA",1,["mavlink::uavionix::MISSION_ITEM_REACHED_DATA"]],["impl Unpin for PARAM_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_REQUEST_READ_DATA"]],["impl Unpin for TERRAIN_DATA_DATA",1,["mavlink::uavionix::TERRAIN_DATA_DATA"]],["impl Unpin for GPS_RAW_INT_DATA",1,["mavlink::uavionix::GPS_RAW_INT_DATA"]],["impl Unpin for STORAGE_INFORMATION_DATA",1,["mavlink::uavionix::STORAGE_INFORMATION_DATA"]],["impl Unpin for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::uavionix::RESPONSE_EVENT_ERROR_DATA"]],["impl Unpin for MANUAL_CONTROL_DATA",1,["mavlink::uavionix::MANUAL_CONTROL_DATA"]],["impl Unpin for NAMED_VALUE_FLOAT_DATA",1,["mavlink::uavionix::NAMED_VALUE_FLOAT_DATA"]],["impl Unpin for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_STATUS_DATA"]],["impl Unpin for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Unpin for LOGGING_DATA_DATA",1,["mavlink::uavionix::LOGGING_DATA_DATA"]],["impl Unpin for STATUSTEXT_DATA",1,["mavlink::uavionix::STATUSTEXT_DATA"]],["impl Unpin for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Unpin for ESTIMATOR_STATUS_DATA",1,["mavlink::uavionix::ESTIMATOR_STATUS_DATA"]],["impl Unpin for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::uavionix::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Unpin for PARAM_EXT_ACK_DATA",1,["mavlink::uavionix::PARAM_EXT_ACK_DATA"]],["impl Unpin for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Unpin for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Unpin for CAN_FRAME_DATA",1,["mavlink::uavionix::CAN_FRAME_DATA"]],["impl Unpin for COMMAND_LONG_DATA",1,["mavlink::uavionix::COMMAND_LONG_DATA"]],["impl Unpin for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Unpin for HEARTBEAT_DATA",1,["mavlink::uavionix::HEARTBEAT_DATA"]],["impl Unpin for ATTITUDE_QUATERNION_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_DATA"]],["impl Unpin for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VICON_POSITION_ESTIMATE_DATA"]],["impl Unpin for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::uavionix::ORBIT_EXECUTION_STATUS_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Unpin for SCALED_PRESSURE2_DATA",1,["mavlink::uavionix::SCALED_PRESSURE2_DATA"]],["impl Unpin for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Unpin for ODOMETRY_DATA",1,["mavlink::uavionix::ODOMETRY_DATA"]],["impl Unpin for CAMERA_SETTINGS_DATA",1,["mavlink::uavionix::CAMERA_SETTINGS_DATA"]],["impl Unpin for MISSION_CLEAR_ALL_DATA",1,["mavlink::uavionix::MISSION_CLEAR_ALL_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Unpin for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_SPEED_ESTIMATE_DATA"]],["impl Unpin for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Unpin for TERRAIN_REPORT_DATA",1,["mavlink::uavionix::TERRAIN_REPORT_DATA"]],["impl Unpin for LOCAL_POSITION_NED_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_DATA"]],["impl Unpin for DEBUG_DATA",1,["mavlink::uavionix::DEBUG_DATA"]],["impl Unpin for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Unpin for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::GPS_GLOBAL_ORIGIN_DATA"]],["impl Unpin for MISSION_COUNT_DATA",1,["mavlink::uavionix::MISSION_COUNT_DATA"]],["impl Unpin for HIGH_LATENCY_DATA",1,["mavlink::uavionix::HIGH_LATENCY_DATA"]],["impl Unpin for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Unpin for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::uavionix::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Unpin for MEMORY_VECT_DATA",1,["mavlink::uavionix::MEMORY_VECT_DATA"]],["impl Unpin for MISSION_REQUEST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_DATA"]],["impl Unpin for V2_EXTENSION_DATA",1,["mavlink::uavionix::V2_EXTENSION_DATA"]],["impl Unpin for ESC_STATUS_DATA",1,["mavlink::uavionix::ESC_STATUS_DATA"]],["impl Unpin for LOGGING_DATA_ACKED_DATA",1,["mavlink::uavionix::LOGGING_DATA_ACKED_DATA"]],["impl Unpin for CANFD_FRAME_DATA",1,["mavlink::uavionix::CANFD_FRAME_DATA"]],["impl Unpin for SCALED_IMU3_DATA",1,["mavlink::uavionix::SCALED_IMU3_DATA"]],["impl Unpin for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_COV_DATA"]],["impl Unpin for HIL_STATE_QUATERNION_DATA",1,["mavlink::uavionix::HIL_STATE_QUATERNION_DATA"]],["impl Unpin for AUTH_KEY_DATA",1,["mavlink::uavionix::AUTH_KEY_DATA"]],["impl Unpin for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Unpin for LOGGING_ACK_DATA",1,["mavlink::uavionix::LOGGING_ACK_DATA"]],["impl Unpin for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Unpin for SYSTEM_TIME_DATA",1,["mavlink::uavionix::SYSTEM_TIME_DATA"]],["impl Unpin for SET_ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::SET_ATTITUDE_TARGET_DATA"]],["impl Unpin for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Unpin for TERRAIN_CHECK_DATA",1,["mavlink::uavionix::TERRAIN_CHECK_DATA"]],["impl Unpin for SYS_STATUS_DATA",1,["mavlink::uavionix::SYS_STATUS_DATA"]],["impl Unpin for WIFI_CONFIG_AP_DATA",1,["mavlink::uavionix::WIFI_CONFIG_AP_DATA"]],["impl Unpin for PING_DATA",1,["mavlink::uavionix::PING_DATA"]],["impl Unpin for RC_CHANNELS_SCALED_DATA",1,["mavlink::uavionix::RC_CHANNELS_SCALED_DATA"]],["impl Unpin for OPTICAL_FLOW_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_DATA"]],["impl Unpin for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Unpin for MavMessage",1,["mavlink::uavionix::MavMessage"]],["impl Unpin for WifiConfigApResponse",1,["mavlink::common::WifiConfigApResponse"]],["impl Unpin for FirmwareVersionType",1,["mavlink::common::FirmwareVersionType"]],["impl Unpin for MavAutopilot",1,["mavlink::common::MavAutopilot"]],["impl Unpin for FailureUnit",1,["mavlink::common::FailureUnit"]],["impl Unpin for MavOdidClassEu",1,["mavlink::common::MavOdidClassEu"]],["impl Unpin for CellularNetworkFailedReason",1,["mavlink::common::CellularNetworkFailedReason"]],["impl Unpin for CellularNetworkRadioType",1,["mavlink::common::CellularNetworkRadioType"]],["impl Unpin for MavOdidIdType",1,["mavlink::common::MavOdidIdType"]],["impl Unpin for MavModeFlag",1,["mavlink::common::MavModeFlag"]],["impl Unpin for MavOdidArmStatus",1,["mavlink::common::MavOdidArmStatus"]],["impl Unpin for NavVtolLandOptions",1,["mavlink::common::NavVtolLandOptions"]],["impl Unpin for GripperActions",1,["mavlink::common::GripperActions"]],["impl Unpin for MavWinchStatusFlag",1,["mavlink::common::MavWinchStatusFlag"]],["impl Unpin for ParachuteAction",1,["mavlink::common::ParachuteAction"]],["impl Unpin for CompMetadataType",1,["mavlink::common::CompMetadataType"]],["impl Unpin for AdsbEmitterType",1,["mavlink::common::AdsbEmitterType"]],["impl Unpin for MavMode",1,["mavlink::common::MavMode"]],["impl Unpin for MavOdidClassificationType",1,["mavlink::common::MavOdidClassificationType"]],["impl Unpin for MavDistanceSensor",1,["mavlink::common::MavDistanceSensor"]],["impl Unpin for PositionTargetTypemask",1,["mavlink::common::PositionTargetTypemask"]],["impl Unpin for MavCmdAck",1,["mavlink::common::MavCmdAck"]],["impl Unpin for UavcanNodeMode",1,["mavlink::common::UavcanNodeMode"]],["impl Unpin for AdsbAltitudeType",1,["mavlink::common::AdsbAltitudeType"]],["impl Unpin for GpsFixType",1,["mavlink::common::GpsFixType"]],["impl Unpin for ParamAck",1,["mavlink::common::ParamAck"]],["impl Unpin for MavComponent",1,["mavlink::common::MavComponent"]],["impl Unpin for AisNavStatus",1,["mavlink::common::AisNavStatus"]],["impl Unpin for MagCalStatus",1,["mavlink::common::MagCalStatus"]],["impl Unpin for CameraZoomType",1,["mavlink::common::CameraZoomType"]],["impl Unpin for MavOdidCategoryEu",1,["mavlink::common::MavOdidCategoryEu"]],["impl Unpin for MavBatteryFunction",1,["mavlink::common::MavBatteryFunction"]],["impl Unpin for WifiConfigApMode",1,["mavlink::common::WifiConfigApMode"]],["impl Unpin for MavRoi",1,["mavlink::common::MavRoi"]],["impl Unpin for AisFlags",1,["mavlink::common::AisFlags"]],["impl Unpin for AisType",1,["mavlink::common::AisType"]],["impl Unpin for MavOdidDescType",1,["mavlink::common::MavOdidDescType"]],["impl Unpin for CanFilterOp",1,["mavlink::common::CanFilterOp"]],["impl Unpin for MavFtpOpcode",1,["mavlink::common::MavFtpOpcode"]],["impl Unpin for MavVtolState",1,["mavlink::common::MavVtolState"]],["impl Unpin for MavState",1,["mavlink::common::MavState"]],["impl Unpin for FenceBreach",1,["mavlink::common::FenceBreach"]],["impl Unpin for SerialControlFlag",1,["mavlink::common::SerialControlFlag"]],["impl Unpin for TuneFormat",1,["mavlink::common::TuneFormat"]],["impl Unpin for MavSeverity",1,["mavlink::common::MavSeverity"]],["impl Unpin for MavlinkDataStreamType",1,["mavlink::common::MavlinkDataStreamType"]],["impl Unpin for AdsbFlags",1,["mavlink::common::AdsbFlags"]],["impl Unpin for MavMountMode",1,["mavlink::common::MavMountMode"]],["impl Unpin for FenceMitigate",1,["mavlink::common::FenceMitigate"]],["impl Unpin for MavGeneratorStatusFlag",1,["mavlink::common::MavGeneratorStatusFlag"]],["impl Unpin for MavBatteryChargeState",1,["mavlink::common::MavBatteryChargeState"]],["impl Unpin for MavFtpErr",1,["mavlink::common::MavFtpErr"]],["impl Unpin for CellularConfigResponse",1,["mavlink::common::CellularConfigResponse"]],["impl Unpin for MavOdidOperatorIdType",1,["mavlink::common::MavOdidOperatorIdType"]],["impl Unpin for MavOdidSpeedAcc",1,["mavlink::common::MavOdidSpeedAcc"]],["impl Unpin for LandingTargetType",1,["mavlink::common::LandingTargetType"]],["impl Unpin for MavCollisionThreatLevel",1,["mavlink::common::MavCollisionThreatLevel"]],["impl Unpin for MavTunnelPayloadType",1,["mavlink::common::MavTunnelPayloadType"]],["impl Unpin for MavEventErrorReason",1,["mavlink::common::MavEventErrorReason"]],["impl Unpin for MavOdidVerAcc",1,["mavlink::common::MavOdidVerAcc"]],["impl Unpin for MotorTestThrottleType",1,["mavlink::common::MotorTestThrottleType"]],["impl Unpin for OrbitYawBehaviour",1,["mavlink::common::OrbitYawBehaviour"]],["impl Unpin for ActuatorConfiguration",1,["mavlink::common::ActuatorConfiguration"]],["impl Unpin for MavEstimatorType",1,["mavlink::common::MavEstimatorType"]],["impl Unpin for EstimatorStatusFlags",1,["mavlink::common::EstimatorStatusFlags"]],["impl Unpin for FailureType",1,["mavlink::common::FailureType"]],["impl Unpin for PreflightStorageParameterAction",1,["mavlink::common::PreflightStorageParameterAction"]],["impl Unpin for MavParamType",1,["mavlink::common::MavParamType"]],["impl Unpin for MavModeFlagDecodePosition",1,["mavlink::common::MavModeFlagDecodePosition"]],["impl Unpin for StorageUsageFlag",1,["mavlink::common::StorageUsageFlag"]],["impl Unpin for MavEventCurrentSequenceFlags",1,["mavlink::common::MavEventCurrentSequenceFlags"]],["impl Unpin for MavGoto",1,["mavlink::common::MavGoto"]],["impl Unpin for GimbalDeviceCapFlags",1,["mavlink::common::GimbalDeviceCapFlags"]],["impl Unpin for VtolTransitionHeading",1,["mavlink::common::VtolTransitionHeading"]],["impl Unpin for GimbalDeviceFlags",1,["mavlink::common::GimbalDeviceFlags"]],["impl Unpin for SerialControlDev",1,["mavlink::common::SerialControlDev"]],["impl Unpin for MavSysStatusSensor",1,["mavlink::common::MavSysStatusSensor"]],["impl Unpin for MavDataStream",1,["mavlink::common::MavDataStream"]],["impl Unpin for MavCollisionSrc",1,["mavlink::common::MavCollisionSrc"]],["impl Unpin for VideoStreamStatusFlags",1,["mavlink::common::VideoStreamStatusFlags"]],["impl Unpin for CameraTrackingStatusFlags",1,["mavlink::common::CameraTrackingStatusFlags"]],["impl Unpin for RcType",1,["mavlink::common::RcType"]],["impl Unpin for AttitudeTargetTypemask",1,["mavlink::common::AttitudeTargetTypemask"]],["impl Unpin for MavOdidAuthType",1,["mavlink::common::MavOdidAuthType"]],["impl Unpin for GimbalDeviceErrorFlags",1,["mavlink::common::GimbalDeviceErrorFlags"]],["impl Unpin for GimbalManagerFlags",1,["mavlink::common::GimbalManagerFlags"]],["impl Unpin for ActuatorOutputFunction",1,["mavlink::common::ActuatorOutputFunction"]],["impl Unpin for MavProtocolCapability",1,["mavlink::common::MavProtocolCapability"]],["impl Unpin for MavCmd",1,["mavlink::common::MavCmd"]],["impl Unpin for MavBatteryType",1,["mavlink::common::MavBatteryType"]],["impl Unpin for WinchActions",1,["mavlink::common::WinchActions"]],["impl Unpin for MavOdidUaType",1,["mavlink::common::MavOdidUaType"]],["impl Unpin for MavOdidStatus",1,["mavlink::common::MavOdidStatus"]],["impl Unpin for HlFailureFlag",1,["mavlink::common::HlFailureFlag"]],["impl Unpin for UtmDataAvailFlags",1,["mavlink::common::UtmDataAvailFlags"]],["impl Unpin for RtkBaselineCoordinateSystem",1,["mavlink::common::RtkBaselineCoordinateSystem"]],["impl Unpin for PreflightStorageMissionAction",1,["mavlink::common::PreflightStorageMissionAction"]],["impl Unpin for StorageType",1,["mavlink::common::StorageType"]],["impl Unpin for MavCollisionAction",1,["mavlink::common::MavCollisionAction"]],["impl Unpin for MavFrame",1,["mavlink::common::MavFrame"]],["impl Unpin for CameraCapFlags",1,["mavlink::common::CameraCapFlags"]],["impl Unpin for CameraTrackingTargetData",1,["mavlink::common::CameraTrackingTargetData"]],["impl Unpin for CameraMode",1,["mavlink::common::CameraMode"]],["impl Unpin for EscConnectionType",1,["mavlink::common::EscConnectionType"]],["impl Unpin for UavcanNodeHealth",1,["mavlink::common::UavcanNodeHealth"]],["impl Unpin for MavParamExtType",1,["mavlink::common::MavParamExtType"]],["impl Unpin for MavOdidHorAcc",1,["mavlink::common::MavOdidHorAcc"]],["impl Unpin for GimbalManagerCapFlags",1,["mavlink::common::GimbalManagerCapFlags"]],["impl Unpin for MavMissionResult",1,["mavlink::common::MavMissionResult"]],["impl Unpin for CellularStatusFlag",1,["mavlink::common::CellularStatusFlag"]],["impl Unpin for MavPowerStatus",1,["mavlink::common::MavPowerStatus"]],["impl Unpin for CameraTrackingMode",1,["mavlink::common::CameraTrackingMode"]],["impl Unpin for GpsInputIgnoreFlags",1,["mavlink::common::GpsInputIgnoreFlags"]],["impl Unpin for VideoStreamType",1,["mavlink::common::VideoStreamType"]],["impl Unpin for FenceAction",1,["mavlink::common::FenceAction"]],["impl Unpin for PrecisionLandMode",1,["mavlink::common::PrecisionLandMode"]],["impl Unpin for MavSensorOrientation",1,["mavlink::common::MavSensorOrientation"]],["impl Unpin for MavMissionType",1,["mavlink::common::MavMissionType"]],["impl Unpin for MavType",1,["mavlink::common::MavType"]],["impl Unpin for MavOdidOperatorLocationType",1,["mavlink::common::MavOdidOperatorLocationType"]],["impl Unpin for MavResult",1,["mavlink::common::MavResult"]],["impl Unpin for MissionState",1,["mavlink::common::MissionState"]],["impl Unpin for StorageStatus",1,["mavlink::common::StorageStatus"]],["impl Unpin for MavArmAuthDeniedReason",1,["mavlink::common::MavArmAuthDeniedReason"]],["impl Unpin for AutotuneAxis",1,["mavlink::common::AutotuneAxis"]],["impl Unpin for HighresImuUpdatedFlags",1,["mavlink::common::HighresImuUpdatedFlags"]],["impl Unpin for UtmFlightState",1,["mavlink::common::UtmFlightState"]],["impl Unpin for MavDoRepositionFlags",1,["mavlink::common::MavDoRepositionFlags"]],["impl Unpin for MavOdidTimeAcc",1,["mavlink::common::MavOdidTimeAcc"]],["impl Unpin for MavBatteryMode",1,["mavlink::common::MavBatteryMode"]],["impl Unpin for MavSysStatusSensorExtended",1,["mavlink::common::MavSysStatusSensorExtended"]],["impl Unpin for MavLandedState",1,["mavlink::common::MavLandedState"]],["impl Unpin for MavBatteryFault",1,["mavlink::common::MavBatteryFault"]],["impl Unpin for SetFocusType",1,["mavlink::common::SetFocusType"]],["impl Unpin for MavOdidHeightRef",1,["mavlink::common::MavOdidHeightRef"]],["impl Unpin for HilSensorUpdatedFlags",1,["mavlink::common::HilSensorUpdatedFlags"]],["impl Unpin for MotorTestOrder",1,["mavlink::common::MotorTestOrder"]],["impl Unpin for EscFailureFlags",1,["mavlink::common::EscFailureFlags"]],["impl Unpin for MISSION_CLEAR_ALL_DATA",1,["mavlink::common::MISSION_CLEAR_ALL_DATA"]],["impl Unpin for COMMAND_INT_DATA",1,["mavlink::common::COMMAND_INT_DATA"]],["impl Unpin for COLLISION_DATA",1,["mavlink::common::COLLISION_DATA"]],["impl Unpin for RC_CHANNELS_RAW_DATA",1,["mavlink::common::RC_CHANNELS_RAW_DATA"]],["impl Unpin for OPTICAL_FLOW_RAD_DATA",1,["mavlink::common::OPTICAL_FLOW_RAD_DATA"]],["impl Unpin for LOGGING_ACK_DATA",1,["mavlink::common::LOGGING_ACK_DATA"]],["impl Unpin for WIFI_CONFIG_AP_DATA",1,["mavlink::common::WIFI_CONFIG_AP_DATA"]],["impl Unpin for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Unpin for MANUAL_CONTROL_DATA",1,["mavlink::common::MANUAL_CONTROL_DATA"]],["impl Unpin for SMART_BATTERY_INFO_DATA",1,["mavlink::common::SMART_BATTERY_INFO_DATA"]],["impl Unpin for COMMAND_CANCEL_DATA",1,["mavlink::common::COMMAND_CANCEL_DATA"]],["impl Unpin for LOG_ENTRY_DATA",1,["mavlink::common::LOG_ENTRY_DATA"]],["impl Unpin for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Unpin for SCALED_PRESSURE2_DATA",1,["mavlink::common::SCALED_PRESSURE2_DATA"]],["impl Unpin for CAMERA_TRIGGER_DATA",1,["mavlink::common::CAMERA_TRIGGER_DATA"]],["impl Unpin for SET_HOME_POSITION_DATA",1,["mavlink::common::SET_HOME_POSITION_DATA"]],["impl Unpin for RAW_IMU_DATA",1,["mavlink::common::RAW_IMU_DATA"]],["impl Unpin for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Unpin for COMPONENT_METADATA_DATA",1,["mavlink::common::COMPONENT_METADATA_DATA"]],["impl Unpin for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::common::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Unpin for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Unpin for MISSION_CURRENT_DATA",1,["mavlink::common::MISSION_CURRENT_DATA"]],["impl Unpin for LOG_REQUEST_END_DATA",1,["mavlink::common::LOG_REQUEST_END_DATA"]],["impl Unpin for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::common::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Unpin for BATTERY_STATUS_DATA",1,["mavlink::common::BATTERY_STATUS_DATA"]],["impl Unpin for LANDING_TARGET_DATA",1,["mavlink::common::LANDING_TARGET_DATA"]],["impl Unpin for MESSAGE_INTERVAL_DATA",1,["mavlink::common::MESSAGE_INTERVAL_DATA"]],["impl Unpin for WHEEL_DISTANCE_DATA",1,["mavlink::common::WHEEL_DISTANCE_DATA"]],["impl Unpin for MISSION_COUNT_DATA",1,["mavlink::common::MISSION_COUNT_DATA"]],["impl Unpin for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::common::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Unpin for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Unpin for HIL_STATE_DATA",1,["mavlink::common::HIL_STATE_DATA"]],["impl Unpin for HIL_SENSOR_DATA",1,["mavlink::common::HIL_SENSOR_DATA"]],["impl Unpin for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_READ_DATA"]],["impl Unpin for SCALED_PRESSURE_DATA",1,["mavlink::common::SCALED_PRESSURE_DATA"]],["impl Unpin for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Unpin for ENCAPSULATED_DATA_DATA",1,["mavlink::common::ENCAPSULATED_DATA_DATA"]],["impl Unpin for COMPONENT_INFORMATION_DATA",1,["mavlink::common::COMPONENT_INFORMATION_DATA"]],["impl Unpin for VIDEO_STREAM_STATUS_DATA",1,["mavlink::common::VIDEO_STREAM_STATUS_DATA"]],["impl Unpin for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::common::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Unpin for HIL_GPS_DATA",1,["mavlink::common::HIL_GPS_DATA"]],["impl Unpin for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_COV_DATA"]],["impl Unpin for TERRAIN_REPORT_DATA",1,["mavlink::common::TERRAIN_REPORT_DATA"]],["impl Unpin for AIS_VESSEL_DATA",1,["mavlink::common::AIS_VESSEL_DATA"]],["impl Unpin for ODOMETRY_DATA",1,["mavlink::common::ODOMETRY_DATA"]],["impl Unpin for SUPPORTED_TUNES_DATA",1,["mavlink::common::SUPPORTED_TUNES_DATA"]],["impl Unpin for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::common::CONTROL_SYSTEM_STATE_DATA"]],["impl Unpin for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Unpin for ATT_POS_MOCAP_DATA",1,["mavlink::common::ATT_POS_MOCAP_DATA"]],["impl Unpin for LOGGING_DATA_DATA",1,["mavlink::common::LOGGING_DATA_DATA"]],["impl Unpin for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::common::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Unpin for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Unpin for SETUP_SIGNING_DATA",1,["mavlink::common::SETUP_SIGNING_DATA"]],["impl Unpin for PARAM_EXT_ACK_DATA",1,["mavlink::common::PARAM_EXT_ACK_DATA"]],["impl Unpin for RADIO_STATUS_DATA",1,["mavlink::common::RADIO_STATUS_DATA"]],["impl Unpin for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::common::RESPONSE_EVENT_ERROR_DATA"]],["impl Unpin for SIM_STATE_DATA",1,["mavlink::common::SIM_STATE_DATA"]],["impl Unpin for FENCE_STATUS_DATA",1,["mavlink::common::FENCE_STATUS_DATA"]],["impl Unpin for RESOURCE_REQUEST_DATA",1,["mavlink::common::RESOURCE_REQUEST_DATA"]],["impl Unpin for TERRAIN_DATA_DATA",1,["mavlink::common::TERRAIN_DATA_DATA"]],["impl Unpin for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::common::VICON_POSITION_ESTIMATE_DATA"]],["impl Unpin for EXTENDED_SYS_STATE_DATA",1,["mavlink::common::EXTENDED_SYS_STATE_DATA"]],["impl Unpin for HEARTBEAT_DATA",1,["mavlink::common::HEARTBEAT_DATA"]],["impl Unpin for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::common::VIDEO_STREAM_INFORMATION_DATA"]],["impl Unpin for MISSION_REQUEST_INT_DATA",1,["mavlink::common::MISSION_REQUEST_INT_DATA"]],["impl Unpin for CAN_FILTER_MODIFY_DATA",1,["mavlink::common::CAN_FILTER_MODIFY_DATA"]],["impl Unpin for MISSION_ITEM_INT_DATA",1,["mavlink::common::MISSION_ITEM_INT_DATA"]],["impl Unpin for HIGHRES_IMU_DATA",1,["mavlink::common::HIGHRES_IMU_DATA"]],["impl Unpin for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Unpin for DEBUG_DATA",1,["mavlink::common::DEBUG_DATA"]],["impl Unpin for CAMERA_SETTINGS_DATA",1,["mavlink::common::CAMERA_SETTINGS_DATA"]],["impl Unpin for MISSION_REQUEST_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_LIST_DATA"]],["impl Unpin for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Unpin for SCALED_IMU_DATA",1,["mavlink::common::SCALED_IMU_DATA"]],["impl Unpin for WIND_COV_DATA",1,["mavlink::common::WIND_COV_DATA"]],["impl Unpin for MISSION_REQUEST_DATA",1,["mavlink::common::MISSION_REQUEST_DATA"]],["impl Unpin for SERIAL_CONTROL_DATA",1,["mavlink::common::SERIAL_CONTROL_DATA"]],["impl Unpin for PARAM_REQUEST_READ_DATA",1,["mavlink::common::PARAM_REQUEST_READ_DATA"]],["impl Unpin for GPS2_RTK_DATA",1,["mavlink::common::GPS2_RTK_DATA"]],["impl Unpin for COMMAND_ACK_DATA",1,["mavlink::common::COMMAND_ACK_DATA"]],["impl Unpin for POWER_STATUS_DATA",1,["mavlink::common::POWER_STATUS_DATA"]],["impl Unpin for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::common::GIMBAL_MANAGER_STATUS_DATA"]],["impl Unpin for GLOBAL_POSITION_INT_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_DATA"]],["impl Unpin for PARAM_SET_DATA",1,["mavlink::common::PARAM_SET_DATA"]],["impl Unpin for OPTICAL_FLOW_DATA",1,["mavlink::common::OPTICAL_FLOW_DATA"]],["impl Unpin for RC_CHANNELS_SCALED_DATA",1,["mavlink::common::RC_CHANNELS_SCALED_DATA"]],["impl Unpin for GPS_INJECT_DATA_DATA",1,["mavlink::common::GPS_INJECT_DATA_DATA"]],["impl Unpin for PARAM_VALUE_DATA",1,["mavlink::common::PARAM_VALUE_DATA"]],["impl Unpin for RC_CHANNELS_DATA",1,["mavlink::common::RC_CHANNELS_DATA"]],["impl Unpin for ESTIMATOR_STATUS_DATA",1,["mavlink::common::ESTIMATOR_STATUS_DATA"]],["impl Unpin for TIMESYNC_DATA",1,["mavlink::common::TIMESYNC_DATA"]],["impl Unpin for SCALED_PRESSURE3_DATA",1,["mavlink::common::SCALED_PRESSURE3_DATA"]],["impl Unpin for DATA_STREAM_DATA",1,["mavlink::common::DATA_STREAM_DATA"]],["impl Unpin for HOME_POSITION_DATA",1,["mavlink::common::HOME_POSITION_DATA"]],["impl Unpin for MEMORY_VECT_DATA",1,["mavlink::common::MEMORY_VECT_DATA"]],["impl Unpin for NAMED_VALUE_FLOAT_DATA",1,["mavlink::common::NAMED_VALUE_FLOAT_DATA"]],["impl Unpin for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::common::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Unpin for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Unpin for STATUSTEXT_DATA",1,["mavlink::common::STATUSTEXT_DATA"]],["impl Unpin for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Unpin for UAVCAN_NODE_STATUS_DATA",1,["mavlink::common::UAVCAN_NODE_STATUS_DATA"]],["impl Unpin for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::GPS_GLOBAL_ORIGIN_DATA"]],["impl Unpin for EFI_STATUS_DATA",1,["mavlink::common::EFI_STATUS_DATA"]],["impl Unpin for ATTITUDE_QUATERNION_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_DATA"]],["impl Unpin for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::common::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Unpin for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Unpin for CELLULAR_STATUS_DATA",1,["mavlink::common::CELLULAR_STATUS_DATA"]],["impl Unpin for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::common::ORBIT_EXECUTION_STATUS_DATA"]],["impl Unpin for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::common::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Unpin for RAW_PRESSURE_DATA",1,["mavlink::common::RAW_PRESSURE_DATA"]],["impl Unpin for WINCH_STATUS_DATA",1,["mavlink::common::WINCH_STATUS_DATA"]],["impl Unpin for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Unpin for ATTITUDE_TARGET_DATA",1,["mavlink::common::ATTITUDE_TARGET_DATA"]],["impl Unpin for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::common::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Unpin for ISBD_LINK_STATUS_DATA",1,["mavlink::common::ISBD_LINK_STATUS_DATA"]],["impl Unpin for TUNNEL_DATA",1,["mavlink::common::TUNNEL_DATA"]],["impl Unpin for OBSTACLE_DISTANCE_DATA",1,["mavlink::common::OBSTACLE_DISTANCE_DATA"]],["impl Unpin for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_ALLOWED_AREA_DATA"]],["impl Unpin for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::common::DEBUG_FLOAT_ARRAY_DATA"]],["impl Unpin for SERVO_OUTPUT_RAW_DATA",1,["mavlink::common::SERVO_OUTPUT_RAW_DATA"]],["impl Unpin for DISTANCE_SENSOR_DATA",1,["mavlink::common::DISTANCE_SENSOR_DATA"]],["impl Unpin for PARAM_MAP_RC_DATA",1,["mavlink::common::PARAM_MAP_RC_DATA"]],["impl Unpin for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Unpin for GENERATOR_STATUS_DATA",1,["mavlink::common::GENERATOR_STATUS_DATA"]],["impl Unpin for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Unpin for CAN_FRAME_DATA",1,["mavlink::common::CAN_FRAME_DATA"]],["impl Unpin for SCALED_IMU2_DATA",1,["mavlink::common::SCALED_IMU2_DATA"]],["impl Unpin for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Unpin for COMMAND_LONG_DATA",1,["mavlink::common::COMMAND_LONG_DATA"]],["impl Unpin for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::common::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Unpin for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Unpin for HIL_CONTROLS_DATA",1,["mavlink::common::HIL_CONTROLS_DATA"]],["impl Unpin for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Unpin for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_COV_DATA"]],["impl Unpin for REQUEST_DATA_STREAM_DATA",1,["mavlink::common::REQUEST_DATA_STREAM_DATA"]],["impl Unpin for LOG_ERASE_DATA",1,["mavlink::common::LOG_ERASE_DATA"]],["impl Unpin for GPS_RTCM_DATA_DATA",1,["mavlink::common::GPS_RTCM_DATA_DATA"]],["impl Unpin for MOUNT_ORIENTATION_DATA",1,["mavlink::common::MOUNT_ORIENTATION_DATA"]],["impl Unpin for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Unpin for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::common::HIL_RC_INPUTS_RAW_DATA"]],["impl Unpin for MISSION_ITEM_REACHED_DATA",1,["mavlink::common::MISSION_ITEM_REACHED_DATA"]],["impl Unpin for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::common::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Unpin for SET_MODE_DATA",1,["mavlink::common::SET_MODE_DATA"]],["impl Unpin for LOG_REQUEST_LIST_DATA",1,["mavlink::common::LOG_REQUEST_LIST_DATA"]],["impl Unpin for HIGH_LATENCY2_DATA",1,["mavlink::common::HIGH_LATENCY2_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Unpin for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Unpin for SYSTEM_TIME_DATA",1,["mavlink::common::SYSTEM_TIME_DATA"]],["impl Unpin for MISSION_ITEM_DATA",1,["mavlink::common::MISSION_ITEM_DATA"]],["impl Unpin for STORAGE_INFORMATION_DATA",1,["mavlink::common::STORAGE_INFORMATION_DATA"]],["impl Unpin for GPS_RAW_INT_DATA",1,["mavlink::common::GPS_RAW_INT_DATA"]],["impl Unpin for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::common::LOCAL_POSITION_NED_COV_DATA"]],["impl Unpin for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::common::RC_CHANNELS_OVERRIDE_DATA"]],["impl Unpin for PROTOCOL_VERSION_DATA",1,["mavlink::common::PROTOCOL_VERSION_DATA"]],["impl Unpin for PARAM_EXT_VALUE_DATA",1,["mavlink::common::PARAM_EXT_VALUE_DATA"]],["impl Unpin for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::common::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Unpin for PARAM_EXT_SET_DATA",1,["mavlink::common::PARAM_EXT_SET_DATA"]],["impl Unpin for ESC_INFO_DATA",1,["mavlink::common::ESC_INFO_DATA"]],["impl Unpin for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Unpin for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::common::VISION_SPEED_ESTIMATE_DATA"]],["impl Unpin for LOGGING_DATA_ACKED_DATA",1,["mavlink::common::LOGGING_DATA_ACKED_DATA"]],["impl Unpin for ESC_STATUS_DATA",1,["mavlink::common::ESC_STATUS_DATA"]],["impl Unpin for PARAM_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_REQUEST_LIST_DATA"]],["impl Unpin for CAMERA_INFORMATION_DATA",1,["mavlink::common::CAMERA_INFORMATION_DATA"]],["impl Unpin for ATTITUDE_DATA",1,["mavlink::common::ATTITUDE_DATA"]],["impl Unpin for CELLULAR_CONFIG_DATA",1,["mavlink::common::CELLULAR_CONFIG_DATA"]],["impl Unpin for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Unpin for ALTITUDE_DATA",1,["mavlink::common::ALTITUDE_DATA"]],["impl Unpin for GPS2_RAW_DATA",1,["mavlink::common::GPS2_RAW_DATA"]],["impl Unpin for FOLLOW_TARGET_DATA",1,["mavlink::common::FOLLOW_TARGET_DATA"]],["impl Unpin for LINK_NODE_STATUS_DATA",1,["mavlink::common::LINK_NODE_STATUS_DATA"]],["impl Unpin for GPS_INPUT_DATA",1,["mavlink::common::GPS_INPUT_DATA"]],["impl Unpin for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::common::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Unpin for GPS_RTK_DATA",1,["mavlink::common::GPS_RTK_DATA"]],["impl Unpin for TERRAIN_CHECK_DATA",1,["mavlink::common::TERRAIN_CHECK_DATA"]],["impl Unpin for MANUAL_SETPOINT_DATA",1,["mavlink::common::MANUAL_SETPOINT_DATA"]],["impl Unpin for SCALED_IMU3_DATA",1,["mavlink::common::SCALED_IMU3_DATA"]],["impl Unpin for MAG_CAL_REPORT_DATA",1,["mavlink::common::MAG_CAL_REPORT_DATA"]],["impl Unpin for ADSB_VEHICLE_DATA",1,["mavlink::common::ADSB_VEHICLE_DATA"]],["impl Unpin for DEBUG_VECT_DATA",1,["mavlink::common::DEBUG_VECT_DATA"]],["impl Unpin for VIBRATION_DATA",1,["mavlink::common::VIBRATION_DATA"]],["impl Unpin for PLAY_TUNE_DATA",1,["mavlink::common::PLAY_TUNE_DATA"]],["impl Unpin for CAMERA_FOV_STATUS_DATA",1,["mavlink::common::CAMERA_FOV_STATUS_DATA"]],["impl Unpin for HIL_STATE_QUATERNION_DATA",1,["mavlink::common::HIL_STATE_QUATERNION_DATA"]],["impl Unpin for RAW_RPM_DATA",1,["mavlink::common::RAW_RPM_DATA"]],["impl Unpin for SYS_STATUS_DATA",1,["mavlink::common::SYS_STATUS_DATA"]],["impl Unpin for MISSION_ACK_DATA",1,["mavlink::common::MISSION_ACK_DATA"]],["impl Unpin for LOG_REQUEST_DATA_DATA",1,["mavlink::common::LOG_REQUEST_DATA_DATA"]],["impl Unpin for UTM_GLOBAL_POSITION_DATA",1,["mavlink::common::UTM_GLOBAL_POSITION_DATA"]],["impl Unpin for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Unpin for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::common::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Unpin for HIL_OPTICAL_FLOW_DATA",1,["mavlink::common::HIL_OPTICAL_FLOW_DATA"]],["impl Unpin for LOG_DATA_DATA",1,["mavlink::common::LOG_DATA_DATA"]],["impl Unpin for BUTTON_CHANGE_DATA",1,["mavlink::common::BUTTON_CHANGE_DATA"]],["impl Unpin for V2_EXTENSION_DATA",1,["mavlink::common::V2_EXTENSION_DATA"]],["impl Unpin for FLIGHT_INFORMATION_DATA",1,["mavlink::common::FLIGHT_INFORMATION_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Unpin for EVENT_DATA",1,["mavlink::common::EVENT_DATA"]],["impl Unpin for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Unpin for AUTH_KEY_DATA",1,["mavlink::common::AUTH_KEY_DATA"]],["impl Unpin for HYGROMETER_SENSOR_DATA",1,["mavlink::common::HYGROMETER_SENSOR_DATA"]],["impl Unpin for GPS_STATUS_DATA",1,["mavlink::common::GPS_STATUS_DATA"]],["impl Unpin for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::common::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Unpin for NAMED_VALUE_INT_DATA",1,["mavlink::common::NAMED_VALUE_INT_DATA"]],["impl Unpin for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::common::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Unpin for PLAY_TUNE_V2_DATA",1,["mavlink::common::PLAY_TUNE_V2_DATA"]],["impl Unpin for SET_ATTITUDE_TARGET_DATA",1,["mavlink::common::SET_ATTITUDE_TARGET_DATA"]],["impl Unpin for CANFD_FRAME_DATA",1,["mavlink::common::CANFD_FRAME_DATA"]],["impl Unpin for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::common::CAMERA_CAPTURE_STATUS_DATA"]],["impl Unpin for REQUEST_EVENT_DATA",1,["mavlink::common::REQUEST_EVENT_DATA"]],["impl Unpin for VFR_HUD_DATA",1,["mavlink::common::VFR_HUD_DATA"]],["impl Unpin for LOCAL_POSITION_NED_DATA",1,["mavlink::common::LOCAL_POSITION_NED_DATA"]],["impl Unpin for AUTOPILOT_VERSION_DATA",1,["mavlink::common::AUTOPILOT_VERSION_DATA"]],["impl Unpin for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::VISION_POSITION_ESTIMATE_DATA"]],["impl Unpin for UAVCAN_NODE_INFO_DATA",1,["mavlink::common::UAVCAN_NODE_INFO_DATA"]],["impl Unpin for TERRAIN_REQUEST_DATA",1,["mavlink::common::TERRAIN_REQUEST_DATA"]],["impl Unpin for PING_DATA",1,["mavlink::common::PING_DATA"]],["impl Unpin for MISSION_SET_CURRENT_DATA",1,["mavlink::common::MISSION_SET_CURRENT_DATA"]],["impl Unpin for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Unpin for HIGH_LATENCY_DATA",1,["mavlink::common::HIGH_LATENCY_DATA"]],["impl Unpin for MavMessage",1,["mavlink::common::MavMessage"]],["impl<'a> Unpin for Bytes<'a>",1,["mavlink::bytes::Bytes"]],["impl<'a> Unpin for BytesMut<'a>",1,["mavlink::bytes_mut::BytesMut"]],["impl Unpin for ParserError",1,["mavlink::error::ParserError"]],["impl Unpin for MessageReadError",1,["mavlink::error::MessageReadError"]],["impl Unpin for MessageWriteError",1,["mavlink::error::MessageWriteError"]],["impl Unpin for MavHeader",1,["mavlink::MavHeader"]],["impl Unpin for MavlinkVersion",1,["mavlink::MavlinkVersion"]],["impl<M> Unpin for MavFrame<M>where\n M: Unpin,",1,["mavlink::MavFrame"]],["impl Unpin for MAVLinkV1MessageRaw",1,["mavlink::MAVLinkV1MessageRaw"]],["impl Unpin for MAVLinkV2MessageRaw",1,["mavlink::MAVLinkV2MessageRaw"]]], +"mavlink":[["impl Unpin for IcarousTrackBandTypes",1,["mavlink::icarous::IcarousTrackBandTypes"]],["impl Unpin for IcarousFmsState",1,["mavlink::icarous::IcarousFmsState"]],["impl Unpin for ICAROUS_HEARTBEAT_DATA",1,["mavlink::icarous::ICAROUS_HEARTBEAT_DATA"]],["impl Unpin for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::icarous::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Unpin for MavMessage",1,["mavlink::icarous::MavMessage"]],["impl Unpin for GoproCharging",1,["mavlink::ardupilotmega::GoproCharging"]],["impl Unpin for GimbalAxisCalibrationStatus",1,["mavlink::ardupilotmega::GimbalAxisCalibrationStatus"]],["impl Unpin for EkfStatusFlags",1,["mavlink::ardupilotmega::EkfStatusFlags"]],["impl Unpin for GoproHeartbeatStatus",1,["mavlink::ardupilotmega::GoproHeartbeatStatus"]],["impl Unpin for PlaneMode",1,["mavlink::ardupilotmega::PlaneMode"]],["impl Unpin for CopterMode",1,["mavlink::ardupilotmega::CopterMode"]],["impl Unpin for SerialControlDev",1,["mavlink::ardupilotmega::SerialControlDev"]],["impl Unpin for FenceAction",1,["mavlink::ardupilotmega::FenceAction"]],["impl Unpin for PrecisionLandMode",1,["mavlink::ardupilotmega::PrecisionLandMode"]],["impl Unpin for SerialControlFlag",1,["mavlink::ardupilotmega::SerialControlFlag"]],["impl Unpin for CameraStatusTypes",1,["mavlink::ardupilotmega::CameraStatusTypes"]],["impl Unpin for MavModeFlagDecodePosition",1,["mavlink::ardupilotmega::MavModeFlagDecodePosition"]],["impl Unpin for GoproBurstRate",1,["mavlink::ardupilotmega::GoproBurstRate"]],["impl Unpin for MavLandedState",1,["mavlink::ardupilotmega::MavLandedState"]],["impl Unpin for CanFilterOp",1,["mavlink::ardupilotmega::CanFilterOp"]],["impl Unpin for MavOdidDescType",1,["mavlink::ardupilotmega::MavOdidDescType"]],["impl Unpin for ActuatorConfiguration",1,["mavlink::ardupilotmega::ActuatorConfiguration"]],["impl Unpin for FirmwareVersionType",1,["mavlink::ardupilotmega::FirmwareVersionType"]],["impl Unpin for RallyFlags",1,["mavlink::ardupilotmega::RallyFlags"]],["impl Unpin for GoproFrameRate",1,["mavlink::ardupilotmega::GoproFrameRate"]],["impl Unpin for EstimatorStatusFlags",1,["mavlink::ardupilotmega::EstimatorStatusFlags"]],["impl Unpin for EscConnectionType",1,["mavlink::ardupilotmega::EscConnectionType"]],["impl Unpin for MavMode",1,["mavlink::ardupilotmega::MavMode"]],["impl Unpin for MavOdidSpeedAcc",1,["mavlink::ardupilotmega::MavOdidSpeedAcc"]],["impl Unpin for HighresImuUpdatedFlags",1,["mavlink::ardupilotmega::HighresImuUpdatedFlags"]],["impl Unpin for FenceBreach",1,["mavlink::ardupilotmega::FenceBreach"]],["impl Unpin for MissionState",1,["mavlink::ardupilotmega::MissionState"]],["impl Unpin for MotorTestOrder",1,["mavlink::ardupilotmega::MotorTestOrder"]],["impl Unpin for MavEventErrorReason",1,["mavlink::ardupilotmega::MavEventErrorReason"]],["impl Unpin for TuneFormat",1,["mavlink::ardupilotmega::TuneFormat"]],["impl Unpin for RcType",1,["mavlink::ardupilotmega::RcType"]],["impl Unpin for MavFtpOpcode",1,["mavlink::ardupilotmega::MavFtpOpcode"]],["impl Unpin for GimbalDeviceFlags",1,["mavlink::ardupilotmega::GimbalDeviceFlags"]],["impl Unpin for MavEstimatorType",1,["mavlink::ardupilotmega::MavEstimatorType"]],["impl Unpin for UavcanNodeHealth",1,["mavlink::ardupilotmega::UavcanNodeHealth"]],["impl Unpin for UavionixAdsbOutRfSelect",1,["mavlink::ardupilotmega::UavionixAdsbOutRfSelect"]],["impl Unpin for MavGoto",1,["mavlink::ardupilotmega::MavGoto"]],["impl Unpin for MavGeneratorStatusFlag",1,["mavlink::ardupilotmega::MavGeneratorStatusFlag"]],["impl Unpin for SpeedType",1,["mavlink::ardupilotmega::SpeedType"]],["impl Unpin for GoproPhotoResolution",1,["mavlink::ardupilotmega::GoproPhotoResolution"]],["impl Unpin for MavBatteryFault",1,["mavlink::ardupilotmega::MavBatteryFault"]],["impl Unpin for MavCmdDoAuxFunctionSwitchLevel",1,["mavlink::ardupilotmega::MavCmdDoAuxFunctionSwitchLevel"]],["impl Unpin for MavSysStatusSensor",1,["mavlink::ardupilotmega::MavSysStatusSensor"]],["impl Unpin for WinchActions",1,["mavlink::ardupilotmega::WinchActions"]],["impl Unpin for MavFrame",1,["mavlink::ardupilotmega::MavFrame"]],["impl Unpin for CellularStatusFlag",1,["mavlink::ardupilotmega::CellularStatusFlag"]],["impl Unpin for CameraTrackingStatusFlags",1,["mavlink::ardupilotmega::CameraTrackingStatusFlags"]],["impl Unpin for MavOdidStatus",1,["mavlink::ardupilotmega::MavOdidStatus"]],["impl Unpin for AisNavStatus",1,["mavlink::ardupilotmega::AisNavStatus"]],["impl Unpin for MavWinchStatusFlag",1,["mavlink::ardupilotmega::MavWinchStatusFlag"]],["impl Unpin for MavOdidClassEu",1,["mavlink::ardupilotmega::MavOdidClassEu"]],["impl Unpin for MavModeGimbal",1,["mavlink::ardupilotmega::MavModeGimbal"]],["impl Unpin for CellularNetworkFailedReason",1,["mavlink::ardupilotmega::CellularNetworkFailedReason"]],["impl Unpin for GoproProtuneSharpness",1,["mavlink::ardupilotmega::GoproProtuneSharpness"]],["impl Unpin for GoproCommand",1,["mavlink::ardupilotmega::GoproCommand"]],["impl Unpin for GoproProtuneColour",1,["mavlink::ardupilotmega::GoproProtuneColour"]],["impl Unpin for GoproProtuneExposure",1,["mavlink::ardupilotmega::GoproProtuneExposure"]],["impl Unpin for PidTuningAxis",1,["mavlink::ardupilotmega::PidTuningAxis"]],["impl Unpin for PreflightStorageParameterAction",1,["mavlink::ardupilotmega::PreflightStorageParameterAction"]],["impl Unpin for AttitudeTargetTypemask",1,["mavlink::ardupilotmega::AttitudeTargetTypemask"]],["impl Unpin for UavionixAdsbEmergencyStatus",1,["mavlink::ardupilotmega::UavionixAdsbEmergencyStatus"]],["impl Unpin for LandingTargetType",1,["mavlink::ardupilotmega::LandingTargetType"]],["impl Unpin for MavCmd",1,["mavlink::ardupilotmega::MavCmd"]],["impl Unpin for GimbalManagerCapFlags",1,["mavlink::ardupilotmega::GimbalManagerCapFlags"]],["impl Unpin for MavOdidOperatorIdType",1,["mavlink::ardupilotmega::MavOdidOperatorIdType"]],["impl Unpin for HeadingType",1,["mavlink::ardupilotmega::HeadingType"]],["impl Unpin for CameraFeedbackFlags",1,["mavlink::ardupilotmega::CameraFeedbackFlags"]],["impl Unpin for MavDistanceSensor",1,["mavlink::ardupilotmega::MavDistanceSensor"]],["impl Unpin for UavionixAdsbOutCfgAircraftSize",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgAircraftSize"]],["impl Unpin for UavionixAdsbRfHealth",1,["mavlink::ardupilotmega::UavionixAdsbRfHealth"]],["impl Unpin for CellularNetworkRadioType",1,["mavlink::ardupilotmega::CellularNetworkRadioType"]],["impl Unpin for MavEventCurrentSequenceFlags",1,["mavlink::ardupilotmega::MavEventCurrentSequenceFlags"]],["impl Unpin for MavSysStatusSensorExtended",1,["mavlink::ardupilotmega::MavSysStatusSensorExtended"]],["impl Unpin for MavOdidHorAcc",1,["mavlink::ardupilotmega::MavOdidHorAcc"]],["impl Unpin for MagCalStatus",1,["mavlink::ardupilotmega::MagCalStatus"]],["impl Unpin for CameraZoomType",1,["mavlink::ardupilotmega::CameraZoomType"]],["impl Unpin for AdsbEmitterType",1,["mavlink::ardupilotmega::AdsbEmitterType"]],["impl Unpin for HlFailureFlag",1,["mavlink::ardupilotmega::HlFailureFlag"]],["impl Unpin for MavOdidCategoryEu",1,["mavlink::ardupilotmega::MavOdidCategoryEu"]],["impl Unpin for GimbalAxis",1,["mavlink::ardupilotmega::GimbalAxis"]],["impl Unpin for SubMode",1,["mavlink::ardupilotmega::SubMode"]],["impl Unpin for MavModeFlag",1,["mavlink::ardupilotmega::MavModeFlag"]],["impl Unpin for RoverMode",1,["mavlink::ardupilotmega::RoverMode"]],["impl Unpin for TrackerMode",1,["mavlink::ardupilotmega::TrackerMode"]],["impl Unpin for PreflightStorageMissionAction",1,["mavlink::ardupilotmega::PreflightStorageMissionAction"]],["impl Unpin for MavSensorOrientation",1,["mavlink::ardupilotmega::MavSensorOrientation"]],["impl Unpin for GoproProtuneWhiteBalance",1,["mavlink::ardupilotmega::GoproProtuneWhiteBalance"]],["impl Unpin for MotorTestThrottleType",1,["mavlink::ardupilotmega::MotorTestThrottleType"]],["impl Unpin for SetFocusType",1,["mavlink::ardupilotmega::SetFocusType"]],["impl Unpin for AdsbAltitudeType",1,["mavlink::ardupilotmega::AdsbAltitudeType"]],["impl Unpin for FailureUnit",1,["mavlink::ardupilotmega::FailureUnit"]],["impl Unpin for GoproModel",1,["mavlink::ardupilotmega::GoproModel"]],["impl Unpin for MavFtpErr",1,["mavlink::ardupilotmega::MavFtpErr"]],["impl Unpin for MavlinkDataStreamType",1,["mavlink::ardupilotmega::MavlinkDataStreamType"]],["impl Unpin for GpsFixType",1,["mavlink::ardupilotmega::GpsFixType"]],["impl Unpin for DeepstallStage",1,["mavlink::ardupilotmega::DeepstallStage"]],["impl Unpin for MavOdidVerAcc",1,["mavlink::ardupilotmega::MavOdidVerAcc"]],["impl Unpin for VideoStreamStatusFlags",1,["mavlink::ardupilotmega::VideoStreamStatusFlags"]],["impl Unpin for LedControlPattern",1,["mavlink::ardupilotmega::LedControlPattern"]],["impl Unpin for StorageUsageFlag",1,["mavlink::ardupilotmega::StorageUsageFlag"]],["impl Unpin for GpsInputIgnoreFlags",1,["mavlink::ardupilotmega::GpsInputIgnoreFlags"]],["impl Unpin for MavParamType",1,["mavlink::ardupilotmega::MavParamType"]],["impl Unpin for CameraMode",1,["mavlink::ardupilotmega::CameraMode"]],["impl Unpin for DeviceOpBustype",1,["mavlink::ardupilotmega::DeviceOpBustype"]],["impl Unpin for CameraTrackingTargetData",1,["mavlink::ardupilotmega::CameraTrackingTargetData"]],["impl Unpin for MavBatteryMode",1,["mavlink::ardupilotmega::MavBatteryMode"]],["impl Unpin for GoproProtuneGain",1,["mavlink::ardupilotmega::GoproProtuneGain"]],["impl Unpin for AdsbFlags",1,["mavlink::ardupilotmega::AdsbFlags"]],["impl Unpin for MavType",1,["mavlink::ardupilotmega::MavType"]],["impl Unpin for LimitModule",1,["mavlink::ardupilotmega::LimitModule"]],["impl Unpin for GoproRequestStatus",1,["mavlink::ardupilotmega::GoproRequestStatus"]],["impl Unpin for MavRemoteLogDataBlockStatuses",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockStatuses"]],["impl Unpin for MavParamExtType",1,["mavlink::ardupilotmega::MavParamExtType"]],["impl Unpin for GimbalDeviceCapFlags",1,["mavlink::ardupilotmega::GimbalDeviceCapFlags"]],["impl Unpin for StorageType",1,["mavlink::ardupilotmega::StorageType"]],["impl Unpin for MavBatteryFunction",1,["mavlink::ardupilotmega::MavBatteryFunction"]],["impl Unpin for RtkBaselineCoordinateSystem",1,["mavlink::ardupilotmega::RtkBaselineCoordinateSystem"]],["impl Unpin for UtmFlightState",1,["mavlink::ardupilotmega::UtmFlightState"]],["impl Unpin for GimbalManagerFlags",1,["mavlink::ardupilotmega::GimbalManagerFlags"]],["impl Unpin for MavResult",1,["mavlink::ardupilotmega::MavResult"]],["impl Unpin for GripperActions",1,["mavlink::ardupilotmega::GripperActions"]],["impl Unpin for EscFailureFlags",1,["mavlink::ardupilotmega::EscFailureFlags"]],["impl Unpin for CellularConfigResponse",1,["mavlink::ardupilotmega::CellularConfigResponse"]],["impl Unpin for IcarousTrackBandTypes",1,["mavlink::ardupilotmega::IcarousTrackBandTypes"]],["impl Unpin for OrbitYawBehaviour",1,["mavlink::ardupilotmega::OrbitYawBehaviour"]],["impl Unpin for AccelcalVehiclePos",1,["mavlink::ardupilotmega::AccelcalVehiclePos"]],["impl Unpin for IcarousFmsState",1,["mavlink::ardupilotmega::IcarousFmsState"]],["impl Unpin for GoproVideoSettingsFlags",1,["mavlink::ardupilotmega::GoproVideoSettingsFlags"]],["impl Unpin for ScriptingCmd",1,["mavlink::ardupilotmega::ScriptingCmd"]],["impl Unpin for MavCollisionAction",1,["mavlink::ardupilotmega::MavCollisionAction"]],["impl Unpin for MavDoRepositionFlags",1,["mavlink::ardupilotmega::MavDoRepositionFlags"]],["impl Unpin for ParachuteAction",1,["mavlink::ardupilotmega::ParachuteAction"]],["impl Unpin for MavOdidIdType",1,["mavlink::ardupilotmega::MavOdidIdType"]],["impl Unpin for MavOdidOperatorLocationType",1,["mavlink::ardupilotmega::MavOdidOperatorLocationType"]],["impl Unpin for GoproResolution",1,["mavlink::ardupilotmega::GoproResolution"]],["impl Unpin for VtolTransitionHeading",1,["mavlink::ardupilotmega::VtolTransitionHeading"]],["impl Unpin for MavRoi",1,["mavlink::ardupilotmega::MavRoi"]],["impl Unpin for OsdParamConfigError",1,["mavlink::ardupilotmega::OsdParamConfigError"]],["impl Unpin for CameraCapFlags",1,["mavlink::ardupilotmega::CameraCapFlags"]],["impl Unpin for GimbalDeviceErrorFlags",1,["mavlink::ardupilotmega::GimbalDeviceErrorFlags"]],["impl Unpin for MavState",1,["mavlink::ardupilotmega::MavState"]],["impl Unpin for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Unpin for PositionTargetTypemask",1,["mavlink::ardupilotmega::PositionTargetTypemask"]],["impl Unpin for MavDataStream",1,["mavlink::ardupilotmega::MavDataStream"]],["impl Unpin for UavionixAdsbOutDynamicGpsFix",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicGpsFix"]],["impl Unpin for ActuatorOutputFunction",1,["mavlink::ardupilotmega::ActuatorOutputFunction"]],["impl Unpin for MavSeverity",1,["mavlink::ardupilotmega::MavSeverity"]],["impl Unpin for MavOdidUaType",1,["mavlink::ardupilotmega::MavOdidUaType"]],["impl Unpin for GimbalAxisCalibrationRequired",1,["mavlink::ardupilotmega::GimbalAxisCalibrationRequired"]],["impl Unpin for ParamAck",1,["mavlink::ardupilotmega::ParamAck"]],["impl Unpin for VideoStreamType",1,["mavlink::ardupilotmega::VideoStreamType"]],["impl Unpin for MavOdidClassificationType",1,["mavlink::ardupilotmega::MavOdidClassificationType"]],["impl Unpin for StorageStatus",1,["mavlink::ardupilotmega::StorageStatus"]],["impl Unpin for MavArmAuthDeniedReason",1,["mavlink::ardupilotmega::MavArmAuthDeniedReason"]],["impl Unpin for MavTunnelPayloadType",1,["mavlink::ardupilotmega::MavTunnelPayloadType"]],["impl Unpin for MavMissionType",1,["mavlink::ardupilotmega::MavMissionType"]],["impl Unpin for AisType",1,["mavlink::ardupilotmega::AisType"]],["impl Unpin for MavVtolState",1,["mavlink::ardupilotmega::MavVtolState"]],["impl Unpin for HilSensorUpdatedFlags",1,["mavlink::ardupilotmega::HilSensorUpdatedFlags"]],["impl Unpin for MavComponent",1,["mavlink::ardupilotmega::MavComponent"]],["impl Unpin for MavProtocolCapability",1,["mavlink::ardupilotmega::MavProtocolCapability"]],["impl Unpin for MavOdidHeightRef",1,["mavlink::ardupilotmega::MavOdidHeightRef"]],["impl Unpin for FenceMitigate",1,["mavlink::ardupilotmega::FenceMitigate"]],["impl Unpin for MavOdidAuthType",1,["mavlink::ardupilotmega::MavOdidAuthType"]],["impl Unpin for MavMissionResult",1,["mavlink::ardupilotmega::MavMissionResult"]],["impl Unpin for FailureType",1,["mavlink::ardupilotmega::FailureType"]],["impl Unpin for AisFlags",1,["mavlink::ardupilotmega::AisFlags"]],["impl Unpin for MavOdidArmStatus",1,["mavlink::ardupilotmega::MavOdidArmStatus"]],["impl Unpin for OsdParamConfigType",1,["mavlink::ardupilotmega::OsdParamConfigType"]],["impl Unpin for WifiConfigApMode",1,["mavlink::ardupilotmega::WifiConfigApMode"]],["impl Unpin for NavVtolLandOptions",1,["mavlink::ardupilotmega::NavVtolLandOptions"]],["impl Unpin for GoproHeartbeatFlags",1,["mavlink::ardupilotmega::GoproHeartbeatFlags"]],["impl Unpin for GoproCaptureMode",1,["mavlink::ardupilotmega::GoproCaptureMode"]],["impl Unpin for MavRemoteLogDataBlockCommands",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockCommands"]],["impl Unpin for MavCollisionThreatLevel",1,["mavlink::ardupilotmega::MavCollisionThreatLevel"]],["impl Unpin for UtmDataAvailFlags",1,["mavlink::ardupilotmega::UtmDataAvailFlags"]],["impl Unpin for GoproFieldOfView",1,["mavlink::ardupilotmega::GoproFieldOfView"]],["impl Unpin for MavPowerStatus",1,["mavlink::ardupilotmega::MavPowerStatus"]],["impl Unpin for MavBatteryType",1,["mavlink::ardupilotmega::MavBatteryType"]],["impl Unpin for UavcanNodeMode",1,["mavlink::ardupilotmega::UavcanNodeMode"]],["impl Unpin for MavAutopilot",1,["mavlink::ardupilotmega::MavAutopilot"]],["impl Unpin for MavOdidTimeAcc",1,["mavlink::ardupilotmega::MavOdidTimeAcc"]],["impl Unpin for MavCollisionSrc",1,["mavlink::ardupilotmega::MavCollisionSrc"]],["impl Unpin for CompMetadataType",1,["mavlink::ardupilotmega::CompMetadataType"]],["impl Unpin for UavionixAdsbOutDynamicState",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicState"]],["impl Unpin for CameraTrackingMode",1,["mavlink::ardupilotmega::CameraTrackingMode"]],["impl Unpin for MavCmdAck",1,["mavlink::ardupilotmega::MavCmdAck"]],["impl Unpin for WifiConfigApResponse",1,["mavlink::ardupilotmega::WifiConfigApResponse"]],["impl Unpin for MavBatteryChargeState",1,["mavlink::ardupilotmega::MavBatteryChargeState"]],["impl Unpin for AutotuneAxis",1,["mavlink::ardupilotmega::AutotuneAxis"]],["impl Unpin for MavMountMode",1,["mavlink::ardupilotmega::MavMountMode"]],["impl Unpin for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Unpin for LimitsState",1,["mavlink::ardupilotmega::LimitsState"]],["impl Unpin for LOG_REQUEST_DATA_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_DATA_DATA"]],["impl Unpin for AUTH_KEY_DATA",1,["mavlink::ardupilotmega::AUTH_KEY_DATA"]],["impl Unpin for MISSION_REQUEST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_DATA"]],["impl Unpin for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Unpin for CELLULAR_CONFIG_DATA",1,["mavlink::ardupilotmega::CELLULAR_CONFIG_DATA"]],["impl Unpin for SCALED_PRESSURE3_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE3_DATA"]],["impl Unpin for CUBEPILOT_RAW_RC_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_RAW_RC_DATA"]],["impl Unpin for LED_CONTROL_DATA",1,["mavlink::ardupilotmega::LED_CONTROL_DATA"]],["impl Unpin for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::GPS_GLOBAL_ORIGIN_DATA"]],["impl Unpin for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_STATUS_DATA"]],["impl Unpin for AIS_VESSEL_DATA",1,["mavlink::ardupilotmega::AIS_VESSEL_DATA"]],["impl Unpin for SCALED_IMU_DATA",1,["mavlink::ardupilotmega::SCALED_IMU_DATA"]],["impl Unpin for CAMERA_INFORMATION_DATA",1,["mavlink::ardupilotmega::CAMERA_INFORMATION_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Unpin for SUPPORTED_TUNES_DATA",1,["mavlink::ardupilotmega::SUPPORTED_TUNES_DATA"]],["impl Unpin for RANGEFINDER_DATA",1,["mavlink::ardupilotmega::RANGEFINDER_DATA"]],["impl Unpin for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Unpin for GENERATOR_STATUS_DATA",1,["mavlink::ardupilotmega::GENERATOR_STATUS_DATA"]],["impl Unpin for COLLISION_DATA",1,["mavlink::ardupilotmega::COLLISION_DATA"]],["impl Unpin for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Unpin for MISSION_REQUEST_INT_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_INT_DATA"]],["impl Unpin for TERRAIN_DATA_DATA",1,["mavlink::ardupilotmega::TERRAIN_DATA_DATA"]],["impl Unpin for REMOTE_LOG_DATA_BLOCK_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_DATA_BLOCK_DATA"]],["impl Unpin for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::ardupilotmega::DEBUG_FLOAT_ARRAY_DATA"]],["impl Unpin for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Unpin for OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_DATA"]],["impl Unpin for VIDEO_STREAM_STATUS_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_STATUS_DATA"]],["impl Unpin for SCALED_PRESSURE_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE_DATA"]],["impl Unpin for HIGHRES_IMU_DATA",1,["mavlink::ardupilotmega::HIGHRES_IMU_DATA"]],["impl Unpin for GPS_RTCM_DATA_DATA",1,["mavlink::ardupilotmega::GPS_RTCM_DATA_DATA"]],["impl Unpin for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Unpin for WIND_DATA",1,["mavlink::ardupilotmega::WIND_DATA"]],["impl Unpin for RALLY_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_FETCH_POINT_DATA"]],["impl Unpin for FOLLOW_TARGET_DATA",1,["mavlink::ardupilotmega::FOLLOW_TARGET_DATA"]],["impl Unpin for GOPRO_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::GOPRO_HEARTBEAT_DATA"]],["impl Unpin for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_CAPTURE_STATUS_DATA"]],["impl Unpin for MESSAGE_INTERVAL_DATA",1,["mavlink::ardupilotmega::MESSAGE_INTERVAL_DATA"]],["impl Unpin for MEMORY_VECT_DATA",1,["mavlink::ardupilotmega::MEMORY_VECT_DATA"]],["impl Unpin for ENCAPSULATED_DATA_DATA",1,["mavlink::ardupilotmega::ENCAPSULATED_DATA_DATA"]],["impl Unpin for PARAM_MAP_RC_DATA",1,["mavlink::ardupilotmega::PARAM_MAP_RC_DATA"]],["impl Unpin for LOGGING_ACK_DATA",1,["mavlink::ardupilotmega::LOGGING_ACK_DATA"]],["impl Unpin for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Unpin for PROTOCOL_VERSION_DATA",1,["mavlink::ardupilotmega::PROTOCOL_VERSION_DATA"]],["impl Unpin for ATTITUDE_DATA",1,["mavlink::ardupilotmega::ATTITUDE_DATA"]],["impl Unpin for AOA_SSA_DATA",1,["mavlink::ardupilotmega::AOA_SSA_DATA"]],["impl Unpin for ESC_TELEMETRY_1_TO_4_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_1_TO_4_DATA"]],["impl Unpin for LOGGING_DATA_ACKED_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_ACKED_DATA"]],["impl Unpin for PLAY_TUNE_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_DATA"]],["impl Unpin for SIM_STATE_DATA",1,["mavlink::ardupilotmega::SIM_STATE_DATA"]],["impl Unpin for MANUAL_SETPOINT_DATA",1,["mavlink::ardupilotmega::MANUAL_SETPOINT_DATA"]],["impl Unpin for VIBRATION_DATA",1,["mavlink::ardupilotmega::VIBRATION_DATA"]],["impl Unpin for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::ardupilotmega::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Unpin for DEEPSTALL_DATA",1,["mavlink::ardupilotmega::DEEPSTALL_DATA"]],["impl Unpin for MAG_CAL_REPORT_DATA",1,["mavlink::ardupilotmega::MAG_CAL_REPORT_DATA"]],["impl Unpin for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::ardupilotmega::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Unpin for SCALED_IMU2_DATA",1,["mavlink::ardupilotmega::SCALED_IMU2_DATA"]],["impl Unpin for GOPRO_GET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_REQUEST_DATA"]],["impl Unpin for COMMAND_INT_DATA",1,["mavlink::ardupilotmega::COMMAND_INT_DATA"]],["impl Unpin for UAVCAN_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_STATUS_DATA"]],["impl Unpin for ODOMETRY_DATA",1,["mavlink::ardupilotmega::ODOMETRY_DATA"]],["impl Unpin for HIGH_LATENCY2_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY2_DATA"]],["impl Unpin for REQUEST_EVENT_DATA",1,["mavlink::ardupilotmega::REQUEST_EVENT_DATA"]],["impl Unpin for ICAROUS_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::ICAROUS_HEARTBEAT_DATA"]],["impl Unpin for MISSION_COUNT_DATA",1,["mavlink::ardupilotmega::MISSION_COUNT_DATA"]],["impl Unpin for AIRSPEED_AUTOCAL_DATA",1,["mavlink::ardupilotmega::AIRSPEED_AUTOCAL_DATA"]],["impl Unpin for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_READ_DATA"]],["impl Unpin for CELLULAR_STATUS_DATA",1,["mavlink::ardupilotmega::CELLULAR_STATUS_DATA"]],["impl Unpin for COMPASSMOT_STATUS_DATA",1,["mavlink::ardupilotmega::COMPASSMOT_STATUS_DATA"]],["impl Unpin for GPS_RAW_INT_DATA",1,["mavlink::ardupilotmega::GPS_RAW_INT_DATA"]],["impl Unpin for WIND_COV_DATA",1,["mavlink::ardupilotmega::WIND_COV_DATA"]],["impl Unpin for V2_EXTENSION_DATA",1,["mavlink::ardupilotmega::V2_EXTENSION_DATA"]],["impl Unpin for WHEEL_DISTANCE_DATA",1,["mavlink::ardupilotmega::WHEEL_DISTANCE_DATA"]],["impl Unpin for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Unpin for OSD_PARAM_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_REPLY_DATA"]],["impl Unpin for AHRS2_DATA",1,["mavlink::ardupilotmega::AHRS2_DATA"]],["impl Unpin for BATTERY2_DATA",1,["mavlink::ardupilotmega::BATTERY2_DATA"]],["impl Unpin for LOG_REQUEST_END_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_END_DATA"]],["impl Unpin for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::ardupilotmega::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Unpin for LOCAL_POSITION_NED_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_DATA"]],["impl Unpin for PID_TUNING_DATA",1,["mavlink::ardupilotmega::PID_TUNING_DATA"]],["impl Unpin for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Unpin for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::ardupilotmega::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl Unpin for ESC_INFO_DATA",1,["mavlink::ardupilotmega::ESC_INFO_DATA"]],["impl Unpin for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Unpin for CAMERA_TRIGGER_DATA",1,["mavlink::ardupilotmega::CAMERA_TRIGGER_DATA"]],["impl Unpin for GPS_INPUT_DATA",1,["mavlink::ardupilotmega::GPS_INPUT_DATA"]],["impl Unpin for BATTERY_STATUS_DATA",1,["mavlink::ardupilotmega::BATTERY_STATUS_DATA"]],["impl Unpin for FENCE_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_FETCH_POINT_DATA"]],["impl Unpin for SYS_STATUS_DATA",1,["mavlink::ardupilotmega::SYS_STATUS_DATA"]],["impl Unpin for ISBD_LINK_STATUS_DATA",1,["mavlink::ardupilotmega::ISBD_LINK_STATUS_DATA"]],["impl Unpin for DEBUG_VECT_DATA",1,["mavlink::ardupilotmega::DEBUG_VECT_DATA"]],["impl Unpin for SIMSTATE_DATA",1,["mavlink::ardupilotmega::SIMSTATE_DATA"]],["impl Unpin for FENCE_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_POINT_DATA"]],["impl Unpin for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"]],["impl Unpin for SETUP_SIGNING_DATA",1,["mavlink::ardupilotmega::SETUP_SIGNING_DATA"]],["impl Unpin for COMPONENT_METADATA_DATA",1,["mavlink::ardupilotmega::COMPONENT_METADATA_DATA"]],["impl Unpin for CAMERA_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_STATUS_DATA"]],["impl Unpin for DATA96_DATA",1,["mavlink::ardupilotmega::DATA96_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Unpin for ALTITUDE_DATA",1,["mavlink::ardupilotmega::ALTITUDE_DATA"]],["impl Unpin for OBSTACLE_DISTANCE_3D_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_3D_DATA"]],["impl Unpin for HERELINK_TELEM_DATA",1,["mavlink::ardupilotmega::HERELINK_TELEM_DATA"]],["impl Unpin for GPS_STATUS_DATA",1,["mavlink::ardupilotmega::GPS_STATUS_DATA"]],["impl Unpin for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_OVERRIDE_DATA"]],["impl Unpin for RPM_DATA",1,["mavlink::ardupilotmega::RPM_DATA"]],["impl Unpin for CANFD_FRAME_DATA",1,["mavlink::ardupilotmega::CANFD_FRAME_DATA"]],["impl Unpin for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Unpin for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Unpin for AUTOPILOT_VERSION_REQUEST_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_REQUEST_DATA"]],["impl Unpin for LOGGING_DATA_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_DATA"]],["impl Unpin for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Unpin for DIGICAM_CONTROL_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONTROL_DATA"]],["impl Unpin for FENCE_STATUS_DATA",1,["mavlink::ardupilotmega::FENCE_STATUS_DATA"]],["impl Unpin for MISSION_ITEM_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_DATA"]],["impl Unpin for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Unpin for ATTITUDE_QUATERNION_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_DATA"]],["impl Unpin for AUTOPILOT_VERSION_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_DATA"]],["impl Unpin for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Unpin for HIL_OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::HIL_OPTICAL_FLOW_DATA"]],["impl Unpin for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::ardupilotmega::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Unpin for PLAY_TUNE_V2_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_V2_DATA"]],["impl Unpin for GIMBAL_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_REPORT_DATA"]],["impl Unpin for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Unpin for HOME_POSITION_DATA",1,["mavlink::ardupilotmega::HOME_POSITION_DATA"]],["impl Unpin for DATA64_DATA",1,["mavlink::ardupilotmega::DATA64_DATA"]],["impl Unpin for ESC_STATUS_DATA",1,["mavlink::ardupilotmega::ESC_STATUS_DATA"]],["impl Unpin for PARAM_EXT_SET_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_SET_DATA"]],["impl Unpin for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_SPEED_ESTIMATE_DATA"]],["impl Unpin for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Unpin for DISTANCE_SENSOR_DATA",1,["mavlink::ardupilotmega::DISTANCE_SENSOR_DATA"]],["impl Unpin for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Unpin for ATT_POS_MOCAP_DATA",1,["mavlink::ardupilotmega::ATT_POS_MOCAP_DATA"]],["impl Unpin for SET_MAG_OFFSETS_DATA",1,["mavlink::ardupilotmega::SET_MAG_OFFSETS_DATA"]],["impl Unpin for LINK_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::LINK_NODE_STATUS_DATA"]],["impl Unpin for MISSION_ACK_DATA",1,["mavlink::ardupilotmega::MISSION_ACK_DATA"]],["impl Unpin for HWSTATUS_DATA",1,["mavlink::ardupilotmega::HWSTATUS_DATA"]],["impl Unpin for PARAM_SET_DATA",1,["mavlink::ardupilotmega::PARAM_SET_DATA"]],["impl Unpin for CAMERA_FEEDBACK_DATA",1,["mavlink::ardupilotmega::CAMERA_FEEDBACK_DATA"]],["impl Unpin for COMPONENT_INFORMATION_DATA",1,["mavlink::ardupilotmega::COMPONENT_INFORMATION_DATA"]],["impl Unpin for SET_ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ATTITUDE_TARGET_DATA"]],["impl Unpin for OSD_PARAM_SHOW_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_REPLY_DATA"]],["impl Unpin for RADIO_STATUS_DATA",1,["mavlink::ardupilotmega::RADIO_STATUS_DATA"]],["impl Unpin for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::ardupilotmega::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Unpin for MISSION_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_LIST_DATA"]],["impl Unpin for UTM_GLOBAL_POSITION_DATA",1,["mavlink::ardupilotmega::UTM_GLOBAL_POSITION_DATA"]],["impl Unpin for HIL_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_CONTROLS_DATA"]],["impl Unpin for SERVO_OUTPUT_RAW_DATA",1,["mavlink::ardupilotmega::SERVO_OUTPUT_RAW_DATA"]],["impl Unpin for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Unpin for UAVCAN_NODE_INFO_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_INFO_DATA"]],["impl Unpin for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_COV_DATA"]],["impl Unpin for STATUSTEXT_DATA",1,["mavlink::ardupilotmega::STATUSTEXT_DATA"]],["impl Unpin for GOPRO_SET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_REQUEST_DATA"]],["impl Unpin for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Unpin for OPTICAL_FLOW_RAD_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_RAD_DATA"]],["impl Unpin for LANDING_TARGET_DATA",1,["mavlink::ardupilotmega::LANDING_TARGET_DATA"]],["impl Unpin for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Unpin for LOG_DATA_DATA",1,["mavlink::ardupilotmega::LOG_DATA_DATA"]],["impl Unpin for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Unpin for SENSOR_OFFSETS_DATA",1,["mavlink::ardupilotmega::SENSOR_OFFSETS_DATA"]],["impl Unpin for WIFI_CONFIG_AP_DATA",1,["mavlink::ardupilotmega::WIFI_CONFIG_AP_DATA"]],["impl Unpin for DEVICE_OP_READ_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_DATA"]],["impl Unpin for GPS_RTK_DATA",1,["mavlink::ardupilotmega::GPS_RTK_DATA"]],["impl Unpin for PARAM_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_LIST_DATA"]],["impl Unpin for HERELINK_VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::HERELINK_VIDEO_STREAM_INFORMATION_DATA"]],["impl Unpin for REMOTE_LOG_BLOCK_STATUS_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_BLOCK_STATUS_DATA"]],["impl Unpin for COMMAND_ACK_DATA",1,["mavlink::ardupilotmega::COMMAND_ACK_DATA"]],["impl Unpin for CAMERA_SETTINGS_DATA",1,["mavlink::ardupilotmega::CAMERA_SETTINGS_DATA"]],["impl Unpin for RAW_IMU_DATA",1,["mavlink::ardupilotmega::RAW_IMU_DATA"]],["impl Unpin for RADIO_DATA",1,["mavlink::ardupilotmega::RADIO_DATA"]],["impl Unpin for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_ALLOWED_AREA_DATA"]],["impl Unpin for CUBEPILOT_FIRMWARE_UPDATE_START_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_START_DATA"]],["impl Unpin for DEVICE_OP_WRITE_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_DATA"]],["impl Unpin for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Unpin for GIMBAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_CONTROL_DATA"]],["impl Unpin for MISSION_CLEAR_ALL_DATA",1,["mavlink::ardupilotmega::MISSION_CLEAR_ALL_DATA"]],["impl Unpin for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::ardupilotmega::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Unpin for RESOURCE_REQUEST_DATA",1,["mavlink::ardupilotmega::RESOURCE_REQUEST_DATA"]],["impl Unpin for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_COV_DATA"]],["impl Unpin for STORAGE_INFORMATION_DATA",1,["mavlink::ardupilotmega::STORAGE_INFORMATION_DATA"]],["impl Unpin for SYSTEM_TIME_DATA",1,["mavlink::ardupilotmega::SYSTEM_TIME_DATA"]],["impl Unpin for MISSION_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_CURRENT_DATA"]],["impl Unpin for LOG_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_LIST_DATA"]],["impl Unpin for MAG_CAL_PROGRESS_DATA",1,["mavlink::ardupilotmega::MAG_CAL_PROGRESS_DATA"]],["impl Unpin for GPS2_RTK_DATA",1,["mavlink::ardupilotmega::GPS2_RTK_DATA"]],["impl Unpin for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Unpin for LOG_ENTRY_DATA",1,["mavlink::ardupilotmega::LOG_ENTRY_DATA"]],["impl Unpin for MISSION_ITEM_REACHED_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_REACHED_DATA"]],["impl Unpin for TERRAIN_CHECK_DATA",1,["mavlink::ardupilotmega::TERRAIN_CHECK_DATA"]],["impl Unpin for HEARTBEAT_DATA",1,["mavlink::ardupilotmega::HEARTBEAT_DATA"]],["impl Unpin for CAN_FILTER_MODIFY_DATA",1,["mavlink::ardupilotmega::CAN_FILTER_MODIFY_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Unpin for FLIGHT_INFORMATION_DATA",1,["mavlink::ardupilotmega::FLIGHT_INFORMATION_DATA"]],["impl Unpin for VFR_HUD_DATA",1,["mavlink::ardupilotmega::VFR_HUD_DATA"]],["impl Unpin for MOUNT_CONTROL_DATA",1,["mavlink::ardupilotmega::MOUNT_CONTROL_DATA"]],["impl Unpin for WATER_DEPTH_DATA",1,["mavlink::ardupilotmega::WATER_DEPTH_DATA"]],["impl Unpin for SET_MODE_DATA",1,["mavlink::ardupilotmega::SET_MODE_DATA"]],["impl Unpin for OSD_PARAM_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_DATA"]],["impl Unpin for PING_DATA",1,["mavlink::ardupilotmega::PING_DATA"]],["impl Unpin for PARAM_EXT_ACK_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_ACK_DATA"]],["impl Unpin for TIMESYNC_DATA",1,["mavlink::ardupilotmega::TIMESYNC_DATA"]],["impl Unpin for ESC_TELEMETRY_5_TO_8_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_5_TO_8_DATA"]],["impl Unpin for RAW_PRESSURE_DATA",1,["mavlink::ardupilotmega::RAW_PRESSURE_DATA"]],["impl Unpin for SMART_BATTERY_INFO_DATA",1,["mavlink::ardupilotmega::SMART_BATTERY_INFO_DATA"]],["impl Unpin for OBSTACLE_DISTANCE_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_DATA"]],["impl Unpin for CAMERA_FOV_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_FOV_STATUS_DATA"]],["impl Unpin for ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::ATTITUDE_TARGET_DATA"]],["impl Unpin for GPS2_RAW_DATA",1,["mavlink::ardupilotmega::GPS2_RAW_DATA"]],["impl Unpin for RC_CHANNELS_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_DATA"]],["impl Unpin for DATA_STREAM_DATA",1,["mavlink::ardupilotmega::DATA_STREAM_DATA"]],["impl Unpin for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_INFORMATION_DATA"]],["impl Unpin for HIL_GPS_DATA",1,["mavlink::ardupilotmega::HIL_GPS_DATA"]],["impl Unpin for VISION_POSITION_DELTA_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_DELTA_DATA"]],["impl Unpin for TERRAIN_REQUEST_DATA",1,["mavlink::ardupilotmega::TERRAIN_REQUEST_DATA"]],["impl Unpin for HIGH_LATENCY_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY_DATA"]],["impl Unpin for TUNNEL_DATA",1,["mavlink::ardupilotmega::TUNNEL_DATA"]],["impl Unpin for LIMITS_STATUS_DATA",1,["mavlink::ardupilotmega::LIMITS_STATUS_DATA"]],["impl Unpin for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Unpin for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Unpin for RC_CHANNELS_SCALED_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_SCALED_DATA"]],["impl Unpin for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Unpin for MOUNT_ORIENTATION_DATA",1,["mavlink::ardupilotmega::MOUNT_ORIENTATION_DATA"]],["impl Unpin for GLOBAL_POSITION_INT_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_DATA"]],["impl Unpin for DEVICE_OP_READ_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_REPLY_DATA"]],["impl Unpin for SERIAL_CONTROL_DATA",1,["mavlink::ardupilotmega::SERIAL_CONTROL_DATA"]],["impl Unpin for CAN_FRAME_DATA",1,["mavlink::ardupilotmega::CAN_FRAME_DATA"]],["impl Unpin for AHRS3_DATA",1,["mavlink::ardupilotmega::AHRS3_DATA"]],["impl Unpin for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Unpin for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Unpin for SCALED_IMU3_DATA",1,["mavlink::ardupilotmega::SCALED_IMU3_DATA"]],["impl Unpin for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Unpin for MISSION_ITEM_INT_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_INT_DATA"]],["impl Unpin for ADAP_TUNING_DATA",1,["mavlink::ardupilotmega::ADAP_TUNING_DATA"]],["impl Unpin for EFI_STATUS_DATA",1,["mavlink::ardupilotmega::EFI_STATUS_DATA"]],["impl Unpin for TERRAIN_REPORT_DATA",1,["mavlink::ardupilotmega::TERRAIN_REPORT_DATA"]],["impl Unpin for SCALED_PRESSURE2_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE2_DATA"]],["impl Unpin for SET_HOME_POSITION_DATA",1,["mavlink::ardupilotmega::SET_HOME_POSITION_DATA"]],["impl Unpin for AP_ADC_DATA",1,["mavlink::ardupilotmega::AP_ADC_DATA"]],["impl Unpin for GIMBAL_TORQUE_CMD_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_TORQUE_CMD_REPORT_DATA"]],["impl Unpin for GOPRO_SET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_RESPONSE_DATA"]],["impl Unpin for ESC_TELEMETRY_9_TO_12_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_9_TO_12_DATA"]],["impl Unpin for HYGROMETER_SENSOR_DATA",1,["mavlink::ardupilotmega::HYGROMETER_SENSOR_DATA"]],["impl Unpin for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::ardupilotmega::CONTROL_SYSTEM_STATE_DATA"]],["impl Unpin for BUTTON_CHANGE_DATA",1,["mavlink::ardupilotmega::BUTTON_CHANGE_DATA"]],["impl Unpin for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VICON_POSITION_ESTIMATE_DATA"]],["impl Unpin for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::ardupilotmega::HIL_RC_INPUTS_RAW_DATA"]],["impl Unpin for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Unpin for HIL_STATE_DATA",1,["mavlink::ardupilotmega::HIL_STATE_DATA"]],["impl Unpin for GOPRO_GET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_RESPONSE_DATA"]],["impl Unpin for POWER_STATUS_DATA",1,["mavlink::ardupilotmega::POWER_STATUS_DATA"]],["impl Unpin for AHRS_DATA",1,["mavlink::ardupilotmega::AHRS_DATA"]],["impl Unpin for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Unpin for LOG_ERASE_DATA",1,["mavlink::ardupilotmega::LOG_ERASE_DATA"]],["impl Unpin for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Unpin for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::ardupilotmega::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Unpin for ADSB_VEHICLE_DATA",1,["mavlink::ardupilotmega::ADSB_VEHICLE_DATA"]],["impl Unpin for GPS_INJECT_DATA_DATA",1,["mavlink::ardupilotmega::GPS_INJECT_DATA_DATA"]],["impl Unpin for NAMED_VALUE_INT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_INT_DATA"]],["impl Unpin for DIGICAM_CONFIGURE_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONFIGURE_DATA"]],["impl Unpin for EKF_STATUS_REPORT_DATA",1,["mavlink::ardupilotmega::EKF_STATUS_REPORT_DATA"]],["impl Unpin for OSD_PARAM_SHOW_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_DATA"]],["impl Unpin for REQUEST_DATA_STREAM_DATA",1,["mavlink::ardupilotmega::REQUEST_DATA_STREAM_DATA"]],["impl Unpin for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Unpin for HIL_SENSOR_DATA",1,["mavlink::ardupilotmega::HIL_SENSOR_DATA"]],["impl Unpin for WINCH_STATUS_DATA",1,["mavlink::ardupilotmega::WINCH_STATUS_DATA"]],["impl Unpin for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Unpin for MOUNT_CONFIGURE_DATA",1,["mavlink::ardupilotmega::MOUNT_CONFIGURE_DATA"]],["impl Unpin for DATA32_DATA",1,["mavlink::ardupilotmega::DATA32_DATA"]],["impl Unpin for COMMAND_LONG_DATA",1,["mavlink::ardupilotmega::COMMAND_LONG_DATA"]],["impl Unpin for NAMED_VALUE_FLOAT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_FLOAT_DATA"]],["impl Unpin for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Unpin for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_ESTIMATE_DATA"]],["impl Unpin for MEMINFO_DATA",1,["mavlink::ardupilotmega::MEMINFO_DATA"]],["impl Unpin for DEVICE_OP_WRITE_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_REPLY_DATA"]],["impl Unpin for COMMAND_CANCEL_DATA",1,["mavlink::ardupilotmega::COMMAND_CANCEL_DATA"]],["impl Unpin for RC_CHANNELS_RAW_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_RAW_DATA"]],["impl Unpin for PARAM_EXT_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_VALUE_DATA"]],["impl Unpin for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::ardupilotmega::RESPONSE_EVENT_ERROR_DATA"]],["impl Unpin for MISSION_SET_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_SET_CURRENT_DATA"]],["impl Unpin for HIL_STATE_QUATERNION_DATA",1,["mavlink::ardupilotmega::HIL_STATE_QUATERNION_DATA"]],["impl Unpin for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Unpin for ESTIMATOR_STATUS_DATA",1,["mavlink::ardupilotmega::ESTIMATOR_STATUS_DATA"]],["impl Unpin for PARAM_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_VALUE_DATA"]],["impl Unpin for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::ardupilotmega::ORBIT_EXECUTION_STATUS_DATA"]],["impl Unpin for RALLY_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_POINT_DATA"]],["impl Unpin for MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::MANUAL_CONTROL_DATA"]],["impl Unpin for EXTENDED_SYS_STATE_DATA",1,["mavlink::ardupilotmega::EXTENDED_SYS_STATE_DATA"]],["impl Unpin for DATA16_DATA",1,["mavlink::ardupilotmega::DATA16_DATA"]],["impl Unpin for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::ardupilotmega::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Unpin for MOUNT_STATUS_DATA",1,["mavlink::ardupilotmega::MOUNT_STATUS_DATA"]],["impl Unpin for DEBUG_DATA",1,["mavlink::ardupilotmega::DEBUG_DATA"]],["impl Unpin for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Unpin for EVENT_DATA",1,["mavlink::ardupilotmega::EVENT_DATA"]],["impl Unpin for MCU_STATUS_DATA",1,["mavlink::ardupilotmega::MCU_STATUS_DATA"]],["impl Unpin for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_COV_DATA"]],["impl Unpin for RAW_RPM_DATA",1,["mavlink::ardupilotmega::RAW_RPM_DATA"]],["impl Unpin for PARAM_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_READ_DATA"]],["impl Unpin for MavMessage",1,["mavlink::ardupilotmega::MavMessage"]],["impl Unpin for FailureType",1,["mavlink::uavionix::FailureType"]],["impl Unpin for MavOdidHeightRef",1,["mavlink::uavionix::MavOdidHeightRef"]],["impl Unpin for PreflightStorageParameterAction",1,["mavlink::uavionix::PreflightStorageParameterAction"]],["impl Unpin for MavFtpErr",1,["mavlink::uavionix::MavFtpErr"]],["impl Unpin for EscFailureFlags",1,["mavlink::uavionix::EscFailureFlags"]],["impl Unpin for AdsbFlags",1,["mavlink::uavionix::AdsbFlags"]],["impl Unpin for VtolTransitionHeading",1,["mavlink::uavionix::VtolTransitionHeading"]],["impl Unpin for MavAutopilot",1,["mavlink::uavionix::MavAutopilot"]],["impl Unpin for VideoStreamType",1,["mavlink::uavionix::VideoStreamType"]],["impl Unpin for GimbalDeviceErrorFlags",1,["mavlink::uavionix::GimbalDeviceErrorFlags"]],["impl Unpin for CameraZoomType",1,["mavlink::uavionix::CameraZoomType"]],["impl Unpin for MavMissionResult",1,["mavlink::uavionix::MavMissionResult"]],["impl Unpin for MavOdidHorAcc",1,["mavlink::uavionix::MavOdidHorAcc"]],["impl Unpin for MavMode",1,["mavlink::uavionix::MavMode"]],["impl Unpin for SetFocusType",1,["mavlink::uavionix::SetFocusType"]],["impl Unpin for CellularNetworkRadioType",1,["mavlink::uavionix::CellularNetworkRadioType"]],["impl Unpin for UavionixAdsbEmergencyStatus",1,["mavlink::uavionix::UavionixAdsbEmergencyStatus"]],["impl Unpin for ParamAck",1,["mavlink::uavionix::ParamAck"]],["impl Unpin for AutotuneAxis",1,["mavlink::uavionix::AutotuneAxis"]],["impl Unpin for UavcanNodeMode",1,["mavlink::uavionix::UavcanNodeMode"]],["impl Unpin for MavCollisionAction",1,["mavlink::uavionix::MavCollisionAction"]],["impl Unpin for SerialControlDev",1,["mavlink::uavionix::SerialControlDev"]],["impl Unpin for HlFailureFlag",1,["mavlink::uavionix::HlFailureFlag"]],["impl Unpin for LandingTargetType",1,["mavlink::uavionix::LandingTargetType"]],["impl Unpin for MavRoi",1,["mavlink::uavionix::MavRoi"]],["impl Unpin for PositionTargetTypemask",1,["mavlink::uavionix::PositionTargetTypemask"]],["impl Unpin for MissionState",1,["mavlink::uavionix::MissionState"]],["impl Unpin for CameraTrackingMode",1,["mavlink::uavionix::CameraTrackingMode"]],["impl Unpin for CellularConfigResponse",1,["mavlink::uavionix::CellularConfigResponse"]],["impl Unpin for MavBatteryMode",1,["mavlink::uavionix::MavBatteryMode"]],["impl Unpin for MavOdidCategoryEu",1,["mavlink::uavionix::MavOdidCategoryEu"]],["impl Unpin for MavEstimatorType",1,["mavlink::uavionix::MavEstimatorType"]],["impl Unpin for UtmFlightState",1,["mavlink::uavionix::UtmFlightState"]],["impl Unpin for UtmDataAvailFlags",1,["mavlink::uavionix::UtmDataAvailFlags"]],["impl Unpin for AisFlags",1,["mavlink::uavionix::AisFlags"]],["impl Unpin for ActuatorOutputFunction",1,["mavlink::uavionix::ActuatorOutputFunction"]],["impl Unpin for MavSensorOrientation",1,["mavlink::uavionix::MavSensorOrientation"]],["impl Unpin for MavOdidClassEu",1,["mavlink::uavionix::MavOdidClassEu"]],["impl Unpin for MavOdidClassificationType",1,["mavlink::uavionix::MavOdidClassificationType"]],["impl Unpin for CanFilterOp",1,["mavlink::uavionix::CanFilterOp"]],["impl Unpin for RcType",1,["mavlink::uavionix::RcType"]],["impl Unpin for GimbalManagerFlags",1,["mavlink::uavionix::GimbalManagerFlags"]],["impl Unpin for CameraCapFlags",1,["mavlink::uavionix::CameraCapFlags"]],["impl Unpin for MavSysStatusSensor",1,["mavlink::uavionix::MavSysStatusSensor"]],["impl Unpin for MavMissionType",1,["mavlink::uavionix::MavMissionType"]],["impl Unpin for MavOdidOperatorLocationType",1,["mavlink::uavionix::MavOdidOperatorLocationType"]],["impl Unpin for VideoStreamStatusFlags",1,["mavlink::uavionix::VideoStreamStatusFlags"]],["impl Unpin for MavCmdAck",1,["mavlink::uavionix::MavCmdAck"]],["impl Unpin for StorageType",1,["mavlink::uavionix::StorageType"]],["impl Unpin for UavionixAdsbOutDynamicState",1,["mavlink::uavionix::UavionixAdsbOutDynamicState"]],["impl Unpin for CellularStatusFlag",1,["mavlink::uavionix::CellularStatusFlag"]],["impl Unpin for RtkBaselineCoordinateSystem",1,["mavlink::uavionix::RtkBaselineCoordinateSystem"]],["impl Unpin for MavParamExtType",1,["mavlink::uavionix::MavParamExtType"]],["impl Unpin for FailureUnit",1,["mavlink::uavionix::FailureUnit"]],["impl Unpin for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLat"]],["impl Unpin for MavLandedState",1,["mavlink::uavionix::MavLandedState"]],["impl Unpin for MavModeFlag",1,["mavlink::uavionix::MavModeFlag"]],["impl Unpin for WinchActions",1,["mavlink::uavionix::WinchActions"]],["impl Unpin for UavcanNodeHealth",1,["mavlink::uavionix::UavcanNodeHealth"]],["impl Unpin for AisType",1,["mavlink::uavionix::AisType"]],["impl Unpin for MavParamType",1,["mavlink::uavionix::MavParamType"]],["impl Unpin for MavOdidUaType",1,["mavlink::uavionix::MavOdidUaType"]],["impl Unpin for MavComponent",1,["mavlink::uavionix::MavComponent"]],["impl Unpin for GripperActions",1,["mavlink::uavionix::GripperActions"]],["impl Unpin for NavVtolLandOptions",1,["mavlink::uavionix::NavVtolLandOptions"]],["impl Unpin for MavFtpOpcode",1,["mavlink::uavionix::MavFtpOpcode"]],["impl Unpin for MavProtocolCapability",1,["mavlink::uavionix::MavProtocolCapability"]],["impl Unpin for WifiConfigApResponse",1,["mavlink::uavionix::WifiConfigApResponse"]],["impl Unpin for MavDataStream",1,["mavlink::uavionix::MavDataStream"]],["impl Unpin for MavBatteryChargeState",1,["mavlink::uavionix::MavBatteryChargeState"]],["impl Unpin for WifiConfigApMode",1,["mavlink::uavionix::WifiConfigApMode"]],["impl Unpin for AdsbAltitudeType",1,["mavlink::uavionix::AdsbAltitudeType"]],["impl Unpin for GimbalManagerCapFlags",1,["mavlink::uavionix::GimbalManagerCapFlags"]],["impl Unpin for MavCollisionSrc",1,["mavlink::uavionix::MavCollisionSrc"]],["impl Unpin for CameraTrackingStatusFlags",1,["mavlink::uavionix::CameraTrackingStatusFlags"]],["impl Unpin for MavDoRepositionFlags",1,["mavlink::uavionix::MavDoRepositionFlags"]],["impl Unpin for CellularNetworkFailedReason",1,["mavlink::uavionix::CellularNetworkFailedReason"]],["impl Unpin for MavOdidTimeAcc",1,["mavlink::uavionix::MavOdidTimeAcc"]],["impl Unpin for MavOdidSpeedAcc",1,["mavlink::uavionix::MavOdidSpeedAcc"]],["impl Unpin for MavOdidStatus",1,["mavlink::uavionix::MavOdidStatus"]],["impl Unpin for MagCalStatus",1,["mavlink::uavionix::MagCalStatus"]],["impl Unpin for MavType",1,["mavlink::uavionix::MavType"]],["impl Unpin for FenceBreach",1,["mavlink::uavionix::FenceBreach"]],["impl Unpin for AisNavStatus",1,["mavlink::uavionix::AisNavStatus"]],["impl Unpin for MavBatteryFault",1,["mavlink::uavionix::MavBatteryFault"]],["impl Unpin for MavOdidArmStatus",1,["mavlink::uavionix::MavOdidArmStatus"]],["impl Unpin for GimbalDeviceCapFlags",1,["mavlink::uavionix::GimbalDeviceCapFlags"]],["impl Unpin for PreflightStorageMissionAction",1,["mavlink::uavionix::PreflightStorageMissionAction"]],["impl Unpin for HighresImuUpdatedFlags",1,["mavlink::uavionix::HighresImuUpdatedFlags"]],["impl Unpin for CameraMode",1,["mavlink::uavionix::CameraMode"]],["impl Unpin for SerialControlFlag",1,["mavlink::uavionix::SerialControlFlag"]],["impl Unpin for AdsbEmitterType",1,["mavlink::uavionix::AdsbEmitterType"]],["impl Unpin for PrecisionLandMode",1,["mavlink::uavionix::PrecisionLandMode"]],["impl Unpin for CameraTrackingTargetData",1,["mavlink::uavionix::CameraTrackingTargetData"]],["impl Unpin for StorageStatus",1,["mavlink::uavionix::StorageStatus"]],["impl Unpin for MavState",1,["mavlink::uavionix::MavState"]],["impl Unpin for MavArmAuthDeniedReason",1,["mavlink::uavionix::MavArmAuthDeniedReason"]],["impl Unpin for EstimatorStatusFlags",1,["mavlink::uavionix::EstimatorStatusFlags"]],["impl Unpin for OrbitYawBehaviour",1,["mavlink::uavionix::OrbitYawBehaviour"]],["impl Unpin for MavSysStatusSensorExtended",1,["mavlink::uavionix::MavSysStatusSensorExtended"]],["impl Unpin for MavSeverity",1,["mavlink::uavionix::MavSeverity"]],["impl Unpin for MavCmd",1,["mavlink::uavionix::MavCmd"]],["impl Unpin for MavMountMode",1,["mavlink::uavionix::MavMountMode"]],["impl Unpin for MavOdidOperatorIdType",1,["mavlink::uavionix::MavOdidOperatorIdType"]],["impl Unpin for MavOdidIdType",1,["mavlink::uavionix::MavOdidIdType"]],["impl Unpin for ActuatorConfiguration",1,["mavlink::uavionix::ActuatorConfiguration"]],["impl Unpin for MavEventErrorReason",1,["mavlink::uavionix::MavEventErrorReason"]],["impl Unpin for StorageUsageFlag",1,["mavlink::uavionix::StorageUsageFlag"]],["impl Unpin for MavPowerStatus",1,["mavlink::uavionix::MavPowerStatus"]],["impl Unpin for CompMetadataType",1,["mavlink::uavionix::CompMetadataType"]],["impl Unpin for MavCollisionThreatLevel",1,["mavlink::uavionix::MavCollisionThreatLevel"]],["impl Unpin for MavOdidAuthType",1,["mavlink::uavionix::MavOdidAuthType"]],["impl Unpin for MavOdidDescType",1,["mavlink::uavionix::MavOdidDescType"]],["impl Unpin for ParachuteAction",1,["mavlink::uavionix::ParachuteAction"]],["impl Unpin for AttitudeTargetTypemask",1,["mavlink::uavionix::AttitudeTargetTypemask"]],["impl Unpin for FenceMitigate",1,["mavlink::uavionix::FenceMitigate"]],["impl Unpin for UavionixAdsbOutRfSelect",1,["mavlink::uavionix::UavionixAdsbOutRfSelect"]],["impl Unpin for MavFrame",1,["mavlink::uavionix::MavFrame"]],["impl Unpin for MotorTestOrder",1,["mavlink::uavionix::MotorTestOrder"]],["impl Unpin for MavResult",1,["mavlink::uavionix::MavResult"]],["impl Unpin for MavGoto",1,["mavlink::uavionix::MavGoto"]],["impl Unpin for TuneFormat",1,["mavlink::uavionix::TuneFormat"]],["impl Unpin for MavlinkDataStreamType",1,["mavlink::uavionix::MavlinkDataStreamType"]],["impl Unpin for FenceAction",1,["mavlink::uavionix::FenceAction"]],["impl Unpin for MavEventCurrentSequenceFlags",1,["mavlink::uavionix::MavEventCurrentSequenceFlags"]],["impl Unpin for MavWinchStatusFlag",1,["mavlink::uavionix::MavWinchStatusFlag"]],["impl Unpin for GpsInputIgnoreFlags",1,["mavlink::uavionix::GpsInputIgnoreFlags"]],["impl Unpin for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLon"]],["impl Unpin for MavGeneratorStatusFlag",1,["mavlink::uavionix::MavGeneratorStatusFlag"]],["impl Unpin for UavionixAdsbOutDynamicGpsFix",1,["mavlink::uavionix::UavionixAdsbOutDynamicGpsFix"]],["impl Unpin for EscConnectionType",1,["mavlink::uavionix::EscConnectionType"]],["impl Unpin for MavDistanceSensor",1,["mavlink::uavionix::MavDistanceSensor"]],["impl Unpin for MavModeFlagDecodePosition",1,["mavlink::uavionix::MavModeFlagDecodePosition"]],["impl Unpin for GimbalDeviceFlags",1,["mavlink::uavionix::GimbalDeviceFlags"]],["impl Unpin for MotorTestThrottleType",1,["mavlink::uavionix::MotorTestThrottleType"]],["impl Unpin for UavionixAdsbOutCfgAircraftSize",1,["mavlink::uavionix::UavionixAdsbOutCfgAircraftSize"]],["impl Unpin for MavOdidVerAcc",1,["mavlink::uavionix::MavOdidVerAcc"]],["impl Unpin for MavBatteryType",1,["mavlink::uavionix::MavBatteryType"]],["impl Unpin for MavBatteryFunction",1,["mavlink::uavionix::MavBatteryFunction"]],["impl Unpin for GpsFixType",1,["mavlink::uavionix::GpsFixType"]],["impl Unpin for MavTunnelPayloadType",1,["mavlink::uavionix::MavTunnelPayloadType"]],["impl Unpin for HilSensorUpdatedFlags",1,["mavlink::uavionix::HilSensorUpdatedFlags"]],["impl Unpin for UavionixAdsbRfHealth",1,["mavlink::uavionix::UavionixAdsbRfHealth"]],["impl Unpin for MavVtolState",1,["mavlink::uavionix::MavVtolState"]],["impl Unpin for FirmwareVersionType",1,["mavlink::uavionix::FirmwareVersionType"]],["impl Unpin for MISSION_SET_CURRENT_DATA",1,["mavlink::uavionix::MISSION_SET_CURRENT_DATA"]],["impl Unpin for AUTH_KEY_DATA",1,["mavlink::uavionix::AUTH_KEY_DATA"]],["impl Unpin for ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::ATTITUDE_TARGET_DATA"]],["impl Unpin for SETUP_SIGNING_DATA",1,["mavlink::uavionix::SETUP_SIGNING_DATA"]],["impl Unpin for CELLULAR_CONFIG_DATA",1,["mavlink::uavionix::CELLULAR_CONFIG_DATA"]],["impl Unpin for UTM_GLOBAL_POSITION_DATA",1,["mavlink::uavionix::UTM_GLOBAL_POSITION_DATA"]],["impl Unpin for VFR_HUD_DATA",1,["mavlink::uavionix::VFR_HUD_DATA"]],["impl Unpin for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl Unpin for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Unpin for ODOMETRY_DATA",1,["mavlink::uavionix::ODOMETRY_DATA"]],["impl Unpin for SERIAL_CONTROL_DATA",1,["mavlink::uavionix::SERIAL_CONTROL_DATA"]],["impl Unpin for RC_CHANNELS_SCALED_DATA",1,["mavlink::uavionix::RC_CHANNELS_SCALED_DATA"]],["impl Unpin for COMPONENT_INFORMATION_DATA",1,["mavlink::uavionix::COMPONENT_INFORMATION_DATA"]],["impl Unpin for PARAM_EXT_VALUE_DATA",1,["mavlink::uavionix::PARAM_EXT_VALUE_DATA"]],["impl Unpin for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Unpin for UAVCAN_NODE_INFO_DATA",1,["mavlink::uavionix::UAVCAN_NODE_INFO_DATA"]],["impl Unpin for CAMERA_SETTINGS_DATA",1,["mavlink::uavionix::CAMERA_SETTINGS_DATA"]],["impl Unpin for RADIO_STATUS_DATA",1,["mavlink::uavionix::RADIO_STATUS_DATA"]],["impl Unpin for GPS_RAW_INT_DATA",1,["mavlink::uavionix::GPS_RAW_INT_DATA"]],["impl Unpin for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::uavionix::CONTROL_SYSTEM_STATE_DATA"]],["impl Unpin for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Unpin for TUNNEL_DATA",1,["mavlink::uavionix::TUNNEL_DATA"]],["impl Unpin for LOG_REQUEST_LIST_DATA",1,["mavlink::uavionix::LOG_REQUEST_LIST_DATA"]],["impl Unpin for REQUEST_DATA_STREAM_DATA",1,["mavlink::uavionix::REQUEST_DATA_STREAM_DATA"]],["impl Unpin for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Unpin for CANFD_FRAME_DATA",1,["mavlink::uavionix::CANFD_FRAME_DATA"]],["impl Unpin for HIL_CONTROLS_DATA",1,["mavlink::uavionix::HIL_CONTROLS_DATA"]],["impl Unpin for POWER_STATUS_DATA",1,["mavlink::uavionix::POWER_STATUS_DATA"]],["impl Unpin for HIL_STATE_DATA",1,["mavlink::uavionix::HIL_STATE_DATA"]],["impl Unpin for LOGGING_DATA_DATA",1,["mavlink::uavionix::LOGGING_DATA_DATA"]],["impl Unpin for SMART_BATTERY_INFO_DATA",1,["mavlink::uavionix::SMART_BATTERY_INFO_DATA"]],["impl Unpin for RAW_PRESSURE_DATA",1,["mavlink::uavionix::RAW_PRESSURE_DATA"]],["impl Unpin for PARAM_EXT_SET_DATA",1,["mavlink::uavionix::PARAM_EXT_SET_DATA"]],["impl Unpin for VIBRATION_DATA",1,["mavlink::uavionix::VIBRATION_DATA"]],["impl Unpin for LOGGING_ACK_DATA",1,["mavlink::uavionix::LOGGING_ACK_DATA"]],["impl Unpin for SCALED_PRESSURE2_DATA",1,["mavlink::uavionix::SCALED_PRESSURE2_DATA"]],["impl Unpin for AUTOPILOT_VERSION_DATA",1,["mavlink::uavionix::AUTOPILOT_VERSION_DATA"]],["impl Unpin for NAMED_VALUE_FLOAT_DATA",1,["mavlink::uavionix::NAMED_VALUE_FLOAT_DATA"]],["impl Unpin for GPS_RTK_DATA",1,["mavlink::uavionix::GPS_RTK_DATA"]],["impl Unpin for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl Unpin for COMMAND_CANCEL_DATA",1,["mavlink::uavionix::COMMAND_CANCEL_DATA"]],["impl Unpin for CAMERA_FOV_STATUS_DATA",1,["mavlink::uavionix::CAMERA_FOV_STATUS_DATA"]],["impl Unpin for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Unpin for LOG_ERASE_DATA",1,["mavlink::uavionix::LOG_ERASE_DATA"]],["impl Unpin for LOG_REQUEST_DATA_DATA",1,["mavlink::uavionix::LOG_REQUEST_DATA_DATA"]],["impl Unpin for LINK_NODE_STATUS_DATA",1,["mavlink::uavionix::LINK_NODE_STATUS_DATA"]],["impl Unpin for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Unpin for STORAGE_INFORMATION_DATA",1,["mavlink::uavionix::STORAGE_INFORMATION_DATA"]],["impl Unpin for LOGGING_DATA_ACKED_DATA",1,["mavlink::uavionix::LOGGING_DATA_ACKED_DATA"]],["impl Unpin for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::uavionix::DEBUG_FLOAT_ARRAY_DATA"]],["impl Unpin for SCALED_IMU2_DATA",1,["mavlink::uavionix::SCALED_IMU2_DATA"]],["impl Unpin for COLLISION_DATA",1,["mavlink::uavionix::COLLISION_DATA"]],["impl Unpin for MISSION_REQUEST_INT_DATA",1,["mavlink::uavionix::MISSION_REQUEST_INT_DATA"]],["impl Unpin for SERVO_OUTPUT_RAW_DATA",1,["mavlink::uavionix::SERVO_OUTPUT_RAW_DATA"]],["impl Unpin for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Unpin for TERRAIN_DATA_DATA",1,["mavlink::uavionix::TERRAIN_DATA_DATA"]],["impl Unpin for RC_CHANNELS_DATA",1,["mavlink::uavionix::RC_CHANNELS_DATA"]],["impl Unpin for HIL_SENSOR_DATA",1,["mavlink::uavionix::HIL_SENSOR_DATA"]],["impl Unpin for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Unpin for STATUSTEXT_DATA",1,["mavlink::uavionix::STATUSTEXT_DATA"]],["impl Unpin for RC_CHANNELS_RAW_DATA",1,["mavlink::uavionix::RC_CHANNELS_RAW_DATA"]],["impl Unpin for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_COV_DATA"]],["impl Unpin for MESSAGE_INTERVAL_DATA",1,["mavlink::uavionix::MESSAGE_INTERVAL_DATA"]],["impl Unpin for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_ALLOWED_AREA_DATA"]],["impl Unpin for EXTENDED_SYS_STATE_DATA",1,["mavlink::uavionix::EXTENDED_SYS_STATE_DATA"]],["impl Unpin for GPS_INJECT_DATA_DATA",1,["mavlink::uavionix::GPS_INJECT_DATA_DATA"]],["impl Unpin for HOME_POSITION_DATA",1,["mavlink::uavionix::HOME_POSITION_DATA"]],["impl Unpin for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_READ_DATA"]],["impl Unpin for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Unpin for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Unpin for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Unpin for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Unpin for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::uavionix::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Unpin for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::uavionix::RC_CHANNELS_OVERRIDE_DATA"]],["impl Unpin for SET_HOME_POSITION_DATA",1,["mavlink::uavionix::SET_HOME_POSITION_DATA"]],["impl Unpin for HIL_OPTICAL_FLOW_DATA",1,["mavlink::uavionix::HIL_OPTICAL_FLOW_DATA"]],["impl Unpin for V2_EXTENSION_DATA",1,["mavlink::uavionix::V2_EXTENSION_DATA"]],["impl Unpin for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::uavionix::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Unpin for PARAM_MAP_RC_DATA",1,["mavlink::uavionix::PARAM_MAP_RC_DATA"]],["impl Unpin for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::uavionix::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Unpin for BUTTON_CHANGE_DATA",1,["mavlink::uavionix::BUTTON_CHANGE_DATA"]],["impl Unpin for PARAM_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_REQUEST_LIST_DATA"]],["impl Unpin for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Unpin for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Unpin for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Unpin for BATTERY_STATUS_DATA",1,["mavlink::uavionix::BATTERY_STATUS_DATA"]],["impl Unpin for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Unpin for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Unpin for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Unpin for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::uavionix::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Unpin for HIGHRES_IMU_DATA",1,["mavlink::uavionix::HIGHRES_IMU_DATA"]],["impl Unpin for PARAM_EXT_ACK_DATA",1,["mavlink::uavionix::PARAM_EXT_ACK_DATA"]],["impl Unpin for TERRAIN_CHECK_DATA",1,["mavlink::uavionix::TERRAIN_CHECK_DATA"]],["impl Unpin for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::uavionix::HIL_RC_INPUTS_RAW_DATA"]],["impl Unpin for MISSION_ITEM_INT_DATA",1,["mavlink::uavionix::MISSION_ITEM_INT_DATA"]],["impl Unpin for ATT_POS_MOCAP_DATA",1,["mavlink::uavionix::ATT_POS_MOCAP_DATA"]],["impl Unpin for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Unpin for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::uavionix::RESPONSE_EVENT_ERROR_DATA"]],["impl Unpin for ATTITUDE_DATA",1,["mavlink::uavionix::ATTITUDE_DATA"]],["impl Unpin for TERRAIN_REQUEST_DATA",1,["mavlink::uavionix::TERRAIN_REQUEST_DATA"]],["impl Unpin for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::uavionix::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Unpin for LOCAL_POSITION_NED_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_DATA"]],["impl Unpin for TERRAIN_REPORT_DATA",1,["mavlink::uavionix::TERRAIN_REPORT_DATA"]],["impl Unpin for REQUEST_EVENT_DATA",1,["mavlink::uavionix::REQUEST_EVENT_DATA"]],["impl Unpin for ALTITUDE_DATA",1,["mavlink::uavionix::ALTITUDE_DATA"]],["impl Unpin for WIND_COV_DATA",1,["mavlink::uavionix::WIND_COV_DATA"]],["impl Unpin for GPS2_RAW_DATA",1,["mavlink::uavionix::GPS2_RAW_DATA"]],["impl Unpin for SYS_STATUS_DATA",1,["mavlink::uavionix::SYS_STATUS_DATA"]],["impl Unpin for SCALED_PRESSURE_DATA",1,["mavlink::uavionix::SCALED_PRESSURE_DATA"]],["impl Unpin for SET_ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::SET_ATTITUDE_TARGET_DATA"]],["impl Unpin for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_COV_DATA"]],["impl Unpin for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::uavionix::ORBIT_EXECUTION_STATUS_DATA"]],["impl Unpin for PARAM_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_REQUEST_READ_DATA"]],["impl Unpin for MEMORY_VECT_DATA",1,["mavlink::uavionix::MEMORY_VECT_DATA"]],["impl Unpin for SCALED_IMU_DATA",1,["mavlink::uavionix::SCALED_IMU_DATA"]],["impl Unpin for VIDEO_STREAM_STATUS_DATA",1,["mavlink::uavionix::VIDEO_STREAM_STATUS_DATA"]],["impl Unpin for GPS_STATUS_DATA",1,["mavlink::uavionix::GPS_STATUS_DATA"]],["impl Unpin for PING_DATA",1,["mavlink::uavionix::PING_DATA"]],["impl Unpin for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::uavionix::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Unpin for SCALED_PRESSURE3_DATA",1,["mavlink::uavionix::SCALED_PRESSURE3_DATA"]],["impl Unpin for WIFI_CONFIG_AP_DATA",1,["mavlink::uavionix::WIFI_CONFIG_AP_DATA"]],["impl Unpin for RAW_RPM_DATA",1,["mavlink::uavionix::RAW_RPM_DATA"]],["impl Unpin for MISSION_ITEM_REACHED_DATA",1,["mavlink::uavionix::MISSION_ITEM_REACHED_DATA"]],["impl Unpin for TIMESYNC_DATA",1,["mavlink::uavionix::TIMESYNC_DATA"]],["impl Unpin for MOUNT_ORIENTATION_DATA",1,["mavlink::uavionix::MOUNT_ORIENTATION_DATA"]],["impl Unpin for DATA_STREAM_DATA",1,["mavlink::uavionix::DATA_STREAM_DATA"]],["impl Unpin for ISBD_LINK_STATUS_DATA",1,["mavlink::uavionix::ISBD_LINK_STATUS_DATA"]],["impl Unpin for GPS2_RTK_DATA",1,["mavlink::uavionix::GPS2_RTK_DATA"]],["impl Unpin for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Unpin for HIL_GPS_DATA",1,["mavlink::uavionix::HIL_GPS_DATA"]],["impl Unpin for MISSION_CURRENT_DATA",1,["mavlink::uavionix::MISSION_CURRENT_DATA"]],["impl Unpin for PARAM_VALUE_DATA",1,["mavlink::uavionix::PARAM_VALUE_DATA"]],["impl Unpin for FENCE_STATUS_DATA",1,["mavlink::uavionix::FENCE_STATUS_DATA"]],["impl Unpin for HIL_STATE_QUATERNION_DATA",1,["mavlink::uavionix::HIL_STATE_QUATERNION_DATA"]],["impl Unpin for OBSTACLE_DISTANCE_DATA",1,["mavlink::uavionix::OBSTACLE_DISTANCE_DATA"]],["impl Unpin for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_CAPTURE_STATUS_DATA"]],["impl Unpin for DISTANCE_SENSOR_DATA",1,["mavlink::uavionix::DISTANCE_SENSOR_DATA"]],["impl Unpin for NAMED_VALUE_INT_DATA",1,["mavlink::uavionix::NAMED_VALUE_INT_DATA"]],["impl Unpin for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::uavionix::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Unpin for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Unpin for MISSION_REQUEST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_DATA"]],["impl Unpin for MISSION_REQUEST_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_LIST_DATA"]],["impl Unpin for LOG_DATA_DATA",1,["mavlink::uavionix::LOG_DATA_DATA"]],["impl Unpin for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl Unpin for PROTOCOL_VERSION_DATA",1,["mavlink::uavionix::PROTOCOL_VERSION_DATA"]],["impl Unpin for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Unpin for LANDING_TARGET_DATA",1,["mavlink::uavionix::LANDING_TARGET_DATA"]],["impl Unpin for ESC_STATUS_DATA",1,["mavlink::uavionix::ESC_STATUS_DATA"]],["impl Unpin for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Unpin for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::GPS_GLOBAL_ORIGIN_DATA"]],["impl Unpin for PLAY_TUNE_V2_DATA",1,["mavlink::uavionix::PLAY_TUNE_V2_DATA"]],["impl Unpin for DEBUG_VECT_DATA",1,["mavlink::uavionix::DEBUG_VECT_DATA"]],["impl Unpin for LOG_REQUEST_END_DATA",1,["mavlink::uavionix::LOG_REQUEST_END_DATA"]],["impl Unpin for RESOURCE_REQUEST_DATA",1,["mavlink::uavionix::RESOURCE_REQUEST_DATA"]],["impl Unpin for ATTITUDE_QUATERNION_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_DATA"]],["impl Unpin for HYGROMETER_SENSOR_DATA",1,["mavlink::uavionix::HYGROMETER_SENSOR_DATA"]],["impl Unpin for ENCAPSULATED_DATA_DATA",1,["mavlink::uavionix::ENCAPSULATED_DATA_DATA"]],["impl Unpin for CAMERA_INFORMATION_DATA",1,["mavlink::uavionix::CAMERA_INFORMATION_DATA"]],["impl Unpin for ESC_INFO_DATA",1,["mavlink::uavionix::ESC_INFO_DATA"]],["impl Unpin for FLIGHT_INFORMATION_DATA",1,["mavlink::uavionix::FLIGHT_INFORMATION_DATA"]],["impl Unpin for HIGH_LATENCY2_DATA",1,["mavlink::uavionix::HIGH_LATENCY2_DATA"]],["impl Unpin for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_COV_DATA"]],["impl Unpin for SET_MODE_DATA",1,["mavlink::uavionix::SET_MODE_DATA"]],["impl Unpin for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Unpin for PARAM_SET_DATA",1,["mavlink::uavionix::PARAM_SET_DATA"]],["impl Unpin for SUPPORTED_TUNES_DATA",1,["mavlink::uavionix::SUPPORTED_TUNES_DATA"]],["impl Unpin for CAN_FILTER_MODIFY_DATA",1,["mavlink::uavionix::CAN_FILTER_MODIFY_DATA"]],["impl Unpin for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_POSITION_ESTIMATE_DATA"]],["impl Unpin for PLAY_TUNE_DATA",1,["mavlink::uavionix::PLAY_TUNE_DATA"]],["impl Unpin for HEARTBEAT_DATA",1,["mavlink::uavionix::HEARTBEAT_DATA"]],["impl Unpin for SIM_STATE_DATA",1,["mavlink::uavionix::SIM_STATE_DATA"]],["impl Unpin for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::uavionix::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Unpin for AIS_VESSEL_DATA",1,["mavlink::uavionix::AIS_VESSEL_DATA"]],["impl Unpin for CAMERA_TRIGGER_DATA",1,["mavlink::uavionix::CAMERA_TRIGGER_DATA"]],["impl Unpin for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Unpin for LOG_ENTRY_DATA",1,["mavlink::uavionix::LOG_ENTRY_DATA"]],["impl Unpin for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Unpin for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_STATUS_DATA"]],["impl Unpin for MANUAL_SETPOINT_DATA",1,["mavlink::uavionix::MANUAL_SETPOINT_DATA"]],["impl Unpin for GPS_RTCM_DATA_DATA",1,["mavlink::uavionix::GPS_RTCM_DATA_DATA"]],["impl Unpin for RAW_IMU_DATA",1,["mavlink::uavionix::RAW_IMU_DATA"]],["impl Unpin for COMMAND_INT_DATA",1,["mavlink::uavionix::COMMAND_INT_DATA"]],["impl Unpin for DEBUG_DATA",1,["mavlink::uavionix::DEBUG_DATA"]],["impl Unpin for MISSION_COUNT_DATA",1,["mavlink::uavionix::MISSION_COUNT_DATA"]],["impl Unpin for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_SPEED_ESTIMATE_DATA"]],["impl Unpin for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Unpin for GPS_INPUT_DATA",1,["mavlink::uavionix::GPS_INPUT_DATA"]],["impl Unpin for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Unpin for UAVCAN_NODE_STATUS_DATA",1,["mavlink::uavionix::UAVCAN_NODE_STATUS_DATA"]],["impl Unpin for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Unpin for COMMAND_ACK_DATA",1,["mavlink::uavionix::COMMAND_ACK_DATA"]],["impl Unpin for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Unpin for CELLULAR_STATUS_DATA",1,["mavlink::uavionix::CELLULAR_STATUS_DATA"]],["impl Unpin for SYSTEM_TIME_DATA",1,["mavlink::uavionix::SYSTEM_TIME_DATA"]],["impl Unpin for EFI_STATUS_DATA",1,["mavlink::uavionix::EFI_STATUS_DATA"]],["impl Unpin for COMMAND_LONG_DATA",1,["mavlink::uavionix::COMMAND_LONG_DATA"]],["impl Unpin for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Unpin for MAG_CAL_REPORT_DATA",1,["mavlink::uavionix::MAG_CAL_REPORT_DATA"]],["impl Unpin for WHEEL_DISTANCE_DATA",1,["mavlink::uavionix::WHEEL_DISTANCE_DATA"]],["impl Unpin for OPTICAL_FLOW_RAD_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_RAD_DATA"]],["impl Unpin for SCALED_IMU3_DATA",1,["mavlink::uavionix::SCALED_IMU3_DATA"]],["impl Unpin for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Unpin for GENERATOR_STATUS_DATA",1,["mavlink::uavionix::GENERATOR_STATUS_DATA"]],["impl Unpin for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VICON_POSITION_ESTIMATE_DATA"]],["impl Unpin for MISSION_ITEM_DATA",1,["mavlink::uavionix::MISSION_ITEM_DATA"]],["impl Unpin for MANUAL_CONTROL_DATA",1,["mavlink::uavionix::MANUAL_CONTROL_DATA"]],["impl Unpin for ESTIMATOR_STATUS_DATA",1,["mavlink::uavionix::ESTIMATOR_STATUS_DATA"]],["impl Unpin for ADSB_VEHICLE_DATA",1,["mavlink::uavionix::ADSB_VEHICLE_DATA"]],["impl Unpin for GLOBAL_POSITION_INT_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_DATA"]],["impl Unpin for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::uavionix::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Unpin for MISSION_CLEAR_ALL_DATA",1,["mavlink::uavionix::MISSION_CLEAR_ALL_DATA"]],["impl Unpin for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::uavionix::VIDEO_STREAM_INFORMATION_DATA"]],["impl Unpin for CAN_FRAME_DATA",1,["mavlink::uavionix::CAN_FRAME_DATA"]],["impl Unpin for EVENT_DATA",1,["mavlink::uavionix::EVENT_DATA"]],["impl Unpin for COMPONENT_METADATA_DATA",1,["mavlink::uavionix::COMPONENT_METADATA_DATA"]],["impl Unpin for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::uavionix::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Unpin for MISSION_ACK_DATA",1,["mavlink::uavionix::MISSION_ACK_DATA"]],["impl Unpin for OPTICAL_FLOW_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_DATA"]],["impl Unpin for WINCH_STATUS_DATA",1,["mavlink::uavionix::WINCH_STATUS_DATA"]],["impl Unpin for HIGH_LATENCY_DATA",1,["mavlink::uavionix::HIGH_LATENCY_DATA"]],["impl Unpin for FOLLOW_TARGET_DATA",1,["mavlink::uavionix::FOLLOW_TARGET_DATA"]],["impl Unpin for MavMessage",1,["mavlink::uavionix::MavMessage"]],["impl Unpin for MavOdidClassificationType",1,["mavlink::common::MavOdidClassificationType"]],["impl Unpin for NavVtolLandOptions",1,["mavlink::common::NavVtolLandOptions"]],["impl Unpin for MotorTestThrottleType",1,["mavlink::common::MotorTestThrottleType"]],["impl Unpin for ParachuteAction",1,["mavlink::common::ParachuteAction"]],["impl Unpin for HlFailureFlag",1,["mavlink::common::HlFailureFlag"]],["impl Unpin for MavSysStatusSensor",1,["mavlink::common::MavSysStatusSensor"]],["impl Unpin for MavLandedState",1,["mavlink::common::MavLandedState"]],["impl Unpin for FailureType",1,["mavlink::common::FailureType"]],["impl Unpin for MavOdidAuthType",1,["mavlink::common::MavOdidAuthType"]],["impl Unpin for RcType",1,["mavlink::common::RcType"]],["impl Unpin for MavModeFlag",1,["mavlink::common::MavModeFlag"]],["impl Unpin for EscFailureFlags",1,["mavlink::common::EscFailureFlags"]],["impl Unpin for MavAutopilot",1,["mavlink::common::MavAutopilot"]],["impl Unpin for WifiConfigApResponse",1,["mavlink::common::WifiConfigApResponse"]],["impl Unpin for CameraTrackingStatusFlags",1,["mavlink::common::CameraTrackingStatusFlags"]],["impl Unpin for FailureUnit",1,["mavlink::common::FailureUnit"]],["impl Unpin for MavCmd",1,["mavlink::common::MavCmd"]],["impl Unpin for UtmDataAvailFlags",1,["mavlink::common::UtmDataAvailFlags"]],["impl Unpin for MavBatteryMode",1,["mavlink::common::MavBatteryMode"]],["impl Unpin for StorageUsageFlag",1,["mavlink::common::StorageUsageFlag"]],["impl Unpin for MavDoRepositionFlags",1,["mavlink::common::MavDoRepositionFlags"]],["impl Unpin for MavSeverity",1,["mavlink::common::MavSeverity"]],["impl Unpin for MavOdidArmStatus",1,["mavlink::common::MavOdidArmStatus"]],["impl Unpin for MavDataStream",1,["mavlink::common::MavDataStream"]],["impl Unpin for MavFtpErr",1,["mavlink::common::MavFtpErr"]],["impl Unpin for WinchActions",1,["mavlink::common::WinchActions"]],["impl Unpin for CameraTrackingTargetData",1,["mavlink::common::CameraTrackingTargetData"]],["impl Unpin for MavFrame",1,["mavlink::common::MavFrame"]],["impl Unpin for MavMissionType",1,["mavlink::common::MavMissionType"]],["impl Unpin for MavOdidOperatorIdType",1,["mavlink::common::MavOdidOperatorIdType"]],["impl Unpin for AdsbFlags",1,["mavlink::common::AdsbFlags"]],["impl Unpin for AdsbEmitterType",1,["mavlink::common::AdsbEmitterType"]],["impl Unpin for OrbitYawBehaviour",1,["mavlink::common::OrbitYawBehaviour"]],["impl Unpin for WifiConfigApMode",1,["mavlink::common::WifiConfigApMode"]],["impl Unpin for PositionTargetTypemask",1,["mavlink::common::PositionTargetTypemask"]],["impl Unpin for StorageStatus",1,["mavlink::common::StorageStatus"]],["impl Unpin for AttitudeTargetTypemask",1,["mavlink::common::AttitudeTargetTypemask"]],["impl Unpin for MavVtolState",1,["mavlink::common::MavVtolState"]],["impl Unpin for MavProtocolCapability",1,["mavlink::common::MavProtocolCapability"]],["impl Unpin for GimbalManagerCapFlags",1,["mavlink::common::GimbalManagerCapFlags"]],["impl Unpin for GimbalManagerFlags",1,["mavlink::common::GimbalManagerFlags"]],["impl Unpin for StorageType",1,["mavlink::common::StorageType"]],["impl Unpin for MotorTestOrder",1,["mavlink::common::MotorTestOrder"]],["impl Unpin for CellularNetworkFailedReason",1,["mavlink::common::CellularNetworkFailedReason"]],["impl Unpin for MavSysStatusSensorExtended",1,["mavlink::common::MavSysStatusSensorExtended"]],["impl Unpin for MavState",1,["mavlink::common::MavState"]],["impl Unpin for ActuatorOutputFunction",1,["mavlink::common::ActuatorOutputFunction"]],["impl Unpin for MavOdidDescType",1,["mavlink::common::MavOdidDescType"]],["impl Unpin for MavGeneratorStatusFlag",1,["mavlink::common::MavGeneratorStatusFlag"]],["impl Unpin for HilSensorUpdatedFlags",1,["mavlink::common::HilSensorUpdatedFlags"]],["impl Unpin for MavEventCurrentSequenceFlags",1,["mavlink::common::MavEventCurrentSequenceFlags"]],["impl Unpin for MavComponent",1,["mavlink::common::MavComponent"]],["impl Unpin for AdsbAltitudeType",1,["mavlink::common::AdsbAltitudeType"]],["impl Unpin for VideoStreamType",1,["mavlink::common::VideoStreamType"]],["impl Unpin for AisFlags",1,["mavlink::common::AisFlags"]],["impl Unpin for MavGoto",1,["mavlink::common::MavGoto"]],["impl Unpin for SerialControlDev",1,["mavlink::common::SerialControlDev"]],["impl Unpin for MavWinchStatusFlag",1,["mavlink::common::MavWinchStatusFlag"]],["impl Unpin for FenceMitigate",1,["mavlink::common::FenceMitigate"]],["impl Unpin for MavEstimatorType",1,["mavlink::common::MavEstimatorType"]],["impl Unpin for MavBatteryChargeState",1,["mavlink::common::MavBatteryChargeState"]],["impl Unpin for GpsFixType",1,["mavlink::common::GpsFixType"]],["impl Unpin for VideoStreamStatusFlags",1,["mavlink::common::VideoStreamStatusFlags"]],["impl Unpin for MavCollisionSrc",1,["mavlink::common::MavCollisionSrc"]],["impl Unpin for GimbalDeviceErrorFlags",1,["mavlink::common::GimbalDeviceErrorFlags"]],["impl Unpin for MavSensorOrientation",1,["mavlink::common::MavSensorOrientation"]],["impl Unpin for EstimatorStatusFlags",1,["mavlink::common::EstimatorStatusFlags"]],["impl Unpin for CameraZoomType",1,["mavlink::common::CameraZoomType"]],["impl Unpin for MavFtpOpcode",1,["mavlink::common::MavFtpOpcode"]],["impl Unpin for MavCmdAck",1,["mavlink::common::MavCmdAck"]],["impl Unpin for UtmFlightState",1,["mavlink::common::UtmFlightState"]],["impl Unpin for MissionState",1,["mavlink::common::MissionState"]],["impl Unpin for MavArmAuthDeniedReason",1,["mavlink::common::MavArmAuthDeniedReason"]],["impl Unpin for MavOdidUaType",1,["mavlink::common::MavOdidUaType"]],["impl Unpin for MavOdidStatus",1,["mavlink::common::MavOdidStatus"]],["impl Unpin for FenceAction",1,["mavlink::common::FenceAction"]],["impl Unpin for MavDistanceSensor",1,["mavlink::common::MavDistanceSensor"]],["impl Unpin for MavMode",1,["mavlink::common::MavMode"]],["impl Unpin for MavOdidVerAcc",1,["mavlink::common::MavOdidVerAcc"]],["impl Unpin for HighresImuUpdatedFlags",1,["mavlink::common::HighresImuUpdatedFlags"]],["impl Unpin for MagCalStatus",1,["mavlink::common::MagCalStatus"]],["impl Unpin for MavModeFlagDecodePosition",1,["mavlink::common::MavModeFlagDecodePosition"]],["impl Unpin for PreflightStorageParameterAction",1,["mavlink::common::PreflightStorageParameterAction"]],["impl Unpin for EscConnectionType",1,["mavlink::common::EscConnectionType"]],["impl Unpin for MavParamType",1,["mavlink::common::MavParamType"]],["impl Unpin for UavcanNodeHealth",1,["mavlink::common::UavcanNodeHealth"]],["impl Unpin for MavOdidHorAcc",1,["mavlink::common::MavOdidHorAcc"]],["impl Unpin for AisNavStatus",1,["mavlink::common::AisNavStatus"]],["impl Unpin for MavOdidClassEu",1,["mavlink::common::MavOdidClassEu"]],["impl Unpin for GimbalDeviceFlags",1,["mavlink::common::GimbalDeviceFlags"]],["impl Unpin for VtolTransitionHeading",1,["mavlink::common::VtolTransitionHeading"]],["impl Unpin for MavTunnelPayloadType",1,["mavlink::common::MavTunnelPayloadType"]],["impl Unpin for AutotuneAxis",1,["mavlink::common::AutotuneAxis"]],["impl Unpin for MavOdidTimeAcc",1,["mavlink::common::MavOdidTimeAcc"]],["impl Unpin for CameraTrackingMode",1,["mavlink::common::CameraTrackingMode"]],["impl Unpin for CellularConfigResponse",1,["mavlink::common::CellularConfigResponse"]],["impl Unpin for GpsInputIgnoreFlags",1,["mavlink::common::GpsInputIgnoreFlags"]],["impl Unpin for PreflightStorageMissionAction",1,["mavlink::common::PreflightStorageMissionAction"]],["impl Unpin for SetFocusType",1,["mavlink::common::SetFocusType"]],["impl Unpin for MavOdidIdType",1,["mavlink::common::MavOdidIdType"]],["impl Unpin for MavPowerStatus",1,["mavlink::common::MavPowerStatus"]],["impl Unpin for MavOdidOperatorLocationType",1,["mavlink::common::MavOdidOperatorLocationType"]],["impl Unpin for MavOdidSpeedAcc",1,["mavlink::common::MavOdidSpeedAcc"]],["impl Unpin for FenceBreach",1,["mavlink::common::FenceBreach"]],["impl Unpin for AisType",1,["mavlink::common::AisType"]],["impl Unpin for CellularStatusFlag",1,["mavlink::common::CellularStatusFlag"]],["impl Unpin for MavBatteryFunction",1,["mavlink::common::MavBatteryFunction"]],["impl Unpin for SerialControlFlag",1,["mavlink::common::SerialControlFlag"]],["impl Unpin for CameraMode",1,["mavlink::common::CameraMode"]],["impl Unpin for GimbalDeviceCapFlags",1,["mavlink::common::GimbalDeviceCapFlags"]],["impl Unpin for MavParamExtType",1,["mavlink::common::MavParamExtType"]],["impl Unpin for MavEventErrorReason",1,["mavlink::common::MavEventErrorReason"]],["impl Unpin for MavBatteryType",1,["mavlink::common::MavBatteryType"]],["impl Unpin for TuneFormat",1,["mavlink::common::TuneFormat"]],["impl Unpin for MavlinkDataStreamType",1,["mavlink::common::MavlinkDataStreamType"]],["impl Unpin for UavcanNodeMode",1,["mavlink::common::UavcanNodeMode"]],["impl Unpin for MavType",1,["mavlink::common::MavType"]],["impl Unpin for ParamAck",1,["mavlink::common::ParamAck"]],["impl Unpin for MavOdidHeightRef",1,["mavlink::common::MavOdidHeightRef"]],["impl Unpin for MavMountMode",1,["mavlink::common::MavMountMode"]],["impl Unpin for MavCollisionThreatLevel",1,["mavlink::common::MavCollisionThreatLevel"]],["impl Unpin for CellularNetworkRadioType",1,["mavlink::common::CellularNetworkRadioType"]],["impl Unpin for MavBatteryFault",1,["mavlink::common::MavBatteryFault"]],["impl Unpin for MavCollisionAction",1,["mavlink::common::MavCollisionAction"]],["impl Unpin for MavMissionResult",1,["mavlink::common::MavMissionResult"]],["impl Unpin for CanFilterOp",1,["mavlink::common::CanFilterOp"]],["impl Unpin for MavRoi",1,["mavlink::common::MavRoi"]],["impl Unpin for MavResult",1,["mavlink::common::MavResult"]],["impl Unpin for FirmwareVersionType",1,["mavlink::common::FirmwareVersionType"]],["impl Unpin for GripperActions",1,["mavlink::common::GripperActions"]],["impl Unpin for RtkBaselineCoordinateSystem",1,["mavlink::common::RtkBaselineCoordinateSystem"]],["impl Unpin for LandingTargetType",1,["mavlink::common::LandingTargetType"]],["impl Unpin for ActuatorConfiguration",1,["mavlink::common::ActuatorConfiguration"]],["impl Unpin for MavOdidCategoryEu",1,["mavlink::common::MavOdidCategoryEu"]],["impl Unpin for PrecisionLandMode",1,["mavlink::common::PrecisionLandMode"]],["impl Unpin for CameraCapFlags",1,["mavlink::common::CameraCapFlags"]],["impl Unpin for CompMetadataType",1,["mavlink::common::CompMetadataType"]],["impl Unpin for LOCAL_POSITION_NED_DATA",1,["mavlink::common::LOCAL_POSITION_NED_DATA"]],["impl Unpin for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_ALLOWED_AREA_DATA"]],["impl Unpin for MISSION_ACK_DATA",1,["mavlink::common::MISSION_ACK_DATA"]],["impl Unpin for SCALED_PRESSURE2_DATA",1,["mavlink::common::SCALED_PRESSURE2_DATA"]],["impl Unpin for SIM_STATE_DATA",1,["mavlink::common::SIM_STATE_DATA"]],["impl Unpin for HIGH_LATENCY2_DATA",1,["mavlink::common::HIGH_LATENCY2_DATA"]],["impl Unpin for STATUSTEXT_DATA",1,["mavlink::common::STATUSTEXT_DATA"]],["impl Unpin for ESTIMATOR_STATUS_DATA",1,["mavlink::common::ESTIMATOR_STATUS_DATA"]],["impl Unpin for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl Unpin for ESC_INFO_DATA",1,["mavlink::common::ESC_INFO_DATA"]],["impl Unpin for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::common::LOCAL_POSITION_NED_COV_DATA"]],["impl Unpin for MISSION_ITEM_DATA",1,["mavlink::common::MISSION_ITEM_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl Unpin for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_READ_DATA"]],["impl Unpin for MISSION_CLEAR_ALL_DATA",1,["mavlink::common::MISSION_CLEAR_ALL_DATA"]],["impl Unpin for TERRAIN_CHECK_DATA",1,["mavlink::common::TERRAIN_CHECK_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl Unpin for PARAM_EXT_SET_DATA",1,["mavlink::common::PARAM_EXT_SET_DATA"]],["impl Unpin for CAN_FRAME_DATA",1,["mavlink::common::CAN_FRAME_DATA"]],["impl Unpin for COMPONENT_INFORMATION_DATA",1,["mavlink::common::COMPONENT_INFORMATION_DATA"]],["impl Unpin for GPS_INJECT_DATA_DATA",1,["mavlink::common::GPS_INJECT_DATA_DATA"]],["impl Unpin for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::common::CURRENT_EVENT_SEQUENCE_DATA"]],["impl Unpin for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::common::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl Unpin for FOLLOW_TARGET_DATA",1,["mavlink::common::FOLLOW_TARGET_DATA"]],["impl Unpin for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::common::ONBOARD_COMPUTER_STATUS_DATA"]],["impl Unpin for HIL_GPS_DATA",1,["mavlink::common::HIL_GPS_DATA"]],["impl Unpin for CAN_FILTER_MODIFY_DATA",1,["mavlink::common::CAN_FILTER_MODIFY_DATA"]],["impl Unpin for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl Unpin for LOG_DATA_DATA",1,["mavlink::common::LOG_DATA_DATA"]],["impl Unpin for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::common::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl Unpin for HIGH_LATENCY_DATA",1,["mavlink::common::HIGH_LATENCY_DATA"]],["impl Unpin for PLAY_TUNE_DATA",1,["mavlink::common::PLAY_TUNE_DATA"]],["impl Unpin for RC_CHANNELS_SCALED_DATA",1,["mavlink::common::RC_CHANNELS_SCALED_DATA"]],["impl Unpin for RAW_IMU_DATA",1,["mavlink::common::RAW_IMU_DATA"]],["impl Unpin for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl Unpin for MOUNT_ORIENTATION_DATA",1,["mavlink::common::MOUNT_ORIENTATION_DATA"]],["impl Unpin for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl Unpin for EVENT_DATA",1,["mavlink::common::EVENT_DATA"]],["impl Unpin for EFI_STATUS_DATA",1,["mavlink::common::EFI_STATUS_DATA"]],["impl Unpin for REQUEST_EVENT_DATA",1,["mavlink::common::REQUEST_EVENT_DATA"]],["impl Unpin for HYGROMETER_SENSOR_DATA",1,["mavlink::common::HYGROMETER_SENSOR_DATA"]],["impl Unpin for REQUEST_DATA_STREAM_DATA",1,["mavlink::common::REQUEST_DATA_STREAM_DATA"]],["impl Unpin for V2_EXTENSION_DATA",1,["mavlink::common::V2_EXTENSION_DATA"]],["impl Unpin for DEBUG_VECT_DATA",1,["mavlink::common::DEBUG_VECT_DATA"]],["impl Unpin for LOGGING_ACK_DATA",1,["mavlink::common::LOGGING_ACK_DATA"]],["impl Unpin for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl Unpin for ISBD_LINK_STATUS_DATA",1,["mavlink::common::ISBD_LINK_STATUS_DATA"]],["impl Unpin for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::common::CONTROL_SYSTEM_STATE_DATA"]],["impl Unpin for OBSTACLE_DISTANCE_DATA",1,["mavlink::common::OBSTACLE_DISTANCE_DATA"]],["impl Unpin for SCALED_IMU2_DATA",1,["mavlink::common::SCALED_IMU2_DATA"]],["impl Unpin for PARAM_VALUE_DATA",1,["mavlink::common::PARAM_VALUE_DATA"]],["impl Unpin for SERVO_OUTPUT_RAW_DATA",1,["mavlink::common::SERVO_OUTPUT_RAW_DATA"]],["impl Unpin for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl Unpin for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl Unpin for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::common::GIMBAL_MANAGER_STATUS_DATA"]],["impl Unpin for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::common::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl Unpin for PARAM_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_REQUEST_LIST_DATA"]],["impl Unpin for UAVCAN_NODE_STATUS_DATA",1,["mavlink::common::UAVCAN_NODE_STATUS_DATA"]],["impl Unpin for PARAM_SET_DATA",1,["mavlink::common::PARAM_SET_DATA"]],["impl Unpin for SCALED_PRESSURE_DATA",1,["mavlink::common::SCALED_PRESSURE_DATA"]],["impl Unpin for SYSTEM_TIME_DATA",1,["mavlink::common::SYSTEM_TIME_DATA"]],["impl Unpin for ENCAPSULATED_DATA_DATA",1,["mavlink::common::ENCAPSULATED_DATA_DATA"]],["impl Unpin for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::ACTUATOR_CONTROL_TARGET_DATA"]],["impl Unpin for SET_HOME_POSITION_DATA",1,["mavlink::common::SET_HOME_POSITION_DATA"]],["impl Unpin for SYS_STATUS_DATA",1,["mavlink::common::SYS_STATUS_DATA"]],["impl Unpin for TIMESYNC_DATA",1,["mavlink::common::TIMESYNC_DATA"]],["impl Unpin for LOG_REQUEST_END_DATA",1,["mavlink::common::LOG_REQUEST_END_DATA"]],["impl Unpin for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl Unpin for AUTOPILOT_VERSION_DATA",1,["mavlink::common::AUTOPILOT_VERSION_DATA"]],["impl Unpin for MEMORY_VECT_DATA",1,["mavlink::common::MEMORY_VECT_DATA"]],["impl Unpin for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::common::VIDEO_STREAM_INFORMATION_DATA"]],["impl Unpin for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_DATA"]],["impl Unpin for GPS_INPUT_DATA",1,["mavlink::common::GPS_INPUT_DATA"]],["impl Unpin for COLLISION_DATA",1,["mavlink::common::COLLISION_DATA"]],["impl Unpin for SCALED_IMU3_DATA",1,["mavlink::common::SCALED_IMU3_DATA"]],["impl Unpin for CAMERA_INFORMATION_DATA",1,["mavlink::common::CAMERA_INFORMATION_DATA"]],["impl Unpin for SET_ATTITUDE_TARGET_DATA",1,["mavlink::common::SET_ATTITUDE_TARGET_DATA"]],["impl Unpin for PARAM_EXT_ACK_DATA",1,["mavlink::common::PARAM_EXT_ACK_DATA"]],["impl Unpin for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::common::ORBIT_EXECUTION_STATUS_DATA"]],["impl Unpin for SERIAL_CONTROL_DATA",1,["mavlink::common::SERIAL_CONTROL_DATA"]],["impl Unpin for LOGGING_DATA_DATA",1,["mavlink::common::LOGGING_DATA_DATA"]],["impl Unpin for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl Unpin for ALTITUDE_DATA",1,["mavlink::common::ALTITUDE_DATA"]],["impl Unpin for RC_CHANNELS_DATA",1,["mavlink::common::RC_CHANNELS_DATA"]],["impl Unpin for RESOURCE_REQUEST_DATA",1,["mavlink::common::RESOURCE_REQUEST_DATA"]],["impl Unpin for COMPONENT_METADATA_DATA",1,["mavlink::common::COMPONENT_METADATA_DATA"]],["impl Unpin for SUPPORTED_TUNES_DATA",1,["mavlink::common::SUPPORTED_TUNES_DATA"]],["impl Unpin for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_LOCATION_DATA"]],["impl Unpin for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl Unpin for BUTTON_CHANGE_DATA",1,["mavlink::common::BUTTON_CHANGE_DATA"]],["impl Unpin for GLOBAL_POSITION_INT_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_DATA"]],["impl Unpin for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::common::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl Unpin for ATTITUDE_QUATERNION_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_DATA"]],["impl Unpin for LANDING_TARGET_DATA",1,["mavlink::common::LANDING_TARGET_DATA"]],["impl Unpin for LOG_ENTRY_DATA",1,["mavlink::common::LOG_ENTRY_DATA"]],["impl Unpin for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::POSITION_TARGET_LOCAL_NED_DATA"]],["impl Unpin for SET_MODE_DATA",1,["mavlink::common::SET_MODE_DATA"]],["impl Unpin for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::common::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl Unpin for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::common::VICON_POSITION_ESTIMATE_DATA"]],["impl Unpin for DEBUG_DATA",1,["mavlink::common::DEBUG_DATA"]],["impl Unpin for COMMAND_INT_DATA",1,["mavlink::common::COMMAND_INT_DATA"]],["impl Unpin for LOG_REQUEST_LIST_DATA",1,["mavlink::common::LOG_REQUEST_LIST_DATA"]],["impl Unpin for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_COV_DATA"]],["impl Unpin for UTM_GLOBAL_POSITION_DATA",1,["mavlink::common::UTM_GLOBAL_POSITION_DATA"]],["impl Unpin for MISSION_SET_CURRENT_DATA",1,["mavlink::common::MISSION_SET_CURRENT_DATA"]],["impl Unpin for AIS_VESSEL_DATA",1,["mavlink::common::AIS_VESSEL_DATA"]],["impl Unpin for ATT_POS_MOCAP_DATA",1,["mavlink::common::ATT_POS_MOCAP_DATA"]],["impl Unpin for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::common::HIL_RC_INPUTS_RAW_DATA"]],["impl Unpin for LOG_REQUEST_DATA_DATA",1,["mavlink::common::LOG_REQUEST_DATA_DATA"]],["impl Unpin for TUNNEL_DATA",1,["mavlink::common::TUNNEL_DATA"]],["impl Unpin for NAMED_VALUE_FLOAT_DATA",1,["mavlink::common::NAMED_VALUE_FLOAT_DATA"]],["impl Unpin for AUTH_KEY_DATA",1,["mavlink::common::AUTH_KEY_DATA"]],["impl Unpin for TERRAIN_DATA_DATA",1,["mavlink::common::TERRAIN_DATA_DATA"]],["impl Unpin for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl Unpin for CELLULAR_CONFIG_DATA",1,["mavlink::common::CELLULAR_CONFIG_DATA"]],["impl Unpin for HEARTBEAT_DATA",1,["mavlink::common::HEARTBEAT_DATA"]],["impl Unpin for MISSION_COUNT_DATA",1,["mavlink::common::MISSION_COUNT_DATA"]],["impl Unpin for PING_DATA",1,["mavlink::common::PING_DATA"]],["impl Unpin for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl Unpin for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_COV_DATA"]],["impl Unpin for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::common::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl Unpin for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl Unpin for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::common::NAV_CONTROLLER_OUTPUT_DATA"]],["impl Unpin for PLAY_TUNE_V2_DATA",1,["mavlink::common::PLAY_TUNE_V2_DATA"]],["impl Unpin for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::VISION_POSITION_ESTIMATE_DATA"]],["impl Unpin for STORAGE_INFORMATION_DATA",1,["mavlink::common::STORAGE_INFORMATION_DATA"]],["impl Unpin for SETUP_SIGNING_DATA",1,["mavlink::common::SETUP_SIGNING_DATA"]],["impl Unpin for LOGGING_DATA_ACKED_DATA",1,["mavlink::common::LOGGING_DATA_ACKED_DATA"]],["impl Unpin for LOG_ERASE_DATA",1,["mavlink::common::LOG_ERASE_DATA"]],["impl Unpin for GPS_RAW_INT_DATA",1,["mavlink::common::GPS_RAW_INT_DATA"]],["impl Unpin for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::common::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl Unpin for MISSION_ITEM_INT_DATA",1,["mavlink::common::MISSION_ITEM_INT_DATA"]],["impl Unpin for WINCH_STATUS_DATA",1,["mavlink::common::WINCH_STATUS_DATA"]],["impl Unpin for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::common::FILE_TRANSFER_PROTOCOL_DATA"]],["impl Unpin for GPS2_RAW_DATA",1,["mavlink::common::GPS2_RAW_DATA"]],["impl Unpin for GPS_RTK_DATA",1,["mavlink::common::GPS_RTK_DATA"]],["impl Unpin for VIBRATION_DATA",1,["mavlink::common::VIBRATION_DATA"]],["impl Unpin for HIL_STATE_DATA",1,["mavlink::common::HIL_STATE_DATA"]],["impl Unpin for GPS_STATUS_DATA",1,["mavlink::common::GPS_STATUS_DATA"]],["impl Unpin for SCALED_IMU_DATA",1,["mavlink::common::SCALED_IMU_DATA"]],["impl Unpin for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::common::HIL_ACTUATOR_CONTROLS_DATA"]],["impl Unpin for MISSION_REQUEST_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_LIST_DATA"]],["impl Unpin for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_LIST_DATA"]],["impl Unpin for PARAM_EXT_VALUE_DATA",1,["mavlink::common::PARAM_EXT_VALUE_DATA"]],["impl Unpin for CELLULAR_STATUS_DATA",1,["mavlink::common::CELLULAR_STATUS_DATA"]],["impl Unpin for CANFD_FRAME_DATA",1,["mavlink::common::CANFD_FRAME_DATA"]],["impl Unpin for GPS_RTCM_DATA_DATA",1,["mavlink::common::GPS_RTCM_DATA_DATA"]],["impl Unpin for MANUAL_CONTROL_DATA",1,["mavlink::common::MANUAL_CONTROL_DATA"]],["impl Unpin for COMMAND_ACK_DATA",1,["mavlink::common::COMMAND_ACK_DATA"]],["impl Unpin for RADIO_STATUS_DATA",1,["mavlink::common::RADIO_STATUS_DATA"]],["impl Unpin for TERRAIN_REQUEST_DATA",1,["mavlink::common::TERRAIN_REQUEST_DATA"]],["impl Unpin for VIDEO_STREAM_STATUS_DATA",1,["mavlink::common::VIDEO_STREAM_STATUS_DATA"]],["impl Unpin for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::common::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl Unpin for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::common::CAMERA_IMAGE_CAPTURED_DATA"]],["impl Unpin for WHEEL_DISTANCE_DATA",1,["mavlink::common::WHEEL_DISTANCE_DATA"]],["impl Unpin for MISSION_CURRENT_DATA",1,["mavlink::common::MISSION_CURRENT_DATA"]],["impl Unpin for VFR_HUD_DATA",1,["mavlink::common::VFR_HUD_DATA"]],["impl Unpin for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Unpin for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl Unpin for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::common::VISION_SPEED_ESTIMATE_DATA"]],["impl Unpin for BATTERY_STATUS_DATA",1,["mavlink::common::BATTERY_STATUS_DATA"]],["impl Unpin for FENCE_STATUS_DATA",1,["mavlink::common::FENCE_STATUS_DATA"]],["impl Unpin for PROTOCOL_VERSION_DATA",1,["mavlink::common::PROTOCOL_VERSION_DATA"]],["impl Unpin for RAW_PRESSURE_DATA",1,["mavlink::common::RAW_PRESSURE_DATA"]],["impl Unpin for SCALED_PRESSURE3_DATA",1,["mavlink::common::SCALED_PRESSURE3_DATA"]],["impl Unpin for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::GPS_GLOBAL_ORIGIN_DATA"]],["impl Unpin for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl Unpin for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl Unpin for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::common::RESPONSE_EVENT_ERROR_DATA"]],["impl Unpin for LINK_NODE_STATUS_DATA",1,["mavlink::common::LINK_NODE_STATUS_DATA"]],["impl Unpin for DATA_STREAM_DATA",1,["mavlink::common::DATA_STREAM_DATA"]],["impl Unpin for HIL_SENSOR_DATA",1,["mavlink::common::HIL_SENSOR_DATA"]],["impl Unpin for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::common::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl Unpin for WIND_COV_DATA",1,["mavlink::common::WIND_COV_DATA"]],["impl Unpin for OPTICAL_FLOW_RAD_DATA",1,["mavlink::common::OPTICAL_FLOW_RAD_DATA"]],["impl Unpin for TERRAIN_REPORT_DATA",1,["mavlink::common::TERRAIN_REPORT_DATA"]],["impl Unpin for PARAM_MAP_RC_DATA",1,["mavlink::common::PARAM_MAP_RC_DATA"]],["impl Unpin for CAMERA_TRIGGER_DATA",1,["mavlink::common::CAMERA_TRIGGER_DATA"]],["impl Unpin for NAMED_VALUE_INT_DATA",1,["mavlink::common::NAMED_VALUE_INT_DATA"]],["impl Unpin for CAMERA_SETTINGS_DATA",1,["mavlink::common::CAMERA_SETTINGS_DATA"]],["impl Unpin for WIFI_CONFIG_AP_DATA",1,["mavlink::common::WIFI_CONFIG_AP_DATA"]],["impl Unpin for HIGHRES_IMU_DATA",1,["mavlink::common::HIGHRES_IMU_DATA"]],["impl Unpin for FLIGHT_INFORMATION_DATA",1,["mavlink::common::FLIGHT_INFORMATION_DATA"]],["impl Unpin for MAG_CAL_REPORT_DATA",1,["mavlink::common::MAG_CAL_REPORT_DATA"]],["impl Unpin for ATTITUDE_DATA",1,["mavlink::common::ATTITUDE_DATA"]],["impl Unpin for MISSION_ITEM_REACHED_DATA",1,["mavlink::common::MISSION_ITEM_REACHED_DATA"]],["impl Unpin for POWER_STATUS_DATA",1,["mavlink::common::POWER_STATUS_DATA"]],["impl Unpin for MISSION_REQUEST_INT_DATA",1,["mavlink::common::MISSION_REQUEST_INT_DATA"]],["impl Unpin for SMART_BATTERY_INFO_DATA",1,["mavlink::common::SMART_BATTERY_INFO_DATA"]],["impl Unpin for PARAM_REQUEST_READ_DATA",1,["mavlink::common::PARAM_REQUEST_READ_DATA"]],["impl Unpin for COMMAND_LONG_DATA",1,["mavlink::common::COMMAND_LONG_DATA"]],["impl Unpin for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl Unpin for OPTICAL_FLOW_DATA",1,["mavlink::common::OPTICAL_FLOW_DATA"]],["impl Unpin for HIL_CONTROLS_DATA",1,["mavlink::common::HIL_CONTROLS_DATA"]],["impl Unpin for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::common::CAMERA_CAPTURE_STATUS_DATA"]],["impl Unpin for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl Unpin for COMMAND_CANCEL_DATA",1,["mavlink::common::COMMAND_CANCEL_DATA"]],["impl Unpin for ODOMETRY_DATA",1,["mavlink::common::ODOMETRY_DATA"]],["impl Unpin for ADSB_VEHICLE_DATA",1,["mavlink::common::ADSB_VEHICLE_DATA"]],["impl Unpin for MESSAGE_INTERVAL_DATA",1,["mavlink::common::MESSAGE_INTERVAL_DATA"]],["impl Unpin for DISTANCE_SENSOR_DATA",1,["mavlink::common::DISTANCE_SENSOR_DATA"]],["impl Unpin for RC_CHANNELS_RAW_DATA",1,["mavlink::common::RC_CHANNELS_RAW_DATA"]],["impl Unpin for HOME_POSITION_DATA",1,["mavlink::common::HOME_POSITION_DATA"]],["impl Unpin for MISSION_REQUEST_DATA",1,["mavlink::common::MISSION_REQUEST_DATA"]],["impl Unpin for HIL_STATE_QUATERNION_DATA",1,["mavlink::common::HIL_STATE_QUATERNION_DATA"]],["impl Unpin for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::common::RC_CHANNELS_OVERRIDE_DATA"]],["impl Unpin for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl Unpin for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::common::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl Unpin for EXTENDED_SYS_STATE_DATA",1,["mavlink::common::EXTENDED_SYS_STATE_DATA"]],["impl Unpin for ATTITUDE_TARGET_DATA",1,["mavlink::common::ATTITUDE_TARGET_DATA"]],["impl Unpin for MANUAL_SETPOINT_DATA",1,["mavlink::common::MANUAL_SETPOINT_DATA"]],["impl Unpin for UAVCAN_NODE_INFO_DATA",1,["mavlink::common::UAVCAN_NODE_INFO_DATA"]],["impl Unpin for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl Unpin for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl Unpin for RAW_RPM_DATA",1,["mavlink::common::RAW_RPM_DATA"]],["impl Unpin for GPS2_RTK_DATA",1,["mavlink::common::GPS2_RTK_DATA"]],["impl Unpin for HIL_OPTICAL_FLOW_DATA",1,["mavlink::common::HIL_OPTICAL_FLOW_DATA"]],["impl Unpin for CAMERA_FOV_STATUS_DATA",1,["mavlink::common::CAMERA_FOV_STATUS_DATA"]],["impl Unpin for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::common::DEBUG_FLOAT_ARRAY_DATA"]],["impl Unpin for GENERATOR_STATUS_DATA",1,["mavlink::common::GENERATOR_STATUS_DATA"]],["impl Unpin for ESC_STATUS_DATA",1,["mavlink::common::ESC_STATUS_DATA"]],["impl Unpin for MavMessage",1,["mavlink::common::MavMessage"]],["impl<'a> Unpin for Bytes<'a>",1,["mavlink::bytes::Bytes"]],["impl<'a> Unpin for BytesMut<'a>",1,["mavlink::bytes_mut::BytesMut"]],["impl Unpin for ParserError",1,["mavlink::error::ParserError"]],["impl Unpin for MessageReadError",1,["mavlink::error::MessageReadError"]],["impl Unpin for MessageWriteError",1,["mavlink::error::MessageWriteError"]],["impl Unpin for MavHeader",1,["mavlink::MavHeader"]],["impl Unpin for MavlinkVersion",1,["mavlink::MavlinkVersion"]],["impl<M> Unpin for MavFrame<M>where\n M: Unpin,",1,["mavlink::MavFrame"]],["impl Unpin for MAVLinkV1MessageRaw",1,["mavlink::MAVLinkV1MessageRaw"]],["impl Unpin for MAVLinkV2MessageRaw",1,["mavlink::MAVLinkV2MessageRaw"]]], "num_traits":[["impl Unpin for FloatErrorKind",1,["num_traits::FloatErrorKind"]],["impl Unpin for ParseFloatError",1,["num_traits::ParseFloatError"]]], "proc_macro2":[["impl Unpin for DelimSpan",1,["proc_macro2::extra::DelimSpan"]],["impl Unpin for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl Unpin for TokenStream",1,["proc_macro2::TokenStream"]],["impl Unpin for LexError",1,["proc_macro2::LexError"]],["impl Unpin for Span",1,["proc_macro2::Span"]],["impl Unpin for TokenTree",1,["proc_macro2::TokenTree"]],["impl Unpin for Group",1,["proc_macro2::Group"]],["impl Unpin for Delimiter",1,["proc_macro2::Delimiter"]],["impl Unpin for Punct",1,["proc_macro2::Punct"]],["impl Unpin for Spacing",1,["proc_macro2::Spacing"]],["impl Unpin for Ident",1,["proc_macro2::Ident"]],["impl Unpin for Literal",1,["proc_macro2::Literal"]]], "serde":[["impl Unpin for Error",1,["serde::de::value::Error"]],["impl<E> Unpin for UnitDeserializer<E>where\n E: Unpin,",1,["serde::de::value::UnitDeserializer"]],["impl<E> Unpin for BoolDeserializer<E>where\n E: Unpin,",1,["serde::de::value::BoolDeserializer"]],["impl<E> Unpin for I8Deserializer<E>where\n E: Unpin,",1,["serde::de::value::I8Deserializer"]],["impl<E> Unpin for I16Deserializer<E>where\n E: Unpin,",1,["serde::de::value::I16Deserializer"]],["impl<E> Unpin for I32Deserializer<E>where\n E: Unpin,",1,["serde::de::value::I32Deserializer"]],["impl<E> Unpin for I64Deserializer<E>where\n E: Unpin,",1,["serde::de::value::I64Deserializer"]],["impl<E> Unpin for I128Deserializer<E>where\n E: Unpin,",1,["serde::de::value::I128Deserializer"]],["impl<E> Unpin for IsizeDeserializer<E>where\n E: Unpin,",1,["serde::de::value::IsizeDeserializer"]],["impl<E> Unpin for U8Deserializer<E>where\n E: Unpin,",1,["serde::de::value::U8Deserializer"]],["impl<E> Unpin for U16Deserializer<E>where\n E: Unpin,",1,["serde::de::value::U16Deserializer"]],["impl<E> Unpin for U64Deserializer<E>where\n E: Unpin,",1,["serde::de::value::U64Deserializer"]],["impl<E> Unpin for U128Deserializer<E>where\n E: Unpin,",1,["serde::de::value::U128Deserializer"]],["impl<E> Unpin for UsizeDeserializer<E>where\n E: Unpin,",1,["serde::de::value::UsizeDeserializer"]],["impl<E> Unpin for F32Deserializer<E>where\n E: Unpin,",1,["serde::de::value::F32Deserializer"]],["impl<E> Unpin for F64Deserializer<E>where\n E: Unpin,",1,["serde::de::value::F64Deserializer"]],["impl<E> Unpin for CharDeserializer<E>where\n E: Unpin,",1,["serde::de::value::CharDeserializer"]],["impl<E> Unpin for U32Deserializer<E>where\n E: Unpin,",1,["serde::de::value::U32Deserializer"]],["impl<'a, E> Unpin for StrDeserializer<'a, E>where\n E: Unpin,",1,["serde::de::value::StrDeserializer"]],["impl<'de, E> Unpin for BorrowedStrDeserializer<'de, E>where\n E: Unpin,",1,["serde::de::value::BorrowedStrDeserializer"]],["impl<E> Unpin for StringDeserializer<E>where\n E: Unpin,",1,["serde::de::value::StringDeserializer"]],["impl<'a, E> Unpin for CowStrDeserializer<'a, E>where\n E: Unpin,",1,["serde::de::value::CowStrDeserializer"]],["impl<'a, E> Unpin for BytesDeserializer<'a, E>where\n E: Unpin,",1,["serde::de::value::BytesDeserializer"]],["impl<'de, E> Unpin for BorrowedBytesDeserializer<'de, E>where\n E: Unpin,",1,["serde::de::value::BorrowedBytesDeserializer"]],["impl<I, E> Unpin for SeqDeserializer<I, E>where\n E: Unpin,\n I: Unpin,",1,["serde::de::value::SeqDeserializer"]],["impl<A> Unpin for SeqAccessDeserializer<A>where\n A: Unpin,",1,["serde::de::value::SeqAccessDeserializer"]],["impl<'de, I, E> Unpin for MapDeserializer<'de, I, E>where\n E: Unpin,\n I: Unpin,\n <<I as Iterator>::Item as Pair>::Second: Unpin,",1,["serde::de::value::MapDeserializer"]],["impl<A> Unpin for MapAccessDeserializer<A>where\n A: Unpin,",1,["serde::de::value::MapAccessDeserializer"]],["impl<A> Unpin for EnumAccessDeserializer<A>where\n A: Unpin,",1,["serde::de::value::EnumAccessDeserializer"]],["impl Unpin for IgnoredAny",1,["serde::de::ignored_any::IgnoredAny"]],["impl<'a> Unpin for Unexpected<'a>",1,["serde::de::Unexpected"]],["impl<Ok, Error> Unpin for Impossible<Ok, Error>where\n Error: Unpin,\n Ok: Unpin,",1,["serde::ser::impossible::Impossible"]]], diff --git a/trait.impl/core/ops/arith/trait.Sub.js b/trait.impl/core/ops/arith/trait.Sub.js index 065d65568f..3fcde026d6 100644 --- a/trait.impl/core/ops/arith/trait.Sub.js +++ b/trait.impl/core/ops/arith/trait.Sub.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mavlink":[["impl Sub for EscFailureFlags"],["impl Sub for LimitModule"],["impl Sub for TuneFormat"],["impl Sub for SerialControlFlag"],["impl Sub for MavProtocolCapability"],["impl Sub for HlFailureFlag"],["impl Sub for SerialControlFlag"],["impl Sub for MavWinchStatusFlag"],["impl Sub for AttitudeTargetTypemask"],["impl Sub for PositionTargetTypemask"],["impl Sub for UavionixAdsbRfHealth"],["impl Sub for EstimatorStatusFlags"],["impl Sub for MavModeFlag"],["impl Sub for UtmDataAvailFlags"],["impl Sub for MavWinchStatusFlag"],["impl Sub for SerialControlFlag"],["impl Sub for GimbalDeviceErrorFlags"],["impl Sub for EstimatorStatusFlags"],["impl Sub for HighresImuUpdatedFlags"],["impl Sub for AisFlags"],["impl Sub for CameraCapFlags"],["impl Sub for GimbalDeviceCapFlags"],["impl Sub for GimbalManagerCapFlags"],["impl Sub for MavModeFlag"],["impl Sub for AttitudeTargetTypemask"],["impl Sub for AdsbFlags"],["impl Sub for HilSensorUpdatedFlags"],["impl Sub for AisFlags"],["impl Sub for CameraCapFlags"],["impl Sub for GimbalDeviceErrorFlags"],["impl Sub for MavSysStatusSensor"],["impl Sub for EstimatorStatusFlags"],["impl Sub for AdsbFlags"],["impl Sub for GimbalDeviceCapFlags"],["impl Sub for GimbalDeviceFlags"],["impl Sub for MavWinchStatusFlag"],["impl Sub for MavEventCurrentSequenceFlags"],["impl Sub for MavSysStatusSensor"],["impl Sub for GpsInputIgnoreFlags"],["impl Sub for MavProtocolCapability"],["impl Sub for HlFailureFlag"],["impl Sub for HighresImuUpdatedFlags"],["impl Sub for HighresImuUpdatedFlags"],["impl Sub for GpsInputIgnoreFlags"],["impl Sub for MavProtocolCapability"],["impl Sub for PositionTargetTypemask"],["impl Sub for UavionixAdsbRfHealth"],["impl Sub for UtmDataAvailFlags"],["impl Sub for HilSensorUpdatedFlags"],["impl Sub for GimbalDeviceCapFlags"],["impl Sub for GimbalManagerCapFlags"],["impl Sub for UavionixAdsbOutRfSelect"],["impl Sub for GimbalDeviceFlags"],["impl Sub for HilSensorUpdatedFlags"],["impl Sub for MavEventCurrentSequenceFlags"],["impl Sub for MavGeneratorStatusFlag"],["impl Sub for EscFailureFlags"],["impl Sub for AdsbFlags"],["impl Sub for UavionixAdsbOutDynamicState"],["impl Sub for GimbalManagerCapFlags"],["impl Sub for MavGeneratorStatusFlag"],["impl Sub for MavSysStatusSensor"],["impl Sub for MavPowerStatus"],["impl Sub for GimbalDeviceFlags"],["impl Sub for TuneFormat"],["impl Sub for HlFailureFlag"],["impl Sub for UavionixAdsbOutDynamicState"],["impl Sub for AisFlags"],["impl Sub for GoproHeartbeatFlags"],["impl Sub for PositionTargetTypemask"],["impl Sub for TuneFormat"],["impl Sub for CameraCapFlags"],["impl Sub for MavPowerStatus"],["impl Sub for UavionixAdsbOutRfSelect"],["impl Sub for EkfStatusFlags"],["impl Sub for MavPowerStatus"],["impl Sub for GpsInputIgnoreFlags"],["impl Sub for AttitudeTargetTypemask"],["impl Sub for RallyFlags"],["impl Sub for MavModeFlag"],["impl Sub for MavGeneratorStatusFlag"],["impl Sub for MavEventCurrentSequenceFlags"],["impl Sub for UtmDataAvailFlags"],["impl Sub for EscFailureFlags"],["impl Sub for GimbalDeviceErrorFlags"]] +"mavlink":[["impl Sub for MavEventCurrentSequenceFlags"],["impl Sub for EstimatorStatusFlags"],["impl Sub for HighresImuUpdatedFlags"],["impl Sub for MavSysStatusSensor"],["impl Sub for MavModeFlag"],["impl Sub for PositionTargetTypemask"],["impl Sub for MavGeneratorStatusFlag"],["impl Sub for MavProtocolCapability"],["impl Sub for UavionixAdsbOutRfSelect"],["impl Sub for UavionixAdsbRfHealth"],["impl Sub for SerialControlFlag"],["impl Sub for MavSysStatusSensor"],["impl Sub for GimbalDeviceErrorFlags"],["impl Sub for PositionTargetTypemask"],["impl Sub for GimbalDeviceFlags"],["impl Sub for MavPowerStatus"],["impl Sub for HilSensorUpdatedFlags"],["impl Sub for EkfStatusFlags"],["impl Sub for TuneFormat"],["impl Sub for GimbalManagerCapFlags"],["impl Sub for MavEventCurrentSequenceFlags"],["impl Sub for MavProtocolCapability"],["impl Sub for EscFailureFlags"],["impl Sub for GimbalDeviceErrorFlags"],["impl Sub for CameraCapFlags"],["impl Sub for HlFailureFlag"],["impl Sub for UtmDataAvailFlags"],["impl Sub for AisFlags"],["impl Sub for HilSensorUpdatedFlags"],["impl Sub for MavPowerStatus"],["impl Sub for AisFlags"],["impl Sub for AdsbFlags"],["impl Sub for UavionixAdsbOutDynamicState"],["impl Sub for AttitudeTargetTypemask"],["impl Sub for TuneFormat"],["impl Sub for SerialControlFlag"],["impl Sub for RallyFlags"],["impl Sub for AttitudeTargetTypemask"],["impl Sub for EstimatorStatusFlags"],["impl Sub for GpsInputIgnoreFlags"],["impl Sub for GimbalManagerCapFlags"],["impl Sub for MavModeFlag"],["impl Sub for MavWinchStatusFlag"],["impl Sub for MavWinchStatusFlag"],["impl Sub for GimbalDeviceFlags"],["impl Sub for MavGeneratorStatusFlag"],["impl Sub for HighresImuUpdatedFlags"],["impl Sub for SerialControlFlag"],["impl Sub for HilSensorUpdatedFlags"],["impl Sub for MavGeneratorStatusFlag"],["impl Sub for MavPowerStatus"],["impl Sub for HighresImuUpdatedFlags"],["impl Sub for LimitModule"],["impl Sub for GimbalDeviceFlags"],["impl Sub for GimbalManagerCapFlags"],["impl Sub for GoproHeartbeatFlags"],["impl Sub for EstimatorStatusFlags"],["impl Sub for UavionixAdsbOutDynamicState"],["impl Sub for EscFailureFlags"],["impl Sub for HlFailureFlag"],["impl Sub for MavModeFlag"],["impl Sub for UavionixAdsbOutRfSelect"],["impl Sub for HlFailureFlag"],["impl Sub for MavWinchStatusFlag"],["impl Sub for AdsbFlags"],["impl Sub for MavEventCurrentSequenceFlags"],["impl Sub for UtmDataAvailFlags"],["impl Sub for GimbalDeviceErrorFlags"],["impl Sub for TuneFormat"],["impl Sub for GimbalDeviceCapFlags"],["impl Sub for CameraCapFlags"],["impl Sub for AisFlags"],["impl Sub for MavProtocolCapability"],["impl Sub for UavionixAdsbRfHealth"],["impl Sub for MavSysStatusSensor"],["impl Sub for AdsbFlags"],["impl Sub for GpsInputIgnoreFlags"],["impl Sub for UtmDataAvailFlags"],["impl Sub for GimbalDeviceCapFlags"],["impl Sub for GpsInputIgnoreFlags"],["impl Sub for AttitudeTargetTypemask"],["impl Sub for PositionTargetTypemask"],["impl Sub for EscFailureFlags"],["impl Sub for CameraCapFlags"],["impl Sub for GimbalDeviceCapFlags"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/ops/arith/trait.SubAssign.js b/trait.impl/core/ops/arith/trait.SubAssign.js index 58bd983050..5bab6c4f6f 100644 --- a/trait.impl/core/ops/arith/trait.SubAssign.js +++ b/trait.impl/core/ops/arith/trait.SubAssign.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mavlink":[["impl SubAssign for UavionixAdsbOutDynamicState"],["impl SubAssign for UtmDataAvailFlags"],["impl SubAssign for RallyFlags"],["impl SubAssign for MavEventCurrentSequenceFlags"],["impl SubAssign for EscFailureFlags"],["impl SubAssign for MavEventCurrentSequenceFlags"],["impl SubAssign for AisFlags"],["impl SubAssign for GimbalManagerCapFlags"],["impl SubAssign for TuneFormat"],["impl SubAssign for SerialControlFlag"],["impl SubAssign for MavProtocolCapability"],["impl SubAssign for LimitModule"],["impl SubAssign for MavGeneratorStatusFlag"],["impl SubAssign for GimbalManagerCapFlags"],["impl SubAssign for AisFlags"],["impl SubAssign for CameraCapFlags"],["impl SubAssign for AdsbFlags"],["impl SubAssign for MavProtocolCapability"],["impl SubAssign for GimbalDeviceCapFlags"],["impl SubAssign for AisFlags"],["impl SubAssign for GimbalDeviceErrorFlags"],["impl SubAssign for PositionTargetTypemask"],["impl SubAssign for EscFailureFlags"],["impl SubAssign for MavGeneratorStatusFlag"],["impl SubAssign for GimbalDeviceCapFlags"],["impl SubAssign for MavProtocolCapability"],["impl SubAssign for GpsInputIgnoreFlags"],["impl SubAssign for UavionixAdsbOutRfSelect"],["impl SubAssign for HighresImuUpdatedFlags"],["impl SubAssign for GimbalDeviceCapFlags"],["impl SubAssign for HilSensorUpdatedFlags"],["impl SubAssign for MavGeneratorStatusFlag"],["impl SubAssign for MavModeFlag"],["impl SubAssign for MavPowerStatus"],["impl SubAssign for HlFailureFlag"],["impl SubAssign for GpsInputIgnoreFlags"],["impl SubAssign for EscFailureFlags"],["impl SubAssign for SerialControlFlag"],["impl SubAssign for AttitudeTargetTypemask"],["impl SubAssign for AttitudeTargetTypemask"],["impl SubAssign for MavWinchStatusFlag"],["impl SubAssign for AttitudeTargetTypemask"],["impl SubAssign for UavionixAdsbOutRfSelect"],["impl SubAssign for UtmDataAvailFlags"],["impl SubAssign for HilSensorUpdatedFlags"],["impl SubAssign for CameraCapFlags"],["impl SubAssign for UavionixAdsbRfHealth"],["impl SubAssign for MavWinchStatusFlag"],["impl SubAssign for GimbalDeviceFlags"],["impl SubAssign for GimbalDeviceFlags"],["impl SubAssign for PositionTargetTypemask"],["impl SubAssign for GoproHeartbeatFlags"],["impl SubAssign for AdsbFlags"],["impl SubAssign for SerialControlFlag"],["impl SubAssign for UavionixAdsbOutDynamicState"],["impl SubAssign for PositionTargetTypemask"],["impl SubAssign for MavPowerStatus"],["impl SubAssign for TuneFormat"],["impl SubAssign for EstimatorStatusFlags"],["impl SubAssign for GimbalManagerCapFlags"],["impl SubAssign for TuneFormat"],["impl SubAssign for MavPowerStatus"],["impl SubAssign for EstimatorStatusFlags"],["impl SubAssign for MavModeFlag"],["impl SubAssign for UavionixAdsbRfHealth"],["impl SubAssign for MavSysStatusSensor"],["impl SubAssign for MavModeFlag"],["impl SubAssign for UtmDataAvailFlags"],["impl SubAssign for EstimatorStatusFlags"],["impl SubAssign for GimbalDeviceErrorFlags"],["impl SubAssign for CameraCapFlags"],["impl SubAssign for MavEventCurrentSequenceFlags"],["impl SubAssign for AdsbFlags"],["impl SubAssign for MavWinchStatusFlag"],["impl SubAssign for GimbalDeviceErrorFlags"],["impl SubAssign for GpsInputIgnoreFlags"],["impl SubAssign for MavSysStatusSensor"],["impl SubAssign for HilSensorUpdatedFlags"],["impl SubAssign for HighresImuUpdatedFlags"],["impl SubAssign for MavSysStatusSensor"],["impl SubAssign for HlFailureFlag"],["impl SubAssign for GimbalDeviceFlags"],["impl SubAssign for HlFailureFlag"],["impl SubAssign for HighresImuUpdatedFlags"],["impl SubAssign for EkfStatusFlags"]] +"mavlink":[["impl SubAssign for TuneFormat"],["impl SubAssign for MavProtocolCapability"],["impl SubAssign for UavionixAdsbOutDynamicState"],["impl SubAssign for GimbalDeviceCapFlags"],["impl SubAssign for MavPowerStatus"],["impl SubAssign for GimbalDeviceCapFlags"],["impl SubAssign for EkfStatusFlags"],["impl SubAssign for LimitModule"],["impl SubAssign for EstimatorStatusFlags"],["impl SubAssign for GimbalManagerCapFlags"],["impl SubAssign for CameraCapFlags"],["impl SubAssign for PositionTargetTypemask"],["impl SubAssign for GimbalDeviceErrorFlags"],["impl SubAssign for MavWinchStatusFlag"],["impl SubAssign for MavGeneratorStatusFlag"],["impl SubAssign for MavModeFlag"],["impl SubAssign for UtmDataAvailFlags"],["impl SubAssign for AttitudeTargetTypemask"],["impl SubAssign for SerialControlFlag"],["impl SubAssign for HighresImuUpdatedFlags"],["impl SubAssign for GpsInputIgnoreFlags"],["impl SubAssign for GoproHeartbeatFlags"],["impl SubAssign for TuneFormat"],["impl SubAssign for GimbalDeviceErrorFlags"],["impl SubAssign for UtmDataAvailFlags"],["impl SubAssign for EscFailureFlags"],["impl SubAssign for MavEventCurrentSequenceFlags"],["impl SubAssign for UavionixAdsbRfHealth"],["impl SubAssign for GimbalDeviceCapFlags"],["impl SubAssign for HilSensorUpdatedFlags"],["impl SubAssign for PositionTargetTypemask"],["impl SubAssign for HlFailureFlag"],["impl SubAssign for MavGeneratorStatusFlag"],["impl SubAssign for MavProtocolCapability"],["impl SubAssign for UavionixAdsbRfHealth"],["impl SubAssign for RallyFlags"],["impl SubAssign for GimbalManagerCapFlags"],["impl SubAssign for UavionixAdsbOutRfSelect"],["impl SubAssign for MavEventCurrentSequenceFlags"],["impl SubAssign for CameraCapFlags"],["impl SubAssign for CameraCapFlags"],["impl SubAssign for HilSensorUpdatedFlags"],["impl SubAssign for MavPowerStatus"],["impl SubAssign for MavModeFlag"],["impl SubAssign for MavEventCurrentSequenceFlags"],["impl SubAssign for MavSysStatusSensor"],["impl SubAssign for HlFailureFlag"],["impl SubAssign for AdsbFlags"],["impl SubAssign for SerialControlFlag"],["impl SubAssign for MavWinchStatusFlag"],["impl SubAssign for MavWinchStatusFlag"],["impl SubAssign for MavSysStatusSensor"],["impl SubAssign for GimbalManagerCapFlags"],["impl SubAssign for PositionTargetTypemask"],["impl SubAssign for EscFailureFlags"],["impl SubAssign for TuneFormat"],["impl SubAssign for AdsbFlags"],["impl SubAssign for UtmDataAvailFlags"],["impl SubAssign for GpsInputIgnoreFlags"],["impl SubAssign for AisFlags"],["impl SubAssign for AdsbFlags"],["impl SubAssign for GpsInputIgnoreFlags"],["impl SubAssign for AisFlags"],["impl SubAssign for GimbalDeviceFlags"],["impl SubAssign for HighresImuUpdatedFlags"],["impl SubAssign for AisFlags"],["impl SubAssign for HilSensorUpdatedFlags"],["impl SubAssign for SerialControlFlag"],["impl SubAssign for MavProtocolCapability"],["impl SubAssign for MavGeneratorStatusFlag"],["impl SubAssign for EscFailureFlags"],["impl SubAssign for AttitudeTargetTypemask"],["impl SubAssign for UavionixAdsbOutDynamicState"],["impl SubAssign for MavSysStatusSensor"],["impl SubAssign for GimbalDeviceFlags"],["impl SubAssign for MavModeFlag"],["impl SubAssign for HighresImuUpdatedFlags"],["impl SubAssign for EstimatorStatusFlags"],["impl SubAssign for MavPowerStatus"],["impl SubAssign for GimbalDeviceErrorFlags"],["impl SubAssign for UavionixAdsbOutRfSelect"],["impl SubAssign for AttitudeTargetTypemask"],["impl SubAssign for EstimatorStatusFlags"],["impl SubAssign for GimbalDeviceFlags"],["impl SubAssign for HlFailureFlag"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/ops/bit/trait.BitAnd.js b/trait.impl/core/ops/bit/trait.BitAnd.js index d62339908b..fb16660e6b 100644 --- a/trait.impl/core/ops/bit/trait.BitAnd.js +++ b/trait.impl/core/ops/bit/trait.BitAnd.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mavlink":[["impl BitAnd for SerialControlFlag"],["impl BitAnd for EstimatorStatusFlags"],["impl BitAnd for MavEventCurrentSequenceFlags"],["impl BitAnd for HilSensorUpdatedFlags"],["impl BitAnd for MavModeFlag"],["impl BitAnd for TuneFormat"],["impl BitAnd for AttitudeTargetTypemask"],["impl BitAnd for LimitModule"],["impl BitAnd for MavModeFlag"],["impl BitAnd for HighresImuUpdatedFlags"],["impl BitAnd for EstimatorStatusFlags"],["impl BitAnd for GpsInputIgnoreFlags"],["impl BitAnd for GimbalManagerCapFlags"],["impl BitAnd for AttitudeTargetTypemask"],["impl BitAnd for MavModeFlag"],["impl BitAnd for UtmDataAvailFlags"],["impl BitAnd for AttitudeTargetTypemask"],["impl BitAnd for HighresImuUpdatedFlags"],["impl BitAnd for PositionTargetTypemask"],["impl BitAnd for MavWinchStatusFlag"],["impl BitAnd for GimbalDeviceErrorFlags"],["impl BitAnd for PositionTargetTypemask"],["impl BitAnd for GpsInputIgnoreFlags"],["impl BitAnd for GimbalManagerCapFlags"],["impl BitAnd for MavProtocolCapability"],["impl BitAnd for AisFlags"],["impl BitAnd for MavSysStatusSensor"],["impl BitAnd for EscFailureFlags"],["impl BitAnd for CameraCapFlags"],["impl BitAnd for CameraCapFlags"],["impl BitAnd for MavSysStatusSensor"],["impl BitAnd for MavPowerStatus"],["impl BitAnd for EstimatorStatusFlags"],["impl BitAnd for MavEventCurrentSequenceFlags"],["impl BitAnd for GoproHeartbeatFlags"],["impl BitAnd for MavGeneratorStatusFlag"],["impl BitAnd for UavionixAdsbOutRfSelect"],["impl BitAnd for GimbalDeviceFlags"],["impl BitAnd for EscFailureFlags"],["impl BitAnd for UavionixAdsbOutRfSelect"],["impl BitAnd for UtmDataAvailFlags"],["impl BitAnd for GpsInputIgnoreFlags"],["impl BitAnd for EscFailureFlags"],["impl BitAnd for MavPowerStatus"],["impl BitAnd for UtmDataAvailFlags"],["impl BitAnd for MavGeneratorStatusFlag"],["impl BitAnd for UavionixAdsbOutDynamicState"],["impl BitAnd for MavEventCurrentSequenceFlags"],["impl BitAnd for GimbalDeviceFlags"],["impl BitAnd for CameraCapFlags"],["impl BitAnd for HlFailureFlag"],["impl BitAnd for MavGeneratorStatusFlag"],["impl BitAnd for GimbalDeviceErrorFlags"],["impl BitAnd for GimbalDeviceFlags"],["impl BitAnd for HlFailureFlag"],["impl BitAnd for RallyFlags"],["impl BitAnd for HighresImuUpdatedFlags"],["impl BitAnd for HilSensorUpdatedFlags"],["impl BitAnd for AdsbFlags"],["impl BitAnd for MavPowerStatus"],["impl BitAnd for UavionixAdsbRfHealth"],["impl BitAnd for MavWinchStatusFlag"],["impl BitAnd for SerialControlFlag"],["impl BitAnd for MavProtocolCapability"],["impl BitAnd for HlFailureFlag"],["impl BitAnd for EkfStatusFlags"],["impl BitAnd for SerialControlFlag"],["impl BitAnd for AisFlags"],["impl BitAnd for AisFlags"],["impl BitAnd for MavSysStatusSensor"],["impl BitAnd for MavProtocolCapability"],["impl BitAnd for GimbalManagerCapFlags"],["impl BitAnd for GimbalDeviceCapFlags"],["impl BitAnd for AdsbFlags"],["impl BitAnd for TuneFormat"],["impl BitAnd for MavWinchStatusFlag"],["impl BitAnd for GimbalDeviceCapFlags"],["impl BitAnd for HilSensorUpdatedFlags"],["impl BitAnd for UavionixAdsbRfHealth"],["impl BitAnd for GimbalDeviceCapFlags"],["impl BitAnd for PositionTargetTypemask"],["impl BitAnd for TuneFormat"],["impl BitAnd for AdsbFlags"],["impl BitAnd for UavionixAdsbOutDynamicState"],["impl BitAnd for GimbalDeviceErrorFlags"]] +"mavlink":[["impl BitAnd for MavPowerStatus"],["impl BitAnd for GpsInputIgnoreFlags"],["impl BitAnd for GimbalDeviceCapFlags"],["impl BitAnd for UavionixAdsbOutDynamicState"],["impl BitAnd for HighresImuUpdatedFlags"],["impl BitAnd for GimbalDeviceFlags"],["impl BitAnd for AttitudeTargetTypemask"],["impl BitAnd for UtmDataAvailFlags"],["impl BitAnd for MavGeneratorStatusFlag"],["impl BitAnd for SerialControlFlag"],["impl BitAnd for LimitModule"],["impl BitAnd for SerialControlFlag"],["impl BitAnd for MavModeFlag"],["impl BitAnd for MavPowerStatus"],["impl BitAnd for HilSensorUpdatedFlags"],["impl BitAnd for GpsInputIgnoreFlags"],["impl BitAnd for SerialControlFlag"],["impl BitAnd for MavProtocolCapability"],["impl BitAnd for TuneFormat"],["impl BitAnd for AisFlags"],["impl BitAnd for PositionTargetTypemask"],["impl BitAnd for AdsbFlags"],["impl BitAnd for MavModeFlag"],["impl BitAnd for GimbalManagerCapFlags"],["impl BitAnd for CameraCapFlags"],["impl BitAnd for GimbalDeviceErrorFlags"],["impl BitAnd for RallyFlags"],["impl BitAnd for MavEventCurrentSequenceFlags"],["impl BitAnd for GimbalManagerCapFlags"],["impl BitAnd for GoproHeartbeatFlags"],["impl BitAnd for GimbalDeviceErrorFlags"],["impl BitAnd for MavSysStatusSensor"],["impl BitAnd for AttitudeTargetTypemask"],["impl BitAnd for MavPowerStatus"],["impl BitAnd for MavEventCurrentSequenceFlags"],["impl BitAnd for EkfStatusFlags"],["impl BitAnd for HlFailureFlag"],["impl BitAnd for MavProtocolCapability"],["impl BitAnd for TuneFormat"],["impl BitAnd for AdsbFlags"],["impl BitAnd for UavionixAdsbRfHealth"],["impl BitAnd for MavModeFlag"],["impl BitAnd for MavProtocolCapability"],["impl BitAnd for AttitudeTargetTypemask"],["impl BitAnd for EscFailureFlags"],["impl BitAnd for TuneFormat"],["impl BitAnd for MavEventCurrentSequenceFlags"],["impl BitAnd for GimbalDeviceCapFlags"],["impl BitAnd for GimbalDeviceCapFlags"],["impl BitAnd for UavionixAdsbOutDynamicState"],["impl BitAnd for UavionixAdsbRfHealth"],["impl BitAnd for EscFailureFlags"],["impl BitAnd for HilSensorUpdatedFlags"],["impl BitAnd for MavGeneratorStatusFlag"],["impl BitAnd for HlFailureFlag"],["impl BitAnd for MavSysStatusSensor"],["impl BitAnd for HlFailureFlag"],["impl BitAnd for MavGeneratorStatusFlag"],["impl BitAnd for EscFailureFlags"],["impl BitAnd for UtmDataAvailFlags"],["impl BitAnd for EstimatorStatusFlags"],["impl BitAnd for UtmDataAvailFlags"],["impl BitAnd for CameraCapFlags"],["impl BitAnd for AdsbFlags"],["impl BitAnd for HilSensorUpdatedFlags"],["impl BitAnd for UavionixAdsbOutRfSelect"],["impl BitAnd for CameraCapFlags"],["impl BitAnd for HighresImuUpdatedFlags"],["impl BitAnd for GimbalDeviceErrorFlags"],["impl BitAnd for EstimatorStatusFlags"],["impl BitAnd for HighresImuUpdatedFlags"],["impl BitAnd for MavSysStatusSensor"],["impl BitAnd for GimbalDeviceFlags"],["impl BitAnd for UavionixAdsbOutRfSelect"],["impl BitAnd for GimbalManagerCapFlags"],["impl BitAnd for MavWinchStatusFlag"],["impl BitAnd for GimbalDeviceFlags"],["impl BitAnd for AisFlags"],["impl BitAnd for PositionTargetTypemask"],["impl BitAnd for AisFlags"],["impl BitAnd for PositionTargetTypemask"],["impl BitAnd for MavWinchStatusFlag"],["impl BitAnd for MavWinchStatusFlag"],["impl BitAnd for EstimatorStatusFlags"],["impl BitAnd for GpsInputIgnoreFlags"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/ops/bit/trait.BitAndAssign.js b/trait.impl/core/ops/bit/trait.BitAndAssign.js index e6385a8135..92686f4451 100644 --- a/trait.impl/core/ops/bit/trait.BitAndAssign.js +++ b/trait.impl/core/ops/bit/trait.BitAndAssign.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mavlink":[["impl BitAndAssign for SerialControlFlag"],["impl BitAndAssign for UavionixAdsbOutDynamicState"],["impl BitAndAssign for RallyFlags"],["impl BitAndAssign for MavWinchStatusFlag"],["impl BitAndAssign for UavionixAdsbRfHealth"],["impl BitAndAssign for GimbalDeviceFlags"],["impl BitAndAssign for AttitudeTargetTypemask"],["impl BitAndAssign for MavGeneratorStatusFlag"],["impl BitAndAssign for EscFailureFlags"],["impl BitAndAssign for UtmDataAvailFlags"],["impl BitAndAssign for HighresImuUpdatedFlags"],["impl BitAndAssign for MavPowerStatus"],["impl BitAndAssign for UtmDataAvailFlags"],["impl BitAndAssign for HilSensorUpdatedFlags"],["impl BitAndAssign for MavProtocolCapability"],["impl BitAndAssign for GpsInputIgnoreFlags"],["impl BitAndAssign for EscFailureFlags"],["impl BitAndAssign for TuneFormat"],["impl BitAndAssign for MavGeneratorStatusFlag"],["impl BitAndAssign for TuneFormat"],["impl BitAndAssign for GpsInputIgnoreFlags"],["impl BitAndAssign for GimbalDeviceFlags"],["impl BitAndAssign for GimbalManagerCapFlags"],["impl BitAndAssign for UavionixAdsbOutRfSelect"],["impl BitAndAssign for PositionTargetTypemask"],["impl BitAndAssign for GimbalDeviceCapFlags"],["impl BitAndAssign for LimitModule"],["impl BitAndAssign for UavionixAdsbOutDynamicState"],["impl BitAndAssign for MavSysStatusSensor"],["impl BitAndAssign for GimbalManagerCapFlags"],["impl BitAndAssign for EstimatorStatusFlags"],["impl BitAndAssign for MavProtocolCapability"],["impl BitAndAssign for AdsbFlags"],["impl BitAndAssign for EscFailureFlags"],["impl BitAndAssign for GimbalDeviceErrorFlags"],["impl BitAndAssign for MavEventCurrentSequenceFlags"],["impl BitAndAssign for AdsbFlags"],["impl BitAndAssign for HighresImuUpdatedFlags"],["impl BitAndAssign for EstimatorStatusFlags"],["impl BitAndAssign for MavModeFlag"],["impl BitAndAssign for GimbalDeviceErrorFlags"],["impl BitAndAssign for MavModeFlag"],["impl BitAndAssign for EkfStatusFlags"],["impl BitAndAssign for HighresImuUpdatedFlags"],["impl BitAndAssign for MavWinchStatusFlag"],["impl BitAndAssign for MavWinchStatusFlag"],["impl BitAndAssign for AttitudeTargetTypemask"],["impl BitAndAssign for GpsInputIgnoreFlags"],["impl BitAndAssign for AisFlags"],["impl BitAndAssign for AttitudeTargetTypemask"],["impl BitAndAssign for UavionixAdsbOutRfSelect"],["impl BitAndAssign for MavProtocolCapability"],["impl BitAndAssign for AdsbFlags"],["impl BitAndAssign for TuneFormat"],["impl BitAndAssign for MavEventCurrentSequenceFlags"],["impl BitAndAssign for MavSysStatusSensor"],["impl BitAndAssign for SerialControlFlag"],["impl BitAndAssign for HlFailureFlag"],["impl BitAndAssign for GimbalManagerCapFlags"],["impl BitAndAssign for HlFailureFlag"],["impl BitAndAssign for MavModeFlag"],["impl BitAndAssign for EstimatorStatusFlags"],["impl BitAndAssign for GimbalDeviceCapFlags"],["impl BitAndAssign for MavEventCurrentSequenceFlags"],["impl BitAndAssign for AisFlags"],["impl BitAndAssign for GoproHeartbeatFlags"],["impl BitAndAssign for UtmDataAvailFlags"],["impl BitAndAssign for MavSysStatusSensor"],["impl BitAndAssign for PositionTargetTypemask"],["impl BitAndAssign for HilSensorUpdatedFlags"],["impl BitAndAssign for HilSensorUpdatedFlags"],["impl BitAndAssign for GimbalDeviceErrorFlags"],["impl BitAndAssign for MavPowerStatus"],["impl BitAndAssign for GimbalDeviceCapFlags"],["impl BitAndAssign for AisFlags"],["impl BitAndAssign for CameraCapFlags"],["impl BitAndAssign for GimbalDeviceFlags"],["impl BitAndAssign for CameraCapFlags"],["impl BitAndAssign for MavGeneratorStatusFlag"],["impl BitAndAssign for UavionixAdsbRfHealth"],["impl BitAndAssign for SerialControlFlag"],["impl BitAndAssign for MavPowerStatus"],["impl BitAndAssign for PositionTargetTypemask"],["impl BitAndAssign for CameraCapFlags"],["impl BitAndAssign for HlFailureFlag"]] +"mavlink":[["impl BitAndAssign for GimbalDeviceFlags"],["impl BitAndAssign for UavionixAdsbRfHealth"],["impl BitAndAssign for HighresImuUpdatedFlags"],["impl BitAndAssign for TuneFormat"],["impl BitAndAssign for AisFlags"],["impl BitAndAssign for MavProtocolCapability"],["impl BitAndAssign for UavionixAdsbOutRfSelect"],["impl BitAndAssign for PositionTargetTypemask"],["impl BitAndAssign for GimbalDeviceCapFlags"],["impl BitAndAssign for GimbalDeviceErrorFlags"],["impl BitAndAssign for EscFailureFlags"],["impl BitAndAssign for UavionixAdsbOutDynamicState"],["impl BitAndAssign for AisFlags"],["impl BitAndAssign for PositionTargetTypemask"],["impl BitAndAssign for MavPowerStatus"],["impl BitAndAssign for GimbalManagerCapFlags"],["impl BitAndAssign for SerialControlFlag"],["impl BitAndAssign for EscFailureFlags"],["impl BitAndAssign for MavGeneratorStatusFlag"],["impl BitAndAssign for EstimatorStatusFlags"],["impl BitAndAssign for EscFailureFlags"],["impl BitAndAssign for MavModeFlag"],["impl BitAndAssign for UtmDataAvailFlags"],["impl BitAndAssign for MavPowerStatus"],["impl BitAndAssign for PositionTargetTypemask"],["impl BitAndAssign for MavSysStatusSensor"],["impl BitAndAssign for HilSensorUpdatedFlags"],["impl BitAndAssign for AdsbFlags"],["impl BitAndAssign for GpsInputIgnoreFlags"],["impl BitAndAssign for MavModeFlag"],["impl BitAndAssign for GimbalDeviceErrorFlags"],["impl BitAndAssign for EkfStatusFlags"],["impl BitAndAssign for HighresImuUpdatedFlags"],["impl BitAndAssign for HilSensorUpdatedFlags"],["impl BitAndAssign for MavWinchStatusFlag"],["impl BitAndAssign for MavGeneratorStatusFlag"],["impl BitAndAssign for GpsInputIgnoreFlags"],["impl BitAndAssign for TuneFormat"],["impl BitAndAssign for CameraCapFlags"],["impl BitAndAssign for HlFailureFlag"],["impl BitAndAssign for AttitudeTargetTypemask"],["impl BitAndAssign for GimbalDeviceFlags"],["impl BitAndAssign for SerialControlFlag"],["impl BitAndAssign for UavionixAdsbOutRfSelect"],["impl BitAndAssign for HlFailureFlag"],["impl BitAndAssign for AdsbFlags"],["impl BitAndAssign for MavProtocolCapability"],["impl BitAndAssign for MavEventCurrentSequenceFlags"],["impl BitAndAssign for GimbalDeviceCapFlags"],["impl BitAndAssign for UtmDataAvailFlags"],["impl BitAndAssign for TuneFormat"],["impl BitAndAssign for SerialControlFlag"],["impl BitAndAssign for GimbalDeviceFlags"],["impl BitAndAssign for MavSysStatusSensor"],["impl BitAndAssign for AdsbFlags"],["impl BitAndAssign for CameraCapFlags"],["impl BitAndAssign for UavionixAdsbRfHealth"],["impl BitAndAssign for EstimatorStatusFlags"],["impl BitAndAssign for AttitudeTargetTypemask"],["impl BitAndAssign for MavProtocolCapability"],["impl BitAndAssign for GpsInputIgnoreFlags"],["impl BitAndAssign for MavEventCurrentSequenceFlags"],["impl BitAndAssign for AttitudeTargetTypemask"],["impl BitAndAssign for MavWinchStatusFlag"],["impl BitAndAssign for GimbalManagerCapFlags"],["impl BitAndAssign for LimitModule"],["impl BitAndAssign for AisFlags"],["impl BitAndAssign for HlFailureFlag"],["impl BitAndAssign for MavPowerStatus"],["impl BitAndAssign for GoproHeartbeatFlags"],["impl BitAndAssign for RallyFlags"],["impl BitAndAssign for UtmDataAvailFlags"],["impl BitAndAssign for GimbalDeviceCapFlags"],["impl BitAndAssign for UavionixAdsbOutDynamicState"],["impl BitAndAssign for MavGeneratorStatusFlag"],["impl BitAndAssign for EstimatorStatusFlags"],["impl BitAndAssign for MavWinchStatusFlag"],["impl BitAndAssign for HilSensorUpdatedFlags"],["impl BitAndAssign for MavSysStatusSensor"],["impl BitAndAssign for GimbalDeviceErrorFlags"],["impl BitAndAssign for MavEventCurrentSequenceFlags"],["impl BitAndAssign for CameraCapFlags"],["impl BitAndAssign for GimbalManagerCapFlags"],["impl BitAndAssign for HighresImuUpdatedFlags"],["impl BitAndAssign for MavModeFlag"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/ops/bit/trait.BitOr.js b/trait.impl/core/ops/bit/trait.BitOr.js index 01dcb71384..cd7b68a2b4 100644 --- a/trait.impl/core/ops/bit/trait.BitOr.js +++ b/trait.impl/core/ops/bit/trait.BitOr.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mavlink":[["impl BitOr for MavPowerStatus"],["impl BitOr for EscFailureFlags"],["impl BitOr for MavWinchStatusFlag"],["impl BitOr for AdsbFlags"],["impl BitOr for EstimatorStatusFlags"],["impl BitOr for UtmDataAvailFlags"],["impl BitOr for MavWinchStatusFlag"],["impl BitOr for MavEventCurrentSequenceFlags"],["impl BitOr for MavPowerStatus"],["impl BitOr for TuneFormat"],["impl BitOr for HighresImuUpdatedFlags"],["impl BitOr for HlFailureFlag"],["impl BitOr for GoproHeartbeatFlags"],["impl BitOr for GimbalManagerCapFlags"],["impl BitOr for PositionTargetTypemask"],["impl BitOr for MavModeFlag"],["impl BitOr for EkfStatusFlags"],["impl BitOr for CameraCapFlags"],["impl BitOr for RallyFlags"],["impl BitOr for GimbalDeviceErrorFlags"],["impl BitOr for TuneFormat"],["impl BitOr for SerialControlFlag"],["impl BitOr for CameraCapFlags"],["impl BitOr for MavSysStatusSensor"],["impl BitOr for UtmDataAvailFlags"],["impl BitOr for AttitudeTargetTypemask"],["impl BitOr for TuneFormat"],["impl BitOr for AttitudeTargetTypemask"],["impl BitOr for GimbalDeviceErrorFlags"],["impl BitOr for AdsbFlags"],["impl BitOr for GimbalDeviceFlags"],["impl BitOr for EscFailureFlags"],["impl BitOr for MavPowerStatus"],["impl BitOr for MavSysStatusSensor"],["impl BitOr for MavEventCurrentSequenceFlags"],["impl BitOr for UavionixAdsbRfHealth"],["impl BitOr for HighresImuUpdatedFlags"],["impl BitOr for PositionTargetTypemask"],["impl BitOr for UavionixAdsbOutDynamicState"],["impl BitOr for GimbalDeviceCapFlags"],["impl BitOr for AisFlags"],["impl BitOr for AisFlags"],["impl BitOr for AttitudeTargetTypemask"],["impl BitOr for GimbalDeviceFlags"],["impl BitOr for EstimatorStatusFlags"],["impl BitOr for MavWinchStatusFlag"],["impl BitOr for AdsbFlags"],["impl BitOr for GimbalDeviceFlags"],["impl BitOr for HilSensorUpdatedFlags"],["impl BitOr for GimbalManagerCapFlags"],["impl BitOr for PositionTargetTypemask"],["impl BitOr for MavProtocolCapability"],["impl BitOr for HilSensorUpdatedFlags"],["impl BitOr for HighresImuUpdatedFlags"],["impl BitOr for GimbalDeviceCapFlags"],["impl BitOr for SerialControlFlag"],["impl BitOr for HilSensorUpdatedFlags"],["impl BitOr for GpsInputIgnoreFlags"],["impl BitOr for HlFailureFlag"],["impl BitOr for UavionixAdsbRfHealth"],["impl BitOr for GimbalManagerCapFlags"],["impl BitOr for EscFailureFlags"],["impl BitOr for EstimatorStatusFlags"],["impl BitOr for GimbalDeviceCapFlags"],["impl BitOr for GpsInputIgnoreFlags"],["impl BitOr for MavGeneratorStatusFlag"],["impl BitOr for MavModeFlag"],["impl BitOr for LimitModule"],["impl BitOr for MavGeneratorStatusFlag"],["impl BitOr for GpsInputIgnoreFlags"],["impl BitOr for MavModeFlag"],["impl BitOr for MavSysStatusSensor"],["impl BitOr for GimbalDeviceErrorFlags"],["impl BitOr for UavionixAdsbOutRfSelect"],["impl BitOr for MavProtocolCapability"],["impl BitOr for SerialControlFlag"],["impl BitOr for HlFailureFlag"],["impl BitOr for UavionixAdsbOutRfSelect"],["impl BitOr for MavEventCurrentSequenceFlags"],["impl BitOr for CameraCapFlags"],["impl BitOr for AisFlags"],["impl BitOr for UavionixAdsbOutDynamicState"],["impl BitOr for UtmDataAvailFlags"],["impl BitOr for MavProtocolCapability"],["impl BitOr for MavGeneratorStatusFlag"]] +"mavlink":[["impl BitOr for MavPowerStatus"],["impl BitOr for GimbalDeviceFlags"],["impl BitOr for GpsInputIgnoreFlags"],["impl BitOr for MavProtocolCapability"],["impl BitOr for AttitudeTargetTypemask"],["impl BitOr for MavProtocolCapability"],["impl BitOr for CameraCapFlags"],["impl BitOr for UtmDataAvailFlags"],["impl BitOr for MavEventCurrentSequenceFlags"],["impl BitOr for GimbalDeviceErrorFlags"],["impl BitOr for TuneFormat"],["impl BitOr for UavionixAdsbRfHealth"],["impl BitOr for UavionixAdsbOutRfSelect"],["impl BitOr for HlFailureFlag"],["impl BitOr for GimbalDeviceCapFlags"],["impl BitOr for MavPowerStatus"],["impl BitOr for CameraCapFlags"],["impl BitOr for MavProtocolCapability"],["impl BitOr for EkfStatusFlags"],["impl BitOr for GimbalManagerCapFlags"],["impl BitOr for UavionixAdsbOutDynamicState"],["impl BitOr for UavionixAdsbOutRfSelect"],["impl BitOr for MavEventCurrentSequenceFlags"],["impl BitOr for MavEventCurrentSequenceFlags"],["impl BitOr for AdsbFlags"],["impl BitOr for HighresImuUpdatedFlags"],["impl BitOr for GpsInputIgnoreFlags"],["impl BitOr for GimbalDeviceCapFlags"],["impl BitOr for GoproHeartbeatFlags"],["impl BitOr for EstimatorStatusFlags"],["impl BitOr for PositionTargetTypemask"],["impl BitOr for GimbalDeviceCapFlags"],["impl BitOr for PositionTargetTypemask"],["impl BitOr for SerialControlFlag"],["impl BitOr for MavPowerStatus"],["impl BitOr for EscFailureFlags"],["impl BitOr for UavionixAdsbRfHealth"],["impl BitOr for SerialControlFlag"],["impl BitOr for MavModeFlag"],["impl BitOr for RallyFlags"],["impl BitOr for HilSensorUpdatedFlags"],["impl BitOr for EstimatorStatusFlags"],["impl BitOr for GpsInputIgnoreFlags"],["impl BitOr for HlFailureFlag"],["impl BitOr for MavSysStatusSensor"],["impl BitOr for MavWinchStatusFlag"],["impl BitOr for AdsbFlags"],["impl BitOr for AttitudeTargetTypemask"],["impl BitOr for TuneFormat"],["impl BitOr for HilSensorUpdatedFlags"],["impl BitOr for GimbalDeviceFlags"],["impl BitOr for MavGeneratorStatusFlag"],["impl BitOr for AisFlags"],["impl BitOr for EstimatorStatusFlags"],["impl BitOr for MavWinchStatusFlag"],["impl BitOr for MavSysStatusSensor"],["impl BitOr for MavModeFlag"],["impl BitOr for CameraCapFlags"],["impl BitOr for HighresImuUpdatedFlags"],["impl BitOr for HlFailureFlag"],["impl BitOr for AisFlags"],["impl BitOr for MavGeneratorStatusFlag"],["impl BitOr for GimbalManagerCapFlags"],["impl BitOr for HighresImuUpdatedFlags"],["impl BitOr for UavionixAdsbOutDynamicState"],["impl BitOr for MavGeneratorStatusFlag"],["impl BitOr for MavModeFlag"],["impl BitOr for SerialControlFlag"],["impl BitOr for LimitModule"],["impl BitOr for HilSensorUpdatedFlags"],["impl BitOr for GimbalManagerCapFlags"],["impl BitOr for AisFlags"],["impl BitOr for PositionTargetTypemask"],["impl BitOr for AttitudeTargetTypemask"],["impl BitOr for UtmDataAvailFlags"],["impl BitOr for GimbalDeviceErrorFlags"],["impl BitOr for UtmDataAvailFlags"],["impl BitOr for EscFailureFlags"],["impl BitOr for EscFailureFlags"],["impl BitOr for MavSysStatusSensor"],["impl BitOr for GimbalDeviceErrorFlags"],["impl BitOr for MavWinchStatusFlag"],["impl BitOr for TuneFormat"],["impl BitOr for GimbalDeviceFlags"],["impl BitOr for AdsbFlags"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/ops/bit/trait.BitOrAssign.js b/trait.impl/core/ops/bit/trait.BitOrAssign.js index 53148f5d51..4d88d0b6cb 100644 --- a/trait.impl/core/ops/bit/trait.BitOrAssign.js +++ b/trait.impl/core/ops/bit/trait.BitOrAssign.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mavlink":[["impl BitOrAssign for PositionTargetTypemask"],["impl BitOrAssign for UavionixAdsbOutDynamicState"],["impl BitOrAssign for MavSysStatusSensor"],["impl BitOrAssign for HlFailureFlag"],["impl BitOrAssign for MavEventCurrentSequenceFlags"],["impl BitOrAssign for TuneFormat"],["impl BitOrAssign for AisFlags"],["impl BitOrAssign for AttitudeTargetTypemask"],["impl BitOrAssign for UavionixAdsbRfHealth"],["impl BitOrAssign for HighresImuUpdatedFlags"],["impl BitOrAssign for UtmDataAvailFlags"],["impl BitOrAssign for EscFailureFlags"],["impl BitOrAssign for PositionTargetTypemask"],["impl BitOrAssign for MavGeneratorStatusFlag"],["impl BitOrAssign for SerialControlFlag"],["impl BitOrAssign for GoproHeartbeatFlags"],["impl BitOrAssign for CameraCapFlags"],["impl BitOrAssign for AttitudeTargetTypemask"],["impl BitOrAssign for GimbalManagerCapFlags"],["impl BitOrAssign for MavSysStatusSensor"],["impl BitOrAssign for GimbalDeviceCapFlags"],["impl BitOrAssign for UavionixAdsbOutDynamicState"],["impl BitOrAssign for TuneFormat"],["impl BitOrAssign for UtmDataAvailFlags"],["impl BitOrAssign for PositionTargetTypemask"],["impl BitOrAssign for AisFlags"],["impl BitOrAssign for MavModeFlag"],["impl BitOrAssign for GpsInputIgnoreFlags"],["impl BitOrAssign for GimbalDeviceCapFlags"],["impl BitOrAssign for MavModeFlag"],["impl BitOrAssign for UavionixAdsbOutRfSelect"],["impl BitOrAssign for GimbalDeviceCapFlags"],["impl BitOrAssign for UtmDataAvailFlags"],["impl BitOrAssign for HilSensorUpdatedFlags"],["impl BitOrAssign for UavionixAdsbOutRfSelect"],["impl BitOrAssign for MavPowerStatus"],["impl BitOrAssign for GpsInputIgnoreFlags"],["impl BitOrAssign for GimbalDeviceErrorFlags"],["impl BitOrAssign for HilSensorUpdatedFlags"],["impl BitOrAssign for MavWinchStatusFlag"],["impl BitOrAssign for MavSysStatusSensor"],["impl BitOrAssign for MavGeneratorStatusFlag"],["impl BitOrAssign for GimbalDeviceErrorFlags"],["impl BitOrAssign for MavWinchStatusFlag"],["impl BitOrAssign for EstimatorStatusFlags"],["impl BitOrAssign for GimbalManagerCapFlags"],["impl BitOrAssign for MavGeneratorStatusFlag"],["impl BitOrAssign for LimitModule"],["impl BitOrAssign for GimbalManagerCapFlags"],["impl BitOrAssign for AdsbFlags"],["impl BitOrAssign for HlFailureFlag"],["impl BitOrAssign for UavionixAdsbRfHealth"],["impl BitOrAssign for SerialControlFlag"],["impl BitOrAssign for MavProtocolCapability"],["impl BitOrAssign for MavProtocolCapability"],["impl BitOrAssign for MavWinchStatusFlag"],["impl BitOrAssign for MavEventCurrentSequenceFlags"],["impl BitOrAssign for RallyFlags"],["impl BitOrAssign for MavEventCurrentSequenceFlags"],["impl BitOrAssign for TuneFormat"],["impl BitOrAssign for MavPowerStatus"],["impl BitOrAssign for HighresImuUpdatedFlags"],["impl BitOrAssign for SerialControlFlag"],["impl BitOrAssign for EstimatorStatusFlags"],["impl BitOrAssign for GpsInputIgnoreFlags"],["impl BitOrAssign for EscFailureFlags"],["impl BitOrAssign for GimbalDeviceFlags"],["impl BitOrAssign for MavProtocolCapability"],["impl BitOrAssign for GimbalDeviceFlags"],["impl BitOrAssign for MavModeFlag"],["impl BitOrAssign for AisFlags"],["impl BitOrAssign for HilSensorUpdatedFlags"],["impl BitOrAssign for GimbalDeviceErrorFlags"],["impl BitOrAssign for EscFailureFlags"],["impl BitOrAssign for CameraCapFlags"],["impl BitOrAssign for EkfStatusFlags"],["impl BitOrAssign for HighresImuUpdatedFlags"],["impl BitOrAssign for GimbalDeviceFlags"],["impl BitOrAssign for AdsbFlags"],["impl BitOrAssign for HlFailureFlag"],["impl BitOrAssign for EstimatorStatusFlags"],["impl BitOrAssign for MavPowerStatus"],["impl BitOrAssign for AttitudeTargetTypemask"],["impl BitOrAssign for CameraCapFlags"],["impl BitOrAssign for AdsbFlags"]] +"mavlink":[["impl BitOrAssign for CameraCapFlags"],["impl BitOrAssign for AisFlags"],["impl BitOrAssign for MavProtocolCapability"],["impl BitOrAssign for GimbalDeviceFlags"],["impl BitOrAssign for GimbalDeviceFlags"],["impl BitOrAssign for AttitudeTargetTypemask"],["impl BitOrAssign for SerialControlFlag"],["impl BitOrAssign for MavWinchStatusFlag"],["impl BitOrAssign for PositionTargetTypemask"],["impl BitOrAssign for GimbalManagerCapFlags"],["impl BitOrAssign for EscFailureFlags"],["impl BitOrAssign for GoproHeartbeatFlags"],["impl BitOrAssign for MavModeFlag"],["impl BitOrAssign for TuneFormat"],["impl BitOrAssign for AttitudeTargetTypemask"],["impl BitOrAssign for HilSensorUpdatedFlags"],["impl BitOrAssign for GpsInputIgnoreFlags"],["impl BitOrAssign for UtmDataAvailFlags"],["impl BitOrAssign for EscFailureFlags"],["impl BitOrAssign for GimbalDeviceErrorFlags"],["impl BitOrAssign for MavEventCurrentSequenceFlags"],["impl BitOrAssign for UavionixAdsbOutDynamicState"],["impl BitOrAssign for GpsInputIgnoreFlags"],["impl BitOrAssign for MavWinchStatusFlag"],["impl BitOrAssign for GimbalManagerCapFlags"],["impl BitOrAssign for HighresImuUpdatedFlags"],["impl BitOrAssign for GimbalDeviceFlags"],["impl BitOrAssign for CameraCapFlags"],["impl BitOrAssign for TuneFormat"],["impl BitOrAssign for AisFlags"],["impl BitOrAssign for AttitudeTargetTypemask"],["impl BitOrAssign for MavModeFlag"],["impl BitOrAssign for UavionixAdsbOutRfSelect"],["impl BitOrAssign for MavSysStatusSensor"],["impl BitOrAssign for MavPowerStatus"],["impl BitOrAssign for UavionixAdsbOutRfSelect"],["impl BitOrAssign for AdsbFlags"],["impl BitOrAssign for HlFailureFlag"],["impl BitOrAssign for EstimatorStatusFlags"],["impl BitOrAssign for SerialControlFlag"],["impl BitOrAssign for HlFailureFlag"],["impl BitOrAssign for AisFlags"],["impl BitOrAssign for MavEventCurrentSequenceFlags"],["impl BitOrAssign for UtmDataAvailFlags"],["impl BitOrAssign for MavGeneratorStatusFlag"],["impl BitOrAssign for GimbalDeviceCapFlags"],["impl BitOrAssign for PositionTargetTypemask"],["impl BitOrAssign for MavModeFlag"],["impl BitOrAssign for GimbalManagerCapFlags"],["impl BitOrAssign for UavionixAdsbOutDynamicState"],["impl BitOrAssign for HighresImuUpdatedFlags"],["impl BitOrAssign for CameraCapFlags"],["impl BitOrAssign for HilSensorUpdatedFlags"],["impl BitOrAssign for AdsbFlags"],["impl BitOrAssign for GpsInputIgnoreFlags"],["impl BitOrAssign for HighresImuUpdatedFlags"],["impl BitOrAssign for LimitModule"],["impl BitOrAssign for EstimatorStatusFlags"],["impl BitOrAssign for UavionixAdsbRfHealth"],["impl BitOrAssign for GimbalDeviceCapFlags"],["impl BitOrAssign for EscFailureFlags"],["impl BitOrAssign for MavGeneratorStatusFlag"],["impl BitOrAssign for GimbalDeviceCapFlags"],["impl BitOrAssign for RallyFlags"],["impl BitOrAssign for HlFailureFlag"],["impl BitOrAssign for GimbalDeviceErrorFlags"],["impl BitOrAssign for SerialControlFlag"],["impl BitOrAssign for GimbalDeviceErrorFlags"],["impl BitOrAssign for MavGeneratorStatusFlag"],["impl BitOrAssign for PositionTargetTypemask"],["impl BitOrAssign for MavEventCurrentSequenceFlags"],["impl BitOrAssign for TuneFormat"],["impl BitOrAssign for HilSensorUpdatedFlags"],["impl BitOrAssign for MavPowerStatus"],["impl BitOrAssign for MavProtocolCapability"],["impl BitOrAssign for EstimatorStatusFlags"],["impl BitOrAssign for MavSysStatusSensor"],["impl BitOrAssign for EkfStatusFlags"],["impl BitOrAssign for MavWinchStatusFlag"],["impl BitOrAssign for MavPowerStatus"],["impl BitOrAssign for UtmDataAvailFlags"],["impl BitOrAssign for MavProtocolCapability"],["impl BitOrAssign for UavionixAdsbRfHealth"],["impl BitOrAssign for MavSysStatusSensor"],["impl BitOrAssign for AdsbFlags"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/ops/bit/trait.BitXor.js b/trait.impl/core/ops/bit/trait.BitXor.js index ba3b83e523..5c4ddb7606 100644 --- a/trait.impl/core/ops/bit/trait.BitXor.js +++ b/trait.impl/core/ops/bit/trait.BitXor.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mavlink":[["impl BitXor for EscFailureFlags"],["impl BitXor for GimbalDeviceFlags"],["impl BitXor for MavPowerStatus"],["impl BitXor for MavPowerStatus"],["impl BitXor for AisFlags"],["impl BitXor for GimbalDeviceErrorFlags"],["impl BitXor for UavionixAdsbRfHealth"],["impl BitXor for MavProtocolCapability"],["impl BitXor for GimbalManagerCapFlags"],["impl BitXor for MavEventCurrentSequenceFlags"],["impl BitXor for MavWinchStatusFlag"],["impl BitXor for UavionixAdsbOutDynamicState"],["impl BitXor for MavWinchStatusFlag"],["impl BitXor for PositionTargetTypemask"],["impl BitXor for AisFlags"],["impl BitXor for HighresImuUpdatedFlags"],["impl BitXor for AisFlags"],["impl BitXor for MavGeneratorStatusFlag"],["impl BitXor for HighresImuUpdatedFlags"],["impl BitXor for AdsbFlags"],["impl BitXor for MavGeneratorStatusFlag"],["impl BitXor for AttitudeTargetTypemask"],["impl BitXor for MavSysStatusSensor"],["impl BitXor for PositionTargetTypemask"],["impl BitXor for GimbalDeviceErrorFlags"],["impl BitXor for EscFailureFlags"],["impl BitXor for GimbalManagerCapFlags"],["impl BitXor for MavProtocolCapability"],["impl BitXor for GoproHeartbeatFlags"],["impl BitXor for GpsInputIgnoreFlags"],["impl BitXor for SerialControlFlag"],["impl BitXor for SerialControlFlag"],["impl BitXor for GimbalDeviceFlags"],["impl BitXor for UavionixAdsbRfHealth"],["impl BitXor for TuneFormat"],["impl BitXor for UavionixAdsbOutRfSelect"],["impl BitXor for AdsbFlags"],["impl BitXor for GimbalDeviceErrorFlags"],["impl BitXor for MavSysStatusSensor"],["impl BitXor for MavGeneratorStatusFlag"],["impl BitXor for PositionTargetTypemask"],["impl BitXor for GimbalDeviceCapFlags"],["impl BitXor for HighresImuUpdatedFlags"],["impl BitXor for LimitModule"],["impl BitXor for CameraCapFlags"],["impl BitXor for SerialControlFlag"],["impl BitXor for HlFailureFlag"],["impl BitXor for AttitudeTargetTypemask"],["impl BitXor for RallyFlags"],["impl BitXor for HilSensorUpdatedFlags"],["impl BitXor for MavProtocolCapability"],["impl BitXor for UavionixAdsbOutRfSelect"],["impl BitXor for MavSysStatusSensor"],["impl BitXor for EstimatorStatusFlags"],["impl BitXor for MavModeFlag"],["impl BitXor for MavModeFlag"],["impl BitXor for AttitudeTargetTypemask"],["impl BitXor for MavEventCurrentSequenceFlags"],["impl BitXor for MavWinchStatusFlag"],["impl BitXor for GimbalDeviceCapFlags"],["impl BitXor for TuneFormat"],["impl BitXor for GpsInputIgnoreFlags"],["impl BitXor for GimbalDeviceCapFlags"],["impl BitXor for UavionixAdsbOutDynamicState"],["impl BitXor for GimbalDeviceFlags"],["impl BitXor for EstimatorStatusFlags"],["impl BitXor for GimbalManagerCapFlags"],["impl BitXor for MavEventCurrentSequenceFlags"],["impl BitXor for CameraCapFlags"],["impl BitXor for MavModeFlag"],["impl BitXor for UtmDataAvailFlags"],["impl BitXor for HilSensorUpdatedFlags"],["impl BitXor for EscFailureFlags"],["impl BitXor for AdsbFlags"],["impl BitXor for HilSensorUpdatedFlags"],["impl BitXor for MavPowerStatus"],["impl BitXor for HlFailureFlag"],["impl BitXor for UtmDataAvailFlags"],["impl BitXor for CameraCapFlags"],["impl BitXor for HlFailureFlag"],["impl BitXor for TuneFormat"],["impl BitXor for EkfStatusFlags"],["impl BitXor for EstimatorStatusFlags"],["impl BitXor for UtmDataAvailFlags"],["impl BitXor for GpsInputIgnoreFlags"]] +"mavlink":[["impl BitXor for UavionixAdsbOutRfSelect"],["impl BitXor for GimbalDeviceErrorFlags"],["impl BitXor for GpsInputIgnoreFlags"],["impl BitXor for AisFlags"],["impl BitXor for GimbalDeviceCapFlags"],["impl BitXor for AdsbFlags"],["impl BitXor for MavPowerStatus"],["impl BitXor for MavWinchStatusFlag"],["impl BitXor for HlFailureFlag"],["impl BitXor for EstimatorStatusFlags"],["impl BitXor for HighresImuUpdatedFlags"],["impl BitXor for EstimatorStatusFlags"],["impl BitXor for UtmDataAvailFlags"],["impl BitXor for SerialControlFlag"],["impl BitXor for MavWinchStatusFlag"],["impl BitXor for MavGeneratorStatusFlag"],["impl BitXor for GimbalDeviceCapFlags"],["impl BitXor for PositionTargetTypemask"],["impl BitXor for MavEventCurrentSequenceFlags"],["impl BitXor for GimbalDeviceFlags"],["impl BitXor for EscFailureFlags"],["impl BitXor for MavSysStatusSensor"],["impl BitXor for MavPowerStatus"],["impl BitXor for MavModeFlag"],["impl BitXor for AdsbFlags"],["impl BitXor for MavPowerStatus"],["impl BitXor for AttitudeTargetTypemask"],["impl BitXor for AisFlags"],["impl BitXor for GimbalManagerCapFlags"],["impl BitXor for TuneFormat"],["impl BitXor for MavEventCurrentSequenceFlags"],["impl BitXor for CameraCapFlags"],["impl BitXor for GimbalManagerCapFlags"],["impl BitXor for MavGeneratorStatusFlag"],["impl BitXor for MavGeneratorStatusFlag"],["impl BitXor for AttitudeTargetTypemask"],["impl BitXor for CameraCapFlags"],["impl BitXor for HilSensorUpdatedFlags"],["impl BitXor for AdsbFlags"],["impl BitXor for HighresImuUpdatedFlags"],["impl BitXor for GimbalDeviceErrorFlags"],["impl BitXor for HlFailureFlag"],["impl BitXor for GpsInputIgnoreFlags"],["impl BitXor for EscFailureFlags"],["impl BitXor for UavionixAdsbRfHealth"],["impl BitXor for UtmDataAvailFlags"],["impl BitXor for HlFailureFlag"],["impl BitXor for PositionTargetTypemask"],["impl BitXor for SerialControlFlag"],["impl BitXor for LimitModule"],["impl BitXor for MavModeFlag"],["impl BitXor for PositionTargetTypemask"],["impl BitXor for GimbalDeviceCapFlags"],["impl BitXor for UavionixAdsbRfHealth"],["impl BitXor for TuneFormat"],["impl BitXor for GpsInputIgnoreFlags"],["impl BitXor for GimbalDeviceFlags"],["impl BitXor for RallyFlags"],["impl BitXor for HilSensorUpdatedFlags"],["impl BitXor for SerialControlFlag"],["impl BitXor for EkfStatusFlags"],["impl BitXor for GimbalManagerCapFlags"],["impl BitXor for CameraCapFlags"],["impl BitXor for UavionixAdsbOutDynamicState"],["impl BitXor for GimbalDeviceFlags"],["impl BitXor for EstimatorStatusFlags"],["impl BitXor for HighresImuUpdatedFlags"],["impl BitXor for GimbalDeviceErrorFlags"],["impl BitXor for UtmDataAvailFlags"],["impl BitXor for HilSensorUpdatedFlags"],["impl BitXor for MavEventCurrentSequenceFlags"],["impl BitXor for MavWinchStatusFlag"],["impl BitXor for MavProtocolCapability"],["impl BitXor for AttitudeTargetTypemask"],["impl BitXor for MavModeFlag"],["impl BitXor for MavProtocolCapability"],["impl BitXor for MavSysStatusSensor"],["impl BitXor for UavionixAdsbOutDynamicState"],["impl BitXor for MavProtocolCapability"],["impl BitXor for AisFlags"],["impl BitXor for EscFailureFlags"],["impl BitXor for TuneFormat"],["impl BitXor for MavSysStatusSensor"],["impl BitXor for UavionixAdsbOutRfSelect"],["impl BitXor for GoproHeartbeatFlags"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/ops/bit/trait.BitXorAssign.js b/trait.impl/core/ops/bit/trait.BitXorAssign.js index 679b27bf2b..a966864da1 100644 --- a/trait.impl/core/ops/bit/trait.BitXorAssign.js +++ b/trait.impl/core/ops/bit/trait.BitXorAssign.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mavlink":[["impl BitXorAssign for AdsbFlags"],["impl BitXorAssign for GimbalDeviceFlags"],["impl BitXorAssign for SerialControlFlag"],["impl BitXorAssign for UavionixAdsbOutRfSelect"],["impl BitXorAssign for RallyFlags"],["impl BitXorAssign for AisFlags"],["impl BitXorAssign for MavProtocolCapability"],["impl BitXorAssign for MavModeFlag"],["impl BitXorAssign for HilSensorUpdatedFlags"],["impl BitXorAssign for UtmDataAvailFlags"],["impl BitXorAssign for GpsInputIgnoreFlags"],["impl BitXorAssign for TuneFormat"],["impl BitXorAssign for GimbalDeviceErrorFlags"],["impl BitXorAssign for UavionixAdsbRfHealth"],["impl BitXorAssign for MavGeneratorStatusFlag"],["impl BitXorAssign for HilSensorUpdatedFlags"],["impl BitXorAssign for CameraCapFlags"],["impl BitXorAssign for MavSysStatusSensor"],["impl BitXorAssign for MavWinchStatusFlag"],["impl BitXorAssign for GimbalDeviceCapFlags"],["impl BitXorAssign for GimbalManagerCapFlags"],["impl BitXorAssign for HighresImuUpdatedFlags"],["impl BitXorAssign for UavionixAdsbOutDynamicState"],["impl BitXorAssign for HlFailureFlag"],["impl BitXorAssign for TuneFormat"],["impl BitXorAssign for GimbalManagerCapFlags"],["impl BitXorAssign for HighresImuUpdatedFlags"],["impl BitXorAssign for GimbalDeviceCapFlags"],["impl BitXorAssign for MavSysStatusSensor"],["impl BitXorAssign for UavionixAdsbOutDynamicState"],["impl BitXorAssign for AttitudeTargetTypemask"],["impl BitXorAssign for PositionTargetTypemask"],["impl BitXorAssign for CameraCapFlags"],["impl BitXorAssign for HlFailureFlag"],["impl BitXorAssign for MavPowerStatus"],["impl BitXorAssign for MavEventCurrentSequenceFlags"],["impl BitXorAssign for MavEventCurrentSequenceFlags"],["impl BitXorAssign for LimitModule"],["impl BitXorAssign for EkfStatusFlags"],["impl BitXorAssign for GpsInputIgnoreFlags"],["impl BitXorAssign for MavEventCurrentSequenceFlags"],["impl BitXorAssign for MavWinchStatusFlag"],["impl BitXorAssign for PositionTargetTypemask"],["impl BitXorAssign for AisFlags"],["impl BitXorAssign for TuneFormat"],["impl BitXorAssign for UavionixAdsbRfHealth"],["impl BitXorAssign for GimbalDeviceFlags"],["impl BitXorAssign for SerialControlFlag"],["impl BitXorAssign for HighresImuUpdatedFlags"],["impl BitXorAssign for AdsbFlags"],["impl BitXorAssign for MavProtocolCapability"],["impl BitXorAssign for EscFailureFlags"],["impl BitXorAssign for MavProtocolCapability"],["impl BitXorAssign for PositionTargetTypemask"],["impl BitXorAssign for AttitudeTargetTypemask"],["impl BitXorAssign for EstimatorStatusFlags"],["impl BitXorAssign for MavModeFlag"],["impl BitXorAssign for MavGeneratorStatusFlag"],["impl BitXorAssign for EstimatorStatusFlags"],["impl BitXorAssign for MavPowerStatus"],["impl BitXorAssign for GoproHeartbeatFlags"],["impl BitXorAssign for AttitudeTargetTypemask"],["impl BitXorAssign for CameraCapFlags"],["impl BitXorAssign for AdsbFlags"],["impl BitXorAssign for UtmDataAvailFlags"],["impl BitXorAssign for UavionixAdsbOutRfSelect"],["impl BitXorAssign for MavPowerStatus"],["impl BitXorAssign for GimbalDeviceErrorFlags"],["impl BitXorAssign for SerialControlFlag"],["impl BitXorAssign for GimbalDeviceErrorFlags"],["impl BitXorAssign for EstimatorStatusFlags"],["impl BitXorAssign for GimbalDeviceFlags"],["impl BitXorAssign for AisFlags"],["impl BitXorAssign for HilSensorUpdatedFlags"],["impl BitXorAssign for MavGeneratorStatusFlag"],["impl BitXorAssign for HlFailureFlag"],["impl BitXorAssign for MavSysStatusSensor"],["impl BitXorAssign for UtmDataAvailFlags"],["impl BitXorAssign for MavModeFlag"],["impl BitXorAssign for GimbalManagerCapFlags"],["impl BitXorAssign for EscFailureFlags"],["impl BitXorAssign for MavWinchStatusFlag"],["impl BitXorAssign for GpsInputIgnoreFlags"],["impl BitXorAssign for GimbalDeviceCapFlags"],["impl BitXorAssign for EscFailureFlags"]] +"mavlink":[["impl BitXorAssign for HighresImuUpdatedFlags"],["impl BitXorAssign for EstimatorStatusFlags"],["impl BitXorAssign for EstimatorStatusFlags"],["impl BitXorAssign for MavSysStatusSensor"],["impl BitXorAssign for MavPowerStatus"],["impl BitXorAssign for MavProtocolCapability"],["impl BitXorAssign for CameraCapFlags"],["impl BitXorAssign for MavModeFlag"],["impl BitXorAssign for MavSysStatusSensor"],["impl BitXorAssign for EscFailureFlags"],["impl BitXorAssign for CameraCapFlags"],["impl BitXorAssign for UtmDataAvailFlags"],["impl BitXorAssign for UavionixAdsbRfHealth"],["impl BitXorAssign for HlFailureFlag"],["impl BitXorAssign for TuneFormat"],["impl BitXorAssign for MavEventCurrentSequenceFlags"],["impl BitXorAssign for HilSensorUpdatedFlags"],["impl BitXorAssign for MavWinchStatusFlag"],["impl BitXorAssign for EscFailureFlags"],["impl BitXorAssign for MavEventCurrentSequenceFlags"],["impl BitXorAssign for EkfStatusFlags"],["impl BitXorAssign for SerialControlFlag"],["impl BitXorAssign for TuneFormat"],["impl BitXorAssign for HighresImuUpdatedFlags"],["impl BitXorAssign for AisFlags"],["impl BitXorAssign for TuneFormat"],["impl BitXorAssign for AttitudeTargetTypemask"],["impl BitXorAssign for GimbalDeviceErrorFlags"],["impl BitXorAssign for AttitudeTargetTypemask"],["impl BitXorAssign for GimbalDeviceErrorFlags"],["impl BitXorAssign for MavWinchStatusFlag"],["impl BitXorAssign for SerialControlFlag"],["impl BitXorAssign for GpsInputIgnoreFlags"],["impl BitXorAssign for UavionixAdsbRfHealth"],["impl BitXorAssign for GoproHeartbeatFlags"],["impl BitXorAssign for AdsbFlags"],["impl BitXorAssign for HilSensorUpdatedFlags"],["impl BitXorAssign for GimbalManagerCapFlags"],["impl BitXorAssign for RallyFlags"],["impl BitXorAssign for HlFailureFlag"],["impl BitXorAssign for AisFlags"],["impl BitXorAssign for HlFailureFlag"],["impl BitXorAssign for MavPowerStatus"],["impl BitXorAssign for AisFlags"],["impl BitXorAssign for GpsInputIgnoreFlags"],["impl BitXorAssign for MavModeFlag"],["impl BitXorAssign for UavionixAdsbOutDynamicState"],["impl BitXorAssign for MavGeneratorStatusFlag"],["impl BitXorAssign for HilSensorUpdatedFlags"],["impl BitXorAssign for MavEventCurrentSequenceFlags"],["impl BitXorAssign for UtmDataAvailFlags"],["impl BitXorAssign for GimbalDeviceFlags"],["impl BitXorAssign for EscFailureFlags"],["impl BitXorAssign for GimbalDeviceCapFlags"],["impl BitXorAssign for AdsbFlags"],["impl BitXorAssign for UtmDataAvailFlags"],["impl BitXorAssign for MavProtocolCapability"],["impl BitXorAssign for MavGeneratorStatusFlag"],["impl BitXorAssign for GimbalDeviceFlags"],["impl BitXorAssign for GimbalDeviceCapFlags"],["impl BitXorAssign for GimbalManagerCapFlags"],["impl BitXorAssign for PositionTargetTypemask"],["impl BitXorAssign for PositionTargetTypemask"],["impl BitXorAssign for MavModeFlag"],["impl BitXorAssign for MavWinchStatusFlag"],["impl BitXorAssign for PositionTargetTypemask"],["impl BitXorAssign for UavionixAdsbOutRfSelect"],["impl BitXorAssign for MavProtocolCapability"],["impl BitXorAssign for AttitudeTargetTypemask"],["impl BitXorAssign for GpsInputIgnoreFlags"],["impl BitXorAssign for MavPowerStatus"],["impl BitXorAssign for LimitModule"],["impl BitXorAssign for HighresImuUpdatedFlags"],["impl BitXorAssign for MavGeneratorStatusFlag"],["impl BitXorAssign for CameraCapFlags"],["impl BitXorAssign for EstimatorStatusFlags"],["impl BitXorAssign for GimbalManagerCapFlags"],["impl BitXorAssign for AdsbFlags"],["impl BitXorAssign for UavionixAdsbOutDynamicState"],["impl BitXorAssign for MavSysStatusSensor"],["impl BitXorAssign for GimbalDeviceCapFlags"],["impl BitXorAssign for UavionixAdsbOutRfSelect"],["impl BitXorAssign for GimbalDeviceFlags"],["impl BitXorAssign for SerialControlFlag"],["impl BitXorAssign for GimbalDeviceErrorFlags"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/ops/bit/trait.Not.js b/trait.impl/core/ops/bit/trait.Not.js index 59d7f5645a..db8207924f 100644 --- a/trait.impl/core/ops/bit/trait.Not.js +++ b/trait.impl/core/ops/bit/trait.Not.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"mavlink":[["impl Not for GimbalDeviceCapFlags"],["impl Not for MavSysStatusSensor"],["impl Not for GimbalDeviceCapFlags"],["impl Not for MavProtocolCapability"],["impl Not for EstimatorStatusFlags"],["impl Not for LimitModule"],["impl Not for AdsbFlags"],["impl Not for UavionixAdsbRfHealth"],["impl Not for MavPowerStatus"],["impl Not for GimbalDeviceErrorFlags"],["impl Not for MavGeneratorStatusFlag"],["impl Not for HlFailureFlag"],["impl Not for AisFlags"],["impl Not for GoproHeartbeatFlags"],["impl Not for CameraCapFlags"],["impl Not for CameraCapFlags"],["impl Not for EscFailureFlags"],["impl Not for UavionixAdsbRfHealth"],["impl Not for HilSensorUpdatedFlags"],["impl Not for GimbalManagerCapFlags"],["impl Not for MavEventCurrentSequenceFlags"],["impl Not for UavionixAdsbOutRfSelect"],["impl Not for MavPowerStatus"],["impl Not for RallyFlags"],["impl Not for AttitudeTargetTypemask"],["impl Not for HighresImuUpdatedFlags"],["impl Not for MavEventCurrentSequenceFlags"],["impl Not for SerialControlFlag"],["impl Not for MavWinchStatusFlag"],["impl Not for HighresImuUpdatedFlags"],["impl Not for PositionTargetTypemask"],["impl Not for UtmDataAvailFlags"],["impl Not for PositionTargetTypemask"],["impl Not for GimbalDeviceFlags"],["impl Not for MavSysStatusSensor"],["impl Not for UavionixAdsbOutDynamicState"],["impl Not for MavGeneratorStatusFlag"],["impl Not for TuneFormat"],["impl Not for HilSensorUpdatedFlags"],["impl Not for GpsInputIgnoreFlags"],["impl Not for MavProtocolCapability"],["impl Not for MavProtocolCapability"],["impl Not for MavWinchStatusFlag"],["impl Not for MavGeneratorStatusFlag"],["impl Not for UtmDataAvailFlags"],["impl Not for AttitudeTargetTypemask"],["impl Not for UtmDataAvailFlags"],["impl Not for SerialControlFlag"],["impl Not for HlFailureFlag"],["impl Not for GimbalDeviceErrorFlags"],["impl Not for GpsInputIgnoreFlags"],["impl Not for EstimatorStatusFlags"],["impl Not for PositionTargetTypemask"],["impl Not for AisFlags"],["impl Not for MavWinchStatusFlag"],["impl Not for HlFailureFlag"],["impl Not for MavPowerStatus"],["impl Not for EscFailureFlags"],["impl Not for UavionixAdsbOutDynamicState"],["impl Not for SerialControlFlag"],["impl Not for TuneFormat"],["impl Not for GpsInputIgnoreFlags"],["impl Not for AdsbFlags"],["impl Not for HighresImuUpdatedFlags"],["impl Not for MavModeFlag"],["impl Not for CameraCapFlags"],["impl Not for HilSensorUpdatedFlags"],["impl Not for GimbalDeviceFlags"],["impl Not for GimbalDeviceFlags"],["impl Not for GimbalManagerCapFlags"],["impl Not for UavionixAdsbOutRfSelect"],["impl Not for EstimatorStatusFlags"],["impl Not for MavModeFlag"],["impl Not for AisFlags"],["impl Not for GimbalDeviceCapFlags"],["impl Not for AttitudeTargetTypemask"],["impl Not for GimbalDeviceErrorFlags"],["impl Not for MavEventCurrentSequenceFlags"],["impl Not for EscFailureFlags"],["impl Not for MavModeFlag"],["impl Not for GimbalManagerCapFlags"],["impl Not for MavSysStatusSensor"],["impl Not for EkfStatusFlags"],["impl Not for TuneFormat"],["impl Not for AdsbFlags"]] +"mavlink":[["impl Not for GpsInputIgnoreFlags"],["impl Not for GimbalDeviceErrorFlags"],["impl Not for EstimatorStatusFlags"],["impl Not for PositionTargetTypemask"],["impl Not for MavModeFlag"],["impl Not for MavProtocolCapability"],["impl Not for EscFailureFlags"],["impl Not for EkfStatusFlags"],["impl Not for AttitudeTargetTypemask"],["impl Not for MavProtocolCapability"],["impl Not for MavPowerStatus"],["impl Not for EstimatorStatusFlags"],["impl Not for GimbalDeviceErrorFlags"],["impl Not for GimbalManagerCapFlags"],["impl Not for LimitModule"],["impl Not for HighresImuUpdatedFlags"],["impl Not for AisFlags"],["impl Not for GimbalDeviceCapFlags"],["impl Not for HlFailureFlag"],["impl Not for PositionTargetTypemask"],["impl Not for EscFailureFlags"],["impl Not for EstimatorStatusFlags"],["impl Not for UavionixAdsbOutDynamicState"],["impl Not for MavWinchStatusFlag"],["impl Not for MavSysStatusSensor"],["impl Not for TuneFormat"],["impl Not for MavEventCurrentSequenceFlags"],["impl Not for AdsbFlags"],["impl Not for MavPowerStatus"],["impl Not for AisFlags"],["impl Not for GoproHeartbeatFlags"],["impl Not for EscFailureFlags"],["impl Not for MavWinchStatusFlag"],["impl Not for MavPowerStatus"],["impl Not for GimbalDeviceCapFlags"],["impl Not for HlFailureFlag"],["impl Not for GimbalDeviceFlags"],["impl Not for SerialControlFlag"],["impl Not for CameraCapFlags"],["impl Not for MavModeFlag"],["impl Not for CameraCapFlags"],["impl Not for UavionixAdsbRfHealth"],["impl Not for MavGeneratorStatusFlag"],["impl Not for AdsbFlags"],["impl Not for MavEventCurrentSequenceFlags"],["impl Not for UavionixAdsbOutRfSelect"],["impl Not for AdsbFlags"],["impl Not for UtmDataAvailFlags"],["impl Not for MavModeFlag"],["impl Not for RallyFlags"],["impl Not for UavionixAdsbOutDynamicState"],["impl Not for UtmDataAvailFlags"],["impl Not for MavProtocolCapability"],["impl Not for HilSensorUpdatedFlags"],["impl Not for GimbalDeviceFlags"],["impl Not for HlFailureFlag"],["impl Not for PositionTargetTypemask"],["impl Not for MavSysStatusSensor"],["impl Not for HighresImuUpdatedFlags"],["impl Not for AisFlags"],["impl Not for SerialControlFlag"],["impl Not for SerialControlFlag"],["impl Not for UtmDataAvailFlags"],["impl Not for UavionixAdsbRfHealth"],["impl Not for AttitudeTargetTypemask"],["impl Not for GpsInputIgnoreFlags"],["impl Not for GpsInputIgnoreFlags"],["impl Not for TuneFormat"],["impl Not for HighresImuUpdatedFlags"],["impl Not for MavGeneratorStatusFlag"],["impl Not for GimbalDeviceCapFlags"],["impl Not for MavGeneratorStatusFlag"],["impl Not for UavionixAdsbOutRfSelect"],["impl Not for CameraCapFlags"],["impl Not for GimbalDeviceFlags"],["impl Not for AttitudeTargetTypemask"],["impl Not for GimbalManagerCapFlags"],["impl Not for MavSysStatusSensor"],["impl Not for TuneFormat"],["impl Not for GimbalManagerCapFlags"],["impl Not for MavWinchStatusFlag"],["impl Not for HilSensorUpdatedFlags"],["impl Not for GimbalDeviceErrorFlags"],["impl Not for MavEventCurrentSequenceFlags"],["impl Not for HilSensorUpdatedFlags"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index 9885b3110d..6155032edc 100644 --- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -2,7 +2,7 @@ "byteorder":[["impl RefUnwindSafe for BigEndian",1,["byteorder::BigEndian"]],["impl RefUnwindSafe for LittleEndian",1,["byteorder::LittleEndian"]]], "crc_any":[["impl RefUnwindSafe for CRCu16",1,["crc_any::crc_u16::CRCu16"]],["impl RefUnwindSafe for CRCu32",1,["crc_any::crc_u32::CRCu32"]],["impl RefUnwindSafe for CRCu64",1,["crc_any::crc_u64::CRCu64"]],["impl RefUnwindSafe for CRCu8",1,["crc_any::crc_u8::CRCu8"]],["impl RefUnwindSafe for CRC",1,["crc_any::CRC"]]], "libc":[["impl RefUnwindSafe for statvfs",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::not_x32::statvfs"]],["impl RefUnwindSafe for max_align_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::align::max_align_t"]],["impl RefUnwindSafe for clone_args",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::align::clone_args"]],["impl RefUnwindSafe for sigaction",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::sigaction"]],["impl RefUnwindSafe for statfs",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statfs"]],["impl RefUnwindSafe for flock",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::flock"]],["impl RefUnwindSafe for flock64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::flock64"]],["impl RefUnwindSafe for siginfo_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::siginfo_t"]],["impl RefUnwindSafe for stack_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stack_t"]],["impl RefUnwindSafe for stat",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stat"]],["impl RefUnwindSafe for stat64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stat64"]],["impl RefUnwindSafe for statfs64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statfs64"]],["impl RefUnwindSafe for statvfs64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statvfs64"]],["impl RefUnwindSafe for pthread_attr_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::pthread_attr_t"]],["impl RefUnwindSafe for _libc_fpxreg",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_fpxreg"]],["impl RefUnwindSafe for _libc_xmmreg",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_xmmreg"]],["impl RefUnwindSafe for _libc_fpstate",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_fpstate"]],["impl RefUnwindSafe for user_regs_struct",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user_regs_struct"]],["impl RefUnwindSafe for user",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user"]],["impl RefUnwindSafe for mcontext_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::mcontext_t"]],["impl RefUnwindSafe for ipc_perm",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ipc_perm"]],["impl RefUnwindSafe for shmid_ds",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::shmid_ds"]],["impl RefUnwindSafe for seccomp_notif_sizes",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::seccomp_notif_sizes"]],["impl RefUnwindSafe for ptrace_rseq_configuration",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ptrace_rseq_configuration"]],["impl RefUnwindSafe for user_fpregs_struct",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user_fpregs_struct"]],["impl RefUnwindSafe for ucontext_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ucontext_t"]],["impl RefUnwindSafe for sigset_t",1,["libc::unix::linux_like::linux::gnu::b64::sigset_t"]],["impl RefUnwindSafe for sysinfo",1,["libc::unix::linux_like::linux::gnu::b64::sysinfo"]],["impl RefUnwindSafe for msqid_ds",1,["libc::unix::linux_like::linux::gnu::b64::msqid_ds"]],["impl RefUnwindSafe for semid_ds",1,["libc::unix::linux_like::linux::gnu::b64::semid_ds"]],["impl RefUnwindSafe for sem_t",1,["libc::unix::linux_like::linux::gnu::align::sem_t"]],["impl RefUnwindSafe for statx",1,["libc::unix::linux_like::linux::gnu::statx"]],["impl RefUnwindSafe for statx_timestamp",1,["libc::unix::linux_like::linux::gnu::statx_timestamp"]],["impl RefUnwindSafe for aiocb",1,["libc::unix::linux_like::linux::gnu::aiocb"]],["impl RefUnwindSafe for __exit_status",1,["libc::unix::linux_like::linux::gnu::__exit_status"]],["impl RefUnwindSafe for __timeval",1,["libc::unix::linux_like::linux::gnu::__timeval"]],["impl RefUnwindSafe for glob64_t",1,["libc::unix::linux_like::linux::gnu::glob64_t"]],["impl RefUnwindSafe for msghdr",1,["libc::unix::linux_like::linux::gnu::msghdr"]],["impl RefUnwindSafe for cmsghdr",1,["libc::unix::linux_like::linux::gnu::cmsghdr"]],["impl RefUnwindSafe for termios",1,["libc::unix::linux_like::linux::gnu::termios"]],["impl RefUnwindSafe for mallinfo",1,["libc::unix::linux_like::linux::gnu::mallinfo"]],["impl RefUnwindSafe for mallinfo2",1,["libc::unix::linux_like::linux::gnu::mallinfo2"]],["impl RefUnwindSafe for nl_pktinfo",1,["libc::unix::linux_like::linux::gnu::nl_pktinfo"]],["impl RefUnwindSafe for nl_mmap_req",1,["libc::unix::linux_like::linux::gnu::nl_mmap_req"]],["impl RefUnwindSafe for nl_mmap_hdr",1,["libc::unix::linux_like::linux::gnu::nl_mmap_hdr"]],["impl RefUnwindSafe for rtentry",1,["libc::unix::linux_like::linux::gnu::rtentry"]],["impl RefUnwindSafe for timex",1,["libc::unix::linux_like::linux::gnu::timex"]],["impl RefUnwindSafe for ntptimeval",1,["libc::unix::linux_like::linux::gnu::ntptimeval"]],["impl RefUnwindSafe for regex_t",1,["libc::unix::linux_like::linux::gnu::regex_t"]],["impl RefUnwindSafe for Elf64_Chdr",1,["libc::unix::linux_like::linux::gnu::Elf64_Chdr"]],["impl RefUnwindSafe for Elf32_Chdr",1,["libc::unix::linux_like::linux::gnu::Elf32_Chdr"]],["impl RefUnwindSafe for seminfo",1,["libc::unix::linux_like::linux::gnu::seminfo"]],["impl RefUnwindSafe for ptrace_peeksiginfo_args",1,["libc::unix::linux_like::linux::gnu::ptrace_peeksiginfo_args"]],["impl RefUnwindSafe for __c_anonymous_ptrace_syscall_info_entry",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_entry"]],["impl RefUnwindSafe for __c_anonymous_ptrace_syscall_info_exit",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_exit"]],["impl RefUnwindSafe for __c_anonymous_ptrace_syscall_info_seccomp",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_seccomp"]],["impl RefUnwindSafe for ptrace_syscall_info",1,["libc::unix::linux_like::linux::gnu::ptrace_syscall_info"]],["impl RefUnwindSafe for sockaddr_xdp",1,["libc::unix::linux_like::linux::gnu::sockaddr_xdp"]],["impl RefUnwindSafe for xdp_ring_offset",1,["libc::unix::linux_like::linux::gnu::xdp_ring_offset"]],["impl RefUnwindSafe for xdp_mmap_offsets",1,["libc::unix::linux_like::linux::gnu::xdp_mmap_offsets"]],["impl RefUnwindSafe for xdp_ring_offset_v1",1,["libc::unix::linux_like::linux::gnu::xdp_ring_offset_v1"]],["impl RefUnwindSafe for xdp_mmap_offsets_v1",1,["libc::unix::linux_like::linux::gnu::xdp_mmap_offsets_v1"]],["impl RefUnwindSafe for xdp_umem_reg",1,["libc::unix::linux_like::linux::gnu::xdp_umem_reg"]],["impl RefUnwindSafe for xdp_umem_reg_v1",1,["libc::unix::linux_like::linux::gnu::xdp_umem_reg_v1"]],["impl RefUnwindSafe for xdp_statistics",1,["libc::unix::linux_like::linux::gnu::xdp_statistics"]],["impl RefUnwindSafe for xdp_statistics_v1",1,["libc::unix::linux_like::linux::gnu::xdp_statistics_v1"]],["impl RefUnwindSafe for xdp_options",1,["libc::unix::linux_like::linux::gnu::xdp_options"]],["impl RefUnwindSafe for xdp_desc",1,["libc::unix::linux_like::linux::gnu::xdp_desc"]],["impl RefUnwindSafe for __c_anonymous_ptrace_syscall_info_data",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_data"]],["impl RefUnwindSafe for utmpx",1,["libc::unix::linux_like::linux::gnu::utmpx"]],["impl RefUnwindSafe for termios2",1,["libc::unix::linux_like::linux::arch::generic::termios2"]],["impl RefUnwindSafe for open_how",1,["libc::unix::linux_like::linux::non_exhaustive::open_how"]],["impl RefUnwindSafe for fpos64_t",1,["libc::unix::linux_like::linux::fpos64_t"]],["impl RefUnwindSafe for glob_t",1,["libc::unix::linux_like::linux::glob_t"]],["impl RefUnwindSafe for passwd",1,["libc::unix::linux_like::linux::passwd"]],["impl RefUnwindSafe for spwd",1,["libc::unix::linux_like::linux::spwd"]],["impl RefUnwindSafe for dqblk",1,["libc::unix::linux_like::linux::dqblk"]],["impl RefUnwindSafe for signalfd_siginfo",1,["libc::unix::linux_like::linux::signalfd_siginfo"]],["impl RefUnwindSafe for itimerspec",1,["libc::unix::linux_like::linux::itimerspec"]],["impl RefUnwindSafe for fsid_t",1,["libc::unix::linux_like::linux::fsid_t"]],["impl RefUnwindSafe for packet_mreq",1,["libc::unix::linux_like::linux::packet_mreq"]],["impl RefUnwindSafe for cpu_set_t",1,["libc::unix::linux_like::linux::cpu_set_t"]],["impl RefUnwindSafe for if_nameindex",1,["libc::unix::linux_like::linux::if_nameindex"]],["impl RefUnwindSafe for msginfo",1,["libc::unix::linux_like::linux::msginfo"]],["impl RefUnwindSafe for sembuf",1,["libc::unix::linux_like::linux::sembuf"]],["impl RefUnwindSafe for input_event",1,["libc::unix::linux_like::linux::input_event"]],["impl RefUnwindSafe for input_id",1,["libc::unix::linux_like::linux::input_id"]],["impl RefUnwindSafe for input_absinfo",1,["libc::unix::linux_like::linux::input_absinfo"]],["impl RefUnwindSafe for input_keymap_entry",1,["libc::unix::linux_like::linux::input_keymap_entry"]],["impl RefUnwindSafe for input_mask",1,["libc::unix::linux_like::linux::input_mask"]],["impl RefUnwindSafe for ff_replay",1,["libc::unix::linux_like::linux::ff_replay"]],["impl RefUnwindSafe for ff_trigger",1,["libc::unix::linux_like::linux::ff_trigger"]],["impl RefUnwindSafe for ff_envelope",1,["libc::unix::linux_like::linux::ff_envelope"]],["impl RefUnwindSafe for ff_constant_effect",1,["libc::unix::linux_like::linux::ff_constant_effect"]],["impl RefUnwindSafe for ff_ramp_effect",1,["libc::unix::linux_like::linux::ff_ramp_effect"]],["impl RefUnwindSafe for ff_condition_effect",1,["libc::unix::linux_like::linux::ff_condition_effect"]],["impl RefUnwindSafe for ff_periodic_effect",1,["libc::unix::linux_like::linux::ff_periodic_effect"]],["impl RefUnwindSafe for ff_rumble_effect",1,["libc::unix::linux_like::linux::ff_rumble_effect"]],["impl RefUnwindSafe for ff_effect",1,["libc::unix::linux_like::linux::ff_effect"]],["impl RefUnwindSafe for uinput_ff_upload",1,["libc::unix::linux_like::linux::uinput_ff_upload"]],["impl RefUnwindSafe for uinput_ff_erase",1,["libc::unix::linux_like::linux::uinput_ff_erase"]],["impl RefUnwindSafe for uinput_abs_setup",1,["libc::unix::linux_like::linux::uinput_abs_setup"]],["impl RefUnwindSafe for dl_phdr_info",1,["libc::unix::linux_like::linux::dl_phdr_info"]],["impl RefUnwindSafe for Elf32_Ehdr",1,["libc::unix::linux_like::linux::Elf32_Ehdr"]],["impl RefUnwindSafe for Elf64_Ehdr",1,["libc::unix::linux_like::linux::Elf64_Ehdr"]],["impl RefUnwindSafe for Elf32_Sym",1,["libc::unix::linux_like::linux::Elf32_Sym"]],["impl RefUnwindSafe for Elf64_Sym",1,["libc::unix::linux_like::linux::Elf64_Sym"]],["impl RefUnwindSafe for Elf32_Phdr",1,["libc::unix::linux_like::linux::Elf32_Phdr"]],["impl RefUnwindSafe for Elf64_Phdr",1,["libc::unix::linux_like::linux::Elf64_Phdr"]],["impl RefUnwindSafe for Elf32_Shdr",1,["libc::unix::linux_like::linux::Elf32_Shdr"]],["impl RefUnwindSafe for Elf64_Shdr",1,["libc::unix::linux_like::linux::Elf64_Shdr"]],["impl RefUnwindSafe for ucred",1,["libc::unix::linux_like::linux::ucred"]],["impl RefUnwindSafe for mntent",1,["libc::unix::linux_like::linux::mntent"]],["impl RefUnwindSafe for posix_spawn_file_actions_t",1,["libc::unix::linux_like::linux::posix_spawn_file_actions_t"]],["impl RefUnwindSafe for posix_spawnattr_t",1,["libc::unix::linux_like::linux::posix_spawnattr_t"]],["impl RefUnwindSafe for genlmsghdr",1,["libc::unix::linux_like::linux::genlmsghdr"]],["impl RefUnwindSafe for in6_pktinfo",1,["libc::unix::linux_like::linux::in6_pktinfo"]],["impl RefUnwindSafe for arpd_request",1,["libc::unix::linux_like::linux::arpd_request"]],["impl RefUnwindSafe for inotify_event",1,["libc::unix::linux_like::linux::inotify_event"]],["impl RefUnwindSafe for fanotify_response",1,["libc::unix::linux_like::linux::fanotify_response"]],["impl RefUnwindSafe for sockaddr_vm",1,["libc::unix::linux_like::linux::sockaddr_vm"]],["impl RefUnwindSafe for regmatch_t",1,["libc::unix::linux_like::linux::regmatch_t"]],["impl RefUnwindSafe for sock_extended_err",1,["libc::unix::linux_like::linux::sock_extended_err"]],["impl RefUnwindSafe for __c_anonymous_sockaddr_can_tp",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_tp"]],["impl RefUnwindSafe for __c_anonymous_sockaddr_can_j1939",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_j1939"]],["impl RefUnwindSafe for can_filter",1,["libc::unix::linux_like::linux::can_filter"]],["impl RefUnwindSafe for j1939_filter",1,["libc::unix::linux_like::linux::j1939_filter"]],["impl RefUnwindSafe for sock_filter",1,["libc::unix::linux_like::linux::sock_filter"]],["impl RefUnwindSafe for sock_fprog",1,["libc::unix::linux_like::linux::sock_fprog"]],["impl RefUnwindSafe for seccomp_data",1,["libc::unix::linux_like::linux::seccomp_data"]],["impl RefUnwindSafe for nlmsghdr",1,["libc::unix::linux_like::linux::nlmsghdr"]],["impl RefUnwindSafe for nlmsgerr",1,["libc::unix::linux_like::linux::nlmsgerr"]],["impl RefUnwindSafe for nlattr",1,["libc::unix::linux_like::linux::nlattr"]],["impl RefUnwindSafe for file_clone_range",1,["libc::unix::linux_like::linux::file_clone_range"]],["impl RefUnwindSafe for __c_anonymous_ifru_map",1,["libc::unix::linux_like::linux::__c_anonymous_ifru_map"]],["impl RefUnwindSafe for in6_ifreq",1,["libc::unix::linux_like::linux::in6_ifreq"]],["impl RefUnwindSafe for option",1,["libc::unix::linux_like::linux::option"]],["impl RefUnwindSafe for sctp_initmsg",1,["libc::unix::linux_like::linux::sctp_initmsg"]],["impl RefUnwindSafe for sctp_sndrcvinfo",1,["libc::unix::linux_like::linux::sctp_sndrcvinfo"]],["impl RefUnwindSafe for sctp_sndinfo",1,["libc::unix::linux_like::linux::sctp_sndinfo"]],["impl RefUnwindSafe for sctp_rcvinfo",1,["libc::unix::linux_like::linux::sctp_rcvinfo"]],["impl RefUnwindSafe for sctp_nxtinfo",1,["libc::unix::linux_like::linux::sctp_nxtinfo"]],["impl RefUnwindSafe for sctp_prinfo",1,["libc::unix::linux_like::linux::sctp_prinfo"]],["impl RefUnwindSafe for sctp_authinfo",1,["libc::unix::linux_like::linux::sctp_authinfo"]],["impl RefUnwindSafe for rlimit64",1,["libc::unix::linux_like::linux::rlimit64"]],["impl RefUnwindSafe for tls_crypto_info",1,["libc::unix::linux_like::linux::tls_crypto_info"]],["impl RefUnwindSafe for tls12_crypto_info_aes_gcm_128",1,["libc::unix::linux_like::linux::tls12_crypto_info_aes_gcm_128"]],["impl RefUnwindSafe for tls12_crypto_info_aes_gcm_256",1,["libc::unix::linux_like::linux::tls12_crypto_info_aes_gcm_256"]],["impl RefUnwindSafe for tls12_crypto_info_chacha20_poly1305",1,["libc::unix::linux_like::linux::tls12_crypto_info_chacha20_poly1305"]],["impl RefUnwindSafe for sockaddr_nl",1,["libc::unix::linux_like::linux::sockaddr_nl"]],["impl RefUnwindSafe for dirent",1,["libc::unix::linux_like::linux::dirent"]],["impl RefUnwindSafe for sockaddr_alg",1,["libc::unix::linux_like::linux::sockaddr_alg"]],["impl RefUnwindSafe for uinput_setup",1,["libc::unix::linux_like::linux::uinput_setup"]],["impl RefUnwindSafe for uinput_user_dev",1,["libc::unix::linux_like::linux::uinput_user_dev"]],["impl RefUnwindSafe for af_alg_iv",1,["libc::unix::linux_like::linux::af_alg_iv"]],["impl RefUnwindSafe for mq_attr",1,["libc::unix::linux_like::linux::mq_attr"]],["impl RefUnwindSafe for __c_anonymous_ifr_ifru",1,["libc::unix::linux_like::linux::__c_anonymous_ifr_ifru"]],["impl RefUnwindSafe for ifreq",1,["libc::unix::linux_like::linux::ifreq"]],["impl RefUnwindSafe for __c_anonymous_ifc_ifcu",1,["libc::unix::linux_like::linux::__c_anonymous_ifc_ifcu"]],["impl RefUnwindSafe for ifconf",1,["libc::unix::linux_like::linux::ifconf"]],["impl RefUnwindSafe for hwtstamp_config",1,["libc::unix::linux_like::linux::hwtstamp_config"]],["impl RefUnwindSafe for dirent64",1,["libc::unix::linux_like::linux::dirent64"]],["impl RefUnwindSafe for sock_txtime",1,["libc::unix::linux_like::linux::sock_txtime"]],["impl RefUnwindSafe for __c_anonymous_sockaddr_can_can_addr",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_can_addr"]],["impl RefUnwindSafe for sockaddr_can",1,["libc::unix::linux_like::linux::sockaddr_can"]],["impl RefUnwindSafe for pthread_mutexattr_t",1,["libc::unix::linux_like::linux::pthread_mutexattr_t"]],["impl RefUnwindSafe for pthread_rwlockattr_t",1,["libc::unix::linux_like::linux::pthread_rwlockattr_t"]],["impl RefUnwindSafe for pthread_condattr_t",1,["libc::unix::linux_like::linux::pthread_condattr_t"]],["impl RefUnwindSafe for pthread_barrierattr_t",1,["libc::unix::linux_like::linux::pthread_barrierattr_t"]],["impl RefUnwindSafe for fanotify_event_metadata",1,["libc::unix::linux_like::linux::fanotify_event_metadata"]],["impl RefUnwindSafe for pthread_cond_t",1,["libc::unix::linux_like::linux::pthread_cond_t"]],["impl RefUnwindSafe for pthread_mutex_t",1,["libc::unix::linux_like::linux::pthread_mutex_t"]],["impl RefUnwindSafe for pthread_rwlock_t",1,["libc::unix::linux_like::linux::pthread_rwlock_t"]],["impl RefUnwindSafe for pthread_barrier_t",1,["libc::unix::linux_like::linux::pthread_barrier_t"]],["impl RefUnwindSafe for can_frame",1,["libc::unix::linux_like::linux::can_frame"]],["impl RefUnwindSafe for canfd_frame",1,["libc::unix::linux_like::linux::canfd_frame"]],["impl RefUnwindSafe for canxl_frame",1,["libc::unix::linux_like::linux::canxl_frame"]],["impl RefUnwindSafe for timezone",1,["libc::unix::linux_like::timezone"]],["impl RefUnwindSafe for in_addr",1,["libc::unix::linux_like::in_addr"]],["impl RefUnwindSafe for ip_mreq",1,["libc::unix::linux_like::ip_mreq"]],["impl RefUnwindSafe for ip_mreqn",1,["libc::unix::linux_like::ip_mreqn"]],["impl RefUnwindSafe for ip_mreq_source",1,["libc::unix::linux_like::ip_mreq_source"]],["impl RefUnwindSafe for sockaddr",1,["libc::unix::linux_like::sockaddr"]],["impl RefUnwindSafe for sockaddr_in",1,["libc::unix::linux_like::sockaddr_in"]],["impl RefUnwindSafe for sockaddr_in6",1,["libc::unix::linux_like::sockaddr_in6"]],["impl RefUnwindSafe for addrinfo",1,["libc::unix::linux_like::addrinfo"]],["impl RefUnwindSafe for sockaddr_ll",1,["libc::unix::linux_like::sockaddr_ll"]],["impl RefUnwindSafe for fd_set",1,["libc::unix::linux_like::fd_set"]],["impl RefUnwindSafe for tm",1,["libc::unix::linux_like::tm"]],["impl RefUnwindSafe for sched_param",1,["libc::unix::linux_like::sched_param"]],["impl RefUnwindSafe for Dl_info",1,["libc::unix::linux_like::Dl_info"]],["impl RefUnwindSafe for lconv",1,["libc::unix::linux_like::lconv"]],["impl RefUnwindSafe for in_pktinfo",1,["libc::unix::linux_like::in_pktinfo"]],["impl RefUnwindSafe for ifaddrs",1,["libc::unix::linux_like::ifaddrs"]],["impl RefUnwindSafe for in6_rtmsg",1,["libc::unix::linux_like::in6_rtmsg"]],["impl RefUnwindSafe for arpreq",1,["libc::unix::linux_like::arpreq"]],["impl RefUnwindSafe for arpreq_old",1,["libc::unix::linux_like::arpreq_old"]],["impl RefUnwindSafe for arphdr",1,["libc::unix::linux_like::arphdr"]],["impl RefUnwindSafe for mmsghdr",1,["libc::unix::linux_like::mmsghdr"]],["impl RefUnwindSafe for epoll_event",1,["libc::unix::linux_like::epoll_event"]],["impl RefUnwindSafe for sockaddr_un",1,["libc::unix::linux_like::sockaddr_un"]],["impl RefUnwindSafe for sockaddr_storage",1,["libc::unix::linux_like::sockaddr_storage"]],["impl RefUnwindSafe for utsname",1,["libc::unix::linux_like::utsname"]],["impl RefUnwindSafe for sigevent",1,["libc::unix::linux_like::sigevent"]],["impl RefUnwindSafe for in6_addr",1,["libc::unix::align::in6_addr"]],["impl RefUnwindSafe for DIR",1,["libc::unix::DIR"]],["impl RefUnwindSafe for group",1,["libc::unix::group"]],["impl RefUnwindSafe for utimbuf",1,["libc::unix::utimbuf"]],["impl RefUnwindSafe for timeval",1,["libc::unix::timeval"]],["impl RefUnwindSafe for timespec",1,["libc::unix::timespec"]],["impl RefUnwindSafe for rlimit",1,["libc::unix::rlimit"]],["impl RefUnwindSafe for rusage",1,["libc::unix::rusage"]],["impl RefUnwindSafe for ipv6_mreq",1,["libc::unix::ipv6_mreq"]],["impl RefUnwindSafe for hostent",1,["libc::unix::hostent"]],["impl RefUnwindSafe for iovec",1,["libc::unix::iovec"]],["impl RefUnwindSafe for pollfd",1,["libc::unix::pollfd"]],["impl RefUnwindSafe for winsize",1,["libc::unix::winsize"]],["impl RefUnwindSafe for linger",1,["libc::unix::linger"]],["impl RefUnwindSafe for sigval",1,["libc::unix::sigval"]],["impl RefUnwindSafe for itimerval",1,["libc::unix::itimerval"]],["impl RefUnwindSafe for tms",1,["libc::unix::tms"]],["impl RefUnwindSafe for servent",1,["libc::unix::servent"]],["impl RefUnwindSafe for protoent",1,["libc::unix::protoent"]],["impl RefUnwindSafe for FILE",1,["libc::unix::FILE"]],["impl RefUnwindSafe for fpos_t",1,["libc::unix::fpos_t"]]], -"mavlink":[["impl RefUnwindSafe for IcarousFmsState",1,["mavlink::icarous::IcarousFmsState"]],["impl RefUnwindSafe for IcarousTrackBandTypes",1,["mavlink::icarous::IcarousTrackBandTypes"]],["impl RefUnwindSafe for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::icarous::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl RefUnwindSafe for ICAROUS_HEARTBEAT_DATA",1,["mavlink::icarous::ICAROUS_HEARTBEAT_DATA"]],["impl RefUnwindSafe for MavMessage",1,["mavlink::icarous::MavMessage"]],["impl RefUnwindSafe for WinchActions",1,["mavlink::ardupilotmega::WinchActions"]],["impl RefUnwindSafe for AisNavStatus",1,["mavlink::ardupilotmega::AisNavStatus"]],["impl RefUnwindSafe for IcarousFmsState",1,["mavlink::ardupilotmega::IcarousFmsState"]],["impl RefUnwindSafe for SetFocusType",1,["mavlink::ardupilotmega::SetFocusType"]],["impl RefUnwindSafe for MavOdidIdType",1,["mavlink::ardupilotmega::MavOdidIdType"]],["impl RefUnwindSafe for NavVtolLandOptions",1,["mavlink::ardupilotmega::NavVtolLandOptions"]],["impl RefUnwindSafe for VtolTransitionHeading",1,["mavlink::ardupilotmega::VtolTransitionHeading"]],["impl RefUnwindSafe for GoproResolution",1,["mavlink::ardupilotmega::GoproResolution"]],["impl RefUnwindSafe for CameraFeedbackFlags",1,["mavlink::ardupilotmega::CameraFeedbackFlags"]],["impl RefUnwindSafe for PrecisionLandMode",1,["mavlink::ardupilotmega::PrecisionLandMode"]],["impl RefUnwindSafe for UavcanNodeHealth",1,["mavlink::ardupilotmega::UavcanNodeHealth"]],["impl RefUnwindSafe for GoproProtuneSharpness",1,["mavlink::ardupilotmega::GoproProtuneSharpness"]],["impl RefUnwindSafe for CellularStatusFlag",1,["mavlink::ardupilotmega::CellularStatusFlag"]],["impl RefUnwindSafe for MavComponent",1,["mavlink::ardupilotmega::MavComponent"]],["impl RefUnwindSafe for GoproFrameRate",1,["mavlink::ardupilotmega::GoproFrameRate"]],["impl RefUnwindSafe for GoproBurstRate",1,["mavlink::ardupilotmega::GoproBurstRate"]],["impl RefUnwindSafe for FailureUnit",1,["mavlink::ardupilotmega::FailureUnit"]],["impl RefUnwindSafe for MavPowerStatus",1,["mavlink::ardupilotmega::MavPowerStatus"]],["impl RefUnwindSafe for MavOdidDescType",1,["mavlink::ardupilotmega::MavOdidDescType"]],["impl RefUnwindSafe for UavionixAdsbEmergencyStatus",1,["mavlink::ardupilotmega::UavionixAdsbEmergencyStatus"]],["impl RefUnwindSafe for MavType",1,["mavlink::ardupilotmega::MavType"]],["impl RefUnwindSafe for MavFrame",1,["mavlink::ardupilotmega::MavFrame"]],["impl RefUnwindSafe for MavModeFlagDecodePosition",1,["mavlink::ardupilotmega::MavModeFlagDecodePosition"]],["impl RefUnwindSafe for MavDataStream",1,["mavlink::ardupilotmega::MavDataStream"]],["impl RefUnwindSafe for MavDoRepositionFlags",1,["mavlink::ardupilotmega::MavDoRepositionFlags"]],["impl RefUnwindSafe for MavEstimatorType",1,["mavlink::ardupilotmega::MavEstimatorType"]],["impl RefUnwindSafe for MavBatteryType",1,["mavlink::ardupilotmega::MavBatteryType"]],["impl RefUnwindSafe for HlFailureFlag",1,["mavlink::ardupilotmega::HlFailureFlag"]],["impl RefUnwindSafe for GimbalManagerFlags",1,["mavlink::ardupilotmega::GimbalManagerFlags"]],["impl RefUnwindSafe for LedControlPattern",1,["mavlink::ardupilotmega::LedControlPattern"]],["impl RefUnwindSafe for PreflightStorageParameterAction",1,["mavlink::ardupilotmega::PreflightStorageParameterAction"]],["impl RefUnwindSafe for TuneFormat",1,["mavlink::ardupilotmega::TuneFormat"]],["impl RefUnwindSafe for MavOdidOperatorLocationType",1,["mavlink::ardupilotmega::MavOdidOperatorLocationType"]],["impl RefUnwindSafe for PlaneMode",1,["mavlink::ardupilotmega::PlaneMode"]],["impl RefUnwindSafe for ParamAck",1,["mavlink::ardupilotmega::ParamAck"]],["impl RefUnwindSafe for AutotuneAxis",1,["mavlink::ardupilotmega::AutotuneAxis"]],["impl RefUnwindSafe for MagCalStatus",1,["mavlink::ardupilotmega::MagCalStatus"]],["impl RefUnwindSafe for AisFlags",1,["mavlink::ardupilotmega::AisFlags"]],["impl RefUnwindSafe for MavEventErrorReason",1,["mavlink::ardupilotmega::MavEventErrorReason"]],["impl RefUnwindSafe for StorageType",1,["mavlink::ardupilotmega::StorageType"]],["impl RefUnwindSafe for CopterMode",1,["mavlink::ardupilotmega::CopterMode"]],["impl RefUnwindSafe for CameraStatusTypes",1,["mavlink::ardupilotmega::CameraStatusTypes"]],["impl RefUnwindSafe for MavRoi",1,["mavlink::ardupilotmega::MavRoi"]],["impl RefUnwindSafe for ActuatorOutputFunction",1,["mavlink::ardupilotmega::ActuatorOutputFunction"]],["impl RefUnwindSafe for MavMissionType",1,["mavlink::ardupilotmega::MavMissionType"]],["impl RefUnwindSafe for CanFilterOp",1,["mavlink::ardupilotmega::CanFilterOp"]],["impl RefUnwindSafe for PositionTargetTypemask",1,["mavlink::ardupilotmega::PositionTargetTypemask"]],["impl RefUnwindSafe for GimbalDeviceFlags",1,["mavlink::ardupilotmega::GimbalDeviceFlags"]],["impl RefUnwindSafe for MavState",1,["mavlink::ardupilotmega::MavState"]],["impl RefUnwindSafe for MavBatteryMode",1,["mavlink::ardupilotmega::MavBatteryMode"]],["impl RefUnwindSafe for MavOdidSpeedAcc",1,["mavlink::ardupilotmega::MavOdidSpeedAcc"]],["impl RefUnwindSafe for UavionixAdsbOutDynamicState",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicState"]],["impl RefUnwindSafe for GimbalAxisCalibrationStatus",1,["mavlink::ardupilotmega::GimbalAxisCalibrationStatus"]],["impl RefUnwindSafe for GoproRequestStatus",1,["mavlink::ardupilotmega::GoproRequestStatus"]],["impl RefUnwindSafe for MavCmdDoAuxFunctionSwitchLevel",1,["mavlink::ardupilotmega::MavCmdDoAuxFunctionSwitchLevel"]],["impl RefUnwindSafe for DeviceOpBustype",1,["mavlink::ardupilotmega::DeviceOpBustype"]],["impl RefUnwindSafe for HilSensorUpdatedFlags",1,["mavlink::ardupilotmega::HilSensorUpdatedFlags"]],["impl RefUnwindSafe for ParachuteAction",1,["mavlink::ardupilotmega::ParachuteAction"]],["impl RefUnwindSafe for MavCollisionSrc",1,["mavlink::ardupilotmega::MavCollisionSrc"]],["impl RefUnwindSafe for WifiConfigApResponse",1,["mavlink::ardupilotmega::WifiConfigApResponse"]],["impl RefUnwindSafe for PreflightStorageMissionAction",1,["mavlink::ardupilotmega::PreflightStorageMissionAction"]],["impl RefUnwindSafe for UtmFlightState",1,["mavlink::ardupilotmega::UtmFlightState"]],["impl RefUnwindSafe for AdsbEmitterType",1,["mavlink::ardupilotmega::AdsbEmitterType"]],["impl RefUnwindSafe for SerialControlDev",1,["mavlink::ardupilotmega::SerialControlDev"]],["impl RefUnwindSafe for MavModeFlag",1,["mavlink::ardupilotmega::MavModeFlag"]],["impl RefUnwindSafe for CameraTrackingTargetData",1,["mavlink::ardupilotmega::CameraTrackingTargetData"]],["impl RefUnwindSafe for OrbitYawBehaviour",1,["mavlink::ardupilotmega::OrbitYawBehaviour"]],["impl RefUnwindSafe for FenceAction",1,["mavlink::ardupilotmega::FenceAction"]],["impl RefUnwindSafe for CellularNetworkRadioType",1,["mavlink::ardupilotmega::CellularNetworkRadioType"]],["impl RefUnwindSafe for MavLandedState",1,["mavlink::ardupilotmega::MavLandedState"]],["impl RefUnwindSafe for MavBatteryChargeState",1,["mavlink::ardupilotmega::MavBatteryChargeState"]],["impl RefUnwindSafe for MavModeGimbal",1,["mavlink::ardupilotmega::MavModeGimbal"]],["impl RefUnwindSafe for MavCollisionAction",1,["mavlink::ardupilotmega::MavCollisionAction"]],["impl RefUnwindSafe for UavionixAdsbOutRfSelect",1,["mavlink::ardupilotmega::UavionixAdsbOutRfSelect"]],["impl RefUnwindSafe for MavParamType",1,["mavlink::ardupilotmega::MavParamType"]],["impl RefUnwindSafe for MavOdidClassEu",1,["mavlink::ardupilotmega::MavOdidClassEu"]],["impl RefUnwindSafe for MavOdidStatus",1,["mavlink::ardupilotmega::MavOdidStatus"]],["impl RefUnwindSafe for GoproPhotoResolution",1,["mavlink::ardupilotmega::GoproPhotoResolution"]],["impl RefUnwindSafe for MavMissionResult",1,["mavlink::ardupilotmega::MavMissionResult"]],["impl RefUnwindSafe for GimbalManagerCapFlags",1,["mavlink::ardupilotmega::GimbalManagerCapFlags"]],["impl RefUnwindSafe for SerialControlFlag",1,["mavlink::ardupilotmega::SerialControlFlag"]],["impl RefUnwindSafe for VideoStreamStatusFlags",1,["mavlink::ardupilotmega::VideoStreamStatusFlags"]],["impl RefUnwindSafe for GripperActions",1,["mavlink::ardupilotmega::GripperActions"]],["impl RefUnwindSafe for CameraZoomType",1,["mavlink::ardupilotmega::CameraZoomType"]],["impl RefUnwindSafe for MavFtpOpcode",1,["mavlink::ardupilotmega::MavFtpOpcode"]],["impl RefUnwindSafe for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLon"]],["impl RefUnwindSafe for AdsbAltitudeType",1,["mavlink::ardupilotmega::AdsbAltitudeType"]],["impl RefUnwindSafe for AccelcalVehiclePos",1,["mavlink::ardupilotmega::AccelcalVehiclePos"]],["impl RefUnwindSafe for MavGoto",1,["mavlink::ardupilotmega::MavGoto"]],["impl RefUnwindSafe for GimbalAxisCalibrationRequired",1,["mavlink::ardupilotmega::GimbalAxisCalibrationRequired"]],["impl RefUnwindSafe for RoverMode",1,["mavlink::ardupilotmega::RoverMode"]],["impl RefUnwindSafe for UavionixAdsbOutCfgAircraftSize",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgAircraftSize"]],["impl RefUnwindSafe for CameraTrackingMode",1,["mavlink::ardupilotmega::CameraTrackingMode"]],["impl RefUnwindSafe for CellularConfigResponse",1,["mavlink::ardupilotmega::CellularConfigResponse"]],["impl RefUnwindSafe for MavOdidCategoryEu",1,["mavlink::ardupilotmega::MavOdidCategoryEu"]],["impl RefUnwindSafe for EscFailureFlags",1,["mavlink::ardupilotmega::EscFailureFlags"]],["impl RefUnwindSafe for MavCmd",1,["mavlink::ardupilotmega::MavCmd"]],["impl RefUnwindSafe for MavProtocolCapability",1,["mavlink::ardupilotmega::MavProtocolCapability"]],["impl RefUnwindSafe for ActuatorConfiguration",1,["mavlink::ardupilotmega::ActuatorConfiguration"]],["impl RefUnwindSafe for MavSensorOrientation",1,["mavlink::ardupilotmega::MavSensorOrientation"]],["impl RefUnwindSafe for MavCmdAck",1,["mavlink::ardupilotmega::MavCmdAck"]],["impl RefUnwindSafe for MavVtolState",1,["mavlink::ardupilotmega::MavVtolState"]],["impl RefUnwindSafe for GoproCommand",1,["mavlink::ardupilotmega::GoproCommand"]],["impl RefUnwindSafe for LimitModule",1,["mavlink::ardupilotmega::LimitModule"]],["impl RefUnwindSafe for FailureType",1,["mavlink::ardupilotmega::FailureType"]],["impl RefUnwindSafe for FenceBreach",1,["mavlink::ardupilotmega::FenceBreach"]],["impl RefUnwindSafe for MavResult",1,["mavlink::ardupilotmega::MavResult"]],["impl RefUnwindSafe for MavArmAuthDeniedReason",1,["mavlink::ardupilotmega::MavArmAuthDeniedReason"]],["impl RefUnwindSafe for MissionState",1,["mavlink::ardupilotmega::MissionState"]],["impl RefUnwindSafe for RallyFlags",1,["mavlink::ardupilotmega::RallyFlags"]],["impl RefUnwindSafe for GoproHeartbeatFlags",1,["mavlink::ardupilotmega::GoproHeartbeatFlags"]],["impl RefUnwindSafe for MavBatteryFunction",1,["mavlink::ardupilotmega::MavBatteryFunction"]],["impl RefUnwindSafe for MavlinkDataStreamType",1,["mavlink::ardupilotmega::MavlinkDataStreamType"]],["impl RefUnwindSafe for AttitudeTargetTypemask",1,["mavlink::ardupilotmega::AttitudeTargetTypemask"]],["impl RefUnwindSafe for AisType",1,["mavlink::ardupilotmega::AisType"]],["impl RefUnwindSafe for LimitsState",1,["mavlink::ardupilotmega::LimitsState"]],["impl RefUnwindSafe for MavMode",1,["mavlink::ardupilotmega::MavMode"]],["impl RefUnwindSafe for MavOdidClassificationType",1,["mavlink::ardupilotmega::MavOdidClassificationType"]],["impl RefUnwindSafe for FenceMitigate",1,["mavlink::ardupilotmega::FenceMitigate"]],["impl RefUnwindSafe for MavOdidOperatorIdType",1,["mavlink::ardupilotmega::MavOdidOperatorIdType"]],["impl RefUnwindSafe for GoproCaptureMode",1,["mavlink::ardupilotmega::GoproCaptureMode"]],["impl RefUnwindSafe for CompMetadataType",1,["mavlink::ardupilotmega::CompMetadataType"]],["impl RefUnwindSafe for GoproHeartbeatStatus",1,["mavlink::ardupilotmega::GoproHeartbeatStatus"]],["impl RefUnwindSafe for CameraCapFlags",1,["mavlink::ardupilotmega::CameraCapFlags"]],["impl RefUnwindSafe for GoproProtuneExposure",1,["mavlink::ardupilotmega::GoproProtuneExposure"]],["impl RefUnwindSafe for MavRemoteLogDataBlockCommands",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockCommands"]],["impl RefUnwindSafe for MavRemoteLogDataBlockStatuses",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockStatuses"]],["impl RefUnwindSafe for DeepstallStage",1,["mavlink::ardupilotmega::DeepstallStage"]],["impl RefUnwindSafe for OsdParamConfigError",1,["mavlink::ardupilotmega::OsdParamConfigError"]],["impl RefUnwindSafe for MavAutopilot",1,["mavlink::ardupilotmega::MavAutopilot"]],["impl RefUnwindSafe for MavCollisionThreatLevel",1,["mavlink::ardupilotmega::MavCollisionThreatLevel"]],["impl RefUnwindSafe for MavDistanceSensor",1,["mavlink::ardupilotmega::MavDistanceSensor"]],["impl RefUnwindSafe for FirmwareVersionType",1,["mavlink::ardupilotmega::FirmwareVersionType"]],["impl RefUnwindSafe for MavWinchStatusFlag",1,["mavlink::ardupilotmega::MavWinchStatusFlag"]],["impl RefUnwindSafe for UtmDataAvailFlags",1,["mavlink::ardupilotmega::UtmDataAvailFlags"]],["impl RefUnwindSafe for MavOdidHorAcc",1,["mavlink::ardupilotmega::MavOdidHorAcc"]],["impl RefUnwindSafe for MavOdidTimeAcc",1,["mavlink::ardupilotmega::MavOdidTimeAcc"]],["impl RefUnwindSafe for MavGeneratorStatusFlag",1,["mavlink::ardupilotmega::MavGeneratorStatusFlag"]],["impl RefUnwindSafe for MavOdidUaType",1,["mavlink::ardupilotmega::MavOdidUaType"]],["impl RefUnwindSafe for StorageUsageFlag",1,["mavlink::ardupilotmega::StorageUsageFlag"]],["impl RefUnwindSafe for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLat"]],["impl RefUnwindSafe for StorageStatus",1,["mavlink::ardupilotmega::StorageStatus"]],["impl RefUnwindSafe for EkfStatusFlags",1,["mavlink::ardupilotmega::EkfStatusFlags"]],["impl RefUnwindSafe for HighresImuUpdatedFlags",1,["mavlink::ardupilotmega::HighresImuUpdatedFlags"]],["impl RefUnwindSafe for IcarousTrackBandTypes",1,["mavlink::ardupilotmega::IcarousTrackBandTypes"]],["impl RefUnwindSafe for CameraMode",1,["mavlink::ardupilotmega::CameraMode"]],["impl RefUnwindSafe for PidTuningAxis",1,["mavlink::ardupilotmega::PidTuningAxis"]],["impl RefUnwindSafe for RcType",1,["mavlink::ardupilotmega::RcType"]],["impl RefUnwindSafe for GpsInputIgnoreFlags",1,["mavlink::ardupilotmega::GpsInputIgnoreFlags"]],["impl RefUnwindSafe for RtkBaselineCoordinateSystem",1,["mavlink::ardupilotmega::RtkBaselineCoordinateSystem"]],["impl RefUnwindSafe for EscConnectionType",1,["mavlink::ardupilotmega::EscConnectionType"]],["impl RefUnwindSafe for CameraTrackingStatusFlags",1,["mavlink::ardupilotmega::CameraTrackingStatusFlags"]],["impl RefUnwindSafe for MavBatteryFault",1,["mavlink::ardupilotmega::MavBatteryFault"]],["impl RefUnwindSafe for GimbalDeviceErrorFlags",1,["mavlink::ardupilotmega::GimbalDeviceErrorFlags"]],["impl RefUnwindSafe for WifiConfigApMode",1,["mavlink::ardupilotmega::WifiConfigApMode"]],["impl RefUnwindSafe for MavMountMode",1,["mavlink::ardupilotmega::MavMountMode"]],["impl RefUnwindSafe for MavSysStatusSensor",1,["mavlink::ardupilotmega::MavSysStatusSensor"]],["impl RefUnwindSafe for MavSeverity",1,["mavlink::ardupilotmega::MavSeverity"]],["impl RefUnwindSafe for GoproCharging",1,["mavlink::ardupilotmega::GoproCharging"]],["impl RefUnwindSafe for MavSysStatusSensorExtended",1,["mavlink::ardupilotmega::MavSysStatusSensorExtended"]],["impl RefUnwindSafe for SubMode",1,["mavlink::ardupilotmega::SubMode"]],["impl RefUnwindSafe for MavTunnelPayloadType",1,["mavlink::ardupilotmega::MavTunnelPayloadType"]],["impl RefUnwindSafe for MavParamExtType",1,["mavlink::ardupilotmega::MavParamExtType"]],["impl RefUnwindSafe for GpsFixType",1,["mavlink::ardupilotmega::GpsFixType"]],["impl RefUnwindSafe for AdsbFlags",1,["mavlink::ardupilotmega::AdsbFlags"]],["impl RefUnwindSafe for GoproFieldOfView",1,["mavlink::ardupilotmega::GoproFieldOfView"]],["impl RefUnwindSafe for TrackerMode",1,["mavlink::ardupilotmega::TrackerMode"]],["impl RefUnwindSafe for GimbalDeviceCapFlags",1,["mavlink::ardupilotmega::GimbalDeviceCapFlags"]],["impl RefUnwindSafe for UavcanNodeMode",1,["mavlink::ardupilotmega::UavcanNodeMode"]],["impl RefUnwindSafe for EstimatorStatusFlags",1,["mavlink::ardupilotmega::EstimatorStatusFlags"]],["impl RefUnwindSafe for MavOdidVerAcc",1,["mavlink::ardupilotmega::MavOdidVerAcc"]],["impl RefUnwindSafe for GimbalAxis",1,["mavlink::ardupilotmega::GimbalAxis"]],["impl RefUnwindSafe for LandingTargetType",1,["mavlink::ardupilotmega::LandingTargetType"]],["impl RefUnwindSafe for MavEventCurrentSequenceFlags",1,["mavlink::ardupilotmega::MavEventCurrentSequenceFlags"]],["impl RefUnwindSafe for MotorTestOrder",1,["mavlink::ardupilotmega::MotorTestOrder"]],["impl RefUnwindSafe for VideoStreamType",1,["mavlink::ardupilotmega::VideoStreamType"]],["impl RefUnwindSafe for GoproProtuneGain",1,["mavlink::ardupilotmega::GoproProtuneGain"]],["impl RefUnwindSafe for MavFtpErr",1,["mavlink::ardupilotmega::MavFtpErr"]],["impl RefUnwindSafe for MotorTestThrottleType",1,["mavlink::ardupilotmega::MotorTestThrottleType"]],["impl RefUnwindSafe for UavionixAdsbOutDynamicGpsFix",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicGpsFix"]],["impl RefUnwindSafe for GoproVideoSettingsFlags",1,["mavlink::ardupilotmega::GoproVideoSettingsFlags"]],["impl RefUnwindSafe for MavOdidArmStatus",1,["mavlink::ardupilotmega::MavOdidArmStatus"]],["impl RefUnwindSafe for HeadingType",1,["mavlink::ardupilotmega::HeadingType"]],["impl RefUnwindSafe for GoproModel",1,["mavlink::ardupilotmega::GoproModel"]],["impl RefUnwindSafe for MavOdidAuthType",1,["mavlink::ardupilotmega::MavOdidAuthType"]],["impl RefUnwindSafe for GoproProtuneWhiteBalance",1,["mavlink::ardupilotmega::GoproProtuneWhiteBalance"]],["impl RefUnwindSafe for UavionixAdsbRfHealth",1,["mavlink::ardupilotmega::UavionixAdsbRfHealth"]],["impl RefUnwindSafe for SpeedType",1,["mavlink::ardupilotmega::SpeedType"]],["impl RefUnwindSafe for OsdParamConfigType",1,["mavlink::ardupilotmega::OsdParamConfigType"]],["impl RefUnwindSafe for MavOdidHeightRef",1,["mavlink::ardupilotmega::MavOdidHeightRef"]],["impl RefUnwindSafe for GoproProtuneColour",1,["mavlink::ardupilotmega::GoproProtuneColour"]],["impl RefUnwindSafe for CellularNetworkFailedReason",1,["mavlink::ardupilotmega::CellularNetworkFailedReason"]],["impl RefUnwindSafe for ScriptingCmd",1,["mavlink::ardupilotmega::ScriptingCmd"]],["impl RefUnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl RefUnwindSafe for COMPONENT_INFORMATION_DATA",1,["mavlink::ardupilotmega::COMPONENT_INFORMATION_DATA"]],["impl RefUnwindSafe for OSD_PARAM_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_DATA"]],["impl RefUnwindSafe for RADIO_STATUS_DATA",1,["mavlink::ardupilotmega::RADIO_STATUS_DATA"]],["impl RefUnwindSafe for FLIGHT_INFORMATION_DATA",1,["mavlink::ardupilotmega::FLIGHT_INFORMATION_DATA"]],["impl RefUnwindSafe for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::ardupilotmega::HIL_RC_INPUTS_RAW_DATA"]],["impl RefUnwindSafe for VIBRATION_DATA",1,["mavlink::ardupilotmega::VIBRATION_DATA"]],["impl RefUnwindSafe for BATTERY_STATUS_DATA",1,["mavlink::ardupilotmega::BATTERY_STATUS_DATA"]],["impl RefUnwindSafe for WIND_COV_DATA",1,["mavlink::ardupilotmega::WIND_COV_DATA"]],["impl RefUnwindSafe for CAMERA_INFORMATION_DATA",1,["mavlink::ardupilotmega::CAMERA_INFORMATION_DATA"]],["impl RefUnwindSafe for RAW_IMU_DATA",1,["mavlink::ardupilotmega::RAW_IMU_DATA"]],["impl RefUnwindSafe for GPS_RTK_DATA",1,["mavlink::ardupilotmega::GPS_RTK_DATA"]],["impl RefUnwindSafe for RAW_RPM_DATA",1,["mavlink::ardupilotmega::RAW_RPM_DATA"]],["impl RefUnwindSafe for TERRAIN_CHECK_DATA",1,["mavlink::ardupilotmega::TERRAIN_CHECK_DATA"]],["impl RefUnwindSafe for REQUEST_EVENT_DATA",1,["mavlink::ardupilotmega::REQUEST_EVENT_DATA"]],["impl RefUnwindSafe for REQUEST_DATA_STREAM_DATA",1,["mavlink::ardupilotmega::REQUEST_DATA_STREAM_DATA"]],["impl RefUnwindSafe for HWSTATUS_DATA",1,["mavlink::ardupilotmega::HWSTATUS_DATA"]],["impl RefUnwindSafe for FOLLOW_TARGET_DATA",1,["mavlink::ardupilotmega::FOLLOW_TARGET_DATA"]],["impl RefUnwindSafe for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_COV_DATA"]],["impl RefUnwindSafe for UAVCAN_NODE_INFO_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_INFO_DATA"]],["impl RefUnwindSafe for AOA_SSA_DATA",1,["mavlink::ardupilotmega::AOA_SSA_DATA"]],["impl RefUnwindSafe for ISBD_LINK_STATUS_DATA",1,["mavlink::ardupilotmega::ISBD_LINK_STATUS_DATA"]],["impl RefUnwindSafe for LED_CONTROL_DATA",1,["mavlink::ardupilotmega::LED_CONTROL_DATA"]],["impl RefUnwindSafe for WIFI_CONFIG_AP_DATA",1,["mavlink::ardupilotmega::WIFI_CONFIG_AP_DATA"]],["impl RefUnwindSafe for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl RefUnwindSafe for EKF_STATUS_REPORT_DATA",1,["mavlink::ardupilotmega::EKF_STATUS_REPORT_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl RefUnwindSafe for GIMBAL_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_REPORT_DATA"]],["impl RefUnwindSafe for SYS_STATUS_DATA",1,["mavlink::ardupilotmega::SYS_STATUS_DATA"]],["impl RefUnwindSafe for MAG_CAL_PROGRESS_DATA",1,["mavlink::ardupilotmega::MAG_CAL_PROGRESS_DATA"]],["impl RefUnwindSafe for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::ardupilotmega::FILE_TRANSFER_PROTOCOL_DATA"]],["impl RefUnwindSafe for PID_TUNING_DATA",1,["mavlink::ardupilotmega::PID_TUNING_DATA"]],["impl RefUnwindSafe for HIL_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_CONTROLS_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl RefUnwindSafe for CAN_FRAME_DATA",1,["mavlink::ardupilotmega::CAN_FRAME_DATA"]],["impl RefUnwindSafe for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl RefUnwindSafe for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_COV_DATA"]],["impl RefUnwindSafe for SET_MAG_OFFSETS_DATA",1,["mavlink::ardupilotmega::SET_MAG_OFFSETS_DATA"]],["impl RefUnwindSafe for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_SPEED_ESTIMATE_DATA"]],["impl RefUnwindSafe for MOUNT_CONTROL_DATA",1,["mavlink::ardupilotmega::MOUNT_CONTROL_DATA"]],["impl RefUnwindSafe for DEEPSTALL_DATA",1,["mavlink::ardupilotmega::DEEPSTALL_DATA"]],["impl RefUnwindSafe for PARAM_EXT_ACK_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_ACK_DATA"]],["impl RefUnwindSafe for COLLISION_DATA",1,["mavlink::ardupilotmega::COLLISION_DATA"]],["impl RefUnwindSafe for GIMBAL_TORQUE_CMD_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_TORQUE_CMD_REPORT_DATA"]],["impl RefUnwindSafe for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::GPS_GLOBAL_ORIGIN_DATA"]],["impl RefUnwindSafe for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl RefUnwindSafe for EFI_STATUS_DATA",1,["mavlink::ardupilotmega::EFI_STATUS_DATA"]],["impl RefUnwindSafe for HIL_STATE_DATA",1,["mavlink::ardupilotmega::HIL_STATE_DATA"]],["impl RefUnwindSafe for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::ardupilotmega::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl RefUnwindSafe for MCU_STATUS_DATA",1,["mavlink::ardupilotmega::MCU_STATUS_DATA"]],["impl RefUnwindSafe for PARAM_MAP_RC_DATA",1,["mavlink::ardupilotmega::PARAM_MAP_RC_DATA"]],["impl RefUnwindSafe for HEARTBEAT_DATA",1,["mavlink::ardupilotmega::HEARTBEAT_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl RefUnwindSafe for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::ardupilotmega::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl RefUnwindSafe for ODOMETRY_DATA",1,["mavlink::ardupilotmega::ODOMETRY_DATA"]],["impl RefUnwindSafe for DISTANCE_SENSOR_DATA",1,["mavlink::ardupilotmega::DISTANCE_SENSOR_DATA"]],["impl RefUnwindSafe for OSD_PARAM_SHOW_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_REPLY_DATA"]],["impl RefUnwindSafe for GOPRO_SET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_REQUEST_DATA"]],["impl RefUnwindSafe for ESC_INFO_DATA",1,["mavlink::ardupilotmega::ESC_INFO_DATA"]],["impl RefUnwindSafe for MANUAL_SETPOINT_DATA",1,["mavlink::ardupilotmega::MANUAL_SETPOINT_DATA"]],["impl RefUnwindSafe for LOG_DATA_DATA",1,["mavlink::ardupilotmega::LOG_DATA_DATA"]],["impl RefUnwindSafe for CAMERA_FEEDBACK_DATA",1,["mavlink::ardupilotmega::CAMERA_FEEDBACK_DATA"]],["impl RefUnwindSafe for FENCE_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_POINT_DATA"]],["impl RefUnwindSafe for SUPPORTED_TUNES_DATA",1,["mavlink::ardupilotmega::SUPPORTED_TUNES_DATA"]],["impl RefUnwindSafe for LOGGING_ACK_DATA",1,["mavlink::ardupilotmega::LOGGING_ACK_DATA"]],["impl RefUnwindSafe for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for AHRS_DATA",1,["mavlink::ardupilotmega::AHRS_DATA"]],["impl RefUnwindSafe for MESSAGE_INTERVAL_DATA",1,["mavlink::ardupilotmega::MESSAGE_INTERVAL_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_OVERRIDE_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for RESOURCE_REQUEST_DATA",1,["mavlink::ardupilotmega::RESOURCE_REQUEST_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl RefUnwindSafe for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::ardupilotmega::ONBOARD_COMPUTER_STATUS_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_DATA"]],["impl RefUnwindSafe for DIGICAM_CONFIGURE_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONFIGURE_DATA"]],["impl RefUnwindSafe for ESC_TELEMETRY_9_TO_12_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_9_TO_12_DATA"]],["impl RefUnwindSafe for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl RefUnwindSafe for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_LOCAL_NED_DATA"]],["impl RefUnwindSafe for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_ALLOWED_AREA_DATA"]],["impl RefUnwindSafe for COMMAND_INT_DATA",1,["mavlink::ardupilotmega::COMMAND_INT_DATA"]],["impl RefUnwindSafe for GOPRO_GET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_REQUEST_DATA"]],["impl RefUnwindSafe for CAN_FILTER_MODIFY_DATA",1,["mavlink::ardupilotmega::CAN_FILTER_MODIFY_DATA"]],["impl RefUnwindSafe for STATUSTEXT_DATA",1,["mavlink::ardupilotmega::STATUSTEXT_DATA"]],["impl RefUnwindSafe for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::ardupilotmega::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_INT_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_INT_DATA"]],["impl RefUnwindSafe for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"]],["impl RefUnwindSafe for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_INT_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_INT_DATA"]],["impl RefUnwindSafe for STORAGE_INFORMATION_DATA",1,["mavlink::ardupilotmega::STORAGE_INFORMATION_DATA"]],["impl RefUnwindSafe for UTM_GLOBAL_POSITION_DATA",1,["mavlink::ardupilotmega::UTM_GLOBAL_POSITION_DATA"]],["impl RefUnwindSafe for MEMINFO_DATA",1,["mavlink::ardupilotmega::MEMINFO_DATA"]],["impl RefUnwindSafe for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for GPS2_RAW_DATA",1,["mavlink::ardupilotmega::GPS2_RAW_DATA"]],["impl RefUnwindSafe for RALLY_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_POINT_DATA"]],["impl RefUnwindSafe for AP_ADC_DATA",1,["mavlink::ardupilotmega::AP_ADC_DATA"]],["impl RefUnwindSafe for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::ACTUATOR_CONTROL_TARGET_DATA"]],["impl RefUnwindSafe for LOGGING_DATA_ACKED_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_ACKED_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_DATA"]],["impl RefUnwindSafe for NAMED_VALUE_INT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_INT_DATA"]],["impl RefUnwindSafe for LINK_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::LINK_NODE_STATUS_DATA"]],["impl RefUnwindSafe for NAMED_VALUE_FLOAT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_FLOAT_DATA"]],["impl RefUnwindSafe for SERVO_OUTPUT_RAW_DATA",1,["mavlink::ardupilotmega::SERVO_OUTPUT_RAW_DATA"]],["impl RefUnwindSafe for CELLULAR_STATUS_DATA",1,["mavlink::ardupilotmega::CELLULAR_STATUS_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_LOCATION_DATA"]],["impl RefUnwindSafe for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::ardupilotmega::DEBUG_FLOAT_ARRAY_DATA"]],["impl RefUnwindSafe for POWER_STATUS_DATA",1,["mavlink::ardupilotmega::POWER_STATUS_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl RefUnwindSafe for BUTTON_CHANGE_DATA",1,["mavlink::ardupilotmega::BUTTON_CHANGE_DATA"]],["impl RefUnwindSafe for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::ardupilotmega::CURRENT_EVENT_SEQUENCE_DATA"]],["impl RefUnwindSafe for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_READ_DATA"]],["impl RefUnwindSafe for MOUNT_STATUS_DATA",1,["mavlink::ardupilotmega::MOUNT_STATUS_DATA"]],["impl RefUnwindSafe for MISSION_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_CURRENT_DATA"]],["impl RefUnwindSafe for DEBUG_VECT_DATA",1,["mavlink::ardupilotmega::DEBUG_VECT_DATA"]],["impl RefUnwindSafe for CAMERA_FOV_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_FOV_STATUS_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE3_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE3_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_REACHED_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_REACHED_DATA"]],["impl RefUnwindSafe for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl RefUnwindSafe for PARAM_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_VALUE_DATA"]],["impl RefUnwindSafe for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VICON_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for TIMESYNC_DATA",1,["mavlink::ardupilotmega::TIMESYNC_DATA"]],["impl RefUnwindSafe for MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::MANUAL_CONTROL_DATA"]],["impl RefUnwindSafe for MEMORY_VECT_DATA",1,["mavlink::ardupilotmega::MEMORY_VECT_DATA"]],["impl RefUnwindSafe for OBSTACLE_DISTANCE_3D_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_3D_DATA"]],["impl RefUnwindSafe for COMPONENT_METADATA_DATA",1,["mavlink::ardupilotmega::COMPONENT_METADATA_DATA"]],["impl RefUnwindSafe for CAMERA_SETTINGS_DATA",1,["mavlink::ardupilotmega::CAMERA_SETTINGS_DATA"]],["impl RefUnwindSafe for MAG_CAL_REPORT_DATA",1,["mavlink::ardupilotmega::MAG_CAL_REPORT_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl RefUnwindSafe for ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::ATTITUDE_TARGET_DATA"]],["impl RefUnwindSafe for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl RefUnwindSafe for WINCH_STATUS_DATA",1,["mavlink::ardupilotmega::WINCH_STATUS_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl RefUnwindSafe for ICAROUS_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::ICAROUS_HEARTBEAT_DATA"]],["impl RefUnwindSafe for GOPRO_GET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_RESPONSE_DATA"]],["impl RefUnwindSafe for GPS_RAW_INT_DATA",1,["mavlink::ardupilotmega::GPS_RAW_INT_DATA"]],["impl RefUnwindSafe for PING_DATA",1,["mavlink::ardupilotmega::PING_DATA"]],["impl RefUnwindSafe for ATTITUDE_QUATERNION_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_DATA"]],["impl RefUnwindSafe for ESC_TELEMETRY_1_TO_4_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_1_TO_4_DATA"]],["impl RefUnwindSafe for HERELINK_VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::HERELINK_VIDEO_STREAM_INFORMATION_DATA"]],["impl RefUnwindSafe for COMMAND_LONG_DATA",1,["mavlink::ardupilotmega::COMMAND_LONG_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl RefUnwindSafe for SCALED_IMU2_DATA",1,["mavlink::ardupilotmega::SCALED_IMU2_DATA"]],["impl RefUnwindSafe for AHRS2_DATA",1,["mavlink::ardupilotmega::AHRS2_DATA"]],["impl RefUnwindSafe for ATT_POS_MOCAP_DATA",1,["mavlink::ardupilotmega::ATT_POS_MOCAP_DATA"]],["impl RefUnwindSafe for OPTICAL_FLOW_RAD_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_RAD_DATA"]],["impl RefUnwindSafe for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::ardupilotmega::NAV_CONTROLLER_OUTPUT_DATA"]],["impl RefUnwindSafe for MISSION_ACK_DATA",1,["mavlink::ardupilotmega::MISSION_ACK_DATA"]],["impl RefUnwindSafe for PARAM_SET_DATA",1,["mavlink::ardupilotmega::PARAM_SET_DATA"]],["impl RefUnwindSafe for DEBUG_DATA",1,["mavlink::ardupilotmega::DEBUG_DATA"]],["impl RefUnwindSafe for AUTH_KEY_DATA",1,["mavlink::ardupilotmega::AUTH_KEY_DATA"]],["impl RefUnwindSafe for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl RefUnwindSafe for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::ardupilotmega::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl RefUnwindSafe for MISSION_COUNT_DATA",1,["mavlink::ardupilotmega::MISSION_COUNT_DATA"]],["impl RefUnwindSafe for ADSB_VEHICLE_DATA",1,["mavlink::ardupilotmega::ADSB_VEHICLE_DATA"]],["impl RefUnwindSafe for ENCAPSULATED_DATA_DATA",1,["mavlink::ardupilotmega::ENCAPSULATED_DATA_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE_DATA"]],["impl RefUnwindSafe for MOUNT_CONFIGURE_DATA",1,["mavlink::ardupilotmega::MOUNT_CONFIGURE_DATA"]],["impl RefUnwindSafe for OSD_PARAM_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_REPLY_DATA"]],["impl RefUnwindSafe for SETUP_SIGNING_DATA",1,["mavlink::ardupilotmega::SETUP_SIGNING_DATA"]],["impl RefUnwindSafe for DATA32_DATA",1,["mavlink::ardupilotmega::DATA32_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl RefUnwindSafe for TUNNEL_DATA",1,["mavlink::ardupilotmega::TUNNEL_DATA"]],["impl RefUnwindSafe for DATA96_DATA",1,["mavlink::ardupilotmega::DATA96_DATA"]],["impl RefUnwindSafe for ESTIMATOR_STATUS_DATA",1,["mavlink::ardupilotmega::ESTIMATOR_STATUS_DATA"]],["impl RefUnwindSafe for ALTITUDE_DATA",1,["mavlink::ardupilotmega::ALTITUDE_DATA"]],["impl RefUnwindSafe for GPS_RTCM_DATA_DATA",1,["mavlink::ardupilotmega::GPS_RTCM_DATA_DATA"]],["impl RefUnwindSafe for SCALED_IMU3_DATA",1,["mavlink::ardupilotmega::SCALED_IMU3_DATA"]],["impl RefUnwindSafe for AUTOPILOT_VERSION_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_DATA"]],["impl RefUnwindSafe for SET_HOME_POSITION_DATA",1,["mavlink::ardupilotmega::SET_HOME_POSITION_DATA"]],["impl RefUnwindSafe for GIMBAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_CONTROL_DATA"]],["impl RefUnwindSafe for GOPRO_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::GOPRO_HEARTBEAT_DATA"]],["impl RefUnwindSafe for HIL_STATE_QUATERNION_DATA",1,["mavlink::ardupilotmega::HIL_STATE_QUATERNION_DATA"]],["impl RefUnwindSafe for TERRAIN_REPORT_DATA",1,["mavlink::ardupilotmega::TERRAIN_REPORT_DATA"]],["impl RefUnwindSafe for WIND_DATA",1,["mavlink::ardupilotmega::WIND_DATA"]],["impl RefUnwindSafe for RAW_PRESSURE_DATA",1,["mavlink::ardupilotmega::RAW_PRESSURE_DATA"]],["impl RefUnwindSafe for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl RefUnwindSafe for CUBEPILOT_FIRMWARE_UPDATE_START_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_START_DATA"]],["impl RefUnwindSafe for GENERATOR_STATUS_DATA",1,["mavlink::ardupilotmega::GENERATOR_STATUS_DATA"]],["impl RefUnwindSafe for RADIO_DATA",1,["mavlink::ardupilotmega::RADIO_DATA"]],["impl RefUnwindSafe for DEVICE_OP_READ_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_DATA"]],["impl RefUnwindSafe for AIS_VESSEL_DATA",1,["mavlink::ardupilotmega::AIS_VESSEL_DATA"]],["impl RefUnwindSafe for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl RefUnwindSafe for PARAM_EXT_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_VALUE_DATA"]],["impl RefUnwindSafe for UAVCAN_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_STATUS_DATA"]],["impl RefUnwindSafe for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl RefUnwindSafe for WATER_DEPTH_DATA",1,["mavlink::ardupilotmega::WATER_DEPTH_DATA"]],["impl RefUnwindSafe for SIM_STATE_DATA",1,["mavlink::ardupilotmega::SIM_STATE_DATA"]],["impl RefUnwindSafe for TERRAIN_REQUEST_DATA",1,["mavlink::ardupilotmega::TERRAIN_REQUEST_DATA"]],["impl RefUnwindSafe for PARAM_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_READ_DATA"]],["impl RefUnwindSafe for GLOBAL_POSITION_INT_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_DATA"]],["impl RefUnwindSafe for PLAY_TUNE_V2_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_V2_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl RefUnwindSafe for SYSTEM_TIME_DATA",1,["mavlink::ardupilotmega::SYSTEM_TIME_DATA"]],["impl RefUnwindSafe for GPS2_RTK_DATA",1,["mavlink::ardupilotmega::GPS2_RTK_DATA"]],["impl RefUnwindSafe for HIGH_LATENCY2_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY2_DATA"]],["impl RefUnwindSafe for MOUNT_ORIENTATION_DATA",1,["mavlink::ardupilotmega::MOUNT_ORIENTATION_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_RAW_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_RAW_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_STATUS_DATA"]],["impl RefUnwindSafe for SENSOR_OFFSETS_DATA",1,["mavlink::ardupilotmega::SENSOR_OFFSETS_DATA"]],["impl RefUnwindSafe for FENCE_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_FETCH_POINT_DATA"]],["impl RefUnwindSafe for LIMITS_STATUS_DATA",1,["mavlink::ardupilotmega::LIMITS_STATUS_DATA"]],["impl RefUnwindSafe for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl RefUnwindSafe for DATA64_DATA",1,["mavlink::ardupilotmega::DATA64_DATA"]],["impl RefUnwindSafe for HOME_POSITION_DATA",1,["mavlink::ardupilotmega::HOME_POSITION_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_DATA_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_DATA_DATA"]],["impl RefUnwindSafe for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl RefUnwindSafe for AUTOPILOT_VERSION_REQUEST_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_REQUEST_DATA"]],["impl RefUnwindSafe for ATTITUDE_DATA",1,["mavlink::ardupilotmega::ATTITUDE_DATA"]],["impl RefUnwindSafe for REMOTE_LOG_BLOCK_STATUS_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_BLOCK_STATUS_DATA"]],["impl RefUnwindSafe for ADAP_TUNING_DATA",1,["mavlink::ardupilotmega::ADAP_TUNING_DATA"]],["impl RefUnwindSafe for PARAM_EXT_SET_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_SET_DATA"]],["impl RefUnwindSafe for HIL_OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::HIL_OPTICAL_FLOW_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_SCALED_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_SCALED_DATA"]],["impl RefUnwindSafe for EXTENDED_SYS_STATE_DATA",1,["mavlink::ardupilotmega::EXTENDED_SYS_STATE_DATA"]],["impl RefUnwindSafe for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_END_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_END_DATA"]],["impl RefUnwindSafe for OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_DATA"]],["impl RefUnwindSafe for COMMAND_ACK_DATA",1,["mavlink::ardupilotmega::COMMAND_ACK_DATA"]],["impl RefUnwindSafe for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for PARAM_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for MISSION_SET_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_SET_CURRENT_DATA"]],["impl RefUnwindSafe for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::ardupilotmega::CONTROL_SYSTEM_STATE_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl RefUnwindSafe for SMART_BATTERY_INFO_DATA",1,["mavlink::ardupilotmega::SMART_BATTERY_INFO_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_COV_DATA"]],["impl RefUnwindSafe for VIDEO_STREAM_STATUS_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_STATUS_DATA"]],["impl RefUnwindSafe for SET_MODE_DATA",1,["mavlink::ardupilotmega::SET_MODE_DATA"]],["impl RefUnwindSafe for HERELINK_TELEM_DATA",1,["mavlink::ardupilotmega::HERELINK_TELEM_DATA"]],["impl RefUnwindSafe for GPS_INJECT_DATA_DATA",1,["mavlink::ardupilotmega::GPS_INJECT_DATA_DATA"]],["impl RefUnwindSafe for VFR_HUD_DATA",1,["mavlink::ardupilotmega::VFR_HUD_DATA"]],["impl RefUnwindSafe for HIGH_LATENCY_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY_DATA"]],["impl RefUnwindSafe for DIGICAM_CONTROL_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONTROL_DATA"]],["impl RefUnwindSafe for WHEEL_DISTANCE_DATA",1,["mavlink::ardupilotmega::WHEEL_DISTANCE_DATA"]],["impl RefUnwindSafe for COMMAND_CANCEL_DATA",1,["mavlink::ardupilotmega::COMMAND_CANCEL_DATA"]],["impl RefUnwindSafe for SIMSTATE_DATA",1,["mavlink::ardupilotmega::SIMSTATE_DATA"]],["impl RefUnwindSafe for DATA16_DATA",1,["mavlink::ardupilotmega::DATA16_DATA"]],["impl RefUnwindSafe for MISSION_CLEAR_ALL_DATA",1,["mavlink::ardupilotmega::MISSION_CLEAR_ALL_DATA"]],["impl RefUnwindSafe for REMOTE_LOG_DATA_BLOCK_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_DATA_BLOCK_DATA"]],["impl RefUnwindSafe for RPM_DATA",1,["mavlink::ardupilotmega::RPM_DATA"]],["impl RefUnwindSafe for VISION_POSITION_DELTA_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_DELTA_DATA"]],["impl RefUnwindSafe for AHRS3_DATA",1,["mavlink::ardupilotmega::AHRS3_DATA"]],["impl RefUnwindSafe for OSD_PARAM_SHOW_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_DATA"]],["impl RefUnwindSafe for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl RefUnwindSafe for SET_ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ATTITUDE_TARGET_DATA"]],["impl RefUnwindSafe for GOPRO_SET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_RESPONSE_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE2_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE2_DATA"]],["impl RefUnwindSafe for HIL_SENSOR_DATA",1,["mavlink::ardupilotmega::HIL_SENSOR_DATA"]],["impl RefUnwindSafe for CANFD_FRAME_DATA",1,["mavlink::ardupilotmega::CANFD_FRAME_DATA"]],["impl RefUnwindSafe for DATA_STREAM_DATA",1,["mavlink::ardupilotmega::DATA_STREAM_DATA"]],["impl RefUnwindSafe for HIGHRES_IMU_DATA",1,["mavlink::ardupilotmega::HIGHRES_IMU_DATA"]],["impl RefUnwindSafe for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_DATA"]],["impl RefUnwindSafe for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_INFORMATION_DATA"]],["impl RefUnwindSafe for SCALED_IMU_DATA",1,["mavlink::ardupilotmega::SCALED_IMU_DATA"]],["impl RefUnwindSafe for DEVICE_OP_WRITE_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_DATA"]],["impl RefUnwindSafe for HYGROMETER_SENSOR_DATA",1,["mavlink::ardupilotmega::HYGROMETER_SENSOR_DATA"]],["impl RefUnwindSafe for CUBEPILOT_RAW_RC_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_RAW_RC_DATA"]],["impl RefUnwindSafe for GPS_STATUS_DATA",1,["mavlink::ardupilotmega::GPS_STATUS_DATA"]],["impl RefUnwindSafe for DEVICE_OP_WRITE_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_REPLY_DATA"]],["impl RefUnwindSafe for CAMERA_TRIGGER_DATA",1,["mavlink::ardupilotmega::CAMERA_TRIGGER_DATA"]],["impl RefUnwindSafe for SERIAL_CONTROL_DATA",1,["mavlink::ardupilotmega::SERIAL_CONTROL_DATA"]],["impl RefUnwindSafe for OBSTACLE_DISTANCE_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_DATA"]],["impl RefUnwindSafe for FENCE_STATUS_DATA",1,["mavlink::ardupilotmega::FENCE_STATUS_DATA"]],["impl RefUnwindSafe for ESC_STATUS_DATA",1,["mavlink::ardupilotmega::ESC_STATUS_DATA"]],["impl RefUnwindSafe for LANDING_TARGET_DATA",1,["mavlink::ardupilotmega::LANDING_TARGET_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl RefUnwindSafe for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_CAPTURE_STATUS_DATA"]],["impl RefUnwindSafe for BATTERY2_DATA",1,["mavlink::ardupilotmega::BATTERY2_DATA"]],["impl RefUnwindSafe for TERRAIN_DATA_DATA",1,["mavlink::ardupilotmega::TERRAIN_DATA_DATA"]],["impl RefUnwindSafe for GPS_INPUT_DATA",1,["mavlink::ardupilotmega::GPS_INPUT_DATA"]],["impl RefUnwindSafe for AIRSPEED_AUTOCAL_DATA",1,["mavlink::ardupilotmega::AIRSPEED_AUTOCAL_DATA"]],["impl RefUnwindSafe for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::ardupilotmega::CAMERA_IMAGE_CAPTURED_DATA"]],["impl RefUnwindSafe for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_ACTUATOR_CONTROLS_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl RefUnwindSafe for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::ardupilotmega::RESPONSE_EVENT_ERROR_DATA"]],["impl RefUnwindSafe for LOG_ENTRY_DATA",1,["mavlink::ardupilotmega::LOG_ENTRY_DATA"]],["impl RefUnwindSafe for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for LOG_ERASE_DATA",1,["mavlink::ardupilotmega::LOG_ERASE_DATA"]],["impl RefUnwindSafe for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::ardupilotmega::ORBIT_EXECUTION_STATUS_DATA"]],["impl RefUnwindSafe for COMPASSMOT_STATUS_DATA",1,["mavlink::ardupilotmega::COMPASSMOT_STATUS_DATA"]],["impl RefUnwindSafe for HIL_GPS_DATA",1,["mavlink::ardupilotmega::HIL_GPS_DATA"]],["impl RefUnwindSafe for LOGGING_DATA_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_DATA"]],["impl RefUnwindSafe for PLAY_TUNE_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_DATA"]],["impl RefUnwindSafe for PROTOCOL_VERSION_DATA",1,["mavlink::ardupilotmega::PROTOCOL_VERSION_DATA"]],["impl RefUnwindSafe for CELLULAR_CONFIG_DATA",1,["mavlink::ardupilotmega::CELLULAR_CONFIG_DATA"]],["impl RefUnwindSafe for DEVICE_OP_READ_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_REPLY_DATA"]],["impl RefUnwindSafe for EVENT_DATA",1,["mavlink::ardupilotmega::EVENT_DATA"]],["impl RefUnwindSafe for V2_EXTENSION_DATA",1,["mavlink::ardupilotmega::V2_EXTENSION_DATA"]],["impl RefUnwindSafe for RALLY_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_FETCH_POINT_DATA"]],["impl RefUnwindSafe for CAMERA_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_STATUS_DATA"]],["impl RefUnwindSafe for RANGEFINDER_DATA",1,["mavlink::ardupilotmega::RANGEFINDER_DATA"]],["impl RefUnwindSafe for ESC_TELEMETRY_5_TO_8_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_5_TO_8_DATA"]],["impl RefUnwindSafe for MavMessage",1,["mavlink::ardupilotmega::MavMessage"]],["impl RefUnwindSafe for MavType",1,["mavlink::uavionix::MavType"]],["impl RefUnwindSafe for CameraMode",1,["mavlink::uavionix::CameraMode"]],["impl RefUnwindSafe for CellularNetworkFailedReason",1,["mavlink::uavionix::CellularNetworkFailedReason"]],["impl RefUnwindSafe for WifiConfigApMode",1,["mavlink::uavionix::WifiConfigApMode"]],["impl RefUnwindSafe for WifiConfigApResponse",1,["mavlink::uavionix::WifiConfigApResponse"]],["impl RefUnwindSafe for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLat"]],["impl RefUnwindSafe for CellularNetworkRadioType",1,["mavlink::uavionix::CellularNetworkRadioType"]],["impl RefUnwindSafe for AttitudeTargetTypemask",1,["mavlink::uavionix::AttitudeTargetTypemask"]],["impl RefUnwindSafe for UavionixAdsbOutDynamicGpsFix",1,["mavlink::uavionix::UavionixAdsbOutDynamicGpsFix"]],["impl RefUnwindSafe for MavBatteryFunction",1,["mavlink::uavionix::MavBatteryFunction"]],["impl RefUnwindSafe for MavCollisionThreatLevel",1,["mavlink::uavionix::MavCollisionThreatLevel"]],["impl RefUnwindSafe for MavModeFlagDecodePosition",1,["mavlink::uavionix::MavModeFlagDecodePosition"]],["impl RefUnwindSafe for MavCollisionSrc",1,["mavlink::uavionix::MavCollisionSrc"]],["impl RefUnwindSafe for PreflightStorageParameterAction",1,["mavlink::uavionix::PreflightStorageParameterAction"]],["impl RefUnwindSafe for MavSysStatusSensorExtended",1,["mavlink::uavionix::MavSysStatusSensorExtended"]],["impl RefUnwindSafe for MavCollisionAction",1,["mavlink::uavionix::MavCollisionAction"]],["impl RefUnwindSafe for CameraCapFlags",1,["mavlink::uavionix::CameraCapFlags"]],["impl RefUnwindSafe for MavBatteryChargeState",1,["mavlink::uavionix::MavBatteryChargeState"]],["impl RefUnwindSafe for MavEventErrorReason",1,["mavlink::uavionix::MavEventErrorReason"]],["impl RefUnwindSafe for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLon"]],["impl RefUnwindSafe for MavOdidHorAcc",1,["mavlink::uavionix::MavOdidHorAcc"]],["impl RefUnwindSafe for GimbalManagerFlags",1,["mavlink::uavionix::GimbalManagerFlags"]],["impl RefUnwindSafe for MavGoto",1,["mavlink::uavionix::MavGoto"]],["impl RefUnwindSafe for MavBatteryType",1,["mavlink::uavionix::MavBatteryType"]],["impl RefUnwindSafe for MavDataStream",1,["mavlink::uavionix::MavDataStream"]],["impl RefUnwindSafe for MavlinkDataStreamType",1,["mavlink::uavionix::MavlinkDataStreamType"]],["impl RefUnwindSafe for MavOdidOperatorLocationType",1,["mavlink::uavionix::MavOdidOperatorLocationType"]],["impl RefUnwindSafe for MavAutopilot",1,["mavlink::uavionix::MavAutopilot"]],["impl RefUnwindSafe for MavOdidAuthType",1,["mavlink::uavionix::MavOdidAuthType"]],["impl RefUnwindSafe for UavionixAdsbOutDynamicState",1,["mavlink::uavionix::UavionixAdsbOutDynamicState"]],["impl RefUnwindSafe for MavOdidIdType",1,["mavlink::uavionix::MavOdidIdType"]],["impl RefUnwindSafe for StorageUsageFlag",1,["mavlink::uavionix::StorageUsageFlag"]],["impl RefUnwindSafe for FenceMitigate",1,["mavlink::uavionix::FenceMitigate"]],["impl RefUnwindSafe for MavFrame",1,["mavlink::uavionix::MavFrame"]],["impl RefUnwindSafe for MavMode",1,["mavlink::uavionix::MavMode"]],["impl RefUnwindSafe for MavOdidUaType",1,["mavlink::uavionix::MavOdidUaType"]],["impl RefUnwindSafe for MavParamExtType",1,["mavlink::uavionix::MavParamExtType"]],["impl RefUnwindSafe for StorageStatus",1,["mavlink::uavionix::StorageStatus"]],["impl RefUnwindSafe for AisType",1,["mavlink::uavionix::AisType"]],["impl RefUnwindSafe for FenceAction",1,["mavlink::uavionix::FenceAction"]],["impl RefUnwindSafe for CameraTrackingTargetData",1,["mavlink::uavionix::CameraTrackingTargetData"]],["impl RefUnwindSafe for MavCmdAck",1,["mavlink::uavionix::MavCmdAck"]],["impl RefUnwindSafe for MavModeFlag",1,["mavlink::uavionix::MavModeFlag"]],["impl RefUnwindSafe for MavVtolState",1,["mavlink::uavionix::MavVtolState"]],["impl RefUnwindSafe for VtolTransitionHeading",1,["mavlink::uavionix::VtolTransitionHeading"]],["impl RefUnwindSafe for EstimatorStatusFlags",1,["mavlink::uavionix::EstimatorStatusFlags"]],["impl RefUnwindSafe for UavionixAdsbOutRfSelect",1,["mavlink::uavionix::UavionixAdsbOutRfSelect"]],["impl RefUnwindSafe for PrecisionLandMode",1,["mavlink::uavionix::PrecisionLandMode"]],["impl RefUnwindSafe for MavEstimatorType",1,["mavlink::uavionix::MavEstimatorType"]],["impl RefUnwindSafe for MavBatteryFault",1,["mavlink::uavionix::MavBatteryFault"]],["impl RefUnwindSafe for HilSensorUpdatedFlags",1,["mavlink::uavionix::HilSensorUpdatedFlags"]],["impl RefUnwindSafe for UavionixAdsbEmergencyStatus",1,["mavlink::uavionix::UavionixAdsbEmergencyStatus"]],["impl RefUnwindSafe for GimbalDeviceCapFlags",1,["mavlink::uavionix::GimbalDeviceCapFlags"]],["impl RefUnwindSafe for MavArmAuthDeniedReason",1,["mavlink::uavionix::MavArmAuthDeniedReason"]],["impl RefUnwindSafe for MavComponent",1,["mavlink::uavionix::MavComponent"]],["impl RefUnwindSafe for MavSysStatusSensor",1,["mavlink::uavionix::MavSysStatusSensor"]],["impl RefUnwindSafe for MagCalStatus",1,["mavlink::uavionix::MagCalStatus"]],["impl RefUnwindSafe for MavState",1,["mavlink::uavionix::MavState"]],["impl RefUnwindSafe for MavOdidArmStatus",1,["mavlink::uavionix::MavOdidArmStatus"]],["impl RefUnwindSafe for OrbitYawBehaviour",1,["mavlink::uavionix::OrbitYawBehaviour"]],["impl RefUnwindSafe for MavProtocolCapability",1,["mavlink::uavionix::MavProtocolCapability"]],["impl RefUnwindSafe for EscConnectionType",1,["mavlink::uavionix::EscConnectionType"]],["impl RefUnwindSafe for MotorTestOrder",1,["mavlink::uavionix::MotorTestOrder"]],["impl RefUnwindSafe for GpsInputIgnoreFlags",1,["mavlink::uavionix::GpsInputIgnoreFlags"]],["impl RefUnwindSafe for AdsbEmitterType",1,["mavlink::uavionix::AdsbEmitterType"]],["impl RefUnwindSafe for ActuatorConfiguration",1,["mavlink::uavionix::ActuatorConfiguration"]],["impl RefUnwindSafe for HlFailureFlag",1,["mavlink::uavionix::HlFailureFlag"]],["impl RefUnwindSafe for MavOdidDescType",1,["mavlink::uavionix::MavOdidDescType"]],["impl RefUnwindSafe for MavOdidOperatorIdType",1,["mavlink::uavionix::MavOdidOperatorIdType"]],["impl RefUnwindSafe for CanFilterOp",1,["mavlink::uavionix::CanFilterOp"]],["impl RefUnwindSafe for VideoStreamStatusFlags",1,["mavlink::uavionix::VideoStreamStatusFlags"]],["impl RefUnwindSafe for MavOdidHeightRef",1,["mavlink::uavionix::MavOdidHeightRef"]],["impl RefUnwindSafe for MavDoRepositionFlags",1,["mavlink::uavionix::MavDoRepositionFlags"]],["impl RefUnwindSafe for TuneFormat",1,["mavlink::uavionix::TuneFormat"]],["impl RefUnwindSafe for MavOdidCategoryEu",1,["mavlink::uavionix::MavOdidCategoryEu"]],["impl RefUnwindSafe for MotorTestThrottleType",1,["mavlink::uavionix::MotorTestThrottleType"]],["impl RefUnwindSafe for LandingTargetType",1,["mavlink::uavionix::LandingTargetType"]],["impl RefUnwindSafe for FirmwareVersionType",1,["mavlink::uavionix::FirmwareVersionType"]],["impl RefUnwindSafe for CellularConfigResponse",1,["mavlink::uavionix::CellularConfigResponse"]],["impl RefUnwindSafe for AdsbFlags",1,["mavlink::uavionix::AdsbFlags"]],["impl RefUnwindSafe for MavDistanceSensor",1,["mavlink::uavionix::MavDistanceSensor"]],["impl RefUnwindSafe for PreflightStorageMissionAction",1,["mavlink::uavionix::PreflightStorageMissionAction"]],["impl RefUnwindSafe for CellularStatusFlag",1,["mavlink::uavionix::CellularStatusFlag"]],["impl RefUnwindSafe for UtmFlightState",1,["mavlink::uavionix::UtmFlightState"]],["impl RefUnwindSafe for MavOdidClassEu",1,["mavlink::uavionix::MavOdidClassEu"]],["impl RefUnwindSafe for AdsbAltitudeType",1,["mavlink::uavionix::AdsbAltitudeType"]],["impl RefUnwindSafe for FenceBreach",1,["mavlink::uavionix::FenceBreach"]],["impl RefUnwindSafe for UavcanNodeHealth",1,["mavlink::uavionix::UavcanNodeHealth"]],["impl RefUnwindSafe for GpsFixType",1,["mavlink::uavionix::GpsFixType"]],["impl RefUnwindSafe for GimbalManagerCapFlags",1,["mavlink::uavionix::GimbalManagerCapFlags"]],["impl RefUnwindSafe for MavWinchStatusFlag",1,["mavlink::uavionix::MavWinchStatusFlag"]],["impl RefUnwindSafe for MissionState",1,["mavlink::uavionix::MissionState"]],["impl RefUnwindSafe for CompMetadataType",1,["mavlink::uavionix::CompMetadataType"]],["impl RefUnwindSafe for MavOdidTimeAcc",1,["mavlink::uavionix::MavOdidTimeAcc"]],["impl RefUnwindSafe for UavionixAdsbOutCfgAircraftSize",1,["mavlink::uavionix::UavionixAdsbOutCfgAircraftSize"]],["impl RefUnwindSafe for SerialControlDev",1,["mavlink::uavionix::SerialControlDev"]],["impl RefUnwindSafe for ParamAck",1,["mavlink::uavionix::ParamAck"]],["impl RefUnwindSafe for AisFlags",1,["mavlink::uavionix::AisFlags"]],["impl RefUnwindSafe for RtkBaselineCoordinateSystem",1,["mavlink::uavionix::RtkBaselineCoordinateSystem"]],["impl RefUnwindSafe for MavResult",1,["mavlink::uavionix::MavResult"]],["impl RefUnwindSafe for GimbalDeviceFlags",1,["mavlink::uavionix::GimbalDeviceFlags"]],["impl RefUnwindSafe for MavOdidVerAcc",1,["mavlink::uavionix::MavOdidVerAcc"]],["impl RefUnwindSafe for NavVtolLandOptions",1,["mavlink::uavionix::NavVtolLandOptions"]],["impl RefUnwindSafe for EscFailureFlags",1,["mavlink::uavionix::EscFailureFlags"]],["impl RefUnwindSafe for MavMissionResult",1,["mavlink::uavionix::MavMissionResult"]],["impl RefUnwindSafe for FailureType",1,["mavlink::uavionix::FailureType"]],["impl RefUnwindSafe for MavEventCurrentSequenceFlags",1,["mavlink::uavionix::MavEventCurrentSequenceFlags"]],["impl RefUnwindSafe for MavRoi",1,["mavlink::uavionix::MavRoi"]],["impl RefUnwindSafe for MavOdidSpeedAcc",1,["mavlink::uavionix::MavOdidSpeedAcc"]],["impl RefUnwindSafe for MavParamType",1,["mavlink::uavionix::MavParamType"]],["impl RefUnwindSafe for FailureUnit",1,["mavlink::uavionix::FailureUnit"]],["impl RefUnwindSafe for MavLandedState",1,["mavlink::uavionix::MavLandedState"]],["impl RefUnwindSafe for CameraZoomType",1,["mavlink::uavionix::CameraZoomType"]],["impl RefUnwindSafe for GripperActions",1,["mavlink::uavionix::GripperActions"]],["impl RefUnwindSafe for MavBatteryMode",1,["mavlink::uavionix::MavBatteryMode"]],["impl RefUnwindSafe for RcType",1,["mavlink::uavionix::RcType"]],["impl RefUnwindSafe for HighresImuUpdatedFlags",1,["mavlink::uavionix::HighresImuUpdatedFlags"]],["impl RefUnwindSafe for CameraTrackingMode",1,["mavlink::uavionix::CameraTrackingMode"]],["impl RefUnwindSafe for UavcanNodeMode",1,["mavlink::uavionix::UavcanNodeMode"]],["impl RefUnwindSafe for GimbalDeviceErrorFlags",1,["mavlink::uavionix::GimbalDeviceErrorFlags"]],["impl RefUnwindSafe for PositionTargetTypemask",1,["mavlink::uavionix::PositionTargetTypemask"]],["impl RefUnwindSafe for MavPowerStatus",1,["mavlink::uavionix::MavPowerStatus"]],["impl RefUnwindSafe for MavMountMode",1,["mavlink::uavionix::MavMountMode"]],["impl RefUnwindSafe for MavTunnelPayloadType",1,["mavlink::uavionix::MavTunnelPayloadType"]],["impl RefUnwindSafe for ParachuteAction",1,["mavlink::uavionix::ParachuteAction"]],["impl RefUnwindSafe for MavGeneratorStatusFlag",1,["mavlink::uavionix::MavGeneratorStatusFlag"]],["impl RefUnwindSafe for MavOdidStatus",1,["mavlink::uavionix::MavOdidStatus"]],["impl RefUnwindSafe for VideoStreamType",1,["mavlink::uavionix::VideoStreamType"]],["impl RefUnwindSafe for ActuatorOutputFunction",1,["mavlink::uavionix::ActuatorOutputFunction"]],["impl RefUnwindSafe for WinchActions",1,["mavlink::uavionix::WinchActions"]],["impl RefUnwindSafe for SetFocusType",1,["mavlink::uavionix::SetFocusType"]],["impl RefUnwindSafe for SerialControlFlag",1,["mavlink::uavionix::SerialControlFlag"]],["impl RefUnwindSafe for AutotuneAxis",1,["mavlink::uavionix::AutotuneAxis"]],["impl RefUnwindSafe for MavOdidClassificationType",1,["mavlink::uavionix::MavOdidClassificationType"]],["impl RefUnwindSafe for AisNavStatus",1,["mavlink::uavionix::AisNavStatus"]],["impl RefUnwindSafe for CameraTrackingStatusFlags",1,["mavlink::uavionix::CameraTrackingStatusFlags"]],["impl RefUnwindSafe for UtmDataAvailFlags",1,["mavlink::uavionix::UtmDataAvailFlags"]],["impl RefUnwindSafe for StorageType",1,["mavlink::uavionix::StorageType"]],["impl RefUnwindSafe for MavSensorOrientation",1,["mavlink::uavionix::MavSensorOrientation"]],["impl RefUnwindSafe for MavMissionType",1,["mavlink::uavionix::MavMissionType"]],["impl RefUnwindSafe for MavFtpOpcode",1,["mavlink::uavionix::MavFtpOpcode"]],["impl RefUnwindSafe for UavionixAdsbRfHealth",1,["mavlink::uavionix::UavionixAdsbRfHealth"]],["impl RefUnwindSafe for MavCmd",1,["mavlink::uavionix::MavCmd"]],["impl RefUnwindSafe for MavFtpErr",1,["mavlink::uavionix::MavFtpErr"]],["impl RefUnwindSafe for MavSeverity",1,["mavlink::uavionix::MavSeverity"]],["impl RefUnwindSafe for POWER_STATUS_DATA",1,["mavlink::uavionix::POWER_STATUS_DATA"]],["impl RefUnwindSafe for GPS_RTCM_DATA_DATA",1,["mavlink::uavionix::GPS_RTCM_DATA_DATA"]],["impl RefUnwindSafe for WIND_COV_DATA",1,["mavlink::uavionix::WIND_COV_DATA"]],["impl RefUnwindSafe for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::uavionix::HIL_RC_INPUTS_RAW_DATA"]],["impl RefUnwindSafe for ENCAPSULATED_DATA_DATA",1,["mavlink::uavionix::ENCAPSULATED_DATA_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_END_DATA",1,["mavlink::uavionix::LOG_REQUEST_END_DATA"]],["impl RefUnwindSafe for MISSION_SET_CURRENT_DATA",1,["mavlink::uavionix::MISSION_SET_CURRENT_DATA"]],["impl RefUnwindSafe for COMPONENT_METADATA_DATA",1,["mavlink::uavionix::COMPONENT_METADATA_DATA"]],["impl RefUnwindSafe for FLIGHT_INFORMATION_DATA",1,["mavlink::uavionix::FLIGHT_INFORMATION_DATA"]],["impl RefUnwindSafe for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl RefUnwindSafe for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl RefUnwindSafe for LANDING_TARGET_DATA",1,["mavlink::uavionix::LANDING_TARGET_DATA"]],["impl RefUnwindSafe for COMMAND_INT_DATA",1,["mavlink::uavionix::COMMAND_INT_DATA"]],["impl RefUnwindSafe for ATT_POS_MOCAP_DATA",1,["mavlink::uavionix::ATT_POS_MOCAP_DATA"]],["impl RefUnwindSafe for ALTITUDE_DATA",1,["mavlink::uavionix::ALTITUDE_DATA"]],["impl RefUnwindSafe for FOLLOW_TARGET_DATA",1,["mavlink::uavionix::FOLLOW_TARGET_DATA"]],["impl RefUnwindSafe for SIM_STATE_DATA",1,["mavlink::uavionix::SIM_STATE_DATA"]],["impl RefUnwindSafe for MAG_CAL_REPORT_DATA",1,["mavlink::uavionix::MAG_CAL_REPORT_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl RefUnwindSafe for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::uavionix::HIL_ACTUATOR_CONTROLS_DATA"]],["impl RefUnwindSafe for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::uavionix::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl RefUnwindSafe for COMPONENT_INFORMATION_DATA",1,["mavlink::uavionix::COMPONENT_INFORMATION_DATA"]],["impl RefUnwindSafe for GPS2_RAW_DATA",1,["mavlink::uavionix::GPS2_RAW_DATA"]],["impl RefUnwindSafe for BUTTON_CHANGE_DATA",1,["mavlink::uavionix::BUTTON_CHANGE_DATA"]],["impl RefUnwindSafe for UAVCAN_NODE_INFO_DATA",1,["mavlink::uavionix::UAVCAN_NODE_INFO_DATA"]],["impl RefUnwindSafe for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for COLLISION_DATA",1,["mavlink::uavionix::COLLISION_DATA"]],["impl RefUnwindSafe for RAW_RPM_DATA",1,["mavlink::uavionix::RAW_RPM_DATA"]],["impl RefUnwindSafe for SERIAL_CONTROL_DATA",1,["mavlink::uavionix::SERIAL_CONTROL_DATA"]],["impl RefUnwindSafe for CAMERA_TRIGGER_DATA",1,["mavlink::uavionix::CAMERA_TRIGGER_DATA"]],["impl RefUnwindSafe for SET_HOME_POSITION_DATA",1,["mavlink::uavionix::SET_HOME_POSITION_DATA"]],["impl RefUnwindSafe for CAMERA_FOV_STATUS_DATA",1,["mavlink::uavionix::CAMERA_FOV_STATUS_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl RefUnwindSafe for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::uavionix::VIDEO_STREAM_INFORMATION_DATA"]],["impl RefUnwindSafe for LINK_NODE_STATUS_DATA",1,["mavlink::uavionix::LINK_NODE_STATUS_DATA"]],["impl RefUnwindSafe for HIL_STATE_DATA",1,["mavlink::uavionix::HIL_STATE_DATA"]],["impl RefUnwindSafe for PARAM_SET_DATA",1,["mavlink::uavionix::PARAM_SET_DATA"]],["impl RefUnwindSafe for SCALED_IMU_DATA",1,["mavlink::uavionix::SCALED_IMU_DATA"]],["impl RefUnwindSafe for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::uavionix::FILE_TRANSFER_PROTOCOL_DATA"]],["impl RefUnwindSafe for TERRAIN_REQUEST_DATA",1,["mavlink::uavionix::TERRAIN_REQUEST_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE_DATA",1,["mavlink::uavionix::SCALED_PRESSURE_DATA"]],["impl RefUnwindSafe for GENERATOR_STATUS_DATA",1,["mavlink::uavionix::GENERATOR_STATUS_DATA"]],["impl RefUnwindSafe for HIL_GPS_DATA",1,["mavlink::uavionix::HIL_GPS_DATA"]],["impl RefUnwindSafe for LOG_ERASE_DATA",1,["mavlink::uavionix::LOG_ERASE_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::uavionix::RC_CHANNELS_OVERRIDE_DATA"]],["impl RefUnwindSafe for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl RefUnwindSafe for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl RefUnwindSafe for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl RefUnwindSafe for SUPPORTED_TUNES_DATA",1,["mavlink::uavionix::SUPPORTED_TUNES_DATA"]],["impl RefUnwindSafe for VIDEO_STREAM_STATUS_DATA",1,["mavlink::uavionix::VIDEO_STREAM_STATUS_DATA"]],["impl RefUnwindSafe for HYGROMETER_SENSOR_DATA",1,["mavlink::uavionix::HYGROMETER_SENSOR_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE3_DATA",1,["mavlink::uavionix::SCALED_PRESSURE3_DATA"]],["impl RefUnwindSafe for OBSTACLE_DISTANCE_DATA",1,["mavlink::uavionix::OBSTACLE_DISTANCE_DATA"]],["impl RefUnwindSafe for REQUEST_DATA_STREAM_DATA",1,["mavlink::uavionix::REQUEST_DATA_STREAM_DATA"]],["impl RefUnwindSafe for DISTANCE_SENSOR_DATA",1,["mavlink::uavionix::DISTANCE_SENSOR_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_LIST_DATA",1,["mavlink::uavionix::LOG_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_DATA",1,["mavlink::uavionix::RC_CHANNELS_DATA"]],["impl RefUnwindSafe for CAN_FILTER_MODIFY_DATA",1,["mavlink::uavionix::CAN_FILTER_MODIFY_DATA"]],["impl RefUnwindSafe for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_ALLOWED_AREA_DATA"]],["impl RefUnwindSafe for ATTITUDE_DATA",1,["mavlink::uavionix::ATTITUDE_DATA"]],["impl RefUnwindSafe for SERVO_OUTPUT_RAW_DATA",1,["mavlink::uavionix::SERVO_OUTPUT_RAW_DATA"]],["impl RefUnwindSafe for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_CAPTURE_STATUS_DATA"]],["impl RefUnwindSafe for VFR_HUD_DATA",1,["mavlink::uavionix::VFR_HUD_DATA"]],["impl RefUnwindSafe for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::uavionix::NAV_CONTROLLER_OUTPUT_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl RefUnwindSafe for EVENT_DATA",1,["mavlink::uavionix::EVENT_DATA"]],["impl RefUnwindSafe for CAMERA_INFORMATION_DATA",1,["mavlink::uavionix::CAMERA_INFORMATION_DATA"]],["impl RefUnwindSafe for PARAM_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for WHEEL_DISTANCE_DATA",1,["mavlink::uavionix::WHEEL_DISTANCE_DATA"]],["impl RefUnwindSafe for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_DATA"]],["impl RefUnwindSafe for UAVCAN_NODE_STATUS_DATA",1,["mavlink::uavionix::UAVCAN_NODE_STATUS_DATA"]],["impl RefUnwindSafe for PARAM_EXT_SET_DATA",1,["mavlink::uavionix::PARAM_EXT_SET_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl RefUnwindSafe for SMART_BATTERY_INFO_DATA",1,["mavlink::uavionix::SMART_BATTERY_INFO_DATA"]],["impl RefUnwindSafe for OPTICAL_FLOW_RAD_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_RAD_DATA"]],["impl RefUnwindSafe for HIL_OPTICAL_FLOW_DATA",1,["mavlink::uavionix::HIL_OPTICAL_FLOW_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_COV_DATA"]],["impl RefUnwindSafe for BATTERY_STATUS_DATA",1,["mavlink::uavionix::BATTERY_STATUS_DATA"]],["impl RefUnwindSafe for GLOBAL_POSITION_INT_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_DATA"]],["impl RefUnwindSafe for MOUNT_ORIENTATION_DATA",1,["mavlink::uavionix::MOUNT_ORIENTATION_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_DATA",1,["mavlink::uavionix::MISSION_ITEM_DATA"]],["impl RefUnwindSafe for GPS_RTK_DATA",1,["mavlink::uavionix::GPS_RTK_DATA"]],["impl RefUnwindSafe for HIGHRES_IMU_DATA",1,["mavlink::uavionix::HIGHRES_IMU_DATA"]],["impl RefUnwindSafe for RESOURCE_REQUEST_DATA",1,["mavlink::uavionix::RESOURCE_REQUEST_DATA"]],["impl RefUnwindSafe for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::uavionix::CONTROL_SYSTEM_STATE_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl RefUnwindSafe for PARAM_EXT_VALUE_DATA",1,["mavlink::uavionix::PARAM_EXT_VALUE_DATA"]],["impl RefUnwindSafe for RAW_IMU_DATA",1,["mavlink::uavionix::RAW_IMU_DATA"]],["impl RefUnwindSafe for TUNNEL_DATA",1,["mavlink::uavionix::TUNNEL_DATA"]],["impl RefUnwindSafe for GPS2_RTK_DATA",1,["mavlink::uavionix::GPS2_RTK_DATA"]],["impl RefUnwindSafe for EFI_STATUS_DATA",1,["mavlink::uavionix::EFI_STATUS_DATA"]],["impl RefUnwindSafe for ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::ATTITUDE_TARGET_DATA"]],["impl RefUnwindSafe for GPS_INJECT_DATA_DATA",1,["mavlink::uavionix::GPS_INJECT_DATA_DATA"]],["impl RefUnwindSafe for CELLULAR_CONFIG_DATA",1,["mavlink::uavionix::CELLULAR_CONFIG_DATA"]],["impl RefUnwindSafe for EXTENDED_SYS_STATE_DATA",1,["mavlink::uavionix::EXTENDED_SYS_STATE_DATA"]],["impl RefUnwindSafe for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::uavionix::ONBOARD_COMPUTER_STATUS_DATA"]],["impl RefUnwindSafe for SETUP_SIGNING_DATA",1,["mavlink::uavionix::SETUP_SIGNING_DATA"]],["impl RefUnwindSafe for PARAM_MAP_RC_DATA",1,["mavlink::uavionix::PARAM_MAP_RC_DATA"]],["impl RefUnwindSafe for HIGH_LATENCY2_DATA",1,["mavlink::uavionix::HIGH_LATENCY2_DATA"]],["impl RefUnwindSafe for SCALED_IMU2_DATA",1,["mavlink::uavionix::SCALED_IMU2_DATA"]],["impl RefUnwindSafe for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl RefUnwindSafe for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl RefUnwindSafe for VIBRATION_DATA",1,["mavlink::uavionix::VIBRATION_DATA"]],["impl RefUnwindSafe for HIL_SENSOR_DATA",1,["mavlink::uavionix::HIL_SENSOR_DATA"]],["impl RefUnwindSafe for WINCH_STATUS_DATA",1,["mavlink::uavionix::WINCH_STATUS_DATA"]],["impl RefUnwindSafe for SET_MODE_DATA",1,["mavlink::uavionix::SET_MODE_DATA"]],["impl RefUnwindSafe for RAW_PRESSURE_DATA",1,["mavlink::uavionix::RAW_PRESSURE_DATA"]],["impl RefUnwindSafe for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::uavionix::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl RefUnwindSafe for LOG_DATA_DATA",1,["mavlink::uavionix::LOG_DATA_DATA"]],["impl RefUnwindSafe for TIMESYNC_DATA",1,["mavlink::uavionix::TIMESYNC_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_RAW_DATA",1,["mavlink::uavionix::RC_CHANNELS_RAW_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl RefUnwindSafe for PARAM_VALUE_DATA",1,["mavlink::uavionix::PARAM_VALUE_DATA"]],["impl RefUnwindSafe for HIL_CONTROLS_DATA",1,["mavlink::uavionix::HIL_CONTROLS_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl RefUnwindSafe for ADSB_VEHICLE_DATA",1,["mavlink::uavionix::ADSB_VEHICLE_DATA"]],["impl RefUnwindSafe for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for UTM_GLOBAL_POSITION_DATA",1,["mavlink::uavionix::UTM_GLOBAL_POSITION_DATA"]],["impl RefUnwindSafe for COMMAND_ACK_DATA",1,["mavlink::uavionix::COMMAND_ACK_DATA"]],["impl RefUnwindSafe for ISBD_LINK_STATUS_DATA",1,["mavlink::uavionix::ISBD_LINK_STATUS_DATA"]],["impl RefUnwindSafe for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl RefUnwindSafe for AUTOPILOT_VERSION_DATA",1,["mavlink::uavionix::AUTOPILOT_VERSION_DATA"]],["impl RefUnwindSafe for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::uavionix::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl RefUnwindSafe for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::uavionix::DEBUG_FLOAT_ARRAY_DATA"]],["impl RefUnwindSafe for PLAY_TUNE_V2_DATA",1,["mavlink::uavionix::PLAY_TUNE_V2_DATA"]],["impl RefUnwindSafe for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl RefUnwindSafe for REQUEST_EVENT_DATA",1,["mavlink::uavionix::REQUEST_EVENT_DATA"]],["impl RefUnwindSafe for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl RefUnwindSafe for NAMED_VALUE_INT_DATA",1,["mavlink::uavionix::NAMED_VALUE_INT_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_DATA_DATA",1,["mavlink::uavionix::LOG_REQUEST_DATA_DATA"]],["impl RefUnwindSafe for MESSAGE_INTERVAL_DATA",1,["mavlink::uavionix::MESSAGE_INTERVAL_DATA"]],["impl RefUnwindSafe for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for LOG_ENTRY_DATA",1,["mavlink::uavionix::LOG_ENTRY_DATA"]],["impl RefUnwindSafe for AIS_VESSEL_DATA",1,["mavlink::uavionix::AIS_VESSEL_DATA"]],["impl RefUnwindSafe for MISSION_ACK_DATA",1,["mavlink::uavionix::MISSION_ACK_DATA"]],["impl RefUnwindSafe for RADIO_STATUS_DATA",1,["mavlink::uavionix::RADIO_STATUS_DATA"]],["impl RefUnwindSafe for CELLULAR_STATUS_DATA",1,["mavlink::uavionix::CELLULAR_STATUS_DATA"]],["impl RefUnwindSafe for DATA_STREAM_DATA",1,["mavlink::uavionix::DATA_STREAM_DATA"]],["impl RefUnwindSafe for DEBUG_VECT_DATA",1,["mavlink::uavionix::DEBUG_VECT_DATA"]],["impl RefUnwindSafe for MISSION_CURRENT_DATA",1,["mavlink::uavionix::MISSION_CURRENT_DATA"]],["impl RefUnwindSafe for PROTOCOL_VERSION_DATA",1,["mavlink::uavionix::PROTOCOL_VERSION_DATA"]],["impl RefUnwindSafe for GPS_INPUT_DATA",1,["mavlink::uavionix::GPS_INPUT_DATA"]],["impl RefUnwindSafe for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::uavionix::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_INT_DATA",1,["mavlink::uavionix::MISSION_ITEM_INT_DATA"]],["impl RefUnwindSafe for GPS_STATUS_DATA",1,["mavlink::uavionix::GPS_STATUS_DATA"]],["impl RefUnwindSafe for MANUAL_SETPOINT_DATA",1,["mavlink::uavionix::MANUAL_SETPOINT_DATA"]],["impl RefUnwindSafe for FENCE_STATUS_DATA",1,["mavlink::uavionix::FENCE_STATUS_DATA"]],["impl RefUnwindSafe for HOME_POSITION_DATA",1,["mavlink::uavionix::HOME_POSITION_DATA"]],["impl RefUnwindSafe for ESC_INFO_DATA",1,["mavlink::uavionix::ESC_INFO_DATA"]],["impl RefUnwindSafe for COMMAND_CANCEL_DATA",1,["mavlink::uavionix::COMMAND_CANCEL_DATA"]],["impl RefUnwindSafe for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_READ_DATA"]],["impl RefUnwindSafe for PLAY_TUNE_DATA",1,["mavlink::uavionix::PLAY_TUNE_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_INT_DATA",1,["mavlink::uavionix::MISSION_REQUEST_INT_DATA"]],["impl RefUnwindSafe for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_COV_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_REACHED_DATA",1,["mavlink::uavionix::MISSION_ITEM_REACHED_DATA"]],["impl RefUnwindSafe for PARAM_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_REQUEST_READ_DATA"]],["impl RefUnwindSafe for TERRAIN_DATA_DATA",1,["mavlink::uavionix::TERRAIN_DATA_DATA"]],["impl RefUnwindSafe for GPS_RAW_INT_DATA",1,["mavlink::uavionix::GPS_RAW_INT_DATA"]],["impl RefUnwindSafe for STORAGE_INFORMATION_DATA",1,["mavlink::uavionix::STORAGE_INFORMATION_DATA"]],["impl RefUnwindSafe for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::uavionix::RESPONSE_EVENT_ERROR_DATA"]],["impl RefUnwindSafe for MANUAL_CONTROL_DATA",1,["mavlink::uavionix::MANUAL_CONTROL_DATA"]],["impl RefUnwindSafe for NAMED_VALUE_FLOAT_DATA",1,["mavlink::uavionix::NAMED_VALUE_FLOAT_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_STATUS_DATA"]],["impl RefUnwindSafe for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl RefUnwindSafe for LOGGING_DATA_DATA",1,["mavlink::uavionix::LOGGING_DATA_DATA"]],["impl RefUnwindSafe for STATUSTEXT_DATA",1,["mavlink::uavionix::STATUSTEXT_DATA"]],["impl RefUnwindSafe for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl RefUnwindSafe for ESTIMATOR_STATUS_DATA",1,["mavlink::uavionix::ESTIMATOR_STATUS_DATA"]],["impl RefUnwindSafe for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::uavionix::CAMERA_IMAGE_CAPTURED_DATA"]],["impl RefUnwindSafe for PARAM_EXT_ACK_DATA",1,["mavlink::uavionix::PARAM_EXT_ACK_DATA"]],["impl RefUnwindSafe for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::ACTUATOR_CONTROL_TARGET_DATA"]],["impl RefUnwindSafe for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl RefUnwindSafe for CAN_FRAME_DATA",1,["mavlink::uavionix::CAN_FRAME_DATA"]],["impl RefUnwindSafe for COMMAND_LONG_DATA",1,["mavlink::uavionix::COMMAND_LONG_DATA"]],["impl RefUnwindSafe for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl RefUnwindSafe for HEARTBEAT_DATA",1,["mavlink::uavionix::HEARTBEAT_DATA"]],["impl RefUnwindSafe for ATTITUDE_QUATERNION_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_DATA"]],["impl RefUnwindSafe for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VICON_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::uavionix::ORBIT_EXECUTION_STATUS_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE2_DATA",1,["mavlink::uavionix::SCALED_PRESSURE2_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl RefUnwindSafe for ODOMETRY_DATA",1,["mavlink::uavionix::ODOMETRY_DATA"]],["impl RefUnwindSafe for CAMERA_SETTINGS_DATA",1,["mavlink::uavionix::CAMERA_SETTINGS_DATA"]],["impl RefUnwindSafe for MISSION_CLEAR_ALL_DATA",1,["mavlink::uavionix::MISSION_CLEAR_ALL_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl RefUnwindSafe for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_SPEED_ESTIMATE_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl RefUnwindSafe for TERRAIN_REPORT_DATA",1,["mavlink::uavionix::TERRAIN_REPORT_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_DATA"]],["impl RefUnwindSafe for DEBUG_DATA",1,["mavlink::uavionix::DEBUG_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl RefUnwindSafe for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::GPS_GLOBAL_ORIGIN_DATA"]],["impl RefUnwindSafe for MISSION_COUNT_DATA",1,["mavlink::uavionix::MISSION_COUNT_DATA"]],["impl RefUnwindSafe for HIGH_LATENCY_DATA",1,["mavlink::uavionix::HIGH_LATENCY_DATA"]],["impl RefUnwindSafe for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl RefUnwindSafe for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::uavionix::CURRENT_EVENT_SEQUENCE_DATA"]],["impl RefUnwindSafe for MEMORY_VECT_DATA",1,["mavlink::uavionix::MEMORY_VECT_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_DATA"]],["impl RefUnwindSafe for V2_EXTENSION_DATA",1,["mavlink::uavionix::V2_EXTENSION_DATA"]],["impl RefUnwindSafe for ESC_STATUS_DATA",1,["mavlink::uavionix::ESC_STATUS_DATA"]],["impl RefUnwindSafe for LOGGING_DATA_ACKED_DATA",1,["mavlink::uavionix::LOGGING_DATA_ACKED_DATA"]],["impl RefUnwindSafe for CANFD_FRAME_DATA",1,["mavlink::uavionix::CANFD_FRAME_DATA"]],["impl RefUnwindSafe for SCALED_IMU3_DATA",1,["mavlink::uavionix::SCALED_IMU3_DATA"]],["impl RefUnwindSafe for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_COV_DATA"]],["impl RefUnwindSafe for HIL_STATE_QUATERNION_DATA",1,["mavlink::uavionix::HIL_STATE_QUATERNION_DATA"]],["impl RefUnwindSafe for AUTH_KEY_DATA",1,["mavlink::uavionix::AUTH_KEY_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_LOCATION_DATA"]],["impl RefUnwindSafe for LOGGING_ACK_DATA",1,["mavlink::uavionix::LOGGING_ACK_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl RefUnwindSafe for SYSTEM_TIME_DATA",1,["mavlink::uavionix::SYSTEM_TIME_DATA"]],["impl RefUnwindSafe for SET_ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::SET_ATTITUDE_TARGET_DATA"]],["impl RefUnwindSafe for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::POSITION_TARGET_LOCAL_NED_DATA"]],["impl RefUnwindSafe for TERRAIN_CHECK_DATA",1,["mavlink::uavionix::TERRAIN_CHECK_DATA"]],["impl RefUnwindSafe for SYS_STATUS_DATA",1,["mavlink::uavionix::SYS_STATUS_DATA"]],["impl RefUnwindSafe for WIFI_CONFIG_AP_DATA",1,["mavlink::uavionix::WIFI_CONFIG_AP_DATA"]],["impl RefUnwindSafe for PING_DATA",1,["mavlink::uavionix::PING_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_SCALED_DATA",1,["mavlink::uavionix::RC_CHANNELS_SCALED_DATA"]],["impl RefUnwindSafe for OPTICAL_FLOW_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl RefUnwindSafe for MavMessage",1,["mavlink::uavionix::MavMessage"]],["impl RefUnwindSafe for WifiConfigApResponse",1,["mavlink::common::WifiConfigApResponse"]],["impl RefUnwindSafe for FirmwareVersionType",1,["mavlink::common::FirmwareVersionType"]],["impl RefUnwindSafe for MavAutopilot",1,["mavlink::common::MavAutopilot"]],["impl RefUnwindSafe for FailureUnit",1,["mavlink::common::FailureUnit"]],["impl RefUnwindSafe for MavOdidClassEu",1,["mavlink::common::MavOdidClassEu"]],["impl RefUnwindSafe for CellularNetworkFailedReason",1,["mavlink::common::CellularNetworkFailedReason"]],["impl RefUnwindSafe for CellularNetworkRadioType",1,["mavlink::common::CellularNetworkRadioType"]],["impl RefUnwindSafe for MavOdidIdType",1,["mavlink::common::MavOdidIdType"]],["impl RefUnwindSafe for MavModeFlag",1,["mavlink::common::MavModeFlag"]],["impl RefUnwindSafe for MavOdidArmStatus",1,["mavlink::common::MavOdidArmStatus"]],["impl RefUnwindSafe for NavVtolLandOptions",1,["mavlink::common::NavVtolLandOptions"]],["impl RefUnwindSafe for GripperActions",1,["mavlink::common::GripperActions"]],["impl RefUnwindSafe for MavWinchStatusFlag",1,["mavlink::common::MavWinchStatusFlag"]],["impl RefUnwindSafe for ParachuteAction",1,["mavlink::common::ParachuteAction"]],["impl RefUnwindSafe for CompMetadataType",1,["mavlink::common::CompMetadataType"]],["impl RefUnwindSafe for AdsbEmitterType",1,["mavlink::common::AdsbEmitterType"]],["impl RefUnwindSafe for MavMode",1,["mavlink::common::MavMode"]],["impl RefUnwindSafe for MavOdidClassificationType",1,["mavlink::common::MavOdidClassificationType"]],["impl RefUnwindSafe for MavDistanceSensor",1,["mavlink::common::MavDistanceSensor"]],["impl RefUnwindSafe for PositionTargetTypemask",1,["mavlink::common::PositionTargetTypemask"]],["impl RefUnwindSafe for MavCmdAck",1,["mavlink::common::MavCmdAck"]],["impl RefUnwindSafe for UavcanNodeMode",1,["mavlink::common::UavcanNodeMode"]],["impl RefUnwindSafe for AdsbAltitudeType",1,["mavlink::common::AdsbAltitudeType"]],["impl RefUnwindSafe for GpsFixType",1,["mavlink::common::GpsFixType"]],["impl RefUnwindSafe for ParamAck",1,["mavlink::common::ParamAck"]],["impl RefUnwindSafe for MavComponent",1,["mavlink::common::MavComponent"]],["impl RefUnwindSafe for AisNavStatus",1,["mavlink::common::AisNavStatus"]],["impl RefUnwindSafe for MagCalStatus",1,["mavlink::common::MagCalStatus"]],["impl RefUnwindSafe for CameraZoomType",1,["mavlink::common::CameraZoomType"]],["impl RefUnwindSafe for MavOdidCategoryEu",1,["mavlink::common::MavOdidCategoryEu"]],["impl RefUnwindSafe for MavBatteryFunction",1,["mavlink::common::MavBatteryFunction"]],["impl RefUnwindSafe for WifiConfigApMode",1,["mavlink::common::WifiConfigApMode"]],["impl RefUnwindSafe for MavRoi",1,["mavlink::common::MavRoi"]],["impl RefUnwindSafe for AisFlags",1,["mavlink::common::AisFlags"]],["impl RefUnwindSafe for AisType",1,["mavlink::common::AisType"]],["impl RefUnwindSafe for MavOdidDescType",1,["mavlink::common::MavOdidDescType"]],["impl RefUnwindSafe for CanFilterOp",1,["mavlink::common::CanFilterOp"]],["impl RefUnwindSafe for MavFtpOpcode",1,["mavlink::common::MavFtpOpcode"]],["impl RefUnwindSafe for MavVtolState",1,["mavlink::common::MavVtolState"]],["impl RefUnwindSafe for MavState",1,["mavlink::common::MavState"]],["impl RefUnwindSafe for FenceBreach",1,["mavlink::common::FenceBreach"]],["impl RefUnwindSafe for SerialControlFlag",1,["mavlink::common::SerialControlFlag"]],["impl RefUnwindSafe for TuneFormat",1,["mavlink::common::TuneFormat"]],["impl RefUnwindSafe for MavSeverity",1,["mavlink::common::MavSeverity"]],["impl RefUnwindSafe for MavlinkDataStreamType",1,["mavlink::common::MavlinkDataStreamType"]],["impl RefUnwindSafe for AdsbFlags",1,["mavlink::common::AdsbFlags"]],["impl RefUnwindSafe for MavMountMode",1,["mavlink::common::MavMountMode"]],["impl RefUnwindSafe for FenceMitigate",1,["mavlink::common::FenceMitigate"]],["impl RefUnwindSafe for MavGeneratorStatusFlag",1,["mavlink::common::MavGeneratorStatusFlag"]],["impl RefUnwindSafe for MavBatteryChargeState",1,["mavlink::common::MavBatteryChargeState"]],["impl RefUnwindSafe for MavFtpErr",1,["mavlink::common::MavFtpErr"]],["impl RefUnwindSafe for CellularConfigResponse",1,["mavlink::common::CellularConfigResponse"]],["impl RefUnwindSafe for MavOdidOperatorIdType",1,["mavlink::common::MavOdidOperatorIdType"]],["impl RefUnwindSafe for MavOdidSpeedAcc",1,["mavlink::common::MavOdidSpeedAcc"]],["impl RefUnwindSafe for LandingTargetType",1,["mavlink::common::LandingTargetType"]],["impl RefUnwindSafe for MavCollisionThreatLevel",1,["mavlink::common::MavCollisionThreatLevel"]],["impl RefUnwindSafe for MavTunnelPayloadType",1,["mavlink::common::MavTunnelPayloadType"]],["impl RefUnwindSafe for MavEventErrorReason",1,["mavlink::common::MavEventErrorReason"]],["impl RefUnwindSafe for MavOdidVerAcc",1,["mavlink::common::MavOdidVerAcc"]],["impl RefUnwindSafe for MotorTestThrottleType",1,["mavlink::common::MotorTestThrottleType"]],["impl RefUnwindSafe for OrbitYawBehaviour",1,["mavlink::common::OrbitYawBehaviour"]],["impl RefUnwindSafe for ActuatorConfiguration",1,["mavlink::common::ActuatorConfiguration"]],["impl RefUnwindSafe for MavEstimatorType",1,["mavlink::common::MavEstimatorType"]],["impl RefUnwindSafe for EstimatorStatusFlags",1,["mavlink::common::EstimatorStatusFlags"]],["impl RefUnwindSafe for FailureType",1,["mavlink::common::FailureType"]],["impl RefUnwindSafe for PreflightStorageParameterAction",1,["mavlink::common::PreflightStorageParameterAction"]],["impl RefUnwindSafe for MavParamType",1,["mavlink::common::MavParamType"]],["impl RefUnwindSafe for MavModeFlagDecodePosition",1,["mavlink::common::MavModeFlagDecodePosition"]],["impl RefUnwindSafe for StorageUsageFlag",1,["mavlink::common::StorageUsageFlag"]],["impl RefUnwindSafe for MavEventCurrentSequenceFlags",1,["mavlink::common::MavEventCurrentSequenceFlags"]],["impl RefUnwindSafe for MavGoto",1,["mavlink::common::MavGoto"]],["impl RefUnwindSafe for GimbalDeviceCapFlags",1,["mavlink::common::GimbalDeviceCapFlags"]],["impl RefUnwindSafe for VtolTransitionHeading",1,["mavlink::common::VtolTransitionHeading"]],["impl RefUnwindSafe for GimbalDeviceFlags",1,["mavlink::common::GimbalDeviceFlags"]],["impl RefUnwindSafe for SerialControlDev",1,["mavlink::common::SerialControlDev"]],["impl RefUnwindSafe for MavSysStatusSensor",1,["mavlink::common::MavSysStatusSensor"]],["impl RefUnwindSafe for MavDataStream",1,["mavlink::common::MavDataStream"]],["impl RefUnwindSafe for MavCollisionSrc",1,["mavlink::common::MavCollisionSrc"]],["impl RefUnwindSafe for VideoStreamStatusFlags",1,["mavlink::common::VideoStreamStatusFlags"]],["impl RefUnwindSafe for CameraTrackingStatusFlags",1,["mavlink::common::CameraTrackingStatusFlags"]],["impl RefUnwindSafe for RcType",1,["mavlink::common::RcType"]],["impl RefUnwindSafe for AttitudeTargetTypemask",1,["mavlink::common::AttitudeTargetTypemask"]],["impl RefUnwindSafe for MavOdidAuthType",1,["mavlink::common::MavOdidAuthType"]],["impl RefUnwindSafe for GimbalDeviceErrorFlags",1,["mavlink::common::GimbalDeviceErrorFlags"]],["impl RefUnwindSafe for GimbalManagerFlags",1,["mavlink::common::GimbalManagerFlags"]],["impl RefUnwindSafe for ActuatorOutputFunction",1,["mavlink::common::ActuatorOutputFunction"]],["impl RefUnwindSafe for MavProtocolCapability",1,["mavlink::common::MavProtocolCapability"]],["impl RefUnwindSafe for MavCmd",1,["mavlink::common::MavCmd"]],["impl RefUnwindSafe for MavBatteryType",1,["mavlink::common::MavBatteryType"]],["impl RefUnwindSafe for WinchActions",1,["mavlink::common::WinchActions"]],["impl RefUnwindSafe for MavOdidUaType",1,["mavlink::common::MavOdidUaType"]],["impl RefUnwindSafe for MavOdidStatus",1,["mavlink::common::MavOdidStatus"]],["impl RefUnwindSafe for HlFailureFlag",1,["mavlink::common::HlFailureFlag"]],["impl RefUnwindSafe for UtmDataAvailFlags",1,["mavlink::common::UtmDataAvailFlags"]],["impl RefUnwindSafe for RtkBaselineCoordinateSystem",1,["mavlink::common::RtkBaselineCoordinateSystem"]],["impl RefUnwindSafe for PreflightStorageMissionAction",1,["mavlink::common::PreflightStorageMissionAction"]],["impl RefUnwindSafe for StorageType",1,["mavlink::common::StorageType"]],["impl RefUnwindSafe for MavCollisionAction",1,["mavlink::common::MavCollisionAction"]],["impl RefUnwindSafe for MavFrame",1,["mavlink::common::MavFrame"]],["impl RefUnwindSafe for CameraCapFlags",1,["mavlink::common::CameraCapFlags"]],["impl RefUnwindSafe for CameraTrackingTargetData",1,["mavlink::common::CameraTrackingTargetData"]],["impl RefUnwindSafe for CameraMode",1,["mavlink::common::CameraMode"]],["impl RefUnwindSafe for EscConnectionType",1,["mavlink::common::EscConnectionType"]],["impl RefUnwindSafe for UavcanNodeHealth",1,["mavlink::common::UavcanNodeHealth"]],["impl RefUnwindSafe for MavParamExtType",1,["mavlink::common::MavParamExtType"]],["impl RefUnwindSafe for MavOdidHorAcc",1,["mavlink::common::MavOdidHorAcc"]],["impl RefUnwindSafe for GimbalManagerCapFlags",1,["mavlink::common::GimbalManagerCapFlags"]],["impl RefUnwindSafe for MavMissionResult",1,["mavlink::common::MavMissionResult"]],["impl RefUnwindSafe for CellularStatusFlag",1,["mavlink::common::CellularStatusFlag"]],["impl RefUnwindSafe for MavPowerStatus",1,["mavlink::common::MavPowerStatus"]],["impl RefUnwindSafe for CameraTrackingMode",1,["mavlink::common::CameraTrackingMode"]],["impl RefUnwindSafe for GpsInputIgnoreFlags",1,["mavlink::common::GpsInputIgnoreFlags"]],["impl RefUnwindSafe for VideoStreamType",1,["mavlink::common::VideoStreamType"]],["impl RefUnwindSafe for FenceAction",1,["mavlink::common::FenceAction"]],["impl RefUnwindSafe for PrecisionLandMode",1,["mavlink::common::PrecisionLandMode"]],["impl RefUnwindSafe for MavSensorOrientation",1,["mavlink::common::MavSensorOrientation"]],["impl RefUnwindSafe for MavMissionType",1,["mavlink::common::MavMissionType"]],["impl RefUnwindSafe for MavType",1,["mavlink::common::MavType"]],["impl RefUnwindSafe for MavOdidOperatorLocationType",1,["mavlink::common::MavOdidOperatorLocationType"]],["impl RefUnwindSafe for MavResult",1,["mavlink::common::MavResult"]],["impl RefUnwindSafe for MissionState",1,["mavlink::common::MissionState"]],["impl RefUnwindSafe for StorageStatus",1,["mavlink::common::StorageStatus"]],["impl RefUnwindSafe for MavArmAuthDeniedReason",1,["mavlink::common::MavArmAuthDeniedReason"]],["impl RefUnwindSafe for AutotuneAxis",1,["mavlink::common::AutotuneAxis"]],["impl RefUnwindSafe for HighresImuUpdatedFlags",1,["mavlink::common::HighresImuUpdatedFlags"]],["impl RefUnwindSafe for UtmFlightState",1,["mavlink::common::UtmFlightState"]],["impl RefUnwindSafe for MavDoRepositionFlags",1,["mavlink::common::MavDoRepositionFlags"]],["impl RefUnwindSafe for MavOdidTimeAcc",1,["mavlink::common::MavOdidTimeAcc"]],["impl RefUnwindSafe for MavBatteryMode",1,["mavlink::common::MavBatteryMode"]],["impl RefUnwindSafe for MavSysStatusSensorExtended",1,["mavlink::common::MavSysStatusSensorExtended"]],["impl RefUnwindSafe for MavLandedState",1,["mavlink::common::MavLandedState"]],["impl RefUnwindSafe for MavBatteryFault",1,["mavlink::common::MavBatteryFault"]],["impl RefUnwindSafe for SetFocusType",1,["mavlink::common::SetFocusType"]],["impl RefUnwindSafe for MavOdidHeightRef",1,["mavlink::common::MavOdidHeightRef"]],["impl RefUnwindSafe for HilSensorUpdatedFlags",1,["mavlink::common::HilSensorUpdatedFlags"]],["impl RefUnwindSafe for MotorTestOrder",1,["mavlink::common::MotorTestOrder"]],["impl RefUnwindSafe for EscFailureFlags",1,["mavlink::common::EscFailureFlags"]],["impl RefUnwindSafe for MISSION_CLEAR_ALL_DATA",1,["mavlink::common::MISSION_CLEAR_ALL_DATA"]],["impl RefUnwindSafe for COMMAND_INT_DATA",1,["mavlink::common::COMMAND_INT_DATA"]],["impl RefUnwindSafe for COLLISION_DATA",1,["mavlink::common::COLLISION_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_RAW_DATA",1,["mavlink::common::RC_CHANNELS_RAW_DATA"]],["impl RefUnwindSafe for OPTICAL_FLOW_RAD_DATA",1,["mavlink::common::OPTICAL_FLOW_RAD_DATA"]],["impl RefUnwindSafe for LOGGING_ACK_DATA",1,["mavlink::common::LOGGING_ACK_DATA"]],["impl RefUnwindSafe for WIFI_CONFIG_AP_DATA",1,["mavlink::common::WIFI_CONFIG_AP_DATA"]],["impl RefUnwindSafe for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl RefUnwindSafe for MANUAL_CONTROL_DATA",1,["mavlink::common::MANUAL_CONTROL_DATA"]],["impl RefUnwindSafe for SMART_BATTERY_INFO_DATA",1,["mavlink::common::SMART_BATTERY_INFO_DATA"]],["impl RefUnwindSafe for COMMAND_CANCEL_DATA",1,["mavlink::common::COMMAND_CANCEL_DATA"]],["impl RefUnwindSafe for LOG_ENTRY_DATA",1,["mavlink::common::LOG_ENTRY_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE2_DATA",1,["mavlink::common::SCALED_PRESSURE2_DATA"]],["impl RefUnwindSafe for CAMERA_TRIGGER_DATA",1,["mavlink::common::CAMERA_TRIGGER_DATA"]],["impl RefUnwindSafe for SET_HOME_POSITION_DATA",1,["mavlink::common::SET_HOME_POSITION_DATA"]],["impl RefUnwindSafe for RAW_IMU_DATA",1,["mavlink::common::RAW_IMU_DATA"]],["impl RefUnwindSafe for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl RefUnwindSafe for COMPONENT_METADATA_DATA",1,["mavlink::common::COMPONENT_METADATA_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::common::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl RefUnwindSafe for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::ACTUATOR_CONTROL_TARGET_DATA"]],["impl RefUnwindSafe for MISSION_CURRENT_DATA",1,["mavlink::common::MISSION_CURRENT_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_END_DATA",1,["mavlink::common::LOG_REQUEST_END_DATA"]],["impl RefUnwindSafe for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::common::FILE_TRANSFER_PROTOCOL_DATA"]],["impl RefUnwindSafe for BATTERY_STATUS_DATA",1,["mavlink::common::BATTERY_STATUS_DATA"]],["impl RefUnwindSafe for LANDING_TARGET_DATA",1,["mavlink::common::LANDING_TARGET_DATA"]],["impl RefUnwindSafe for MESSAGE_INTERVAL_DATA",1,["mavlink::common::MESSAGE_INTERVAL_DATA"]],["impl RefUnwindSafe for WHEEL_DISTANCE_DATA",1,["mavlink::common::WHEEL_DISTANCE_DATA"]],["impl RefUnwindSafe for MISSION_COUNT_DATA",1,["mavlink::common::MISSION_COUNT_DATA"]],["impl RefUnwindSafe for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::common::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl RefUnwindSafe for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_DATA"]],["impl RefUnwindSafe for HIL_STATE_DATA",1,["mavlink::common::HIL_STATE_DATA"]],["impl RefUnwindSafe for HIL_SENSOR_DATA",1,["mavlink::common::HIL_SENSOR_DATA"]],["impl RefUnwindSafe for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_READ_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE_DATA",1,["mavlink::common::SCALED_PRESSURE_DATA"]],["impl RefUnwindSafe for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl RefUnwindSafe for ENCAPSULATED_DATA_DATA",1,["mavlink::common::ENCAPSULATED_DATA_DATA"]],["impl RefUnwindSafe for COMPONENT_INFORMATION_DATA",1,["mavlink::common::COMPONENT_INFORMATION_DATA"]],["impl RefUnwindSafe for VIDEO_STREAM_STATUS_DATA",1,["mavlink::common::VIDEO_STREAM_STATUS_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::common::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl RefUnwindSafe for HIL_GPS_DATA",1,["mavlink::common::HIL_GPS_DATA"]],["impl RefUnwindSafe for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_COV_DATA"]],["impl RefUnwindSafe for TERRAIN_REPORT_DATA",1,["mavlink::common::TERRAIN_REPORT_DATA"]],["impl RefUnwindSafe for AIS_VESSEL_DATA",1,["mavlink::common::AIS_VESSEL_DATA"]],["impl RefUnwindSafe for ODOMETRY_DATA",1,["mavlink::common::ODOMETRY_DATA"]],["impl RefUnwindSafe for SUPPORTED_TUNES_DATA",1,["mavlink::common::SUPPORTED_TUNES_DATA"]],["impl RefUnwindSafe for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::common::CONTROL_SYSTEM_STATE_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl RefUnwindSafe for ATT_POS_MOCAP_DATA",1,["mavlink::common::ATT_POS_MOCAP_DATA"]],["impl RefUnwindSafe for LOGGING_DATA_DATA",1,["mavlink::common::LOGGING_DATA_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::common::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl RefUnwindSafe for SETUP_SIGNING_DATA",1,["mavlink::common::SETUP_SIGNING_DATA"]],["impl RefUnwindSafe for PARAM_EXT_ACK_DATA",1,["mavlink::common::PARAM_EXT_ACK_DATA"]],["impl RefUnwindSafe for RADIO_STATUS_DATA",1,["mavlink::common::RADIO_STATUS_DATA"]],["impl RefUnwindSafe for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::common::RESPONSE_EVENT_ERROR_DATA"]],["impl RefUnwindSafe for SIM_STATE_DATA",1,["mavlink::common::SIM_STATE_DATA"]],["impl RefUnwindSafe for FENCE_STATUS_DATA",1,["mavlink::common::FENCE_STATUS_DATA"]],["impl RefUnwindSafe for RESOURCE_REQUEST_DATA",1,["mavlink::common::RESOURCE_REQUEST_DATA"]],["impl RefUnwindSafe for TERRAIN_DATA_DATA",1,["mavlink::common::TERRAIN_DATA_DATA"]],["impl RefUnwindSafe for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::common::VICON_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for EXTENDED_SYS_STATE_DATA",1,["mavlink::common::EXTENDED_SYS_STATE_DATA"]],["impl RefUnwindSafe for HEARTBEAT_DATA",1,["mavlink::common::HEARTBEAT_DATA"]],["impl RefUnwindSafe for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::common::VIDEO_STREAM_INFORMATION_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_INT_DATA",1,["mavlink::common::MISSION_REQUEST_INT_DATA"]],["impl RefUnwindSafe for CAN_FILTER_MODIFY_DATA",1,["mavlink::common::CAN_FILTER_MODIFY_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_INT_DATA",1,["mavlink::common::MISSION_ITEM_INT_DATA"]],["impl RefUnwindSafe for HIGHRES_IMU_DATA",1,["mavlink::common::HIGHRES_IMU_DATA"]],["impl RefUnwindSafe for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl RefUnwindSafe for DEBUG_DATA",1,["mavlink::common::DEBUG_DATA"]],["impl RefUnwindSafe for CAMERA_SETTINGS_DATA",1,["mavlink::common::CAMERA_SETTINGS_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::POSITION_TARGET_LOCAL_NED_DATA"]],["impl RefUnwindSafe for SCALED_IMU_DATA",1,["mavlink::common::SCALED_IMU_DATA"]],["impl RefUnwindSafe for WIND_COV_DATA",1,["mavlink::common::WIND_COV_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_DATA",1,["mavlink::common::MISSION_REQUEST_DATA"]],["impl RefUnwindSafe for SERIAL_CONTROL_DATA",1,["mavlink::common::SERIAL_CONTROL_DATA"]],["impl RefUnwindSafe for PARAM_REQUEST_READ_DATA",1,["mavlink::common::PARAM_REQUEST_READ_DATA"]],["impl RefUnwindSafe for GPS2_RTK_DATA",1,["mavlink::common::GPS2_RTK_DATA"]],["impl RefUnwindSafe for COMMAND_ACK_DATA",1,["mavlink::common::COMMAND_ACK_DATA"]],["impl RefUnwindSafe for POWER_STATUS_DATA",1,["mavlink::common::POWER_STATUS_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::common::GIMBAL_MANAGER_STATUS_DATA"]],["impl RefUnwindSafe for GLOBAL_POSITION_INT_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_DATA"]],["impl RefUnwindSafe for PARAM_SET_DATA",1,["mavlink::common::PARAM_SET_DATA"]],["impl RefUnwindSafe for OPTICAL_FLOW_DATA",1,["mavlink::common::OPTICAL_FLOW_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_SCALED_DATA",1,["mavlink::common::RC_CHANNELS_SCALED_DATA"]],["impl RefUnwindSafe for GPS_INJECT_DATA_DATA",1,["mavlink::common::GPS_INJECT_DATA_DATA"]],["impl RefUnwindSafe for PARAM_VALUE_DATA",1,["mavlink::common::PARAM_VALUE_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_DATA",1,["mavlink::common::RC_CHANNELS_DATA"]],["impl RefUnwindSafe for ESTIMATOR_STATUS_DATA",1,["mavlink::common::ESTIMATOR_STATUS_DATA"]],["impl RefUnwindSafe for TIMESYNC_DATA",1,["mavlink::common::TIMESYNC_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE3_DATA",1,["mavlink::common::SCALED_PRESSURE3_DATA"]],["impl RefUnwindSafe for DATA_STREAM_DATA",1,["mavlink::common::DATA_STREAM_DATA"]],["impl RefUnwindSafe for HOME_POSITION_DATA",1,["mavlink::common::HOME_POSITION_DATA"]],["impl RefUnwindSafe for MEMORY_VECT_DATA",1,["mavlink::common::MEMORY_VECT_DATA"]],["impl RefUnwindSafe for NAMED_VALUE_FLOAT_DATA",1,["mavlink::common::NAMED_VALUE_FLOAT_DATA"]],["impl RefUnwindSafe for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::common::NAV_CONTROLLER_OUTPUT_DATA"]],["impl RefUnwindSafe for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl RefUnwindSafe for STATUSTEXT_DATA",1,["mavlink::common::STATUSTEXT_DATA"]],["impl RefUnwindSafe for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl RefUnwindSafe for UAVCAN_NODE_STATUS_DATA",1,["mavlink::common::UAVCAN_NODE_STATUS_DATA"]],["impl RefUnwindSafe for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::GPS_GLOBAL_ORIGIN_DATA"]],["impl RefUnwindSafe for EFI_STATUS_DATA",1,["mavlink::common::EFI_STATUS_DATA"]],["impl RefUnwindSafe for ATTITUDE_QUATERNION_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_DATA"]],["impl RefUnwindSafe for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::common::CAMERA_IMAGE_CAPTURED_DATA"]],["impl RefUnwindSafe for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl RefUnwindSafe for CELLULAR_STATUS_DATA",1,["mavlink::common::CELLULAR_STATUS_DATA"]],["impl RefUnwindSafe for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::common::ORBIT_EXECUTION_STATUS_DATA"]],["impl RefUnwindSafe for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::common::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl RefUnwindSafe for RAW_PRESSURE_DATA",1,["mavlink::common::RAW_PRESSURE_DATA"]],["impl RefUnwindSafe for WINCH_STATUS_DATA",1,["mavlink::common::WINCH_STATUS_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl RefUnwindSafe for ATTITUDE_TARGET_DATA",1,["mavlink::common::ATTITUDE_TARGET_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::common::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl RefUnwindSafe for ISBD_LINK_STATUS_DATA",1,["mavlink::common::ISBD_LINK_STATUS_DATA"]],["impl RefUnwindSafe for TUNNEL_DATA",1,["mavlink::common::TUNNEL_DATA"]],["impl RefUnwindSafe for OBSTACLE_DISTANCE_DATA",1,["mavlink::common::OBSTACLE_DISTANCE_DATA"]],["impl RefUnwindSafe for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_ALLOWED_AREA_DATA"]],["impl RefUnwindSafe for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::common::DEBUG_FLOAT_ARRAY_DATA"]],["impl RefUnwindSafe for SERVO_OUTPUT_RAW_DATA",1,["mavlink::common::SERVO_OUTPUT_RAW_DATA"]],["impl RefUnwindSafe for DISTANCE_SENSOR_DATA",1,["mavlink::common::DISTANCE_SENSOR_DATA"]],["impl RefUnwindSafe for PARAM_MAP_RC_DATA",1,["mavlink::common::PARAM_MAP_RC_DATA"]],["impl RefUnwindSafe for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl RefUnwindSafe for GENERATOR_STATUS_DATA",1,["mavlink::common::GENERATOR_STATUS_DATA"]],["impl RefUnwindSafe for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl RefUnwindSafe for CAN_FRAME_DATA",1,["mavlink::common::CAN_FRAME_DATA"]],["impl RefUnwindSafe for SCALED_IMU2_DATA",1,["mavlink::common::SCALED_IMU2_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_LOCATION_DATA"]],["impl RefUnwindSafe for COMMAND_LONG_DATA",1,["mavlink::common::COMMAND_LONG_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::common::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl RefUnwindSafe for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl RefUnwindSafe for HIL_CONTROLS_DATA",1,["mavlink::common::HIL_CONTROLS_DATA"]],["impl RefUnwindSafe for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl RefUnwindSafe for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_COV_DATA"]],["impl RefUnwindSafe for REQUEST_DATA_STREAM_DATA",1,["mavlink::common::REQUEST_DATA_STREAM_DATA"]],["impl RefUnwindSafe for LOG_ERASE_DATA",1,["mavlink::common::LOG_ERASE_DATA"]],["impl RefUnwindSafe for GPS_RTCM_DATA_DATA",1,["mavlink::common::GPS_RTCM_DATA_DATA"]],["impl RefUnwindSafe for MOUNT_ORIENTATION_DATA",1,["mavlink::common::MOUNT_ORIENTATION_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl RefUnwindSafe for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::common::HIL_RC_INPUTS_RAW_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_REACHED_DATA",1,["mavlink::common::MISSION_ITEM_REACHED_DATA"]],["impl RefUnwindSafe for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::common::HIL_ACTUATOR_CONTROLS_DATA"]],["impl RefUnwindSafe for SET_MODE_DATA",1,["mavlink::common::SET_MODE_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_LIST_DATA",1,["mavlink::common::LOG_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for HIGH_LATENCY2_DATA",1,["mavlink::common::HIGH_LATENCY2_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl RefUnwindSafe for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for SYSTEM_TIME_DATA",1,["mavlink::common::SYSTEM_TIME_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_DATA",1,["mavlink::common::MISSION_ITEM_DATA"]],["impl RefUnwindSafe for STORAGE_INFORMATION_DATA",1,["mavlink::common::STORAGE_INFORMATION_DATA"]],["impl RefUnwindSafe for GPS_RAW_INT_DATA",1,["mavlink::common::GPS_RAW_INT_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::common::LOCAL_POSITION_NED_COV_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::common::RC_CHANNELS_OVERRIDE_DATA"]],["impl RefUnwindSafe for PROTOCOL_VERSION_DATA",1,["mavlink::common::PROTOCOL_VERSION_DATA"]],["impl RefUnwindSafe for PARAM_EXT_VALUE_DATA",1,["mavlink::common::PARAM_EXT_VALUE_DATA"]],["impl RefUnwindSafe for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::common::CURRENT_EVENT_SEQUENCE_DATA"]],["impl RefUnwindSafe for PARAM_EXT_SET_DATA",1,["mavlink::common::PARAM_EXT_SET_DATA"]],["impl RefUnwindSafe for ESC_INFO_DATA",1,["mavlink::common::ESC_INFO_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl RefUnwindSafe for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::common::VISION_SPEED_ESTIMATE_DATA"]],["impl RefUnwindSafe for LOGGING_DATA_ACKED_DATA",1,["mavlink::common::LOGGING_DATA_ACKED_DATA"]],["impl RefUnwindSafe for ESC_STATUS_DATA",1,["mavlink::common::ESC_STATUS_DATA"]],["impl RefUnwindSafe for PARAM_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for CAMERA_INFORMATION_DATA",1,["mavlink::common::CAMERA_INFORMATION_DATA"]],["impl RefUnwindSafe for ATTITUDE_DATA",1,["mavlink::common::ATTITUDE_DATA"]],["impl RefUnwindSafe for CELLULAR_CONFIG_DATA",1,["mavlink::common::CELLULAR_CONFIG_DATA"]],["impl RefUnwindSafe for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for ALTITUDE_DATA",1,["mavlink::common::ALTITUDE_DATA"]],["impl RefUnwindSafe for GPS2_RAW_DATA",1,["mavlink::common::GPS2_RAW_DATA"]],["impl RefUnwindSafe for FOLLOW_TARGET_DATA",1,["mavlink::common::FOLLOW_TARGET_DATA"]],["impl RefUnwindSafe for LINK_NODE_STATUS_DATA",1,["mavlink::common::LINK_NODE_STATUS_DATA"]],["impl RefUnwindSafe for GPS_INPUT_DATA",1,["mavlink::common::GPS_INPUT_DATA"]],["impl RefUnwindSafe for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::common::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl RefUnwindSafe for GPS_RTK_DATA",1,["mavlink::common::GPS_RTK_DATA"]],["impl RefUnwindSafe for TERRAIN_CHECK_DATA",1,["mavlink::common::TERRAIN_CHECK_DATA"]],["impl RefUnwindSafe for MANUAL_SETPOINT_DATA",1,["mavlink::common::MANUAL_SETPOINT_DATA"]],["impl RefUnwindSafe for SCALED_IMU3_DATA",1,["mavlink::common::SCALED_IMU3_DATA"]],["impl RefUnwindSafe for MAG_CAL_REPORT_DATA",1,["mavlink::common::MAG_CAL_REPORT_DATA"]],["impl RefUnwindSafe for ADSB_VEHICLE_DATA",1,["mavlink::common::ADSB_VEHICLE_DATA"]],["impl RefUnwindSafe for DEBUG_VECT_DATA",1,["mavlink::common::DEBUG_VECT_DATA"]],["impl RefUnwindSafe for VIBRATION_DATA",1,["mavlink::common::VIBRATION_DATA"]],["impl RefUnwindSafe for PLAY_TUNE_DATA",1,["mavlink::common::PLAY_TUNE_DATA"]],["impl RefUnwindSafe for CAMERA_FOV_STATUS_DATA",1,["mavlink::common::CAMERA_FOV_STATUS_DATA"]],["impl RefUnwindSafe for HIL_STATE_QUATERNION_DATA",1,["mavlink::common::HIL_STATE_QUATERNION_DATA"]],["impl RefUnwindSafe for RAW_RPM_DATA",1,["mavlink::common::RAW_RPM_DATA"]],["impl RefUnwindSafe for SYS_STATUS_DATA",1,["mavlink::common::SYS_STATUS_DATA"]],["impl RefUnwindSafe for MISSION_ACK_DATA",1,["mavlink::common::MISSION_ACK_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_DATA_DATA",1,["mavlink::common::LOG_REQUEST_DATA_DATA"]],["impl RefUnwindSafe for UTM_GLOBAL_POSITION_DATA",1,["mavlink::common::UTM_GLOBAL_POSITION_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::common::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl RefUnwindSafe for HIL_OPTICAL_FLOW_DATA",1,["mavlink::common::HIL_OPTICAL_FLOW_DATA"]],["impl RefUnwindSafe for LOG_DATA_DATA",1,["mavlink::common::LOG_DATA_DATA"]],["impl RefUnwindSafe for BUTTON_CHANGE_DATA",1,["mavlink::common::BUTTON_CHANGE_DATA"]],["impl RefUnwindSafe for V2_EXTENSION_DATA",1,["mavlink::common::V2_EXTENSION_DATA"]],["impl RefUnwindSafe for FLIGHT_INFORMATION_DATA",1,["mavlink::common::FLIGHT_INFORMATION_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl RefUnwindSafe for EVENT_DATA",1,["mavlink::common::EVENT_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl RefUnwindSafe for AUTH_KEY_DATA",1,["mavlink::common::AUTH_KEY_DATA"]],["impl RefUnwindSafe for HYGROMETER_SENSOR_DATA",1,["mavlink::common::HYGROMETER_SENSOR_DATA"]],["impl RefUnwindSafe for GPS_STATUS_DATA",1,["mavlink::common::GPS_STATUS_DATA"]],["impl RefUnwindSafe for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::common::ONBOARD_COMPUTER_STATUS_DATA"]],["impl RefUnwindSafe for NAMED_VALUE_INT_DATA",1,["mavlink::common::NAMED_VALUE_INT_DATA"]],["impl RefUnwindSafe for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::common::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl RefUnwindSafe for PLAY_TUNE_V2_DATA",1,["mavlink::common::PLAY_TUNE_V2_DATA"]],["impl RefUnwindSafe for SET_ATTITUDE_TARGET_DATA",1,["mavlink::common::SET_ATTITUDE_TARGET_DATA"]],["impl RefUnwindSafe for CANFD_FRAME_DATA",1,["mavlink::common::CANFD_FRAME_DATA"]],["impl RefUnwindSafe for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::common::CAMERA_CAPTURE_STATUS_DATA"]],["impl RefUnwindSafe for REQUEST_EVENT_DATA",1,["mavlink::common::REQUEST_EVENT_DATA"]],["impl RefUnwindSafe for VFR_HUD_DATA",1,["mavlink::common::VFR_HUD_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_DATA",1,["mavlink::common::LOCAL_POSITION_NED_DATA"]],["impl RefUnwindSafe for AUTOPILOT_VERSION_DATA",1,["mavlink::common::AUTOPILOT_VERSION_DATA"]],["impl RefUnwindSafe for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::VISION_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for UAVCAN_NODE_INFO_DATA",1,["mavlink::common::UAVCAN_NODE_INFO_DATA"]],["impl RefUnwindSafe for TERRAIN_REQUEST_DATA",1,["mavlink::common::TERRAIN_REQUEST_DATA"]],["impl RefUnwindSafe for PING_DATA",1,["mavlink::common::PING_DATA"]],["impl RefUnwindSafe for MISSION_SET_CURRENT_DATA",1,["mavlink::common::MISSION_SET_CURRENT_DATA"]],["impl RefUnwindSafe for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl RefUnwindSafe for HIGH_LATENCY_DATA",1,["mavlink::common::HIGH_LATENCY_DATA"]],["impl RefUnwindSafe for MavMessage",1,["mavlink::common::MavMessage"]],["impl<'a> RefUnwindSafe for Bytes<'a>",1,["mavlink::bytes::Bytes"]],["impl<'a> RefUnwindSafe for BytesMut<'a>",1,["mavlink::bytes_mut::BytesMut"]],["impl RefUnwindSafe for ParserError",1,["mavlink::error::ParserError"]],["impl !RefUnwindSafe for MessageReadError",1,["mavlink::error::MessageReadError"]],["impl !RefUnwindSafe for MessageWriteError",1,["mavlink::error::MessageWriteError"]],["impl RefUnwindSafe for MavHeader",1,["mavlink::MavHeader"]],["impl RefUnwindSafe for MavlinkVersion",1,["mavlink::MavlinkVersion"]],["impl<M> RefUnwindSafe for MavFrame<M>where\n M: RefUnwindSafe,",1,["mavlink::MavFrame"]],["impl RefUnwindSafe for MAVLinkV1MessageRaw",1,["mavlink::MAVLinkV1MessageRaw"]],["impl RefUnwindSafe for MAVLinkV2MessageRaw",1,["mavlink::MAVLinkV2MessageRaw"]]], +"mavlink":[["impl RefUnwindSafe for IcarousTrackBandTypes",1,["mavlink::icarous::IcarousTrackBandTypes"]],["impl RefUnwindSafe for IcarousFmsState",1,["mavlink::icarous::IcarousFmsState"]],["impl RefUnwindSafe for ICAROUS_HEARTBEAT_DATA",1,["mavlink::icarous::ICAROUS_HEARTBEAT_DATA"]],["impl RefUnwindSafe for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::icarous::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl RefUnwindSafe for MavMessage",1,["mavlink::icarous::MavMessage"]],["impl RefUnwindSafe for GoproCharging",1,["mavlink::ardupilotmega::GoproCharging"]],["impl RefUnwindSafe for GimbalAxisCalibrationStatus",1,["mavlink::ardupilotmega::GimbalAxisCalibrationStatus"]],["impl RefUnwindSafe for EkfStatusFlags",1,["mavlink::ardupilotmega::EkfStatusFlags"]],["impl RefUnwindSafe for GoproHeartbeatStatus",1,["mavlink::ardupilotmega::GoproHeartbeatStatus"]],["impl RefUnwindSafe for PlaneMode",1,["mavlink::ardupilotmega::PlaneMode"]],["impl RefUnwindSafe for CopterMode",1,["mavlink::ardupilotmega::CopterMode"]],["impl RefUnwindSafe for SerialControlDev",1,["mavlink::ardupilotmega::SerialControlDev"]],["impl RefUnwindSafe for FenceAction",1,["mavlink::ardupilotmega::FenceAction"]],["impl RefUnwindSafe for PrecisionLandMode",1,["mavlink::ardupilotmega::PrecisionLandMode"]],["impl RefUnwindSafe for SerialControlFlag",1,["mavlink::ardupilotmega::SerialControlFlag"]],["impl RefUnwindSafe for CameraStatusTypes",1,["mavlink::ardupilotmega::CameraStatusTypes"]],["impl RefUnwindSafe for MavModeFlagDecodePosition",1,["mavlink::ardupilotmega::MavModeFlagDecodePosition"]],["impl RefUnwindSafe for GoproBurstRate",1,["mavlink::ardupilotmega::GoproBurstRate"]],["impl RefUnwindSafe for MavLandedState",1,["mavlink::ardupilotmega::MavLandedState"]],["impl RefUnwindSafe for CanFilterOp",1,["mavlink::ardupilotmega::CanFilterOp"]],["impl RefUnwindSafe for MavOdidDescType",1,["mavlink::ardupilotmega::MavOdidDescType"]],["impl RefUnwindSafe for ActuatorConfiguration",1,["mavlink::ardupilotmega::ActuatorConfiguration"]],["impl RefUnwindSafe for FirmwareVersionType",1,["mavlink::ardupilotmega::FirmwareVersionType"]],["impl RefUnwindSafe for RallyFlags",1,["mavlink::ardupilotmega::RallyFlags"]],["impl RefUnwindSafe for GoproFrameRate",1,["mavlink::ardupilotmega::GoproFrameRate"]],["impl RefUnwindSafe for EstimatorStatusFlags",1,["mavlink::ardupilotmega::EstimatorStatusFlags"]],["impl RefUnwindSafe for EscConnectionType",1,["mavlink::ardupilotmega::EscConnectionType"]],["impl RefUnwindSafe for MavMode",1,["mavlink::ardupilotmega::MavMode"]],["impl RefUnwindSafe for MavOdidSpeedAcc",1,["mavlink::ardupilotmega::MavOdidSpeedAcc"]],["impl RefUnwindSafe for HighresImuUpdatedFlags",1,["mavlink::ardupilotmega::HighresImuUpdatedFlags"]],["impl RefUnwindSafe for FenceBreach",1,["mavlink::ardupilotmega::FenceBreach"]],["impl RefUnwindSafe for MissionState",1,["mavlink::ardupilotmega::MissionState"]],["impl RefUnwindSafe for MotorTestOrder",1,["mavlink::ardupilotmega::MotorTestOrder"]],["impl RefUnwindSafe for MavEventErrorReason",1,["mavlink::ardupilotmega::MavEventErrorReason"]],["impl RefUnwindSafe for TuneFormat",1,["mavlink::ardupilotmega::TuneFormat"]],["impl RefUnwindSafe for RcType",1,["mavlink::ardupilotmega::RcType"]],["impl RefUnwindSafe for MavFtpOpcode",1,["mavlink::ardupilotmega::MavFtpOpcode"]],["impl RefUnwindSafe for GimbalDeviceFlags",1,["mavlink::ardupilotmega::GimbalDeviceFlags"]],["impl RefUnwindSafe for MavEstimatorType",1,["mavlink::ardupilotmega::MavEstimatorType"]],["impl RefUnwindSafe for UavcanNodeHealth",1,["mavlink::ardupilotmega::UavcanNodeHealth"]],["impl RefUnwindSafe for UavionixAdsbOutRfSelect",1,["mavlink::ardupilotmega::UavionixAdsbOutRfSelect"]],["impl RefUnwindSafe for MavGoto",1,["mavlink::ardupilotmega::MavGoto"]],["impl RefUnwindSafe for MavGeneratorStatusFlag",1,["mavlink::ardupilotmega::MavGeneratorStatusFlag"]],["impl RefUnwindSafe for SpeedType",1,["mavlink::ardupilotmega::SpeedType"]],["impl RefUnwindSafe for GoproPhotoResolution",1,["mavlink::ardupilotmega::GoproPhotoResolution"]],["impl RefUnwindSafe for MavBatteryFault",1,["mavlink::ardupilotmega::MavBatteryFault"]],["impl RefUnwindSafe for MavCmdDoAuxFunctionSwitchLevel",1,["mavlink::ardupilotmega::MavCmdDoAuxFunctionSwitchLevel"]],["impl RefUnwindSafe for MavSysStatusSensor",1,["mavlink::ardupilotmega::MavSysStatusSensor"]],["impl RefUnwindSafe for WinchActions",1,["mavlink::ardupilotmega::WinchActions"]],["impl RefUnwindSafe for MavFrame",1,["mavlink::ardupilotmega::MavFrame"]],["impl RefUnwindSafe for CellularStatusFlag",1,["mavlink::ardupilotmega::CellularStatusFlag"]],["impl RefUnwindSafe for CameraTrackingStatusFlags",1,["mavlink::ardupilotmega::CameraTrackingStatusFlags"]],["impl RefUnwindSafe for MavOdidStatus",1,["mavlink::ardupilotmega::MavOdidStatus"]],["impl RefUnwindSafe for AisNavStatus",1,["mavlink::ardupilotmega::AisNavStatus"]],["impl RefUnwindSafe for MavWinchStatusFlag",1,["mavlink::ardupilotmega::MavWinchStatusFlag"]],["impl RefUnwindSafe for MavOdidClassEu",1,["mavlink::ardupilotmega::MavOdidClassEu"]],["impl RefUnwindSafe for MavModeGimbal",1,["mavlink::ardupilotmega::MavModeGimbal"]],["impl RefUnwindSafe for CellularNetworkFailedReason",1,["mavlink::ardupilotmega::CellularNetworkFailedReason"]],["impl RefUnwindSafe for GoproProtuneSharpness",1,["mavlink::ardupilotmega::GoproProtuneSharpness"]],["impl RefUnwindSafe for GoproCommand",1,["mavlink::ardupilotmega::GoproCommand"]],["impl RefUnwindSafe for GoproProtuneColour",1,["mavlink::ardupilotmega::GoproProtuneColour"]],["impl RefUnwindSafe for GoproProtuneExposure",1,["mavlink::ardupilotmega::GoproProtuneExposure"]],["impl RefUnwindSafe for PidTuningAxis",1,["mavlink::ardupilotmega::PidTuningAxis"]],["impl RefUnwindSafe for PreflightStorageParameterAction",1,["mavlink::ardupilotmega::PreflightStorageParameterAction"]],["impl RefUnwindSafe for AttitudeTargetTypemask",1,["mavlink::ardupilotmega::AttitudeTargetTypemask"]],["impl RefUnwindSafe for UavionixAdsbEmergencyStatus",1,["mavlink::ardupilotmega::UavionixAdsbEmergencyStatus"]],["impl RefUnwindSafe for LandingTargetType",1,["mavlink::ardupilotmega::LandingTargetType"]],["impl RefUnwindSafe for MavCmd",1,["mavlink::ardupilotmega::MavCmd"]],["impl RefUnwindSafe for GimbalManagerCapFlags",1,["mavlink::ardupilotmega::GimbalManagerCapFlags"]],["impl RefUnwindSafe for MavOdidOperatorIdType",1,["mavlink::ardupilotmega::MavOdidOperatorIdType"]],["impl RefUnwindSafe for HeadingType",1,["mavlink::ardupilotmega::HeadingType"]],["impl RefUnwindSafe for CameraFeedbackFlags",1,["mavlink::ardupilotmega::CameraFeedbackFlags"]],["impl RefUnwindSafe for MavDistanceSensor",1,["mavlink::ardupilotmega::MavDistanceSensor"]],["impl RefUnwindSafe for UavionixAdsbOutCfgAircraftSize",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgAircraftSize"]],["impl RefUnwindSafe for UavionixAdsbRfHealth",1,["mavlink::ardupilotmega::UavionixAdsbRfHealth"]],["impl RefUnwindSafe for CellularNetworkRadioType",1,["mavlink::ardupilotmega::CellularNetworkRadioType"]],["impl RefUnwindSafe for MavEventCurrentSequenceFlags",1,["mavlink::ardupilotmega::MavEventCurrentSequenceFlags"]],["impl RefUnwindSafe for MavSysStatusSensorExtended",1,["mavlink::ardupilotmega::MavSysStatusSensorExtended"]],["impl RefUnwindSafe for MavOdidHorAcc",1,["mavlink::ardupilotmega::MavOdidHorAcc"]],["impl RefUnwindSafe for MagCalStatus",1,["mavlink::ardupilotmega::MagCalStatus"]],["impl RefUnwindSafe for CameraZoomType",1,["mavlink::ardupilotmega::CameraZoomType"]],["impl RefUnwindSafe for AdsbEmitterType",1,["mavlink::ardupilotmega::AdsbEmitterType"]],["impl RefUnwindSafe for HlFailureFlag",1,["mavlink::ardupilotmega::HlFailureFlag"]],["impl RefUnwindSafe for MavOdidCategoryEu",1,["mavlink::ardupilotmega::MavOdidCategoryEu"]],["impl RefUnwindSafe for GimbalAxis",1,["mavlink::ardupilotmega::GimbalAxis"]],["impl RefUnwindSafe for SubMode",1,["mavlink::ardupilotmega::SubMode"]],["impl RefUnwindSafe for MavModeFlag",1,["mavlink::ardupilotmega::MavModeFlag"]],["impl RefUnwindSafe for RoverMode",1,["mavlink::ardupilotmega::RoverMode"]],["impl RefUnwindSafe for TrackerMode",1,["mavlink::ardupilotmega::TrackerMode"]],["impl RefUnwindSafe for PreflightStorageMissionAction",1,["mavlink::ardupilotmega::PreflightStorageMissionAction"]],["impl RefUnwindSafe for MavSensorOrientation",1,["mavlink::ardupilotmega::MavSensorOrientation"]],["impl RefUnwindSafe for GoproProtuneWhiteBalance",1,["mavlink::ardupilotmega::GoproProtuneWhiteBalance"]],["impl RefUnwindSafe for MotorTestThrottleType",1,["mavlink::ardupilotmega::MotorTestThrottleType"]],["impl RefUnwindSafe for SetFocusType",1,["mavlink::ardupilotmega::SetFocusType"]],["impl RefUnwindSafe for AdsbAltitudeType",1,["mavlink::ardupilotmega::AdsbAltitudeType"]],["impl RefUnwindSafe for FailureUnit",1,["mavlink::ardupilotmega::FailureUnit"]],["impl RefUnwindSafe for GoproModel",1,["mavlink::ardupilotmega::GoproModel"]],["impl RefUnwindSafe for MavFtpErr",1,["mavlink::ardupilotmega::MavFtpErr"]],["impl RefUnwindSafe for MavlinkDataStreamType",1,["mavlink::ardupilotmega::MavlinkDataStreamType"]],["impl RefUnwindSafe for GpsFixType",1,["mavlink::ardupilotmega::GpsFixType"]],["impl RefUnwindSafe for DeepstallStage",1,["mavlink::ardupilotmega::DeepstallStage"]],["impl RefUnwindSafe for MavOdidVerAcc",1,["mavlink::ardupilotmega::MavOdidVerAcc"]],["impl RefUnwindSafe for VideoStreamStatusFlags",1,["mavlink::ardupilotmega::VideoStreamStatusFlags"]],["impl RefUnwindSafe for LedControlPattern",1,["mavlink::ardupilotmega::LedControlPattern"]],["impl RefUnwindSafe for StorageUsageFlag",1,["mavlink::ardupilotmega::StorageUsageFlag"]],["impl RefUnwindSafe for GpsInputIgnoreFlags",1,["mavlink::ardupilotmega::GpsInputIgnoreFlags"]],["impl RefUnwindSafe for MavParamType",1,["mavlink::ardupilotmega::MavParamType"]],["impl RefUnwindSafe for CameraMode",1,["mavlink::ardupilotmega::CameraMode"]],["impl RefUnwindSafe for DeviceOpBustype",1,["mavlink::ardupilotmega::DeviceOpBustype"]],["impl RefUnwindSafe for CameraTrackingTargetData",1,["mavlink::ardupilotmega::CameraTrackingTargetData"]],["impl RefUnwindSafe for MavBatteryMode",1,["mavlink::ardupilotmega::MavBatteryMode"]],["impl RefUnwindSafe for GoproProtuneGain",1,["mavlink::ardupilotmega::GoproProtuneGain"]],["impl RefUnwindSafe for AdsbFlags",1,["mavlink::ardupilotmega::AdsbFlags"]],["impl RefUnwindSafe for MavType",1,["mavlink::ardupilotmega::MavType"]],["impl RefUnwindSafe for LimitModule",1,["mavlink::ardupilotmega::LimitModule"]],["impl RefUnwindSafe for GoproRequestStatus",1,["mavlink::ardupilotmega::GoproRequestStatus"]],["impl RefUnwindSafe for MavRemoteLogDataBlockStatuses",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockStatuses"]],["impl RefUnwindSafe for MavParamExtType",1,["mavlink::ardupilotmega::MavParamExtType"]],["impl RefUnwindSafe for GimbalDeviceCapFlags",1,["mavlink::ardupilotmega::GimbalDeviceCapFlags"]],["impl RefUnwindSafe for StorageType",1,["mavlink::ardupilotmega::StorageType"]],["impl RefUnwindSafe for MavBatteryFunction",1,["mavlink::ardupilotmega::MavBatteryFunction"]],["impl RefUnwindSafe for RtkBaselineCoordinateSystem",1,["mavlink::ardupilotmega::RtkBaselineCoordinateSystem"]],["impl RefUnwindSafe for UtmFlightState",1,["mavlink::ardupilotmega::UtmFlightState"]],["impl RefUnwindSafe for GimbalManagerFlags",1,["mavlink::ardupilotmega::GimbalManagerFlags"]],["impl RefUnwindSafe for MavResult",1,["mavlink::ardupilotmega::MavResult"]],["impl RefUnwindSafe for GripperActions",1,["mavlink::ardupilotmega::GripperActions"]],["impl RefUnwindSafe for EscFailureFlags",1,["mavlink::ardupilotmega::EscFailureFlags"]],["impl RefUnwindSafe for CellularConfigResponse",1,["mavlink::ardupilotmega::CellularConfigResponse"]],["impl RefUnwindSafe for IcarousTrackBandTypes",1,["mavlink::ardupilotmega::IcarousTrackBandTypes"]],["impl RefUnwindSafe for OrbitYawBehaviour",1,["mavlink::ardupilotmega::OrbitYawBehaviour"]],["impl RefUnwindSafe for AccelcalVehiclePos",1,["mavlink::ardupilotmega::AccelcalVehiclePos"]],["impl RefUnwindSafe for IcarousFmsState",1,["mavlink::ardupilotmega::IcarousFmsState"]],["impl RefUnwindSafe for GoproVideoSettingsFlags",1,["mavlink::ardupilotmega::GoproVideoSettingsFlags"]],["impl RefUnwindSafe for ScriptingCmd",1,["mavlink::ardupilotmega::ScriptingCmd"]],["impl RefUnwindSafe for MavCollisionAction",1,["mavlink::ardupilotmega::MavCollisionAction"]],["impl RefUnwindSafe for MavDoRepositionFlags",1,["mavlink::ardupilotmega::MavDoRepositionFlags"]],["impl RefUnwindSafe for ParachuteAction",1,["mavlink::ardupilotmega::ParachuteAction"]],["impl RefUnwindSafe for MavOdidIdType",1,["mavlink::ardupilotmega::MavOdidIdType"]],["impl RefUnwindSafe for MavOdidOperatorLocationType",1,["mavlink::ardupilotmega::MavOdidOperatorLocationType"]],["impl RefUnwindSafe for GoproResolution",1,["mavlink::ardupilotmega::GoproResolution"]],["impl RefUnwindSafe for VtolTransitionHeading",1,["mavlink::ardupilotmega::VtolTransitionHeading"]],["impl RefUnwindSafe for MavRoi",1,["mavlink::ardupilotmega::MavRoi"]],["impl RefUnwindSafe for OsdParamConfigError",1,["mavlink::ardupilotmega::OsdParamConfigError"]],["impl RefUnwindSafe for CameraCapFlags",1,["mavlink::ardupilotmega::CameraCapFlags"]],["impl RefUnwindSafe for GimbalDeviceErrorFlags",1,["mavlink::ardupilotmega::GimbalDeviceErrorFlags"]],["impl RefUnwindSafe for MavState",1,["mavlink::ardupilotmega::MavState"]],["impl RefUnwindSafe for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLat"]],["impl RefUnwindSafe for PositionTargetTypemask",1,["mavlink::ardupilotmega::PositionTargetTypemask"]],["impl RefUnwindSafe for MavDataStream",1,["mavlink::ardupilotmega::MavDataStream"]],["impl RefUnwindSafe for UavionixAdsbOutDynamicGpsFix",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicGpsFix"]],["impl RefUnwindSafe for ActuatorOutputFunction",1,["mavlink::ardupilotmega::ActuatorOutputFunction"]],["impl RefUnwindSafe for MavSeverity",1,["mavlink::ardupilotmega::MavSeverity"]],["impl RefUnwindSafe for MavOdidUaType",1,["mavlink::ardupilotmega::MavOdidUaType"]],["impl RefUnwindSafe for GimbalAxisCalibrationRequired",1,["mavlink::ardupilotmega::GimbalAxisCalibrationRequired"]],["impl RefUnwindSafe for ParamAck",1,["mavlink::ardupilotmega::ParamAck"]],["impl RefUnwindSafe for VideoStreamType",1,["mavlink::ardupilotmega::VideoStreamType"]],["impl RefUnwindSafe for MavOdidClassificationType",1,["mavlink::ardupilotmega::MavOdidClassificationType"]],["impl RefUnwindSafe for StorageStatus",1,["mavlink::ardupilotmega::StorageStatus"]],["impl RefUnwindSafe for MavArmAuthDeniedReason",1,["mavlink::ardupilotmega::MavArmAuthDeniedReason"]],["impl RefUnwindSafe for MavTunnelPayloadType",1,["mavlink::ardupilotmega::MavTunnelPayloadType"]],["impl RefUnwindSafe for MavMissionType",1,["mavlink::ardupilotmega::MavMissionType"]],["impl RefUnwindSafe for AisType",1,["mavlink::ardupilotmega::AisType"]],["impl RefUnwindSafe for MavVtolState",1,["mavlink::ardupilotmega::MavVtolState"]],["impl RefUnwindSafe for HilSensorUpdatedFlags",1,["mavlink::ardupilotmega::HilSensorUpdatedFlags"]],["impl RefUnwindSafe for MavComponent",1,["mavlink::ardupilotmega::MavComponent"]],["impl RefUnwindSafe for MavProtocolCapability",1,["mavlink::ardupilotmega::MavProtocolCapability"]],["impl RefUnwindSafe for MavOdidHeightRef",1,["mavlink::ardupilotmega::MavOdidHeightRef"]],["impl RefUnwindSafe for FenceMitigate",1,["mavlink::ardupilotmega::FenceMitigate"]],["impl RefUnwindSafe for MavOdidAuthType",1,["mavlink::ardupilotmega::MavOdidAuthType"]],["impl RefUnwindSafe for MavMissionResult",1,["mavlink::ardupilotmega::MavMissionResult"]],["impl RefUnwindSafe for FailureType",1,["mavlink::ardupilotmega::FailureType"]],["impl RefUnwindSafe for AisFlags",1,["mavlink::ardupilotmega::AisFlags"]],["impl RefUnwindSafe for MavOdidArmStatus",1,["mavlink::ardupilotmega::MavOdidArmStatus"]],["impl RefUnwindSafe for OsdParamConfigType",1,["mavlink::ardupilotmega::OsdParamConfigType"]],["impl RefUnwindSafe for WifiConfigApMode",1,["mavlink::ardupilotmega::WifiConfigApMode"]],["impl RefUnwindSafe for NavVtolLandOptions",1,["mavlink::ardupilotmega::NavVtolLandOptions"]],["impl RefUnwindSafe for GoproHeartbeatFlags",1,["mavlink::ardupilotmega::GoproHeartbeatFlags"]],["impl RefUnwindSafe for GoproCaptureMode",1,["mavlink::ardupilotmega::GoproCaptureMode"]],["impl RefUnwindSafe for MavRemoteLogDataBlockCommands",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockCommands"]],["impl RefUnwindSafe for MavCollisionThreatLevel",1,["mavlink::ardupilotmega::MavCollisionThreatLevel"]],["impl RefUnwindSafe for UtmDataAvailFlags",1,["mavlink::ardupilotmega::UtmDataAvailFlags"]],["impl RefUnwindSafe for GoproFieldOfView",1,["mavlink::ardupilotmega::GoproFieldOfView"]],["impl RefUnwindSafe for MavPowerStatus",1,["mavlink::ardupilotmega::MavPowerStatus"]],["impl RefUnwindSafe for MavBatteryType",1,["mavlink::ardupilotmega::MavBatteryType"]],["impl RefUnwindSafe for UavcanNodeMode",1,["mavlink::ardupilotmega::UavcanNodeMode"]],["impl RefUnwindSafe for MavAutopilot",1,["mavlink::ardupilotmega::MavAutopilot"]],["impl RefUnwindSafe for MavOdidTimeAcc",1,["mavlink::ardupilotmega::MavOdidTimeAcc"]],["impl RefUnwindSafe for MavCollisionSrc",1,["mavlink::ardupilotmega::MavCollisionSrc"]],["impl RefUnwindSafe for CompMetadataType",1,["mavlink::ardupilotmega::CompMetadataType"]],["impl RefUnwindSafe for UavionixAdsbOutDynamicState",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicState"]],["impl RefUnwindSafe for CameraTrackingMode",1,["mavlink::ardupilotmega::CameraTrackingMode"]],["impl RefUnwindSafe for MavCmdAck",1,["mavlink::ardupilotmega::MavCmdAck"]],["impl RefUnwindSafe for WifiConfigApResponse",1,["mavlink::ardupilotmega::WifiConfigApResponse"]],["impl RefUnwindSafe for MavBatteryChargeState",1,["mavlink::ardupilotmega::MavBatteryChargeState"]],["impl RefUnwindSafe for AutotuneAxis",1,["mavlink::ardupilotmega::AutotuneAxis"]],["impl RefUnwindSafe for MavMountMode",1,["mavlink::ardupilotmega::MavMountMode"]],["impl RefUnwindSafe for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLon"]],["impl RefUnwindSafe for LimitsState",1,["mavlink::ardupilotmega::LimitsState"]],["impl RefUnwindSafe for LOG_REQUEST_DATA_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_DATA_DATA"]],["impl RefUnwindSafe for AUTH_KEY_DATA",1,["mavlink::ardupilotmega::AUTH_KEY_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl RefUnwindSafe for CELLULAR_CONFIG_DATA",1,["mavlink::ardupilotmega::CELLULAR_CONFIG_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE3_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE3_DATA"]],["impl RefUnwindSafe for CUBEPILOT_RAW_RC_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_RAW_RC_DATA"]],["impl RefUnwindSafe for LED_CONTROL_DATA",1,["mavlink::ardupilotmega::LED_CONTROL_DATA"]],["impl RefUnwindSafe for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::GPS_GLOBAL_ORIGIN_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_STATUS_DATA"]],["impl RefUnwindSafe for AIS_VESSEL_DATA",1,["mavlink::ardupilotmega::AIS_VESSEL_DATA"]],["impl RefUnwindSafe for SCALED_IMU_DATA",1,["mavlink::ardupilotmega::SCALED_IMU_DATA"]],["impl RefUnwindSafe for CAMERA_INFORMATION_DATA",1,["mavlink::ardupilotmega::CAMERA_INFORMATION_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl RefUnwindSafe for SUPPORTED_TUNES_DATA",1,["mavlink::ardupilotmega::SUPPORTED_TUNES_DATA"]],["impl RefUnwindSafe for RANGEFINDER_DATA",1,["mavlink::ardupilotmega::RANGEFINDER_DATA"]],["impl RefUnwindSafe for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for GENERATOR_STATUS_DATA",1,["mavlink::ardupilotmega::GENERATOR_STATUS_DATA"]],["impl RefUnwindSafe for COLLISION_DATA",1,["mavlink::ardupilotmega::COLLISION_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_INT_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_INT_DATA"]],["impl RefUnwindSafe for TERRAIN_DATA_DATA",1,["mavlink::ardupilotmega::TERRAIN_DATA_DATA"]],["impl RefUnwindSafe for REMOTE_LOG_DATA_BLOCK_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_DATA_BLOCK_DATA"]],["impl RefUnwindSafe for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::ardupilotmega::DEBUG_FLOAT_ARRAY_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl RefUnwindSafe for OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_DATA"]],["impl RefUnwindSafe for VIDEO_STREAM_STATUS_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_STATUS_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE_DATA"]],["impl RefUnwindSafe for HIGHRES_IMU_DATA",1,["mavlink::ardupilotmega::HIGHRES_IMU_DATA"]],["impl RefUnwindSafe for GPS_RTCM_DATA_DATA",1,["mavlink::ardupilotmega::GPS_RTCM_DATA_DATA"]],["impl RefUnwindSafe for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl RefUnwindSafe for WIND_DATA",1,["mavlink::ardupilotmega::WIND_DATA"]],["impl RefUnwindSafe for RALLY_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_FETCH_POINT_DATA"]],["impl RefUnwindSafe for FOLLOW_TARGET_DATA",1,["mavlink::ardupilotmega::FOLLOW_TARGET_DATA"]],["impl RefUnwindSafe for GOPRO_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::GOPRO_HEARTBEAT_DATA"]],["impl RefUnwindSafe for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_CAPTURE_STATUS_DATA"]],["impl RefUnwindSafe for MESSAGE_INTERVAL_DATA",1,["mavlink::ardupilotmega::MESSAGE_INTERVAL_DATA"]],["impl RefUnwindSafe for MEMORY_VECT_DATA",1,["mavlink::ardupilotmega::MEMORY_VECT_DATA"]],["impl RefUnwindSafe for ENCAPSULATED_DATA_DATA",1,["mavlink::ardupilotmega::ENCAPSULATED_DATA_DATA"]],["impl RefUnwindSafe for PARAM_MAP_RC_DATA",1,["mavlink::ardupilotmega::PARAM_MAP_RC_DATA"]],["impl RefUnwindSafe for LOGGING_ACK_DATA",1,["mavlink::ardupilotmega::LOGGING_ACK_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl RefUnwindSafe for PROTOCOL_VERSION_DATA",1,["mavlink::ardupilotmega::PROTOCOL_VERSION_DATA"]],["impl RefUnwindSafe for ATTITUDE_DATA",1,["mavlink::ardupilotmega::ATTITUDE_DATA"]],["impl RefUnwindSafe for AOA_SSA_DATA",1,["mavlink::ardupilotmega::AOA_SSA_DATA"]],["impl RefUnwindSafe for ESC_TELEMETRY_1_TO_4_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_1_TO_4_DATA"]],["impl RefUnwindSafe for LOGGING_DATA_ACKED_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_ACKED_DATA"]],["impl RefUnwindSafe for PLAY_TUNE_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_DATA"]],["impl RefUnwindSafe for SIM_STATE_DATA",1,["mavlink::ardupilotmega::SIM_STATE_DATA"]],["impl RefUnwindSafe for MANUAL_SETPOINT_DATA",1,["mavlink::ardupilotmega::MANUAL_SETPOINT_DATA"]],["impl RefUnwindSafe for VIBRATION_DATA",1,["mavlink::ardupilotmega::VIBRATION_DATA"]],["impl RefUnwindSafe for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::ardupilotmega::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl RefUnwindSafe for DEEPSTALL_DATA",1,["mavlink::ardupilotmega::DEEPSTALL_DATA"]],["impl RefUnwindSafe for MAG_CAL_REPORT_DATA",1,["mavlink::ardupilotmega::MAG_CAL_REPORT_DATA"]],["impl RefUnwindSafe for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::ardupilotmega::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl RefUnwindSafe for SCALED_IMU2_DATA",1,["mavlink::ardupilotmega::SCALED_IMU2_DATA"]],["impl RefUnwindSafe for GOPRO_GET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_REQUEST_DATA"]],["impl RefUnwindSafe for COMMAND_INT_DATA",1,["mavlink::ardupilotmega::COMMAND_INT_DATA"]],["impl RefUnwindSafe for UAVCAN_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_STATUS_DATA"]],["impl RefUnwindSafe for ODOMETRY_DATA",1,["mavlink::ardupilotmega::ODOMETRY_DATA"]],["impl RefUnwindSafe for HIGH_LATENCY2_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY2_DATA"]],["impl RefUnwindSafe for REQUEST_EVENT_DATA",1,["mavlink::ardupilotmega::REQUEST_EVENT_DATA"]],["impl RefUnwindSafe for ICAROUS_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::ICAROUS_HEARTBEAT_DATA"]],["impl RefUnwindSafe for MISSION_COUNT_DATA",1,["mavlink::ardupilotmega::MISSION_COUNT_DATA"]],["impl RefUnwindSafe for AIRSPEED_AUTOCAL_DATA",1,["mavlink::ardupilotmega::AIRSPEED_AUTOCAL_DATA"]],["impl RefUnwindSafe for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_READ_DATA"]],["impl RefUnwindSafe for CELLULAR_STATUS_DATA",1,["mavlink::ardupilotmega::CELLULAR_STATUS_DATA"]],["impl RefUnwindSafe for COMPASSMOT_STATUS_DATA",1,["mavlink::ardupilotmega::COMPASSMOT_STATUS_DATA"]],["impl RefUnwindSafe for GPS_RAW_INT_DATA",1,["mavlink::ardupilotmega::GPS_RAW_INT_DATA"]],["impl RefUnwindSafe for WIND_COV_DATA",1,["mavlink::ardupilotmega::WIND_COV_DATA"]],["impl RefUnwindSafe for V2_EXTENSION_DATA",1,["mavlink::ardupilotmega::V2_EXTENSION_DATA"]],["impl RefUnwindSafe for WHEEL_DISTANCE_DATA",1,["mavlink::ardupilotmega::WHEEL_DISTANCE_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl RefUnwindSafe for OSD_PARAM_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_REPLY_DATA"]],["impl RefUnwindSafe for AHRS2_DATA",1,["mavlink::ardupilotmega::AHRS2_DATA"]],["impl RefUnwindSafe for BATTERY2_DATA",1,["mavlink::ardupilotmega::BATTERY2_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_END_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_END_DATA"]],["impl RefUnwindSafe for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::ardupilotmega::FILE_TRANSFER_PROTOCOL_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_DATA"]],["impl RefUnwindSafe for PID_TUNING_DATA",1,["mavlink::ardupilotmega::PID_TUNING_DATA"]],["impl RefUnwindSafe for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl RefUnwindSafe for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::ardupilotmega::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl RefUnwindSafe for ESC_INFO_DATA",1,["mavlink::ardupilotmega::ESC_INFO_DATA"]],["impl RefUnwindSafe for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_LOCAL_NED_DATA"]],["impl RefUnwindSafe for CAMERA_TRIGGER_DATA",1,["mavlink::ardupilotmega::CAMERA_TRIGGER_DATA"]],["impl RefUnwindSafe for GPS_INPUT_DATA",1,["mavlink::ardupilotmega::GPS_INPUT_DATA"]],["impl RefUnwindSafe for BATTERY_STATUS_DATA",1,["mavlink::ardupilotmega::BATTERY_STATUS_DATA"]],["impl RefUnwindSafe for FENCE_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_FETCH_POINT_DATA"]],["impl RefUnwindSafe for SYS_STATUS_DATA",1,["mavlink::ardupilotmega::SYS_STATUS_DATA"]],["impl RefUnwindSafe for ISBD_LINK_STATUS_DATA",1,["mavlink::ardupilotmega::ISBD_LINK_STATUS_DATA"]],["impl RefUnwindSafe for DEBUG_VECT_DATA",1,["mavlink::ardupilotmega::DEBUG_VECT_DATA"]],["impl RefUnwindSafe for SIMSTATE_DATA",1,["mavlink::ardupilotmega::SIMSTATE_DATA"]],["impl RefUnwindSafe for FENCE_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_POINT_DATA"]],["impl RefUnwindSafe for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"]],["impl RefUnwindSafe for SETUP_SIGNING_DATA",1,["mavlink::ardupilotmega::SETUP_SIGNING_DATA"]],["impl RefUnwindSafe for COMPONENT_METADATA_DATA",1,["mavlink::ardupilotmega::COMPONENT_METADATA_DATA"]],["impl RefUnwindSafe for CAMERA_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_STATUS_DATA"]],["impl RefUnwindSafe for DATA96_DATA",1,["mavlink::ardupilotmega::DATA96_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl RefUnwindSafe for ALTITUDE_DATA",1,["mavlink::ardupilotmega::ALTITUDE_DATA"]],["impl RefUnwindSafe for OBSTACLE_DISTANCE_3D_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_3D_DATA"]],["impl RefUnwindSafe for HERELINK_TELEM_DATA",1,["mavlink::ardupilotmega::HERELINK_TELEM_DATA"]],["impl RefUnwindSafe for GPS_STATUS_DATA",1,["mavlink::ardupilotmega::GPS_STATUS_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_OVERRIDE_DATA"]],["impl RefUnwindSafe for RPM_DATA",1,["mavlink::ardupilotmega::RPM_DATA"]],["impl RefUnwindSafe for CANFD_FRAME_DATA",1,["mavlink::ardupilotmega::CANFD_FRAME_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl RefUnwindSafe for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl RefUnwindSafe for AUTOPILOT_VERSION_REQUEST_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_REQUEST_DATA"]],["impl RefUnwindSafe for LOGGING_DATA_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_DATA"]],["impl RefUnwindSafe for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_DATA"]],["impl RefUnwindSafe for DIGICAM_CONTROL_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONTROL_DATA"]],["impl RefUnwindSafe for FENCE_STATUS_DATA",1,["mavlink::ardupilotmega::FENCE_STATUS_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl RefUnwindSafe for ATTITUDE_QUATERNION_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_DATA"]],["impl RefUnwindSafe for AUTOPILOT_VERSION_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_DATA"]],["impl RefUnwindSafe for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_ACTUATOR_CONTROLS_DATA"]],["impl RefUnwindSafe for HIL_OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::HIL_OPTICAL_FLOW_DATA"]],["impl RefUnwindSafe for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::ardupilotmega::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl RefUnwindSafe for PLAY_TUNE_V2_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_V2_DATA"]],["impl RefUnwindSafe for GIMBAL_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_REPORT_DATA"]],["impl RefUnwindSafe for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl RefUnwindSafe for HOME_POSITION_DATA",1,["mavlink::ardupilotmega::HOME_POSITION_DATA"]],["impl RefUnwindSafe for DATA64_DATA",1,["mavlink::ardupilotmega::DATA64_DATA"]],["impl RefUnwindSafe for ESC_STATUS_DATA",1,["mavlink::ardupilotmega::ESC_STATUS_DATA"]],["impl RefUnwindSafe for PARAM_EXT_SET_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_SET_DATA"]],["impl RefUnwindSafe for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_SPEED_ESTIMATE_DATA"]],["impl RefUnwindSafe for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl RefUnwindSafe for DISTANCE_SENSOR_DATA",1,["mavlink::ardupilotmega::DISTANCE_SENSOR_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl RefUnwindSafe for ATT_POS_MOCAP_DATA",1,["mavlink::ardupilotmega::ATT_POS_MOCAP_DATA"]],["impl RefUnwindSafe for SET_MAG_OFFSETS_DATA",1,["mavlink::ardupilotmega::SET_MAG_OFFSETS_DATA"]],["impl RefUnwindSafe for LINK_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::LINK_NODE_STATUS_DATA"]],["impl RefUnwindSafe for MISSION_ACK_DATA",1,["mavlink::ardupilotmega::MISSION_ACK_DATA"]],["impl RefUnwindSafe for HWSTATUS_DATA",1,["mavlink::ardupilotmega::HWSTATUS_DATA"]],["impl RefUnwindSafe for PARAM_SET_DATA",1,["mavlink::ardupilotmega::PARAM_SET_DATA"]],["impl RefUnwindSafe for CAMERA_FEEDBACK_DATA",1,["mavlink::ardupilotmega::CAMERA_FEEDBACK_DATA"]],["impl RefUnwindSafe for COMPONENT_INFORMATION_DATA",1,["mavlink::ardupilotmega::COMPONENT_INFORMATION_DATA"]],["impl RefUnwindSafe for SET_ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ATTITUDE_TARGET_DATA"]],["impl RefUnwindSafe for OSD_PARAM_SHOW_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_REPLY_DATA"]],["impl RefUnwindSafe for RADIO_STATUS_DATA",1,["mavlink::ardupilotmega::RADIO_STATUS_DATA"]],["impl RefUnwindSafe for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::ardupilotmega::CAMERA_IMAGE_CAPTURED_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for UTM_GLOBAL_POSITION_DATA",1,["mavlink::ardupilotmega::UTM_GLOBAL_POSITION_DATA"]],["impl RefUnwindSafe for HIL_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_CONTROLS_DATA"]],["impl RefUnwindSafe for SERVO_OUTPUT_RAW_DATA",1,["mavlink::ardupilotmega::SERVO_OUTPUT_RAW_DATA"]],["impl RefUnwindSafe for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl RefUnwindSafe for UAVCAN_NODE_INFO_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_INFO_DATA"]],["impl RefUnwindSafe for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_COV_DATA"]],["impl RefUnwindSafe for STATUSTEXT_DATA",1,["mavlink::ardupilotmega::STATUSTEXT_DATA"]],["impl RefUnwindSafe for GOPRO_SET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_REQUEST_DATA"]],["impl RefUnwindSafe for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl RefUnwindSafe for OPTICAL_FLOW_RAD_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_RAD_DATA"]],["impl RefUnwindSafe for LANDING_TARGET_DATA",1,["mavlink::ardupilotmega::LANDING_TARGET_DATA"]],["impl RefUnwindSafe for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl RefUnwindSafe for LOG_DATA_DATA",1,["mavlink::ardupilotmega::LOG_DATA_DATA"]],["impl RefUnwindSafe for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl RefUnwindSafe for SENSOR_OFFSETS_DATA",1,["mavlink::ardupilotmega::SENSOR_OFFSETS_DATA"]],["impl RefUnwindSafe for WIFI_CONFIG_AP_DATA",1,["mavlink::ardupilotmega::WIFI_CONFIG_AP_DATA"]],["impl RefUnwindSafe for DEVICE_OP_READ_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_DATA"]],["impl RefUnwindSafe for GPS_RTK_DATA",1,["mavlink::ardupilotmega::GPS_RTK_DATA"]],["impl RefUnwindSafe for PARAM_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for HERELINK_VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::HERELINK_VIDEO_STREAM_INFORMATION_DATA"]],["impl RefUnwindSafe for REMOTE_LOG_BLOCK_STATUS_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_BLOCK_STATUS_DATA"]],["impl RefUnwindSafe for COMMAND_ACK_DATA",1,["mavlink::ardupilotmega::COMMAND_ACK_DATA"]],["impl RefUnwindSafe for CAMERA_SETTINGS_DATA",1,["mavlink::ardupilotmega::CAMERA_SETTINGS_DATA"]],["impl RefUnwindSafe for RAW_IMU_DATA",1,["mavlink::ardupilotmega::RAW_IMU_DATA"]],["impl RefUnwindSafe for RADIO_DATA",1,["mavlink::ardupilotmega::RADIO_DATA"]],["impl RefUnwindSafe for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_ALLOWED_AREA_DATA"]],["impl RefUnwindSafe for CUBEPILOT_FIRMWARE_UPDATE_START_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_START_DATA"]],["impl RefUnwindSafe for DEVICE_OP_WRITE_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_LOCATION_DATA"]],["impl RefUnwindSafe for GIMBAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_CONTROL_DATA"]],["impl RefUnwindSafe for MISSION_CLEAR_ALL_DATA",1,["mavlink::ardupilotmega::MISSION_CLEAR_ALL_DATA"]],["impl RefUnwindSafe for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::ardupilotmega::ONBOARD_COMPUTER_STATUS_DATA"]],["impl RefUnwindSafe for RESOURCE_REQUEST_DATA",1,["mavlink::ardupilotmega::RESOURCE_REQUEST_DATA"]],["impl RefUnwindSafe for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_COV_DATA"]],["impl RefUnwindSafe for STORAGE_INFORMATION_DATA",1,["mavlink::ardupilotmega::STORAGE_INFORMATION_DATA"]],["impl RefUnwindSafe for SYSTEM_TIME_DATA",1,["mavlink::ardupilotmega::SYSTEM_TIME_DATA"]],["impl RefUnwindSafe for MISSION_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_CURRENT_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for MAG_CAL_PROGRESS_DATA",1,["mavlink::ardupilotmega::MAG_CAL_PROGRESS_DATA"]],["impl RefUnwindSafe for GPS2_RTK_DATA",1,["mavlink::ardupilotmega::GPS2_RTK_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl RefUnwindSafe for LOG_ENTRY_DATA",1,["mavlink::ardupilotmega::LOG_ENTRY_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_REACHED_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_REACHED_DATA"]],["impl RefUnwindSafe for TERRAIN_CHECK_DATA",1,["mavlink::ardupilotmega::TERRAIN_CHECK_DATA"]],["impl RefUnwindSafe for HEARTBEAT_DATA",1,["mavlink::ardupilotmega::HEARTBEAT_DATA"]],["impl RefUnwindSafe for CAN_FILTER_MODIFY_DATA",1,["mavlink::ardupilotmega::CAN_FILTER_MODIFY_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl RefUnwindSafe for FLIGHT_INFORMATION_DATA",1,["mavlink::ardupilotmega::FLIGHT_INFORMATION_DATA"]],["impl RefUnwindSafe for VFR_HUD_DATA",1,["mavlink::ardupilotmega::VFR_HUD_DATA"]],["impl RefUnwindSafe for MOUNT_CONTROL_DATA",1,["mavlink::ardupilotmega::MOUNT_CONTROL_DATA"]],["impl RefUnwindSafe for WATER_DEPTH_DATA",1,["mavlink::ardupilotmega::WATER_DEPTH_DATA"]],["impl RefUnwindSafe for SET_MODE_DATA",1,["mavlink::ardupilotmega::SET_MODE_DATA"]],["impl RefUnwindSafe for OSD_PARAM_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_DATA"]],["impl RefUnwindSafe for PING_DATA",1,["mavlink::ardupilotmega::PING_DATA"]],["impl RefUnwindSafe for PARAM_EXT_ACK_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_ACK_DATA"]],["impl RefUnwindSafe for TIMESYNC_DATA",1,["mavlink::ardupilotmega::TIMESYNC_DATA"]],["impl RefUnwindSafe for ESC_TELEMETRY_5_TO_8_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_5_TO_8_DATA"]],["impl RefUnwindSafe for RAW_PRESSURE_DATA",1,["mavlink::ardupilotmega::RAW_PRESSURE_DATA"]],["impl RefUnwindSafe for SMART_BATTERY_INFO_DATA",1,["mavlink::ardupilotmega::SMART_BATTERY_INFO_DATA"]],["impl RefUnwindSafe for OBSTACLE_DISTANCE_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_DATA"]],["impl RefUnwindSafe for CAMERA_FOV_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_FOV_STATUS_DATA"]],["impl RefUnwindSafe for ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::ATTITUDE_TARGET_DATA"]],["impl RefUnwindSafe for GPS2_RAW_DATA",1,["mavlink::ardupilotmega::GPS2_RAW_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_DATA"]],["impl RefUnwindSafe for DATA_STREAM_DATA",1,["mavlink::ardupilotmega::DATA_STREAM_DATA"]],["impl RefUnwindSafe for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_INFORMATION_DATA"]],["impl RefUnwindSafe for HIL_GPS_DATA",1,["mavlink::ardupilotmega::HIL_GPS_DATA"]],["impl RefUnwindSafe for VISION_POSITION_DELTA_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_DELTA_DATA"]],["impl RefUnwindSafe for TERRAIN_REQUEST_DATA",1,["mavlink::ardupilotmega::TERRAIN_REQUEST_DATA"]],["impl RefUnwindSafe for HIGH_LATENCY_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY_DATA"]],["impl RefUnwindSafe for TUNNEL_DATA",1,["mavlink::ardupilotmega::TUNNEL_DATA"]],["impl RefUnwindSafe for LIMITS_STATUS_DATA",1,["mavlink::ardupilotmega::LIMITS_STATUS_DATA"]],["impl RefUnwindSafe for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl RefUnwindSafe for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_SCALED_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_SCALED_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl RefUnwindSafe for MOUNT_ORIENTATION_DATA",1,["mavlink::ardupilotmega::MOUNT_ORIENTATION_DATA"]],["impl RefUnwindSafe for GLOBAL_POSITION_INT_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_DATA"]],["impl RefUnwindSafe for DEVICE_OP_READ_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_REPLY_DATA"]],["impl RefUnwindSafe for SERIAL_CONTROL_DATA",1,["mavlink::ardupilotmega::SERIAL_CONTROL_DATA"]],["impl RefUnwindSafe for CAN_FRAME_DATA",1,["mavlink::ardupilotmega::CAN_FRAME_DATA"]],["impl RefUnwindSafe for AHRS3_DATA",1,["mavlink::ardupilotmega::AHRS3_DATA"]],["impl RefUnwindSafe for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl RefUnwindSafe for SCALED_IMU3_DATA",1,["mavlink::ardupilotmega::SCALED_IMU3_DATA"]],["impl RefUnwindSafe for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_INT_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_INT_DATA"]],["impl RefUnwindSafe for ADAP_TUNING_DATA",1,["mavlink::ardupilotmega::ADAP_TUNING_DATA"]],["impl RefUnwindSafe for EFI_STATUS_DATA",1,["mavlink::ardupilotmega::EFI_STATUS_DATA"]],["impl RefUnwindSafe for TERRAIN_REPORT_DATA",1,["mavlink::ardupilotmega::TERRAIN_REPORT_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE2_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE2_DATA"]],["impl RefUnwindSafe for SET_HOME_POSITION_DATA",1,["mavlink::ardupilotmega::SET_HOME_POSITION_DATA"]],["impl RefUnwindSafe for AP_ADC_DATA",1,["mavlink::ardupilotmega::AP_ADC_DATA"]],["impl RefUnwindSafe for GIMBAL_TORQUE_CMD_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_TORQUE_CMD_REPORT_DATA"]],["impl RefUnwindSafe for GOPRO_SET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_RESPONSE_DATA"]],["impl RefUnwindSafe for ESC_TELEMETRY_9_TO_12_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_9_TO_12_DATA"]],["impl RefUnwindSafe for HYGROMETER_SENSOR_DATA",1,["mavlink::ardupilotmega::HYGROMETER_SENSOR_DATA"]],["impl RefUnwindSafe for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::ardupilotmega::CONTROL_SYSTEM_STATE_DATA"]],["impl RefUnwindSafe for BUTTON_CHANGE_DATA",1,["mavlink::ardupilotmega::BUTTON_CHANGE_DATA"]],["impl RefUnwindSafe for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VICON_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::ardupilotmega::HIL_RC_INPUTS_RAW_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl RefUnwindSafe for HIL_STATE_DATA",1,["mavlink::ardupilotmega::HIL_STATE_DATA"]],["impl RefUnwindSafe for GOPRO_GET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_RESPONSE_DATA"]],["impl RefUnwindSafe for POWER_STATUS_DATA",1,["mavlink::ardupilotmega::POWER_STATUS_DATA"]],["impl RefUnwindSafe for AHRS_DATA",1,["mavlink::ardupilotmega::AHRS_DATA"]],["impl RefUnwindSafe for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl RefUnwindSafe for LOG_ERASE_DATA",1,["mavlink::ardupilotmega::LOG_ERASE_DATA"]],["impl RefUnwindSafe for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::ACTUATOR_CONTROL_TARGET_DATA"]],["impl RefUnwindSafe for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::ardupilotmega::NAV_CONTROLLER_OUTPUT_DATA"]],["impl RefUnwindSafe for ADSB_VEHICLE_DATA",1,["mavlink::ardupilotmega::ADSB_VEHICLE_DATA"]],["impl RefUnwindSafe for GPS_INJECT_DATA_DATA",1,["mavlink::ardupilotmega::GPS_INJECT_DATA_DATA"]],["impl RefUnwindSafe for NAMED_VALUE_INT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_INT_DATA"]],["impl RefUnwindSafe for DIGICAM_CONFIGURE_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONFIGURE_DATA"]],["impl RefUnwindSafe for EKF_STATUS_REPORT_DATA",1,["mavlink::ardupilotmega::EKF_STATUS_REPORT_DATA"]],["impl RefUnwindSafe for OSD_PARAM_SHOW_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_DATA"]],["impl RefUnwindSafe for REQUEST_DATA_STREAM_DATA",1,["mavlink::ardupilotmega::REQUEST_DATA_STREAM_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl RefUnwindSafe for HIL_SENSOR_DATA",1,["mavlink::ardupilotmega::HIL_SENSOR_DATA"]],["impl RefUnwindSafe for WINCH_STATUS_DATA",1,["mavlink::ardupilotmega::WINCH_STATUS_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl RefUnwindSafe for MOUNT_CONFIGURE_DATA",1,["mavlink::ardupilotmega::MOUNT_CONFIGURE_DATA"]],["impl RefUnwindSafe for DATA32_DATA",1,["mavlink::ardupilotmega::DATA32_DATA"]],["impl RefUnwindSafe for COMMAND_LONG_DATA",1,["mavlink::ardupilotmega::COMMAND_LONG_DATA"]],["impl RefUnwindSafe for NAMED_VALUE_FLOAT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_FLOAT_DATA"]],["impl RefUnwindSafe for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl RefUnwindSafe for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for MEMINFO_DATA",1,["mavlink::ardupilotmega::MEMINFO_DATA"]],["impl RefUnwindSafe for DEVICE_OP_WRITE_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_REPLY_DATA"]],["impl RefUnwindSafe for COMMAND_CANCEL_DATA",1,["mavlink::ardupilotmega::COMMAND_CANCEL_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_RAW_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_RAW_DATA"]],["impl RefUnwindSafe for PARAM_EXT_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_VALUE_DATA"]],["impl RefUnwindSafe for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::ardupilotmega::RESPONSE_EVENT_ERROR_DATA"]],["impl RefUnwindSafe for MISSION_SET_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_SET_CURRENT_DATA"]],["impl RefUnwindSafe for HIL_STATE_QUATERNION_DATA",1,["mavlink::ardupilotmega::HIL_STATE_QUATERNION_DATA"]],["impl RefUnwindSafe for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl RefUnwindSafe for ESTIMATOR_STATUS_DATA",1,["mavlink::ardupilotmega::ESTIMATOR_STATUS_DATA"]],["impl RefUnwindSafe for PARAM_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_VALUE_DATA"]],["impl RefUnwindSafe for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::ardupilotmega::ORBIT_EXECUTION_STATUS_DATA"]],["impl RefUnwindSafe for RALLY_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_POINT_DATA"]],["impl RefUnwindSafe for MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::MANUAL_CONTROL_DATA"]],["impl RefUnwindSafe for EXTENDED_SYS_STATE_DATA",1,["mavlink::ardupilotmega::EXTENDED_SYS_STATE_DATA"]],["impl RefUnwindSafe for DATA16_DATA",1,["mavlink::ardupilotmega::DATA16_DATA"]],["impl RefUnwindSafe for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::ardupilotmega::CURRENT_EVENT_SEQUENCE_DATA"]],["impl RefUnwindSafe for MOUNT_STATUS_DATA",1,["mavlink::ardupilotmega::MOUNT_STATUS_DATA"]],["impl RefUnwindSafe for DEBUG_DATA",1,["mavlink::ardupilotmega::DEBUG_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl RefUnwindSafe for EVENT_DATA",1,["mavlink::ardupilotmega::EVENT_DATA"]],["impl RefUnwindSafe for MCU_STATUS_DATA",1,["mavlink::ardupilotmega::MCU_STATUS_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_COV_DATA"]],["impl RefUnwindSafe for RAW_RPM_DATA",1,["mavlink::ardupilotmega::RAW_RPM_DATA"]],["impl RefUnwindSafe for PARAM_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_READ_DATA"]],["impl RefUnwindSafe for MavMessage",1,["mavlink::ardupilotmega::MavMessage"]],["impl RefUnwindSafe for FailureType",1,["mavlink::uavionix::FailureType"]],["impl RefUnwindSafe for MavOdidHeightRef",1,["mavlink::uavionix::MavOdidHeightRef"]],["impl RefUnwindSafe for PreflightStorageParameterAction",1,["mavlink::uavionix::PreflightStorageParameterAction"]],["impl RefUnwindSafe for MavFtpErr",1,["mavlink::uavionix::MavFtpErr"]],["impl RefUnwindSafe for EscFailureFlags",1,["mavlink::uavionix::EscFailureFlags"]],["impl RefUnwindSafe for AdsbFlags",1,["mavlink::uavionix::AdsbFlags"]],["impl RefUnwindSafe for VtolTransitionHeading",1,["mavlink::uavionix::VtolTransitionHeading"]],["impl RefUnwindSafe for MavAutopilot",1,["mavlink::uavionix::MavAutopilot"]],["impl RefUnwindSafe for VideoStreamType",1,["mavlink::uavionix::VideoStreamType"]],["impl RefUnwindSafe for GimbalDeviceErrorFlags",1,["mavlink::uavionix::GimbalDeviceErrorFlags"]],["impl RefUnwindSafe for CameraZoomType",1,["mavlink::uavionix::CameraZoomType"]],["impl RefUnwindSafe for MavMissionResult",1,["mavlink::uavionix::MavMissionResult"]],["impl RefUnwindSafe for MavOdidHorAcc",1,["mavlink::uavionix::MavOdidHorAcc"]],["impl RefUnwindSafe for MavMode",1,["mavlink::uavionix::MavMode"]],["impl RefUnwindSafe for SetFocusType",1,["mavlink::uavionix::SetFocusType"]],["impl RefUnwindSafe for CellularNetworkRadioType",1,["mavlink::uavionix::CellularNetworkRadioType"]],["impl RefUnwindSafe for UavionixAdsbEmergencyStatus",1,["mavlink::uavionix::UavionixAdsbEmergencyStatus"]],["impl RefUnwindSafe for ParamAck",1,["mavlink::uavionix::ParamAck"]],["impl RefUnwindSafe for AutotuneAxis",1,["mavlink::uavionix::AutotuneAxis"]],["impl RefUnwindSafe for UavcanNodeMode",1,["mavlink::uavionix::UavcanNodeMode"]],["impl RefUnwindSafe for MavCollisionAction",1,["mavlink::uavionix::MavCollisionAction"]],["impl RefUnwindSafe for SerialControlDev",1,["mavlink::uavionix::SerialControlDev"]],["impl RefUnwindSafe for HlFailureFlag",1,["mavlink::uavionix::HlFailureFlag"]],["impl RefUnwindSafe for LandingTargetType",1,["mavlink::uavionix::LandingTargetType"]],["impl RefUnwindSafe for MavRoi",1,["mavlink::uavionix::MavRoi"]],["impl RefUnwindSafe for PositionTargetTypemask",1,["mavlink::uavionix::PositionTargetTypemask"]],["impl RefUnwindSafe for MissionState",1,["mavlink::uavionix::MissionState"]],["impl RefUnwindSafe for CameraTrackingMode",1,["mavlink::uavionix::CameraTrackingMode"]],["impl RefUnwindSafe for CellularConfigResponse",1,["mavlink::uavionix::CellularConfigResponse"]],["impl RefUnwindSafe for MavBatteryMode",1,["mavlink::uavionix::MavBatteryMode"]],["impl RefUnwindSafe for MavOdidCategoryEu",1,["mavlink::uavionix::MavOdidCategoryEu"]],["impl RefUnwindSafe for MavEstimatorType",1,["mavlink::uavionix::MavEstimatorType"]],["impl RefUnwindSafe for UtmFlightState",1,["mavlink::uavionix::UtmFlightState"]],["impl RefUnwindSafe for UtmDataAvailFlags",1,["mavlink::uavionix::UtmDataAvailFlags"]],["impl RefUnwindSafe for AisFlags",1,["mavlink::uavionix::AisFlags"]],["impl RefUnwindSafe for ActuatorOutputFunction",1,["mavlink::uavionix::ActuatorOutputFunction"]],["impl RefUnwindSafe for MavSensorOrientation",1,["mavlink::uavionix::MavSensorOrientation"]],["impl RefUnwindSafe for MavOdidClassEu",1,["mavlink::uavionix::MavOdidClassEu"]],["impl RefUnwindSafe for MavOdidClassificationType",1,["mavlink::uavionix::MavOdidClassificationType"]],["impl RefUnwindSafe for CanFilterOp",1,["mavlink::uavionix::CanFilterOp"]],["impl RefUnwindSafe for RcType",1,["mavlink::uavionix::RcType"]],["impl RefUnwindSafe for GimbalManagerFlags",1,["mavlink::uavionix::GimbalManagerFlags"]],["impl RefUnwindSafe for CameraCapFlags",1,["mavlink::uavionix::CameraCapFlags"]],["impl RefUnwindSafe for MavSysStatusSensor",1,["mavlink::uavionix::MavSysStatusSensor"]],["impl RefUnwindSafe for MavMissionType",1,["mavlink::uavionix::MavMissionType"]],["impl RefUnwindSafe for MavOdidOperatorLocationType",1,["mavlink::uavionix::MavOdidOperatorLocationType"]],["impl RefUnwindSafe for VideoStreamStatusFlags",1,["mavlink::uavionix::VideoStreamStatusFlags"]],["impl RefUnwindSafe for MavCmdAck",1,["mavlink::uavionix::MavCmdAck"]],["impl RefUnwindSafe for StorageType",1,["mavlink::uavionix::StorageType"]],["impl RefUnwindSafe for UavionixAdsbOutDynamicState",1,["mavlink::uavionix::UavionixAdsbOutDynamicState"]],["impl RefUnwindSafe for CellularStatusFlag",1,["mavlink::uavionix::CellularStatusFlag"]],["impl RefUnwindSafe for RtkBaselineCoordinateSystem",1,["mavlink::uavionix::RtkBaselineCoordinateSystem"]],["impl RefUnwindSafe for MavParamExtType",1,["mavlink::uavionix::MavParamExtType"]],["impl RefUnwindSafe for FailureUnit",1,["mavlink::uavionix::FailureUnit"]],["impl RefUnwindSafe for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLat"]],["impl RefUnwindSafe for MavLandedState",1,["mavlink::uavionix::MavLandedState"]],["impl RefUnwindSafe for MavModeFlag",1,["mavlink::uavionix::MavModeFlag"]],["impl RefUnwindSafe for WinchActions",1,["mavlink::uavionix::WinchActions"]],["impl RefUnwindSafe for UavcanNodeHealth",1,["mavlink::uavionix::UavcanNodeHealth"]],["impl RefUnwindSafe for AisType",1,["mavlink::uavionix::AisType"]],["impl RefUnwindSafe for MavParamType",1,["mavlink::uavionix::MavParamType"]],["impl RefUnwindSafe for MavOdidUaType",1,["mavlink::uavionix::MavOdidUaType"]],["impl RefUnwindSafe for MavComponent",1,["mavlink::uavionix::MavComponent"]],["impl RefUnwindSafe for GripperActions",1,["mavlink::uavionix::GripperActions"]],["impl RefUnwindSafe for NavVtolLandOptions",1,["mavlink::uavionix::NavVtolLandOptions"]],["impl RefUnwindSafe for MavFtpOpcode",1,["mavlink::uavionix::MavFtpOpcode"]],["impl RefUnwindSafe for MavProtocolCapability",1,["mavlink::uavionix::MavProtocolCapability"]],["impl RefUnwindSafe for WifiConfigApResponse",1,["mavlink::uavionix::WifiConfigApResponse"]],["impl RefUnwindSafe for MavDataStream",1,["mavlink::uavionix::MavDataStream"]],["impl RefUnwindSafe for MavBatteryChargeState",1,["mavlink::uavionix::MavBatteryChargeState"]],["impl RefUnwindSafe for WifiConfigApMode",1,["mavlink::uavionix::WifiConfigApMode"]],["impl RefUnwindSafe for AdsbAltitudeType",1,["mavlink::uavionix::AdsbAltitudeType"]],["impl RefUnwindSafe for GimbalManagerCapFlags",1,["mavlink::uavionix::GimbalManagerCapFlags"]],["impl RefUnwindSafe for MavCollisionSrc",1,["mavlink::uavionix::MavCollisionSrc"]],["impl RefUnwindSafe for CameraTrackingStatusFlags",1,["mavlink::uavionix::CameraTrackingStatusFlags"]],["impl RefUnwindSafe for MavDoRepositionFlags",1,["mavlink::uavionix::MavDoRepositionFlags"]],["impl RefUnwindSafe for CellularNetworkFailedReason",1,["mavlink::uavionix::CellularNetworkFailedReason"]],["impl RefUnwindSafe for MavOdidTimeAcc",1,["mavlink::uavionix::MavOdidTimeAcc"]],["impl RefUnwindSafe for MavOdidSpeedAcc",1,["mavlink::uavionix::MavOdidSpeedAcc"]],["impl RefUnwindSafe for MavOdidStatus",1,["mavlink::uavionix::MavOdidStatus"]],["impl RefUnwindSafe for MagCalStatus",1,["mavlink::uavionix::MagCalStatus"]],["impl RefUnwindSafe for MavType",1,["mavlink::uavionix::MavType"]],["impl RefUnwindSafe for FenceBreach",1,["mavlink::uavionix::FenceBreach"]],["impl RefUnwindSafe for AisNavStatus",1,["mavlink::uavionix::AisNavStatus"]],["impl RefUnwindSafe for MavBatteryFault",1,["mavlink::uavionix::MavBatteryFault"]],["impl RefUnwindSafe for MavOdidArmStatus",1,["mavlink::uavionix::MavOdidArmStatus"]],["impl RefUnwindSafe for GimbalDeviceCapFlags",1,["mavlink::uavionix::GimbalDeviceCapFlags"]],["impl RefUnwindSafe for PreflightStorageMissionAction",1,["mavlink::uavionix::PreflightStorageMissionAction"]],["impl RefUnwindSafe for HighresImuUpdatedFlags",1,["mavlink::uavionix::HighresImuUpdatedFlags"]],["impl RefUnwindSafe for CameraMode",1,["mavlink::uavionix::CameraMode"]],["impl RefUnwindSafe for SerialControlFlag",1,["mavlink::uavionix::SerialControlFlag"]],["impl RefUnwindSafe for AdsbEmitterType",1,["mavlink::uavionix::AdsbEmitterType"]],["impl RefUnwindSafe for PrecisionLandMode",1,["mavlink::uavionix::PrecisionLandMode"]],["impl RefUnwindSafe for CameraTrackingTargetData",1,["mavlink::uavionix::CameraTrackingTargetData"]],["impl RefUnwindSafe for StorageStatus",1,["mavlink::uavionix::StorageStatus"]],["impl RefUnwindSafe for MavState",1,["mavlink::uavionix::MavState"]],["impl RefUnwindSafe for MavArmAuthDeniedReason",1,["mavlink::uavionix::MavArmAuthDeniedReason"]],["impl RefUnwindSafe for EstimatorStatusFlags",1,["mavlink::uavionix::EstimatorStatusFlags"]],["impl RefUnwindSafe for OrbitYawBehaviour",1,["mavlink::uavionix::OrbitYawBehaviour"]],["impl RefUnwindSafe for MavSysStatusSensorExtended",1,["mavlink::uavionix::MavSysStatusSensorExtended"]],["impl RefUnwindSafe for MavSeverity",1,["mavlink::uavionix::MavSeverity"]],["impl RefUnwindSafe for MavCmd",1,["mavlink::uavionix::MavCmd"]],["impl RefUnwindSafe for MavMountMode",1,["mavlink::uavionix::MavMountMode"]],["impl RefUnwindSafe for MavOdidOperatorIdType",1,["mavlink::uavionix::MavOdidOperatorIdType"]],["impl RefUnwindSafe for MavOdidIdType",1,["mavlink::uavionix::MavOdidIdType"]],["impl RefUnwindSafe for ActuatorConfiguration",1,["mavlink::uavionix::ActuatorConfiguration"]],["impl RefUnwindSafe for MavEventErrorReason",1,["mavlink::uavionix::MavEventErrorReason"]],["impl RefUnwindSafe for StorageUsageFlag",1,["mavlink::uavionix::StorageUsageFlag"]],["impl RefUnwindSafe for MavPowerStatus",1,["mavlink::uavionix::MavPowerStatus"]],["impl RefUnwindSafe for CompMetadataType",1,["mavlink::uavionix::CompMetadataType"]],["impl RefUnwindSafe for MavCollisionThreatLevel",1,["mavlink::uavionix::MavCollisionThreatLevel"]],["impl RefUnwindSafe for MavOdidAuthType",1,["mavlink::uavionix::MavOdidAuthType"]],["impl RefUnwindSafe for MavOdidDescType",1,["mavlink::uavionix::MavOdidDescType"]],["impl RefUnwindSafe for ParachuteAction",1,["mavlink::uavionix::ParachuteAction"]],["impl RefUnwindSafe for AttitudeTargetTypemask",1,["mavlink::uavionix::AttitudeTargetTypemask"]],["impl RefUnwindSafe for FenceMitigate",1,["mavlink::uavionix::FenceMitigate"]],["impl RefUnwindSafe for UavionixAdsbOutRfSelect",1,["mavlink::uavionix::UavionixAdsbOutRfSelect"]],["impl RefUnwindSafe for MavFrame",1,["mavlink::uavionix::MavFrame"]],["impl RefUnwindSafe for MotorTestOrder",1,["mavlink::uavionix::MotorTestOrder"]],["impl RefUnwindSafe for MavResult",1,["mavlink::uavionix::MavResult"]],["impl RefUnwindSafe for MavGoto",1,["mavlink::uavionix::MavGoto"]],["impl RefUnwindSafe for TuneFormat",1,["mavlink::uavionix::TuneFormat"]],["impl RefUnwindSafe for MavlinkDataStreamType",1,["mavlink::uavionix::MavlinkDataStreamType"]],["impl RefUnwindSafe for FenceAction",1,["mavlink::uavionix::FenceAction"]],["impl RefUnwindSafe for MavEventCurrentSequenceFlags",1,["mavlink::uavionix::MavEventCurrentSequenceFlags"]],["impl RefUnwindSafe for MavWinchStatusFlag",1,["mavlink::uavionix::MavWinchStatusFlag"]],["impl RefUnwindSafe for GpsInputIgnoreFlags",1,["mavlink::uavionix::GpsInputIgnoreFlags"]],["impl RefUnwindSafe for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLon"]],["impl RefUnwindSafe for MavGeneratorStatusFlag",1,["mavlink::uavionix::MavGeneratorStatusFlag"]],["impl RefUnwindSafe for UavionixAdsbOutDynamicGpsFix",1,["mavlink::uavionix::UavionixAdsbOutDynamicGpsFix"]],["impl RefUnwindSafe for EscConnectionType",1,["mavlink::uavionix::EscConnectionType"]],["impl RefUnwindSafe for MavDistanceSensor",1,["mavlink::uavionix::MavDistanceSensor"]],["impl RefUnwindSafe for MavModeFlagDecodePosition",1,["mavlink::uavionix::MavModeFlagDecodePosition"]],["impl RefUnwindSafe for GimbalDeviceFlags",1,["mavlink::uavionix::GimbalDeviceFlags"]],["impl RefUnwindSafe for MotorTestThrottleType",1,["mavlink::uavionix::MotorTestThrottleType"]],["impl RefUnwindSafe for UavionixAdsbOutCfgAircraftSize",1,["mavlink::uavionix::UavionixAdsbOutCfgAircraftSize"]],["impl RefUnwindSafe for MavOdidVerAcc",1,["mavlink::uavionix::MavOdidVerAcc"]],["impl RefUnwindSafe for MavBatteryType",1,["mavlink::uavionix::MavBatteryType"]],["impl RefUnwindSafe for MavBatteryFunction",1,["mavlink::uavionix::MavBatteryFunction"]],["impl RefUnwindSafe for GpsFixType",1,["mavlink::uavionix::GpsFixType"]],["impl RefUnwindSafe for MavTunnelPayloadType",1,["mavlink::uavionix::MavTunnelPayloadType"]],["impl RefUnwindSafe for HilSensorUpdatedFlags",1,["mavlink::uavionix::HilSensorUpdatedFlags"]],["impl RefUnwindSafe for UavionixAdsbRfHealth",1,["mavlink::uavionix::UavionixAdsbRfHealth"]],["impl RefUnwindSafe for MavVtolState",1,["mavlink::uavionix::MavVtolState"]],["impl RefUnwindSafe for FirmwareVersionType",1,["mavlink::uavionix::FirmwareVersionType"]],["impl RefUnwindSafe for MISSION_SET_CURRENT_DATA",1,["mavlink::uavionix::MISSION_SET_CURRENT_DATA"]],["impl RefUnwindSafe for AUTH_KEY_DATA",1,["mavlink::uavionix::AUTH_KEY_DATA"]],["impl RefUnwindSafe for ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::ATTITUDE_TARGET_DATA"]],["impl RefUnwindSafe for SETUP_SIGNING_DATA",1,["mavlink::uavionix::SETUP_SIGNING_DATA"]],["impl RefUnwindSafe for CELLULAR_CONFIG_DATA",1,["mavlink::uavionix::CELLULAR_CONFIG_DATA"]],["impl RefUnwindSafe for UTM_GLOBAL_POSITION_DATA",1,["mavlink::uavionix::UTM_GLOBAL_POSITION_DATA"]],["impl RefUnwindSafe for VFR_HUD_DATA",1,["mavlink::uavionix::VFR_HUD_DATA"]],["impl RefUnwindSafe for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl RefUnwindSafe for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl RefUnwindSafe for ODOMETRY_DATA",1,["mavlink::uavionix::ODOMETRY_DATA"]],["impl RefUnwindSafe for SERIAL_CONTROL_DATA",1,["mavlink::uavionix::SERIAL_CONTROL_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_SCALED_DATA",1,["mavlink::uavionix::RC_CHANNELS_SCALED_DATA"]],["impl RefUnwindSafe for COMPONENT_INFORMATION_DATA",1,["mavlink::uavionix::COMPONENT_INFORMATION_DATA"]],["impl RefUnwindSafe for PARAM_EXT_VALUE_DATA",1,["mavlink::uavionix::PARAM_EXT_VALUE_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl RefUnwindSafe for UAVCAN_NODE_INFO_DATA",1,["mavlink::uavionix::UAVCAN_NODE_INFO_DATA"]],["impl RefUnwindSafe for CAMERA_SETTINGS_DATA",1,["mavlink::uavionix::CAMERA_SETTINGS_DATA"]],["impl RefUnwindSafe for RADIO_STATUS_DATA",1,["mavlink::uavionix::RADIO_STATUS_DATA"]],["impl RefUnwindSafe for GPS_RAW_INT_DATA",1,["mavlink::uavionix::GPS_RAW_INT_DATA"]],["impl RefUnwindSafe for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::uavionix::CONTROL_SYSTEM_STATE_DATA"]],["impl RefUnwindSafe for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl RefUnwindSafe for TUNNEL_DATA",1,["mavlink::uavionix::TUNNEL_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_LIST_DATA",1,["mavlink::uavionix::LOG_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for REQUEST_DATA_STREAM_DATA",1,["mavlink::uavionix::REQUEST_DATA_STREAM_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl RefUnwindSafe for CANFD_FRAME_DATA",1,["mavlink::uavionix::CANFD_FRAME_DATA"]],["impl RefUnwindSafe for HIL_CONTROLS_DATA",1,["mavlink::uavionix::HIL_CONTROLS_DATA"]],["impl RefUnwindSafe for POWER_STATUS_DATA",1,["mavlink::uavionix::POWER_STATUS_DATA"]],["impl RefUnwindSafe for HIL_STATE_DATA",1,["mavlink::uavionix::HIL_STATE_DATA"]],["impl RefUnwindSafe for LOGGING_DATA_DATA",1,["mavlink::uavionix::LOGGING_DATA_DATA"]],["impl RefUnwindSafe for SMART_BATTERY_INFO_DATA",1,["mavlink::uavionix::SMART_BATTERY_INFO_DATA"]],["impl RefUnwindSafe for RAW_PRESSURE_DATA",1,["mavlink::uavionix::RAW_PRESSURE_DATA"]],["impl RefUnwindSafe for PARAM_EXT_SET_DATA",1,["mavlink::uavionix::PARAM_EXT_SET_DATA"]],["impl RefUnwindSafe for VIBRATION_DATA",1,["mavlink::uavionix::VIBRATION_DATA"]],["impl RefUnwindSafe for LOGGING_ACK_DATA",1,["mavlink::uavionix::LOGGING_ACK_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE2_DATA",1,["mavlink::uavionix::SCALED_PRESSURE2_DATA"]],["impl RefUnwindSafe for AUTOPILOT_VERSION_DATA",1,["mavlink::uavionix::AUTOPILOT_VERSION_DATA"]],["impl RefUnwindSafe for NAMED_VALUE_FLOAT_DATA",1,["mavlink::uavionix::NAMED_VALUE_FLOAT_DATA"]],["impl RefUnwindSafe for GPS_RTK_DATA",1,["mavlink::uavionix::GPS_RTK_DATA"]],["impl RefUnwindSafe for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl RefUnwindSafe for COMMAND_CANCEL_DATA",1,["mavlink::uavionix::COMMAND_CANCEL_DATA"]],["impl RefUnwindSafe for CAMERA_FOV_STATUS_DATA",1,["mavlink::uavionix::CAMERA_FOV_STATUS_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl RefUnwindSafe for LOG_ERASE_DATA",1,["mavlink::uavionix::LOG_ERASE_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_DATA_DATA",1,["mavlink::uavionix::LOG_REQUEST_DATA_DATA"]],["impl RefUnwindSafe for LINK_NODE_STATUS_DATA",1,["mavlink::uavionix::LINK_NODE_STATUS_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl RefUnwindSafe for STORAGE_INFORMATION_DATA",1,["mavlink::uavionix::STORAGE_INFORMATION_DATA"]],["impl RefUnwindSafe for LOGGING_DATA_ACKED_DATA",1,["mavlink::uavionix::LOGGING_DATA_ACKED_DATA"]],["impl RefUnwindSafe for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::uavionix::DEBUG_FLOAT_ARRAY_DATA"]],["impl RefUnwindSafe for SCALED_IMU2_DATA",1,["mavlink::uavionix::SCALED_IMU2_DATA"]],["impl RefUnwindSafe for COLLISION_DATA",1,["mavlink::uavionix::COLLISION_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_INT_DATA",1,["mavlink::uavionix::MISSION_REQUEST_INT_DATA"]],["impl RefUnwindSafe for SERVO_OUTPUT_RAW_DATA",1,["mavlink::uavionix::SERVO_OUTPUT_RAW_DATA"]],["impl RefUnwindSafe for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for TERRAIN_DATA_DATA",1,["mavlink::uavionix::TERRAIN_DATA_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_DATA",1,["mavlink::uavionix::RC_CHANNELS_DATA"]],["impl RefUnwindSafe for HIL_SENSOR_DATA",1,["mavlink::uavionix::HIL_SENSOR_DATA"]],["impl RefUnwindSafe for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl RefUnwindSafe for STATUSTEXT_DATA",1,["mavlink::uavionix::STATUSTEXT_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_RAW_DATA",1,["mavlink::uavionix::RC_CHANNELS_RAW_DATA"]],["impl RefUnwindSafe for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_COV_DATA"]],["impl RefUnwindSafe for MESSAGE_INTERVAL_DATA",1,["mavlink::uavionix::MESSAGE_INTERVAL_DATA"]],["impl RefUnwindSafe for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_ALLOWED_AREA_DATA"]],["impl RefUnwindSafe for EXTENDED_SYS_STATE_DATA",1,["mavlink::uavionix::EXTENDED_SYS_STATE_DATA"]],["impl RefUnwindSafe for GPS_INJECT_DATA_DATA",1,["mavlink::uavionix::GPS_INJECT_DATA_DATA"]],["impl RefUnwindSafe for HOME_POSITION_DATA",1,["mavlink::uavionix::HOME_POSITION_DATA"]],["impl RefUnwindSafe for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_READ_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl RefUnwindSafe for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl RefUnwindSafe for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::ACTUATOR_CONTROL_TARGET_DATA"]],["impl RefUnwindSafe for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::uavionix::NAV_CONTROLLER_OUTPUT_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::uavionix::RC_CHANNELS_OVERRIDE_DATA"]],["impl RefUnwindSafe for SET_HOME_POSITION_DATA",1,["mavlink::uavionix::SET_HOME_POSITION_DATA"]],["impl RefUnwindSafe for HIL_OPTICAL_FLOW_DATA",1,["mavlink::uavionix::HIL_OPTICAL_FLOW_DATA"]],["impl RefUnwindSafe for V2_EXTENSION_DATA",1,["mavlink::uavionix::V2_EXTENSION_DATA"]],["impl RefUnwindSafe for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::uavionix::HIL_ACTUATOR_CONTROLS_DATA"]],["impl RefUnwindSafe for PARAM_MAP_RC_DATA",1,["mavlink::uavionix::PARAM_MAP_RC_DATA"]],["impl RefUnwindSafe for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::uavionix::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl RefUnwindSafe for BUTTON_CHANGE_DATA",1,["mavlink::uavionix::BUTTON_CHANGE_DATA"]],["impl RefUnwindSafe for PARAM_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_DATA"]],["impl RefUnwindSafe for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_LOCATION_DATA"]],["impl RefUnwindSafe for BATTERY_STATUS_DATA",1,["mavlink::uavionix::BATTERY_STATUS_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl RefUnwindSafe for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl RefUnwindSafe for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::uavionix::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl RefUnwindSafe for HIGHRES_IMU_DATA",1,["mavlink::uavionix::HIGHRES_IMU_DATA"]],["impl RefUnwindSafe for PARAM_EXT_ACK_DATA",1,["mavlink::uavionix::PARAM_EXT_ACK_DATA"]],["impl RefUnwindSafe for TERRAIN_CHECK_DATA",1,["mavlink::uavionix::TERRAIN_CHECK_DATA"]],["impl RefUnwindSafe for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::uavionix::HIL_RC_INPUTS_RAW_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_INT_DATA",1,["mavlink::uavionix::MISSION_ITEM_INT_DATA"]],["impl RefUnwindSafe for ATT_POS_MOCAP_DATA",1,["mavlink::uavionix::ATT_POS_MOCAP_DATA"]],["impl RefUnwindSafe for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl RefUnwindSafe for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::uavionix::RESPONSE_EVENT_ERROR_DATA"]],["impl RefUnwindSafe for ATTITUDE_DATA",1,["mavlink::uavionix::ATTITUDE_DATA"]],["impl RefUnwindSafe for TERRAIN_REQUEST_DATA",1,["mavlink::uavionix::TERRAIN_REQUEST_DATA"]],["impl RefUnwindSafe for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::uavionix::FILE_TRANSFER_PROTOCOL_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_DATA"]],["impl RefUnwindSafe for TERRAIN_REPORT_DATA",1,["mavlink::uavionix::TERRAIN_REPORT_DATA"]],["impl RefUnwindSafe for REQUEST_EVENT_DATA",1,["mavlink::uavionix::REQUEST_EVENT_DATA"]],["impl RefUnwindSafe for ALTITUDE_DATA",1,["mavlink::uavionix::ALTITUDE_DATA"]],["impl RefUnwindSafe for WIND_COV_DATA",1,["mavlink::uavionix::WIND_COV_DATA"]],["impl RefUnwindSafe for GPS2_RAW_DATA",1,["mavlink::uavionix::GPS2_RAW_DATA"]],["impl RefUnwindSafe for SYS_STATUS_DATA",1,["mavlink::uavionix::SYS_STATUS_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE_DATA",1,["mavlink::uavionix::SCALED_PRESSURE_DATA"]],["impl RefUnwindSafe for SET_ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::SET_ATTITUDE_TARGET_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_COV_DATA"]],["impl RefUnwindSafe for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::uavionix::ORBIT_EXECUTION_STATUS_DATA"]],["impl RefUnwindSafe for PARAM_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_REQUEST_READ_DATA"]],["impl RefUnwindSafe for MEMORY_VECT_DATA",1,["mavlink::uavionix::MEMORY_VECT_DATA"]],["impl RefUnwindSafe for SCALED_IMU_DATA",1,["mavlink::uavionix::SCALED_IMU_DATA"]],["impl RefUnwindSafe for VIDEO_STREAM_STATUS_DATA",1,["mavlink::uavionix::VIDEO_STREAM_STATUS_DATA"]],["impl RefUnwindSafe for GPS_STATUS_DATA",1,["mavlink::uavionix::GPS_STATUS_DATA"]],["impl RefUnwindSafe for PING_DATA",1,["mavlink::uavionix::PING_DATA"]],["impl RefUnwindSafe for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::uavionix::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE3_DATA",1,["mavlink::uavionix::SCALED_PRESSURE3_DATA"]],["impl RefUnwindSafe for WIFI_CONFIG_AP_DATA",1,["mavlink::uavionix::WIFI_CONFIG_AP_DATA"]],["impl RefUnwindSafe for RAW_RPM_DATA",1,["mavlink::uavionix::RAW_RPM_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_REACHED_DATA",1,["mavlink::uavionix::MISSION_ITEM_REACHED_DATA"]],["impl RefUnwindSafe for TIMESYNC_DATA",1,["mavlink::uavionix::TIMESYNC_DATA"]],["impl RefUnwindSafe for MOUNT_ORIENTATION_DATA",1,["mavlink::uavionix::MOUNT_ORIENTATION_DATA"]],["impl RefUnwindSafe for DATA_STREAM_DATA",1,["mavlink::uavionix::DATA_STREAM_DATA"]],["impl RefUnwindSafe for ISBD_LINK_STATUS_DATA",1,["mavlink::uavionix::ISBD_LINK_STATUS_DATA"]],["impl RefUnwindSafe for GPS2_RTK_DATA",1,["mavlink::uavionix::GPS2_RTK_DATA"]],["impl RefUnwindSafe for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl RefUnwindSafe for HIL_GPS_DATA",1,["mavlink::uavionix::HIL_GPS_DATA"]],["impl RefUnwindSafe for MISSION_CURRENT_DATA",1,["mavlink::uavionix::MISSION_CURRENT_DATA"]],["impl RefUnwindSafe for PARAM_VALUE_DATA",1,["mavlink::uavionix::PARAM_VALUE_DATA"]],["impl RefUnwindSafe for FENCE_STATUS_DATA",1,["mavlink::uavionix::FENCE_STATUS_DATA"]],["impl RefUnwindSafe for HIL_STATE_QUATERNION_DATA",1,["mavlink::uavionix::HIL_STATE_QUATERNION_DATA"]],["impl RefUnwindSafe for OBSTACLE_DISTANCE_DATA",1,["mavlink::uavionix::OBSTACLE_DISTANCE_DATA"]],["impl RefUnwindSafe for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_CAPTURE_STATUS_DATA"]],["impl RefUnwindSafe for DISTANCE_SENSOR_DATA",1,["mavlink::uavionix::DISTANCE_SENSOR_DATA"]],["impl RefUnwindSafe for NAMED_VALUE_INT_DATA",1,["mavlink::uavionix::NAMED_VALUE_INT_DATA"]],["impl RefUnwindSafe for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::uavionix::ONBOARD_COMPUTER_STATUS_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for LOG_DATA_DATA",1,["mavlink::uavionix::LOG_DATA_DATA"]],["impl RefUnwindSafe for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl RefUnwindSafe for PROTOCOL_VERSION_DATA",1,["mavlink::uavionix::PROTOCOL_VERSION_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl RefUnwindSafe for LANDING_TARGET_DATA",1,["mavlink::uavionix::LANDING_TARGET_DATA"]],["impl RefUnwindSafe for ESC_STATUS_DATA",1,["mavlink::uavionix::ESC_STATUS_DATA"]],["impl RefUnwindSafe for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl RefUnwindSafe for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::GPS_GLOBAL_ORIGIN_DATA"]],["impl RefUnwindSafe for PLAY_TUNE_V2_DATA",1,["mavlink::uavionix::PLAY_TUNE_V2_DATA"]],["impl RefUnwindSafe for DEBUG_VECT_DATA",1,["mavlink::uavionix::DEBUG_VECT_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_END_DATA",1,["mavlink::uavionix::LOG_REQUEST_END_DATA"]],["impl RefUnwindSafe for RESOURCE_REQUEST_DATA",1,["mavlink::uavionix::RESOURCE_REQUEST_DATA"]],["impl RefUnwindSafe for ATTITUDE_QUATERNION_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_DATA"]],["impl RefUnwindSafe for HYGROMETER_SENSOR_DATA",1,["mavlink::uavionix::HYGROMETER_SENSOR_DATA"]],["impl RefUnwindSafe for ENCAPSULATED_DATA_DATA",1,["mavlink::uavionix::ENCAPSULATED_DATA_DATA"]],["impl RefUnwindSafe for CAMERA_INFORMATION_DATA",1,["mavlink::uavionix::CAMERA_INFORMATION_DATA"]],["impl RefUnwindSafe for ESC_INFO_DATA",1,["mavlink::uavionix::ESC_INFO_DATA"]],["impl RefUnwindSafe for FLIGHT_INFORMATION_DATA",1,["mavlink::uavionix::FLIGHT_INFORMATION_DATA"]],["impl RefUnwindSafe for HIGH_LATENCY2_DATA",1,["mavlink::uavionix::HIGH_LATENCY2_DATA"]],["impl RefUnwindSafe for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_COV_DATA"]],["impl RefUnwindSafe for SET_MODE_DATA",1,["mavlink::uavionix::SET_MODE_DATA"]],["impl RefUnwindSafe for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl RefUnwindSafe for PARAM_SET_DATA",1,["mavlink::uavionix::PARAM_SET_DATA"]],["impl RefUnwindSafe for SUPPORTED_TUNES_DATA",1,["mavlink::uavionix::SUPPORTED_TUNES_DATA"]],["impl RefUnwindSafe for CAN_FILTER_MODIFY_DATA",1,["mavlink::uavionix::CAN_FILTER_MODIFY_DATA"]],["impl RefUnwindSafe for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for PLAY_TUNE_DATA",1,["mavlink::uavionix::PLAY_TUNE_DATA"]],["impl RefUnwindSafe for HEARTBEAT_DATA",1,["mavlink::uavionix::HEARTBEAT_DATA"]],["impl RefUnwindSafe for SIM_STATE_DATA",1,["mavlink::uavionix::SIM_STATE_DATA"]],["impl RefUnwindSafe for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::uavionix::CAMERA_IMAGE_CAPTURED_DATA"]],["impl RefUnwindSafe for AIS_VESSEL_DATA",1,["mavlink::uavionix::AIS_VESSEL_DATA"]],["impl RefUnwindSafe for CAMERA_TRIGGER_DATA",1,["mavlink::uavionix::CAMERA_TRIGGER_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl RefUnwindSafe for LOG_ENTRY_DATA",1,["mavlink::uavionix::LOG_ENTRY_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_STATUS_DATA"]],["impl RefUnwindSafe for MANUAL_SETPOINT_DATA",1,["mavlink::uavionix::MANUAL_SETPOINT_DATA"]],["impl RefUnwindSafe for GPS_RTCM_DATA_DATA",1,["mavlink::uavionix::GPS_RTCM_DATA_DATA"]],["impl RefUnwindSafe for RAW_IMU_DATA",1,["mavlink::uavionix::RAW_IMU_DATA"]],["impl RefUnwindSafe for COMMAND_INT_DATA",1,["mavlink::uavionix::COMMAND_INT_DATA"]],["impl RefUnwindSafe for DEBUG_DATA",1,["mavlink::uavionix::DEBUG_DATA"]],["impl RefUnwindSafe for MISSION_COUNT_DATA",1,["mavlink::uavionix::MISSION_COUNT_DATA"]],["impl RefUnwindSafe for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_SPEED_ESTIMATE_DATA"]],["impl RefUnwindSafe for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl RefUnwindSafe for GPS_INPUT_DATA",1,["mavlink::uavionix::GPS_INPUT_DATA"]],["impl RefUnwindSafe for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl RefUnwindSafe for UAVCAN_NODE_STATUS_DATA",1,["mavlink::uavionix::UAVCAN_NODE_STATUS_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl RefUnwindSafe for COMMAND_ACK_DATA",1,["mavlink::uavionix::COMMAND_ACK_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl RefUnwindSafe for CELLULAR_STATUS_DATA",1,["mavlink::uavionix::CELLULAR_STATUS_DATA"]],["impl RefUnwindSafe for SYSTEM_TIME_DATA",1,["mavlink::uavionix::SYSTEM_TIME_DATA"]],["impl RefUnwindSafe for EFI_STATUS_DATA",1,["mavlink::uavionix::EFI_STATUS_DATA"]],["impl RefUnwindSafe for COMMAND_LONG_DATA",1,["mavlink::uavionix::COMMAND_LONG_DATA"]],["impl RefUnwindSafe for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::POSITION_TARGET_LOCAL_NED_DATA"]],["impl RefUnwindSafe for MAG_CAL_REPORT_DATA",1,["mavlink::uavionix::MAG_CAL_REPORT_DATA"]],["impl RefUnwindSafe for WHEEL_DISTANCE_DATA",1,["mavlink::uavionix::WHEEL_DISTANCE_DATA"]],["impl RefUnwindSafe for OPTICAL_FLOW_RAD_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_RAD_DATA"]],["impl RefUnwindSafe for SCALED_IMU3_DATA",1,["mavlink::uavionix::SCALED_IMU3_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl RefUnwindSafe for GENERATOR_STATUS_DATA",1,["mavlink::uavionix::GENERATOR_STATUS_DATA"]],["impl RefUnwindSafe for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VICON_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_DATA",1,["mavlink::uavionix::MISSION_ITEM_DATA"]],["impl RefUnwindSafe for MANUAL_CONTROL_DATA",1,["mavlink::uavionix::MANUAL_CONTROL_DATA"]],["impl RefUnwindSafe for ESTIMATOR_STATUS_DATA",1,["mavlink::uavionix::ESTIMATOR_STATUS_DATA"]],["impl RefUnwindSafe for ADSB_VEHICLE_DATA",1,["mavlink::uavionix::ADSB_VEHICLE_DATA"]],["impl RefUnwindSafe for GLOBAL_POSITION_INT_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_DATA"]],["impl RefUnwindSafe for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::uavionix::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl RefUnwindSafe for MISSION_CLEAR_ALL_DATA",1,["mavlink::uavionix::MISSION_CLEAR_ALL_DATA"]],["impl RefUnwindSafe for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::uavionix::VIDEO_STREAM_INFORMATION_DATA"]],["impl RefUnwindSafe for CAN_FRAME_DATA",1,["mavlink::uavionix::CAN_FRAME_DATA"]],["impl RefUnwindSafe for EVENT_DATA",1,["mavlink::uavionix::EVENT_DATA"]],["impl RefUnwindSafe for COMPONENT_METADATA_DATA",1,["mavlink::uavionix::COMPONENT_METADATA_DATA"]],["impl RefUnwindSafe for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::uavionix::CURRENT_EVENT_SEQUENCE_DATA"]],["impl RefUnwindSafe for MISSION_ACK_DATA",1,["mavlink::uavionix::MISSION_ACK_DATA"]],["impl RefUnwindSafe for OPTICAL_FLOW_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_DATA"]],["impl RefUnwindSafe for WINCH_STATUS_DATA",1,["mavlink::uavionix::WINCH_STATUS_DATA"]],["impl RefUnwindSafe for HIGH_LATENCY_DATA",1,["mavlink::uavionix::HIGH_LATENCY_DATA"]],["impl RefUnwindSafe for FOLLOW_TARGET_DATA",1,["mavlink::uavionix::FOLLOW_TARGET_DATA"]],["impl RefUnwindSafe for MavMessage",1,["mavlink::uavionix::MavMessage"]],["impl RefUnwindSafe for MavOdidClassificationType",1,["mavlink::common::MavOdidClassificationType"]],["impl RefUnwindSafe for NavVtolLandOptions",1,["mavlink::common::NavVtolLandOptions"]],["impl RefUnwindSafe for MotorTestThrottleType",1,["mavlink::common::MotorTestThrottleType"]],["impl RefUnwindSafe for ParachuteAction",1,["mavlink::common::ParachuteAction"]],["impl RefUnwindSafe for HlFailureFlag",1,["mavlink::common::HlFailureFlag"]],["impl RefUnwindSafe for MavSysStatusSensor",1,["mavlink::common::MavSysStatusSensor"]],["impl RefUnwindSafe for MavLandedState",1,["mavlink::common::MavLandedState"]],["impl RefUnwindSafe for FailureType",1,["mavlink::common::FailureType"]],["impl RefUnwindSafe for MavOdidAuthType",1,["mavlink::common::MavOdidAuthType"]],["impl RefUnwindSafe for RcType",1,["mavlink::common::RcType"]],["impl RefUnwindSafe for MavModeFlag",1,["mavlink::common::MavModeFlag"]],["impl RefUnwindSafe for EscFailureFlags",1,["mavlink::common::EscFailureFlags"]],["impl RefUnwindSafe for MavAutopilot",1,["mavlink::common::MavAutopilot"]],["impl RefUnwindSafe for WifiConfigApResponse",1,["mavlink::common::WifiConfigApResponse"]],["impl RefUnwindSafe for CameraTrackingStatusFlags",1,["mavlink::common::CameraTrackingStatusFlags"]],["impl RefUnwindSafe for FailureUnit",1,["mavlink::common::FailureUnit"]],["impl RefUnwindSafe for MavCmd",1,["mavlink::common::MavCmd"]],["impl RefUnwindSafe for UtmDataAvailFlags",1,["mavlink::common::UtmDataAvailFlags"]],["impl RefUnwindSafe for MavBatteryMode",1,["mavlink::common::MavBatteryMode"]],["impl RefUnwindSafe for StorageUsageFlag",1,["mavlink::common::StorageUsageFlag"]],["impl RefUnwindSafe for MavDoRepositionFlags",1,["mavlink::common::MavDoRepositionFlags"]],["impl RefUnwindSafe for MavSeverity",1,["mavlink::common::MavSeverity"]],["impl RefUnwindSafe for MavOdidArmStatus",1,["mavlink::common::MavOdidArmStatus"]],["impl RefUnwindSafe for MavDataStream",1,["mavlink::common::MavDataStream"]],["impl RefUnwindSafe for MavFtpErr",1,["mavlink::common::MavFtpErr"]],["impl RefUnwindSafe for WinchActions",1,["mavlink::common::WinchActions"]],["impl RefUnwindSafe for CameraTrackingTargetData",1,["mavlink::common::CameraTrackingTargetData"]],["impl RefUnwindSafe for MavFrame",1,["mavlink::common::MavFrame"]],["impl RefUnwindSafe for MavMissionType",1,["mavlink::common::MavMissionType"]],["impl RefUnwindSafe for MavOdidOperatorIdType",1,["mavlink::common::MavOdidOperatorIdType"]],["impl RefUnwindSafe for AdsbFlags",1,["mavlink::common::AdsbFlags"]],["impl RefUnwindSafe for AdsbEmitterType",1,["mavlink::common::AdsbEmitterType"]],["impl RefUnwindSafe for OrbitYawBehaviour",1,["mavlink::common::OrbitYawBehaviour"]],["impl RefUnwindSafe for WifiConfigApMode",1,["mavlink::common::WifiConfigApMode"]],["impl RefUnwindSafe for PositionTargetTypemask",1,["mavlink::common::PositionTargetTypemask"]],["impl RefUnwindSafe for StorageStatus",1,["mavlink::common::StorageStatus"]],["impl RefUnwindSafe for AttitudeTargetTypemask",1,["mavlink::common::AttitudeTargetTypemask"]],["impl RefUnwindSafe for MavVtolState",1,["mavlink::common::MavVtolState"]],["impl RefUnwindSafe for MavProtocolCapability",1,["mavlink::common::MavProtocolCapability"]],["impl RefUnwindSafe for GimbalManagerCapFlags",1,["mavlink::common::GimbalManagerCapFlags"]],["impl RefUnwindSafe for GimbalManagerFlags",1,["mavlink::common::GimbalManagerFlags"]],["impl RefUnwindSafe for StorageType",1,["mavlink::common::StorageType"]],["impl RefUnwindSafe for MotorTestOrder",1,["mavlink::common::MotorTestOrder"]],["impl RefUnwindSafe for CellularNetworkFailedReason",1,["mavlink::common::CellularNetworkFailedReason"]],["impl RefUnwindSafe for MavSysStatusSensorExtended",1,["mavlink::common::MavSysStatusSensorExtended"]],["impl RefUnwindSafe for MavState",1,["mavlink::common::MavState"]],["impl RefUnwindSafe for ActuatorOutputFunction",1,["mavlink::common::ActuatorOutputFunction"]],["impl RefUnwindSafe for MavOdidDescType",1,["mavlink::common::MavOdidDescType"]],["impl RefUnwindSafe for MavGeneratorStatusFlag",1,["mavlink::common::MavGeneratorStatusFlag"]],["impl RefUnwindSafe for HilSensorUpdatedFlags",1,["mavlink::common::HilSensorUpdatedFlags"]],["impl RefUnwindSafe for MavEventCurrentSequenceFlags",1,["mavlink::common::MavEventCurrentSequenceFlags"]],["impl RefUnwindSafe for MavComponent",1,["mavlink::common::MavComponent"]],["impl RefUnwindSafe for AdsbAltitudeType",1,["mavlink::common::AdsbAltitudeType"]],["impl RefUnwindSafe for VideoStreamType",1,["mavlink::common::VideoStreamType"]],["impl RefUnwindSafe for AisFlags",1,["mavlink::common::AisFlags"]],["impl RefUnwindSafe for MavGoto",1,["mavlink::common::MavGoto"]],["impl RefUnwindSafe for SerialControlDev",1,["mavlink::common::SerialControlDev"]],["impl RefUnwindSafe for MavWinchStatusFlag",1,["mavlink::common::MavWinchStatusFlag"]],["impl RefUnwindSafe for FenceMitigate",1,["mavlink::common::FenceMitigate"]],["impl RefUnwindSafe for MavEstimatorType",1,["mavlink::common::MavEstimatorType"]],["impl RefUnwindSafe for MavBatteryChargeState",1,["mavlink::common::MavBatteryChargeState"]],["impl RefUnwindSafe for GpsFixType",1,["mavlink::common::GpsFixType"]],["impl RefUnwindSafe for VideoStreamStatusFlags",1,["mavlink::common::VideoStreamStatusFlags"]],["impl RefUnwindSafe for MavCollisionSrc",1,["mavlink::common::MavCollisionSrc"]],["impl RefUnwindSafe for GimbalDeviceErrorFlags",1,["mavlink::common::GimbalDeviceErrorFlags"]],["impl RefUnwindSafe for MavSensorOrientation",1,["mavlink::common::MavSensorOrientation"]],["impl RefUnwindSafe for EstimatorStatusFlags",1,["mavlink::common::EstimatorStatusFlags"]],["impl RefUnwindSafe for CameraZoomType",1,["mavlink::common::CameraZoomType"]],["impl RefUnwindSafe for MavFtpOpcode",1,["mavlink::common::MavFtpOpcode"]],["impl RefUnwindSafe for MavCmdAck",1,["mavlink::common::MavCmdAck"]],["impl RefUnwindSafe for UtmFlightState",1,["mavlink::common::UtmFlightState"]],["impl RefUnwindSafe for MissionState",1,["mavlink::common::MissionState"]],["impl RefUnwindSafe for MavArmAuthDeniedReason",1,["mavlink::common::MavArmAuthDeniedReason"]],["impl RefUnwindSafe for MavOdidUaType",1,["mavlink::common::MavOdidUaType"]],["impl RefUnwindSafe for MavOdidStatus",1,["mavlink::common::MavOdidStatus"]],["impl RefUnwindSafe for FenceAction",1,["mavlink::common::FenceAction"]],["impl RefUnwindSafe for MavDistanceSensor",1,["mavlink::common::MavDistanceSensor"]],["impl RefUnwindSafe for MavMode",1,["mavlink::common::MavMode"]],["impl RefUnwindSafe for MavOdidVerAcc",1,["mavlink::common::MavOdidVerAcc"]],["impl RefUnwindSafe for HighresImuUpdatedFlags",1,["mavlink::common::HighresImuUpdatedFlags"]],["impl RefUnwindSafe for MagCalStatus",1,["mavlink::common::MagCalStatus"]],["impl RefUnwindSafe for MavModeFlagDecodePosition",1,["mavlink::common::MavModeFlagDecodePosition"]],["impl RefUnwindSafe for PreflightStorageParameterAction",1,["mavlink::common::PreflightStorageParameterAction"]],["impl RefUnwindSafe for EscConnectionType",1,["mavlink::common::EscConnectionType"]],["impl RefUnwindSafe for MavParamType",1,["mavlink::common::MavParamType"]],["impl RefUnwindSafe for UavcanNodeHealth",1,["mavlink::common::UavcanNodeHealth"]],["impl RefUnwindSafe for MavOdidHorAcc",1,["mavlink::common::MavOdidHorAcc"]],["impl RefUnwindSafe for AisNavStatus",1,["mavlink::common::AisNavStatus"]],["impl RefUnwindSafe for MavOdidClassEu",1,["mavlink::common::MavOdidClassEu"]],["impl RefUnwindSafe for GimbalDeviceFlags",1,["mavlink::common::GimbalDeviceFlags"]],["impl RefUnwindSafe for VtolTransitionHeading",1,["mavlink::common::VtolTransitionHeading"]],["impl RefUnwindSafe for MavTunnelPayloadType",1,["mavlink::common::MavTunnelPayloadType"]],["impl RefUnwindSafe for AutotuneAxis",1,["mavlink::common::AutotuneAxis"]],["impl RefUnwindSafe for MavOdidTimeAcc",1,["mavlink::common::MavOdidTimeAcc"]],["impl RefUnwindSafe for CameraTrackingMode",1,["mavlink::common::CameraTrackingMode"]],["impl RefUnwindSafe for CellularConfigResponse",1,["mavlink::common::CellularConfigResponse"]],["impl RefUnwindSafe for GpsInputIgnoreFlags",1,["mavlink::common::GpsInputIgnoreFlags"]],["impl RefUnwindSafe for PreflightStorageMissionAction",1,["mavlink::common::PreflightStorageMissionAction"]],["impl RefUnwindSafe for SetFocusType",1,["mavlink::common::SetFocusType"]],["impl RefUnwindSafe for MavOdidIdType",1,["mavlink::common::MavOdidIdType"]],["impl RefUnwindSafe for MavPowerStatus",1,["mavlink::common::MavPowerStatus"]],["impl RefUnwindSafe for MavOdidOperatorLocationType",1,["mavlink::common::MavOdidOperatorLocationType"]],["impl RefUnwindSafe for MavOdidSpeedAcc",1,["mavlink::common::MavOdidSpeedAcc"]],["impl RefUnwindSafe for FenceBreach",1,["mavlink::common::FenceBreach"]],["impl RefUnwindSafe for AisType",1,["mavlink::common::AisType"]],["impl RefUnwindSafe for CellularStatusFlag",1,["mavlink::common::CellularStatusFlag"]],["impl RefUnwindSafe for MavBatteryFunction",1,["mavlink::common::MavBatteryFunction"]],["impl RefUnwindSafe for SerialControlFlag",1,["mavlink::common::SerialControlFlag"]],["impl RefUnwindSafe for CameraMode",1,["mavlink::common::CameraMode"]],["impl RefUnwindSafe for GimbalDeviceCapFlags",1,["mavlink::common::GimbalDeviceCapFlags"]],["impl RefUnwindSafe for MavParamExtType",1,["mavlink::common::MavParamExtType"]],["impl RefUnwindSafe for MavEventErrorReason",1,["mavlink::common::MavEventErrorReason"]],["impl RefUnwindSafe for MavBatteryType",1,["mavlink::common::MavBatteryType"]],["impl RefUnwindSafe for TuneFormat",1,["mavlink::common::TuneFormat"]],["impl RefUnwindSafe for MavlinkDataStreamType",1,["mavlink::common::MavlinkDataStreamType"]],["impl RefUnwindSafe for UavcanNodeMode",1,["mavlink::common::UavcanNodeMode"]],["impl RefUnwindSafe for MavType",1,["mavlink::common::MavType"]],["impl RefUnwindSafe for ParamAck",1,["mavlink::common::ParamAck"]],["impl RefUnwindSafe for MavOdidHeightRef",1,["mavlink::common::MavOdidHeightRef"]],["impl RefUnwindSafe for MavMountMode",1,["mavlink::common::MavMountMode"]],["impl RefUnwindSafe for MavCollisionThreatLevel",1,["mavlink::common::MavCollisionThreatLevel"]],["impl RefUnwindSafe for CellularNetworkRadioType",1,["mavlink::common::CellularNetworkRadioType"]],["impl RefUnwindSafe for MavBatteryFault",1,["mavlink::common::MavBatteryFault"]],["impl RefUnwindSafe for MavCollisionAction",1,["mavlink::common::MavCollisionAction"]],["impl RefUnwindSafe for MavMissionResult",1,["mavlink::common::MavMissionResult"]],["impl RefUnwindSafe for CanFilterOp",1,["mavlink::common::CanFilterOp"]],["impl RefUnwindSafe for MavRoi",1,["mavlink::common::MavRoi"]],["impl RefUnwindSafe for MavResult",1,["mavlink::common::MavResult"]],["impl RefUnwindSafe for FirmwareVersionType",1,["mavlink::common::FirmwareVersionType"]],["impl RefUnwindSafe for GripperActions",1,["mavlink::common::GripperActions"]],["impl RefUnwindSafe for RtkBaselineCoordinateSystem",1,["mavlink::common::RtkBaselineCoordinateSystem"]],["impl RefUnwindSafe for LandingTargetType",1,["mavlink::common::LandingTargetType"]],["impl RefUnwindSafe for ActuatorConfiguration",1,["mavlink::common::ActuatorConfiguration"]],["impl RefUnwindSafe for MavOdidCategoryEu",1,["mavlink::common::MavOdidCategoryEu"]],["impl RefUnwindSafe for PrecisionLandMode",1,["mavlink::common::PrecisionLandMode"]],["impl RefUnwindSafe for CameraCapFlags",1,["mavlink::common::CameraCapFlags"]],["impl RefUnwindSafe for CompMetadataType",1,["mavlink::common::CompMetadataType"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_DATA",1,["mavlink::common::LOCAL_POSITION_NED_DATA"]],["impl RefUnwindSafe for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_ALLOWED_AREA_DATA"]],["impl RefUnwindSafe for MISSION_ACK_DATA",1,["mavlink::common::MISSION_ACK_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE2_DATA",1,["mavlink::common::SCALED_PRESSURE2_DATA"]],["impl RefUnwindSafe for SIM_STATE_DATA",1,["mavlink::common::SIM_STATE_DATA"]],["impl RefUnwindSafe for HIGH_LATENCY2_DATA",1,["mavlink::common::HIGH_LATENCY2_DATA"]],["impl RefUnwindSafe for STATUSTEXT_DATA",1,["mavlink::common::STATUSTEXT_DATA"]],["impl RefUnwindSafe for ESTIMATOR_STATUS_DATA",1,["mavlink::common::ESTIMATOR_STATUS_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl RefUnwindSafe for ESC_INFO_DATA",1,["mavlink::common::ESC_INFO_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::common::LOCAL_POSITION_NED_COV_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_DATA",1,["mavlink::common::MISSION_ITEM_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl RefUnwindSafe for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_READ_DATA"]],["impl RefUnwindSafe for MISSION_CLEAR_ALL_DATA",1,["mavlink::common::MISSION_CLEAR_ALL_DATA"]],["impl RefUnwindSafe for TERRAIN_CHECK_DATA",1,["mavlink::common::TERRAIN_CHECK_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl RefUnwindSafe for PARAM_EXT_SET_DATA",1,["mavlink::common::PARAM_EXT_SET_DATA"]],["impl RefUnwindSafe for CAN_FRAME_DATA",1,["mavlink::common::CAN_FRAME_DATA"]],["impl RefUnwindSafe for COMPONENT_INFORMATION_DATA",1,["mavlink::common::COMPONENT_INFORMATION_DATA"]],["impl RefUnwindSafe for GPS_INJECT_DATA_DATA",1,["mavlink::common::GPS_INJECT_DATA_DATA"]],["impl RefUnwindSafe for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::common::CURRENT_EVENT_SEQUENCE_DATA"]],["impl RefUnwindSafe for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::common::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl RefUnwindSafe for FOLLOW_TARGET_DATA",1,["mavlink::common::FOLLOW_TARGET_DATA"]],["impl RefUnwindSafe for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::common::ONBOARD_COMPUTER_STATUS_DATA"]],["impl RefUnwindSafe for HIL_GPS_DATA",1,["mavlink::common::HIL_GPS_DATA"]],["impl RefUnwindSafe for CAN_FILTER_MODIFY_DATA",1,["mavlink::common::CAN_FILTER_MODIFY_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl RefUnwindSafe for LOG_DATA_DATA",1,["mavlink::common::LOG_DATA_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::common::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl RefUnwindSafe for HIGH_LATENCY_DATA",1,["mavlink::common::HIGH_LATENCY_DATA"]],["impl RefUnwindSafe for PLAY_TUNE_DATA",1,["mavlink::common::PLAY_TUNE_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_SCALED_DATA",1,["mavlink::common::RC_CHANNELS_SCALED_DATA"]],["impl RefUnwindSafe for RAW_IMU_DATA",1,["mavlink::common::RAW_IMU_DATA"]],["impl RefUnwindSafe for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl RefUnwindSafe for MOUNT_ORIENTATION_DATA",1,["mavlink::common::MOUNT_ORIENTATION_DATA"]],["impl RefUnwindSafe for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl RefUnwindSafe for EVENT_DATA",1,["mavlink::common::EVENT_DATA"]],["impl RefUnwindSafe for EFI_STATUS_DATA",1,["mavlink::common::EFI_STATUS_DATA"]],["impl RefUnwindSafe for REQUEST_EVENT_DATA",1,["mavlink::common::REQUEST_EVENT_DATA"]],["impl RefUnwindSafe for HYGROMETER_SENSOR_DATA",1,["mavlink::common::HYGROMETER_SENSOR_DATA"]],["impl RefUnwindSafe for REQUEST_DATA_STREAM_DATA",1,["mavlink::common::REQUEST_DATA_STREAM_DATA"]],["impl RefUnwindSafe for V2_EXTENSION_DATA",1,["mavlink::common::V2_EXTENSION_DATA"]],["impl RefUnwindSafe for DEBUG_VECT_DATA",1,["mavlink::common::DEBUG_VECT_DATA"]],["impl RefUnwindSafe for LOGGING_ACK_DATA",1,["mavlink::common::LOGGING_ACK_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl RefUnwindSafe for ISBD_LINK_STATUS_DATA",1,["mavlink::common::ISBD_LINK_STATUS_DATA"]],["impl RefUnwindSafe for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::common::CONTROL_SYSTEM_STATE_DATA"]],["impl RefUnwindSafe for OBSTACLE_DISTANCE_DATA",1,["mavlink::common::OBSTACLE_DISTANCE_DATA"]],["impl RefUnwindSafe for SCALED_IMU2_DATA",1,["mavlink::common::SCALED_IMU2_DATA"]],["impl RefUnwindSafe for PARAM_VALUE_DATA",1,["mavlink::common::PARAM_VALUE_DATA"]],["impl RefUnwindSafe for SERVO_OUTPUT_RAW_DATA",1,["mavlink::common::SERVO_OUTPUT_RAW_DATA"]],["impl RefUnwindSafe for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl RefUnwindSafe for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::common::GIMBAL_MANAGER_STATUS_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::common::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl RefUnwindSafe for PARAM_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for UAVCAN_NODE_STATUS_DATA",1,["mavlink::common::UAVCAN_NODE_STATUS_DATA"]],["impl RefUnwindSafe for PARAM_SET_DATA",1,["mavlink::common::PARAM_SET_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE_DATA",1,["mavlink::common::SCALED_PRESSURE_DATA"]],["impl RefUnwindSafe for SYSTEM_TIME_DATA",1,["mavlink::common::SYSTEM_TIME_DATA"]],["impl RefUnwindSafe for ENCAPSULATED_DATA_DATA",1,["mavlink::common::ENCAPSULATED_DATA_DATA"]],["impl RefUnwindSafe for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::ACTUATOR_CONTROL_TARGET_DATA"]],["impl RefUnwindSafe for SET_HOME_POSITION_DATA",1,["mavlink::common::SET_HOME_POSITION_DATA"]],["impl RefUnwindSafe for SYS_STATUS_DATA",1,["mavlink::common::SYS_STATUS_DATA"]],["impl RefUnwindSafe for TIMESYNC_DATA",1,["mavlink::common::TIMESYNC_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_END_DATA",1,["mavlink::common::LOG_REQUEST_END_DATA"]],["impl RefUnwindSafe for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl RefUnwindSafe for AUTOPILOT_VERSION_DATA",1,["mavlink::common::AUTOPILOT_VERSION_DATA"]],["impl RefUnwindSafe for MEMORY_VECT_DATA",1,["mavlink::common::MEMORY_VECT_DATA"]],["impl RefUnwindSafe for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::common::VIDEO_STREAM_INFORMATION_DATA"]],["impl RefUnwindSafe for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_DATA"]],["impl RefUnwindSafe for GPS_INPUT_DATA",1,["mavlink::common::GPS_INPUT_DATA"]],["impl RefUnwindSafe for COLLISION_DATA",1,["mavlink::common::COLLISION_DATA"]],["impl RefUnwindSafe for SCALED_IMU3_DATA",1,["mavlink::common::SCALED_IMU3_DATA"]],["impl RefUnwindSafe for CAMERA_INFORMATION_DATA",1,["mavlink::common::CAMERA_INFORMATION_DATA"]],["impl RefUnwindSafe for SET_ATTITUDE_TARGET_DATA",1,["mavlink::common::SET_ATTITUDE_TARGET_DATA"]],["impl RefUnwindSafe for PARAM_EXT_ACK_DATA",1,["mavlink::common::PARAM_EXT_ACK_DATA"]],["impl RefUnwindSafe for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::common::ORBIT_EXECUTION_STATUS_DATA"]],["impl RefUnwindSafe for SERIAL_CONTROL_DATA",1,["mavlink::common::SERIAL_CONTROL_DATA"]],["impl RefUnwindSafe for LOGGING_DATA_DATA",1,["mavlink::common::LOGGING_DATA_DATA"]],["impl RefUnwindSafe for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl RefUnwindSafe for ALTITUDE_DATA",1,["mavlink::common::ALTITUDE_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_DATA",1,["mavlink::common::RC_CHANNELS_DATA"]],["impl RefUnwindSafe for RESOURCE_REQUEST_DATA",1,["mavlink::common::RESOURCE_REQUEST_DATA"]],["impl RefUnwindSafe for COMPONENT_METADATA_DATA",1,["mavlink::common::COMPONENT_METADATA_DATA"]],["impl RefUnwindSafe for SUPPORTED_TUNES_DATA",1,["mavlink::common::SUPPORTED_TUNES_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_LOCATION_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl RefUnwindSafe for BUTTON_CHANGE_DATA",1,["mavlink::common::BUTTON_CHANGE_DATA"]],["impl RefUnwindSafe for GLOBAL_POSITION_INT_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_DATA"]],["impl RefUnwindSafe for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::common::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl RefUnwindSafe for ATTITUDE_QUATERNION_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_DATA"]],["impl RefUnwindSafe for LANDING_TARGET_DATA",1,["mavlink::common::LANDING_TARGET_DATA"]],["impl RefUnwindSafe for LOG_ENTRY_DATA",1,["mavlink::common::LOG_ENTRY_DATA"]],["impl RefUnwindSafe for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::POSITION_TARGET_LOCAL_NED_DATA"]],["impl RefUnwindSafe for SET_MODE_DATA",1,["mavlink::common::SET_MODE_DATA"]],["impl RefUnwindSafe for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::common::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl RefUnwindSafe for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::common::VICON_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for DEBUG_DATA",1,["mavlink::common::DEBUG_DATA"]],["impl RefUnwindSafe for COMMAND_INT_DATA",1,["mavlink::common::COMMAND_INT_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_LIST_DATA",1,["mavlink::common::LOG_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_COV_DATA"]],["impl RefUnwindSafe for UTM_GLOBAL_POSITION_DATA",1,["mavlink::common::UTM_GLOBAL_POSITION_DATA"]],["impl RefUnwindSafe for MISSION_SET_CURRENT_DATA",1,["mavlink::common::MISSION_SET_CURRENT_DATA"]],["impl RefUnwindSafe for AIS_VESSEL_DATA",1,["mavlink::common::AIS_VESSEL_DATA"]],["impl RefUnwindSafe for ATT_POS_MOCAP_DATA",1,["mavlink::common::ATT_POS_MOCAP_DATA"]],["impl RefUnwindSafe for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::common::HIL_RC_INPUTS_RAW_DATA"]],["impl RefUnwindSafe for LOG_REQUEST_DATA_DATA",1,["mavlink::common::LOG_REQUEST_DATA_DATA"]],["impl RefUnwindSafe for TUNNEL_DATA",1,["mavlink::common::TUNNEL_DATA"]],["impl RefUnwindSafe for NAMED_VALUE_FLOAT_DATA",1,["mavlink::common::NAMED_VALUE_FLOAT_DATA"]],["impl RefUnwindSafe for AUTH_KEY_DATA",1,["mavlink::common::AUTH_KEY_DATA"]],["impl RefUnwindSafe for TERRAIN_DATA_DATA",1,["mavlink::common::TERRAIN_DATA_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl RefUnwindSafe for CELLULAR_CONFIG_DATA",1,["mavlink::common::CELLULAR_CONFIG_DATA"]],["impl RefUnwindSafe for HEARTBEAT_DATA",1,["mavlink::common::HEARTBEAT_DATA"]],["impl RefUnwindSafe for MISSION_COUNT_DATA",1,["mavlink::common::MISSION_COUNT_DATA"]],["impl RefUnwindSafe for PING_DATA",1,["mavlink::common::PING_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl RefUnwindSafe for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_COV_DATA"]],["impl RefUnwindSafe for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::common::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl RefUnwindSafe for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::common::NAV_CONTROLLER_OUTPUT_DATA"]],["impl RefUnwindSafe for PLAY_TUNE_V2_DATA",1,["mavlink::common::PLAY_TUNE_V2_DATA"]],["impl RefUnwindSafe for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::VISION_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for STORAGE_INFORMATION_DATA",1,["mavlink::common::STORAGE_INFORMATION_DATA"]],["impl RefUnwindSafe for SETUP_SIGNING_DATA",1,["mavlink::common::SETUP_SIGNING_DATA"]],["impl RefUnwindSafe for LOGGING_DATA_ACKED_DATA",1,["mavlink::common::LOGGING_DATA_ACKED_DATA"]],["impl RefUnwindSafe for LOG_ERASE_DATA",1,["mavlink::common::LOG_ERASE_DATA"]],["impl RefUnwindSafe for GPS_RAW_INT_DATA",1,["mavlink::common::GPS_RAW_INT_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::common::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_INT_DATA",1,["mavlink::common::MISSION_ITEM_INT_DATA"]],["impl RefUnwindSafe for WINCH_STATUS_DATA",1,["mavlink::common::WINCH_STATUS_DATA"]],["impl RefUnwindSafe for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::common::FILE_TRANSFER_PROTOCOL_DATA"]],["impl RefUnwindSafe for GPS2_RAW_DATA",1,["mavlink::common::GPS2_RAW_DATA"]],["impl RefUnwindSafe for GPS_RTK_DATA",1,["mavlink::common::GPS_RTK_DATA"]],["impl RefUnwindSafe for VIBRATION_DATA",1,["mavlink::common::VIBRATION_DATA"]],["impl RefUnwindSafe for HIL_STATE_DATA",1,["mavlink::common::HIL_STATE_DATA"]],["impl RefUnwindSafe for GPS_STATUS_DATA",1,["mavlink::common::GPS_STATUS_DATA"]],["impl RefUnwindSafe for SCALED_IMU_DATA",1,["mavlink::common::SCALED_IMU_DATA"]],["impl RefUnwindSafe for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::common::HIL_ACTUATOR_CONTROLS_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_LIST_DATA"]],["impl RefUnwindSafe for PARAM_EXT_VALUE_DATA",1,["mavlink::common::PARAM_EXT_VALUE_DATA"]],["impl RefUnwindSafe for CELLULAR_STATUS_DATA",1,["mavlink::common::CELLULAR_STATUS_DATA"]],["impl RefUnwindSafe for CANFD_FRAME_DATA",1,["mavlink::common::CANFD_FRAME_DATA"]],["impl RefUnwindSafe for GPS_RTCM_DATA_DATA",1,["mavlink::common::GPS_RTCM_DATA_DATA"]],["impl RefUnwindSafe for MANUAL_CONTROL_DATA",1,["mavlink::common::MANUAL_CONTROL_DATA"]],["impl RefUnwindSafe for COMMAND_ACK_DATA",1,["mavlink::common::COMMAND_ACK_DATA"]],["impl RefUnwindSafe for RADIO_STATUS_DATA",1,["mavlink::common::RADIO_STATUS_DATA"]],["impl RefUnwindSafe for TERRAIN_REQUEST_DATA",1,["mavlink::common::TERRAIN_REQUEST_DATA"]],["impl RefUnwindSafe for VIDEO_STREAM_STATUS_DATA",1,["mavlink::common::VIDEO_STREAM_STATUS_DATA"]],["impl RefUnwindSafe for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::common::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl RefUnwindSafe for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::common::CAMERA_IMAGE_CAPTURED_DATA"]],["impl RefUnwindSafe for WHEEL_DISTANCE_DATA",1,["mavlink::common::WHEEL_DISTANCE_DATA"]],["impl RefUnwindSafe for MISSION_CURRENT_DATA",1,["mavlink::common::MISSION_CURRENT_DATA"]],["impl RefUnwindSafe for VFR_HUD_DATA",1,["mavlink::common::VFR_HUD_DATA"]],["impl RefUnwindSafe for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl RefUnwindSafe for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl RefUnwindSafe for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::common::VISION_SPEED_ESTIMATE_DATA"]],["impl RefUnwindSafe for BATTERY_STATUS_DATA",1,["mavlink::common::BATTERY_STATUS_DATA"]],["impl RefUnwindSafe for FENCE_STATUS_DATA",1,["mavlink::common::FENCE_STATUS_DATA"]],["impl RefUnwindSafe for PROTOCOL_VERSION_DATA",1,["mavlink::common::PROTOCOL_VERSION_DATA"]],["impl RefUnwindSafe for RAW_PRESSURE_DATA",1,["mavlink::common::RAW_PRESSURE_DATA"]],["impl RefUnwindSafe for SCALED_PRESSURE3_DATA",1,["mavlink::common::SCALED_PRESSURE3_DATA"]],["impl RefUnwindSafe for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::GPS_GLOBAL_ORIGIN_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl RefUnwindSafe for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl RefUnwindSafe for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::common::RESPONSE_EVENT_ERROR_DATA"]],["impl RefUnwindSafe for LINK_NODE_STATUS_DATA",1,["mavlink::common::LINK_NODE_STATUS_DATA"]],["impl RefUnwindSafe for DATA_STREAM_DATA",1,["mavlink::common::DATA_STREAM_DATA"]],["impl RefUnwindSafe for HIL_SENSOR_DATA",1,["mavlink::common::HIL_SENSOR_DATA"]],["impl RefUnwindSafe for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::common::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl RefUnwindSafe for WIND_COV_DATA",1,["mavlink::common::WIND_COV_DATA"]],["impl RefUnwindSafe for OPTICAL_FLOW_RAD_DATA",1,["mavlink::common::OPTICAL_FLOW_RAD_DATA"]],["impl RefUnwindSafe for TERRAIN_REPORT_DATA",1,["mavlink::common::TERRAIN_REPORT_DATA"]],["impl RefUnwindSafe for PARAM_MAP_RC_DATA",1,["mavlink::common::PARAM_MAP_RC_DATA"]],["impl RefUnwindSafe for CAMERA_TRIGGER_DATA",1,["mavlink::common::CAMERA_TRIGGER_DATA"]],["impl RefUnwindSafe for NAMED_VALUE_INT_DATA",1,["mavlink::common::NAMED_VALUE_INT_DATA"]],["impl RefUnwindSafe for CAMERA_SETTINGS_DATA",1,["mavlink::common::CAMERA_SETTINGS_DATA"]],["impl RefUnwindSafe for WIFI_CONFIG_AP_DATA",1,["mavlink::common::WIFI_CONFIG_AP_DATA"]],["impl RefUnwindSafe for HIGHRES_IMU_DATA",1,["mavlink::common::HIGHRES_IMU_DATA"]],["impl RefUnwindSafe for FLIGHT_INFORMATION_DATA",1,["mavlink::common::FLIGHT_INFORMATION_DATA"]],["impl RefUnwindSafe for MAG_CAL_REPORT_DATA",1,["mavlink::common::MAG_CAL_REPORT_DATA"]],["impl RefUnwindSafe for ATTITUDE_DATA",1,["mavlink::common::ATTITUDE_DATA"]],["impl RefUnwindSafe for MISSION_ITEM_REACHED_DATA",1,["mavlink::common::MISSION_ITEM_REACHED_DATA"]],["impl RefUnwindSafe for POWER_STATUS_DATA",1,["mavlink::common::POWER_STATUS_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_INT_DATA",1,["mavlink::common::MISSION_REQUEST_INT_DATA"]],["impl RefUnwindSafe for SMART_BATTERY_INFO_DATA",1,["mavlink::common::SMART_BATTERY_INFO_DATA"]],["impl RefUnwindSafe for PARAM_REQUEST_READ_DATA",1,["mavlink::common::PARAM_REQUEST_READ_DATA"]],["impl RefUnwindSafe for COMMAND_LONG_DATA",1,["mavlink::common::COMMAND_LONG_DATA"]],["impl RefUnwindSafe for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl RefUnwindSafe for OPTICAL_FLOW_DATA",1,["mavlink::common::OPTICAL_FLOW_DATA"]],["impl RefUnwindSafe for HIL_CONTROLS_DATA",1,["mavlink::common::HIL_CONTROLS_DATA"]],["impl RefUnwindSafe for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::common::CAMERA_CAPTURE_STATUS_DATA"]],["impl RefUnwindSafe for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl RefUnwindSafe for COMMAND_CANCEL_DATA",1,["mavlink::common::COMMAND_CANCEL_DATA"]],["impl RefUnwindSafe for ODOMETRY_DATA",1,["mavlink::common::ODOMETRY_DATA"]],["impl RefUnwindSafe for ADSB_VEHICLE_DATA",1,["mavlink::common::ADSB_VEHICLE_DATA"]],["impl RefUnwindSafe for MESSAGE_INTERVAL_DATA",1,["mavlink::common::MESSAGE_INTERVAL_DATA"]],["impl RefUnwindSafe for DISTANCE_SENSOR_DATA",1,["mavlink::common::DISTANCE_SENSOR_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_RAW_DATA",1,["mavlink::common::RC_CHANNELS_RAW_DATA"]],["impl RefUnwindSafe for HOME_POSITION_DATA",1,["mavlink::common::HOME_POSITION_DATA"]],["impl RefUnwindSafe for MISSION_REQUEST_DATA",1,["mavlink::common::MISSION_REQUEST_DATA"]],["impl RefUnwindSafe for HIL_STATE_QUATERNION_DATA",1,["mavlink::common::HIL_STATE_QUATERNION_DATA"]],["impl RefUnwindSafe for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::common::RC_CHANNELS_OVERRIDE_DATA"]],["impl RefUnwindSafe for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl RefUnwindSafe for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::common::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl RefUnwindSafe for EXTENDED_SYS_STATE_DATA",1,["mavlink::common::EXTENDED_SYS_STATE_DATA"]],["impl RefUnwindSafe for ATTITUDE_TARGET_DATA",1,["mavlink::common::ATTITUDE_TARGET_DATA"]],["impl RefUnwindSafe for MANUAL_SETPOINT_DATA",1,["mavlink::common::MANUAL_SETPOINT_DATA"]],["impl RefUnwindSafe for UAVCAN_NODE_INFO_DATA",1,["mavlink::common::UAVCAN_NODE_INFO_DATA"]],["impl RefUnwindSafe for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl RefUnwindSafe for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl RefUnwindSafe for RAW_RPM_DATA",1,["mavlink::common::RAW_RPM_DATA"]],["impl RefUnwindSafe for GPS2_RTK_DATA",1,["mavlink::common::GPS2_RTK_DATA"]],["impl RefUnwindSafe for HIL_OPTICAL_FLOW_DATA",1,["mavlink::common::HIL_OPTICAL_FLOW_DATA"]],["impl RefUnwindSafe for CAMERA_FOV_STATUS_DATA",1,["mavlink::common::CAMERA_FOV_STATUS_DATA"]],["impl RefUnwindSafe for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::common::DEBUG_FLOAT_ARRAY_DATA"]],["impl RefUnwindSafe for GENERATOR_STATUS_DATA",1,["mavlink::common::GENERATOR_STATUS_DATA"]],["impl RefUnwindSafe for ESC_STATUS_DATA",1,["mavlink::common::ESC_STATUS_DATA"]],["impl RefUnwindSafe for MavMessage",1,["mavlink::common::MavMessage"]],["impl<'a> RefUnwindSafe for Bytes<'a>",1,["mavlink::bytes::Bytes"]],["impl<'a> RefUnwindSafe for BytesMut<'a>",1,["mavlink::bytes_mut::BytesMut"]],["impl RefUnwindSafe for ParserError",1,["mavlink::error::ParserError"]],["impl !RefUnwindSafe for MessageReadError",1,["mavlink::error::MessageReadError"]],["impl !RefUnwindSafe for MessageWriteError",1,["mavlink::error::MessageWriteError"]],["impl RefUnwindSafe for MavHeader",1,["mavlink::MavHeader"]],["impl RefUnwindSafe for MavlinkVersion",1,["mavlink::MavlinkVersion"]],["impl<M> RefUnwindSafe for MavFrame<M>where\n M: RefUnwindSafe,",1,["mavlink::MavFrame"]],["impl RefUnwindSafe for MAVLinkV1MessageRaw",1,["mavlink::MAVLinkV1MessageRaw"]],["impl RefUnwindSafe for MAVLinkV2MessageRaw",1,["mavlink::MAVLinkV2MessageRaw"]]], "num_traits":[["impl RefUnwindSafe for FloatErrorKind",1,["num_traits::FloatErrorKind"]],["impl RefUnwindSafe for ParseFloatError",1,["num_traits::ParseFloatError"]]], "proc_macro2":[["impl RefUnwindSafe for DelimSpan",1,["proc_macro2::extra::DelimSpan"]],["impl RefUnwindSafe for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl RefUnwindSafe for TokenStream",1,["proc_macro2::TokenStream"]],["impl RefUnwindSafe for LexError",1,["proc_macro2::LexError"]],["impl RefUnwindSafe for Span",1,["proc_macro2::Span"]],["impl RefUnwindSafe for TokenTree",1,["proc_macro2::TokenTree"]],["impl RefUnwindSafe for Group",1,["proc_macro2::Group"]],["impl RefUnwindSafe for Delimiter",1,["proc_macro2::Delimiter"]],["impl RefUnwindSafe for Punct",1,["proc_macro2::Punct"]],["impl RefUnwindSafe for Spacing",1,["proc_macro2::Spacing"]],["impl RefUnwindSafe for Ident",1,["proc_macro2::Ident"]],["impl RefUnwindSafe for Literal",1,["proc_macro2::Literal"]]], "serde":[["impl RefUnwindSafe for Error",1,["serde::de::value::Error"]],["impl<E> RefUnwindSafe for UnitDeserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::UnitDeserializer"]],["impl<E> RefUnwindSafe for BoolDeserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::BoolDeserializer"]],["impl<E> RefUnwindSafe for I8Deserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::I8Deserializer"]],["impl<E> RefUnwindSafe for I16Deserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::I16Deserializer"]],["impl<E> RefUnwindSafe for I32Deserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::I32Deserializer"]],["impl<E> RefUnwindSafe for I64Deserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::I64Deserializer"]],["impl<E> RefUnwindSafe for I128Deserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::I128Deserializer"]],["impl<E> RefUnwindSafe for IsizeDeserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::IsizeDeserializer"]],["impl<E> RefUnwindSafe for U8Deserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::U8Deserializer"]],["impl<E> RefUnwindSafe for U16Deserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::U16Deserializer"]],["impl<E> RefUnwindSafe for U64Deserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::U64Deserializer"]],["impl<E> RefUnwindSafe for U128Deserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::U128Deserializer"]],["impl<E> RefUnwindSafe for UsizeDeserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::UsizeDeserializer"]],["impl<E> RefUnwindSafe for F32Deserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::F32Deserializer"]],["impl<E> RefUnwindSafe for F64Deserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::F64Deserializer"]],["impl<E> RefUnwindSafe for CharDeserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::CharDeserializer"]],["impl<E> RefUnwindSafe for U32Deserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::U32Deserializer"]],["impl<'a, E> RefUnwindSafe for StrDeserializer<'a, E>where\n E: RefUnwindSafe,",1,["serde::de::value::StrDeserializer"]],["impl<'de, E> RefUnwindSafe for BorrowedStrDeserializer<'de, E>where\n E: RefUnwindSafe,",1,["serde::de::value::BorrowedStrDeserializer"]],["impl<E> RefUnwindSafe for StringDeserializer<E>where\n E: RefUnwindSafe,",1,["serde::de::value::StringDeserializer"]],["impl<'a, E> RefUnwindSafe for CowStrDeserializer<'a, E>where\n E: RefUnwindSafe,",1,["serde::de::value::CowStrDeserializer"]],["impl<'a, E> RefUnwindSafe for BytesDeserializer<'a, E>where\n E: RefUnwindSafe,",1,["serde::de::value::BytesDeserializer"]],["impl<'de, E> RefUnwindSafe for BorrowedBytesDeserializer<'de, E>where\n E: RefUnwindSafe,",1,["serde::de::value::BorrowedBytesDeserializer"]],["impl<I, E> RefUnwindSafe for SeqDeserializer<I, E>where\n E: RefUnwindSafe,\n I: RefUnwindSafe,",1,["serde::de::value::SeqDeserializer"]],["impl<A> RefUnwindSafe for SeqAccessDeserializer<A>where\n A: RefUnwindSafe,",1,["serde::de::value::SeqAccessDeserializer"]],["impl<'de, I, E> RefUnwindSafe for MapDeserializer<'de, I, E>where\n E: RefUnwindSafe,\n I: RefUnwindSafe,\n <<I as Iterator>::Item as Pair>::Second: RefUnwindSafe,",1,["serde::de::value::MapDeserializer"]],["impl<A> RefUnwindSafe for MapAccessDeserializer<A>where\n A: RefUnwindSafe,",1,["serde::de::value::MapAccessDeserializer"]],["impl<A> RefUnwindSafe for EnumAccessDeserializer<A>where\n A: RefUnwindSafe,",1,["serde::de::value::EnumAccessDeserializer"]],["impl RefUnwindSafe for IgnoredAny",1,["serde::de::ignored_any::IgnoredAny"]],["impl<'a> RefUnwindSafe for Unexpected<'a>",1,["serde::de::Unexpected"]],["impl<Ok, Error> RefUnwindSafe for Impossible<Ok, Error>where\n Error: RefUnwindSafe,\n Ok: RefUnwindSafe,",1,["serde::ser::impossible::Impossible"]]], diff --git a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index b0d557a1d2..8d5654125c 100644 --- a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -2,7 +2,7 @@ "byteorder":[["impl UnwindSafe for BigEndian",1,["byteorder::BigEndian"]],["impl UnwindSafe for LittleEndian",1,["byteorder::LittleEndian"]]], "crc_any":[["impl UnwindSafe for CRCu16",1,["crc_any::crc_u16::CRCu16"]],["impl UnwindSafe for CRCu32",1,["crc_any::crc_u32::CRCu32"]],["impl UnwindSafe for CRCu64",1,["crc_any::crc_u64::CRCu64"]],["impl UnwindSafe for CRCu8",1,["crc_any::crc_u8::CRCu8"]],["impl UnwindSafe for CRC",1,["crc_any::CRC"]]], "libc":[["impl UnwindSafe for statvfs",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::not_x32::statvfs"]],["impl UnwindSafe for max_align_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::align::max_align_t"]],["impl UnwindSafe for clone_args",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::align::clone_args"]],["impl UnwindSafe for sigaction",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::sigaction"]],["impl UnwindSafe for statfs",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statfs"]],["impl UnwindSafe for flock",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::flock"]],["impl UnwindSafe for flock64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::flock64"]],["impl UnwindSafe for siginfo_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::siginfo_t"]],["impl UnwindSafe for stack_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stack_t"]],["impl UnwindSafe for stat",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stat"]],["impl UnwindSafe for stat64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::stat64"]],["impl UnwindSafe for statfs64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statfs64"]],["impl UnwindSafe for statvfs64",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::statvfs64"]],["impl UnwindSafe for pthread_attr_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::pthread_attr_t"]],["impl UnwindSafe for _libc_fpxreg",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_fpxreg"]],["impl UnwindSafe for _libc_xmmreg",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_xmmreg"]],["impl UnwindSafe for _libc_fpstate",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::_libc_fpstate"]],["impl UnwindSafe for user_regs_struct",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user_regs_struct"]],["impl UnwindSafe for user",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user"]],["impl UnwindSafe for mcontext_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::mcontext_t"]],["impl UnwindSafe for ipc_perm",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ipc_perm"]],["impl UnwindSafe for shmid_ds",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::shmid_ds"]],["impl UnwindSafe for seccomp_notif_sizes",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::seccomp_notif_sizes"]],["impl UnwindSafe for ptrace_rseq_configuration",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ptrace_rseq_configuration"]],["impl UnwindSafe for user_fpregs_struct",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::user_fpregs_struct"]],["impl UnwindSafe for ucontext_t",1,["libc::unix::linux_like::linux::gnu::b64::x86_64::ucontext_t"]],["impl UnwindSafe for sigset_t",1,["libc::unix::linux_like::linux::gnu::b64::sigset_t"]],["impl UnwindSafe for sysinfo",1,["libc::unix::linux_like::linux::gnu::b64::sysinfo"]],["impl UnwindSafe for msqid_ds",1,["libc::unix::linux_like::linux::gnu::b64::msqid_ds"]],["impl UnwindSafe for semid_ds",1,["libc::unix::linux_like::linux::gnu::b64::semid_ds"]],["impl UnwindSafe for sem_t",1,["libc::unix::linux_like::linux::gnu::align::sem_t"]],["impl UnwindSafe for statx",1,["libc::unix::linux_like::linux::gnu::statx"]],["impl UnwindSafe for statx_timestamp",1,["libc::unix::linux_like::linux::gnu::statx_timestamp"]],["impl UnwindSafe for aiocb",1,["libc::unix::linux_like::linux::gnu::aiocb"]],["impl UnwindSafe for __exit_status",1,["libc::unix::linux_like::linux::gnu::__exit_status"]],["impl UnwindSafe for __timeval",1,["libc::unix::linux_like::linux::gnu::__timeval"]],["impl UnwindSafe for glob64_t",1,["libc::unix::linux_like::linux::gnu::glob64_t"]],["impl UnwindSafe for msghdr",1,["libc::unix::linux_like::linux::gnu::msghdr"]],["impl UnwindSafe for cmsghdr",1,["libc::unix::linux_like::linux::gnu::cmsghdr"]],["impl UnwindSafe for termios",1,["libc::unix::linux_like::linux::gnu::termios"]],["impl UnwindSafe for mallinfo",1,["libc::unix::linux_like::linux::gnu::mallinfo"]],["impl UnwindSafe for mallinfo2",1,["libc::unix::linux_like::linux::gnu::mallinfo2"]],["impl UnwindSafe for nl_pktinfo",1,["libc::unix::linux_like::linux::gnu::nl_pktinfo"]],["impl UnwindSafe for nl_mmap_req",1,["libc::unix::linux_like::linux::gnu::nl_mmap_req"]],["impl UnwindSafe for nl_mmap_hdr",1,["libc::unix::linux_like::linux::gnu::nl_mmap_hdr"]],["impl UnwindSafe for rtentry",1,["libc::unix::linux_like::linux::gnu::rtentry"]],["impl UnwindSafe for timex",1,["libc::unix::linux_like::linux::gnu::timex"]],["impl UnwindSafe for ntptimeval",1,["libc::unix::linux_like::linux::gnu::ntptimeval"]],["impl UnwindSafe for regex_t",1,["libc::unix::linux_like::linux::gnu::regex_t"]],["impl UnwindSafe for Elf64_Chdr",1,["libc::unix::linux_like::linux::gnu::Elf64_Chdr"]],["impl UnwindSafe for Elf32_Chdr",1,["libc::unix::linux_like::linux::gnu::Elf32_Chdr"]],["impl UnwindSafe for seminfo",1,["libc::unix::linux_like::linux::gnu::seminfo"]],["impl UnwindSafe for ptrace_peeksiginfo_args",1,["libc::unix::linux_like::linux::gnu::ptrace_peeksiginfo_args"]],["impl UnwindSafe for __c_anonymous_ptrace_syscall_info_entry",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_entry"]],["impl UnwindSafe for __c_anonymous_ptrace_syscall_info_exit",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_exit"]],["impl UnwindSafe for __c_anonymous_ptrace_syscall_info_seccomp",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_seccomp"]],["impl UnwindSafe for ptrace_syscall_info",1,["libc::unix::linux_like::linux::gnu::ptrace_syscall_info"]],["impl UnwindSafe for sockaddr_xdp",1,["libc::unix::linux_like::linux::gnu::sockaddr_xdp"]],["impl UnwindSafe for xdp_ring_offset",1,["libc::unix::linux_like::linux::gnu::xdp_ring_offset"]],["impl UnwindSafe for xdp_mmap_offsets",1,["libc::unix::linux_like::linux::gnu::xdp_mmap_offsets"]],["impl UnwindSafe for xdp_ring_offset_v1",1,["libc::unix::linux_like::linux::gnu::xdp_ring_offset_v1"]],["impl UnwindSafe for xdp_mmap_offsets_v1",1,["libc::unix::linux_like::linux::gnu::xdp_mmap_offsets_v1"]],["impl UnwindSafe for xdp_umem_reg",1,["libc::unix::linux_like::linux::gnu::xdp_umem_reg"]],["impl UnwindSafe for xdp_umem_reg_v1",1,["libc::unix::linux_like::linux::gnu::xdp_umem_reg_v1"]],["impl UnwindSafe for xdp_statistics",1,["libc::unix::linux_like::linux::gnu::xdp_statistics"]],["impl UnwindSafe for xdp_statistics_v1",1,["libc::unix::linux_like::linux::gnu::xdp_statistics_v1"]],["impl UnwindSafe for xdp_options",1,["libc::unix::linux_like::linux::gnu::xdp_options"]],["impl UnwindSafe for xdp_desc",1,["libc::unix::linux_like::linux::gnu::xdp_desc"]],["impl UnwindSafe for __c_anonymous_ptrace_syscall_info_data",1,["libc::unix::linux_like::linux::gnu::__c_anonymous_ptrace_syscall_info_data"]],["impl UnwindSafe for utmpx",1,["libc::unix::linux_like::linux::gnu::utmpx"]],["impl UnwindSafe for termios2",1,["libc::unix::linux_like::linux::arch::generic::termios2"]],["impl UnwindSafe for open_how",1,["libc::unix::linux_like::linux::non_exhaustive::open_how"]],["impl UnwindSafe for fpos64_t",1,["libc::unix::linux_like::linux::fpos64_t"]],["impl UnwindSafe for glob_t",1,["libc::unix::linux_like::linux::glob_t"]],["impl UnwindSafe for passwd",1,["libc::unix::linux_like::linux::passwd"]],["impl UnwindSafe for spwd",1,["libc::unix::linux_like::linux::spwd"]],["impl UnwindSafe for dqblk",1,["libc::unix::linux_like::linux::dqblk"]],["impl UnwindSafe for signalfd_siginfo",1,["libc::unix::linux_like::linux::signalfd_siginfo"]],["impl UnwindSafe for itimerspec",1,["libc::unix::linux_like::linux::itimerspec"]],["impl UnwindSafe for fsid_t",1,["libc::unix::linux_like::linux::fsid_t"]],["impl UnwindSafe for packet_mreq",1,["libc::unix::linux_like::linux::packet_mreq"]],["impl UnwindSafe for cpu_set_t",1,["libc::unix::linux_like::linux::cpu_set_t"]],["impl UnwindSafe for if_nameindex",1,["libc::unix::linux_like::linux::if_nameindex"]],["impl UnwindSafe for msginfo",1,["libc::unix::linux_like::linux::msginfo"]],["impl UnwindSafe for sembuf",1,["libc::unix::linux_like::linux::sembuf"]],["impl UnwindSafe for input_event",1,["libc::unix::linux_like::linux::input_event"]],["impl UnwindSafe for input_id",1,["libc::unix::linux_like::linux::input_id"]],["impl UnwindSafe for input_absinfo",1,["libc::unix::linux_like::linux::input_absinfo"]],["impl UnwindSafe for input_keymap_entry",1,["libc::unix::linux_like::linux::input_keymap_entry"]],["impl UnwindSafe for input_mask",1,["libc::unix::linux_like::linux::input_mask"]],["impl UnwindSafe for ff_replay",1,["libc::unix::linux_like::linux::ff_replay"]],["impl UnwindSafe for ff_trigger",1,["libc::unix::linux_like::linux::ff_trigger"]],["impl UnwindSafe for ff_envelope",1,["libc::unix::linux_like::linux::ff_envelope"]],["impl UnwindSafe for ff_constant_effect",1,["libc::unix::linux_like::linux::ff_constant_effect"]],["impl UnwindSafe for ff_ramp_effect",1,["libc::unix::linux_like::linux::ff_ramp_effect"]],["impl UnwindSafe for ff_condition_effect",1,["libc::unix::linux_like::linux::ff_condition_effect"]],["impl UnwindSafe for ff_periodic_effect",1,["libc::unix::linux_like::linux::ff_periodic_effect"]],["impl UnwindSafe for ff_rumble_effect",1,["libc::unix::linux_like::linux::ff_rumble_effect"]],["impl UnwindSafe for ff_effect",1,["libc::unix::linux_like::linux::ff_effect"]],["impl UnwindSafe for uinput_ff_upload",1,["libc::unix::linux_like::linux::uinput_ff_upload"]],["impl UnwindSafe for uinput_ff_erase",1,["libc::unix::linux_like::linux::uinput_ff_erase"]],["impl UnwindSafe for uinput_abs_setup",1,["libc::unix::linux_like::linux::uinput_abs_setup"]],["impl UnwindSafe for dl_phdr_info",1,["libc::unix::linux_like::linux::dl_phdr_info"]],["impl UnwindSafe for Elf32_Ehdr",1,["libc::unix::linux_like::linux::Elf32_Ehdr"]],["impl UnwindSafe for Elf64_Ehdr",1,["libc::unix::linux_like::linux::Elf64_Ehdr"]],["impl UnwindSafe for Elf32_Sym",1,["libc::unix::linux_like::linux::Elf32_Sym"]],["impl UnwindSafe for Elf64_Sym",1,["libc::unix::linux_like::linux::Elf64_Sym"]],["impl UnwindSafe for Elf32_Phdr",1,["libc::unix::linux_like::linux::Elf32_Phdr"]],["impl UnwindSafe for Elf64_Phdr",1,["libc::unix::linux_like::linux::Elf64_Phdr"]],["impl UnwindSafe for Elf32_Shdr",1,["libc::unix::linux_like::linux::Elf32_Shdr"]],["impl UnwindSafe for Elf64_Shdr",1,["libc::unix::linux_like::linux::Elf64_Shdr"]],["impl UnwindSafe for ucred",1,["libc::unix::linux_like::linux::ucred"]],["impl UnwindSafe for mntent",1,["libc::unix::linux_like::linux::mntent"]],["impl UnwindSafe for posix_spawn_file_actions_t",1,["libc::unix::linux_like::linux::posix_spawn_file_actions_t"]],["impl UnwindSafe for posix_spawnattr_t",1,["libc::unix::linux_like::linux::posix_spawnattr_t"]],["impl UnwindSafe for genlmsghdr",1,["libc::unix::linux_like::linux::genlmsghdr"]],["impl UnwindSafe for in6_pktinfo",1,["libc::unix::linux_like::linux::in6_pktinfo"]],["impl UnwindSafe for arpd_request",1,["libc::unix::linux_like::linux::arpd_request"]],["impl UnwindSafe for inotify_event",1,["libc::unix::linux_like::linux::inotify_event"]],["impl UnwindSafe for fanotify_response",1,["libc::unix::linux_like::linux::fanotify_response"]],["impl UnwindSafe for sockaddr_vm",1,["libc::unix::linux_like::linux::sockaddr_vm"]],["impl UnwindSafe for regmatch_t",1,["libc::unix::linux_like::linux::regmatch_t"]],["impl UnwindSafe for sock_extended_err",1,["libc::unix::linux_like::linux::sock_extended_err"]],["impl UnwindSafe for __c_anonymous_sockaddr_can_tp",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_tp"]],["impl UnwindSafe for __c_anonymous_sockaddr_can_j1939",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_j1939"]],["impl UnwindSafe for can_filter",1,["libc::unix::linux_like::linux::can_filter"]],["impl UnwindSafe for j1939_filter",1,["libc::unix::linux_like::linux::j1939_filter"]],["impl UnwindSafe for sock_filter",1,["libc::unix::linux_like::linux::sock_filter"]],["impl UnwindSafe for sock_fprog",1,["libc::unix::linux_like::linux::sock_fprog"]],["impl UnwindSafe for seccomp_data",1,["libc::unix::linux_like::linux::seccomp_data"]],["impl UnwindSafe for nlmsghdr",1,["libc::unix::linux_like::linux::nlmsghdr"]],["impl UnwindSafe for nlmsgerr",1,["libc::unix::linux_like::linux::nlmsgerr"]],["impl UnwindSafe for nlattr",1,["libc::unix::linux_like::linux::nlattr"]],["impl UnwindSafe for file_clone_range",1,["libc::unix::linux_like::linux::file_clone_range"]],["impl UnwindSafe for __c_anonymous_ifru_map",1,["libc::unix::linux_like::linux::__c_anonymous_ifru_map"]],["impl UnwindSafe for in6_ifreq",1,["libc::unix::linux_like::linux::in6_ifreq"]],["impl UnwindSafe for option",1,["libc::unix::linux_like::linux::option"]],["impl UnwindSafe for sctp_initmsg",1,["libc::unix::linux_like::linux::sctp_initmsg"]],["impl UnwindSafe for sctp_sndrcvinfo",1,["libc::unix::linux_like::linux::sctp_sndrcvinfo"]],["impl UnwindSafe for sctp_sndinfo",1,["libc::unix::linux_like::linux::sctp_sndinfo"]],["impl UnwindSafe for sctp_rcvinfo",1,["libc::unix::linux_like::linux::sctp_rcvinfo"]],["impl UnwindSafe for sctp_nxtinfo",1,["libc::unix::linux_like::linux::sctp_nxtinfo"]],["impl UnwindSafe for sctp_prinfo",1,["libc::unix::linux_like::linux::sctp_prinfo"]],["impl UnwindSafe for sctp_authinfo",1,["libc::unix::linux_like::linux::sctp_authinfo"]],["impl UnwindSafe for rlimit64",1,["libc::unix::linux_like::linux::rlimit64"]],["impl UnwindSafe for tls_crypto_info",1,["libc::unix::linux_like::linux::tls_crypto_info"]],["impl UnwindSafe for tls12_crypto_info_aes_gcm_128",1,["libc::unix::linux_like::linux::tls12_crypto_info_aes_gcm_128"]],["impl UnwindSafe for tls12_crypto_info_aes_gcm_256",1,["libc::unix::linux_like::linux::tls12_crypto_info_aes_gcm_256"]],["impl UnwindSafe for tls12_crypto_info_chacha20_poly1305",1,["libc::unix::linux_like::linux::tls12_crypto_info_chacha20_poly1305"]],["impl UnwindSafe for sockaddr_nl",1,["libc::unix::linux_like::linux::sockaddr_nl"]],["impl UnwindSafe for dirent",1,["libc::unix::linux_like::linux::dirent"]],["impl UnwindSafe for sockaddr_alg",1,["libc::unix::linux_like::linux::sockaddr_alg"]],["impl UnwindSafe for uinput_setup",1,["libc::unix::linux_like::linux::uinput_setup"]],["impl UnwindSafe for uinput_user_dev",1,["libc::unix::linux_like::linux::uinput_user_dev"]],["impl UnwindSafe for af_alg_iv",1,["libc::unix::linux_like::linux::af_alg_iv"]],["impl UnwindSafe for mq_attr",1,["libc::unix::linux_like::linux::mq_attr"]],["impl UnwindSafe for __c_anonymous_ifr_ifru",1,["libc::unix::linux_like::linux::__c_anonymous_ifr_ifru"]],["impl UnwindSafe for ifreq",1,["libc::unix::linux_like::linux::ifreq"]],["impl UnwindSafe for __c_anonymous_ifc_ifcu",1,["libc::unix::linux_like::linux::__c_anonymous_ifc_ifcu"]],["impl UnwindSafe for ifconf",1,["libc::unix::linux_like::linux::ifconf"]],["impl UnwindSafe for hwtstamp_config",1,["libc::unix::linux_like::linux::hwtstamp_config"]],["impl UnwindSafe for dirent64",1,["libc::unix::linux_like::linux::dirent64"]],["impl UnwindSafe for sock_txtime",1,["libc::unix::linux_like::linux::sock_txtime"]],["impl UnwindSafe for __c_anonymous_sockaddr_can_can_addr",1,["libc::unix::linux_like::linux::__c_anonymous_sockaddr_can_can_addr"]],["impl UnwindSafe for sockaddr_can",1,["libc::unix::linux_like::linux::sockaddr_can"]],["impl UnwindSafe for pthread_mutexattr_t",1,["libc::unix::linux_like::linux::pthread_mutexattr_t"]],["impl UnwindSafe for pthread_rwlockattr_t",1,["libc::unix::linux_like::linux::pthread_rwlockattr_t"]],["impl UnwindSafe for pthread_condattr_t",1,["libc::unix::linux_like::linux::pthread_condattr_t"]],["impl UnwindSafe for pthread_barrierattr_t",1,["libc::unix::linux_like::linux::pthread_barrierattr_t"]],["impl UnwindSafe for fanotify_event_metadata",1,["libc::unix::linux_like::linux::fanotify_event_metadata"]],["impl UnwindSafe for pthread_cond_t",1,["libc::unix::linux_like::linux::pthread_cond_t"]],["impl UnwindSafe for pthread_mutex_t",1,["libc::unix::linux_like::linux::pthread_mutex_t"]],["impl UnwindSafe for pthread_rwlock_t",1,["libc::unix::linux_like::linux::pthread_rwlock_t"]],["impl UnwindSafe for pthread_barrier_t",1,["libc::unix::linux_like::linux::pthread_barrier_t"]],["impl UnwindSafe for can_frame",1,["libc::unix::linux_like::linux::can_frame"]],["impl UnwindSafe for canfd_frame",1,["libc::unix::linux_like::linux::canfd_frame"]],["impl UnwindSafe for canxl_frame",1,["libc::unix::linux_like::linux::canxl_frame"]],["impl UnwindSafe for timezone",1,["libc::unix::linux_like::timezone"]],["impl UnwindSafe for in_addr",1,["libc::unix::linux_like::in_addr"]],["impl UnwindSafe for ip_mreq",1,["libc::unix::linux_like::ip_mreq"]],["impl UnwindSafe for ip_mreqn",1,["libc::unix::linux_like::ip_mreqn"]],["impl UnwindSafe for ip_mreq_source",1,["libc::unix::linux_like::ip_mreq_source"]],["impl UnwindSafe for sockaddr",1,["libc::unix::linux_like::sockaddr"]],["impl UnwindSafe for sockaddr_in",1,["libc::unix::linux_like::sockaddr_in"]],["impl UnwindSafe for sockaddr_in6",1,["libc::unix::linux_like::sockaddr_in6"]],["impl UnwindSafe for addrinfo",1,["libc::unix::linux_like::addrinfo"]],["impl UnwindSafe for sockaddr_ll",1,["libc::unix::linux_like::sockaddr_ll"]],["impl UnwindSafe for fd_set",1,["libc::unix::linux_like::fd_set"]],["impl UnwindSafe for tm",1,["libc::unix::linux_like::tm"]],["impl UnwindSafe for sched_param",1,["libc::unix::linux_like::sched_param"]],["impl UnwindSafe for Dl_info",1,["libc::unix::linux_like::Dl_info"]],["impl UnwindSafe for lconv",1,["libc::unix::linux_like::lconv"]],["impl UnwindSafe for in_pktinfo",1,["libc::unix::linux_like::in_pktinfo"]],["impl UnwindSafe for ifaddrs",1,["libc::unix::linux_like::ifaddrs"]],["impl UnwindSafe for in6_rtmsg",1,["libc::unix::linux_like::in6_rtmsg"]],["impl UnwindSafe for arpreq",1,["libc::unix::linux_like::arpreq"]],["impl UnwindSafe for arpreq_old",1,["libc::unix::linux_like::arpreq_old"]],["impl UnwindSafe for arphdr",1,["libc::unix::linux_like::arphdr"]],["impl UnwindSafe for mmsghdr",1,["libc::unix::linux_like::mmsghdr"]],["impl UnwindSafe for epoll_event",1,["libc::unix::linux_like::epoll_event"]],["impl UnwindSafe for sockaddr_un",1,["libc::unix::linux_like::sockaddr_un"]],["impl UnwindSafe for sockaddr_storage",1,["libc::unix::linux_like::sockaddr_storage"]],["impl UnwindSafe for utsname",1,["libc::unix::linux_like::utsname"]],["impl UnwindSafe for sigevent",1,["libc::unix::linux_like::sigevent"]],["impl UnwindSafe for in6_addr",1,["libc::unix::align::in6_addr"]],["impl UnwindSafe for DIR",1,["libc::unix::DIR"]],["impl UnwindSafe for group",1,["libc::unix::group"]],["impl UnwindSafe for utimbuf",1,["libc::unix::utimbuf"]],["impl UnwindSafe for timeval",1,["libc::unix::timeval"]],["impl UnwindSafe for timespec",1,["libc::unix::timespec"]],["impl UnwindSafe for rlimit",1,["libc::unix::rlimit"]],["impl UnwindSafe for rusage",1,["libc::unix::rusage"]],["impl UnwindSafe for ipv6_mreq",1,["libc::unix::ipv6_mreq"]],["impl UnwindSafe for hostent",1,["libc::unix::hostent"]],["impl UnwindSafe for iovec",1,["libc::unix::iovec"]],["impl UnwindSafe for pollfd",1,["libc::unix::pollfd"]],["impl UnwindSafe for winsize",1,["libc::unix::winsize"]],["impl UnwindSafe for linger",1,["libc::unix::linger"]],["impl UnwindSafe for sigval",1,["libc::unix::sigval"]],["impl UnwindSafe for itimerval",1,["libc::unix::itimerval"]],["impl UnwindSafe for tms",1,["libc::unix::tms"]],["impl UnwindSafe for servent",1,["libc::unix::servent"]],["impl UnwindSafe for protoent",1,["libc::unix::protoent"]],["impl UnwindSafe for FILE",1,["libc::unix::FILE"]],["impl UnwindSafe for fpos_t",1,["libc::unix::fpos_t"]]], -"mavlink":[["impl UnwindSafe for IcarousFmsState",1,["mavlink::icarous::IcarousFmsState"]],["impl UnwindSafe for IcarousTrackBandTypes",1,["mavlink::icarous::IcarousTrackBandTypes"]],["impl UnwindSafe for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::icarous::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl UnwindSafe for ICAROUS_HEARTBEAT_DATA",1,["mavlink::icarous::ICAROUS_HEARTBEAT_DATA"]],["impl UnwindSafe for MavMessage",1,["mavlink::icarous::MavMessage"]],["impl UnwindSafe for WinchActions",1,["mavlink::ardupilotmega::WinchActions"]],["impl UnwindSafe for AisNavStatus",1,["mavlink::ardupilotmega::AisNavStatus"]],["impl UnwindSafe for IcarousFmsState",1,["mavlink::ardupilotmega::IcarousFmsState"]],["impl UnwindSafe for SetFocusType",1,["mavlink::ardupilotmega::SetFocusType"]],["impl UnwindSafe for MavOdidIdType",1,["mavlink::ardupilotmega::MavOdidIdType"]],["impl UnwindSafe for NavVtolLandOptions",1,["mavlink::ardupilotmega::NavVtolLandOptions"]],["impl UnwindSafe for VtolTransitionHeading",1,["mavlink::ardupilotmega::VtolTransitionHeading"]],["impl UnwindSafe for GoproResolution",1,["mavlink::ardupilotmega::GoproResolution"]],["impl UnwindSafe for CameraFeedbackFlags",1,["mavlink::ardupilotmega::CameraFeedbackFlags"]],["impl UnwindSafe for PrecisionLandMode",1,["mavlink::ardupilotmega::PrecisionLandMode"]],["impl UnwindSafe for UavcanNodeHealth",1,["mavlink::ardupilotmega::UavcanNodeHealth"]],["impl UnwindSafe for GoproProtuneSharpness",1,["mavlink::ardupilotmega::GoproProtuneSharpness"]],["impl UnwindSafe for CellularStatusFlag",1,["mavlink::ardupilotmega::CellularStatusFlag"]],["impl UnwindSafe for MavComponent",1,["mavlink::ardupilotmega::MavComponent"]],["impl UnwindSafe for GoproFrameRate",1,["mavlink::ardupilotmega::GoproFrameRate"]],["impl UnwindSafe for GoproBurstRate",1,["mavlink::ardupilotmega::GoproBurstRate"]],["impl UnwindSafe for FailureUnit",1,["mavlink::ardupilotmega::FailureUnit"]],["impl UnwindSafe for MavPowerStatus",1,["mavlink::ardupilotmega::MavPowerStatus"]],["impl UnwindSafe for MavOdidDescType",1,["mavlink::ardupilotmega::MavOdidDescType"]],["impl UnwindSafe for UavionixAdsbEmergencyStatus",1,["mavlink::ardupilotmega::UavionixAdsbEmergencyStatus"]],["impl UnwindSafe for MavType",1,["mavlink::ardupilotmega::MavType"]],["impl UnwindSafe for MavFrame",1,["mavlink::ardupilotmega::MavFrame"]],["impl UnwindSafe for MavModeFlagDecodePosition",1,["mavlink::ardupilotmega::MavModeFlagDecodePosition"]],["impl UnwindSafe for MavDataStream",1,["mavlink::ardupilotmega::MavDataStream"]],["impl UnwindSafe for MavDoRepositionFlags",1,["mavlink::ardupilotmega::MavDoRepositionFlags"]],["impl UnwindSafe for MavEstimatorType",1,["mavlink::ardupilotmega::MavEstimatorType"]],["impl UnwindSafe for MavBatteryType",1,["mavlink::ardupilotmega::MavBatteryType"]],["impl UnwindSafe for HlFailureFlag",1,["mavlink::ardupilotmega::HlFailureFlag"]],["impl UnwindSafe for GimbalManagerFlags",1,["mavlink::ardupilotmega::GimbalManagerFlags"]],["impl UnwindSafe for LedControlPattern",1,["mavlink::ardupilotmega::LedControlPattern"]],["impl UnwindSafe for PreflightStorageParameterAction",1,["mavlink::ardupilotmega::PreflightStorageParameterAction"]],["impl UnwindSafe for TuneFormat",1,["mavlink::ardupilotmega::TuneFormat"]],["impl UnwindSafe for MavOdidOperatorLocationType",1,["mavlink::ardupilotmega::MavOdidOperatorLocationType"]],["impl UnwindSafe for PlaneMode",1,["mavlink::ardupilotmega::PlaneMode"]],["impl UnwindSafe for ParamAck",1,["mavlink::ardupilotmega::ParamAck"]],["impl UnwindSafe for AutotuneAxis",1,["mavlink::ardupilotmega::AutotuneAxis"]],["impl UnwindSafe for MagCalStatus",1,["mavlink::ardupilotmega::MagCalStatus"]],["impl UnwindSafe for AisFlags",1,["mavlink::ardupilotmega::AisFlags"]],["impl UnwindSafe for MavEventErrorReason",1,["mavlink::ardupilotmega::MavEventErrorReason"]],["impl UnwindSafe for StorageType",1,["mavlink::ardupilotmega::StorageType"]],["impl UnwindSafe for CopterMode",1,["mavlink::ardupilotmega::CopterMode"]],["impl UnwindSafe for CameraStatusTypes",1,["mavlink::ardupilotmega::CameraStatusTypes"]],["impl UnwindSafe for MavRoi",1,["mavlink::ardupilotmega::MavRoi"]],["impl UnwindSafe for ActuatorOutputFunction",1,["mavlink::ardupilotmega::ActuatorOutputFunction"]],["impl UnwindSafe for MavMissionType",1,["mavlink::ardupilotmega::MavMissionType"]],["impl UnwindSafe for CanFilterOp",1,["mavlink::ardupilotmega::CanFilterOp"]],["impl UnwindSafe for PositionTargetTypemask",1,["mavlink::ardupilotmega::PositionTargetTypemask"]],["impl UnwindSafe for GimbalDeviceFlags",1,["mavlink::ardupilotmega::GimbalDeviceFlags"]],["impl UnwindSafe for MavState",1,["mavlink::ardupilotmega::MavState"]],["impl UnwindSafe for MavBatteryMode",1,["mavlink::ardupilotmega::MavBatteryMode"]],["impl UnwindSafe for MavOdidSpeedAcc",1,["mavlink::ardupilotmega::MavOdidSpeedAcc"]],["impl UnwindSafe for UavionixAdsbOutDynamicState",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicState"]],["impl UnwindSafe for GimbalAxisCalibrationStatus",1,["mavlink::ardupilotmega::GimbalAxisCalibrationStatus"]],["impl UnwindSafe for GoproRequestStatus",1,["mavlink::ardupilotmega::GoproRequestStatus"]],["impl UnwindSafe for MavCmdDoAuxFunctionSwitchLevel",1,["mavlink::ardupilotmega::MavCmdDoAuxFunctionSwitchLevel"]],["impl UnwindSafe for DeviceOpBustype",1,["mavlink::ardupilotmega::DeviceOpBustype"]],["impl UnwindSafe for HilSensorUpdatedFlags",1,["mavlink::ardupilotmega::HilSensorUpdatedFlags"]],["impl UnwindSafe for ParachuteAction",1,["mavlink::ardupilotmega::ParachuteAction"]],["impl UnwindSafe for MavCollisionSrc",1,["mavlink::ardupilotmega::MavCollisionSrc"]],["impl UnwindSafe for WifiConfigApResponse",1,["mavlink::ardupilotmega::WifiConfigApResponse"]],["impl UnwindSafe for PreflightStorageMissionAction",1,["mavlink::ardupilotmega::PreflightStorageMissionAction"]],["impl UnwindSafe for UtmFlightState",1,["mavlink::ardupilotmega::UtmFlightState"]],["impl UnwindSafe for AdsbEmitterType",1,["mavlink::ardupilotmega::AdsbEmitterType"]],["impl UnwindSafe for SerialControlDev",1,["mavlink::ardupilotmega::SerialControlDev"]],["impl UnwindSafe for MavModeFlag",1,["mavlink::ardupilotmega::MavModeFlag"]],["impl UnwindSafe for CameraTrackingTargetData",1,["mavlink::ardupilotmega::CameraTrackingTargetData"]],["impl UnwindSafe for OrbitYawBehaviour",1,["mavlink::ardupilotmega::OrbitYawBehaviour"]],["impl UnwindSafe for FenceAction",1,["mavlink::ardupilotmega::FenceAction"]],["impl UnwindSafe for CellularNetworkRadioType",1,["mavlink::ardupilotmega::CellularNetworkRadioType"]],["impl UnwindSafe for MavLandedState",1,["mavlink::ardupilotmega::MavLandedState"]],["impl UnwindSafe for MavBatteryChargeState",1,["mavlink::ardupilotmega::MavBatteryChargeState"]],["impl UnwindSafe for MavModeGimbal",1,["mavlink::ardupilotmega::MavModeGimbal"]],["impl UnwindSafe for MavCollisionAction",1,["mavlink::ardupilotmega::MavCollisionAction"]],["impl UnwindSafe for UavionixAdsbOutRfSelect",1,["mavlink::ardupilotmega::UavionixAdsbOutRfSelect"]],["impl UnwindSafe for MavParamType",1,["mavlink::ardupilotmega::MavParamType"]],["impl UnwindSafe for MavOdidClassEu",1,["mavlink::ardupilotmega::MavOdidClassEu"]],["impl UnwindSafe for MavOdidStatus",1,["mavlink::ardupilotmega::MavOdidStatus"]],["impl UnwindSafe for GoproPhotoResolution",1,["mavlink::ardupilotmega::GoproPhotoResolution"]],["impl UnwindSafe for MavMissionResult",1,["mavlink::ardupilotmega::MavMissionResult"]],["impl UnwindSafe for GimbalManagerCapFlags",1,["mavlink::ardupilotmega::GimbalManagerCapFlags"]],["impl UnwindSafe for SerialControlFlag",1,["mavlink::ardupilotmega::SerialControlFlag"]],["impl UnwindSafe for VideoStreamStatusFlags",1,["mavlink::ardupilotmega::VideoStreamStatusFlags"]],["impl UnwindSafe for GripperActions",1,["mavlink::ardupilotmega::GripperActions"]],["impl UnwindSafe for CameraZoomType",1,["mavlink::ardupilotmega::CameraZoomType"]],["impl UnwindSafe for MavFtpOpcode",1,["mavlink::ardupilotmega::MavFtpOpcode"]],["impl UnwindSafe for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLon"]],["impl UnwindSafe for AdsbAltitudeType",1,["mavlink::ardupilotmega::AdsbAltitudeType"]],["impl UnwindSafe for AccelcalVehiclePos",1,["mavlink::ardupilotmega::AccelcalVehiclePos"]],["impl UnwindSafe for MavGoto",1,["mavlink::ardupilotmega::MavGoto"]],["impl UnwindSafe for GimbalAxisCalibrationRequired",1,["mavlink::ardupilotmega::GimbalAxisCalibrationRequired"]],["impl UnwindSafe for RoverMode",1,["mavlink::ardupilotmega::RoverMode"]],["impl UnwindSafe for UavionixAdsbOutCfgAircraftSize",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgAircraftSize"]],["impl UnwindSafe for CameraTrackingMode",1,["mavlink::ardupilotmega::CameraTrackingMode"]],["impl UnwindSafe for CellularConfigResponse",1,["mavlink::ardupilotmega::CellularConfigResponse"]],["impl UnwindSafe for MavOdidCategoryEu",1,["mavlink::ardupilotmega::MavOdidCategoryEu"]],["impl UnwindSafe for EscFailureFlags",1,["mavlink::ardupilotmega::EscFailureFlags"]],["impl UnwindSafe for MavCmd",1,["mavlink::ardupilotmega::MavCmd"]],["impl UnwindSafe for MavProtocolCapability",1,["mavlink::ardupilotmega::MavProtocolCapability"]],["impl UnwindSafe for ActuatorConfiguration",1,["mavlink::ardupilotmega::ActuatorConfiguration"]],["impl UnwindSafe for MavSensorOrientation",1,["mavlink::ardupilotmega::MavSensorOrientation"]],["impl UnwindSafe for MavCmdAck",1,["mavlink::ardupilotmega::MavCmdAck"]],["impl UnwindSafe for MavVtolState",1,["mavlink::ardupilotmega::MavVtolState"]],["impl UnwindSafe for GoproCommand",1,["mavlink::ardupilotmega::GoproCommand"]],["impl UnwindSafe for LimitModule",1,["mavlink::ardupilotmega::LimitModule"]],["impl UnwindSafe for FailureType",1,["mavlink::ardupilotmega::FailureType"]],["impl UnwindSafe for FenceBreach",1,["mavlink::ardupilotmega::FenceBreach"]],["impl UnwindSafe for MavResult",1,["mavlink::ardupilotmega::MavResult"]],["impl UnwindSafe for MavArmAuthDeniedReason",1,["mavlink::ardupilotmega::MavArmAuthDeniedReason"]],["impl UnwindSafe for MissionState",1,["mavlink::ardupilotmega::MissionState"]],["impl UnwindSafe for RallyFlags",1,["mavlink::ardupilotmega::RallyFlags"]],["impl UnwindSafe for GoproHeartbeatFlags",1,["mavlink::ardupilotmega::GoproHeartbeatFlags"]],["impl UnwindSafe for MavBatteryFunction",1,["mavlink::ardupilotmega::MavBatteryFunction"]],["impl UnwindSafe for MavlinkDataStreamType",1,["mavlink::ardupilotmega::MavlinkDataStreamType"]],["impl UnwindSafe for AttitudeTargetTypemask",1,["mavlink::ardupilotmega::AttitudeTargetTypemask"]],["impl UnwindSafe for AisType",1,["mavlink::ardupilotmega::AisType"]],["impl UnwindSafe for LimitsState",1,["mavlink::ardupilotmega::LimitsState"]],["impl UnwindSafe for MavMode",1,["mavlink::ardupilotmega::MavMode"]],["impl UnwindSafe for MavOdidClassificationType",1,["mavlink::ardupilotmega::MavOdidClassificationType"]],["impl UnwindSafe for FenceMitigate",1,["mavlink::ardupilotmega::FenceMitigate"]],["impl UnwindSafe for MavOdidOperatorIdType",1,["mavlink::ardupilotmega::MavOdidOperatorIdType"]],["impl UnwindSafe for GoproCaptureMode",1,["mavlink::ardupilotmega::GoproCaptureMode"]],["impl UnwindSafe for CompMetadataType",1,["mavlink::ardupilotmega::CompMetadataType"]],["impl UnwindSafe for GoproHeartbeatStatus",1,["mavlink::ardupilotmega::GoproHeartbeatStatus"]],["impl UnwindSafe for CameraCapFlags",1,["mavlink::ardupilotmega::CameraCapFlags"]],["impl UnwindSafe for GoproProtuneExposure",1,["mavlink::ardupilotmega::GoproProtuneExposure"]],["impl UnwindSafe for MavRemoteLogDataBlockCommands",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockCommands"]],["impl UnwindSafe for MavRemoteLogDataBlockStatuses",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockStatuses"]],["impl UnwindSafe for DeepstallStage",1,["mavlink::ardupilotmega::DeepstallStage"]],["impl UnwindSafe for OsdParamConfigError",1,["mavlink::ardupilotmega::OsdParamConfigError"]],["impl UnwindSafe for MavAutopilot",1,["mavlink::ardupilotmega::MavAutopilot"]],["impl UnwindSafe for MavCollisionThreatLevel",1,["mavlink::ardupilotmega::MavCollisionThreatLevel"]],["impl UnwindSafe for MavDistanceSensor",1,["mavlink::ardupilotmega::MavDistanceSensor"]],["impl UnwindSafe for FirmwareVersionType",1,["mavlink::ardupilotmega::FirmwareVersionType"]],["impl UnwindSafe for MavWinchStatusFlag",1,["mavlink::ardupilotmega::MavWinchStatusFlag"]],["impl UnwindSafe for UtmDataAvailFlags",1,["mavlink::ardupilotmega::UtmDataAvailFlags"]],["impl UnwindSafe for MavOdidHorAcc",1,["mavlink::ardupilotmega::MavOdidHorAcc"]],["impl UnwindSafe for MavOdidTimeAcc",1,["mavlink::ardupilotmega::MavOdidTimeAcc"]],["impl UnwindSafe for MavGeneratorStatusFlag",1,["mavlink::ardupilotmega::MavGeneratorStatusFlag"]],["impl UnwindSafe for MavOdidUaType",1,["mavlink::ardupilotmega::MavOdidUaType"]],["impl UnwindSafe for StorageUsageFlag",1,["mavlink::ardupilotmega::StorageUsageFlag"]],["impl UnwindSafe for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLat"]],["impl UnwindSafe for StorageStatus",1,["mavlink::ardupilotmega::StorageStatus"]],["impl UnwindSafe for EkfStatusFlags",1,["mavlink::ardupilotmega::EkfStatusFlags"]],["impl UnwindSafe for HighresImuUpdatedFlags",1,["mavlink::ardupilotmega::HighresImuUpdatedFlags"]],["impl UnwindSafe for IcarousTrackBandTypes",1,["mavlink::ardupilotmega::IcarousTrackBandTypes"]],["impl UnwindSafe for CameraMode",1,["mavlink::ardupilotmega::CameraMode"]],["impl UnwindSafe for PidTuningAxis",1,["mavlink::ardupilotmega::PidTuningAxis"]],["impl UnwindSafe for RcType",1,["mavlink::ardupilotmega::RcType"]],["impl UnwindSafe for GpsInputIgnoreFlags",1,["mavlink::ardupilotmega::GpsInputIgnoreFlags"]],["impl UnwindSafe for RtkBaselineCoordinateSystem",1,["mavlink::ardupilotmega::RtkBaselineCoordinateSystem"]],["impl UnwindSafe for EscConnectionType",1,["mavlink::ardupilotmega::EscConnectionType"]],["impl UnwindSafe for CameraTrackingStatusFlags",1,["mavlink::ardupilotmega::CameraTrackingStatusFlags"]],["impl UnwindSafe for MavBatteryFault",1,["mavlink::ardupilotmega::MavBatteryFault"]],["impl UnwindSafe for GimbalDeviceErrorFlags",1,["mavlink::ardupilotmega::GimbalDeviceErrorFlags"]],["impl UnwindSafe for WifiConfigApMode",1,["mavlink::ardupilotmega::WifiConfigApMode"]],["impl UnwindSafe for MavMountMode",1,["mavlink::ardupilotmega::MavMountMode"]],["impl UnwindSafe for MavSysStatusSensor",1,["mavlink::ardupilotmega::MavSysStatusSensor"]],["impl UnwindSafe for MavSeverity",1,["mavlink::ardupilotmega::MavSeverity"]],["impl UnwindSafe for GoproCharging",1,["mavlink::ardupilotmega::GoproCharging"]],["impl UnwindSafe for MavSysStatusSensorExtended",1,["mavlink::ardupilotmega::MavSysStatusSensorExtended"]],["impl UnwindSafe for SubMode",1,["mavlink::ardupilotmega::SubMode"]],["impl UnwindSafe for MavTunnelPayloadType",1,["mavlink::ardupilotmega::MavTunnelPayloadType"]],["impl UnwindSafe for MavParamExtType",1,["mavlink::ardupilotmega::MavParamExtType"]],["impl UnwindSafe for GpsFixType",1,["mavlink::ardupilotmega::GpsFixType"]],["impl UnwindSafe for AdsbFlags",1,["mavlink::ardupilotmega::AdsbFlags"]],["impl UnwindSafe for GoproFieldOfView",1,["mavlink::ardupilotmega::GoproFieldOfView"]],["impl UnwindSafe for TrackerMode",1,["mavlink::ardupilotmega::TrackerMode"]],["impl UnwindSafe for GimbalDeviceCapFlags",1,["mavlink::ardupilotmega::GimbalDeviceCapFlags"]],["impl UnwindSafe for UavcanNodeMode",1,["mavlink::ardupilotmega::UavcanNodeMode"]],["impl UnwindSafe for EstimatorStatusFlags",1,["mavlink::ardupilotmega::EstimatorStatusFlags"]],["impl UnwindSafe for MavOdidVerAcc",1,["mavlink::ardupilotmega::MavOdidVerAcc"]],["impl UnwindSafe for GimbalAxis",1,["mavlink::ardupilotmega::GimbalAxis"]],["impl UnwindSafe for LandingTargetType",1,["mavlink::ardupilotmega::LandingTargetType"]],["impl UnwindSafe for MavEventCurrentSequenceFlags",1,["mavlink::ardupilotmega::MavEventCurrentSequenceFlags"]],["impl UnwindSafe for MotorTestOrder",1,["mavlink::ardupilotmega::MotorTestOrder"]],["impl UnwindSafe for VideoStreamType",1,["mavlink::ardupilotmega::VideoStreamType"]],["impl UnwindSafe for GoproProtuneGain",1,["mavlink::ardupilotmega::GoproProtuneGain"]],["impl UnwindSafe for MavFtpErr",1,["mavlink::ardupilotmega::MavFtpErr"]],["impl UnwindSafe for MotorTestThrottleType",1,["mavlink::ardupilotmega::MotorTestThrottleType"]],["impl UnwindSafe for UavionixAdsbOutDynamicGpsFix",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicGpsFix"]],["impl UnwindSafe for GoproVideoSettingsFlags",1,["mavlink::ardupilotmega::GoproVideoSettingsFlags"]],["impl UnwindSafe for MavOdidArmStatus",1,["mavlink::ardupilotmega::MavOdidArmStatus"]],["impl UnwindSafe for HeadingType",1,["mavlink::ardupilotmega::HeadingType"]],["impl UnwindSafe for GoproModel",1,["mavlink::ardupilotmega::GoproModel"]],["impl UnwindSafe for MavOdidAuthType",1,["mavlink::ardupilotmega::MavOdidAuthType"]],["impl UnwindSafe for GoproProtuneWhiteBalance",1,["mavlink::ardupilotmega::GoproProtuneWhiteBalance"]],["impl UnwindSafe for UavionixAdsbRfHealth",1,["mavlink::ardupilotmega::UavionixAdsbRfHealth"]],["impl UnwindSafe for SpeedType",1,["mavlink::ardupilotmega::SpeedType"]],["impl UnwindSafe for OsdParamConfigType",1,["mavlink::ardupilotmega::OsdParamConfigType"]],["impl UnwindSafe for MavOdidHeightRef",1,["mavlink::ardupilotmega::MavOdidHeightRef"]],["impl UnwindSafe for GoproProtuneColour",1,["mavlink::ardupilotmega::GoproProtuneColour"]],["impl UnwindSafe for CellularNetworkFailedReason",1,["mavlink::ardupilotmega::CellularNetworkFailedReason"]],["impl UnwindSafe for ScriptingCmd",1,["mavlink::ardupilotmega::ScriptingCmd"]],["impl UnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl UnwindSafe for COMPONENT_INFORMATION_DATA",1,["mavlink::ardupilotmega::COMPONENT_INFORMATION_DATA"]],["impl UnwindSafe for OSD_PARAM_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_DATA"]],["impl UnwindSafe for MISSION_ITEM_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_DATA"]],["impl UnwindSafe for RADIO_STATUS_DATA",1,["mavlink::ardupilotmega::RADIO_STATUS_DATA"]],["impl UnwindSafe for FLIGHT_INFORMATION_DATA",1,["mavlink::ardupilotmega::FLIGHT_INFORMATION_DATA"]],["impl UnwindSafe for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::ardupilotmega::HIL_RC_INPUTS_RAW_DATA"]],["impl UnwindSafe for VIBRATION_DATA",1,["mavlink::ardupilotmega::VIBRATION_DATA"]],["impl UnwindSafe for BATTERY_STATUS_DATA",1,["mavlink::ardupilotmega::BATTERY_STATUS_DATA"]],["impl UnwindSafe for WIND_COV_DATA",1,["mavlink::ardupilotmega::WIND_COV_DATA"]],["impl UnwindSafe for CAMERA_INFORMATION_DATA",1,["mavlink::ardupilotmega::CAMERA_INFORMATION_DATA"]],["impl UnwindSafe for RAW_IMU_DATA",1,["mavlink::ardupilotmega::RAW_IMU_DATA"]],["impl UnwindSafe for GPS_RTK_DATA",1,["mavlink::ardupilotmega::GPS_RTK_DATA"]],["impl UnwindSafe for RAW_RPM_DATA",1,["mavlink::ardupilotmega::RAW_RPM_DATA"]],["impl UnwindSafe for TERRAIN_CHECK_DATA",1,["mavlink::ardupilotmega::TERRAIN_CHECK_DATA"]],["impl UnwindSafe for REQUEST_EVENT_DATA",1,["mavlink::ardupilotmega::REQUEST_EVENT_DATA"]],["impl UnwindSafe for REQUEST_DATA_STREAM_DATA",1,["mavlink::ardupilotmega::REQUEST_DATA_STREAM_DATA"]],["impl UnwindSafe for HWSTATUS_DATA",1,["mavlink::ardupilotmega::HWSTATUS_DATA"]],["impl UnwindSafe for FOLLOW_TARGET_DATA",1,["mavlink::ardupilotmega::FOLLOW_TARGET_DATA"]],["impl UnwindSafe for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_COV_DATA"]],["impl UnwindSafe for UAVCAN_NODE_INFO_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_INFO_DATA"]],["impl UnwindSafe for AOA_SSA_DATA",1,["mavlink::ardupilotmega::AOA_SSA_DATA"]],["impl UnwindSafe for ISBD_LINK_STATUS_DATA",1,["mavlink::ardupilotmega::ISBD_LINK_STATUS_DATA"]],["impl UnwindSafe for LED_CONTROL_DATA",1,["mavlink::ardupilotmega::LED_CONTROL_DATA"]],["impl UnwindSafe for WIFI_CONFIG_AP_DATA",1,["mavlink::ardupilotmega::WIFI_CONFIG_AP_DATA"]],["impl UnwindSafe for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl UnwindSafe for EKF_STATUS_REPORT_DATA",1,["mavlink::ardupilotmega::EKF_STATUS_REPORT_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl UnwindSafe for GIMBAL_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_REPORT_DATA"]],["impl UnwindSafe for SYS_STATUS_DATA",1,["mavlink::ardupilotmega::SYS_STATUS_DATA"]],["impl UnwindSafe for MAG_CAL_PROGRESS_DATA",1,["mavlink::ardupilotmega::MAG_CAL_PROGRESS_DATA"]],["impl UnwindSafe for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::ardupilotmega::FILE_TRANSFER_PROTOCOL_DATA"]],["impl UnwindSafe for PID_TUNING_DATA",1,["mavlink::ardupilotmega::PID_TUNING_DATA"]],["impl UnwindSafe for HIL_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_CONTROLS_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl UnwindSafe for CAN_FRAME_DATA",1,["mavlink::ardupilotmega::CAN_FRAME_DATA"]],["impl UnwindSafe for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl UnwindSafe for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_COV_DATA"]],["impl UnwindSafe for SET_MAG_OFFSETS_DATA",1,["mavlink::ardupilotmega::SET_MAG_OFFSETS_DATA"]],["impl UnwindSafe for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_SPEED_ESTIMATE_DATA"]],["impl UnwindSafe for MOUNT_CONTROL_DATA",1,["mavlink::ardupilotmega::MOUNT_CONTROL_DATA"]],["impl UnwindSafe for DEEPSTALL_DATA",1,["mavlink::ardupilotmega::DEEPSTALL_DATA"]],["impl UnwindSafe for PARAM_EXT_ACK_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_ACK_DATA"]],["impl UnwindSafe for COLLISION_DATA",1,["mavlink::ardupilotmega::COLLISION_DATA"]],["impl UnwindSafe for GIMBAL_TORQUE_CMD_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_TORQUE_CMD_REPORT_DATA"]],["impl UnwindSafe for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::GPS_GLOBAL_ORIGIN_DATA"]],["impl UnwindSafe for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl UnwindSafe for EFI_STATUS_DATA",1,["mavlink::ardupilotmega::EFI_STATUS_DATA"]],["impl UnwindSafe for HIL_STATE_DATA",1,["mavlink::ardupilotmega::HIL_STATE_DATA"]],["impl UnwindSafe for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::ardupilotmega::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl UnwindSafe for MCU_STATUS_DATA",1,["mavlink::ardupilotmega::MCU_STATUS_DATA"]],["impl UnwindSafe for PARAM_MAP_RC_DATA",1,["mavlink::ardupilotmega::PARAM_MAP_RC_DATA"]],["impl UnwindSafe for HEARTBEAT_DATA",1,["mavlink::ardupilotmega::HEARTBEAT_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl UnwindSafe for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::ardupilotmega::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl UnwindSafe for ODOMETRY_DATA",1,["mavlink::ardupilotmega::ODOMETRY_DATA"]],["impl UnwindSafe for DISTANCE_SENSOR_DATA",1,["mavlink::ardupilotmega::DISTANCE_SENSOR_DATA"]],["impl UnwindSafe for OSD_PARAM_SHOW_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_REPLY_DATA"]],["impl UnwindSafe for GOPRO_SET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_REQUEST_DATA"]],["impl UnwindSafe for ESC_INFO_DATA",1,["mavlink::ardupilotmega::ESC_INFO_DATA"]],["impl UnwindSafe for MANUAL_SETPOINT_DATA",1,["mavlink::ardupilotmega::MANUAL_SETPOINT_DATA"]],["impl UnwindSafe for LOG_DATA_DATA",1,["mavlink::ardupilotmega::LOG_DATA_DATA"]],["impl UnwindSafe for CAMERA_FEEDBACK_DATA",1,["mavlink::ardupilotmega::CAMERA_FEEDBACK_DATA"]],["impl UnwindSafe for FENCE_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_POINT_DATA"]],["impl UnwindSafe for SUPPORTED_TUNES_DATA",1,["mavlink::ardupilotmega::SUPPORTED_TUNES_DATA"]],["impl UnwindSafe for LOGGING_ACK_DATA",1,["mavlink::ardupilotmega::LOGGING_ACK_DATA"]],["impl UnwindSafe for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for AHRS_DATA",1,["mavlink::ardupilotmega::AHRS_DATA"]],["impl UnwindSafe for MESSAGE_INTERVAL_DATA",1,["mavlink::ardupilotmega::MESSAGE_INTERVAL_DATA"]],["impl UnwindSafe for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_OVERRIDE_DATA"]],["impl UnwindSafe for LOG_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_LIST_DATA"]],["impl UnwindSafe for RESOURCE_REQUEST_DATA",1,["mavlink::ardupilotmega::RESOURCE_REQUEST_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl UnwindSafe for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::ardupilotmega::ONBOARD_COMPUTER_STATUS_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_DATA"]],["impl UnwindSafe for DIGICAM_CONFIGURE_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONFIGURE_DATA"]],["impl UnwindSafe for ESC_TELEMETRY_9_TO_12_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_9_TO_12_DATA"]],["impl UnwindSafe for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl UnwindSafe for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_LOCAL_NED_DATA"]],["impl UnwindSafe for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_ALLOWED_AREA_DATA"]],["impl UnwindSafe for COMMAND_INT_DATA",1,["mavlink::ardupilotmega::COMMAND_INT_DATA"]],["impl UnwindSafe for GOPRO_GET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_REQUEST_DATA"]],["impl UnwindSafe for CAN_FILTER_MODIFY_DATA",1,["mavlink::ardupilotmega::CAN_FILTER_MODIFY_DATA"]],["impl UnwindSafe for STATUSTEXT_DATA",1,["mavlink::ardupilotmega::STATUSTEXT_DATA"]],["impl UnwindSafe for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::ardupilotmega::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl UnwindSafe for MISSION_ITEM_INT_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_INT_DATA"]],["impl UnwindSafe for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"]],["impl UnwindSafe for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl UnwindSafe for MISSION_REQUEST_INT_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_INT_DATA"]],["impl UnwindSafe for STORAGE_INFORMATION_DATA",1,["mavlink::ardupilotmega::STORAGE_INFORMATION_DATA"]],["impl UnwindSafe for UTM_GLOBAL_POSITION_DATA",1,["mavlink::ardupilotmega::UTM_GLOBAL_POSITION_DATA"]],["impl UnwindSafe for MEMINFO_DATA",1,["mavlink::ardupilotmega::MEMINFO_DATA"]],["impl UnwindSafe for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for GPS2_RAW_DATA",1,["mavlink::ardupilotmega::GPS2_RAW_DATA"]],["impl UnwindSafe for RALLY_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_POINT_DATA"]],["impl UnwindSafe for AP_ADC_DATA",1,["mavlink::ardupilotmega::AP_ADC_DATA"]],["impl UnwindSafe for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::ACTUATOR_CONTROL_TARGET_DATA"]],["impl UnwindSafe for LOGGING_DATA_ACKED_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_ACKED_DATA"]],["impl UnwindSafe for RC_CHANNELS_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_DATA"]],["impl UnwindSafe for NAMED_VALUE_INT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_INT_DATA"]],["impl UnwindSafe for LINK_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::LINK_NODE_STATUS_DATA"]],["impl UnwindSafe for NAMED_VALUE_FLOAT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_FLOAT_DATA"]],["impl UnwindSafe for SERVO_OUTPUT_RAW_DATA",1,["mavlink::ardupilotmega::SERVO_OUTPUT_RAW_DATA"]],["impl UnwindSafe for CELLULAR_STATUS_DATA",1,["mavlink::ardupilotmega::CELLULAR_STATUS_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_LOCATION_DATA"]],["impl UnwindSafe for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::ardupilotmega::DEBUG_FLOAT_ARRAY_DATA"]],["impl UnwindSafe for POWER_STATUS_DATA",1,["mavlink::ardupilotmega::POWER_STATUS_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl UnwindSafe for BUTTON_CHANGE_DATA",1,["mavlink::ardupilotmega::BUTTON_CHANGE_DATA"]],["impl UnwindSafe for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::ardupilotmega::CURRENT_EVENT_SEQUENCE_DATA"]],["impl UnwindSafe for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_READ_DATA"]],["impl UnwindSafe for MOUNT_STATUS_DATA",1,["mavlink::ardupilotmega::MOUNT_STATUS_DATA"]],["impl UnwindSafe for MISSION_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_CURRENT_DATA"]],["impl UnwindSafe for DEBUG_VECT_DATA",1,["mavlink::ardupilotmega::DEBUG_VECT_DATA"]],["impl UnwindSafe for CAMERA_FOV_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_FOV_STATUS_DATA"]],["impl UnwindSafe for SCALED_PRESSURE3_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE3_DATA"]],["impl UnwindSafe for MISSION_ITEM_REACHED_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_REACHED_DATA"]],["impl UnwindSafe for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl UnwindSafe for PARAM_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_VALUE_DATA"]],["impl UnwindSafe for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VICON_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for TIMESYNC_DATA",1,["mavlink::ardupilotmega::TIMESYNC_DATA"]],["impl UnwindSafe for MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::MANUAL_CONTROL_DATA"]],["impl UnwindSafe for MEMORY_VECT_DATA",1,["mavlink::ardupilotmega::MEMORY_VECT_DATA"]],["impl UnwindSafe for OBSTACLE_DISTANCE_3D_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_3D_DATA"]],["impl UnwindSafe for COMPONENT_METADATA_DATA",1,["mavlink::ardupilotmega::COMPONENT_METADATA_DATA"]],["impl UnwindSafe for CAMERA_SETTINGS_DATA",1,["mavlink::ardupilotmega::CAMERA_SETTINGS_DATA"]],["impl UnwindSafe for MAG_CAL_REPORT_DATA",1,["mavlink::ardupilotmega::MAG_CAL_REPORT_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl UnwindSafe for ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::ATTITUDE_TARGET_DATA"]],["impl UnwindSafe for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl UnwindSafe for WINCH_STATUS_DATA",1,["mavlink::ardupilotmega::WINCH_STATUS_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl UnwindSafe for ICAROUS_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::ICAROUS_HEARTBEAT_DATA"]],["impl UnwindSafe for GOPRO_GET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_RESPONSE_DATA"]],["impl UnwindSafe for GPS_RAW_INT_DATA",1,["mavlink::ardupilotmega::GPS_RAW_INT_DATA"]],["impl UnwindSafe for PING_DATA",1,["mavlink::ardupilotmega::PING_DATA"]],["impl UnwindSafe for ATTITUDE_QUATERNION_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_DATA"]],["impl UnwindSafe for ESC_TELEMETRY_1_TO_4_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_1_TO_4_DATA"]],["impl UnwindSafe for HERELINK_VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::HERELINK_VIDEO_STREAM_INFORMATION_DATA"]],["impl UnwindSafe for COMMAND_LONG_DATA",1,["mavlink::ardupilotmega::COMMAND_LONG_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl UnwindSafe for SCALED_IMU2_DATA",1,["mavlink::ardupilotmega::SCALED_IMU2_DATA"]],["impl UnwindSafe for AHRS2_DATA",1,["mavlink::ardupilotmega::AHRS2_DATA"]],["impl UnwindSafe for ATT_POS_MOCAP_DATA",1,["mavlink::ardupilotmega::ATT_POS_MOCAP_DATA"]],["impl UnwindSafe for OPTICAL_FLOW_RAD_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_RAD_DATA"]],["impl UnwindSafe for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::ardupilotmega::NAV_CONTROLLER_OUTPUT_DATA"]],["impl UnwindSafe for MISSION_ACK_DATA",1,["mavlink::ardupilotmega::MISSION_ACK_DATA"]],["impl UnwindSafe for PARAM_SET_DATA",1,["mavlink::ardupilotmega::PARAM_SET_DATA"]],["impl UnwindSafe for DEBUG_DATA",1,["mavlink::ardupilotmega::DEBUG_DATA"]],["impl UnwindSafe for AUTH_KEY_DATA",1,["mavlink::ardupilotmega::AUTH_KEY_DATA"]],["impl UnwindSafe for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl UnwindSafe for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::ardupilotmega::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl UnwindSafe for MISSION_COUNT_DATA",1,["mavlink::ardupilotmega::MISSION_COUNT_DATA"]],["impl UnwindSafe for ADSB_VEHICLE_DATA",1,["mavlink::ardupilotmega::ADSB_VEHICLE_DATA"]],["impl UnwindSafe for ENCAPSULATED_DATA_DATA",1,["mavlink::ardupilotmega::ENCAPSULATED_DATA_DATA"]],["impl UnwindSafe for SCALED_PRESSURE_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE_DATA"]],["impl UnwindSafe for MOUNT_CONFIGURE_DATA",1,["mavlink::ardupilotmega::MOUNT_CONFIGURE_DATA"]],["impl UnwindSafe for OSD_PARAM_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_REPLY_DATA"]],["impl UnwindSafe for SETUP_SIGNING_DATA",1,["mavlink::ardupilotmega::SETUP_SIGNING_DATA"]],["impl UnwindSafe for DATA32_DATA",1,["mavlink::ardupilotmega::DATA32_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl UnwindSafe for TUNNEL_DATA",1,["mavlink::ardupilotmega::TUNNEL_DATA"]],["impl UnwindSafe for DATA96_DATA",1,["mavlink::ardupilotmega::DATA96_DATA"]],["impl UnwindSafe for ESTIMATOR_STATUS_DATA",1,["mavlink::ardupilotmega::ESTIMATOR_STATUS_DATA"]],["impl UnwindSafe for ALTITUDE_DATA",1,["mavlink::ardupilotmega::ALTITUDE_DATA"]],["impl UnwindSafe for GPS_RTCM_DATA_DATA",1,["mavlink::ardupilotmega::GPS_RTCM_DATA_DATA"]],["impl UnwindSafe for SCALED_IMU3_DATA",1,["mavlink::ardupilotmega::SCALED_IMU3_DATA"]],["impl UnwindSafe for AUTOPILOT_VERSION_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_DATA"]],["impl UnwindSafe for SET_HOME_POSITION_DATA",1,["mavlink::ardupilotmega::SET_HOME_POSITION_DATA"]],["impl UnwindSafe for GIMBAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_CONTROL_DATA"]],["impl UnwindSafe for GOPRO_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::GOPRO_HEARTBEAT_DATA"]],["impl UnwindSafe for HIL_STATE_QUATERNION_DATA",1,["mavlink::ardupilotmega::HIL_STATE_QUATERNION_DATA"]],["impl UnwindSafe for TERRAIN_REPORT_DATA",1,["mavlink::ardupilotmega::TERRAIN_REPORT_DATA"]],["impl UnwindSafe for WIND_DATA",1,["mavlink::ardupilotmega::WIND_DATA"]],["impl UnwindSafe for RAW_PRESSURE_DATA",1,["mavlink::ardupilotmega::RAW_PRESSURE_DATA"]],["impl UnwindSafe for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl UnwindSafe for CUBEPILOT_FIRMWARE_UPDATE_START_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_START_DATA"]],["impl UnwindSafe for GENERATOR_STATUS_DATA",1,["mavlink::ardupilotmega::GENERATOR_STATUS_DATA"]],["impl UnwindSafe for RADIO_DATA",1,["mavlink::ardupilotmega::RADIO_DATA"]],["impl UnwindSafe for DEVICE_OP_READ_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_DATA"]],["impl UnwindSafe for AIS_VESSEL_DATA",1,["mavlink::ardupilotmega::AIS_VESSEL_DATA"]],["impl UnwindSafe for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl UnwindSafe for PARAM_EXT_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_VALUE_DATA"]],["impl UnwindSafe for UAVCAN_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_STATUS_DATA"]],["impl UnwindSafe for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl UnwindSafe for WATER_DEPTH_DATA",1,["mavlink::ardupilotmega::WATER_DEPTH_DATA"]],["impl UnwindSafe for SIM_STATE_DATA",1,["mavlink::ardupilotmega::SIM_STATE_DATA"]],["impl UnwindSafe for TERRAIN_REQUEST_DATA",1,["mavlink::ardupilotmega::TERRAIN_REQUEST_DATA"]],["impl UnwindSafe for PARAM_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_READ_DATA"]],["impl UnwindSafe for GLOBAL_POSITION_INT_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_DATA"]],["impl UnwindSafe for PLAY_TUNE_V2_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_V2_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl UnwindSafe for SYSTEM_TIME_DATA",1,["mavlink::ardupilotmega::SYSTEM_TIME_DATA"]],["impl UnwindSafe for GPS2_RTK_DATA",1,["mavlink::ardupilotmega::GPS2_RTK_DATA"]],["impl UnwindSafe for HIGH_LATENCY2_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY2_DATA"]],["impl UnwindSafe for MOUNT_ORIENTATION_DATA",1,["mavlink::ardupilotmega::MOUNT_ORIENTATION_DATA"]],["impl UnwindSafe for RC_CHANNELS_RAW_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_RAW_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_STATUS_DATA"]],["impl UnwindSafe for SENSOR_OFFSETS_DATA",1,["mavlink::ardupilotmega::SENSOR_OFFSETS_DATA"]],["impl UnwindSafe for FENCE_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_FETCH_POINT_DATA"]],["impl UnwindSafe for LIMITS_STATUS_DATA",1,["mavlink::ardupilotmega::LIMITS_STATUS_DATA"]],["impl UnwindSafe for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl UnwindSafe for DATA64_DATA",1,["mavlink::ardupilotmega::DATA64_DATA"]],["impl UnwindSafe for HOME_POSITION_DATA",1,["mavlink::ardupilotmega::HOME_POSITION_DATA"]],["impl UnwindSafe for LOG_REQUEST_DATA_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_DATA_DATA"]],["impl UnwindSafe for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl UnwindSafe for AUTOPILOT_VERSION_REQUEST_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_REQUEST_DATA"]],["impl UnwindSafe for ATTITUDE_DATA",1,["mavlink::ardupilotmega::ATTITUDE_DATA"]],["impl UnwindSafe for REMOTE_LOG_BLOCK_STATUS_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_BLOCK_STATUS_DATA"]],["impl UnwindSafe for ADAP_TUNING_DATA",1,["mavlink::ardupilotmega::ADAP_TUNING_DATA"]],["impl UnwindSafe for PARAM_EXT_SET_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_SET_DATA"]],["impl UnwindSafe for HIL_OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::HIL_OPTICAL_FLOW_DATA"]],["impl UnwindSafe for RC_CHANNELS_SCALED_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_SCALED_DATA"]],["impl UnwindSafe for EXTENDED_SYS_STATE_DATA",1,["mavlink::ardupilotmega::EXTENDED_SYS_STATE_DATA"]],["impl UnwindSafe for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl UnwindSafe for LOG_REQUEST_END_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_END_DATA"]],["impl UnwindSafe for OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_DATA"]],["impl UnwindSafe for COMMAND_ACK_DATA",1,["mavlink::ardupilotmega::COMMAND_ACK_DATA"]],["impl UnwindSafe for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl UnwindSafe for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl UnwindSafe for MISSION_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_LIST_DATA"]],["impl UnwindSafe for PARAM_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_LIST_DATA"]],["impl UnwindSafe for MISSION_SET_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_SET_CURRENT_DATA"]],["impl UnwindSafe for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::ardupilotmega::CONTROL_SYSTEM_STATE_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl UnwindSafe for SMART_BATTERY_INFO_DATA",1,["mavlink::ardupilotmega::SMART_BATTERY_INFO_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_COV_DATA"]],["impl UnwindSafe for VIDEO_STREAM_STATUS_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_STATUS_DATA"]],["impl UnwindSafe for SET_MODE_DATA",1,["mavlink::ardupilotmega::SET_MODE_DATA"]],["impl UnwindSafe for HERELINK_TELEM_DATA",1,["mavlink::ardupilotmega::HERELINK_TELEM_DATA"]],["impl UnwindSafe for GPS_INJECT_DATA_DATA",1,["mavlink::ardupilotmega::GPS_INJECT_DATA_DATA"]],["impl UnwindSafe for VFR_HUD_DATA",1,["mavlink::ardupilotmega::VFR_HUD_DATA"]],["impl UnwindSafe for HIGH_LATENCY_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY_DATA"]],["impl UnwindSafe for DIGICAM_CONTROL_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONTROL_DATA"]],["impl UnwindSafe for WHEEL_DISTANCE_DATA",1,["mavlink::ardupilotmega::WHEEL_DISTANCE_DATA"]],["impl UnwindSafe for COMMAND_CANCEL_DATA",1,["mavlink::ardupilotmega::COMMAND_CANCEL_DATA"]],["impl UnwindSafe for SIMSTATE_DATA",1,["mavlink::ardupilotmega::SIMSTATE_DATA"]],["impl UnwindSafe for DATA16_DATA",1,["mavlink::ardupilotmega::DATA16_DATA"]],["impl UnwindSafe for MISSION_CLEAR_ALL_DATA",1,["mavlink::ardupilotmega::MISSION_CLEAR_ALL_DATA"]],["impl UnwindSafe for REMOTE_LOG_DATA_BLOCK_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_DATA_BLOCK_DATA"]],["impl UnwindSafe for RPM_DATA",1,["mavlink::ardupilotmega::RPM_DATA"]],["impl UnwindSafe for VISION_POSITION_DELTA_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_DELTA_DATA"]],["impl UnwindSafe for AHRS3_DATA",1,["mavlink::ardupilotmega::AHRS3_DATA"]],["impl UnwindSafe for OSD_PARAM_SHOW_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_DATA"]],["impl UnwindSafe for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl UnwindSafe for SET_ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ATTITUDE_TARGET_DATA"]],["impl UnwindSafe for GOPRO_SET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_RESPONSE_DATA"]],["impl UnwindSafe for SCALED_PRESSURE2_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE2_DATA"]],["impl UnwindSafe for HIL_SENSOR_DATA",1,["mavlink::ardupilotmega::HIL_SENSOR_DATA"]],["impl UnwindSafe for CANFD_FRAME_DATA",1,["mavlink::ardupilotmega::CANFD_FRAME_DATA"]],["impl UnwindSafe for DATA_STREAM_DATA",1,["mavlink::ardupilotmega::DATA_STREAM_DATA"]],["impl UnwindSafe for HIGHRES_IMU_DATA",1,["mavlink::ardupilotmega::HIGHRES_IMU_DATA"]],["impl UnwindSafe for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_DATA"]],["impl UnwindSafe for MISSION_REQUEST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_DATA"]],["impl UnwindSafe for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_INFORMATION_DATA"]],["impl UnwindSafe for SCALED_IMU_DATA",1,["mavlink::ardupilotmega::SCALED_IMU_DATA"]],["impl UnwindSafe for DEVICE_OP_WRITE_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_DATA"]],["impl UnwindSafe for HYGROMETER_SENSOR_DATA",1,["mavlink::ardupilotmega::HYGROMETER_SENSOR_DATA"]],["impl UnwindSafe for CUBEPILOT_RAW_RC_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_RAW_RC_DATA"]],["impl UnwindSafe for GPS_STATUS_DATA",1,["mavlink::ardupilotmega::GPS_STATUS_DATA"]],["impl UnwindSafe for DEVICE_OP_WRITE_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_REPLY_DATA"]],["impl UnwindSafe for CAMERA_TRIGGER_DATA",1,["mavlink::ardupilotmega::CAMERA_TRIGGER_DATA"]],["impl UnwindSafe for SERIAL_CONTROL_DATA",1,["mavlink::ardupilotmega::SERIAL_CONTROL_DATA"]],["impl UnwindSafe for OBSTACLE_DISTANCE_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_DATA"]],["impl UnwindSafe for FENCE_STATUS_DATA",1,["mavlink::ardupilotmega::FENCE_STATUS_DATA"]],["impl UnwindSafe for ESC_STATUS_DATA",1,["mavlink::ardupilotmega::ESC_STATUS_DATA"]],["impl UnwindSafe for LANDING_TARGET_DATA",1,["mavlink::ardupilotmega::LANDING_TARGET_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl UnwindSafe for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_CAPTURE_STATUS_DATA"]],["impl UnwindSafe for BATTERY2_DATA",1,["mavlink::ardupilotmega::BATTERY2_DATA"]],["impl UnwindSafe for TERRAIN_DATA_DATA",1,["mavlink::ardupilotmega::TERRAIN_DATA_DATA"]],["impl UnwindSafe for GPS_INPUT_DATA",1,["mavlink::ardupilotmega::GPS_INPUT_DATA"]],["impl UnwindSafe for AIRSPEED_AUTOCAL_DATA",1,["mavlink::ardupilotmega::AIRSPEED_AUTOCAL_DATA"]],["impl UnwindSafe for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::ardupilotmega::CAMERA_IMAGE_CAPTURED_DATA"]],["impl UnwindSafe for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_ACTUATOR_CONTROLS_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl UnwindSafe for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::ardupilotmega::RESPONSE_EVENT_ERROR_DATA"]],["impl UnwindSafe for LOG_ENTRY_DATA",1,["mavlink::ardupilotmega::LOG_ENTRY_DATA"]],["impl UnwindSafe for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_LIST_DATA"]],["impl UnwindSafe for LOG_ERASE_DATA",1,["mavlink::ardupilotmega::LOG_ERASE_DATA"]],["impl UnwindSafe for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::ardupilotmega::ORBIT_EXECUTION_STATUS_DATA"]],["impl UnwindSafe for COMPASSMOT_STATUS_DATA",1,["mavlink::ardupilotmega::COMPASSMOT_STATUS_DATA"]],["impl UnwindSafe for HIL_GPS_DATA",1,["mavlink::ardupilotmega::HIL_GPS_DATA"]],["impl UnwindSafe for LOGGING_DATA_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_DATA"]],["impl UnwindSafe for PLAY_TUNE_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_DATA"]],["impl UnwindSafe for PROTOCOL_VERSION_DATA",1,["mavlink::ardupilotmega::PROTOCOL_VERSION_DATA"]],["impl UnwindSafe for CELLULAR_CONFIG_DATA",1,["mavlink::ardupilotmega::CELLULAR_CONFIG_DATA"]],["impl UnwindSafe for DEVICE_OP_READ_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_REPLY_DATA"]],["impl UnwindSafe for EVENT_DATA",1,["mavlink::ardupilotmega::EVENT_DATA"]],["impl UnwindSafe for V2_EXTENSION_DATA",1,["mavlink::ardupilotmega::V2_EXTENSION_DATA"]],["impl UnwindSafe for RALLY_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_FETCH_POINT_DATA"]],["impl UnwindSafe for CAMERA_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_STATUS_DATA"]],["impl UnwindSafe for RANGEFINDER_DATA",1,["mavlink::ardupilotmega::RANGEFINDER_DATA"]],["impl UnwindSafe for ESC_TELEMETRY_5_TO_8_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_5_TO_8_DATA"]],["impl UnwindSafe for MavMessage",1,["mavlink::ardupilotmega::MavMessage"]],["impl UnwindSafe for MavType",1,["mavlink::uavionix::MavType"]],["impl UnwindSafe for CameraMode",1,["mavlink::uavionix::CameraMode"]],["impl UnwindSafe for CellularNetworkFailedReason",1,["mavlink::uavionix::CellularNetworkFailedReason"]],["impl UnwindSafe for WifiConfigApMode",1,["mavlink::uavionix::WifiConfigApMode"]],["impl UnwindSafe for WifiConfigApResponse",1,["mavlink::uavionix::WifiConfigApResponse"]],["impl UnwindSafe for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLat"]],["impl UnwindSafe for CellularNetworkRadioType",1,["mavlink::uavionix::CellularNetworkRadioType"]],["impl UnwindSafe for AttitudeTargetTypemask",1,["mavlink::uavionix::AttitudeTargetTypemask"]],["impl UnwindSafe for UavionixAdsbOutDynamicGpsFix",1,["mavlink::uavionix::UavionixAdsbOutDynamicGpsFix"]],["impl UnwindSafe for MavBatteryFunction",1,["mavlink::uavionix::MavBatteryFunction"]],["impl UnwindSafe for MavCollisionThreatLevel",1,["mavlink::uavionix::MavCollisionThreatLevel"]],["impl UnwindSafe for MavModeFlagDecodePosition",1,["mavlink::uavionix::MavModeFlagDecodePosition"]],["impl UnwindSafe for MavCollisionSrc",1,["mavlink::uavionix::MavCollisionSrc"]],["impl UnwindSafe for PreflightStorageParameterAction",1,["mavlink::uavionix::PreflightStorageParameterAction"]],["impl UnwindSafe for MavSysStatusSensorExtended",1,["mavlink::uavionix::MavSysStatusSensorExtended"]],["impl UnwindSafe for MavCollisionAction",1,["mavlink::uavionix::MavCollisionAction"]],["impl UnwindSafe for CameraCapFlags",1,["mavlink::uavionix::CameraCapFlags"]],["impl UnwindSafe for MavBatteryChargeState",1,["mavlink::uavionix::MavBatteryChargeState"]],["impl UnwindSafe for MavEventErrorReason",1,["mavlink::uavionix::MavEventErrorReason"]],["impl UnwindSafe for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLon"]],["impl UnwindSafe for MavOdidHorAcc",1,["mavlink::uavionix::MavOdidHorAcc"]],["impl UnwindSafe for GimbalManagerFlags",1,["mavlink::uavionix::GimbalManagerFlags"]],["impl UnwindSafe for MavGoto",1,["mavlink::uavionix::MavGoto"]],["impl UnwindSafe for MavBatteryType",1,["mavlink::uavionix::MavBatteryType"]],["impl UnwindSafe for MavDataStream",1,["mavlink::uavionix::MavDataStream"]],["impl UnwindSafe for MavlinkDataStreamType",1,["mavlink::uavionix::MavlinkDataStreamType"]],["impl UnwindSafe for MavOdidOperatorLocationType",1,["mavlink::uavionix::MavOdidOperatorLocationType"]],["impl UnwindSafe for MavAutopilot",1,["mavlink::uavionix::MavAutopilot"]],["impl UnwindSafe for MavOdidAuthType",1,["mavlink::uavionix::MavOdidAuthType"]],["impl UnwindSafe for UavionixAdsbOutDynamicState",1,["mavlink::uavionix::UavionixAdsbOutDynamicState"]],["impl UnwindSafe for MavOdidIdType",1,["mavlink::uavionix::MavOdidIdType"]],["impl UnwindSafe for StorageUsageFlag",1,["mavlink::uavionix::StorageUsageFlag"]],["impl UnwindSafe for FenceMitigate",1,["mavlink::uavionix::FenceMitigate"]],["impl UnwindSafe for MavFrame",1,["mavlink::uavionix::MavFrame"]],["impl UnwindSafe for MavMode",1,["mavlink::uavionix::MavMode"]],["impl UnwindSafe for MavOdidUaType",1,["mavlink::uavionix::MavOdidUaType"]],["impl UnwindSafe for MavParamExtType",1,["mavlink::uavionix::MavParamExtType"]],["impl UnwindSafe for StorageStatus",1,["mavlink::uavionix::StorageStatus"]],["impl UnwindSafe for AisType",1,["mavlink::uavionix::AisType"]],["impl UnwindSafe for FenceAction",1,["mavlink::uavionix::FenceAction"]],["impl UnwindSafe for CameraTrackingTargetData",1,["mavlink::uavionix::CameraTrackingTargetData"]],["impl UnwindSafe for MavCmdAck",1,["mavlink::uavionix::MavCmdAck"]],["impl UnwindSafe for MavModeFlag",1,["mavlink::uavionix::MavModeFlag"]],["impl UnwindSafe for MavVtolState",1,["mavlink::uavionix::MavVtolState"]],["impl UnwindSafe for VtolTransitionHeading",1,["mavlink::uavionix::VtolTransitionHeading"]],["impl UnwindSafe for EstimatorStatusFlags",1,["mavlink::uavionix::EstimatorStatusFlags"]],["impl UnwindSafe for UavionixAdsbOutRfSelect",1,["mavlink::uavionix::UavionixAdsbOutRfSelect"]],["impl UnwindSafe for PrecisionLandMode",1,["mavlink::uavionix::PrecisionLandMode"]],["impl UnwindSafe for MavEstimatorType",1,["mavlink::uavionix::MavEstimatorType"]],["impl UnwindSafe for MavBatteryFault",1,["mavlink::uavionix::MavBatteryFault"]],["impl UnwindSafe for HilSensorUpdatedFlags",1,["mavlink::uavionix::HilSensorUpdatedFlags"]],["impl UnwindSafe for UavionixAdsbEmergencyStatus",1,["mavlink::uavionix::UavionixAdsbEmergencyStatus"]],["impl UnwindSafe for GimbalDeviceCapFlags",1,["mavlink::uavionix::GimbalDeviceCapFlags"]],["impl UnwindSafe for MavArmAuthDeniedReason",1,["mavlink::uavionix::MavArmAuthDeniedReason"]],["impl UnwindSafe for MavComponent",1,["mavlink::uavionix::MavComponent"]],["impl UnwindSafe for MavSysStatusSensor",1,["mavlink::uavionix::MavSysStatusSensor"]],["impl UnwindSafe for MagCalStatus",1,["mavlink::uavionix::MagCalStatus"]],["impl UnwindSafe for MavState",1,["mavlink::uavionix::MavState"]],["impl UnwindSafe for MavOdidArmStatus",1,["mavlink::uavionix::MavOdidArmStatus"]],["impl UnwindSafe for OrbitYawBehaviour",1,["mavlink::uavionix::OrbitYawBehaviour"]],["impl UnwindSafe for MavProtocolCapability",1,["mavlink::uavionix::MavProtocolCapability"]],["impl UnwindSafe for EscConnectionType",1,["mavlink::uavionix::EscConnectionType"]],["impl UnwindSafe for MotorTestOrder",1,["mavlink::uavionix::MotorTestOrder"]],["impl UnwindSafe for GpsInputIgnoreFlags",1,["mavlink::uavionix::GpsInputIgnoreFlags"]],["impl UnwindSafe for AdsbEmitterType",1,["mavlink::uavionix::AdsbEmitterType"]],["impl UnwindSafe for ActuatorConfiguration",1,["mavlink::uavionix::ActuatorConfiguration"]],["impl UnwindSafe for HlFailureFlag",1,["mavlink::uavionix::HlFailureFlag"]],["impl UnwindSafe for MavOdidDescType",1,["mavlink::uavionix::MavOdidDescType"]],["impl UnwindSafe for MavOdidOperatorIdType",1,["mavlink::uavionix::MavOdidOperatorIdType"]],["impl UnwindSafe for CanFilterOp",1,["mavlink::uavionix::CanFilterOp"]],["impl UnwindSafe for VideoStreamStatusFlags",1,["mavlink::uavionix::VideoStreamStatusFlags"]],["impl UnwindSafe for MavOdidHeightRef",1,["mavlink::uavionix::MavOdidHeightRef"]],["impl UnwindSafe for MavDoRepositionFlags",1,["mavlink::uavionix::MavDoRepositionFlags"]],["impl UnwindSafe for TuneFormat",1,["mavlink::uavionix::TuneFormat"]],["impl UnwindSafe for MavOdidCategoryEu",1,["mavlink::uavionix::MavOdidCategoryEu"]],["impl UnwindSafe for MotorTestThrottleType",1,["mavlink::uavionix::MotorTestThrottleType"]],["impl UnwindSafe for LandingTargetType",1,["mavlink::uavionix::LandingTargetType"]],["impl UnwindSafe for FirmwareVersionType",1,["mavlink::uavionix::FirmwareVersionType"]],["impl UnwindSafe for CellularConfigResponse",1,["mavlink::uavionix::CellularConfigResponse"]],["impl UnwindSafe for AdsbFlags",1,["mavlink::uavionix::AdsbFlags"]],["impl UnwindSafe for MavDistanceSensor",1,["mavlink::uavionix::MavDistanceSensor"]],["impl UnwindSafe for PreflightStorageMissionAction",1,["mavlink::uavionix::PreflightStorageMissionAction"]],["impl UnwindSafe for CellularStatusFlag",1,["mavlink::uavionix::CellularStatusFlag"]],["impl UnwindSafe for UtmFlightState",1,["mavlink::uavionix::UtmFlightState"]],["impl UnwindSafe for MavOdidClassEu",1,["mavlink::uavionix::MavOdidClassEu"]],["impl UnwindSafe for AdsbAltitudeType",1,["mavlink::uavionix::AdsbAltitudeType"]],["impl UnwindSafe for FenceBreach",1,["mavlink::uavionix::FenceBreach"]],["impl UnwindSafe for UavcanNodeHealth",1,["mavlink::uavionix::UavcanNodeHealth"]],["impl UnwindSafe for GpsFixType",1,["mavlink::uavionix::GpsFixType"]],["impl UnwindSafe for GimbalManagerCapFlags",1,["mavlink::uavionix::GimbalManagerCapFlags"]],["impl UnwindSafe for MavWinchStatusFlag",1,["mavlink::uavionix::MavWinchStatusFlag"]],["impl UnwindSafe for MissionState",1,["mavlink::uavionix::MissionState"]],["impl UnwindSafe for CompMetadataType",1,["mavlink::uavionix::CompMetadataType"]],["impl UnwindSafe for MavOdidTimeAcc",1,["mavlink::uavionix::MavOdidTimeAcc"]],["impl UnwindSafe for UavionixAdsbOutCfgAircraftSize",1,["mavlink::uavionix::UavionixAdsbOutCfgAircraftSize"]],["impl UnwindSafe for SerialControlDev",1,["mavlink::uavionix::SerialControlDev"]],["impl UnwindSafe for ParamAck",1,["mavlink::uavionix::ParamAck"]],["impl UnwindSafe for AisFlags",1,["mavlink::uavionix::AisFlags"]],["impl UnwindSafe for RtkBaselineCoordinateSystem",1,["mavlink::uavionix::RtkBaselineCoordinateSystem"]],["impl UnwindSafe for MavResult",1,["mavlink::uavionix::MavResult"]],["impl UnwindSafe for GimbalDeviceFlags",1,["mavlink::uavionix::GimbalDeviceFlags"]],["impl UnwindSafe for MavOdidVerAcc",1,["mavlink::uavionix::MavOdidVerAcc"]],["impl UnwindSafe for NavVtolLandOptions",1,["mavlink::uavionix::NavVtolLandOptions"]],["impl UnwindSafe for EscFailureFlags",1,["mavlink::uavionix::EscFailureFlags"]],["impl UnwindSafe for MavMissionResult",1,["mavlink::uavionix::MavMissionResult"]],["impl UnwindSafe for FailureType",1,["mavlink::uavionix::FailureType"]],["impl UnwindSafe for MavEventCurrentSequenceFlags",1,["mavlink::uavionix::MavEventCurrentSequenceFlags"]],["impl UnwindSafe for MavRoi",1,["mavlink::uavionix::MavRoi"]],["impl UnwindSafe for MavOdidSpeedAcc",1,["mavlink::uavionix::MavOdidSpeedAcc"]],["impl UnwindSafe for MavParamType",1,["mavlink::uavionix::MavParamType"]],["impl UnwindSafe for FailureUnit",1,["mavlink::uavionix::FailureUnit"]],["impl UnwindSafe for MavLandedState",1,["mavlink::uavionix::MavLandedState"]],["impl UnwindSafe for CameraZoomType",1,["mavlink::uavionix::CameraZoomType"]],["impl UnwindSafe for GripperActions",1,["mavlink::uavionix::GripperActions"]],["impl UnwindSafe for MavBatteryMode",1,["mavlink::uavionix::MavBatteryMode"]],["impl UnwindSafe for RcType",1,["mavlink::uavionix::RcType"]],["impl UnwindSafe for HighresImuUpdatedFlags",1,["mavlink::uavionix::HighresImuUpdatedFlags"]],["impl UnwindSafe for CameraTrackingMode",1,["mavlink::uavionix::CameraTrackingMode"]],["impl UnwindSafe for UavcanNodeMode",1,["mavlink::uavionix::UavcanNodeMode"]],["impl UnwindSafe for GimbalDeviceErrorFlags",1,["mavlink::uavionix::GimbalDeviceErrorFlags"]],["impl UnwindSafe for PositionTargetTypemask",1,["mavlink::uavionix::PositionTargetTypemask"]],["impl UnwindSafe for MavPowerStatus",1,["mavlink::uavionix::MavPowerStatus"]],["impl UnwindSafe for MavMountMode",1,["mavlink::uavionix::MavMountMode"]],["impl UnwindSafe for MavTunnelPayloadType",1,["mavlink::uavionix::MavTunnelPayloadType"]],["impl UnwindSafe for ParachuteAction",1,["mavlink::uavionix::ParachuteAction"]],["impl UnwindSafe for MavGeneratorStatusFlag",1,["mavlink::uavionix::MavGeneratorStatusFlag"]],["impl UnwindSafe for MavOdidStatus",1,["mavlink::uavionix::MavOdidStatus"]],["impl UnwindSafe for VideoStreamType",1,["mavlink::uavionix::VideoStreamType"]],["impl UnwindSafe for ActuatorOutputFunction",1,["mavlink::uavionix::ActuatorOutputFunction"]],["impl UnwindSafe for WinchActions",1,["mavlink::uavionix::WinchActions"]],["impl UnwindSafe for SetFocusType",1,["mavlink::uavionix::SetFocusType"]],["impl UnwindSafe for SerialControlFlag",1,["mavlink::uavionix::SerialControlFlag"]],["impl UnwindSafe for AutotuneAxis",1,["mavlink::uavionix::AutotuneAxis"]],["impl UnwindSafe for MavOdidClassificationType",1,["mavlink::uavionix::MavOdidClassificationType"]],["impl UnwindSafe for AisNavStatus",1,["mavlink::uavionix::AisNavStatus"]],["impl UnwindSafe for CameraTrackingStatusFlags",1,["mavlink::uavionix::CameraTrackingStatusFlags"]],["impl UnwindSafe for UtmDataAvailFlags",1,["mavlink::uavionix::UtmDataAvailFlags"]],["impl UnwindSafe for StorageType",1,["mavlink::uavionix::StorageType"]],["impl UnwindSafe for MavSensorOrientation",1,["mavlink::uavionix::MavSensorOrientation"]],["impl UnwindSafe for MavMissionType",1,["mavlink::uavionix::MavMissionType"]],["impl UnwindSafe for MavFtpOpcode",1,["mavlink::uavionix::MavFtpOpcode"]],["impl UnwindSafe for UavionixAdsbRfHealth",1,["mavlink::uavionix::UavionixAdsbRfHealth"]],["impl UnwindSafe for MavCmd",1,["mavlink::uavionix::MavCmd"]],["impl UnwindSafe for MavFtpErr",1,["mavlink::uavionix::MavFtpErr"]],["impl UnwindSafe for MavSeverity",1,["mavlink::uavionix::MavSeverity"]],["impl UnwindSafe for POWER_STATUS_DATA",1,["mavlink::uavionix::POWER_STATUS_DATA"]],["impl UnwindSafe for GPS_RTCM_DATA_DATA",1,["mavlink::uavionix::GPS_RTCM_DATA_DATA"]],["impl UnwindSafe for WIND_COV_DATA",1,["mavlink::uavionix::WIND_COV_DATA"]],["impl UnwindSafe for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::uavionix::HIL_RC_INPUTS_RAW_DATA"]],["impl UnwindSafe for ENCAPSULATED_DATA_DATA",1,["mavlink::uavionix::ENCAPSULATED_DATA_DATA"]],["impl UnwindSafe for LOG_REQUEST_END_DATA",1,["mavlink::uavionix::LOG_REQUEST_END_DATA"]],["impl UnwindSafe for MISSION_SET_CURRENT_DATA",1,["mavlink::uavionix::MISSION_SET_CURRENT_DATA"]],["impl UnwindSafe for COMPONENT_METADATA_DATA",1,["mavlink::uavionix::COMPONENT_METADATA_DATA"]],["impl UnwindSafe for FLIGHT_INFORMATION_DATA",1,["mavlink::uavionix::FLIGHT_INFORMATION_DATA"]],["impl UnwindSafe for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl UnwindSafe for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl UnwindSafe for LANDING_TARGET_DATA",1,["mavlink::uavionix::LANDING_TARGET_DATA"]],["impl UnwindSafe for COMMAND_INT_DATA",1,["mavlink::uavionix::COMMAND_INT_DATA"]],["impl UnwindSafe for ATT_POS_MOCAP_DATA",1,["mavlink::uavionix::ATT_POS_MOCAP_DATA"]],["impl UnwindSafe for ALTITUDE_DATA",1,["mavlink::uavionix::ALTITUDE_DATA"]],["impl UnwindSafe for FOLLOW_TARGET_DATA",1,["mavlink::uavionix::FOLLOW_TARGET_DATA"]],["impl UnwindSafe for SIM_STATE_DATA",1,["mavlink::uavionix::SIM_STATE_DATA"]],["impl UnwindSafe for MAG_CAL_REPORT_DATA",1,["mavlink::uavionix::MAG_CAL_REPORT_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl UnwindSafe for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::uavionix::HIL_ACTUATOR_CONTROLS_DATA"]],["impl UnwindSafe for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::uavionix::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl UnwindSafe for COMPONENT_INFORMATION_DATA",1,["mavlink::uavionix::COMPONENT_INFORMATION_DATA"]],["impl UnwindSafe for GPS2_RAW_DATA",1,["mavlink::uavionix::GPS2_RAW_DATA"]],["impl UnwindSafe for BUTTON_CHANGE_DATA",1,["mavlink::uavionix::BUTTON_CHANGE_DATA"]],["impl UnwindSafe for UAVCAN_NODE_INFO_DATA",1,["mavlink::uavionix::UAVCAN_NODE_INFO_DATA"]],["impl UnwindSafe for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for COLLISION_DATA",1,["mavlink::uavionix::COLLISION_DATA"]],["impl UnwindSafe for RAW_RPM_DATA",1,["mavlink::uavionix::RAW_RPM_DATA"]],["impl UnwindSafe for SERIAL_CONTROL_DATA",1,["mavlink::uavionix::SERIAL_CONTROL_DATA"]],["impl UnwindSafe for CAMERA_TRIGGER_DATA",1,["mavlink::uavionix::CAMERA_TRIGGER_DATA"]],["impl UnwindSafe for SET_HOME_POSITION_DATA",1,["mavlink::uavionix::SET_HOME_POSITION_DATA"]],["impl UnwindSafe for CAMERA_FOV_STATUS_DATA",1,["mavlink::uavionix::CAMERA_FOV_STATUS_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl UnwindSafe for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::uavionix::VIDEO_STREAM_INFORMATION_DATA"]],["impl UnwindSafe for LINK_NODE_STATUS_DATA",1,["mavlink::uavionix::LINK_NODE_STATUS_DATA"]],["impl UnwindSafe for HIL_STATE_DATA",1,["mavlink::uavionix::HIL_STATE_DATA"]],["impl UnwindSafe for PARAM_SET_DATA",1,["mavlink::uavionix::PARAM_SET_DATA"]],["impl UnwindSafe for SCALED_IMU_DATA",1,["mavlink::uavionix::SCALED_IMU_DATA"]],["impl UnwindSafe for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::uavionix::FILE_TRANSFER_PROTOCOL_DATA"]],["impl UnwindSafe for TERRAIN_REQUEST_DATA",1,["mavlink::uavionix::TERRAIN_REQUEST_DATA"]],["impl UnwindSafe for SCALED_PRESSURE_DATA",1,["mavlink::uavionix::SCALED_PRESSURE_DATA"]],["impl UnwindSafe for GENERATOR_STATUS_DATA",1,["mavlink::uavionix::GENERATOR_STATUS_DATA"]],["impl UnwindSafe for HIL_GPS_DATA",1,["mavlink::uavionix::HIL_GPS_DATA"]],["impl UnwindSafe for LOG_ERASE_DATA",1,["mavlink::uavionix::LOG_ERASE_DATA"]],["impl UnwindSafe for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::uavionix::RC_CHANNELS_OVERRIDE_DATA"]],["impl UnwindSafe for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl UnwindSafe for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl UnwindSafe for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl UnwindSafe for SUPPORTED_TUNES_DATA",1,["mavlink::uavionix::SUPPORTED_TUNES_DATA"]],["impl UnwindSafe for VIDEO_STREAM_STATUS_DATA",1,["mavlink::uavionix::VIDEO_STREAM_STATUS_DATA"]],["impl UnwindSafe for HYGROMETER_SENSOR_DATA",1,["mavlink::uavionix::HYGROMETER_SENSOR_DATA"]],["impl UnwindSafe for SCALED_PRESSURE3_DATA",1,["mavlink::uavionix::SCALED_PRESSURE3_DATA"]],["impl UnwindSafe for OBSTACLE_DISTANCE_DATA",1,["mavlink::uavionix::OBSTACLE_DISTANCE_DATA"]],["impl UnwindSafe for REQUEST_DATA_STREAM_DATA",1,["mavlink::uavionix::REQUEST_DATA_STREAM_DATA"]],["impl UnwindSafe for DISTANCE_SENSOR_DATA",1,["mavlink::uavionix::DISTANCE_SENSOR_DATA"]],["impl UnwindSafe for LOG_REQUEST_LIST_DATA",1,["mavlink::uavionix::LOG_REQUEST_LIST_DATA"]],["impl UnwindSafe for RC_CHANNELS_DATA",1,["mavlink::uavionix::RC_CHANNELS_DATA"]],["impl UnwindSafe for CAN_FILTER_MODIFY_DATA",1,["mavlink::uavionix::CAN_FILTER_MODIFY_DATA"]],["impl UnwindSafe for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_ALLOWED_AREA_DATA"]],["impl UnwindSafe for ATTITUDE_DATA",1,["mavlink::uavionix::ATTITUDE_DATA"]],["impl UnwindSafe for SERVO_OUTPUT_RAW_DATA",1,["mavlink::uavionix::SERVO_OUTPUT_RAW_DATA"]],["impl UnwindSafe for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_CAPTURE_STATUS_DATA"]],["impl UnwindSafe for VFR_HUD_DATA",1,["mavlink::uavionix::VFR_HUD_DATA"]],["impl UnwindSafe for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::uavionix::NAV_CONTROLLER_OUTPUT_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl UnwindSafe for EVENT_DATA",1,["mavlink::uavionix::EVENT_DATA"]],["impl UnwindSafe for CAMERA_INFORMATION_DATA",1,["mavlink::uavionix::CAMERA_INFORMATION_DATA"]],["impl UnwindSafe for PARAM_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_REQUEST_LIST_DATA"]],["impl UnwindSafe for WHEEL_DISTANCE_DATA",1,["mavlink::uavionix::WHEEL_DISTANCE_DATA"]],["impl UnwindSafe for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_DATA"]],["impl UnwindSafe for UAVCAN_NODE_STATUS_DATA",1,["mavlink::uavionix::UAVCAN_NODE_STATUS_DATA"]],["impl UnwindSafe for PARAM_EXT_SET_DATA",1,["mavlink::uavionix::PARAM_EXT_SET_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl UnwindSafe for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl UnwindSafe for SMART_BATTERY_INFO_DATA",1,["mavlink::uavionix::SMART_BATTERY_INFO_DATA"]],["impl UnwindSafe for OPTICAL_FLOW_RAD_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_RAD_DATA"]],["impl UnwindSafe for HIL_OPTICAL_FLOW_DATA",1,["mavlink::uavionix::HIL_OPTICAL_FLOW_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_COV_DATA"]],["impl UnwindSafe for BATTERY_STATUS_DATA",1,["mavlink::uavionix::BATTERY_STATUS_DATA"]],["impl UnwindSafe for GLOBAL_POSITION_INT_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_DATA"]],["impl UnwindSafe for MOUNT_ORIENTATION_DATA",1,["mavlink::uavionix::MOUNT_ORIENTATION_DATA"]],["impl UnwindSafe for MISSION_ITEM_DATA",1,["mavlink::uavionix::MISSION_ITEM_DATA"]],["impl UnwindSafe for GPS_RTK_DATA",1,["mavlink::uavionix::GPS_RTK_DATA"]],["impl UnwindSafe for HIGHRES_IMU_DATA",1,["mavlink::uavionix::HIGHRES_IMU_DATA"]],["impl UnwindSafe for RESOURCE_REQUEST_DATA",1,["mavlink::uavionix::RESOURCE_REQUEST_DATA"]],["impl UnwindSafe for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::uavionix::CONTROL_SYSTEM_STATE_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl UnwindSafe for PARAM_EXT_VALUE_DATA",1,["mavlink::uavionix::PARAM_EXT_VALUE_DATA"]],["impl UnwindSafe for RAW_IMU_DATA",1,["mavlink::uavionix::RAW_IMU_DATA"]],["impl UnwindSafe for TUNNEL_DATA",1,["mavlink::uavionix::TUNNEL_DATA"]],["impl UnwindSafe for GPS2_RTK_DATA",1,["mavlink::uavionix::GPS2_RTK_DATA"]],["impl UnwindSafe for EFI_STATUS_DATA",1,["mavlink::uavionix::EFI_STATUS_DATA"]],["impl UnwindSafe for ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::ATTITUDE_TARGET_DATA"]],["impl UnwindSafe for GPS_INJECT_DATA_DATA",1,["mavlink::uavionix::GPS_INJECT_DATA_DATA"]],["impl UnwindSafe for CELLULAR_CONFIG_DATA",1,["mavlink::uavionix::CELLULAR_CONFIG_DATA"]],["impl UnwindSafe for EXTENDED_SYS_STATE_DATA",1,["mavlink::uavionix::EXTENDED_SYS_STATE_DATA"]],["impl UnwindSafe for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::uavionix::ONBOARD_COMPUTER_STATUS_DATA"]],["impl UnwindSafe for SETUP_SIGNING_DATA",1,["mavlink::uavionix::SETUP_SIGNING_DATA"]],["impl UnwindSafe for PARAM_MAP_RC_DATA",1,["mavlink::uavionix::PARAM_MAP_RC_DATA"]],["impl UnwindSafe for HIGH_LATENCY2_DATA",1,["mavlink::uavionix::HIGH_LATENCY2_DATA"]],["impl UnwindSafe for SCALED_IMU2_DATA",1,["mavlink::uavionix::SCALED_IMU2_DATA"]],["impl UnwindSafe for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl UnwindSafe for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl UnwindSafe for VIBRATION_DATA",1,["mavlink::uavionix::VIBRATION_DATA"]],["impl UnwindSafe for HIL_SENSOR_DATA",1,["mavlink::uavionix::HIL_SENSOR_DATA"]],["impl UnwindSafe for WINCH_STATUS_DATA",1,["mavlink::uavionix::WINCH_STATUS_DATA"]],["impl UnwindSafe for SET_MODE_DATA",1,["mavlink::uavionix::SET_MODE_DATA"]],["impl UnwindSafe for RAW_PRESSURE_DATA",1,["mavlink::uavionix::RAW_PRESSURE_DATA"]],["impl UnwindSafe for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::uavionix::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl UnwindSafe for LOG_DATA_DATA",1,["mavlink::uavionix::LOG_DATA_DATA"]],["impl UnwindSafe for TIMESYNC_DATA",1,["mavlink::uavionix::TIMESYNC_DATA"]],["impl UnwindSafe for RC_CHANNELS_RAW_DATA",1,["mavlink::uavionix::RC_CHANNELS_RAW_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl UnwindSafe for PARAM_VALUE_DATA",1,["mavlink::uavionix::PARAM_VALUE_DATA"]],["impl UnwindSafe for HIL_CONTROLS_DATA",1,["mavlink::uavionix::HIL_CONTROLS_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl UnwindSafe for ADSB_VEHICLE_DATA",1,["mavlink::uavionix::ADSB_VEHICLE_DATA"]],["impl UnwindSafe for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_LIST_DATA"]],["impl UnwindSafe for UTM_GLOBAL_POSITION_DATA",1,["mavlink::uavionix::UTM_GLOBAL_POSITION_DATA"]],["impl UnwindSafe for COMMAND_ACK_DATA",1,["mavlink::uavionix::COMMAND_ACK_DATA"]],["impl UnwindSafe for ISBD_LINK_STATUS_DATA",1,["mavlink::uavionix::ISBD_LINK_STATUS_DATA"]],["impl UnwindSafe for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl UnwindSafe for AUTOPILOT_VERSION_DATA",1,["mavlink::uavionix::AUTOPILOT_VERSION_DATA"]],["impl UnwindSafe for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::uavionix::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl UnwindSafe for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::uavionix::DEBUG_FLOAT_ARRAY_DATA"]],["impl UnwindSafe for PLAY_TUNE_V2_DATA",1,["mavlink::uavionix::PLAY_TUNE_V2_DATA"]],["impl UnwindSafe for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl UnwindSafe for REQUEST_EVENT_DATA",1,["mavlink::uavionix::REQUEST_EVENT_DATA"]],["impl UnwindSafe for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl UnwindSafe for NAMED_VALUE_INT_DATA",1,["mavlink::uavionix::NAMED_VALUE_INT_DATA"]],["impl UnwindSafe for MISSION_REQUEST_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_LIST_DATA"]],["impl UnwindSafe for LOG_REQUEST_DATA_DATA",1,["mavlink::uavionix::LOG_REQUEST_DATA_DATA"]],["impl UnwindSafe for MESSAGE_INTERVAL_DATA",1,["mavlink::uavionix::MESSAGE_INTERVAL_DATA"]],["impl UnwindSafe for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for LOG_ENTRY_DATA",1,["mavlink::uavionix::LOG_ENTRY_DATA"]],["impl UnwindSafe for AIS_VESSEL_DATA",1,["mavlink::uavionix::AIS_VESSEL_DATA"]],["impl UnwindSafe for MISSION_ACK_DATA",1,["mavlink::uavionix::MISSION_ACK_DATA"]],["impl UnwindSafe for RADIO_STATUS_DATA",1,["mavlink::uavionix::RADIO_STATUS_DATA"]],["impl UnwindSafe for CELLULAR_STATUS_DATA",1,["mavlink::uavionix::CELLULAR_STATUS_DATA"]],["impl UnwindSafe for DATA_STREAM_DATA",1,["mavlink::uavionix::DATA_STREAM_DATA"]],["impl UnwindSafe for DEBUG_VECT_DATA",1,["mavlink::uavionix::DEBUG_VECT_DATA"]],["impl UnwindSafe for MISSION_CURRENT_DATA",1,["mavlink::uavionix::MISSION_CURRENT_DATA"]],["impl UnwindSafe for PROTOCOL_VERSION_DATA",1,["mavlink::uavionix::PROTOCOL_VERSION_DATA"]],["impl UnwindSafe for GPS_INPUT_DATA",1,["mavlink::uavionix::GPS_INPUT_DATA"]],["impl UnwindSafe for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::uavionix::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl UnwindSafe for MISSION_ITEM_INT_DATA",1,["mavlink::uavionix::MISSION_ITEM_INT_DATA"]],["impl UnwindSafe for GPS_STATUS_DATA",1,["mavlink::uavionix::GPS_STATUS_DATA"]],["impl UnwindSafe for MANUAL_SETPOINT_DATA",1,["mavlink::uavionix::MANUAL_SETPOINT_DATA"]],["impl UnwindSafe for FENCE_STATUS_DATA",1,["mavlink::uavionix::FENCE_STATUS_DATA"]],["impl UnwindSafe for HOME_POSITION_DATA",1,["mavlink::uavionix::HOME_POSITION_DATA"]],["impl UnwindSafe for ESC_INFO_DATA",1,["mavlink::uavionix::ESC_INFO_DATA"]],["impl UnwindSafe for COMMAND_CANCEL_DATA",1,["mavlink::uavionix::COMMAND_CANCEL_DATA"]],["impl UnwindSafe for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_READ_DATA"]],["impl UnwindSafe for PLAY_TUNE_DATA",1,["mavlink::uavionix::PLAY_TUNE_DATA"]],["impl UnwindSafe for MISSION_REQUEST_INT_DATA",1,["mavlink::uavionix::MISSION_REQUEST_INT_DATA"]],["impl UnwindSafe for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_COV_DATA"]],["impl UnwindSafe for MISSION_ITEM_REACHED_DATA",1,["mavlink::uavionix::MISSION_ITEM_REACHED_DATA"]],["impl UnwindSafe for PARAM_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_REQUEST_READ_DATA"]],["impl UnwindSafe for TERRAIN_DATA_DATA",1,["mavlink::uavionix::TERRAIN_DATA_DATA"]],["impl UnwindSafe for GPS_RAW_INT_DATA",1,["mavlink::uavionix::GPS_RAW_INT_DATA"]],["impl UnwindSafe for STORAGE_INFORMATION_DATA",1,["mavlink::uavionix::STORAGE_INFORMATION_DATA"]],["impl UnwindSafe for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::uavionix::RESPONSE_EVENT_ERROR_DATA"]],["impl UnwindSafe for MANUAL_CONTROL_DATA",1,["mavlink::uavionix::MANUAL_CONTROL_DATA"]],["impl UnwindSafe for NAMED_VALUE_FLOAT_DATA",1,["mavlink::uavionix::NAMED_VALUE_FLOAT_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_STATUS_DATA"]],["impl UnwindSafe for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl UnwindSafe for LOGGING_DATA_DATA",1,["mavlink::uavionix::LOGGING_DATA_DATA"]],["impl UnwindSafe for STATUSTEXT_DATA",1,["mavlink::uavionix::STATUSTEXT_DATA"]],["impl UnwindSafe for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl UnwindSafe for ESTIMATOR_STATUS_DATA",1,["mavlink::uavionix::ESTIMATOR_STATUS_DATA"]],["impl UnwindSafe for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::uavionix::CAMERA_IMAGE_CAPTURED_DATA"]],["impl UnwindSafe for PARAM_EXT_ACK_DATA",1,["mavlink::uavionix::PARAM_EXT_ACK_DATA"]],["impl UnwindSafe for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::ACTUATOR_CONTROL_TARGET_DATA"]],["impl UnwindSafe for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl UnwindSafe for CAN_FRAME_DATA",1,["mavlink::uavionix::CAN_FRAME_DATA"]],["impl UnwindSafe for COMMAND_LONG_DATA",1,["mavlink::uavionix::COMMAND_LONG_DATA"]],["impl UnwindSafe for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl UnwindSafe for HEARTBEAT_DATA",1,["mavlink::uavionix::HEARTBEAT_DATA"]],["impl UnwindSafe for ATTITUDE_QUATERNION_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_DATA"]],["impl UnwindSafe for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VICON_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::uavionix::ORBIT_EXECUTION_STATUS_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl UnwindSafe for SCALED_PRESSURE2_DATA",1,["mavlink::uavionix::SCALED_PRESSURE2_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl UnwindSafe for ODOMETRY_DATA",1,["mavlink::uavionix::ODOMETRY_DATA"]],["impl UnwindSafe for CAMERA_SETTINGS_DATA",1,["mavlink::uavionix::CAMERA_SETTINGS_DATA"]],["impl UnwindSafe for MISSION_CLEAR_ALL_DATA",1,["mavlink::uavionix::MISSION_CLEAR_ALL_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl UnwindSafe for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_SPEED_ESTIMATE_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl UnwindSafe for TERRAIN_REPORT_DATA",1,["mavlink::uavionix::TERRAIN_REPORT_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_DATA"]],["impl UnwindSafe for DEBUG_DATA",1,["mavlink::uavionix::DEBUG_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl UnwindSafe for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::GPS_GLOBAL_ORIGIN_DATA"]],["impl UnwindSafe for MISSION_COUNT_DATA",1,["mavlink::uavionix::MISSION_COUNT_DATA"]],["impl UnwindSafe for HIGH_LATENCY_DATA",1,["mavlink::uavionix::HIGH_LATENCY_DATA"]],["impl UnwindSafe for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl UnwindSafe for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::uavionix::CURRENT_EVENT_SEQUENCE_DATA"]],["impl UnwindSafe for MEMORY_VECT_DATA",1,["mavlink::uavionix::MEMORY_VECT_DATA"]],["impl UnwindSafe for MISSION_REQUEST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_DATA"]],["impl UnwindSafe for V2_EXTENSION_DATA",1,["mavlink::uavionix::V2_EXTENSION_DATA"]],["impl UnwindSafe for ESC_STATUS_DATA",1,["mavlink::uavionix::ESC_STATUS_DATA"]],["impl UnwindSafe for LOGGING_DATA_ACKED_DATA",1,["mavlink::uavionix::LOGGING_DATA_ACKED_DATA"]],["impl UnwindSafe for CANFD_FRAME_DATA",1,["mavlink::uavionix::CANFD_FRAME_DATA"]],["impl UnwindSafe for SCALED_IMU3_DATA",1,["mavlink::uavionix::SCALED_IMU3_DATA"]],["impl UnwindSafe for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_COV_DATA"]],["impl UnwindSafe for HIL_STATE_QUATERNION_DATA",1,["mavlink::uavionix::HIL_STATE_QUATERNION_DATA"]],["impl UnwindSafe for AUTH_KEY_DATA",1,["mavlink::uavionix::AUTH_KEY_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_LOCATION_DATA"]],["impl UnwindSafe for LOGGING_ACK_DATA",1,["mavlink::uavionix::LOGGING_ACK_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl UnwindSafe for SYSTEM_TIME_DATA",1,["mavlink::uavionix::SYSTEM_TIME_DATA"]],["impl UnwindSafe for SET_ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::SET_ATTITUDE_TARGET_DATA"]],["impl UnwindSafe for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::POSITION_TARGET_LOCAL_NED_DATA"]],["impl UnwindSafe for TERRAIN_CHECK_DATA",1,["mavlink::uavionix::TERRAIN_CHECK_DATA"]],["impl UnwindSafe for SYS_STATUS_DATA",1,["mavlink::uavionix::SYS_STATUS_DATA"]],["impl UnwindSafe for WIFI_CONFIG_AP_DATA",1,["mavlink::uavionix::WIFI_CONFIG_AP_DATA"]],["impl UnwindSafe for PING_DATA",1,["mavlink::uavionix::PING_DATA"]],["impl UnwindSafe for RC_CHANNELS_SCALED_DATA",1,["mavlink::uavionix::RC_CHANNELS_SCALED_DATA"]],["impl UnwindSafe for OPTICAL_FLOW_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl UnwindSafe for MavMessage",1,["mavlink::uavionix::MavMessage"]],["impl UnwindSafe for WifiConfigApResponse",1,["mavlink::common::WifiConfigApResponse"]],["impl UnwindSafe for FirmwareVersionType",1,["mavlink::common::FirmwareVersionType"]],["impl UnwindSafe for MavAutopilot",1,["mavlink::common::MavAutopilot"]],["impl UnwindSafe for FailureUnit",1,["mavlink::common::FailureUnit"]],["impl UnwindSafe for MavOdidClassEu",1,["mavlink::common::MavOdidClassEu"]],["impl UnwindSafe for CellularNetworkFailedReason",1,["mavlink::common::CellularNetworkFailedReason"]],["impl UnwindSafe for CellularNetworkRadioType",1,["mavlink::common::CellularNetworkRadioType"]],["impl UnwindSafe for MavOdidIdType",1,["mavlink::common::MavOdidIdType"]],["impl UnwindSafe for MavModeFlag",1,["mavlink::common::MavModeFlag"]],["impl UnwindSafe for MavOdidArmStatus",1,["mavlink::common::MavOdidArmStatus"]],["impl UnwindSafe for NavVtolLandOptions",1,["mavlink::common::NavVtolLandOptions"]],["impl UnwindSafe for GripperActions",1,["mavlink::common::GripperActions"]],["impl UnwindSafe for MavWinchStatusFlag",1,["mavlink::common::MavWinchStatusFlag"]],["impl UnwindSafe for ParachuteAction",1,["mavlink::common::ParachuteAction"]],["impl UnwindSafe for CompMetadataType",1,["mavlink::common::CompMetadataType"]],["impl UnwindSafe for AdsbEmitterType",1,["mavlink::common::AdsbEmitterType"]],["impl UnwindSafe for MavMode",1,["mavlink::common::MavMode"]],["impl UnwindSafe for MavOdidClassificationType",1,["mavlink::common::MavOdidClassificationType"]],["impl UnwindSafe for MavDistanceSensor",1,["mavlink::common::MavDistanceSensor"]],["impl UnwindSafe for PositionTargetTypemask",1,["mavlink::common::PositionTargetTypemask"]],["impl UnwindSafe for MavCmdAck",1,["mavlink::common::MavCmdAck"]],["impl UnwindSafe for UavcanNodeMode",1,["mavlink::common::UavcanNodeMode"]],["impl UnwindSafe for AdsbAltitudeType",1,["mavlink::common::AdsbAltitudeType"]],["impl UnwindSafe for GpsFixType",1,["mavlink::common::GpsFixType"]],["impl UnwindSafe for ParamAck",1,["mavlink::common::ParamAck"]],["impl UnwindSafe for MavComponent",1,["mavlink::common::MavComponent"]],["impl UnwindSafe for AisNavStatus",1,["mavlink::common::AisNavStatus"]],["impl UnwindSafe for MagCalStatus",1,["mavlink::common::MagCalStatus"]],["impl UnwindSafe for CameraZoomType",1,["mavlink::common::CameraZoomType"]],["impl UnwindSafe for MavOdidCategoryEu",1,["mavlink::common::MavOdidCategoryEu"]],["impl UnwindSafe for MavBatteryFunction",1,["mavlink::common::MavBatteryFunction"]],["impl UnwindSafe for WifiConfigApMode",1,["mavlink::common::WifiConfigApMode"]],["impl UnwindSafe for MavRoi",1,["mavlink::common::MavRoi"]],["impl UnwindSafe for AisFlags",1,["mavlink::common::AisFlags"]],["impl UnwindSafe for AisType",1,["mavlink::common::AisType"]],["impl UnwindSafe for MavOdidDescType",1,["mavlink::common::MavOdidDescType"]],["impl UnwindSafe for CanFilterOp",1,["mavlink::common::CanFilterOp"]],["impl UnwindSafe for MavFtpOpcode",1,["mavlink::common::MavFtpOpcode"]],["impl UnwindSafe for MavVtolState",1,["mavlink::common::MavVtolState"]],["impl UnwindSafe for MavState",1,["mavlink::common::MavState"]],["impl UnwindSafe for FenceBreach",1,["mavlink::common::FenceBreach"]],["impl UnwindSafe for SerialControlFlag",1,["mavlink::common::SerialControlFlag"]],["impl UnwindSafe for TuneFormat",1,["mavlink::common::TuneFormat"]],["impl UnwindSafe for MavSeverity",1,["mavlink::common::MavSeverity"]],["impl UnwindSafe for MavlinkDataStreamType",1,["mavlink::common::MavlinkDataStreamType"]],["impl UnwindSafe for AdsbFlags",1,["mavlink::common::AdsbFlags"]],["impl UnwindSafe for MavMountMode",1,["mavlink::common::MavMountMode"]],["impl UnwindSafe for FenceMitigate",1,["mavlink::common::FenceMitigate"]],["impl UnwindSafe for MavGeneratorStatusFlag",1,["mavlink::common::MavGeneratorStatusFlag"]],["impl UnwindSafe for MavBatteryChargeState",1,["mavlink::common::MavBatteryChargeState"]],["impl UnwindSafe for MavFtpErr",1,["mavlink::common::MavFtpErr"]],["impl UnwindSafe for CellularConfigResponse",1,["mavlink::common::CellularConfigResponse"]],["impl UnwindSafe for MavOdidOperatorIdType",1,["mavlink::common::MavOdidOperatorIdType"]],["impl UnwindSafe for MavOdidSpeedAcc",1,["mavlink::common::MavOdidSpeedAcc"]],["impl UnwindSafe for LandingTargetType",1,["mavlink::common::LandingTargetType"]],["impl UnwindSafe for MavCollisionThreatLevel",1,["mavlink::common::MavCollisionThreatLevel"]],["impl UnwindSafe for MavTunnelPayloadType",1,["mavlink::common::MavTunnelPayloadType"]],["impl UnwindSafe for MavEventErrorReason",1,["mavlink::common::MavEventErrorReason"]],["impl UnwindSafe for MavOdidVerAcc",1,["mavlink::common::MavOdidVerAcc"]],["impl UnwindSafe for MotorTestThrottleType",1,["mavlink::common::MotorTestThrottleType"]],["impl UnwindSafe for OrbitYawBehaviour",1,["mavlink::common::OrbitYawBehaviour"]],["impl UnwindSafe for ActuatorConfiguration",1,["mavlink::common::ActuatorConfiguration"]],["impl UnwindSafe for MavEstimatorType",1,["mavlink::common::MavEstimatorType"]],["impl UnwindSafe for EstimatorStatusFlags",1,["mavlink::common::EstimatorStatusFlags"]],["impl UnwindSafe for FailureType",1,["mavlink::common::FailureType"]],["impl UnwindSafe for PreflightStorageParameterAction",1,["mavlink::common::PreflightStorageParameterAction"]],["impl UnwindSafe for MavParamType",1,["mavlink::common::MavParamType"]],["impl UnwindSafe for MavModeFlagDecodePosition",1,["mavlink::common::MavModeFlagDecodePosition"]],["impl UnwindSafe for StorageUsageFlag",1,["mavlink::common::StorageUsageFlag"]],["impl UnwindSafe for MavEventCurrentSequenceFlags",1,["mavlink::common::MavEventCurrentSequenceFlags"]],["impl UnwindSafe for MavGoto",1,["mavlink::common::MavGoto"]],["impl UnwindSafe for GimbalDeviceCapFlags",1,["mavlink::common::GimbalDeviceCapFlags"]],["impl UnwindSafe for VtolTransitionHeading",1,["mavlink::common::VtolTransitionHeading"]],["impl UnwindSafe for GimbalDeviceFlags",1,["mavlink::common::GimbalDeviceFlags"]],["impl UnwindSafe for SerialControlDev",1,["mavlink::common::SerialControlDev"]],["impl UnwindSafe for MavSysStatusSensor",1,["mavlink::common::MavSysStatusSensor"]],["impl UnwindSafe for MavDataStream",1,["mavlink::common::MavDataStream"]],["impl UnwindSafe for MavCollisionSrc",1,["mavlink::common::MavCollisionSrc"]],["impl UnwindSafe for VideoStreamStatusFlags",1,["mavlink::common::VideoStreamStatusFlags"]],["impl UnwindSafe for CameraTrackingStatusFlags",1,["mavlink::common::CameraTrackingStatusFlags"]],["impl UnwindSafe for RcType",1,["mavlink::common::RcType"]],["impl UnwindSafe for AttitudeTargetTypemask",1,["mavlink::common::AttitudeTargetTypemask"]],["impl UnwindSafe for MavOdidAuthType",1,["mavlink::common::MavOdidAuthType"]],["impl UnwindSafe for GimbalDeviceErrorFlags",1,["mavlink::common::GimbalDeviceErrorFlags"]],["impl UnwindSafe for GimbalManagerFlags",1,["mavlink::common::GimbalManagerFlags"]],["impl UnwindSafe for ActuatorOutputFunction",1,["mavlink::common::ActuatorOutputFunction"]],["impl UnwindSafe for MavProtocolCapability",1,["mavlink::common::MavProtocolCapability"]],["impl UnwindSafe for MavCmd",1,["mavlink::common::MavCmd"]],["impl UnwindSafe for MavBatteryType",1,["mavlink::common::MavBatteryType"]],["impl UnwindSafe for WinchActions",1,["mavlink::common::WinchActions"]],["impl UnwindSafe for MavOdidUaType",1,["mavlink::common::MavOdidUaType"]],["impl UnwindSafe for MavOdidStatus",1,["mavlink::common::MavOdidStatus"]],["impl UnwindSafe for HlFailureFlag",1,["mavlink::common::HlFailureFlag"]],["impl UnwindSafe for UtmDataAvailFlags",1,["mavlink::common::UtmDataAvailFlags"]],["impl UnwindSafe for RtkBaselineCoordinateSystem",1,["mavlink::common::RtkBaselineCoordinateSystem"]],["impl UnwindSafe for PreflightStorageMissionAction",1,["mavlink::common::PreflightStorageMissionAction"]],["impl UnwindSafe for StorageType",1,["mavlink::common::StorageType"]],["impl UnwindSafe for MavCollisionAction",1,["mavlink::common::MavCollisionAction"]],["impl UnwindSafe for MavFrame",1,["mavlink::common::MavFrame"]],["impl UnwindSafe for CameraCapFlags",1,["mavlink::common::CameraCapFlags"]],["impl UnwindSafe for CameraTrackingTargetData",1,["mavlink::common::CameraTrackingTargetData"]],["impl UnwindSafe for CameraMode",1,["mavlink::common::CameraMode"]],["impl UnwindSafe for EscConnectionType",1,["mavlink::common::EscConnectionType"]],["impl UnwindSafe for UavcanNodeHealth",1,["mavlink::common::UavcanNodeHealth"]],["impl UnwindSafe for MavParamExtType",1,["mavlink::common::MavParamExtType"]],["impl UnwindSafe for MavOdidHorAcc",1,["mavlink::common::MavOdidHorAcc"]],["impl UnwindSafe for GimbalManagerCapFlags",1,["mavlink::common::GimbalManagerCapFlags"]],["impl UnwindSafe for MavMissionResult",1,["mavlink::common::MavMissionResult"]],["impl UnwindSafe for CellularStatusFlag",1,["mavlink::common::CellularStatusFlag"]],["impl UnwindSafe for MavPowerStatus",1,["mavlink::common::MavPowerStatus"]],["impl UnwindSafe for CameraTrackingMode",1,["mavlink::common::CameraTrackingMode"]],["impl UnwindSafe for GpsInputIgnoreFlags",1,["mavlink::common::GpsInputIgnoreFlags"]],["impl UnwindSafe for VideoStreamType",1,["mavlink::common::VideoStreamType"]],["impl UnwindSafe for FenceAction",1,["mavlink::common::FenceAction"]],["impl UnwindSafe for PrecisionLandMode",1,["mavlink::common::PrecisionLandMode"]],["impl UnwindSafe for MavSensorOrientation",1,["mavlink::common::MavSensorOrientation"]],["impl UnwindSafe for MavMissionType",1,["mavlink::common::MavMissionType"]],["impl UnwindSafe for MavType",1,["mavlink::common::MavType"]],["impl UnwindSafe for MavOdidOperatorLocationType",1,["mavlink::common::MavOdidOperatorLocationType"]],["impl UnwindSafe for MavResult",1,["mavlink::common::MavResult"]],["impl UnwindSafe for MissionState",1,["mavlink::common::MissionState"]],["impl UnwindSafe for StorageStatus",1,["mavlink::common::StorageStatus"]],["impl UnwindSafe for MavArmAuthDeniedReason",1,["mavlink::common::MavArmAuthDeniedReason"]],["impl UnwindSafe for AutotuneAxis",1,["mavlink::common::AutotuneAxis"]],["impl UnwindSafe for HighresImuUpdatedFlags",1,["mavlink::common::HighresImuUpdatedFlags"]],["impl UnwindSafe for UtmFlightState",1,["mavlink::common::UtmFlightState"]],["impl UnwindSafe for MavDoRepositionFlags",1,["mavlink::common::MavDoRepositionFlags"]],["impl UnwindSafe for MavOdidTimeAcc",1,["mavlink::common::MavOdidTimeAcc"]],["impl UnwindSafe for MavBatteryMode",1,["mavlink::common::MavBatteryMode"]],["impl UnwindSafe for MavSysStatusSensorExtended",1,["mavlink::common::MavSysStatusSensorExtended"]],["impl UnwindSafe for MavLandedState",1,["mavlink::common::MavLandedState"]],["impl UnwindSafe for MavBatteryFault",1,["mavlink::common::MavBatteryFault"]],["impl UnwindSafe for SetFocusType",1,["mavlink::common::SetFocusType"]],["impl UnwindSafe for MavOdidHeightRef",1,["mavlink::common::MavOdidHeightRef"]],["impl UnwindSafe for HilSensorUpdatedFlags",1,["mavlink::common::HilSensorUpdatedFlags"]],["impl UnwindSafe for MotorTestOrder",1,["mavlink::common::MotorTestOrder"]],["impl UnwindSafe for EscFailureFlags",1,["mavlink::common::EscFailureFlags"]],["impl UnwindSafe for MISSION_CLEAR_ALL_DATA",1,["mavlink::common::MISSION_CLEAR_ALL_DATA"]],["impl UnwindSafe for COMMAND_INT_DATA",1,["mavlink::common::COMMAND_INT_DATA"]],["impl UnwindSafe for COLLISION_DATA",1,["mavlink::common::COLLISION_DATA"]],["impl UnwindSafe for RC_CHANNELS_RAW_DATA",1,["mavlink::common::RC_CHANNELS_RAW_DATA"]],["impl UnwindSafe for OPTICAL_FLOW_RAD_DATA",1,["mavlink::common::OPTICAL_FLOW_RAD_DATA"]],["impl UnwindSafe for LOGGING_ACK_DATA",1,["mavlink::common::LOGGING_ACK_DATA"]],["impl UnwindSafe for WIFI_CONFIG_AP_DATA",1,["mavlink::common::WIFI_CONFIG_AP_DATA"]],["impl UnwindSafe for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl UnwindSafe for MANUAL_CONTROL_DATA",1,["mavlink::common::MANUAL_CONTROL_DATA"]],["impl UnwindSafe for SMART_BATTERY_INFO_DATA",1,["mavlink::common::SMART_BATTERY_INFO_DATA"]],["impl UnwindSafe for COMMAND_CANCEL_DATA",1,["mavlink::common::COMMAND_CANCEL_DATA"]],["impl UnwindSafe for LOG_ENTRY_DATA",1,["mavlink::common::LOG_ENTRY_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl UnwindSafe for SCALED_PRESSURE2_DATA",1,["mavlink::common::SCALED_PRESSURE2_DATA"]],["impl UnwindSafe for CAMERA_TRIGGER_DATA",1,["mavlink::common::CAMERA_TRIGGER_DATA"]],["impl UnwindSafe for SET_HOME_POSITION_DATA",1,["mavlink::common::SET_HOME_POSITION_DATA"]],["impl UnwindSafe for RAW_IMU_DATA",1,["mavlink::common::RAW_IMU_DATA"]],["impl UnwindSafe for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl UnwindSafe for COMPONENT_METADATA_DATA",1,["mavlink::common::COMPONENT_METADATA_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::common::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl UnwindSafe for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::ACTUATOR_CONTROL_TARGET_DATA"]],["impl UnwindSafe for MISSION_CURRENT_DATA",1,["mavlink::common::MISSION_CURRENT_DATA"]],["impl UnwindSafe for LOG_REQUEST_END_DATA",1,["mavlink::common::LOG_REQUEST_END_DATA"]],["impl UnwindSafe for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::common::FILE_TRANSFER_PROTOCOL_DATA"]],["impl UnwindSafe for BATTERY_STATUS_DATA",1,["mavlink::common::BATTERY_STATUS_DATA"]],["impl UnwindSafe for LANDING_TARGET_DATA",1,["mavlink::common::LANDING_TARGET_DATA"]],["impl UnwindSafe for MESSAGE_INTERVAL_DATA",1,["mavlink::common::MESSAGE_INTERVAL_DATA"]],["impl UnwindSafe for WHEEL_DISTANCE_DATA",1,["mavlink::common::WHEEL_DISTANCE_DATA"]],["impl UnwindSafe for MISSION_COUNT_DATA",1,["mavlink::common::MISSION_COUNT_DATA"]],["impl UnwindSafe for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::common::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl UnwindSafe for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_DATA"]],["impl UnwindSafe for HIL_STATE_DATA",1,["mavlink::common::HIL_STATE_DATA"]],["impl UnwindSafe for HIL_SENSOR_DATA",1,["mavlink::common::HIL_SENSOR_DATA"]],["impl UnwindSafe for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_READ_DATA"]],["impl UnwindSafe for SCALED_PRESSURE_DATA",1,["mavlink::common::SCALED_PRESSURE_DATA"]],["impl UnwindSafe for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl UnwindSafe for ENCAPSULATED_DATA_DATA",1,["mavlink::common::ENCAPSULATED_DATA_DATA"]],["impl UnwindSafe for COMPONENT_INFORMATION_DATA",1,["mavlink::common::COMPONENT_INFORMATION_DATA"]],["impl UnwindSafe for VIDEO_STREAM_STATUS_DATA",1,["mavlink::common::VIDEO_STREAM_STATUS_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::common::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl UnwindSafe for HIL_GPS_DATA",1,["mavlink::common::HIL_GPS_DATA"]],["impl UnwindSafe for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_COV_DATA"]],["impl UnwindSafe for TERRAIN_REPORT_DATA",1,["mavlink::common::TERRAIN_REPORT_DATA"]],["impl UnwindSafe for AIS_VESSEL_DATA",1,["mavlink::common::AIS_VESSEL_DATA"]],["impl UnwindSafe for ODOMETRY_DATA",1,["mavlink::common::ODOMETRY_DATA"]],["impl UnwindSafe for SUPPORTED_TUNES_DATA",1,["mavlink::common::SUPPORTED_TUNES_DATA"]],["impl UnwindSafe for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::common::CONTROL_SYSTEM_STATE_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl UnwindSafe for ATT_POS_MOCAP_DATA",1,["mavlink::common::ATT_POS_MOCAP_DATA"]],["impl UnwindSafe for LOGGING_DATA_DATA",1,["mavlink::common::LOGGING_DATA_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::common::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl UnwindSafe for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl UnwindSafe for SETUP_SIGNING_DATA",1,["mavlink::common::SETUP_SIGNING_DATA"]],["impl UnwindSafe for PARAM_EXT_ACK_DATA",1,["mavlink::common::PARAM_EXT_ACK_DATA"]],["impl UnwindSafe for RADIO_STATUS_DATA",1,["mavlink::common::RADIO_STATUS_DATA"]],["impl UnwindSafe for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::common::RESPONSE_EVENT_ERROR_DATA"]],["impl UnwindSafe for SIM_STATE_DATA",1,["mavlink::common::SIM_STATE_DATA"]],["impl UnwindSafe for FENCE_STATUS_DATA",1,["mavlink::common::FENCE_STATUS_DATA"]],["impl UnwindSafe for RESOURCE_REQUEST_DATA",1,["mavlink::common::RESOURCE_REQUEST_DATA"]],["impl UnwindSafe for TERRAIN_DATA_DATA",1,["mavlink::common::TERRAIN_DATA_DATA"]],["impl UnwindSafe for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::common::VICON_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for EXTENDED_SYS_STATE_DATA",1,["mavlink::common::EXTENDED_SYS_STATE_DATA"]],["impl UnwindSafe for HEARTBEAT_DATA",1,["mavlink::common::HEARTBEAT_DATA"]],["impl UnwindSafe for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::common::VIDEO_STREAM_INFORMATION_DATA"]],["impl UnwindSafe for MISSION_REQUEST_INT_DATA",1,["mavlink::common::MISSION_REQUEST_INT_DATA"]],["impl UnwindSafe for CAN_FILTER_MODIFY_DATA",1,["mavlink::common::CAN_FILTER_MODIFY_DATA"]],["impl UnwindSafe for MISSION_ITEM_INT_DATA",1,["mavlink::common::MISSION_ITEM_INT_DATA"]],["impl UnwindSafe for HIGHRES_IMU_DATA",1,["mavlink::common::HIGHRES_IMU_DATA"]],["impl UnwindSafe for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl UnwindSafe for DEBUG_DATA",1,["mavlink::common::DEBUG_DATA"]],["impl UnwindSafe for CAMERA_SETTINGS_DATA",1,["mavlink::common::CAMERA_SETTINGS_DATA"]],["impl UnwindSafe for MISSION_REQUEST_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_LIST_DATA"]],["impl UnwindSafe for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::POSITION_TARGET_LOCAL_NED_DATA"]],["impl UnwindSafe for SCALED_IMU_DATA",1,["mavlink::common::SCALED_IMU_DATA"]],["impl UnwindSafe for WIND_COV_DATA",1,["mavlink::common::WIND_COV_DATA"]],["impl UnwindSafe for MISSION_REQUEST_DATA",1,["mavlink::common::MISSION_REQUEST_DATA"]],["impl UnwindSafe for SERIAL_CONTROL_DATA",1,["mavlink::common::SERIAL_CONTROL_DATA"]],["impl UnwindSafe for PARAM_REQUEST_READ_DATA",1,["mavlink::common::PARAM_REQUEST_READ_DATA"]],["impl UnwindSafe for GPS2_RTK_DATA",1,["mavlink::common::GPS2_RTK_DATA"]],["impl UnwindSafe for COMMAND_ACK_DATA",1,["mavlink::common::COMMAND_ACK_DATA"]],["impl UnwindSafe for POWER_STATUS_DATA",1,["mavlink::common::POWER_STATUS_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::common::GIMBAL_MANAGER_STATUS_DATA"]],["impl UnwindSafe for GLOBAL_POSITION_INT_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_DATA"]],["impl UnwindSafe for PARAM_SET_DATA",1,["mavlink::common::PARAM_SET_DATA"]],["impl UnwindSafe for OPTICAL_FLOW_DATA",1,["mavlink::common::OPTICAL_FLOW_DATA"]],["impl UnwindSafe for RC_CHANNELS_SCALED_DATA",1,["mavlink::common::RC_CHANNELS_SCALED_DATA"]],["impl UnwindSafe for GPS_INJECT_DATA_DATA",1,["mavlink::common::GPS_INJECT_DATA_DATA"]],["impl UnwindSafe for PARAM_VALUE_DATA",1,["mavlink::common::PARAM_VALUE_DATA"]],["impl UnwindSafe for RC_CHANNELS_DATA",1,["mavlink::common::RC_CHANNELS_DATA"]],["impl UnwindSafe for ESTIMATOR_STATUS_DATA",1,["mavlink::common::ESTIMATOR_STATUS_DATA"]],["impl UnwindSafe for TIMESYNC_DATA",1,["mavlink::common::TIMESYNC_DATA"]],["impl UnwindSafe for SCALED_PRESSURE3_DATA",1,["mavlink::common::SCALED_PRESSURE3_DATA"]],["impl UnwindSafe for DATA_STREAM_DATA",1,["mavlink::common::DATA_STREAM_DATA"]],["impl UnwindSafe for HOME_POSITION_DATA",1,["mavlink::common::HOME_POSITION_DATA"]],["impl UnwindSafe for MEMORY_VECT_DATA",1,["mavlink::common::MEMORY_VECT_DATA"]],["impl UnwindSafe for NAMED_VALUE_FLOAT_DATA",1,["mavlink::common::NAMED_VALUE_FLOAT_DATA"]],["impl UnwindSafe for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::common::NAV_CONTROLLER_OUTPUT_DATA"]],["impl UnwindSafe for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl UnwindSafe for STATUSTEXT_DATA",1,["mavlink::common::STATUSTEXT_DATA"]],["impl UnwindSafe for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl UnwindSafe for UAVCAN_NODE_STATUS_DATA",1,["mavlink::common::UAVCAN_NODE_STATUS_DATA"]],["impl UnwindSafe for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::GPS_GLOBAL_ORIGIN_DATA"]],["impl UnwindSafe for EFI_STATUS_DATA",1,["mavlink::common::EFI_STATUS_DATA"]],["impl UnwindSafe for ATTITUDE_QUATERNION_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_DATA"]],["impl UnwindSafe for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::common::CAMERA_IMAGE_CAPTURED_DATA"]],["impl UnwindSafe for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl UnwindSafe for CELLULAR_STATUS_DATA",1,["mavlink::common::CELLULAR_STATUS_DATA"]],["impl UnwindSafe for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::common::ORBIT_EXECUTION_STATUS_DATA"]],["impl UnwindSafe for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::common::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl UnwindSafe for RAW_PRESSURE_DATA",1,["mavlink::common::RAW_PRESSURE_DATA"]],["impl UnwindSafe for WINCH_STATUS_DATA",1,["mavlink::common::WINCH_STATUS_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl UnwindSafe for ATTITUDE_TARGET_DATA",1,["mavlink::common::ATTITUDE_TARGET_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::common::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl UnwindSafe for ISBD_LINK_STATUS_DATA",1,["mavlink::common::ISBD_LINK_STATUS_DATA"]],["impl UnwindSafe for TUNNEL_DATA",1,["mavlink::common::TUNNEL_DATA"]],["impl UnwindSafe for OBSTACLE_DISTANCE_DATA",1,["mavlink::common::OBSTACLE_DISTANCE_DATA"]],["impl UnwindSafe for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_ALLOWED_AREA_DATA"]],["impl UnwindSafe for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::common::DEBUG_FLOAT_ARRAY_DATA"]],["impl UnwindSafe for SERVO_OUTPUT_RAW_DATA",1,["mavlink::common::SERVO_OUTPUT_RAW_DATA"]],["impl UnwindSafe for DISTANCE_SENSOR_DATA",1,["mavlink::common::DISTANCE_SENSOR_DATA"]],["impl UnwindSafe for PARAM_MAP_RC_DATA",1,["mavlink::common::PARAM_MAP_RC_DATA"]],["impl UnwindSafe for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl UnwindSafe for GENERATOR_STATUS_DATA",1,["mavlink::common::GENERATOR_STATUS_DATA"]],["impl UnwindSafe for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl UnwindSafe for CAN_FRAME_DATA",1,["mavlink::common::CAN_FRAME_DATA"]],["impl UnwindSafe for SCALED_IMU2_DATA",1,["mavlink::common::SCALED_IMU2_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_LOCATION_DATA"]],["impl UnwindSafe for COMMAND_LONG_DATA",1,["mavlink::common::COMMAND_LONG_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::common::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl UnwindSafe for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl UnwindSafe for HIL_CONTROLS_DATA",1,["mavlink::common::HIL_CONTROLS_DATA"]],["impl UnwindSafe for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl UnwindSafe for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_COV_DATA"]],["impl UnwindSafe for REQUEST_DATA_STREAM_DATA",1,["mavlink::common::REQUEST_DATA_STREAM_DATA"]],["impl UnwindSafe for LOG_ERASE_DATA",1,["mavlink::common::LOG_ERASE_DATA"]],["impl UnwindSafe for GPS_RTCM_DATA_DATA",1,["mavlink::common::GPS_RTCM_DATA_DATA"]],["impl UnwindSafe for MOUNT_ORIENTATION_DATA",1,["mavlink::common::MOUNT_ORIENTATION_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl UnwindSafe for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::common::HIL_RC_INPUTS_RAW_DATA"]],["impl UnwindSafe for MISSION_ITEM_REACHED_DATA",1,["mavlink::common::MISSION_ITEM_REACHED_DATA"]],["impl UnwindSafe for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::common::HIL_ACTUATOR_CONTROLS_DATA"]],["impl UnwindSafe for SET_MODE_DATA",1,["mavlink::common::SET_MODE_DATA"]],["impl UnwindSafe for LOG_REQUEST_LIST_DATA",1,["mavlink::common::LOG_REQUEST_LIST_DATA"]],["impl UnwindSafe for HIGH_LATENCY2_DATA",1,["mavlink::common::HIGH_LATENCY2_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl UnwindSafe for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_LIST_DATA"]],["impl UnwindSafe for SYSTEM_TIME_DATA",1,["mavlink::common::SYSTEM_TIME_DATA"]],["impl UnwindSafe for MISSION_ITEM_DATA",1,["mavlink::common::MISSION_ITEM_DATA"]],["impl UnwindSafe for STORAGE_INFORMATION_DATA",1,["mavlink::common::STORAGE_INFORMATION_DATA"]],["impl UnwindSafe for GPS_RAW_INT_DATA",1,["mavlink::common::GPS_RAW_INT_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::common::LOCAL_POSITION_NED_COV_DATA"]],["impl UnwindSafe for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::common::RC_CHANNELS_OVERRIDE_DATA"]],["impl UnwindSafe for PROTOCOL_VERSION_DATA",1,["mavlink::common::PROTOCOL_VERSION_DATA"]],["impl UnwindSafe for PARAM_EXT_VALUE_DATA",1,["mavlink::common::PARAM_EXT_VALUE_DATA"]],["impl UnwindSafe for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::common::CURRENT_EVENT_SEQUENCE_DATA"]],["impl UnwindSafe for PARAM_EXT_SET_DATA",1,["mavlink::common::PARAM_EXT_SET_DATA"]],["impl UnwindSafe for ESC_INFO_DATA",1,["mavlink::common::ESC_INFO_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl UnwindSafe for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::common::VISION_SPEED_ESTIMATE_DATA"]],["impl UnwindSafe for LOGGING_DATA_ACKED_DATA",1,["mavlink::common::LOGGING_DATA_ACKED_DATA"]],["impl UnwindSafe for ESC_STATUS_DATA",1,["mavlink::common::ESC_STATUS_DATA"]],["impl UnwindSafe for PARAM_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_REQUEST_LIST_DATA"]],["impl UnwindSafe for CAMERA_INFORMATION_DATA",1,["mavlink::common::CAMERA_INFORMATION_DATA"]],["impl UnwindSafe for ATTITUDE_DATA",1,["mavlink::common::ATTITUDE_DATA"]],["impl UnwindSafe for CELLULAR_CONFIG_DATA",1,["mavlink::common::CELLULAR_CONFIG_DATA"]],["impl UnwindSafe for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for ALTITUDE_DATA",1,["mavlink::common::ALTITUDE_DATA"]],["impl UnwindSafe for GPS2_RAW_DATA",1,["mavlink::common::GPS2_RAW_DATA"]],["impl UnwindSafe for FOLLOW_TARGET_DATA",1,["mavlink::common::FOLLOW_TARGET_DATA"]],["impl UnwindSafe for LINK_NODE_STATUS_DATA",1,["mavlink::common::LINK_NODE_STATUS_DATA"]],["impl UnwindSafe for GPS_INPUT_DATA",1,["mavlink::common::GPS_INPUT_DATA"]],["impl UnwindSafe for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::common::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl UnwindSafe for GPS_RTK_DATA",1,["mavlink::common::GPS_RTK_DATA"]],["impl UnwindSafe for TERRAIN_CHECK_DATA",1,["mavlink::common::TERRAIN_CHECK_DATA"]],["impl UnwindSafe for MANUAL_SETPOINT_DATA",1,["mavlink::common::MANUAL_SETPOINT_DATA"]],["impl UnwindSafe for SCALED_IMU3_DATA",1,["mavlink::common::SCALED_IMU3_DATA"]],["impl UnwindSafe for MAG_CAL_REPORT_DATA",1,["mavlink::common::MAG_CAL_REPORT_DATA"]],["impl UnwindSafe for ADSB_VEHICLE_DATA",1,["mavlink::common::ADSB_VEHICLE_DATA"]],["impl UnwindSafe for DEBUG_VECT_DATA",1,["mavlink::common::DEBUG_VECT_DATA"]],["impl UnwindSafe for VIBRATION_DATA",1,["mavlink::common::VIBRATION_DATA"]],["impl UnwindSafe for PLAY_TUNE_DATA",1,["mavlink::common::PLAY_TUNE_DATA"]],["impl UnwindSafe for CAMERA_FOV_STATUS_DATA",1,["mavlink::common::CAMERA_FOV_STATUS_DATA"]],["impl UnwindSafe for HIL_STATE_QUATERNION_DATA",1,["mavlink::common::HIL_STATE_QUATERNION_DATA"]],["impl UnwindSafe for RAW_RPM_DATA",1,["mavlink::common::RAW_RPM_DATA"]],["impl UnwindSafe for SYS_STATUS_DATA",1,["mavlink::common::SYS_STATUS_DATA"]],["impl UnwindSafe for MISSION_ACK_DATA",1,["mavlink::common::MISSION_ACK_DATA"]],["impl UnwindSafe for LOG_REQUEST_DATA_DATA",1,["mavlink::common::LOG_REQUEST_DATA_DATA"]],["impl UnwindSafe for UTM_GLOBAL_POSITION_DATA",1,["mavlink::common::UTM_GLOBAL_POSITION_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::common::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl UnwindSafe for HIL_OPTICAL_FLOW_DATA",1,["mavlink::common::HIL_OPTICAL_FLOW_DATA"]],["impl UnwindSafe for LOG_DATA_DATA",1,["mavlink::common::LOG_DATA_DATA"]],["impl UnwindSafe for BUTTON_CHANGE_DATA",1,["mavlink::common::BUTTON_CHANGE_DATA"]],["impl UnwindSafe for V2_EXTENSION_DATA",1,["mavlink::common::V2_EXTENSION_DATA"]],["impl UnwindSafe for FLIGHT_INFORMATION_DATA",1,["mavlink::common::FLIGHT_INFORMATION_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl UnwindSafe for EVENT_DATA",1,["mavlink::common::EVENT_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl UnwindSafe for AUTH_KEY_DATA",1,["mavlink::common::AUTH_KEY_DATA"]],["impl UnwindSafe for HYGROMETER_SENSOR_DATA",1,["mavlink::common::HYGROMETER_SENSOR_DATA"]],["impl UnwindSafe for GPS_STATUS_DATA",1,["mavlink::common::GPS_STATUS_DATA"]],["impl UnwindSafe for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::common::ONBOARD_COMPUTER_STATUS_DATA"]],["impl UnwindSafe for NAMED_VALUE_INT_DATA",1,["mavlink::common::NAMED_VALUE_INT_DATA"]],["impl UnwindSafe for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::common::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl UnwindSafe for PLAY_TUNE_V2_DATA",1,["mavlink::common::PLAY_TUNE_V2_DATA"]],["impl UnwindSafe for SET_ATTITUDE_TARGET_DATA",1,["mavlink::common::SET_ATTITUDE_TARGET_DATA"]],["impl UnwindSafe for CANFD_FRAME_DATA",1,["mavlink::common::CANFD_FRAME_DATA"]],["impl UnwindSafe for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::common::CAMERA_CAPTURE_STATUS_DATA"]],["impl UnwindSafe for REQUEST_EVENT_DATA",1,["mavlink::common::REQUEST_EVENT_DATA"]],["impl UnwindSafe for VFR_HUD_DATA",1,["mavlink::common::VFR_HUD_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_DATA",1,["mavlink::common::LOCAL_POSITION_NED_DATA"]],["impl UnwindSafe for AUTOPILOT_VERSION_DATA",1,["mavlink::common::AUTOPILOT_VERSION_DATA"]],["impl UnwindSafe for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::VISION_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for UAVCAN_NODE_INFO_DATA",1,["mavlink::common::UAVCAN_NODE_INFO_DATA"]],["impl UnwindSafe for TERRAIN_REQUEST_DATA",1,["mavlink::common::TERRAIN_REQUEST_DATA"]],["impl UnwindSafe for PING_DATA",1,["mavlink::common::PING_DATA"]],["impl UnwindSafe for MISSION_SET_CURRENT_DATA",1,["mavlink::common::MISSION_SET_CURRENT_DATA"]],["impl UnwindSafe for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl UnwindSafe for HIGH_LATENCY_DATA",1,["mavlink::common::HIGH_LATENCY_DATA"]],["impl UnwindSafe for MavMessage",1,["mavlink::common::MavMessage"]],["impl<'a> UnwindSafe for Bytes<'a>",1,["mavlink::bytes::Bytes"]],["impl<'a> !UnwindSafe for BytesMut<'a>",1,["mavlink::bytes_mut::BytesMut"]],["impl UnwindSafe for ParserError",1,["mavlink::error::ParserError"]],["impl !UnwindSafe for MessageReadError",1,["mavlink::error::MessageReadError"]],["impl !UnwindSafe for MessageWriteError",1,["mavlink::error::MessageWriteError"]],["impl UnwindSafe for MavHeader",1,["mavlink::MavHeader"]],["impl UnwindSafe for MavlinkVersion",1,["mavlink::MavlinkVersion"]],["impl<M> UnwindSafe for MavFrame<M>where\n M: UnwindSafe,",1,["mavlink::MavFrame"]],["impl UnwindSafe for MAVLinkV1MessageRaw",1,["mavlink::MAVLinkV1MessageRaw"]],["impl UnwindSafe for MAVLinkV2MessageRaw",1,["mavlink::MAVLinkV2MessageRaw"]]], +"mavlink":[["impl UnwindSafe for IcarousTrackBandTypes",1,["mavlink::icarous::IcarousTrackBandTypes"]],["impl UnwindSafe for IcarousFmsState",1,["mavlink::icarous::IcarousFmsState"]],["impl UnwindSafe for ICAROUS_HEARTBEAT_DATA",1,["mavlink::icarous::ICAROUS_HEARTBEAT_DATA"]],["impl UnwindSafe for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::icarous::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl UnwindSafe for MavMessage",1,["mavlink::icarous::MavMessage"]],["impl UnwindSafe for GoproCharging",1,["mavlink::ardupilotmega::GoproCharging"]],["impl UnwindSafe for GimbalAxisCalibrationStatus",1,["mavlink::ardupilotmega::GimbalAxisCalibrationStatus"]],["impl UnwindSafe for EkfStatusFlags",1,["mavlink::ardupilotmega::EkfStatusFlags"]],["impl UnwindSafe for GoproHeartbeatStatus",1,["mavlink::ardupilotmega::GoproHeartbeatStatus"]],["impl UnwindSafe for PlaneMode",1,["mavlink::ardupilotmega::PlaneMode"]],["impl UnwindSafe for CopterMode",1,["mavlink::ardupilotmega::CopterMode"]],["impl UnwindSafe for SerialControlDev",1,["mavlink::ardupilotmega::SerialControlDev"]],["impl UnwindSafe for FenceAction",1,["mavlink::ardupilotmega::FenceAction"]],["impl UnwindSafe for PrecisionLandMode",1,["mavlink::ardupilotmega::PrecisionLandMode"]],["impl UnwindSafe for SerialControlFlag",1,["mavlink::ardupilotmega::SerialControlFlag"]],["impl UnwindSafe for CameraStatusTypes",1,["mavlink::ardupilotmega::CameraStatusTypes"]],["impl UnwindSafe for MavModeFlagDecodePosition",1,["mavlink::ardupilotmega::MavModeFlagDecodePosition"]],["impl UnwindSafe for GoproBurstRate",1,["mavlink::ardupilotmega::GoproBurstRate"]],["impl UnwindSafe for MavLandedState",1,["mavlink::ardupilotmega::MavLandedState"]],["impl UnwindSafe for CanFilterOp",1,["mavlink::ardupilotmega::CanFilterOp"]],["impl UnwindSafe for MavOdidDescType",1,["mavlink::ardupilotmega::MavOdidDescType"]],["impl UnwindSafe for ActuatorConfiguration",1,["mavlink::ardupilotmega::ActuatorConfiguration"]],["impl UnwindSafe for FirmwareVersionType",1,["mavlink::ardupilotmega::FirmwareVersionType"]],["impl UnwindSafe for RallyFlags",1,["mavlink::ardupilotmega::RallyFlags"]],["impl UnwindSafe for GoproFrameRate",1,["mavlink::ardupilotmega::GoproFrameRate"]],["impl UnwindSafe for EstimatorStatusFlags",1,["mavlink::ardupilotmega::EstimatorStatusFlags"]],["impl UnwindSafe for EscConnectionType",1,["mavlink::ardupilotmega::EscConnectionType"]],["impl UnwindSafe for MavMode",1,["mavlink::ardupilotmega::MavMode"]],["impl UnwindSafe for MavOdidSpeedAcc",1,["mavlink::ardupilotmega::MavOdidSpeedAcc"]],["impl UnwindSafe for HighresImuUpdatedFlags",1,["mavlink::ardupilotmega::HighresImuUpdatedFlags"]],["impl UnwindSafe for FenceBreach",1,["mavlink::ardupilotmega::FenceBreach"]],["impl UnwindSafe for MissionState",1,["mavlink::ardupilotmega::MissionState"]],["impl UnwindSafe for MotorTestOrder",1,["mavlink::ardupilotmega::MotorTestOrder"]],["impl UnwindSafe for MavEventErrorReason",1,["mavlink::ardupilotmega::MavEventErrorReason"]],["impl UnwindSafe for TuneFormat",1,["mavlink::ardupilotmega::TuneFormat"]],["impl UnwindSafe for RcType",1,["mavlink::ardupilotmega::RcType"]],["impl UnwindSafe for MavFtpOpcode",1,["mavlink::ardupilotmega::MavFtpOpcode"]],["impl UnwindSafe for GimbalDeviceFlags",1,["mavlink::ardupilotmega::GimbalDeviceFlags"]],["impl UnwindSafe for MavEstimatorType",1,["mavlink::ardupilotmega::MavEstimatorType"]],["impl UnwindSafe for UavcanNodeHealth",1,["mavlink::ardupilotmega::UavcanNodeHealth"]],["impl UnwindSafe for UavionixAdsbOutRfSelect",1,["mavlink::ardupilotmega::UavionixAdsbOutRfSelect"]],["impl UnwindSafe for MavGoto",1,["mavlink::ardupilotmega::MavGoto"]],["impl UnwindSafe for MavGeneratorStatusFlag",1,["mavlink::ardupilotmega::MavGeneratorStatusFlag"]],["impl UnwindSafe for SpeedType",1,["mavlink::ardupilotmega::SpeedType"]],["impl UnwindSafe for GoproPhotoResolution",1,["mavlink::ardupilotmega::GoproPhotoResolution"]],["impl UnwindSafe for MavBatteryFault",1,["mavlink::ardupilotmega::MavBatteryFault"]],["impl UnwindSafe for MavCmdDoAuxFunctionSwitchLevel",1,["mavlink::ardupilotmega::MavCmdDoAuxFunctionSwitchLevel"]],["impl UnwindSafe for MavSysStatusSensor",1,["mavlink::ardupilotmega::MavSysStatusSensor"]],["impl UnwindSafe for WinchActions",1,["mavlink::ardupilotmega::WinchActions"]],["impl UnwindSafe for MavFrame",1,["mavlink::ardupilotmega::MavFrame"]],["impl UnwindSafe for CellularStatusFlag",1,["mavlink::ardupilotmega::CellularStatusFlag"]],["impl UnwindSafe for CameraTrackingStatusFlags",1,["mavlink::ardupilotmega::CameraTrackingStatusFlags"]],["impl UnwindSafe for MavOdidStatus",1,["mavlink::ardupilotmega::MavOdidStatus"]],["impl UnwindSafe for AisNavStatus",1,["mavlink::ardupilotmega::AisNavStatus"]],["impl UnwindSafe for MavWinchStatusFlag",1,["mavlink::ardupilotmega::MavWinchStatusFlag"]],["impl UnwindSafe for MavOdidClassEu",1,["mavlink::ardupilotmega::MavOdidClassEu"]],["impl UnwindSafe for MavModeGimbal",1,["mavlink::ardupilotmega::MavModeGimbal"]],["impl UnwindSafe for CellularNetworkFailedReason",1,["mavlink::ardupilotmega::CellularNetworkFailedReason"]],["impl UnwindSafe for GoproProtuneSharpness",1,["mavlink::ardupilotmega::GoproProtuneSharpness"]],["impl UnwindSafe for GoproCommand",1,["mavlink::ardupilotmega::GoproCommand"]],["impl UnwindSafe for GoproProtuneColour",1,["mavlink::ardupilotmega::GoproProtuneColour"]],["impl UnwindSafe for GoproProtuneExposure",1,["mavlink::ardupilotmega::GoproProtuneExposure"]],["impl UnwindSafe for PidTuningAxis",1,["mavlink::ardupilotmega::PidTuningAxis"]],["impl UnwindSafe for PreflightStorageParameterAction",1,["mavlink::ardupilotmega::PreflightStorageParameterAction"]],["impl UnwindSafe for AttitudeTargetTypemask",1,["mavlink::ardupilotmega::AttitudeTargetTypemask"]],["impl UnwindSafe for UavionixAdsbEmergencyStatus",1,["mavlink::ardupilotmega::UavionixAdsbEmergencyStatus"]],["impl UnwindSafe for LandingTargetType",1,["mavlink::ardupilotmega::LandingTargetType"]],["impl UnwindSafe for MavCmd",1,["mavlink::ardupilotmega::MavCmd"]],["impl UnwindSafe for GimbalManagerCapFlags",1,["mavlink::ardupilotmega::GimbalManagerCapFlags"]],["impl UnwindSafe for MavOdidOperatorIdType",1,["mavlink::ardupilotmega::MavOdidOperatorIdType"]],["impl UnwindSafe for HeadingType",1,["mavlink::ardupilotmega::HeadingType"]],["impl UnwindSafe for CameraFeedbackFlags",1,["mavlink::ardupilotmega::CameraFeedbackFlags"]],["impl UnwindSafe for MavDistanceSensor",1,["mavlink::ardupilotmega::MavDistanceSensor"]],["impl UnwindSafe for UavionixAdsbOutCfgAircraftSize",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgAircraftSize"]],["impl UnwindSafe for UavionixAdsbRfHealth",1,["mavlink::ardupilotmega::UavionixAdsbRfHealth"]],["impl UnwindSafe for CellularNetworkRadioType",1,["mavlink::ardupilotmega::CellularNetworkRadioType"]],["impl UnwindSafe for MavEventCurrentSequenceFlags",1,["mavlink::ardupilotmega::MavEventCurrentSequenceFlags"]],["impl UnwindSafe for MavSysStatusSensorExtended",1,["mavlink::ardupilotmega::MavSysStatusSensorExtended"]],["impl UnwindSafe for MavOdidHorAcc",1,["mavlink::ardupilotmega::MavOdidHorAcc"]],["impl UnwindSafe for MagCalStatus",1,["mavlink::ardupilotmega::MagCalStatus"]],["impl UnwindSafe for CameraZoomType",1,["mavlink::ardupilotmega::CameraZoomType"]],["impl UnwindSafe for AdsbEmitterType",1,["mavlink::ardupilotmega::AdsbEmitterType"]],["impl UnwindSafe for HlFailureFlag",1,["mavlink::ardupilotmega::HlFailureFlag"]],["impl UnwindSafe for MavOdidCategoryEu",1,["mavlink::ardupilotmega::MavOdidCategoryEu"]],["impl UnwindSafe for GimbalAxis",1,["mavlink::ardupilotmega::GimbalAxis"]],["impl UnwindSafe for SubMode",1,["mavlink::ardupilotmega::SubMode"]],["impl UnwindSafe for MavModeFlag",1,["mavlink::ardupilotmega::MavModeFlag"]],["impl UnwindSafe for RoverMode",1,["mavlink::ardupilotmega::RoverMode"]],["impl UnwindSafe for TrackerMode",1,["mavlink::ardupilotmega::TrackerMode"]],["impl UnwindSafe for PreflightStorageMissionAction",1,["mavlink::ardupilotmega::PreflightStorageMissionAction"]],["impl UnwindSafe for MavSensorOrientation",1,["mavlink::ardupilotmega::MavSensorOrientation"]],["impl UnwindSafe for GoproProtuneWhiteBalance",1,["mavlink::ardupilotmega::GoproProtuneWhiteBalance"]],["impl UnwindSafe for MotorTestThrottleType",1,["mavlink::ardupilotmega::MotorTestThrottleType"]],["impl UnwindSafe for SetFocusType",1,["mavlink::ardupilotmega::SetFocusType"]],["impl UnwindSafe for AdsbAltitudeType",1,["mavlink::ardupilotmega::AdsbAltitudeType"]],["impl UnwindSafe for FailureUnit",1,["mavlink::ardupilotmega::FailureUnit"]],["impl UnwindSafe for GoproModel",1,["mavlink::ardupilotmega::GoproModel"]],["impl UnwindSafe for MavFtpErr",1,["mavlink::ardupilotmega::MavFtpErr"]],["impl UnwindSafe for MavlinkDataStreamType",1,["mavlink::ardupilotmega::MavlinkDataStreamType"]],["impl UnwindSafe for GpsFixType",1,["mavlink::ardupilotmega::GpsFixType"]],["impl UnwindSafe for DeepstallStage",1,["mavlink::ardupilotmega::DeepstallStage"]],["impl UnwindSafe for MavOdidVerAcc",1,["mavlink::ardupilotmega::MavOdidVerAcc"]],["impl UnwindSafe for VideoStreamStatusFlags",1,["mavlink::ardupilotmega::VideoStreamStatusFlags"]],["impl UnwindSafe for LedControlPattern",1,["mavlink::ardupilotmega::LedControlPattern"]],["impl UnwindSafe for StorageUsageFlag",1,["mavlink::ardupilotmega::StorageUsageFlag"]],["impl UnwindSafe for GpsInputIgnoreFlags",1,["mavlink::ardupilotmega::GpsInputIgnoreFlags"]],["impl UnwindSafe for MavParamType",1,["mavlink::ardupilotmega::MavParamType"]],["impl UnwindSafe for CameraMode",1,["mavlink::ardupilotmega::CameraMode"]],["impl UnwindSafe for DeviceOpBustype",1,["mavlink::ardupilotmega::DeviceOpBustype"]],["impl UnwindSafe for CameraTrackingTargetData",1,["mavlink::ardupilotmega::CameraTrackingTargetData"]],["impl UnwindSafe for MavBatteryMode",1,["mavlink::ardupilotmega::MavBatteryMode"]],["impl UnwindSafe for GoproProtuneGain",1,["mavlink::ardupilotmega::GoproProtuneGain"]],["impl UnwindSafe for AdsbFlags",1,["mavlink::ardupilotmega::AdsbFlags"]],["impl UnwindSafe for MavType",1,["mavlink::ardupilotmega::MavType"]],["impl UnwindSafe for LimitModule",1,["mavlink::ardupilotmega::LimitModule"]],["impl UnwindSafe for GoproRequestStatus",1,["mavlink::ardupilotmega::GoproRequestStatus"]],["impl UnwindSafe for MavRemoteLogDataBlockStatuses",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockStatuses"]],["impl UnwindSafe for MavParamExtType",1,["mavlink::ardupilotmega::MavParamExtType"]],["impl UnwindSafe for GimbalDeviceCapFlags",1,["mavlink::ardupilotmega::GimbalDeviceCapFlags"]],["impl UnwindSafe for StorageType",1,["mavlink::ardupilotmega::StorageType"]],["impl UnwindSafe for MavBatteryFunction",1,["mavlink::ardupilotmega::MavBatteryFunction"]],["impl UnwindSafe for RtkBaselineCoordinateSystem",1,["mavlink::ardupilotmega::RtkBaselineCoordinateSystem"]],["impl UnwindSafe for UtmFlightState",1,["mavlink::ardupilotmega::UtmFlightState"]],["impl UnwindSafe for GimbalManagerFlags",1,["mavlink::ardupilotmega::GimbalManagerFlags"]],["impl UnwindSafe for MavResult",1,["mavlink::ardupilotmega::MavResult"]],["impl UnwindSafe for GripperActions",1,["mavlink::ardupilotmega::GripperActions"]],["impl UnwindSafe for EscFailureFlags",1,["mavlink::ardupilotmega::EscFailureFlags"]],["impl UnwindSafe for CellularConfigResponse",1,["mavlink::ardupilotmega::CellularConfigResponse"]],["impl UnwindSafe for IcarousTrackBandTypes",1,["mavlink::ardupilotmega::IcarousTrackBandTypes"]],["impl UnwindSafe for OrbitYawBehaviour",1,["mavlink::ardupilotmega::OrbitYawBehaviour"]],["impl UnwindSafe for AccelcalVehiclePos",1,["mavlink::ardupilotmega::AccelcalVehiclePos"]],["impl UnwindSafe for IcarousFmsState",1,["mavlink::ardupilotmega::IcarousFmsState"]],["impl UnwindSafe for GoproVideoSettingsFlags",1,["mavlink::ardupilotmega::GoproVideoSettingsFlags"]],["impl UnwindSafe for ScriptingCmd",1,["mavlink::ardupilotmega::ScriptingCmd"]],["impl UnwindSafe for MavCollisionAction",1,["mavlink::ardupilotmega::MavCollisionAction"]],["impl UnwindSafe for MavDoRepositionFlags",1,["mavlink::ardupilotmega::MavDoRepositionFlags"]],["impl UnwindSafe for ParachuteAction",1,["mavlink::ardupilotmega::ParachuteAction"]],["impl UnwindSafe for MavOdidIdType",1,["mavlink::ardupilotmega::MavOdidIdType"]],["impl UnwindSafe for MavOdidOperatorLocationType",1,["mavlink::ardupilotmega::MavOdidOperatorLocationType"]],["impl UnwindSafe for GoproResolution",1,["mavlink::ardupilotmega::GoproResolution"]],["impl UnwindSafe for VtolTransitionHeading",1,["mavlink::ardupilotmega::VtolTransitionHeading"]],["impl UnwindSafe for MavRoi",1,["mavlink::ardupilotmega::MavRoi"]],["impl UnwindSafe for OsdParamConfigError",1,["mavlink::ardupilotmega::OsdParamConfigError"]],["impl UnwindSafe for CameraCapFlags",1,["mavlink::ardupilotmega::CameraCapFlags"]],["impl UnwindSafe for GimbalDeviceErrorFlags",1,["mavlink::ardupilotmega::GimbalDeviceErrorFlags"]],["impl UnwindSafe for MavState",1,["mavlink::ardupilotmega::MavState"]],["impl UnwindSafe for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLat"]],["impl UnwindSafe for PositionTargetTypemask",1,["mavlink::ardupilotmega::PositionTargetTypemask"]],["impl UnwindSafe for MavDataStream",1,["mavlink::ardupilotmega::MavDataStream"]],["impl UnwindSafe for UavionixAdsbOutDynamicGpsFix",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicGpsFix"]],["impl UnwindSafe for ActuatorOutputFunction",1,["mavlink::ardupilotmega::ActuatorOutputFunction"]],["impl UnwindSafe for MavSeverity",1,["mavlink::ardupilotmega::MavSeverity"]],["impl UnwindSafe for MavOdidUaType",1,["mavlink::ardupilotmega::MavOdidUaType"]],["impl UnwindSafe for GimbalAxisCalibrationRequired",1,["mavlink::ardupilotmega::GimbalAxisCalibrationRequired"]],["impl UnwindSafe for ParamAck",1,["mavlink::ardupilotmega::ParamAck"]],["impl UnwindSafe for VideoStreamType",1,["mavlink::ardupilotmega::VideoStreamType"]],["impl UnwindSafe for MavOdidClassificationType",1,["mavlink::ardupilotmega::MavOdidClassificationType"]],["impl UnwindSafe for StorageStatus",1,["mavlink::ardupilotmega::StorageStatus"]],["impl UnwindSafe for MavArmAuthDeniedReason",1,["mavlink::ardupilotmega::MavArmAuthDeniedReason"]],["impl UnwindSafe for MavTunnelPayloadType",1,["mavlink::ardupilotmega::MavTunnelPayloadType"]],["impl UnwindSafe for MavMissionType",1,["mavlink::ardupilotmega::MavMissionType"]],["impl UnwindSafe for AisType",1,["mavlink::ardupilotmega::AisType"]],["impl UnwindSafe for MavVtolState",1,["mavlink::ardupilotmega::MavVtolState"]],["impl UnwindSafe for HilSensorUpdatedFlags",1,["mavlink::ardupilotmega::HilSensorUpdatedFlags"]],["impl UnwindSafe for MavComponent",1,["mavlink::ardupilotmega::MavComponent"]],["impl UnwindSafe for MavProtocolCapability",1,["mavlink::ardupilotmega::MavProtocolCapability"]],["impl UnwindSafe for MavOdidHeightRef",1,["mavlink::ardupilotmega::MavOdidHeightRef"]],["impl UnwindSafe for FenceMitigate",1,["mavlink::ardupilotmega::FenceMitigate"]],["impl UnwindSafe for MavOdidAuthType",1,["mavlink::ardupilotmega::MavOdidAuthType"]],["impl UnwindSafe for MavMissionResult",1,["mavlink::ardupilotmega::MavMissionResult"]],["impl UnwindSafe for FailureType",1,["mavlink::ardupilotmega::FailureType"]],["impl UnwindSafe for AisFlags",1,["mavlink::ardupilotmega::AisFlags"]],["impl UnwindSafe for MavOdidArmStatus",1,["mavlink::ardupilotmega::MavOdidArmStatus"]],["impl UnwindSafe for OsdParamConfigType",1,["mavlink::ardupilotmega::OsdParamConfigType"]],["impl UnwindSafe for WifiConfigApMode",1,["mavlink::ardupilotmega::WifiConfigApMode"]],["impl UnwindSafe for NavVtolLandOptions",1,["mavlink::ardupilotmega::NavVtolLandOptions"]],["impl UnwindSafe for GoproHeartbeatFlags",1,["mavlink::ardupilotmega::GoproHeartbeatFlags"]],["impl UnwindSafe for GoproCaptureMode",1,["mavlink::ardupilotmega::GoproCaptureMode"]],["impl UnwindSafe for MavRemoteLogDataBlockCommands",1,["mavlink::ardupilotmega::MavRemoteLogDataBlockCommands"]],["impl UnwindSafe for MavCollisionThreatLevel",1,["mavlink::ardupilotmega::MavCollisionThreatLevel"]],["impl UnwindSafe for UtmDataAvailFlags",1,["mavlink::ardupilotmega::UtmDataAvailFlags"]],["impl UnwindSafe for GoproFieldOfView",1,["mavlink::ardupilotmega::GoproFieldOfView"]],["impl UnwindSafe for MavPowerStatus",1,["mavlink::ardupilotmega::MavPowerStatus"]],["impl UnwindSafe for MavBatteryType",1,["mavlink::ardupilotmega::MavBatteryType"]],["impl UnwindSafe for UavcanNodeMode",1,["mavlink::ardupilotmega::UavcanNodeMode"]],["impl UnwindSafe for MavAutopilot",1,["mavlink::ardupilotmega::MavAutopilot"]],["impl UnwindSafe for MavOdidTimeAcc",1,["mavlink::ardupilotmega::MavOdidTimeAcc"]],["impl UnwindSafe for MavCollisionSrc",1,["mavlink::ardupilotmega::MavCollisionSrc"]],["impl UnwindSafe for CompMetadataType",1,["mavlink::ardupilotmega::CompMetadataType"]],["impl UnwindSafe for UavionixAdsbOutDynamicState",1,["mavlink::ardupilotmega::UavionixAdsbOutDynamicState"]],["impl UnwindSafe for CameraTrackingMode",1,["mavlink::ardupilotmega::CameraTrackingMode"]],["impl UnwindSafe for MavCmdAck",1,["mavlink::ardupilotmega::MavCmdAck"]],["impl UnwindSafe for WifiConfigApResponse",1,["mavlink::ardupilotmega::WifiConfigApResponse"]],["impl UnwindSafe for MavBatteryChargeState",1,["mavlink::ardupilotmega::MavBatteryChargeState"]],["impl UnwindSafe for AutotuneAxis",1,["mavlink::ardupilotmega::AutotuneAxis"]],["impl UnwindSafe for MavMountMode",1,["mavlink::ardupilotmega::MavMountMode"]],["impl UnwindSafe for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::ardupilotmega::UavionixAdsbOutCfgGpsOffsetLon"]],["impl UnwindSafe for LimitsState",1,["mavlink::ardupilotmega::LimitsState"]],["impl UnwindSafe for LOG_REQUEST_DATA_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_DATA_DATA"]],["impl UnwindSafe for AUTH_KEY_DATA",1,["mavlink::ardupilotmega::AUTH_KEY_DATA"]],["impl UnwindSafe for MISSION_REQUEST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl UnwindSafe for CELLULAR_CONFIG_DATA",1,["mavlink::ardupilotmega::CELLULAR_CONFIG_DATA"]],["impl UnwindSafe for SCALED_PRESSURE3_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE3_DATA"]],["impl UnwindSafe for CUBEPILOT_RAW_RC_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_RAW_RC_DATA"]],["impl UnwindSafe for LED_CONTROL_DATA",1,["mavlink::ardupilotmega::LED_CONTROL_DATA"]],["impl UnwindSafe for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::GPS_GLOBAL_ORIGIN_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_STATUS_DATA"]],["impl UnwindSafe for AIS_VESSEL_DATA",1,["mavlink::ardupilotmega::AIS_VESSEL_DATA"]],["impl UnwindSafe for SCALED_IMU_DATA",1,["mavlink::ardupilotmega::SCALED_IMU_DATA"]],["impl UnwindSafe for CAMERA_INFORMATION_DATA",1,["mavlink::ardupilotmega::CAMERA_INFORMATION_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl UnwindSafe for SUPPORTED_TUNES_DATA",1,["mavlink::ardupilotmega::SUPPORTED_TUNES_DATA"]],["impl UnwindSafe for RANGEFINDER_DATA",1,["mavlink::ardupilotmega::RANGEFINDER_DATA"]],["impl UnwindSafe for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for GENERATOR_STATUS_DATA",1,["mavlink::ardupilotmega::GENERATOR_STATUS_DATA"]],["impl UnwindSafe for COLLISION_DATA",1,["mavlink::ardupilotmega::COLLISION_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl UnwindSafe for MISSION_REQUEST_INT_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_INT_DATA"]],["impl UnwindSafe for TERRAIN_DATA_DATA",1,["mavlink::ardupilotmega::TERRAIN_DATA_DATA"]],["impl UnwindSafe for REMOTE_LOG_DATA_BLOCK_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_DATA_BLOCK_DATA"]],["impl UnwindSafe for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::ardupilotmega::DEBUG_FLOAT_ARRAY_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl UnwindSafe for OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_DATA"]],["impl UnwindSafe for VIDEO_STREAM_STATUS_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_STATUS_DATA"]],["impl UnwindSafe for SCALED_PRESSURE_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE_DATA"]],["impl UnwindSafe for HIGHRES_IMU_DATA",1,["mavlink::ardupilotmega::HIGHRES_IMU_DATA"]],["impl UnwindSafe for GPS_RTCM_DATA_DATA",1,["mavlink::ardupilotmega::GPS_RTCM_DATA_DATA"]],["impl UnwindSafe for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl UnwindSafe for WIND_DATA",1,["mavlink::ardupilotmega::WIND_DATA"]],["impl UnwindSafe for RALLY_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_FETCH_POINT_DATA"]],["impl UnwindSafe for FOLLOW_TARGET_DATA",1,["mavlink::ardupilotmega::FOLLOW_TARGET_DATA"]],["impl UnwindSafe for GOPRO_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::GOPRO_HEARTBEAT_DATA"]],["impl UnwindSafe for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_CAPTURE_STATUS_DATA"]],["impl UnwindSafe for MESSAGE_INTERVAL_DATA",1,["mavlink::ardupilotmega::MESSAGE_INTERVAL_DATA"]],["impl UnwindSafe for MEMORY_VECT_DATA",1,["mavlink::ardupilotmega::MEMORY_VECT_DATA"]],["impl UnwindSafe for ENCAPSULATED_DATA_DATA",1,["mavlink::ardupilotmega::ENCAPSULATED_DATA_DATA"]],["impl UnwindSafe for PARAM_MAP_RC_DATA",1,["mavlink::ardupilotmega::PARAM_MAP_RC_DATA"]],["impl UnwindSafe for LOGGING_ACK_DATA",1,["mavlink::ardupilotmega::LOGGING_ACK_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl UnwindSafe for PROTOCOL_VERSION_DATA",1,["mavlink::ardupilotmega::PROTOCOL_VERSION_DATA"]],["impl UnwindSafe for ATTITUDE_DATA",1,["mavlink::ardupilotmega::ATTITUDE_DATA"]],["impl UnwindSafe for AOA_SSA_DATA",1,["mavlink::ardupilotmega::AOA_SSA_DATA"]],["impl UnwindSafe for ESC_TELEMETRY_1_TO_4_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_1_TO_4_DATA"]],["impl UnwindSafe for LOGGING_DATA_ACKED_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_ACKED_DATA"]],["impl UnwindSafe for PLAY_TUNE_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_DATA"]],["impl UnwindSafe for SIM_STATE_DATA",1,["mavlink::ardupilotmega::SIM_STATE_DATA"]],["impl UnwindSafe for MANUAL_SETPOINT_DATA",1,["mavlink::ardupilotmega::MANUAL_SETPOINT_DATA"]],["impl UnwindSafe for VIBRATION_DATA",1,["mavlink::ardupilotmega::VIBRATION_DATA"]],["impl UnwindSafe for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::ardupilotmega::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl UnwindSafe for DEEPSTALL_DATA",1,["mavlink::ardupilotmega::DEEPSTALL_DATA"]],["impl UnwindSafe for MAG_CAL_REPORT_DATA",1,["mavlink::ardupilotmega::MAG_CAL_REPORT_DATA"]],["impl UnwindSafe for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::ardupilotmega::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl UnwindSafe for SCALED_IMU2_DATA",1,["mavlink::ardupilotmega::SCALED_IMU2_DATA"]],["impl UnwindSafe for GOPRO_GET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_REQUEST_DATA"]],["impl UnwindSafe for COMMAND_INT_DATA",1,["mavlink::ardupilotmega::COMMAND_INT_DATA"]],["impl UnwindSafe for UAVCAN_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_STATUS_DATA"]],["impl UnwindSafe for ODOMETRY_DATA",1,["mavlink::ardupilotmega::ODOMETRY_DATA"]],["impl UnwindSafe for HIGH_LATENCY2_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY2_DATA"]],["impl UnwindSafe for REQUEST_EVENT_DATA",1,["mavlink::ardupilotmega::REQUEST_EVENT_DATA"]],["impl UnwindSafe for ICAROUS_HEARTBEAT_DATA",1,["mavlink::ardupilotmega::ICAROUS_HEARTBEAT_DATA"]],["impl UnwindSafe for MISSION_COUNT_DATA",1,["mavlink::ardupilotmega::MISSION_COUNT_DATA"]],["impl UnwindSafe for AIRSPEED_AUTOCAL_DATA",1,["mavlink::ardupilotmega::AIRSPEED_AUTOCAL_DATA"]],["impl UnwindSafe for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_READ_DATA"]],["impl UnwindSafe for CELLULAR_STATUS_DATA",1,["mavlink::ardupilotmega::CELLULAR_STATUS_DATA"]],["impl UnwindSafe for COMPASSMOT_STATUS_DATA",1,["mavlink::ardupilotmega::COMPASSMOT_STATUS_DATA"]],["impl UnwindSafe for GPS_RAW_INT_DATA",1,["mavlink::ardupilotmega::GPS_RAW_INT_DATA"]],["impl UnwindSafe for WIND_COV_DATA",1,["mavlink::ardupilotmega::WIND_COV_DATA"]],["impl UnwindSafe for V2_EXTENSION_DATA",1,["mavlink::ardupilotmega::V2_EXTENSION_DATA"]],["impl UnwindSafe for WHEEL_DISTANCE_DATA",1,["mavlink::ardupilotmega::WHEEL_DISTANCE_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl UnwindSafe for OSD_PARAM_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_REPLY_DATA"]],["impl UnwindSafe for AHRS2_DATA",1,["mavlink::ardupilotmega::AHRS2_DATA"]],["impl UnwindSafe for BATTERY2_DATA",1,["mavlink::ardupilotmega::BATTERY2_DATA"]],["impl UnwindSafe for LOG_REQUEST_END_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_END_DATA"]],["impl UnwindSafe for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::ardupilotmega::FILE_TRANSFER_PROTOCOL_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_DATA"]],["impl UnwindSafe for PID_TUNING_DATA",1,["mavlink::ardupilotmega::PID_TUNING_DATA"]],["impl UnwindSafe for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl UnwindSafe for ICAROUS_KINEMATIC_BANDS_DATA",1,["mavlink::ardupilotmega::ICAROUS_KINEMATIC_BANDS_DATA"]],["impl UnwindSafe for ESC_INFO_DATA",1,["mavlink::ardupilotmega::ESC_INFO_DATA"]],["impl UnwindSafe for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_LOCAL_NED_DATA"]],["impl UnwindSafe for CAMERA_TRIGGER_DATA",1,["mavlink::ardupilotmega::CAMERA_TRIGGER_DATA"]],["impl UnwindSafe for GPS_INPUT_DATA",1,["mavlink::ardupilotmega::GPS_INPUT_DATA"]],["impl UnwindSafe for BATTERY_STATUS_DATA",1,["mavlink::ardupilotmega::BATTERY_STATUS_DATA"]],["impl UnwindSafe for FENCE_FETCH_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_FETCH_POINT_DATA"]],["impl UnwindSafe for SYS_STATUS_DATA",1,["mavlink::ardupilotmega::SYS_STATUS_DATA"]],["impl UnwindSafe for ISBD_LINK_STATUS_DATA",1,["mavlink::ardupilotmega::ISBD_LINK_STATUS_DATA"]],["impl UnwindSafe for DEBUG_VECT_DATA",1,["mavlink::ardupilotmega::DEBUG_VECT_DATA"]],["impl UnwindSafe for SIMSTATE_DATA",1,["mavlink::ardupilotmega::SIMSTATE_DATA"]],["impl UnwindSafe for FENCE_POINT_DATA",1,["mavlink::ardupilotmega::FENCE_POINT_DATA"]],["impl UnwindSafe for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"]],["impl UnwindSafe for SETUP_SIGNING_DATA",1,["mavlink::ardupilotmega::SETUP_SIGNING_DATA"]],["impl UnwindSafe for COMPONENT_METADATA_DATA",1,["mavlink::ardupilotmega::COMPONENT_METADATA_DATA"]],["impl UnwindSafe for CAMERA_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_STATUS_DATA"]],["impl UnwindSafe for DATA96_DATA",1,["mavlink::ardupilotmega::DATA96_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl UnwindSafe for ALTITUDE_DATA",1,["mavlink::ardupilotmega::ALTITUDE_DATA"]],["impl UnwindSafe for OBSTACLE_DISTANCE_3D_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_3D_DATA"]],["impl UnwindSafe for HERELINK_TELEM_DATA",1,["mavlink::ardupilotmega::HERELINK_TELEM_DATA"]],["impl UnwindSafe for GPS_STATUS_DATA",1,["mavlink::ardupilotmega::GPS_STATUS_DATA"]],["impl UnwindSafe for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_OVERRIDE_DATA"]],["impl UnwindSafe for RPM_DATA",1,["mavlink::ardupilotmega::RPM_DATA"]],["impl UnwindSafe for CANFD_FRAME_DATA",1,["mavlink::ardupilotmega::CANFD_FRAME_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl UnwindSafe for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl UnwindSafe for AUTOPILOT_VERSION_REQUEST_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_REQUEST_DATA"]],["impl UnwindSafe for LOGGING_DATA_DATA",1,["mavlink::ardupilotmega::LOGGING_DATA_DATA"]],["impl UnwindSafe for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_DATA"]],["impl UnwindSafe for DIGICAM_CONTROL_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONTROL_DATA"]],["impl UnwindSafe for FENCE_STATUS_DATA",1,["mavlink::ardupilotmega::FENCE_STATUS_DATA"]],["impl UnwindSafe for MISSION_ITEM_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_DATA"]],["impl UnwindSafe for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl UnwindSafe for ATTITUDE_QUATERNION_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_DATA"]],["impl UnwindSafe for AUTOPILOT_VERSION_DATA",1,["mavlink::ardupilotmega::AUTOPILOT_VERSION_DATA"]],["impl UnwindSafe for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_ACTUATOR_CONTROLS_DATA"]],["impl UnwindSafe for HIL_OPTICAL_FLOW_DATA",1,["mavlink::ardupilotmega::HIL_OPTICAL_FLOW_DATA"]],["impl UnwindSafe for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::ardupilotmega::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl UnwindSafe for PLAY_TUNE_V2_DATA",1,["mavlink::ardupilotmega::PLAY_TUNE_V2_DATA"]],["impl UnwindSafe for GIMBAL_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_REPORT_DATA"]],["impl UnwindSafe for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl UnwindSafe for HOME_POSITION_DATA",1,["mavlink::ardupilotmega::HOME_POSITION_DATA"]],["impl UnwindSafe for DATA64_DATA",1,["mavlink::ardupilotmega::DATA64_DATA"]],["impl UnwindSafe for ESC_STATUS_DATA",1,["mavlink::ardupilotmega::ESC_STATUS_DATA"]],["impl UnwindSafe for PARAM_EXT_SET_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_SET_DATA"]],["impl UnwindSafe for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_SPEED_ESTIMATE_DATA"]],["impl UnwindSafe for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::ardupilotmega::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl UnwindSafe for DISTANCE_SENSOR_DATA",1,["mavlink::ardupilotmega::DISTANCE_SENSOR_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl UnwindSafe for ATT_POS_MOCAP_DATA",1,["mavlink::ardupilotmega::ATT_POS_MOCAP_DATA"]],["impl UnwindSafe for SET_MAG_OFFSETS_DATA",1,["mavlink::ardupilotmega::SET_MAG_OFFSETS_DATA"]],["impl UnwindSafe for LINK_NODE_STATUS_DATA",1,["mavlink::ardupilotmega::LINK_NODE_STATUS_DATA"]],["impl UnwindSafe for MISSION_ACK_DATA",1,["mavlink::ardupilotmega::MISSION_ACK_DATA"]],["impl UnwindSafe for HWSTATUS_DATA",1,["mavlink::ardupilotmega::HWSTATUS_DATA"]],["impl UnwindSafe for PARAM_SET_DATA",1,["mavlink::ardupilotmega::PARAM_SET_DATA"]],["impl UnwindSafe for CAMERA_FEEDBACK_DATA",1,["mavlink::ardupilotmega::CAMERA_FEEDBACK_DATA"]],["impl UnwindSafe for COMPONENT_INFORMATION_DATA",1,["mavlink::ardupilotmega::COMPONENT_INFORMATION_DATA"]],["impl UnwindSafe for SET_ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ATTITUDE_TARGET_DATA"]],["impl UnwindSafe for OSD_PARAM_SHOW_CONFIG_REPLY_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_REPLY_DATA"]],["impl UnwindSafe for RADIO_STATUS_DATA",1,["mavlink::ardupilotmega::RADIO_STATUS_DATA"]],["impl UnwindSafe for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::ardupilotmega::CAMERA_IMAGE_CAPTURED_DATA"]],["impl UnwindSafe for MISSION_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_REQUEST_LIST_DATA"]],["impl UnwindSafe for UTM_GLOBAL_POSITION_DATA",1,["mavlink::ardupilotmega::UTM_GLOBAL_POSITION_DATA"]],["impl UnwindSafe for HIL_CONTROLS_DATA",1,["mavlink::ardupilotmega::HIL_CONTROLS_DATA"]],["impl UnwindSafe for SERVO_OUTPUT_RAW_DATA",1,["mavlink::ardupilotmega::SERVO_OUTPUT_RAW_DATA"]],["impl UnwindSafe for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::ardupilotmega::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl UnwindSafe for UAVCAN_NODE_INFO_DATA",1,["mavlink::ardupilotmega::UAVCAN_NODE_INFO_DATA"]],["impl UnwindSafe for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::ardupilotmega::ATTITUDE_QUATERNION_COV_DATA"]],["impl UnwindSafe for STATUSTEXT_DATA",1,["mavlink::ardupilotmega::STATUSTEXT_DATA"]],["impl UnwindSafe for GOPRO_SET_REQUEST_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_REQUEST_DATA"]],["impl UnwindSafe for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl UnwindSafe for OPTICAL_FLOW_RAD_DATA",1,["mavlink::ardupilotmega::OPTICAL_FLOW_RAD_DATA"]],["impl UnwindSafe for LANDING_TARGET_DATA",1,["mavlink::ardupilotmega::LANDING_TARGET_DATA"]],["impl UnwindSafe for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl UnwindSafe for LOG_DATA_DATA",1,["mavlink::ardupilotmega::LOG_DATA_DATA"]],["impl UnwindSafe for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl UnwindSafe for SENSOR_OFFSETS_DATA",1,["mavlink::ardupilotmega::SENSOR_OFFSETS_DATA"]],["impl UnwindSafe for WIFI_CONFIG_AP_DATA",1,["mavlink::ardupilotmega::WIFI_CONFIG_AP_DATA"]],["impl UnwindSafe for DEVICE_OP_READ_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_DATA"]],["impl UnwindSafe for GPS_RTK_DATA",1,["mavlink::ardupilotmega::GPS_RTK_DATA"]],["impl UnwindSafe for PARAM_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_LIST_DATA"]],["impl UnwindSafe for HERELINK_VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::HERELINK_VIDEO_STREAM_INFORMATION_DATA"]],["impl UnwindSafe for REMOTE_LOG_BLOCK_STATUS_DATA",1,["mavlink::ardupilotmega::REMOTE_LOG_BLOCK_STATUS_DATA"]],["impl UnwindSafe for COMMAND_ACK_DATA",1,["mavlink::ardupilotmega::COMMAND_ACK_DATA"]],["impl UnwindSafe for CAMERA_SETTINGS_DATA",1,["mavlink::ardupilotmega::CAMERA_SETTINGS_DATA"]],["impl UnwindSafe for RAW_IMU_DATA",1,["mavlink::ardupilotmega::RAW_IMU_DATA"]],["impl UnwindSafe for RADIO_DATA",1,["mavlink::ardupilotmega::RADIO_DATA"]],["impl UnwindSafe for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::ardupilotmega::SAFETY_ALLOWED_AREA_DATA"]],["impl UnwindSafe for CUBEPILOT_FIRMWARE_UPDATE_START_DATA",1,["mavlink::ardupilotmega::CUBEPILOT_FIRMWARE_UPDATE_START_DATA"]],["impl UnwindSafe for DEVICE_OP_WRITE_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_LOCATION_DATA"]],["impl UnwindSafe for GIMBAL_CONTROL_DATA",1,["mavlink::ardupilotmega::GIMBAL_CONTROL_DATA"]],["impl UnwindSafe for MISSION_CLEAR_ALL_DATA",1,["mavlink::ardupilotmega::MISSION_CLEAR_ALL_DATA"]],["impl UnwindSafe for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::ardupilotmega::ONBOARD_COMPUTER_STATUS_DATA"]],["impl UnwindSafe for RESOURCE_REQUEST_DATA",1,["mavlink::ardupilotmega::RESOURCE_REQUEST_DATA"]],["impl UnwindSafe for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_COV_DATA"]],["impl UnwindSafe for STORAGE_INFORMATION_DATA",1,["mavlink::ardupilotmega::STORAGE_INFORMATION_DATA"]],["impl UnwindSafe for SYSTEM_TIME_DATA",1,["mavlink::ardupilotmega::SYSTEM_TIME_DATA"]],["impl UnwindSafe for MISSION_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_CURRENT_DATA"]],["impl UnwindSafe for LOG_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::LOG_REQUEST_LIST_DATA"]],["impl UnwindSafe for MAG_CAL_PROGRESS_DATA",1,["mavlink::ardupilotmega::MAG_CAL_PROGRESS_DATA"]],["impl UnwindSafe for GPS2_RTK_DATA",1,["mavlink::ardupilotmega::GPS2_RTK_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl UnwindSafe for LOG_ENTRY_DATA",1,["mavlink::ardupilotmega::LOG_ENTRY_DATA"]],["impl UnwindSafe for MISSION_ITEM_REACHED_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_REACHED_DATA"]],["impl UnwindSafe for TERRAIN_CHECK_DATA",1,["mavlink::ardupilotmega::TERRAIN_CHECK_DATA"]],["impl UnwindSafe for HEARTBEAT_DATA",1,["mavlink::ardupilotmega::HEARTBEAT_DATA"]],["impl UnwindSafe for CAN_FILTER_MODIFY_DATA",1,["mavlink::ardupilotmega::CAN_FILTER_MODIFY_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl UnwindSafe for FLIGHT_INFORMATION_DATA",1,["mavlink::ardupilotmega::FLIGHT_INFORMATION_DATA"]],["impl UnwindSafe for VFR_HUD_DATA",1,["mavlink::ardupilotmega::VFR_HUD_DATA"]],["impl UnwindSafe for MOUNT_CONTROL_DATA",1,["mavlink::ardupilotmega::MOUNT_CONTROL_DATA"]],["impl UnwindSafe for WATER_DEPTH_DATA",1,["mavlink::ardupilotmega::WATER_DEPTH_DATA"]],["impl UnwindSafe for SET_MODE_DATA",1,["mavlink::ardupilotmega::SET_MODE_DATA"]],["impl UnwindSafe for OSD_PARAM_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_CONFIG_DATA"]],["impl UnwindSafe for PING_DATA",1,["mavlink::ardupilotmega::PING_DATA"]],["impl UnwindSafe for PARAM_EXT_ACK_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_ACK_DATA"]],["impl UnwindSafe for TIMESYNC_DATA",1,["mavlink::ardupilotmega::TIMESYNC_DATA"]],["impl UnwindSafe for ESC_TELEMETRY_5_TO_8_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_5_TO_8_DATA"]],["impl UnwindSafe for RAW_PRESSURE_DATA",1,["mavlink::ardupilotmega::RAW_PRESSURE_DATA"]],["impl UnwindSafe for SMART_BATTERY_INFO_DATA",1,["mavlink::ardupilotmega::SMART_BATTERY_INFO_DATA"]],["impl UnwindSafe for OBSTACLE_DISTANCE_DATA",1,["mavlink::ardupilotmega::OBSTACLE_DISTANCE_DATA"]],["impl UnwindSafe for CAMERA_FOV_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_FOV_STATUS_DATA"]],["impl UnwindSafe for ATTITUDE_TARGET_DATA",1,["mavlink::ardupilotmega::ATTITUDE_TARGET_DATA"]],["impl UnwindSafe for GPS2_RAW_DATA",1,["mavlink::ardupilotmega::GPS2_RAW_DATA"]],["impl UnwindSafe for RC_CHANNELS_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_DATA"]],["impl UnwindSafe for DATA_STREAM_DATA",1,["mavlink::ardupilotmega::DATA_STREAM_DATA"]],["impl UnwindSafe for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::ardupilotmega::VIDEO_STREAM_INFORMATION_DATA"]],["impl UnwindSafe for HIL_GPS_DATA",1,["mavlink::ardupilotmega::HIL_GPS_DATA"]],["impl UnwindSafe for VISION_POSITION_DELTA_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_DELTA_DATA"]],["impl UnwindSafe for TERRAIN_REQUEST_DATA",1,["mavlink::ardupilotmega::TERRAIN_REQUEST_DATA"]],["impl UnwindSafe for HIGH_LATENCY_DATA",1,["mavlink::ardupilotmega::HIGH_LATENCY_DATA"]],["impl UnwindSafe for TUNNEL_DATA",1,["mavlink::ardupilotmega::TUNNEL_DATA"]],["impl UnwindSafe for LIMITS_STATUS_DATA",1,["mavlink::ardupilotmega::LIMITS_STATUS_DATA"]],["impl UnwindSafe for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl UnwindSafe for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl UnwindSafe for RC_CHANNELS_SCALED_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_SCALED_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl UnwindSafe for MOUNT_ORIENTATION_DATA",1,["mavlink::ardupilotmega::MOUNT_ORIENTATION_DATA"]],["impl UnwindSafe for GLOBAL_POSITION_INT_DATA",1,["mavlink::ardupilotmega::GLOBAL_POSITION_INT_DATA"]],["impl UnwindSafe for DEVICE_OP_READ_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_READ_REPLY_DATA"]],["impl UnwindSafe for SERIAL_CONTROL_DATA",1,["mavlink::ardupilotmega::SERIAL_CONTROL_DATA"]],["impl UnwindSafe for CAN_FRAME_DATA",1,["mavlink::ardupilotmega::CAN_FRAME_DATA"]],["impl UnwindSafe for AHRS3_DATA",1,["mavlink::ardupilotmega::AHRS3_DATA"]],["impl UnwindSafe for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_REQUEST_LIST_DATA"]],["impl UnwindSafe for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::ardupilotmega::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl UnwindSafe for SCALED_IMU3_DATA",1,["mavlink::ardupilotmega::SCALED_IMU3_DATA"]],["impl UnwindSafe for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::ardupilotmega::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl UnwindSafe for MISSION_ITEM_INT_DATA",1,["mavlink::ardupilotmega::MISSION_ITEM_INT_DATA"]],["impl UnwindSafe for ADAP_TUNING_DATA",1,["mavlink::ardupilotmega::ADAP_TUNING_DATA"]],["impl UnwindSafe for EFI_STATUS_DATA",1,["mavlink::ardupilotmega::EFI_STATUS_DATA"]],["impl UnwindSafe for TERRAIN_REPORT_DATA",1,["mavlink::ardupilotmega::TERRAIN_REPORT_DATA"]],["impl UnwindSafe for SCALED_PRESSURE2_DATA",1,["mavlink::ardupilotmega::SCALED_PRESSURE2_DATA"]],["impl UnwindSafe for SET_HOME_POSITION_DATA",1,["mavlink::ardupilotmega::SET_HOME_POSITION_DATA"]],["impl UnwindSafe for AP_ADC_DATA",1,["mavlink::ardupilotmega::AP_ADC_DATA"]],["impl UnwindSafe for GIMBAL_TORQUE_CMD_REPORT_DATA",1,["mavlink::ardupilotmega::GIMBAL_TORQUE_CMD_REPORT_DATA"]],["impl UnwindSafe for GOPRO_SET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_SET_RESPONSE_DATA"]],["impl UnwindSafe for ESC_TELEMETRY_9_TO_12_DATA",1,["mavlink::ardupilotmega::ESC_TELEMETRY_9_TO_12_DATA"]],["impl UnwindSafe for HYGROMETER_SENSOR_DATA",1,["mavlink::ardupilotmega::HYGROMETER_SENSOR_DATA"]],["impl UnwindSafe for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::ardupilotmega::CONTROL_SYSTEM_STATE_DATA"]],["impl UnwindSafe for BUTTON_CHANGE_DATA",1,["mavlink::ardupilotmega::BUTTON_CHANGE_DATA"]],["impl UnwindSafe for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VICON_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::ardupilotmega::HIL_RC_INPUTS_RAW_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl UnwindSafe for HIL_STATE_DATA",1,["mavlink::ardupilotmega::HIL_STATE_DATA"]],["impl UnwindSafe for GOPRO_GET_RESPONSE_DATA",1,["mavlink::ardupilotmega::GOPRO_GET_RESPONSE_DATA"]],["impl UnwindSafe for POWER_STATUS_DATA",1,["mavlink::ardupilotmega::POWER_STATUS_DATA"]],["impl UnwindSafe for AHRS_DATA",1,["mavlink::ardupilotmega::AHRS_DATA"]],["impl UnwindSafe for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::ardupilotmega::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl UnwindSafe for LOG_ERASE_DATA",1,["mavlink::ardupilotmega::LOG_ERASE_DATA"]],["impl UnwindSafe for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::ardupilotmega::ACTUATOR_CONTROL_TARGET_DATA"]],["impl UnwindSafe for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::ardupilotmega::NAV_CONTROLLER_OUTPUT_DATA"]],["impl UnwindSafe for ADSB_VEHICLE_DATA",1,["mavlink::ardupilotmega::ADSB_VEHICLE_DATA"]],["impl UnwindSafe for GPS_INJECT_DATA_DATA",1,["mavlink::ardupilotmega::GPS_INJECT_DATA_DATA"]],["impl UnwindSafe for NAMED_VALUE_INT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_INT_DATA"]],["impl UnwindSafe for DIGICAM_CONFIGURE_DATA",1,["mavlink::ardupilotmega::DIGICAM_CONFIGURE_DATA"]],["impl UnwindSafe for EKF_STATUS_REPORT_DATA",1,["mavlink::ardupilotmega::EKF_STATUS_REPORT_DATA"]],["impl UnwindSafe for OSD_PARAM_SHOW_CONFIG_DATA",1,["mavlink::ardupilotmega::OSD_PARAM_SHOW_CONFIG_DATA"]],["impl UnwindSafe for REQUEST_DATA_STREAM_DATA",1,["mavlink::ardupilotmega::REQUEST_DATA_STREAM_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::ardupilotmega::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl UnwindSafe for HIL_SENSOR_DATA",1,["mavlink::ardupilotmega::HIL_SENSOR_DATA"]],["impl UnwindSafe for WINCH_STATUS_DATA",1,["mavlink::ardupilotmega::WINCH_STATUS_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::ardupilotmega::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl UnwindSafe for MOUNT_CONFIGURE_DATA",1,["mavlink::ardupilotmega::MOUNT_CONFIGURE_DATA"]],["impl UnwindSafe for DATA32_DATA",1,["mavlink::ardupilotmega::DATA32_DATA"]],["impl UnwindSafe for COMMAND_LONG_DATA",1,["mavlink::ardupilotmega::COMMAND_LONG_DATA"]],["impl UnwindSafe for NAMED_VALUE_FLOAT_DATA",1,["mavlink::ardupilotmega::NAMED_VALUE_FLOAT_DATA"]],["impl UnwindSafe for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::ardupilotmega::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl UnwindSafe for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::ardupilotmega::VISION_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for MEMINFO_DATA",1,["mavlink::ardupilotmega::MEMINFO_DATA"]],["impl UnwindSafe for DEVICE_OP_WRITE_REPLY_DATA",1,["mavlink::ardupilotmega::DEVICE_OP_WRITE_REPLY_DATA"]],["impl UnwindSafe for COMMAND_CANCEL_DATA",1,["mavlink::ardupilotmega::COMMAND_CANCEL_DATA"]],["impl UnwindSafe for RC_CHANNELS_RAW_DATA",1,["mavlink::ardupilotmega::RC_CHANNELS_RAW_DATA"]],["impl UnwindSafe for PARAM_EXT_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_EXT_VALUE_DATA"]],["impl UnwindSafe for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::ardupilotmega::RESPONSE_EVENT_ERROR_DATA"]],["impl UnwindSafe for MISSION_SET_CURRENT_DATA",1,["mavlink::ardupilotmega::MISSION_SET_CURRENT_DATA"]],["impl UnwindSafe for HIL_STATE_QUATERNION_DATA",1,["mavlink::ardupilotmega::HIL_STATE_QUATERNION_DATA"]],["impl UnwindSafe for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::ardupilotmega::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl UnwindSafe for ESTIMATOR_STATUS_DATA",1,["mavlink::ardupilotmega::ESTIMATOR_STATUS_DATA"]],["impl UnwindSafe for PARAM_VALUE_DATA",1,["mavlink::ardupilotmega::PARAM_VALUE_DATA"]],["impl UnwindSafe for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::ardupilotmega::ORBIT_EXECUTION_STATUS_DATA"]],["impl UnwindSafe for RALLY_POINT_DATA",1,["mavlink::ardupilotmega::RALLY_POINT_DATA"]],["impl UnwindSafe for MANUAL_CONTROL_DATA",1,["mavlink::ardupilotmega::MANUAL_CONTROL_DATA"]],["impl UnwindSafe for EXTENDED_SYS_STATE_DATA",1,["mavlink::ardupilotmega::EXTENDED_SYS_STATE_DATA"]],["impl UnwindSafe for DATA16_DATA",1,["mavlink::ardupilotmega::DATA16_DATA"]],["impl UnwindSafe for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::ardupilotmega::CURRENT_EVENT_SEQUENCE_DATA"]],["impl UnwindSafe for MOUNT_STATUS_DATA",1,["mavlink::ardupilotmega::MOUNT_STATUS_DATA"]],["impl UnwindSafe for DEBUG_DATA",1,["mavlink::ardupilotmega::DEBUG_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::ardupilotmega::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl UnwindSafe for EVENT_DATA",1,["mavlink::ardupilotmega::EVENT_DATA"]],["impl UnwindSafe for MCU_STATUS_DATA",1,["mavlink::ardupilotmega::MCU_STATUS_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::ardupilotmega::LOCAL_POSITION_NED_COV_DATA"]],["impl UnwindSafe for RAW_RPM_DATA",1,["mavlink::ardupilotmega::RAW_RPM_DATA"]],["impl UnwindSafe for PARAM_REQUEST_READ_DATA",1,["mavlink::ardupilotmega::PARAM_REQUEST_READ_DATA"]],["impl UnwindSafe for MavMessage",1,["mavlink::ardupilotmega::MavMessage"]],["impl UnwindSafe for FailureType",1,["mavlink::uavionix::FailureType"]],["impl UnwindSafe for MavOdidHeightRef",1,["mavlink::uavionix::MavOdidHeightRef"]],["impl UnwindSafe for PreflightStorageParameterAction",1,["mavlink::uavionix::PreflightStorageParameterAction"]],["impl UnwindSafe for MavFtpErr",1,["mavlink::uavionix::MavFtpErr"]],["impl UnwindSafe for EscFailureFlags",1,["mavlink::uavionix::EscFailureFlags"]],["impl UnwindSafe for AdsbFlags",1,["mavlink::uavionix::AdsbFlags"]],["impl UnwindSafe for VtolTransitionHeading",1,["mavlink::uavionix::VtolTransitionHeading"]],["impl UnwindSafe for MavAutopilot",1,["mavlink::uavionix::MavAutopilot"]],["impl UnwindSafe for VideoStreamType",1,["mavlink::uavionix::VideoStreamType"]],["impl UnwindSafe for GimbalDeviceErrorFlags",1,["mavlink::uavionix::GimbalDeviceErrorFlags"]],["impl UnwindSafe for CameraZoomType",1,["mavlink::uavionix::CameraZoomType"]],["impl UnwindSafe for MavMissionResult",1,["mavlink::uavionix::MavMissionResult"]],["impl UnwindSafe for MavOdidHorAcc",1,["mavlink::uavionix::MavOdidHorAcc"]],["impl UnwindSafe for MavMode",1,["mavlink::uavionix::MavMode"]],["impl UnwindSafe for SetFocusType",1,["mavlink::uavionix::SetFocusType"]],["impl UnwindSafe for CellularNetworkRadioType",1,["mavlink::uavionix::CellularNetworkRadioType"]],["impl UnwindSafe for UavionixAdsbEmergencyStatus",1,["mavlink::uavionix::UavionixAdsbEmergencyStatus"]],["impl UnwindSafe for ParamAck",1,["mavlink::uavionix::ParamAck"]],["impl UnwindSafe for AutotuneAxis",1,["mavlink::uavionix::AutotuneAxis"]],["impl UnwindSafe for UavcanNodeMode",1,["mavlink::uavionix::UavcanNodeMode"]],["impl UnwindSafe for MavCollisionAction",1,["mavlink::uavionix::MavCollisionAction"]],["impl UnwindSafe for SerialControlDev",1,["mavlink::uavionix::SerialControlDev"]],["impl UnwindSafe for HlFailureFlag",1,["mavlink::uavionix::HlFailureFlag"]],["impl UnwindSafe for LandingTargetType",1,["mavlink::uavionix::LandingTargetType"]],["impl UnwindSafe for MavRoi",1,["mavlink::uavionix::MavRoi"]],["impl UnwindSafe for PositionTargetTypemask",1,["mavlink::uavionix::PositionTargetTypemask"]],["impl UnwindSafe for MissionState",1,["mavlink::uavionix::MissionState"]],["impl UnwindSafe for CameraTrackingMode",1,["mavlink::uavionix::CameraTrackingMode"]],["impl UnwindSafe for CellularConfigResponse",1,["mavlink::uavionix::CellularConfigResponse"]],["impl UnwindSafe for MavBatteryMode",1,["mavlink::uavionix::MavBatteryMode"]],["impl UnwindSafe for MavOdidCategoryEu",1,["mavlink::uavionix::MavOdidCategoryEu"]],["impl UnwindSafe for MavEstimatorType",1,["mavlink::uavionix::MavEstimatorType"]],["impl UnwindSafe for UtmFlightState",1,["mavlink::uavionix::UtmFlightState"]],["impl UnwindSafe for UtmDataAvailFlags",1,["mavlink::uavionix::UtmDataAvailFlags"]],["impl UnwindSafe for AisFlags",1,["mavlink::uavionix::AisFlags"]],["impl UnwindSafe for ActuatorOutputFunction",1,["mavlink::uavionix::ActuatorOutputFunction"]],["impl UnwindSafe for MavSensorOrientation",1,["mavlink::uavionix::MavSensorOrientation"]],["impl UnwindSafe for MavOdidClassEu",1,["mavlink::uavionix::MavOdidClassEu"]],["impl UnwindSafe for MavOdidClassificationType",1,["mavlink::uavionix::MavOdidClassificationType"]],["impl UnwindSafe for CanFilterOp",1,["mavlink::uavionix::CanFilterOp"]],["impl UnwindSafe for RcType",1,["mavlink::uavionix::RcType"]],["impl UnwindSafe for GimbalManagerFlags",1,["mavlink::uavionix::GimbalManagerFlags"]],["impl UnwindSafe for CameraCapFlags",1,["mavlink::uavionix::CameraCapFlags"]],["impl UnwindSafe for MavSysStatusSensor",1,["mavlink::uavionix::MavSysStatusSensor"]],["impl UnwindSafe for MavMissionType",1,["mavlink::uavionix::MavMissionType"]],["impl UnwindSafe for MavOdidOperatorLocationType",1,["mavlink::uavionix::MavOdidOperatorLocationType"]],["impl UnwindSafe for VideoStreamStatusFlags",1,["mavlink::uavionix::VideoStreamStatusFlags"]],["impl UnwindSafe for MavCmdAck",1,["mavlink::uavionix::MavCmdAck"]],["impl UnwindSafe for StorageType",1,["mavlink::uavionix::StorageType"]],["impl UnwindSafe for UavionixAdsbOutDynamicState",1,["mavlink::uavionix::UavionixAdsbOutDynamicState"]],["impl UnwindSafe for CellularStatusFlag",1,["mavlink::uavionix::CellularStatusFlag"]],["impl UnwindSafe for RtkBaselineCoordinateSystem",1,["mavlink::uavionix::RtkBaselineCoordinateSystem"]],["impl UnwindSafe for MavParamExtType",1,["mavlink::uavionix::MavParamExtType"]],["impl UnwindSafe for FailureUnit",1,["mavlink::uavionix::FailureUnit"]],["impl UnwindSafe for UavionixAdsbOutCfgGpsOffsetLat",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLat"]],["impl UnwindSafe for MavLandedState",1,["mavlink::uavionix::MavLandedState"]],["impl UnwindSafe for MavModeFlag",1,["mavlink::uavionix::MavModeFlag"]],["impl UnwindSafe for WinchActions",1,["mavlink::uavionix::WinchActions"]],["impl UnwindSafe for UavcanNodeHealth",1,["mavlink::uavionix::UavcanNodeHealth"]],["impl UnwindSafe for AisType",1,["mavlink::uavionix::AisType"]],["impl UnwindSafe for MavParamType",1,["mavlink::uavionix::MavParamType"]],["impl UnwindSafe for MavOdidUaType",1,["mavlink::uavionix::MavOdidUaType"]],["impl UnwindSafe for MavComponent",1,["mavlink::uavionix::MavComponent"]],["impl UnwindSafe for GripperActions",1,["mavlink::uavionix::GripperActions"]],["impl UnwindSafe for NavVtolLandOptions",1,["mavlink::uavionix::NavVtolLandOptions"]],["impl UnwindSafe for MavFtpOpcode",1,["mavlink::uavionix::MavFtpOpcode"]],["impl UnwindSafe for MavProtocolCapability",1,["mavlink::uavionix::MavProtocolCapability"]],["impl UnwindSafe for WifiConfigApResponse",1,["mavlink::uavionix::WifiConfigApResponse"]],["impl UnwindSafe for MavDataStream",1,["mavlink::uavionix::MavDataStream"]],["impl UnwindSafe for MavBatteryChargeState",1,["mavlink::uavionix::MavBatteryChargeState"]],["impl UnwindSafe for WifiConfigApMode",1,["mavlink::uavionix::WifiConfigApMode"]],["impl UnwindSafe for AdsbAltitudeType",1,["mavlink::uavionix::AdsbAltitudeType"]],["impl UnwindSafe for GimbalManagerCapFlags",1,["mavlink::uavionix::GimbalManagerCapFlags"]],["impl UnwindSafe for MavCollisionSrc",1,["mavlink::uavionix::MavCollisionSrc"]],["impl UnwindSafe for CameraTrackingStatusFlags",1,["mavlink::uavionix::CameraTrackingStatusFlags"]],["impl UnwindSafe for MavDoRepositionFlags",1,["mavlink::uavionix::MavDoRepositionFlags"]],["impl UnwindSafe for CellularNetworkFailedReason",1,["mavlink::uavionix::CellularNetworkFailedReason"]],["impl UnwindSafe for MavOdidTimeAcc",1,["mavlink::uavionix::MavOdidTimeAcc"]],["impl UnwindSafe for MavOdidSpeedAcc",1,["mavlink::uavionix::MavOdidSpeedAcc"]],["impl UnwindSafe for MavOdidStatus",1,["mavlink::uavionix::MavOdidStatus"]],["impl UnwindSafe for MagCalStatus",1,["mavlink::uavionix::MagCalStatus"]],["impl UnwindSafe for MavType",1,["mavlink::uavionix::MavType"]],["impl UnwindSafe for FenceBreach",1,["mavlink::uavionix::FenceBreach"]],["impl UnwindSafe for AisNavStatus",1,["mavlink::uavionix::AisNavStatus"]],["impl UnwindSafe for MavBatteryFault",1,["mavlink::uavionix::MavBatteryFault"]],["impl UnwindSafe for MavOdidArmStatus",1,["mavlink::uavionix::MavOdidArmStatus"]],["impl UnwindSafe for GimbalDeviceCapFlags",1,["mavlink::uavionix::GimbalDeviceCapFlags"]],["impl UnwindSafe for PreflightStorageMissionAction",1,["mavlink::uavionix::PreflightStorageMissionAction"]],["impl UnwindSafe for HighresImuUpdatedFlags",1,["mavlink::uavionix::HighresImuUpdatedFlags"]],["impl UnwindSafe for CameraMode",1,["mavlink::uavionix::CameraMode"]],["impl UnwindSafe for SerialControlFlag",1,["mavlink::uavionix::SerialControlFlag"]],["impl UnwindSafe for AdsbEmitterType",1,["mavlink::uavionix::AdsbEmitterType"]],["impl UnwindSafe for PrecisionLandMode",1,["mavlink::uavionix::PrecisionLandMode"]],["impl UnwindSafe for CameraTrackingTargetData",1,["mavlink::uavionix::CameraTrackingTargetData"]],["impl UnwindSafe for StorageStatus",1,["mavlink::uavionix::StorageStatus"]],["impl UnwindSafe for MavState",1,["mavlink::uavionix::MavState"]],["impl UnwindSafe for MavArmAuthDeniedReason",1,["mavlink::uavionix::MavArmAuthDeniedReason"]],["impl UnwindSafe for EstimatorStatusFlags",1,["mavlink::uavionix::EstimatorStatusFlags"]],["impl UnwindSafe for OrbitYawBehaviour",1,["mavlink::uavionix::OrbitYawBehaviour"]],["impl UnwindSafe for MavSysStatusSensorExtended",1,["mavlink::uavionix::MavSysStatusSensorExtended"]],["impl UnwindSafe for MavSeverity",1,["mavlink::uavionix::MavSeverity"]],["impl UnwindSafe for MavCmd",1,["mavlink::uavionix::MavCmd"]],["impl UnwindSafe for MavMountMode",1,["mavlink::uavionix::MavMountMode"]],["impl UnwindSafe for MavOdidOperatorIdType",1,["mavlink::uavionix::MavOdidOperatorIdType"]],["impl UnwindSafe for MavOdidIdType",1,["mavlink::uavionix::MavOdidIdType"]],["impl UnwindSafe for ActuatorConfiguration",1,["mavlink::uavionix::ActuatorConfiguration"]],["impl UnwindSafe for MavEventErrorReason",1,["mavlink::uavionix::MavEventErrorReason"]],["impl UnwindSafe for StorageUsageFlag",1,["mavlink::uavionix::StorageUsageFlag"]],["impl UnwindSafe for MavPowerStatus",1,["mavlink::uavionix::MavPowerStatus"]],["impl UnwindSafe for CompMetadataType",1,["mavlink::uavionix::CompMetadataType"]],["impl UnwindSafe for MavCollisionThreatLevel",1,["mavlink::uavionix::MavCollisionThreatLevel"]],["impl UnwindSafe for MavOdidAuthType",1,["mavlink::uavionix::MavOdidAuthType"]],["impl UnwindSafe for MavOdidDescType",1,["mavlink::uavionix::MavOdidDescType"]],["impl UnwindSafe for ParachuteAction",1,["mavlink::uavionix::ParachuteAction"]],["impl UnwindSafe for AttitudeTargetTypemask",1,["mavlink::uavionix::AttitudeTargetTypemask"]],["impl UnwindSafe for FenceMitigate",1,["mavlink::uavionix::FenceMitigate"]],["impl UnwindSafe for UavionixAdsbOutRfSelect",1,["mavlink::uavionix::UavionixAdsbOutRfSelect"]],["impl UnwindSafe for MavFrame",1,["mavlink::uavionix::MavFrame"]],["impl UnwindSafe for MotorTestOrder",1,["mavlink::uavionix::MotorTestOrder"]],["impl UnwindSafe for MavResult",1,["mavlink::uavionix::MavResult"]],["impl UnwindSafe for MavGoto",1,["mavlink::uavionix::MavGoto"]],["impl UnwindSafe for TuneFormat",1,["mavlink::uavionix::TuneFormat"]],["impl UnwindSafe for MavlinkDataStreamType",1,["mavlink::uavionix::MavlinkDataStreamType"]],["impl UnwindSafe for FenceAction",1,["mavlink::uavionix::FenceAction"]],["impl UnwindSafe for MavEventCurrentSequenceFlags",1,["mavlink::uavionix::MavEventCurrentSequenceFlags"]],["impl UnwindSafe for MavWinchStatusFlag",1,["mavlink::uavionix::MavWinchStatusFlag"]],["impl UnwindSafe for GpsInputIgnoreFlags",1,["mavlink::uavionix::GpsInputIgnoreFlags"]],["impl UnwindSafe for UavionixAdsbOutCfgGpsOffsetLon",1,["mavlink::uavionix::UavionixAdsbOutCfgGpsOffsetLon"]],["impl UnwindSafe for MavGeneratorStatusFlag",1,["mavlink::uavionix::MavGeneratorStatusFlag"]],["impl UnwindSafe for UavionixAdsbOutDynamicGpsFix",1,["mavlink::uavionix::UavionixAdsbOutDynamicGpsFix"]],["impl UnwindSafe for EscConnectionType",1,["mavlink::uavionix::EscConnectionType"]],["impl UnwindSafe for MavDistanceSensor",1,["mavlink::uavionix::MavDistanceSensor"]],["impl UnwindSafe for MavModeFlagDecodePosition",1,["mavlink::uavionix::MavModeFlagDecodePosition"]],["impl UnwindSafe for GimbalDeviceFlags",1,["mavlink::uavionix::GimbalDeviceFlags"]],["impl UnwindSafe for MotorTestThrottleType",1,["mavlink::uavionix::MotorTestThrottleType"]],["impl UnwindSafe for UavionixAdsbOutCfgAircraftSize",1,["mavlink::uavionix::UavionixAdsbOutCfgAircraftSize"]],["impl UnwindSafe for MavOdidVerAcc",1,["mavlink::uavionix::MavOdidVerAcc"]],["impl UnwindSafe for MavBatteryType",1,["mavlink::uavionix::MavBatteryType"]],["impl UnwindSafe for MavBatteryFunction",1,["mavlink::uavionix::MavBatteryFunction"]],["impl UnwindSafe for GpsFixType",1,["mavlink::uavionix::GpsFixType"]],["impl UnwindSafe for MavTunnelPayloadType",1,["mavlink::uavionix::MavTunnelPayloadType"]],["impl UnwindSafe for HilSensorUpdatedFlags",1,["mavlink::uavionix::HilSensorUpdatedFlags"]],["impl UnwindSafe for UavionixAdsbRfHealth",1,["mavlink::uavionix::UavionixAdsbRfHealth"]],["impl UnwindSafe for MavVtolState",1,["mavlink::uavionix::MavVtolState"]],["impl UnwindSafe for FirmwareVersionType",1,["mavlink::uavionix::FirmwareVersionType"]],["impl UnwindSafe for MISSION_SET_CURRENT_DATA",1,["mavlink::uavionix::MISSION_SET_CURRENT_DATA"]],["impl UnwindSafe for AUTH_KEY_DATA",1,["mavlink::uavionix::AUTH_KEY_DATA"]],["impl UnwindSafe for ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::ATTITUDE_TARGET_DATA"]],["impl UnwindSafe for SETUP_SIGNING_DATA",1,["mavlink::uavionix::SETUP_SIGNING_DATA"]],["impl UnwindSafe for CELLULAR_CONFIG_DATA",1,["mavlink::uavionix::CELLULAR_CONFIG_DATA"]],["impl UnwindSafe for UTM_GLOBAL_POSITION_DATA",1,["mavlink::uavionix::UTM_GLOBAL_POSITION_DATA"]],["impl UnwindSafe for VFR_HUD_DATA",1,["mavlink::uavionix::VFR_HUD_DATA"]],["impl UnwindSafe for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"]],["impl UnwindSafe for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl UnwindSafe for ODOMETRY_DATA",1,["mavlink::uavionix::ODOMETRY_DATA"]],["impl UnwindSafe for SERIAL_CONTROL_DATA",1,["mavlink::uavionix::SERIAL_CONTROL_DATA"]],["impl UnwindSafe for RC_CHANNELS_SCALED_DATA",1,["mavlink::uavionix::RC_CHANNELS_SCALED_DATA"]],["impl UnwindSafe for COMPONENT_INFORMATION_DATA",1,["mavlink::uavionix::COMPONENT_INFORMATION_DATA"]],["impl UnwindSafe for PARAM_EXT_VALUE_DATA",1,["mavlink::uavionix::PARAM_EXT_VALUE_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl UnwindSafe for UAVCAN_NODE_INFO_DATA",1,["mavlink::uavionix::UAVCAN_NODE_INFO_DATA"]],["impl UnwindSafe for CAMERA_SETTINGS_DATA",1,["mavlink::uavionix::CAMERA_SETTINGS_DATA"]],["impl UnwindSafe for RADIO_STATUS_DATA",1,["mavlink::uavionix::RADIO_STATUS_DATA"]],["impl UnwindSafe for GPS_RAW_INT_DATA",1,["mavlink::uavionix::GPS_RAW_INT_DATA"]],["impl UnwindSafe for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::uavionix::CONTROL_SYSTEM_STATE_DATA"]],["impl UnwindSafe for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl UnwindSafe for TUNNEL_DATA",1,["mavlink::uavionix::TUNNEL_DATA"]],["impl UnwindSafe for LOG_REQUEST_LIST_DATA",1,["mavlink::uavionix::LOG_REQUEST_LIST_DATA"]],["impl UnwindSafe for REQUEST_DATA_STREAM_DATA",1,["mavlink::uavionix::REQUEST_DATA_STREAM_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl UnwindSafe for CANFD_FRAME_DATA",1,["mavlink::uavionix::CANFD_FRAME_DATA"]],["impl UnwindSafe for HIL_CONTROLS_DATA",1,["mavlink::uavionix::HIL_CONTROLS_DATA"]],["impl UnwindSafe for POWER_STATUS_DATA",1,["mavlink::uavionix::POWER_STATUS_DATA"]],["impl UnwindSafe for HIL_STATE_DATA",1,["mavlink::uavionix::HIL_STATE_DATA"]],["impl UnwindSafe for LOGGING_DATA_DATA",1,["mavlink::uavionix::LOGGING_DATA_DATA"]],["impl UnwindSafe for SMART_BATTERY_INFO_DATA",1,["mavlink::uavionix::SMART_BATTERY_INFO_DATA"]],["impl UnwindSafe for RAW_PRESSURE_DATA",1,["mavlink::uavionix::RAW_PRESSURE_DATA"]],["impl UnwindSafe for PARAM_EXT_SET_DATA",1,["mavlink::uavionix::PARAM_EXT_SET_DATA"]],["impl UnwindSafe for VIBRATION_DATA",1,["mavlink::uavionix::VIBRATION_DATA"]],["impl UnwindSafe for LOGGING_ACK_DATA",1,["mavlink::uavionix::LOGGING_ACK_DATA"]],["impl UnwindSafe for SCALED_PRESSURE2_DATA",1,["mavlink::uavionix::SCALED_PRESSURE2_DATA"]],["impl UnwindSafe for AUTOPILOT_VERSION_DATA",1,["mavlink::uavionix::AUTOPILOT_VERSION_DATA"]],["impl UnwindSafe for NAMED_VALUE_FLOAT_DATA",1,["mavlink::uavionix::NAMED_VALUE_FLOAT_DATA"]],["impl UnwindSafe for GPS_RTK_DATA",1,["mavlink::uavionix::GPS_RTK_DATA"]],["impl UnwindSafe for UAVIONIX_ADSB_OUT_DYNAMIC_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_DYNAMIC_DATA"]],["impl UnwindSafe for COMMAND_CANCEL_DATA",1,["mavlink::uavionix::COMMAND_CANCEL_DATA"]],["impl UnwindSafe for CAMERA_FOV_STATUS_DATA",1,["mavlink::uavionix::CAMERA_FOV_STATUS_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl UnwindSafe for LOG_ERASE_DATA",1,["mavlink::uavionix::LOG_ERASE_DATA"]],["impl UnwindSafe for LOG_REQUEST_DATA_DATA",1,["mavlink::uavionix::LOG_REQUEST_DATA_DATA"]],["impl UnwindSafe for LINK_NODE_STATUS_DATA",1,["mavlink::uavionix::LINK_NODE_STATUS_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl UnwindSafe for STORAGE_INFORMATION_DATA",1,["mavlink::uavionix::STORAGE_INFORMATION_DATA"]],["impl UnwindSafe for LOGGING_DATA_ACKED_DATA",1,["mavlink::uavionix::LOGGING_DATA_ACKED_DATA"]],["impl UnwindSafe for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::uavionix::DEBUG_FLOAT_ARRAY_DATA"]],["impl UnwindSafe for SCALED_IMU2_DATA",1,["mavlink::uavionix::SCALED_IMU2_DATA"]],["impl UnwindSafe for COLLISION_DATA",1,["mavlink::uavionix::COLLISION_DATA"]],["impl UnwindSafe for MISSION_REQUEST_INT_DATA",1,["mavlink::uavionix::MISSION_REQUEST_INT_DATA"]],["impl UnwindSafe for SERVO_OUTPUT_RAW_DATA",1,["mavlink::uavionix::SERVO_OUTPUT_RAW_DATA"]],["impl UnwindSafe for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_LIST_DATA"]],["impl UnwindSafe for TERRAIN_DATA_DATA",1,["mavlink::uavionix::TERRAIN_DATA_DATA"]],["impl UnwindSafe for RC_CHANNELS_DATA",1,["mavlink::uavionix::RC_CHANNELS_DATA"]],["impl UnwindSafe for HIL_SENSOR_DATA",1,["mavlink::uavionix::HIL_SENSOR_DATA"]],["impl UnwindSafe for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl UnwindSafe for STATUSTEXT_DATA",1,["mavlink::uavionix::STATUSTEXT_DATA"]],["impl UnwindSafe for RC_CHANNELS_RAW_DATA",1,["mavlink::uavionix::RC_CHANNELS_RAW_DATA"]],["impl UnwindSafe for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_COV_DATA"]],["impl UnwindSafe for MESSAGE_INTERVAL_DATA",1,["mavlink::uavionix::MESSAGE_INTERVAL_DATA"]],["impl UnwindSafe for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_ALLOWED_AREA_DATA"]],["impl UnwindSafe for EXTENDED_SYS_STATE_DATA",1,["mavlink::uavionix::EXTENDED_SYS_STATE_DATA"]],["impl UnwindSafe for GPS_INJECT_DATA_DATA",1,["mavlink::uavionix::GPS_INJECT_DATA_DATA"]],["impl UnwindSafe for HOME_POSITION_DATA",1,["mavlink::uavionix::HOME_POSITION_DATA"]],["impl UnwindSafe for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_EXT_REQUEST_READ_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl UnwindSafe for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl UnwindSafe for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::ACTUATOR_CONTROL_TARGET_DATA"]],["impl UnwindSafe for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::uavionix::NAV_CONTROLLER_OUTPUT_DATA"]],["impl UnwindSafe for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::uavionix::RC_CHANNELS_OVERRIDE_DATA"]],["impl UnwindSafe for SET_HOME_POSITION_DATA",1,["mavlink::uavionix::SET_HOME_POSITION_DATA"]],["impl UnwindSafe for HIL_OPTICAL_FLOW_DATA",1,["mavlink::uavionix::HIL_OPTICAL_FLOW_DATA"]],["impl UnwindSafe for V2_EXTENSION_DATA",1,["mavlink::uavionix::V2_EXTENSION_DATA"]],["impl UnwindSafe for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::uavionix::HIL_ACTUATOR_CONTROLS_DATA"]],["impl UnwindSafe for PARAM_MAP_RC_DATA",1,["mavlink::uavionix::PARAM_MAP_RC_DATA"]],["impl UnwindSafe for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::uavionix::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl UnwindSafe for BUTTON_CHANGE_DATA",1,["mavlink::uavionix::BUTTON_CHANGE_DATA"]],["impl UnwindSafe for PARAM_REQUEST_LIST_DATA",1,["mavlink::uavionix::PARAM_REQUEST_LIST_DATA"]],["impl UnwindSafe for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_DATA"]],["impl UnwindSafe for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::uavionix::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_LOCATION_DATA"]],["impl UnwindSafe for BATTERY_STATUS_DATA",1,["mavlink::uavionix::BATTERY_STATUS_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl UnwindSafe for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::uavionix::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl UnwindSafe for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::uavionix::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl UnwindSafe for HIGHRES_IMU_DATA",1,["mavlink::uavionix::HIGHRES_IMU_DATA"]],["impl UnwindSafe for PARAM_EXT_ACK_DATA",1,["mavlink::uavionix::PARAM_EXT_ACK_DATA"]],["impl UnwindSafe for TERRAIN_CHECK_DATA",1,["mavlink::uavionix::TERRAIN_CHECK_DATA"]],["impl UnwindSafe for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::uavionix::HIL_RC_INPUTS_RAW_DATA"]],["impl UnwindSafe for MISSION_ITEM_INT_DATA",1,["mavlink::uavionix::MISSION_ITEM_INT_DATA"]],["impl UnwindSafe for ATT_POS_MOCAP_DATA",1,["mavlink::uavionix::ATT_POS_MOCAP_DATA"]],["impl UnwindSafe for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::uavionix::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl UnwindSafe for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::uavionix::RESPONSE_EVENT_ERROR_DATA"]],["impl UnwindSafe for ATTITUDE_DATA",1,["mavlink::uavionix::ATTITUDE_DATA"]],["impl UnwindSafe for TERRAIN_REQUEST_DATA",1,["mavlink::uavionix::TERRAIN_REQUEST_DATA"]],["impl UnwindSafe for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::uavionix::FILE_TRANSFER_PROTOCOL_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_DATA"]],["impl UnwindSafe for TERRAIN_REPORT_DATA",1,["mavlink::uavionix::TERRAIN_REPORT_DATA"]],["impl UnwindSafe for REQUEST_EVENT_DATA",1,["mavlink::uavionix::REQUEST_EVENT_DATA"]],["impl UnwindSafe for ALTITUDE_DATA",1,["mavlink::uavionix::ALTITUDE_DATA"]],["impl UnwindSafe for WIND_COV_DATA",1,["mavlink::uavionix::WIND_COV_DATA"]],["impl UnwindSafe for GPS2_RAW_DATA",1,["mavlink::uavionix::GPS2_RAW_DATA"]],["impl UnwindSafe for SYS_STATUS_DATA",1,["mavlink::uavionix::SYS_STATUS_DATA"]],["impl UnwindSafe for SCALED_PRESSURE_DATA",1,["mavlink::uavionix::SCALED_PRESSURE_DATA"]],["impl UnwindSafe for SET_ATTITUDE_TARGET_DATA",1,["mavlink::uavionix::SET_ATTITUDE_TARGET_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_COV_DATA"]],["impl UnwindSafe for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::uavionix::ORBIT_EXECUTION_STATUS_DATA"]],["impl UnwindSafe for PARAM_REQUEST_READ_DATA",1,["mavlink::uavionix::PARAM_REQUEST_READ_DATA"]],["impl UnwindSafe for MEMORY_VECT_DATA",1,["mavlink::uavionix::MEMORY_VECT_DATA"]],["impl UnwindSafe for SCALED_IMU_DATA",1,["mavlink::uavionix::SCALED_IMU_DATA"]],["impl UnwindSafe for VIDEO_STREAM_STATUS_DATA",1,["mavlink::uavionix::VIDEO_STREAM_STATUS_DATA"]],["impl UnwindSafe for GPS_STATUS_DATA",1,["mavlink::uavionix::GPS_STATUS_DATA"]],["impl UnwindSafe for PING_DATA",1,["mavlink::uavionix::PING_DATA"]],["impl UnwindSafe for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::uavionix::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl UnwindSafe for SCALED_PRESSURE3_DATA",1,["mavlink::uavionix::SCALED_PRESSURE3_DATA"]],["impl UnwindSafe for WIFI_CONFIG_AP_DATA",1,["mavlink::uavionix::WIFI_CONFIG_AP_DATA"]],["impl UnwindSafe for RAW_RPM_DATA",1,["mavlink::uavionix::RAW_RPM_DATA"]],["impl UnwindSafe for MISSION_ITEM_REACHED_DATA",1,["mavlink::uavionix::MISSION_ITEM_REACHED_DATA"]],["impl UnwindSafe for TIMESYNC_DATA",1,["mavlink::uavionix::TIMESYNC_DATA"]],["impl UnwindSafe for MOUNT_ORIENTATION_DATA",1,["mavlink::uavionix::MOUNT_ORIENTATION_DATA"]],["impl UnwindSafe for DATA_STREAM_DATA",1,["mavlink::uavionix::DATA_STREAM_DATA"]],["impl UnwindSafe for ISBD_LINK_STATUS_DATA",1,["mavlink::uavionix::ISBD_LINK_STATUS_DATA"]],["impl UnwindSafe for GPS2_RTK_DATA",1,["mavlink::uavionix::GPS2_RTK_DATA"]],["impl UnwindSafe for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl UnwindSafe for HIL_GPS_DATA",1,["mavlink::uavionix::HIL_GPS_DATA"]],["impl UnwindSafe for MISSION_CURRENT_DATA",1,["mavlink::uavionix::MISSION_CURRENT_DATA"]],["impl UnwindSafe for PARAM_VALUE_DATA",1,["mavlink::uavionix::PARAM_VALUE_DATA"]],["impl UnwindSafe for FENCE_STATUS_DATA",1,["mavlink::uavionix::FENCE_STATUS_DATA"]],["impl UnwindSafe for HIL_STATE_QUATERNION_DATA",1,["mavlink::uavionix::HIL_STATE_QUATERNION_DATA"]],["impl UnwindSafe for OBSTACLE_DISTANCE_DATA",1,["mavlink::uavionix::OBSTACLE_DISTANCE_DATA"]],["impl UnwindSafe for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_CAPTURE_STATUS_DATA"]],["impl UnwindSafe for DISTANCE_SENSOR_DATA",1,["mavlink::uavionix::DISTANCE_SENSOR_DATA"]],["impl UnwindSafe for NAMED_VALUE_INT_DATA",1,["mavlink::uavionix::NAMED_VALUE_INT_DATA"]],["impl UnwindSafe for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::uavionix::ONBOARD_COMPUTER_STATUS_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::uavionix::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl UnwindSafe for MISSION_REQUEST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_DATA"]],["impl UnwindSafe for MISSION_REQUEST_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_LIST_DATA"]],["impl UnwindSafe for LOG_DATA_DATA",1,["mavlink::uavionix::LOG_DATA_DATA"]],["impl UnwindSafe for UAVIONIX_ADSB_OUT_CFG_DATA",1,["mavlink::uavionix::UAVIONIX_ADSB_OUT_CFG_DATA"]],["impl UnwindSafe for PROTOCOL_VERSION_DATA",1,["mavlink::uavionix::PROTOCOL_VERSION_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl UnwindSafe for LANDING_TARGET_DATA",1,["mavlink::uavionix::LANDING_TARGET_DATA"]],["impl UnwindSafe for ESC_STATUS_DATA",1,["mavlink::uavionix::ESC_STATUS_DATA"]],["impl UnwindSafe for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::uavionix::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl UnwindSafe for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::uavionix::GPS_GLOBAL_ORIGIN_DATA"]],["impl UnwindSafe for PLAY_TUNE_V2_DATA",1,["mavlink::uavionix::PLAY_TUNE_V2_DATA"]],["impl UnwindSafe for DEBUG_VECT_DATA",1,["mavlink::uavionix::DEBUG_VECT_DATA"]],["impl UnwindSafe for LOG_REQUEST_END_DATA",1,["mavlink::uavionix::LOG_REQUEST_END_DATA"]],["impl UnwindSafe for RESOURCE_REQUEST_DATA",1,["mavlink::uavionix::RESOURCE_REQUEST_DATA"]],["impl UnwindSafe for ATTITUDE_QUATERNION_DATA",1,["mavlink::uavionix::ATTITUDE_QUATERNION_DATA"]],["impl UnwindSafe for HYGROMETER_SENSOR_DATA",1,["mavlink::uavionix::HYGROMETER_SENSOR_DATA"]],["impl UnwindSafe for ENCAPSULATED_DATA_DATA",1,["mavlink::uavionix::ENCAPSULATED_DATA_DATA"]],["impl UnwindSafe for CAMERA_INFORMATION_DATA",1,["mavlink::uavionix::CAMERA_INFORMATION_DATA"]],["impl UnwindSafe for ESC_INFO_DATA",1,["mavlink::uavionix::ESC_INFO_DATA"]],["impl UnwindSafe for FLIGHT_INFORMATION_DATA",1,["mavlink::uavionix::FLIGHT_INFORMATION_DATA"]],["impl UnwindSafe for HIGH_LATENCY2_DATA",1,["mavlink::uavionix::HIGH_LATENCY2_DATA"]],["impl UnwindSafe for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_COV_DATA"]],["impl UnwindSafe for SET_MODE_DATA",1,["mavlink::uavionix::SET_MODE_DATA"]],["impl UnwindSafe for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl UnwindSafe for PARAM_SET_DATA",1,["mavlink::uavionix::PARAM_SET_DATA"]],["impl UnwindSafe for SUPPORTED_TUNES_DATA",1,["mavlink::uavionix::SUPPORTED_TUNES_DATA"]],["impl UnwindSafe for CAN_FILTER_MODIFY_DATA",1,["mavlink::uavionix::CAN_FILTER_MODIFY_DATA"]],["impl UnwindSafe for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for PLAY_TUNE_DATA",1,["mavlink::uavionix::PLAY_TUNE_DATA"]],["impl UnwindSafe for HEARTBEAT_DATA",1,["mavlink::uavionix::HEARTBEAT_DATA"]],["impl UnwindSafe for SIM_STATE_DATA",1,["mavlink::uavionix::SIM_STATE_DATA"]],["impl UnwindSafe for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::uavionix::CAMERA_IMAGE_CAPTURED_DATA"]],["impl UnwindSafe for AIS_VESSEL_DATA",1,["mavlink::uavionix::AIS_VESSEL_DATA"]],["impl UnwindSafe for CAMERA_TRIGGER_DATA",1,["mavlink::uavionix::CAMERA_TRIGGER_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::uavionix::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl UnwindSafe for LOG_ENTRY_DATA",1,["mavlink::uavionix::LOG_ENTRY_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::uavionix::GIMBAL_MANAGER_STATUS_DATA"]],["impl UnwindSafe for MANUAL_SETPOINT_DATA",1,["mavlink::uavionix::MANUAL_SETPOINT_DATA"]],["impl UnwindSafe for GPS_RTCM_DATA_DATA",1,["mavlink::uavionix::GPS_RTCM_DATA_DATA"]],["impl UnwindSafe for RAW_IMU_DATA",1,["mavlink::uavionix::RAW_IMU_DATA"]],["impl UnwindSafe for COMMAND_INT_DATA",1,["mavlink::uavionix::COMMAND_INT_DATA"]],["impl UnwindSafe for DEBUG_DATA",1,["mavlink::uavionix::DEBUG_DATA"]],["impl UnwindSafe for MISSION_COUNT_DATA",1,["mavlink::uavionix::MISSION_COUNT_DATA"]],["impl UnwindSafe for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::uavionix::VISION_SPEED_ESTIMATE_DATA"]],["impl UnwindSafe for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::uavionix::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl UnwindSafe for GPS_INPUT_DATA",1,["mavlink::uavionix::GPS_INPUT_DATA"]],["impl UnwindSafe for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::uavionix::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl UnwindSafe for UAVCAN_NODE_STATUS_DATA",1,["mavlink::uavionix::UAVCAN_NODE_STATUS_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl UnwindSafe for COMMAND_ACK_DATA",1,["mavlink::uavionix::COMMAND_ACK_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::uavionix::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl UnwindSafe for CELLULAR_STATUS_DATA",1,["mavlink::uavionix::CELLULAR_STATUS_DATA"]],["impl UnwindSafe for SYSTEM_TIME_DATA",1,["mavlink::uavionix::SYSTEM_TIME_DATA"]],["impl UnwindSafe for EFI_STATUS_DATA",1,["mavlink::uavionix::EFI_STATUS_DATA"]],["impl UnwindSafe for COMMAND_LONG_DATA",1,["mavlink::uavionix::COMMAND_LONG_DATA"]],["impl UnwindSafe for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::uavionix::POSITION_TARGET_LOCAL_NED_DATA"]],["impl UnwindSafe for MAG_CAL_REPORT_DATA",1,["mavlink::uavionix::MAG_CAL_REPORT_DATA"]],["impl UnwindSafe for WHEEL_DISTANCE_DATA",1,["mavlink::uavionix::WHEEL_DISTANCE_DATA"]],["impl UnwindSafe for OPTICAL_FLOW_RAD_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_RAD_DATA"]],["impl UnwindSafe for SCALED_IMU3_DATA",1,["mavlink::uavionix::SCALED_IMU3_DATA"]],["impl UnwindSafe for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::uavionix::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl UnwindSafe for GENERATOR_STATUS_DATA",1,["mavlink::uavionix::GENERATOR_STATUS_DATA"]],["impl UnwindSafe for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::uavionix::VICON_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for MISSION_ITEM_DATA",1,["mavlink::uavionix::MISSION_ITEM_DATA"]],["impl UnwindSafe for MANUAL_CONTROL_DATA",1,["mavlink::uavionix::MANUAL_CONTROL_DATA"]],["impl UnwindSafe for ESTIMATOR_STATUS_DATA",1,["mavlink::uavionix::ESTIMATOR_STATUS_DATA"]],["impl UnwindSafe for ADSB_VEHICLE_DATA",1,["mavlink::uavionix::ADSB_VEHICLE_DATA"]],["impl UnwindSafe for GLOBAL_POSITION_INT_DATA",1,["mavlink::uavionix::GLOBAL_POSITION_INT_DATA"]],["impl UnwindSafe for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::uavionix::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl UnwindSafe for MISSION_CLEAR_ALL_DATA",1,["mavlink::uavionix::MISSION_CLEAR_ALL_DATA"]],["impl UnwindSafe for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::uavionix::VIDEO_STREAM_INFORMATION_DATA"]],["impl UnwindSafe for CAN_FRAME_DATA",1,["mavlink::uavionix::CAN_FRAME_DATA"]],["impl UnwindSafe for EVENT_DATA",1,["mavlink::uavionix::EVENT_DATA"]],["impl UnwindSafe for COMPONENT_METADATA_DATA",1,["mavlink::uavionix::COMPONENT_METADATA_DATA"]],["impl UnwindSafe for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::uavionix::CURRENT_EVENT_SEQUENCE_DATA"]],["impl UnwindSafe for MISSION_ACK_DATA",1,["mavlink::uavionix::MISSION_ACK_DATA"]],["impl UnwindSafe for OPTICAL_FLOW_DATA",1,["mavlink::uavionix::OPTICAL_FLOW_DATA"]],["impl UnwindSafe for WINCH_STATUS_DATA",1,["mavlink::uavionix::WINCH_STATUS_DATA"]],["impl UnwindSafe for HIGH_LATENCY_DATA",1,["mavlink::uavionix::HIGH_LATENCY_DATA"]],["impl UnwindSafe for FOLLOW_TARGET_DATA",1,["mavlink::uavionix::FOLLOW_TARGET_DATA"]],["impl UnwindSafe for MavMessage",1,["mavlink::uavionix::MavMessage"]],["impl UnwindSafe for MavOdidClassificationType",1,["mavlink::common::MavOdidClassificationType"]],["impl UnwindSafe for NavVtolLandOptions",1,["mavlink::common::NavVtolLandOptions"]],["impl UnwindSafe for MotorTestThrottleType",1,["mavlink::common::MotorTestThrottleType"]],["impl UnwindSafe for ParachuteAction",1,["mavlink::common::ParachuteAction"]],["impl UnwindSafe for HlFailureFlag",1,["mavlink::common::HlFailureFlag"]],["impl UnwindSafe for MavSysStatusSensor",1,["mavlink::common::MavSysStatusSensor"]],["impl UnwindSafe for MavLandedState",1,["mavlink::common::MavLandedState"]],["impl UnwindSafe for FailureType",1,["mavlink::common::FailureType"]],["impl UnwindSafe for MavOdidAuthType",1,["mavlink::common::MavOdidAuthType"]],["impl UnwindSafe for RcType",1,["mavlink::common::RcType"]],["impl UnwindSafe for MavModeFlag",1,["mavlink::common::MavModeFlag"]],["impl UnwindSafe for EscFailureFlags",1,["mavlink::common::EscFailureFlags"]],["impl UnwindSafe for MavAutopilot",1,["mavlink::common::MavAutopilot"]],["impl UnwindSafe for WifiConfigApResponse",1,["mavlink::common::WifiConfigApResponse"]],["impl UnwindSafe for CameraTrackingStatusFlags",1,["mavlink::common::CameraTrackingStatusFlags"]],["impl UnwindSafe for FailureUnit",1,["mavlink::common::FailureUnit"]],["impl UnwindSafe for MavCmd",1,["mavlink::common::MavCmd"]],["impl UnwindSafe for UtmDataAvailFlags",1,["mavlink::common::UtmDataAvailFlags"]],["impl UnwindSafe for MavBatteryMode",1,["mavlink::common::MavBatteryMode"]],["impl UnwindSafe for StorageUsageFlag",1,["mavlink::common::StorageUsageFlag"]],["impl UnwindSafe for MavDoRepositionFlags",1,["mavlink::common::MavDoRepositionFlags"]],["impl UnwindSafe for MavSeverity",1,["mavlink::common::MavSeverity"]],["impl UnwindSafe for MavOdidArmStatus",1,["mavlink::common::MavOdidArmStatus"]],["impl UnwindSafe for MavDataStream",1,["mavlink::common::MavDataStream"]],["impl UnwindSafe for MavFtpErr",1,["mavlink::common::MavFtpErr"]],["impl UnwindSafe for WinchActions",1,["mavlink::common::WinchActions"]],["impl UnwindSafe for CameraTrackingTargetData",1,["mavlink::common::CameraTrackingTargetData"]],["impl UnwindSafe for MavFrame",1,["mavlink::common::MavFrame"]],["impl UnwindSafe for MavMissionType",1,["mavlink::common::MavMissionType"]],["impl UnwindSafe for MavOdidOperatorIdType",1,["mavlink::common::MavOdidOperatorIdType"]],["impl UnwindSafe for AdsbFlags",1,["mavlink::common::AdsbFlags"]],["impl UnwindSafe for AdsbEmitterType",1,["mavlink::common::AdsbEmitterType"]],["impl UnwindSafe for OrbitYawBehaviour",1,["mavlink::common::OrbitYawBehaviour"]],["impl UnwindSafe for WifiConfigApMode",1,["mavlink::common::WifiConfigApMode"]],["impl UnwindSafe for PositionTargetTypemask",1,["mavlink::common::PositionTargetTypemask"]],["impl UnwindSafe for StorageStatus",1,["mavlink::common::StorageStatus"]],["impl UnwindSafe for AttitudeTargetTypemask",1,["mavlink::common::AttitudeTargetTypemask"]],["impl UnwindSafe for MavVtolState",1,["mavlink::common::MavVtolState"]],["impl UnwindSafe for MavProtocolCapability",1,["mavlink::common::MavProtocolCapability"]],["impl UnwindSafe for GimbalManagerCapFlags",1,["mavlink::common::GimbalManagerCapFlags"]],["impl UnwindSafe for GimbalManagerFlags",1,["mavlink::common::GimbalManagerFlags"]],["impl UnwindSafe for StorageType",1,["mavlink::common::StorageType"]],["impl UnwindSafe for MotorTestOrder",1,["mavlink::common::MotorTestOrder"]],["impl UnwindSafe for CellularNetworkFailedReason",1,["mavlink::common::CellularNetworkFailedReason"]],["impl UnwindSafe for MavSysStatusSensorExtended",1,["mavlink::common::MavSysStatusSensorExtended"]],["impl UnwindSafe for MavState",1,["mavlink::common::MavState"]],["impl UnwindSafe for ActuatorOutputFunction",1,["mavlink::common::ActuatorOutputFunction"]],["impl UnwindSafe for MavOdidDescType",1,["mavlink::common::MavOdidDescType"]],["impl UnwindSafe for MavGeneratorStatusFlag",1,["mavlink::common::MavGeneratorStatusFlag"]],["impl UnwindSafe for HilSensorUpdatedFlags",1,["mavlink::common::HilSensorUpdatedFlags"]],["impl UnwindSafe for MavEventCurrentSequenceFlags",1,["mavlink::common::MavEventCurrentSequenceFlags"]],["impl UnwindSafe for MavComponent",1,["mavlink::common::MavComponent"]],["impl UnwindSafe for AdsbAltitudeType",1,["mavlink::common::AdsbAltitudeType"]],["impl UnwindSafe for VideoStreamType",1,["mavlink::common::VideoStreamType"]],["impl UnwindSafe for AisFlags",1,["mavlink::common::AisFlags"]],["impl UnwindSafe for MavGoto",1,["mavlink::common::MavGoto"]],["impl UnwindSafe for SerialControlDev",1,["mavlink::common::SerialControlDev"]],["impl UnwindSafe for MavWinchStatusFlag",1,["mavlink::common::MavWinchStatusFlag"]],["impl UnwindSafe for FenceMitigate",1,["mavlink::common::FenceMitigate"]],["impl UnwindSafe for MavEstimatorType",1,["mavlink::common::MavEstimatorType"]],["impl UnwindSafe for MavBatteryChargeState",1,["mavlink::common::MavBatteryChargeState"]],["impl UnwindSafe for GpsFixType",1,["mavlink::common::GpsFixType"]],["impl UnwindSafe for VideoStreamStatusFlags",1,["mavlink::common::VideoStreamStatusFlags"]],["impl UnwindSafe for MavCollisionSrc",1,["mavlink::common::MavCollisionSrc"]],["impl UnwindSafe for GimbalDeviceErrorFlags",1,["mavlink::common::GimbalDeviceErrorFlags"]],["impl UnwindSafe for MavSensorOrientation",1,["mavlink::common::MavSensorOrientation"]],["impl UnwindSafe for EstimatorStatusFlags",1,["mavlink::common::EstimatorStatusFlags"]],["impl UnwindSafe for CameraZoomType",1,["mavlink::common::CameraZoomType"]],["impl UnwindSafe for MavFtpOpcode",1,["mavlink::common::MavFtpOpcode"]],["impl UnwindSafe for MavCmdAck",1,["mavlink::common::MavCmdAck"]],["impl UnwindSafe for UtmFlightState",1,["mavlink::common::UtmFlightState"]],["impl UnwindSafe for MissionState",1,["mavlink::common::MissionState"]],["impl UnwindSafe for MavArmAuthDeniedReason",1,["mavlink::common::MavArmAuthDeniedReason"]],["impl UnwindSafe for MavOdidUaType",1,["mavlink::common::MavOdidUaType"]],["impl UnwindSafe for MavOdidStatus",1,["mavlink::common::MavOdidStatus"]],["impl UnwindSafe for FenceAction",1,["mavlink::common::FenceAction"]],["impl UnwindSafe for MavDistanceSensor",1,["mavlink::common::MavDistanceSensor"]],["impl UnwindSafe for MavMode",1,["mavlink::common::MavMode"]],["impl UnwindSafe for MavOdidVerAcc",1,["mavlink::common::MavOdidVerAcc"]],["impl UnwindSafe for HighresImuUpdatedFlags",1,["mavlink::common::HighresImuUpdatedFlags"]],["impl UnwindSafe for MagCalStatus",1,["mavlink::common::MagCalStatus"]],["impl UnwindSafe for MavModeFlagDecodePosition",1,["mavlink::common::MavModeFlagDecodePosition"]],["impl UnwindSafe for PreflightStorageParameterAction",1,["mavlink::common::PreflightStorageParameterAction"]],["impl UnwindSafe for EscConnectionType",1,["mavlink::common::EscConnectionType"]],["impl UnwindSafe for MavParamType",1,["mavlink::common::MavParamType"]],["impl UnwindSafe for UavcanNodeHealth",1,["mavlink::common::UavcanNodeHealth"]],["impl UnwindSafe for MavOdidHorAcc",1,["mavlink::common::MavOdidHorAcc"]],["impl UnwindSafe for AisNavStatus",1,["mavlink::common::AisNavStatus"]],["impl UnwindSafe for MavOdidClassEu",1,["mavlink::common::MavOdidClassEu"]],["impl UnwindSafe for GimbalDeviceFlags",1,["mavlink::common::GimbalDeviceFlags"]],["impl UnwindSafe for VtolTransitionHeading",1,["mavlink::common::VtolTransitionHeading"]],["impl UnwindSafe for MavTunnelPayloadType",1,["mavlink::common::MavTunnelPayloadType"]],["impl UnwindSafe for AutotuneAxis",1,["mavlink::common::AutotuneAxis"]],["impl UnwindSafe for MavOdidTimeAcc",1,["mavlink::common::MavOdidTimeAcc"]],["impl UnwindSafe for CameraTrackingMode",1,["mavlink::common::CameraTrackingMode"]],["impl UnwindSafe for CellularConfigResponse",1,["mavlink::common::CellularConfigResponse"]],["impl UnwindSafe for GpsInputIgnoreFlags",1,["mavlink::common::GpsInputIgnoreFlags"]],["impl UnwindSafe for PreflightStorageMissionAction",1,["mavlink::common::PreflightStorageMissionAction"]],["impl UnwindSafe for SetFocusType",1,["mavlink::common::SetFocusType"]],["impl UnwindSafe for MavOdidIdType",1,["mavlink::common::MavOdidIdType"]],["impl UnwindSafe for MavPowerStatus",1,["mavlink::common::MavPowerStatus"]],["impl UnwindSafe for MavOdidOperatorLocationType",1,["mavlink::common::MavOdidOperatorLocationType"]],["impl UnwindSafe for MavOdidSpeedAcc",1,["mavlink::common::MavOdidSpeedAcc"]],["impl UnwindSafe for FenceBreach",1,["mavlink::common::FenceBreach"]],["impl UnwindSafe for AisType",1,["mavlink::common::AisType"]],["impl UnwindSafe for CellularStatusFlag",1,["mavlink::common::CellularStatusFlag"]],["impl UnwindSafe for MavBatteryFunction",1,["mavlink::common::MavBatteryFunction"]],["impl UnwindSafe for SerialControlFlag",1,["mavlink::common::SerialControlFlag"]],["impl UnwindSafe for CameraMode",1,["mavlink::common::CameraMode"]],["impl UnwindSafe for GimbalDeviceCapFlags",1,["mavlink::common::GimbalDeviceCapFlags"]],["impl UnwindSafe for MavParamExtType",1,["mavlink::common::MavParamExtType"]],["impl UnwindSafe for MavEventErrorReason",1,["mavlink::common::MavEventErrorReason"]],["impl UnwindSafe for MavBatteryType",1,["mavlink::common::MavBatteryType"]],["impl UnwindSafe for TuneFormat",1,["mavlink::common::TuneFormat"]],["impl UnwindSafe for MavlinkDataStreamType",1,["mavlink::common::MavlinkDataStreamType"]],["impl UnwindSafe for UavcanNodeMode",1,["mavlink::common::UavcanNodeMode"]],["impl UnwindSafe for MavType",1,["mavlink::common::MavType"]],["impl UnwindSafe for ParamAck",1,["mavlink::common::ParamAck"]],["impl UnwindSafe for MavOdidHeightRef",1,["mavlink::common::MavOdidHeightRef"]],["impl UnwindSafe for MavMountMode",1,["mavlink::common::MavMountMode"]],["impl UnwindSafe for MavCollisionThreatLevel",1,["mavlink::common::MavCollisionThreatLevel"]],["impl UnwindSafe for CellularNetworkRadioType",1,["mavlink::common::CellularNetworkRadioType"]],["impl UnwindSafe for MavBatteryFault",1,["mavlink::common::MavBatteryFault"]],["impl UnwindSafe for MavCollisionAction",1,["mavlink::common::MavCollisionAction"]],["impl UnwindSafe for MavMissionResult",1,["mavlink::common::MavMissionResult"]],["impl UnwindSafe for CanFilterOp",1,["mavlink::common::CanFilterOp"]],["impl UnwindSafe for MavRoi",1,["mavlink::common::MavRoi"]],["impl UnwindSafe for MavResult",1,["mavlink::common::MavResult"]],["impl UnwindSafe for FirmwareVersionType",1,["mavlink::common::FirmwareVersionType"]],["impl UnwindSafe for GripperActions",1,["mavlink::common::GripperActions"]],["impl UnwindSafe for RtkBaselineCoordinateSystem",1,["mavlink::common::RtkBaselineCoordinateSystem"]],["impl UnwindSafe for LandingTargetType",1,["mavlink::common::LandingTargetType"]],["impl UnwindSafe for ActuatorConfiguration",1,["mavlink::common::ActuatorConfiguration"]],["impl UnwindSafe for MavOdidCategoryEu",1,["mavlink::common::MavOdidCategoryEu"]],["impl UnwindSafe for PrecisionLandMode",1,["mavlink::common::PrecisionLandMode"]],["impl UnwindSafe for CameraCapFlags",1,["mavlink::common::CameraCapFlags"]],["impl UnwindSafe for CompMetadataType",1,["mavlink::common::CompMetadataType"]],["impl UnwindSafe for LOCAL_POSITION_NED_DATA",1,["mavlink::common::LOCAL_POSITION_NED_DATA"]],["impl UnwindSafe for SAFETY_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_ALLOWED_AREA_DATA"]],["impl UnwindSafe for MISSION_ACK_DATA",1,["mavlink::common::MISSION_ACK_DATA"]],["impl UnwindSafe for SCALED_PRESSURE2_DATA",1,["mavlink::common::SCALED_PRESSURE2_DATA"]],["impl UnwindSafe for SIM_STATE_DATA",1,["mavlink::common::SIM_STATE_DATA"]],["impl UnwindSafe for HIGH_LATENCY2_DATA",1,["mavlink::common::HIGH_LATENCY2_DATA"]],["impl UnwindSafe for STATUSTEXT_DATA",1,["mavlink::common::STATUSTEXT_DATA"]],["impl UnwindSafe for ESTIMATOR_STATUS_DATA",1,["mavlink::common::ESTIMATOR_STATUS_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_DEVICE_SET_ATTITUDE_DATA"]],["impl UnwindSafe for ESC_INFO_DATA",1,["mavlink::common::ESC_INFO_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_COV_DATA",1,["mavlink::common::LOCAL_POSITION_NED_COV_DATA"]],["impl UnwindSafe for MISSION_ITEM_DATA",1,["mavlink::common::MISSION_ITEM_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"]],["impl UnwindSafe for PARAM_EXT_REQUEST_READ_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_READ_DATA"]],["impl UnwindSafe for MISSION_CLEAR_ALL_DATA",1,["mavlink::common::MISSION_CLEAR_ALL_DATA"]],["impl UnwindSafe for TERRAIN_CHECK_DATA",1,["mavlink::common::TERRAIN_CHECK_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_ATTITUDE_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_ATTITUDE_DATA"]],["impl UnwindSafe for PARAM_EXT_SET_DATA",1,["mavlink::common::PARAM_EXT_SET_DATA"]],["impl UnwindSafe for CAN_FRAME_DATA",1,["mavlink::common::CAN_FRAME_DATA"]],["impl UnwindSafe for COMPONENT_INFORMATION_DATA",1,["mavlink::common::COMPONENT_INFORMATION_DATA"]],["impl UnwindSafe for GPS_INJECT_DATA_DATA",1,["mavlink::common::GPS_INJECT_DATA_DATA"]],["impl UnwindSafe for CURRENT_EVENT_SEQUENCE_DATA",1,["mavlink::common::CURRENT_EVENT_SEQUENCE_DATA"]],["impl UnwindSafe for DATA_TRANSMISSION_HANDSHAKE_DATA",1,["mavlink::common::DATA_TRANSMISSION_HANDSHAKE_DATA"]],["impl UnwindSafe for FOLLOW_TARGET_DATA",1,["mavlink::common::FOLLOW_TARGET_DATA"]],["impl UnwindSafe for ONBOARD_COMPUTER_STATUS_DATA",1,["mavlink::common::ONBOARD_COMPUTER_STATUS_DATA"]],["impl UnwindSafe for HIL_GPS_DATA",1,["mavlink::common::HIL_GPS_DATA"]],["impl UnwindSafe for CAN_FILTER_MODIFY_DATA",1,["mavlink::common::CAN_FILTER_MODIFY_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SELF_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_SELF_ID_DATA"]],["impl UnwindSafe for LOG_DATA_DATA",1,["mavlink::common::LOG_DATA_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_ARM_STATUS_DATA",1,["mavlink::common::OPEN_DRONE_ID_ARM_STATUS_DATA"]],["impl UnwindSafe for HIGH_LATENCY_DATA",1,["mavlink::common::HIGH_LATENCY_DATA"]],["impl UnwindSafe for PLAY_TUNE_DATA",1,["mavlink::common::PLAY_TUNE_DATA"]],["impl UnwindSafe for RC_CHANNELS_SCALED_DATA",1,["mavlink::common::RC_CHANNELS_SCALED_DATA"]],["impl UnwindSafe for RAW_IMU_DATA",1,["mavlink::common::RAW_IMU_DATA"]],["impl UnwindSafe for SAFETY_SET_ALLOWED_AREA_DATA",1,["mavlink::common::SAFETY_SET_ALLOWED_AREA_DATA"]],["impl UnwindSafe for MOUNT_ORIENTATION_DATA",1,["mavlink::common::MOUNT_ORIENTATION_DATA"]],["impl UnwindSafe for CAMERA_TRACKING_IMAGE_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_IMAGE_STATUS_DATA"]],["impl UnwindSafe for EVENT_DATA",1,["mavlink::common::EVENT_DATA"]],["impl UnwindSafe for EFI_STATUS_DATA",1,["mavlink::common::EFI_STATUS_DATA"]],["impl UnwindSafe for REQUEST_EVENT_DATA",1,["mavlink::common::REQUEST_EVENT_DATA"]],["impl UnwindSafe for HYGROMETER_SENSOR_DATA",1,["mavlink::common::HYGROMETER_SENSOR_DATA"]],["impl UnwindSafe for REQUEST_DATA_STREAM_DATA",1,["mavlink::common::REQUEST_DATA_STREAM_DATA"]],["impl UnwindSafe for V2_EXTENSION_DATA",1,["mavlink::common::V2_EXTENSION_DATA"]],["impl UnwindSafe for DEBUG_VECT_DATA",1,["mavlink::common::DEBUG_VECT_DATA"]],["impl UnwindSafe for LOGGING_ACK_DATA",1,["mavlink::common::LOGGING_ACK_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_OPERATOR_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_OPERATOR_ID_DATA"]],["impl UnwindSafe for ISBD_LINK_STATUS_DATA",1,["mavlink::common::ISBD_LINK_STATUS_DATA"]],["impl UnwindSafe for CONTROL_SYSTEM_STATE_DATA",1,["mavlink::common::CONTROL_SYSTEM_STATE_DATA"]],["impl UnwindSafe for OBSTACLE_DISTANCE_DATA",1,["mavlink::common::OBSTACLE_DISTANCE_DATA"]],["impl UnwindSafe for SCALED_IMU2_DATA",1,["mavlink::common::SCALED_IMU2_DATA"]],["impl UnwindSafe for PARAM_VALUE_DATA",1,["mavlink::common::PARAM_VALUE_DATA"]],["impl UnwindSafe for SERVO_OUTPUT_RAW_DATA",1,["mavlink::common::SERVO_OUTPUT_RAW_DATA"]],["impl UnwindSafe for CAMERA_TRACKING_GEO_STATUS_DATA",1,["mavlink::common::CAMERA_TRACKING_GEO_STATUS_DATA"]],["impl UnwindSafe for SET_ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::SET_ACTUATOR_CONTROL_TARGET_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_STATUS_DATA",1,["mavlink::common::GIMBAL_MANAGER_STATUS_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA",1,["mavlink::common::GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"]],["impl UnwindSafe for PARAM_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_REQUEST_LIST_DATA"]],["impl UnwindSafe for UAVCAN_NODE_STATUS_DATA",1,["mavlink::common::UAVCAN_NODE_STATUS_DATA"]],["impl UnwindSafe for PARAM_SET_DATA",1,["mavlink::common::PARAM_SET_DATA"]],["impl UnwindSafe for SCALED_PRESSURE_DATA",1,["mavlink::common::SCALED_PRESSURE_DATA"]],["impl UnwindSafe for SYSTEM_TIME_DATA",1,["mavlink::common::SYSTEM_TIME_DATA"]],["impl UnwindSafe for ENCAPSULATED_DATA_DATA",1,["mavlink::common::ENCAPSULATED_DATA_DATA"]],["impl UnwindSafe for ACTUATOR_CONTROL_TARGET_DATA",1,["mavlink::common::ACTUATOR_CONTROL_TARGET_DATA"]],["impl UnwindSafe for SET_HOME_POSITION_DATA",1,["mavlink::common::SET_HOME_POSITION_DATA"]],["impl UnwindSafe for SYS_STATUS_DATA",1,["mavlink::common::SYS_STATUS_DATA"]],["impl UnwindSafe for TIMESYNC_DATA",1,["mavlink::common::TIMESYNC_DATA"]],["impl UnwindSafe for LOG_REQUEST_END_DATA",1,["mavlink::common::LOG_REQUEST_END_DATA"]],["impl UnwindSafe for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"]],["impl UnwindSafe for AUTOPILOT_VERSION_DATA",1,["mavlink::common::AUTOPILOT_VERSION_DATA"]],["impl UnwindSafe for MEMORY_VECT_DATA",1,["mavlink::common::MEMORY_VECT_DATA"]],["impl UnwindSafe for VIDEO_STREAM_INFORMATION_DATA",1,["mavlink::common::VIDEO_STREAM_INFORMATION_DATA"]],["impl UnwindSafe for CHANGE_OPERATOR_CONTROL_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_DATA"]],["impl UnwindSafe for GPS_INPUT_DATA",1,["mavlink::common::GPS_INPUT_DATA"]],["impl UnwindSafe for COLLISION_DATA",1,["mavlink::common::COLLISION_DATA"]],["impl UnwindSafe for SCALED_IMU3_DATA",1,["mavlink::common::SCALED_IMU3_DATA"]],["impl UnwindSafe for CAMERA_INFORMATION_DATA",1,["mavlink::common::CAMERA_INFORMATION_DATA"]],["impl UnwindSafe for SET_ATTITUDE_TARGET_DATA",1,["mavlink::common::SET_ATTITUDE_TARGET_DATA"]],["impl UnwindSafe for PARAM_EXT_ACK_DATA",1,["mavlink::common::PARAM_EXT_ACK_DATA"]],["impl UnwindSafe for ORBIT_EXECUTION_STATUS_DATA",1,["mavlink::common::ORBIT_EXECUTION_STATUS_DATA"]],["impl UnwindSafe for SERIAL_CONTROL_DATA",1,["mavlink::common::SERIAL_CONTROL_DATA"]],["impl UnwindSafe for LOGGING_DATA_DATA",1,["mavlink::common::LOGGING_DATA_DATA"]],["impl UnwindSafe for TRAJECTORY_REPRESENTATION_BEZIER_DATA",1,["mavlink::common::TRAJECTORY_REPRESENTATION_BEZIER_DATA"]],["impl UnwindSafe for ALTITUDE_DATA",1,["mavlink::common::ALTITUDE_DATA"]],["impl UnwindSafe for RC_CHANNELS_DATA",1,["mavlink::common::RC_CHANNELS_DATA"]],["impl UnwindSafe for RESOURCE_REQUEST_DATA",1,["mavlink::common::RESOURCE_REQUEST_DATA"]],["impl UnwindSafe for COMPONENT_METADATA_DATA",1,["mavlink::common::COMPONENT_METADATA_DATA"]],["impl UnwindSafe for SUPPORTED_TUNES_DATA",1,["mavlink::common::SUPPORTED_TUNES_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_LOCATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_LOCATION_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"]],["impl UnwindSafe for BUTTON_CHANGE_DATA",1,["mavlink::common::BUTTON_CHANGE_DATA"]],["impl UnwindSafe for GLOBAL_POSITION_INT_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_DATA"]],["impl UnwindSafe for GIMBAL_DEVICE_INFORMATION_DATA",1,["mavlink::common::GIMBAL_DEVICE_INFORMATION_DATA"]],["impl UnwindSafe for ATTITUDE_QUATERNION_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_DATA"]],["impl UnwindSafe for LANDING_TARGET_DATA",1,["mavlink::common::LANDING_TARGET_DATA"]],["impl UnwindSafe for LOG_ENTRY_DATA",1,["mavlink::common::LOG_ENTRY_DATA"]],["impl UnwindSafe for POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::POSITION_TARGET_LOCAL_NED_DATA"]],["impl UnwindSafe for SET_MODE_DATA",1,["mavlink::common::SET_MODE_DATA"]],["impl UnwindSafe for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA",1,["mavlink::common::AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"]],["impl UnwindSafe for VICON_POSITION_ESTIMATE_DATA",1,["mavlink::common::VICON_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for DEBUG_DATA",1,["mavlink::common::DEBUG_DATA"]],["impl UnwindSafe for COMMAND_INT_DATA",1,["mavlink::common::COMMAND_INT_DATA"]],["impl UnwindSafe for LOG_REQUEST_LIST_DATA",1,["mavlink::common::LOG_REQUEST_LIST_DATA"]],["impl UnwindSafe for ATTITUDE_QUATERNION_COV_DATA",1,["mavlink::common::ATTITUDE_QUATERNION_COV_DATA"]],["impl UnwindSafe for UTM_GLOBAL_POSITION_DATA",1,["mavlink::common::UTM_GLOBAL_POSITION_DATA"]],["impl UnwindSafe for MISSION_SET_CURRENT_DATA",1,["mavlink::common::MISSION_SET_CURRENT_DATA"]],["impl UnwindSafe for AIS_VESSEL_DATA",1,["mavlink::common::AIS_VESSEL_DATA"]],["impl UnwindSafe for ATT_POS_MOCAP_DATA",1,["mavlink::common::ATT_POS_MOCAP_DATA"]],["impl UnwindSafe for HIL_RC_INPUTS_RAW_DATA",1,["mavlink::common::HIL_RC_INPUTS_RAW_DATA"]],["impl UnwindSafe for LOG_REQUEST_DATA_DATA",1,["mavlink::common::LOG_REQUEST_DATA_DATA"]],["impl UnwindSafe for TUNNEL_DATA",1,["mavlink::common::TUNNEL_DATA"]],["impl UnwindSafe for NAMED_VALUE_FLOAT_DATA",1,["mavlink::common::NAMED_VALUE_FLOAT_DATA"]],["impl UnwindSafe for AUTH_KEY_DATA",1,["mavlink::common::AUTH_KEY_DATA"]],["impl UnwindSafe for TERRAIN_DATA_DATA",1,["mavlink::common::TERRAIN_DATA_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_BASIC_ID_DATA",1,["mavlink::common::OPEN_DRONE_ID_BASIC_ID_DATA"]],["impl UnwindSafe for CELLULAR_CONFIG_DATA",1,["mavlink::common::CELLULAR_CONFIG_DATA"]],["impl UnwindSafe for HEARTBEAT_DATA",1,["mavlink::common::HEARTBEAT_DATA"]],["impl UnwindSafe for MISSION_COUNT_DATA",1,["mavlink::common::MISSION_COUNT_DATA"]],["impl UnwindSafe for PING_DATA",1,["mavlink::common::PING_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_SYSTEM_DATA",1,["mavlink::common::OPEN_DRONE_ID_SYSTEM_DATA"]],["impl UnwindSafe for GLOBAL_POSITION_INT_COV_DATA",1,["mavlink::common::GLOBAL_POSITION_INT_COV_DATA"]],["impl UnwindSafe for ACTUATOR_OUTPUT_STATUS_DATA",1,["mavlink::common::ACTUATOR_OUTPUT_STATUS_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_AUTHENTICATION_DATA",1,["mavlink::common::OPEN_DRONE_ID_AUTHENTICATION_DATA"]],["impl UnwindSafe for NAV_CONTROLLER_OUTPUT_DATA",1,["mavlink::common::NAV_CONTROLLER_OUTPUT_DATA"]],["impl UnwindSafe for PLAY_TUNE_V2_DATA",1,["mavlink::common::PLAY_TUNE_V2_DATA"]],["impl UnwindSafe for VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::VISION_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for STORAGE_INFORMATION_DATA",1,["mavlink::common::STORAGE_INFORMATION_DATA"]],["impl UnwindSafe for SETUP_SIGNING_DATA",1,["mavlink::common::SETUP_SIGNING_DATA"]],["impl UnwindSafe for LOGGING_DATA_ACKED_DATA",1,["mavlink::common::LOGGING_DATA_ACKED_DATA"]],["impl UnwindSafe for LOG_ERASE_DATA",1,["mavlink::common::LOG_ERASE_DATA"]],["impl UnwindSafe for GPS_RAW_INT_DATA",1,["mavlink::common::GPS_RAW_INT_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_INFORMATION_DATA",1,["mavlink::common::GIMBAL_MANAGER_INFORMATION_DATA"]],["impl UnwindSafe for MISSION_ITEM_INT_DATA",1,["mavlink::common::MISSION_ITEM_INT_DATA"]],["impl UnwindSafe for WINCH_STATUS_DATA",1,["mavlink::common::WINCH_STATUS_DATA"]],["impl UnwindSafe for FILE_TRANSFER_PROTOCOL_DATA",1,["mavlink::common::FILE_TRANSFER_PROTOCOL_DATA"]],["impl UnwindSafe for GPS2_RAW_DATA",1,["mavlink::common::GPS2_RAW_DATA"]],["impl UnwindSafe for GPS_RTK_DATA",1,["mavlink::common::GPS_RTK_DATA"]],["impl UnwindSafe for VIBRATION_DATA",1,["mavlink::common::VIBRATION_DATA"]],["impl UnwindSafe for HIL_STATE_DATA",1,["mavlink::common::HIL_STATE_DATA"]],["impl UnwindSafe for GPS_STATUS_DATA",1,["mavlink::common::GPS_STATUS_DATA"]],["impl UnwindSafe for SCALED_IMU_DATA",1,["mavlink::common::SCALED_IMU_DATA"]],["impl UnwindSafe for HIL_ACTUATOR_CONTROLS_DATA",1,["mavlink::common::HIL_ACTUATOR_CONTROLS_DATA"]],["impl UnwindSafe for MISSION_REQUEST_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_LIST_DATA"]],["impl UnwindSafe for PARAM_EXT_REQUEST_LIST_DATA",1,["mavlink::common::PARAM_EXT_REQUEST_LIST_DATA"]],["impl UnwindSafe for PARAM_EXT_VALUE_DATA",1,["mavlink::common::PARAM_EXT_VALUE_DATA"]],["impl UnwindSafe for CELLULAR_STATUS_DATA",1,["mavlink::common::CELLULAR_STATUS_DATA"]],["impl UnwindSafe for CANFD_FRAME_DATA",1,["mavlink::common::CANFD_FRAME_DATA"]],["impl UnwindSafe for GPS_RTCM_DATA_DATA",1,["mavlink::common::GPS_RTCM_DATA_DATA"]],["impl UnwindSafe for MANUAL_CONTROL_DATA",1,["mavlink::common::MANUAL_CONTROL_DATA"]],["impl UnwindSafe for COMMAND_ACK_DATA",1,["mavlink::common::COMMAND_ACK_DATA"]],["impl UnwindSafe for RADIO_STATUS_DATA",1,["mavlink::common::RADIO_STATUS_DATA"]],["impl UnwindSafe for TERRAIN_REQUEST_DATA",1,["mavlink::common::TERRAIN_REQUEST_DATA"]],["impl UnwindSafe for VIDEO_STREAM_STATUS_DATA",1,["mavlink::common::VIDEO_STREAM_STATUS_DATA"]],["impl UnwindSafe for TIME_ESTIMATE_TO_TARGET_DATA",1,["mavlink::common::TIME_ESTIMATE_TO_TARGET_DATA"]],["impl UnwindSafe for CAMERA_IMAGE_CAPTURED_DATA",1,["mavlink::common::CAMERA_IMAGE_CAPTURED_DATA"]],["impl UnwindSafe for WHEEL_DISTANCE_DATA",1,["mavlink::common::WHEEL_DISTANCE_DATA"]],["impl UnwindSafe for MISSION_CURRENT_DATA",1,["mavlink::common::MISSION_CURRENT_DATA"]],["impl UnwindSafe for VFR_HUD_DATA",1,["mavlink::common::VFR_HUD_DATA"]],["impl UnwindSafe for SET_POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::SET_POSITION_TARGET_GLOBAL_INT_DATA"]],["impl UnwindSafe for POSITION_TARGET_GLOBAL_INT_DATA",1,["mavlink::common::POSITION_TARGET_GLOBAL_INT_DATA"]],["impl UnwindSafe for VISION_SPEED_ESTIMATE_DATA",1,["mavlink::common::VISION_SPEED_ESTIMATE_DATA"]],["impl UnwindSafe for BATTERY_STATUS_DATA",1,["mavlink::common::BATTERY_STATUS_DATA"]],["impl UnwindSafe for FENCE_STATUS_DATA",1,["mavlink::common::FENCE_STATUS_DATA"]],["impl UnwindSafe for PROTOCOL_VERSION_DATA",1,["mavlink::common::PROTOCOL_VERSION_DATA"]],["impl UnwindSafe for RAW_PRESSURE_DATA",1,["mavlink::common::RAW_PRESSURE_DATA"]],["impl UnwindSafe for SCALED_PRESSURE3_DATA",1,["mavlink::common::SCALED_PRESSURE3_DATA"]],["impl UnwindSafe for GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::GPS_GLOBAL_ORIGIN_DATA"]],["impl UnwindSafe for MISSION_REQUEST_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_REQUEST_PARTIAL_LIST_DATA"]],["impl UnwindSafe for GIMBAL_MANAGER_SET_PITCHYAW_DATA",1,["mavlink::common::GIMBAL_MANAGER_SET_PITCHYAW_DATA"]],["impl UnwindSafe for RESPONSE_EVENT_ERROR_DATA",1,["mavlink::common::RESPONSE_EVENT_ERROR_DATA"]],["impl UnwindSafe for LINK_NODE_STATUS_DATA",1,["mavlink::common::LINK_NODE_STATUS_DATA"]],["impl UnwindSafe for DATA_STREAM_DATA",1,["mavlink::common::DATA_STREAM_DATA"]],["impl UnwindSafe for HIL_SENSOR_DATA",1,["mavlink::common::HIL_SENSOR_DATA"]],["impl UnwindSafe for OPEN_DRONE_ID_MESSAGE_PACK_DATA",1,["mavlink::common::OPEN_DRONE_ID_MESSAGE_PACK_DATA"]],["impl UnwindSafe for WIND_COV_DATA",1,["mavlink::common::WIND_COV_DATA"]],["impl UnwindSafe for OPTICAL_FLOW_RAD_DATA",1,["mavlink::common::OPTICAL_FLOW_RAD_DATA"]],["impl UnwindSafe for TERRAIN_REPORT_DATA",1,["mavlink::common::TERRAIN_REPORT_DATA"]],["impl UnwindSafe for PARAM_MAP_RC_DATA",1,["mavlink::common::PARAM_MAP_RC_DATA"]],["impl UnwindSafe for CAMERA_TRIGGER_DATA",1,["mavlink::common::CAMERA_TRIGGER_DATA"]],["impl UnwindSafe for NAMED_VALUE_INT_DATA",1,["mavlink::common::NAMED_VALUE_INT_DATA"]],["impl UnwindSafe for CAMERA_SETTINGS_DATA",1,["mavlink::common::CAMERA_SETTINGS_DATA"]],["impl UnwindSafe for WIFI_CONFIG_AP_DATA",1,["mavlink::common::WIFI_CONFIG_AP_DATA"]],["impl UnwindSafe for HIGHRES_IMU_DATA",1,["mavlink::common::HIGHRES_IMU_DATA"]],["impl UnwindSafe for FLIGHT_INFORMATION_DATA",1,["mavlink::common::FLIGHT_INFORMATION_DATA"]],["impl UnwindSafe for MAG_CAL_REPORT_DATA",1,["mavlink::common::MAG_CAL_REPORT_DATA"]],["impl UnwindSafe for ATTITUDE_DATA",1,["mavlink::common::ATTITUDE_DATA"]],["impl UnwindSafe for MISSION_ITEM_REACHED_DATA",1,["mavlink::common::MISSION_ITEM_REACHED_DATA"]],["impl UnwindSafe for POWER_STATUS_DATA",1,["mavlink::common::POWER_STATUS_DATA"]],["impl UnwindSafe for MISSION_REQUEST_INT_DATA",1,["mavlink::common::MISSION_REQUEST_INT_DATA"]],["impl UnwindSafe for SMART_BATTERY_INFO_DATA",1,["mavlink::common::SMART_BATTERY_INFO_DATA"]],["impl UnwindSafe for PARAM_REQUEST_READ_DATA",1,["mavlink::common::PARAM_REQUEST_READ_DATA"]],["impl UnwindSafe for COMMAND_LONG_DATA",1,["mavlink::common::COMMAND_LONG_DATA"]],["impl UnwindSafe for CHANGE_OPERATOR_CONTROL_ACK_DATA",1,["mavlink::common::CHANGE_OPERATOR_CONTROL_ACK_DATA"]],["impl UnwindSafe for OPTICAL_FLOW_DATA",1,["mavlink::common::OPTICAL_FLOW_DATA"]],["impl UnwindSafe for HIL_CONTROLS_DATA",1,["mavlink::common::HIL_CONTROLS_DATA"]],["impl UnwindSafe for CAMERA_CAPTURE_STATUS_DATA",1,["mavlink::common::CAMERA_CAPTURE_STATUS_DATA"]],["impl UnwindSafe for MISSION_WRITE_PARTIAL_LIST_DATA",1,["mavlink::common::MISSION_WRITE_PARTIAL_LIST_DATA"]],["impl UnwindSafe for COMMAND_CANCEL_DATA",1,["mavlink::common::COMMAND_CANCEL_DATA"]],["impl UnwindSafe for ODOMETRY_DATA",1,["mavlink::common::ODOMETRY_DATA"]],["impl UnwindSafe for ADSB_VEHICLE_DATA",1,["mavlink::common::ADSB_VEHICLE_DATA"]],["impl UnwindSafe for MESSAGE_INTERVAL_DATA",1,["mavlink::common::MESSAGE_INTERVAL_DATA"]],["impl UnwindSafe for DISTANCE_SENSOR_DATA",1,["mavlink::common::DISTANCE_SENSOR_DATA"]],["impl UnwindSafe for RC_CHANNELS_RAW_DATA",1,["mavlink::common::RC_CHANNELS_RAW_DATA"]],["impl UnwindSafe for HOME_POSITION_DATA",1,["mavlink::common::HOME_POSITION_DATA"]],["impl UnwindSafe for MISSION_REQUEST_DATA",1,["mavlink::common::MISSION_REQUEST_DATA"]],["impl UnwindSafe for HIL_STATE_QUATERNION_DATA",1,["mavlink::common::HIL_STATE_QUATERNION_DATA"]],["impl UnwindSafe for RC_CHANNELS_OVERRIDE_DATA",1,["mavlink::common::RC_CHANNELS_OVERRIDE_DATA"]],["impl UnwindSafe for SET_POSITION_TARGET_LOCAL_NED_DATA",1,["mavlink::common::SET_POSITION_TARGET_LOCAL_NED_DATA"]],["impl UnwindSafe for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA",1,["mavlink::common::LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"]],["impl UnwindSafe for EXTENDED_SYS_STATE_DATA",1,["mavlink::common::EXTENDED_SYS_STATE_DATA"]],["impl UnwindSafe for ATTITUDE_TARGET_DATA",1,["mavlink::common::ATTITUDE_TARGET_DATA"]],["impl UnwindSafe for MANUAL_SETPOINT_DATA",1,["mavlink::common::MANUAL_SETPOINT_DATA"]],["impl UnwindSafe for UAVCAN_NODE_INFO_DATA",1,["mavlink::common::UAVCAN_NODE_INFO_DATA"]],["impl UnwindSafe for SET_GPS_GLOBAL_ORIGIN_DATA",1,["mavlink::common::SET_GPS_GLOBAL_ORIGIN_DATA"]],["impl UnwindSafe for GLOBAL_VISION_POSITION_ESTIMATE_DATA",1,["mavlink::common::GLOBAL_VISION_POSITION_ESTIMATE_DATA"]],["impl UnwindSafe for RAW_RPM_DATA",1,["mavlink::common::RAW_RPM_DATA"]],["impl UnwindSafe for GPS2_RTK_DATA",1,["mavlink::common::GPS2_RTK_DATA"]],["impl UnwindSafe for HIL_OPTICAL_FLOW_DATA",1,["mavlink::common::HIL_OPTICAL_FLOW_DATA"]],["impl UnwindSafe for CAMERA_FOV_STATUS_DATA",1,["mavlink::common::CAMERA_FOV_STATUS_DATA"]],["impl UnwindSafe for DEBUG_FLOAT_ARRAY_DATA",1,["mavlink::common::DEBUG_FLOAT_ARRAY_DATA"]],["impl UnwindSafe for GENERATOR_STATUS_DATA",1,["mavlink::common::GENERATOR_STATUS_DATA"]],["impl UnwindSafe for ESC_STATUS_DATA",1,["mavlink::common::ESC_STATUS_DATA"]],["impl UnwindSafe for MavMessage",1,["mavlink::common::MavMessage"]],["impl<'a> UnwindSafe for Bytes<'a>",1,["mavlink::bytes::Bytes"]],["impl<'a> !UnwindSafe for BytesMut<'a>",1,["mavlink::bytes_mut::BytesMut"]],["impl UnwindSafe for ParserError",1,["mavlink::error::ParserError"]],["impl !UnwindSafe for MessageReadError",1,["mavlink::error::MessageReadError"]],["impl !UnwindSafe for MessageWriteError",1,["mavlink::error::MessageWriteError"]],["impl UnwindSafe for MavHeader",1,["mavlink::MavHeader"]],["impl UnwindSafe for MavlinkVersion",1,["mavlink::MavlinkVersion"]],["impl<M> UnwindSafe for MavFrame<M>where\n M: UnwindSafe,",1,["mavlink::MavFrame"]],["impl UnwindSafe for MAVLinkV1MessageRaw",1,["mavlink::MAVLinkV1MessageRaw"]],["impl UnwindSafe for MAVLinkV2MessageRaw",1,["mavlink::MAVLinkV2MessageRaw"]]], "num_traits":[["impl UnwindSafe for FloatErrorKind",1,["num_traits::FloatErrorKind"]],["impl UnwindSafe for ParseFloatError",1,["num_traits::ParseFloatError"]]], "proc_macro2":[["impl UnwindSafe for DelimSpan",1,["proc_macro2::extra::DelimSpan"]],["impl UnwindSafe for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl UnwindSafe for TokenStream",1,["proc_macro2::TokenStream"]],["impl UnwindSafe for LexError",1,["proc_macro2::LexError"]],["impl UnwindSafe for Span",1,["proc_macro2::Span"]],["impl UnwindSafe for TokenTree",1,["proc_macro2::TokenTree"]],["impl UnwindSafe for Group",1,["proc_macro2::Group"]],["impl UnwindSafe for Delimiter",1,["proc_macro2::Delimiter"]],["impl UnwindSafe for Punct",1,["proc_macro2::Punct"]],["impl UnwindSafe for Spacing",1,["proc_macro2::Spacing"]],["impl UnwindSafe for Ident",1,["proc_macro2::Ident"]],["impl UnwindSafe for Literal",1,["proc_macro2::Literal"]]], "serde":[["impl UnwindSafe for Error",1,["serde::de::value::Error"]],["impl<E> UnwindSafe for UnitDeserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::UnitDeserializer"]],["impl<E> UnwindSafe for BoolDeserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::BoolDeserializer"]],["impl<E> UnwindSafe for I8Deserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::I8Deserializer"]],["impl<E> UnwindSafe for I16Deserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::I16Deserializer"]],["impl<E> UnwindSafe for I32Deserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::I32Deserializer"]],["impl<E> UnwindSafe for I64Deserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::I64Deserializer"]],["impl<E> UnwindSafe for I128Deserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::I128Deserializer"]],["impl<E> UnwindSafe for IsizeDeserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::IsizeDeserializer"]],["impl<E> UnwindSafe for U8Deserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::U8Deserializer"]],["impl<E> UnwindSafe for U16Deserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::U16Deserializer"]],["impl<E> UnwindSafe for U64Deserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::U64Deserializer"]],["impl<E> UnwindSafe for U128Deserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::U128Deserializer"]],["impl<E> UnwindSafe for UsizeDeserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::UsizeDeserializer"]],["impl<E> UnwindSafe for F32Deserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::F32Deserializer"]],["impl<E> UnwindSafe for F64Deserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::F64Deserializer"]],["impl<E> UnwindSafe for CharDeserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::CharDeserializer"]],["impl<E> UnwindSafe for U32Deserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::U32Deserializer"]],["impl<'a, E> UnwindSafe for StrDeserializer<'a, E>where\n E: UnwindSafe,",1,["serde::de::value::StrDeserializer"]],["impl<'de, E> UnwindSafe for BorrowedStrDeserializer<'de, E>where\n E: UnwindSafe,",1,["serde::de::value::BorrowedStrDeserializer"]],["impl<E> UnwindSafe for StringDeserializer<E>where\n E: UnwindSafe,",1,["serde::de::value::StringDeserializer"]],["impl<'a, E> UnwindSafe for CowStrDeserializer<'a, E>where\n E: UnwindSafe,",1,["serde::de::value::CowStrDeserializer"]],["impl<'a, E> UnwindSafe for BytesDeserializer<'a, E>where\n E: UnwindSafe,",1,["serde::de::value::BytesDeserializer"]],["impl<'de, E> UnwindSafe for BorrowedBytesDeserializer<'de, E>where\n E: UnwindSafe,",1,["serde::de::value::BorrowedBytesDeserializer"]],["impl<I, E> UnwindSafe for SeqDeserializer<I, E>where\n E: UnwindSafe,\n I: UnwindSafe,",1,["serde::de::value::SeqDeserializer"]],["impl<A> UnwindSafe for SeqAccessDeserializer<A>where\n A: UnwindSafe,",1,["serde::de::value::SeqAccessDeserializer"]],["impl<'de, I, E> UnwindSafe for MapDeserializer<'de, I, E>where\n E: UnwindSafe,\n I: UnwindSafe,\n <<I as Iterator>::Item as Pair>::Second: UnwindSafe,",1,["serde::de::value::MapDeserializer"]],["impl<A> UnwindSafe for MapAccessDeserializer<A>where\n A: UnwindSafe,",1,["serde::de::value::MapAccessDeserializer"]],["impl<A> UnwindSafe for EnumAccessDeserializer<A>where\n A: UnwindSafe,",1,["serde::de::value::EnumAccessDeserializer"]],["impl UnwindSafe for IgnoredAny",1,["serde::de::ignored_any::IgnoredAny"]],["impl<'a> UnwindSafe for Unexpected<'a>",1,["serde::de::Unexpected"]],["impl<Ok, Error> UnwindSafe for Impossible<Ok, Error>where\n Error: UnwindSafe,\n Ok: UnwindSafe,",1,["serde::ser::impossible::Impossible"]]], diff --git a/trait.impl/serde/de/trait.Deserialize.js b/trait.impl/serde/de/trait.Deserialize.js index 441e7df227..7e3ec64fae 100644 --- a/trait.impl/serde/de/trait.Deserialize.js +++ b/trait.impl/serde/de/trait.Deserialize.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"mavlink":[["impl<'de> Deserialize<'de> for SERVO_OUTPUT_RAW_DATA"],["impl<'de> Deserialize<'de> for CHANGE_OPERATOR_CONTROL_DATA"],["impl<'de> Deserialize<'de> for MavSeverity"],["impl<'de> Deserialize<'de> for IcarousTrackBandTypes"],["impl<'de> Deserialize<'de> for ActuatorConfiguration"],["impl<'de> Deserialize<'de> for MotorTestOrder"],["impl<'de> Deserialize<'de> for GimbalDeviceCapFlags"],["impl<'de> Deserialize<'de> for ADSB_VEHICLE_DATA"],["impl<'de> Deserialize<'de> for DEBUG_FLOAT_ARRAY_DATA"],["impl<'de> Deserialize<'de> for HlFailureFlag"],["impl<'de> Deserialize<'de> for GimbalManagerFlags"],["impl<'de> Deserialize<'de> for CAMERA_IMAGE_CAPTURED_DATA"],["impl<'de> Deserialize<'de> for EXTENDED_SYS_STATE_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_LOCATION_DATA"],["impl<'de> Deserialize<'de> for COLLISION_DATA"],["impl<'de> Deserialize<'de> for HilSensorUpdatedFlags"],["impl<'de> Deserialize<'de> for MavEventCurrentSequenceFlags"],["impl<'de> Deserialize<'de> for TIME_ESTIMATE_TO_TARGET_DATA"],["impl<'de> Deserialize<'de> for RAW_RPM_DATA"],["impl<'de> Deserialize<'de> for NAV_CONTROLLER_OUTPUT_DATA"],["impl<'de> Deserialize<'de> for OBSTACLE_DISTANCE_DATA"],["impl<'de> Deserialize<'de> for PARAM_REQUEST_READ_DATA"],["impl<'de> Deserialize<'de> for PreflightStorageParameterAction"],["impl<'de> Deserialize<'de> for ISBD_LINK_STATUS_DATA"],["impl<'de> Deserialize<'de> for TIME_ESTIMATE_TO_TARGET_DATA"],["impl<'de> Deserialize<'de> for PositionTargetTypemask"],["impl<'de> Deserialize<'de> for ORBIT_EXECUTION_STATUS_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl<'de> Deserialize<'de> for DEVICE_OP_WRITE_REPLY_DATA"],["impl<'de> Deserialize<'de> for HEARTBEAT_DATA"],["impl<'de> Deserialize<'de> for FailureUnit"],["impl<'de> Deserialize<'de> for EVENT_DATA"],["impl<'de> Deserialize<'de> for FILE_TRANSFER_PROTOCOL_DATA"],["impl<'de> Deserialize<'de> for SIM_STATE_DATA"],["impl<'de> Deserialize<'de> for MavGoto"],["impl<'de> Deserialize<'de> for MavLandedState"],["impl<'de> Deserialize<'de> for GoproRequestStatus"],["impl<'de> Deserialize<'de> for MISSION_ITEM_DATA"],["impl<'de> Deserialize<'de> for FILE_TRANSFER_PROTOCOL_DATA"],["impl<'de> Deserialize<'de> for MavAutopilot"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavSysStatusSensorExtended"],["impl<'de> Deserialize<'de> for CameraCapFlags"],["impl<'de> Deserialize<'de> for WifiConfigApMode"],["impl<'de> Deserialize<'de> for AttitudeTargetTypemask"],["impl<'de> Deserialize<'de> for UAVCAN_NODE_STATUS_DATA"],["impl<'de> Deserialize<'de> for CHANGE_OPERATOR_CONTROL_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for SETUP_SIGNING_DATA"],["impl<'de> Deserialize<'de> for MavDistanceSensor"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl<'de> Deserialize<'de> for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl<'de> Deserialize<'de> for ParachuteAction"],["impl<'de> Deserialize<'de> for MISSION_ITEM_DATA"],["impl<'de> Deserialize<'de> for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MavBatteryFunction"],["impl<'de> Deserialize<'de> for HIL_CONTROLS_DATA"],["impl<'de> Deserialize<'de> for GPS_STATUS_DATA"],["impl<'de> Deserialize<'de> for HWSTATUS_DATA"],["impl<'de> Deserialize<'de> for ENCAPSULATED_DATA_DATA"],["impl<'de> Deserialize<'de> for SetFocusType"],["impl<'de> Deserialize<'de> for HIGH_LATENCY_DATA"],["impl<'de> Deserialize<'de> for AUTOPILOT_VERSION_DATA"],["impl<'de> Deserialize<'de> for WIFI_CONFIG_AP_DATA"],["impl<'de> Deserialize<'de> for UTM_GLOBAL_POSITION_DATA"],["impl<'de> Deserialize<'de> for SERIAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for LOGGING_DATA_DATA"],["impl<'de> Deserialize<'de> for PreflightStorageMissionAction"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_DATA"],["impl<'de> Deserialize<'de> for MavSysStatusSensor"],["impl<'de> Deserialize<'de> for GoproHeartbeatFlags"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_LOCATION_DATA"],["impl<'de> Deserialize<'de> for MavOdidStatus"],["impl<'de> Deserialize<'de> for FLIGHT_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for POSITION_TARGET_LOCAL_NED_DATA"],["impl<'de> Deserialize<'de> for VICON_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl<'de> Deserialize<'de> for GoproCaptureMode"],["impl<'de> Deserialize<'de> for MavOdidSpeedAcc"],["impl<'de> Deserialize<'de> for MavWinchStatusFlag"],["impl<'de> Deserialize<'de> for DATA_STREAM_DATA"],["impl<'de> Deserialize<'de> for HighresImuUpdatedFlags"],["impl<'de> Deserialize<'de> for PARAM_EXT_REQUEST_READ_DATA"],["impl<'de> Deserialize<'de> for AIS_VESSEL_DATA"],["impl<'de> Deserialize<'de> for CameraCapFlags"],["impl<'de> Deserialize<'de> for TERRAIN_REPORT_DATA"],["impl<'de> Deserialize<'de> for MavOdidClassEu"],["impl<'de> Deserialize<'de> for SERIAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for NavVtolLandOptions"],["impl<'de> Deserialize<'de> for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavFrame"],["impl<'de> Deserialize<'de> for MavVtolState"],["impl<'de> Deserialize<'de> for HIGHRES_IMU_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for FOLLOW_TARGET_DATA"],["impl<'de> Deserialize<'de> for DATA_STREAM_DATA"],["impl<'de> Deserialize<'de> for RtkBaselineCoordinateSystem"],["impl<'de> Deserialize<'de> for LANDING_TARGET_DATA"],["impl<'de> Deserialize<'de> for AisNavStatus"],["impl<'de> Deserialize<'de> for HIL_RC_INPUTS_RAW_DATA"],["impl<'de> Deserialize<'de> for ONBOARD_COMPUTER_STATUS_DATA"],["impl<'de> Deserialize<'de> for PROTOCOL_VERSION_DATA"],["impl<'de> Deserialize<'de> for OBSTACLE_DISTANCE_DATA"],["impl<'de> Deserialize<'de> for LOG_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for TIMESYNC_DATA"],["impl<'de> Deserialize<'de> for MavCmdAck"],["impl<'de> Deserialize<'de> for GPS2_RTK_DATA"],["impl<'de> Deserialize<'de> for VideoStreamStatusFlags"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for CanFilterOp"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl<'de> Deserialize<'de> for VtolTransitionHeading"],["impl<'de> Deserialize<'de> for RcType"],["impl<'de> Deserialize<'de> for AisFlags"],["impl<'de> Deserialize<'de> for RtkBaselineCoordinateSystem"],["impl<'de> Deserialize<'de> for TuneFormat"],["impl<'de> Deserialize<'de> for COMPONENT_METADATA_DATA"],["impl<'de> Deserialize<'de> for REQUEST_EVENT_DATA"],["impl<'de> Deserialize<'de> for CAMERA_STATUS_DATA"],["impl<'de> Deserialize<'de> for WHEEL_DISTANCE_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutCfgGpsOffsetLat"],["impl<'de> Deserialize<'de> for SETUP_SIGNING_DATA"],["impl<'de> Deserialize<'de> for CURRENT_EVENT_SEQUENCE_DATA"],["impl<'de> Deserialize<'de> for ODOMETRY_DATA"],["impl<'de> Deserialize<'de> for LOG_ENTRY_DATA"],["impl<'de> Deserialize<'de> for LOG_REQUEST_END_DATA"],["impl<'de> Deserialize<'de> for BATTERY_STATUS_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutDynamicGpsFix"],["impl<'de> Deserialize<'de> for LOGGING_ACK_DATA"],["impl<'de> Deserialize<'de> for CAMERA_CAPTURE_STATUS_DATA"],["impl<'de> Deserialize<'de> for LANDING_TARGET_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_COV_DATA"],["impl<'de> Deserialize<'de> for PrecisionLandMode"],["impl<'de> Deserialize<'de> for UavionixAdsbOutDynamicState"],["impl<'de> Deserialize<'de> for GPS_GLOBAL_ORIGIN_DATA"],["impl<'de> Deserialize<'de> for VIBRATION_DATA"],["impl<'de> Deserialize<'de> for FLIGHT_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for HIL_STATE_QUATERNION_DATA"],["impl<'de> Deserialize<'de> for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl<'de> Deserialize<'de> for WIND_COV_DATA"],["impl<'de> Deserialize<'de> for FailureUnit"],["impl<'de> Deserialize<'de> for MavCollisionSrc"],["impl<'de> Deserialize<'de> for RALLY_POINT_DATA"],["impl<'de> Deserialize<'de> for SerialControlDev"],["impl<'de> Deserialize<'de> for LOG_ENTRY_DATA"],["impl<'de> Deserialize<'de> for CellularStatusFlag"],["impl<'de> Deserialize<'de> for GimbalDeviceFlags"],["impl<'de> Deserialize<'de> for TERRAIN_REQUEST_DATA"],["impl<'de> Deserialize<'de> for RAW_RPM_DATA"],["impl<'de> Deserialize<'de> for HIGH_LATENCY2_DATA"],["impl<'de> Deserialize<'de> for PositionTargetTypemask"],["impl<'de> Deserialize<'de> for NAV_CONTROLLER_OUTPUT_DATA"],["impl<'de> Deserialize<'de> for MavCollisionThreatLevel"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl<'de> Deserialize<'de> for NAMED_VALUE_FLOAT_DATA"],["impl<'de> Deserialize<'de> for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl<'de> Deserialize<'de> for MavParamType"],["impl<'de> Deserialize<'de> for MavMissionResult"],["impl<'de> Deserialize<'de> for CompMetadataType"],["impl<'de> Deserialize<'de> for PING_DATA"],["impl<'de> Deserialize<'de> for CAMERA_FEEDBACK_DATA"],["impl<'de> Deserialize<'de> for FILE_TRANSFER_PROTOCOL_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for EscFailureFlags"],["impl<'de> Deserialize<'de> for LOGGING_ACK_DATA"],["impl<'de> Deserialize<'de> for SETUP_SIGNING_DATA"],["impl<'de> Deserialize<'de> for SUPPORTED_TUNES_DATA"],["impl<'de> Deserialize<'de> for MISSION_COUNT_DATA"],["impl<'de> Deserialize<'de> for PLAY_TUNE_V2_DATA"],["impl<'de> Deserialize<'de> for MavOdidHorAcc"],["impl<'de> Deserialize<'de> for GPS2_RTK_DATA"],["impl<'de> Deserialize<'de> for GoproPhotoResolution"],["impl<'de> Deserialize<'de> for OPTICAL_FLOW_DATA"],["impl<'de> Deserialize<'de> for DEBUG_FLOAT_ARRAY_DATA"],["impl<'de> Deserialize<'de> for GimbalDeviceErrorFlags"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl<'de> Deserialize<'de> for MavTunnelPayloadType"],["impl<'de> Deserialize<'de> for MavDoRepositionFlags"],["impl<'de> Deserialize<'de> for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl<'de> Deserialize<'de> for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbEmergencyStatus"],["impl<'de> Deserialize<'de> for MavMode"],["impl<'de> Deserialize<'de> for MavTunnelPayloadType"],["impl<'de> Deserialize<'de> for SIMSTATE_DATA"],["impl<'de> Deserialize<'de> for DEVICE_OP_WRITE_DATA"],["impl<'de> Deserialize<'de> for MavProtocolCapability"],["impl<'de> Deserialize<'de> for SetFocusType"],["impl<'de> Deserialize<'de> for CellularNetworkRadioType"],["impl<'de> Deserialize<'de> for HOME_POSITION_DATA"],["impl<'de> Deserialize<'de> for MavEventErrorReason"],["impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_DATA"],["impl<'de> Deserialize<'de> for FenceAction"],["impl<'de> Deserialize<'de> for CameraTrackingMode"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SYSTEM_DATA"],["impl<'de> Deserialize<'de> for SCALED_IMU2_DATA"],["impl<'de> Deserialize<'de> for MavGeneratorStatusFlag"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavOdidVerAcc"],["impl<'de> Deserialize<'de> for SCALED_IMU2_DATA"],["impl<'de> Deserialize<'de> for MavOdidTimeAcc"],["impl<'de> Deserialize<'de> for PID_TUNING_DATA"],["impl<'de> Deserialize<'de> for MOUNT_ORIENTATION_DATA"],["impl<'de> Deserialize<'de> for FENCE_STATUS_DATA"],["impl<'de> Deserialize<'de> for PreflightStorageMissionAction"],["impl<'de> Deserialize<'de> for LOGGING_DATA_ACKED_DATA"],["impl<'de> Deserialize<'de> for IcarousFmsState"],["impl<'de> Deserialize<'de> for UtmDataAvailFlags"],["impl<'de> Deserialize<'de> for GpsInputIgnoreFlags"],["impl<'de> Deserialize<'de> for ACTUATOR_CONTROL_TARGET_DATA"],["impl<'de> Deserialize<'de> for CameraTrackingMode"],["impl<'de> Deserialize<'de> for TERRAIN_REPORT_DATA"],["impl<'de> Deserialize<'de> for GPS_INPUT_DATA"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE_DATA"],["impl<'de> Deserialize<'de> for HEARTBEAT_DATA"],["impl<'de> Deserialize<'de> for HIL_GPS_DATA"],["impl<'de> Deserialize<'de> for COMMAND_ACK_DATA"],["impl<'de> Deserialize<'de> for MavCollisionAction"],["impl<'de> Deserialize<'de> for PreflightStorageMissionAction"],["impl<'de> Deserialize<'de> for GimbalManagerFlags"],["impl<'de> Deserialize<'de> for ParamAck"],["impl<'de> Deserialize<'de> for MavParamType"],["impl<'de> Deserialize<'de> for EKF_STATUS_REPORT_DATA"],["impl<'de> Deserialize<'de> for GLOBAL_POSITION_INT_COV_DATA"],["impl<'de> Deserialize<'de> for RANGEFINDER_DATA"],["impl<'de> Deserialize<'de> for PLAY_TUNE_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl<'de> Deserialize<'de> for MavOdidOperatorIdType"],["impl<'de> Deserialize<'de> for StorageType"],["impl<'de> Deserialize<'de> for TIMESYNC_DATA"],["impl<'de> Deserialize<'de> for CAMERA_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for AUTH_KEY_DATA"],["impl<'de> Deserialize<'de> for DEVICE_OP_READ_DATA"],["impl<'de> Deserialize<'de> for MavCollisionThreatLevel"],["impl<'de> Deserialize<'de> for GpsFixType"],["impl<'de> Deserialize<'de> for LOGGING_DATA_DATA"],["impl<'de> Deserialize<'de> for PrecisionLandMode"],["impl<'de> Deserialize<'de> for GPS_RTCM_DATA_DATA"],["impl<'de> Deserialize<'de> for FENCE_POINT_DATA"],["impl<'de> Deserialize<'de> for CELLULAR_CONFIG_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutCfgAircraftSize"],["impl<'de> Deserialize<'de> for GPS_RTCM_DATA_DATA"],["impl<'de> Deserialize<'de> for FirmwareVersionType"],["impl<'de> Deserialize<'de> for CURRENT_EVENT_SEQUENCE_DATA"],["impl<'de> Deserialize<'de> for WifiConfigApResponse"],["impl<'de> Deserialize<'de> for UavcanNodeHealth"],["impl<'de> Deserialize<'de> for UtmDataAvailFlags"],["impl<'de> Deserialize<'de> for ATT_POS_MOCAP_DATA"],["impl<'de> Deserialize<'de> for MISSION_SET_CURRENT_DATA"],["impl<'de> Deserialize<'de> for COMMAND_INT_DATA"],["impl<'de> Deserialize<'de> for GimbalDeviceErrorFlags"],["impl<'de> Deserialize<'de> for HIGHRES_IMU_DATA"],["impl<'de> Deserialize<'de> for MISSION_ITEM_REACHED_DATA"],["impl<'de> Deserialize<'de> for GPS_RTCM_DATA_DATA"],["impl<'de> Deserialize<'de> for MESSAGE_INTERVAL_DATA"],["impl<'de> Deserialize<'de> for SYS_STATUS_DATA"],["impl<'de> Deserialize<'de> for AHRS2_DATA"],["impl<'de> Deserialize<'de> for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl<'de> Deserialize<'de> for SCALED_IMU3_DATA"],["impl<'de> Deserialize<'de> for SCALED_IMU_DATA"],["impl<'de> Deserialize<'de> for ONBOARD_COMPUTER_STATUS_DATA"],["impl<'de> Deserialize<'de> for VIDEO_STREAM_STATUS_DATA"],["impl<'de> Deserialize<'de> for EFI_STATUS_DATA"],["impl<'de> Deserialize<'de> for PING_DATA"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for MavBatteryChargeState"],["impl<'de> Deserialize<'de> for MavBatteryMode"],["impl<'de> Deserialize<'de> for IcarousTrackBandTypes"],["impl<'de> Deserialize<'de> for MavOdidClassificationType"],["impl<'de> Deserialize<'de> for HIL_ACTUATOR_CONTROLS_DATA"],["impl<'de> Deserialize<'de> for FLIGHT_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for HilSensorUpdatedFlags"],["impl<'de> Deserialize<'de> for CameraTrackingStatusFlags"],["impl<'de> Deserialize<'de> for RC_CHANNELS_DATA"],["impl<'de> Deserialize<'de> for CANFD_FRAME_DATA"],["impl<'de> Deserialize<'de> for FenceBreach"],["impl<'de> Deserialize<'de> for GoproProtuneSharpness"],["impl<'de> Deserialize<'de> for GPS_RTK_DATA"],["impl<'de> Deserialize<'de> for MavWinchStatusFlag"],["impl<'de> Deserialize<'de> for MavAutopilot"],["impl<'de> Deserialize<'de> for StorageUsageFlag"],["impl<'de> Deserialize<'de> for ALTITUDE_DATA"],["impl<'de> Deserialize<'de> for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl<'de> Deserialize<'de> for MavOdidUaType"],["impl<'de> Deserialize<'de> for FenceMitigate"],["impl<'de> Deserialize<'de> for OsdParamConfigType"],["impl<'de> Deserialize<'de> for COMMAND_CANCEL_DATA"],["impl<'de> Deserialize<'de> for MavState"],["impl<'de> Deserialize<'de> for LIMITS_STATUS_DATA"],["impl<'de> Deserialize<'de> for CompMetadataType"],["impl<'de> Deserialize<'de> for GPS2_RAW_DATA"],["impl<'de> Deserialize<'de> for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl<'de> Deserialize<'de> for CELLULAR_CONFIG_DATA"],["impl<'de> Deserialize<'de> for CameraTrackingTargetData"],["impl<'de> Deserialize<'de> for REQUEST_EVENT_DATA"],["impl<'de> Deserialize<'de> for ESC_STATUS_DATA"],["impl<'de> Deserialize<'de> for PARAM_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for MEMORY_VECT_DATA"],["impl<'de> Deserialize<'de> for SYS_STATUS_DATA"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_DATA"],["impl<'de> Deserialize<'de> for WifiConfigApResponse"],["impl<'de> Deserialize<'de> for FOLLOW_TARGET_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for HIL_CONTROLS_DATA"],["impl<'de> Deserialize<'de> for SET_MAG_OFFSETS_DATA"],["impl<'de> Deserialize<'de> for MavOdidCategoryEu"],["impl<'de> Deserialize<'de> for RADIO_STATUS_DATA"],["impl<'de> Deserialize<'de> for V2_EXTENSION_DATA"],["impl<'de> Deserialize<'de> for GPS_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavEstimatorType"],["impl<'de> Deserialize<'de> for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl<'de> Deserialize<'de> for CAMERA_SETTINGS_DATA"],["impl<'de> Deserialize<'de> for RAW_IMU_DATA"],["impl<'de> Deserialize<'de> for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl<'de> Deserialize<'de> for PARAM_SET_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl<'de> Deserialize<'de> for AP_ADC_DATA"],["impl<'de> Deserialize<'de> for TUNNEL_DATA"],["impl<'de> Deserialize<'de> for RC_CHANNELS_OVERRIDE_DATA"],["impl<'de> Deserialize<'de> for SAFETY_ALLOWED_AREA_DATA"],["impl<'de> Deserialize<'de> for GENERATOR_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavOdidSpeedAcc"],["impl<'de> Deserialize<'de> for REQUEST_DATA_STREAM_DATA"],["impl<'de> Deserialize<'de> for GPS_GLOBAL_ORIGIN_DATA"],["impl<'de> Deserialize<'de> for NAMED_VALUE_FLOAT_DATA"],["impl<'de> Deserialize<'de> for MavPowerStatus"],["impl<'de> Deserialize<'de> for PARAM_REQUEST_READ_DATA"],["impl<'de> Deserialize<'de> for CellularConfigResponse"],["impl<'de> Deserialize<'de> for ACTUATOR_CONTROL_TARGET_DATA"],["impl<'de> Deserialize<'de> for FenceMitigate"],["impl<'de> Deserialize<'de> for ESC_STATUS_DATA"],["impl<'de> Deserialize<'de> for PARAM_SET_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_VALUE_DATA"],["impl<'de> Deserialize<'de> for AIS_VESSEL_DATA"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE2_DATA"],["impl<'de> Deserialize<'de> for MavOdidDescType"],["impl<'de> Deserialize<'de> for CELLULAR_STATUS_DATA"],["impl<'de> Deserialize<'de> for CameraMode"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavBatteryMode"],["impl<'de> Deserialize<'de> for WINCH_STATUS_DATA"],["impl<'de> Deserialize<'de> for RESPONSE_EVENT_ERROR_DATA"],["impl<'de> Deserialize<'de> for MOUNT_CONTROL_DATA"],["impl<'de> Deserialize<'de> for MavCollisionThreatLevel"],["impl<'de> Deserialize<'de> for REMOTE_LOG_DATA_BLOCK_DATA"],["impl<'de> Deserialize<'de> for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for MavOdidClassEu"],["impl<'de> Deserialize<'de> for MavFtpOpcode"],["impl<'de> Deserialize<'de> for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl<'de> Deserialize<'de> for COMMAND_INT_DATA"],["impl<'de> Deserialize<'de> for GoproProtuneWhiteBalance"],["impl<'de> Deserialize<'de> for RADIO_STATUS_DATA"],["impl<'de> Deserialize<'de> for ESC_INFO_DATA"],["impl<'de> Deserialize<'de> for AIS_VESSEL_DATA"],["impl<'de> Deserialize<'de> for DATA32_DATA"],["impl<'de> Deserialize<'de> for WHEEL_DISTANCE_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl<'de> Deserialize<'de> for RC_CHANNELS_RAW_DATA"],["impl<'de> Deserialize<'de> for MavOdidHorAcc"],["impl<'de> Deserialize<'de> for PLAY_TUNE_V2_DATA"],["impl<'de> Deserialize<'de> for GimbalDeviceCapFlags"],["impl<'de> Deserialize<'de> for WifiConfigApMode"],["impl<'de> Deserialize<'de> for MEMINFO_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutCfgGpsOffsetLat"],["impl<'de> Deserialize<'de> for OsdParamConfigError"],["impl<'de> Deserialize<'de> for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl<'de> Deserialize<'de> for SerialControlDev"],["impl<'de> Deserialize<'de> for ACTUATOR_CONTROL_TARGET_DATA"],["impl<'de> Deserialize<'de> for GpsInputIgnoreFlags"],["impl<'de> Deserialize<'de> for RALLY_FETCH_POINT_DATA"],["impl<'de> Deserialize<'de> for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl<'de> Deserialize<'de> for MavGeneratorStatusFlag"],["impl<'de> Deserialize<'de> for PARAM_REQUEST_READ_DATA"],["impl<'de> Deserialize<'de> for MavArmAuthDeniedReason"],["impl<'de> Deserialize<'de> for COMMAND_LONG_DATA"],["impl<'de> Deserialize<'de> for ENCAPSULATED_DATA_DATA"],["impl<'de> Deserialize<'de> for MavOdidClassificationType"],["impl<'de> Deserialize<'de> for LINK_NODE_STATUS_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for MavBatteryType"],["impl<'de> Deserialize<'de> for SAFETY_ALLOWED_AREA_DATA"],["impl<'de> Deserialize<'de> for FenceAction"],["impl<'de> Deserialize<'de> for GOPRO_GET_REQUEST_DATA"],["impl<'de> Deserialize<'de> for MavSeverity"],["impl<'de> Deserialize<'de> for RAW_RPM_DATA"],["impl<'de> Deserialize<'de> for PING_DATA"],["impl<'de> Deserialize<'de> for HighresImuUpdatedFlags"],["impl<'de> Deserialize<'de> for PreflightStorageParameterAction"],["impl<'de> Deserialize<'de> for MavOdidAuthType"],["impl<'de> Deserialize<'de> for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for DATA_STREAM_DATA"],["impl<'de> Deserialize<'de> for LOG_REQUEST_DATA_DATA"],["impl<'de> Deserialize<'de> for GPS_INPUT_DATA"],["impl<'de> Deserialize<'de> for OrbitYawBehaviour"],["impl<'de> Deserialize<'de> for VISION_SPEED_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for GoproProtuneExposure"],["impl<'de> Deserialize<'de> for LOG_REQUEST_END_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for RAW_PRESSURE_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SYSTEM_DATA"],["impl<'de> Deserialize<'de> for COMMAND_INT_DATA"],["impl<'de> Deserialize<'de> for ATT_POS_MOCAP_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_COV_DATA"],["impl<'de> Deserialize<'de> for AdsbEmitterType"],["impl<'de> Deserialize<'de> for ADSB_VEHICLE_DATA"],["impl<'de> Deserialize<'de> for MavResult"],["impl<'de> Deserialize<'de> for DEBUG_DATA"],["impl<'de> Deserialize<'de> for AisType"],["impl<'de> Deserialize<'de> for COLLISION_DATA"],["impl<'de> Deserialize<'de> for GPS2_RAW_DATA"],["impl<'de> Deserialize<'de> for HIGHRES_IMU_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl<'de> Deserialize<'de> for HIL_GPS_DATA"],["impl<'de> Deserialize<'de> for MavMountMode"],["impl<'de> Deserialize<'de> for NAMED_VALUE_INT_DATA"],["impl<'de> Deserialize<'de> for GPS_RTK_DATA"],["impl<'de> Deserialize<'de> for MavVtolState"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl<'de> Deserialize<'de> for HIGH_LATENCY2_DATA"],["impl<'de> Deserialize<'de> for GripperActions"],["impl<'de> Deserialize<'de> for MavMode"],["impl<'de> Deserialize<'de> for EstimatorStatusFlags"],["impl<'de> Deserialize<'de> for ATTITUDE_TARGET_DATA"],["impl<'de> Deserialize<'de> for TuneFormat"],["impl<'de> Deserialize<'de> for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl<'de> Deserialize<'de> for LandingTargetType"],["impl<'de> Deserialize<'de> for POSITION_TARGET_LOCAL_NED_DATA"],["impl<'de> Deserialize<'de> for VIDEO_STREAM_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MavHeader"],["impl<'de> Deserialize<'de> for ACTUATOR_OUTPUT_STATUS_DATA"],["impl<'de> Deserialize<'de> for BUTTON_CHANGE_DATA"],["impl<'de> Deserialize<'de> for TERRAIN_CHECK_DATA"],["impl<'de> Deserialize<'de> for MavOdidSpeedAcc"],["impl<'de> Deserialize<'de> for WinchActions"],["impl<'de> Deserialize<'de> for ACTUATOR_OUTPUT_STATUS_DATA"],["impl<'de> Deserialize<'de> for SET_MODE_DATA"],["impl<'de> Deserialize<'de> for MavEventCurrentSequenceFlags"],["impl<'de> Deserialize<'de> for SAFETY_ALLOWED_AREA_DATA"],["impl<'de> Deserialize<'de> for MavCollisionSrc"],["impl<'de> Deserialize<'de> for MavCollisionSrc"],["impl<'de> Deserialize<'de> for GPS2_RAW_DATA"],["impl<'de> Deserialize<'de> for GPS_STATUS_DATA"],["impl<'de> Deserialize<'de> for SCALED_IMU3_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutDynamicState"],["impl<'de> Deserialize<'de> for MavOdidDescType"],["impl<'de> Deserialize<'de> for ORBIT_EXECUTION_STATUS_DATA"],["impl<'de> Deserialize<'de> for GPS_GLOBAL_ORIGIN_DATA"],["impl<'de> Deserialize<'de> for CameraFeedbackFlags"],["impl<'de> Deserialize<'de> for AdsbAltitudeType"],["impl<'de> Deserialize<'de> for ParamAck"],["impl<'de> Deserialize<'de> for CellularConfigResponse"],["impl<'de> Deserialize<'de> for MavDataStream"],["impl<'de> Deserialize<'de> for FENCE_STATUS_DATA"],["impl<'de> Deserialize<'de> for WINCH_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavState"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_INT_DATA"],["impl<'de> Deserialize<'de> for MavType"],["impl<'de> Deserialize<'de> for VIBRATION_DATA"],["impl<'de> Deserialize<'de> for ODOMETRY_DATA"],["impl<'de> Deserialize<'de> for COMPONENT_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MotorTestThrottleType"],["impl<'de> Deserialize<'de> for MavRoi"],["impl<'de> Deserialize<'de> for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl<'de> Deserialize<'de> for LOG_ERASE_DATA"],["impl<'de> Deserialize<'de> for MagCalStatus"],["impl<'de> Deserialize<'de> for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl<'de> Deserialize<'de> for MavState"],["impl<'de> Deserialize<'de> for CameraZoomType"],["impl<'de> Deserialize<'de> for ATTITUDE_TARGET_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutRfSelect"],["impl<'de> Deserialize<'de> for MavOdidHeightRef"],["impl<'de> Deserialize<'de> for WIFI_CONFIG_AP_DATA"],["impl<'de> Deserialize<'de> for MISSION_CLEAR_ALL_DATA"],["impl<'de> Deserialize<'de> for LOGGING_ACK_DATA"],["impl<'de> Deserialize<'de> for DIGICAM_CONFIGURE_DATA"],["impl<'de> Deserialize<'de> for CAMERA_CAPTURE_STATUS_DATA"],["impl<'de> Deserialize<'de> for AccelcalVehiclePos"],["impl<'de> Deserialize<'de> for MavFtpOpcode"],["impl<'de> Deserialize<'de> for SerialControlFlag"],["impl<'de> Deserialize<'de> for HIL_RC_INPUTS_RAW_DATA"],["impl<'de> Deserialize<'de> for MavMode"],["impl<'de> Deserialize<'de> for MissionState"],["impl<'de> Deserialize<'de> for SYSTEM_TIME_DATA"],["impl<'de> Deserialize<'de> for TERRAIN_CHECK_DATA"],["impl<'de> Deserialize<'de> for GPS_INJECT_DATA_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_LOCATION_DATA"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl<'de> Deserialize<'de> for COMPONENT_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for CAMERA_FOV_STATUS_DATA"],["impl<'de> Deserialize<'de> for POWER_STATUS_DATA"],["impl<'de> Deserialize<'de> for PARAM_VALUE_DATA"],["impl<'de> Deserialize<'de> for MEMORY_VECT_DATA"],["impl<'de> Deserialize<'de> for EVENT_DATA"],["impl<'de> Deserialize<'de> for HIL_OPTICAL_FLOW_DATA"],["impl<'de> Deserialize<'de> for CellularNetworkFailedReason"],["impl<'de> Deserialize<'de> for SET_ATTITUDE_TARGET_DATA"],["impl<'de> Deserialize<'de> for AutotuneAxis"],["impl<'de> Deserialize<'de> for COMPONENT_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MOUNT_CONFIGURE_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl<'de> Deserialize<'de> for AUTOPILOT_VERSION_DATA"],["impl<'de> Deserialize<'de> for PlaneMode"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for ICAROUS_HEARTBEAT_DATA"],["impl<'de> Deserialize<'de> for LOG_REQUEST_DATA_DATA"],["impl<'de> Deserialize<'de> for BATTERY2_DATA"],["impl<'de> Deserialize<'de> for ScriptingCmd"],["impl<'de> Deserialize<'de> for CAMERA_SETTINGS_DATA"],["impl<'de> Deserialize<'de> for COMMAND_CANCEL_DATA"],["impl<'de> Deserialize<'de> for OBSTACLE_DISTANCE_DATA"],["impl<'de> Deserialize<'de> for MavMountMode"],["impl<'de> Deserialize<'de> for ALTITUDE_DATA"],["impl<'de> Deserialize<'de> for V2_EXTENSION_DATA"],["impl<'de> Deserialize<'de> for DEBUG_VECT_DATA"],["impl<'de> Deserialize<'de> for CAN_FRAME_DATA"],["impl<'de> Deserialize<'de> for CAN_FILTER_MODIFY_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_SET_DATA"],["impl<'de> Deserialize<'de> for DISTANCE_SENSOR_DATA"],["impl<'de> Deserialize<'de> for MESSAGE_INTERVAL_DATA"],["impl<'de> Deserialize<'de> for PARAM_VALUE_DATA"],["impl<'de> Deserialize<'de> for LOG_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for GpsFixType"],["impl<'de> Deserialize<'de> for FenceBreach"],["impl<'de> Deserialize<'de> for HERELINK_TELEM_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_REQUEST_READ_DATA"],["impl<'de> Deserialize<'de> for ALTITUDE_DATA"],["impl<'de> Deserialize<'de> for ActuatorOutputFunction"],["impl<'de> Deserialize<'de> for GoproResolution"],["impl<'de> Deserialize<'de> for FenceAction"],["impl<'de> Deserialize<'de> for MavFrame"],["impl<'de> Deserialize<'de> for MISSION_CLEAR_ALL_DATA"],["impl<'de> Deserialize<'de> for MANUAL_SETPOINT_DATA"],["impl<'de> Deserialize<'de> for RADIO_DATA"],["impl<'de> Deserialize<'de> for REQUEST_EVENT_DATA"],["impl<'de> Deserialize<'de> for SUPPORTED_TUNES_DATA"],["impl<'de> Deserialize<'de> for GimbalDeviceFlags"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl<'de> Deserialize<'de> for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl<'de> Deserialize<'de> for AHRS3_DATA"],["impl<'de> Deserialize<'de> for CAMERA_TRIGGER_DATA"],["impl<'de> Deserialize<'de> for MavMissionResult"],["impl<'de> Deserialize<'de> for MavOdidIdType"],["impl<'de> Deserialize<'de> for MavRemoteLogDataBlockCommands"],["impl<'de> Deserialize<'de> for CellularNetworkFailedReason"],["impl<'de> Deserialize<'de> for EstimatorStatusFlags"],["impl<'de> Deserialize<'de> for VideoStreamType"],["impl<'de> Deserialize<'de> for PLAY_TUNE_DATA"],["impl<'de> Deserialize<'de> for MavType"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl<'de> Deserialize<'de> for GimbalDeviceFlags"],["impl<'de> Deserialize<'de> for LOGGING_DATA_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SELF_ID_DATA"],["impl<'de> Deserialize<'de> for CellularNetworkRadioType"],["impl<'de> Deserialize<'de> for MavEstimatorType"],["impl<'de> Deserialize<'de> for DATA64_DATA"],["impl<'de> Deserialize<'de> for DEBUG_DATA"],["impl<'de> Deserialize<'de> for MavArmAuthDeniedReason"],["impl<'de> Deserialize<'de> for PARAM_MAP_RC_DATA"],["impl<'de> Deserialize<'de> for PARAM_MAP_RC_DATA"],["impl<'de> Deserialize<'de> for MOUNT_ORIENTATION_DATA"],["impl<'de> Deserialize<'de> for ADSB_VEHICLE_DATA"],["impl<'de> Deserialize<'de> for RESPONSE_EVENT_ERROR_DATA"],["impl<'de> Deserialize<'de> for MAG_CAL_REPORT_DATA"],["impl<'de> Deserialize<'de> for HlFailureFlag"],["impl<'de> Deserialize<'de> for VICON_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for CameraZoomType"],["impl<'de> Deserialize<'de> for CameraCapFlags"],["impl<'de> Deserialize<'de> for REQUEST_DATA_STREAM_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_VALUE_DATA"],["impl<'de> Deserialize<'de> for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl<'de> Deserialize<'de> for COMMAND_CANCEL_DATA"],["impl<'de> Deserialize<'de> for MavEventCurrentSequenceFlags"],["impl<'de> Deserialize<'de> for OrbitYawBehaviour"],["impl<'de> Deserialize<'de> for CameraTrackingTargetData"],["impl<'de> Deserialize<'de> for GOPRO_SET_RESPONSE_DATA"],["impl<'de> Deserialize<'de> for ESTIMATOR_STATUS_DATA"],["impl<'de> Deserialize<'de> for AisType"],["impl<'de> Deserialize<'de> for DeepstallStage"],["impl<'de> Deserialize<'de> for MavParamExtType"],["impl<'de> Deserialize<'de> for MavOdidArmStatus"],["impl<'de> Deserialize<'de> for ADAP_TUNING_DATA"],["impl<'de> Deserialize<'de> for PrecisionLandMode"],["impl<'de> Deserialize<'de> for PidTuningAxis"],["impl<'de> Deserialize<'de> for SCALED_IMU2_DATA"],["impl<'de> Deserialize<'de> for MISSION_ACK_DATA"],["impl<'de> Deserialize<'de> for MotorTestOrder"],["impl<'de> Deserialize<'de> for CAMERA_SETTINGS_DATA"],["impl<'de> Deserialize<'de> for VIDEO_STREAM_STATUS_DATA"],["impl<'de> Deserialize<'de> for AutotuneAxis"],["impl<'de> Deserialize<'de> for ACTUATOR_OUTPUT_STATUS_DATA"],["impl<'de> Deserialize<'de> for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl<'de> Deserialize<'de> for TERRAIN_DATA_DATA"],["impl<'de> Deserialize<'de> for PARAM_MAP_RC_DATA"],["impl<'de> Deserialize<'de> for EXTENDED_SYS_STATE_DATA"],["impl<'de> Deserialize<'de> for GimbalDeviceCapFlags"],["impl<'de> Deserialize<'de> for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl<'de> Deserialize<'de> for WHEEL_DISTANCE_DATA"],["impl<'de> Deserialize<'de> for EscConnectionType"],["impl<'de> Deserialize<'de> for VIDEO_STREAM_STATUS_DATA"],["impl<'de> Deserialize<'de> for WifiConfigApResponse"],["impl<'de> Deserialize<'de> for MavMessage"],["impl<'de> Deserialize<'de> for VideoStreamType"],["impl<'de> Deserialize<'de> for RESPONSE_EVENT_ERROR_DATA"],["impl<'de> Deserialize<'de> for MavResult"],["impl<'de> Deserialize<'de> for LANDING_TARGET_DATA"],["impl<'de> Deserialize<'de> for ESC_TELEMETRY_1_TO_4_DATA"],["impl<'de> Deserialize<'de> for RAW_PRESSURE_DATA"],["impl<'de> Deserialize<'de> for TUNNEL_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for UavcanNodeMode"],["impl<'de> Deserialize<'de> for MavDistanceSensor"],["impl<'de> Deserialize<'de> for MavSensorOrientation"],["impl<'de> Deserialize<'de> for STORAGE_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutCfgGpsOffsetLon"],["impl<'de> Deserialize<'de> for LINK_NODE_STATUS_DATA"],["impl<'de> Deserialize<'de> for LOG_ENTRY_DATA"],["impl<'de> Deserialize<'de> for POSITION_TARGET_GLOBAL_INT_DATA"],["impl<'de> Deserialize<'de> for LOGGING_DATA_ACKED_DATA"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE2_DATA"],["impl<'de> Deserialize<'de> for MavBatteryMode"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl<'de> Deserialize<'de> for SERVO_OUTPUT_RAW_DATA"],["impl<'de> Deserialize<'de> for GLOBAL_POSITION_INT_DATA"],["impl<'de> Deserialize<'de> for CONTROL_SYSTEM_STATE_DATA"],["impl<'de> Deserialize<'de> for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl<'de> Deserialize<'de> for UavcanNodeMode"],["impl<'de> Deserialize<'de> for VFR_HUD_DATA"],["impl<'de> Deserialize<'de> for ICAROUS_KINEMATIC_BANDS_DATA"],["impl<'de> Deserialize<'de> for MavGeneratorStatusFlag"],["impl<'de> Deserialize<'de> for VIDEO_STREAM_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE_DATA"],["impl<'de> Deserialize<'de> for RAW_IMU_DATA"],["impl<'de> Deserialize<'de> for CanFilterOp"],["impl<'de> Deserialize<'de> for HYGROMETER_SENSOR_DATA"],["impl<'de> Deserialize<'de> for MISSION_ITEM_REACHED_DATA"],["impl<'de> Deserialize<'de> for CellularStatusFlag"],["impl<'de> Deserialize<'de> for DEBUG_VECT_DATA"],["impl<'de> Deserialize<'de> for TERRAIN_REQUEST_DATA"],["impl<'de> Deserialize<'de> for CAMERA_CAPTURE_STATUS_DATA"],["impl<'de> Deserialize<'de> for VFR_HUD_DATA"],["impl<'de> Deserialize<'de> for MISSION_ACK_DATA"],["impl<'de> Deserialize<'de> for MEMORY_VECT_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE3_DATA"],["impl<'de> Deserialize<'de> for COLLISION_DATA"],["impl<'de> Deserialize<'de> for SET_HOME_POSITION_DATA"],["impl<'de> Deserialize<'de> for MavProtocolCapability"],["impl<'de> Deserialize<'de> for VtolTransitionHeading"],["impl<'de> Deserialize<'de> for SET_HOME_POSITION_DATA"],["impl<'de> Deserialize<'de> for RADIO_STATUS_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl<'de> Deserialize<'de> for COMPONENT_METADATA_DATA"],["impl<'de> Deserialize<'de> for MavEstimatorType"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_INT_DATA"],["impl<'de> Deserialize<'de> for FirmwareVersionType"],["impl<'de> Deserialize<'de> for RallyFlags"],["impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_DATA"],["impl<'de> Deserialize<'de> for TIMESYNC_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl<'de> Deserialize<'de> for GoproBurstRate"],["impl<'de> Deserialize<'de> for RoverMode"],["impl<'de> Deserialize<'de> for ESC_INFO_DATA"],["impl<'de> Deserialize<'de> for AttitudeTargetTypemask"],["impl<'de> Deserialize<'de> for CAN_FRAME_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for ESTIMATOR_STATUS_DATA"],["impl<'de> Deserialize<'de> for VtolTransitionHeading"],["impl<'de> Deserialize<'de> for MavComponent"],["impl<'de> Deserialize<'de> for CellularNetworkFailedReason"],["impl<'de> Deserialize<'de> for GPS_INJECT_DATA_DATA"],["impl<'de> Deserialize<'de> for CellularNetworkRadioType"],["impl<'de> Deserialize<'de> for STORAGE_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for CopterMode"],["impl<'de> Deserialize<'de> for ESTIMATOR_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavOdidStatus"],["impl<'de> Deserialize<'de> for RESOURCE_REQUEST_DATA"],["impl<'de> Deserialize<'de> for MavMissionType"],["impl<'de> Deserialize<'de> for FailureUnit"],["impl<'de> Deserialize<'de> for OPTICAL_FLOW_RAD_DATA"],["impl<'de> Deserialize<'de> for HIL_CONTROLS_DATA"],["impl<'de> Deserialize<'de> for BATTERY_STATUS_DATA"],["impl<'de> Deserialize<'de> for GimbalManagerCapFlags"],["impl<'de> Deserialize<'de> for POSITION_TARGET_GLOBAL_INT_DATA"],["impl<'de> Deserialize<'de> for SMART_BATTERY_INFO_DATA"],["impl<'de> Deserialize<'de> for MavBatteryFunction"],["impl<'de> Deserialize<'de> for GLOBAL_POSITION_INT_COV_DATA"],["impl<'de> Deserialize<'de> for MavWinchStatusFlag"],["impl<'de> Deserialize<'de> for MavDataStream"],["impl<'de> Deserialize<'de> for UAVCAN_NODE_STATUS_DATA"],["impl<'de> Deserialize<'de> for WinchActions"],["impl<'de> Deserialize<'de> for ParachuteAction"],["impl<'de> Deserialize<'de> for HIGH_LATENCY_DATA"],["impl<'de> Deserialize<'de> for GimbalAxis"],["impl<'de> Deserialize<'de> for MavSysStatusSensorExtended"],["impl<'de> Deserialize<'de> for WinchActions"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_COV_DATA"],["impl<'de> Deserialize<'de> for SpeedType"],["impl<'de> Deserialize<'de> for DeviceOpBustype"],["impl<'de> Deserialize<'de> for COMPASSMOT_STATUS_DATA"],["impl<'de> Deserialize<'de> for SMART_BATTERY_INFO_DATA"],["impl<'de> Deserialize<'de> for AdsbAltitudeType"],["impl<'de> Deserialize<'de> for SERIAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for MavEventErrorReason"],["impl<'de> Deserialize<'de> for MavModeGimbal"],["impl<'de> Deserialize<'de> for SetFocusType"],["impl<'de> Deserialize<'de> for LOG_REQUEST_END_DATA"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_COV_DATA"],["impl<'de> Deserialize<'de> for MavCmdAck"],["impl<'de> Deserialize<'de> for StorageStatus"],["impl<'de> Deserialize<'de> for MavPowerStatus"],["impl<'de> Deserialize<'de> for CompMetadataType"],["impl<'de> Deserialize<'de> for MCU_STATUS_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MavBatteryType"],["impl<'de> Deserialize<'de> for SET_HOME_POSITION_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbRfHealth"],["impl<'de> Deserialize<'de> for SubMode"],["impl<'de> Deserialize<'de> for EscFailureFlags"],["impl<'de> Deserialize<'de> for ATT_POS_MOCAP_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutDynamicGpsFix"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for RC_CHANNELS_DATA"],["impl<'de> Deserialize<'de> for PROTOCOL_VERSION_DATA"],["impl<'de> Deserialize<'de> for MavDataStream"],["impl<'de> Deserialize<'de> for PARAM_EXT_ACK_DATA"],["impl<'de> Deserialize<'de> for OPTICAL_FLOW_DATA"],["impl<'de> Deserialize<'de> for MavSensorOrientation"],["impl<'de> Deserialize<'de> for OSD_PARAM_CONFIG_REPLY_DATA"],["impl<'de> Deserialize<'de> for GoproProtuneColour"],["impl<'de> Deserialize<'de> for MavParamType"],["impl<'de> Deserialize<'de> for SIM_STATE_DATA"],["impl<'de> Deserialize<'de> for DIGICAM_CONTROL_DATA"],["impl<'de> Deserialize<'de> for ActuatorOutputFunction"],["impl<'de> Deserialize<'de> for OSD_PARAM_CONFIG_DATA"],["impl<'de> Deserialize<'de> for PreflightStorageParameterAction"],["impl<'de> Deserialize<'de> for PARAM_EXT_ACK_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutRfSelect"],["impl<'de> Deserialize<'de> for ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for MISSION_COUNT_DATA"],["impl<'de> Deserialize<'de> for EscConnectionType"],["impl<'de> Deserialize<'de> for HYGROMETER_SENSOR_DATA"],["impl<'de> Deserialize<'de> for MavOdidCategoryEu"],["impl<'de> Deserialize<'de> for MavOdidOperatorLocationType"],["impl<'de> Deserialize<'de> for TERRAIN_REQUEST_DATA"],["impl<'de> Deserialize<'de> for MISSION_CLEAR_ALL_DATA"],["impl<'de> Deserialize<'de> for NAMED_VALUE_FLOAT_DATA"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_DATA"],["impl<'de> Deserialize<'de> for CameraStatusTypes"],["impl<'de> Deserialize<'de> for DEBUG_VECT_DATA"],["impl<'de> Deserialize<'de> for GoproVideoSettingsFlags"],["impl<'de> Deserialize<'de> for UTM_GLOBAL_POSITION_DATA"],["impl<'de> Deserialize<'de> for AisType"],["impl<'de> Deserialize<'de> for CAN_FRAME_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_REPORT_DATA"],["impl<'de> Deserialize<'de> for LimitsState"],["impl<'de> Deserialize<'de> for GoproHeartbeatStatus"],["impl<'de> Deserialize<'de> for UavionixAdsbOutCfgGpsOffsetLon"],["impl<'de> Deserialize<'de> for GripperActions"],["impl<'de> Deserialize<'de> for MavVtolState"],["impl<'de> Deserialize<'de> for V2_EXTENSION_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl<'de> Deserialize<'de> for RC_CHANNELS_DATA"],["impl<'de> Deserialize<'de> for FenceBreach"],["impl<'de> Deserialize<'de> for MavSysStatusSensorExtended"],["impl<'de> Deserialize<'de> for MANUAL_SETPOINT_DATA"],["impl<'de> Deserialize<'de> for RESOURCE_REQUEST_DATA"],["impl<'de> Deserialize<'de> for UavcanNodeMode"],["impl<'de> Deserialize<'de> for FirmwareVersionType"],["impl<'de> Deserialize<'de> for OPTICAL_FLOW_RAD_DATA"],["impl<'de> Deserialize<'de> for VISION_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for MavBatteryType"],["impl<'de> Deserialize<'de> for StorageType"],["impl<'de> Deserialize<'de> for ParamAck"],["impl<'de> Deserialize<'de> for HOME_POSITION_DATA"],["impl<'de> Deserialize<'de> for ActuatorConfiguration"],["impl<'de> Deserialize<'de> for MavLandedState"],["impl<'de> Deserialize<'de> for LimitModule"],["impl<'de> Deserialize<'de> for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl<'de> Deserialize<'de> for CHANGE_OPERATOR_CONTROL_DATA"],["impl<'de> Deserialize<'de> for SMART_BATTERY_INFO_DATA"],["impl<'de> Deserialize<'de> for UAVCAN_NODE_INFO_DATA"],["impl<'de> Deserialize<'de> for CameraZoomType"],["impl<'de> Deserialize<'de> for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl<'de> Deserialize<'de> for SYS_STATUS_DATA"],["impl<'de> Deserialize<'de> for STATUSTEXT_DATA"],["impl<'de> Deserialize<'de> for MISSION_ITEM_INT_DATA"],["impl<'de> Deserialize<'de> for RAW_IMU_DATA"],["impl<'de> Deserialize<'de> for MavCmd"],["impl<'de> Deserialize<'de> for MavOdidVerAcc"],["impl<'de> Deserialize<'de> for CONTROL_SYSTEM_STATE_DATA"],["impl<'de> Deserialize<'de> for MotorTestThrottleType"],["impl<'de> Deserialize<'de> for FENCE_STATUS_DATA"],["impl<'de> Deserialize<'de> for AUTH_KEY_DATA"],["impl<'de> Deserialize<'de> for VideoStreamStatusFlags"],["impl<'de> Deserialize<'de> for GripperActions"],["impl<'de> Deserialize<'de> for RPM_DATA"],["impl<'de> Deserialize<'de> for MavOdidOperatorIdType"],["impl<'de> Deserialize<'de> for MissionState"],["impl<'de> Deserialize<'de> for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl<'de> Deserialize<'de> for MISSION_CURRENT_DATA"],["impl<'de> Deserialize<'de> for MavlinkDataStreamType"],["impl<'de> Deserialize<'de> for HOME_POSITION_DATA"],["impl<'de> Deserialize<'de> for HIL_SENSOR_DATA"],["impl<'de> Deserialize<'de> for MISSION_SET_CURRENT_DATA"],["impl<'de> Deserialize<'de> for ORBIT_EXECUTION_STATUS_DATA"],["impl<'de> Deserialize<'de> for DEBUG_FLOAT_ARRAY_DATA"],["impl<'de> Deserialize<'de> for HlFailureFlag"],["impl<'de> Deserialize<'de> for AisFlags"],["impl<'de> Deserialize<'de> for SCALED_IMU_DATA"],["impl<'de> Deserialize<'de> for MavBatteryChargeState"],["impl<'de> Deserialize<'de> for MavComponent"],["impl<'de> Deserialize<'de> for RAW_PRESSURE_DATA"],["impl<'de> Deserialize<'de> for MavOdidHorAcc"],["impl<'de> Deserialize<'de> for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl<'de> Deserialize<'de> for DISTANCE_SENSOR_DATA"],["impl<'de> Deserialize<'de> for AUTOPILOT_VERSION_REQUEST_DATA"],["impl<'de> Deserialize<'de> for CAMERA_FOV_STATUS_DATA"],["impl<'de> Deserialize<'de> for MISSION_ITEM_INT_DATA"],["impl<'de> Deserialize<'de> for RESOURCE_REQUEST_DATA"],["impl<'de> Deserialize<'de> for GoproProtuneGain"],["impl<'de> Deserialize<'de> for EXTENDED_SYS_STATE_DATA"],["impl<'de> Deserialize<'de> for PARAM_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for AHRS_DATA"],["impl<'de> Deserialize<'de> for MavFtpOpcode"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl<'de> Deserialize<'de> for StorageStatus"],["impl<'de> Deserialize<'de> for TuneFormat"],["impl<'de> Deserialize<'de> for RC_CHANNELS_SCALED_DATA"],["impl<'de> Deserialize<'de> for AdsbEmitterType"],["impl<'de> Deserialize<'de> for DEEPSTALL_DATA"],["impl<'de> Deserialize<'de> for CameraTrackingMode"],["impl<'de> Deserialize<'de> for HIL_STATE_DATA"],["impl<'de> Deserialize<'de> for HIL_STATE_QUATERNION_DATA"],["impl<'de> Deserialize<'de> for RC_CHANNELS_OVERRIDE_DATA"],["impl<'de> Deserialize<'de> for POSITION_TARGET_LOCAL_NED_DATA"],["impl<'de> Deserialize<'de> for MISSION_SET_CURRENT_DATA"],["impl<'de> Deserialize<'de> for IcarousFmsState"],["impl<'de> Deserialize<'de> for MavSysStatusSensor"],["impl<'de> Deserialize<'de> for RC_CHANNELS_RAW_DATA"],["impl<'de> Deserialize<'de> for AdsbFlags"],["impl<'de> Deserialize<'de> for ATTITUDE_TARGET_DATA"],["impl<'de> Deserialize<'de> for ParachuteAction"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE_DATA"],["impl<'de> Deserialize<'de> for MAG_CAL_PROGRESS_DATA"],["impl<'de> Deserialize<'de> for MavOdidArmStatus"],["impl<'de> Deserialize<'de> for MavOdidArmStatus"],["impl<'de> Deserialize<'de> for SYSTEM_TIME_DATA"],["impl<'de> Deserialize<'de> for MavOdidTimeAcc"],["impl<'de> Deserialize<'de> for WIFI_CONFIG_AP_DATA"],["impl<'de> Deserialize<'de> for GimbalManagerCapFlags"],["impl<'de> Deserialize<'de> for VISION_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for MavProtocolCapability"],["impl<'de> Deserialize<'de> for AdsbAltitudeType"],["impl<'de> Deserialize<'de> for RC_CHANNELS_SCALED_DATA"],["impl<'de> Deserialize<'de> for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl<'de> Deserialize<'de> for RC_CHANNELS_RAW_DATA"],["impl<'de> Deserialize<'de> for MavLandedState"],["impl<'de> Deserialize<'de> for MISSION_CURRENT_DATA"],["impl<'de> Deserialize<'de> for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl<'de> Deserialize<'de> for MANUAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for MavModeFlagDecodePosition"],["impl<'de> Deserialize<'de> for PARAM_EXT_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for TrackerMode"],["impl<'de> Deserialize<'de> for HIL_ACTUATOR_CONTROLS_DATA"],["impl<'de> Deserialize<'de> for CELLULAR_STATUS_DATA"],["impl<'de> Deserialize<'de> for GoproCharging"],["impl<'de> Deserialize<'de> for ESC_INFO_DATA"],["impl<'de> Deserialize<'de> for LandingTargetType"],["impl<'de> Deserialize<'de> for TUNNEL_DATA"],["impl<'de> Deserialize<'de> for UtmDataAvailFlags"],["impl<'de> Deserialize<'de> for VideoStreamType"],["impl<'de> Deserialize<'de> for BUTTON_CHANGE_DATA"],["impl<'de> Deserialize<'de> for SET_ATTITUDE_TARGET_DATA"],["impl<'de> Deserialize<'de> for SET_ATTITUDE_TARGET_DATA"],["impl<'de> Deserialize<'de> for CELLULAR_STATUS_DATA"],["impl<'de> Deserialize<'de> for HIL_STATE_DATA"],["impl<'de> Deserialize<'de> for MavModeFlagDecodePosition"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for PROTOCOL_VERSION_DATA"],["impl<'de> Deserialize<'de> for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl<'de> Deserialize<'de> for CAMERA_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MISSION_ITEM_REACHED_DATA"],["impl<'de> Deserialize<'de> for CameraMode"],["impl<'de> Deserialize<'de> for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl<'de> Deserialize<'de> for BUTTON_CHANGE_DATA"],["impl<'de> Deserialize<'de> for GimbalDeviceErrorFlags"],["impl<'de> Deserialize<'de> for COMMAND_ACK_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_DATA"],["impl<'de> Deserialize<'de> for MavParamExtType"],["impl<'de> Deserialize<'de> for MavFtpErr"],["impl<'de> Deserialize<'de> for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl<'de> Deserialize<'de> for GoproFieldOfView"],["impl<'de> Deserialize<'de> for UtmFlightState"],["impl<'de> Deserialize<'de> for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl<'de> Deserialize<'de> for OBSTACLE_DISTANCE_3D_DATA"],["impl<'de> Deserialize<'de> for VISION_SPEED_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for MavMissionResult"],["impl<'de> Deserialize<'de> for MavModeFlag"],["impl<'de> Deserialize<'de> for HIL_SENSOR_DATA"],["impl<'de> Deserialize<'de> for GPS_RTK_DATA"],["impl<'de> Deserialize<'de> for GimbalManagerCapFlags"],["impl<'de> Deserialize<'de> for WifiConfigApMode"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_INT_DATA"],["impl<'de> Deserialize<'de> for MavOdidAuthType"],["impl<'de> Deserialize<'de> for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_DATA"],["impl<'de> Deserialize<'de> for MANUAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for MavOdidHeightRef"],["impl<'de> Deserialize<'de> for CellularStatusFlag"],["impl<'de> Deserialize<'de> for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl<'de> Deserialize<'de> for MavOdidClassEu"],["impl<'de> Deserialize<'de> for HIL_GPS_DATA"],["impl<'de> Deserialize<'de> for MavOdidUaType"],["impl<'de> Deserialize<'de> for MavResult"],["impl<'de> Deserialize<'de> for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl<'de> Deserialize<'de> for HYGROMETER_SENSOR_DATA"],["impl<'de> Deserialize<'de> for NAV_CONTROLLER_OUTPUT_DATA"],["impl<'de> Deserialize<'de> for MavOdidOperatorLocationType"],["impl<'de> Deserialize<'de> for AOA_SSA_DATA"],["impl<'de> Deserialize<'de> for FailureType"],["impl<'de> Deserialize<'de> for MavOdidIdType"],["impl<'de> Deserialize<'de> for SET_MODE_DATA"],["impl<'de> Deserialize<'de> for MavMessage"],["impl<'de> Deserialize<'de> for RtkBaselineCoordinateSystem"],["impl<'de> Deserialize<'de> for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl<'de> Deserialize<'de> for MavOdidCategoryEu"],["impl<'de> Deserialize<'de> for NavVtolLandOptions"],["impl<'de> Deserialize<'de> for AIRSPEED_AUTOCAL_DATA"],["impl<'de> Deserialize<'de> for PLAY_TUNE_V2_DATA"],["impl<'de> Deserialize<'de> for TERRAIN_DATA_DATA"],["impl<'de> Deserialize<'de> for AUTH_KEY_DATA"],["impl<'de> Deserialize<'de> for MavOdidOperatorIdType"],["impl<'de> Deserialize<'de> for MavMessage"],["impl<'de> Deserialize<'de> for CameraMode"],["impl<'de> Deserialize<'de> for SET_MODE_DATA"],["impl<'de> Deserialize<'de> for OPTICAL_FLOW_RAD_DATA"],["impl<'de> Deserialize<'de> for CELLULAR_CONFIG_DATA"],["impl<'de> Deserialize<'de> for HIL_OPTICAL_FLOW_DATA"],["impl<'de> Deserialize<'de> for SAFETY_SET_ALLOWED_AREA_DATA"],["impl<'de> Deserialize<'de> for EscConnectionType"],["impl<'de> Deserialize<'de> for POWER_STATUS_DATA"],["impl<'de> Deserialize<'de> for WINCH_STATUS_DATA"],["impl<'de> Deserialize<'de> for UtmFlightState"],["impl<'de> Deserialize<'de> for REQUEST_DATA_STREAM_DATA"],["impl<'de> Deserialize<'de> for AutotuneAxis"],["impl<'de> Deserialize<'de> for GPS_INPUT_DATA"],["impl<'de> Deserialize<'de> for MISSION_CURRENT_DATA"],["impl<'de> Deserialize<'de> for MavArmAuthDeniedReason"],["impl<'de> Deserialize<'de> for MavModeFlag"],["impl<'de> Deserialize<'de> for VIBRATION_DATA"],["impl<'de> Deserialize<'de> for MESSAGE_INTERVAL_DATA"],["impl<'de> Deserialize<'de> for SIM_STATE_DATA"],["impl<'de> Deserialize<'de> for STATUSTEXT_DATA"],["impl<'de> Deserialize<'de> for MavBatteryFault"],["impl<'de> Deserialize<'de> for PLAY_TUNE_DATA"],["impl<'de> Deserialize<'de> for MagCalStatus"],["impl<'de> Deserialize<'de> for MavOdidUaType"],["impl<'de> Deserialize<'de> for SerialControlFlag"],["impl<'de> Deserialize<'de> for VISION_POSITION_DELTA_DATA"],["impl<'de> Deserialize<'de> for MAG_CAL_REPORT_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_REQUEST_READ_DATA"],["impl<'de> Deserialize<'de> for HighresImuUpdatedFlags"],["impl<'de> Deserialize<'de> for SCALED_IMU3_DATA"],["impl<'de> Deserialize<'de> for MAG_CAL_REPORT_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl<'de> Deserialize<'de> for GoproModel"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SELF_ID_DATA"],["impl<'de> Deserialize<'de> for PARAM_VALUE_DATA"],["impl<'de> Deserialize<'de> for STATUSTEXT_DATA"],["impl<'de> Deserialize<'de> for ActuatorConfiguration"],["impl<'de> Deserialize<'de> for SAFETY_SET_ALLOWED_AREA_DATA"],["impl<'de> Deserialize<'de> for ICAROUS_HEARTBEAT_DATA"],["impl<'de> Deserialize<'de> for MavCollisionAction"],["impl<'de> Deserialize<'de> for StorageType"],["impl<'de> Deserialize<'de> for VideoStreamStatusFlags"],["impl<'de> Deserialize<'de> for MissionState"],["impl<'de> Deserialize<'de> for MavTunnelPayloadType"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SELF_ID_DATA"],["impl<'de> Deserialize<'de> for MavDoRepositionFlags"],["impl<'de> Deserialize<'de> for GENERATOR_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavlinkDataStreamType"],["impl<'de> Deserialize<'de> for HIL_ACTUATOR_CONTROLS_DATA"],["impl<'de> Deserialize<'de> for MavBatteryFault"],["impl<'de> Deserialize<'de> for UavcanNodeHealth"],["impl<'de> Deserialize<'de> for GOPRO_GET_RESPONSE_DATA"],["impl<'de> Deserialize<'de> for MavRoi"],["impl<'de> Deserialize<'de> for UAVCAN_NODE_INFO_DATA"],["impl<'de> Deserialize<'de> for CUBEPILOT_RAW_RC_DATA"],["impl<'de> Deserialize<'de> for CANFD_FRAME_DATA"],["impl<'de> Deserialize<'de> for MISSION_ITEM_DATA"],["impl<'de> Deserialize<'de> for LOG_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for MavFtpErr"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl<'de> Deserialize<'de> for EstimatorStatusFlags"],["impl<'de> Deserialize<'de> for MavOdidOperatorLocationType"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE3_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_COV_DATA"],["impl<'de> Deserialize<'de> for FailureType"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl<'de> Deserialize<'de> for MagCalStatus"],["impl<'de> Deserialize<'de> for MOUNT_STATUS_DATA"],["impl<'de> Deserialize<'de> for RC_CHANNELS_SCALED_DATA"],["impl<'de> Deserialize<'de> for DEVICE_OP_READ_REPLY_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_SET_DATA"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_COV_DATA"],["impl<'de> Deserialize<'de> for ActuatorOutputFunction"],["impl<'de> Deserialize<'de> for MavOdidIdType"],["impl<'de> Deserialize<'de> for ESC_TELEMETRY_5_TO_8_DATA"],["impl<'de> Deserialize<'de> for MavCollisionAction"],["impl<'de> Deserialize<'de> for AisFlags"],["impl<'de> Deserialize<'de> for GimbalAxisCalibrationStatus"],["impl<'de> Deserialize<'de> for MavGoto"],["impl<'de> Deserialize<'de> for SENSOR_OFFSETS_DATA"],["impl<'de> Deserialize<'de> for VISION_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for CAN_FILTER_MODIFY_DATA"],["impl<'de> Deserialize<'de> for CAMERA_IMAGE_CAPTURED_DATA"],["impl<'de> Deserialize<'de> for ESC_TELEMETRY_9_TO_12_DATA"],["impl<'de> Deserialize<'de> for GPS_RAW_INT_DATA"],["impl<'de> Deserialize<'de> for GoproCommand"],["impl<'de> Deserialize<'de> for HIL_OPTICAL_FLOW_DATA"],["impl<'de> Deserialize<'de> for MavModeFlag"],["impl<'de> Deserialize<'de> for EVENT_DATA"],["impl<'de> Deserialize<'de> for CURRENT_EVENT_SEQUENCE_DATA"],["impl<'de> Deserialize<'de> for LOG_DATA_DATA"],["impl<'de> Deserialize<'de> for SerialControlDev"],["impl<'de> Deserialize<'de> for SCALED_IMU_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for GOPRO_HEARTBEAT_DATA"],["impl<'de> Deserialize<'de> for WIND_COV_DATA"],["impl<'de> Deserialize<'de> for POWER_STATUS_DATA"],["impl<'de> Deserialize<'de> for FailureType"],["impl<'de> Deserialize<'de> for GpsFixType"],["impl<'de> Deserialize<'de> for StorageUsageFlag"],["impl<'de> Deserialize<'de> for RC_CHANNELS_OVERRIDE_DATA"],["impl<'de> Deserialize<'de> for AisNavStatus"],["impl<'de> Deserialize<'de> for MISSION_COUNT_DATA"],["impl<'de> Deserialize<'de> for WIND_COV_DATA"],["impl<'de> Deserialize<'de> for LOG_DATA_DATA"],["impl<'de> Deserialize<'de> for GoproFrameRate"],["impl<'de> Deserialize<'de> for SerialControlFlag"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_DATA"],["impl<'de> Deserialize<'de> for FOLLOW_TARGET_DATA"],["impl<'de> Deserialize<'de> for NAMED_VALUE_INT_DATA"],["impl<'de> Deserialize<'de> for GPS_RAW_INT_DATA"],["impl<'de> Deserialize<'de> for ESC_STATUS_DATA"],["impl<'de> Deserialize<'de> for POSITION_TARGET_GLOBAL_INT_DATA"],["impl<'de> Deserialize<'de> for ENCAPSULATED_DATA_DATA"],["impl<'de> Deserialize<'de> for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl<'de> Deserialize<'de> for MavCmdDoAuxFunctionSwitchLevel"],["impl<'de> Deserialize<'de> for GPS2_RTK_DATA"],["impl<'de> Deserialize<'de> for StorageUsageFlag"],["impl<'de> Deserialize<'de> for CameraTrackingTargetData"],["impl<'de> Deserialize<'de> for MANUAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl<'de> Deserialize<'de> for BATTERY_STATUS_DATA"],["impl<'de> Deserialize<'de> for NavVtolLandOptions"],["impl<'de> Deserialize<'de> for WATER_DEPTH_DATA"],["impl<'de> Deserialize<'de> for StorageStatus"],["impl<'de> Deserialize<'de> for COMMAND_LONG_DATA"],["impl<'de> Deserialize<'de> for PARAM_SET_DATA"],["impl<'de> Deserialize<'de> for GpsInputIgnoreFlags"],["impl<'de> Deserialize<'de> for MavOdidStatus"],["impl<'de> Deserialize<'de> for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl<'de> Deserialize<'de> for AUTOPILOT_VERSION_DATA"],["impl<'de> Deserialize<'de> for MavOdidAuthType"],["impl<'de> Deserialize<'de> for MANUAL_SETPOINT_DATA"],["impl<'de> Deserialize<'de> for MavType"],["impl<'de> Deserialize<'de> for UavcanNodeHealth"],["impl<'de> Deserialize<'de> for AdsbEmitterType"],["impl<'de> Deserialize<'de> for MavlinkDataStreamType"],["impl<'de> Deserialize<'de> for MavMissionType"],["impl<'de> Deserialize<'de> for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_STATUS_DATA"],["impl<'de> Deserialize<'de> for PARAM_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for NAMED_VALUE_INT_DATA"],["impl<'de> Deserialize<'de> for MavBatteryFunction"],["impl<'de> Deserialize<'de> for UavionixAdsbOutCfgAircraftSize"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE3_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for MavGoto"],["impl<'de> Deserialize<'de> for GLOBAL_POSITION_INT_DATA"],["impl<'de> Deserialize<'de> for MavRoi"],["impl<'de> Deserialize<'de> for UAVCAN_NODE_INFO_DATA"],["impl<'de> Deserialize<'de> for LOG_DATA_DATA"],["impl<'de> Deserialize<'de> for OSD_PARAM_SHOW_CONFIG_DATA"],["impl<'de> Deserialize<'de> for SAFETY_SET_ALLOWED_AREA_DATA"],["impl<'de> Deserialize<'de> for LOG_REQUEST_DATA_DATA"],["impl<'de> Deserialize<'de> for GimbalAxisCalibrationRequired"],["impl<'de> Deserialize<'de> for TERRAIN_DATA_DATA"],["impl<'de> Deserialize<'de> for DATA16_DATA"],["impl<'de> Deserialize<'de> for AdsbFlags"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_DATA"],["impl<'de> Deserialize<'de> for MavBatteryChargeState"],["impl<'de> Deserialize<'de> for MavFtpErr"],["impl<'de> Deserialize<'de> for MavSysStatusSensor"],["impl<'de> Deserialize<'de> for HIL_STATE_QUATERNION_DATA"],["impl<'de> Deserialize<'de> for MavOdidTimeAcc"],["impl<'de> Deserialize<'de> for CAMERA_FOV_STATUS_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_VALUE_DATA"],["impl<'de> Deserialize<'de> for UTM_GLOBAL_POSITION_DATA"],["impl<'de> Deserialize<'de> for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl<'de> Deserialize<'de> for VISION_SPEED_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for COMMAND_LONG_DATA"],["impl<'de> Deserialize<'de> for WIND_DATA"],["impl<'de> Deserialize<'de> for MavPowerStatus"],["impl<'de> Deserialize<'de> for MOUNT_ORIENTATION_DATA"],["impl<'de> Deserialize<'de> for LOG_ERASE_DATA"],["impl<'de> Deserialize<'de> for CAMERA_TRIGGER_DATA"],["impl<'de> Deserialize<'de> for CONTROL_SYSTEM_STATE_DATA"],["impl<'de> Deserialize<'de> for MavModeFlagDecodePosition"],["impl<'de> Deserialize<'de> for COMPONENT_METADATA_DATA"],["impl<'de> Deserialize<'de> for OrbitYawBehaviour"],["impl<'de> Deserialize<'de> for FenceMitigate"],["impl<'de> Deserialize<'de> for MavOdidVerAcc"],["impl<'de> Deserialize<'de> for DISTANCE_SENSOR_DATA"],["impl<'de> Deserialize<'de> for GimbalManagerFlags"],["impl<'de> Deserialize<'de> for MavRemoteLogDataBlockStatuses"],["impl<'de> Deserialize<'de> for GOPRO_SET_REQUEST_DATA"],["impl<'de> Deserialize<'de> for CANFD_FRAME_DATA"],["impl<'de> Deserialize<'de> for AttitudeTargetTypemask"],["impl<'de> Deserialize<'de> for CameraTrackingStatusFlags"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for CAN_FILTER_MODIFY_DATA"],["impl<'de> Deserialize<'de> for CameraTrackingStatusFlags"],["impl<'de> Deserialize<'de> for CAMERA_IMAGE_CAPTURED_DATA"],["impl<'de> Deserialize<'de> for MavComponent"],["impl<'de> Deserialize<'de> for AdsbFlags"],["impl<'de> Deserialize<'de> for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavEventErrorReason"],["impl<'de> Deserialize<'de> for UtmFlightState"],["impl<'de> Deserialize<'de> for MavSeverity"],["impl<'de> Deserialize<'de> for EFI_STATUS_DATA"],["impl<'de> Deserialize<'de> for LedControlPattern"],["impl<'de> Deserialize<'de> for PositionTargetTypemask"],["impl<'de> Deserialize<'de> for HeadingType"],["impl<'de> Deserialize<'de> for TERRAIN_CHECK_DATA"],["impl<'de> Deserialize<'de> for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl<'de> Deserialize<'de> for RcType"],["impl<'de> Deserialize<'de> for EkfStatusFlags"],["impl<'de> Deserialize<'de> for VIDEO_STREAM_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MavFrame"],["impl<'de> Deserialize<'de> for MavMountMode"],["impl<'de> Deserialize<'de> for OPTICAL_FLOW_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbEmergencyStatus"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE2_DATA"],["impl<'de> Deserialize<'de> for ICAROUS_KINEMATIC_BANDS_DATA"],["impl<'de> Deserialize<'de> for MavMissionType"],["impl<'de> Deserialize<'de> for TIME_ESTIMATE_TO_TARGET_DATA"],["impl<'de> Deserialize<'de> for ISBD_LINK_STATUS_DATA"],["impl<'de> Deserialize<'de> for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for VICON_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for GLOBAL_POSITION_INT_DATA"],["impl<'de> Deserialize<'de> for DEBUG_DATA"],["impl<'de> Deserialize<'de> for HIL_STATE_DATA"],["impl<'de> Deserialize<'de> for LOGGING_DATA_ACKED_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SYSTEM_DATA"],["impl<'de> Deserialize<'de> for SERVO_OUTPUT_RAW_DATA"],["impl<'de> Deserialize<'de> for MISSION_ITEM_INT_DATA"],["impl<'de> Deserialize<'de> for SYSTEM_TIME_DATA"],["impl<'de> Deserialize<'de> for LandingTargetType"],["impl<'de> Deserialize<'de> for SUPPORTED_TUNES_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_ACK_DATA"],["impl<'de> Deserialize<'de> for MavOdidHeightRef"],["impl<'de> Deserialize<'de> for MavParamExtType"],["impl<'de> Deserialize<'de> for HIGH_LATENCY2_DATA"],["impl<'de> Deserialize<'de> for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl<'de> Deserialize<'de> for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl<'de> Deserialize<'de> for MavOdidClassificationType"],["impl<'de> Deserialize<'de> for GPS_INJECT_DATA_DATA"],["impl<'de> Deserialize<'de> for RcType"],["impl<'de> Deserialize<'de> for MavDoRepositionFlags"],["impl<'de> Deserialize<'de> for LINK_NODE_STATUS_DATA"],["impl<'de> Deserialize<'de> for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl<'de> Deserialize<'de> for MavBatteryFault"],["impl<'de> Deserialize<'de> for HIGH_LATENCY_DATA"],["impl<'de> Deserialize<'de> for MotorTestThrottleType"],["impl<'de> Deserialize<'de> for MavCmd"],["impl<'de> Deserialize<'de> for HIL_SENSOR_DATA"],["impl<'de> Deserialize<'de> for EFI_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavDistanceSensor"],["impl<'de> Deserialize<'de> for PARAM_EXT_SET_DATA"],["impl<'de> Deserialize<'de> for EscFailureFlags"],["impl<'de> Deserialize<'de> for MavMessage"],["impl<'de> Deserialize<'de> for ONBOARD_COMPUTER_STATUS_DATA"],["impl<'de> Deserialize<'de> for LOG_ERASE_DATA"],["impl<'de> Deserialize<'de> for DATA96_DATA"],["impl<'de> Deserialize<'de> for MavCmdAck"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbRfHealth"],["impl<'de> Deserialize<'de> for LED_CONTROL_DATA"],["impl<'de> Deserialize<'de> for COMMAND_ACK_DATA"],["impl<'de> Deserialize<'de> for STORAGE_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for CAMERA_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for ODOMETRY_DATA"],["impl<'de> Deserialize<'de> for CAMERA_TRIGGER_DATA"],["impl<'de> Deserialize<'de> for HEARTBEAT_DATA"],["impl<'de> Deserialize<'de> for MISSION_ACK_DATA"],["impl<'de> Deserialize<'de> for GLOBAL_POSITION_INT_COV_DATA"],["impl<'de> Deserialize<'de> for MotorTestOrder"],["impl<'de> Deserialize<'de> for UAVCAN_NODE_STATUS_DATA"],["impl<'de> Deserialize<'de> for FENCE_FETCH_POINT_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for CanFilterOp"],["impl<'de> Deserialize<'de> for HIL_RC_INPUTS_RAW_DATA"],["impl<'de> Deserialize<'de> for VFR_HUD_DATA"],["impl<'de> Deserialize<'de> for MavSensorOrientation"],["impl<'de> Deserialize<'de> for AisNavStatus"],["impl<'de> Deserialize<'de> for MavAutopilot"],["impl<'de> Deserialize<'de> for TERRAIN_REPORT_DATA"],["impl<'de> Deserialize<'de> for HilSensorUpdatedFlags"],["impl<'de> Deserialize<'de> for CellularConfigResponse"],["impl<'de> Deserialize<'de> for MavCmd"],["impl<'de> Deserialize<'de> for MavOdidDescType"],["impl<'de> Deserialize<'de> for ISBD_LINK_STATUS_DATA"],["impl<'de> Deserialize<'de> for GENERATOR_STATUS_DATA"],["impl<'de> Deserialize<'de> for GPS_RAW_INT_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_STATUS_DATA"]], +"mavlink":[["impl<'de> Deserialize<'de> for GPS_STATUS_DATA"],["impl<'de> Deserialize<'de> for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl<'de> Deserialize<'de> for MavVtolState"],["impl<'de> Deserialize<'de> for IcarousFmsState"],["impl<'de> Deserialize<'de> for GpsFixType"],["impl<'de> Deserialize<'de> for MavCollisionThreatLevel"],["impl<'de> Deserialize<'de> for MavParamExtType"],["impl<'de> Deserialize<'de> for OPTICAL_FLOW_RAD_DATA"],["impl<'de> Deserialize<'de> for GLOBAL_POSITION_INT_COV_DATA"],["impl<'de> Deserialize<'de> for MotorTestOrder"],["impl<'de> Deserialize<'de> for SerialControlDev"],["impl<'de> Deserialize<'de> for PARAM_EXT_VALUE_DATA"],["impl<'de> Deserialize<'de> for MISSION_ITEM_INT_DATA"],["impl<'de> Deserialize<'de> for GLOBAL_POSITION_INT_DATA"],["impl<'de> Deserialize<'de> for MISSION_ACK_DATA"],["impl<'de> Deserialize<'de> for PrecisionLandMode"],["impl<'de> Deserialize<'de> for MavCmdAck"],["impl<'de> Deserialize<'de> for PROTOCOL_VERSION_DATA"],["impl<'de> Deserialize<'de> for POWER_STATUS_DATA"],["impl<'de> Deserialize<'de> for SAFETY_ALLOWED_AREA_DATA"],["impl<'de> Deserialize<'de> for SERVO_OUTPUT_RAW_DATA"],["impl<'de> Deserialize<'de> for HEARTBEAT_DATA"],["impl<'de> Deserialize<'de> for MavMode"],["impl<'de> Deserialize<'de> for HEARTBEAT_DATA"],["impl<'de> Deserialize<'de> for TUNNEL_DATA"],["impl<'de> Deserialize<'de> for StorageUsageFlag"],["impl<'de> Deserialize<'de> for ORBIT_EXECUTION_STATUS_DATA"],["impl<'de> Deserialize<'de> for GPS_RTCM_DATA_DATA"],["impl<'de> Deserialize<'de> for HIL_SENSOR_DATA"],["impl<'de> Deserialize<'de> for ACTUATOR_CONTROL_TARGET_DATA"],["impl<'de> Deserialize<'de> for ParachuteAction"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl<'de> Deserialize<'de> for FOLLOW_TARGET_DATA"],["impl<'de> Deserialize<'de> for PARAM_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for HlFailureFlag"],["impl<'de> Deserialize<'de> for MavOdidAuthType"],["impl<'de> Deserialize<'de> for GoproProtuneSharpness"],["impl<'de> Deserialize<'de> for RADIO_STATUS_DATA"],["impl<'de> Deserialize<'de> for WIND_DATA"],["impl<'de> Deserialize<'de> for CameraTrackingMode"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE_DATA"],["impl<'de> Deserialize<'de> for SetFocusType"],["impl<'de> Deserialize<'de> for MavOdidIdType"],["impl<'de> Deserialize<'de> for MavFtpErr"],["impl<'de> Deserialize<'de> for MavAutopilot"],["impl<'de> Deserialize<'de> for GPS2_RTK_DATA"],["impl<'de> Deserialize<'de> for ADSB_VEHICLE_DATA"],["impl<'de> Deserialize<'de> for ESTIMATOR_STATUS_DATA"],["impl<'de> Deserialize<'de> for SENSOR_OFFSETS_DATA"],["impl<'de> Deserialize<'de> for ParachuteAction"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SELF_ID_DATA"],["impl<'de> Deserialize<'de> for RC_CHANNELS_SCALED_DATA"],["impl<'de> Deserialize<'de> for PidTuningAxis"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl<'de> Deserialize<'de> for COMPONENT_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for GimbalDeviceErrorFlags"],["impl<'de> Deserialize<'de> for FOLLOW_TARGET_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl<'de> Deserialize<'de> for GENERATOR_STATUS_DATA"],["impl<'de> Deserialize<'de> for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl<'de> Deserialize<'de> for EscConnectionType"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE2_DATA"],["impl<'de> Deserialize<'de> for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for MISSION_ACK_DATA"],["impl<'de> Deserialize<'de> for PARAM_REQUEST_READ_DATA"],["impl<'de> Deserialize<'de> for SET_ATTITUDE_TARGET_DATA"],["impl<'de> Deserialize<'de> for SCALED_IMU2_DATA"],["impl<'de> Deserialize<'de> for CellularConfigResponse"],["impl<'de> Deserialize<'de> for AHRS2_DATA"],["impl<'de> Deserialize<'de> for AisType"],["impl<'de> Deserialize<'de> for GoproRequestStatus"],["impl<'de> Deserialize<'de> for LOG_ERASE_DATA"],["impl<'de> Deserialize<'de> for MavTunnelPayloadType"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE3_DATA"],["impl<'de> Deserialize<'de> for EVENT_DATA"],["impl<'de> Deserialize<'de> for SYSTEM_TIME_DATA"],["impl<'de> Deserialize<'de> for UAVCAN_NODE_STATUS_DATA"],["impl<'de> Deserialize<'de> for GripperActions"],["impl<'de> Deserialize<'de> for MavOdidClassEu"],["impl<'de> Deserialize<'de> for MavOdidOperatorLocationType"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MavDataStream"],["impl<'de> Deserialize<'de> for RAW_IMU_DATA"],["impl<'de> Deserialize<'de> for DEBUG_VECT_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbEmergencyStatus"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SELF_ID_DATA"],["impl<'de> Deserialize<'de> for HlFailureFlag"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MavMountMode"],["impl<'de> Deserialize<'de> for DEBUG_DATA"],["impl<'de> Deserialize<'de> for SetFocusType"],["impl<'de> Deserialize<'de> for MavSysStatusSensor"],["impl<'de> Deserialize<'de> for NAV_CONTROLLER_OUTPUT_DATA"],["impl<'de> Deserialize<'de> for MANUAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for DATA_STREAM_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_DATA"],["impl<'de> Deserialize<'de> for ParamAck"],["impl<'de> Deserialize<'de> for RC_CHANNELS_SCALED_DATA"],["impl<'de> Deserialize<'de> for GimbalAxisCalibrationStatus"],["impl<'de> Deserialize<'de> for HIL_ACTUATOR_CONTROLS_DATA"],["impl<'de> Deserialize<'de> for ATT_POS_MOCAP_DATA"],["impl<'de> Deserialize<'de> for CURRENT_EVENT_SEQUENCE_DATA"],["impl<'de> Deserialize<'de> for MOUNT_CONFIGURE_DATA"],["impl<'de> Deserialize<'de> for RC_CHANNELS_DATA"],["impl<'de> Deserialize<'de> for SET_ATTITUDE_TARGET_DATA"],["impl<'de> Deserialize<'de> for MavDoRepositionFlags"],["impl<'de> Deserialize<'de> for ORBIT_EXECUTION_STATUS_DATA"],["impl<'de> Deserialize<'de> for WifiConfigApMode"],["impl<'de> Deserialize<'de> for COMMAND_INT_DATA"],["impl<'de> Deserialize<'de> for AttitudeTargetTypemask"],["impl<'de> Deserialize<'de> for POSITION_TARGET_GLOBAL_INT_DATA"],["impl<'de> Deserialize<'de> for MavMissionType"],["impl<'de> Deserialize<'de> for MavOdidUaType"],["impl<'de> Deserialize<'de> for EstimatorStatusFlags"],["impl<'de> Deserialize<'de> for CameraTrackingMode"],["impl<'de> Deserialize<'de> for MotorTestOrder"],["impl<'de> Deserialize<'de> for CAN_FRAME_DATA"],["impl<'de> Deserialize<'de> for MANUAL_SETPOINT_DATA"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_COV_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl<'de> Deserialize<'de> for MavState"],["impl<'de> Deserialize<'de> for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl<'de> Deserialize<'de> for VFR_HUD_DATA"],["impl<'de> Deserialize<'de> for SCALED_IMU2_DATA"],["impl<'de> Deserialize<'de> for OBSTACLE_DISTANCE_DATA"],["impl<'de> Deserialize<'de> for LIMITS_STATUS_DATA"],["impl<'de> Deserialize<'de> for PARAM_MAP_RC_DATA"],["impl<'de> Deserialize<'de> for UavcanNodeMode"],["impl<'de> Deserialize<'de> for PARAM_EXT_REQUEST_READ_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_TARGET_DATA"],["impl<'de> Deserialize<'de> for NAMED_VALUE_FLOAT_DATA"],["impl<'de> Deserialize<'de> for HYGROMETER_SENSOR_DATA"],["impl<'de> Deserialize<'de> for MavlinkDataStreamType"],["impl<'de> Deserialize<'de> for MavBatteryMode"],["impl<'de> Deserialize<'de> for ESC_TELEMETRY_1_TO_4_DATA"],["impl<'de> Deserialize<'de> for HIGHRES_IMU_DATA"],["impl<'de> Deserialize<'de> for COMMAND_CANCEL_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for AUTOPILOT_VERSION_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavCollisionThreatLevel"],["impl<'de> Deserialize<'de> for MavOdidHorAcc"],["impl<'de> Deserialize<'de> for SETUP_SIGNING_DATA"],["impl<'de> Deserialize<'de> for MavOdidStatus"],["impl<'de> Deserialize<'de> for MISSION_ITEM_DATA"],["impl<'de> Deserialize<'de> for CameraMode"],["impl<'de> Deserialize<'de> for MavOdidStatus"],["impl<'de> Deserialize<'de> for TERRAIN_CHECK_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for WATER_DEPTH_DATA"],["impl<'de> Deserialize<'de> for CameraTrackingStatusFlags"],["impl<'de> Deserialize<'de> for SET_MODE_DATA"],["impl<'de> Deserialize<'de> for CameraZoomType"],["impl<'de> Deserialize<'de> for PARAM_VALUE_DATA"],["impl<'de> Deserialize<'de> for HERELINK_TELEM_DATA"],["impl<'de> Deserialize<'de> for TIMESYNC_DATA"],["impl<'de> Deserialize<'de> for EstimatorStatusFlags"],["impl<'de> Deserialize<'de> for SerialControlFlag"],["impl<'de> Deserialize<'de> for PrecisionLandMode"],["impl<'de> Deserialize<'de> for HWSTATUS_DATA"],["impl<'de> Deserialize<'de> for ICAROUS_HEARTBEAT_DATA"],["impl<'de> Deserialize<'de> for GPS_RTK_DATA"],["impl<'de> Deserialize<'de> for ODOMETRY_DATA"],["impl<'de> Deserialize<'de> for DeepstallStage"],["impl<'de> Deserialize<'de> for HIGH_LATENCY2_DATA"],["impl<'de> Deserialize<'de> for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl<'de> Deserialize<'de> for DEBUG_FLOAT_ARRAY_DATA"],["impl<'de> Deserialize<'de> for LOG_DATA_DATA"],["impl<'de> Deserialize<'de> for DATA_STREAM_DATA"],["impl<'de> Deserialize<'de> for MavCollisionAction"],["impl<'de> Deserialize<'de> for ACTUATOR_OUTPUT_STATUS_DATA"],["impl<'de> Deserialize<'de> for HlFailureFlag"],["impl<'de> Deserialize<'de> for HIGH_LATENCY_DATA"],["impl<'de> Deserialize<'de> for MOUNT_ORIENTATION_DATA"],["impl<'de> Deserialize<'de> for EscConnectionType"],["impl<'de> Deserialize<'de> for RAW_IMU_DATA"],["impl<'de> Deserialize<'de> for MavOdidHeightRef"],["impl<'de> Deserialize<'de> for MavRoi"],["impl<'de> Deserialize<'de> for PLAY_TUNE_V2_DATA"],["impl<'de> Deserialize<'de> for HIL_STATE_DATA"],["impl<'de> Deserialize<'de> for RtkBaselineCoordinateSystem"],["impl<'de> Deserialize<'de> for AisFlags"],["impl<'de> Deserialize<'de> for SerialControlDev"],["impl<'de> Deserialize<'de> for GOPRO_SET_RESPONSE_DATA"],["impl<'de> Deserialize<'de> for EKF_STATUS_REPORT_DATA"],["impl<'de> Deserialize<'de> for MavParamType"],["impl<'de> Deserialize<'de> for ActuatorConfiguration"],["impl<'de> Deserialize<'de> for VtolTransitionHeading"],["impl<'de> Deserialize<'de> for GPS_GLOBAL_ORIGIN_DATA"],["impl<'de> Deserialize<'de> for AutotuneAxis"],["impl<'de> Deserialize<'de> for MISSION_SET_CURRENT_DATA"],["impl<'de> Deserialize<'de> for CanFilterOp"],["impl<'de> Deserialize<'de> for MavFtpErr"],["impl<'de> Deserialize<'de> for CONTROL_SYSTEM_STATE_DATA"],["impl<'de> Deserialize<'de> for LOGGING_DATA_ACKED_DATA"],["impl<'de> Deserialize<'de> for MavWinchStatusFlag"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for MavCmd"],["impl<'de> Deserialize<'de> for RADIO_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavResult"],["impl<'de> Deserialize<'de> for RALLY_FETCH_POINT_DATA"],["impl<'de> Deserialize<'de> for SET_MODE_DATA"],["impl<'de> Deserialize<'de> for DATA32_DATA"],["impl<'de> Deserialize<'de> for MavType"],["impl<'de> Deserialize<'de> for FENCE_STATUS_DATA"],["impl<'de> Deserialize<'de> for EkfStatusFlags"],["impl<'de> Deserialize<'de> for GoproResolution"],["impl<'de> Deserialize<'de> for GimbalAxisCalibrationRequired"],["impl<'de> Deserialize<'de> for CAMERA_IMAGE_CAPTURED_DATA"],["impl<'de> Deserialize<'de> for MavParamExtType"],["impl<'de> Deserialize<'de> for V2_EXTENSION_DATA"],["impl<'de> Deserialize<'de> for COMMAND_CANCEL_DATA"],["impl<'de> Deserialize<'de> for SAFETY_SET_ALLOWED_AREA_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl<'de> Deserialize<'de> for HYGROMETER_SENSOR_DATA"],["impl<'de> Deserialize<'de> for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl<'de> Deserialize<'de> for CellularNetworkRadioType"],["impl<'de> Deserialize<'de> for UavionixAdsbEmergencyStatus"],["impl<'de> Deserialize<'de> for MavParamType"],["impl<'de> Deserialize<'de> for MavFtpErr"],["impl<'de> Deserialize<'de> for CompMetadataType"],["impl<'de> Deserialize<'de> for VIDEO_STREAM_STATUS_DATA"],["impl<'de> Deserialize<'de> for MANUAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for RAW_RPM_DATA"],["impl<'de> Deserialize<'de> for DATA16_DATA"],["impl<'de> Deserialize<'de> for TERRAIN_DATA_DATA"],["impl<'de> Deserialize<'de> for MavResult"],["impl<'de> Deserialize<'de> for GpsInputIgnoreFlags"],["impl<'de> Deserialize<'de> for GLOBAL_POSITION_INT_DATA"],["impl<'de> Deserialize<'de> for HOME_POSITION_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_COV_DATA"],["impl<'de> Deserialize<'de> for SYSTEM_TIME_DATA"],["impl<'de> Deserialize<'de> for MavDoRepositionFlags"],["impl<'de> Deserialize<'de> for MavOdidAuthType"],["impl<'de> Deserialize<'de> for SUPPORTED_TUNES_DATA"],["impl<'de> Deserialize<'de> for MavCmdAck"],["impl<'de> Deserialize<'de> for COMMAND_ACK_DATA"],["impl<'de> Deserialize<'de> for MISSION_COUNT_DATA"],["impl<'de> Deserialize<'de> for MOUNT_STATUS_DATA"],["impl<'de> Deserialize<'de> for StorageStatus"],["impl<'de> Deserialize<'de> for AUTH_KEY_DATA"],["impl<'de> Deserialize<'de> for NavVtolLandOptions"],["impl<'de> Deserialize<'de> for MAG_CAL_REPORT_DATA"],["impl<'de> Deserialize<'de> for AttitudeTargetTypemask"],["impl<'de> Deserialize<'de> for FenceBreach"],["impl<'de> Deserialize<'de> for MavOdidVerAcc"],["impl<'de> Deserialize<'de> for PARAM_EXT_VALUE_DATA"],["impl<'de> Deserialize<'de> for VFR_HUD_DATA"],["impl<'de> Deserialize<'de> for COMPONENT_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MavArmAuthDeniedReason"],["impl<'de> Deserialize<'de> for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl<'de> Deserialize<'de> for AUTOPILOT_VERSION_DATA"],["impl<'de> Deserialize<'de> for HIL_STATE_DATA"],["impl<'de> Deserialize<'de> for GPS_RAW_INT_DATA"],["impl<'de> Deserialize<'de> for POWER_STATUS_DATA"],["impl<'de> Deserialize<'de> for CAMERA_IMAGE_CAPTURED_DATA"],["impl<'de> Deserialize<'de> for SYS_STATUS_DATA"],["impl<'de> Deserialize<'de> for CAMERA_SETTINGS_DATA"],["impl<'de> Deserialize<'de> for DIGICAM_CONFIGURE_DATA"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_DATA"],["impl<'de> Deserialize<'de> for EFI_STATUS_DATA"],["impl<'de> Deserialize<'de> for PLAY_TUNE_DATA"],["impl<'de> Deserialize<'de> for OPTICAL_FLOW_DATA"],["impl<'de> Deserialize<'de> for CHANGE_OPERATOR_CONTROL_DATA"],["impl<'de> Deserialize<'de> for CellularNetworkRadioType"],["impl<'de> Deserialize<'de> for AttitudeTargetTypemask"],["impl<'de> Deserialize<'de> for UavionixAdsbOutDynamicGpsFix"],["impl<'de> Deserialize<'de> for UtmDataAvailFlags"],["impl<'de> Deserialize<'de> for PARAM_EXT_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl<'de> Deserialize<'de> for CellularStatusFlag"],["impl<'de> Deserialize<'de> for MavOdidClassificationType"],["impl<'de> Deserialize<'de> for HIL_SENSOR_DATA"],["impl<'de> Deserialize<'de> for VICON_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for GimbalDeviceCapFlags"],["impl<'de> Deserialize<'de> for MavModeFlagDecodePosition"],["impl<'de> Deserialize<'de> for CHANGE_OPERATOR_CONTROL_DATA"],["impl<'de> Deserialize<'de> for SerialControlFlag"],["impl<'de> Deserialize<'de> for MotorTestThrottleType"],["impl<'de> Deserialize<'de> for GimbalDeviceErrorFlags"],["impl<'de> Deserialize<'de> for RESPONSE_EVENT_ERROR_DATA"],["impl<'de> Deserialize<'de> for VISION_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for DEVICE_OP_READ_DATA"],["impl<'de> Deserialize<'de> for VtolTransitionHeading"],["impl<'de> Deserialize<'de> for MavOdidDescType"],["impl<'de> Deserialize<'de> for MavBatteryChargeState"],["impl<'de> Deserialize<'de> for DEBUG_VECT_DATA"],["impl<'de> Deserialize<'de> for GimbalManagerCapFlags"],["impl<'de> Deserialize<'de> for ESC_TELEMETRY_5_TO_8_DATA"],["impl<'de> Deserialize<'de> for CameraTrackingStatusFlags"],["impl<'de> Deserialize<'de> for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl<'de> Deserialize<'de> for LOG_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for HIL_RC_INPUTS_RAW_DATA"],["impl<'de> Deserialize<'de> for RcType"],["impl<'de> Deserialize<'de> for RANGEFINDER_DATA"],["impl<'de> Deserialize<'de> for COMMAND_LONG_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_REQUEST_READ_DATA"],["impl<'de> Deserialize<'de> for SAFETY_SET_ALLOWED_AREA_DATA"],["impl<'de> Deserialize<'de> for CURRENT_EVENT_SEQUENCE_DATA"],["impl<'de> Deserialize<'de> for OPTICAL_FLOW_RAD_DATA"],["impl<'de> Deserialize<'de> for MavOdidClassificationType"],["impl<'de> Deserialize<'de> for COLLISION_DATA"],["impl<'de> Deserialize<'de> for REQUEST_EVENT_DATA"],["impl<'de> Deserialize<'de> for SCALED_IMU_DATA"],["impl<'de> Deserialize<'de> for ENCAPSULATED_DATA_DATA"],["impl<'de> Deserialize<'de> for CameraTrackingStatusFlags"],["impl<'de> Deserialize<'de> for NAMED_VALUE_INT_DATA"],["impl<'de> Deserialize<'de> for EVENT_DATA"],["impl<'de> Deserialize<'de> for HOME_POSITION_DATA"],["impl<'de> Deserialize<'de> for StorageType"],["impl<'de> Deserialize<'de> for ONBOARD_COMPUTER_STATUS_DATA"],["impl<'de> Deserialize<'de> for ESC_STATUS_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for TUNNEL_DATA"],["impl<'de> Deserialize<'de> for AUTOPILOT_VERSION_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_SET_DATA"],["impl<'de> Deserialize<'de> for COMPONENT_METADATA_DATA"],["impl<'de> Deserialize<'de> for MISSION_COUNT_DATA"],["impl<'de> Deserialize<'de> for CAMERA_IMAGE_CAPTURED_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SYSTEM_DATA"],["impl<'de> Deserialize<'de> for VISION_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for MavPowerStatus"],["impl<'de> Deserialize<'de> for PARAM_EXT_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_COV_DATA"],["impl<'de> Deserialize<'de> for POSITION_TARGET_LOCAL_NED_DATA"],["impl<'de> Deserialize<'de> for TuneFormat"],["impl<'de> Deserialize<'de> for CAMERA_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MavlinkDataStreamType"],["impl<'de> Deserialize<'de> for CAMERA_STATUS_DATA"],["impl<'de> Deserialize<'de> for GimbalManagerFlags"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl<'de> Deserialize<'de> for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl<'de> Deserialize<'de> for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for MISSION_CURRENT_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_REQUEST_READ_DATA"],["impl<'de> Deserialize<'de> for WifiConfigApResponse"],["impl<'de> Deserialize<'de> for RC_CHANNELS_OVERRIDE_DATA"],["impl<'de> Deserialize<'de> for ActuatorOutputFunction"],["impl<'de> Deserialize<'de> for CELLULAR_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavWinchStatusFlag"],["impl<'de> Deserialize<'de> for AUTH_KEY_DATA"],["impl<'de> Deserialize<'de> for HIL_STATE_QUATERNION_DATA"],["impl<'de> Deserialize<'de> for LOGGING_ACK_DATA"],["impl<'de> Deserialize<'de> for MavGoto"],["impl<'de> Deserialize<'de> for CONTROL_SYSTEM_STATE_DATA"],["impl<'de> Deserialize<'de> for FENCE_POINT_DATA"],["impl<'de> Deserialize<'de> for MavBatteryFault"],["impl<'de> Deserialize<'de> for PreflightStorageMissionAction"],["impl<'de> Deserialize<'de> for COMMAND_INT_DATA"],["impl<'de> Deserialize<'de> for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl<'de> Deserialize<'de> for CameraTrackingMode"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_STATUS_DATA"],["impl<'de> Deserialize<'de> for POSITION_TARGET_GLOBAL_INT_DATA"],["impl<'de> Deserialize<'de> for CAMERA_CAPTURE_STATUS_DATA"],["impl<'de> Deserialize<'de> for WIFI_CONFIG_AP_DATA"],["impl<'de> Deserialize<'de> for AP_ADC_DATA"],["impl<'de> Deserialize<'de> for GOPRO_HEARTBEAT_DATA"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_COV_DATA"],["impl<'de> Deserialize<'de> for VtolTransitionHeading"],["impl<'de> Deserialize<'de> for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl<'de> Deserialize<'de> for MavOdidArmStatus"],["impl<'de> Deserialize<'de> for AdsbEmitterType"],["impl<'de> Deserialize<'de> for SIMSTATE_DATA"],["impl<'de> Deserialize<'de> for AdsbFlags"],["impl<'de> Deserialize<'de> for ScriptingCmd"],["impl<'de> Deserialize<'de> for FILE_TRANSFER_PROTOCOL_DATA"],["impl<'de> Deserialize<'de> for MavState"],["impl<'de> Deserialize<'de> for GPS_INJECT_DATA_DATA"],["impl<'de> Deserialize<'de> for GripperActions"],["impl<'de> Deserialize<'de> for MCU_STATUS_DATA"],["impl<'de> Deserialize<'de> for POSITION_TARGET_LOCAL_NED_DATA"],["impl<'de> Deserialize<'de> for OsdParamConfigError"],["impl<'de> Deserialize<'de> for PARAM_EXT_ACK_DATA"],["impl<'de> Deserialize<'de> for MavBatteryFault"],["impl<'de> Deserialize<'de> for GPS_RAW_INT_DATA"],["impl<'de> Deserialize<'de> for CELLULAR_CONFIG_DATA"],["impl<'de> Deserialize<'de> for UtmFlightState"],["impl<'de> Deserialize<'de> for LOGGING_ACK_DATA"],["impl<'de> Deserialize<'de> for GPS_INPUT_DATA"],["impl<'de> Deserialize<'de> for LandingTargetType"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for MavDistanceSensor"],["impl<'de> Deserialize<'de> for ICAROUS_KINEMATIC_BANDS_DATA"],["impl<'de> Deserialize<'de> for CellularNetworkFailedReason"],["impl<'de> Deserialize<'de> for MISSION_ITEM_REACHED_DATA"],["impl<'de> Deserialize<'de> for CAMERA_FOV_STATUS_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutRfSelect"],["impl<'de> Deserialize<'de> for MavSensorOrientation"],["impl<'de> Deserialize<'de> for PreflightStorageParameterAction"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl<'de> Deserialize<'de> for ACTUATOR_CONTROL_TARGET_DATA"],["impl<'de> Deserialize<'de> for PARAM_VALUE_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl<'de> Deserialize<'de> for CameraFeedbackFlags"],["impl<'de> Deserialize<'de> for BATTERY_STATUS_DATA"],["impl<'de> Deserialize<'de> for OrbitYawBehaviour"],["impl<'de> Deserialize<'de> for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl<'de> Deserialize<'de> for LOG_REQUEST_DATA_DATA"],["impl<'de> Deserialize<'de> for GPS_RAW_INT_DATA"],["impl<'de> Deserialize<'de> for GPS2_RAW_DATA"],["impl<'de> Deserialize<'de> for VISION_SPEED_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for SAFETY_ALLOWED_AREA_DATA"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for GPS2_RAW_DATA"],["impl<'de> Deserialize<'de> for NavVtolLandOptions"],["impl<'de> Deserialize<'de> for CAMERA_SETTINGS_DATA"],["impl<'de> Deserialize<'de> for MavMountMode"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl<'de> Deserialize<'de> for StorageType"],["impl<'de> Deserialize<'de> for HIL_CONTROLS_DATA"],["impl<'de> Deserialize<'de> for LOG_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for MANUAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for MavMissionType"],["impl<'de> Deserialize<'de> for HIL_STATE_QUATERNION_DATA"],["impl<'de> Deserialize<'de> for CAMERA_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MavParamType"],["impl<'de> Deserialize<'de> for PARAM_REQUEST_READ_DATA"],["impl<'de> Deserialize<'de> for CANFD_FRAME_DATA"],["impl<'de> Deserialize<'de> for RoverMode"],["impl<'de> Deserialize<'de> for RtkBaselineCoordinateSystem"],["impl<'de> Deserialize<'de> for WifiConfigApMode"],["impl<'de> Deserialize<'de> for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl<'de> Deserialize<'de> for MavFtpOpcode"],["impl<'de> Deserialize<'de> for AIS_VESSEL_DATA"],["impl<'de> Deserialize<'de> for AisFlags"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_DATA"],["impl<'de> Deserialize<'de> for VIBRATION_DATA"],["impl<'de> Deserialize<'de> for MavHeader"],["impl<'de> Deserialize<'de> for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl<'de> Deserialize<'de> for REQUEST_DATA_STREAM_DATA"],["impl<'de> Deserialize<'de> for SUPPORTED_TUNES_DATA"],["impl<'de> Deserialize<'de> for VideoStreamType"],["impl<'de> Deserialize<'de> for GimbalDeviceFlags"],["impl<'de> Deserialize<'de> for RC_CHANNELS_OVERRIDE_DATA"],["impl<'de> Deserialize<'de> for WIND_COV_DATA"],["impl<'de> Deserialize<'de> for MavEventErrorReason"],["impl<'de> Deserialize<'de> for PID_TUNING_DATA"],["impl<'de> Deserialize<'de> for PreflightStorageParameterAction"],["impl<'de> Deserialize<'de> for MavMode"],["impl<'de> Deserialize<'de> for LINK_NODE_STATUS_DATA"],["impl<'de> Deserialize<'de> for LANDING_TARGET_DATA"],["impl<'de> Deserialize<'de> for MISSION_ITEM_DATA"],["impl<'de> Deserialize<'de> for MavModeGimbal"],["impl<'de> Deserialize<'de> for StorageStatus"],["impl<'de> Deserialize<'de> for LOG_REQUEST_DATA_DATA"],["impl<'de> Deserialize<'de> for SYSTEM_TIME_DATA"],["impl<'de> Deserialize<'de> for PrecisionLandMode"],["impl<'de> Deserialize<'de> for GoproProtuneWhiteBalance"],["impl<'de> Deserialize<'de> for MavArmAuthDeniedReason"],["impl<'de> Deserialize<'de> for MavOdidSpeedAcc"],["impl<'de> Deserialize<'de> for MavOdidSpeedAcc"],["impl<'de> Deserialize<'de> for UAVCAN_NODE_STATUS_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for WinchActions"],["impl<'de> Deserialize<'de> for SYS_STATUS_DATA"],["impl<'de> Deserialize<'de> for EstimatorStatusFlags"],["impl<'de> Deserialize<'de> for LED_CONTROL_DATA"],["impl<'de> Deserialize<'de> for MISSION_COUNT_DATA"],["impl<'de> Deserialize<'de> for EVENT_DATA"],["impl<'de> Deserialize<'de> for MavBatteryType"],["impl<'de> Deserialize<'de> for OrbitYawBehaviour"],["impl<'de> Deserialize<'de> for ISBD_LINK_STATUS_DATA"],["impl<'de> Deserialize<'de> for PARAM_VALUE_DATA"],["impl<'de> Deserialize<'de> for MavGoto"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SYSTEM_DATA"],["impl<'de> Deserialize<'de> for AisNavStatus"],["impl<'de> Deserialize<'de> for MavMissionType"],["impl<'de> Deserialize<'de> for PARAM_EXT_ACK_DATA"],["impl<'de> Deserialize<'de> for MavOdidHorAcc"],["impl<'de> Deserialize<'de> for AutotuneAxis"],["impl<'de> Deserialize<'de> for STATUSTEXT_DATA"],["impl<'de> Deserialize<'de> for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl<'de> Deserialize<'de> for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl<'de> Deserialize<'de> for BATTERY2_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_COV_DATA"],["impl<'de> Deserialize<'de> for MotorTestThrottleType"],["impl<'de> Deserialize<'de> for MavVtolState"],["impl<'de> Deserialize<'de> for StorageType"],["impl<'de> Deserialize<'de> for SETUP_SIGNING_DATA"],["impl<'de> Deserialize<'de> for MavCmd"],["impl<'de> Deserialize<'de> for AdsbEmitterType"],["impl<'de> Deserialize<'de> for VIDEO_STREAM_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for COMPONENT_METADATA_DATA"],["impl<'de> Deserialize<'de> for TERRAIN_CHECK_DATA"],["impl<'de> Deserialize<'de> for RPM_DATA"],["impl<'de> Deserialize<'de> for SERVO_OUTPUT_RAW_DATA"],["impl<'de> Deserialize<'de> for AUTH_KEY_DATA"],["impl<'de> Deserialize<'de> for RAW_PRESSURE_DATA"],["impl<'de> Deserialize<'de> for MISSION_SET_CURRENT_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_LOCATION_DATA"],["impl<'de> Deserialize<'de> for LOG_ENTRY_DATA"],["impl<'de> Deserialize<'de> for ADSB_VEHICLE_DATA"],["impl<'de> Deserialize<'de> for V2_EXTENSION_DATA"],["impl<'de> Deserialize<'de> for MavSysStatusSensor"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutRfSelect"],["impl<'de> Deserialize<'de> for TUNNEL_DATA"],["impl<'de> Deserialize<'de> for LOG_DATA_DATA"],["impl<'de> Deserialize<'de> for CELLULAR_CONFIG_DATA"],["impl<'de> Deserialize<'de> for MISSION_ITEM_REACHED_DATA"],["impl<'de> Deserialize<'de> for MavEstimatorType"],["impl<'de> Deserialize<'de> for GLOBAL_POSITION_INT_DATA"],["impl<'de> Deserialize<'de> for SET_MAG_OFFSETS_DATA"],["impl<'de> Deserialize<'de> for SMART_BATTERY_INFO_DATA"],["impl<'de> Deserialize<'de> for MEMINFO_DATA"],["impl<'de> Deserialize<'de> for LimitsState"],["impl<'de> Deserialize<'de> for VIDEO_STREAM_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_COV_DATA"],["impl<'de> Deserialize<'de> for PING_DATA"],["impl<'de> Deserialize<'de> for ActuatorOutputFunction"],["impl<'de> Deserialize<'de> for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl<'de> Deserialize<'de> for SCALED_IMU3_DATA"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_DATA"],["impl<'de> Deserialize<'de> for CAMERA_TRIGGER_DATA"],["impl<'de> Deserialize<'de> for TIMESYNC_DATA"],["impl<'de> Deserialize<'de> for HIL_GPS_DATA"],["impl<'de> Deserialize<'de> for TERRAIN_DATA_DATA"],["impl<'de> Deserialize<'de> for FENCE_STATUS_DATA"],["impl<'de> Deserialize<'de> for HIL_OPTICAL_FLOW_DATA"],["impl<'de> Deserialize<'de> for CELLULAR_STATUS_DATA"],["impl<'de> Deserialize<'de> for HighresImuUpdatedFlags"],["impl<'de> Deserialize<'de> for MavBatteryMode"],["impl<'de> Deserialize<'de> for ADAP_TUNING_DATA"],["impl<'de> Deserialize<'de> for CHANGE_OPERATOR_CONTROL_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl<'de> Deserialize<'de> for UavcanNodeHealth"],["impl<'de> Deserialize<'de> for FenceAction"],["impl<'de> Deserialize<'de> for TuneFormat"],["impl<'de> Deserialize<'de> for UtmDataAvailFlags"],["impl<'de> Deserialize<'de> for HYGROMETER_SENSOR_DATA"],["impl<'de> Deserialize<'de> for PARAM_MAP_RC_DATA"],["impl<'de> Deserialize<'de> for STORAGE_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for GPS2_RTK_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl<'de> Deserialize<'de> for MavOdidUaType"],["impl<'de> Deserialize<'de> for EXTENDED_SYS_STATE_DATA"],["impl<'de> Deserialize<'de> for FENCE_FETCH_POINT_DATA"],["impl<'de> Deserialize<'de> for HIL_RC_INPUTS_RAW_DATA"],["impl<'de> Deserialize<'de> for WINCH_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavOdidIdType"],["impl<'de> Deserialize<'de> for FailureType"],["impl<'de> Deserialize<'de> for AccelcalVehiclePos"],["impl<'de> Deserialize<'de> for UavionixAdsbOutCfgGpsOffsetLon"],["impl<'de> Deserialize<'de> for MavCollisionSrc"],["impl<'de> Deserialize<'de> for UtmDataAvailFlags"],["impl<'de> Deserialize<'de> for RESOURCE_REQUEST_DATA"],["impl<'de> Deserialize<'de> for ParamAck"],["impl<'de> Deserialize<'de> for FLIGHT_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MavSeverity"],["impl<'de> Deserialize<'de> for EXTENDED_SYS_STATE_DATA"],["impl<'de> Deserialize<'de> for FOLLOW_TARGET_DATA"],["impl<'de> Deserialize<'de> for MavLandedState"],["impl<'de> Deserialize<'de> for FenceBreach"],["impl<'de> Deserialize<'de> for SMART_BATTERY_INFO_DATA"],["impl<'de> Deserialize<'de> for UAVCAN_NODE_INFO_DATA"],["impl<'de> Deserialize<'de> for FailureUnit"],["impl<'de> Deserialize<'de> for RESPONSE_EVENT_ERROR_DATA"],["impl<'de> Deserialize<'de> for NAV_CONTROLLER_OUTPUT_DATA"],["impl<'de> Deserialize<'de> for GPS_STATUS_DATA"],["impl<'de> Deserialize<'de> for GPS_STATUS_DATA"],["impl<'de> Deserialize<'de> for GLOBAL_POSITION_INT_COV_DATA"],["impl<'de> Deserialize<'de> for NAMED_VALUE_INT_DATA"],["impl<'de> Deserialize<'de> for MavProtocolCapability"],["impl<'de> Deserialize<'de> for MANUAL_SETPOINT_DATA"],["impl<'de> Deserialize<'de> for MavOdidDescType"],["impl<'de> Deserialize<'de> for IcarousTrackBandTypes"],["impl<'de> Deserialize<'de> for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for MISSION_CURRENT_DATA"],["impl<'de> Deserialize<'de> for HIL_ACTUATOR_CONTROLS_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl<'de> Deserialize<'de> for MavRemoteLogDataBlockCommands"],["impl<'de> Deserialize<'de> for AisType"],["impl<'de> Deserialize<'de> for MavPowerStatus"],["impl<'de> Deserialize<'de> for POWER_STATUS_DATA"],["impl<'de> Deserialize<'de> for PLAY_TUNE_DATA"],["impl<'de> Deserialize<'de> for MavOdidClassificationType"],["impl<'de> Deserialize<'de> for GoproVideoSettingsFlags"],["impl<'de> Deserialize<'de> for MavSensorOrientation"],["impl<'de> Deserialize<'de> for RcType"],["impl<'de> Deserialize<'de> for VIDEO_STREAM_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for SerialControlFlag"],["impl<'de> Deserialize<'de> for MavSeverity"],["impl<'de> Deserialize<'de> for TERRAIN_REQUEST_DATA"],["impl<'de> Deserialize<'de> for DISTANCE_SENSOR_DATA"],["impl<'de> Deserialize<'de> for MavComponent"],["impl<'de> Deserialize<'de> for VISION_SPEED_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl<'de> Deserialize<'de> for MavModeFlagDecodePosition"],["impl<'de> Deserialize<'de> for MANUAL_SETPOINT_DATA"],["impl<'de> Deserialize<'de> for STORAGE_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for DEVICE_OP_WRITE_REPLY_DATA"],["impl<'de> Deserialize<'de> for ACTUATOR_OUTPUT_STATUS_DATA"],["impl<'de> Deserialize<'de> for ENCAPSULATED_DATA_DATA"],["impl<'de> Deserialize<'de> for MissionState"],["impl<'de> Deserialize<'de> for RAW_RPM_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SELF_ID_DATA"],["impl<'de> Deserialize<'de> for MavOdidSpeedAcc"],["impl<'de> Deserialize<'de> for SCALED_IMU2_DATA"],["impl<'de> Deserialize<'de> for EscFailureFlags"],["impl<'de> Deserialize<'de> for MavMessage"],["impl<'de> Deserialize<'de> for MavBatteryType"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl<'de> Deserialize<'de> for GoproProtuneGain"],["impl<'de> Deserialize<'de> for HIL_GPS_DATA"],["impl<'de> Deserialize<'de> for CAMERA_FEEDBACK_DATA"],["impl<'de> Deserialize<'de> for NAMED_VALUE_FLOAT_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl<'de> Deserialize<'de> for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl<'de> Deserialize<'de> for OsdParamConfigType"],["impl<'de> Deserialize<'de> for MagCalStatus"],["impl<'de> Deserialize<'de> for StorageUsageFlag"],["impl<'de> Deserialize<'de> for ISBD_LINK_STATUS_DATA"],["impl<'de> Deserialize<'de> for UavcanNodeMode"],["impl<'de> Deserialize<'de> for HIL_SENSOR_DATA"],["impl<'de> Deserialize<'de> for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl<'de> Deserialize<'de> for FILE_TRANSFER_PROTOCOL_DATA"],["impl<'de> Deserialize<'de> for GENERATOR_STATUS_DATA"],["impl<'de> Deserialize<'de> for AHRS_DATA"],["impl<'de> Deserialize<'de> for FirmwareVersionType"],["impl<'de> Deserialize<'de> for RC_CHANNELS_OVERRIDE_DATA"],["impl<'de> Deserialize<'de> for ACTUATOR_OUTPUT_STATUS_DATA"],["impl<'de> Deserialize<'de> for TIME_ESTIMATE_TO_TARGET_DATA"],["impl<'de> Deserialize<'de> for ISBD_LINK_STATUS_DATA"],["impl<'de> Deserialize<'de> for FILE_TRANSFER_PROTOCOL_DATA"],["impl<'de> Deserialize<'de> for MotorTestOrder"],["impl<'de> Deserialize<'de> for UAVCAN_NODE_INFO_DATA"],["impl<'de> Deserialize<'de> for ICAROUS_HEARTBEAT_DATA"],["impl<'de> Deserialize<'de> for MavGeneratorStatusFlag"],["impl<'de> Deserialize<'de> for NAMED_VALUE_INT_DATA"],["impl<'de> Deserialize<'de> for ATT_POS_MOCAP_DATA"],["impl<'de> Deserialize<'de> for COMMAND_CANCEL_DATA"],["impl<'de> Deserialize<'de> for SAFETY_SET_ALLOWED_AREA_DATA"],["impl<'de> Deserialize<'de> for MavBatteryChargeState"],["impl<'de> Deserialize<'de> for RC_CHANNELS_RAW_DATA"],["impl<'de> Deserialize<'de> for ENCAPSULATED_DATA_DATA"],["impl<'de> Deserialize<'de> for GoproBurstRate"],["impl<'de> Deserialize<'de> for MISSION_ITEM_DATA"],["impl<'de> Deserialize<'de> for HIL_OPTICAL_FLOW_DATA"],["impl<'de> Deserialize<'de> for VISION_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for TERRAIN_REPORT_DATA"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_INT_DATA"],["impl<'de> Deserialize<'de> for WHEEL_DISTANCE_DATA"],["impl<'de> Deserialize<'de> for SAFETY_ALLOWED_AREA_DATA"],["impl<'de> Deserialize<'de> for MOUNT_ORIENTATION_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for SMART_BATTERY_INFO_DATA"],["impl<'de> Deserialize<'de> for MavOdidHorAcc"],["impl<'de> Deserialize<'de> for SerialControlDev"],["impl<'de> Deserialize<'de> for TERRAIN_CHECK_DATA"],["impl<'de> Deserialize<'de> for CELLULAR_CONFIG_DATA"],["impl<'de> Deserialize<'de> for STATUSTEXT_DATA"],["impl<'de> Deserialize<'de> for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl<'de> Deserialize<'de> for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl<'de> Deserialize<'de> for VideoStreamStatusFlags"],["impl<'de> Deserialize<'de> for SYS_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavOdidTimeAcc"],["impl<'de> Deserialize<'de> for LimitModule"],["impl<'de> Deserialize<'de> for PARAM_SET_DATA"],["impl<'de> Deserialize<'de> for PLAY_TUNE_V2_DATA"],["impl<'de> Deserialize<'de> for MESSAGE_INTERVAL_DATA"],["impl<'de> Deserialize<'de> for MavOdidDescType"],["impl<'de> Deserialize<'de> for FailureUnit"],["impl<'de> Deserialize<'de> for PLAY_TUNE_V2_DATA"],["impl<'de> Deserialize<'de> for GimbalDeviceCapFlags"],["impl<'de> Deserialize<'de> for SETUP_SIGNING_DATA"],["impl<'de> Deserialize<'de> for RC_CHANNELS_DATA"],["impl<'de> Deserialize<'de> for BUTTON_CHANGE_DATA"],["impl<'de> Deserialize<'de> for MavArmAuthDeniedReason"],["impl<'de> Deserialize<'de> for WinchActions"],["impl<'de> Deserialize<'de> for PreflightStorageParameterAction"],["impl<'de> Deserialize<'de> for EFI_STATUS_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutCfgAircraftSize"],["impl<'de> Deserialize<'de> for TERRAIN_REQUEST_DATA"],["impl<'de> Deserialize<'de> for MavBatteryFault"],["impl<'de> Deserialize<'de> for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for GpsInputIgnoreFlags"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_LOCATION_DATA"],["impl<'de> Deserialize<'de> for MavType"],["impl<'de> Deserialize<'de> for ActuatorConfiguration"],["impl<'de> Deserialize<'de> for SIM_STATE_DATA"],["impl<'de> Deserialize<'de> for WINCH_STATUS_DATA"],["impl<'de> Deserialize<'de> for ONBOARD_COMPUTER_STATUS_DATA"],["impl<'de> Deserialize<'de> for CameraMode"],["impl<'de> Deserialize<'de> for RAW_PRESSURE_DATA"],["impl<'de> Deserialize<'de> for ESC_INFO_DATA"],["impl<'de> Deserialize<'de> for AdsbFlags"],["impl<'de> Deserialize<'de> for REQUEST_DATA_STREAM_DATA"],["impl<'de> Deserialize<'de> for MavAutopilot"],["impl<'de> Deserialize<'de> for MavRoi"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl<'de> Deserialize<'de> for GoproCharging"],["impl<'de> Deserialize<'de> for WifiConfigApResponse"],["impl<'de> Deserialize<'de> for ESC_STATUS_DATA"],["impl<'de> Deserialize<'de> for GoproHeartbeatFlags"],["impl<'de> Deserialize<'de> for GripperActions"],["impl<'de> Deserialize<'de> for UavionixAdsbOutDynamicGpsFix"],["impl<'de> Deserialize<'de> for TIME_ESTIMATE_TO_TARGET_DATA"],["impl<'de> Deserialize<'de> for WifiConfigApResponse"],["impl<'de> Deserialize<'de> for GoproProtuneColour"],["impl<'de> Deserialize<'de> for RALLY_POINT_DATA"],["impl<'de> Deserialize<'de> for SET_HOME_POSITION_DATA"],["impl<'de> Deserialize<'de> for MavOdidArmStatus"],["impl<'de> Deserialize<'de> for HIL_STATE_DATA"],["impl<'de> Deserialize<'de> for MavWinchStatusFlag"],["impl<'de> Deserialize<'de> for MavEventCurrentSequenceFlags"],["impl<'de> Deserialize<'de> for GoproHeartbeatStatus"],["impl<'de> Deserialize<'de> for UTM_GLOBAL_POSITION_DATA"],["impl<'de> Deserialize<'de> for SCALED_IMU3_DATA"],["impl<'de> Deserialize<'de> for GimbalManagerFlags"],["impl<'de> Deserialize<'de> for MavOdidClassEu"],["impl<'de> Deserialize<'de> for FirmwareVersionType"],["impl<'de> Deserialize<'de> for EscFailureFlags"],["impl<'de> Deserialize<'de> for VIBRATION_DATA"],["impl<'de> Deserialize<'de> for ORBIT_EXECUTION_STATUS_DATA"],["impl<'de> Deserialize<'de> for MissionState"],["impl<'de> Deserialize<'de> for RADIO_DATA"],["impl<'de> Deserialize<'de> for HilSensorUpdatedFlags"],["impl<'de> Deserialize<'de> for MavProtocolCapability"],["impl<'de> Deserialize<'de> for CompMetadataType"],["impl<'de> Deserialize<'de> for OBSTACLE_DISTANCE_DATA"],["impl<'de> Deserialize<'de> for VideoStreamType"],["impl<'de> Deserialize<'de> for MISSION_CURRENT_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for LOG_DATA_DATA"],["impl<'de> Deserialize<'de> for MavDistanceSensor"],["impl<'de> Deserialize<'de> for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl<'de> Deserialize<'de> for RESOURCE_REQUEST_DATA"],["impl<'de> Deserialize<'de> for MavBatteryFunction"],["impl<'de> Deserialize<'de> for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl<'de> Deserialize<'de> for MavMountMode"],["impl<'de> Deserialize<'de> for MagCalStatus"],["impl<'de> Deserialize<'de> for CAMERA_SETTINGS_DATA"],["impl<'de> Deserialize<'de> for SET_HOME_POSITION_DATA"],["impl<'de> Deserialize<'de> for WinchActions"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_DATA"],["impl<'de> Deserialize<'de> for RcType"],["impl<'de> Deserialize<'de> for PROTOCOL_VERSION_DATA"],["impl<'de> Deserialize<'de> for VideoStreamStatusFlags"],["impl<'de> Deserialize<'de> for GPS_GLOBAL_ORIGIN_DATA"],["impl<'de> Deserialize<'de> for EFI_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavOdidUaType"],["impl<'de> Deserialize<'de> for COLLISION_DATA"],["impl<'de> Deserialize<'de> for GpsFixType"],["impl<'de> Deserialize<'de> for MavOdidHeightRef"],["impl<'de> Deserialize<'de> for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_DATA"],["impl<'de> Deserialize<'de> for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl<'de> Deserialize<'de> for GPS_INJECT_DATA_DATA"],["impl<'de> Deserialize<'de> for MavCmdDoAuxFunctionSwitchLevel"],["impl<'de> Deserialize<'de> for WIFI_CONFIG_AP_DATA"],["impl<'de> Deserialize<'de> for MavAutopilot"],["impl<'de> Deserialize<'de> for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl<'de> Deserialize<'de> for PositionTargetTypemask"],["impl<'de> Deserialize<'de> for CAMERA_CAPTURE_STATUS_DATA"],["impl<'de> Deserialize<'de> for VISION_SPEED_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for HIGHRES_IMU_DATA"],["impl<'de> Deserialize<'de> for MavBatteryFunction"],["impl<'de> Deserialize<'de> for CellularConfigResponse"],["impl<'de> Deserialize<'de> for MavSensorOrientation"],["impl<'de> Deserialize<'de> for ParachuteAction"],["impl<'de> Deserialize<'de> for MavProtocolCapability"],["impl<'de> Deserialize<'de> for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl<'de> Deserialize<'de> for MAG_CAL_REPORT_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl<'de> Deserialize<'de> for GimbalManagerFlags"],["impl<'de> Deserialize<'de> for MavComponent"],["impl<'de> Deserialize<'de> for ESC_STATUS_DATA"],["impl<'de> Deserialize<'de> for PARAM_SET_DATA"],["impl<'de> Deserialize<'de> for MavSeverity"],["impl<'de> Deserialize<'de> for MavOdidIdType"],["impl<'de> Deserialize<'de> for UTM_GLOBAL_POSITION_DATA"],["impl<'de> Deserialize<'de> for HIL_STATE_QUATERNION_DATA"],["impl<'de> Deserialize<'de> for MavOdidClassEu"],["impl<'de> Deserialize<'de> for GoproPhotoResolution"],["impl<'de> Deserialize<'de> for UavcanNodeHealth"],["impl<'de> Deserialize<'de> for LANDING_TARGET_DATA"],["impl<'de> Deserialize<'de> for LedControlPattern"],["impl<'de> Deserialize<'de> for RtkBaselineCoordinateSystem"],["impl<'de> Deserialize<'de> for DeviceOpBustype"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for HIGH_LATENCY_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_INT_DATA"],["impl<'de> Deserialize<'de> for TrackerMode"],["impl<'de> Deserialize<'de> for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl<'de> Deserialize<'de> for GPS_RTCM_DATA_DATA"],["impl<'de> Deserialize<'de> for CAN_FILTER_MODIFY_DATA"],["impl<'de> Deserialize<'de> for LOG_REQUEST_END_DATA"],["impl<'de> Deserialize<'de> for SCALED_IMU_DATA"],["impl<'de> Deserialize<'de> for AisNavStatus"],["impl<'de> Deserialize<'de> for NavVtolLandOptions"],["impl<'de> Deserialize<'de> for CAN_FRAME_DATA"],["impl<'de> Deserialize<'de> for MavEstimatorType"],["impl<'de> Deserialize<'de> for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl<'de> Deserialize<'de> for ADSB_VEHICLE_DATA"],["impl<'de> Deserialize<'de> for MavModeFlag"],["impl<'de> Deserialize<'de> for EscFailureFlags"],["impl<'de> Deserialize<'de> for BUTTON_CHANGE_DATA"],["impl<'de> Deserialize<'de> for AdsbAltitudeType"],["impl<'de> Deserialize<'de> for MavType"],["impl<'de> Deserialize<'de> for PARAM_SET_DATA"],["impl<'de> Deserialize<'de> for FENCE_STATUS_DATA"],["impl<'de> Deserialize<'de> for PositionTargetTypemask"],["impl<'de> Deserialize<'de> for OBSTACLE_DISTANCE_DATA"],["impl<'de> Deserialize<'de> for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl<'de> Deserialize<'de> for SERIAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for GPS_RTCM_DATA_DATA"],["impl<'de> Deserialize<'de> for CANFD_FRAME_DATA"],["impl<'de> Deserialize<'de> for AutotuneAxis"],["impl<'de> Deserialize<'de> for MavGeneratorStatusFlag"],["impl<'de> Deserialize<'de> for COLLISION_DATA"],["impl<'de> Deserialize<'de> for HilSensorUpdatedFlags"],["impl<'de> Deserialize<'de> for UavionixAdsbOutCfgGpsOffsetLat"],["impl<'de> Deserialize<'de> for MISSION_CLEAR_ALL_DATA"],["impl<'de> Deserialize<'de> for CellularStatusFlag"],["impl<'de> Deserialize<'de> for LOGGING_DATA_ACKED_DATA"],["impl<'de> Deserialize<'de> for GOPRO_GET_REQUEST_DATA"],["impl<'de> Deserialize<'de> for GPS2_RAW_DATA"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl<'de> Deserialize<'de> for GPS_INPUT_DATA"],["impl<'de> Deserialize<'de> for WHEEL_DISTANCE_DATA"],["impl<'de> Deserialize<'de> for GoproFieldOfView"],["impl<'de> Deserialize<'de> for HIGH_LATENCY_DATA"],["impl<'de> Deserialize<'de> for DEVICE_OP_READ_REPLY_DATA"],["impl<'de> Deserialize<'de> for COMPASSMOT_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavTunnelPayloadType"],["impl<'de> Deserialize<'de> for MISSION_SET_CURRENT_DATA"],["impl<'de> Deserialize<'de> for CellularNetworkRadioType"],["impl<'de> Deserialize<'de> for MavCollisionSrc"],["impl<'de> Deserialize<'de> for WINCH_STATUS_DATA"],["impl<'de> Deserialize<'de> for FailureUnit"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl<'de> Deserialize<'de> for MavFrame"],["impl<'de> Deserialize<'de> for PLAY_TUNE_DATA"],["impl<'de> Deserialize<'de> for ESTIMATOR_STATUS_DATA"],["impl<'de> Deserialize<'de> for WIND_COV_DATA"],["impl<'de> Deserialize<'de> for GPS_INPUT_DATA"],["impl<'de> Deserialize<'de> for DEBUG_FLOAT_ARRAY_DATA"],["impl<'de> Deserialize<'de> for IcarousTrackBandTypes"],["impl<'de> Deserialize<'de> for FenceAction"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE2_DATA"],["impl<'de> Deserialize<'de> for MavOdidStatus"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl<'de> Deserialize<'de> for MavEventCurrentSequenceFlags"],["impl<'de> Deserialize<'de> for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl<'de> Deserialize<'de> for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl<'de> Deserialize<'de> for UavcanNodeHealth"],["impl<'de> Deserialize<'de> for MavOdidTimeAcc"],["impl<'de> Deserialize<'de> for VFR_HUD_DATA"],["impl<'de> Deserialize<'de> for MavRoi"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl<'de> Deserialize<'de> for GimbalAxis"],["impl<'de> Deserialize<'de> for CELLULAR_STATUS_DATA"],["impl<'de> Deserialize<'de> for VideoStreamStatusFlags"],["impl<'de> Deserialize<'de> for MavOdidArmStatus"],["impl<'de> Deserialize<'de> for TERRAIN_REQUEST_DATA"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_DATA"],["impl<'de> Deserialize<'de> for OSD_PARAM_CONFIG_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbRfHealth"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl<'de> Deserialize<'de> for SET_MODE_DATA"],["impl<'de> Deserialize<'de> for CameraZoomType"],["impl<'de> Deserialize<'de> for PING_DATA"],["impl<'de> Deserialize<'de> for AisFlags"],["impl<'de> Deserialize<'de> for CONTROL_SYSTEM_STATE_DATA"],["impl<'de> Deserialize<'de> for ONBOARD_COMPUTER_STATUS_DATA"],["impl<'de> Deserialize<'de> for HilSensorUpdatedFlags"],["impl<'de> Deserialize<'de> for ODOMETRY_DATA"],["impl<'de> Deserialize<'de> for CellularNetworkFailedReason"],["impl<'de> Deserialize<'de> for GPS_RTK_DATA"],["impl<'de> Deserialize<'de> for MavOdidTimeAcc"],["impl<'de> Deserialize<'de> for UavionixAdsbOutCfgGpsOffsetLon"],["impl<'de> Deserialize<'de> for AUTOPILOT_VERSION_REQUEST_DATA"],["impl<'de> Deserialize<'de> for GOPRO_GET_RESPONSE_DATA"],["impl<'de> Deserialize<'de> for CAN_FRAME_DATA"],["impl<'de> Deserialize<'de> for HIL_RC_INPUTS_RAW_DATA"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE2_DATA"],["impl<'de> Deserialize<'de> for MavMissionResult"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SYSTEM_DATA"],["impl<'de> Deserialize<'de> for WHEEL_DISTANCE_DATA"],["impl<'de> Deserialize<'de> for TIME_ESTIMATE_TO_TARGET_DATA"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE3_DATA"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for MavOdidOperatorLocationType"],["impl<'de> Deserialize<'de> for OPTICAL_FLOW_DATA"],["impl<'de> Deserialize<'de> for CAMERA_CAPTURE_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavResult"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE3_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_STATUS_DATA"],["impl<'de> Deserialize<'de> for AisType"],["impl<'de> Deserialize<'de> for MavEventCurrentSequenceFlags"],["impl<'de> Deserialize<'de> for AOA_SSA_DATA"],["impl<'de> Deserialize<'de> for FailureType"],["impl<'de> Deserialize<'de> for CanFilterOp"],["impl<'de> Deserialize<'de> for WIND_COV_DATA"],["impl<'de> Deserialize<'de> for HOME_POSITION_DATA"],["impl<'de> Deserialize<'de> for PARAM_MAP_RC_DATA"],["impl<'de> Deserialize<'de> for MavOdidCategoryEu"],["impl<'de> Deserialize<'de> for MavOdidAuthType"],["impl<'de> Deserialize<'de> for REQUEST_EVENT_DATA"],["impl<'de> Deserialize<'de> for OPTICAL_FLOW_RAD_DATA"],["impl<'de> Deserialize<'de> for MavBatteryFunction"],["impl<'de> Deserialize<'de> for MavTunnelPayloadType"],["impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_DATA"],["impl<'de> Deserialize<'de> for CellularConfigResponse"],["impl<'de> Deserialize<'de> for MESSAGE_INTERVAL_DATA"],["impl<'de> Deserialize<'de> for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for MavOdidCategoryEu"],["impl<'de> Deserialize<'de> for FenceBreach"],["impl<'de> Deserialize<'de> for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl<'de> Deserialize<'de> for CameraZoomType"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl<'de> Deserialize<'de> for CameraCapFlags"],["impl<'de> Deserialize<'de> for MavSysStatusSensorExtended"],["impl<'de> Deserialize<'de> for ATTITUDE_TARGET_DATA"],["impl<'de> Deserialize<'de> for OSD_PARAM_SHOW_CONFIG_DATA"],["impl<'de> Deserialize<'de> for HIL_CONTROLS_DATA"],["impl<'de> Deserialize<'de> for MissionState"],["impl<'de> Deserialize<'de> for TERRAIN_DATA_DATA"],["impl<'de> Deserialize<'de> for CameraTrackingTargetData"],["impl<'de> Deserialize<'de> for PlaneMode"],["impl<'de> Deserialize<'de> for PARAM_EXT_VALUE_DATA"],["impl<'de> Deserialize<'de> for MavMessage"],["impl<'de> Deserialize<'de> for OrbitYawBehaviour"],["impl<'de> Deserialize<'de> for STORAGE_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MavOdidOperatorIdType"],["impl<'de> Deserialize<'de> for CopterMode"],["impl<'de> Deserialize<'de> for RC_CHANNELS_RAW_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl<'de> Deserialize<'de> for ESC_INFO_DATA"],["impl<'de> Deserialize<'de> for DISTANCE_SENSOR_DATA"],["impl<'de> Deserialize<'de> for MavDataStream"],["impl<'de> Deserialize<'de> for MavMessage"],["impl<'de> Deserialize<'de> for MavOdidHeightRef"],["impl<'de> Deserialize<'de> for MISSION_ITEM_INT_DATA"],["impl<'de> Deserialize<'de> for HIL_OPTICAL_FLOW_DATA"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl<'de> Deserialize<'de> for VISION_POSITION_DELTA_DATA"],["impl<'de> Deserialize<'de> for STATUSTEXT_DATA"],["impl<'de> Deserialize<'de> for VideoStreamType"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for ALTITUDE_DATA"],["impl<'de> Deserialize<'de> for LandingTargetType"],["impl<'de> Deserialize<'de> for GPS_RTK_DATA"],["impl<'de> Deserialize<'de> for MavCollisionAction"],["impl<'de> Deserialize<'de> for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl<'de> Deserialize<'de> for CURRENT_EVENT_SEQUENCE_DATA"],["impl<'de> Deserialize<'de> for AdsbFlags"],["impl<'de> Deserialize<'de> for CameraCapFlags"],["impl<'de> Deserialize<'de> for TERRAIN_REPORT_DATA"],["impl<'de> Deserialize<'de> for CAN_FILTER_MODIFY_DATA"],["impl<'de> Deserialize<'de> for MISSION_ITEM_REACHED_DATA"],["impl<'de> Deserialize<'de> for VICON_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutDynamicState"],["impl<'de> Deserialize<'de> for FLIGHT_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MavFrame"],["impl<'de> Deserialize<'de> for ActuatorOutputFunction"],["impl<'de> Deserialize<'de> for SubMode"],["impl<'de> Deserialize<'de> for VICON_POSITION_ESTIMATE_DATA"],["impl<'de> Deserialize<'de> for RADIO_STATUS_DATA"],["impl<'de> Deserialize<'de> for LOG_REQUEST_END_DATA"],["impl<'de> Deserialize<'de> for MavMissionResult"],["impl<'de> Deserialize<'de> for CAMERA_TRIGGER_DATA"],["impl<'de> Deserialize<'de> for PARAM_EXT_SET_DATA"],["impl<'de> Deserialize<'de> for DEBUG_DATA"],["impl<'de> Deserialize<'de> for CompMetadataType"],["impl<'de> Deserialize<'de> for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl<'de> Deserialize<'de> for MEMORY_VECT_DATA"],["impl<'de> Deserialize<'de> for POSITION_TARGET_LOCAL_NED_DATA"],["impl<'de> Deserialize<'de> for MavFtpOpcode"],["impl<'de> Deserialize<'de> for PARAM_EXT_SET_DATA"],["impl<'de> Deserialize<'de> for ICAROUS_KINEMATIC_BANDS_DATA"],["impl<'de> Deserialize<'de> for MavSysStatusSensorExtended"],["impl<'de> Deserialize<'de> for MavBatteryType"],["impl<'de> Deserialize<'de> for MavOdidVerAcc"],["impl<'de> Deserialize<'de> for MavCollisionThreatLevel"],["impl<'de> Deserialize<'de> for FenceAction"],["impl<'de> Deserialize<'de> for COMMAND_LONG_DATA"],["impl<'de> Deserialize<'de> for HighresImuUpdatedFlags"],["impl<'de> Deserialize<'de> for CAMERA_FOV_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavParamExtType"],["impl<'de> Deserialize<'de> for RESPONSE_EVENT_ERROR_DATA"],["impl<'de> Deserialize<'de> for LandingTargetType"],["impl<'de> Deserialize<'de> for CameraStatusTypes"],["impl<'de> Deserialize<'de> for LINK_NODE_STATUS_DATA"],["impl<'de> Deserialize<'de> for StorageUsageFlag"],["impl<'de> Deserialize<'de> for GPS2_RTK_DATA"],["impl<'de> Deserialize<'de> for REQUEST_DATA_STREAM_DATA"],["impl<'de> Deserialize<'de> for EXTENDED_SYS_STATE_DATA"],["impl<'de> Deserialize<'de> for PARAM_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for V2_EXTENSION_DATA"],["impl<'de> Deserialize<'de> for MavVtolState"],["impl<'de> Deserialize<'de> for AHRS3_DATA"],["impl<'de> Deserialize<'de> for MavOdidOperatorLocationType"],["impl<'de> Deserialize<'de> for GimbalDeviceFlags"],["impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_DATA"],["impl<'de> Deserialize<'de> for MEMORY_VECT_DATA"],["impl<'de> Deserialize<'de> for ActuatorConfiguration"],["impl<'de> Deserialize<'de> for SCALED_IMU_DATA"],["impl<'de> Deserialize<'de> for MavModeFlag"],["impl<'de> Deserialize<'de> for DIGICAM_CONTROL_DATA"],["impl<'de> Deserialize<'de> for COMPONENT_METADATA_DATA"],["impl<'de> Deserialize<'de> for DEBUG_DATA"],["impl<'de> Deserialize<'de> for ACTUATOR_CONTROL_TARGET_DATA"],["impl<'de> Deserialize<'de> for HIL_ACTUATOR_CONTROLS_DATA"],["impl<'de> Deserialize<'de> for MavGeneratorStatusFlag"],["impl<'de> Deserialize<'de> for MavOdidCategoryEu"],["impl<'de> Deserialize<'de> for PARAM_REQUEST_READ_DATA"],["impl<'de> Deserialize<'de> for PreflightStorageMissionAction"],["impl<'de> Deserialize<'de> for WifiConfigApMode"],["impl<'de> Deserialize<'de> for CellularNetworkFailedReason"],["impl<'de> Deserialize<'de> for SetFocusType"],["impl<'de> Deserialize<'de> for PARAM_EXT_ACK_DATA"],["impl<'de> Deserialize<'de> for RAW_RPM_DATA"],["impl<'de> Deserialize<'de> for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl<'de> Deserialize<'de> for HEARTBEAT_DATA"],["impl<'de> Deserialize<'de> for LOG_REQUEST_END_DATA"],["impl<'de> Deserialize<'de> for MISSION_ACK_DATA"],["impl<'de> Deserialize<'de> for CameraMode"],["impl<'de> Deserialize<'de> for OPTICAL_FLOW_DATA"],["impl<'de> Deserialize<'de> for MavOdidOperatorIdType"],["impl<'de> Deserialize<'de> for GPS_INJECT_DATA_DATA"],["impl<'de> Deserialize<'de> for LOGGING_DATA_DATA"],["impl<'de> Deserialize<'de> for HIL_CONTROLS_DATA"],["impl<'de> Deserialize<'de> for GimbalManagerCapFlags"],["impl<'de> Deserialize<'de> for NAMED_VALUE_FLOAT_DATA"],["impl<'de> Deserialize<'de> for ATT_POS_MOCAP_DATA"],["impl<'de> Deserialize<'de> for COMPONENT_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl<'de> Deserialize<'de> for SCALED_IMU3_DATA"],["impl<'de> Deserialize<'de> for LOGGING_DATA_DATA"],["impl<'de> Deserialize<'de> for GimbalDeviceErrorFlags"],["impl<'de> Deserialize<'de> for MavDataStream"],["impl<'de> Deserialize<'de> for MavEstimatorType"],["impl<'de> Deserialize<'de> for LOG_REQUEST_DATA_DATA"],["impl<'de> Deserialize<'de> for CameraTrackingTargetData"],["impl<'de> Deserialize<'de> for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl<'de> Deserialize<'de> for ATTITUDE_TARGET_DATA"],["impl<'de> Deserialize<'de> for REQUEST_EVENT_DATA"],["impl<'de> Deserialize<'de> for CanFilterOp"],["impl<'de> Deserialize<'de> for MavDistanceSensor"],["impl<'de> Deserialize<'de> for CAMERA_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for UAVCAN_NODE_INFO_DATA"],["impl<'de> Deserialize<'de> for HIL_GPS_DATA"],["impl<'de> Deserialize<'de> for VIDEO_STREAM_STATUS_DATA"],["impl<'de> Deserialize<'de> for PROTOCOL_VERSION_DATA"],["impl<'de> Deserialize<'de> for MISSION_ITEM_INT_DATA"],["impl<'de> Deserialize<'de> for LANDING_TARGET_DATA"],["impl<'de> Deserialize<'de> for BATTERY_STATUS_DATA"],["impl<'de> Deserialize<'de> for GoproCommand"],["impl<'de> Deserialize<'de> for MOUNT_CONTROL_DATA"],["impl<'de> Deserialize<'de> for MavFtpOpcode"],["impl<'de> Deserialize<'de> for HeadingType"],["impl<'de> Deserialize<'de> for GIMBAL_REPORT_DATA"],["impl<'de> Deserialize<'de> for MOUNT_ORIENTATION_DATA"],["impl<'de> Deserialize<'de> for GPS_GLOBAL_ORIGIN_DATA"],["impl<'de> Deserialize<'de> for MavModeFlag"],["impl<'de> Deserialize<'de> for LOG_ENTRY_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutCfgGpsOffsetLat"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl<'de> Deserialize<'de> for RC_CHANNELS_DATA"],["impl<'de> Deserialize<'de> for MavEventErrorReason"],["impl<'de> Deserialize<'de> for AdsbEmitterType"],["impl<'de> Deserialize<'de> for GENERATOR_STATUS_DATA"],["impl<'de> Deserialize<'de> for RAW_IMU_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutDynamicState"],["impl<'de> Deserialize<'de> for HIGH_LATENCY2_DATA"],["impl<'de> Deserialize<'de> for FailureType"],["impl<'de> Deserialize<'de> for PreflightStorageMissionAction"],["impl<'de> Deserialize<'de> for MavCmd"],["impl<'de> Deserialize<'de> for MavSysStatusSensorExtended"],["impl<'de> Deserialize<'de> for MavFrame"],["impl<'de> Deserialize<'de> for LINK_NODE_STATUS_DATA"],["impl<'de> Deserialize<'de> for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl<'de> Deserialize<'de> for RAW_PRESSURE_DATA"],["impl<'de> Deserialize<'de> for ALTITUDE_DATA"],["impl<'de> Deserialize<'de> for MavRemoteLogDataBlockStatuses"],["impl<'de> Deserialize<'de> for GoproModel"],["impl<'de> Deserialize<'de> for MISSION_REQUEST_INT_DATA"],["impl<'de> Deserialize<'de> for VIDEO_STREAM_STATUS_DATA"],["impl<'de> Deserialize<'de> for UtmFlightState"],["impl<'de> Deserialize<'de> for ALTITUDE_DATA"],["impl<'de> Deserialize<'de> for MavSysStatusSensor"],["impl<'de> Deserialize<'de> for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl<'de> Deserialize<'de> for ODOMETRY_DATA"],["impl<'de> Deserialize<'de> for CAMERA_FOV_STATUS_DATA"],["impl<'de> Deserialize<'de> for AdsbAltitudeType"],["impl<'de> Deserialize<'de> for SCALED_PRESSURE_DATA"],["impl<'de> Deserialize<'de> for ESC_TELEMETRY_9_TO_12_DATA"],["impl<'de> Deserialize<'de> for MavMissionResult"],["impl<'de> Deserialize<'de> for LOGGING_DATA_ACKED_DATA"],["impl<'de> Deserialize<'de> for COMMAND_ACK_DATA"],["impl<'de> Deserialize<'de> for ParamAck"],["impl<'de> Deserialize<'de> for MavPowerStatus"],["impl<'de> Deserialize<'de> for MavLandedState"],["impl<'de> Deserialize<'de> for DEVICE_OP_WRITE_DATA"],["impl<'de> Deserialize<'de> for CameraTrackingTargetData"],["impl<'de> Deserialize<'de> for MAG_CAL_REPORT_DATA"],["impl<'de> Deserialize<'de> for MAG_CAL_PROGRESS_DATA"],["impl<'de> Deserialize<'de> for DEBUG_VECT_DATA"],["impl<'de> Deserialize<'de> for DISTANCE_SENSOR_DATA"],["impl<'de> Deserialize<'de> for POSITION_TARGET_GLOBAL_INT_DATA"],["impl<'de> Deserialize<'de> for SET_ATTITUDE_TARGET_DATA"],["impl<'de> Deserialize<'de> for GIMBAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for GimbalDeviceCapFlags"],["impl<'de> Deserialize<'de> for BUTTON_CHANGE_DATA"],["impl<'de> Deserialize<'de> for VIBRATION_DATA"],["impl<'de> Deserialize<'de> for LOGGING_DATA_DATA"],["impl<'de> Deserialize<'de> for BATTERY_STATUS_DATA"],["impl<'de> Deserialize<'de> for MavMode"],["impl<'de> Deserialize<'de> for DATA64_DATA"],["impl<'de> Deserialize<'de> for MavBatteryChargeState"],["impl<'de> Deserialize<'de> for UtmFlightState"],["impl<'de> Deserialize<'de> for FenceMitigate"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl<'de> Deserialize<'de> for MavEventErrorReason"],["impl<'de> Deserialize<'de> for IcarousFmsState"],["impl<'de> Deserialize<'de> for UAVCAN_NODE_STATUS_DATA"],["impl<'de> Deserialize<'de> for LOG_ERASE_DATA"],["impl<'de> Deserialize<'de> for MavModeFlagDecodePosition"],["impl<'de> Deserialize<'de> for HighresImuUpdatedFlags"],["impl<'de> Deserialize<'de> for MISSION_CLEAR_ALL_DATA"],["impl<'de> Deserialize<'de> for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl<'de> Deserialize<'de> for ESC_INFO_DATA"],["impl<'de> Deserialize<'de> for UavionixAdsbOutCfgAircraftSize"],["impl<'de> Deserialize<'de> for AIS_VESSEL_DATA"],["impl<'de> Deserialize<'de> for MavLandedState"],["impl<'de> Deserialize<'de> for MavState"],["impl<'de> Deserialize<'de> for SERIAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for SpeedType"],["impl<'de> Deserialize<'de> for AisNavStatus"],["impl<'de> Deserialize<'de> for FirmwareVersionType"],["impl<'de> Deserialize<'de> for HIGHRES_IMU_DATA"],["impl<'de> Deserialize<'de> for TuneFormat"],["impl<'de> Deserialize<'de> for MavGoto"],["impl<'de> Deserialize<'de> for MavCollisionSrc"],["impl<'de> Deserialize<'de> for TERRAIN_REPORT_DATA"],["impl<'de> Deserialize<'de> for LOG_ENTRY_DATA"],["impl<'de> Deserialize<'de> for FenceMitigate"],["impl<'de> Deserialize<'de> for PositionTargetTypemask"],["impl<'de> Deserialize<'de> for SET_HOME_POSITION_DATA"],["impl<'de> Deserialize<'de> for EscConnectionType"],["impl<'de> Deserialize<'de> for MavlinkDataStreamType"],["impl<'de> Deserialize<'de> for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl<'de> Deserialize<'de> for GoproFrameRate"],["impl<'de> Deserialize<'de> for COMMAND_INT_DATA"],["impl<'de> Deserialize<'de> for GOPRO_SET_REQUEST_DATA"],["impl<'de> Deserialize<'de> for GpsFixType"],["impl<'de> Deserialize<'de> for CAMERA_TRIGGER_DATA"],["impl<'de> Deserialize<'de> for REMOTE_LOG_DATA_BLOCK_DATA"],["impl<'de> Deserialize<'de> for CANFD_FRAME_DATA"],["impl<'de> Deserialize<'de> for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl<'de> Deserialize<'de> for CAN_FILTER_MODIFY_DATA"],["impl<'de> Deserialize<'de> for MEMORY_VECT_DATA"],["impl<'de> Deserialize<'de> for SIM_STATE_DATA"],["impl<'de> Deserialize<'de> for DATA96_DATA"],["impl<'de> Deserialize<'de> for NAV_CONTROLLER_OUTPUT_DATA"],["impl<'de> Deserialize<'de> for RC_CHANNELS_RAW_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl<'de> Deserialize<'de> for COMMAND_ACK_DATA"],["impl<'de> Deserialize<'de> for GoproCaptureMode"],["impl<'de> Deserialize<'de> for AIRSPEED_AUTOCAL_DATA"],["impl<'de> Deserialize<'de> for SIM_STATE_DATA"],["impl<'de> Deserialize<'de> for AdsbAltitudeType"],["impl<'de> Deserialize<'de> for FenceMitigate"],["impl<'de> Deserialize<'de> for ATTITUDE_DATA"],["impl<'de> Deserialize<'de> for DATA_STREAM_DATA"],["impl<'de> Deserialize<'de> for RESOURCE_REQUEST_DATA"],["impl<'de> Deserialize<'de> for GimbalDeviceFlags"],["impl<'de> Deserialize<'de> for SUPPORTED_TUNES_DATA"],["impl<'de> Deserialize<'de> for MagCalStatus"],["impl<'de> Deserialize<'de> for GimbalManagerCapFlags"],["impl<'de> Deserialize<'de> for OBSTACLE_DISTANCE_3D_DATA"],["impl<'de> Deserialize<'de> for ESTIMATOR_STATUS_DATA"],["impl<'de> Deserialize<'de> for StorageStatus"],["impl<'de> Deserialize<'de> for COMMAND_LONG_DATA"],["impl<'de> Deserialize<'de> for MavDoRepositionFlags"],["impl<'de> Deserialize<'de> for MavOdidVerAcc"],["impl<'de> Deserialize<'de> for RC_CHANNELS_SCALED_DATA"],["impl<'de> Deserialize<'de> for UTM_GLOBAL_POSITION_DATA"],["impl<'de> Deserialize<'de> for MavBatteryMode"],["impl<'de> Deserialize<'de> for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl<'de> Deserialize<'de> for MavOdidOperatorIdType"],["impl<'de> Deserialize<'de> for MavMessage"],["impl<'de> Deserialize<'de> for OSD_PARAM_CONFIG_REPLY_DATA"],["impl<'de> Deserialize<'de> for LOG_ERASE_DATA"],["impl<'de> Deserialize<'de> for PARAM_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for GpsInputIgnoreFlags"],["impl<'de> Deserialize<'de> for GIMBAL_MANAGER_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for MavCmdAck"],["impl<'de> Deserialize<'de> for DEBUG_FLOAT_ARRAY_DATA"],["impl<'de> Deserialize<'de> for SERIAL_CONTROL_DATA"],["impl<'de> Deserialize<'de> for HIGH_LATENCY2_DATA"],["impl<'de> Deserialize<'de> for AIS_VESSEL_DATA"],["impl<'de> Deserialize<'de> for LOGGING_ACK_DATA"],["impl<'de> Deserialize<'de> for MISSION_CLEAR_ALL_DATA"],["impl<'de> Deserialize<'de> for DEEPSTALL_DATA"],["impl<'de> Deserialize<'de> for SERVO_OUTPUT_RAW_DATA"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl<'de> Deserialize<'de> for CameraCapFlags"],["impl<'de> Deserialize<'de> for LOG_REQUEST_LIST_DATA"],["impl<'de> Deserialize<'de> for TIMESYNC_DATA"],["impl<'de> Deserialize<'de> for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl<'de> Deserialize<'de> for CellularStatusFlag"],["impl<'de> Deserialize<'de> for CUBEPILOT_RAW_RC_DATA"],["impl<'de> Deserialize<'de> for MESSAGE_INTERVAL_DATA"],["impl<'de> Deserialize<'de> for UavcanNodeMode"],["impl<'de> Deserialize<'de> for MotorTestThrottleType"],["impl<'de> Deserialize<'de> for MavCollisionAction"],["impl<'de> Deserialize<'de> for OPEN_DRONE_ID_LOCATION_DATA"],["impl<'de> Deserialize<'de> for GoproProtuneExposure"],["impl<'de> Deserialize<'de> for MavComponent"],["impl<'de> Deserialize<'de> for UavionixAdsbRfHealth"],["impl<'de> Deserialize<'de> for RallyFlags"],["impl<'de> Deserialize<'de> for WIFI_CONFIG_AP_DATA"],["impl<'de> Deserialize<'de> for GLOBAL_POSITION_INT_COV_DATA"],["impl<'de> Deserialize<'de> for FLIGHT_INFORMATION_DATA"],["impl<'de> Deserialize<'de> for PING_DATA"]], "serde":[] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/serde/ser/trait.Serialize.js b/trait.impl/serde/ser/trait.Serialize.js index e300f53b01..1e5b8d91c4 100644 --- a/trait.impl/serde/ser/trait.Serialize.js +++ b/trait.impl/serde/ser/trait.Serialize.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"mavlink":[["impl Serialize for PrecisionLandMode"],["impl Serialize for EXTENDED_SYS_STATE_DATA"],["impl Serialize for SerialControlFlag"],["impl Serialize for HIL_STATE_DATA"],["impl Serialize for GPS_RTK_DATA"],["impl Serialize for UtmDataAvailFlags"],["impl Serialize for GPS_RTK_DATA"],["impl Serialize for MavBatteryFunction"],["impl Serialize for ENCAPSULATED_DATA_DATA"],["impl Serialize for HIL_GPS_DATA"],["impl Serialize for MavOdidUaType"],["impl Serialize for CAN_FILTER_MODIFY_DATA"],["impl Serialize for MOUNT_ORIENTATION_DATA"],["impl Serialize for UavionixAdsbOutCfgGpsOffsetLon"],["impl Serialize for OBSTACLE_DISTANCE_DATA"],["impl Serialize for PROTOCOL_VERSION_DATA"],["impl Serialize for COMPONENT_INFORMATION_DATA"],["impl Serialize for REQUEST_EVENT_DATA"],["impl Serialize for ADSB_VEHICLE_DATA"],["impl Serialize for CAN_FRAME_DATA"],["impl Serialize for RC_CHANNELS_DATA"],["impl Serialize for MavArmAuthDeniedReason"],["impl Serialize for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Serialize for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Serialize for ESC_TELEMETRY_1_TO_4_DATA"],["impl Serialize for DEVICE_OP_READ_DATA"],["impl Serialize for PLAY_TUNE_V2_DATA"],["impl Serialize for HlFailureFlag"],["impl Serialize for MavEventErrorReason"],["impl Serialize for ActuatorOutputFunction"],["impl Serialize for TERRAIN_DATA_DATA"],["impl Serialize for ParachuteAction"],["impl Serialize for GimbalDeviceFlags"],["impl Serialize for GPS_RTCM_DATA_DATA"],["impl Serialize for TuneFormat"],["impl Serialize for PARAM_REQUEST_LIST_DATA"],["impl Serialize for DATA64_DATA"],["impl Serialize for EXTENDED_SYS_STATE_DATA"],["impl Serialize for GimbalManagerFlags"],["impl Serialize for GimbalAxis"],["impl Serialize for GPS_RAW_INT_DATA"],["impl Serialize for DATA96_DATA"],["impl Serialize for ATTITUDE_QUATERNION_DATA"],["impl Serialize for WifiConfigApResponse"],["impl Serialize for MEMINFO_DATA"],["impl Serialize for GripperActions"],["impl Serialize for GripperActions"],["impl Serialize for ENCAPSULATED_DATA_DATA"],["impl Serialize for MavWinchStatusFlag"],["impl Serialize for WHEEL_DISTANCE_DATA"],["impl Serialize for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Serialize for HIL_RC_INPUTS_RAW_DATA"],["impl Serialize for MANUAL_CONTROL_DATA"],["impl Serialize for AUTOPILOT_VERSION_DATA"],["impl Serialize for CAMERA_TRIGGER_DATA"],["impl Serialize for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Serialize for MavGeneratorStatusFlag"],["impl Serialize for MavDoRepositionFlags"],["impl Serialize for MavBatteryMode"],["impl Serialize for LOGGING_DATA_ACKED_DATA"],["impl Serialize for MavOdidHeightRef"],["impl Serialize for MavOdidClassificationType"],["impl Serialize for HIGH_LATENCY_DATA"],["impl Serialize for HEARTBEAT_DATA"],["impl Serialize for MavlinkDataStreamType"],["impl Serialize for CopterMode"],["impl Serialize for PLAY_TUNE_DATA"],["impl Serialize for CanFilterOp"],["impl Serialize for CAMERA_TRIGGER_DATA"],["impl Serialize for MavTunnelPayloadType"],["impl Serialize for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Serialize for COMMAND_INT_DATA"],["impl Serialize for MavSysStatusSensor"],["impl Serialize for MISSION_REQUEST_LIST_DATA"],["impl Serialize for HIL_SENSOR_DATA"],["impl Serialize for DATA_STREAM_DATA"],["impl Serialize for MISSION_CLEAR_ALL_DATA"],["impl Serialize for MISSION_ACK_DATA"],["impl Serialize for RADIO_STATUS_DATA"],["impl Serialize for GPS_INJECT_DATA_DATA"],["impl Serialize for MavBatteryChargeState"],["impl Serialize for STATUSTEXT_DATA"],["impl Serialize for HighresImuUpdatedFlags"],["impl Serialize for PLAY_TUNE_DATA"],["impl Serialize for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Serialize for ESTIMATOR_STATUS_DATA"],["impl Serialize for SerialControlFlag"],["impl Serialize for WIFI_CONFIG_AP_DATA"],["impl Serialize for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Serialize for AttitudeTargetTypemask"],["impl Serialize for HIGH_LATENCY_DATA"],["impl Serialize for PARAM_EXT_REQUEST_READ_DATA"],["impl Serialize for SerialControlDev"],["impl Serialize for NAV_CONTROLLER_OUTPUT_DATA"],["impl Serialize for GPS_RTK_DATA"],["impl Serialize for DIGICAM_CONFIGURE_DATA"],["impl Serialize for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Serialize for MavEstimatorType"],["impl Serialize for FenceBreach"],["impl Serialize for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl Serialize for FailureUnit"],["impl Serialize for CompMetadataType"],["impl Serialize for MavFtpErr"],["impl Serialize for CAMERA_CAPTURE_STATUS_DATA"],["impl Serialize for MavBatteryType"],["impl Serialize for PARAM_MAP_RC_DATA"],["impl Serialize for RcType"],["impl Serialize for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Serialize for NavVtolLandOptions"],["impl Serialize for GoproVideoSettingsFlags"],["impl Serialize for MavBatteryFault"],["impl Serialize for CAMERA_STATUS_DATA"],["impl Serialize for BATTERY_STATUS_DATA"],["impl Serialize for AisType"],["impl Serialize for CellularNetworkFailedReason"],["impl Serialize for FenceMitigate"],["impl Serialize for PositionTargetTypemask"],["impl Serialize for OBSTACLE_DISTANCE_DATA"],["impl Serialize for ActuatorOutputFunction"],["impl Serialize for UavionixAdsbOutDynamicState"],["impl Serialize for CURRENT_EVENT_SEQUENCE_DATA"],["impl Serialize for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Serialize for PARAM_EXT_REQUEST_READ_DATA"],["impl Serialize for LOG_DATA_DATA"],["impl Serialize for CAN_FILTER_MODIFY_DATA"],["impl Serialize for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Serialize for SYSTEM_TIME_DATA"],["impl Serialize for GimbalDeviceCapFlags"],["impl Serialize for FILE_TRANSFER_PROTOCOL_DATA"],["impl Serialize for CameraMode"],["impl Serialize for CAMERA_INFORMATION_DATA"],["impl Serialize for GPS2_RTK_DATA"],["impl Serialize for MavFrame"],["impl Serialize for MavOdidDescType"],["impl Serialize for VtolTransitionHeading"],["impl Serialize for MCU_STATUS_DATA"],["impl Serialize for LINK_NODE_STATUS_DATA"],["impl Serialize for MavAutopilot"],["impl Serialize for DEEPSTALL_DATA"],["impl Serialize for MavOdidStatus"],["impl Serialize for HIL_STATE_DATA"],["impl Serialize for GPS2_RTK_DATA"],["impl Serialize for GPS_STATUS_DATA"],["impl Serialize for EVENT_DATA"],["impl Serialize for MavCollisionSrc"],["impl Serialize for RC_CHANNELS_RAW_DATA"],["impl Serialize for StorageUsageFlag"],["impl Serialize for StorageStatus"],["impl Serialize for LimitModule"],["impl Serialize for RESPONSE_EVENT_ERROR_DATA"],["impl Serialize for COMMAND_CANCEL_DATA"],["impl Serialize for MavSeverity"],["impl Serialize for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Serialize for MavCollisionThreatLevel"],["impl Serialize for MavMountMode"],["impl Serialize for FENCE_POINT_DATA"],["impl Serialize for MOUNT_ORIENTATION_DATA"],["impl Serialize for LOGGING_ACK_DATA"],["impl Serialize for SET_HOME_POSITION_DATA"],["impl Serialize for RAW_IMU_DATA"],["impl Serialize for GimbalDeviceFlags"],["impl Serialize for LandingTargetType"],["impl Serialize for AisFlags"],["impl Serialize for MavParamExtType"],["impl Serialize for WifiConfigApMode"],["impl Serialize for WHEEL_DISTANCE_DATA"],["impl Serialize for ActuatorConfiguration"],["impl Serialize for MavOdidOperatorLocationType"],["impl Serialize for MagCalStatus"],["impl Serialize for PreflightStorageMissionAction"],["impl Serialize for MavOdidTimeAcc"],["impl Serialize for UAVCAN_NODE_STATUS_DATA"],["impl Serialize for CellularNetworkRadioType"],["impl Serialize for MavMissionType"],["impl Serialize for UavcanNodeMode"],["impl Serialize for MavOdidUaType"],["impl Serialize for MavOdidClassEu"],["impl Serialize for FenceMitigate"],["impl Serialize for ESC_STATUS_DATA"],["impl Serialize for VideoStreamType"],["impl Serialize for OPEN_DRONE_ID_LOCATION_DATA"],["impl Serialize for PositionTargetTypemask"],["impl Serialize for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Serialize for CELLULAR_STATUS_DATA"],["impl Serialize for LOCAL_POSITION_NED_DATA"],["impl Serialize for LOG_ERASE_DATA"],["impl Serialize for COMMAND_CANCEL_DATA"],["impl Serialize for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Serialize for HIGH_LATENCY2_DATA"],["impl Serialize for MavOdidIdType"],["impl Serialize for MavOdidIdType"],["impl Serialize for SAFETY_ALLOWED_AREA_DATA"],["impl Serialize for SetFocusType"],["impl Serialize for MavSensorOrientation"],["impl Serialize for GoproModel"],["impl Serialize for EscConnectionType"],["impl Serialize for OPTICAL_FLOW_RAD_DATA"],["impl Serialize for RAW_RPM_DATA"],["impl Serialize for MavOdidArmStatus"],["impl Serialize for UavionixAdsbOutRfSelect"],["impl Serialize for VISION_SPEED_ESTIMATE_DATA"],["impl Serialize for NAMED_VALUE_FLOAT_DATA"],["impl Serialize for CameraTrackingStatusFlags"],["impl Serialize for COMMAND_ACK_DATA"],["impl Serialize for MavTunnelPayloadType"],["impl Serialize for MOUNT_ORIENTATION_DATA"],["impl Serialize for MavRoi"],["impl Serialize for MavOdidStatus"],["impl Serialize for VISION_POSITION_ESTIMATE_DATA"],["impl Serialize for HYGROMETER_SENSOR_DATA"],["impl Serialize for MANUAL_CONTROL_DATA"],["impl Serialize for RC_CHANNELS_DATA"],["impl Serialize for HIGH_LATENCY_DATA"],["impl Serialize for PLAY_TUNE_DATA"],["impl Serialize for GoproFrameRate"],["impl Serialize for MavOdidOperatorIdType"],["impl Serialize for LOG_ERASE_DATA"],["impl Serialize for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Serialize for ORBIT_EXECUTION_STATUS_DATA"],["impl Serialize for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Serialize for MavLandedState"],["impl Serialize for LandingTargetType"],["impl Serialize for HIL_OPTICAL_FLOW_DATA"],["impl Serialize for ICAROUS_HEARTBEAT_DATA"],["impl Serialize for ActuatorOutputFunction"],["impl Serialize for RESOURCE_REQUEST_DATA"],["impl Serialize for VtolTransitionHeading"],["impl Serialize for WinchActions"],["impl Serialize for SpeedType"],["impl Serialize for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Serialize for HIL_RC_INPUTS_RAW_DATA"],["impl Serialize for COMPONENT_METADATA_DATA"],["impl Serialize for VICON_POSITION_ESTIMATE_DATA"],["impl Serialize for MavBatteryFault"],["impl Serialize for WINCH_STATUS_DATA"],["impl Serialize for GPS_INJECT_DATA_DATA"],["impl Serialize for STATUSTEXT_DATA"],["impl Serialize for MavHeader"],["impl Serialize for DeepstallStage"],["impl Serialize for CONTROL_SYSTEM_STATE_DATA"],["impl Serialize for OPTICAL_FLOW_DATA"],["impl Serialize for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Serialize for MissionState"],["impl Serialize for ORBIT_EXECUTION_STATUS_DATA"],["impl Serialize for MavType"],["impl Serialize for VISION_POSITION_DELTA_DATA"],["impl Serialize for MotorTestThrottleType"],["impl Serialize for LimitsState"],["impl Serialize for TERRAIN_DATA_DATA"],["impl Serialize for GIMBAL_MANAGER_STATUS_DATA"],["impl Serialize for MISSION_COUNT_DATA"],["impl Serialize for ACTUATOR_CONTROL_TARGET_DATA"],["impl Serialize for MavEventCurrentSequenceFlags"],["impl Serialize for VFR_HUD_DATA"],["impl Serialize for OrbitYawBehaviour"],["impl Serialize for UavionixAdsbOutCfgAircraftSize"],["impl Serialize for AutotuneAxis"],["impl Serialize for GpsFixType"],["impl Serialize for GPS2_RAW_DATA"],["impl Serialize for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Serialize for LOG_REQUEST_DATA_DATA"],["impl Serialize for MavMissionResult"],["impl Serialize for PING_DATA"],["impl Serialize for MavOdidVerAcc"],["impl Serialize for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Serialize for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Serialize for HIL_GPS_DATA"],["impl Serialize for CellularNetworkFailedReason"],["impl Serialize for CAMERA_SETTINGS_DATA"],["impl Serialize for StorageType"],["impl Serialize for LIMITS_STATUS_DATA"],["impl Serialize for UavionixAdsbOutDynamicGpsFix"],["impl Serialize for UAVCAN_NODE_INFO_DATA"],["impl Serialize for CAN_FILTER_MODIFY_DATA"],["impl Serialize for GimbalManagerCapFlags"],["impl Serialize for GENERATOR_STATUS_DATA"],["impl Serialize for RC_CHANNELS_OVERRIDE_DATA"],["impl Serialize for PROTOCOL_VERSION_DATA"],["impl Serialize for RESPONSE_EVENT_ERROR_DATA"],["impl Serialize for HOME_POSITION_DATA"],["impl Serialize for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Serialize for ESTIMATOR_STATUS_DATA"],["impl Serialize for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Serialize for MavOdidArmStatus"],["impl Serialize for GimbalAxisCalibrationStatus"],["impl Serialize for CAN_FRAME_DATA"],["impl Serialize for SYS_STATUS_DATA"],["impl Serialize for PlaneMode"],["impl Serialize for CAMERA_SETTINGS_DATA"],["impl Serialize for LOG_ENTRY_DATA"],["impl Serialize for ESC_TELEMETRY_5_TO_8_DATA"],["impl Serialize for ActuatorConfiguration"],["impl Serialize for MavDistanceSensor"],["impl Serialize for MavMissionType"],["impl Serialize for TIMESYNC_DATA"],["impl Serialize for AIS_VESSEL_DATA"],["impl Serialize for ATT_POS_MOCAP_DATA"],["impl Serialize for LINK_NODE_STATUS_DATA"],["impl Serialize for RANGEFINDER_DATA"],["impl Serialize for MISSION_ITEM_REACHED_DATA"],["impl Serialize for CameraTrackingMode"],["impl Serialize for PARAM_EXT_REQUEST_LIST_DATA"],["impl Serialize for TERRAIN_DATA_DATA"],["impl Serialize for MavDistanceSensor"],["impl Serialize for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Serialize for MOUNT_CONTROL_DATA"],["impl Serialize for GOPRO_SET_REQUEST_DATA"],["impl Serialize for SMART_BATTERY_INFO_DATA"],["impl Serialize for GOPRO_HEARTBEAT_DATA"],["impl Serialize for MavMode"],["impl Serialize for SCALED_IMU_DATA"],["impl Serialize for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Serialize for ALTITUDE_DATA"],["impl Serialize for DeviceOpBustype"],["impl Serialize for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Serialize for MAG_CAL_PROGRESS_DATA"],["impl Serialize for UAVCAN_NODE_INFO_DATA"],["impl Serialize for ESC_INFO_DATA"],["impl Serialize for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Serialize for COMMAND_ACK_DATA"],["impl Serialize for MavOdidOperatorIdType"],["impl Serialize for MISSION_REQUEST_DATA"],["impl Serialize for UavcanNodeMode"],["impl Serialize for GPS_RAW_INT_DATA"],["impl Serialize for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Serialize for MavFtpOpcode"],["impl Serialize for SCALED_PRESSURE3_DATA"],["impl Serialize for SAFETY_ALLOWED_AREA_DATA"],["impl Serialize for OsdParamConfigType"],["impl Serialize for GimbalDeviceErrorFlags"],["impl Serialize for OrbitYawBehaviour"],["impl Serialize for GimbalManagerFlags"],["impl Serialize for GoproProtuneColour"],["impl Serialize for GoproBurstRate"],["impl Serialize for ATTITUDE_DATA"],["impl Serialize for MavOdidVerAcc"],["impl Serialize for SIM_STATE_DATA"],["impl Serialize for CAMERA_TRIGGER_DATA"],["impl Serialize for CONTROL_SYSTEM_STATE_DATA"],["impl Serialize for TrackerMode"],["impl Serialize for STORAGE_INFORMATION_DATA"],["impl Serialize for MavOdidSpeedAcc"],["impl Serialize for HighresImuUpdatedFlags"],["impl Serialize for MISSION_REQUEST_LIST_DATA"],["impl Serialize for MavState"],["impl Serialize for HIL_OPTICAL_FLOW_DATA"],["impl Serialize for GOPRO_SET_RESPONSE_DATA"],["impl Serialize for MEMORY_VECT_DATA"],["impl Serialize for NAMED_VALUE_FLOAT_DATA"],["impl Serialize for DEVICE_OP_WRITE_REPLY_DATA"],["impl Serialize for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Serialize for RtkBaselineCoordinateSystem"],["impl Serialize for DISTANCE_SENSOR_DATA"],["impl Serialize for UavionixAdsbRfHealth"],["impl Serialize for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Serialize for MavlinkDataStreamType"],["impl Serialize for MavOdidCategoryEu"],["impl Serialize for AisNavStatus"],["impl Serialize for TIMESYNC_DATA"],["impl Serialize for AisNavStatus"],["impl Serialize for MavBatteryMode"],["impl Serialize for CAN_FRAME_DATA"],["impl Serialize for GIMBAL_CONTROL_DATA"],["impl Serialize for CAMERA_FOV_STATUS_DATA"],["impl Serialize for SET_HOME_POSITION_DATA"],["impl Serialize for HIL_STATE_QUATERNION_DATA"],["impl Serialize for COMPONENT_INFORMATION_DATA"],["impl Serialize for StorageUsageFlag"],["impl Serialize for TERRAIN_REQUEST_DATA"],["impl Serialize for NAMED_VALUE_INT_DATA"],["impl Serialize for SCALED_IMU3_DATA"],["impl Serialize for UavionixAdsbOutCfgGpsOffsetLat"],["impl Serialize for PARAM_SET_DATA"],["impl Serialize for MavArmAuthDeniedReason"],["impl Serialize for HOME_POSITION_DATA"],["impl Serialize for MavEstimatorType"],["impl Serialize for CellularConfigResponse"],["impl Serialize for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Serialize for ATT_POS_MOCAP_DATA"],["impl Serialize for DEBUG_VECT_DATA"],["impl Serialize for MEMORY_VECT_DATA"],["impl Serialize for GpsInputIgnoreFlags"],["impl Serialize for MavGeneratorStatusFlag"],["impl Serialize for MavDistanceSensor"],["impl Serialize for MavOdidHeightRef"],["impl Serialize for UavionixAdsbOutDynamicState"],["impl Serialize for PARAM_EXT_SET_DATA"],["impl Serialize for PARAM_EXT_VALUE_DATA"],["impl Serialize for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Serialize for VIDEO_STREAM_INFORMATION_DATA"],["impl Serialize for EFI_STATUS_DATA"],["impl Serialize for TERRAIN_REQUEST_DATA"],["impl Serialize for MavResult"],["impl Serialize for HilSensorUpdatedFlags"],["impl Serialize for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Serialize for RallyFlags"],["impl Serialize for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Serialize for MOUNT_CONFIGURE_DATA"],["impl Serialize for COMPONENT_METADATA_DATA"],["impl Serialize for CHANGE_OPERATOR_CONTROL_DATA"],["impl Serialize for SYS_STATUS_DATA"],["impl Serialize for GOPRO_GET_RESPONSE_DATA"],["impl Serialize for MavBatteryMode"],["impl Serialize for MavSeverity"],["impl Serialize for ParachuteAction"],["impl Serialize for GIMBAL_MANAGER_STATUS_DATA"],["impl Serialize for NAMED_VALUE_INT_DATA"],["impl Serialize for MISSION_REQUEST_INT_DATA"],["impl Serialize for VIDEO_STREAM_STATUS_DATA"],["impl Serialize for VISION_SPEED_ESTIMATE_DATA"],["impl Serialize for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Serialize for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Serialize for VIBRATION_DATA"],["impl Serialize for MissionState"],["impl Serialize for MavGeneratorStatusFlag"],["impl Serialize for SETUP_SIGNING_DATA"],["impl Serialize for REQUEST_EVENT_DATA"],["impl Serialize for MavOdidSpeedAcc"],["impl Serialize for CELLULAR_CONFIG_DATA"],["impl Serialize for VISION_POSITION_ESTIMATE_DATA"],["impl Serialize for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Serialize for MavGoto"],["impl Serialize for AIRSPEED_AUTOCAL_DATA"],["impl Serialize for MISSION_ITEM_DATA"],["impl Serialize for TUNNEL_DATA"],["impl Serialize for BATTERY_STATUS_DATA"],["impl Serialize for MavSensorOrientation"],["impl Serialize for StorageType"],["impl Serialize for MavCmd"],["impl Serialize for MavResult"],["impl Serialize for FirmwareVersionType"],["impl Serialize for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Serialize for RC_CHANNELS_SCALED_DATA"],["impl Serialize for GimbalDeviceErrorFlags"],["impl Serialize for LOG_REQUEST_DATA_DATA"],["impl Serialize for HIL_STATE_QUATERNION_DATA"],["impl Serialize for EstimatorStatusFlags"],["impl Serialize for MavSysStatusSensorExtended"],["impl Serialize for MavOdidOperatorLocationType"],["impl Serialize for MavGoto"],["impl Serialize for AdsbEmitterType"],["impl Serialize for MavParamExtType"],["impl Serialize for CameraTrackingMode"],["impl Serialize for FenceBreach"],["impl Serialize for NavVtolLandOptions"],["impl Serialize for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Serialize for AUTH_KEY_DATA"],["impl Serialize for GoproCharging"],["impl Serialize for SMART_BATTERY_INFO_DATA"],["impl Serialize for ONBOARD_COMPUTER_STATUS_DATA"],["impl Serialize for VideoStreamStatusFlags"],["impl Serialize for VICON_POSITION_ESTIMATE_DATA"],["impl Serialize for ParamAck"],["impl Serialize for ATTITUDE_QUATERNION_DATA"],["impl Serialize for MavBatteryFunction"],["impl Serialize for SetFocusType"],["impl Serialize for MavMissionResult"],["impl Serialize for DIGICAM_CONTROL_DATA"],["impl Serialize for LINK_NODE_STATUS_DATA"],["impl Serialize for PreflightStorageMissionAction"],["impl Serialize for ParamAck"],["impl Serialize for MavCmdDoAuxFunctionSwitchLevel"],["impl Serialize for MEMORY_VECT_DATA"],["impl Serialize for VIDEO_STREAM_STATUS_DATA"],["impl Serialize for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Serialize for TIMESYNC_DATA"],["impl Serialize for GPS2_RAW_DATA"],["impl Serialize for MotorTestOrder"],["impl Serialize for EXTENDED_SYS_STATE_DATA"],["impl Serialize for GimbalDeviceCapFlags"],["impl Serialize for WATER_DEPTH_DATA"],["impl Serialize for PARAM_REQUEST_READ_DATA"],["impl Serialize for GimbalManagerFlags"],["impl Serialize for MavMode"],["impl Serialize for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Serialize for EstimatorStatusFlags"],["impl Serialize for ActuatorConfiguration"],["impl Serialize for MISSION_CURRENT_DATA"],["impl Serialize for CameraCapFlags"],["impl Serialize for MAG_CAL_REPORT_DATA"],["impl Serialize for MavlinkVersion"],["impl Serialize for AttitudeTargetTypemask"],["impl Serialize for GPS2_RAW_DATA"],["impl Serialize for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Serialize for LOGGING_DATA_ACKED_DATA"],["impl Serialize for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Serialize for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Serialize for COMMAND_LONG_DATA"],["impl Serialize for OPTICAL_FLOW_DATA"],["impl Serialize for CAMERA_FEEDBACK_DATA"],["impl Serialize for MagCalStatus"],["impl Serialize for TERRAIN_REPORT_DATA"],["impl Serialize for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Serialize for AHRS2_DATA"],["impl Serialize for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Serialize for MavOdidClassificationType"],["impl Serialize for MavOdidTimeAcc"],["impl Serialize for RcType"],["impl Serialize for GimbalAxisCalibrationRequired"],["impl Serialize for HIL_GPS_DATA"],["impl Serialize for MavFtpOpcode"],["impl Serialize for MISSION_CLEAR_ALL_DATA"],["impl Serialize for V2_EXTENSION_DATA"],["impl Serialize for MavOdidAuthType"],["impl Serialize for MavWinchStatusFlag"],["impl Serialize for MISSION_COUNT_DATA"],["impl Serialize for AutotuneAxis"],["impl Serialize for MavProtocolCapability"],["impl Serialize for SCALED_PRESSURE_DATA"],["impl Serialize for HIL_CONTROLS_DATA"],["impl Serialize for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Serialize for UtmDataAvailFlags"],["impl Serialize for PARAM_EXT_ACK_DATA"],["impl Serialize for DEBUG_FLOAT_ARRAY_DATA"],["impl Serialize for AttitudeTargetTypemask"],["impl Serialize for RC_CHANNELS_SCALED_DATA"],["impl Serialize for RtkBaselineCoordinateSystem"],["impl Serialize for SERVO_OUTPUT_RAW_DATA"],["impl Serialize for SERVO_OUTPUT_RAW_DATA"],["impl Serialize for FailureType"],["impl Serialize for RAW_PRESSURE_DATA"],["impl Serialize for EKF_STATUS_REPORT_DATA"],["impl Serialize for MavType"],["impl Serialize for CameraTrackingTargetData"],["impl Serialize for CellularStatusFlag"],["impl Serialize for MotorTestThrottleType"],["impl Serialize for ODOMETRY_DATA"],["impl Serialize for PARAM_VALUE_DATA"],["impl Serialize for HIGHRES_IMU_DATA"],["impl Serialize for DATA_STREAM_DATA"],["impl Serialize for RESPONSE_EVENT_ERROR_DATA"],["impl Serialize for AdsbAltitudeType"],["impl Serialize for MISSION_SET_CURRENT_DATA"],["impl Serialize for MavDoRepositionFlags"],["impl Serialize for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Serialize for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Serialize for SYSTEM_TIME_DATA"],["impl Serialize for LOG_ENTRY_DATA"],["impl Serialize for MagCalStatus"],["impl Serialize for PARAM_EXT_REQUEST_READ_DATA"],["impl Serialize for ESC_STATUS_DATA"],["impl Serialize for UTM_GLOBAL_POSITION_DATA"],["impl Serialize for ADSB_VEHICLE_DATA"],["impl Serialize for ONBOARD_COMPUTER_STATUS_DATA"],["impl Serialize for MavFtpErr"],["impl Serialize for MISSION_REQUEST_DATA"],["impl Serialize for NAMED_VALUE_FLOAT_DATA"],["impl Serialize for SCALED_IMU3_DATA"],["impl Serialize for LOG_REQUEST_END_DATA"],["impl Serialize for MavModeFlag"],["impl Serialize for CELLULAR_STATUS_DATA"],["impl Serialize for GPS_STATUS_DATA"],["impl Serialize for HIL_RC_INPUTS_RAW_DATA"],["impl Serialize for HIL_CONTROLS_DATA"],["impl Serialize for LOCAL_POSITION_NED_DATA"],["impl Serialize for LOGGING_ACK_DATA"],["impl Serialize for SET_MODE_DATA"],["impl Serialize for ATTITUDE_TARGET_DATA"],["impl Serialize for UavionixAdsbEmergencyStatus"],["impl Serialize for UtmDataAvailFlags"],["impl Serialize for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Serialize for PING_DATA"],["impl Serialize for MavWinchStatusFlag"],["impl Serialize for CellularConfigResponse"],["impl Serialize for RESOURCE_REQUEST_DATA"],["impl Serialize for WINCH_STATUS_DATA"],["impl Serialize for SCALED_IMU2_DATA"],["impl Serialize for WINCH_STATUS_DATA"],["impl Serialize for UtmFlightState"],["impl Serialize for NAV_CONTROLLER_OUTPUT_DATA"],["impl Serialize for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Serialize for BUTTON_CHANGE_DATA"],["impl Serialize for MavOdidCategoryEu"],["impl Serialize for MavOdidOperatorIdType"],["impl Serialize for FenceAction"],["impl Serialize for SET_ATTITUDE_TARGET_DATA"],["impl Serialize for AdsbFlags"],["impl Serialize for TERRAIN_REQUEST_DATA"],["impl Serialize for SCALED_PRESSURE_DATA"],["impl Serialize for FENCE_STATUS_DATA"],["impl Serialize for HeadingType"],["impl Serialize for COLLISION_DATA"],["impl Serialize for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl Serialize for WIND_COV_DATA"],["impl Serialize for MavOdidHorAcc"],["impl Serialize for MavCmdAck"],["impl Serialize for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Serialize for MavOdidAuthType"],["impl Serialize for CAMERA_IMAGE_CAPTURED_DATA"],["impl Serialize for UavionixAdsbOutCfgGpsOffsetLon"],["impl Serialize for CAMERA_INFORMATION_DATA"],["impl Serialize for DISTANCE_SENSOR_DATA"],["impl Serialize for COMMAND_CANCEL_DATA"],["impl Serialize for DEBUG_DATA"],["impl Serialize for MISSION_ITEM_REACHED_DATA"],["impl Serialize for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Serialize for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Serialize for HIL_CONTROLS_DATA"],["impl Serialize for LOG_REQUEST_END_DATA"],["impl Serialize for DATA32_DATA"],["impl Serialize for SCALED_PRESSURE2_DATA"],["impl Serialize for CANFD_FRAME_DATA"],["impl Serialize for PreflightStorageMissionAction"],["impl Serialize for FLIGHT_INFORMATION_DATA"],["impl Serialize for ACTUATOR_CONTROL_TARGET_DATA"],["impl Serialize for SerialControlDev"],["impl Serialize for MISSION_ACK_DATA"],["impl Serialize for SIM_STATE_DATA"],["impl Serialize for LOCAL_POSITION_NED_DATA"],["impl Serialize for MavOdidAuthType"],["impl Serialize for MavVtolState"],["impl Serialize for MavSysStatusSensor"],["impl Serialize for ODOMETRY_DATA"],["impl Serialize for MavState"],["impl Serialize for GoproProtuneGain"],["impl Serialize for DATA16_DATA"],["impl Serialize for MavFrame"],["impl Serialize for LANDING_TARGET_DATA"],["impl Serialize for MavParamExtType"],["impl Serialize for PARAM_EXT_SET_DATA"],["impl Serialize for MavOdidClassEu"],["impl Serialize for WIFI_CONFIG_AP_DATA"],["impl Serialize for MavCmd"],["impl Serialize for GoproCaptureMode"],["impl Serialize for AisFlags"],["impl Serialize for CELLULAR_CONFIG_DATA"],["impl Serialize for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Serialize for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Serialize for MavMissionResult"],["impl Serialize for RALLY_FETCH_POINT_DATA"],["impl Serialize for SCALED_PRESSURE3_DATA"],["impl Serialize for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Serialize for RC_CHANNELS_SCALED_DATA"],["impl Serialize for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Serialize for OBSTACLE_DISTANCE_DATA"],["impl Serialize for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Serialize for MavVtolState"],["impl Serialize for MISSION_REQUEST_INT_DATA"],["impl Serialize for POSITION_TARGET_LOCAL_NED_DATA"],["impl Serialize for LOGGING_DATA_DATA"],["impl Serialize for MavOdidCategoryEu"],["impl Serialize for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Serialize for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Serialize for MavFtpErr"],["impl Serialize for PARAM_SET_DATA"],["impl Serialize for SMART_BATTERY_INFO_DATA"],["impl Serialize for HIL_STATE_DATA"],["impl Serialize for MavComponent"],["impl Serialize for MavModeFlagDecodePosition"],["impl Serialize for CellularNetworkFailedReason"],["impl Serialize for LOG_REQUEST_LIST_DATA"],["impl Serialize for SET_MODE_DATA"],["impl Serialize for STATUSTEXT_DATA"],["impl Serialize for MavDataStream"],["impl Serialize for VideoStreamStatusFlags"],["impl Serialize for CompMetadataType"],["impl Serialize for ODOMETRY_DATA"],["impl Serialize for GPS_INPUT_DATA"],["impl Serialize for HIL_ACTUATOR_CONTROLS_DATA"],["impl Serialize for MANUAL_SETPOINT_DATA"],["impl Serialize for MavParamType"],["impl Serialize for POWER_STATUS_DATA"],["impl Serialize for LOCAL_POSITION_NED_COV_DATA"],["impl Serialize for ESTIMATOR_STATUS_DATA"],["impl Serialize for GoproCommand"],["impl Serialize for TERRAIN_CHECK_DATA"],["impl Serialize for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Serialize for MISSION_ITEM_DATA"],["impl Serialize for IcarousFmsState"],["impl Serialize for MISSION_ITEM_INT_DATA"],["impl Serialize for UAVCAN_NODE_INFO_DATA"],["impl Serialize for MavCmdAck"],["impl Serialize for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Serialize for HEARTBEAT_DATA"],["impl Serialize for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Serialize for SETUP_SIGNING_DATA"],["impl Serialize for MavEventCurrentSequenceFlags"],["impl Serialize for MavFtpOpcode"],["impl Serialize for RC_CHANNELS_DATA"],["impl Serialize for MavComponent"],["impl Serialize for GPS_INPUT_DATA"],["impl Serialize for AUTH_KEY_DATA"],["impl Serialize for PARAM_REQUEST_LIST_DATA"],["impl Serialize for EscFailureFlags"],["impl Serialize for SCALED_IMU_DATA"],["impl Serialize for UavcanNodeHealth"],["impl Serialize for GripperActions"],["impl Serialize for BUTTON_CHANGE_DATA"],["impl Serialize for GIMBAL_REPORT_DATA"],["impl Serialize for ATTITUDE_DATA"],["impl Serialize for UavionixAdsbRfHealth"],["impl Serialize for GLOBAL_POSITION_INT_COV_DATA"],["impl Serialize for CANFD_FRAME_DATA"],["impl Serialize for PARAM_MAP_RC_DATA"],["impl Serialize for MavCollisionAction"],["impl Serialize for AUTOPILOT_VERSION_DATA"],["impl Serialize for DISTANCE_SENSOR_DATA"],["impl Serialize for ESC_INFO_DATA"],["impl Serialize for MISSION_SET_CURRENT_DATA"],["impl Serialize for GimbalDeviceFlags"],["impl Serialize for PLAY_TUNE_V2_DATA"],["impl Serialize for RAW_PRESSURE_DATA"],["impl Serialize for RAW_IMU_DATA"],["impl Serialize for FENCE_FETCH_POINT_DATA"],["impl Serialize for UtmFlightState"],["impl Serialize for MESSAGE_INTERVAL_DATA"],["impl Serialize for MavMessage"],["impl Serialize for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl Serialize for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Serialize for DATA_STREAM_DATA"],["impl Serialize for PROTOCOL_VERSION_DATA"],["impl Serialize for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Serialize for UavionixAdsbOutDynamicGpsFix"],["impl Serialize for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Serialize for PrecisionLandMode"],["impl Serialize for RADIO_STATUS_DATA"],["impl Serialize for HIL_ACTUATOR_CONTROLS_DATA"],["impl Serialize for MavAutopilot"],["impl Serialize for LOG_ENTRY_DATA"],["impl Serialize for MavSysStatusSensor"],["impl Serialize for PrecisionLandMode"],["impl Serialize for WIND_DATA"],["impl Serialize for UavionixAdsbOutRfSelect"],["impl Serialize for CellularNetworkRadioType"],["impl Serialize for IcarousTrackBandTypes"],["impl Serialize for PARAM_EXT_VALUE_DATA"],["impl Serialize for MavPowerStatus"],["impl Serialize for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Serialize for ESC_STATUS_DATA"],["impl Serialize for GimbalManagerCapFlags"],["impl Serialize for GIMBAL_MANAGER_STATUS_DATA"],["impl Serialize for MavOdidOperatorLocationType"],["impl Serialize for IcarousFmsState"],["impl Serialize for RcType"],["impl Serialize for HEARTBEAT_DATA"],["impl Serialize for FOLLOW_TARGET_DATA"],["impl Serialize for LANDING_TARGET_DATA"],["impl Serialize for MavModeFlag"],["impl Serialize for OPEN_DRONE_ID_LOCATION_DATA"],["impl Serialize for TUNNEL_DATA"],["impl Serialize for MavEstimatorType"],["impl Serialize for COMMAND_LONG_DATA"],["impl Serialize for ATT_POS_MOCAP_DATA"],["impl Serialize for RADIO_STATUS_DATA"],["impl Serialize for FenceMitigate"],["impl Serialize for ISBD_LINK_STATUS_DATA"],["impl Serialize for MavParamType"],["impl Serialize for MISSION_CURRENT_DATA"],["impl Serialize for EVENT_DATA"],["impl Serialize for GENERATOR_STATUS_DATA"],["impl Serialize for LED_CONTROL_DATA"],["impl Serialize for PreflightStorageParameterAction"],["impl Serialize for LOG_DATA_DATA"],["impl Serialize for CameraTrackingStatusFlags"],["impl Serialize for StorageType"],["impl Serialize for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Serialize for AUTH_KEY_DATA"],["impl Serialize for SET_ATTITUDE_TARGET_DATA"],["impl Serialize for VideoStreamType"],["impl Serialize for SYSTEM_TIME_DATA"],["impl Serialize for MavPowerStatus"],["impl Serialize for SET_ATTITUDE_TARGET_DATA"],["impl Serialize for CellularStatusFlag"],["impl Serialize for MavOdidStatus"],["impl Serialize for GLOBAL_POSITION_INT_COV_DATA"],["impl Serialize for MavProtocolCapability"],["impl Serialize for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Serialize for DEBUG_FLOAT_ARRAY_DATA"],["impl Serialize for WinchActions"],["impl Serialize for AHRS_DATA"],["impl Serialize for LOG_REQUEST_LIST_DATA"],["impl Serialize for CameraTrackingStatusFlags"],["impl Serialize for DEVICE_OP_WRITE_DATA"],["impl Serialize for AdsbFlags"],["impl Serialize for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Serialize for MavEventCurrentSequenceFlags"],["impl Serialize for AdsbEmitterType"],["impl Serialize for ParachuteAction"],["impl Serialize for LOG_ERASE_DATA"],["impl Serialize for COLLISION_DATA"],["impl Serialize for LOCAL_POSITION_NED_COV_DATA"],["impl Serialize for WifiConfigApMode"],["impl Serialize for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Serialize for MavModeFlagDecodePosition"],["impl Serialize for EFI_STATUS_DATA"],["impl Serialize for SerialControlDev"],["impl Serialize for GLOBAL_POSITION_INT_DATA"],["impl Serialize for RC_CHANNELS_RAW_DATA"],["impl Serialize for MISSION_REQUEST_DATA"],["impl Serialize for MavCollisionSrc"],["impl Serialize for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Serialize for GoproRequestStatus"],["impl Serialize for RAW_PRESSURE_DATA"],["impl Serialize for MANUAL_SETPOINT_DATA"],["impl Serialize for PID_TUNING_DATA"],["impl Serialize for CellularConfigResponse"],["impl Serialize for COMMAND_ACK_DATA"],["impl Serialize for EkfStatusFlags"],["impl Serialize for MavDataStream"],["impl Serialize for ATTITUDE_TARGET_DATA"],["impl Serialize for GPS_RAW_INT_DATA"],["impl Serialize for MavOdidHorAcc"],["impl Serialize for MavCollisionAction"],["impl Serialize for VideoStreamStatusFlags"],["impl Serialize for FILE_TRANSFER_PROTOCOL_DATA"],["impl Serialize for MavCmd"],["impl Serialize for MANUAL_SETPOINT_DATA"],["impl Serialize for HERELINK_TELEM_DATA"],["impl Serialize for COLLISION_DATA"],["impl Serialize for PARAM_EXT_REQUEST_LIST_DATA"],["impl Serialize for MavSeverity"],["impl Serialize for HYGROMETER_SENSOR_DATA"],["impl Serialize for GoproFieldOfView"],["impl Serialize for MavOdidDescType"],["impl Serialize for SET_HOME_POSITION_DATA"],["impl Serialize for SerialControlFlag"],["impl Serialize for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Serialize for PreflightStorageParameterAction"],["impl Serialize for SCALED_PRESSURE2_DATA"],["impl Serialize for HWSTATUS_DATA"],["impl Serialize for CELLULAR_CONFIG_DATA"],["impl Serialize for MotorTestOrder"],["impl Serialize for CHANGE_OPERATOR_CONTROL_DATA"],["impl Serialize for MavBatteryType"],["impl Serialize for CameraTrackingTargetData"],["impl Serialize for AHRS3_DATA"],["impl Serialize for CAMERA_INFORMATION_DATA"],["impl Serialize for AUTOPILOT_VERSION_REQUEST_DATA"],["impl Serialize for MavOdidArmStatus"],["impl Serialize for PidTuningAxis"],["impl Serialize for MavCollisionThreatLevel"],["impl Serialize for COMMAND_INT_DATA"],["impl Serialize for HIGH_LATENCY2_DATA"],["impl Serialize for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Serialize for VideoStreamType"],["impl Serialize for UavionixAdsbOutCfgGpsOffsetLat"],["impl Serialize for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Serialize for PARAM_EXT_ACK_DATA"],["impl Serialize for BATTERY2_DATA"],["impl Serialize for PARAM_SET_DATA"],["impl Serialize for CompMetadataType"],["impl Serialize for EscFailureFlags"],["impl Serialize for VIBRATION_DATA"],["impl Serialize for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Serialize for MavOdidSpeedAcc"],["impl Serialize for TERRAIN_CHECK_DATA"],["impl Serialize for SIMSTATE_DATA"],["impl Serialize for AdsbAltitudeType"],["impl Serialize for MISSION_ITEM_INT_DATA"],["impl Serialize for MavMode"],["impl Serialize for MavRoi"],["impl Serialize for FenceAction"],["impl Serialize for GoproHeartbeatStatus"],["impl Serialize for V2_EXTENSION_DATA"],["impl Serialize for GPS_GLOBAL_ORIGIN_DATA"],["impl Serialize for CameraStatusTypes"],["impl Serialize for MavCollisionSrc"],["impl Serialize for BATTERY_STATUS_DATA"],["impl Serialize for MavModeFlag"],["impl Serialize for SCALED_PRESSURE_DATA"],["impl Serialize for MISSION_CURRENT_DATA"],["impl Serialize for AccelcalVehiclePos"],["impl Serialize for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl Serialize for AdsbAltitudeType"],["impl Serialize for TuneFormat"],["impl Serialize for GpsFixType"],["impl Serialize for POSITION_TARGET_LOCAL_NED_DATA"],["impl Serialize for FLIGHT_INFORMATION_DATA"],["impl Serialize for AutotuneAxis"],["impl Serialize for SETUP_SIGNING_DATA"],["impl Serialize for MISSION_ITEM_DATA"],["impl Serialize for TUNNEL_DATA"],["impl Serialize for SERIAL_CONTROL_DATA"],["impl Serialize for SET_MODE_DATA"],["impl Serialize for EVENT_DATA"],["impl Serialize for NAV_CONTROLLER_OUTPUT_DATA"],["impl Serialize for GPS_INJECT_DATA_DATA"],["impl Serialize for EscConnectionType"],["impl Serialize for TERRAIN_CHECK_DATA"],["impl Serialize for ADSB_VEHICLE_DATA"],["impl Serialize for PARAM_REQUEST_READ_DATA"],["impl Serialize for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Serialize for UavcanNodeHealth"],["impl Serialize for RPM_DATA"],["impl Serialize for MISSION_ITEM_REACHED_DATA"],["impl Serialize for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Serialize for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Serialize for EscFailureFlags"],["impl Serialize for OSD_PARAM_CONFIG_DATA"],["impl Serialize for PARAM_EXT_ACK_DATA"],["impl Serialize for V2_EXTENSION_DATA"],["impl Serialize for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Serialize for MavFrame"],["impl Serialize for MANUAL_CONTROL_DATA"],["impl Serialize for MavBatteryType"],["impl Serialize for GoproProtuneExposure"],["impl Serialize for MavCollisionThreatLevel"],["impl Serialize for CameraTrackingTargetData"],["impl Serialize for RtkBaselineCoordinateSystem"],["impl Serialize for RAW_RPM_DATA"],["impl Serialize for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Serialize for NAMED_VALUE_INT_DATA"],["impl Serialize for ALTITUDE_DATA"],["impl Serialize for REQUEST_DATA_STREAM_DATA"],["impl Serialize for VISION_POSITION_ESTIMATE_DATA"],["impl Serialize for OPTICAL_FLOW_RAD_DATA"],["impl Serialize for MavRoi"],["impl Serialize for RALLY_POINT_DATA"],["impl Serialize for AUTOPILOT_VERSION_DATA"],["impl Serialize for LOCAL_POSITION_NED_COV_DATA"],["impl Serialize for LOG_REQUEST_DATA_DATA"],["impl Serialize for MavModeGimbal"],["impl Serialize for POWER_STATUS_DATA"],["impl Serialize for HighresImuUpdatedFlags"],["impl Serialize for DEBUG_VECT_DATA"],["impl Serialize for REQUEST_EVENT_DATA"],["impl Serialize for GoproProtuneWhiteBalance"],["impl Serialize for MavOdidTimeAcc"],["impl Serialize for SAFETY_ALLOWED_AREA_DATA"],["impl Serialize for MavOdidHeightRef"],["impl Serialize for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Serialize for HIL_OPTICAL_FLOW_DATA"],["impl Serialize for AisFlags"],["impl Serialize for UAVCAN_NODE_STATUS_DATA"],["impl Serialize for CAMERA_FOV_STATUS_DATA"],["impl Serialize for GpsInputIgnoreFlags"],["impl Serialize for OsdParamConfigError"],["impl Serialize for CameraTrackingMode"],["impl Serialize for GPS_RTCM_DATA_DATA"],["impl Serialize for CellularNetworkRadioType"],["impl Serialize for FenceBreach"],["impl Serialize for FailureType"],["impl Serialize for EFI_STATUS_DATA"],["impl Serialize for SCALED_IMU3_DATA"],["impl Serialize for CAMERA_IMAGE_CAPTURED_DATA"],["impl Serialize for RESOURCE_REQUEST_DATA"],["impl Serialize for CELLULAR_STATUS_DATA"],["impl Serialize for COMMAND_LONG_DATA"],["impl Serialize for SERIAL_CONTROL_DATA"],["impl Serialize for MISSION_COUNT_DATA"],["impl Serialize for PARAM_REQUEST_LIST_DATA"],["impl Serialize for LOG_REQUEST_END_DATA"],["impl Serialize for OSD_PARAM_CONFIG_REPLY_DATA"],["impl Serialize for OSD_PARAM_SHOW_CONFIG_DATA"],["impl Serialize for GENERATOR_STATUS_DATA"],["impl Serialize for ESC_TELEMETRY_9_TO_12_DATA"],["impl Serialize for SERVO_OUTPUT_RAW_DATA"],["impl Serialize for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Serialize for MavVtolState"],["impl Serialize for HIGHRES_IMU_DATA"],["impl Serialize for OrbitYawBehaviour"],["impl Serialize for MavEventErrorReason"],["impl Serialize for MavMountMode"],["impl Serialize for MavSensorOrientation"],["impl Serialize for COMPASSMOT_STATUS_DATA"],["impl Serialize for HlFailureFlag"],["impl Serialize for CURRENT_EVENT_SEQUENCE_DATA"],["impl Serialize for FirmwareVersionType"],["impl Serialize for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl Serialize for GimbalManagerCapFlags"],["impl Serialize for AisType"],["impl Serialize for PLAY_TUNE_V2_DATA"],["impl Serialize for FenceAction"],["impl Serialize for UtmFlightState"],["impl Serialize for POSITION_TARGET_LOCAL_NED_DATA"],["impl Serialize for HIGH_LATENCY2_DATA"],["impl Serialize for SIM_STATE_DATA"],["impl Serialize for MAG_CAL_REPORT_DATA"],["impl Serialize for SCALED_IMU2_DATA"],["impl Serialize for MavOdidClassificationType"],["impl Serialize for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Serialize for CameraZoomType"],["impl Serialize for MavParamType"],["impl Serialize for MavMissionType"],["impl Serialize for CameraZoomType"],["impl Serialize for HIL_STATE_QUATERNION_DATA"],["impl Serialize for MISSION_REQUEST_INT_DATA"],["impl Serialize for CameraCapFlags"],["impl Serialize for CAMERA_CAPTURE_STATUS_DATA"],["impl Serialize for STORAGE_INFORMATION_DATA"],["impl Serialize for ADAP_TUNING_DATA"],["impl Serialize for StorageUsageFlag"],["impl Serialize for MISSION_REQUEST_LIST_DATA"],["impl Serialize for HIL_SENSOR_DATA"],["impl Serialize for MavOdidVerAcc"],["impl Serialize for UTM_GLOBAL_POSITION_DATA"],["impl Serialize for CameraCapFlags"],["impl Serialize for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Serialize for CanFilterOp"],["impl Serialize for StorageStatus"],["impl Serialize for ATTITUDE_QUATERNION_DATA"],["impl Serialize for MavModeFlagDecodePosition"],["impl Serialize for RADIO_DATA"],["impl Serialize for SubMode"],["impl Serialize for FailureType"],["impl Serialize for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Serialize for IcarousTrackBandTypes"],["impl Serialize for MISSION_CLEAR_ALL_DATA"],["impl Serialize for REQUEST_DATA_STREAM_DATA"],["impl Serialize for STORAGE_INFORMATION_DATA"],["impl Serialize for MavSysStatusSensorExtended"],["impl Serialize for AdsbFlags"],["impl Serialize for MavEventErrorReason"],["impl Serialize for GLOBAL_POSITION_INT_DATA"],["impl Serialize for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Serialize for SCALED_PRESSURE3_DATA"],["impl Serialize for MISSION_SET_CURRENT_DATA"],["impl Serialize for HilSensorUpdatedFlags"],["impl Serialize for ORBIT_EXECUTION_STATUS_DATA"],["impl Serialize for MavOdidDescType"],["impl Serialize for UTM_GLOBAL_POSITION_DATA"],["impl Serialize for GimbalDeviceErrorFlags"],["impl Serialize for UavcanNodeHealth"],["impl Serialize for MISSION_ITEM_INT_DATA"],["impl Serialize for HilSensorUpdatedFlags"],["impl Serialize for HIGHRES_IMU_DATA"],["impl Serialize for ParamAck"],["impl Serialize for SERIAL_CONTROL_DATA"],["impl Serialize for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Serialize for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Serialize for SUPPORTED_TUNES_DATA"],["impl Serialize for TERRAIN_REPORT_DATA"],["impl Serialize for MavCmdAck"],["impl Serialize for RAW_IMU_DATA"],["impl Serialize for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Serialize for FOLLOW_TARGET_DATA"],["impl Serialize for ALTITUDE_DATA"],["impl Serialize for MESSAGE_INTERVAL_DATA"],["impl Serialize for SetFocusType"],["impl Serialize for LOG_REQUEST_LIST_DATA"],["impl Serialize for MavPowerStatus"],["impl Serialize for MavAutopilot"],["impl Serialize for GoproPhotoResolution"],["impl Serialize for OPTICAL_FLOW_DATA"],["impl Serialize for REMOTE_LOG_DATA_BLOCK_DATA"],["impl Serialize for AisType"],["impl Serialize for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Serialize for PARAM_REQUEST_READ_DATA"],["impl Serialize for RoverMode"],["impl Serialize for MavArmAuthDeniedReason"],["impl Serialize for FailureUnit"],["impl Serialize for ISBD_LINK_STATUS_DATA"],["impl Serialize for UAVCAN_NODE_STATUS_DATA"],["impl Serialize for GLOBAL_POSITION_INT_DATA"],["impl Serialize for CameraMode"],["impl Serialize for VIDEO_STREAM_STATUS_DATA"],["impl Serialize for WIND_COV_DATA"],["impl Serialize for WifiConfigApMode"],["impl Serialize for AIS_VESSEL_DATA"],["impl Serialize for SET_MAG_OFFSETS_DATA"],["impl Serialize for NavVtolLandOptions"],["impl Serialize for MavOdidHorAcc"],["impl Serialize for GoproResolution"],["impl Serialize for CAMERA_IMAGE_CAPTURED_DATA"],["impl Serialize for RC_CHANNELS_OVERRIDE_DATA"],["impl Serialize for DEBUG_VECT_DATA"],["impl Serialize for LedControlPattern"],["impl Serialize for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Serialize for VISION_SPEED_ESTIMATE_DATA"],["impl Serialize for GoproProtuneSharpness"],["impl Serialize for MotorTestOrder"],["impl Serialize for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Serialize for FENCE_STATUS_DATA"],["impl Serialize for GOPRO_GET_REQUEST_DATA"],["impl Serialize for WifiConfigApResponse"],["impl Serialize for GpsInputIgnoreFlags"],["impl Serialize for POWER_STATUS_DATA"],["impl Serialize for ATTITUDE_QUATERNION_COV_DATA"],["impl Serialize for MavlinkDataStreamType"],["impl Serialize for SUPPORTED_TUNES_DATA"],["impl Serialize for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Serialize for MavComponent"],["impl Serialize for MotorTestThrottleType"],["impl Serialize for UavionixAdsbOutCfgAircraftSize"],["impl Serialize for CanFilterOp"],["impl Serialize for BUTTON_CHANGE_DATA"],["impl<M> Serialize for MavFrame<M>where\n M: Serialize + Message,"],["impl Serialize for WifiConfigApResponse"],["impl Serialize for MISSION_ACK_DATA"],["impl Serialize for WinchActions"],["impl Serialize for CAMERA_FOV_STATUS_DATA"],["impl Serialize for MavMessage"],["impl Serialize for MavMessage"],["impl Serialize for MavSysStatusSensorExtended"],["impl Serialize for CAMERA_SETTINGS_DATA"],["impl Serialize for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Serialize for MAG_CAL_REPORT_DATA"],["impl Serialize for SENSOR_OFFSETS_DATA"],["impl Serialize for TERRAIN_REPORT_DATA"],["impl Serialize for VFR_HUD_DATA"],["impl Serialize for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Serialize for GimbalDeviceCapFlags"],["impl Serialize for EscConnectionType"],["impl Serialize for VICON_POSITION_ESTIMATE_DATA"],["impl Serialize for ICAROUS_HEARTBEAT_DATA"],["impl Serialize for SCALED_PRESSURE2_DATA"],["impl Serialize for HIL_SENSOR_DATA"],["impl Serialize for MavProtocolCapability"],["impl Serialize for DEBUG_DATA"],["impl Serialize for CHANGE_OPERATOR_CONTROL_DATA"],["impl Serialize for VIDEO_STREAM_INFORMATION_DATA"],["impl Serialize for MavRemoteLogDataBlockStatuses"],["impl Serialize for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl Serialize for MavOdidIdType"],["impl Serialize for LandingTargetType"],["impl Serialize for ENCAPSULATED_DATA_DATA"],["impl Serialize for EstimatorStatusFlags"],["impl Serialize for FILE_TRANSFER_PROTOCOL_DATA"],["impl Serialize for MavMountMode"],["impl Serialize for MavBatteryFunction"],["impl Serialize for FLIGHT_INFORMATION_DATA"],["impl Serialize for ONBOARD_COMPUTER_STATUS_DATA"],["impl Serialize for GoproHeartbeatFlags"],["impl Serialize for GpsFixType"],["impl Serialize for AdsbEmitterType"],["impl Serialize for GLOBAL_POSITION_INT_COV_DATA"],["impl Serialize for VIDEO_STREAM_INFORMATION_DATA"],["impl Serialize for HIL_ACTUATOR_CONTROLS_DATA"],["impl Serialize for UavcanNodeMode"],["impl Serialize for CameraMode"],["impl Serialize for MavBatteryFault"],["impl Serialize for MavRemoteLogDataBlockCommands"],["impl Serialize for WHEEL_DISTANCE_DATA"],["impl Serialize for ATTITUDE_QUATERNION_COV_DATA"],["impl Serialize for AIS_VESSEL_DATA"],["impl Serialize for MavType"],["impl Serialize for PositionTargetTypemask"],["impl Serialize for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Serialize for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Serialize for UavionixAdsbEmergencyStatus"],["impl Serialize for MissionState"],["impl Serialize for PARAM_MAP_RC_DATA"],["impl Serialize for OPTICAL_FLOW_RAD_DATA"],["impl Serialize for SUPPORTED_TUNES_DATA"],["impl Serialize for PARAM_VALUE_DATA"],["impl Serialize for GPS_GLOBAL_ORIGIN_DATA"],["impl Serialize for VtolTransitionHeading"],["impl Serialize for COMPONENT_INFORMATION_DATA"],["impl Serialize for GPS_GLOBAL_ORIGIN_DATA"],["impl Serialize for MESSAGE_INTERVAL_DATA"],["impl Serialize for ATTITUDE_TARGET_DATA"],["impl Serialize for TuneFormat"],["impl Serialize for AisNavStatus"],["impl Serialize for StorageStatus"],["impl Serialize for MavBatteryChargeState"],["impl Serialize for MOUNT_STATUS_DATA"],["impl Serialize for SCALED_IMU_DATA"],["impl Serialize for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Serialize for PING_DATA"],["impl Serialize for LANDING_TARGET_DATA"],["impl Serialize for DEVICE_OP_READ_REPLY_DATA"],["impl Serialize for CameraFeedbackFlags"],["impl Serialize for PARAM_EXT_VALUE_DATA"],["impl Serialize for WIND_COV_DATA"],["impl Serialize for GPS_INPUT_DATA"],["impl Serialize for ScriptingCmd"],["impl Serialize for CANFD_FRAME_DATA"],["impl Serialize for PARAM_EXT_REQUEST_LIST_DATA"],["impl Serialize for VIBRATION_DATA"],["impl Serialize for RC_CHANNELS_OVERRIDE_DATA"],["impl Serialize for COMPONENT_METADATA_DATA"],["impl Serialize for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Serialize for GPS_RTCM_DATA_DATA"],["impl Serialize for HOME_POSITION_DATA"],["impl Serialize for ISBD_LINK_STATUS_DATA"],["impl Serialize for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Serialize for FailureUnit"],["impl Serialize for ESC_INFO_DATA"],["impl Serialize for PreflightStorageParameterAction"],["impl Serialize for DEBUG_DATA"],["impl Serialize for SYS_STATUS_DATA"],["impl Serialize for HlFailureFlag"],["impl Serialize for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Serialize for OBSTACLE_DISTANCE_3D_DATA"],["impl Serialize for FENCE_STATUS_DATA"],["impl Serialize for MavOdidClassEu"],["impl Serialize for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Serialize for MavResult"],["impl Serialize for GPS2_RTK_DATA"],["impl Serialize for CellularStatusFlag"],["impl Serialize for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Serialize for LOG_DATA_DATA"],["impl Serialize for ATTITUDE_QUATERNION_COV_DATA"],["impl Serialize for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Serialize for MavDoRepositionFlags"],["impl Serialize for MavOdidUaType"],["impl Serialize for LOGGING_DATA_ACKED_DATA"],["impl Serialize for CUBEPILOT_RAW_RC_DATA"],["impl Serialize for MavTunnelPayloadType"],["impl Serialize for LOGGING_ACK_DATA"],["impl Serialize for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Serialize for DEBUG_FLOAT_ARRAY_DATA"],["impl Serialize for FOLLOW_TARGET_DATA"],["impl Serialize for GPS_STATUS_DATA"],["impl Serialize for PARAM_EXT_SET_DATA"],["impl Serialize for HYGROMETER_SENSOR_DATA"],["impl Serialize for RAW_RPM_DATA"],["impl Serialize for CURRENT_EVENT_SEQUENCE_DATA"],["impl Serialize for MavBatteryChargeState"],["impl Serialize for CameraZoomType"],["impl Serialize for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Serialize for PARAM_VALUE_DATA"],["impl Serialize for COMMAND_INT_DATA"],["impl Serialize for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Serialize for LOGGING_DATA_DATA"],["impl Serialize for LOGGING_DATA_DATA"],["impl Serialize for MavLandedState"],["impl Serialize for AP_ADC_DATA"],["impl Serialize for ACTUATOR_CONTROL_TARGET_DATA"],["impl Serialize for WIFI_CONFIG_AP_DATA"],["impl Serialize for SCALED_IMU2_DATA"],["impl Serialize for MavMessage"],["impl Serialize for MavCollisionAction"],["impl Serialize for MavDataStream"],["impl Serialize for VFR_HUD_DATA"],["impl Serialize for MavState"],["impl Serialize for FirmwareVersionType"],["impl Serialize for RC_CHANNELS_RAW_DATA"],["impl Serialize for CAMERA_CAPTURE_STATUS_DATA"],["impl Serialize for ATTITUDE_DATA"],["impl Serialize for AOA_SSA_DATA"],["impl Serialize for MavLandedState"],["impl Serialize for MavGoto"],["impl Serialize for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Serialize for CONTROL_SYSTEM_STATE_DATA"],["impl Serialize for REQUEST_DATA_STREAM_DATA"],["impl Serialize for OPEN_DRONE_ID_LOCATION_DATA"]], +"mavlink":[["impl Serialize for MavCmdAck"],["impl Serialize for MISSION_ITEM_INT_DATA"],["impl Serialize for SubMode"],["impl Serialize for SIM_STATE_DATA"],["impl Serialize for OPTICAL_FLOW_RAD_DATA"],["impl Serialize for MavOdidVerAcc"],["impl Serialize for CHANGE_OPERATOR_CONTROL_DATA"],["impl Serialize for MavRemoteLogDataBlockStatuses"],["impl Serialize for CELLULAR_CONFIG_DATA"],["impl Serialize for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Serialize for VtolTransitionHeading"],["impl Serialize for TIMESYNC_DATA"],["impl Serialize for BUTTON_CHANGE_DATA"],["impl Serialize for MavSensorOrientation"],["impl Serialize for SERVO_OUTPUT_RAW_DATA"],["impl Serialize for WHEEL_DISTANCE_DATA"],["impl Serialize for EVENT_DATA"],["impl Serialize for RANGEFINDER_DATA"],["impl Serialize for GPS_STATUS_DATA"],["impl Serialize for SETUP_SIGNING_DATA"],["impl Serialize for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Serialize for FailureUnit"],["impl Serialize for SERIAL_CONTROL_DATA"],["impl Serialize for TIMESYNC_DATA"],["impl Serialize for CAMERA_FEEDBACK_DATA"],["impl Serialize for SYSTEM_TIME_DATA"],["impl Serialize for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Serialize for MavProtocolCapability"],["impl Serialize for AutotuneAxis"],["impl Serialize for MavGeneratorStatusFlag"],["impl Serialize for DEVICE_OP_WRITE_REPLY_DATA"],["impl Serialize for MavEventCurrentSequenceFlags"],["impl Serialize for MavOdidUaType"],["impl Serialize for AUTH_KEY_DATA"],["impl Serialize for MotorTestOrder"],["impl Serialize for RAW_PRESSURE_DATA"],["impl Serialize for SMART_BATTERY_INFO_DATA"],["impl Serialize for ENCAPSULATED_DATA_DATA"],["impl Serialize for MavParamType"],["impl Serialize for GoproHeartbeatFlags"],["impl Serialize for VIDEO_STREAM_STATUS_DATA"],["impl Serialize for PARAM_REQUEST_LIST_DATA"],["impl Serialize for MISSION_SET_CURRENT_DATA"],["impl Serialize for AttitudeTargetTypemask"],["impl Serialize for SIMSTATE_DATA"],["impl Serialize for EscFailureFlags"],["impl Serialize for RoverMode"],["impl Serialize for LANDING_TARGET_DATA"],["impl Serialize for SerialControlFlag"],["impl Serialize for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Serialize for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Serialize for SETUP_SIGNING_DATA"],["impl Serialize for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Serialize for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Serialize for LOGGING_DATA_DATA"],["impl Serialize for FILE_TRANSFER_PROTOCOL_DATA"],["impl Serialize for MavGeneratorStatusFlag"],["impl Serialize for GimbalManagerCapFlags"],["impl Serialize for FirmwareVersionType"],["impl Serialize for DATA96_DATA"],["impl Serialize for AutotuneAxis"],["impl Serialize for GimbalDeviceFlags"],["impl Serialize for ESC_STATUS_DATA"],["impl Serialize for DEEPSTALL_DATA"],["impl Serialize for PositionTargetTypemask"],["impl Serialize for MavBatteryFault"],["impl Serialize for FLIGHT_INFORMATION_DATA"],["impl Serialize for CellularStatusFlag"],["impl Serialize for WINCH_STATUS_DATA"],["impl Serialize for SerialControlDev"],["impl Serialize for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Serialize for SAFETY_ALLOWED_AREA_DATA"],["impl Serialize for AisType"],["impl Serialize for MISSION_CURRENT_DATA"],["impl Serialize for RC_CHANNELS_SCALED_DATA"],["impl Serialize for ATTITUDE_QUATERNION_DATA"],["impl Serialize for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Serialize for DISTANCE_SENSOR_DATA"],["impl Serialize for CELLULAR_CONFIG_DATA"],["impl Serialize for SUPPORTED_TUNES_DATA"],["impl Serialize for HilSensorUpdatedFlags"],["impl Serialize for POSITION_TARGET_LOCAL_NED_DATA"],["impl Serialize for UavionixAdsbOutRfSelect"],["impl Serialize for DATA16_DATA"],["impl Serialize for HIL_ACTUATOR_CONTROLS_DATA"],["impl Serialize for PLAY_TUNE_DATA"],["impl Serialize for MavDistanceSensor"],["impl Serialize for MISSION_ACK_DATA"],["impl Serialize for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Serialize for GimbalDeviceCapFlags"],["impl Serialize for SCALED_PRESSURE2_DATA"],["impl Serialize for RAW_IMU_DATA"],["impl Serialize for MavState"],["impl Serialize for SAFETY_ALLOWED_AREA_DATA"],["impl Serialize for CAMERA_INFORMATION_DATA"],["impl Serialize for BATTERY2_DATA"],["impl Serialize for GOPRO_HEARTBEAT_DATA"],["impl Serialize for VideoStreamStatusFlags"],["impl Serialize for GimbalDeviceCapFlags"],["impl Serialize for RESOURCE_REQUEST_DATA"],["impl Serialize for ParachuteAction"],["impl Serialize for CameraTrackingStatusFlags"],["impl Serialize for MavPowerStatus"],["impl Serialize for ATTITUDE_QUATERNION_COV_DATA"],["impl Serialize for MissionState"],["impl Serialize for NAV_CONTROLLER_OUTPUT_DATA"],["impl Serialize for MavOdidUaType"],["impl Serialize for AHRS3_DATA"],["impl Serialize for CopterMode"],["impl Serialize for MavAutopilot"],["impl Serialize for StorageStatus"],["impl Serialize for LOCAL_POSITION_NED_COV_DATA"],["impl Serialize for GPS_GLOBAL_ORIGIN_DATA"],["impl Serialize for PositionTargetTypemask"],["impl Serialize for UavionixAdsbOutCfgGpsOffsetLon"],["impl Serialize for MavOdidDescType"],["impl Serialize for StorageUsageFlag"],["impl Serialize for PING_DATA"],["impl Serialize for WinchActions"],["impl Serialize for MavModeGimbal"],["impl Serialize for VFR_HUD_DATA"],["impl Serialize for FENCE_POINT_DATA"],["impl Serialize for LOG_REQUEST_END_DATA"],["impl Serialize for HIL_CONTROLS_DATA"],["impl Serialize for ESC_INFO_DATA"],["impl Serialize for FLIGHT_INFORMATION_DATA"],["impl Serialize for VIDEO_STREAM_INFORMATION_DATA"],["impl Serialize for MavOdidArmStatus"],["impl Serialize for GPS_RTK_DATA"],["impl Serialize for MavOdidHeightRef"],["impl Serialize for AIS_VESSEL_DATA"],["impl Serialize for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Serialize for UtmDataAvailFlags"],["impl Serialize for WifiConfigApResponse"],["impl Serialize for SerialControlDev"],["impl Serialize for VIBRATION_DATA"],["impl Serialize for OBSTACLE_DISTANCE_3D_DATA"],["impl Serialize for CameraTrackingMode"],["impl Serialize for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Serialize for MavTunnelPayloadType"],["impl Serialize for PLAY_TUNE_DATA"],["impl Serialize for ORBIT_EXECUTION_STATUS_DATA"],["impl Serialize for HOME_POSITION_DATA"],["impl Serialize for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Serialize for MavOdidHorAcc"],["impl Serialize for OSD_PARAM_CONFIG_DATA"],["impl Serialize for GimbalDeviceErrorFlags"],["impl Serialize for MavOdidClassEu"],["impl Serialize for DeviceOpBustype"],["impl Serialize for GLOBAL_POSITION_INT_COV_DATA"],["impl Serialize for GIMBAL_TORQUE_CMD_REPORT_DATA"],["impl Serialize for FirmwareVersionType"],["impl Serialize for CANFD_FRAME_DATA"],["impl Serialize for MavDoRepositionFlags"],["impl Serialize for MavlinkDataStreamType"],["impl Serialize for MISSION_COUNT_DATA"],["impl Serialize for GPS_STATUS_DATA"],["impl Serialize for HIGH_LATENCY2_DATA"],["impl Serialize for SMART_BATTERY_INFO_DATA"],["impl Serialize for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Serialize for MavOdidStatus"],["impl Serialize for GoproCaptureMode"],["impl Serialize for EstimatorStatusFlags"],["impl Serialize for MavSensorOrientation"],["impl Serialize for MavFtpErr"],["impl Serialize for AP_ADC_DATA"],["impl Serialize for GpsFixType"],["impl Serialize for MissionState"],["impl Serialize for MavGoto"],["impl Serialize for UavionixAdsbEmergencyStatus"],["impl Serialize for CameraTrackingTargetData"],["impl Serialize for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Serialize for VtolTransitionHeading"],["impl Serialize for GpsFixType"],["impl Serialize for MavSeverity"],["impl Serialize for ActuatorOutputFunction"],["impl Serialize for CameraZoomType"],["impl Serialize for UtmFlightState"],["impl Serialize for PROTOCOL_VERSION_DATA"],["impl Serialize for UtmDataAvailFlags"],["impl Serialize for LOG_ERASE_DATA"],["impl Serialize for MavGoto"],["impl Serialize for SCALED_PRESSURE_DATA"],["impl Serialize for HIL_RC_INPUTS_RAW_DATA"],["impl Serialize for AHRS2_DATA"],["impl Serialize for PARAM_VALUE_DATA"],["impl Serialize for DEBUG_VECT_DATA"],["impl Serialize for PLAY_TUNE_V2_DATA"],["impl Serialize for CANFD_FRAME_DATA"],["impl Serialize for PlaneMode"],["impl Serialize for MavOdidCategoryEu"],["impl Serialize for PID_TUNING_DATA"],["impl Serialize for GoproHeartbeatStatus"],["impl Serialize for UavcanNodeMode"],["impl Serialize for CompMetadataType"],["impl Serialize for MavOdidUaType"],["impl Serialize for UTM_GLOBAL_POSITION_DATA"],["impl Serialize for MISSION_ITEM_REACHED_DATA"],["impl Serialize for UavcanNodeHealth"],["impl Serialize for MavOdidHorAcc"],["impl Serialize for BATTERY_STATUS_DATA"],["impl Serialize for HERELINK_TELEM_DATA"],["impl Serialize for UavionixAdsbOutCfgAircraftSize"],["impl Serialize for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Serialize for FenceAction"],["impl Serialize for SET_MODE_DATA"],["impl Serialize for MavSysStatusSensor"],["impl Serialize for AdsbEmitterType"],["impl Serialize for HIL_STATE_QUATERNION_DATA"],["impl Serialize for RC_CHANNELS_RAW_DATA"],["impl Serialize for GIMBAL_REPORT_DATA"],["impl Serialize for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Serialize for COMMAND_LONG_DATA"],["impl Serialize for RESOURCE_REQUEST_DATA"],["impl Serialize for CanFilterOp"],["impl Serialize for MavResult"],["impl Serialize for LOG_ERASE_DATA"],["impl Serialize for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Serialize for ORBIT_EXECUTION_STATUS_DATA"],["impl Serialize for STATUSTEXT_DATA"],["impl Serialize for RtkBaselineCoordinateSystem"],["impl Serialize for CellularNetworkFailedReason"],["impl Serialize for V2_EXTENSION_DATA"],["impl Serialize for SET_MAG_OFFSETS_DATA"],["impl Serialize for UavcanNodeHealth"],["impl Serialize for PARAM_SET_DATA"],["impl Serialize for MavMissionType"],["impl Serialize for GoproCharging"],["impl Serialize for WifiConfigApResponse"],["impl Serialize for MISSION_ITEM_INT_DATA"],["impl Serialize for HIL_ACTUATOR_CONTROLS_DATA"],["impl Serialize for DATA64_DATA"],["impl Serialize for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Serialize for UavionixAdsbOutDynamicState"],["impl Serialize for ALTITUDE_DATA"],["impl Serialize for EFI_STATUS_DATA"],["impl Serialize for CAN_FILTER_MODIFY_DATA"],["impl Serialize for MavHeader"],["impl Serialize for GoproVideoSettingsFlags"],["impl Serialize for CAN_FRAME_DATA"],["impl Serialize for HIGH_LATENCY_DATA"],["impl Serialize for ATTITUDE_TARGET_DATA"],["impl Serialize for MavCollisionThreatLevel"],["impl Serialize for GPS_RTCM_DATA_DATA"],["impl Serialize for FailureType"],["impl Serialize for VICON_POSITION_ESTIMATE_DATA"],["impl Serialize for MavEstimatorType"],["impl Serialize for MavBatteryFunction"],["impl Serialize for SCALED_PRESSURE_DATA"],["impl Serialize for PING_DATA"],["impl Serialize for EFI_STATUS_DATA"],["impl Serialize for CAMERA_STATUS_DATA"],["impl Serialize for MavCmdAck"],["impl Serialize for MESSAGE_INTERVAL_DATA"],["impl Serialize for CameraFeedbackFlags"],["impl Serialize for StorageStatus"],["impl Serialize for MavCollisionAction"],["impl Serialize for MavOdidAuthType"],["impl Serialize for LINK_NODE_STATUS_DATA"],["impl Serialize for PARAM_REQUEST_READ_DATA"],["impl Serialize for CAMERA_FOV_STATUS_DATA"],["impl Serialize for MavOdidIdType"],["impl Serialize for CAMERA_FOV_STATUS_DATA"],["impl Serialize for FenceMitigate"],["impl Serialize for PARAM_VALUE_DATA"],["impl Serialize for UAVCAN_NODE_STATUS_DATA"],["impl Serialize for MANUAL_CONTROL_DATA"],["impl Serialize for MavSysStatusSensor"],["impl Serialize for VISION_SPEED_ESTIMATE_DATA"],["impl Serialize for GpsInputIgnoreFlags"],["impl Serialize for ESC_TELEMETRY_5_TO_8_DATA"],["impl Serialize for VideoStreamType"],["impl Serialize for GPS2_RTK_DATA"],["impl Serialize for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Serialize for GimbalAxis"],["impl Serialize for VISION_POSITION_ESTIMATE_DATA"],["impl Serialize for LOG_REQUEST_DATA_DATA"],["impl Serialize for CURRENT_EVENT_SEQUENCE_DATA"],["impl Serialize for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Serialize for GPS_GLOBAL_ORIGIN_DATA"],["impl Serialize for AUTOPILOT_VERSION_DATA"],["impl Serialize for BUTTON_CHANGE_DATA"],["impl Serialize for RAW_IMU_DATA"],["impl Serialize for MavOdidTimeAcc"],["impl Serialize for CellularNetworkFailedReason"],["impl Serialize for CAMERA_TRIGGER_DATA"],["impl Serialize for GPS_RTCM_DATA_DATA"],["impl Serialize for MavEstimatorType"],["impl Serialize for ESC_STATUS_DATA"],["impl Serialize for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Serialize for PARAM_REQUEST_READ_DATA"],["impl Serialize for MavFtpOpcode"],["impl Serialize for MavBatteryMode"],["impl Serialize for MavType"],["impl Serialize for GLOBAL_POSITION_INT_DATA"],["impl Serialize for MISSION_CURRENT_DATA"],["impl Serialize for OBSTACLE_DISTANCE_DATA"],["impl Serialize for HIL_SENSOR_DATA"],["impl Serialize for RAW_RPM_DATA"],["impl Serialize for MISSION_REQUEST_LIST_DATA"],["impl Serialize for MavFtpErr"],["impl Serialize for ESTIMATOR_STATUS_DATA"],["impl Serialize for ESC_INFO_DATA"],["impl Serialize for ParachuteAction"],["impl Serialize for FILE_TRANSFER_PROTOCOL_DATA"],["impl Serialize for LOGGING_ACK_DATA"],["impl Serialize for UAVCAN_NODE_STATUS_DATA"],["impl Serialize for SET_HOME_POSITION_DATA"],["impl Serialize for CUBEPILOT_FIRMWARE_UPDATE_START_DATA"],["impl Serialize for AisFlags"],["impl Serialize for DIGICAM_CONFIGURE_DATA"],["impl Serialize for PROTOCOL_VERSION_DATA"],["impl Serialize for REMOTE_LOG_BLOCK_STATUS_DATA"],["impl Serialize for GoproProtuneColour"],["impl Serialize for LOGGING_DATA_ACKED_DATA"],["impl Serialize for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Serialize for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Serialize for ODOMETRY_DATA"],["impl Serialize for LOG_REQUEST_DATA_DATA"],["impl Serialize for SERIAL_CONTROL_DATA"],["impl Serialize for MavDataStream"],["impl Serialize for GPS_INJECT_DATA_DATA"],["impl Serialize for MotorTestOrder"],["impl Serialize for FLIGHT_INFORMATION_DATA"],["impl Serialize for LOCAL_POSITION_NED_DATA"],["impl Serialize for PreflightStorageMissionAction"],["impl Serialize for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Serialize for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Serialize for MavBatteryChargeState"],["impl Serialize for EscConnectionType"],["impl Serialize for MavBatteryChargeState"],["impl Serialize for SerialControlDev"],["impl Serialize for MavMountMode"],["impl Serialize for MavOdidDescType"],["impl Serialize for RC_CHANNELS_DATA"],["impl Serialize for MavCmd"],["impl Serialize for CAMERA_SETTINGS_DATA"],["impl Serialize for MISSION_CLEAR_ALL_DATA"],["impl Serialize for ISBD_LINK_STATUS_DATA"],["impl Serialize for AisFlags"],["impl Serialize for HIGH_LATENCY2_DATA"],["impl Serialize for MavPowerStatus"],["impl Serialize for MavDataStream"],["impl Serialize for GLOBAL_POSITION_INT_DATA"],["impl Serialize for WinchActions"],["impl Serialize for VISION_POSITION_DELTA_DATA"],["impl Serialize for POWER_STATUS_DATA"],["impl Serialize for WHEEL_DISTANCE_DATA"],["impl Serialize for POSITION_TARGET_LOCAL_NED_DATA"],["impl Serialize for HIL_SENSOR_DATA"],["impl Serialize for TUNNEL_DATA"],["impl Serialize for OrbitYawBehaviour"],["impl Serialize for GOPRO_GET_REQUEST_DATA"],["impl Serialize for MavCmdAck"],["impl Serialize for CELLULAR_CONFIG_DATA"],["impl Serialize for MavParamExtType"],["impl Serialize for MavOdidOperatorIdType"],["impl Serialize for CameraTrackingTargetData"],["impl Serialize for PLAY_TUNE_V2_DATA"],["impl Serialize for MotorTestThrottleType"],["impl Serialize for AttitudeTargetTypemask"],["impl Serialize for CAMERA_CAPTURE_STATUS_DATA"],["impl Serialize for SAFETY_ALLOWED_AREA_DATA"],["impl Serialize for MAG_CAL_REPORT_DATA"],["impl Serialize for RADIO_DATA"],["impl Serialize for ATTITUDE_DATA"],["impl Serialize for TUNNEL_DATA"],["impl Serialize for MavEstimatorType"],["impl Serialize for HIL_OPTICAL_FLOW_DATA"],["impl Serialize for HIL_STATE_QUATERNION_DATA"],["impl Serialize for CAMERA_SETTINGS_DATA"],["impl Serialize for AdsbFlags"],["impl Serialize for AUTOPILOT_VERSION_DATA"],["impl Serialize for MavBatteryFault"],["impl Serialize for OBSTACLE_DISTANCE_DATA"],["impl Serialize for StorageType"],["impl Serialize for MavlinkDataStreamType"],["impl Serialize for ORBIT_EXECUTION_STATUS_DATA"],["impl Serialize for PARAM_EXT_VALUE_DATA"],["impl Serialize for MISSION_REQUEST_DATA"],["impl Serialize for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Serialize for GripperActions"],["impl Serialize for MavWinchStatusFlag"],["impl Serialize for MagCalStatus"],["impl Serialize for MavOdidCategoryEu"],["impl Serialize for MavBatteryMode"],["impl Serialize for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Serialize for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Serialize for ISBD_LINK_STATUS_DATA"],["impl Serialize for SET_HOME_POSITION_DATA"],["impl Serialize for HIGHRES_IMU_DATA"],["impl Serialize for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Serialize for MavSysStatusSensorExtended"],["impl Serialize for PrecisionLandMode"],["impl Serialize for DEBUG_DATA"],["impl Serialize for LimitModule"],["impl Serialize for EXTENDED_SYS_STATE_DATA"],["impl Serialize for LOG_DATA_DATA"],["impl Serialize for UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT_DATA"],["impl Serialize for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Serialize for POWER_STATUS_DATA"],["impl Serialize for LINK_NODE_STATUS_DATA"],["impl Serialize for MavWinchStatusFlag"],["impl Serialize for MavVtolState"],["impl Serialize for WifiConfigApResponse"],["impl Serialize for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Serialize for HIL_GPS_DATA"],["impl Serialize for SYS_STATUS_DATA"],["impl Serialize for SCALED_IMU2_DATA"],["impl Serialize for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Serialize for PARAM_EXT_SET_DATA"],["impl Serialize for GPS_INPUT_DATA"],["impl Serialize for HIGHRES_IMU_DATA"],["impl Serialize for AdsbEmitterType"],["impl Serialize for OsdParamConfigError"],["impl Serialize for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Serialize for GPS2_RTK_DATA"],["impl Serialize for VideoStreamType"],["impl Serialize for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Serialize for CELLULAR_STATUS_DATA"],["impl Serialize for GOPRO_SET_REQUEST_DATA"],["impl Serialize for HlFailureFlag"],["impl Serialize for RC_CHANNELS_RAW_DATA"],["impl Serialize for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Serialize for MISSION_COUNT_DATA"],["impl Serialize for ONBOARD_COMPUTER_STATUS_DATA"],["impl Serialize for StorageUsageFlag"],["impl Serialize for GoproPhotoResolution"],["impl Serialize for UavionixAdsbRfHealth"],["impl Serialize for MavMountMode"],["impl Serialize for NavVtolLandOptions"],["impl Serialize for WIND_COV_DATA"],["impl Serialize for TERRAIN_REQUEST_DATA"],["impl Serialize for MavArmAuthDeniedReason"],["impl Serialize for SMART_BATTERY_INFO_DATA"],["impl Serialize for DEVICE_OP_WRITE_DATA"],["impl Serialize for MavCollisionSrc"],["impl Serialize for MavComponent"],["impl Serialize for MavOdidHeightRef"],["impl Serialize for UtmFlightState"],["impl Serialize for FailureUnit"],["impl Serialize for FenceMitigate"],["impl Serialize for MavFrame"],["impl Serialize for GimbalManagerFlags"],["impl Serialize for MavModeFlag"],["impl Serialize for ICAROUS_HEARTBEAT_DATA"],["impl Serialize for ADSB_VEHICLE_DATA"],["impl Serialize for HilSensorUpdatedFlags"],["impl Serialize for PARAM_EXT_REQUEST_LIST_DATA"],["impl Serialize for OSD_PARAM_CONFIG_REPLY_DATA"],["impl Serialize for MavModeFlag"],["impl Serialize for SYSTEM_TIME_DATA"],["impl Serialize for MavArmAuthDeniedReason"],["impl Serialize for PARAM_SET_DATA"],["impl Serialize for GimbalDeviceErrorFlags"],["impl Serialize for EscConnectionType"],["impl Serialize for MavOdidCategoryEu"],["impl Serialize for SET_HOME_POSITION_DATA"],["impl Serialize for LOGGING_ACK_DATA"],["impl Serialize for CellularConfigResponse"],["impl Serialize for MavFtpErr"],["impl Serialize for GoproCommand"],["impl Serialize for LOG_ENTRY_DATA"],["impl Serialize for EFI_STATUS_DATA"],["impl Serialize for SERVO_OUTPUT_RAW_DATA"],["impl Serialize for SET_ATTITUDE_TARGET_DATA"],["impl Serialize for CUBEPILOT_FIRMWARE_UPDATE_RESP_DATA"],["impl Serialize for MavComponent"],["impl Serialize for HIGH_LATENCY_DATA"],["impl Serialize for MissionState"],["impl Serialize for LOG_ENTRY_DATA"],["impl Serialize for CAMERA_INFORMATION_DATA"],["impl Serialize for MavEventErrorReason"],["impl Serialize for MavCmd"],["impl Serialize for CAMERA_TRIGGER_DATA"],["impl Serialize for MavOdidOperatorLocationType"],["impl Serialize for LedControlPattern"],["impl Serialize for CURRENT_EVENT_SEQUENCE_DATA"],["impl Serialize for MavOdidIdType"],["impl Serialize for NAMED_VALUE_INT_DATA"],["impl Serialize for MavlinkVersion"],["impl Serialize for MavAutopilot"],["impl Serialize for LOG_REQUEST_LIST_DATA"],["impl Serialize for FILE_TRANSFER_PROTOCOL_DATA"],["impl Serialize for GENERATOR_STATUS_DATA"],["impl Serialize for ESTIMATOR_STATUS_DATA"],["impl Serialize for GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA"],["impl Serialize for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Serialize for TRAJECTORY_REPRESENTATION_BEZIER_DATA"],["impl Serialize for ICAROUS_HEARTBEAT_DATA"],["impl Serialize for MavFrame"],["impl Serialize for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Serialize for MAG_CAL_REPORT_DATA"],["impl Serialize for CAMERA_IMAGE_CAPTURED_DATA"],["impl Serialize for MOUNT_ORIENTATION_DATA"],["impl Serialize for UtmDataAvailFlags"],["impl Serialize for MavRoi"],["impl Serialize for FenceMitigate"],["impl Serialize for AdsbAltitudeType"],["impl Serialize for HYGROMETER_SENSOR_DATA"],["impl Serialize for MavVtolState"],["impl Serialize for LOCAL_POSITION_NED_DATA"],["impl Serialize for EVENT_DATA"],["impl Serialize for UavionixAdsbOutDynamicState"],["impl Serialize for MavAutopilot"],["impl Serialize for LOG_DATA_DATA"],["impl Serialize for UavionixAdsbOutRfSelect"],["impl Serialize for VideoStreamStatusFlags"],["impl Serialize for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Serialize for FOLLOW_TARGET_DATA"],["impl Serialize for ATT_POS_MOCAP_DATA"],["impl Serialize for MavOdidTimeAcc"],["impl Serialize for PROTOCOL_VERSION_DATA"],["impl Serialize for GLOBAL_POSITION_INT_COV_DATA"],["impl Serialize for MavModeFlagDecodePosition"],["impl Serialize for WINCH_STATUS_DATA"],["impl Serialize for CameraTrackingMode"],["impl Serialize for GPS_STATUS_DATA"],["impl Serialize for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Serialize for CameraTrackingTargetData"],["impl Serialize for NAMED_VALUE_FLOAT_DATA"],["impl Serialize for VIDEO_STREAM_STATUS_DATA"],["impl Serialize for ParamAck"],["impl Serialize for MavPowerStatus"],["impl Serialize for GoproBurstRate"],["impl Serialize for MavBatteryType"],["impl Serialize for LOGGING_ACK_DATA"],["impl Serialize for HIL_OPTICAL_FLOW_DATA"],["impl Serialize for NAV_CONTROLLER_OUTPUT_DATA"],["impl Serialize for ACTUATOR_CONTROL_TARGET_DATA"],["impl Serialize for HIL_STATE_QUATERNION_DATA"],["impl Serialize for MavOdidArmStatus"],["impl Serialize for VFR_HUD_DATA"],["impl Serialize for MavRoi"],["impl Serialize for RC_CHANNELS_OVERRIDE_DATA"],["impl Serialize for DEVICE_OP_READ_DATA"],["impl Serialize for VFR_HUD_DATA"],["impl Serialize for MISSION_ITEM_DATA"],["impl Serialize for MavModeFlag"],["impl Serialize for CHANGE_OPERATOR_CONTROL_DATA"],["impl Serialize for COMMAND_LONG_DATA"],["impl Serialize for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Serialize for OPTICAL_FLOW_RAD_DATA"],["impl Serialize for MISSION_REQUEST_DATA"],["impl Serialize for MavVtolState"],["impl Serialize for CAMERA_INFORMATION_DATA"],["impl Serialize for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Serialize for MISSION_ITEM_DATA"],["impl Serialize for LIMITS_STATUS_DATA"],["impl Serialize for CameraCapFlags"],["impl Serialize for ONBOARD_COMPUTER_STATUS_DATA"],["impl Serialize for LANDING_TARGET_DATA"],["impl Serialize for CUBEPILOT_RAW_RC_DATA"],["impl Serialize for WINCH_STATUS_DATA"],["impl Serialize for COMMAND_ACK_DATA"],["impl Serialize for PARAM_EXT_REQUEST_READ_DATA"],["impl Serialize for MISSION_ITEM_INT_DATA"],["impl Serialize for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Serialize for RtkBaselineCoordinateSystem"],["impl Serialize for GoproResolution"],["impl Serialize for ODOMETRY_DATA"],["impl Serialize for OPTICAL_FLOW_DATA"],["impl Serialize for MavOdidOperatorLocationType"],["impl Serialize for MavComponent"],["impl Serialize for WHEEL_DISTANCE_DATA"],["impl Serialize for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Serialize for TERRAIN_REQUEST_DATA"],["impl Serialize for AUTH_KEY_DATA"],["impl Serialize for AisNavStatus"],["impl Serialize for HIL_CONTROLS_DATA"],["impl Serialize for MESSAGE_INTERVAL_DATA"],["impl Serialize for CAMERA_CAPTURE_STATUS_DATA"],["impl Serialize for GpsFixType"],["impl Serialize for AdsbAltitudeType"],["impl Serialize for TuneFormat"],["impl Serialize for GOPRO_GET_RESPONSE_DATA"],["impl Serialize for MavOdidStatus"],["impl Serialize for TERRAIN_CHECK_DATA"],["impl Serialize for SAFETY_SET_ALLOWED_AREA_DATA"],["impl Serialize for UAVCAN_NODE_STATUS_DATA"],["impl Serialize for MavCollisionSrc"],["impl Serialize for HIL_CONTROLS_DATA"],["impl Serialize for COMPONENT_INFORMATION_DATA"],["impl Serialize for GIMBAL_MANAGER_STATUS_DATA"],["impl Serialize for VtolTransitionHeading"],["impl Serialize for MavDoRepositionFlags"],["impl Serialize for SYS_STATUS_DATA"],["impl Serialize for CellularConfigResponse"],["impl Serialize for PARAM_EXT_VALUE_DATA"],["impl Serialize for UavcanNodeMode"],["impl Serialize for HOME_POSITION_DATA"],["impl Serialize for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Serialize for LOCAL_POSITION_NED_COV_DATA"],["impl Serialize for MEMORY_VECT_DATA"],["impl Serialize for ENCAPSULATED_DATA_DATA"],["impl Serialize for VIDEO_STREAM_STATUS_DATA"],["impl Serialize for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Serialize for SCALED_IMU_DATA"],["impl Serialize for UTM_GLOBAL_POSITION_DATA"],["impl Serialize for WIFI_CONFIG_AP_DATA"],["impl Serialize for AHRS_DATA"],["impl Serialize for EXTENDED_SYS_STATE_DATA"],["impl Serialize for MavType"],["impl Serialize for COMMAND_CANCEL_DATA"],["impl Serialize for GPS_INJECT_DATA_DATA"],["impl Serialize for GimbalManagerCapFlags"],["impl Serialize for SERVO_OUTPUT_RAW_DATA"],["impl Serialize for PARAM_REQUEST_LIST_DATA"],["impl Serialize for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Serialize for PreflightStorageParameterAction"],["impl Serialize for MavParamType"],["impl Serialize for FenceAction"],["impl Serialize for SCALED_IMU2_DATA"],["impl Serialize for GimbalManagerCapFlags"],["impl Serialize for GoproFieldOfView"],["impl Serialize for ESC_TELEMETRY_9_TO_12_DATA"],["impl Serialize for EscConnectionType"],["impl Serialize for RC_CHANNELS_SCALED_DATA"],["impl Serialize for AisType"],["impl Serialize for ACTUATOR_CONTROL_TARGET_DATA"],["impl Serialize for HlFailureFlag"],["impl Serialize for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Serialize for AisNavStatus"],["impl Serialize for GripperActions"],["impl Serialize for MavGeneratorStatusFlag"],["impl Serialize for MOUNT_STATUS_DATA"],["impl Serialize for LOG_REQUEST_LIST_DATA"],["impl Serialize for ATT_POS_MOCAP_DATA"],["impl Serialize for SerialControlFlag"],["impl Serialize for MCU_STATUS_DATA"],["impl Serialize for ATTITUDE_QUATERNION_DATA"],["impl Serialize for RAW_PRESSURE_DATA"],["impl Serialize for COMPONENT_METADATA_DATA"],["impl Serialize for DISTANCE_SENSOR_DATA"],["impl Serialize for MOUNT_CONFIGURE_DATA"],["impl Serialize for STORAGE_INFORMATION_DATA"],["impl Serialize for MavSysStatusSensor"],["impl Serialize for ATTITUDE_QUATERNION_DATA"],["impl Serialize for GPS_INPUT_DATA"],["impl Serialize for EXTENDED_SYS_STATE_DATA"],["impl Serialize for CameraTrackingStatusFlags"],["impl Serialize for DEBUG_DATA"],["impl Serialize for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Serialize for MavEventCurrentSequenceFlags"],["impl Serialize for SET_GPS_GLOBAL_ORIGIN_DATA"],["impl Serialize for ESC_INFO_DATA"],["impl Serialize for SCALED_PRESSURE2_DATA"],["impl Serialize for MavLandedState"],["impl Serialize for MavMode"],["impl Serialize for PreflightStorageParameterAction"],["impl Serialize for CELLULAR_STATUS_DATA"],["impl Serialize for PARAM_EXT_VALUE_DATA"],["impl Serialize for VICON_POSITION_ESTIMATE_DATA"],["impl Serialize for MavOdidSpeedAcc"],["impl Serialize for WifiConfigApMode"],["impl Serialize for EscFailureFlags"],["impl Serialize for MISSION_COUNT_DATA"],["impl Serialize for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Serialize for PARAM_EXT_REQUEST_LIST_DATA"],["impl Serialize for ESC_STATUS_DATA"],["impl Serialize for EstimatorStatusFlags"],["impl Serialize for MISSION_SET_CURRENT_DATA"],["impl Serialize for SCALED_IMU3_DATA"],["impl Serialize for HERELINK_VIDEO_STREAM_INFORMATION_DATA"],["impl Serialize for CameraMode"],["impl Serialize for TERRAIN_REPORT_DATA"],["impl Serialize for LINK_NODE_STATUS_DATA"],["impl Serialize for PARAM_REQUEST_LIST_DATA"],["impl Serialize for IcarousTrackBandTypes"],["impl Serialize for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Serialize for MISSION_REQUEST_INT_DATA"],["impl Serialize for GimbalManagerFlags"],["impl Serialize for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Serialize for ACTUATOR_CONTROL_TARGET_DATA"],["impl Serialize for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Serialize for SENSOR_OFFSETS_DATA"],["impl Serialize for MavRemoteLogDataBlockCommands"],["impl Serialize for MavTunnelPayloadType"],["impl Serialize for HIL_SENSOR_DATA"],["impl Serialize for WinchActions"],["impl Serialize for UAVIONIX_ADSB_OUT_CFG_DATA"],["impl Serialize for ATTITUDE_QUATERNION_COV_DATA"],["impl Serialize for DEVICE_OP_READ_REPLY_DATA"],["impl Serialize for MavOdidOperatorIdType"],["impl Serialize for NAMED_VALUE_FLOAT_DATA"],["impl Serialize for FenceBreach"],["impl Serialize for ParachuteAction"],["impl Serialize for AUTOPILOT_VERSION_REQUEST_DATA"],["impl Serialize for HIGHRES_IMU_DATA"],["impl Serialize for STATUSTEXT_DATA"],["impl Serialize for HilSensorUpdatedFlags"],["impl Serialize for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Serialize for VICON_POSITION_ESTIMATE_DATA"],["impl Serialize for RESPONSE_EVENT_ERROR_DATA"],["impl Serialize for MavSysStatusSensorExtended"],["impl Serialize for MISSION_ITEM_REACHED_DATA"],["impl Serialize for TERRAIN_DATA_DATA"],["impl Serialize for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Serialize for SERIAL_CONTROL_DATA"],["impl Serialize for MavSeverity"],["impl Serialize for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Serialize for MISSION_CLEAR_ALL_DATA"],["impl Serialize for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Serialize for TIMESYNC_DATA"],["impl Serialize for LandingTargetType"],["impl Serialize for GPS_RAW_INT_DATA"],["impl Serialize for MavMessage"],["impl Serialize for BATTERY_STATUS_DATA"],["impl Serialize for CELLULAR_STATUS_DATA"],["impl Serialize for GIMBAL_DEVICE_INFORMATION_DATA"],["impl Serialize for LOG_DATA_DATA"],["impl Serialize for FENCE_FETCH_POINT_DATA"],["impl Serialize for UavcanNodeMode"],["impl Serialize for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Serialize for SerialControlFlag"],["impl Serialize for GIMBAL_MANAGER_STATUS_DATA"],["impl Serialize for CONTROL_SYSTEM_STATE_DATA"],["impl Serialize for MavCollisionAction"],["impl Serialize for OBSTACLE_DISTANCE_DATA"],["impl Serialize for MavLandedState"],["impl Serialize for MavlinkDataStreamType"],["impl Serialize for GIMBAL_CONTROL_DATA"],["impl Serialize for VideoStreamStatusFlags"],["impl Serialize for MavLandedState"],["impl Serialize for UavionixAdsbOutDynamicGpsFix"],["impl Serialize for MAG_CAL_PROGRESS_DATA"],["impl Serialize for FirmwareVersionType"],["impl Serialize for TUNNEL_DATA"],["impl Serialize for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Serialize for CameraMode"],["impl Serialize for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Serialize for GimbalDeviceFlags"],["impl Serialize for EkfStatusFlags"],["impl Serialize for MagCalStatus"],["impl Serialize for OPEN_DRONE_ID_MESSAGE_PACK_DATA"],["impl Serialize for COLLISION_DATA"],["impl Serialize for NAMED_VALUE_FLOAT_DATA"],["impl Serialize for MavOdidAuthType"],["impl Serialize for RPM_DATA"],["impl Serialize for GPS_RTK_DATA"],["impl Serialize for FenceBreach"],["impl Serialize for GPS_RAW_INT_DATA"],["impl Serialize for MISSION_REQUEST_LIST_DATA"],["impl Serialize for NAMED_VALUE_INT_DATA"],["impl Serialize for GimbalManagerFlags"],["impl Serialize for WIFI_CONFIG_AP_DATA"],["impl Serialize for CompMetadataType"],["impl Serialize for MISSION_REQUEST_LIST_DATA"],["impl Serialize for ADSB_VEHICLE_DATA"],["impl Serialize for GLOBAL_POSITION_INT_COV_DATA"],["impl Serialize for DEBUG_FLOAT_ARRAY_DATA"],["impl Serialize for RcType"],["impl Serialize for SCALED_PRESSURE_DATA"],["impl Serialize for HighresImuUpdatedFlags"],["impl Serialize for MavBatteryType"],["impl Serialize for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Serialize for DISTANCE_SENSOR_DATA"],["impl Serialize for CAN_FRAME_DATA"],["impl Serialize for UavionixAdsbOutCfgGpsOffsetLon"],["impl Serialize for COMMAND_ACK_DATA"],["impl Serialize for GimbalDeviceCapFlags"],["impl Serialize for LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA"],["impl Serialize for CameraMode"],["impl Serialize for GpsInputIgnoreFlags"],["impl Serialize for REQUEST_DATA_STREAM_DATA"],["impl Serialize for MavParamType"],["impl Serialize for MISSION_CLEAR_ALL_DATA"],["impl Serialize for CANFD_FRAME_DATA"],["impl Serialize for GimbalDeviceFlags"],["impl Serialize for COMPASSMOT_STATUS_DATA"],["impl Serialize for V2_EXTENSION_DATA"],["impl Serialize for MavOdidClassificationType"],["impl Serialize for EKF_STATUS_REPORT_DATA"],["impl Serialize for MavState"],["impl Serialize for MANUAL_SETPOINT_DATA"],["impl Serialize for MavEventErrorReason"],["impl Serialize for NavVtolLandOptions"],["impl Serialize for PidTuningAxis"],["impl Serialize for VIBRATION_DATA"],["impl Serialize for MISSION_ACK_DATA"],["impl Serialize for HIL_ACTUATOR_CONTROLS_DATA"],["impl Serialize for AdsbEmitterType"],["impl Serialize for GPS_RAW_INT_DATA"],["impl Serialize for CameraZoomType"],["impl Serialize for UTM_GLOBAL_POSITION_DATA"],["impl Serialize for MavOdidStatus"],["impl Serialize for CAN_FILTER_MODIFY_DATA"],["impl Serialize for SCALED_PRESSURE2_DATA"],["impl Serialize for OPTICAL_FLOW_RAD_DATA"],["impl Serialize for PreflightStorageParameterAction"],["impl Serialize for NAV_CONTROLLER_OUTPUT_DATA"],["impl Serialize for GoproProtuneSharpness"],["impl Serialize for GPS2_RAW_DATA"],["impl Serialize for PARAM_MAP_RC_DATA"],["impl Serialize for RALLY_FETCH_POINT_DATA"],["impl Serialize for MavOdidSpeedAcc"],["impl Serialize for SCALED_PRESSURE3_DATA"],["impl Serialize for PositionTargetTypemask"],["impl Serialize for MavRoi"],["impl Serialize for OPEN_DRONE_ID_BASIC_ID_DATA"],["impl Serialize for MISSION_ACK_DATA"],["impl Serialize for MavCollisionAction"],["impl Serialize for CellularNetworkRadioType"],["impl Serialize for MavOdidVerAcc"],["impl Serialize for WIND_DATA"],["impl Serialize for MavOdidVerAcc"],["impl Serialize for HIGH_LATENCY2_DATA"],["impl Serialize for ADAP_TUNING_DATA"],["impl Serialize for ATTITUDE_DATA"],["impl Serialize for MANUAL_CONTROL_DATA"],["impl Serialize for CellularNetworkFailedReason"],["impl Serialize for OSD_PARAM_SHOW_CONFIG_DATA"],["impl Serialize for FailureType"],["impl Serialize for RallyFlags"],["impl Serialize for TERRAIN_CHECK_DATA"],["impl Serialize for StorageType"],["impl Serialize for GPS_RTCM_DATA_DATA"],["impl Serialize for MavMode"],["impl Serialize for COMMAND_INT_DATA"],["impl Serialize for GENERATOR_STATUS_DATA"],["impl Serialize for HIL_RC_INPUTS_RAW_DATA"],["impl Serialize for CameraCapFlags"],["impl Serialize for ADSB_VEHICLE_DATA"],["impl Serialize for LandingTargetType"],["impl Serialize for HeadingType"],["impl Serialize for HIL_RC_INPUTS_RAW_DATA"],["impl Serialize for SCALED_PRESSURE3_DATA"],["impl Serialize for GPS2_RAW_DATA"],["impl Serialize for RcType"],["impl Serialize for MavSeverity"],["impl Serialize for CameraZoomType"],["impl Serialize for AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA"],["impl Serialize for ATTITUDE_DATA"],["impl Serialize for OPEN_DRONE_ID_SELF_ID_DATA"],["impl Serialize for MavBatteryType"],["impl Serialize for MavState"],["impl Serialize for CAMERA_TRACKING_GEO_STATUS_DATA"],["impl Serialize for SET_ACTUATOR_CONTROL_TARGET_DATA"],["impl Serialize for MEMINFO_DATA"],["impl Serialize for RC_CHANNELS_DATA"],["impl Serialize for PrecisionLandMode"],["impl Serialize for CompMetadataType"],["impl Serialize for LED_CONTROL_DATA"],["impl Serialize for VISION_SPEED_ESTIMATE_DATA"],["impl Serialize for MavOdidClassEu"],["impl Serialize for COMPONENT_METADATA_DATA"],["impl Serialize for GOPRO_SET_RESPONSE_DATA"],["impl Serialize for MavOdidArmStatus"],["impl Serialize for LOG_REQUEST_END_DATA"],["impl Serialize for RtkBaselineCoordinateSystem"],["impl Serialize for OrbitYawBehaviour"],["impl Serialize for CanFilterOp"],["impl Serialize for CellularConfigResponse"],["impl Serialize for SCALED_IMU3_DATA"],["impl Serialize for SYSTEM_TIME_DATA"],["impl Serialize for MavCmdDoAuxFunctionSwitchLevel"],["impl Serialize for MavMode"],["impl Serialize for PARAM_MAP_RC_DATA"],["impl Serialize for MavOdidOperatorIdType"],["impl Serialize for COMMAND_CANCEL_DATA"],["impl Serialize for FENCE_STATUS_DATA"],["impl Serialize for MotorTestThrottleType"],["impl Serialize for COMMAND_INT_DATA"],["impl Serialize for GoproProtuneWhiteBalance"],["impl Serialize for MavFtpOpcode"],["impl Serialize for MavDataStream"],["impl Serialize for EVENT_DATA"],["impl Serialize for SCALED_PRESSURE3_DATA"],["impl Serialize for MavModeFlagDecodePosition"],["impl Serialize for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Serialize for RADIO_STATUS_DATA"],["impl Serialize for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Serialize for HIL_STATE_DATA"],["impl Serialize for WIND_COV_DATA"],["impl Serialize for GPS_INJECT_DATA_DATA"],["impl Serialize for SET_MODE_DATA"],["impl Serialize for TERRAIN_CHECK_DATA"],["impl Serialize for VideoStreamType"],["impl Serialize for SUPPORTED_TUNES_DATA"],["impl Serialize for CAMERA_SETTINGS_DATA"],["impl Serialize for PARAM_EXT_ACK_DATA"],["impl Serialize for LOGGING_DATA_ACKED_DATA"],["impl Serialize for CameraStatusTypes"],["impl Serialize for BUTTON_CHANGE_DATA"],["impl Serialize for AUTOPILOT_VERSION_DATA"],["impl Serialize for ONBOARD_COMPUTER_STATUS_DATA"],["impl Serialize for RC_CHANNELS_SCALED_DATA"],["impl Serialize for DeepstallStage"],["impl Serialize for MISSION_REQUEST_DATA"],["impl Serialize for SIM_STATE_DATA"],["impl Serialize for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Serialize for COMMAND_LONG_DATA"],["impl Serialize for SetFocusType"],["impl Serialize for SET_MODE_DATA"],["impl Serialize for MavOdidClassEu"],["impl Serialize for OrbitYawBehaviour"],["impl Serialize for MavGoto"],["impl Serialize for RcType"],["impl Serialize for ParamAck"],["impl Serialize for POWER_STATUS_DATA"],["impl Serialize for AIS_VESSEL_DATA"],["impl Serialize for ALTITUDE_DATA"],["impl Serialize for RESPONSE_EVENT_ERROR_DATA"],["impl Serialize for PARAM_EXT_REQUEST_LIST_DATA"],["impl Serialize for RAW_RPM_DATA"],["impl Serialize for SIM_STATE_DATA"],["impl Serialize for StorageUsageFlag"],["impl Serialize for SETUP_SIGNING_DATA"],["impl Serialize for RAW_IMU_DATA"],["impl Serialize for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Serialize for PARAM_VALUE_DATA"],["impl Serialize for MavEventCurrentSequenceFlags"],["impl Serialize for LOGGING_DATA_DATA"],["impl Serialize for MavMissionResult"],["impl Serialize for WIFI_CONFIG_AP_DATA"],["impl Serialize for MANUAL_SETPOINT_DATA"],["impl Serialize for CameraTrackingMode"],["impl Serialize for MavResult"],["impl Serialize for OPEN_DRONE_ID_SYSTEM_DATA"],["impl Serialize for AdsbAltitudeType"],["impl Serialize for SCALED_IMU_DATA"],["impl Serialize for OPTICAL_FLOW_DATA"],["impl Serialize for WifiConfigApMode"],["impl Serialize for LOG_REQUEST_LIST_DATA"],["impl Serialize for MISSION_REQUEST_PARTIAL_LIST_DATA"],["impl Serialize for GimbalAxisCalibrationRequired"],["impl Serialize for ScriptingCmd"],["impl Serialize for MavParamExtType"],["impl Serialize for HIL_STATE_DATA"],["impl Serialize for UavionixAdsbOutCfgAircraftSize"],["impl Serialize for MavBatteryMode"],["impl Serialize for GimbalDeviceErrorFlags"],["impl Serialize for PLAY_TUNE_DATA"],["impl Serialize for CAMERA_TRIGGER_DATA"],["impl Serialize for AIS_VESSEL_DATA"],["impl Serialize for OPEN_DRONE_ID_LOCATION_DATA"],["impl Serialize for RC_CHANNELS_OVERRIDE_DATA"],["impl Serialize for SET_ATTITUDE_TARGET_DATA"],["impl Serialize for GIMBAL_MANAGER_INFORMATION_DATA"],["impl Serialize for SET_POSITION_TARGET_LOCAL_NED_DATA"],["impl Serialize for PARAM_EXT_REQUEST_READ_DATA"],["impl Serialize for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Serialize for UAVIONIX_ADSB_OUT_DYNAMIC_DATA"],["impl Serialize for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Serialize for CAMERA_FOV_STATUS_DATA"],["impl Serialize for LOG_REQUEST_END_DATA"],["impl Serialize for RC_CHANNELS_RAW_DATA"],["impl Serialize for POSITION_TARGET_GLOBAL_INT_DATA"],["impl Serialize for MavProtocolCapability"],["impl Serialize for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Serialize for AisType"],["impl Serialize for MavWinchStatusFlag"],["impl Serialize for ActuatorOutputFunction"],["impl Serialize for MavBatteryFunction"],["impl Serialize for RALLY_POINT_DATA"],["impl Serialize for AutotuneAxis"],["impl Serialize for MAG_CAL_REPORT_DATA"],["impl Serialize for MavOdidTimeAcc"],["impl Serialize for DATA_STREAM_DATA"],["impl Serialize for MavBatteryFunction"],["impl Serialize for MavOdidClassificationType"],["impl Serialize for DATA_STREAM_DATA"],["impl Serialize for MavDistanceSensor"],["impl Serialize for CanFilterOp"],["impl Serialize for LOCAL_POSITION_NED_DATA"],["impl Serialize for WATER_DEPTH_DATA"],["impl Serialize for MISSION_ITEM_REACHED_DATA"],["impl Serialize for PARAM_EXT_SET_DATA"],["impl Serialize for RADIO_STATUS_DATA"],["impl Serialize for UtmFlightState"],["impl Serialize for TERRAIN_DATA_DATA"],["impl Serialize for MavMissionType"],["impl Serialize for MagCalStatus"],["impl Serialize for MavFrame"],["impl Serialize for TrackerMode"],["impl Serialize for ESTIMATOR_STATUS_DATA"],["impl Serialize for SYS_STATUS_DATA"],["impl Serialize for IcarousTrackBandTypes"],["impl Serialize for VISION_POSITION_ESTIMATE_DATA"],["impl Serialize for TERRAIN_REQUEST_DATA"],["impl Serialize for VIDEO_STREAM_INFORMATION_DATA"],["impl Serialize for MavFtpOpcode"],["impl Serialize for CHANGE_OPERATOR_CONTROL_DATA"],["impl Serialize for SET_POSITION_TARGET_GLOBAL_INT_DATA"],["impl Serialize for NavVtolLandOptions"],["impl Serialize for DEBUG_VECT_DATA"],["impl Serialize for UavionixAdsbEmergencyStatus"],["impl Serialize for OPEN_DRONE_ID_ARM_STATUS_DATA"],["impl Serialize for MavBatteryChargeState"],["impl Serialize for CellularNetworkRadioType"],["impl Serialize for GIMBAL_MANAGER_STATUS_DATA"],["impl Serialize for MavMissionResult"],["impl Serialize for STORAGE_INFORMATION_DATA"],["impl Serialize for MavProtocolCapability"],["impl Serialize for ActuatorConfiguration"],["impl Serialize for VISION_POSITION_ESTIMATE_DATA"],["impl Serialize for IcarousFmsState"],["impl Serialize for HYGROMETER_SENSOR_DATA"],["impl Serialize for GPS_RTK_DATA"],["impl Serialize for ISBD_LINK_STATUS_DATA"],["impl Serialize for SetFocusType"],["impl Serialize for MavMissionResult"],["impl Serialize for SpeedType"],["impl Serialize for TIME_ESTIMATE_TO_TARGET_DATA"],["impl Serialize for PARAM_EXT_SET_DATA"],["impl Serialize for MISSION_REQUEST_INT_DATA"],["impl Serialize for DEBUG_FLOAT_ARRAY_DATA"],["impl Serialize for CellularStatusFlag"],["impl Serialize for LOG_REQUEST_DATA_DATA"],["impl Serialize for StorageStatus"],["impl Serialize for PARAM_REQUEST_READ_DATA"],["impl Serialize for MavResult"],["impl Serialize for PreflightStorageMissionAction"],["impl Serialize for GPS_INPUT_DATA"],["impl Serialize for GoproProtuneExposure"],["impl Serialize for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Serialize for UavcanNodeHealth"],["impl Serialize for SET_ATTITUDE_TARGET_DATA"],["impl Serialize for CHANGE_OPERATOR_CONTROL_ACK_DATA"],["impl Serialize for COMPONENT_INFORMATION_DATA"],["impl Serialize for AIRSPEED_AUTOCAL_DATA"],["impl Serialize for V2_EXTENSION_DATA"],["impl Serialize for GpsInputIgnoreFlags"],["impl Serialize for SCALED_IMU_DATA"],["impl Serialize for OSD_PARAM_SHOW_CONFIG_REPLY_DATA"],["impl Serialize for UAVCAN_NODE_INFO_DATA"],["impl Serialize for OPEN_DRONE_ID_AUTHENTICATION_DATA"],["impl Serialize for FENCE_STATUS_DATA"],["impl Serialize for ActuatorConfiguration"],["impl Serialize for RC_CHANNELS_DATA"],["impl Serialize for TuneFormat"],["impl Serialize for MotorTestThrottleType"],["impl Serialize for HlFailureFlag"],["impl Serialize for RESOURCE_REQUEST_DATA"],["impl Serialize for CONTROL_SYSTEM_STATE_DATA"],["impl Serialize for StorageType"],["impl Serialize for MOUNT_ORIENTATION_DATA"],["impl Serialize for HEARTBEAT_DATA"],["impl Serialize for FailureUnit"],["impl Serialize for AdsbFlags"],["impl Serialize for ActuatorConfiguration"],["impl Serialize for REMOTE_LOG_DATA_BLOCK_DATA"],["impl Serialize for GPS2_RTK_DATA"],["impl Serialize for ALTITUDE_DATA"],["impl Serialize for ActuatorOutputFunction"],["impl Serialize for TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA"],["impl Serialize for SCALED_IMU3_DATA"],["impl Serialize for MavTunnelPayloadType"],["impl Serialize for CAMERA_CAPTURE_STATUS_DATA"],["impl Serialize for ENCAPSULATED_DATA_DATA"],["impl Serialize for MavMountMode"],["impl Serialize for CellularStatusFlag"],["impl Serialize for FenceAction"],["impl Serialize for HEARTBEAT_DATA"],["impl Serialize for WIND_COV_DATA"],["impl Serialize for MISSION_ITEM_DATA"],["impl Serialize for TuneFormat"],["impl Serialize for PARAM_SET_DATA"],["impl Serialize for PARAM_MAP_RC_DATA"],["impl Serialize for MavModeFlagDecodePosition"],["impl Serialize for MavCollisionThreatLevel"],["impl Serialize for COMMAND_INT_DATA"],["impl Serialize for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Serialize for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Serialize for EscFailureFlags"],["impl Serialize for MavEventErrorReason"],["impl Serialize for GIMBAL_DEVICE_SET_ATTITUDE_DATA"],["impl Serialize for GPS2_RAW_DATA"],["impl Serialize for MavSysStatusSensorExtended"],["impl Serialize for DEBUG_FLOAT_ARRAY_DATA"],["impl Serialize for RC_CHANNELS_OVERRIDE_DATA"],["impl Serialize for UavionixAdsbOutCfgGpsOffsetLat"],["impl Serialize for MavDoRepositionFlags"],["impl Serialize for GoproModel"],["impl Serialize for AttitudeTargetTypemask"],["impl Serialize for REQUEST_DATA_STREAM_DATA"],["impl<M> Serialize for MavFrame<M>where\n M: Serialize + Message,"],["impl Serialize for MavOdidClassificationType"],["impl Serialize for MISSION_REQUEST_INT_DATA"],["impl Serialize for UavionixAdsbOutDynamicGpsFix"],["impl Serialize for RAW_PRESSURE_DATA"],["impl Serialize for MavMessage"],["impl Serialize for MavMessage"],["impl Serialize for GripperActions"],["impl Serialize for VIDEO_STREAM_INFORMATION_DATA"],["impl Serialize for FOLLOW_TARGET_DATA"],["impl Serialize for RADIO_STATUS_DATA"],["impl Serialize for PARAM_EXT_ACK_DATA"],["impl Serialize for OPEN_DRONE_ID_LOCATION_DATA"],["impl Serialize for TERRAIN_REPORT_DATA"],["impl Serialize for POSITION_TARGET_LOCAL_NED_DATA"],["impl Serialize for MavParamExtType"],["impl Serialize for MavOdidSpeedAcc"],["impl Serialize for MANUAL_SETPOINT_DATA"],["impl Serialize for ICAROUS_KINEMATIC_BANDS_DATA"],["impl Serialize for PARAM_EXT_REQUEST_READ_DATA"],["impl Serialize for REQUEST_EVENT_DATA"],["impl Serialize for MavOdidHorAcc"],["impl Serialize for UAVCAN_NODE_INFO_DATA"],["impl Serialize for HIGH_LATENCY_DATA"],["impl Serialize for NAMED_VALUE_INT_DATA"],["impl Serialize for IcarousFmsState"],["impl Serialize for AOA_SSA_DATA"],["impl Serialize for FailureType"],["impl Serialize for AisFlags"],["impl Serialize for CAMERA_TRACKING_IMAGE_STATUS_DATA"],["impl Serialize for WifiConfigApMode"],["impl Serialize for FOLLOW_TARGET_DATA"],["impl Serialize for MavMissionType"],["impl Serialize for AdsbFlags"],["impl Serialize for MISSION_WRITE_PARTIAL_LIST_DATA"],["impl Serialize for ATT_POS_MOCAP_DATA"],["impl Serialize for GoproRequestStatus"],["impl Serialize for HighresImuUpdatedFlags"],["impl Serialize for MavCmd"],["impl Serialize for MANUAL_CONTROL_DATA"],["impl Serialize for VIBRATION_DATA"],["impl Serialize for RESPONSE_EVENT_ERROR_DATA"],["impl Serialize for OsdParamConfigType"],["impl Serialize for MavOdidOperatorLocationType"],["impl Serialize for LandingTargetType"],["impl Serialize for AccelcalVehiclePos"],["impl Serialize for OPEN_DRONE_ID_SYSTEM_UPDATE_DATA"],["impl Serialize for MEMORY_VECT_DATA"],["impl Serialize for DEBUG_VECT_DATA"],["impl Serialize for EstimatorStatusFlags"],["impl Serialize for CameraTrackingStatusFlags"],["impl Serialize for REQUEST_EVENT_DATA"],["impl Serialize for GIMBAL_MANAGER_SET_PITCHYAW_DATA"],["impl Serialize for GoproFrameRate"],["impl Serialize for MavType"],["impl Serialize for ACTUATOR_OUTPUT_STATUS_DATA"],["impl Serialize for HIL_OPTICAL_FLOW_DATA"],["impl Serialize for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Serialize for OPEN_DRONE_ID_LOCATION_DATA"],["impl Serialize for ESC_TELEMETRY_1_TO_4_DATA"],["impl Serialize for MavArmAuthDeniedReason"],["impl Serialize for AUTH_KEY_DATA"],["impl Serialize for ATTITUDE_QUATERNION_COV_DATA"],["impl Serialize for CAN_FILTER_MODIFY_DATA"],["impl Serialize for PARAM_EXT_ACK_DATA"],["impl Serialize for MavCollisionSrc"],["impl Serialize for GimbalAxisCalibrationStatus"],["impl Serialize for UavionixAdsbOutCfgGpsOffsetLat"],["impl Serialize for CellularNetworkRadioType"],["impl Serialize for DIGICAM_CONTROL_DATA"],["impl Serialize for COLLISION_DATA"],["impl Serialize for HIL_STATE_DATA"],["impl Serialize for HWSTATUS_DATA"],["impl Serialize for HIL_GPS_DATA"],["impl Serialize for DEBUG_DATA"],["impl Serialize for PrecisionLandMode"],["impl Serialize for MISSION_CURRENT_DATA"],["impl Serialize for ATTITUDE_TARGET_DATA"],["impl Serialize for COMMAND_CANCEL_DATA"],["impl Serialize for LimitsState"],["impl Serialize for LOG_ERASE_DATA"],["impl Serialize for PING_DATA"],["impl Serialize for TERRAIN_REPORT_DATA"],["impl Serialize for CAMERA_IMAGE_CAPTURED_DATA"],["impl Serialize for CAN_FRAME_DATA"],["impl Serialize for STORAGE_INFORMATION_DATA"],["impl Serialize for COMMAND_ACK_DATA"],["impl Serialize for LANDING_TARGET_DATA"],["impl Serialize for HEARTBEAT_DATA"],["impl Serialize for VISION_SPEED_ESTIMATE_DATA"],["impl Serialize for MavCollisionThreatLevel"],["impl Serialize for PLAY_TUNE_V2_DATA"],["impl Serialize for MavSensorOrientation"],["impl Serialize for OPEN_DRONE_ID_OPERATOR_ID_DATA"],["impl Serialize for CURRENT_EVENT_SEQUENCE_DATA"],["impl Serialize for MotorTestOrder"],["impl Serialize for OPTICAL_FLOW_DATA"],["impl Serialize for HOME_POSITION_DATA"],["impl Serialize for DATA32_DATA"],["impl Serialize for MavBatteryFault"],["impl Serialize for MESSAGE_INTERVAL_DATA"],["impl Serialize for GoproProtuneGain"],["impl Serialize for MOUNT_CONTROL_DATA"],["impl Serialize for FenceBreach"],["impl Serialize for CONTROL_SYSTEM_STATE_DATA"],["impl Serialize for REQUEST_EVENT_DATA"],["impl Serialize for HYGROMETER_SENSOR_DATA"],["impl Serialize for ODOMETRY_DATA"],["impl Serialize for HighresImuUpdatedFlags"],["impl Serialize for CameraCapFlags"],["impl Serialize for FENCE_STATUS_DATA"],["impl Serialize for REQUEST_DATA_STREAM_DATA"],["impl Serialize for MavOdidHeightRef"],["impl Serialize for DATA_TRANSMISSION_HANDSHAKE_DATA"],["impl Serialize for RAW_RPM_DATA"],["impl Serialize for MOUNT_ORIENTATION_DATA"],["impl Serialize for DATA_STREAM_DATA"],["impl Serialize for GIMBAL_DEVICE_ATTITUDE_STATUS_DATA"],["impl Serialize for HIL_GPS_DATA"],["impl Serialize for COLLISION_DATA"],["impl Serialize for GIMBAL_MANAGER_SET_ATTITUDE_DATA"],["impl Serialize for LOGGING_DATA_DATA"],["impl Serialize for ParamAck"],["impl Serialize for MavOdidDescType"],["impl Serialize for GENERATOR_STATUS_DATA"],["impl Serialize for MEMORY_VECT_DATA"],["impl Serialize for COMPONENT_INFORMATION_DATA"],["impl Serialize for MISSION_SET_CURRENT_DATA"],["impl Serialize for SCALED_IMU2_DATA"],["impl Serialize for SUPPORTED_TUNES_DATA"],["impl Serialize for UavionixAdsbRfHealth"],["impl Serialize for COMPONENT_METADATA_DATA"],["impl Serialize for CAMERA_IMAGE_CAPTURED_DATA"],["impl Serialize for STATUSTEXT_DATA"],["impl Serialize for LOGGING_DATA_ACKED_DATA"],["impl Serialize for MavMessage"],["impl Serialize for PreflightStorageMissionAction"],["impl Serialize for MavDistanceSensor"],["impl Serialize for UAVCAN_NODE_INFO_DATA"],["impl Serialize for AisNavStatus"],["impl Serialize for MavOdidIdType"],["impl Serialize for LOCAL_POSITION_NED_COV_DATA"],["impl Serialize for ATTITUDE_TARGET_DATA"],["impl Serialize for GPS_GLOBAL_ORIGIN_DATA"],["impl Serialize for TERRAIN_DATA_DATA"],["impl Serialize for MavOdidAuthType"],["impl Serialize for SetFocusType"],["impl Serialize for LOG_ENTRY_DATA"],["impl Serialize for BATTERY_STATUS_DATA"],["impl Serialize for GLOBAL_VISION_POSITION_ESTIMATE_DATA"],["impl Serialize for GLOBAL_POSITION_INT_DATA"]], "serde":[] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file